Re: OOPS: musb_hdrc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 09, 2014 at 07:00:10PM +0400, Matwey V. Kornilov wrote:
> 2014-09-09 18:45 GMT+04:00 Felipe Balbi <balbi@xxxxxx>:
> > On Tue, Sep 09, 2014 at 01:28:55PM +0400, Matwey V. Kornilov wrote:
> >> Hi George,
> >>
> >> Why dma_controller_create can not be set in struct musb_platform_ops?
> >> Then each module would be able to set dma_controller_create it wants,
> >> and musb_init_controller would use musb->ops->dma_controller_create
> >> instead of just dma_controller_create.
> >
> > patches are welcome :-)
> >
> 
> Will the following approach be acceptable?
> 
> 1. musbhsdma.o cppi_dma.o tusb6010_omap.o ux500_dma.o musb_cppi41.o
> became independent modules (tristate), each module exports two
> symbols: PREFIX_dma_controller_create and ..._destroy.
> 2. add two callbacks to musb_platform_ops, when pointers are NULL then
> no DMA is used
> 3. every module uses appropriate &PREFIX_dma_controller_create in its
> PREFIX_ops structure
> 4. musb_core uses wrappers which calls
> musb->ops->dma_controller_create and destroy
> 
> In this case every DMA mode can be reused more by several drivers if
> necessarily.

the proper way would be to move everything to dma_engine. OMAP already
has support for DMA engine and both CPPI and Ux500 are already using
that.

What we need it move inventra dma and cppi 3.x to DMA engine, then move
DMA engine into the core driver and have it grab a DMA through that,
instead of using this private API.

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux