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

Commit 64b8aeed authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: ipa3: Adding chnages to update event RP from DDR"

parents 80610849 9d8b6ff2
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -3652,6 +3652,7 @@ EXPORT_SYMBOL(gsi_query_channel_info);
int gsi_is_channel_empty(unsigned long chan_hdl, bool *is_empty)
{
	struct gsi_chan_ctx *ctx;
	struct gsi_evt_ctx *ev_ctx;
	spinlock_t *slock;
	unsigned long flags;
	uint64_t rp;
@@ -3687,8 +3688,11 @@ int gsi_is_channel_empty(unsigned long chan_hdl, bool *is_empty)
	spin_lock_irqsave(slock, flags);

	if (ctx->props.dir == GSI_CHAN_DIR_FROM_GSI && ctx->evtr) {
		rp = gsi_readl(gsi_ctx->base +
			GSI_EE_n_EV_CH_k_CNTXT_4_OFFS(ctx->evtr->id, ee));
		ev_ctx = &gsi_ctx->evtr[ctx->evtr->id];
		/* Read the event ring rp from DDR to avoid mismatch */
		rp = ev_ctx->props.gsi_read_event_ring_rp(&ev_ctx->props,
					ev_ctx->id, ee);

		rp |= ctx->evtr->ring.rp & 0xFFFFFFFF00000000;
		ctx->evtr->ring.rp = rp;