[PATCH RFC 4/4] drm/vkms: Rename all vkms_crtc instance to be
José Expósito
jose.exposito89 at gmail.com
Tue Aug 20 09:10:09 UTC 2024
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.chauvet at bootlin.com>
Reviewed-by: José Expósito <jose.exposito89 at 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);
More information about the dri-devel
mailing list