[alsa-devel] [PATCH] ASoC: Blackfin TDM: use external frame syncs
From: Barry Song barry.song@analog.com
We don't want to use internal frame syncs otherwise we sometimes get out of sync, so don't enable them when setting up the SPORT.
Signed-off-by: Barry Song barry.song@analog.com Signed-off-by: Mike Frysinger vapier@gentoo.org --- sound/soc/blackfin/bf5xx-tdm.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sound/soc/blackfin/bf5xx-tdm.c b/sound/soc/blackfin/bf5xx-tdm.c index b2cf239..5515ac9 100644 --- a/sound/soc/blackfin/bf5xx-tdm.c +++ b/sound/soc/blackfin/bf5xx-tdm.c @@ -235,13 +235,13 @@ static int bf5xx_tdm_resume(struct snd_soc_dai *dai) ret = -EBUSY; }
- ret = sport_config_rx(sport, IRFS, 0x1F, 0, 0); + ret = sport_config_rx(sport, 0, 0x1F, 0, 0); if (ret) { pr_err("SPORT is busy!\n"); ret = -EBUSY; }
- ret = sport_config_tx(sport, ITFS, 0x1F, 0, 0); + ret = sport_config_tx(sport, 0, 0x1F, 0, 0); if (ret) { pr_err("SPORT is busy!\n"); ret = -EBUSY; @@ -303,14 +303,14 @@ static int __devinit bfin_tdm_probe(struct platform_device *pdev) goto sport_config_err; }
- ret = sport_config_rx(sport_handle, IRFS, 0x1F, 0, 0); + ret = sport_config_rx(sport_handle, 0, 0x1F, 0, 0); if (ret) { pr_err("SPORT is busy!\n"); ret = -EBUSY; goto sport_config_err; }
- ret = sport_config_tx(sport_handle, ITFS, 0x1F, 0, 0); + ret = sport_config_tx(sport_handle, 0, 0x1F, 0, 0); if (ret) { pr_err("SPORT is busy!\n"); ret = -EBUSY;
On Wed, Jan 12, 2011 at 02:59:55AM -0500, Mike Frysinger wrote:
From: Barry Song barry.song@analog.com
We don't want to use internal frame syncs otherwise we sometimes get out of sync, so don't enable them when setting up the SPORT.
This sounds a lot like the TDM mode needs to be clock slave on the external bus, though it's a bit hard to tell?
On Wed, Jan 12, 2011 at 06:12, Mark Brown wrote:
On Wed, Jan 12, 2011 at 02:59:55AM -0500, Mike Frysinger wrote:
From: Barry Song barry.song@analog.com
We don't want to use internal frame syncs otherwise we sometimes get out of sync, so don't enable them when setting up the SPORT.
This sounds a lot like the TDM mode needs to be clock slave on the external bus, though it's a bit hard to tell?
i believe that's the case -mike
On Wed, Jan 12, 2011 at 11:36:25AM -0500, Mike Frysinger wrote:
On Wed, Jan 12, 2011 at 06:12, Mark Brown wrote:
This sounds a lot like the TDM mode needs to be clock slave on the external bus, though it's a bit hard to tell?
i believe that's the case
In that case I'd expect an update to your set_dai_fmt() operation disallowing any configuration except CBM_CFM. Though I see that's the case already so I'm kind of surprised the system worked at all - whatever CODECs you're using with the TDM DAI may well be buggy.
On Wed, Jan 12, 2011 at 11:45, Mark Brown wrote:
On Wed, Jan 12, 2011 at 11:36:25AM -0500, Mike Frysinger wrote:
On Wed, Jan 12, 2011 at 06:12, Mark Brown wrote:
This sounds a lot like the TDM mode needs to be clock slave on the external bus, though it's a bit hard to tell?
i believe that's the case
In that case I'd expect an update to your set_dai_fmt() operation disallowing any configuration except CBM_CFM. Though I see that's the case already so I'm kind of surprised the system worked at all - whatever CODECs you're using with the TDM DAI may well be buggy.
Sonic or perhaps Scott or Bob would have to comment. i have a limited understanding of the SPORT/audio, so i can only theorize based on the sparse changelogs i'm given. -mike
On Wed, Jan 12, 2011 at 12:11:44PM -0500, Mike Frysinger wrote:
On Wed, Jan 12, 2011 at 11:45, Mark Brown wrote:
In that case I'd expect an update to your set_dai_fmt() operation disallowing any configuration except CBM_CFM. Though I see that's the case already so I'm kind of surprised the system worked at all - whatever CODECs you're using with the TDM DAI may well be buggy.
Sonic or perhaps Scott or Bob would have to comment. i have a limited understanding of the SPORT/audio, so i can only theorize based on the sparse changelogs i'm given.
OK. The change is *probably* OK in itself (I have a similar changelog issue) but it may be pointing up an issue with the CODEC driver, it'd be worth investigating that too to make sure there isn't a matching issue on the CODEC side.
On Wed, 2011-01-12 at 17:19 +0000, Mark Brown wrote:
On Wed, Jan 12, 2011 at 12:11:44PM -0500, Mike Frysinger wrote:
On Wed, Jan 12, 2011 at 11:45, Mark Brown wrote:
In that case I'd expect an update to your set_dai_fmt() operation disallowing any configuration except CBM_CFM. Though I see that's the case already so I'm kind of surprised the system worked at all - whatever CODECs you're using with the TDM DAI may well be buggy.
Sonic or perhaps Scott or Bob would have to comment. i have a limited understanding of the SPORT/audio, so i can only theorize based on the sparse changelogs i'm given.
OK. The change is *probably* OK in itself (I have a similar changelog issue) but it may be pointing up an issue with the CODEC driver, it'd be worth investigating that too to make sure there isn't a matching issue on the CODEC side. _______________________________________________
Acked-by: Liam Girdwood lrg@slimlogic.co.uk
participants (3)
-
Liam Girdwood
-
Mark Brown
-
Mike Frysinger