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