On Mon, Dec 08, 2014 at 05:21:07PM +0200, Ander Conselvan de Oliveira wrote:
> There are no more users of that pointer since the new config is now
> passed down the call chain during mode set. Also, when the switch to
> atomic happens, the right config (state) should be derived from an
> atomic state structure.

Ah, doesn't seem much work actually to remove our usage of ->new_config.
Which is nice since it'll align us more with how the helpers work.

So overall I think this patch series is good to go (but I've done only a
rather cursory high-level reading).

Thanks, Daniel

> ---
>  drivers/gpu/drm/i915/intel_display.c | 46 
> ++++++++----------------------------
>  drivers/gpu/drm/i915/intel_drv.h     |  1 -
>  2 files changed, 10 insertions(+), 37 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c 
> b/drivers/gpu/drm/i915/intel_display.c
> index a9f3034..a032a1d 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -8583,7 +8583,6 @@ retry:
>  
>       intel_crtc = to_intel_crtc(crtc);
>       intel_crtc->new_enabled = true;
> -     intel_crtc->new_config = &intel_crtc->config;
>       old->dpms_mode = connector->dpms;
>       old->load_detect_temp = true;
>       old->release_fb = NULL;
> @@ -8623,10 +8622,6 @@ retry:
>  
>   fail:
>       intel_crtc->new_enabled = crtc->enabled;
> -     if (intel_crtc->new_enabled)
> -             intel_crtc->new_config = &intel_crtc->config;
> -     else
> -             intel_crtc->new_config = NULL;
>  fail_unlock:
>       if (ret == -EDEADLK) {
>               drm_modeset_backoff(ctx);
> @@ -8653,7 +8648,6 @@ void intel_release_load_detect_pipe(struct 
> drm_connector *connector,
>               to_intel_connector(connector)->new_encoder = NULL;
>               intel_encoder->new_crtc = NULL;
>               intel_crtc->new_enabled = false;
> -             intel_crtc->new_config = NULL;
>               intel_set_mode(crtc, NULL, 0, 0, NULL);
>  
>               if (old->release_fb) {
> @@ -9839,14 +9833,8 @@ static void 
> intel_modeset_update_staged_output_state(struct drm_device *dev)
>                       to_intel_crtc(encoder->base.crtc);
>       }
>  
> -     for_each_intel_crtc(dev, crtc) {
> +     for_each_intel_crtc(dev, crtc)
>               crtc->new_enabled = crtc->base.enabled;
> -
> -             if (crtc->new_enabled)
> -                     crtc->new_config = &crtc->config;
> -             else
> -                     crtc->new_config = NULL;
> -     }
>  }
>  
>  /**
> @@ -10355,12 +10343,8 @@ intel_modeset_update_state(struct drm_device *dev, 
> unsigned prepare_pipes)
>       intel_modeset_commit_output_state(dev);
>  
>       /* Double check state. */
> -     for_each_intel_crtc(dev, intel_crtc) {
> +     for_each_intel_crtc(dev, intel_crtc)
>               WARN_ON(intel_crtc->base.enabled != 
> intel_crtc_in_use(&intel_crtc->base));
> -             WARN_ON(intel_crtc->new_config &&
> -                     intel_crtc->new_config != &intel_crtc->config);
> -             WARN_ON(intel_crtc->base.enabled != !!intel_crtc->new_config);
> -     }
>  
>       list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
>               if (!connector->encoder || !connector->encoder->crtc)
> @@ -10957,9 +10941,6 @@ static int __intel_set_mode(struct drm_crtc *crtc,
>  
>       *saved_mode = crtc->mode;
>  
> -     if (modeset_pipes)
> -             to_intel_crtc(crtc)->new_config = pipe_config;
> -
>       /*
>        * See if the config requires any additional preparation, e.g.
>        * to adjust global state with pipes off.  We need to do this
> @@ -10984,7 +10965,13 @@ static int __intel_set_mode(struct drm_crtc *crtc,
>                       goto done;
>  
>               for_each_intel_crtc_masked(dev, modeset_pipes, intel_crtc) {
> -                     struct intel_crtc_state *state = intel_crtc->new_config;
> +                     struct intel_crtc_state *state;
> +
> +                     if (&intel_crtc->base == crtc)
> +                             state = pipe_config;
> +                     else
> +                             state = intel_crtc->config;
> +
>                       ret = dev_priv->display.crtc_compute_clock(intel_crtc,
>                                                                  state);
>                       if (ret) {
> @@ -11014,7 +11001,6 @@ static int __intel_set_mode(struct drm_crtc *crtc,
>               /* mode_set/enable/disable functions rely on a correct pipe
>                * config. */
>               to_intel_crtc(crtc)->config = *pipe_config;
> -             to_intel_crtc(crtc)->new_config = &to_intel_crtc(crtc)->config;
>  
>               /*
>                * Calculate and store various constants which
> @@ -11177,15 +11163,9 @@ static void intel_set_config_restore_state(struct 
> drm_device *dev,
>       int count;
>  
>       count = 0;
> -     for_each_intel_crtc(dev, crtc) {
> +     for_each_intel_crtc(dev, crtc)
>               crtc->new_enabled = config->save_crtc_enabled[count++];
>  
> -             if (crtc->new_enabled)
> -                     crtc->new_config = &crtc->config;
> -             else
> -                     crtc->new_config = NULL;
> -     }
> -
>       count = 0;
>       for_each_intel_encoder(dev, encoder) {
>               encoder->new_crtc =
> @@ -11391,11 +11371,6 @@ intel_modeset_stage_output_state(struct drm_device 
> *dev,
>                                     crtc->new_enabled ? "en" : "dis");
>                       config->mode_changed = true;
>               }
> -
> -             if (crtc->new_enabled)
> -                     crtc->new_config = &crtc->config;
> -             else
> -                     crtc->new_config = NULL;
>       }
>  
>       return 0;
> @@ -11422,7 +11397,6 @@ static void disable_crtc_nofb(struct intel_crtc *crtc)
>       }
>  
>       crtc->new_enabled = false;
> -     crtc->new_config = NULL;
>  }
>  
>  static int intel_crtc_set_config(struct drm_mode_set *set)
> diff --git a/drivers/gpu/drm/i915/intel_drv.h 
> b/drivers/gpu/drm/i915/intel_drv.h
> index 0a84667..175b853 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -440,7 +440,6 @@ struct intel_crtc {
>  
>       struct intel_plane_config plane_config;
>       struct intel_crtc_state config;
> -     struct intel_crtc_state *new_config;
>       bool new_enabled;
>  
>       /* reset counter value when the last flip was submitted */
> -- 
> 1.9.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to