[alsa-devel] [PATCH 2/4] DMA: PL330: Register the DMA controller with the generic DMA helpers
Arnd Bergmann
arnd at arndb.de
Mon Jan 28 19:01:13 CET 2013
On Monday 28 January 2013, Jon Hunter wrote:
> On 01/28/2013 08:51 AM, Arnd Bergmann wrote:
> > On Friday 18 January 2013, Padmavathi Venna wrote:
> >> + pfi = devm_kzalloc(&adev->dev, sizeof(*pfi), GFP_KERNEL);
> >> + if (!pfi) {
> >> + dev_err(&adev->dev, "unable to allocate mem\n");
> >> + return -ENOMEM;
> >> + }
> >> +
> >> + pfi->dma_cap = pd->cap_mask;
> >> + pfi->filter_fn = pl330_filter;
> >> +
> >> + ret = of_dma_controller_register(adev->dev.of_node,
> >> + of_dma_pl330_xlate, pfi);
> >
> > Why do you pass a 'struct of_dma_filter_info' here? I would
> > expect that you pass the pdmac object as the third argument.
>
> I believe it is because that is the data that the xlate function is
> using. Are you suggesting the data should be stored in the pdmac object
> and extracted from there? That could be done too given that this
> controller has its own xlate.
It just seems weird that we are passing a constant cap_mask in
a data structure, and that we need our own filter function still,
but don't pass the pointer to the data structure that we actually
need in the filter function (the dma_device *).
Arnd
More information about the Alsa-devel
mailing list