1
0
Fork 0
alistair23-linux/drivers/gpu/drm
Daniel Vetter 9c79e0b1d0 drm/fb-helper: Give up on kgdb for atomic drivers
It just doesn't work. It probably stopped working way, way before that
(e.g. i915 grabbed random mutexes all over in modeset code at least
since gen6), but with atomic and all the ww_mutex stuff it's indeed
hopeless.

Remove ->mode_set_base_atomic from the 2 atomic drivers (i915 and
nouveau) that still had one (both had dummy implementations already
anyway), and shunt atomic drivers in the helpers debug_enter/leave
functions.

I'll leave the code in for radeon and amdgpu, but I think as soon as
amdgpu is atomic we should think about just ripping it out. Only
having it around for radeon and pre-nv50 is rather pointless. This
would also allow us to nuke all that code from fbdev.

Funny part is that _all_ kms drivers set this hook, despite that no
one else provides the required ->mode_set_base_atomic implementation.

The reason I'm jumping on this is that I want to wire up a full
acquire ctx for the benefit of atomic drivers, everywhere. And the
debug_enter/leave implementations call ->gamma_set. And there's just
no way ever we can create an acquire_ctx in the nmi context of kgdb.

Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170403083304.9083-11-daniel.vetter@ffwll.ch
2017-04-06 10:21:03 +02:00
..
amd Merge tag 'drm-misc-next-2017-03-31' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-04-03 16:30:24 +10:00
arc drm: remove drm_vblank_no_hw_counter assignment from driver code 2017-02-07 21:43:55 +01:00
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: bridge: dw-hdmi: Move HPD handling to PHY operations 2017-04-04 17:48:21 +02:00
cirrus drm/fb-helper: Automatically clean up fb_info 2017-02-07 21:36:28 +01:00
etnaviv drm/etnaviv: (re-)protect fence allocation with GPU mutex 2017-03-29 15:38:46 +02:00
exynos Linux 4.11-rc4 2017-03-28 17:34:19 +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/fb-helper: Give up on kgdb for atomic drivers 2017-04-06 10:21:03 +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 drm: mediatek: use vblank hooks in struct drm_crtc_funcs 2017-02-21 11:17:54 -05:00
meson drm/meson: Convert existing documentation to actual kerneldoc 2017-04-04 17:49:31 +02:00
mga lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
mgag200 gpu: drm: drivers: Convert printk(KERN_<LEVEL> to pr_<level> 2017-03-01 09:44:11 +01:00
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/fb-helper: Give up on kgdb for atomic drivers 2017-04-06 10:21:03 +02:00
omapdrm drm/omap: Major omap_modeset_init() cleanup 2017-04-03 12:36:40 +03: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 gpu: drm: drivers: Convert printk(KERN_<LEVEL> to pr_<level> 2017-03-01 09:44:11 +01:00
radeon Merge tag 'topic/synopsys-media-formats-2017-04-03' of git://anongit.freedesktop.org/git/drm-misc into drm-misc-next 2017-04-04 11:34:31 -04: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 drm: kselftest: fix spelling mistake: "misalinged" -> "misaligned" 2017-02-26 22:54:47 +01:00
shmobile drm: Add acquire ctx parameter to ->page_flip(_target) 2017-03-29 09:50:38 +02:00
sis drm: Improve drm_mm search (and fix topdown allocation) with rbtrees 2017-02-03 11:10:32 +01:00
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 drm/ttm: add ttm_bo_init_reserved 2017-03-29 23:53:07 -04:00
udl drm: Add acquire ctx parameter to ->page_flip(_target) 2017-03-29 09:50:38 +02:00
vc4 Merge tag 'topic/synopsys-media-formats-2017-04-03' of git://anongit.freedesktop.org/git/drm-misc into drm-misc-next 2017-04-04 11:34:31 -04:00
vgem Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
via drm/via: use get_user_pages_unlocked() 2017-02-28 10:00:50 +01:00
virtio drm: virtio: fix virtio_gpu_mode_dumb_create 2017-04-04 10:10:20 +02:00
vmwgfx Merge tag 'drm-misc-next-2017-03-31' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-04-03 16:30:24 +10:00
zte drm: zte: remove leftover 'inf' from struct zx_hdmi 2017-03-22 13:44:42 +08:00
Kconfig drm/fb-helper: Add multi buffer support for cma fbdev 2017-02-26 22:11:37 +01:00
Makefile drm: Add SCDC helpers 2017-03-21 10:15:39 +02:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic.c drm: drop modeset_lock_all from drm_state_info 2017-04-05 09:27:07 +02:00
drm_atomic_helper.c drm/atomic-helper: remove modeset_lock_all from helper_resume 2017-04-05 09:26:54 +02: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 gpu: drm: core: Convert printk(KERN_<LEVEL> to pr_<level> 2017-02-28 14:32:19 +01:00
drm_color_mgmt.c drm: Only take crtc lock in get_gamma ioctl 2017-04-05 09:27:39 +02:00
drm_connector.c drm: Rename connector list iterator API 2017-02-28 16:16:48 +01:00
drm_context.c
drm_crtc.c drm/atomic-helper: Remove the backoff hack from set_config 2017-03-29 09:59:16 +02:00
drm_crtc_helper.c drm: Add acquire ctx parameter to ->set_config 2017-03-29 09:56:25 +02:00
drm_crtc_helper_internal.h
drm_crtc_internal.h drm: Remove drm_modeset_(un)lock_crtc 2017-04-05 09:26:07 +02:00
drm_debugfs.c drm/debugfs: Add kerneldoc 2017-03-24 09:36:06 +01:00
drm_debugfs_crc.c drm: document driver interface for CRC capturing 2017-03-24 09:36:06 +01:00
drm_dma.c
drm_dp_aux_dev.c
drm_dp_dual_mode_helper.c drm: Add name for DRM_DP_DUAL_MODE_LSPCON 2017-02-23 11:06:12 -05:00
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 Linux 4.10-rc8 2017-02-23 12:10:12 +10:00
drm_dumb_buffers.c
drm_edid.c Linux 4.11-rc3 2017-03-23 12:05:13 +10:00
drm_edid_load.c drm: move edid property update and add modes out of edid firmware loader 2017-02-21 15:41:24 +02:00
drm_encoder.c drm: Rename connector list iterator API 2017-02-28 16:16:48 +01:00
drm_encoder_slave.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/fb-helper: Give up on kgdb for atomic drivers 2017-04-06 10:21:03 +02:00
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.c drm: Introduce drm_gem_object_{get,put}() 2017-02-28 16:16:43 +01:00
drm_gem_cma_helper.c Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
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: document drm_ioctl.[hc] 2017-04-04 20:47:54 +02:00
drm_ioctl.c drm: Pass CRTC ID in userspace vblank events 2017-04-04 20:59:12 +01:00
drm_irq.c drm: Pass CRTC ID in userspace vblank events 2017-04-04 20:59:12 +01: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: Micro-optimise drm_mm_for_each_node_in_range() 2017-02-06 16:57:37 +01:00
drm_mode_config.c drm: Rename connector list iterator API 2017-02-28 16:16:48 +01:00
drm_mode_object.c Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
drm_modes.c drm: Rename drm_mode_object_get() 2017-02-28 16:14:53 +01:00
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: Remove drm_modeset_legacy_acquire_ctx and crtc->acquire_ctx 2017-04-05 09:26:45 +02:00
drm_of.c
drm_panel.c
drm_pci.c drm: Extract drm_pci.h 2017-03-09 16:18:02 +01:00
drm_plane.c drm: Remove drm_modeset_(un)lock_crtc 2017-04-05 09:26:07 +02:00
drm_plane_helper.c drm: Add acquire ctx parameter to ->set_config 2017-03-29 09:56:25 +02:00
drm_prime.c drm: Extract drm_prime.h 2017-03-09 16:18:02 +01:00
drm_print.c drm: drm_printer: add __printf validation 2017-02-26 21:43:08 +01:00
drm_probe_helper.c drm/doc: Small markup fixup 2017-04-04 20:47:54 +02:00
drm_property.c drm: Drop modeset_lock_all from the getproperty ioctl 2017-04-05 09:27:16 +02:00
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: Clarify the role of plane_state argument to drm_simple update(). 2017-03-30 12:02:00 -07:00
drm_sysfs.c drm: Consolidate and document sysfs support 2017-04-04 20:47:54 +02:00
drm_trace.h drm: Remove drm_pending_event->pid 2017-03-14 14:38:33 +01:00
drm_trace_points.c
drm_vm.c drm: remove unnecessary fault wrappers 2017-02-24 17:46:55 -08:00
drm_vma_manager.c drm: Improve drm_mm search (and fix topdown allocation) with rbtrees 2017-02-03 11:10:32 +01:00