[PATCH] drm/i915/hdmi: Prune modes that require HDMI2.1 FRL
Ankit Nautiyal
ankit.k.nautiyal at intel.com
Thu Jun 9 04:53:57 UTC 2022
Prune modes that come under HDMI2.1 marketting names and require Fixed
Rate Link (FRL) mode of transmission.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal at intel.com>
---
drivers/gpu/drm/i915/display/intel_hdmi.c | 26 +++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index 1ae09431f53a..a573cc65db49 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -1974,6 +1974,25 @@ intel_hdmi_mode_clock_valid(struct drm_connector *connector, int clock,
return status;
}
+static bool
+hdmi21_frl_quirk(struct drm_display_mode *mode, int dotclock)
+{
+ int hdmi21_mkt_vic[] = {117, 118, 119, 120, 218, 219};
+ int i;
+
+ if (dotclock < 600000)
+ return false;
+
+ for (i = 0; i < ARRAY_SIZE(hdmi21_mkt_vic); i++) {
+ int vic = drm_match_cea_mode(mode);
+
+ if (vic == hdmi21_mkt_vic[i])
+ return true;
+ }
+
+ return false;
+}
+
static enum drm_mode_status
intel_hdmi_mode_valid(struct drm_connector *connector,
struct drm_display_mode *mode)
@@ -2001,6 +2020,13 @@ intel_hdmi_mode_valid(struct drm_connector *connector,
clock *= 2;
}
+ /*
+ * Current Platforms do not support FRL mode of transmission,
+ * so prune the modes with HDMI21 marketing name that requires FRL.
+ */
+ if (hdmi21_frl_quirk(mode, clock))
+ return MODE_BAD;
+
ycbcr_420_only = drm_mode_is_420_only(&connector->display_info, mode);
status = intel_hdmi_mode_clock_valid(connector, clock, has_hdmi_sink, ycbcr_420_only);
--
2.25.1
More information about the Intel-gfx-trybot
mailing list