[PATCH] drm: malidp: Add the size of the superblocks when calculating total size for AFBC buffers
Ayan Halder
ayan.halder at arm.com
Fri Oct 5 14:19:31 UTC 2018
Hi Liviu,
On Fri, Oct 05, 2018 at 01:38:19PM +0100, Liviu Dudau wrote:
> The size of the superblocks being added to the total AFBC buffer size
> got lost in the upstreaming process. Add it back.
>
> Cc: Ayan Kumar Halder <ayan.halder at arm.com>
> Signed-off-by: Liviu Dudau <liviu.dudau at arm.com>
> ---
> drivers/gpu/drm/arm/malidp_drv.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
> index 90214851637f4..505f316a192ec 100644
> --- a/drivers/gpu/drm/arm/malidp_drv.c
> +++ b/drivers/gpu/drm/arm/malidp_drv.c
> @@ -38,6 +38,7 @@
>
> #define MALIDP_CONF_VALID_TIMEOUT 250
> #define AFBC_HEADER_SIZE 16
> +#define AFBC_SUPERBLK_ALIGNMENT 128
>
> static void malidp_write_gamma_table(struct malidp_hw_device *hwdev,
> u32 data[MALIDP_COEFFTAB_NUM_COEFFS])
> @@ -336,7 +337,8 @@ malidp_verify_afbc_framebuffer_size(struct drm_device *dev,
> afbc_superblock_size = info->cpp[0] * afbc_superblock_width *
> afbc_superblock_height;
>
> - afbc_size = ALIGN(n_superblocks * AFBC_HEADER_SIZE, 128);
> + afbc_size = ALIGN(n_superblocks * AFBC_HEADER_SIZE, AFBC_SUPERBLK_ALIGNMENT);
> + afbc_size += n_superblocks * ALIGN(afbc_superblock_size, AFBC_SUPERBLK_ALIGNMENT);
>
> if (mode_cmd->width * info->cpp[0] != mode_cmd->pitches[0]) {
> DRM_DEBUG_KMS("Invalid value of pitch (=%u) should be same as width (=%u) * cpp (=%u)\n",
> --
Looks correct to me.
Reviewed-by: Ayan Kumar Halder <ayan.halder at arm.com>
> 2.18.0
More information about the dri-devel
mailing list