diff mbox series

[v2,2/6] drm/i915/icl: Implement Display WA_1405510057

Message ID 20181004182939.7668-2-radhakrishna.sripada@intel.com (mailing list archive)
State New, archived
Headers show
Series [v2,1/6] drm/i915/icl: Add WaEnable32PlaneMode | expand

Commit Message

Sripada, Radhakrishna Oct. 4, 2018, 6:29 p.m. UTC
Display WA_1405510057 asks to not enable YUV 420 HDMI
10bpc when horizontal blank size mod 8 reminder is 2.

Cc: James Ausmus <james.ausmus@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
---
 drivers/gpu/drm/i915/intel_hdmi.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

Comments

Srivatsa, Anusha Oct. 17, 2018, 9:49 p.m. UTC | #1
>-----Original Message-----
>From: Intel-gfx [mailto:intel-gfx-bounces@lists.freedesktop.org] On Behalf Of
>Radhakrishna Sripada
>Sent: Thursday, October 4, 2018 11:30 AM
>To: intel-gfx@lists.freedesktop.org
>Cc: Vivi, Rodrigo <rodrigo.vivi@intel.com>; Zanoni, Paulo R
><paulo.r.zanoni@intel.com>
>Subject: [Intel-gfx] [PATCH v2 2/6] drm/i915/icl: Implement Display
>WA_1405510057
>
>Display WA_1405510057 asks to not enable YUV 420 HDMI 10bpc when
>horizontal blank size mod 8 reminder is 2.
>
>Cc: James Ausmus <james.ausmus@intel.com>
>Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
>Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
Reviewed-by: Anusha Srivatsa <anusha.srivatsa@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 454f570275e9..fa6b39420e69 100644
>--- a/drivers/gpu/drm/i915/intel_hdmi.c
>+++ b/drivers/gpu/drm/i915/intel_hdmi.c
>@@ -1592,6 +1592,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))
>@@ -1640,7 +1642,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_1405510057: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
>
>_______________________________________________
>Intel-gfx mailing list
>Intel-gfx@lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 454f570275e9..fa6b39420e69 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -1592,6 +1592,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))
@@ -1640,7 +1642,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_1405510057: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;