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