Breakage of opl3sax cards since 2.4.3 (at least)

From: David Bronaugh (dbronaugh@opensourcedot.com)
Date: Tue May 01 2001 - 17:39:41 EST


OK, cutting to chase:

opl3sax cards have refused to init in Linux with the in-kernel OSS driver
since 2.4.3 at least (last I tested and worked was 2.4.1). I'm pretty sure
this is a kernel issue as it's happened on 2 different machines, one of
which I never goofed around with.

Usually message is something like:

opl3sa2: Control I/O port 0x220 (or whatever is tried) is not a YMF7xx
chipset!

I'm not sure why this occurs, but here is the code block where the error
probably occurs:

        /* SNIP */
        opl3sa2_read(hw_config->io_base, OPL3SA2_MISC, &misc);
        opl3sa2_write(hw_config->io_base, OPL3SA2_MISC, misc ^ 0x07);
        opl3sa2_read(hw_config->io_base, OPL3SA2_MISC, &tmp);
        if(tmp != misc) {
                printk(KERN_ERR "opl3sa2: Control I/O port %#x is not a
YMF7xx chipset!\n",
                       hw_config->io_base);
                return 0;
        }

        /*
         * Check if the MIC register is accessible.
         */
        opl3sa2_read(hw_config->io_base, OPL3SA2_MIC, &tmp);
        opl3sa2_write(hw_config->io_base, OPL3SA2_MIC, 0x8a);
        opl3sa2_read(hw_config->io_base, OPL3SA2_MIC, &tmp);
        if((tmp & 0x9f) != 0x8a) {
                printk(KERN_ERR
                       "opl3sa2: Control I/O port %#x is not a YMF7xx
chipset!\n",
                       hw_config->io_base);
                return 0;
        }
        /* SNIP */

Maybe this is a dumb check because there's an anomaly with the OPL3SAx
chip. I don't know.

I'm not on the list, so please forward any mail sent about this to me.

David Bronaugh

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon May 07 2001 - 21:00:11 EST