#include <linux/iova.h>
#include <linux/mlx5/driver.h>
#include "mlx5_vdpa.h"
static int alloc_pd(struct mlx5_vdpa_dev *dev, u32 *pdn, u16 uid)
{ … }
static int dealloc_pd(struct mlx5_vdpa_dev *dev, u32 pdn, u16 uid)
{ … }
static int get_null_mkey(struct mlx5_vdpa_dev *dev, u32 *null_mkey)
{ … }
static int create_uctx(struct mlx5_vdpa_dev *mvdev, u16 *uid)
{ … }
static void destroy_uctx(struct mlx5_vdpa_dev *mvdev, u32 uid)
{ … }
int mlx5_vdpa_create_tis(struct mlx5_vdpa_dev *mvdev, void *in, u32 *tisn)
{ … }
void mlx5_vdpa_destroy_tis(struct mlx5_vdpa_dev *mvdev, u32 tisn)
{ … }
int mlx5_vdpa_create_rqt(struct mlx5_vdpa_dev *mvdev, void *in, int inlen, u32 *rqtn)
{ … }
int mlx5_vdpa_modify_rqt(struct mlx5_vdpa_dev *mvdev, void *in, int inlen, u32 rqtn)
{ … }
void mlx5_vdpa_destroy_rqt(struct mlx5_vdpa_dev *mvdev, u32 rqtn)
{ … }
int mlx5_vdpa_create_tir(struct mlx5_vdpa_dev *mvdev, void *in, u32 *tirn)
{ … }
void mlx5_vdpa_destroy_tir(struct mlx5_vdpa_dev *mvdev, u32 tirn)
{ … }
int mlx5_vdpa_alloc_transport_domain(struct mlx5_vdpa_dev *mvdev, u32 *tdn)
{ … }
void mlx5_vdpa_dealloc_transport_domain(struct mlx5_vdpa_dev *mvdev, u32 tdn)
{ … }
int mlx5_vdpa_create_mkey(struct mlx5_vdpa_dev *mvdev, u32 *mkey, u32 *in,
int inlen)
{ … }
int mlx5_vdpa_destroy_mkey(struct mlx5_vdpa_dev *mvdev, u32 mkey)
{ … }
static int init_ctrl_vq(struct mlx5_vdpa_dev *mvdev)
{ … }
static void cleanup_ctrl_vq(struct mlx5_vdpa_dev *mvdev)
{ … }
int mlx5_vdpa_alloc_resources(struct mlx5_vdpa_dev *mvdev)
{ … }
void mlx5_vdpa_free_resources(struct mlx5_vdpa_dev *mvdev)
{ … }