Re: 20K1 PCI bars, and mode switching info.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux