This allows us to understand if a TV supports ALLM and gpu drivers can
use this to trigger ALLM when they so desire.

Signed-off-by: Tomasz Pakuła <[email protected]>
Tested-by: Bernhard Berger <[email protected]>
---
 drivers/gpu/drm/drm_edid.c  | 5 +++++
 include/drm/drm_connector.h | 3 +++
 2 files changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index e2e85345aa9a..bb6cee249749 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -6274,6 +6274,8 @@ static void drm_parse_hdmi_forum_scds(struct 
drm_connector *connector,
        }
 
        drm_parse_ycbcr420_deep_color_info(connector, hf_scds);
+       if (cea_db_payload_len(hf_scds) >= 8 && hf_scds[8])
+               hdmi->allm_supported = hf_scds[8] & DRM_EDID_ALLM;
 
        if (cea_db_payload_len(hf_scds) >= 11 && hf_scds[11]) {
                drm_parse_dsc_info(hdmi_dsc, hf_scds);
@@ -6284,6 +6286,9 @@ static void drm_parse_hdmi_forum_scds(struct 
drm_connector *connector,
                    "[CONNECTOR:%d:%s] HF-VSDB: max TMDS clock: %d KHz, HDMI 
2.1 support: %s, DSC 1.2 support: %s\n",
                    connector->base.id, connector->name,
                    max_tmds_clock, str_yes_no(max_frl_rate), 
str_yes_no(dsc_support));
+       drm_dbg_kms(connector->dev,
+               "[CONNECTOR:%d:%s] ALLM support: %s\n",
+               connector->base.id, connector->name, 
str_yes_no(hdmi->allm_supported));
 }
 
 static void drm_parse_hdmi_deep_color_info(struct drm_connector *connector,
diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
index 8f34f4b8183d..ac84884a96a5 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -330,6 +330,9 @@ struct drm_hdmi_info {
        /** @max_lanes: supported by sink */
        u8 max_lanes;
 
+       /** @allm_supported: flag for auto low latency mode support by sink */
+       bool allm_supported;
+
        /** @dsc_cap: DSC capabilities of the sink */
        struct drm_hdmi_dsc_cap dsc_cap;
 };
-- 
2.52.0

Reply via email to