sound: virtuoso: do not overwrite EEPROM on Xonar D2/D2X
authorClemens Ladisch <clemens@ladisch.de>
Thu, 15 Jan 2009 09:21:23 +0000 (10:21 +0100)
committerTakashi Iwai <tiwai@suse.de>
Thu, 15 Jan 2009 09:30:20 +0000 (10:30 +0100)
commit7e86c0e6850504ec9516b953f316a47277825e33
treee82e87d859506afc1df16360364a4f1cfd25681f
parent37a76bd4f1b716949fc38a6842e89f0ccb8384d0
sound: virtuoso: do not overwrite EEPROM on Xonar D2/D2X

On the Asus Xonar D2 and D2X models, the SPI chip select signal for the
fourth DAC shares its pin with the serial clock for the EEPROM that
contains the PCI subdevice ID values.  It appears that when DAC
registers are written and some other unknown conditions occur (probably
noise on the EEPROM's chip select line), the EEPROM gets overwritten
with garbage, which makes it impossible to properly detect the card
later.

Therefore, we better avoid DAC register writes and make sure that the
driver works with the DAC's registers' default values.  Consequently,
the sample format is now I2S instead of left-justified (no user-visible
change), and the DAC's volume/mute registers cannot be used anymore
(volume changes are now done by the software volume plugin).

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/oxygen/virtuoso.c