[Intel-gfx] [PATCH 3/4] drm/i915: Nuke MI_ARB_STATE save/restore
Jani Nikula
jani.nikula at linux.intel.com
Fri Sep 11 16:48:50 UTC 2020
On Tue, 08 Sep 2020, Ville Syrjala <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Originally added in commit 1f84e550a870 ("drm/i915 more registers for
> S3 (DSPCLK_GATE_D, CACHE_MODE_0, MI_ARB_STATE)") to fix some underruns.
> I suspect that was due to the trickle feed settings getting clobbered
> during suspend. We've been disabling trickle feed explicitly since
> commit 20f949670f51 ("drm/i915: Disable trickle feed via MI_ARB_STATE
> for the gen4") so this magic save/restore should no longer be needed.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Reviewed-by: Jani Nikula <jani.nikula at intel.com>
> ---
> drivers/gpu/drm/i915/i915_drv.h | 1 -
> drivers/gpu/drm/i915/i915_suspend.c | 6 ------
> 2 files changed, 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 3917bb1a6157..cf51246b5402 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -538,7 +538,6 @@ struct intel_gmbus {
> struct i915_suspend_saved_registers {
> u32 saveDSPARB;
> u32 saveCACHE_MODE_0;
> - u32 saveMI_ARB_STATE;
> u32 saveSWF0[16];
> u32 saveSWF1[16];
> u32 saveSWF3[3];
> diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
> index 592c230e6914..34c7d7bccec5 100644
> --- a/drivers/gpu/drm/i915/i915_suspend.c
> +++ b/drivers/gpu/drm/i915/i915_suspend.c
> @@ -66,9 +66,6 @@ int i915_save_state(struct drm_i915_private *dev_priv)
> if (INTEL_GEN(dev_priv) < 7)
> dev_priv->regfile.saveCACHE_MODE_0 = I915_READ(CACHE_MODE_0);
>
> - /* Memory Arbitration state */
> - dev_priv->regfile.saveMI_ARB_STATE = I915_READ(MI_ARB_STATE);
> -
> /* Scratch space */
> if (IS_GEN(dev_priv, 2) && IS_MOBILE(dev_priv)) {
> for (i = 0; i < 7; i++) {
> @@ -107,9 +104,6 @@ int i915_restore_state(struct drm_i915_private *dev_priv)
> I915_WRITE(CACHE_MODE_0, dev_priv->regfile.saveCACHE_MODE_0 |
> 0xffff0000);
>
> - /* Memory arbitration state */
> - I915_WRITE(MI_ARB_STATE, dev_priv->regfile.saveMI_ARB_STATE | 0xffff0000);
> -
> /* Scratch space */
> if (IS_GEN(dev_priv, 2) && IS_MOBILE(dev_priv)) {
> for (i = 0; i < 7; i++) {
--
Jani Nikula, Intel Open Source Graphics Center
More information about the Intel-gfx
mailing list