[Intel-gfx] [PATCH 3/4] drm/i915: Do not modifiy reserved bit in gens that do not have IPC

Rodrigo Vivi rodrigo.vivi at intel.com
Thu Sep 13 21:46:45 UTC 2018


On Thu, Sep 13, 2018 at 02:22:50PM -0700, José Roberto de Souza wrote:
> IPC was only added in SKL+(actually we don't even enable for SKL due
> WA) so without this change, driver was writing to a reserved bit.
> 
> Also check for the WA in intel_init_ipc() to avoid further writes to
> ipc_enabled.
> 
> Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_pm.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index d99e5fabe93c..b2328f7d277d 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -6108,10 +6108,8 @@ void intel_enable_ipc(struct drm_i915_private *dev_priv)
>  	u32 val;
>  
>  	/* Display WA #0477 WaDisableIPC: skl */
> -	if (IS_SKYLAKE(dev_priv)) {
> -		dev_priv->ipc_enabled = false;
> +	if (!HAS_IPC(dev_priv) || IS_SKYLAKE(dev_priv))
>  		return;
> -	}
>  
>  	val = I915_READ(DISP_ARB_CTL2);
>  
> @@ -6126,7 +6124,9 @@ void intel_enable_ipc(struct drm_i915_private *dev_priv)
>  void intel_init_ipc(struct drm_i915_private *dev_priv)
>  {
>  	dev_priv->ipc_enabled = false;
> -	if (!HAS_IPC(dev_priv))
> +
> +	/* Display WA #0477 WaDisableIPC: skl */

What about move the WA 0477 inside HAS_IPC and avoid the
duplication?

> +	if (!HAS_IPC(dev_priv) || IS_SKYLAKE(dev_priv))
>  		return;
>  
>  	dev_priv->ipc_enabled = true;
> -- 
> 2.19.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list