Commit 5725593e authored by Alex Elder's avatar Alex Elder Committed by Jakub Kicinski

net: ipa: repurpose gsi_irq_ieob_disable()

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: default avatarAlex Elder <elder@linaro.org>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 223f5b34
...@@ -272,7 +272,7 @@ static void gsi_irq_ch_ctrl_disable(struct gsi *gsi) ...@@ -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); 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; bool enable_ieob = !gsi->ieob_enabled_bitmap;
u32 val; u32 val;
...@@ -286,11 +286,11 @@ static void gsi_irq_ieob_enable(struct gsi *gsi, u32 evt_ring_id) ...@@ -286,11 +286,11 @@ static void gsi_irq_ieob_enable(struct gsi *gsi, u32 evt_ring_id)
gsi_irq_type_enable(gsi, GSI_IEOB); 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; 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 */ /* Disable the interrupt type if this was the last enabled channel */
if (!gsi->ieob_enabled_bitmap) if (!gsi->ieob_enabled_bitmap)
...@@ -300,6 +300,11 @@ static void gsi_irq_ieob_disable(struct gsi *gsi, u32 evt_ring_id) ...@@ -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); 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 */ /* Enable all GSI_interrupt types */
static void gsi_irq_enable(struct gsi *gsi) static void gsi_irq_enable(struct gsi *gsi)
{ {
...@@ -766,13 +771,13 @@ static void gsi_channel_freeze(struct gsi_channel *channel) ...@@ -766,13 +771,13 @@ static void gsi_channel_freeze(struct gsi_channel *channel)
napi_disable(&channel->napi); 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. */ /* Allow transactions to be used on the channel again. */
static void gsi_channel_thaw(struct gsi_channel *channel) 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); napi_enable(&channel->napi);
} }
...@@ -1207,7 +1212,7 @@ static void gsi_isr_ieob(struct gsi *gsi) ...@@ -1207,7 +1212,7 @@ static void gsi_isr_ieob(struct gsi *gsi)
event_mask ^= BIT(evt_ring_id); 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); 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) ...@@ -1555,7 +1560,7 @@ static int gsi_channel_poll(struct napi_struct *napi, int budget)
} }
if (count < budget && napi_complete(napi)) 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; return count;
} }
......
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