mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-18 21:06:44 +07:00
net/faraday: Clear stale interrupts
There is stale interrupt (PHYSTS_CHG in ISR, bit#6 in 0x0) from the bootloader (uboot) when enabling the MAC. The stale interrupts aren't part of kernel and should be cleared. This clears the stale interrupts in ISR (0x0) when enabling the MAC. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2a0ab8ebbe
commit
08c9c12600
@ -1112,6 +1112,7 @@ static int ftgmac100_poll(struct napi_struct *napi, int budget)
|
||||
static int ftgmac100_open(struct net_device *netdev)
|
||||
{
|
||||
struct ftgmac100 *priv = netdev_priv(netdev);
|
||||
unsigned int status;
|
||||
int err;
|
||||
|
||||
err = ftgmac100_alloc_buffers(priv);
|
||||
@ -1137,6 +1138,11 @@ static int ftgmac100_open(struct net_device *netdev)
|
||||
|
||||
ftgmac100_init_hw(priv);
|
||||
ftgmac100_start_hw(priv, priv->use_ncsi ? 100 : 10);
|
||||
|
||||
/* Clear stale interrupts */
|
||||
status = ioread32(priv->base + FTGMAC100_OFFSET_ISR);
|
||||
iowrite32(status, priv->base + FTGMAC100_OFFSET_ISR);
|
||||
|
||||
if (netdev->phydev)
|
||||
phy_start(netdev->phydev);
|
||||
else if (priv->use_ncsi)
|
||||
|
Loading…
Reference in New Issue
Block a user