diff options
author | Chen Liangjun <b36089@freescale.com> | 2012-07-30 14:55:39 +0800 |
---|---|---|
committer | Chen Liangjun <b36089@freescale.com> | 2012-07-30 14:59:41 +0800 |
commit | d42089486ee99811e9a24ed04391376b56cba538 (patch) | |
tree | 7dacdcc0d038f0d4318f4e19aee2e999d12f408a /drivers/mxc | |
parent | ad98bf494d36f2d84dd365298a3740325cc44593 (diff) |
ENGR00218774 ESAI ASRC: fix multi channel p2pplayback bug
ASRC driver would configure ASRC as ideal ratio mode for p2p playback.
However, multi channel convert can't work well with ideal ratio mode.
In this patch, change ASRC p2p playbck mode to internal ratio mode to
better support multi channel p2p playback.
Signed-off-by: Chen Liangjun <b36089@freescale.com>
Diffstat (limited to 'drivers/mxc')
-rw-r--r-- | drivers/mxc/asrc/mxc_asrc.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/mxc/asrc/mxc_asrc.c b/drivers/mxc/asrc/mxc_asrc.c index f67274fccf54..cf41f2994226 100644 --- a/drivers/mxc/asrc/mxc_asrc.c +++ b/drivers/mxc/asrc/mxc_asrc.c @@ -586,21 +586,14 @@ int asrc_config_pair(struct asrc_config *config) if ((config->inclk == INCLK_ASRCK1_CLK) && (config->outclk == OUTCLK_ESAI_TX)) { reg = __raw_readl(g_asrc->vaddr + ASRC_ASRCTR_REG); - reg &= ~(1 << (20 + config->pair)); - reg |= (0x03 << (13 + (config->pair << 1))); + reg |= (1 << (20 + config->pair)); + reg |= (0x02 << (13 + (config->pair << 1))); __raw_writel(reg, g_asrc->vaddr + ASRC_ASRCTR_REG); err = asrc_set_clock_ratio(config->pair, config->input_sample_rate, config->output_sample_rate); if (err < 0) return err; - - err = asrc_set_process_configuration(config->pair, - config->input_sample_rate, - config-> - output_sample_rate); - if (err < 0) - return err; } /* Config input and output wordwidth */ |