]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
RDMA/core: Add new IB rate for XDR (8x) support
authorMaher Sanalla <msanalla@nvidia.com>
Thu, 20 Nov 2025 15:15:15 +0000 (17:15 +0200)
committerLeon Romanovsky <leon@kernel.org>
Mon, 24 Nov 2025 07:58:30 +0000 (02:58 -0500)
Add the new rates as defined in the Infiniband spec for XDR and 8x
link width support.

Furthermore, modify the utility conversion methods accordingly.

Reference: IB Spec Release 1.8

Reviewed-by: Michael Guralnik <michaelgur@nvidia.com>
Signed-off-by: Maher Sanalla <msanalla@nvidia.com>
Link: https://patch.msgid.link/20251120-speed-8-v1-1-e6a7efef8cb8@nvidia.com
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/core/verbs.c
include/rdma/ib_verbs.h

index 3a5f81402d2f8b3243fb69a103400bc437bf1354..11b1a194de4438a56e524f09201256851ef60db8 100644 (file)
@@ -148,6 +148,7 @@ __attribute_const__ int ib_rate_to_mult(enum ib_rate rate)
        case IB_RATE_400_GBPS: return 160;
        case IB_RATE_600_GBPS: return 240;
        case IB_RATE_800_GBPS: return 320;
+       case IB_RATE_1600_GBPS: return 640;
        default:               return  -1;
        }
 }
@@ -178,6 +179,7 @@ __attribute_const__ enum ib_rate mult_to_ib_rate(int mult)
        case 160: return IB_RATE_400_GBPS;
        case 240: return IB_RATE_600_GBPS;
        case 320: return IB_RATE_800_GBPS;
+       case 640: return IB_RATE_1600_GBPS;
        default:  return IB_RATE_PORT_CURRENT;
        }
 }
@@ -208,6 +210,7 @@ __attribute_const__ int ib_rate_to_mbps(enum ib_rate rate)
        case IB_RATE_400_GBPS: return 425000;
        case IB_RATE_600_GBPS: return 637500;
        case IB_RATE_800_GBPS: return 850000;
+       case IB_RATE_1600_GBPS: return 1700000;
        default:               return -1;
        }
 }
index 0a85af610b6b72db33ddd90b30163e18f7038e7d..6aad66bc5dd7438e032247aef93164d4782b6b3a 100644 (file)
@@ -859,6 +859,7 @@ enum ib_rate {
        IB_RATE_400_GBPS = 21,
        IB_RATE_600_GBPS = 22,
        IB_RATE_800_GBPS = 23,
+       IB_RATE_1600_GBPS = 25,
 };
 
 /**