#include <linux/bitmap.h>
#include <linux/workqueue.h>
#include "nitrox_csr.h"
#include "nitrox_hal.h"
#include "nitrox_dev.h"
#include "nitrox_mbx.h"
#define RING_TO_VFNO(_x, _y) …
enum mbx_msg_type { … };
enum mbx_msg_opcode { … };
struct pf2vf_work { … };
static inline u64 pf2vf_read_mbox(struct nitrox_device *ndev, int ring)
{ … }
static inline void pf2vf_write_mbox(struct nitrox_device *ndev, u64 value,
int ring)
{ … }
static void pf2vf_send_response(struct nitrox_device *ndev,
struct nitrox_vfdev *vfdev)
{ … }
static void pf2vf_resp_handler(struct work_struct *work)
{ … }
void nitrox_pf2vf_mbox_handler(struct nitrox_device *ndev)
{ … }
int nitrox_mbox_init(struct nitrox_device *ndev)
{ … }
void nitrox_mbox_cleanup(struct nitrox_device *ndev)
{ … }