diff options
| author | Erez Shitrit <erezsh@mellanox.com> | 2016-05-25 15:02:04 -0400 |
|---|---|---|
| committer | Doug Ledford <dledford@redhat.com> | 2016-05-25 15:39:02 -0400 |
| commit | 507f6afa3ab6c9473d81c8091be0d1b859509a6d (patch) | |
| tree | e9a29d25037416c8947cef0c197ea81f8d31ac21 /drivers/infiniband/hw/qib | |
| parent | c16d2750a08c8ccaf98d65f287a8aec91bb9610d (diff) | |
IB/core: Introduce capabilitymask2 field in ClassPortInfo mad
Change struct ib_class_port_info to conform to IB Spec 1.3
That in order to get specific capability mask from ClassPortInfo mad.
>From the IB Spec, ClassPortInfo section:
"CapabilityMask2 Bits 0-26: Additional class-specific capabilities...
RespTimeValue the rest 5 bits"
The new struct now has one field for capabilitymask2 (previously was the
reserved field) and the resp_time field.
And it fixes up qib and srpt, use of the field repurposed to be used as
capabilitymask2:
IB/qib: Change pma_get_classportinfo
IB/srpt: Adjust the use of ib_class_port_info
Signed-off-by: Erez Shitrit <erezsh@mellanox.com>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Reviewed-by: Hal Rosenstock <hal@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/qib')
| -rw-r--r-- | drivers/infiniband/hw/qib/qib_mad.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/qib/qib_mad.c b/drivers/infiniband/hw/qib/qib_mad.c index 0bd18375d7df..d2ac29861af5 100644 --- a/drivers/infiniband/hw/qib/qib_mad.c +++ b/drivers/infiniband/hw/qib/qib_mad.c | |||
| @@ -1172,11 +1172,13 @@ static int pma_get_classportinfo(struct ib_pma_mad *pmp, | |||
| 1172 | * Set the most significant bit of CM2 to indicate support for | 1172 | * Set the most significant bit of CM2 to indicate support for |
| 1173 | * congestion statistics | 1173 | * congestion statistics |
| 1174 | */ | 1174 | */ |
| 1175 | p->reserved[0] = dd->psxmitwait_supported << 7; | 1175 | ib_set_cpi_capmask2(p, |
| 1176 | dd->psxmitwait_supported << | ||
| 1177 | (31 - IB_CLASS_PORT_INFO_RESP_TIME_FIELD_SIZE)); | ||
| 1176 | /* | 1178 | /* |
| 1177 | * Expected response time is 4.096 usec. * 2^18 == 1.073741824 sec. | 1179 | * Expected response time is 4.096 usec. * 2^18 == 1.073741824 sec. |
| 1178 | */ | 1180 | */ |
| 1179 | p->resp_time_value = 18; | 1181 | ib_set_cpi_resp_time(p, 18); |
| 1180 | 1182 | ||
| 1181 | return reply((struct ib_smp *) pmp); | 1183 | return reply((struct ib_smp *) pmp); |
| 1182 | } | 1184 | } |
