Message ID | 20180925133803.23677-1-mika.kuoppala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915/fbc: Disable fbc with VT-d also with kbl and cfl | expand |
On Tue, Sep 25, 2018 at 04:38:03PM +0300, Mika Kuoppala wrote: > Using fbc with VT-d flickers also on kbl and cfl. > > Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> > Cc: <stable@vger.kernel.org> # v4.9+ > Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> > --- > drivers/gpu/drm/i915/intel_fbc.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c > index 74d425c700ef..a149f08c1b79 100644 > --- a/drivers/gpu/drm/i915/intel_fbc.c > +++ b/drivers/gpu/drm/i915/intel_fbc.c > @@ -1275,9 +1275,10 @@ static int intel_sanitize_fbc_option(struct drm_i915_private *dev_priv) > > static bool need_fbc_vtd_wa(struct drm_i915_private *dev_priv) > { > - /* WaFbcTurnOffFbcWhenHyperVisorIsUsed:skl,bxt */ > + /* WaFbcTurnOffFbcWhenHyperVisorIsUsed:skl,bxt,kbl,cfl */ The hsds seem to be saying that this was fixed in kbl/cnl. I guess the flicker could be due to a different vt-d vs. fbc issue. Is the chicken bit in CHICKEN_PIPESL in the correct position? Hmm. Bspec doesn't list chicken bit for glk. That would seem to suggest that we need this w/a for glk as well. > if (intel_vtd_active() && > - (IS_SKYLAKE(dev_priv) || IS_BROXTON(dev_priv))) { > + (IS_SKYLAKE(dev_priv) || IS_BROXTON(dev_priv) || > + IS_KABYLAKE(dev_priv) || IS_COFFEELAKE(dev_priv))) { > DRM_INFO("Disabling framebuffer compression (FBC) to prevent screen flicker with VT-d enabled\n"); > return true; > } > -- > 2.17.1
Ville Syrjälä <ville.syrjala@linux.intel.com> writes: > On Tue, Sep 25, 2018 at 04:38:03PM +0300, Mika Kuoppala wrote: >> Using fbc with VT-d flickers also on kbl and cfl. >> >> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> >> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> >> Cc: Chris Wilson <chris@chris-wilson.co.uk> >> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> >> Cc: <stable@vger.kernel.org> # v4.9+ >> Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> >> --- >> drivers/gpu/drm/i915/intel_fbc.c | 5 +++-- >> 1 file changed, 3 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c >> index 74d425c700ef..a149f08c1b79 100644 >> --- a/drivers/gpu/drm/i915/intel_fbc.c >> +++ b/drivers/gpu/drm/i915/intel_fbc.c >> @@ -1275,9 +1275,10 @@ static int intel_sanitize_fbc_option(struct drm_i915_private *dev_priv) >> >> static bool need_fbc_vtd_wa(struct drm_i915_private *dev_priv) >> { >> - /* WaFbcTurnOffFbcWhenHyperVisorIsUsed:skl,bxt */ >> + /* WaFbcTurnOffFbcWhenHyperVisorIsUsed:skl,bxt,kbl,cfl */ > > The hsds seem to be saying that this was fixed in kbl/cnl. I guess the > flicker could be due to a different vt-d vs. fbc issue. > I was trusting the wa database on this one. > Is the chicken bit in CHICKEN_PIPESL in the correct position? Yes it is zero. > > Hmm. Bspec doesn't list chicken bit for glk. That would seem to suggest > that we need this w/a for glk as well. Agreed. The questio is that should we follow bspec and logic or leave it until we get a report if it is a problem? cfl is close enough|similar in this respect that we mimic kbl with it? Thanks, -Mika > >> if (intel_vtd_active() && >> - (IS_SKYLAKE(dev_priv) || IS_BROXTON(dev_priv))) { >> + (IS_SKYLAKE(dev_priv) || IS_BROXTON(dev_priv) || >> + IS_KABYLAKE(dev_priv) || IS_COFFEELAKE(dev_priv))) { >> DRM_INFO("Disabling framebuffer compression (FBC) to prevent screen flicker with VT-d enabled\n"); >> return true; >> } >> -- >> 2.17.1 > > -- > Ville Syrjälä > Intel
On Wed, Sep 26, 2018 at 03:56:39PM +0300, Mika Kuoppala wrote: > Ville Syrjälä <ville.syrjala@linux.intel.com> writes: > > > On Tue, Sep 25, 2018 at 04:38:03PM +0300, Mika Kuoppala wrote: > >> Using fbc with VT-d flickers also on kbl and cfl. > >> > >> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> > >> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > >> Cc: Chris Wilson <chris@chris-wilson.co.uk> > >> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> > >> Cc: <stable@vger.kernel.org> # v4.9+ > >> Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> > >> --- > >> drivers/gpu/drm/i915/intel_fbc.c | 5 +++-- > >> 1 file changed, 3 insertions(+), 2 deletions(-) > >> > >> diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c > >> index 74d425c700ef..a149f08c1b79 100644 > >> --- a/drivers/gpu/drm/i915/intel_fbc.c > >> +++ b/drivers/gpu/drm/i915/intel_fbc.c > >> @@ -1275,9 +1275,10 @@ static int intel_sanitize_fbc_option(struct drm_i915_private *dev_priv) > >> > >> static bool need_fbc_vtd_wa(struct drm_i915_private *dev_priv) > >> { > >> - /* WaFbcTurnOffFbcWhenHyperVisorIsUsed:skl,bxt */ > >> + /* WaFbcTurnOffFbcWhenHyperVisorIsUsed:skl,bxt,kbl,cfl */ > > > > The hsds seem to be saying that this was fixed in kbl/cnl. I guess the > > flicker could be due to a different vt-d vs. fbc issue. > > > > I was trusting the wa database on this one. I believe it would be worth to trust the wa_database, but this database can be tricky too... Like on this case it is listed for KBL, but A0 only and not listed for CFL. > > > Is the chicken bit in CHICKEN_PIPESL in the correct position? > > Yes it is zero. > > > > > Hmm. Bspec doesn't list chicken bit for glk. That would seem to suggest > > that we need this w/a for glk as well. > > Agreed. The questio is that should we follow bspec and logic or > leave it until we get a report if it is a problem? > > cfl is close enough|similar in this respect that we mimic > kbl with it? yes, we can safely consider it is similar to latest steppings of KBL. > > Thanks, > -Mika > > > > >> if (intel_vtd_active() && > >> - (IS_SKYLAKE(dev_priv) || IS_BROXTON(dev_priv))) { > >> + (IS_SKYLAKE(dev_priv) || IS_BROXTON(dev_priv) || > >> + IS_KABYLAKE(dev_priv) || IS_COFFEELAKE(dev_priv))) { > >> DRM_INFO("Disabling framebuffer compression (FBC) to prevent screen flicker with VT-d enabled\n"); > >> return true; > >> } > >> -- > >> 2.17.1 > > > > -- > > Ville Syrjälä > > Intel
diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c index 74d425c700ef..a149f08c1b79 100644 --- a/drivers/gpu/drm/i915/intel_fbc.c +++ b/drivers/gpu/drm/i915/intel_fbc.c @@ -1275,9 +1275,10 @@ static int intel_sanitize_fbc_option(struct drm_i915_private *dev_priv) static bool need_fbc_vtd_wa(struct drm_i915_private *dev_priv) { - /* WaFbcTurnOffFbcWhenHyperVisorIsUsed:skl,bxt */ + /* WaFbcTurnOffFbcWhenHyperVisorIsUsed:skl,bxt,kbl,cfl */ if (intel_vtd_active() && - (IS_SKYLAKE(dev_priv) || IS_BROXTON(dev_priv))) { + (IS_SKYLAKE(dev_priv) || IS_BROXTON(dev_priv) || + IS_KABYLAKE(dev_priv) || IS_COFFEELAKE(dev_priv))) { DRM_INFO("Disabling framebuffer compression (FBC) to prevent screen flicker with VT-d enabled\n"); return true; }
Using fbc with VT-d flickers also on kbl and cfl. Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: <stable@vger.kernel.org> # v4.9+ Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> --- drivers/gpu/drm/i915/intel_fbc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)