net: ipa: repurpose gsi_irq_ieob_disable()
authorAlex Elder <elder@linaro.org>
Thu, 21 Jan 2021 11:48:20 +0000 (05:48 -0600)
committerJakub Kicinski <kuba@kernel.org>
Sat, 23 Jan 2021 21:16:00 +0000 (13:16 -0800)
Rename gsi_irq_ieob_disable() to be gsi_irq_ieob_disable_one().

Introduce a new function gsi_irq_ieob_disable() that takes a mask of
events to disable rather than a single event id.  This will be used
in the next patch.

Rename gsi_irq_ieob_enable() to be gsi_irq_ieob_enable_one() to be
consistent.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ipa/gsi.c

index 6e5817e..0391f5a 100644 (file)
@@ -272,7 +272,7 @@ static void gsi_irq_ch_ctrl_disable(struct gsi *gsi)
        iowrite32(0, gsi->virt + GSI_CNTXT_SRC_CH_IRQ_MSK_OFFSET);
 }
 
-static void gsi_irq_ieob_enable(struct gsi *gsi, u32 evt_ring_id)
+static void gsi_irq_ieob_enable_one(struct gsi *gsi, u32 evt_ring_id)
 {
        bool enable_ieob = !gsi->ieob_enabled_bitmap;
        u32 val;
@@ -286,11 +286,11 @@ static void gsi_irq_ieob_enable(struct gsi *gsi, u32 evt_ring_id)
                gsi_irq_type_enable(gsi, GSI_IEOB);
 }
 
-static void gsi_irq_ieob_disable(struct gsi *gsi, u32 evt_ring_id)
+static void gsi_irq_ieob_disable(struct gsi *gsi, u32 event_mask)
 {
        u32 val;
 
-       gsi->ieob_enabled_bitmap &= ~BIT(evt_ring_id);
+       gsi->ieob_enabled_bitmap &= ~event_mask;
 
        /* Disable the interrupt type if this was the last enabled channel */
        if (!gsi->ieob_enabled_bitmap)
@@ -300,6 +300,11 @@ static void gsi_irq_ieob_disable(struct gsi *gsi, u32 evt_ring_id)
        iowrite32(val, gsi->virt + GSI_CNTXT_SRC_IEOB_IRQ_MSK_OFFSET);
 }
 
+static void gsi_irq_ieob_disable_one(struct gsi *gsi, u32 evt_ring_id)
+{
+       gsi_irq_ieob_disable(gsi, BIT(evt_ring_id));
+}
+
 /* Enable all GSI_interrupt types */
 static void gsi_irq_enable(struct gsi *gsi)
 {
@@ -766,13 +771,13 @@ static void gsi_channel_freeze(struct gsi_channel *channel)
 
        napi_disable(&channel->napi);
 
-       gsi_irq_ieob_disable(channel->gsi, channel->evt_ring_id);
+       gsi_irq_ieob_disable_one(channel->gsi, channel->evt_ring_id);
 }
 
 /* Allow transactions to be used on the channel again. */
 static void gsi_channel_thaw(struct gsi_channel *channel)
 {
-       gsi_irq_ieob_enable(channel->gsi, channel->evt_ring_id);
+       gsi_irq_ieob_enable_one(channel->gsi, channel->evt_ring_id);
 
        napi_enable(&channel->napi);
 }
@@ -1207,7 +1212,7 @@ static void gsi_isr_ieob(struct gsi *gsi)
 
                event_mask ^= BIT(evt_ring_id);
 
-               gsi_irq_ieob_disable(gsi, evt_ring_id);
+               gsi_irq_ieob_disable_one(gsi, evt_ring_id);
                napi_schedule(&gsi->evt_ring[evt_ring_id].channel->napi);
        }
 }
@@ -1555,7 +1560,7 @@ static int gsi_channel_poll(struct napi_struct *napi, int budget)
        }
 
        if (count < budget && napi_complete(napi))
-               gsi_irq_ieob_enable(channel->gsi, channel->evt_ring_id);
+               gsi_irq_ieob_enable_one(channel->gsi, channel->evt_ring_id);
 
        return count;
 }