drivers/gpu/drm/amd/amdkfd/kfd_migrate.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/amdkfd/kfd_migrate.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/amd/amdkfd/kfd_migrate.h
Extension
.h
Size
1985 bytes
Lines
56
Domain
Driver Families
Bucket
drivers/gpu
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef KFD_MIGRATE_H_
#define KFD_MIGRATE_H_

#if IS_ENABLED(CONFIG_HSA_AMD_SVM)

#include <linux/rwsem.h>
#include <linux/list.h>
#include <linux/mutex.h>
#include <linux/sched/mm.h>
#include "kfd_priv.h"
#include "kfd_svm.h"

enum MIGRATION_COPY_DIR {
	FROM_RAM_TO_VRAM = 0,
	FROM_VRAM_TO_RAM
};

int svm_migrate_to_vram(struct svm_range *prange,  uint32_t best_loc,
			unsigned long start, unsigned long last,
			struct mm_struct *mm, uint32_t trigger);

int svm_migrate_vram_to_ram(struct svm_range *prange, struct mm_struct *mm,
			    unsigned long start, unsigned long last,
			    uint32_t trigger, struct page *fault_page);

unsigned long
svm_migrate_addr_to_pfn(struct amdgpu_device *adev, unsigned long addr);

#endif /* IS_ENABLED(CONFIG_HSA_AMD_SVM) */

#endif /* KFD_MIGRATE_H_ */

Annotation

Implementation Notes