mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
rpmsg: glink: Extract tx kick operation
Refactor out the tx kick operations to its own function, in preparation for pushing the details to the individual transports. Reviewed-by: Chris Lew <quic_clew@quicinc.com> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com> Signed-off-by: Bjorn Andersson <andersson@kernel.org> Link: https://lore.kernel.org/r/20230213155215.1237059-2-quic_bjorande@quicinc.com
This commit is contained in:
parent
f014eda5d5
commit
8278fd3144
@ -303,6 +303,12 @@ static void qcom_glink_tx_write(struct qcom_glink *glink,
|
||||
glink->tx_pipe->write(glink->tx_pipe, hdr, hlen, data, dlen);
|
||||
}
|
||||
|
||||
static void qcom_glink_tx_kick(struct qcom_glink *glink)
|
||||
{
|
||||
mbox_send_message(glink->mbox_chan, NULL);
|
||||
mbox_client_txdone(glink->mbox_chan, 0);
|
||||
}
|
||||
|
||||
static void qcom_glink_send_read_notify(struct qcom_glink *glink)
|
||||
{
|
||||
struct glink_msg msg;
|
||||
@ -313,8 +319,7 @@ static void qcom_glink_send_read_notify(struct qcom_glink *glink)
|
||||
|
||||
qcom_glink_tx_write(glink, &msg, sizeof(msg), NULL, 0);
|
||||
|
||||
mbox_send_message(glink->mbox_chan, NULL);
|
||||
mbox_client_txdone(glink->mbox_chan, 0);
|
||||
qcom_glink_tx_kick(glink);
|
||||
}
|
||||
|
||||
static int qcom_glink_tx(struct qcom_glink *glink,
|
||||
@ -355,9 +360,7 @@ static int qcom_glink_tx(struct qcom_glink *glink,
|
||||
}
|
||||
|
||||
qcom_glink_tx_write(glink, hdr, hlen, data, dlen);
|
||||
|
||||
mbox_send_message(glink->mbox_chan, NULL);
|
||||
mbox_client_txdone(glink->mbox_chan, 0);
|
||||
qcom_glink_tx_kick(glink);
|
||||
|
||||
out:
|
||||
spin_unlock_irqrestore(&glink->tx_lock, flags);
|
||||
@ -1046,9 +1049,7 @@ static irqreturn_t qcom_glink_native_intr(int irq, void *data)
|
||||
break;
|
||||
case RPM_CMD_READ_NOTIF:
|
||||
qcom_glink_rx_advance(glink, ALIGN(sizeof(msg), 8));
|
||||
|
||||
mbox_send_message(glink->mbox_chan, NULL);
|
||||
mbox_client_txdone(glink->mbox_chan, 0);
|
||||
qcom_glink_tx_kick(glink);
|
||||
break;
|
||||
case RPM_CMD_INTENT:
|
||||
qcom_glink_handle_intent(glink, param1, param2, avail);
|
||||
|
Loading…
Reference in New Issue
Block a user