linux/drivers/gpu/drm
Chris Wilson ff36c5c4fd drm/i915: Hold irq-off for the entire fake lock period
Sadly lockdep records when the irqs are re-enabled and then marks up the
fake lock as being irq-unsafe. Our hand is forced and so we must mark up
the entire fake lock critical section as irq-off.

Hopefully this is the last tweak required!

v2: Not quite, we need to mark the timeline spinlock as irqsafe. That
was a genuine bug being hidden by the earlier lockdep splat.

Fixes: d67739268c ("drm/i915/gt: Mark up the nested engine-pm timeline lock as irqsafe")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190823132700.25286-2-chris@chris-wilson.co.uk
(cherry picked from commit 6dcb85a0ad)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2019-09-06 09:53:07 -07:00
..
amd Merge tag 'drm-next-5.4-2019-08-23' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-08-27 17:22:15 +10:00
arc drm/arc: Drop drm_gem_prime_export/import 2019-06-21 20:02:10 +02:00
arm drm/komeda: Add support for 'memory-region' DT node property 2019-08-20 11:22:23 +01:00
armada drm/armada: drop use of drmP.h 2019-08-14 18:31:10 +02:00
aspeed drm/aspeed: gfc_crtc: Make structure aspeed_gfx_funcs constant 2019-08-14 19:27:26 +02:00
ast drm/vram: use embedded gem object 2019-08-06 08:21:53 +02:00
atmel-hlcdc Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
bochs drm/bochs: Use dev_get_drvdata 2019-08-06 09:20:58 +02:00
bridge drm-misc-next for 5.4: 2019-08-27 17:21:04 +10:00
cirrus drm/prime: Actually remove DRIVER_PRIME everywhere 2019-06-21 17:30:32 +02:00
etnaviv Merge branch 'etnaviv/next' of https://git.pengutronix.de/git/lst/linux into drm-next 2019-08-22 13:21:16 +10:00
exynos drm-misc-next for 5.4: 2019-08-09 16:04:31 +10:00
fsl-dcu drm/fsl-dcu: fix opencoded use of drm_panel_* 2019-08-10 15:41:48 +02:00
gma500 Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
hisilicon drm-misc-next for 5.4: 2019-08-27 17:21:04 +10:00
i2c drm/i2c/tda998x: drop use of drmP.h 2019-08-14 18:30:52 +02:00
i810 drm/i810: drop use of drmP.h 2019-07-17 12:52:55 +02:00
i915 drm/i915: Hold irq-off for the entire fake lock period 2019-09-06 09:53:07 -07:00
imx drm/imx: IPUv3 image converter fixes and improvements 2019-08-27 16:52:12 +10:00
ingenic DRM: ingenic: Add support for panels with 8-bit serial bus 2019-07-02 00:38:57 +02:00
lib
lima dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
mcde drm/mcde: Fix uninitialized variable 2019-06-25 00:10:24 +02:00
mediatek dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
meson drm: meson: use match data to detect vpu compatibility 2019-08-22 17:54:05 +02:00
mga drm/mga: drop use of drmP.h 2019-06-30 09:48:05 +02:00
mgag200 drm/mgag200: Provide ddc symlink in connector sysfs directory 2019-07-31 16:33:09 +02:00
msm drm-misc-next for 5.4: 2019-08-21 16:44:41 +10:00
mxsfb dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
nouveau drm-misc-next for 5.4: 2019-08-27 17:21:04 +10:00
omapdrm omapdrm: no need to check return value of debugfs_create functions 2019-08-23 10:21:03 +03:00
panel drm/panel: tpo-td043mtea1: remove redundant assignment 2019-08-17 16:53:55 +02:00
panfrost drm/panfrost: Fix sleeping while atomic in panfrost_gem_open 2019-08-22 20:44:19 -05:00
pl111 drm/pl111: Support grayscale 2019-08-09 09:15:05 +02:00
qxl dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
r128 drm/r128: drop use of drmP.h 2019-07-17 12:52:55 +02:00
radeon Merge tag 'drm-next-5.4-2019-08-23' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-08-27 17:22:15 +10:00
rcar-du drm: rcar-du: lvds: Fix bridge_to_rcar_lvds 2019-08-16 15:50:27 +03:00
rockchip drm/rockchip: fix VOP_WIN_GET macro 2019-08-08 00:23:15 +02:00
savage drm/savage: drop use of drmP.h 2019-06-05 20:31:04 +02:00
scheduler drm/scheduler: use job count instead of peek 2019-08-15 10:52:10 -05:00
selftests Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
shmobile drm/shmobile: drop use of drmP.h 2019-07-15 18:11:31 +02:00
sis drm/sis: drop drmP.h use 2019-06-05 20:29:57 +02:00
sti drm/sti: fix opencoded use of drm_panel_* 2019-08-07 13:54:17 +02:00
stm drm/stm: attach gem fence to atomic state 2019-07-25 12:00:09 +02:00
sun4i drm: sun4i: Add support for enabling DDC I2C bus to sun8i_dw_hdmi glue 2019-08-12 10:07:04 +02:00
tdfx drm/tdfx: drop use of drmP.h 2019-07-17 12:52:55 +02:00
tegra drm/tegra: drop use of drmP.h 2019-08-14 18:31:04 +02:00
tilcdc drm/tilcdc: Remove obsolete crtc_mode_valid() hack 2019-08-02 16:00:42 +03:00
tiny drm: gm12u320: Add -ENODEV to list of errors to ignore 2019-08-12 21:30:21 +02:00
ttm drm-misc-next for 5.4: 2019-08-21 16:44:41 +10:00
tve200 drm/tve200: drop use of drmP.h 2019-07-15 18:11:30 +02:00
udl drm/udl: drop use of drmP.h 2019-07-17 12:52:55 +02:00
v3d dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
vboxvideo drm/vboxvideo: Make structure vbox_fb_helper_funcs constant 2019-08-18 12:52:52 +02:00
vc4 dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
vgem dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
via drm/via: drop use of drmP.h 2019-07-25 17:35:20 +02:00
virtio dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
vkms drm/vkms: drop use of drmP.h 2019-07-15 18:11:30 +02:00
vmwgfx drm-misc-next for 5.4: 2019-08-21 16:44:41 +10:00
xen drm/xen-front: Make structure fb_funcs constant 2019-08-19 08:32:52 +03:00
zte Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
ati_pcigart.c drm/ati_pcigart: drop dependency on drm_os_linux.h 2019-07-19 23:24:16 +02:00
drm_agpsupport.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_atomic.c drm: Add helpers to kick off self refresh mode in drivers 2019-06-13 14:31:10 -04:00
drm_atomic_helper.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
drm_atomic_state_helper.c drm/atomic: Add a function to reset connector TV properties 2019-06-19 12:17:52 +02:00
drm_atomic_uapi.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
drm_auth.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_blend.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_bridge.c drm: Add atomic variants for bridge enable/disable 2019-06-13 13:00:29 -04:00
drm_bufs.c drm main pull request for v5.3-rc1 (sans mm changes) 2019-07-15 19:04:27 -07:00
drm_cache.c
drm_client.c drm/fb-helper: Map DRM client buffer only when required 2019-08-01 15:01:29 +02:00
drm_client_modeset.c drm/modes: Don't apply cmdline's rotation if it wasn't specified 2019-07-16 10:34:38 +02:00
drm_color_mgmt.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_connector.c drm: Fix kerneldoc warns in connector-related docs 2019-08-12 10:16:39 -04:00
drm_context.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_crtc.c drm: no need to check return value of debugfs_create functions 2019-06-13 16:39:16 +02:00
drm_crtc_helper.c drm: Remove bridge support from legacy helpers 2019-08-16 15:50:27 +03:00
drm_crtc_helper_internal.h
drm_crtc_internal.h drm/atomic: Move __drm_atomic_helper_disable_plane/set_config() 2019-06-08 16:46:37 +02:00
drm_damage_helper.c drm/damage-helper: Use NULL instead of 0 2019-05-28 09:03:06 +02:00
drm_debugfs.c drm: debugfs: make drm_debugfs_create_files() never fail 2019-06-14 16:59:51 +02:00
drm_debugfs_crc.c drm/crc-debugfs: Add notes about CRC<->commit interactions 2019-08-06 18:27:53 +01:00
drm_dma.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_dp_aux_dev.c drm/dp_mst: Enable registration of AUX devices for MST ports 2019-07-25 16:39:35 -04:00
drm_dp_cec.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm: Make the bw/link rate calculations more forgiving 2019-07-17 12:45:30 -04:00
drm_dp_mst_topology.c drm/mst: Fix sphinx warnings in drm_dp_msg_connector register functions 2019-07-26 14:48:03 -04:00
drm_drv.c drm/drv: Use // for comments in example code 2019-08-19 19:21:49 +02:00
drm_dsc.c
drm_dumb_buffers.c Revert "drm/gem: Rename drm_gem_dumb_map_offset() to drm_gem_map_offset()" 2019-08-07 11:56:48 -04:00
drm_edid.c drm/edid: use for_each_displayid_db where applicable 2019-06-25 14:44:03 +10:00
drm_edid_load.c Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-28 09:39:08 +02:00
drm_encoder.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_encoder_slave.c
drm_fb_cma_helper.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
drm_fb_helper.c drm/fb-helper: Instanciate shadow FB if configured in device's mode_config 2019-08-01 15:01:35 +02:00
drm_file.c drm/prime: Unconditionally set up the prime file private 2019-06-21 11:48:09 +02:00
drm_flip_work.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_format_helper.c
drm_fourcc.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_framebuffer.c drm: silence variable 'conn' set but not used 2019-07-22 16:04:53 -04:00
drm_gem.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
drm_gem_cma_helper.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
drm_gem_framebuffer_helper.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
drm_gem_shmem_helper.c drm/shmem: Put pages independent of a SG table being set 2019-08-12 14:18:42 -06:00
drm_gem_vram_helper.c drm/ttm: use gem vma_node 2019-08-06 08:21:54 +02:00
drm_hashtab.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_hdcp.c drm/hdcp: reference for srm file format 2019-08-06 13:18:42 +05:30
drm_internal.h drm/gem: Unexport drm_gem_(un)pin/v(un)map 2019-06-17 17:37:01 +02:00
drm_ioc32.c Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
drm_ioctl.c Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
drm_irq.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_kms_helper_common.c drm: fix module name in edid_firmware log message 2019-08-22 10:41:06 +03:00
drm_lease.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
drm_legacy.h drm: make drm_legacy.h self-contained 2019-05-27 18:06:47 +02:00
drm_legacy_misc.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_lock.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_memory.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_mipi_dbi.c drm/tinydrm: Move mipi-dbi 2019-07-25 10:45:07 +02:00
drm_mipi_dsi.c bus_find_device: Unify the match callback with class_find_device 2019-06-24 05:22:31 +02:00
drm_mm.c drm: Allow range of 0 for drm_mm_insert_node_in_range() 2019-06-26 21:13:12 +01:00
drm_mode_config.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_mode_object.c drm/kms: Catch mode_object lifetime errors 2019-07-10 17:17:14 +02:00
drm_modes.c drm-misc-next for 5.4: 2019-08-09 16:04:31 +10:00
drm_modeset_helper.c
drm_modeset_lock.c docs conversion for v5.3-rc1 2019-07-16 12:21:41 -07:00
drm_of.c Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-28 09:39:08 +02:00
drm_panel.c drm/panel: drop return code from drm_panel_detach() 2019-08-10 15:41:48 +02:00
drm_panel_orientation_quirks.c drm: panel-orientation-quirks: Add extra quirk table entry for GPD MicroPC 2019-07-01 16:58:09 +02:00
drm_pci.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_plane.c
drm_plane_helper.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_prime.c drm/prime: Ditch gem_prime_res_obj hook 2019-07-31 10:19:23 +02:00
drm_print.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_probe_helper.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
drm_property.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_rect.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_scatter.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_scdc_helper.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_self_refresh_helper.c drm/self_refresh: Fix possible NULL deref in failure path 2019-06-20 10:03:21 -04:00
drm_simple_kms_helper.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
drm_syncobj.c drm/syncobj: Add better overview documentation for syncobj (v2) 2019-08-12 16:58:52 +02:00
drm_sysfs.c drm: uevent for connector status change 2019-08-06 13:16:54 +05:30
drm_trace.h drm: make drm_trace.h self-contained 2019-05-27 18:06:54 +02:00
drm_trace_points.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_vblank.c drm/vblank: drop use of DRM_WAIT_ON() 2019-08-03 16:07:39 +02:00
drm_vm.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_vma_manager.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_vram_helper_common.c
drm_vram_mm_helper.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_writeback.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
Kconfig drm-misc-next for 5.4: 2019-08-09 16:04:31 +10:00
Makefile drm/gm12u320: Move driver to drm/tiny 2019-07-31 15:17:03 +02:00