[Intel-gfx] [PATCH 3/3] drm/i915/icl: Implement Display WA 1148
Radhakrishna Sripada
radhakrishna.sripada at intel.com
Mon Sep 24 21:57:14 UTC 2018
From: "Sripada, Radhakrishna" <radhakrishna.sripada at intel.com>
Display WA #1148 asks to not enable YUV 420 HDMI 10bpc when
horizontal blank size mod 8 reminder is 2.
v2: rebase
V3: Implement in hdmi_deep_color_possible function
v4: Take care of line length wrapping (James)
v5: Move the WA outside the connector loop (Ville)
v6: Add icl in the comment (Ville)
Cc: James Ausmus <james.ausmus at intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada at intel.com>
---
drivers/gpu/drm/i915/intel_hdmi.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index a2dab0b6bde6..853c5b51b0be 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -1597,6 +1597,8 @@ static bool hdmi_deep_color_possible(const struct intel_crtc_state *crtc_state,
struct drm_atomic_state *state = crtc_state->base.state;
struct drm_connector_state *connector_state;
struct drm_connector *connector;
+ const struct drm_display_mode *adjusted_mode =
+ &crtc_state->base.adjusted_mode;
int i;
if (HAS_GMCH_DISPLAY(dev_priv))
@@ -1645,7 +1647,13 @@ static bool hdmi_deep_color_possible(const struct intel_crtc_state *crtc_state,
/* Display WA #1139: glk */
if (bpc == 12 && IS_GLK_REVID(dev_priv, 0, GLK_REVID_A1) &&
- crtc_state->base.adjusted_mode.htotal > 5460)
+ adjusted_mode->htotal > 5460)
+ return false;
+
+ /* Display Wa #1148:icl */
+ if (crtc_state->ycbcr420 && bpc == 10 && IS_ICELAKE(dev_priv) &&
+ (adjusted_mode->crtc_hblank_end -
+ adjusted_mode->crtc_hblank_start) % 8 == 2)
return false;
return true;
--
2.9.3
More information about the Intel-gfx
mailing list