From 14b35093ca68bf2c81bbc90aace5007142b40b40 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sat, 14 Jan 2023 16:24:39 +0100 Subject: [PATCH] drm/vc4: Calculate bpc based on max_requested_bpc This aligns vc4 with Intel, AMD and Synopsis drivers and fixes max bpc connector property not working as expected on monitors with YCbCr 4:2:2 support but not deep color support. max_bpc in connector state is clamped at max_bpc from display info and the latter only takes deep color modes into account so it will always be 8, even if the display can do 4:2:2 12-bit output. Signed-off-by: Matthias Reichl --- drivers/gpu/drm/vc4/vc4_hdmi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c index 4dfeaa30d760..65868ebc44b1 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -2124,7 +2124,7 @@ vc4_hdmi_encoder_compute_config(const struct vc4_hdmi *vc4_hdmi, { struct drm_device *dev = vc4_hdmi->connector.dev; struct drm_connector_state *conn_state = &vc4_state->base; - unsigned int max_bpc = clamp_t(unsigned int, conn_state->max_bpc, 8, 12); + unsigned int max_bpc = clamp_t(unsigned int, conn_state->max_requested_bpc, 8, 12); unsigned int bpc; int ret;