[PATCH 3/6] davinci: edma: clear events in edma_start()

Kevin Hilman khilman at deeprootsystems.com
Mon May 24 13:27:07 EDT 2010


[please don't top post, moved your reply below original...]

"stanley.miao" <stanley.miao at windriver.com> writes:

> Kevin Hilman wrote:
>> From: Brian Niebuhr <bniebuhr3 at gmail.com>
>>
>> This patch fixes an issue where a DMA channel can erroneously process an
>> event generated by a previous transfer.  A failure case is where DMA is
>> being used for SPI transmit and receive channels on OMAP L138.  In this
>> case there is a single bit that controls all event generation from the
>> SPI peripheral.  Therefore it is possible that between when edma_stop()
>> has been called for the transmit channel on a previous transfer and
>> edma_start() is called for the transmit channel on a subsequent transfer,
>> that a transmit event has been generated.
>>
>> The fix is to clear events in edma_start().  This prevents false events
>> from being processed when events are enabled for that channel.
>>
>
> This patch causes that the sound can not work normally on OMAP_L138.
>

Can you describe "can not work normally"?  Does that mean simply does
not work, or works with pops & clicks etc.?

Just to clarify... how did you isolate it to this patch.

If you revert just this patch on current davinci git, do you have
working sound as you expect again?

Kevin



More information about the linux-arm-kernel mailing list