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)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 2 Feb 2009 16:28:15 +0000 (08:28 -0800)
commitb421b4088f340ef9a3c1f083d432f942f1620614
tree9e026d0cf985ec278966850b40aa477cd98a86f2
parenta0d7c5fa0846e922f379189812ceae2f75fce356
sound: virtuoso: do not overwrite EEPROM on Xonar D2/D2X

commit 7e86c0e6850504ec9516b953f316a47277825e33 upstream.

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>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
sound/pci/oxygen/virtuoso.c