[ARM] 3290/1: Fix the FIFO size detection
Patch from Catalin Marinas AACI reports TX FIFO full after the first write to it if the AC97 is not enabled. This patch enables the AC97 probing before the check for the TX FIFO size. The patch also adds a warning if the TX FIFO size is not multiple of 16. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
a6df590dd8
commit
f27f218cdf
|
@ -882,15 +882,21 @@ static int __devinit aaci_probe(struct amba_device *dev, void *id)
|
|||
writel(0x1fff, aaci->base + AACI_INTCLR);
|
||||
writel(aaci->maincr, aaci->base + AACI_MAINCR);
|
||||
|
||||
/*
|
||||
* Size the FIFOs.
|
||||
*/
|
||||
aaci->fifosize = aaci_size_fifo(aaci);
|
||||
|
||||
ret = aaci_probe_ac97(aaci);
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
/*
|
||||
* Size the FIFOs (must be multiple of 16).
|
||||
*/
|
||||
aaci->fifosize = aaci_size_fifo(aaci);
|
||||
if (aaci->fifosize & 15) {
|
||||
printk(KERN_WARNING "AACI: fifosize = %d not supported\n",
|
||||
aaci->fifosize);
|
||||
ret = -ENODEV;
|
||||
goto out;
|
||||
}
|
||||
|
||||
ret = aaci_init_pcm(aaci);
|
||||
if (ret)
|
||||
goto out;
|
||||
|
|
Loading…
Reference in New Issue