linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Konrad Dybcio <konrad.dybcio@linaro.org>
To: Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
	linux-arm-msm@vger.kernel.org, andersson@kernel.org,
	agross@kernel.org, krzysztof.kozlowski@linaro.org
Cc: marijn.suijten@somainline.org, Georgi Djakov <djakov@kernel.org>,
	linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 01/10] interconnect: qcom: rpm: Don't set QoS params before non-zero bw is requested
Date: Tue, 10 Jan 2023 18:05:30 +0100	[thread overview]
Message-ID: <593e555b-d9fb-83ab-dabe-33d6690210f8@linaro.org> (raw)
In-Reply-To: <1039a507-c4cd-e92f-dc29-1e2169ce5078@linaro.org>



On 10.01.2023 15:00, Bryan O'Donoghue wrote:
> On 10/01/2023 13:21, Konrad Dybcio wrote:
>> Until now, the icc-rpm driver unconditionally set QoS params, even on
>> empty requests. This is superfluous and the downstream counterpart does
>> not do it. Follow it by doing the same.
>>
>> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
>> ---
>>   drivers/interconnect/qcom/icc-rpm.c | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/drivers/interconnect/qcom/icc-rpm.c b/drivers/interconnect/qcom/icc-rpm.c
>> index df3196f72536..361dcbf3386f 100644
>> --- a/drivers/interconnect/qcom/icc-rpm.c
>> +++ b/drivers/interconnect/qcom/icc-rpm.c
>> @@ -191,6 +191,12 @@ static int qcom_icc_qos_set(struct icc_node *node, u64 sum_bw)
>>       struct qcom_icc_provider *qp = to_qcom_provider(node->provider);
>>       struct qcom_icc_node *qn = node->data;
>>   +    /* Defer setting QoS until the first non-zero bandwidth request. */
>> +    if (!(node->avg_bw || node->peak_bw)) {
>> +        dev_dbg(node->provider->dev, "NOT Setting QoS for %s\n", qn->name);
>> +        return 0;
>> +    }
>> +
>>       dev_dbg(node->provider->dev, "Setting QoS for %s\n", qn->name);
>>         switch (qp->type) {
> 
> I still think you should include the original logic on the else, for the minimum case of silicon that predates the 5.4 kernel release.
> 
> /* Clear bandwidth registers */
> set_qos_bw_regs(base, mas_index, 0, 0, 0, 0, 0);
> 
> Either that or get the relevant silicon engineers at qcom to say the host side port write is redundant.
After some conversations in private, it was concluded that this patch
should most likely not be applied, as there's not enough reasoning
beyond "downstream does this, let's copy it".

The other 9 should be still reviewed.

Konrad
> 
> ---
> bod

  reply	other threads:[~2023-01-10 17:05 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20230110132202.956619-1-konrad.dybcio@linaro.org>
2023-01-10 13:21 ` [PATCH v2 01/10] interconnect: qcom: rpm: Don't set QoS params before non-zero bw is requested Konrad Dybcio
2023-01-10 14:00   ` Bryan O'Donoghue
2023-01-10 17:05     ` Konrad Dybcio [this message]
2023-01-10 13:21 ` [PATCH v2 02/10] interconnect: qcom: rpm: make QoS INVALID default, separate out driver data Konrad Dybcio
2023-01-10 23:13   ` Bryan O'Donoghue
2023-01-10 23:47     ` Konrad Dybcio
2023-01-16 13:06       ` Konrad Dybcio
2023-01-10 13:21 ` [PATCH v2 03/10] interconnect: qcom: rpm: Always set QoS params on QNoC Konrad Dybcio
2023-01-10 23:36   ` Bryan O'Donoghue
2023-01-10 13:21 ` [PATCH v2 04/10] interconnect: qcom: rpm: Add support for specifying channel num Konrad Dybcio
2023-01-10 23:44   ` Bryan O'Donoghue
2023-01-10 23:55     ` Konrad Dybcio
2023-01-10 23:58       ` Bryan O'Donoghue
2023-01-10 13:21 ` [PATCH v2 05/10] interconnect: qcom: Sort kerneldoc entries Konrad Dybcio
2023-01-10 13:21 ` [PATCH v2 06/10] interconnect: qcom: rpm: Rename icc desc clocks to bus_blocks Konrad Dybcio
2023-01-11 11:05   ` Bryan O'Donoghue
2023-01-10 13:21 ` [PATCH v2 07/10] interconnect: qcom: rpm: Rename icc provider num_clocks to num_bus_clocks Konrad Dybcio
2023-01-10 13:22 ` [PATCH v2 08/10] interconnect: qcom: rpm: Handle interface clocks Konrad Dybcio
2023-01-10 13:22 ` [PATCH v2 09/10] interconnect: qcom: rpm: Add a way to always set QoS registers Konrad Dybcio
2023-01-10 13:22 ` [PATCH v2 10/10] interconnect: qcom: rpm: Don't use clk_get_optional for bus clocks anymore Konrad Dybcio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=593e555b-d9fb-83ab-dabe-33d6690210f8@linaro.org \
    --to=konrad.dybcio@linaro.org \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=bryan.odonoghue@linaro.org \
    --cc=djakov@kernel.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=marijn.suijten@somainline.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).