mbox series

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

Message ID 1543836703-8491-1-git-send-email-ayan.halder@arm.com (mailing list archive)
Headers show
Series Add support for Arm Framebuffer Compression(AFBC) in mali display driver | expand

Message

Ayan Halder Dec. 3, 2018, 11:31 a.m. UTC
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