[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bsd-nomads:15901] Re: nsp driver iomem problem in FreeBSD 4.4-RC



こんばんは	二宮@お四国 です

光永 のりあき 様 は Thu, 23 Aug 2001 09:07:51 +0900 頃に
    Subject: [bsd-nomads:15852] Re: SCSI transfer error in nsp driver
on FreeBSD 4.4-PRERELEASE
    Message-Id: <20010823090751B.mitchy@er.ams.eng.osaka-u.ac.jp>
        に於いて以下のようにおっしゃっていました。
※都合により手を加えさせていただく事が有ります。御了承下さいマセヽ...
光永> やっと昨日 4.4-RC を試してみたのですが、probe のところの
光永> タイミングではないようでした。

あっ、すいません m(__)m  彼のタイミングについてのテストは、
RC に上げちゃったら PCIC の attach 自体に支障が出て来ちゃった
のでそっちが安定するまでテスト出来ずにいましたが、やっと少し
安定して来て「ほっ」です。けど結局テストしてません。。。オイオイ

光永> iomem がいままでと全然違うところに割り当てられるのも
光永> 同じでした。マシンは ISA 上に PCIC がのっているものです。
光永> PCI 上に PCIC がのっている場合にどうなるかは試せて
光永> いません。

取り合えずうちの PCI の上に PCIC がのってる奴の dmesg です。
# 前にも PRERELEASE の時の出しましたけどねっ
# 途中変なとこ(説明は書きますけどっ)が有りますが まぁ。。。

/kernel: Copyright (c) 1992-2001 The FreeBSD Project.
/kernel: Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
/kernel: The Regents of the University of California. All rights reserved.
/kernel: FreeBSD 4.4-RC #19: Fri Aug 31 08:50:55 JST 2001
<snip>
Aug 31 09:36:29 mebius /kernel: bios32: Found BIOS32 Service Directory header at 0xc00fdb40
/kernel: bios32: Entry = 0xfdb50 (c00fdb50)  Rev = 0  Len = 1
/kernel: pcibios: PCI BIOS entry at 0xdb71
/kernel: pnpbios: Found PnP BIOS data at 0xc00f8070
/kernel: pnpbios: Entry = f0000:79d4  Rev = 1.0
/kernel: Other BIOS signatures found:
/kernel: ACPI: 000fd100
<snip>
/kernel: pci_open(1):	mode 1 addr port (0x0cf8) is 0x80000060
/kernel: pci_open(1a):	mode1res=0x80000000 (0x80000000)
/kernel: pci_cfgcheck:	device 0 [class=060000] [hdr=00] is there (id=06051106)
/kernel: Using $PIR table, 5 entries at 0xc00f8680
<snip>
/kernel: found->	vendor=0x104c, dev=0xac51, revid=0x00
/kernel: class=06-07-00, hdrtype=0x02, mfdev=1
/kernel: subordinatebus=0 	secondarybus=0
/kernel: intpin=a, irq=255
/kernel: found->	vendor=0x104c, dev=0xac51, revid=0x00
/kernel: class=06-07-00, hdrtype=0x02, mfdev=1
/kernel: subordinatebus=0 	secondarybus=0
/kernel: intpin=a, irq=255
/kernel: pci0: <PCI bus> on pcib0
<snip>
/kernel: pcib1: <PCI to PCI bridge (vendor=1106 device=8605)> at device 1.0 on pci0
<snip>
/kernel: pci1: <PCI bus> on pcib1
<snip>
/kernel: pcic0: <TI PCI-1420 PCI-CardBus Bridge> at device 9.0 on pci0
/kernel: pcic0: PCI Memory allocated: 0x44000000
/kernel: pci_cfgintr_virgin: using routable interrupt 3
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
/kernel: pci_cfgintr_virgin: using routable interrupt 3
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
/kernel: pci_cfgintr_virgin: using routable interrupt 3
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
/kernel: pci_cfgintr_virgin: using routable interrupt 3
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
/kernel: pci_cfgintr_virgin: using routable interrupt 4
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
/kernel: pci_cfgintr_virgin: using routable interrupt 5
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
/kernel: pci_cfgintr_virgin: using routable interrupt 7
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
/kernel: pci_cfgintr_virgin: using routable interrupt 7
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
/kernel: pci_cfgintr_virgin: using routable interrupt 9
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
/kernel: pci_cfgintr_virgin: using routable interrupt 9
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
/kernel: pci_cfgintr_virgin: using routable interrupt 10
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
/kernel: pci_cfgintr_virgin: using routable interrupt 11
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
/kernel: pci_cfgintr_virgin: using routable interrupt 12
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
/kernel: pci_cfgintr_virgin: using routable interrupt 14
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
/kernel: pci_cfgintr_virgin: using routable interrupt 14
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
/kernel: pci_cfgintr_virgin: using routable interrupt 15
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.

ここ、ふつーと違うのは1個失敗しても $PIR に載ってるのを全て
試みるようにしてみたんですが、うちのマシンでは全滅でした。^^;

/kernel: pcic0: No PCI interrupt routed, trying ISA.
/kernel: pcic0: Polling mode

その為 ISA 割り込みで polling mode になります。^^;
# どうも PCI BIOS ? が腐ってるみたい。。。
そんな トホホッ なマシンです ^^;

/kernel: pcic0: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][FUNC pci int + CSC serial isa irq]
/kernel: pccard0: <PC Card bus (classic)> on pcic0
<snip>
/kernel: pcic1: <TI PCI-1420 PCI-CardBus Bridge> at device 9.1 on pci0
/kernel: pcic1: PCI Memory allocated: 0x44001000
/kernel: pci_cfgintr_virgin: using routable interrupt 3
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
<snip>
/kernel: pci_cfgintr_virgin: using routable interrupt 15
/kernel: pci_cfgintr: ROUTE_INTERRUPT failured.
/kernel: pcic1: No PCI interrupt routed, trying ISA.
/kernel: pcic1: Polling mode
/kernel: pcic1: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][FUNC pci int + CSC serial isa irq]
/kernel: pccard1: <PC Card bus (classic)> on pcic1
<snip>
/kernel: orm0: <Option ROM> at iomem 0xc0000-0xcbfff on isa0
<snip>

/kernel: pccard: card inserted, slot 1
pccardd[127]: Card "WBT"("NinjaSCSI-3") [R1.0] [(null)] matched "WBT" ("NinjaSCSI-3") [(null)] [(null)] 
pccardd[127]: Using mem addr 0xd4000, size 4096, card addr 0x0, flags 0x40 
pccardd[127]: Using I/O addr 0x240, size 16 
pccardd[127]: Setting config reg at offs 0x200 to 0x41, Reset time = 50 ms 
pccardd[127]: Assigning I/O window 0, start 0x240, size 0x10 flags 0x7 
pccardd[127]: Assign nsp0, io 0x240-0x24f, mem 0xd4000, 4096 bytes, irq 3, flags 0 
/kernel: pccard1: Assigning nsp0: io 0x240-0x24f irq 3 mem 0xd4000-0xd4fff
/kernel: pcic: I/O win 0 flags 17 240-24f
/kernel: pcic: I/O win 0 flags 7 240-24f
/kernel: nsp0 at port 0x240-0x24f iomem 0xcc000-0xccfff irq 3 slot 1 on pccard1
/kernel: pcic: I/O win 0 flags 17 240-24f
/kernel: 
/kernel: nsp0: try to reset scsi bus  
/kernel: nsp0: scsi_low: probing all devices ....
/kernel: nsp0(5:0): period(100 ns) offset(15) width(0) flags 0x3<disc,sync>
<snip>
/kernel: nsp0(5:7): period(100 ns) offset(15) width(0) flags 0x3<disc,sync>
pccardd[127]: nsp0: WBT (NinjaSCSI-3) inserted.
/kernel: nsp0(5:0): period(100 ns) offset(15) width(0) flags 0x3<disc,sync>
/kernel: pass0 at nsp0 bus 0 target 5 lun 0
/kernel: pass0: <Logitec LHD-U20H/E 200F> Fixed Direct Access SCSI-2 device 
/kernel: pass0: Serial Number ごみ
/kernel: pass0: 10.000MB/s transfers (10.000MHz, offset 15)
/kernel: Creating DISK da0
/kernel: da0 at nsp0 bus 0 target 5 lun 0
/kernel: da0: <Logitec LHD-U20H/E 200F> Fixed Direct Access SCSI-2 device 
/kernel: da0: Serial Number ごみ
/kernel: da0: 10.000MB/s transfers (10.000MHz, offset 15)
/kernel: da0: 19546MB (40031712 512 byte sectors: 255H 63S/T 2491C)

iomem 割り当てに関しては PRERELEASE の時と変わらないみたいです。
ワーナー氏が mobile で言ってた orm との関連というのがどうも
ありそうな感じですねぇ

orm0: <Option ROM> at iomem 0xc0000-0xcbfff
pccardd: Assign nsp0, mem 0xd4000, 4096 bytes, flags 0 
pccard1: Assigning nsp0: mem 0xd4000-0xd4fff
kernel: nsp0 at iomem 0xcc000-0xccfff slot 1 on pccard1

pccardd -> pccard1 と 0xd4000 の指示がいってるのに、
kernel がそれを無視して orm の次を nsp に指示してる感じ....

コード的にはどの辺見れば良いんでしょうかねぇ
# 見ても多分さっぱだろうけどっ
--─
ICQ UIN:57442553                          二宮 秀幸@愛媛 鬼北 広見町
PGP-Fingerprint:  6C59 EC08 5B23 6490 44D0  7CD3 DA40 219F 7114 8553
PGP-Public-Key:    http://user.shikoku.ne.jp/~nin/pgp/public-key.txt
mailto:nin@shikoku.ne.jp   http://user.shikoku.ne.jp/~nin/index.html
mailto:nin@Jp.FreeBSD.org http://home.jp.freebsd.org/~nin/index.html