I love how you made this an extra patch. I should have done the same thing in my
configfs series to reduce the diff :)

> To avoid inconsistency in the VKMS code, rename all struct vkms_crtc
> instances to vkms_crtc. This should not change the behavior of the driver.
> 
> Signed-off-by: Louis Chauvet <louis.chau...@bootlin.com>

Reviewed-by: José Expósito <jose.exposit...@gmail.com>

> ---
>  drivers/gpu/drm/vkms/vkms_composer.c  | 30 ++++++++++----------
>  drivers/gpu/drm/vkms/vkms_composer.h  |  2 +-
>  drivers/gpu/drm/vkms/vkms_crtc.c      | 52 
> +++++++++++++++++------------------
>  drivers/gpu/drm/vkms/vkms_writeback.c | 12 ++++----
>  4 files changed, 48 insertions(+), 48 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vkms/vkms_composer.c 
> b/drivers/gpu/drm/vkms/vkms_composer.c
> index 9b2f578c2eb1..4376900b4986 100644
> --- a/drivers/gpu/drm/vkms/vkms_composer.c
> +++ b/drivers/gpu/drm/vkms/vkms_composer.c
> @@ -515,13 +515,13 @@ void vkms_composer_worker(struct work_struct *work)
>                                                         composer_work);
>       struct drm_crtc *crtc = crtc_state->base.crtc;
>       struct vkms_writeback_job *active_wb = crtc_state->active_writeback;
> -     struct vkms_crtc *out = drm_crtc_to_vkms_crtc(crtc);
> +     struct vkms_crtc *vkms_crtc = drm_crtc_to_vkms_crtc(crtc);
>       bool crc_pending, wb_pending;
>       u64 frame_start, frame_end;
>       u32 crc32 = 0;
>       int ret;
>  
> -     spin_lock_irq(&out->composer_lock);
> +     spin_lock_irq(&vkms_crtc->composer_lock);
>       frame_start = crtc_state->frame_start;
>       frame_end = crtc_state->frame_end;
>       crc_pending = crtc_state->crc_pending;
> @@ -545,7 +545,7 @@ void vkms_composer_worker(struct work_struct *work)
>               crtc_state->gamma_lut.base = NULL;
>       }
>  
> -     spin_unlock_irq(&out->composer_lock);
> +     spin_unlock_irq(&vkms_crtc->composer_lock);
>  
>       /*
>        * We raced with the vblank hrtimer and previous work already computed
> @@ -563,10 +563,10 @@ void vkms_composer_worker(struct work_struct *work)
>               return;
>  
>       if (wb_pending) {
> -             drm_writeback_signal_completion(&out->wb_connector, 0);
> -             spin_lock_irq(&out->composer_lock);
> +             drm_writeback_signal_completion(&vkms_crtc->wb_connector, 0);
> +             spin_lock_irq(&vkms_crtc->composer_lock);
>               crtc_state->wb_pending = false;
> -             spin_unlock_irq(&out->composer_lock);
> +             spin_unlock_irq(&vkms_crtc->composer_lock);
>       }
>  
>       /*
> @@ -616,31 +616,31 @@ int vkms_verify_crc_source(struct drm_crtc *crtc, const 
> char *src_name,
>       return 0;
>  }
>  
> -void vkms_set_composer(struct vkms_crtc *out, bool enabled)
> +void vkms_set_composer(struct vkms_crtc *vkms_crtc, bool enabled)
>  {
>       bool old_enabled;
>  
>       if (enabled)
> -             drm_crtc_vblank_get(&out->base);
> +             drm_crtc_vblank_get(&vkms_crtc->base);
>  
> -     spin_lock_irq(&out->lock);
> -     old_enabled = out->composer_enabled;
> -     out->composer_enabled = enabled;
> -     spin_unlock_irq(&out->lock);
> +     spin_lock_irq(&vkms_crtc->lock);
> +     old_enabled = vkms_crtc->composer_enabled;
> +     vkms_crtc->composer_enabled = enabled;
> +     spin_unlock_irq(&vkms_crtc->lock);
>  
>       if (old_enabled)
> -             drm_crtc_vblank_put(&out->base);
> +             drm_crtc_vblank_put(&vkms_crtc->base);
>  }
>  
>  int vkms_set_crc_source(struct drm_crtc *crtc, const char *src_name)
>  {
> -     struct vkms_crtc *out = drm_crtc_to_vkms_crtc(crtc);
> +     struct vkms_crtc *vkms_crtc = drm_crtc_to_vkms_crtc(crtc);
>       bool enabled = false;
>       int ret = 0;
>  
>       ret = vkms_crc_parse_source(src_name, &enabled);
>  
> -     vkms_set_composer(out, enabled);
> +     vkms_set_composer(vkms_crtc, enabled);
>  
>       return ret;
>  }
> diff --git a/drivers/gpu/drm/vkms/vkms_composer.h 
> b/drivers/gpu/drm/vkms/vkms_composer.h
> index 77efd2e3a63a..5a676b9960aa 100644
> --- a/drivers/gpu/drm/vkms/vkms_composer.h
> +++ b/drivers/gpu/drm/vkms/vkms_composer.h
> @@ -7,7 +7,7 @@
>  #include "vkms_crtc.h"
>  
>  void vkms_composer_worker(struct work_struct *work);
> -void vkms_set_composer(struct vkms_crtc *out, bool enabled);
> +void vkms_set_composer(struct vkms_crtc *vkms_crtc, bool enabled);
>  
>  /* CRC Support */
>  const char *const *vkms_get_crc_sources(struct drm_crtc *crtc, size_t 
> *count);
> diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c 
> b/drivers/gpu/drm/vkms/vkms_crtc.c
> index 47e62fb3e404..6f6d3118b2f2 100644
> --- a/drivers/gpu/drm/vkms/vkms_crtc.c
> +++ b/drivers/gpu/drm/vkms/vkms_crtc.c
> @@ -16,34 +16,34 @@
>  
>  static enum hrtimer_restart vkms_vblank_simulate(struct hrtimer *timer)
>  {
> -     struct vkms_crtc *output = hrtimer_to_vkms_crtc(timer);
> -     struct drm_crtc *crtc = &output->base;
> +     struct vkms_crtc *vkms_crtc = hrtimer_to_vkms_crtc(timer);
> +     struct drm_crtc *crtc = &vkms_crtc->base;
>       struct vkms_crtc_state *state;
>       u64 ret_overrun;
>       bool ret, fence_cookie;
>  
>       fence_cookie = dma_fence_begin_signalling();
>  
> -     ret_overrun = hrtimer_forward_now(&output->vblank_hrtimer,
> -                                       output->period_ns);
> +     ret_overrun = hrtimer_forward_now(&vkms_crtc->vblank_hrtimer,
> +                                       vkms_crtc->period_ns);
>       if (ret_overrun != 1)
>               pr_warn("%s: vblank timer overrun\n", __func__);
>  
> -     spin_lock(&output->lock);
> +     spin_lock(&vkms_crtc->lock);
>       ret = drm_crtc_handle_vblank(crtc);
>       if (!ret)
>               DRM_ERROR("vkms failure on handling vblank");
>  
> -     state = output->composer_state;
> -     spin_unlock(&output->lock);
> +     state = vkms_crtc->composer_state;
> +     spin_unlock(&vkms_crtc->lock);
>  
> -     if (state && output->composer_enabled) {
> +     if (state && vkms_crtc->composer_enabled) {
>               u64 frame = drm_crtc_accurate_vblank_count(crtc);
>  
>               /* update frame_start only if a queued vkms_composer_worker()
>                * has read the data
>                */
> -             spin_lock(&output->composer_lock);
> +             spin_lock(&vkms_crtc->composer_lock);
>               if (!state->crc_pending)
>                       state->frame_start = frame;
>               else
> @@ -51,9 +51,9 @@ static enum hrtimer_restart vkms_vblank_simulate(struct 
> hrtimer *timer)
>                                        state->frame_start, frame);
>               state->frame_end = frame;
>               state->crc_pending = true;
> -             spin_unlock(&output->composer_lock);
> +             spin_unlock(&vkms_crtc->composer_lock);
>  
> -             ret = queue_work(output->composer_workq, &state->composer_work);
> +             ret = queue_work(vkms_crtc->composer_workq, 
> &state->composer_work);
>               if (!ret)
>                       DRM_DEBUG_DRIVER("Composer worker already queued\n");
>       }
> @@ -67,23 +67,23 @@ static int vkms_enable_vblank(struct drm_crtc *crtc)
>  {
>       struct drm_device *dev = crtc->dev;
>       struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc);
> -     struct vkms_crtc *out = drm_crtc_to_vkms_crtc(crtc);
> +     struct vkms_crtc *vkms_crtc = drm_crtc_to_vkms_crtc(crtc);
>  
>       drm_calc_timestamping_constants(crtc, &crtc->mode);
>  
> -     hrtimer_init(&out->vblank_hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
> -     out->vblank_hrtimer.function = &vkms_vblank_simulate;
> -     out->period_ns = ktime_set(0, vblank->framedur_ns);
> -     hrtimer_start(&out->vblank_hrtimer, out->period_ns, HRTIMER_MODE_REL);
> +     hrtimer_init(&vkms_crtc->vblank_hrtimer, CLOCK_MONOTONIC, 
> HRTIMER_MODE_REL);
> +     vkms_crtc->vblank_hrtimer.function = &vkms_vblank_simulate;
> +     vkms_crtc->period_ns = ktime_set(0, vblank->framedur_ns);
> +     hrtimer_start(&vkms_crtc->vblank_hrtimer, vkms_crtc->period_ns, 
> HRTIMER_MODE_REL);
>  
>       return 0;
>  }
>  
>  static void vkms_disable_vblank(struct drm_crtc *crtc)
>  {
> -     struct vkms_crtc *out = drm_crtc_to_vkms_crtc(crtc);
> +     struct vkms_crtc *vkms_crtc = drm_crtc_to_vkms_crtc(crtc);
>  
> -     hrtimer_cancel(&out->vblank_hrtimer);
> +     hrtimer_cancel(&vkms_crtc->vblank_hrtimer);
>  }
>  
>  static bool vkms_get_vblank_timestamp(struct drm_crtc *crtc,
> @@ -91,7 +91,7 @@ static bool vkms_get_vblank_timestamp(struct drm_crtc *crtc,
>                                     bool in_vblank_irq)
>  {
>       struct drm_device *dev = crtc->dev;
> -     struct vkms_crtc *output = drm_crtc_to_vkms_crtc(crtc);
> +     struct vkms_crtc *vkms_crtc = drm_crtc_to_vkms_crtc(crtc);
>       struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc);
>  
>       if (!READ_ONCE(vblank->enabled)) {
> @@ -99,7 +99,7 @@ static bool vkms_get_vblank_timestamp(struct drm_crtc *crtc,
>               return true;
>       }
>  
> -     *vblank_time = READ_ONCE(output->vblank_hrtimer.node.expires);
> +     *vblank_time = READ_ONCE(vkms_crtc->vblank_hrtimer.node.expires);
>  
>       if (WARN_ON(*vblank_time == vblank->time))
>               return true;
> @@ -111,7 +111,7 @@ static bool vkms_get_vblank_timestamp(struct drm_crtc 
> *crtc,
>        * the vblank core expects. Therefore we need to always correct the
>        * timestampe by one frame.
>        */
> -     *vblank_time -= output->period_ns;
> +     *vblank_time -= vkms_crtc->period_ns;
>  
>       return true;
>  }
> @@ -235,18 +235,18 @@ static void vkms_crtc_atomic_disable(struct drm_crtc 
> *crtc,
>  static void vkms_crtc_atomic_begin(struct drm_crtc *crtc,
>                                  struct drm_atomic_state *state)
>  {
> -     struct vkms_crtc *vkms_output = drm_crtc_to_vkms_crtc(crtc);
> +     struct vkms_crtc *vkms_crtc = drm_crtc_to_vkms_crtc(crtc);
>  
>       /* This lock is held across the atomic commit to block vblank timer
>        * from scheduling vkms_composer_worker until the composer is updated
>        */
> -     spin_lock_irq(&vkms_output->lock);
> +     spin_lock_irq(&vkms_crtc->lock);
>  }
>  
>  static void vkms_crtc_atomic_flush(struct drm_crtc *crtc,
>                                  struct drm_atomic_state *state)
>  {
> -     struct vkms_crtc *vkms_output = drm_crtc_to_vkms_crtc(crtc);
> +     struct vkms_crtc *vkms_crtc = drm_crtc_to_vkms_crtc(crtc);
>  
>       if (crtc->state->event) {
>               spin_lock(&crtc->dev->event_lock);
> @@ -261,9 +261,9 @@ static void vkms_crtc_atomic_flush(struct drm_crtc *crtc,
>               crtc->state->event = NULL;
>       }
>  
> -     vkms_output->composer_state = 
> drm_crtc_state_to_vkms_crtc_state(crtc->state);
> +     vkms_crtc->composer_state = 
> drm_crtc_state_to_vkms_crtc_state(crtc->state);
>  
> -     spin_unlock_irq(&vkms_output->lock);
> +     spin_unlock_irq(&vkms_crtc->lock);
>  }
>  
>  static const struct drm_crtc_helper_funcs vkms_crtc_helper_funcs = {
> diff --git a/drivers/gpu/drm/vkms/vkms_writeback.c 
> b/drivers/gpu/drm/vkms/vkms_writeback.c
> index 322e247979b2..69c710f21e57 100644
> --- a/drivers/gpu/drm/vkms/vkms_writeback.c
> +++ b/drivers/gpu/drm/vkms/vkms_writeback.c
> @@ -128,9 +128,9 @@ static void vkms_wb_atomic_commit(struct drm_connector 
> *conn,
>  {
>       struct drm_connector_state *connector_state = 
> drm_atomic_get_new_connector_state(state,
>                                                                               
>          conn);
> -     struct vkms_crtc *output = drm_crtc_to_vkms_crtc(connector_state->crtc);
> -     struct drm_writeback_connector *wb_conn = &output->wb_connector;
> -     struct vkms_crtc_state *crtc_state = output->composer_state;
> +     struct vkms_crtc *vkms_crtc = 
> drm_crtc_to_vkms_crtc(connector_state->crtc);
> +     struct drm_writeback_connector *wb_conn = &vkms_crtc->wb_connector;
> +     struct vkms_crtc_state *crtc_state = vkms_crtc->composer_state;
>       struct drm_framebuffer *fb = connector_state->writeback_job->fb;
>       u16 crtc_height = crtc_state->base.crtc->mode.vdisplay;
>       u16 crtc_width = crtc_state->base.crtc->mode.hdisplay;
> @@ -141,15 +141,15 @@ static void vkms_wb_atomic_commit(struct drm_connector 
> *conn,
>       if (!connector_state)
>               return;
>  
> -     vkms_set_composer(output, true);
> +     vkms_set_composer(vkms_crtc, true);
>  
>       active_wb = connector_state->writeback_job->priv;
>       wb_frame_info = &active_wb->wb_frame_info;
>  
> -     spin_lock_irq(&output->composer_lock);
> +     spin_lock_irq(&vkms_crtc->composer_lock);
>       crtc_state->active_writeback = active_wb;
>       crtc_state->wb_pending = true;
> -     spin_unlock_irq(&output->composer_lock);
> +     spin_unlock_irq(&vkms_crtc->composer_lock);
>       drm_writeback_queue_job(wb_conn, connector_state);
>       active_wb->pixel_write = get_pixel_write_line_function(wb_format);
>       drm_rect_init(&wb_frame_info->src, 0, 0, crtc_width, crtc_height);

Reply via email to