Commit 8278fd31 authored by Bjorn Andersson's avatar Bjorn Andersson Committed by Bjorn Andersson

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: default avatarChris Lew <quic_clew@quicinc.com>
Signed-off-by: default avatarBjorn Andersson <quic_bjorande@quicinc.com>
Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230213155215.1237059-2-quic_bjorande@quicinc.com
parent f014eda5
...@@ -303,6 +303,12 @@ static void qcom_glink_tx_write(struct qcom_glink *glink, ...@@ -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); 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) static void qcom_glink_send_read_notify(struct qcom_glink *glink)
{ {
struct glink_msg msg; struct glink_msg msg;
...@@ -313,8 +319,7 @@ static void qcom_glink_send_read_notify(struct qcom_glink *glink) ...@@ -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); qcom_glink_tx_write(glink, &msg, sizeof(msg), NULL, 0);
mbox_send_message(glink->mbox_chan, NULL); qcom_glink_tx_kick(glink);
mbox_client_txdone(glink->mbox_chan, 0);
} }
static int qcom_glink_tx(struct qcom_glink *glink, static int qcom_glink_tx(struct qcom_glink *glink,
...@@ -355,9 +360,7 @@ 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); qcom_glink_tx_write(glink, hdr, hlen, data, dlen);
qcom_glink_tx_kick(glink);
mbox_send_message(glink->mbox_chan, NULL);
mbox_client_txdone(glink->mbox_chan, 0);
out: out:
spin_unlock_irqrestore(&glink->tx_lock, flags); spin_unlock_irqrestore(&glink->tx_lock, flags);
...@@ -1046,9 +1049,7 @@ static irqreturn_t qcom_glink_native_intr(int irq, void *data) ...@@ -1046,9 +1049,7 @@ static irqreturn_t qcom_glink_native_intr(int irq, void *data)
break; break;
case RPM_CMD_READ_NOTIF: case RPM_CMD_READ_NOTIF:
qcom_glink_rx_advance(glink, ALIGN(sizeof(msg), 8)); qcom_glink_rx_advance(glink, ALIGN(sizeof(msg), 8));
qcom_glink_tx_kick(glink);
mbox_send_message(glink->mbox_chan, NULL);
mbox_client_txdone(glink->mbox_chan, 0);
break; break;
case RPM_CMD_INTENT: case RPM_CMD_INTENT:
qcom_glink_handle_intent(glink, param1, param2, avail); qcom_glink_handle_intent(glink, param1, param2, avail);
......
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