[RFC PATCH 08/13] mmc: omap_hsmmc: limit max_segs with the EDMA DMAC

Matt Porter mporter at ti.com
Fri Sep 21 15:03:12 EDT 2012


On Fri, Sep 21, 2012 at 07:47:21PM +0100, Russell King wrote:
> On Fri, Sep 21, 2012 at 10:45:29PM +0530, S, Venkatraman wrote:
> > On Thu, Sep 20, 2012 at 8:13 PM, Matt Porter <mporter at 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 ?
> 
> Why not have a generic way that DMA engine can export these kinds of
> properties?

That's exactly what my note above is suggesting...

Something along the lines of:

	struct slave_sg_caps
	{
		int max_segs;	/* <0 is no limit */
	}

	struct slave_sg_cap *
	dmaengine_get_slave_sg_caps(struct dma_chan *chan);

I'm sure there are or will be other characteristics worth providing to
slave drivers.

-Matt



More information about the linux-arm-kernel mailing list