Message ID | 20200129182034.26138-2-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/9] drm/i915/dsb: Replace HAS_DSB check with dsb->cmd_buf check | expand |
On Wed, 2020-01-29 at 20:20 +0200, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Our DSB support is borked. The DSB seems to get stuck and we just > get: > [drm:intel_dsb_commit [i915]] DSB execution started - head 0xa8c000, > tail 0x10c0 > [drm:intel_dsb_commit [i915]] *ERROR* Timed out waiting for DSB > workload completion. > [drm:icl_load_luts [i915]] DSB engine is busy. > > Which even seems to result in underruns on some internal stuff. > Let's just disable it all until someone figures out what's wrong > with it. Reviewed-by: José Roberto de Souza <jose.souza@intel.com> > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > drivers/gpu/drm/i915/display/intel_dsb.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dsb.c > b/drivers/gpu/drm/i915/display/intel_dsb.c > index 12776f09f227..a16a78cd0ebe 100644 > --- a/drivers/gpu/drm/i915/display/intel_dsb.c > +++ b/drivers/gpu/drm/i915/display/intel_dsb.c > @@ -105,7 +105,11 @@ intel_dsb_get(struct intel_crtc *crtc) > u32 *buf; > intel_wakeref_t wakeref; > > - if (!HAS_DSB(i915)) > + /* > + * FIXME DSB support is busted. DSB tends to be > + * busy when it shouldn't be. Disable until fixed. > + */ > + if (true || !HAS_DSB(i915)) > return dsb; > > if (dsb->refcount++ != 0)
diff --git a/drivers/gpu/drm/i915/display/intel_dsb.c b/drivers/gpu/drm/i915/display/intel_dsb.c index 12776f09f227..a16a78cd0ebe 100644 --- a/drivers/gpu/drm/i915/display/intel_dsb.c +++ b/drivers/gpu/drm/i915/display/intel_dsb.c @@ -105,7 +105,11 @@ intel_dsb_get(struct intel_crtc *crtc) u32 *buf; intel_wakeref_t wakeref; - if (!HAS_DSB(i915)) + /* + * FIXME DSB support is busted. DSB tends to be + * busy when it shouldn't be. Disable until fixed. + */ + if (true || !HAS_DSB(i915)) return dsb; if (dsb->refcount++ != 0)