mbox series

[0/4] Rework rpm-icc QoS settings

Message ID 20240326-topic-rpm_icc_qos_cleanup-v1-0-357e736792be@linaro.org
Headers show
Series Rework rpm-icc QoS settings | expand

Message

Konrad Dybcio March 26, 2024, 7:42 p.m. UTC
Currently, the QoS settings take up a lot of space and are scattered all
over the nodes, even though the config is only applied once and it's not
a direct property of the nodes themselves.

This series aims to make things better in this regard and contains some
fly-by fixes.

More fixes and cleanups uncovered after the making of this coming soon..

Didn't cause any spontaneous explosions on 6115 and 8996.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
Konrad Dybcio (4):
      interconnect: qcom: sm6115: Unspaghettify SNoC QoS port numbering
      interconnect: qcom: qcm2290: Fix mas_snoc_bimc QoS port assignment
      interconnect: qcom: icc-rpm: Make simple functions return void
      interconnect: qcom: icc-rpm: Remodel how QoS settings are stored

 drivers/interconnect/qcom/icc-rpm.c | 187 ++++++-------
 drivers/interconnect/qcom/icc-rpm.h |  13 +-
 drivers/interconnect/qcom/msm8909.c | 268 ++++++++++---------
 drivers/interconnect/qcom/msm8916.c | 153 ++++++-----
 drivers/interconnect/qcom/msm8939.c | 157 ++++++-----
 drivers/interconnect/qcom/msm8996.c | 517 +++++++++++++++++-------------------
 drivers/interconnect/qcom/qcm2290.c | 416 +++++++++++++++++------------
 drivers/interconnect/qcom/sdm660.c  | 393 +++++++++++++--------------
 drivers/interconnect/qcom/sm6115.c  | 242 ++++++++++++-----
 9 files changed, 1251 insertions(+), 1095 deletions(-)
---
base-commit: 084c8e315db34b59d38d06e684b1a0dd07d30287
change-id: 20240326-topic-rpm_icc_qos_cleanup-bd8958232f39

Best regards,

Comments

Dmitry Baryshkov March 26, 2024, 8:13 p.m. UTC | #1
On Tue, 26 Mar 2024 at 21:43, Konrad Dybcio <konrad.dybcio@linaro.org> wrote:
>
> When I was creating this driver, my bright mind overlooked the existence
> of desc->qos_offset and decided to make up for the difference it made by
> adding 21 (0x15) to the port index on SNoC and its downstream buses.
>
> Undo this mistake to make the indices actually mean something.

So, what is the meaning of qos_port?

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

>
> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> ---
>  drivers/interconnect/qcom/sm6115.c | 33 ++++++++++++++++++---------------
>  1 file changed, 18 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/interconnect/qcom/sm6115.c b/drivers/interconnect/qcom/sm6115.c
> index 7e15ddf0a80a..271b07c74862 100644
> --- a/drivers/interconnect/qcom/sm6115.c
> +++ b/drivers/interconnect/qcom/sm6115.c
> @@ -242,7 +242,7 @@ static struct qcom_icc_node crypto_c0 = {
>         .id = SM6115_MASTER_CRYPTO_CORE0,
>         .channels = 1,
>         .buswidth = 8,
> -       .qos.qos_port = 43,
> +       .qos.qos_port = 22,
>         .qos.qos_mode = NOC_QOS_MODE_FIXED,
>         .qos.areq_prio = 2,
>         .mas_rpm_id = 23,
>
Konrad Dybcio March 26, 2024, 8:32 p.m. UTC | #2
On 26.03.2024 9:13 PM, Dmitry Baryshkov wrote:
> On Tue, 26 Mar 2024 at 21:43, Konrad Dybcio <konrad.dybcio@linaro.org> wrote:
>>
>> When I was creating this driver, my bright mind overlooked the existence
>> of desc->qos_offset and decided to make up for the difference it made by
>> adding 21 (0x15) to the port index on SNoC and its downstream buses.
>>
>> Undo this mistake to make the indices actually mean something.
> 
> So, what is the meaning of qos_port?

"The index of the [data?] port that we're applying the QoS settings to"

Konrad