1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright(c) 2024, Intel Corporation. All rights reserved.
4 */
5
6#ifndef __XE_PXP_H__
7#define __XE_PXP_H__
8
9#include <linux/types.h>
10
11struct drm_gem_object;
12struct xe_bo;
13struct xe_device;
14struct xe_exec_queue;
15struct xe_pxp;
16
17bool xe_pxp_is_supported(const struct xe_device *xe);
18bool xe_pxp_is_enabled(const struct xe_pxp *pxp);
19int xe_pxp_get_readiness_status(struct xe_pxp *pxp);
20
21int xe_pxp_init(struct xe_device *xe);
22void xe_pxp_irq_handler(struct xe_device *xe, u16 iir);
23
24int xe_pxp_pm_suspend(struct xe_pxp *pxp);
25void xe_pxp_pm_resume(struct xe_pxp *pxp);
26
27int xe_pxp_exec_queue_set_type(struct xe_pxp *pxp, struct xe_exec_queue *q, u8 type);
28int xe_pxp_exec_queue_add(struct xe_pxp *pxp, struct xe_exec_queue *q);
29void xe_pxp_exec_queue_remove(struct xe_pxp *pxp, struct xe_exec_queue *q);
30
31int xe_pxp_key_assign(struct xe_pxp *pxp, struct xe_bo *bo);
32int xe_pxp_bo_key_check(struct xe_pxp *pxp, struct xe_bo *bo);
33int xe_pxp_obj_key_check(struct drm_gem_object *obj);
34
35#endif /* __XE_PXP_H__ */
36

source code of linux/drivers/gpu/drm/xe/xe_pxp.h