--- zzzz-none-000/linux-2.6.19.2/sound/aoa/codecs/snd-aoa-codec-tas.c 2007-01-10 19:10:37.000000000 +0000 +++ davinci-8020-5505/linux-2.6.19.2/sound/aoa/codecs/snd-aoa-codec-tas.c 2007-01-11 07:38:19.000000000 +0000 @@ -514,15 +514,9 @@ mutex_lock(&tas->mtx); oldacr = tas->acr; - /* - * Despite what the data sheet says in one place, the - * TAS_ACR_B_MONAUREAL bit forces mono output even when - * input A (line in) is selected. - */ - tas->acr &= ~(TAS_ACR_INPUT_B | TAS_ACR_B_MONAUREAL); + tas->acr &= ~TAS_ACR_INPUT_B; if (ucontrol->value.enumerated.item[0]) - tas->acr |= TAS_ACR_INPUT_B | TAS_ACR_B_MONAUREAL | - TAS_ACR_B_MON_SEL_RIGHT; + tas->acr |= TAS_ACR_INPUT_B; if (oldacr == tas->acr) { mutex_unlock(&tas->mtx); return 0; @@ -692,7 +686,8 @@ if (tas_write_reg(tas, TAS_REG_MCS, 1, &tmp)) goto outerr; - tas->acr |= TAS_ACR_ANALOG_PDOWN; + tas->acr |= TAS_ACR_ANALOG_PDOWN | TAS_ACR_B_MONAUREAL | + TAS_ACR_B_MON_SEL_RIGHT; if (tas_write_reg(tas, TAS_REG_ACR, 1, &tas->acr)) goto outerr;