linux_dsm_epyc7002/drivers/gpu/drm/nouveau
Lyude Paul 4a2cb4181b drm/nouveau/kms/nv50-: Probe SOR and PIOR caps for DP interlacing support
Right now, we make the mistake of allowing interlacing on all
connectors. Nvidia hardware does not always support interlacing with DP
though, so we need to make sure that we don't allow interlaced modes to
be set in such situations as otherwise we'll end up accidentally hanging
the display HW.

This fixes some hangs with Turing, which would be caused by attempting
to set an interlaced mode on hardware that doesn't support it. This
patch likely fixes other hardware hanging in the same way as well.

Note that we say we probe PIOR caps, but they don't actually have any
interlacing caps. So, the get_caps() function for PIORs just sets
interlacing support to true.

Changes since v1:
* Actually probe caps correctly this time, both on EVO and NVDisplay.
Changes since v2:
* Fix probing for < GF119
* Use vfunc table, in prep for adding more caps in the future.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-05-22 11:13:51 +10:00
..
dispnv04 drm/nouveau/kms: Remove field nvbo from struct nouveau_framebuffer 2020-05-22 11:11:14 +10:00
dispnv50 drm/nouveau/kms/nv50-: Probe SOR and PIOR caps for DP interlacing support 2020-05-22 11:13:51 +10:00
include drm/nouveau/disp/gv100-: expose capabilities class 2020-05-22 11:13:49 +10:00
nvif drm/nouveau/nvif: protect waits against GPU falling off the bus 2020-04-07 14:37:50 +10:00
nvkm drm/nouveau/disp/hda/gv100-: NV_PDISP_SF_AUDIO_CNTRL0 register moved 2020-05-22 11:13:51 +10:00
Kbuild drm/nouveau: fix out-of-tree module build 2020-05-22 11:11:14 +10:00
Kconfig drm/nouveau: Add HD-audio component notifier support 2020-01-29 15:49:46 +10:00
nouveau_abi16.c
nouveau_abi16.h
nouveau_acpi.c drm/nouveau: Use generic helper to check _PR3 presence 2020-05-22 11:13:50 +10:00
nouveau_acpi.h drm/nouveau/bios: move ACPI _ROM handling 2020-05-22 11:13:49 +10:00
nouveau_backlight.c
nouveau_bios.c
nouveau_bios.h
nouveau_bo.c drm/nouveau/ttm: evict other IO mappings when running out of BAR1 space 2020-04-07 14:37:49 +10:00
nouveau_bo.h drm/nouveau: Fix fallout from reservation object rework 2019-09-17 14:50:15 +10:00
nouveau_chan.c drm/nouveau: signal pending fences when channel has been killed 2020-01-29 15:49:47 +10:00
nouveau_chan.h
nouveau_connector.c drm/nouveau/kms/nv50-: Probe SOR and PIOR caps for DP interlacing support 2020-05-22 11:13:51 +10:00
nouveau_connector.h drm/nouveau: Fix drm-core using atomic code-paths on pre-nv50 hardware 2019-12-10 21:34:52 +10:00
nouveau_crtc.h
nouveau_debugfs.c drm/nouveau: remove checks for return value of debugfs functions 2020-04-07 14:37:49 +10:00
nouveau_debugfs.h drm: convert .debugfs_init() hook to return void. 2020-03-18 17:53:28 +01:00
nouveau_display.c drm/nouveau/kms: Support NVIDIA format modifiers 2020-05-22 11:11:16 +10:00
nouveau_display.h drm/nouveau/kms: Support NVIDIA format modifiers 2020-05-22 11:11:16 +10:00
nouveau_dma.c
nouveau_dma.h
nouveau_dmem.c drm/nouveau/svm: map pages after migration 2020-05-22 11:13:49 +10:00
nouveau_dmem.h drm/nouveau/svm: map pages after migration 2020-05-22 11:13:49 +10:00
nouveau_dp.c
nouveau_drm.c drm/nouveau: remove open-coded version of remove_conflicting_pci_framebuffers() 2020-05-22 11:13:49 +10:00
nouveau_drv.h drm/nouveau: workaround runpm fail by disabling PCI power management on certain intel bridges 2020-04-07 14:37:50 +10:00
nouveau_encoder.h drm/nouveau/kms/nv50-: Probe SOR and PIOR caps for DP interlacing support 2020-05-22 11:13:51 +10:00
nouveau_fbcon.c drm/nouveau/kms: Remove struct nouveau_framebuffer 2020-05-22 11:11:15 +10:00
nouveau_fbcon.h drm/nouveau/kms: Move struct nouveau_framebuffer.vma to struct nouveau_fbdev 2020-05-22 11:11:14 +10:00
nouveau_fence.c drm/nouveau: signal pending fences when channel has been killed 2020-01-29 15:49:47 +10:00
nouveau_fence.h drm/nouveau: signal pending fences when channel has been killed 2020-01-29 15:49:47 +10:00
nouveau_gem.c drm/nouveau: support synchronous pushbuf submission 2020-01-29 15:49:56 +10:00
nouveau_gem.h
nouveau_hwmon.c drm/nouveau: use NULL for pointer assignment. 2020-01-15 10:49:59 +10:00
nouveau_hwmon.h
nouveau_ioc32.c
nouveau_ioctl.h
nouveau_led.c
nouveau_led.h
nouveau_mem.c
nouveau_mem.h
nouveau_nvif.c
nouveau_platform.c drm/nouveau/gr/gk20a: move MODULE_FIRMWARE firmware definitions 2020-05-22 11:13:49 +10:00
nouveau_platform.h
nouveau_prime.c drm/nouveau/prime: Extend DMA reservation object lock 2019-09-17 14:50:15 +10:00
nouveau_reg.h
nouveau_sgdma.c
nouveau_svm.c drm/nouveau/svm: map pages after migration 2020-05-22 11:13:49 +10:00
nouveau_svm.h drm/nouveau/svm: map pages after migration 2020-05-22 11:13:49 +10:00
nouveau_ttm.c drm/nouveau/drm/ttm: Remove set but not used variable 'mem' 2020-01-15 10:50:25 +10:00
nouveau_ttm.h
nouveau_usif.c
nouveau_usif.h
nouveau_vga.c drm: Avoid drm_global_mutex for simple inc/dec of dev->open_count 2020-01-24 17:41:34 +00:00
nouveau_vga.h
nouveau_vmm.c drm/nouveau: zero vma pointer even if we only unreference it rather than free 2020-01-29 15:49:46 +10:00
nouveau_vmm.h
nv04_fbcon.c
nv04_fence.c
nv10_fence.c
nv10_fence.h
nv17_fence.c
nv50_display.h
nv50_fbcon.c drm/nouveau/kms: Move struct nouveau_framebuffer.vma to struct nouveau_fbdev 2020-05-22 11:11:14 +10:00
nv50_fence.c
nv84_fence.c
nvc0_fbcon.c drm/nouveau/kms: Move struct nouveau_framebuffer.vma to struct nouveau_fbdev 2020-05-22 11:11:14 +10:00
nvc0_fence.c