ALSA Au1xpsc: psc not disabled when TX is idle
PATCH 1/1 ALSA Au1xpsc: psc not disabled when TX is idle
Untested patch
---
TX idleness isn't tested, but RX twice. PSC is not disabled when TX is idle
Signed-off-by Roel Kluin <[email protected]>
---
sound/soc/au1x/psc-i2s.c +1 -1
@@ -231,7 +231,7 @@ static int au1xpsc_i2s_stop(struct au1xpsc_audio_data *pscdata, int stype)/* if both TX and RX are idle, disable PSC */ stat =au_readl (I2S_STAT (pscdata)); -if (!(stat & (PSC_I2SSTAT_RB |PSC_I2SSTAT_RB ))) { +if (!(stat & (PSC_I2SSTAT_TB |PSC_I2SSTAT_RB ))) {au_writel (0 ,I2S_CFG (pscdata));au_sync ();au_writel (PSC_CTRL_SUSPEND ,PSC_CTRL (pscdata));
Quoted 11 lines · Roel Kluin
Untested patch
---
TX idleness isn't tested, but RX twice. PSC is not disabled when TX is idleSigned-off-by Roel Kluin <[email protected]>---
sound/soc/au1x/psc-i2s.c +0
-0
sound/soc/au1x/psc-i2s.c static int au1xpsc_i2s_stop(struct au1xpsc_audio_data *pscdata, int stype) · line 237
Quoted 8 lines
sound/soc/au1x/psc-i2s.c +1
-1@@ -231,7 +231,7 @@ static int au1xpsc_i2s_stop(struct au1xpsc_audio_data *pscdata, int stype)/* if both TX and RX are idle, disable PSC */ stat =au_readl (I2S_STAT (pscdata)); -if (!(stat & (PSC_I2SSTAT_RB |PSC_I2SSTAT_RB ))) { +if (!(stat & (PSC_I2SSTAT_TB |PSC_I2SSTAT_RB ))) {au_writel (0 ,I2S_CFG (pscdata));au_sync ();au_writel (PSC_CTRL_SUSPEND ,PSC_CTRL (pscdata));
Ah, stupid copy-paste error. Thanks!
Acked-by Manuel Lauss <[email protected]>
Signature · 1 line
Manuel Lauss
Takashi Iwai
AppliedAt Tue, 15 Jul 2008 15:04:29 +0200,
Quoted 7 lines · Manuel Lauss
Quoted 3 lines
au_sync(); au_writel(PSC_CTRL_SUSPEND, PSC_CTRL(pscdata));Ah, stupid copy-paste error. Thanks!
Acked-by Manuel Lauss <[email protected]>
Applied to sound tree now. Thanks.
Takashi