From: David Brownell [mailto:davi...@pacbell.net]
Sent: Monday, March 16, 2009 10:57 PM
>
> On Monday 16 March 2009, Nori, Sekhar wrote:
> >
> > From: David Brownell
> > Sent: Monday, March 16, 2009 1:50 PM
> > > On Sunday 15 March 2009, nar...@ti.com wrote:
> > > > @@ -167,6 +175,8 @@ enum fifo_width {
> > > >  enum dma_event_q {
> > > >         EVENTQ_0 = 0,
> > > >         EVENTQ_1 = 1,
> > > > +       EVENTQ_2 = 2,
> > > > +       EVENTQ_3 = 3,
> > > >         EVENTQ_DEFAULT = -1
> > > >  };
> > > >
> > >
> > > It'd be good to get rid of that enum entirely ... just use the
> > > TC number, except maybe for
> > >
> > >       EVENTQ_HI_PRIORITY ... maybe higher priority than ARM
> > >       EVENTQ_LO_PRIORITY ... low priority, e.g. for bulk
> > >       EVENTQ_DEFAULT ...
> > >
> > > Expecting drivers to deal with TC queues in anything other than
> > > generic terms is a losing game; except maybe for SoC-specific
> > > code, which should be rare.
> >
> > Factors like FIFOSIZE may also play role in using a particular TC for
> > a particular peripheral (eg. on DM648, TC 2 & 3 are optimized for
> > video because of high FIFOSIZE). Not having fine grained control can
> > be a problem in such cases.
>
> The DM648 doesn't include an ARM to run Linux.  :)

Yes, wrong example :) But all the DM* SoCs containing ARM do have varying 
FIFOSIZEs (looks like except DM6467).

DM365 has an interesting variation, the FIFO sizes for higher priority TCs is 
longer - so it has a requirement for high throughput high priority transfers.

>
> But an ARM leveraging that kind of rig would fall
> into the category of SoC-specific code.
>

I guess I was also thinking of fine grained queue# control because of the 
number of times we had to play around with event queues being used by drivers 
to get the codecs + drivers working well together.

But looking back most of those are probably related to getting the priorities 
right so highlighting priority as the choice term should be good.

Thanks,
Sekhar

>
> > But agreed that drivers should not be making the choice as the choice
> > is not generic. I think TC to be used should be coming from platform
> data?
>
> If it needs that type of optimization.  I think most
> can just use HI priority (audio, say) or LO/bulk.
> (With LO/bulk being the default.)
>
> Yes, I had thought that video might want more choice
> there ... though as I write this, the only drivers to
> use EDMA are in sound/soc/davinci and drivers/mmc/host
> (at least, in the DaVinci GIT tree) so there aren't
> many examples to choose from.  Pretty much anything
> using DMA without FIFO (like SPI) seems like it should
> use HI priority.
>
> - Dave
>
>
> >
> > Thanks,
> > Sekhar
> >
> > >
> > > - Dave
> > >
> > >
> > >
> > > _______________________________________________
> > > Davinci-linux-open-source mailing list
> > > Davinci-linux-open-source@linux.davincidsp.com
> > > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
> >
> >
>
>

_______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to