svn commit: r241697 - head/sys/ofed/include/rdma
John Baldwin
jhb at FreeBSD.org
Thu Oct 18 15:44:28 UTC 2012
Author: jhb
Date: Thu Oct 18 15:44:27 2012
New Revision: 241697
URL: http://svn.freebsd.org/changeset/base/241697
Log:
Take advantage of if_baudrate_pf and calculate an effective baud rate on
all platforms (not just amd64) to compute an equivalent IB rate.
Modified:
head/sys/ofed/include/rdma/ib_addr.h
Modified: head/sys/ofed/include/rdma/ib_addr.h
==============================================================================
--- head/sys/ofed/include/rdma/ib_addr.h Thu Oct 18 15:43:19 2012 (r241696)
+++ head/sys/ofed/include/rdma/ib_addr.h Thu Oct 18 15:44:27 2012 (r241697)
@@ -247,17 +247,21 @@ static inline int iboe_get_rate(struct n
#else
static inline int iboe_get_rate(struct net_device *dev)
{
-#ifdef __amd64__
- if (dev->if_baudrate >= IF_Gbps(40ULL))
+ uintmax_t baudrate;
+ int exp;
+
+ baudrate = dev->if_baudrate;
+ for (exp = dev->if_baudrate_pf; exp > 0; exp--)
+ baudrate *= 10;
+ if (baudrate >= IF_Gbps(40))
return IB_RATE_40_GBPS;
- else if (dev->if_baudrate >= IF_Gbps(30ULL))
+ else if (baudrate >= IF_Gbps(30))
return IB_RATE_30_GBPS;
- else if (dev->if_baudrate >= IF_Gbps(20ULL))
+ else if (baudrate >= IF_Gbps(20))
return IB_RATE_20_GBPS;
- else if (dev->if_baudrate >= IF_Gbps(10ULL))
+ else if (baudrate >= IF_Gbps(10))
return IB_RATE_10_GBPS;
else
-#endif
return IB_RATE_PORT_CURRENT;
}
#endif
More information about the svn-src-all
mailing list