mlx4_core: Add module parameter to enable QoS support
Add a module parameter "enable_qos" to mlx4_core. If this param is set, enable support for QoS in the INIT_HCA command. By default, the parameter is set to 0 (disabled). Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
d35cb360c2
commit
51f5f0ee22
1 changed files with 8 additions and 0 deletions
|
@ -46,6 +46,10 @@ enum {
|
||||||
extern void __buggy_use_of_MLX4_GET(void);
|
extern void __buggy_use_of_MLX4_GET(void);
|
||||||
extern void __buggy_use_of_MLX4_PUT(void);
|
extern void __buggy_use_of_MLX4_PUT(void);
|
||||||
|
|
||||||
|
static int enable_qos;
|
||||||
|
module_param(enable_qos, bool, 0444);
|
||||||
|
MODULE_PARM_DESC(enable_qos, "Enable Quality of Service support in the HCA (default: off)");
|
||||||
|
|
||||||
#define MLX4_GET(dest, source, offset) \
|
#define MLX4_GET(dest, source, offset) \
|
||||||
do { \
|
do { \
|
||||||
void *__p = (char *) (source) + (offset); \
|
void *__p = (char *) (source) + (offset); \
|
||||||
|
@ -737,6 +741,10 @@ int mlx4_INIT_HCA(struct mlx4_dev *dev, struct mlx4_init_hca_param *param)
|
||||||
if (dev->caps.flags & MLX4_DEV_CAP_FLAG_IPOIB_CSUM)
|
if (dev->caps.flags & MLX4_DEV_CAP_FLAG_IPOIB_CSUM)
|
||||||
*(inbox + INIT_HCA_FLAGS_OFFSET / 4) |= cpu_to_be32(1 << 3);
|
*(inbox + INIT_HCA_FLAGS_OFFSET / 4) |= cpu_to_be32(1 << 3);
|
||||||
|
|
||||||
|
/* Enable QoS support if module parameter set */
|
||||||
|
if (enable_qos)
|
||||||
|
*(inbox + INIT_HCA_FLAGS_OFFSET / 4) |= cpu_to_be32(1 << 2);
|
||||||
|
|
||||||
/* QPC/EEC/CQC/EQC/RDMARC attributes */
|
/* QPC/EEC/CQC/EQC/RDMARC attributes */
|
||||||
|
|
||||||
MLX4_PUT(inbox, param->qpc_base, INIT_HCA_QPC_BASE_OFFSET);
|
MLX4_PUT(inbox, param->qpc_base, INIT_HCA_QPC_BASE_OFFSET);
|
||||||
|
|
Loading…
Add table
Reference in a new issue