OpenCloudOS-Kernel/drivers/gpu/drm/nouveau
Linus Torvalds aa32f11691 hmm related patches for 5.5
This is another round of bug fixing and cleanup. This time the focus is on
 the driver pattern to use mmu notifiers to monitor a VA range. This code
 is lifted out of many drivers and hmm_mirror directly into the
 mmu_notifier core and written using the best ideas from all the driver
 implementations.
 
 This removes many bugs from the drivers and has a very pleasing
 diffstat. More drivers can still be converted, but that is for another
 cycle.
 
 - A shared branch with RDMA reworking the RDMA ODP implementation
 
 - New mmu_interval_notifier API. This is focused on the use case of
   monitoring a VA and simplifies the process for drivers
 
 - A common seq-count locking scheme built into the mmu_interval_notifier
   API usable by drivers that call get_user_pages() or hmm_range_fault()
   with the VA range
 
 - Conversion of mlx5 ODP, hfi1, radeon, nouveau, AMD GPU, and Xen GntDev
   drivers to the new API. This deletes a lot of wonky driver code.
 
 - Two improvements for hmm_range_fault(), from testing done by Ralph
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEfB7FMLh+8QxL+6i3OG33FX4gmxoFAl3cCjQACgkQOG33FX4g
 mxpp8xAAiR9iOdT28m/tx1GF31XludrMhRZVIiz0vmCIxIiAkWekWEfAEVm9PDnh
 wdrxTJohSs+B65AK3sfToOM3AIuNCuFVWmbbHI5qmOO76vaSvcZa905Z++pNsawO
 Bn8mgRCprYoFHcxWLvTvnA5U0g1S2BSSOwBSZI43CbEnVvHjYAR6MnvRqfGMk+NF
 bf8fTk/x+fl0DCemhynlBLuJkogzoE2Hgl0yPY5bFna4PktOxdpa1yPaQsiqZ7e6
 2s2NtM3pbMBJk0W42q5BU+aPhiqfxFFszasPSLBduXrD2xDsG76HJdHj5VydKmfL
 nelG4BvqJozXTEZWvTEePYhCqaZ41eJZ7Asw8BXtmacVqE5mDlTXo/Zdgbz7yEOR
 mI5MVyjD5rauZJldUOWXbwrPoWVFRvboauehiSgqvxvT9HvlFp9GKObSuu4gubBQ
 mzxs4t48tPhA7bswLmw0/pETSogFuVDfaB7hsyY0gi8EwxMFMpw2qFypm1PEEF+C
 BuUxCSShzvNKrraNe5PWaNNFd3AzIwAOWJHE+poH4bCoXQVr5nA+rq2gnHkdY5vq
 /xrBCyxkf0U05YoFGYembPVCInMehzp9Xjy8V+SueSvCg2/TYwGDCgGfsbe9dNOP
 Bc40JpS7BDn5w9nyLUJmOx7jfruNV6kx1QslA7NDDrB/rzOlsEc=
 =Hj8a
 -----END PGP SIGNATURE-----

Merge tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma

Pull hmm updates from Jason Gunthorpe:
 "This is another round of bug fixing and cleanup. This time the focus
  is on the driver pattern to use mmu notifiers to monitor a VA range.
  This code is lifted out of many drivers and hmm_mirror directly into
  the mmu_notifier core and written using the best ideas from all the
  driver implementations.

  This removes many bugs from the drivers and has a very pleasing
  diffstat. More drivers can still be converted, but that is for another
  cycle.

   - A shared branch with RDMA reworking the RDMA ODP implementation

   - New mmu_interval_notifier API. This is focused on the use case of
     monitoring a VA and simplifies the process for drivers

   - A common seq-count locking scheme built into the
     mmu_interval_notifier API usable by drivers that call
     get_user_pages() or hmm_range_fault() with the VA range

   - Conversion of mlx5 ODP, hfi1, radeon, nouveau, AMD GPU, and Xen
     GntDev drivers to the new API. This deletes a lot of wonky driver
     code.

   - Two improvements for hmm_range_fault(), from testing done by Ralph"

* tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
  mm/hmm: remove hmm_range_dma_map and hmm_range_dma_unmap
  mm/hmm: make full use of walk_page_range()
  xen/gntdev: use mmu_interval_notifier_insert
  mm/hmm: remove hmm_mirror and related
  drm/amdgpu: Use mmu_interval_notifier instead of hmm_mirror
  drm/amdgpu: Use mmu_interval_insert instead of hmm_mirror
  drm/amdgpu: Call find_vma under mmap_sem
  nouveau: use mmu_interval_notifier instead of hmm_mirror
  nouveau: use mmu_notifier directly for invalidate_range_start
  drm/radeon: use mmu_interval_notifier_insert
  RDMA/hfi1: Use mmu_interval_notifier_insert for user_exp_rcv
  RDMA/odp: Use mmu_interval_notifier_insert()
  mm/hmm: define the pre-processor related parts of hmm.h even if disabled
  mm/hmm: allow hmm_range to be used with a mmu_interval_notifier or hmm_mirror
  mm/mmu_notifier: add an interval tree notifier
  mm/mmu_notifier: define the header pre-processor parts even if disabled
  mm/hmm: allow snapshot of the special zero page
2019-11-30 10:33:14 -08:00
..
dispnv04 Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
dispnv50 drm/dp_mst: Add basic topology reprobing when resuming 2019-10-24 14:29:48 -04:00
include drm/nouveau/gpio: check function 76 in the power check as well 2019-08-23 12:55:34 +10:00
nvif drm/nouveau/mmu: use struct_size() helper 2019-08-23 12:55:31 +10:00
nvkm drm main pull for 5.4-rc1 2019-09-19 16:24:24 -07:00
Kbuild drm/nouveau: fix bogus GPL-2 license header 2019-07-19 16:26:51 +10:00
Kconfig mm: remove CONFIG_MIGRATE_VMA_HELPER 2019-08-20 09:35:03 -03:00
nouveau_abi16.c drm/nouveau: remove open-coded drm_invalid_op() 2019-08-07 11:52:08 -04:00
nouveau_abi16.h drm/nouveau: remove open-coded drm_invalid_op() 2019-08-07 11:52:08 -04:00
nouveau_acpi.c drm/nouveau: fix bogus GPL-2 license header 2019-07-19 16:26:50 +10:00
nouveau_acpi.h drm/nouveau: fix bogus GPL-2 license header 2019-07-19 16:26:50 +10:00
nouveau_backlight.c drm/nouveau: register backlight on pascal and newer 2019-01-11 16:25:54 +10:00
nouveau_bios.c drm/nouveau/bios: downgrade absence of tmds table to info from an error 2019-08-23 12:55:31 +10:00
nouveau_bios.h
nouveau_bo.c drm/nouveau: Fix ordering between TTM and GEM release 2019-09-17 14:50:16 +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/svm: initial support for shared virtual memory 2019-02-20 09:00:02 +10:00
nouveau_chan.h drm/nouveau: fix bogus GPL-2 license header 2019-07-19 16:26:50 +10:00
nouveau_connector.c drm/nouveau: Don't grab runtime PM refs for HPD IRQs 2019-10-24 14:27:45 -04:00
nouveau_connector.h drm/nouveau/drm/nouveau: Don't forget to label dp_aux devices 2018-12-11 15:37:09 +10:00
nouveau_crtc.h drm/nouveau: drop drmP.h from all header files 2019-08-23 12:55:30 +10:00
nouveau_debugfs.c drm/nouveau/debugfs: Fix check of pm_runtime_get_sync failure 2019-03-22 09:57:58 +10:00
nouveau_debugfs.h drm/nouveau: drop drmP.h from all header files 2019-08-23 12:55:30 +10:00
nouveau_display.c drm/nouveau: Resume hotplug interrupts earlier 2019-10-24 14:28:06 -04:00
nouveau_display.h drm/nouveau: drop drmP.h from nouveau_drv.h 2019-08-23 12:55:30 +10:00
nouveau_dma.c drm/nouveau: drop use of DRM_UDELAY 2019-08-23 12:55:30 +10:00
nouveau_dma.h drm/nouveau/drm/nv50-: remove allocation of sw class 2018-05-18 15:01:26 +10:00
nouveau_dmem.c mm: remove the unused MIGRATE_PFN_DEVICE flag 2019-08-20 09:35:03 -03:00
nouveau_dmem.h nouveau: remove a few function stubs 2019-08-20 09:35:03 -03:00
nouveau_dp.c drm/nouveau: drop use of drmp.h 2019-08-23 12:55:31 +10:00
nouveau_drm.c hmm related patches for 5.4 2019-09-21 10:07:42 -07:00
nouveau_drv.h drm/nouveau/dispnv50: Fix runtime PM ref tracking for non-blocking modesets 2019-08-23 12:55:34 +10:00
nouveau_encoder.h drm/nouveau/kms/nv50: handle SetControlOutputResource from head 2018-05-18 15:01:28 +10:00
nouveau_fbcon.c drm/nouveau: drop use of drmp.h 2019-08-23 12:55:31 +10:00
nouveau_fbcon.h drm/nouveau: Use drm_fb_helper_fill_info 2019-03-27 10:03:16 +01:00
nouveau_fence.c drm/nouveau: drop use of drmp.h 2019-08-23 12:55:31 +10:00
nouveau_fence.h drm/nouveau: fix bogus GPL-2 license header 2019-07-19 16:26:50 +10:00
nouveau_gem.c drm/nouveau: Fix ordering between TTM and GEM release 2019-09-17 14:50:16 +10:00
nouveau_gem.h drm/nouveau: drop drmP.h from all header files 2019-08-23 12:55:30 +10:00
nouveau_hwmon.c drm/nouveau: drop use of drmp.h 2019-08-23 12:55:31 +10:00
nouveau_hwmon.h
nouveau_ioc32.c drm/nouveau: drop use of drmp.h 2019-08-23 12:55:31 +10:00
nouveau_ioctl.h drm/nouveau: fix bogus GPL-2 license header 2019-07-19 16:26:50 +10:00
nouveau_led.c
nouveau_led.h
nouveau_mem.c
nouveau_mem.h
nouveau_nvif.c
nouveau_platform.c drm/nouveau: Replace drm_dev_unref with drm_dev_put 2018-07-16 18:06:30 +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 drm/nouveau: fix bogus GPL-2 license header 2019-07-19 16:26:50 +10:00
nouveau_sgdma.c drm/nouveau: fix bogus GPL-2 license header 2019-07-19 16:26:50 +10:00
nouveau_svm.c nouveau: use mmu_interval_notifier instead of hmm_mirror 2019-11-23 19:56:44 -04:00
nouveau_svm.h drm/nouveau/svm: new ioctl to migrate process memory to GPU memory 2019-02-20 09:00:03 +10:00
nouveau_ttm.c drm/nouveau: switch to gem vma offset manager 2019-09-11 08:03:23 +02:00
nouveau_ttm.h drm/nouveau: fix bogus GPL-2 license header 2019-07-19 16:26:50 +10:00
nouveau_usif.c
nouveau_usif.h drm/nouveau: fix bogus GPL-2 license header 2019-07-19 16:26:50 +10:00
nouveau_vga.c drm/nouveau: drop use of drmp.h 2019-08-23 12:55:31 +10:00
nouveau_vga.h drm/nouveau: fix bogus GPL-2 license header 2019-07-19 16:26:50 +10:00
nouveau_vmm.c drm/nouveau/svm: initial support for shared virtual memory 2019-02-20 09:00:02 +10:00
nouveau_vmm.h drm/nouveau/svm: initial support for shared virtual memory 2019-02-20 09:00:02 +10:00
nv04_fbcon.c
nv04_fence.c drm/nouveau/fifo: support channel count query 2018-05-18 15:01:21 +10:00
nv10_fence.c drm/nouveau/fifo: support channel count query 2018-05-18 15:01:21 +10:00
nv10_fence.h drm/nouveau: fix bogus GPL-2 license header 2019-07-19 16:26:50 +10:00
nv17_fence.c drm/nouveau/fifo: support channel count query 2018-05-18 15:01:21 +10:00
nv50_display.h drm/nouveau/kms/nv50-: split each resource type into their own source files 2018-05-18 15:01:28 +10:00
nv50_fbcon.c
nv50_fence.c drm/nouveau/fifo: support channel count query 2018-05-18 15:01:21 +10:00
nv84_fence.c drm/nouveau: prepare for enabling svm with existing userspace interfaces 2019-02-20 09:00:01 +10:00
nvc0_fbcon.c
nvc0_fence.c