[PATCH v4 0/2] Add writeback scaling

From: Ben Davis
Date: Thu May 02 2019 - 12:10:36 EST


Add support for scaling on writeback. To do this add
writeback_dest_x,y,w,h writeback connector properties to specify the
desired output dimensions.
Then implement downscaling on writeback for Malidp-550 and Malidp-650
(upscaling on writeback is not supported on these devices).

v2: Use 0 as default for writeback_w,h and so update range to use 1 as
minimum.

v3: Rename properties to specify they are destination width/height.
Make sure the values from the properties are passed to
enable_memwrite rather than the framebuffer dimensions.

v4: Add writeback_dest_x,y properties as well for consistency with
plane properties.
Writing to arbitrary x,y on writeback is not supported on the
hardware so we simulate this in the driver.
Clear the properties on duplicate state for robustness.
Use 0 as minimum for all added properties.
Also actually make sure the values from the properties are passed
to enable_memwrite as intended in v3 and some other clean up.

Ben Davis (2):
drm: Add writeback_dest_x,y,w,h properties
drm/malidp: Enable writeback scaling

drivers/gpu/drm/arm/malidp_crtc.c | 47 ++++++------
drivers/gpu/drm/arm/malidp_drv.c | 10 ++-
drivers/gpu/drm/arm/malidp_drv.h | 2 +
drivers/gpu/drm/arm/malidp_hw.c | 45 ++++++++----
drivers/gpu/drm/arm/malidp_hw.h | 19 ++++-
drivers/gpu/drm/arm/malidp_mw.c | 117 ++++++++++++++++++++++++------
drivers/gpu/drm/arm/malidp_regs.h | 1 +
drivers/gpu/drm/drm_atomic_state_helper.c | 6 ++
drivers/gpu/drm/drm_atomic_uapi.c | 17 +++++
drivers/gpu/drm/drm_writeback.c | 66 +++++++++++++++++
include/drm/drm_connector.h | 23 ++++++
include/drm/drm_mode_config.h | 20 +++++
12 files changed, 308 insertions(+), 65 deletions(-)

--
2.7.4