From: Chen Liangjun Date: Mon, 30 Jul 2012 06:55:39 +0000 (+0800) Subject: ENGR00218774 ESAI ASRC: fix multi channel p2pplayback bug X-Git-Tag: v3.0.35-fsl_4.1.0~833 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=22bc1007731e2bcfd9907e5ef7b0a95a36856628;p=karo-tx-linux.git 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 --- 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 */