Messages in this thread | | | Subject | Re: [PATCH v15 6/7] soc: qcom: rpmh-rsc: Clear active mode configuration for wake TCS | From | Maulik Shah <> | Date | Mon, 6 Apr 2020 10:38:36 +0530 |
| |
Hi,
On 4/3/2020 1:44 AM, Doug Anderson wrote: > Hi, > > On Tue, Mar 31, 2020 at 6:21 AM Maulik Shah <mkshah@codeaurora.org> 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@chromium.org>
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
| |