[PATCH 0/3] RK3288 Gamma LUT

Ezequiel Garcia
2019-06-18T21:36:51Z

Let's support Gamma LUT configuration on RK3288 SoCs.

In order to do so, this series adds a new and optional
address resource.

A separate address resource is required because on this RK3288,
the LUT address is after the MMU address, which is requested
by the iommu driver. This prevents the DRM driver
from requesting an entire register space.

The current implementation works for RGB 10-bit tables, as that
is what seems to work on RK3288.

This has been tested on Rock2 Square board, using
a hacked 'modetest' tool, with legacy and atomic APIs.

Thanks,
Eze

Changes from RFC:
* Request (an optional) address resource for the LUT.
* Add devicetree changes.
* Drop support for RK3399, which doesn't seem to work
out of the box and needs more research.
* Support pass-thru setting when GAMMA_LUT is NULL.
* Add a check for the gamma size, as suggested by Ilia.
* Move gamma setting to atomic_commit_tail, as pointed
out by Jacopo/Laurent, is the correct way.

Ezequiel Garcia (3):
dt-bindings: display: rockchip: document VOP gamma LUT address
drm/rockchip: Add optional support for CRTC gamma LUT
ARM: dts: rockchip: Add RK3288 VOP gamma LUT address

.../display/rockchip/rockchip-vop.txt | 10 +-
arch/arm/boot/dts/rk3288.dtsi | 6 +-
drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 3 +
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 106 ++++++++++++++++++
drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 7 ++
drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 2 +
6 files changed, 131 insertions(+), 3 deletions(-)

--
2.20.1