};
dma_addr_t rockchip_fb_get_dma_addr(struct drm_framebuffer *fb,
- unsigned int plane, struct device *dev)
+ unsigned int plane)
{
struct rockchip_drm_fb *rk_fb = to_rockchip_fb(fb);
}
}
#else
- WARN_ON(rockchip_fb->sgt);
+ WARN_ON(rockchip_fb->logo);
#endif
drm_framebuffer_cleanup(fb);
unsigned int width = mode_cmd->width / (i ? hsub : 1);
unsigned int height = mode_cmd->height / (i ? vsub : 1);
unsigned int min_size;
+ unsigned int bpp =
+ drm_format_plane_bpp(mode_cmd->pixel_format, i);
obj = drm_gem_object_lookup(dev, file_priv,
mode_cmd->handles[i]);
}
min_size = (height - 1) * mode_cmd->pitches[i] +
- mode_cmd->offsets[i] +
- width * drm_format_plane_cpp(mode_cmd->pixel_format, i);
-
+ mode_cmd->offsets[i] + roundup(width * bpp, 8) / 8;
if (obj->size < min_size) {
drm_gem_object_unreference_unlocked(obj);
ret = -EINVAL;