mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-08-27 10:34:13 +00:00

While some VF/PF relay actions must be handled on the GT level, like query for runtime registers, it was clarified by the arch team that initial version negotiation can be done by the VF just once, by using any available GuC/GT. Move handling of the VF/PF ABI version negotiation on the PF side from the GT level functions to the device level functions. Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com> Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://lore.kernel.org/r/20250713103625.1964-7-michal.wajdeczko@intel.com
24 lines
678 B
C
24 lines
678 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2025 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _XE_SRIOV_PF_SERVICE_H_
|
|
#define _XE_SRIOV_PF_SERVICE_H_
|
|
|
|
#include <linux/types.h>
|
|
|
|
struct drm_printer;
|
|
struct xe_device;
|
|
|
|
void xe_sriov_pf_service_init(struct xe_device *xe);
|
|
void xe_sriov_pf_service_print_versions(struct xe_device *xe, struct drm_printer *p);
|
|
|
|
int xe_sriov_pf_service_handshake_vf(struct xe_device *xe, u32 vfid,
|
|
u32 wanted_major, u32 wanted_minor,
|
|
u32 *major, u32 *minor);
|
|
bool xe_sriov_pf_service_is_negotiated(struct xe_device *xe, u32 vfid, u32 major, u32 minor);
|
|
void xe_sriov_pf_service_reset_vf(struct xe_device *xe, unsigned int vfid);
|
|
|
|
#endif
|