linux/Documentation/gpu
Matthew Brost f86ad0ed62 drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap
The migration functionality and track-keeping of per-pagemap VRAM
mapped to the CPU mm is not per GPU_vm, but rather per pagemap.
This is also reflected by the functions not needing the drm_gpusvm
structures. So move to drm_pagemap.

With this, drm_gpusvm shouldn't really access the page zone-device-data
since its meaning is internal to drm_pagemap. Currently it's used to
reject mapping ranges backed by multiple drm_pagemap allocations.
For now, make the zone-device-data a void pointer.

Alter the interface of drm_gpusvm_migrate_to_devmem() to ensure we don't
pass a gpusvm pointer.

Rename CONFIG_DRM_XE_DEVMEM_MIRROR to CONFIG_DRM_XE_PAGEMAP.

Matt is listed as author of this commit since he wrote most of the code,
and it makes sense to retain his git authorship.
Thomas mostly moved the code around.

v3:
- Kerneldoc fixes (CI)
- Don't update documentation about how the drm_pagemap
  migration should be interpreted until upcoming
  patches where the functionality is implemented.
  (Matt Brost)
v4:
- More kerneldoc fixes around timeslice_ms
  (Himal Ghimiray, Matt Brost)
v6:
- Fix an uninitialized pagemap pointer (CI)

Co-developed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20250619134035.170086-2-thomas.hellstrom@linux.intel.com
2025-06-26 18:00:07 +02:00
..
amdgpu Documentation/gpu: Disambiguate SPI term 2025-05-13 09:37:42 -04:00
bridge drm: bridge: dw-hdmi: Add Documentation on supported input formats 2017-04-04 17:48:21 +02:00
dp-mst drm/dp_mst: Introduce new refcounting scheme for mstbs and ports 2019-01-10 20:12:19 -05:00
imagination drm/imagination: Numerous documentation fixes. 2023-11-28 18:56:03 +01:00
nova gpu: nova-core: define registers layout using helper macro 2025-05-13 15:08:18 +02:00
rfc drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap 2025-06-26 18:00:07 +02:00
xe drm/xe/configfs: Add internal API to documentation 2025-06-02 11:00:46 -07:00
afbc.rst drm/afbc: Add AFBC modifier usage documentation 2019-01-11 17:52:06 +00:00
automated_testing.rst drm/ci: enable lockdep detection 2025-03-12 08:16:31 +05:30
backlight.rst doc-rst: Wire-up Backlight kernel-doc documentation 2020-07-20 10:26:22 +01:00
driver-uapi.rst drm: Add UAPI for the Asahi driver 2025-04-08 17:15:57 -04:00
drivers.rst Nova changes for v6.15 2025-03-13 06:03:55 +10:00
drm-client.rst drm/client: Move client event handlers to drm_client_event.c 2024-10-18 09:23:03 +02:00
drm-compute.rst kernel/cgroup: Add "dmem" memory accounting cgroup 2025-01-06 17:24:38 +01:00
drm-internals.rst drm/doc: Document KUnit expectations 2025-02-26 16:04:15 +01:00
drm-kms-helpers.rst drm/display: hdmi: Create documentation section 2025-03-14 09:21:03 +01:00
drm-kms.rst drm/panic: Add a drm panic handler 2024-04-15 16:12:49 +02:00
drm-mm.rst Documentation/gpu: VM_BIND locking document 2023-11-29 20:54:43 +01:00
drm-uapi.rst drm/doc: Add a section about "Task information" for the wedge API 2025-06-17 11:32:47 -03:00
drm-usage-stats.rst Documentation/gpu: Clarify format of driver-specific fidnfo keys 2025-02-07 15:22:46 +01:00
drm-vm-bind-async.rst Documentation/gpu: Add a VM_BIND async document 2023-10-17 10:38:07 +02:00
drm-vm-bind-locking.rst Documentation/gpu: VM_BIND locking document 2023-11-29 20:54:43 +01:00
i915.rst drm/i915: Fix irq related documentation 2024-10-17 17:17:29 -04:00
implementation_guidelines.rst Documentation/gpu: VM_BIND locking document 2023-11-29 20:54:43 +01:00
index.rst drm/doc: Include new drm-compute documentation 2025-01-15 09:45:54 +01:00
introduction.rst MAINATINERS: update drm maintainer contacts 2024-09-03 20:07:57 +02:00
kms-properties.csv drm/connector: hdmi: Add Broadcast RGB property 2024-05-28 10:24:37 +02:00
komeda-kms.rst Documentation/gpu: Fix typo in Documentation/gpu/komeda-kms.rst 2024-09-05 14:33:06 -06:00
mcde.rst drm/mcde: Fix reference to DOC comment 2019-10-05 20:35:14 +02:00
meson.rst Documentation/gpu/meson: Remove link to meson_canvas.c 2019-04-05 08:35:05 -04:00
msm-crash-dump.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
msm-preemption.rst Documentation: document adreno preemption 2024-10-04 08:47:29 -07:00
nouveau.rst drm/nouveau/nvkm: factor out current GSP RPC command policies 2025-03-09 13:41:59 +01:00
panfrost.rst drm/panfrost: Replace fdinfo's profiling debugfs knob with sysfs 2024-03-11 13:27:10 +01:00
panthor.rst Documentation/gpu: Add fdinfo meanings of panthor-*-memory tags 2025-02-07 15:23:39 +01:00
pl111.rst drm: pl111: Update documentation 2020-07-23 10:06:22 +02:00
tegra.rst drm/tegra: Add driver documentation 2017-06-15 13:58:56 +02:00
todo.rst drm/todo: add entry to remove devm_drm_put_bridge() 2025-05-23 15:04:19 +02:00
tve200.rst drm/tve200: fix kernel-doc documentation comment include 2018-02-21 09:26:38 +02:00
v3d.rst drm/v3d: Add missing v3d documentation structure. 2018-07-05 11:42:50 -07:00
vc4.rst drm/vc4: Improve the KUnit documentation 2022-12-15 08:54:08 +01:00
vga-switcheroo.rst
vgaarbiter.rst Documentation: vgaarbiter: Fix grammar 2025-03-19 15:11:49 +01:00
vkms.rst drm/vkms: Add how to run the Kunit tests 2025-05-28 16:19:14 +02:00
xen-front.rst drm/xen-front: Remove CMA support 2018-04-18 10:18:27 +03:00
zynqmp.rst drm: xlnx: zynqmp_dpsub: Fix kernel doc 2025-01-16 12:45:16 +01:00