mirror of
https://github.com/torvalds/linux.git
synced 2026-10-05 11:24:03 +02:00
Merge branch 'net-bcmgenet-collection-of-bug-fixes'
Florian Fainelli says: ==================== net: bcmgenet: Collection of bug fixes This patch series contains a collection of bug fixes found during a LLM-assisted coding session. ==================== Link: https://patch.msgid.link/20260921220021.281418-1-florian.fainelli@broadcom.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
commit
fc05ea1b94
|
|
@ -852,7 +852,8 @@ static int bcmgenet_get_coalesce(struct net_device *dev,
|
|||
ec->rx_max_coalesced_frames =
|
||||
bcmgenet_rdma_ring_readl(priv, 0, DMA_MBUF_DONE_THRESH);
|
||||
ec->rx_coalesce_usecs =
|
||||
bcmgenet_rdma_readl(priv, DMA_RING0_TIMEOUT) * 8192 / 1000;
|
||||
(bcmgenet_rdma_readl(priv, DMA_RING0_TIMEOUT) &
|
||||
DMA_TIMEOUT_MASK) * 8192 / 1000;
|
||||
|
||||
for (i = 0; i <= priv->hw_params->rx_queues; i++) {
|
||||
ring = &priv->rx_rings[i];
|
||||
|
|
@ -1346,9 +1347,8 @@ static void bcmgenet_get_ethtool_stats(struct net_device *dev,
|
|||
p = (char *)&stats64;
|
||||
|
||||
p += s->stat_offset;
|
||||
if (sizeof(unsigned long) != sizeof(u32) &&
|
||||
s->stat_sizeof == sizeof(unsigned long))
|
||||
data[i] = *(unsigned long *)p;
|
||||
if (s->stat_sizeof == sizeof(u64))
|
||||
data[i] = *(u64 *)p;
|
||||
else
|
||||
data[i] = *(u32 *)p;
|
||||
}
|
||||
|
|
@ -1763,13 +1763,12 @@ static int bcmgenet_power_up(struct bcmgenet_priv *priv,
|
|||
int ret = 0;
|
||||
u32 reg;
|
||||
|
||||
if (!bcmgenet_has_ext(priv))
|
||||
return ret;
|
||||
|
||||
reg = bcmgenet_ext_readl(priv, EXT_EXT_PWR_MGMT);
|
||||
|
||||
switch (mode) {
|
||||
case GENET_POWER_PASSIVE:
|
||||
if (!bcmgenet_has_ext(priv))
|
||||
break;
|
||||
|
||||
reg = bcmgenet_ext_readl(priv, EXT_EXT_PWR_MGMT);
|
||||
reg &= ~(EXT_PWR_DOWN_DLL | EXT_PWR_DOWN_BIAS |
|
||||
EXT_ENERGY_DET_MASK);
|
||||
if (GENET_IS_V5(priv) && !bcmgenet_has_ephy_16nm(priv)) {
|
||||
|
|
@ -1793,8 +1792,12 @@ static int bcmgenet_power_up(struct bcmgenet_priv *priv,
|
|||
break;
|
||||
|
||||
case GENET_POWER_CABLE_SENSE:
|
||||
if (!bcmgenet_has_ext(priv))
|
||||
break;
|
||||
|
||||
/* enable APD */
|
||||
if (!GENET_IS_V5(priv)) {
|
||||
reg = bcmgenet_ext_readl(priv, EXT_EXT_PWR_MGMT);
|
||||
reg |= EXT_PWR_DN_EN_LD;
|
||||
bcmgenet_ext_writel(priv, reg, EXT_EXT_PWR_MGMT);
|
||||
}
|
||||
|
|
@ -3633,6 +3636,9 @@ static int bcmgenet_set_mac_addr(struct net_device *dev, void *p)
|
|||
if (netif_running(dev))
|
||||
return -EBUSY;
|
||||
|
||||
if (!is_valid_ether_addr(addr->sa_data))
|
||||
return -EADDRNOTAVAIL;
|
||||
|
||||
eth_hw_addr_set(dev, addr->sa_data);
|
||||
|
||||
return 0;
|
||||
|
|
@ -4136,10 +4142,10 @@ static int bcmgenet_probe(struct platform_device *pdev)
|
|||
priv->rx_rings[i].rx_max_coalesced_frames = 1;
|
||||
|
||||
/* Initialize u64 stats seq counter for 32bit machines */
|
||||
for (i = 0; i <= priv->hw_params->rx_queues; i++)
|
||||
for (i = 0; i <= GENET_MAX_MQ_CNT; i++) {
|
||||
u64_stats_init(&priv->rx_rings[i].stats64.syncp);
|
||||
for (i = 0; i <= priv->hw_params->tx_queues; i++)
|
||||
u64_stats_init(&priv->tx_rings[i].stats64.syncp);
|
||||
}
|
||||
|
||||
/* libphy will determine the link state */
|
||||
netif_carrier_off(dev);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user