drm/vc4: hvs: Force modeset on gamma lut change
authorMaxime Ripard <maxime@cerno.tech>
Mon, 14 Jun 2021 13:28:30 +0000 (15:28 +0200)
committerDom Cobley <popcornmix@gmail.com>
Mon, 21 Mar 2022 16:04:28 +0000 (16:04 +0000)
commit486dd1cba6dfaf907ae4ec895d6274abc54a654f
treea4873153151386fa44d62db9e08a502d401993ed
parent7fdf6c438ac4fb7a2a0876e7bd863a2205b1b876
drm/vc4: hvs: Force modeset on gamma lut change

The HVS Gamma block can only be updated when idle, so we need to disable
the HVS channel when the gamma property is set in an atomic commit.

Since the pixelvalve cannot have its assigned channel halted without
stalling unless it's disabled as well, in our case that means forcing a
full disable / enable cycle on the pipeline.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
drivers/gpu/drm/vc4/vc4_crtc.c
drivers/gpu/drm/vc4/vc4_drv.h
drivers/gpu/drm/vc4/vc4_hvs.c