Now the DW-HDMI Controller supports the HDMI2.0 modes, enable support
for these modes in the connector if the platform supports them.
We limit these modes to DW-HDMI IP version >= 0x200a which
are designed to support HDMI2.0 display modes.

Signed-off-by: Neil Armstrong <narmstr...@baylibre.com>
---
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 6 ++++++
 include/drm/bridge/dw_hdmi.h              | 1 +
 2 files changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c 
b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 00aacad51e29..048409af13d2 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -3031,6 +3031,12 @@ __dw_hdmi_probe(struct platform_device *pdev,
        hdmi->bridge.of_node = pdev->dev.of_node;
 #endif
 
+       if (hdmi->version >= 0x200a)
+               hdmi->connector.ycbcr_420_allowed =
+                       hdmi->plat_data->ycbcr_420_allowed;
+       else
+               hdmi->connector.ycbcr_420_allowed = false;
+
        memset(&pdevinfo, 0, sizeof(pdevinfo));
        pdevinfo.parent = dev;
        pdevinfo.id = PLATFORM_DEVID_AUTO;
diff --git a/include/drm/bridge/dw_hdmi.h b/include/drm/bridge/dw_hdmi.h
index cf528c289857..25a884523b45 100644
--- a/include/drm/bridge/dw_hdmi.h
+++ b/include/drm/bridge/dw_hdmi.h
@@ -126,6 +126,7 @@ struct dw_hdmi_plat_data {
                                           const struct drm_display_mode *mode);
        unsigned long input_bus_format;
        unsigned long input_bus_encoding;
+       bool ycbcr_420_allowed;
 
        /* Vendor PHY support */
        const struct dw_hdmi_phy_ops *phy_ops;
-- 
2.22.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to