RDMA/qedr: Fix incorrect device rate.

Use the correct enum value introduced in commit 12113a35ad ("IB/core:
Add HDR speed enum") Prior to this change a 50Gbps port would show 40Gbps.

This patch also cleaned up the redundant redefiniton of ib speeds for
qedr.

Fixes: 12113a35ad ("IB/core: Add HDR speed enum")
Signed-off-by: Sagiv Ozeri <sagiv.ozeri@marvell.com>
Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
Sagiv Ozeri 2019-05-20 12:33:20 +03:00 committed by Jason Gunthorpe
parent 91f571293e
commit 69054666df
1 changed files with 9 additions and 16 deletions

View File

@ -159,54 +159,47 @@ int qedr_query_device(struct ib_device *ibdev,
return 0;
}
#define QEDR_SPEED_SDR (1)
#define QEDR_SPEED_DDR (2)
#define QEDR_SPEED_QDR (4)
#define QEDR_SPEED_FDR10 (8)
#define QEDR_SPEED_FDR (16)
#define QEDR_SPEED_EDR (32)
static inline void get_link_speed_and_width(int speed, u8 *ib_speed,
u8 *ib_width)
{
switch (speed) {
case 1000:
*ib_speed = QEDR_SPEED_SDR;
*ib_speed = IB_SPEED_SDR;
*ib_width = IB_WIDTH_1X;
break;
case 10000:
*ib_speed = QEDR_SPEED_QDR;
*ib_speed = IB_SPEED_QDR;
*ib_width = IB_WIDTH_1X;
break;
case 20000:
*ib_speed = QEDR_SPEED_DDR;
*ib_speed = IB_SPEED_DDR;
*ib_width = IB_WIDTH_4X;
break;
case 25000:
*ib_speed = QEDR_SPEED_EDR;
*ib_speed = IB_SPEED_EDR;
*ib_width = IB_WIDTH_1X;
break;
case 40000:
*ib_speed = QEDR_SPEED_QDR;
*ib_speed = IB_SPEED_QDR;
*ib_width = IB_WIDTH_4X;
break;
case 50000:
*ib_speed = QEDR_SPEED_QDR;
*ib_width = IB_WIDTH_4X;
*ib_speed = IB_SPEED_HDR;
*ib_width = IB_WIDTH_1X;
break;
case 100000:
*ib_speed = QEDR_SPEED_EDR;
*ib_speed = IB_SPEED_EDR;
*ib_width = IB_WIDTH_4X;
break;
default:
/* Unsupported */
*ib_speed = QEDR_SPEED_SDR;
*ib_speed = IB_SPEED_SDR;
*ib_width = IB_WIDTH_1X;
}
}