summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/dma/pxp/pxp_dma_v3.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/dma/pxp/pxp_dma_v3.c b/drivers/dma/pxp/pxp_dma_v3.c
index 50e1d79c81ce..775900b1a188 100644
--- a/drivers/dma/pxp/pxp_dma_v3.c
+++ b/drivers/dma/pxp/pxp_dma_v3.c
@@ -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;