[PATCH net v2 2/2] net: ethernet: mediatek: use ADMAv1 instead of ADMAv2.0 on MT7981 and MT7986
Przemek Kitszel
przemyslaw.kitszel at intel.com
Tue May 7 08:54:46 PDT 2024
On 5/7/24 14:25, Daniel Golle wrote:
> ADMAv2.0 is plagued by RX hangs which can't easily detected and happen upon
nit: missing "be" after "can't",
but no need to respin just for that
> receival of a corrupted Ethernet frame.
>
> Use ADMAv1 instead which is also still present and usable, and doesn't
> suffer from that problem.
>
> Fixes: 197c9e9b17b1 ("net: ethernet: mtk_eth_soc: introduce support for mt7986 chipset")
> Co-developed-by: Lorenzo Bianconi <lorenzo at kernel.org>
> Signed-off-by: Lorenzo Bianconi <lorenzo at kernel.org>
> Signed-off-by: Daniel Golle <daniel at makrotopia.org>
> ---
> v2: improve commit message
> drivers/net/ethernet/mediatek/mtk_eth_soc.c | 46 ++++++++++-----------
> 1 file changed, 23 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> index 3eefb735ce19..d7d73295f0dc 100644
> --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> @@ -110,16 +110,16 @@ static const struct mtk_reg_map mt7986_reg_map = {
MT7981 uses the same regmap, so is covered too, fine
> .tx_irq_mask = 0x461c,
> .tx_irq_status = 0x4618,
> .pdma = {
> - .rx_ptr = 0x6100,
> - .rx_cnt_cfg = 0x6104,
> - .pcrx_ptr = 0x6108,
> - .glo_cfg = 0x6204,
> - .rst_idx = 0x6208,
> - .delay_irq = 0x620c,
> - .irq_status = 0x6220,
> - .irq_mask = 0x6228,
> - .adma_rx_dbg0 = 0x6238,
> - .int_grp = 0x6250,
> + .rx_ptr = 0x4100,
> + .rx_cnt_cfg = 0x4104,
> + .pcrx_ptr = 0x4108,
> + .glo_cfg = 0x4204,
> + .rst_idx = 0x4208,
> + .delay_irq = 0x420c,
> + .irq_status = 0x4220,
> + .irq_mask = 0x4228,
> + .adma_rx_dbg0 = 0x4238,
> + .int_grp = 0x4250,
> },
> .qdma = {
> .qtx_cfg = 0x4400,
// ...
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel at intel.com>
More information about the Linux-mediatek
mailing list