[RFC AFBC v2 00/12] Add support for Arm Framebuffer Compression(AFBC) in mali display driver

From: Ayan Halder
Date: Mon Dec 03 2018 - 06:32:03 EST


This patchset aims to add support for AFBC in mali display driver with
the help of format modifiers. AFBC modifiers adds some constraints to
framebuffer size, alignment, pitch, formats, etc

In the previous 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:-
In this current patchset, I have 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.

Please feel free to let me know your thoughts.

Depends on :-
https://patchwork.kernel.org/patch/10460063/


Ayan Kumar Halder (10):
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:- Define a common list of AFBC format modifiers
supported for DP500, DP550 and DP650
drm/arm/malidp:- Added support for new YUV formats for DP500, DP550
and DP650
drm/arm/malidp: Define the constraints on each supported drm_fourcc
format for the AFBC modifiers.
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 (2):
drm/fourcc: Add AFBC yuv fourccs for Mali
drm/afbc: Add AFBC modifier usage documentation

Documentation/gpu/afbc.rst | 233 +++++++++++++++++++++++++++++++
Documentation/gpu/drivers.rst | 1 +
MAINTAINERS | 1 +
drivers/gpu/drm/arm/malidp_drv.c | 45 ++----
drivers/gpu/drm/arm/malidp_drv.h | 6 +
drivers/gpu/drm/arm/malidp_hw.c | 245 ++++++++++++++++++++++++++++----
drivers/gpu/drm/arm/malidp_hw.h | 30 +++-
drivers/gpu/drm/arm/malidp_mw.c | 7 +-
drivers/gpu/drm/arm/malidp_planes.c | 268 +++++++++++++++++++++++++++++++++---
drivers/gpu/drm/arm/malidp_regs.h | 20 +++
drivers/gpu/drm/drm_fourcc.c | 11 ++
include/uapi/drm/drm_fourcc.h | 20 ++-
12 files changed, 799 insertions(+), 88 deletions(-)
create mode 100644 Documentation/gpu/afbc.rst

--
2.7.4