linux_dsm_epyc7002/drivers/gpu/drm
Chris Wilson 43dc7fe2b2 drm: Mark up accesses of vblank->enabled outside of its spinlock
Order the update to vblank->enabled after the timestamp is primed so
that a concurrent unlocked reader will only see the vblank->enabled with
the current timestamp.

v2: vblank->enable is guarded by dev->vbl_lock not
dev->vblank_time_lock, update the READ_ONCE accordingly.

Do not add a READ_ONCE(vblank->enabled) inside the interrupt handler to
avoid missing an interrupt whilst racing with enable_vblank()

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20170317202030.24410-1-chris@chris-wilson.co.uk
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2017-03-29 13:51:49 +03:00
..
amd drm: Add acquire ctx parameter to ->set_config 2017-03-29 09:56:25 +02:00
arc
arm Linux 4.11-rc3 2017-03-23 12:05:13 +10:00
armada drm: Add acquire ctx parameter to ->page_flip(_target) 2017-03-29 09:50:38 +02:00
ast Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
atmel-hlcdc drm/atmel-hlcdc: Fix suspend/resume implementation 2017-03-16 11:23:59 +01:00
bochs drm: Add acquire ctx parameter to ->page_flip(_target) 2017-03-29 09:50:38 +02:00
bridge drm: dw_hdmi: Don't rely on the status of the bridge for updating HPD 2017-03-27 11:50:48 +05:30
cirrus
etnaviv sched/headers: Prepare to move the get_task_struct()/put_task_struct() and related APIs from <linux/sched.h> to <linux/sched/task.h> 2017-03-02 08:42:40 +01:00
exynos Merge tag 'drm-misc-next-2017-03-12' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-15 11:32:01 +10:00
fsl-dcu drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers 2017-03-14 14:38:34 +01:00
gma500 drm: Add acquire ctx parameter to ->set_config 2017-03-29 09:56:25 +02:00
hisilicon drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers 2017-03-14 14:38:34 +01:00
i2c
i810
i915 drm: simplify the locking in the GETCRTC ioctl 2017-03-29 09:51:02 +02:00
imx Merge tag 'drm-misc-next-2017-03-21' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-23 08:53:41 +10:00
lib
mediatek
meson drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers 2017-03-14 14:38:34 +01:00
mga
mgag200
msm drm: Add acquire ctx parameter to ->update_plane 2017-03-29 09:14:01 +02:00
mxsfb Linux 4.11-rc3 2017-03-23 12:05:13 +10:00
nouveau drm: Add acquire ctx parameter to ->set_config 2017-03-29 09:56:25 +02:00
omapdrm Linux 4.11-rc3 2017-03-23 12:05:13 +10:00
panel
qxl Merge tag 'drm-misc-next-2017-03-12' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-15 11:32:01 +10:00
r128
radeon drm: Add acquire ctx parameter to ->set_config 2017-03-29 09:56:25 +02:00
rcar-du Linux 4.11-rc3 2017-03-23 12:05:13 +10:00
rockchip drm/rockchip/dsi: correct the grf_switch_reg name 2017-03-24 14:48:58 -04:00
savage
selftests
shmobile drm: Add acquire ctx parameter to ->page_flip(_target) 2017-03-29 09:50:38 +02:00
sis
sti drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers 2017-03-14 14:38:34 +01:00
sun4i drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers 2017-03-14 14:38:34 +01:00
tdfx
tegra drm/tegra: Don't use modeset_lock_crtc 2017-03-27 17:50:47 +02:00
tilcdc drm/tilcdc: Drop calls to modeset_lock_crtc 2017-03-25 22:19:27 +01:00
tinydrm drm/atomic: Introduce drm_atomic_helper_shutdown 2017-03-27 09:43:58 +02:00
ttm Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
udl drm: Add acquire ctx parameter to ->page_flip(_target) 2017-03-29 09:50:38 +02:00
vc4 drm: Add acquire ctx parameter to ->page_flip(_target) 2017-03-29 09:50:38 +02:00
vgem Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
via
virtio Merge tag 'drm-misc-next-2017-03-12' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-15 11:32:01 +10:00
vmwgfx drm: Add acquire ctx parameter to ->set_config 2017-03-29 09:56:25 +02:00
zte drm: zte: remove leftover 'inf' from struct zx_hdmi 2017-03-22 13:44:42 +08:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic_helper.c drm/atomic-helper: Remove the backoff hack from set_config 2017-03-29 09:59:16 +02:00
drm_atomic.c drm/atomic: Convert get_existing_state callers to get_old/new_state, v4. 2017-03-06 11:43:05 +01:00
drm_auth.c
drm_blend.c drm/blend: Use new atomic iterator macros. 2017-03-06 11:43:43 +01:00
drm_bridge.c
drm_bufs.c
drm_cache.c
drm_color_mgmt.c
drm_connector.c
drm_context.c
drm_crtc_helper_internal.h
drm_crtc_helper.c drm: Add acquire ctx parameter to ->set_config 2017-03-29 09:56:25 +02:00
drm_crtc_internal.h
drm_crtc.c drm/atomic-helper: Remove the backoff hack from set_config 2017-03-29 09:59:16 +02:00
drm_debugfs_crc.c drm: document driver interface for CRC capturing 2017-03-24 09:36:06 +01:00
drm_debugfs.c drm/debugfs: Add kerneldoc 2017-03-24 09:36:06 +01:00
drm_dma.c
drm_dp_aux_dev.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm/dp: Add missing description to parameter 2017-03-07 16:38:16 -05:00
drm_dp_mst_topology.c drm/dp: Split drm_dp_mst_allocate_vcpi 2017-03-22 21:47:44 +01:00
drm_drv.c
drm_dumb_buffers.c
drm_edid_load.c
drm_edid.c Linux 4.11-rc3 2017-03-23 12:05:13 +10:00
drm_encoder_slave.c
drm_encoder.c
drm_fb_cma_helper.c drm: Add mode_config .get_format_info() hook 2017-03-22 19:45:00 +02:00
drm_fb_helper.c
drm_file.c drm/gem: Add DEFINE_DRM_GEM_FOPS 2017-03-14 14:38:34 +01:00
drm_flip_work.c
drm_fourcc.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux into drm-misc-next 2017-03-23 08:15:55 +01:00
drm_framebuffer.c drm: Add mode_config .get_format_info() hook 2017-03-22 19:45:00 +02:00
drm_gem_cma_helper.c Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
drm_gem.c
drm_global.c
drm_hashtab.c
drm_info.c
drm_internal.h drm/debugfs: Add kerneldoc 2017-03-24 09:36:06 +01:00
drm_ioc32.c
drm_ioctl.c drm: Extract drm_ioctl.h 2017-03-25 22:40:55 +01:00
drm_irq.c drm: Mark up accesses of vblank->enabled outside of its spinlock 2017-03-29 13:51:49 +03:00
drm_kms_helper_common.c drm: Remove drmP.h include from drm_kms_helper_common.c 2017-03-09 16:18:02 +01:00
drm_legacy.h
drm_lock.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h> 2017-03-02 08:42:29 +01:00
drm_memory.c
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c
drm_mode_object.c Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
drm_modes.c
drm_modeset_helper.c drm: Add mode_config .get_format_info() hook 2017-03-22 19:45:00 +02:00
drm_modeset_lock.c
drm_of.c
drm_panel.c
drm_pci.c drm: Extract drm_pci.h 2017-03-09 16:18:02 +01:00
drm_plane_helper.c drm: Add acquire ctx parameter to ->set_config 2017-03-29 09:56:25 +02:00
drm_plane.c drm/atomic-helper: remove backoff hack from page_flip 2017-03-29 09:50:52 +02:00
drm_prime.c drm: Extract drm_prime.h 2017-03-09 16:18:02 +01:00
drm_print.c
drm_probe_helper.c Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
drm_property.c
drm_rect.c
drm_scatter.c
drm_scdc_helper.c drm/edid: detect SCDC support in HF-VSDB 2017-03-21 10:15:56 +02:00
drm_simple_kms_helper.c drm/atomic: Convert get_existing_state callers to get_old/new_state, v4. 2017-03-06 11:43:05 +01:00
drm_sysfs.c
drm_trace_points.c
drm_trace.h drm: Remove drm_pending_event->pid 2017-03-14 14:38:33 +01:00
drm_vm.c
drm_vma_manager.c
Kconfig
Makefile drm: Add SCDC helpers 2017-03-21 10:15:39 +02:00