linux/drivers/gpu/drm
Lyude Paul 7ba84cbf18 drm/nouveau/kms/nv50-: Don't allow inheritance of headless iors
Turns out we made a silly mistake when coming up with OR inheritance on
nouveau. On pre-DCB 4.1, iors are statically routed to output paths via the
DCB. On later generations iors are only routed to an output path if they're
actually being used. Unfortunately, it appears with NVIF_OUTP_INHERIT_V0 we
make the mistake of assuming the later is true on all generations, which is
currently leading us to return bogus ior -> head assignments through nvif,
which causes WARN_ON().

So - fix this by verifying that we actually know that there's a head
assigned to an ior before allowing it to be inherited through nvif. This
-should- hopefully fix the WARN_ON on GT218 reported by Borislav.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Reported-by: Borislav Petkov (AMD) <bp@alien8.de>
Tested-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231214004359.1028109-1-lyude@redhat.com
2023-12-15 14:11:47 +10:00
..
amd drm/amdgpu: warn when there are still mappings when a BO is destroyed v2 2023-12-13 16:50:46 -05:00
arm Merge tag 'drm-misc-next-2023-09-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-29 08:27:15 +10:00
armada drm/armada: Call drm_atomic_helper_shutdown() at shutdown time 2023-09-21 10:38:11 -07:00
aspeed drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers 2023-09-21 10:51:55 -07:00
ast drm/ast: Disconnect BMC if physical connector is connected 2023-11-21 09:40:08 +01:00
atmel-hlcdc drm: Call drm_atomic_helper_shutdown() at shutdown time for misc drivers 2023-09-21 10:41:04 -07:00
bridge drm/bridge: tc358768: select CONFIG_VIDEOMODE_HELPERS 2023-12-05 09:32:15 +01:00
ci drm/ci: make github dependabot happy again 2023-11-13 08:52:24 -08:00
display Merge tag 'drm-misc-fixes-2023-11-08' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-11-10 16:57:49 +01:00
etnaviv drm/sched: Convert the GPU scheduler to variable number of run-queues 2023-10-26 12:03:47 -04:00
exynos drm/exynos: fix a wrong error checking 2023-12-07 11:51:43 +09:00
fsl-dcu drm: Call drm_atomic_helper_shutdown() at shutdown time for misc drivers 2023-09-21 10:41:04 -07:00
gma500 drm/gma500: refactor deprecated strncpy 2023-09-27 12:38:54 +02:00
gud drm/gud: Use size_add() in call to struct_size() 2023-09-29 14:48:32 -07:00
hisilicon drm/hisilicon/kirin: Call drm_atomic_helper_shutdown() at shutdown/unbind time 2023-09-21 10:54:20 -07:00
hyperv TTY/Serial changes for 6.7-rc1 2023-11-03 15:44:25 -10:00
i2c drm-misc-next for v6.6: 2023-07-17 15:37:57 +02:00
i915 drm/i915/edp: don't write to DP_LINK_BW_SET when using rate select 2023-12-11 13:15:35 +02:00
imx Merge tag 'drm-misc-next-2023-09-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-29 08:27:15 +10:00
ingenic drm/ingenic: Call drm_atomic_helper_shutdown() at shutdown time 2023-09-13 11:12:20 -07:00
kmb
lib
lima drm/sched: Convert the GPU scheduler to variable number of run-queues 2023-10-26 12:03:47 -04:00
logicvc Merge tag 'drm-misc-fixes-2023-11-08' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-11-10 16:57:49 +01:00
loongson drm: Call drm_atomic_helper_shutdown() at shutdown time for misc drivers 2023-09-21 10:41:04 -07:00
mcde drm: Call drm_atomic_helper_shutdown() at shutdown time for misc drivers 2023-09-21 10:41:04 -07:00
mediatek drm/mediatek: Fix access violation in mtk_drm_crtc_dma_dev_get 2023-12-11 14:40:05 +00:00
meson drm/meson: fix memory leak on ->hpd_notify callback 2023-09-20 15:44:31 +02:00
mgag200 drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers 2023-09-21 10:51:55 -07:00
msm Merge tag 'drm-msm-fixes-2023-11-21' of https://gitlab.freedesktop.org/drm/msm into drm-fixes 2023-11-24 10:37:47 +10:00
mxsfb drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
nouveau drm/nouveau/kms/nv50-: Don't allow inheritance of headless iors 2023-12-15 14:11:47 +10:00
omapdrm drm: Call drm_atomic_helper_shutdown() at shutdown time for misc drivers 2023-09-21 10:41:04 -07:00
panel drm/panel: ltk050h3146w: Set burst mode for ltk050h3148w 2023-12-13 18:33:43 +01:00
panfrost drm/panfrost: Fix incorrect updating of current device frequency 2023-11-30 10:53:42 +00:00
pl111 drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers 2023-09-21 10:51:55 -07:00
qxl drm fixes for 6.7-rc1 2023-11-10 14:59:30 -08:00
radeon drm next and fixes for 6.7-rc1 2023-11-07 17:10:02 -08:00
renesas drm: renesas: shmobile: Add DT support 2023-10-16 11:47:48 +02:00
rockchip drm/rockchip: vop: Fix color for RGB888/BGR888 format on VOP full 2023-11-20 17:06:06 +01:00
scheduler Merge tag 'drm-misc-next-2023-10-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-10-31 10:47:50 +10:00
solomon drm/ssd130x: Fix possible uninitialized usage of crtc_state variable 2023-10-30 11:00:27 +01:00
sprd drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
sti drm: Call drm_atomic_helper_shutdown() at shutdown time for misc drivers 2023-09-21 10:41:04 -07:00
stm drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers 2023-09-21 10:51:55 -07:00
sun4i Merge tag 'drm-misc-next-2023-09-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-29 08:27:15 +10:00
tegra drm/tegra: gem: Do not return NULL in tegra_bo_mmap() 2023-10-11 22:52:44 +02:00
tests Linux 6.6-rc7 2023-10-23 18:20:06 +10:00
tidss drm: Fix references to drm_plane_helper_check_state() 2023-07-29 21:25:18 +02:00
tilcdc drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers 2023-09-21 10:51:55 -07:00
tiny Linux 6.6-rc7 2023-10-23 18:20:06 +10:00
ttm Many singleton patches against the MM code. The patch series which are 2023-11-02 19:38:47 -10:00
tve200 drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers 2023-09-21 10:51:55 -07:00
udl drm/udl: Convert to drm_crtc_helper_atomic_check() 2023-07-29 21:01:27 +02:00
v3d drm/sched: Convert the GPU scheduler to variable number of run-queues 2023-10-26 12:03:47 -04:00
vboxvideo drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers 2023-09-21 10:51:55 -07:00
vc4 Merge tag 'drm-misc-fixes-2023-11-08' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-11-10 16:57:49 +01:00
vgem
virtio pci-v6.7-changes 2023-11-02 14:05:18 -10:00
vkms Revert "drm/vkms: Fix race-condition between the hrtimer and the atomic commit" 2023-09-14 07:48:19 -03:00
vmwgfx vmemdup-user-array API and changes with it. 2023-10-24 11:13:29 +10:00
xen drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
xlnx drm: xlnx: zynqmp_dpsub: Use devm_platform_ioremap_resource_byname() 2023-08-02 01:36:54 +03:00
drm_agpsupport.c
drm_aperture.c video/aperture: Drop primary argument 2023-04-16 14:17:55 +02:00
drm_atomic_helper.c drm/atomic-helpers: Invoke end_fb_access while owning plane state 2023-12-06 10:51:27 +01:00
drm_atomic_state_helper.c
drm_atomic_uapi.c drm/atomic: log errors in drm_mode_atomic_ioctl() 2023-06-23 16:34:25 +02:00
drm_atomic.c Merge tag 'drm-misc-next-2023-09-11-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-22 16:28:36 +10:00
drm_auth.c drm: Fix FD ownership check in drm_master_check_perm() 2023-12-07 14:51:37 +01:00
drm_blend.c
drm_bridge_connector.c drm/bridge_connector: implement oob_hotplug_event 2023-10-11 13:20:22 +03:00
drm_bridge.c drm/debugfs: rework debugfs directory creation v5 2023-09-01 08:51:18 +02:00
drm_buddy.c Merge tag 'drm-misc-next-2023-09-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-29 08:27:15 +10:00
drm_bufs.c
drm_cache.c
drm_client_modeset.c drm/client: Fix memory leak in drm_client_modeset_probe 2023-07-13 15:55:58 +02:00
drm_client.c drm/client: Convert drm_client_buffer_addfb() to drm_mode_addfb2() 2023-10-24 12:21:01 -04:00
drm_color_mgmt.c
drm_connector.c drm: Add HPD state to drm_connector_oob_hotplug_event() 2023-10-11 13:20:22 +03:00
drm_context.c
drm_crtc_helper_internal.h
drm_crtc_helper.c
drm_crtc_internal.h drm/debugfs: rework debugfs directory creation v5 2023-09-01 08:51:18 +02:00
drm_crtc.c drm/crtc: fix uninitialized variable use 2023-12-08 15:47:39 +01:00
drm_damage_helper.c
drm_debugfs_crc.c
drm_debugfs.c drm/gpuvm: rename struct drm_gpuva_manager to struct drm_gpuvm 2023-09-26 01:51:28 +02:00
drm_displayid.c
drm_dma.c
drm_drv.c drm/debugfs: rework drm_debugfs_create_files implementation v2 2023-09-01 08:54:12 +02:00
drm_dumb_buffers.c
drm_edid_load.c
drm_edid.c drm/edid: also call add modes in EDID connector update fallback 2023-12-11 14:41:14 +02:00
drm_encoder_slave.c
drm_encoder.c
drm_exec.c drm/drm_exec: Work around a WW mutex lockdep oddity 2023-09-07 10:30:12 +02:00
drm_fb_dma_helper.c
drm_fb_helper.c tty: sysrq: switch sysrq handlers from int to u8 2023-07-25 19:21:03 +02:00
drm_fbdev_dma.c fbdev: Use _DMAMEM_ infix for DMA-memory helpers 2023-07-31 20:07:18 +02:00
drm_fbdev_generic.c fbdev: Align deferred I/O with naming of helpers 2023-07-31 20:07:24 +02:00
drm_file.c drm/drm_file: Add DRM obj's RSS reporting function for fdinfo 2023-10-04 13:04:15 +02:00
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c drm/fourcc: Add NV20 and NV30 YUV formats 2023-10-24 21:34:35 +02:00
drm_framebuffer.c drm: Replace drm_framebuffer plane size functions with its equivalents 2023-10-12 09:51:29 +02:00
drm_gem_atomic_helper.c
drm_gem_dma_helper.c
drm_gem_framebuffer_helper.c drm/gem-fb-helper: Consistenly use drm_dbg_kms() 2023-07-28 11:46:02 +02:00
drm_gem_shmem_helper.c Linux 6.5-rc7 2023-08-24 07:26:06 +10:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c drm/vram-helper: fix function names in vram helper doc 2023-05-08 09:16:18 +02:00
drm_gem.c drm: Do not overrun array in drm_gem_get_pages() 2023-10-12 10:44:06 +02:00
drm_gpuvm.c drm/gpuvm: Fix deprecated license identifier 2023-11-28 11:19:26 +01:00
drm_hashtab.c
drm_internal.h Merge drm/drm-next into drm-intel-next 2023-10-04 18:06:27 +03:00
drm_ioc32.c arch: Remove Itanium (IA-64) architecture 2023-09-11 08:13:17 +00:00
drm_ioctl.c drm: Update file owner during use 2023-09-20 15:27:44 +02:00
drm_irq.c
drm_kms_helper_common.c
drm_lease.c drm_lease.c: copy user-array safely 2023-10-09 16:59:49 +10:00
drm_legacy_misc.c
drm_legacy.h
drm_lock.c
drm_managed.c Merge drm/drm-next into drm-misc-next 2023-07-24 15:44:47 +02:00
drm_memory.c
drm_mipi_dbi.c drm/mipi-dbi: Lock SPI bus before setting D/C GPIO 2023-08-02 13:18:07 +02:00
drm_mipi_dsi.c Merge drm/drm-next into drm-misc-next 2023-07-24 15:44:47 +02:00
drm_mm.c
drm_mode_config.c drm/debugfs: remove dev->debugfs_list and debugfs_mutex v2 2023-09-01 08:53:05 +02:00
drm_mode_object.c drm/kms: log when querying an object not included in lease 2023-06-23 16:38:00 +02:00
drm_modes.c
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c
drm_panel_orientation_quirks.c drm: panel-orientation-quirks: Add quirk for Lenovo Legion Go 2023-11-15 16:57:08 +01:00
drm_panel.c drm/panel: Add a way for other devices to follow panel state 2023-08-01 07:38:13 -07:00
drm_pci.c
drm_plane_helper.c drm: Remove references to removed transitional helpers 2023-07-29 21:25:16 +02:00
drm_plane.c
drm_prime.c Revert "drm/prime: Unexport helpers for fd/handle conversion" 2023-11-30 14:46:04 -05:00
drm_print.c
drm_privacy_screen_x86.c
drm_privacy_screen.c
drm_probe_helper.c drm: Add an HPD poll helper to reschedule the poll work 2023-08-23 17:14:37 -04:00
drm_property.c
drm_rect.c
drm_scatter.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_suballoc.c
drm_syncobj.c drm/syncobj: fix DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE 2023-10-26 21:20:25 +02:00
drm_sysfs.c drm/sysfs: Register "ddc" symlink later 2023-09-15 14:46:42 +03:00
drm_trace_points.c
drm_trace.h
drm_vblank_work.c drm/vblank: Warn when silently cancelling vblank works 2023-10-03 16:01:03 +03:00
drm_vblank.c
drm_vm.c
drm_vma_manager.c
drm_writeback.c
Kconfig Linux 6.6-rc7 2023-10-23 18:20:06 +10:00
Makefile drm/gpuvm: allow building as module 2023-09-26 01:58:28 +02:00