Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/mlx5/driver.h
Show First 20 Lines • Show All 393 Lines • ▼ Show 20 Lines | #endif | ||||
bool sig_status_checked; | bool sig_status_checked; | ||||
bool sig_err_exists; | bool sig_err_exists; | ||||
u32 sigerr_count; | u32 sigerr_count; | ||||
}; | }; | ||||
enum { | enum { | ||||
MLX5_MKEY_MR = 1, | MLX5_MKEY_MR = 1, | ||||
MLX5_MKEY_MW, | MLX5_MKEY_MW, | ||||
MLX5_MKEY_MR_USER, | MLX5_MKEY_INDIRECT_DEVX, | ||||
}; | }; | ||||
struct mlx5_core_mkey { | struct mlx5_core_mkey { | ||||
u64 iova; | u64 iova; | ||||
u64 size; | u64 size; | ||||
u32 key; | u32 key; | ||||
u32 pd; | u32 pd; | ||||
u32 type; | u32 type; | ||||
}; | }; | ||||
struct mlx5_core_mr { | |||||
u64 iova; | |||||
u64 size; | |||||
u32 key; | |||||
u32 pd; | |||||
}; | |||||
enum mlx5_res_type { | enum mlx5_res_type { | ||||
MLX5_RES_QP = MLX5_EVENT_QUEUE_TYPE_QP, | MLX5_RES_QP = MLX5_EVENT_QUEUE_TYPE_QP, | ||||
MLX5_RES_RQ = MLX5_EVENT_QUEUE_TYPE_RQ, | MLX5_RES_RQ = MLX5_EVENT_QUEUE_TYPE_RQ, | ||||
MLX5_RES_SQ = MLX5_EVENT_QUEUE_TYPE_SQ, | MLX5_RES_SQ = MLX5_EVENT_QUEUE_TYPE_SQ, | ||||
MLX5_RES_SRQ = 3, | MLX5_RES_SRQ = 3, | ||||
MLX5_RES_XSRQ = 4, | MLX5_RES_XSRQ = 4, | ||||
MLX5_RES_DCT = 5, | MLX5_RES_XRQ = 5, | ||||
MLX5_RES_DCT = MLX5_EVENT_QUEUE_TYPE_DCT, | |||||
}; | }; | ||||
struct mlx5_core_rsc_common { | struct mlx5_core_rsc_common { | ||||
enum mlx5_res_type res; | enum mlx5_res_type res; | ||||
atomic_t refcount; | atomic_t refcount; | ||||
struct completion free; | struct completion free; | ||||
}; | }; | ||||
Show All 37 Lines | struct mlx5_core_srq { | ||||
size_t max_gs; | size_t max_gs; | ||||
size_t max_avail_gather; | size_t max_avail_gather; | ||||
int wqe_shift; | int wqe_shift; | ||||
void (*event)(struct mlx5_core_srq *, int); | void (*event)(struct mlx5_core_srq *, int); | ||||
atomic_t refcount; | atomic_t refcount; | ||||
struct completion free; | struct completion free; | ||||
}; | }; | ||||
struct mlx5_ib_dev; | |||||
struct mlx5_eq_table { | struct mlx5_eq_table { | ||||
void __iomem *update_ci; | void __iomem *update_ci; | ||||
void __iomem *update_arm_ci; | void __iomem *update_arm_ci; | ||||
struct list_head comp_eqs_list; | struct list_head comp_eqs_list; | ||||
struct mlx5_eq pages_eq; | struct mlx5_eq pages_eq; | ||||
struct mlx5_eq async_eq; | struct mlx5_eq async_eq; | ||||
struct mlx5_eq cmd_eq; | struct mlx5_eq cmd_eq; | ||||
int num_comp_vectors; | int num_comp_vectors; | ||||
/* protect EQs list | spinlock_t lock; /* protect EQs list */ | ||||
*/ | struct mlx5_ib_dev *dev; /* for devx event notifier */ | ||||
spinlock_t lock; | bool (*cb)(struct mlx5_core_dev *mdev, | ||||
uint8_t event_type, void *data); | |||||
}; | }; | ||||
struct mlx5_core_health { | struct mlx5_core_health { | ||||
struct mlx5_health_buffer __iomem *health; | struct mlx5_health_buffer __iomem *health; | ||||
__be32 __iomem *health_counter; | __be32 __iomem *health_counter; | ||||
struct timer_list timer; | struct timer_list timer; | ||||
u32 prev; | u32 prev; | ||||
int miss_counter; | int miss_counter; | ||||
▲ Show 20 Lines • Show All 495 Lines • ▼ Show 20 Lines | |||||
int mlx5_core_query_srq(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, | int mlx5_core_query_srq(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, | ||||
struct mlx5_srq_attr *out); | struct mlx5_srq_attr *out); | ||||
int mlx5_core_query_vendor_id(struct mlx5_core_dev *mdev, u32 *vendor_id); | int mlx5_core_query_vendor_id(struct mlx5_core_dev *mdev, u32 *vendor_id); | ||||
int mlx5_core_arm_srq(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, | int mlx5_core_arm_srq(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, | ||||
u16 lwm, int is_srq); | u16 lwm, int is_srq); | ||||
void mlx5_init_mr_table(struct mlx5_core_dev *dev); | void mlx5_init_mr_table(struct mlx5_core_dev *dev); | ||||
void mlx5_cleanup_mr_table(struct mlx5_core_dev *dev); | void mlx5_cleanup_mr_table(struct mlx5_core_dev *dev); | ||||
int mlx5_core_create_mkey_cb(struct mlx5_core_dev *dev, | int mlx5_core_create_mkey_cb(struct mlx5_core_dev *dev, | ||||
struct mlx5_core_mr *mkey, | struct mlx5_core_mkey *mkey, | ||||
struct mlx5_async_ctx *async_ctx, u32 *in, | struct mlx5_async_ctx *async_ctx, u32 *in, | ||||
int inlen, u32 *out, int outlen, | int inlen, u32 *out, int outlen, | ||||
mlx5_async_cbk_t callback, | mlx5_async_cbk_t callback, | ||||
struct mlx5_async_work *context); | struct mlx5_async_work *context); | ||||
int mlx5_core_create_mkey(struct mlx5_core_dev *dev, | int mlx5_core_create_mkey(struct mlx5_core_dev *dev, | ||||
struct mlx5_core_mr *mr, | struct mlx5_core_mkey *mr, | ||||
u32 *in, int inlen); | u32 *in, int inlen); | ||||
int mlx5_core_destroy_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mkey); | int mlx5_core_destroy_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mkey *mkey); | ||||
int mlx5_core_query_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mkey, | int mlx5_core_query_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mkey *mkey, | ||||
u32 *out, int outlen); | u32 *out, int outlen); | ||||
int mlx5_core_dump_fill_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr, | int mlx5_core_dump_fill_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mkey *mr, | ||||
u32 *mkey); | u32 *mkey); | ||||
int mlx5_core_alloc_pd(struct mlx5_core_dev *dev, u32 *pdn); | int mlx5_core_alloc_pd(struct mlx5_core_dev *dev, u32 *pdn, u16 uid); | ||||
int mlx5_core_dealloc_pd(struct mlx5_core_dev *dev, u32 pdn); | int mlx5_core_dealloc_pd(struct mlx5_core_dev *dev, u32 pdn, u16 uid); | ||||
int mlx5_core_mad_ifc(struct mlx5_core_dev *dev, const void *inb, void *outb, | int mlx5_core_mad_ifc(struct mlx5_core_dev *dev, const void *inb, void *outb, | ||||
u16 opmod, u8 port); | u16 opmod, u8 port); | ||||
void mlx5_fwp_flush(struct mlx5_fw_page *fwp); | void mlx5_fwp_flush(struct mlx5_fw_page *fwp); | ||||
void mlx5_fwp_invalidate(struct mlx5_fw_page *fwp); | void mlx5_fwp_invalidate(struct mlx5_fw_page *fwp); | ||||
struct mlx5_fw_page *mlx5_fwp_alloc(struct mlx5_core_dev *dev, gfp_t flags, unsigned num); | struct mlx5_fw_page *mlx5_fwp_alloc(struct mlx5_core_dev *dev, gfp_t flags, unsigned num); | ||||
void mlx5_fwp_free(struct mlx5_fw_page *fwp); | void mlx5_fwp_free(struct mlx5_fw_page *fwp); | ||||
u64 mlx5_fwp_get_dma(struct mlx5_fw_page *fwp, size_t offset); | u64 mlx5_fwp_get_dma(struct mlx5_fw_page *fwp, size_t offset); | ||||
void *mlx5_fwp_get_virt(struct mlx5_fw_page *fwp, size_t offset); | void *mlx5_fwp_get_virt(struct mlx5_fw_page *fwp, size_t offset); | ||||
▲ Show 20 Lines • Show All 205 Lines • Show Last 20 Lines |