"Tivy, Robert" <[email protected]> writes: > Since I was the one to ask Sandeep for this API, I will offer up my > reasoning... > > Without this API, in order to call either edma_free_slot() or > edma_free_channel() the LinuxUtils EDMAK device driver will have to > carry a "slot-vs-channel" "flag" or "cookie" around with the EDMA > allocation record. Then we need to consult this flag and call one > or the other "free". Other drivers will be doing this as well.
This sounds pretty normal to me, and expected. > Having this API will simplify code that allocates both "slots" and > "channels". It seems prudent to consolidate the decision making to > one place (edma_free_resource()) instead of having it be sprinkled > throughout the calling code, and also removes the possibility of the > driver calling the wrong one. I agree with Sekhar that a free_resource() without a corresponding alloc_resource() doesn't make sense and is more confusing. Kevin > > Regards, > > - Rob > >> -----Original Message----- >> From: >> [email protected] > p.com [mailto:davinci-linux-open-source-> > [email protected]] On Behalf Of Nori, Sekhar >> Sent: Saturday, September 12, 2009 9:27 PM >> To: Paulraj, Sandeep >> Cc: [email protected] >> Subject: RE: [PATCH] DaVinci: EDMA: New API edma_free_resource >> >> Hi Sandeep, >> >> On Sat, Sep 12, 2009 at 21:50:44, Paulraj, Sandeep wrote: >> > From: Sandeep Paulraj <[email protected]> >> > >> > This API is very similar to the edma_free_slot and >> edma_free_channel >> > APIs. It is actually a consolidated version of these 2 APIs. >> > A resource can be a channel or a slot. >> > Using this API, the EDMA driver code makes the >> determination to free >> > up a channel or a slot. >> > The user does not have to decide the correct "free" API from among >> > edma_free_channel or edma_free_slot. >> > >> > This API will be used by TI codecs and the DVSDK. >> >> Hmm, wonder how it improves convenience considering that >> channels and slots are allocated separately. >> Presumably, user will need to maintain separate cookies for >> channels and slots. >> >> IMHO, in the absence of an alloc_resource() API, this sounds >> incongruous. >> >> [...] >> > +/** >> > + * edma_free_resource - deallocate DMA parameter RAM >> channel/resource >> > + * @resource: Either a channel or a slot to be freed >> > + * >> > + * This deallocates the DMA channel and associated >> parameter RAM slot >> > + * if the resource happens to be a channel, i.e if the resource >> > +number is >> > + * less than 64 for DaVinci SOCs and less than 32 for Primus. >> >> ^^^^^^^ I think you mean to say DA8XX/OMAP-L1 >> >> Thanks, >> Sekhar >> >> _______________________________________________ >> Davinci-linux-open-source mailing list >> [email protected] >> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source >> _______________________________________________ > Davinci-linux-open-source mailing list > [email protected] > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
