1*266b0663SKrzysztof Zdziarski /* SPDX-License-Identifier: BSD-3-Clause */ 2*266b0663SKrzysztof Zdziarski /* Copyright(c) 2007-2022 Intel Corporation */ 3*266b0663SKrzysztof Zdziarski #ifndef ADF_PFVF_VF_PROTO_H 4*266b0663SKrzysztof Zdziarski #define ADF_PFVF_VF_PROTO_H 5*266b0663SKrzysztof Zdziarski 6*266b0663SKrzysztof Zdziarski #include <linux/types.h> 7*266b0663SKrzysztof Zdziarski #include "adf_accel_devices.h" 8*266b0663SKrzysztof Zdziarski 9*266b0663SKrzysztof Zdziarski #define ADF_PFVF_MSG_COLLISION_DETECT_DELAY 10 10*266b0663SKrzysztof Zdziarski #define ADF_PFVF_MSG_ACK_DELAY 2 11*266b0663SKrzysztof Zdziarski #define ADF_PFVF_MSG_ACK_MAX_RETRY 100 12*266b0663SKrzysztof Zdziarski 13*266b0663SKrzysztof Zdziarski /* How often to retry if there is no response */ 14*266b0663SKrzysztof Zdziarski #define ADF_PFVF_MSG_RESP_RETRIES 5 15*266b0663SKrzysztof Zdziarski #define ADF_PFVF_MSG_RESP_TIMEOUT \ 16*266b0663SKrzysztof Zdziarski (ADF_PFVF_MSG_ACK_DELAY * ADF_PFVF_MSG_ACK_MAX_RETRY + \ 17*266b0663SKrzysztof Zdziarski ADF_PFVF_MSG_COLLISION_DETECT_DELAY) 18*266b0663SKrzysztof Zdziarski 19*266b0663SKrzysztof Zdziarski int adf_send_vf2pf_msg(struct adf_accel_dev *accel_dev, 20*266b0663SKrzysztof Zdziarski struct pfvf_message msg); 21*266b0663SKrzysztof Zdziarski int adf_send_vf2pf_req(struct adf_accel_dev *accel_dev, 22*266b0663SKrzysztof Zdziarski struct pfvf_message msg, 23*266b0663SKrzysztof Zdziarski struct pfvf_message *resp); 24*266b0663SKrzysztof Zdziarski int adf_send_vf2pf_blkmsg_req(struct adf_accel_dev *accel_dev, 25*266b0663SKrzysztof Zdziarski u8 type, 26*266b0663SKrzysztof Zdziarski u8 *buffer, 27*266b0663SKrzysztof Zdziarski unsigned int *buffer_len); 28*266b0663SKrzysztof Zdziarski 29*266b0663SKrzysztof Zdziarski int adf_enable_vf2pf_comms(struct adf_accel_dev *accel_dev); 30*266b0663SKrzysztof Zdziarski 31*266b0663SKrzysztof Zdziarski #endif /* ADF_PFVF_VF_PROTO_H */ 32