From: Trent Piepho Date: Wed, 25 Jul 2007 16:41:17 +0000 (+0200) Subject: [ALSA] ca0106: remove extra commands in SPI DAC init sequence X-Git-Tag: v2.6.24-rc1~832^2~241 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=b87c464ea2c27005f592aaf351af40989f90f574;p=linux-2.6-omap-h63xx.git [ALSA] ca0106: remove extra commands in SPI DAC init sequence The init sequence set a number of registers more than once to different values. It's only necessary to set them once to their final values. It also never actually updated the digital attenuation settings. Signed-off-by: Trent Piepho Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela --- diff --git a/sound/pci/ca0106/ca0106_main.c b/sound/pci/ca0106/ca0106_main.c index 252710e4f5c..611fc15a054 100644 --- a/sound/pci/ca0106/ca0106_main.c +++ b/sound/pci/ca0106/ca0106_main.c @@ -1262,25 +1262,19 @@ static int __devinit snd_ca0106_pcm(struct snd_ca0106 *emu, int device, struct s static unsigned int spi_dac_init[] = { SPI_REG(SPI_LDA1_REG, SPI_DA_BIT_0dB), /* 0dB dig. attenuation */ SPI_REG(SPI_RDA1_REG, SPI_DA_BIT_0dB), - SPI_REG(SPI_PL_REG, 0x00), - SPI_REG(SPI_PL_REG, SPI_PL_BIT_L_L | SPI_PL_BIT_R_R), - SPI_REG(SPI_FMT_REG, SPI_FMT_BIT_RJ | SPI_IWL_BIT_24), + SPI_REG(SPI_PL_REG, SPI_PL_BIT_L_L | SPI_PL_BIT_R_R | SPI_IZD_BIT), + SPI_REG(SPI_FMT_REG, SPI_FMT_BIT_I2S | SPI_IWL_BIT_24), SPI_REG(SPI_LDA2_REG, SPI_DA_BIT_0dB), SPI_REG(SPI_RDA2_REG, SPI_DA_BIT_0dB), SPI_REG(SPI_LDA3_REG, SPI_DA_BIT_0dB), SPI_REG(SPI_RDA3_REG, SPI_DA_BIT_0dB), SPI_REG(SPI_MASTDA_REG, SPI_DA_BIT_0dB), SPI_REG(9, 0x00), - SPI_REG(SPI_MS_REG, 0x00), - SPI_REG(SPI_MS_REG, SPI_RATE_BIT_256), + SPI_REG(SPI_MS_REG, SPI_DACD0_BIT | SPI_DACD1_BIT | SPI_DACD2_BIT), SPI_REG(12, 0x00), SPI_REG(SPI_LDA4_REG, SPI_DA_BIT_0dB), - SPI_REG(SPI_RDA4_REG, SPI_DA_BIT_0dB), - SPI_REG(15, 0x00), - SPI_REG(SPI_PL_REG, SPI_PL_BIT_L_L | SPI_PL_BIT_R_R | SPI_IZD_BIT), - SPI_REG(SPI_FMT_REG, SPI_FMT_BIT_I2S), - SPI_REG(SPI_FMT_REG, SPI_FMT_BIT_I2S | SPI_IWL_BIT_24), - SPI_REG(SPI_MS_REG, SPI_DACD0_BIT | SPI_DACD1_BIT | SPI_DACD2_BIT), + SPI_REG(SPI_RDA4_REG, SPI_DA_BIT_0dB | SPI_DA_BIT_UPDATE), + SPI_REG(SPI_DACD4_REG, 0x00), }; static unsigned int i2c_adc_init[][2] = {