This patchset aims to add support for AFBC in mali display driver with the help of format modifiers. AFBC modifiers add some constraints to framebuffer size, alignment, pitch, formats, etc
In the initial patchset ie https://lists.freedesktop.org/archives/dri-devel/2018-June/180124.html
I had illustrated how to add support for one format (ie BGR888) with one valid combination of AFBC modifiers ie AFBC_SIZE_16X16 | AFBC_YTR | AFBC_SPARSE
Changes from v1:- Enabled the support for all AFBC modifiers (which are supported on DP500, DP550 and DP650) with all the pixel formats. Also, we have introduced some new pixel formats which are supported with AFBC modifiers only as well some other pixel formats which are supported with LINEAR only.
Changes from v2 (ie https://patchwork.freedesktop.org/patch/265212/):- - Addressed the review comments on the previous patchset. - Rebased on top of the drm-misc-next
Ayan Kumar Halder (9): drm: Added a new format DRM_FORMAT_XVYU2101010 drm/arm/malidp: Set the AFBC register bits if the framebuffer has AFBC modifier drm/arm/malidp:- Added support for new YUV formats for DP500, DP550 and DP650 drm/arm/malidp:- Define a common list of AFBC format modifiers supported for DP500, DP550 and DP650 drm/arm/malidp: Specified the rotation memory requirements for AFBC YUV formats drm/arm/malidp:- Writeback framebuffer does not support any modifiers drm/arm/malidp:- Use the newly introduced malidp_format_get_bpp() instead of relying on cpp for calculating framebuffer size drm/arm/malidp:- Disregard the pitch alignment constraint for AFBC framebuffer. drm/arm/malidp: Added support for AFBC modifiers for all layers except DE_SMART
Brian Starkey (1): drm/fourcc: Add AFBC yuv fourccs for Mali
drivers/gpu/drm/arm/malidp_drv.c | 48 +++---- drivers/gpu/drm/arm/malidp_drv.h | 6 + drivers/gpu/drm/arm/malidp_hw.c | 249 +++++++++++++++++++++++++++++---- drivers/gpu/drm/arm/malidp_hw.h | 31 ++++- drivers/gpu/drm/arm/malidp_mw.c | 7 +- drivers/gpu/drm/arm/malidp_planes.c | 271 +++++++++++++++++++++++++++++++++--- drivers/gpu/drm/arm/malidp_regs.h | 20 +++ drivers/gpu/drm/drm_fourcc.c | 17 +++ include/uapi/drm/drm_fourcc.h | 23 ++- 9 files changed, 586 insertions(+), 86 deletions(-)