drm/bridge: aux: allow interlaced and YCbCr 420 output
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Fri, 18 Oct 2024 21:49:15 +0000 (00:49 +0300)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Thu, 24 Oct 2024 19:42:26 +0000 (22:42 +0300)
As both aux bridges are merely passthrough bridges, mark them as
supporting interlaced and YCbCr 420 data. Other bridges in the chain
still might limit interlaced and YCbCr 420 data support on the
corresponding connector.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20241019-bridge-yuv420-v1-4-d74efac9e4e6@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/bridge/aux-bridge.c
drivers/gpu/drm/bridge/aux-hpd-bridge.c

index b29980f..e3e95cc 100644 (file)
@@ -120,6 +120,10 @@ static int drm_aux_bridge_probe(struct auxiliary_device *auxdev,
        data->bridge.funcs = &drm_aux_bridge_funcs;
        data->bridge.of_node = data->dev->of_node;
 
+       /* passthrough data, allow everything */
+       data->bridge.interlace_allowed = true;
+       data->bridge.ycbcr_420_allowed = true;
+
        return devm_drm_bridge_add(data->dev, &data->bridge);
 }
 
index 6886db2..48f297c 100644 (file)
@@ -180,6 +180,10 @@ static int drm_aux_hpd_bridge_probe(struct auxiliary_device *auxdev,
        data->bridge.ops = DRM_BRIDGE_OP_HPD;
        data->bridge.type = id->driver_data;
 
+       /* passthrough data, allow everything */
+       data->bridge.interlace_allowed = true;
+       data->bridge.ycbcr_420_allowed = true;
+
        auxiliary_set_drvdata(auxdev, data);
 
        return devm_drm_bridge_add(data->dev, &data->bridge);