hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/include/linux/mlx4/device.h
....@@ -47,7 +47,7 @@
4747 #define DEFAULT_UAR_PAGE_SHIFT 12
4848
4949 #define MAX_MSIX_P_PORT 17
50
-#define MAX_MSIX 64
50
+#define MAX_MSIX 128
5151 #define MIN_MSIX_P_PORT 5
5252 #define MLX4_IS_LEGACY_EQ_MODE(dev_cap) ((dev_cap).num_comp_vectors < \
5353 (dev_cap).num_ports * MIN_MSIX_P_PORT)
....@@ -226,6 +226,7 @@
226226 MLX4_DEV_CAP_FLAG2_SL_TO_VL_CHANGE_EVENT = 1ULL << 37,
227227 MLX4_DEV_CAP_FLAG2_USER_MAC_EN = 1ULL << 38,
228228 MLX4_DEV_CAP_FLAG2_DRIVER_VERSION_TO_FW = 1ULL << 39,
229
+ MLX4_DEV_CAP_FLAG2_SW_CQ_INIT = 1ULL << 40,
229230 };
230231
231232 enum {
....@@ -572,7 +573,6 @@
572573 int reserved_eqs;
573574 int num_comp_vectors;
574575 int num_mpts;
575
- int max_fmr_maps;
576576 int num_mtts;
577577 int fmr_reserved_mtts;
578578 int reserved_mtts;
....@@ -705,17 +705,6 @@
705705 u32 pd;
706706 enum mlx4_mw_type type;
707707 int enabled;
708
-};
709
-
710
-struct mlx4_fmr {
711
- struct mlx4_mr mr;
712
- struct mlx4_mpt_entry *mpt;
713
- __be64 *mtts;
714
- dma_addr_t dma_handle;
715
- int max_pages;
716
- int max_maps;
717
- int maps;
718
- u8 page_shift;
719708 };
720709
721710 struct mlx4_uar {
....@@ -1137,7 +1126,8 @@
11371126
11381127 int mlx4_cq_alloc(struct mlx4_dev *dev, int nent, struct mlx4_mtt *mtt,
11391128 struct mlx4_uar *uar, u64 db_rec, struct mlx4_cq *cq,
1140
- unsigned vector, int collapsed, int timestamp_en);
1129
+ unsigned int vector, int collapsed, int timestamp_en,
1130
+ void *buf_addr, bool user_cq);
11411131 void mlx4_cq_free(struct mlx4_dev *dev, struct mlx4_cq *cq);
11421132 int mlx4_qp_reserve_range(struct mlx4_dev *dev, int cnt, int align,
11431133 int *base, u8 flags, u8 usage);
....@@ -1411,14 +1401,6 @@
14111401 int mlx4_register_vlan(struct mlx4_dev *dev, u8 port, u16 vlan, int *index);
14121402 void mlx4_unregister_vlan(struct mlx4_dev *dev, u8 port, u16 vlan);
14131403
1414
-int mlx4_map_phys_fmr(struct mlx4_dev *dev, struct mlx4_fmr *fmr, u64 *page_list,
1415
- int npages, u64 iova, u32 *lkey, u32 *rkey);
1416
-int mlx4_fmr_alloc(struct mlx4_dev *dev, u32 pd, u32 access, int max_pages,
1417
- int max_maps, u8 page_shift, struct mlx4_fmr *fmr);
1418
-int mlx4_fmr_enable(struct mlx4_dev *dev, struct mlx4_fmr *fmr);
1419
-void mlx4_fmr_unmap(struct mlx4_dev *dev, struct mlx4_fmr *fmr,
1420
- u32 *lkey, u32 *rkey);
1421
-int mlx4_fmr_free(struct mlx4_dev *dev, struct mlx4_fmr *fmr);
14221404 int mlx4_SYNC_TPT(struct mlx4_dev *dev);
14231405 int mlx4_test_interrupt(struct mlx4_dev *dev, int vector);
14241406 int mlx4_test_async(struct mlx4_dev *dev);
....@@ -1521,6 +1503,8 @@
15211503 int mlx4_vf_get_enable_smi_admin(struct mlx4_dev *dev, int slave, int port);
15221504 int mlx4_vf_set_enable_smi_admin(struct mlx4_dev *dev, int slave, int port,
15231505 int enable);
1506
+
1507
+struct mlx4_mpt_entry;
15241508 int mlx4_mr_hw_get_mpt(struct mlx4_dev *dev, struct mlx4_mr *mmr,
15251509 struct mlx4_mpt_entry ***mpt_entry);
15261510 int mlx4_mr_hw_write_mpt(struct mlx4_dev *dev, struct mlx4_mr *mmr,