diff mbox series

[2/9] drm/i915/dsb: Disable DSB until fixed

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

Commit Message

Ville Syrjälä Jan. 29, 2020, 6:20 p.m. UTC
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.

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(-)

Comments

Souza, Jose Jan. 30, 2020, 6:13 p.m. UTC | #1
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 mbox series

Patch

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)