drivers/gpu/drm/xe/xe_sriov_vf_ccs.h

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

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/xe/xe_sriov_vf_ccs.h
Extension
.h
Size
954 bytes
Lines
37
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_SRIOV_VF_CCS_H_
#define _XE_SRIOV_VF_CCS_H_

#include "xe_device_types.h"
#include "xe_sriov.h"
#include "xe_sriov_vf_ccs_types.h"

struct drm_printer;
struct xe_device;
struct xe_bo;

int xe_sriov_vf_ccs_init(struct xe_device *xe);
int xe_sriov_vf_ccs_attach_bo(struct xe_bo *bo);
int xe_sriov_vf_ccs_detach_bo(struct xe_bo *bo);
int xe_sriov_vf_ccs_register_context(struct xe_device *xe);
void xe_sriov_vf_ccs_rebase(struct xe_device *xe);
void xe_sriov_vf_ccs_print(struct xe_device *xe, struct drm_printer *p);
void xe_sriov_vf_ccs_rw_update_bb_addr(struct xe_sriov_vf_ccs_ctx *ctx);

static inline bool xe_sriov_vf_ccs_ready(struct xe_device *xe)
{
	xe_assert(xe, IS_SRIOV_VF(xe));
	return xe->sriov.vf.ccs.initialized;
}

#define IS_VF_CCS_READY(xe) ({ \
	struct xe_device *xe__ = (xe); \
	IS_SRIOV_VF(xe__) && xe_sriov_vf_ccs_ready(xe__); \
	})

#endif

Annotation

Implementation Notes