|
@@ -164,6 +164,8 @@ static const char *eqe_type_str(u8 type)
|
|
return "MLX5_EVENT_TYPE_NIC_VPORT_CHANGE";
|
|
return "MLX5_EVENT_TYPE_NIC_VPORT_CHANGE";
|
|
case MLX5_EVENT_TYPE_FPGA_ERROR:
|
|
case MLX5_EVENT_TYPE_FPGA_ERROR:
|
|
return "MLX5_EVENT_TYPE_FPGA_ERROR";
|
|
return "MLX5_EVENT_TYPE_FPGA_ERROR";
|
|
|
|
+ case MLX5_EVENT_TYPE_FPGA_QP_ERROR:
|
|
|
|
+ return "MLX5_EVENT_TYPE_FPGA_QP_ERROR";
|
|
case MLX5_EVENT_TYPE_GENERAL_EVENT:
|
|
case MLX5_EVENT_TYPE_GENERAL_EVENT:
|
|
return "MLX5_EVENT_TYPE_GENERAL_EVENT";
|
|
return "MLX5_EVENT_TYPE_GENERAL_EVENT";
|
|
default:
|
|
default:
|
|
@@ -563,6 +565,7 @@ static irqreturn_t mlx5_eq_int(int irq, void *eq_ptr)
|
|
break;
|
|
break;
|
|
|
|
|
|
case MLX5_EVENT_TYPE_FPGA_ERROR:
|
|
case MLX5_EVENT_TYPE_FPGA_ERROR:
|
|
|
|
+ case MLX5_EVENT_TYPE_FPGA_QP_ERROR:
|
|
mlx5_fpga_event(dev, eqe->type, &eqe->data.raw);
|
|
mlx5_fpga_event(dev, eqe->type, &eqe->data.raw);
|
|
break;
|
|
break;
|
|
|
|
|
|
@@ -842,11 +845,11 @@ int mlx5_start_eqs(struct mlx5_core_dev *dev)
|
|
async_event_mask |= (1ull << MLX5_EVENT_TYPE_PPS_EVENT);
|
|
async_event_mask |= (1ull << MLX5_EVENT_TYPE_PPS_EVENT);
|
|
|
|
|
|
if (MLX5_CAP_GEN(dev, fpga))
|
|
if (MLX5_CAP_GEN(dev, fpga))
|
|
- async_event_mask |= (1ull << MLX5_EVENT_TYPE_FPGA_ERROR);
|
|
|
|
|
|
+ async_event_mask |= (1ull << MLX5_EVENT_TYPE_FPGA_ERROR) |
|
|
|
|
+ (1ull << MLX5_EVENT_TYPE_FPGA_QP_ERROR);
|
|
if (MLX5_CAP_GEN_MAX(dev, dct))
|
|
if (MLX5_CAP_GEN_MAX(dev, dct))
|
|
async_event_mask |= (1ull << MLX5_EVENT_TYPE_DCT_DRAINED);
|
|
async_event_mask |= (1ull << MLX5_EVENT_TYPE_DCT_DRAINED);
|
|
|
|
|
|
-
|
|
|
|
if (MLX5_CAP_GEN(dev, temp_warn_event))
|
|
if (MLX5_CAP_GEN(dev, temp_warn_event))
|
|
async_event_mask |= (1ull << MLX5_EVENT_TYPE_TEMP_WARN_EVENT);
|
|
async_event_mask |= (1ull << MLX5_EVENT_TYPE_TEMP_WARN_EVENT);
|
|
|
|
|