From: Francois Romieu Date: Thu, 26 Jan 2012 11:50:01 +0000 (+0100) Subject: r8169: factor out IntrMask writes. X-Git-Tag: v2.6.39-400.9.0~423^2~19^2~11^2~22 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=902a2658d58cffdf5ec5fb083b1feb3f6a827a53;p=users%2Fjedix%2Flinux-maple.git r8169: factor out IntrMask writes. (cherry picked from commit 3e990ff5f119c2f9b142f3e2548dc90ca9b7dfa1) Signed-off-by: Francois Romieu Cc: Hayes Wang Signed-off-by: Joe Jin --- diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 19ecef3dfdcb..4f94deca970c 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -1183,6 +1183,13 @@ static u8 rtl8168d_efuse_read(void __iomem *ioaddr, int reg_addr) return value; } +static void rtl_irq_enable(struct rtl8169_private *tp, u16 bits) +{ + void __iomem *ioaddr = tp->mmio_addr; + + RTL_W16(IntrMask, bits); +} + static void rtl8169_irq_mask_and_ack(struct rtl8169_private *tp) { void __iomem *ioaddr = tp->mmio_addr; @@ -4380,6 +4387,8 @@ static void rtl_hw_start(struct net_device *dev) tp->hw_start(dev); + rtl_irq_enable(tp, tp->intr_event); + netif_start_queue(dev); } @@ -4507,9 +4516,6 @@ static void rtl_hw_start_8169(struct net_device *dev) /* no early-rx interrupts */ RTL_W16(MultiIntr, RTL_R16(MultiIntr) & 0xF000); - - /* Enable all known interrupts by setting the interrupt mask. */ - RTL_W16(IntrMask, tp->intr_event); } static void rtl_csi_access_enable(void __iomem *ioaddr, u32 bits) @@ -4978,8 +4984,6 @@ static void rtl_hw_start_8168(struct net_device *dev) RTL_W8(Cfg9346, Cfg9346_Lock); RTL_W16(MultiIntr, RTL_R16(MultiIntr) & 0xF000); - - RTL_W16(IntrMask, tp->intr_event); } #define R810X_CPCMD_QUIRK_MASK (\ @@ -5137,8 +5141,6 @@ static void rtl_hw_start_8101(struct net_device *dev) rtl_set_rx_mode(dev); RTL_W16(MultiIntr, RTL_R16(MultiIntr) & 0xf000); - - RTL_W16(IntrMask, tp->intr_event); } static int rtl8169_change_mtu(struct net_device *dev, int new_mtu)