diff options
author | Alex Elder <elder@linaro.org> | 2020-05-01 01:13:22 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-05-02 01:53:33 +0300 |
commit | aba7924fa5a490d6c586b9cd7d0f78f872a40d1d (patch) | |
tree | 18b3fe0900e4eb84a536789a4acfd373e5c33ab7 /drivers/net/ipa/gsi.c | |
parent | b7052ba7cf5261e013bcc4cd52e3c89c0d5669b0 (diff) | |
download | linux-aba7924fa5a490d6c586b9cd7d0f78f872a40d1d.tar.xz |
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.c | 11 |
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); } |