[alsa-devel] [PATCH 2/2] ASoC: atmel-pcm: use generic dmaengine framework
Lars-Peter Clausen
lars at metafoo.de
Wed Jul 3 03:36:34 EDT 2013
On 07/03/2013 03:33 AM, Bo Shen wrote:
> Hi Lars-Peter,
>
> On 7/2/2013 23:34, Lars-Peter Clausen wrote:
>> On 07/02/2013 11:04 AM, Bo Shen wrote:
>> [...]
>>> -/*--------------------------------------------------------------------------*\
>>> - * DMAENGINE operations
>>> -\*--------------------------------------------------------------------------*/
>>> -static bool filter(struct dma_chan *chan, void *slave)
>>> -{
>>> - struct at_dma_slave *sl = slave;
>>> -
>>> - if (sl->dma_dev == chan->device->dev) {
>>> - chan->private = sl;
>>> - return true;
>>> - } else {
>>> - return false;
>>> - }
>>> -}
>>
>> I'm wondering why is filtering no longer required?
>
> Now this is handled by at_dma_filter in at_hdmac driver. More information, you
> can reference: <driver/dma/at_hdmac.c> file
Ok, so the DMA channel is now supplied via devicetree. This is really a change
that should be listed in the changelog.
>
>> [...]
>>> + slave_config->dst_addr = (dma_addr_t)ssc->phybase + SSC_THR;
>> [...]
>>> + slave_config->src_addr = (dma_addr_t)ssc->phybase + SSC_RHR;
>>
>> Change the type of phybase to dma_addr_t
>
> It should be:
> slave_config->dst_addr = (dma_addr_t)(ssc->phybase + SSC_THR);
> slave_config->src_addr = (dma_addr_t)(ssc->phybase + SSC_RHR);
The type of phybase in the ssc_device struct should be changed from
resource_size_t to dma_addr_t.
More information about the linux-arm-kernel
mailing list