* [PATCH 1/5] Change all omap15xx devices to use similar DMA handling than h6300 uses.
@ 2006-08-18 1:14 lamikr
2006-08-18 7:55 ` andrzej zaborowski
0 siblings, 1 reply; 2+ messages in thread
From: lamikr @ 2006-08-18 1:14 UTC (permalink / raw)
To: OMAP-Linux
[-- Attachment #1: Type: text/plain, Size: 271 bytes --]
Change all omap15xx devices to use similar DMA handling than h6300 uses.
Thanks for the James Selvam for verifying this with omap 1510 innovator.
http://linux.omap.com/pipermail/linux-omap-open-source/2006-May/007256.html
Signed-off-by: Mika Laitio <lamikr@cc.jyu.fi>
[-- Attachment #2: 0001-change-all-omap15xx-devices-to-use-similar-DMA-handling-that-h6300-uses.patch --]
[-- Type: text/x-patch, Size: 1969 bytes --]
From: Mika Laitio <lamikr@cc.jyu.fi>
Date: Fri, 18 Aug 2006 01:47:42 +0300
Subject: [PATCH 1/5] change all omap15xx devices to use similar DMA handling than h6300 uses.
Change all omap15xx devices to use similar DMA handling than h6300 uses. Thanks for the James Selvam for verifying this with omap 1510 innovator. http://linux.omap.com/pipermail/linux-omap-open-source/2006-May/007256.html
Signed-off-by: Mika Laitio <lamikr@cc.jyu.fi>
---
sound/arm/omap/omap-alsa.c | 22 +++++++++++++---------
1 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/sound/arm/omap/omap-alsa.c b/sound/arm/omap/omap-alsa.c
index 328003b..583460c 100644
--- a/sound/arm/omap/omap-alsa.c
+++ b/sound/arm/omap/omap-alsa.c
@@ -190,9 +190,7 @@ static void audio_process_dma(struct aud
unsigned int dma_size;
unsigned int offset;
int ret;
-#ifdef CONFIG_MACH_OMAP_H6300
unsigned long flags;
-#endif
ADEBUG();
runtime = substream->runtime;
@@ -200,14 +198,20 @@ #endif
dma_size = frames_to_bytes(runtime, runtime->period_size);
offset = dma_size * s->period;
snd_assert(dma_size <= DMA_BUF_SIZE,);
-#ifdef CONFIG_MACH_OMAP_H6300
- spin_lock_irqsave(&s->dma_lock, flags);
- omap_stop_alsa_sound_dma(s);
- spin_unlock_irqrestore(&s->dma_lock, flags);
-#endif
+ /*
+ * On omap1510 based devices, we need to call the stop_dma
+ * before calling the start_dma or we will not receive the
+ * irq from DMA after the first transfered/played buffer.
+ * (invocation of callback_omap_alsa_sound_dma() method).
+ */
+ if (cpu_is_omap15xx()) {
+ spin_lock_irqsave(&s->dma_lock, flags);
+ omap_stop_alsa_sound_dma(s);
+ spin_unlock_irqrestore(&s->dma_lock, flags);
+ }
ret = omap_start_alsa_sound_dma(s,
- (dma_addr_t) runtime->dma_area +
- offset, dma_size);
+ (dma_addr_t)runtime->dma_area + offset,
+ dma_size);
if (ret) {
printk(KERN_ERR
"audio_process_dma: cannot queue DMA buffer (%i)\n",
--
1.4.2
[-- Attachment #3: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH 1/5] Change all omap15xx devices to use similar DMA handling than h6300 uses.
2006-08-18 1:14 [PATCH 1/5] Change all omap15xx devices to use similar DMA handling than h6300 uses lamikr
@ 2006-08-18 7:55 ` andrzej zaborowski
0 siblings, 0 replies; 2+ messages in thread
From: andrzej zaborowski @ 2006-08-18 7:55 UTC (permalink / raw)
To: lamikr; +Cc: OMAP-Linux
Hi,
On 18/08/06, lamikr <lamikr@cc.jyu.fi> wrote:
> Change all omap15xx devices to use similar DMA handling than h6300 uses.
I recently got audio working on Palm Tungsten E which is OMAP311 based
(so cpu_is_omap15xx() returns 1). First I used this same fix but I was
hearing a short noise after every DMA iteration. It was fixed by
avoiding stopping and starting McBSP everytime. From reading Palm Zire
71 (OMAP310) patches by Marek Vasut, I know they had the same problem
there.
I'm going to submit a patch to apply on top of this one for audio on
OMAP310/311.
Palm Tungsten E uses a TSC2102 chip, I'm going to submit the driver
too, 2102 is slightly different from 2101.
Palm Zire 71 has a AIC23 chip.
> Thanks for the James Selvam for verifying this with omap 1510 innovator.
> http://linux.omap.com/pipermail/linux-omap-open-source/2006-May/007256.html
>
> Signed-off-by: Mika Laitio <lamikr@cc.jyu.fi>
>
>
>
>
> _______________________________________________
> Linux-omap-open-source mailing list
> Linux-omap-open-source@linux.omap.com
> http://linux.omap.com/mailman/listinfo/linux-omap-open-source
>
>
>
>
Regards,
Andrzej
--
balrog 2oo6
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-08-18 7:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-18 1:14 [PATCH 1/5] Change all omap15xx devices to use similar DMA handling than h6300 uses lamikr
2006-08-18 7:55 ` andrzej zaborowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox