[alsa-devel] [PATCH V3 3/4] ASoC: SAMSUNG: Modify I2S driver to support idma
Jassi Brar
jassisinghbrar at gmail.com
Sun Jun 26 10:57:14 CEST 2011
On Mon, Jun 20, 2011 at 1:06 PM, Sangbeom Kim <sbkim73 at samsung.com> wrote:
> +
> + if (is_secondary(i2s)) {
> + ahb |= (AHB_DMARLD | AHB_INTMASK);
> + mod |= MOD_TXS_IDMA;
This unconditional setting stealthily switches to using iDMA. Sorry I
didn't notice it in last revision.
> + writel(ahb, i2s->addr + I2SAHB);
> + }
> +
I meant, this is _dma_ related setting of post-24xx
So it had better be done in hw_params of idma.c
> @@ -1068,6 +1079,8 @@ static __devinit int samsung_i2s_probe(struct platform_device *pdev)
> ret = -ENOMEM;
> goto err2;
> }
> + idma_reg_addr_init((void *)ioremap(regs_base, 0x100),
> + i2s_cfg->idma_addr);
Oh dear! Not a great idea to do multiple mapping, even worse is doing
it transiently during a function call.
Perhaps provide base and iBuff address via platform data of samsung-idma
and pass only _once_ ioremap'ed address from here.
More information about the Alsa-devel
mailing list