From 0cb594c0032f1eb369fb1dd357301d85fec5c61c 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 2a26a8fd7c47a8..85827265d3c746 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -2147,7 +2147,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;