linux_dsm_epyc7002/drivers/gpu/drm
Chris Wilson dbd6ef29a7 drm/i915: Use RCU to annotate and enforce protection for breadcrumb's bh
The bottom-half we use for processing the breadcrumb interrupt is a
task, which is an RCU protected struct. When accessing this struct, we
need to be holding the RCU read lock to prevent it disappearing beneath
us. We can use the RCU annotation to mark our irq_seqno_bh pointer as
being under RCU guard and then use the RCU accessors to both provide
correct ordering of access through the pointer.

Most notably, this fixes the access from hard irq context to use the RCU
read lock, which both Daniel and Tvrtko complained about.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1470761272-1245-3-git-send-email-chris@chris-wilson.co.uk
2016-08-10 10:37:49 +01:00
..
amd drm/amd/powerplay: remove enable_clock_power_gatings_tasks from initialize and resume events 2016-07-29 14:37:13 -04:00
arc
arm drm/arm: mali-dp: Fix error return code in malidp_bind() 2016-07-28 12:59:56 +02:00
armada
ast
atmel-hlcdc
bochs
bridge Merge tag 'topic/drm-misc-2016-07-28' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-07-30 05:26:07 +10:00
cirrus
etnaviv
exynos
fsl-dcu Merge tag 'topic/drm-misc-2016-07-22' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-07-27 10:33:08 +10:00
gma500 drm/gma500: remove unnecessary stub for fb_ioctl() 2016-07-28 10:04:03 +02:00
hisilicon
i2c
i810
i915 drm/i915: Use RCU to annotate and enforce protection for breadcrumb's bh 2016-08-10 10:37:49 +01:00
imx imx-drm ldb mode set fix 2016-07-30 05:45:30 +10:00
mediatek
mga
mgag200
msm
nouveau Merge tag 'topic/drm-misc-2016-07-22' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-07-27 10:33:08 +10:00
omapdrm
panel
qxl
r128
radeon drm/radeon: Remove deprecated create_singlethread_workqueue 2016-07-29 14:36:55 -04:00
rcar-du Merge tag 'topic/drm-misc-2016-07-22' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-07-27 10:33:08 +10:00
rockchip Merge tag 'topic/drm-misc-2016-07-22' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-07-27 10:33:08 +10:00
savage
shmobile
sis
sti drm/sti: use new Reset API 2016-07-26 10:25:00 -04:00
sun4i Merge tag 'topic/drm-misc-2016-07-22' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-07-27 10:33:08 +10:00
tdfx
tegra
tilcdc
ttm drm/ttm: partial revert "cleanup ttm_tt_(unbind|destroy)" v3 2016-07-29 14:37:04 -04:00
udl
vc4
vgem
via
virtio
vmwgfx Merge tag 'topic/drm-misc-2016-07-28' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-07-30 05:26:07 +10:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic_helper.c
drm_atomic.c
drm_auth.c
drm_bridge.c
drm_bufs.c
drm_cache.c
drm_context.c
drm_crtc_helper.c
drm_crtc_internal.h
drm_crtc.c
drm_debugfs.c
drm_dma.c
drm_dp_aux_dev.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm: aux ->transfer() can return 0, deal with it 2016-07-29 14:13:03 +10:00
drm_dp_mst_topology.c
drm_drv.c
drm_edid_load.c
drm_edid.c
drm_encoder_slave.c
drm_fb_cma_helper.c
drm_fb_helper.c
drm_flip_work.c
drm_fops.c
drm_fourcc.c
drm_gem_cma_helper.c
drm_gem.c
drm_global.c
drm_hashtab.c
drm_info.c
drm_internal.h
drm_ioc32.c
drm_ioctl.c
drm_irq.c
drm_kms_helper_common.c
drm_legacy.h
drm_lock.c
drm_memory.c
drm_mipi_dsi.c
drm_mm.c
drm_modes.c
drm_modeset_lock.c
drm_of.c
drm_panel.c
drm_pci.c
drm_plane_helper.c
drm_platform.c
drm_prime.c
drm_probe_helper.c
drm_rect.c
drm_scatter.c
drm_simple_kms_helper.c
drm_sysfs.c
drm_trace_points.c
drm_trace.h
drm_vm.c
drm_vma_manager.c
Kconfig
Makefile