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