1
0
Fork 0
alistair23-linux/drivers/gpu/drm/nouveau
Jason Gunthorpe cc5dfd59e3 Merge branch 'hmm-devmem-cleanup.4' into rdma.git hmm
Christoph Hellwig says:

====================
Below is a series that cleans up the dev_pagemap interface so that it is
more easily usable, which removes the need to wrap it in hmm and thus
allowing to kill a lot of code

Changes since v3:
 - pull in "mm/swap: Fix release_pages() when releasing devmap pages" and
   rebase the other patches on top of that
 - fold the hmm_devmem_add_resource into the DEVICE_PUBLIC memory removal
   patch
 - remove _vm_normal_page as it isn't needed without DEVICE_PUBLIC memory
 - pick up various ACKs

Changes since v2:
 - fix nvdimm kunit build
 - add a new memory type for device dax
 - fix a few issues in intermediate patches that didn't show up in the end
   result
 - incorporate feedback from Michal Hocko, including killing of
   the DEVICE_PUBLIC memory type entirely

Changes since v1:
 - rebase
 - also switch p2pdma to the internal refcount
 - add type checking for pgmap->type
 - rename the migrate method to migrate_to_ram
 - cleanup the altmap_valid flag
 - various tidbits from the reviews
====================

Conflicts resolved by:
 - Keeping Ira's version of the code in swap.c
 - Using the delete for the section in hmm.rst
 - Using the delete for the devmap code in hmm.c and .h

* branch 'hmm-devmem-cleanup.4': (24 commits)
  mm: don't select MIGRATE_VMA_HELPER from HMM_MIRROR
  mm: remove the HMM config option
  mm: sort out the DEVICE_PRIVATE Kconfig mess
  mm: simplify ZONE_DEVICE page private data
  mm: remove hmm_devmem_add
  mm: remove hmm_vma_alloc_locked_page
  nouveau: use devm_memremap_pages directly
  nouveau: use alloc_page_vma directly
  PCI/P2PDMA: use the dev_pagemap internal refcount
  device-dax: use the dev_pagemap internal refcount
  memremap: provide an optional internal refcount in struct dev_pagemap
  memremap: replace the altmap_valid field with a PGMAP_ALTMAP_VALID flag
  memremap: remove the data field in struct dev_pagemap
  memremap: add a migrate_to_ram method to struct dev_pagemap_ops
  memremap: lift the devmap_enable manipulation into devm_memremap_pages
  memremap: pass a struct dev_pagemap to ->kill and ->cleanup
  memremap: move dev_pagemap callbacks into a separate structure
  memremap: validate the pagemap type passed to devm_memremap_pages
  mm: factor out a devm_request_free_mem_region helper
  mm: export alloc_pages_vma
  ...

Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2019-07-02 15:10:45 -03:00
..
dispnv04 treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
dispnv50 treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
include drm/nouveau/core: support versioned firmware loading 2019-06-07 15:13:58 +10:00
nvif treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
nvkm Merge branch 'linux-5.2' of git://github.com/skeggsb/linux into drm-fixes 2019-06-07 17:16:00 +10:00
Kbuild treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
Kconfig mm: don't select MIGRATE_VMA_HELPER from HMM_MIRROR 2019-07-02 14:32:45 -03:00
nouveau_abi16.c drm/nouveau: prepare for enabling svm with existing userspace interfaces 2019-02-20 09:00:01 +10:00
nouveau_abi16.h
nouveau_acpi.c drm/nouveau: fix nouveau_dsm_get_client_id()'s return type 2018-05-18 17:09:46 +10:00
nouveau_acpi.h
nouveau_backlight.c drm/nouveau: register backlight on pascal and newer 2019-01-11 16:25:54 +10:00
nouveau_bios.c
nouveau_bios.h
nouveau_bo.c drm/nouveau: prepare for enabling svm with existing userspace interfaces 2019-02-20 09:00:01 +10:00
nouveau_bo.h drm/nouveau: Replace ttm_bo_unref with ttm_bo_put 2019-01-28 11:43:11 -05: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: prepare for enabling svm with existing userspace interfaces 2019-02-20 09:00:01 +10:00
nouveau_connector.c drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01: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
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
nouveau_display.c drm/nouveau: Remove duplicate ACPI_VIDEO_NOTIFY_PROBE definition 2019-05-01 11:08:39 +10:00
nouveau_display.h drm/nouveau/kms/nv04-nv4x: move resume code to dispnv04 init hook 2019-02-20 08:59:59 +10:00
nouveau_dma.c drm/nouveau/fifo/gv100: return work submission token in channel ctor args 2018-12-11 15:37:49 +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: simplify ZONE_DEVICE page private data 2019-07-02 14:32:45 -03:00
nouveau_dmem.h drm/nouveau/dmem: device memory helpers for SVM 2019-02-20 09:00:02 +10:00
nouveau_dp.c
nouveau_drm.c drm/nouveau/core: allow detected chipset to be overridden 2019-05-14 16:58:06 +10:00
nouveau_drv.h drm/ttm: Define a single DRM_FILE_PAGE_OFFSET constant 2019-03-19 15:03:53 -05: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: Use drm_fb_helper_fill_info 2019-03-27 10:03:16 +01:00
nouveau_fbcon.h drm/nouveau: Use drm_fb_helper_fill_info 2019-03-27 10:03:16 +01:00
nouveau_fence.c dma-buf: allow reserving more than one shared fence slot 2018-10-25 13:45:07 +02:00
nouveau_fence.h drm/nouveau/kms/nv04-nv4x: move a bunch of pre-nv50 page flip code to dispnv04 2019-02-20 08:59:59 +10:00
nouveau_gem.c drm/nouveau: prepare for enabling svm with existing userspace interfaces 2019-02-20 09:00:01 +10:00
nouveau_gem.h
nouveau_hwmon.c drm/nouveau/hwmon: potential uninitialized variables 2018-07-16 18:06:29 +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: Replace drm_dev_unref with drm_dev_put 2018-07-16 18:06:30 +10:00
nouveau_platform.h
nouveau_prime.c
nouveau_reg.h
nouveau_sgdma.c
nouveau_svm.c mm/hmm: Use hmm_mirror not mm as an argument for hmm_range_register 2019-06-10 10:10:30 -03: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/ttm: Quick-test mmap offset in ttm_bo_mmap() 2019-03-19 15:03:53 -05:00
nouveau_ttm.h
nouveau_usif.c
nouveau_usif.h
nouveau_vga.c drm/nouveau: Remove useless poll_disable() call in switcheroo_set_state() 2018-09-07 06:54:26 +10:00
nouveau_vga.h
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
nv10_fence.c
nv10_fence.h
nv17_fence.c
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
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