Commit 909ebd58 authored by David S. Miller's avatar David S. Miller

Merge branch 'stmmac-irq-fixes-cleanups'

Niklas Cassel says:

====================
stmmac irq fixes/cleanups

A couple of small stmmac irq fixes/cleanups.
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents faefaa97 10291171
...@@ -74,8 +74,6 @@ static void dwmac1000_core_init(struct mac_device_info *hw, ...@@ -74,8 +74,6 @@ static void dwmac1000_core_init(struct mac_device_info *hw,
/* Mask GMAC interrupts */ /* Mask GMAC interrupts */
value = GMAC_INT_DEFAULT_MASK; value = GMAC_INT_DEFAULT_MASK;
if (hw->pmt)
value &= ~GMAC_INT_DISABLE_PMT;
if (hw->pcs) if (hw->pcs)
value &= ~GMAC_INT_DISABLE_PCS; value &= ~GMAC_INT_DISABLE_PCS;
......
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
#define GMAC_PCS_IRQ_DEFAULT (GMAC_INT_RGSMIIS | GMAC_INT_PCS_LINK | \ #define GMAC_PCS_IRQ_DEFAULT (GMAC_INT_RGSMIIS | GMAC_INT_PCS_LINK | \
GMAC_INT_PCS_ANE) GMAC_INT_PCS_ANE)
#define GMAC_INT_DEFAULT_MASK (GMAC_INT_PMT_EN | GMAC_INT_LPI_EN) #define GMAC_INT_DEFAULT_ENABLE (GMAC_INT_PMT_EN | GMAC_INT_LPI_EN)
enum dwmac4_irq_status { enum dwmac4_irq_status {
time_stamp_irq = 0x00001000, time_stamp_irq = 0x00001000,
......
...@@ -61,10 +61,9 @@ static void dwmac4_core_init(struct mac_device_info *hw, ...@@ -61,10 +61,9 @@ static void dwmac4_core_init(struct mac_device_info *hw,
writel(value, ioaddr + GMAC_CONFIG); writel(value, ioaddr + GMAC_CONFIG);
/* Mask GMAC interrupts */ /* Enable GMAC interrupts */
value = GMAC_INT_DEFAULT_MASK; value = GMAC_INT_DEFAULT_ENABLE;
if (hw->pmt)
value |= GMAC_INT_PMT_EN;
if (hw->pcs) if (hw->pcs)
value |= GMAC_PCS_IRQ_DEFAULT; value |= GMAC_PCS_IRQ_DEFAULT;
...@@ -572,10 +571,12 @@ static int dwmac4_irq_status(struct mac_device_info *hw, ...@@ -572,10 +571,12 @@ static int dwmac4_irq_status(struct mac_device_info *hw,
struct stmmac_extra_stats *x) struct stmmac_extra_stats *x)
{ {
void __iomem *ioaddr = hw->pcsr; void __iomem *ioaddr = hw->pcsr;
u32 intr_status; u32 intr_status = readl(ioaddr + GMAC_INT_STATUS);
u32 intr_enable = readl(ioaddr + GMAC_INT_EN);
int ret = 0; int ret = 0;
intr_status = readl(ioaddr + GMAC_INT_STATUS); /* Discard disabled bits */
intr_status &= intr_enable;
/* Not used events (e.g. MMC interrupts) are not handled. */ /* Not used events (e.g. MMC interrupts) are not handled. */
if ((intr_status & mmc_tx_irq)) if ((intr_status & mmc_tx_irq))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment