Commit 1ea73412 authored by Takashi Iwai's avatar Takashi Iwai Committed by Jaroslav Kysela

[ALSA] opti9xx: adjust OPL3 FM resource value

The OPTi ISA-PnP chips advertise their OPL4 base at 0x380 (to 0x3f0) through
pnp and put their on-chip OPL3 at +8. The driver assumes the provided
value is the ALBase (OPL3 address) though and checks for an OPL4 at -8,
which means that simply adding 8 to the pnp provides value works to fix
detection of both OPL3 and OPL4.
Problem spotted on 931 and 933 by Krzysztof Helt and confirmed on 924 and
925 (together all OPTi ISA-PnP chips) by me.
Signed-off-by; Rene Herman <rene.herman@gmail.com>
Acked-by: default avatarKrzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJaroslav Kysela <perex@suse.cz>
parent adf1295b
...@@ -1732,11 +1732,11 @@ static int __devinit snd_card_opti9xx_pnp(struct snd_opti9xx *chip, ...@@ -1732,11 +1732,11 @@ static int __devinit snd_card_opti9xx_pnp(struct snd_opti9xx *chip,
#ifdef OPTi93X #ifdef OPTi93X
port = pnp_port_start(pdev, 0) - 4; port = pnp_port_start(pdev, 0) - 4;
fm_port = pnp_port_start(pdev, 1); fm_port = pnp_port_start(pdev, 1) + 8;
#else #else
if (pid->driver_data != 0x0924) if (pid->driver_data != 0x0924)
port = pnp_port_start(pdev, 1); port = pnp_port_start(pdev, 1);
fm_port = pnp_port_start(pdev, 2); fm_port = pnp_port_start(pdev, 2) + 8;
#endif /* OPTi93X */ #endif /* OPTi93X */
irq = pnp_irq(pdev, 0); irq = pnp_irq(pdev, 0);
dma1 = pnp_dma(pdev, 0); dma1 = pnp_dma(pdev, 0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment