diff options
-rw-r--r-- | drivers/dma/pxp/pxp_dma_v3.c | 6 |
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; |