aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Zimmermann <[email protected]>2022-08-01 15:50:27 +0200
committerThomas Zimmermann <[email protected]>2022-08-05 14:14:03 +0200
commitfd9e3169e42b7b9e3a5c58ca2bc95a15f9de1d6c (patch)
tree84fc0a383a20f5dd12cfee6cbbdbaa50a9293192
parent802fd5750faca181cade177642e0e5233ff25f85 (diff)
drm/simpledrm: Compute framebuffer stride if not set
Compute the framebuffer's scanline stride length if not given by the simplefb data. v3: * get pixel size from drm_format_info_bpp() (Geert, Javier) Signed-off-by: Thomas Zimmermann <[email protected]> Acked-by: Javier Martinez Canillas <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
-rw-r--r--drivers/gpu/drm/tiny/simpledrm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tiny/simpledrm.c b/drivers/gpu/drm/tiny/simpledrm.c
index 9d27608d7369..11a7348ccf4d 100644
--- a/drivers/gpu/drm/tiny/simpledrm.c
+++ b/drivers/gpu/drm/tiny/simpledrm.c
@@ -743,6 +743,9 @@ static struct simpledrm_device *simpledrm_device_create(struct drm_driver *drv,
drm_err(dev, "no simplefb configuration found\n");
return ERR_PTR(-ENODEV);
}
+ if (!stride)
+ stride = DIV_ROUND_UP(drm_format_info_bpp(format, 0) * width, 8);
+
sdev->mode = simpledrm_mode(width, height);
sdev->format = format;
sdev->pitch = stride;