Commit fb4155fa authored by Daniel Vetter's avatar Daniel Vetter Committed by Rodrigo Siqueira

drm/vkms: Rename vkms_output.state_lock to crc_lock

Plus add a comment about what it actually protects. It's very little.

Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Cc: Haneen Mohammed <hamohammed.sa@gmail.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Reviewed-by: default avatarRodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Tested-by: default avatarRodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Signed-off-by: default avatarRodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190606222751.32567-4-daniel.vetter@ffwll.ch
parent a0e4e575
...@@ -168,14 +168,14 @@ void vkms_crc_work_handle(struct work_struct *work) ...@@ -168,14 +168,14 @@ void vkms_crc_work_handle(struct work_struct *work)
u64 frame_start, frame_end; u64 frame_start, frame_end;
bool crc_pending; bool crc_pending;
spin_lock_irq(&out->state_lock); spin_lock_irq(&out->crc_lock);
frame_start = crtc_state->frame_start; frame_start = crtc_state->frame_start;
frame_end = crtc_state->frame_end; frame_end = crtc_state->frame_end;
crc_pending = crtc_state->crc_pending; crc_pending = crtc_state->crc_pending;
crtc_state->frame_start = 0; crtc_state->frame_start = 0;
crtc_state->frame_end = 0; crtc_state->frame_end = 0;
crtc_state->crc_pending = false; crtc_state->crc_pending = false;
spin_unlock_irq(&out->state_lock); spin_unlock_irq(&out->crc_lock);
/* /*
* We raced with the vblank hrtimer and previous work already computed * We raced with the vblank hrtimer and previous work already computed
......
...@@ -29,7 +29,7 @@ static enum hrtimer_restart vkms_vblank_simulate(struct hrtimer *timer) ...@@ -29,7 +29,7 @@ static enum hrtimer_restart vkms_vblank_simulate(struct hrtimer *timer)
/* update frame_start only if a queued vkms_crc_work_handle() /* update frame_start only if a queued vkms_crc_work_handle()
* has read the data * has read the data
*/ */
spin_lock(&output->state_lock); spin_lock(&output->crc_lock);
if (!state->crc_pending) if (!state->crc_pending)
state->frame_start = frame; state->frame_start = frame;
else else
...@@ -37,7 +37,7 @@ static enum hrtimer_restart vkms_vblank_simulate(struct hrtimer *timer) ...@@ -37,7 +37,7 @@ static enum hrtimer_restart vkms_vblank_simulate(struct hrtimer *timer)
state->frame_start, frame); state->frame_start, frame);
state->frame_end = frame; state->frame_end = frame;
state->crc_pending = true; state->crc_pending = true;
spin_unlock(&output->state_lock); spin_unlock(&output->crc_lock);
ret = queue_work(output->crc_workq, &state->crc_work); ret = queue_work(output->crc_workq, &state->crc_work);
if (!ret) if (!ret)
...@@ -225,7 +225,7 @@ int vkms_crtc_init(struct drm_device *dev, struct drm_crtc *crtc, ...@@ -225,7 +225,7 @@ int vkms_crtc_init(struct drm_device *dev, struct drm_crtc *crtc,
drm_crtc_helper_add(crtc, &vkms_crtc_helper_funcs); drm_crtc_helper_add(crtc, &vkms_crtc_helper_funcs);
spin_lock_init(&vkms_out->lock); spin_lock_init(&vkms_out->lock);
spin_lock_init(&vkms_out->state_lock); spin_lock_init(&vkms_out->crc_lock);
vkms_out->crc_workq = alloc_ordered_workqueue("vkms_crc_workq", 0); vkms_out->crc_workq = alloc_ordered_workqueue("vkms_crc_workq", 0);
if (!vkms_out->crc_workq) if (!vkms_out->crc_workq)
......
...@@ -49,6 +49,7 @@ struct vkms_crtc_state { ...@@ -49,6 +49,7 @@ struct vkms_crtc_state {
struct drm_crtc_state base; struct drm_crtc_state base;
struct work_struct crc_work; struct work_struct crc_work;
/* below three are protected by vkms_output.crc_lock */
bool crc_pending; bool crc_pending;
u64 frame_start; u64 frame_start;
u64 frame_end; u64 frame_end;
...@@ -66,8 +67,8 @@ struct vkms_output { ...@@ -66,8 +67,8 @@ struct vkms_output {
struct workqueue_struct *crc_workq; struct workqueue_struct *crc_workq;
/* protects concurrent access to crc_data */ /* protects concurrent access to crc_data */
spinlock_t lock; spinlock_t lock;
/* protects concurrent access to crtc_state */
spinlock_t state_lock; spinlock_t crc_lock;
}; };
struct vkms_device { struct vkms_device {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment