aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlx4/mlx4.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-07-24 16:56:26 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-07-24 16:56:26 -0400
commit5dedb9f3bd5bcb186313ea0c0cff8f2c525d4122 (patch)
tree88514547a6e95176e7a9dc2fbdc7fa7c1bec3107 /drivers/net/ethernet/mellanox/mlx4/mlx4.h
parentddb03448274b95bff6df2a2f1a74d7eb4be529d3 (diff)
parent089117e1ad265625b523a4168f77f2521b18fd32 (diff)
Merge tag 'rdma-for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
Pull InfiniBand/RDMA changes from Roland Dreier: - Updates to the qib low-level driver - First chunk of changes for SR-IOV support for mlx4 IB - RDMA CM support for IPv6-only binding - Other misc cleanups and fixes Fix up some add-add conflicts in include/linux/mlx4/device.h and drivers/net/ethernet/mellanox/mlx4/main.c * tag 'rdma-for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (30 commits) IB/qib: checkpatch fixes IB/qib: Add congestion control agent implementation IB/qib: Reduce sdma_lock contention IB/qib: Fix an incorrect log message IB/qib: Fix QP RCU sparse warnings mlx4: Put physical GID and P_Key table sizes in mlx4_phys_caps struct and paravirtualize them mlx4_core: Allow guests to have IB ports mlx4_core: Implement mechanism for reserved Q_Keys net/mlx4_core: Free ICM table in case of error IB/cm: Destroy idr as part of the module init error flow mlx4_core: Remove double function declarations IB/mlx4: Fill the masked_atomic_cap attribute in query device IB/mthca: Fill in sq_sig_type in query QP IB/mthca: Warning about event for non-existent QPs should show event type IB/qib: Fix sparse RCU warnings in qib_keys.c net/mlx4_core: Initialize IB port capabilities for all slaves mlx4: Use port management change event instead of smp_snoop IB/qib: RCU locking for MR validation IB/qib: Avoid returning EBUSY from MR deregister IB/qib: Fix UC MR refs for immediate operations ...
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx4/mlx4.h')
-rw-r--r--drivers/net/ethernet/mellanox/mlx4/mlx4.h67
1 files changed, 5 insertions, 62 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4.h b/drivers/net/ethernet/mellanox/mlx4/mlx4.h
index d2c436b10fbf..59ebc0339638 100644
--- a/drivers/net/ethernet/mellanox/mlx4/mlx4.h
+++ b/drivers/net/ethernet/mellanox/mlx4/mlx4.h
@@ -351,66 +351,6 @@ struct mlx4_srq_context {
351 __be64 db_rec_addr; 351 __be64 db_rec_addr;
352}; 352};
353 353
354struct mlx4_eqe {
355 u8 reserved1;
356 u8 type;
357 u8 reserved2;
358 u8 subtype;
359 union {
360 u32 raw[6];
361 struct {
362 __be32 cqn;
363 } __packed comp;
364 struct {
365 u16 reserved1;
366 __be16 token;
367 u32 reserved2;
368 u8 reserved3[3];
369 u8 status;
370 __be64 out_param;
371 } __packed cmd;
372 struct {
373 __be32 qpn;
374 } __packed qp;
375 struct {
376 __be32 srqn;
377 } __packed srq;
378 struct {
379 __be32 cqn;
380 u32 reserved1;
381 u8 reserved2[3];
382 u8 syndrome;
383 } __packed cq_err;
384 struct {
385 u32 reserved1[2];
386 __be32 port;
387 } __packed port_change;
388 struct {
389 #define COMM_CHANNEL_BIT_ARRAY_SIZE 4
390 u32 reserved;
391 u32 bit_vec[COMM_CHANNEL_BIT_ARRAY_SIZE];
392 } __packed comm_channel_arm;
393 struct {
394 u8 port;
395 u8 reserved[3];
396 __be64 mac;
397 } __packed mac_update;
398 struct {
399 u8 port;
400 } __packed sw_event;
401 struct {
402 __be32 slave_id;
403 } __packed flr_event;
404 struct {
405 __be16 current_temperature;
406 __be16 warning_threshold;
407 } __packed warming;
408 } event;
409 u8 slave_id;
410 u8 reserved3[2];
411 u8 owner;
412} __packed;
413
414struct mlx4_eq { 354struct mlx4_eq {
415 struct mlx4_dev *dev; 355 struct mlx4_dev *dev;
416 void __iomem *doorbell; 356 void __iomem *doorbell;
@@ -902,7 +842,8 @@ void mlx4_catas_init(void);
902int mlx4_restart_one(struct pci_dev *pdev); 842int mlx4_restart_one(struct pci_dev *pdev);
903int mlx4_register_device(struct mlx4_dev *dev); 843int mlx4_register_device(struct mlx4_dev *dev);
904void mlx4_unregister_device(struct mlx4_dev *dev); 844void mlx4_unregister_device(struct mlx4_dev *dev);
905void mlx4_dispatch_event(struct mlx4_dev *dev, enum mlx4_dev_event type, int port); 845void mlx4_dispatch_event(struct mlx4_dev *dev, enum mlx4_dev_event type,
846 unsigned long param);
906 847
907struct mlx4_dev_cap; 848struct mlx4_dev_cap;
908struct mlx4_init_hca_param; 849struct mlx4_init_hca_param;
@@ -1043,7 +984,7 @@ int mlx4_change_port_types(struct mlx4_dev *dev,
1043void mlx4_init_mac_table(struct mlx4_dev *dev, struct mlx4_mac_table *table); 984void mlx4_init_mac_table(struct mlx4_dev *dev, struct mlx4_mac_table *table);
1044void mlx4_init_vlan_table(struct mlx4_dev *dev, struct mlx4_vlan_table *table); 985void mlx4_init_vlan_table(struct mlx4_dev *dev, struct mlx4_vlan_table *table);
1045 986
1046int mlx4_SET_PORT(struct mlx4_dev *dev, u8 port); 987int mlx4_SET_PORT(struct mlx4_dev *dev, u8 port, int pkey_tbl_sz);
1047/* resource tracker functions*/ 988/* resource tracker functions*/
1048int mlx4_get_slave_from_resource_id(struct mlx4_dev *dev, 989int mlx4_get_slave_from_resource_id(struct mlx4_dev *dev,
1049 enum mlx4_resource resource_type, 990 enum mlx4_resource resource_type,
@@ -1086,6 +1027,8 @@ int mlx4_QUERY_PORT_wrapper(struct mlx4_dev *dev, int slave,
1086 struct mlx4_cmd_info *cmd); 1027 struct mlx4_cmd_info *cmd);
1087int mlx4_get_port_ib_caps(struct mlx4_dev *dev, u8 port, __be32 *caps); 1028int mlx4_get_port_ib_caps(struct mlx4_dev *dev, u8 port, __be32 *caps);
1088 1029
1030int mlx4_get_slave_pkey_gid_tbl_len(struct mlx4_dev *dev, u8 port,
1031 int *gid_tbl_len, int *pkey_tbl_len);
1089 1032
1090int mlx4_QP_ATTACH_wrapper(struct mlx4_dev *dev, int slave, 1033int mlx4_QP_ATTACH_wrapper(struct mlx4_dev *dev, int slave,
1091 struct mlx4_vhcr *vhcr, 1034 struct mlx4_vhcr *vhcr,