MLK-16276: PxP: Improve code compatibility
authorGuoniu.Zhou <guoniu.zhou@nxp.com>
Fri, 25 Aug 2017 10:57:08 +0000 (18:57 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:38:21 +0000 (15:38 -0500)
g2d code has different parameter setting about stride parameter.
For compatibility with all cases of using PxP, we need add this
improved feature.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Reviewed-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 53c8ffffec181a765f4487a9d1bf2eb05b1b78f7)

drivers/dma/pxp/pxp_dma_v3.c

index 50e1d79..775900b 100644 (file)
@@ -3526,7 +3526,11 @@ static int convert_param_to_pixmap(struct pxp_pixmap *pixmap,
        pixmap->format = param->pixel_fmt;
        pixmap->paddr  = param->paddr;
        pixmap->bpp    = get_bpp_from_fmt(pixmap->format);
-       pixmap->pitch  = param->width * pixmap->bpp >> 3;
+
+       if (!param->stride || (param->stride == param->width))
+               pixmap->pitch  = param->width * pixmap->bpp >> 3;
+       else
+               pixmap->pitch = param->stride;
 
        pixmap->crop.x = param->crop.left;
        pixmap->crop.y = param->crop.top;