Messages in this thread | | | From | "S, Venkatraman" <> | Date | Fri, 21 Sep 2012 23:03:42 +0530 | Subject | Re: [RFC PATCH 08/13] mmc: omap_hsmmc: limit max_segs with the EDMA DMAC |
| |
On Fri, Sep 21, 2012 at 10:48 PM, Felipe Balbi <balbi@ti.com> wrote: > On Fri, Sep 21, 2012 at 10:47:30PM +0530, S, Venkatraman wrote: >> On Fri, Sep 21, 2012 at 10:45 PM, S, Venkatraman <svenkatr@ti.com> wrote: >> > On Thu, Sep 20, 2012 at 8:13 PM, Matt Porter <mporter@ti.com> wrote: >> >> The EDMA DMAC has a hardware limitation that prevents supporting >> >> scatter gather lists with any number of segments. Since the EDMA >> >> DMA Engine driver sets the maximum segments to 16, we do the >> >> same. >> >> >> >> Note: this can be removed once the DMA Engine API supports an >> >> API to query the DMAC's segment limitations. >> >> >> > >> > I wouldn't want to bind the properties of EDMA to omap_hsmmc as this patch >> > suggests. Why don't we have a max_segs property, which when explicitly specified >> > in DT, will override the default ? >> >> If you are adventurous, this can be a generic mmc DT binding instead >> of restricting it to OMAP. > > I say if it's a limitation in the DMAC, then DMAC's driver should handle > it, no ? Meaning that in this case you would copy from one multi-segment > sg into a one-segment sg and when transfer is complete, before calling > user's callback, copy data the other way around (?) >
Right ! So even if the property is defined for MMC, Matt will end up coding the limitation into every peripheral driver that uses EMAC, which doesn't scale. Your solution is better.
| |