diff options
author | David Woodhouse <dwmw2@infradead.org> | 2006-04-17 15:35:18 +0100 |
---|---|---|
committer | David Woodhouse <dwmw2@infradead.org> | 2006-04-17 15:35:18 +0100 |
commit | 94171db1d2f23c22b6050d210b72db3bb2f0b81e (patch) | |
tree | 2318d487807e9f7393fcd46ef0090a27b4ad7981 /drivers/infiniband/core/verbs.c | |
parent | d96fb997c6174f98a2a0a98200f99ac13b053bd6 (diff) | |
parent | c19f7a9e1ac45b57375d51f033b02deca50f4d3f (diff) | |
download | kernel_goldelico_gta04-94171db1d2f23c22b6050d210b72db3bb2f0b81e.zip kernel_goldelico_gta04-94171db1d2f23c22b6050d210b72db3bb2f0b81e.tar.gz kernel_goldelico_gta04-94171db1d2f23c22b6050d210b72db3bb2f0b81e.tar.bz2 |
Merge with git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'drivers/infiniband/core/verbs.c')
-rw-r--r-- | drivers/infiniband/core/verbs.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c index cae0845..b78e7dc 100644 --- a/drivers/infiniband/core/verbs.c +++ b/drivers/infiniband/core/verbs.c @@ -45,6 +45,40 @@ #include <rdma/ib_verbs.h> #include <rdma/ib_cache.h> +int ib_rate_to_mult(enum ib_rate rate) +{ + switch (rate) { + case IB_RATE_2_5_GBPS: return 1; + case IB_RATE_5_GBPS: return 2; + case IB_RATE_10_GBPS: return 4; + case IB_RATE_20_GBPS: return 8; + case IB_RATE_30_GBPS: return 12; + case IB_RATE_40_GBPS: return 16; + case IB_RATE_60_GBPS: return 24; + case IB_RATE_80_GBPS: return 32; + case IB_RATE_120_GBPS: return 48; + default: return -1; + } +} +EXPORT_SYMBOL(ib_rate_to_mult); + +enum ib_rate mult_to_ib_rate(int mult) +{ + switch (mult) { + case 1: return IB_RATE_2_5_GBPS; + case 2: return IB_RATE_5_GBPS; + case 4: return IB_RATE_10_GBPS; + case 8: return IB_RATE_20_GBPS; + case 12: return IB_RATE_30_GBPS; + case 16: return IB_RATE_40_GBPS; + case 24: return IB_RATE_60_GBPS; + case 32: return IB_RATE_80_GBPS; + case 48: return IB_RATE_120_GBPS; + default: return IB_RATE_PORT_CURRENT; + } +} +EXPORT_SYMBOL(mult_to_ib_rate); + /* Protection domains */ struct ib_pd *ib_alloc_pd(struct ib_device *device) |