aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/net/ipa/gsi.c
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2020-04-30 17:13:22 -0500
committerDavid S. Miller <davem@davemloft.net>2020-05-01 15:53:33 -0700
commitaba7924fa5a490d6c586b9cd7d0f78f872a40d1d (patch)
tree18b3fe0900e4eb84a536789a4acfd373e5c33ab7 /drivers/net/ipa/gsi.c
parentMerge branch 'net-dsa-mv88e6xxx-augment-phylink-support-for-10G' (diff)
downloadwireguard-linux-aba7924fa5a490d6c586b9cd7d0f78f872a40d1d.tar.xz
wireguard-linux-aba7924fa5a490d6c586b9cd7d0f78f872a40d1d.zip
net: ipa: pass channel pointer to gsi_channel_state()
Pass a channel pointer rather than a GSI pointer and channel ID to gsi_channel_state(). Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ipa/gsi.c')
-rw-r--r--drivers/net/ipa/gsi.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/ipa/gsi.c b/drivers/net/ipa/gsi.c
index 845478a19a4f..6946c39b664a 100644
--- a/drivers/net/ipa/gsi.c
+++ b/drivers/net/ipa/gsi.c
@@ -416,12 +416,13 @@ static void gsi_evt_ring_de_alloc_command(struct gsi *gsi, u32 evt_ring_id)
}
/* Return the hardware's notion of the current state of a channel */
-static enum gsi_channel_state
-gsi_channel_state(struct gsi *gsi, u32 channel_id)
+static enum gsi_channel_state gsi_channel_state(struct gsi_channel *channel)
{
+ u32 channel_id = gsi_channel_id(channel);
+ void *virt = channel->gsi->virt;
u32 val;
- val = ioread32(gsi->virt + GSI_CH_C_CNTXT_0_OFFSET(channel_id));
+ val = ioread32(virt + GSI_CH_C_CNTXT_0_OFFSET(channel_id));
return u32_get_bits(val, CHSTATE_FMASK);
}
@@ -453,7 +454,7 @@ static int gsi_channel_alloc_command(struct gsi *gsi, u32 channel_id)
int ret;
/* Get initial channel state */
- channel->state = gsi_channel_state(gsi, channel_id);
+ channel->state = gsi_channel_state(channel);
if (channel->state != GSI_CHANNEL_STATE_NOT_ALLOCATED)
return -EINVAL;
@@ -940,7 +941,7 @@ static void gsi_isr_chan_ctrl(struct gsi *gsi)
channel_mask ^= BIT(channel_id);
channel = &gsi->channel[channel_id];
- channel->state = gsi_channel_state(gsi, channel_id);
+ channel->state = gsi_channel_state(channel);
complete(&channel->completion);
}