Re: [PATCH v15 6/7] soc: qcom: rpmh-rsc: Clear active mode configuration for wake TCS

From: Maulik Shah
Date: Mon Apr 06 2020 - 01:09:12 EST


Hi,

On 4/3/2020 1:44 AM, Doug Anderson wrote:
Hi,

On Tue, Mar 31, 2020 at 6:21 AM Maulik Shah <mkshah@xxxxxxxxxxxxxx> wrote:
@@ -243,6 +279,14 @@ static irqreturn_t tcs_tx_done(int irq, void *p)
}

trace_rpmh_tx_done(drv, i, req, err);
+
+ /*
+ * If wake tcs was re-purposed for sending active
+ * votes, clear AMC trigger & enable modes and
+ * disable interrupt for this TCS
+ */
+ if (!drv->tcs[ACTIVE_TCS].num_tcs)
+ __tcs_set_trigger(drv, i, false);
Still seems weird that we have to do the untrigger in the IRQ routine
here and also weird that we _don't_ do it in the IRQ routine for
non-borrowed TCSes. I guess it's not the end of the world, though.

Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>

Thanks Doug for the review.

IRQ is only needed to be enabled for TCSes used as ACTIVE_TCS.

When we have dedicated ACTIVE_TCS, we leave IRQ always enabled from probe (one time configuration), since the TCS won't be used for anything other than to send ACTIVE transaction.

When we don't have dedicated ACTIVE_TCS, we enable it when borrowed TCS is used for ACTIVE transaction and then once its done using it, we disable it again to leave it in its original configuration.

Thanks,
Maulik

--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation