diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-24 16:56:26 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-24 16:56:26 -0400 |
commit | 5dedb9f3bd5bcb186313ea0c0cff8f2c525d4122 (patch) | |
tree | 88514547a6e95176e7a9dc2fbdc7fa7c1bec3107 /drivers/net/ethernet/mellanox/mlx4/mlx4.h | |
parent | ddb03448274b95bff6df2a2f1a74d7eb4be529d3 (diff) | |
parent | 089117e1ad265625b523a4168f77f2521b18fd32 (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.h | 67 |
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 | ||
354 | struct 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 | |||
414 | struct mlx4_eq { | 354 | struct 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); | |||
902 | int mlx4_restart_one(struct pci_dev *pdev); | 842 | int mlx4_restart_one(struct pci_dev *pdev); |
903 | int mlx4_register_device(struct mlx4_dev *dev); | 843 | int mlx4_register_device(struct mlx4_dev *dev); |
904 | void mlx4_unregister_device(struct mlx4_dev *dev); | 844 | void mlx4_unregister_device(struct mlx4_dev *dev); |
905 | void mlx4_dispatch_event(struct mlx4_dev *dev, enum mlx4_dev_event type, int port); | 845 | void mlx4_dispatch_event(struct mlx4_dev *dev, enum mlx4_dev_event type, |
846 | unsigned long param); | ||
906 | 847 | ||
907 | struct mlx4_dev_cap; | 848 | struct mlx4_dev_cap; |
908 | struct mlx4_init_hca_param; | 849 | struct mlx4_init_hca_param; |
@@ -1043,7 +984,7 @@ int mlx4_change_port_types(struct mlx4_dev *dev, | |||
1043 | void mlx4_init_mac_table(struct mlx4_dev *dev, struct mlx4_mac_table *table); | 984 | void mlx4_init_mac_table(struct mlx4_dev *dev, struct mlx4_mac_table *table); |
1044 | void mlx4_init_vlan_table(struct mlx4_dev *dev, struct mlx4_vlan_table *table); | 985 | void mlx4_init_vlan_table(struct mlx4_dev *dev, struct mlx4_vlan_table *table); |
1045 | 986 | ||
1046 | int mlx4_SET_PORT(struct mlx4_dev *dev, u8 port); | 987 | int mlx4_SET_PORT(struct mlx4_dev *dev, u8 port, int pkey_tbl_sz); |
1047 | /* resource tracker functions*/ | 988 | /* resource tracker functions*/ |
1048 | int mlx4_get_slave_from_resource_id(struct mlx4_dev *dev, | 989 | int 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); |
1087 | int mlx4_get_port_ib_caps(struct mlx4_dev *dev, u8 port, __be32 *caps); | 1028 | int mlx4_get_port_ib_caps(struct mlx4_dev *dev, u8 port, __be32 *caps); |
1088 | 1029 | ||
1030 | int mlx4_get_slave_pkey_gid_tbl_len(struct mlx4_dev *dev, u8 port, | ||
1031 | int *gid_tbl_len, int *pkey_tbl_len); | ||
1089 | 1032 | ||
1090 | int mlx4_QP_ATTACH_wrapper(struct mlx4_dev *dev, int slave, | 1033 | int mlx4_QP_ATTACH_wrapper(struct mlx4_dev *dev, int slave, |
1091 | struct mlx4_vhcr *vhcr, | 1034 | struct mlx4_vhcr *vhcr, |