diff options
| author | Leonid Arsh <leonida@voltaire.com> | 2006-06-17 23:37:36 -0400 |
|---|---|---|
| committer | Roland Dreier <rolandd@cisco.com> | 2006-06-17 23:37:36 -0400 |
| commit | da2ab62ab5e430e6ffafc2d0e6046dcd2780f570 (patch) | |
| tree | 8628b70e91c193cd2ed90dca062974dc90fe16d7 | |
| parent | 508e434123b136c96d1bf989e8d4ab0c8d7498b1 (diff) | |
IB: Move struct port_info from ipath to <rdma/ib_smi.h>
Move ipath's struct port_info into <rdma/ib_smi.h>, so that it can be
used by mthca to implement client reregister support.
Remove the __attribute__((packed)) because all the members of the struct
are naturally aligned anyway.
Signed-off-by: Leonid Arsh <leonida@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
| -rw-r--r-- | drivers/infiniband/hw/ipath/ipath_mad.c | 40 | ||||
| -rw-r--r-- | include/rdma/ib_smi.h | 36 |
2 files changed, 38 insertions, 38 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_mad.c b/drivers/infiniband/hw/ipath/ipath_mad.c index f7f8391fe43f..49acd1e15707 100644 --- a/drivers/infiniband/hw/ipath/ipath_mad.c +++ b/drivers/infiniband/hw/ipath/ipath_mad.c | |||
| @@ -137,47 +137,11 @@ static int recv_subn_get_guidinfo(struct ib_smp *smp, | |||
| 137 | return reply(smp); | 137 | return reply(smp); |
| 138 | } | 138 | } |
| 139 | 139 | ||
| 140 | struct port_info { | ||
| 141 | __be64 mkey; | ||
| 142 | __be64 gid_prefix; | ||
| 143 | __be16 lid; | ||
| 144 | __be16 sm_lid; | ||
| 145 | __be32 cap_mask; | ||
| 146 | __be16 diag_code; | ||
| 147 | __be16 mkey_lease_period; | ||
| 148 | u8 local_port_num; | ||
| 149 | u8 link_width_enabled; | ||
| 150 | u8 link_width_supported; | ||
| 151 | u8 link_width_active; | ||
| 152 | u8 linkspeed_portstate; /* 4 bits, 4 bits */ | ||
| 153 | u8 portphysstate_linkdown; /* 4 bits, 4 bits */ | ||
| 154 | u8 mkeyprot_resv_lmc; /* 2 bits, 3, 3 */ | ||
| 155 | u8 linkspeedactive_enabled; /* 4 bits, 4 bits */ | ||
| 156 | u8 neighbormtu_mastersmsl; /* 4 bits, 4 bits */ | ||
| 157 | u8 vlcap_inittype; /* 4 bits, 4 bits */ | ||
| 158 | u8 vl_high_limit; | ||
| 159 | u8 vl_arb_high_cap; | ||
| 160 | u8 vl_arb_low_cap; | ||
| 161 | u8 inittypereply_mtucap; /* 4 bits, 4 bits */ | ||
| 162 | u8 vlstallcnt_hoqlife; /* 3 bits, 5 bits */ | ||
| 163 | u8 operationalvl_pei_peo_fpi_fpo; /* 4 bits, 1, 1, 1, 1 */ | ||
| 164 | __be16 mkey_violations; | ||
| 165 | __be16 pkey_violations; | ||
| 166 | __be16 qkey_violations; | ||
| 167 | u8 guid_cap; | ||
| 168 | u8 clientrereg_resv_subnetto; /* 1 bit, 2 bits, 5 */ | ||
| 169 | u8 resv_resptimevalue; /* 3 bits, 5 bits */ | ||
| 170 | u8 localphyerrors_overrunerrors; /* 4 bits, 4 bits */ | ||
| 171 | __be16 max_credit_hint; | ||
| 172 | u8 resv; | ||
| 173 | u8 link_roundtrip_latency[3]; | ||
| 174 | } __attribute__ ((packed)); | ||
| 175 | |||
| 176 | static int recv_subn_get_portinfo(struct ib_smp *smp, | 140 | static int recv_subn_get_portinfo(struct ib_smp *smp, |
| 177 | struct ib_device *ibdev, u8 port) | 141 | struct ib_device *ibdev, u8 port) |
| 178 | { | 142 | { |
| 179 | struct ipath_ibdev *dev; | 143 | struct ipath_ibdev *dev; |
| 180 | struct port_info *pip = (struct port_info *)smp->data; | 144 | struct ib_port_info *pip = (struct ib_port_info *)smp->data; |
| 181 | u16 lid; | 145 | u16 lid; |
| 182 | u8 ibcstat; | 146 | u8 ibcstat; |
| 183 | u8 mtu; | 147 | u8 mtu; |
| @@ -312,7 +276,7 @@ static int recv_subn_set_guidinfo(struct ib_smp *smp, | |||
| 312 | static int recv_subn_set_portinfo(struct ib_smp *smp, | 276 | static int recv_subn_set_portinfo(struct ib_smp *smp, |
| 313 | struct ib_device *ibdev, u8 port) | 277 | struct ib_device *ibdev, u8 port) |
| 314 | { | 278 | { |
| 315 | struct port_info *pip = (struct port_info *)smp->data; | 279 | struct ib_port_info *pip = (struct ib_port_info *)smp->data; |
| 316 | struct ib_event event; | 280 | struct ib_event event; |
| 317 | struct ipath_ibdev *dev; | 281 | struct ipath_ibdev *dev; |
| 318 | u32 flags; | 282 | u32 flags; |
diff --git a/include/rdma/ib_smi.h b/include/rdma/ib_smi.h index 87f60737f695..f29af135ba83 100644 --- a/include/rdma/ib_smi.h +++ b/include/rdma/ib_smi.h | |||
| @@ -85,6 +85,42 @@ struct ib_smp { | |||
| 85 | #define IB_SMP_ATTR_LED_INFO __constant_htons(0x0031) | 85 | #define IB_SMP_ATTR_LED_INFO __constant_htons(0x0031) |
| 86 | #define IB_SMP_ATTR_VENDOR_MASK __constant_htons(0xFF00) | 86 | #define IB_SMP_ATTR_VENDOR_MASK __constant_htons(0xFF00) |
| 87 | 87 | ||
| 88 | struct ib_port_info { | ||
| 89 | __be64 mkey; | ||
| 90 | __be64 gid_prefix; | ||
| 91 | __be16 lid; | ||
| 92 | __be16 sm_lid; | ||
| 93 | __be32 cap_mask; | ||
| 94 | __be16 diag_code; | ||
| 95 | __be16 mkey_lease_period; | ||
| 96 | u8 local_port_num; | ||
| 97 | u8 link_width_enabled; | ||
| 98 | u8 link_width_supported; | ||
| 99 | u8 link_width_active; | ||
| 100 | u8 linkspeed_portstate; /* 4 bits, 4 bits */ | ||
| 101 | u8 portphysstate_linkdown; /* 4 bits, 4 bits */ | ||
| 102 | u8 mkeyprot_resv_lmc; /* 2 bits, 3, 3 */ | ||
| 103 | u8 linkspeedactive_enabled; /* 4 bits, 4 bits */ | ||
| 104 | u8 neighbormtu_mastersmsl; /* 4 bits, 4 bits */ | ||
| 105 | u8 vlcap_inittype; /* 4 bits, 4 bits */ | ||
| 106 | u8 vl_high_limit; | ||
| 107 | u8 vl_arb_high_cap; | ||
| 108 | u8 vl_arb_low_cap; | ||
| 109 | u8 inittypereply_mtucap; /* 4 bits, 4 bits */ | ||
| 110 | u8 vlstallcnt_hoqlife; /* 3 bits, 5 bits */ | ||
| 111 | u8 operationalvl_pei_peo_fpi_fpo; /* 4 bits, 1, 1, 1, 1 */ | ||
| 112 | __be16 mkey_violations; | ||
| 113 | __be16 pkey_violations; | ||
| 114 | __be16 qkey_violations; | ||
| 115 | u8 guid_cap; | ||
| 116 | u8 clientrereg_resv_subnetto; /* 1 bit, 2 bits, 5 */ | ||
| 117 | u8 resv_resptimevalue; /* 3 bits, 5 bits */ | ||
| 118 | u8 localphyerrors_overrunerrors; /* 4 bits, 4 bits */ | ||
| 119 | __be16 max_credit_hint; | ||
| 120 | u8 resv; | ||
| 121 | u8 link_roundtrip_latency[3]; | ||
| 122 | }; | ||
| 123 | |||
| 88 | static inline u8 | 124 | static inline u8 |
| 89 | ib_get_smp_direction(struct ib_smp *smp) | 125 | ib_get_smp_direction(struct ib_smp *smp) |
| 90 | { | 126 | { |
