Takashi Iwai wrote: > At Sun, 19 Oct 2008 17:07:08 +0100, > James Courtier-Dutton wrote: >> This info should help the current snd-sbxfi driver to actually work with >> the "Vista compatible" cards that it currently does not work with. >> I believe the true UAA to 20K1 mode switch code is missing from the >> current alsa snd-sbxfi driver. > > The code to switch to 20k1 mode is already there. > The sbxfi driver uses ioport for the access, and it looks like in BAR5 > for UAA boards. This could be the problem... > Well I cannot find it. I can only find: static void sbxfi_switch_xfi_mode(struct sbxfi *chip) and that does not do the job. You need to do this: >> 2) UAA/20K1 MODE CHANGE (controls who the bus master is): >> The "Mode Change" register is located in the UAA configuration space at >> location offset 0x3FFC. This location stores 4 values in a ring. >> To switch from 20K1 mode to UAA mode write each DW value: CTLA, CTLZ, >> CTLL, CTLA. >> To switch from UAA mode to 20K1 mode write each DW value: CTLX, CTL-, >> CTLF, CTLi >> To read the current mode, the 4 value ring may be in any position, so >> one might read for example: >> CTLL, CTLA, CTLA, CTLZ >> >> At power on, the card is in UAA mode. >> In UAA mode, the UAA chip is the bus master. >> In 20K1 mode, the 20K1 chip is the bus master. >> Under either UAA mode or 20K1 mode, the driver can read and write the >> configuration space of both UAA chip and 20K1 chip. >> _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel