Mika Westerberg <ext-mika.1.westerb...@nokia.com> writes:

> On Tue, May 04, 2010 at 10:40:06AM +0300, Mika Westerberg wrote:
>> On Mon, May 03, 2010 at 06:58:18PM +0200, ext Tony Lindgren wrote:
>> > * Mika Westerberg <ext-mika.1.westerb...@nokia.com> [100503 05:52]:
>> (...)
>> > > +/**
>> > > + * omap_dma_reset() - perform software reset for the DMA controller
>> > > + */
>> > > +static void omap_dma_reset(void)
>> > > +{
>> > > +        u32 v;
>> > > +
>> > > +        if (cpu_class_is_omap1())
>> > > +                return;
>> > > +
>> > > +        v = dma_read(OCP_SYSCONFIG);
>> > > +        v |= 0x2; /* software reset */
>> > > +        dma_write(v, OCP_SYSCONFIG);
>> > > +
>> > > +        /* wait until reset is complete */
>> > > +        while ((dma_read(SYSSTATUS) & 0x1) == 0)
>> > > +                cpu_relax();
>> > 
>> > This reset part seems to be mach-omap2 specific.
>> > 
>> > > +        /* disable per channel interrupts */
>> > > +        dma_write(0, IRQENABLE_L0);
>> > > +        dma_write(0, IRQENABLE_L1);
>> > > +        dma_write(0, IRQENABLE_L2);
>> > > +        dma_write(0, IRQENABLE_L3);
>> > > +}
>> > 
>> > For a minimal fix, how about just disable the interrupt in 
>> > omap_clear_dma()?
>> > We are already calling that from omap_init_dma().
>> 
>> If we do it in omap_clear_dma() then omap_dma_global_context_restore() will
>> return with interrupts masked which probably breaks things.
>> 
>> How about something like following patch?
>
> Tony, Kevin
>
> Any comments on this patch?

Looks good to me.

Acked-by: Kevin Hilman <khil...@deeprootsystems.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to