Message ID | 20181005123819.8843-1-Liviu.Dudau@arm.com |
---|---|
State | New |
Headers | show |
Series | drm: malidp: Add the size of the superblocks when calculating total size for AFBC buffers | expand |
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@arm.com> > Signed-off-by: Liviu Dudau <liviu.dudau@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@arm.com> > 2.18.0
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",
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@arm.com> Signed-off-by: Liviu Dudau <liviu.dudau@arm.com> --- drivers/gpu/drm/arm/malidp_drv.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)