diff mbox series

[v2] drm/i915: Remove i915 ggtt WA since GT E0

Message ID 20190814075405.16822-1-dong.yang@intel.com (mailing list archive)
State New, archived
Headers show
Series [v2] drm/i915: Remove i915 ggtt WA since GT E0 | expand

Commit Message

Yang, Dong Aug. 14, 2019, 7:54 a.m. UTC
From: "Yang, Dong" <dong.yang@intel.com>

Broxton steppings starting from GT E0 have fixed the bug, remove
WA since stepping GT E0.

v2: add comment in code, by:
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

Signed-off-by: Yang, Dong <dong.yang@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Chris Wilson Aug. 14, 2019, 8:53 a.m. UTC | #1
Quoting dong.yang@intel.com (2019-08-14 08:54:05)
> From: "Yang, Dong" <dong.yang@intel.com>
> 
> Broxton steppings starting from GT E0 have fixed the bug, remove
> WA since stepping GT E0.

If you have a supply of these, could you arrange for one to be put into
CI. We have no coverage of bxt-iommu to assess your claim.
-Chris
Joonas Lahtinen Aug. 14, 2019, 12:07 p.m. UTC | #2
Quoting dong.yang@intel.com (2019-08-14 10:54:05)
> From: "Yang, Dong" <dong.yang@intel.com>
> 
> Broxton steppings starting from GT E0 have fixed the bug, remove
> WA since stepping GT E0.
> 
> v2: add comment in code, by:
> Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

I didn't suggest any comments, I suggested to change the code.

> 
> Signed-off-by: Yang, Dong <dong.yang@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_drv.h | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 5f3e5c13fbaa..a0dfd1926b1b 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2141,6 +2141,8 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
>  #define BXT_REVID_B0           0x3
>  #define BXT_REVID_B_LAST       0x8
>  #define BXT_REVID_C0           0x9
> +#define BXT_REVID_D0           0xC
> +#define BXT_REVID_E0           0xD
>  
>  #define IS_BXT_REVID(dev_priv, since, until) \
>         (IS_BROXTON(dev_priv) && IS_REVID(dev_priv, since, until))
> @@ -2357,7 +2359,8 @@ static inline bool intel_scanout_needs_vtd_wa(struct drm_i915_private *dev_priv)
>  static inline bool
>  intel_ggtt_update_needs_vtd_wa(struct drm_i915_private *dev_priv)
>  {
> -       return IS_BROXTON(dev_priv) && intel_vtd_active();
> +       /* Broxton steppings starting from E0 have fixed the bug. */

This comment is not needed.

I suggested using BXT_REVID_D_LAST define instead of D0.

Regards, Joonas
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 5f3e5c13fbaa..a0dfd1926b1b 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2141,6 +2141,8 @@  IS_SUBPLATFORM(const struct drm_i915_private *i915,
 #define BXT_REVID_B0		0x3
 #define BXT_REVID_B_LAST	0x8
 #define BXT_REVID_C0		0x9
+#define BXT_REVID_D0		0xC
+#define BXT_REVID_E0		0xD
 
 #define IS_BXT_REVID(dev_priv, since, until) \
 	(IS_BROXTON(dev_priv) && IS_REVID(dev_priv, since, until))
@@ -2357,7 +2359,8 @@  static inline bool intel_scanout_needs_vtd_wa(struct drm_i915_private *dev_priv)
 static inline bool
 intel_ggtt_update_needs_vtd_wa(struct drm_i915_private *dev_priv)
 {
-	return IS_BROXTON(dev_priv) && intel_vtd_active();
+	/* Broxton steppings starting from E0 have fixed the bug. */
+	return IS_BXT_REVID(dev_priv, 0, BXT_REVID_D0) && intel_vtd_active();
 }
 
 /* i915_drv.c */