xref: /linux/drivers/gpu/drm/xe/xe_sriov_pf_service.h (revision 220994d61cebfc04f071d69049127657c7e8191b)
1*a6c384b2SMichal Wajdeczko /* SPDX-License-Identifier: MIT */
2*a6c384b2SMichal Wajdeczko /*
3*a6c384b2SMichal Wajdeczko  * Copyright © 2025 Intel Corporation
4*a6c384b2SMichal Wajdeczko  */
5*a6c384b2SMichal Wajdeczko 
6*a6c384b2SMichal Wajdeczko #ifndef _XE_SRIOV_PF_SERVICE_H_
7*a6c384b2SMichal Wajdeczko #define _XE_SRIOV_PF_SERVICE_H_
8*a6c384b2SMichal Wajdeczko 
9*a6c384b2SMichal Wajdeczko #include <linux/types.h>
10*a6c384b2SMichal Wajdeczko 
11*a6c384b2SMichal Wajdeczko struct drm_printer;
12*a6c384b2SMichal Wajdeczko struct xe_device;
13*a6c384b2SMichal Wajdeczko 
14*a6c384b2SMichal Wajdeczko void xe_sriov_pf_service_init(struct xe_device *xe);
15*a6c384b2SMichal Wajdeczko void xe_sriov_pf_service_print_versions(struct xe_device *xe, struct drm_printer *p);
16*a6c384b2SMichal Wajdeczko 
17*a6c384b2SMichal Wajdeczko int xe_sriov_pf_service_handshake_vf(struct xe_device *xe, u32 vfid,
18*a6c384b2SMichal Wajdeczko 				     u32 wanted_major, u32 wanted_minor,
19*a6c384b2SMichal Wajdeczko 				     u32 *major, u32 *minor);
20*a6c384b2SMichal Wajdeczko bool xe_sriov_pf_service_is_negotiated(struct xe_device *xe, u32 vfid, u32 major, u32 minor);
21*a6c384b2SMichal Wajdeczko void xe_sriov_pf_service_reset_vf(struct xe_device *xe, unsigned int vfid);
22*a6c384b2SMichal Wajdeczko 
23*a6c384b2SMichal Wajdeczko #endif
24