At the moment, if the driver sets an incorrect Tx descriptor, the HW will raise a MDD event reported as: ice_interrupt_handler(): OICR: MDD event
Add some debug info for this case and the VF index in all logs. Signed-off-by: David Marchand <david.march...@redhat.com> --- drivers/net/ice/ice_ethdev.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c index 87385d2649..fd494e6b3b 100644 --- a/drivers/net/ice/ice_ethdev.c +++ b/drivers/net/ice/ice_ethdev.c @@ -1389,6 +1389,7 @@ ice_interrupt_handler(void *param) uint32_t oicr; uint32_t reg; uint8_t pf_num; + uint16_t vf_num; uint8_t event; uint16_t queue; int ret; @@ -1432,28 +1433,48 @@ ice_interrupt_handler(void *param) if (reg & GL_MDET_TX_PQM_VALID_M) { pf_num = (reg & GL_MDET_TX_PQM_PF_NUM_M) >> GL_MDET_TX_PQM_PF_NUM_S; + vf_num = (reg & GL_MDET_TX_PQM_VF_NUM_M) >> + GL_MDET_TX_PQM_VF_NUM_S; event = (reg & GL_MDET_TX_PQM_MAL_TYPE_M) >> GL_MDET_TX_PQM_MAL_TYPE_S; queue = (reg & GL_MDET_TX_PQM_QNUM_M) >> GL_MDET_TX_PQM_QNUM_S; PMD_DRV_LOG(WARNING, "Malicious Driver Detection event " - "%d by PQM on TX queue %d PF# %d", - event, queue, pf_num); + "%d by PQM on TX queue %d PF# %d VF# %d", + event, queue, pf_num, vf_num); } reg = ICE_READ_REG(hw, GL_MDET_TX_TCLAN); if (reg & GL_MDET_TX_TCLAN_VALID_M) { pf_num = (reg & GL_MDET_TX_TCLAN_PF_NUM_M) >> GL_MDET_TX_TCLAN_PF_NUM_S; + vf_num = (reg & GL_MDET_TX_TCLAN_VF_NUM_M) >> + GL_MDET_TX_TCLAN_VF_NUM_S; event = (reg & GL_MDET_TX_TCLAN_MAL_TYPE_M) >> GL_MDET_TX_TCLAN_MAL_TYPE_S; queue = (reg & GL_MDET_TX_TCLAN_QNUM_M) >> GL_MDET_TX_TCLAN_QNUM_S; PMD_DRV_LOG(WARNING, "Malicious Driver Detection event " - "%d by TCLAN on TX queue %d PF# %d", - event, queue, pf_num); + "%d by TCLAN on TX queue %d PF# %d VF# %d", + event, queue, pf_num, vf_num); + } + + reg = ICE_READ_REG(hw, GL_MDET_TX_TDPU); + if (reg & GL_MDET_TX_TDPU_VALID_M) { + pf_num = (reg & GL_MDET_TX_TDPU_PF_NUM_M) >> + GL_MDET_TX_TDPU_PF_NUM_S; + vf_num = (reg & GL_MDET_TX_TDPU_VF_NUM_M) >> + GL_MDET_TX_TDPU_VF_NUM_S; + event = (reg & GL_MDET_TX_TDPU_MAL_TYPE_M) >> + GL_MDET_TX_TDPU_MAL_TYPE_S; + queue = (reg & GL_MDET_TX_TDPU_QNUM_M) >> + GL_MDET_TX_TDPU_QNUM_S; + + PMD_DRV_LOG(WARNING, "Malicious Driver Detection event " + "%d by TDPU on TX queue %d PF# %d VF# %d", + event, queue, pf_num, vf_num); } } done: -- 2.44.0