[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bsd-nomads:16400] Re: Cirrus Logic PD6729/6730 PC-Card
倉品@新潟です.
>>> On Wed, 31 Jul 2002 21:34:34 +0900 (JST), Hideyuki KURASHINA <rushani@bl.mmtr.or.jp> said:
> 倉品@新潟です.
[...]
> > > hint.pcic.0.port="0x3e0"
> >
> > なんか この 0x3e0 とか
> > (a)の時の ppc1: at port 0x3bc-0x3bf irq 7 on isa0 とか
> > (c)の時の sbc1: at port 0x330-0x331,0x388-0x38b,0x220-0x22f
> > とか、 この辺が重なっているとか 隠れデバイスがいるのではないでしょうか?
>
> (b) の場合の boot -v で起動した dmesg を irq と port を grep して,
> それらしきものを整理すると
>
> device port on irq drq
> ----------------------------------------------------
[...]
> ed0 0x320-0x33f pccard0 *
[...]
> となりました.
先の dmesg をよく見てみると
ESS1681: adding io range 0x220-0x22f, size=0x10, align=0x20
ESS1681: adding io range 0x388-0x38b, size=0x4, align=0
ESS1681: adding io range 0x330-0x331, size=0x2, align=0 ← ここ
ESS1681: adding irq mask 0x20
ESS1681: adding dma mask 0x2
pnpbios: handle 22 device ID ESS1681 (81167316)
と, ESS1681 がちょうど ed0 の I/O 空間と重なっているようにみえます. ちなみに
ThinkPad 560 のユーザガイドによると,
_ 0x220-0x22f … PCM
_ 0x388-0x38b … FM シンセサイザ
です.
ということで, (b) の場合で次のことを試してみました;
(b-1) /boot/device.hints にて,
hint.sbc.0.port="220" → hint.sbc.0.port="240" と変更する.
→ dmesg は
ppc0: <Parallel port> at port 0x3bc-0x3c3 irq 7 on isa0
ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode
-sbc0: <ESS 688> at port 0x220-0x22f irq 5 drq 1 flags 0x11 on isa0
-pcm0: <ESS 18xx DSP> on sbc0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
[中略]
unknown: <PNP0600> can't assign resources (port)
unknown: <PNP0400> can't assign resources (port)
unknown: <IBM0070> can't assign resources (port)
-unknown: <ESS1681> can't assign resources (port)
+sbc1: <ESS ES1681> at port 0x330-0x331,0x388-0x38b,0x220-0x22f irq 5 drq 1 on isa0
+pcm0: <ESS 18xx DSP> on sbc1
Timecounters tick every 10.000 msec
に変化.
sndstat には変化なし.
ed な NIC をさしても固まらず.
(b-2) ed0 は I/O port が重ならないように /etc/pccard.conf に
io 0x240-0x32F 0x340-0x360
を書く.
→ dmesg は (b) の場合と変化なし.
sndstat も (b) の場合と変化なし.
ed な NIC をさしても固まらず.
となりました. なお, どちらの場合も ed ドライバの使う I/O port は
0x340-0x35f になります.
飯島さん, ありがとうございました.
# 結局, 何が 0x330-0x331 を確保しているのか分かりませんが….
-- rushani