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

This commit is contained in:
qctecmdr
2021-05-10 08:58:37 -07:00
committed by Gerrit - the friendly Code Review server
當前提交 aeea2f09f3

查看文件

@@ -3654,6 +3654,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;
@@ -3689,8 +3690,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 = gsihal_read_reg_nk(GSI_EE_n_EV_CH_k_CNTXT_4,
ee, ctx->evtr->id);
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 & GSI_MSB_MASK;
ctx->evtr->ring.rp = rp;