Re: [RFC PATCH v3 11/16] mmc: omap_hsmmc: limit max_segs with the EDMA DMAC

2013-01-10 Thread Matt Porter
On Mon, Oct 29, 2012 at 01:48:46PM +0530, Sekhar Nori wrote:
> On 10/18/2012 6:56 PM, Matt Porter 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.
> > 
> > TODO: this will be replaced once the DMA Engine API supports an
> > API to query the DMAC's segment size limit.
> > 
> > Signed-off-by: Matt Porter 
> > ---
> >  drivers/mmc/host/omap_hsmmc.c |   10 ++
> >  1 file changed, 10 insertions(+)
> > 
> > diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> > index b327cd0..52bab01 100644
> > --- a/drivers/mmc/host/omap_hsmmc.c
> > +++ b/drivers/mmc/host/omap_hsmmc.c
> > @@ -1828,6 +1828,16 @@ static int __devinit omap_hsmmc_probe(struct 
> > platform_device *pdev)
> >  * as we want. */
> > mmc->max_segs = 1024;
> >  
> > +   /* Eventually we should get our max_segs limitation for EDMA by
> > +* querying the dmaengine API */
> 
> Nit picking: This is not as per multi-line comment style in
> Documentation/CodingStyle.

Thanks :). This is dropped from v4 anyway, as I now use a call to
dma_get_channel_caps() to determine the SG limits.

-Matt
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC PATCH v3 11/16] mmc: omap_hsmmc: limit max_segs with the EDMA DMAC

2012-10-29 Thread Sekhar Nori
On 10/18/2012 6:56 PM, Matt Porter 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.
> 
> TODO: this will be replaced once the DMA Engine API supports an
> API to query the DMAC's segment size limit.
> 
> Signed-off-by: Matt Porter 
> ---
>  drivers/mmc/host/omap_hsmmc.c |   10 ++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> index b327cd0..52bab01 100644
> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -1828,6 +1828,16 @@ static int __devinit omap_hsmmc_probe(struct 
> platform_device *pdev)
>* as we want. */
>   mmc->max_segs = 1024;
>  
> + /* Eventually we should get our max_segs limitation for EDMA by
> +  * querying the dmaengine API */

Nit picking: This is not as per multi-line comment style in
Documentation/CodingStyle.

Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC PATCH v3 11/16] mmc: omap_hsmmc: limit max_segs with the EDMA DMAC

2012-10-18 Thread Matt Porter
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.

TODO: this will be replaced once the DMA Engine API supports an
API to query the DMAC's segment size limit.

Signed-off-by: Matt Porter 
---
 drivers/mmc/host/omap_hsmmc.c |   10 ++
 1 file changed, 10 insertions(+)

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index b327cd0..52bab01 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -1828,6 +1828,16 @@ static int __devinit omap_hsmmc_probe(struct 
platform_device *pdev)
 * as we want. */
mmc->max_segs = 1024;
 
+   /* Eventually we should get our max_segs limitation for EDMA by
+* querying the dmaengine API */
+   if (pdev->dev.of_node) {
+   struct device_node *parent = pdev->dev.of_node->parent;
+   struct device_node *node;
+   node = of_find_node_by_name(parent, "edma");
+   if (node)
+   mmc->max_segs = 16;
+   }
+
mmc->max_blk_size = 512;   /* Block Length at max can be 1024 */
mmc->max_blk_count = 0x;/* No. of Blocks is 16 bits */
mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count;
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html