[alsa-devel] [PATCH] opti931: additional check for OPL3 device

Rene Herman rene.herman at gmail.com
Mon Sep 17 15:57:21 CEST 2007

On 09/17/2007 02:40 PM, Rene Herman wrote:

To possibly save you the trouble, yes, tested that the OPL3 address really 
follows along with the OPL4Base PnP resource.

Fixed description and CCed Takashi:

> On 09/17/2007 02:26 PM, Krzysztof Helt wrote:
>> Look at the code. Shifting the fm_port address by 8 (Rene's) is correct
>> way to do as the OPL3 is searched at fm_port and fm_port +2, but the OPL4
>> is searched at fm_port and fm_port -8 (which will be the fm_port before
>> shifting).
> Ah, damn, crap. Yes, forget the version I just sent. Original (attached) 
> was correct. Thanks for paying attention.
>> Is the OPL4 located at 0x380 and 0x388 or 0x378 and 0x380? If the former,
>> the Rene's patch is correct.
> The OPL4 is at 0x380, with its OPL3 compatible part at 0x388. Could you 
> add an Acked-by?

opti9xx: adjust OPL3 FM resource value

The OPTi ISA-PnP chips advertise their OPL4Base resource value at 0x380
(to 0x3f0) through PnP and put their on-chip OPL3 at ALBase = OPL4Base + 8.
The driver assumes the PnP advertised value is the ALBase though and checks
for an OPL4 at -8, which means that simply adding 8 to the PnP advertised
value works to fix both OPL3 and OPL4 support.

Problem spotted on 931 and 933 by Krzysztof Helt and confirmed on 924 and
925 (together all OPTi ISA-PnP chips) by me. Has been tested.

Signed-off-by; Rene Herman <rene.herman at gmail.com>


More information about the Alsa-devel mailing list