From: Tony Zelenoff Date: Fri, 13 Apr 2012 06:09:50 +0000 (+0000) Subject: atl1: make function to set imr of card X-Git-Tag: v3.5-rc1~109^2~444 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=02d5d11bfa6d94676856c048a8471a4014368492;p=~emulex%2Finfiniband.git atl1: make function to set imr of card This function should be used later to set/remove proper bits in imr to disable only rx ints. Signed-off-by: Tony Zelenoff Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/atheros/atlx/atlx.c b/drivers/net/ethernet/atheros/atlx/atlx.c index 3cd8837236d..ee83e1cc8b2 100644 --- a/drivers/net/ethernet/atheros/atlx/atlx.c +++ b/drivers/net/ethernet/atheros/atlx/atlx.c @@ -155,14 +155,20 @@ static void atlx_set_multi(struct net_device *netdev) } } +static inline void atlx_imr_set(struct atlx_adapter *adapter, + unsigned int imr) +{ + iowrite32(imr, adapter->hw.hw_addr + REG_IMR); + ioread32(adapter->hw.hw_addr + REG_IMR); +} + /* * atlx_irq_enable - Enable default interrupt generation settings * @adapter: board private structure */ static void atlx_irq_enable(struct atlx_adapter *adapter) { - iowrite32(IMR_NORMAL_MASK, adapter->hw.hw_addr + REG_IMR); - ioread32(adapter->hw.hw_addr + REG_IMR); + atlx_imr_set(adapter, IMR_NORMAL_MASK); } /* @@ -171,8 +177,7 @@ static void atlx_irq_enable(struct atlx_adapter *adapter) */ static void atlx_irq_disable(struct atlx_adapter *adapter) { - iowrite32(0, adapter->hw.hw_addr + REG_IMR); - ioread32(adapter->hw.hw_addr + REG_IMR); + atlx_imr_set(adapter, 0); synchronize_irq(adapter->pdev->irq); }