linux/drivers/gpu/drm/nouveau
Lyude Paul d3999c1f7b drm/nouveau/kms/nve4-nv108: Limit cursors to 128x128
While Kepler does technically support 256x256 cursors, it turns out that
Kepler actually has some additional requirements for scanout surfaces that
we're not enforcing correctly, which aren't present on Maxwell and later.
Cursor surfaces must always use small pages (4K), and overlay surfaces must
always use large pages (128K).

Fixing this correctly though will take a bit more work: as we'll need to
add some code in prepare_fb() to move cursor FBs in large pages to small
pages, and vice-versa for overlay FBs. So until we have the time to do
that, just limit cursor surfaces to 128x128 - a size small enough to always
default to small pages.

This means small ovlys are still broken on Kepler, but it is extremely
unlikely anyone cares about those anyway :).

Signed-off-by: Lyude Paul <lyude@redhat.com>
Fixes: d3b2f0f792 ("drm/nouveau/kms/nv50-: Report max cursor size to userspace")
Cc: <stable@vger.kernel.org> # v5.11+
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2021-03-25 10:00:04 +10:00
..
dispnv04 drm/nouveau: Remove references to struct drm_device.pdev 2021-01-13 09:04:04 +01:00
dispnv50 drm/nouveau/kms/nve4-nv108: Limit cursors to 128x128 2021-03-25 10:00:04 +10:00
include drm pull for 5.12-rc1 2021-02-21 14:44:44 -08:00
nvif drm/nouveau/fifo/gk104-: remove use of subdev index in runlist topology info 2021-02-11 11:49:58 +10:00
nvkm drm/nouveau/fifo/gk104-gp1xx: fix creation of sw class 2021-03-02 21:48:42 +10:00
Kbuild drm/nouveau/bo: split buffer move functions into their own source files 2020-07-24 18:50:56 +10:00
Kconfig drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends 2020-11-09 09:19:24 +01:00
nouveau_abi16.c drm/nouveau/fifo/gk104-: remove use of subdev index in runlist topology info 2021-02-11 11:49:58 +10:00
nouveau_abi16.h
nouveau_acpi.c drm/nouveau: Remove references to struct drm_device.pdev 2021-01-13 09:04:04 +01:00
nouveau_acpi.h drm/nouveau/bios: move ACPI _ROM handling 2020-05-22 11:13:49 +10:00
nouveau_backlight.c drm/nouveau/core: recognise GA10[024] 2021-01-15 10:25:17 +10:00
nouveau_bios.c drm/nouveau: remove set but not used variable ‘pdev’ in nouveau_bios_init 2021-02-09 17:16:57 +01:00
nouveau_bios.h
nouveau_bo.c nouveau: Skip unvailable ttm page entries 2021-03-19 10:38:31 +10:00
nouveau_bo.h drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends 2020-11-09 09:19:24 +01:00
nouveau_bo0039.c Merge drm/drm-next into drm-misc-next 2020-08-12 20:42:08 +02:00
nouveau_bo74c1.c Merge drm/drm-next into drm-misc-next 2020-08-12 20:42:08 +02:00
nouveau_bo85b5.c Merge drm/drm-next into drm-misc-next 2020-08-12 20:42:08 +02:00
nouveau_bo90b5.c Merge drm/drm-next into drm-misc-next 2020-08-12 20:42:08 +02:00
nouveau_bo5039.c Merge drm/drm-next into drm-misc-next 2020-08-12 20:42:08 +02:00
nouveau_bo9039.c Merge drm/drm-next into drm-misc-next 2020-08-12 20:42:08 +02:00
nouveau_boa0b5.c Merge drm/drm-next into drm-misc-next 2020-08-12 20:42:08 +02:00
nouveau_chan.c drm/nouveau/fifo/gk104-: remove use of subdev index in runlist topology info 2021-02-11 11:49:58 +10:00
nouveau_chan.h drm/nouveau: interop with new push macros 2020-07-24 18:50:56 +10:00
nouveau_connector.c drm/nouveau/kms: handle mDP connectors 2021-01-29 16:49:15 +10:00
nouveau_connector.h drm/nouveau/kms: Only use hpd_work for reprobing in HPD paths 2020-08-31 19:10:08 -04:00
nouveau_crtc.h
nouveau_debugfs.c drm/nouveau/nvif: give every object a human-readable identifier 2020-07-24 18:50:50 +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/ttm: cleanup BO size handling v3 2020-12-14 14:20:46 +01:00
nouveau_display.h drm/nouveau/kms: Only use hpd_work for reprobing in HPD paths 2020-08-31 19:10:08 -04:00
nouveau_dma.c drm/nouveau/fbcon: convert imageblit() to new push macros 2020-07-24 18:50:56 +10:00
nouveau_dma.h drm/nouveau/fence: use NVIDIA's headers for sync() 2020-07-24 18:51:04 +10:00
nouveau_dmem.c drm next for 5.10-rc1 2020-10-15 10:46:16 -07:00
nouveau_dmem.h drm pull for 5.8-rc1 2020-06-02 15:04:15 -07:00
nouveau_dp.c drm/nouveau/kms/nv50-: Fix clock checking algorithm in nv50_dp_mode_valid() 2020-10-30 09:34:13 +10:00
nouveau_drm.c drm/nouveau/fifo/gk104-: remove use of subdev index in runlist topology info 2021-02-11 11:49:58 +10:00
nouveau_drv.h drm/nouveau/kms/nv50-: Fix locking for audio callbacks 2021-01-29 16:49:14 +10:00
nouveau_encoder.h drm/nouveau/kms/nv50-: Fix locking for audio callbacks 2021-01-29 16:49:14 +10:00
nouveau_fbcon.c drm/nouveau: Remove references to struct drm_device.pdev 2021-01-13 09:04:04 +01: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/nvif: give every notify object a human-readable name 2020-07-24 18:50:51 +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 for 5.11-rc1 2020-12-14 11:07:56 -08:00
nouveau_gem.h drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends 2020-11-09 09:19:24 +01:00
nouveau_hwmon.c
nouveau_hwmon.h
nouveau_ioc32.c
nouveau_ioctl.h
nouveau_led.c
nouveau_led.h
nouveau_mem.c Merge drm/drm-next into drm-misc-next 2020-11-02 11:17:54 +01:00
nouveau_mem.h drm/ttm: merge ttm_dma_tt back into ttm_tt 2020-10-26 14:45:42 +01:00
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/ttm: cleanup BO size handling v3 2020-12-14 14:20:46 +01:00
nouveau_reg.h
nouveau_sgdma.c drm/nouveau: stop using pages with drm_prime_sg_to_page_addr_arrays v2 2020-11-30 15:00:02 +01:00
nouveau_svm.c drm/nouveau/svm: fail NOUVEAU_SVM_INIT ioctl on unsupported devices 2021-01-29 11:03:11 +10:00
nouveau_svm.h nouveau/svm: use the new migration invalidation 2020-07-28 16:20:33 -03:00
nouveau_ttm.c drm/nouveau/ttm: Add limits.h 2020-11-02 11:54:44 +01:00
nouveau_ttm.h drm/nouveau/ttm: use driver bind/unbind/destroy functions. 2020-09-09 08:30:11 +10:00
nouveau_usif.c
nouveau_usif.h
nouveau_vga.c drm/nouveau: Remove references to struct drm_device.pdev 2021-01-13 09:04:04 +01:00
nouveau_vga.h
nouveau_vmm.c drm/nouveau/nvif: give every vmm object a human-readable identifier 2020-07-24 18:50:51 +10:00
nouveau_vmm.h
nv04_fbcon.c drm/nouveau/fbcon: convert copyarea() to new push macros 2020-07-24 18:50:56 +10:00
nv04_fence.c drm/nouveau/fence: convert emit() to new push macros 2020-07-24 18:50:58 +10:00
nv10_fence.c drm/nouveau/fence: use NVIDIA's headers for read() 2020-07-24 18:51:04 +10:00
nv10_fence.h
nv17_fence.c drm/ttm: cleanup BO size handling v3 2020-12-14 14:20:46 +01:00
nv50_display.h
nv50_fbcon.c drm/nouveau/fbcon/nv50-: use NVIDIA's headers for fillrect() 2020-07-24 18:51:04 +10:00
nv50_fence.c drm/ttm: cleanup BO size handling v3 2020-12-14 14:20:46 +01:00
nv84_fence.c drm/nouveau: stop using TTM placement flags 2020-09-11 13:31:23 +02:00
nvc0_fbcon.c drm/nouveau/fbcon/nv50-: use NVIDIA's headers for fillrect() 2020-07-24 18:51:04 +10:00
nvc0_fence.c drm/nouveau/fence: use NVIDIA's headers for sync() 2020-07-24 18:51:04 +10:00