Message ID | 3a1380123ae8a95ae993641d5914c43eb0895fec.1692696115.git.chenfeiyang@loongson.cn (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | stmmac: Add Loongson platform support | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Guessing tree name failed - patch did not apply |
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c index 9fb27fc94d2a..1f466b1e80d9 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c @@ -182,6 +182,8 @@ static int loongson_gmac_config(struct pci_dev *pdev, break; } + plat->dwegmac_flags |= FIELD_PREP(DWEGMAC_DISABLE_FLOW_CONTROL, 1); + return ret; } diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 1d67e5ec5fac..a98bcd797720 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -1213,8 +1213,10 @@ static int stmmac_phy_setup(struct stmmac_priv *priv) xpcs_get_interfaces(priv->hw->xpcs, priv->phylink_config.supported_interfaces); - priv->phylink_config.mac_capabilities = MAC_ASYM_PAUSE | MAC_SYM_PAUSE | - MAC_10 | MAC_100; + priv->phylink_config.mac_capabilities = MAC_10 | MAC_100; + if (!FIELD_GET(DWEGMAC_DISABLE_FLOW_CONTROL, priv->plat->dwegmac_flags)) + priv->phylink_config.mac_capabilities |= + MAC_ASYM_PAUSE | MAC_SYM_PAUSE; if (!max_speed || max_speed >= 1000) priv->phylink_config.mac_capabilities |= MAC_1000; diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h index e4088d2a0f39..e97774efd451 100644 --- a/include/linux/stmmac.h +++ b/include/linux/stmmac.h @@ -208,6 +208,7 @@ struct dwmac4_addrs { }; #define DWEGMAC_FIX_CHANNEL_NUM BIT(0) +#define DWEGMAC_DISABLE_FLOW_CONTROL BIT(1) struct plat_stmmacenet_data { int bus_id;