It may not have been clear, there's sort of a 2 phase resource management:
   1.  At build/config time where the resources are statically partitioned - 
some for ARM, some for DSP - and given to their respective CPU-specific 
resource managers.  I think originally we simply cut the DMA resources in half 
and gave half to each CPU.
   2.  At run time where SW on each CPU (e.g. drivers/codecs) asks the 
CPU-specific resource manager for resources from their CPU-specific partition.

There's no current support for the DSP resource manager stealing resources from 
Linux or vice-versa.  The initial partitioning takes place once up front (in 
unfortunately 2 different you-can-easily-introduce-collisions ways).

I guess my comment was just cautioning us against stuff like this...

>>>> Reserve channels 0,1,12,13 and
>>>> slots 78-109 for dsp use on dm644x.

... because it's going to change from user to user and we'll never get it right 
all the time.  I think we just need to make sure it's easy enough to change the 
config (on both sides!) and over-document it.

Chris 

> -----Original Message-----
> From: Troy Kisky [mailto:troy.ki...@boundarydevices.com] 
> Sent: Friday, April 17, 2009 3:17 PM
> To: Ring, Chris
> Cc: Kevin Hilman; davinci-linux-open-source@linux.davincidsp.com
> Subject: Re: [PATCH] ARM: DaVinci: edma: reserve dsp dma usage
> 
> Ring, Chris wrote:
> > It's a bit too much info, but please review the "Overview" 
> section here:
> > http://tiexpressdsp.com/index.php?title=Dma_overview
> > 
> > It attempts to describe challenges in hard-coding DMA 
> resources on systems with multiple cores that must cooperate. 
>  Fortunately the DMA resource managers are typically flexible 
> - so long as the users of the resources behave (e.g. codecs 
> ask for resources from FC resource managers rather than 
> hard-code channels).  I agree with Kevin, no one should be 
> hard-coding resources, Linux-side/BIOS-side or otherwise, 
> unless perhaps it's a completely closed system.
> > 
> > Finally, a detail, DSP Link doesn't manage DSP-side DMA 
> resources - Framework Components and the EDMA3LLD (LLD == 
> Low-Level Driver) do.
> > 
> > Chris 
> > 
> >> -----Original Message-----
> >> From: davinci-linux-open-source-boun...@linux.davincidsp.com 
> >> [mailto:davinci-linux-open-source-boun...@linux.davincidsp.com
> >> ] On Behalf Of Kevin Hilman
> >> Sent: Friday, April 17, 2009 5:02 AM
> >> To: Troy Kisky
> >> Cc: davinci-linux-open-source@linux.davincidsp.com
> >> Subject: Re: [PATCH] ARM: DaVinci: edma: reserve dsp dma usage
> >>
> >> Troy Kisky <troy.ki...@boundarydevices.com> writes:
> >>
> >>> Reserve channels 0,1,12,13 and
> >>> slots 78-109 for dsp use on dm644x.
> >>>
> >>> Signed-off-by: Troy Kisky <troy.ki...@boundarydevices.com>
> >>>
> >>> I've only verified that channels 0, and 78-101 need
> >>> reserved, but reserving a little extra seems like
> >>> a good idea.
> >> I'm not crazy about this hard-coded reservation.
> >>
> >> The DSP code has a kernel-side driver (dsplinkk.)  That driver
> >> should be doing the channel reservations.
> >>
> >> Kevin
> >>
> 
> Very interesting Chris. So, the plan is for the dsp to ask 
> for resources
> as needed? Or to request all upfront?
> 
> Thanks
> 
> Troy
> 
> _______________________________________________
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