Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0c37cc25 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "soc: qcom: glink_smem_native_xprt: Fake tx_done for intentless"

parents fb0589b8 cfc6c5e8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2708,6 +2708,7 @@ static int glink_tx_common(void *handle, void *pkt_priv,
	tx_info->pkt_priv = pkt_priv;
	tx_info->data = data;
	tx_info->riid = riid;
	tx_info->rcid = ctx->rcid;
	tx_info->size = size;
	tx_info->size_remaining = size;
	tx_info->tracer_pkt = tx_flags & GLINK_TX_TRACER_PKT ? true : false;
+9 −0
Original line number Diff line number Diff line
@@ -1897,6 +1897,15 @@ static int tx_data(struct glink_transport_if *if_ptr, uint16_t cmd_id,
		cmd.size_left);
	spin_unlock_irqrestore(&einfo->write_lock, flags);

	/* Fake tx_done for intentless since its not supported over the wire */
	if (einfo->intentless) {
		spin_lock_irqsave(&einfo->rx_lock, flags);
		cmd.id = RX_DONE_CMD;
		cmd.lcid = pctx->rcid;
		queue_cmd(einfo, &cmd, NULL);
		spin_unlock_irqrestore(&einfo->rx_lock, flags);
	}

	srcu_read_unlock(&einfo->use_ref, rcu_id);
	return cmd.size;
}
+2 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ enum xprt_ids {
 * @pkt_priv:		Private information specific to the packet.
 * @data:		Pointer to the buffer containing the data.
 * @riid:		Remote receive intent used to transmit the packet.
 * @rcid:		Remote channel receiving the packet.
 * @size:		Total size of the data in the packet.
 * @tx_len:		Data length to transmit in the current transmit slot.
 * @size_remaining:	Remaining size of the data in the packet.
@@ -61,6 +62,7 @@ struct glink_core_tx_pkt {
	const void *pkt_priv;
	const void *data;
	uint32_t riid;
	uint32_t rcid;
	uint32_t size;
	uint32_t tx_len;
	uint32_t size_remaining;