Message ID | 20211116174818.2128062-6-matthew.d.roper@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | i915: Additional DG2 workarounds | expand |
On Tue, Nov 16, 2021 at 09:48:18AM -0800, Matt Roper wrote: > From: Matt Atwood <matthew.s.atwood@intel.com> > > Extend existing workaround 1409120013 to DG2. I don't see this listed for DG2. > > Cc: José Roberto de Souza <jose.souza@intel.com> > Signed-off-by: Matt Atwood <matthew.s.atwood@intel.com> > Signed-off-by: Matt Roper <matthew.d.roper@intel.com> > --- > drivers/gpu/drm/i915/intel_pm.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 89dc7f69baf3..e721c421cc58 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -7444,9 +7444,9 @@ static void icl_init_clock_gating(struct drm_i915_private *dev_priv) > > static void gen12lp_init_clock_gating(struct drm_i915_private *dev_priv) > { > - /* Wa_1409120013:tgl,rkl,adl-s,dg1 */ > + /* Wa_1409120013:tgl,rkl,adl-s,dg1,dg2 */ > if (IS_TIGERLAKE(dev_priv) || IS_ROCKETLAKE(dev_priv) || > - IS_ALDERLAKE_S(dev_priv) || IS_DG1(dev_priv)) > + IS_ALDERLAKE_S(dev_priv) || IS_DG1(dev_priv) || IS_DG2(dev_priv)) > intel_uncore_write(&dev_priv->uncore, ILK_DPFC_CHICKEN, > DPFC_CHICKEN_COMP_DUMMY_PIXEL); > > -- > 2.33.0
On Wed, Nov 17, 2021 at 08:43:19PM +0200, Ville Syrjälä wrote: > On Tue, Nov 16, 2021 at 09:48:18AM -0800, Matt Roper wrote: > > From: Matt Atwood <matthew.s.atwood@intel.com> > > > > Extend existing workaround 1409120013 to DG2. > > I don't see this listed for DG2. This seems to be problem with the DG2 query since for some reason they marked this workaround as 'driver_change_required' rather than 'driver_permanent_wa' in the database and that prevents it from showing up in some of the queries properly. The DG2-specific ID number to check is 1409222275. Matt > > > > > Cc: José Roberto de Souza <jose.souza@intel.com> > > Signed-off-by: Matt Atwood <matthew.s.atwood@intel.com> > > Signed-off-by: Matt Roper <matthew.d.roper@intel.com> > > --- > > drivers/gpu/drm/i915/intel_pm.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > > index 89dc7f69baf3..e721c421cc58 100644 > > --- a/drivers/gpu/drm/i915/intel_pm.c > > +++ b/drivers/gpu/drm/i915/intel_pm.c > > @@ -7444,9 +7444,9 @@ static void icl_init_clock_gating(struct drm_i915_private *dev_priv) > > > > static void gen12lp_init_clock_gating(struct drm_i915_private *dev_priv) > > { > > - /* Wa_1409120013:tgl,rkl,adl-s,dg1 */ > > + /* Wa_1409120013:tgl,rkl,adl-s,dg1,dg2 */ > > if (IS_TIGERLAKE(dev_priv) || IS_ROCKETLAKE(dev_priv) || > > - IS_ALDERLAKE_S(dev_priv) || IS_DG1(dev_priv)) > > + IS_ALDERLAKE_S(dev_priv) || IS_DG1(dev_priv) || IS_DG2(dev_priv)) > > intel_uncore_write(&dev_priv->uncore, ILK_DPFC_CHICKEN, > > DPFC_CHICKEN_COMP_DUMMY_PIXEL); > > > > -- > > 2.33.0 > > -- > Ville Syrjälä > Intel
On Wed, Nov 17, 2021 at 08:43:19PM +0200, Ville Syrjälä wrote: > On Tue, Nov 16, 2021 at 09:48:18AM -0800, Matt Roper wrote: > > From: Matt Atwood <matthew.s.atwood@intel.com> > > > > Extend existing workaround 1409120013 to DG2. > > I don't see this listed for DG2. > > > > > Cc: José Roberto de Souza <jose.souza@intel.com> > > Signed-off-by: Matt Atwood <matthew.s.atwood@intel.com> > > Signed-off-by: Matt Roper <matthew.d.roper@intel.com> > > --- > > drivers/gpu/drm/i915/intel_pm.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > > index 89dc7f69baf3..e721c421cc58 100644 > > --- a/drivers/gpu/drm/i915/intel_pm.c > > +++ b/drivers/gpu/drm/i915/intel_pm.c > > @@ -7444,9 +7444,9 @@ static void icl_init_clock_gating(struct drm_i915_private *dev_priv) > > > > static void gen12lp_init_clock_gating(struct drm_i915_private *dev_priv) > > { > > - /* Wa_1409120013:tgl,rkl,adl-s,dg1 */ > > + /* Wa_1409120013:tgl,rkl,adl-s,dg1,dg2 */ > > if (IS_TIGERLAKE(dev_priv) || IS_ROCKETLAKE(dev_priv) || > > - IS_ALDERLAKE_S(dev_priv) || IS_DG1(dev_priv)) > > + IS_ALDERLAKE_S(dev_priv) || IS_DG1(dev_priv) || IS_DG2(dev_priv)) AFAIK we're not even calling this function on dg2, so this is just dead code. And in fact without dg2 this seems to be the same as DISPLAY_VER==12 so we shuld stop calling it on adl-p as well. We could then rip out most of the platform checks in here. > > intel_uncore_write(&dev_priv->uncore, ILK_DPFC_CHICKEN, > > DPFC_CHICKEN_COMP_DUMMY_PIXEL); > > > > -- > > 2.33.0 > > -- > Ville Syrjälä > Intel
On Wed, Nov 17, 2021 at 10:51:39AM -0800, Matt Roper wrote: > On Wed, Nov 17, 2021 at 08:43:19PM +0200, Ville Syrjälä wrote: > > On Tue, Nov 16, 2021 at 09:48:18AM -0800, Matt Roper wrote: > > > From: Matt Atwood <matthew.s.atwood@intel.com> > > > > > > Extend existing workaround 1409120013 to DG2. > > > > I don't see this listed for DG2. > > This seems to be problem with the DG2 query since for some reason they > marked this workaround as 'driver_change_required' rather than > 'driver_permanent_wa' in the database and that prevents it from showing > up in some of the queries properly. The DG2-specific ID number > to check is 1409222275. Bit of mes that one. I can't really figure out if dg2 is the only d13 platform that needs this or might there be others?
On Tue, 2021-11-16 at 09:48 -0800, Matt Roper wrote: > From: Matt Atwood <matthew.s.atwood@intel.com> > > Extend existing workaround 1409120013 to DG2. > > Cc: José Roberto de Souza <jose.souza@intel.com> > Signed-off-by: Matt Atwood <matthew.s.atwood@intel.com> > Signed-off-by: Matt Roper <matthew.d.roper@intel.com> > --- > drivers/gpu/drm/i915/intel_pm.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 89dc7f69baf3..e721c421cc58 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -7444,9 +7444,9 @@ static void icl_init_clock_gating(struct drm_i915_private *dev_priv) > > static void gen12lp_init_clock_gating(struct drm_i915_private *dev_priv) > { > - /* Wa_1409120013:tgl,rkl,adl-s,dg1 */ > + /* Wa_1409120013:tgl,rkl,adl-s,dg1,dg2 */ I'm not finding this workaround in the DG2 WA spec page, maybe it was removed because it is not necessary anymore? > if (IS_TIGERLAKE(dev_priv) || IS_ROCKETLAKE(dev_priv) || > - IS_ALDERLAKE_S(dev_priv) || IS_DG1(dev_priv)) > + IS_ALDERLAKE_S(dev_priv) || IS_DG1(dev_priv) || IS_DG2(dev_priv)) > intel_uncore_write(&dev_priv->uncore, ILK_DPFC_CHICKEN, > DPFC_CHICKEN_COMP_DUMMY_PIXEL); >
On Fri, Nov 19, 2021 at 08:36:56AM -0800, Souza, Jose wrote: > On Tue, 2021-11-16 at 09:48 -0800, Matt Roper wrote: > > From: Matt Atwood <matthew.s.atwood@intel.com> > > > > Extend existing workaround 1409120013 to DG2. > > > > Cc: José Roberto de Souza <jose.souza@intel.com> > > Signed-off-by: Matt Atwood <matthew.s.atwood@intel.com> > > Signed-off-by: Matt Roper <matthew.d.roper@intel.com> > > --- > > drivers/gpu/drm/i915/intel_pm.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > > index 89dc7f69baf3..e721c421cc58 100644 > > --- a/drivers/gpu/drm/i915/intel_pm.c > > +++ b/drivers/gpu/drm/i915/intel_pm.c > > @@ -7444,9 +7444,9 @@ static void icl_init_clock_gating(struct drm_i915_private *dev_priv) > > > > static void gen12lp_init_clock_gating(struct drm_i915_private *dev_priv) > > { > > - /* Wa_1409120013:tgl,rkl,adl-s,dg1 */ > > + /* Wa_1409120013:tgl,rkl,adl-s,dg1,dg2 */ > > I'm not finding this workaround in the DG2 WA spec page, maybe it was removed because it is not necessary anymore? Ville raised the same question; I believe this is just an issue with the query that generates the bspec page from the database; here's my earlier response: >> This seems to be problem with the DG2 query since for some >> reason they marked this workaround as >> 'driver_change_required' rather than 'driver_permanent_wa' in >> the database and that prevents it from showing up in some of >> the queries properly. The DG2-specific ID number to check is >> 1409222275. Since it appears this is currently needed on every version 12 and version 13 display platform _except_ for ADL-P, I did send a question to the HW team to confirm that the lack of ADL-P isn't an oversight, but I haven't heard back yet. Matt > > > if (IS_TIGERLAKE(dev_priv) || IS_ROCKETLAKE(dev_priv) || > > - IS_ALDERLAKE_S(dev_priv) || IS_DG1(dev_priv)) > > + IS_ALDERLAKE_S(dev_priv) || IS_DG1(dev_priv) || IS_DG2(dev_priv)) > > intel_uncore_write(&dev_priv->uncore, ILK_DPFC_CHICKEN, > > DPFC_CHICKEN_COMP_DUMMY_PIXEL); > > >
Reviewed-by: Clint Taylor <Clinton.A.Taylor@intel.com> -Clint On 11/16/21 9:48 AM, Matt Roper wrote: > From: Matt Atwood <matthew.s.atwood@intel.com> > > Extend existing workaround 1409120013 to DG2. > > Cc: José Roberto de Souza <jose.souza@intel.com> > Signed-off-by: Matt Atwood <matthew.s.atwood@intel.com> > Signed-off-by: Matt Roper <matthew.d.roper@intel.com> > --- > drivers/gpu/drm/i915/intel_pm.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 89dc7f69baf3..e721c421cc58 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -7444,9 +7444,9 @@ static void icl_init_clock_gating(struct drm_i915_private *dev_priv) > > static void gen12lp_init_clock_gating(struct drm_i915_private *dev_priv) > { > - /* Wa_1409120013:tgl,rkl,adl-s,dg1 */ > + /* Wa_1409120013:tgl,rkl,adl-s,dg1,dg2 */ > if (IS_TIGERLAKE(dev_priv) || IS_ROCKETLAKE(dev_priv) || > - IS_ALDERLAKE_S(dev_priv) || IS_DG1(dev_priv)) > + IS_ALDERLAKE_S(dev_priv) || IS_DG1(dev_priv) || IS_DG2(dev_priv)) > intel_uncore_write(&dev_priv->uncore, ILK_DPFC_CHICKEN, > DPFC_CHICKEN_COMP_DUMMY_PIXEL); >
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 89dc7f69baf3..e721c421cc58 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -7444,9 +7444,9 @@ static void icl_init_clock_gating(struct drm_i915_private *dev_priv) static void gen12lp_init_clock_gating(struct drm_i915_private *dev_priv) { - /* Wa_1409120013:tgl,rkl,adl-s,dg1 */ + /* Wa_1409120013:tgl,rkl,adl-s,dg1,dg2 */ if (IS_TIGERLAKE(dev_priv) || IS_ROCKETLAKE(dev_priv) || - IS_ALDERLAKE_S(dev_priv) || IS_DG1(dev_priv)) + IS_ALDERLAKE_S(dev_priv) || IS_DG1(dev_priv) || IS_DG2(dev_priv)) intel_uncore_write(&dev_priv->uncore, ILK_DPFC_CHICKEN, DPFC_CHICKEN_COMP_DUMMY_PIXEL);