On Wed, Jul 22, 2020 at 8:13 PM Alex Bee <knaerzche@xxxxxxxxx> wrote:I agree here - but: If HWC windows would have been implemented in this particular driver, their max size would be 128x128 on some SoCs - so they woudn't be really suitable to create an OSD overlay at 4K, for example. I don't know, but I guess other vendors implement their HWC windows on this reduced HW resources as well. I guess that is one of the reasons, why userspace, which aims to be cross-plattfrom, avoids DRM_PLANE_TYPE_CURSOR when its looking for an usable overlay plane. (a heuristic, indeed)
Hi,This doesn't make much sense, the cursor overlay is really just a hint
this series mainly ports existining functionality to older SoCs - most
importantly enables alpha blending for RK3036, RK3066, RK3126 and
Besides that, it also changes the window type from DRM_PLANE_TYPE_CURSOR
to DRM_PLANE_TYPE_OVERLAY for VOPs that have only one (1) overlay window.
for legacy ioctls that this is the overlay that should be used for
cursors. Compositors should try to use such planes as full overlays
(if they don't want to use them as a cursor). So sounds like a case of
"fix your compositor".
For atomic there's 0 difference between a overlay or a cursor (primary
plane is still treated somewhat special in the RMFB ioctl, but again
that's for backwards compat reasons with existing uapi, not because
the primary plane is different).
What does happen though is that this breaks cursor for legacy
userspace, which is probably not really what you want.
Changes in v2:
- drop not yet upstreamed dsp_data_swap from RK3188 regs
- rephrase most commit messages
Alex Bee (5):
drm: rockchip: add scaling for RK3036 win1
drm: rockchip: add missing registers for RK3188
drm: rockchip: add alpha support for RK3036, RK3066, RK3126 and RK3188
drm: rockchip: set alpha_en to 0 if it is not used
drm: rockchip: use overlay windows as such
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 1 +
drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 42 ++++++++++++++++++---
drivers/gpu/drm/rockchip/rockchip_vop_reg.h | 1 +
3 files changed, 38 insertions(+), 6 deletions(-)
Software Engineer, Intel Corporation