linux-stable/drivers/gpu/drm/vkms
Haneen Mohammed 0ca33adb91 drm/vkms: Fix race condition around accessing frame number
crtc_state is accessed by both vblank_handle() and the ordered
work_struct handle vkms_crc_work_handle() to retrieve and or update
the frame number for computed CRC.

Since work_struct can fail, add frame_end to account for missing frame
numbers.

Use (frame_[start/end]) for synchronization between hrtimer callback
and ordered work_struct handle.

This patch passes the following subtests from igt kms_pipe_crc_basic test:
bad-source, read-crc-pipe-A, read-crc-pipe-A-frame-sequence,
nonblocking-crc-pipe-A, nonblocking-crc-pipe-A-frame-sequence

Signed-off-by: Haneen Mohammed <hamohammed.sa@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20180903211743.GA2773@haneenDRM
2018-09-05 16:04:50 +02:00
..
Makefile drm/vkms: Implement CRC debugfs API 2018-08-03 14:52:58 -04:00
vkms_crc.c drm/vkms: Fix race condition around accessing frame number 2018-09-05 16:04:50 +02:00
vkms_crtc.c drm/vkms: Fix race condition around accessing frame number 2018-09-05 16:04:50 +02:00
vkms_drv.c Merge drm/drm-next into drm-misc-next 2018-08-27 10:00:03 -04:00
vkms_drv.h drm/vkms: Fix race condition around accessing frame number 2018-09-05 16:04:50 +02:00
vkms_gem.c drm/vkms: Fix vmap_count increment position 2018-08-08 10:19:54 +02:00
vkms_output.c drm: drop _mode_ from drm_mode_connector_attach_encoder 2018-07-13 18:40:27 +02:00
vkms_plane.c drm/vkms: Implement CRC debugfs API 2018-08-03 14:52:58 -04:00