linux_dsm_epyc7002/drivers/gpu/drm/nouveau
Ben Skeggs f29f18eb95 drm/nouveau: avoid GPU page sizes > PAGE_SIZE for buffer objects in host memory
While the Tegra (GK20A, GM20B, GP10B) MMUs support large pages in host
memory, we're currently lacking IOMMU support for merging system pages
into large enough chunks to be mapped as such by the GPU.

The core VMM code actually supports automatically determining the best
page size to map with, which is intended for these situations, but for
various complicated reasons the DRM is currently forcing the page size
selection on a per-BO basis.

This should fix breakage reported on Tegra GPUs in the meantime, until
one or both of the above issues are resolved properly.

Reported-by: Mikko Perttunen <cyndis@kapsi.fi>
Fixes: 7dc6a446da ("drm/nouveau: improve selection of GPU page size")
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Tested-by: Thierry Reding <treding@nvidia.com>
2017-12-19 10:16:37 +10:00
..
dispnv04 drm/nouveau/core/object: allow arguments to be passed to map function 2017-11-02 13:32:16 +10:00
include drm/nouveau/mmu: remove old vmm frontend 2017-11-02 13:32:33 +10:00
nvif drm/nouveau/mmu: define user interfaces to mmu vmm opertaions 2017-11-02 13:32:31 +10:00
nvkm drm/nouveau/mmu/gp10b: use correct implementation 2017-12-19 10:16:37 +10:00
Kbuild drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
Kconfig drm/nouveau/mmu: implement new vmm backend 2017-11-02 13:32:27 +10:00
nouveau_abi16.c drm/nouveau: remove trivial cases of nvxx_device() usage 2017-11-02 13:32:32 +10:00
nouveau_abi16.h drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_acpi.c ACPI: Switch to use generic guid_t in acpi_evaluate_dsm() 2017-06-07 12:20:49 +02:00
nouveau_acpi.h
nouveau_backlight.c
nouveau_bios.c drm/nouveau/bios: make const arrays hwsq_signature and edid_sig static 2017-11-03 09:12:10 +10:00
nouveau_bios.h
nouveau_bo.c drm/nouveau: avoid GPU page sizes > PAGE_SIZE for buffer objects in host memory 2017-12-19 10:16:37 +10:00
nouveau_bo.h drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_chan.c drm/nouveau: switch over to new memory and vmm interfaces 2017-11-02 13:32:33 +10:00
nouveau_chan.h drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_connector.c drm: Pass struct drm_file * to __drm_mode_object_find [v2] 2017-10-12 10:03:04 +10:00
nouveau_connector.h
nouveau_crtc.h drm: nouveau: remove dead code and pointless local lut storage 2017-08-04 11:36:11 +02:00
nouveau_debugfs.c
nouveau_debugfs.h
nouveau_display.c drm/nouveau/kms/nv04-nv40: prevent undisplayable framebuffers from creation 2017-08-22 18:04:34 +10:00
nouveau_display.h drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_dma.c drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_dma.h drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nouveau_dp.c
nouveau_drm.c drm/nouveau/mmu: remove old vmm frontend 2017-11-02 13:32:33 +10:00
nouveau_drv.h drm/nouveau/mmu: remove old vmm frontend 2017-11-02 13:32:33 +10:00
nouveau_encoder.h drm/nouveau/disp: introduce acquire/release display path methods 2017-06-16 14:04:57 +10:00
nouveau_fbcon.c drm/nouveau/fbcon: fix NULL pointer access in nouveau_fbcon_destroy 2017-12-19 10:16:37 +10:00
nouveau_fbcon.h
nouveau_fence.c drm/nouveau: remove unused nouveau_fence_work() 2017-11-02 13:32:33 +10:00
nouveau_fence.h drm/nouveau: remove unused nouveau_fence_work() 2017-11-02 13:32:33 +10:00
nouveau_gem.c drm/nouveau/mmu: remove old vmm frontend 2017-11-02 13:32:33 +10:00
nouveau_gem.h drm/nouveau: split various bo flags out into their own members 2017-11-02 13:32:20 +10:00
nouveau_hwmon.c drm/nouveau/hwmon: Change permissions to numeric 2017-06-16 14:05:03 +10:00
nouveau_hwmon.h
nouveau_ioc32.c
nouveau_ioctl.h
nouveau_led.c
nouveau_led.h
nouveau_mem.c drm/nouveau: switch over to new memory and vmm interfaces 2017-11-02 13:32:33 +10:00
nouveau_mem.h drm/nouveau: switch over to new memory and vmm interfaces 2017-11-02 13:32:33 +10:00
nouveau_nvif.c
nouveau_platform.c
nouveau_platform.h
nouveau_prime.c
nouveau_reg.h
nouveau_sgdma.c drm/nouveau: switch over to new memory and vmm interfaces 2017-11-02 13:32:33 +10:00
nouveau_ttm.c drm/nouveau: switch over to new memory and vmm interfaces 2017-11-02 13:32:33 +10:00
nouveau_ttm.h
nouveau_usif.c
nouveau_usif.h
nouveau_vga.c drm/nouveau: Skip vga_fini on non-PCI device 2017-06-16 14:05:04 +10:00
nouveau_vga.h
nouveau_vmm.c drm/nouveau/mmu: remove old vmm frontend 2017-11-02 13:32:33 +10:00
nouveau_vmm.h drm/nouveau/mmu: remove old vmm frontend 2017-11-02 13:32:33 +10:00
nv04_fbcon.c
nv04_fence.c
nv10_fence.c
nv10_fence.h
nv17_fence.c
nv50_display.c drm/nouveau: split various bo flags out into their own members 2017-11-02 13:32:20 +10:00
nv50_display.h
nv50_fbcon.c drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nv50_fence.c
nv84_fence.c drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nvc0_fbcon.c drm/nouveau: separate constant-va tracking from nvkm vma structure 2017-11-02 13:32:21 +10:00
nvc0_fence.c