diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2006-02-01 19:25:58 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-02-01 19:25:58 +0000 |
commit | f27f218cdfb12c9d2b285ec4a0bce588b5c531d3 (patch) | |
tree | 38e2663bb2cfe2f4af663b837288d6d6b069bafb | |
parent | a6df590dd8b7644c8e298e3b13442bcd6ceeb739 (diff) | |
download | op-kernel-dev-f27f218cdfb12c9d2b285ec4a0bce588b5c531d3.zip op-kernel-dev-f27f218cdfb12c9d2b285ec4a0bce588b5c531d3.tar.gz |
[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>
-rw-r--r-- | sound/arm/aaci.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c index 54147c1..149feb4 100644 --- a/sound/arm/aaci.c +++ b/sound/arm/aaci.c @@ -882,14 +882,20 @@ static int __devinit aaci_probe(struct amba_device *dev, void *id) writel(0x1fff, aaci->base + AACI_INTCLR); writel(aaci->maincr, aaci->base + AACI_MAINCR); + ret = aaci_probe_ac97(aaci); + if (ret) + goto out; + /* - * Size the FIFOs. + * Size the FIFOs (must be multiple of 16). */ aaci->fifosize = aaci_size_fifo(aaci); - - ret = aaci_probe_ac97(aaci); - if (ret) + 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) |