Re: [PATCH v2 08/14] drm/i915: Remove intel_crtc->atomic.disable_ips.

Ander Conselvan De Oliveira
2015-11-09T15:28:09Z

On Tue, 2015-11-03 at 08:31 +0100, Maarten Lankhorst wrote:
> This is already handled in pre_disable_primary, disabling it twice is useless.

The atomic.disable_ips field was added in

commit 066cf55b9ce35f1f90dde9fcec01431a9243a949
Author: Rodrigo Vivi <rodrigo.vivi@intel.com>
Date: Fri Jun 26 13:55:54 2015 -0700

drm/i915: Fix IPS related flicker

at which point intel_pre_disable_primary() already called hsw_disable_ips().
This patch is an exact revert of that patch, so it would be good to mention what
changed in between that makes it unnecessary. I suppose it is the fact that
everything goes through the atomic path now.

Ander

>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
> drivers/gpu/drm/i915/intel_display.c | 16 +---------------
> drivers/gpu/drm/i915/intel_drv.h | 1 -
> 2 files changed, 1 insertion(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c
> b/drivers/gpu/drm/i915/intel_display.c
> index 2708899d9767..58074f4adca2 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -4777,9 +4777,6 @@ static void intel_pre_plane_update(struct intel_crtc
> *crtc)
> if (atomic->disable_fbc)
> intel_fbc_disable_crtc(crtc);
>
> - if (crtc->atomic.disable_ips)
> - hsw_disable_ips(crtc);
> -
> if (atomic->pre_disable_primary)
> intel_pre_disable_primary(&crtc->base);
>
> @@ -11683,19 +11680,8 @@ int intel_plane_atomic_calc_changes(struct
> drm_crtc_state *crtc_state,
> intel_crtc->atomic.pre_disable_primary = turn_off;
> intel_crtc->atomic.post_enable_primary = turn_on;
>
> - if (turn_off) {
> - /*
> - * FIXME: Actually if we will still have any other
> - * plane enabled on the pipe we could let IPS enabled
> - * still, but for now lets consider that when we make
> - * primary invisible by setting DSPCNTR to 0 on
> - * update_primary_plane function IPS needs to be
> - * disable.
> - */
> - intel_crtc->atomic.disable_ips = true;
> -
> + if (turn_off)
> intel_crtc->atomic.disable_fbc = true;
> - }
>
> /*
> * FBC does not work on some platforms for rotated
> diff --git a/drivers/gpu/drm/i915/intel_drv.h
> b/drivers/gpu/drm/i915/intel_drv.h
> index 6f99c7398af3..ce5f10fc92aa 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -537,7 +537,6 @@ struct intel_mmio_flip {
> struct intel_crtc_atomic_commit {
> /* Sleepable operations to perform before commit */
> bool disable_fbc;
> - bool disable_ips;
> bool pre_disable_primary;
>
> /* Sleepable operations to perform after commit */