linux-stable/drivers/gpu/drm/radeon
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
..
reg_srcs
.gitignore
atom-bits.h
atom-names.h
atom-types.h
atom.c drm/radeon: drop drmP.h from header files 2019-06-10 22:30:24 +02:00
atom.h drm/radeon: drop drmP.h from header files 2019-06-10 22:30:24 +02:00
atombios.h
atombios_crtc.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
atombios_dp.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
atombios_encoders.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
atombios_i2c.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
avivod.h
btc_dpm.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
btc_dpm.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
btcd.h
cayman_blit_shaders.c
cayman_blit_shaders.h
ci_dpm.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
ci_dpm.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
ci_smc.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
cik.c drm/radeon: fix bad DMA from INTERRUPT_CNTL2 2019-11-22 14:35:10 -05:00
cik_blit_shaders.c
cik_blit_shaders.h
cik_reg.h
cik_sdma.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
cikd.h
clearstate_cayman.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
clearstate_ci.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
clearstate_defs.h
clearstate_evergreen.h
clearstate_si.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
cypress_dpm.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
cypress_dpm.h
dce3_1_afmt.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
dce6_afmt.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
evergreen.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
evergreen_blit_shaders.c
evergreen_blit_shaders.h
evergreen_cs.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
evergreen_dma.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
evergreen_hdmi.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
evergreen_reg.h
evergreen_smc.h
evergreend.h
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
kv_dpm.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
kv_dpm.h
kv_smc.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
Makefile
mkregtable.c drm/radeon: change SPDX identifier to MIT 2018-10-15 16:16:12 -05:00
ni.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
ni_dma.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
ni_dpm.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
ni_dpm.h
ni_reg.h
nid.h
nislands_smc.h
ObjectID.h
ppsmc.h
pptable.h
r100.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
r100_track.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
r100d.h
r200.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
r300.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
r300_reg.h
r300d.h
r420.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
r420d.h
r500_reg.h
r520.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
r520d.h
r600.c drm/radeon: fix bad DMA from INTERRUPT_CNTL2 2019-11-22 14:35:10 -05:00
r600_blit_shaders.c
r600_blit_shaders.h
r600_cs.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
r600_dma.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
r600_dpm.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
r600_dpm.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
r600_hdmi.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
r600_reg.h drm/radeon: enable ABGR and XBGR formats (v2) 2018-08-27 11:10:19 -05:00
r600d.h
radeon.h drm/radeon: use mmu_interval_notifier_insert 2019-11-23 19:56:44 -04:00
radeon_acpi.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_acpi.h
radeon_agp.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_asic.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_asic.h dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
radeon_atombios.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_atpx_handler.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 191 2019-05-30 11:29:21 -07:00
radeon_audio.c drm/radeon: be quiet when no SAD block is found 2019-09-16 10:42:56 -05:00
radeon_audio.h
radeon_benchmark.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
radeon_bios.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_clocks.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_combios.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_connectors.c Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
radeon_cs.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
radeon_cursor.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_device.c hmm related patches for 5.4 2019-09-21 10:07:42 -07:00
radeon_display.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
radeon_dp_auxch.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_dp_mst.c drm/dp_mst: Protect drm_dp_mst_port members with locking 2019-10-24 14:25:47 -04:00
radeon_drv.c drm/radeon: Clean up code in radeon_pci_shutdown() 2019-11-11 17:38:13 -05:00
radeon_drv.h drm/radeon: drop unused ati pcigart include. 2019-04-24 12:32:14 +10:00
radeon_encoders.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_family.h
radeon_fb.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_fence.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_gart.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_gem.c drm/ttm: always keep BOs on the LRU 2019-10-25 11:40:50 +02:00
radeon_i2c.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_ib.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_irq_kms.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_kms.c drm/radeon: Bail earlier when radeon.cik_/si_support=0 is passed 2019-09-17 14:37:27 -05:00
radeon_legacy_crtc.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_legacy_encoders.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_legacy_tv.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_mn.c drm/radeon: use mmu_interval_notifier_insert 2019-11-23 19:56:44 -04:00
radeon_mode.h drm/radeon: radeon_framebuffer -> drm_framebuffer 2018-04-11 13:07:56 -05:00
radeon_object.c drm/ttm: always keep BOs on the LRU 2019-10-25 11:40:50 +02:00
radeon_object.h dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
radeon_pm.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_prime.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
radeon_reg.h
radeon_ring.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_sa.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_semaphore.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_sync.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
radeon_test.c drm/radeon: switch driver from bo->resv to bo->base.resv 2019-08-06 08:21:54 +02:00
radeon_trace.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
radeon_trace_points.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_ttm.c Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
radeon_ucode.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_ucode.h
radeon_uvd.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
radeon_vce.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_vm.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
rs100d.h
rs400.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
rs400d.h
rs600.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
rs600d.h
rs690.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
rs690d.h
rs780_dpm.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
rs780_dpm.h
rs780d.h
rv6xx_dpm.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
rv6xx_dpm.h
rv6xxd.h
rv200d.h
rv250d.h
rv350d.h
rv515.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
rv515d.h
rv730_dpm.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
rv730d.h
rv740_dpm.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
rv740d.h
rv770.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
rv770_dma.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
rv770_dpm.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
rv770_dpm.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
rv770_smc.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
rv770_smc.h
rv770d.h
si.c drm/radeon: fix bad DMA from INTERRUPT_CNTL2 2019-11-22 14:35:10 -05:00
si_blit_shaders.c
si_blit_shaders.h
si_dma.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
si_dpm.c drm/radeon: fix si_enable_smc_cac() failed issue 2019-11-06 16:27:48 -05:00
si_dpm.h
si_reg.h
si_smc.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
sid.h
sislands_smc.h
smu7.h
smu7_discrete.h
smu7_fusion.h
sumo_dpm.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
sumo_dpm.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
sumo_smc.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
sumod.h
trinity_dpm.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
trinity_dpm.h
trinity_smc.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
trinityd.h
uvd_v1_0.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
uvd_v2_2.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
uvd_v3_1.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
uvd_v4_2.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
vce_v1_0.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
vce_v2_0.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00