drivers/gpu/drm/xe/xe_tlb_inval_job.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/xe/xe_tlb_inval_job.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/xe/xe_tlb_inval_job.h
Extension
.h
Size
975 bytes
Lines
39
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 _XE_TLB_INVAL_JOB_H_
#define _XE_TLB_INVAL_JOB_H_

#include <linux/types.h>

struct dma_fence;
struct xe_dep_scheduler;
struct xe_exec_queue;
struct xe_migrate;
struct xe_page_reclaim_list;
struct xe_tlb_inval;
struct xe_tlb_inval_job;
struct xe_vm;

struct xe_tlb_inval_job *
xe_tlb_inval_job_create(struct xe_exec_queue *q, struct xe_tlb_inval *tlb_inval,
			struct xe_dep_scheduler *dep_scheduler,
			struct xe_vm *vm, u64 start, u64 end, int type);

void xe_tlb_inval_job_add_page_reclaim(struct xe_tlb_inval_job *job,
				       struct xe_page_reclaim_list *prl);

int xe_tlb_inval_job_alloc_dep(struct xe_tlb_inval_job *job);

struct dma_fence *xe_tlb_inval_job_push(struct xe_tlb_inval_job *job,
					struct xe_migrate *m,
					struct dma_fence *fence);

void xe_tlb_inval_job_get(struct xe_tlb_inval_job *job);

void xe_tlb_inval_job_put(struct xe_tlb_inval_job *job);

#endif

Annotation

Implementation Notes