[Sound-open-firmware] [RFC PATCH 1/6] platform: dma: consolidate dmac initialization

Ranjani Sridharan ranjani.sridharan at linux.intel.com
Tue Jun 5 21:09:06 CEST 2018


On Tue, 2018-06-05 at 10:14 +0100, Liam Girdwood wrote:
> On Mon, 2018-06-04 at 21:23 -0700, Ranjani Sridharan wrote:
> > This patch proposes to create a DMAC initialization routine in
> > dma.c where it can access the platform DMAC definitions.
> > 
> > Signed-off-by: Ranjani Sridharan <ranjani.sridharan at linux.intel.com
> > >
> > ---
> >  src/include/sof/dma.h              |  3 +++
> >  src/platform/apollolake/dma.c      |  9 +++++++++
> >  src/platform/apollolake/platform.c | 21 +--------------------
> >  src/platform/baytrail/dma.c        |  9 +++++++++
> >  src/platform/baytrail/platform.c   | 22 +---------------------
> >  src/platform/cannonlake/dma.c      |  9 +++++++++
> >  src/platform/cannonlake/platform.c | 21 +--------------------
> >  src/platform/haswell/dma.c         |  9 +++++++++
> >  src/platform/haswell/platform.c    | 16 +---------------
> >  9 files changed, 43 insertions(+), 76 deletions(-)
> > 
> > diff --git a/src/include/sof/dma.h b/src/include/sof/dma.h
> > index 7ba1298..80ca880 100644
> > --- a/src/include/sof/dma.h
> > +++ b/src/include/sof/dma.h
> > @@ -140,6 +140,9 @@ struct dma_int {
> >  
> >  struct dma *dma_get(int dmac_id);
> >  
> > +/* initialize all platform DMAC's */
> > +void dmac_init(void);
> > +
> >  #define dma_set_drvdata(dma, data) \
> >  	dma->private = data
> >  #define dma_get_drvdata(dma) \
> > diff --git a/src/platform/apollolake/dma.c
> > b/src/platform/apollolake/dma.c
> > index 90dde96..001bb67 100644
> > --- a/src/platform/apollolake/dma.c
> > +++ b/src/platform/apollolake/dma.c
> > @@ -181,3 +181,12 @@ struct dma *dma_get(int dmac_id)
> >  
> >  	return NULL;
> >  }
> > +
> > +/* Initialize all platform DMAC's */
> > +void dmac_init(void)
> > +{
> > +	int i;
> > +
> > +	for (i = 0; i < ARRAY_SIZE(dma); i++)
> > +		dma_probe(&dma[i]);
> 
> Can you check for failure here and report it via trace_error. ditto
> for rest.

dma_probe() seems to always return 0 though. Never returns an error.
Let me look into it.
> 
> > 
> 
> Liam


More information about the Sound-open-firmware mailing list