> In an internal review from Airoha, it was notice that the RX DMA descriptor > bits and mask are wrong. These values probably refer to an old NPU firmware > never published. The previous value works correctly but it was reported > that in some specific condition in mixed scenario with both Ethernet and > WiFi offload it's possible that RX DMA descriptor signal wrong value with > the problem to the RX ring or packets getting dropped. > > To handle these specific scenario, apply the new suggested bits mask from > Airoha. > > Correct functionality of both AN7581 NPU and MT7996 variant were verified > and confirmed working. > > Fixes: a7fc8c641cab ("net: airoha: Fix npu rx DMA definitions") > Signed-off-by: Christian Marangi Acked-by: Lorenzo Bianconi > --- > include/linux/soc/airoha/airoha_offload.h | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/include/linux/soc/airoha/airoha_offload.h b/include/linux/soc/airoha/airoha_offload.h > index d01ef4a6b3d7..7589fccfeef6 100644 > --- a/include/linux/soc/airoha/airoha_offload.h > +++ b/include/linux/soc/airoha/airoha_offload.h > @@ -71,9 +71,9 @@ static inline void airoha_ppe_dev_check_skb(struct airoha_ppe_dev *dev, > #define NPU_RX1_DESC_NUM 512 > > /* CTRL */ > -#define NPU_RX_DMA_DESC_LAST_MASK BIT(27) > -#define NPU_RX_DMA_DESC_LEN_MASK GENMASK(26, 14) > -#define NPU_RX_DMA_DESC_CUR_LEN_MASK GENMASK(13, 1) > +#define NPU_RX_DMA_DESC_LAST_MASK BIT(29) > +#define NPU_RX_DMA_DESC_LEN_MASK GENMASK(28, 15) > +#define NPU_RX_DMA_DESC_CUR_LEN_MASK GENMASK(14, 1) > #define NPU_RX_DMA_DESC_DONE_MASK BIT(0) > /* INFO */ > #define NPU_RX_DMA_PKT_COUNT_MASK GENMASK(31, 29) > -- > 2.53.0 >