mbox series

[0/3] Support reflect-x/y on RK3328, RK3368, and RK3399

Message ID 20190109185639.5093-1-ezequiel@collabora.com (mailing list archive)
Headers show
Series Support reflect-x/y on RK3328, RK3368, and RK3399 | expand

Message

Ezequiel Garcia Jan. 9, 2019, 6:56 p.m. UTC
Here's a small series supporting plane reflection (aka. mirroring)
properties on RK3328, RK3368, and RK3399 SoCs.

Note that RK3288 specification doesn't seem to document registers
for plane mirroring, but instead it only seems to support mirroring
at the display (CRTC) level.

A small typo cleanup patch is included, in patch 1. Not related
to the rotation stuff.

In order to support this feature, patch 2 separates the register
set for win0 and win1.

Once that's done, patch 3 creates the properties, if supported
by each plane/SoC.

The following modetest commands would test this feature,
where 30 is the plane ID, and 49 = rotate_0 + relect_y + reflect_x.
    
X mirror:
modetest -s 43@33:1920x1080@XR24 -w 30:rotation:17
    
Y mirror:
modetest -s 43@33:1920x1080@XR24 -w 30:rotation:33
    
XY mirror:
modetest -s 43@33:1920x1080@XR24 -w 30:rotation:49

This work has been originally by Daniele. I just cleaned
up the implementation a it, and ported the code to upstream.

This series is based on drm-misc-next plus https://patchwork.kernel.org/patch/10752893/.

Daniele Castagna (1):
  drm/rockchip: Add reflection properties

Ezequiel Garcia (2):
  drm/rockchip: Fix typo in VOP macros argument
  drm/rockchip: Separate RK3288 from RK3368 win01 registers

 drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 47 ++++++++++++++++++---
 drivers/gpu/drm/rockchip/rockchip_drm_vop.h |  2 +
 drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 34 ++++++++++++---
 3 files changed, 70 insertions(+), 13 deletions(-)

Comments

Heiko Stuebner Jan. 10, 2019, 11:55 p.m. UTC | #1
Am Mittwoch, 9. Januar 2019, 19:56:36 CET schrieb Ezequiel Garcia:
> Here's a small series supporting plane reflection (aka. mirroring)
> properties on RK3328, RK3368, and RK3399 SoCs.
> 
> Note that RK3288 specification doesn't seem to document registers
> for plane mirroring, but instead it only seems to support mirroring
> at the display (CRTC) level.
> 
> A small typo cleanup patch is included, in patch 1. Not related
> to the rotation stuff.
> 
> In order to support this feature, patch 2 separates the register
> set for win0 and win1.
> 
> Once that's done, patch 3 creates the properties, if supported
> by each plane/SoC.
> 
> The following modetest commands would test this feature,
> where 30 is the plane ID, and 49 = rotate_0 + relect_y + reflect_x.
>     
> X mirror:
> modetest -s 43@33:1920x1080@XR24 -w 30:rotation:17
>     
> Y mirror:
> modetest -s 43@33:1920x1080@XR24 -w 30:rotation:33
>     
> XY mirror:
> modetest -s 43@33:1920x1080@XR24 -w 30:rotation:49
> 
> This work has been originally by Daniele. I just cleaned
> up the implementation a it, and ported the code to upstream.
> 
> This series is based on drm-misc-next plus https://patchwork.kernel.org/patch/10752893/.

applied all 3 to drm-misc-next

Thanks a lot for also catching that register issue.
Heiko