drm/omap: fix pitch round-up
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 19 Apr 2016 06:06:32 +0000 (09:06 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Mon, 6 Jun 2016 07:14:27 +0000 (10:14 +0300)
At the moment we calculate the buffer's pitch with:

  pitch = width * DIV_ROUND_UP(bpp, 8)

For CLUT modes with bpp of 1/2/4/8 this gives wrong result, and the
correct pitch is:

  pitch = DIV_ROUND_UP(width * bpp, 8)

In practice this doesn't change anything, as we don't support CLUT
modes, but it's better to have the pitch calculation correct.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
drivers/gpu/drm/omapdrm/omap_fbdev.c
drivers/gpu/drm/omapdrm/omap_gem.c

index 3726737..31dfa08 100644 (file)
@@ -125,8 +125,8 @@ static int omap_fbdev_create(struct drm_fb_helper *helper,
        mode_cmd.width = sizes->surface_width;
        mode_cmd.height = sizes->surface_height;
 
-       mode_cmd.pitches[0] = mode_cmd.width *
-               DIV_ROUND_UP(sizes->surface_bpp, 8);
+       mode_cmd.pitches[0] =
+                       DIV_ROUND_UP(mode_cmd.width * sizes->surface_bpp, 8);
 
        fbdev->ywrap_enabled = priv->has_dmm && ywrap_enabled;
        if (fbdev->ywrap_enabled) {
index ea94aad..ec996c7 100644 (file)
@@ -661,7 +661,7 @@ int omap_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
 {
        union omap_gem_size gsize;
 
-       args->pitch = args->width * DIV_ROUND_UP(args->bpp, 8);
+       args->pitch = DIV_ROUND_UP(args->width * args->bpp, 8);
 
        args->size = PAGE_ALIGN(args->pitch * args->height);