[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b5ade82e-3a7e-427f-907f-bafe1d203d45@linaro.org>
Date: Wed, 6 Mar 2024 17:18:44 +0100
From: Konrad Dybcio <konrad.dybcio@...aro.org>
To: Odelu Kukatla <quic_okukatla@...cinc.com>,
Bjorn Andersson <andersson@...nel.org>, Georgi Djakov <djakov@...nel.org>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>
Cc: Kees Cook <keescook@...omium.org>, cros-qcom-dts-watchers@...omium.org,
"Gustavo A . R . Silva" <gustavoars@...nel.org>,
linux-arm-msm@...r.kernel.org, linux-pm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-hardening@...r.kernel.org, quic_rlaggysh@...cinc.com,
quic_mdtipton@...cinc.com
Subject: Re: [PATCH v3 1/4] interconnect: qcom: icc-rpmh: Add QoS
configuration support
On 3/6/24 08:30, Odelu Kukatla wrote:
> It adds QoS support for QNOC device and includes support for
> configuring priority, priority forward disable, urgency forwarding.
> This helps in priortizing the traffic originating from different
> interconnect masters at NoC(Network On Chip).
>
> Signed-off-by: Odelu Kukatla <quic_okukatla@...cinc.com>
> ---
> drivers/interconnect/qcom/icc-rpmh.c | 105 +++++++++++++++++++++++++++
> drivers/interconnect/qcom/icc-rpmh.h | 32 ++++++++
> 2 files changed, 137 insertions(+)
>
> diff --git a/drivers/interconnect/qcom/icc-rpmh.c b/drivers/interconnect/qcom/icc-rpmh.c
> index c1aa265c1f4e..b4681849df80 100644
> --- a/drivers/interconnect/qcom/icc-rpmh.c
> +++ b/drivers/interconnect/qcom/icc-rpmh.c
> @@ -1,19 +1,57 @@
> // SPDX-License-Identifier: GPL-2.0
> /*
> * Copyright (c) 2020, The Linux Foundation. All rights reserved.
> + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
> */
>
> +#include <linux/clk.h>
> #include <linux/interconnect.h>
> #include <linux/interconnect-provider.h>
> #include <linux/module.h>
> #include <linux/of.h>
> #include <linux/of_platform.h>
> #include <linux/slab.h>
> +#include <linux/bitfield.h>
Please keep the alphabetical order
>
> #include "bcm-voter.h"
> #include "icc-common.h"
> #include "icc-rpmh.h"
>
> +/* QNOC QoS */
> +#define QOSGEN_MAINCTL_LO(p, qp) (0x8 + (p->port_offsets[qp]))
> +#define QOS_SLV_URG_MSG_EN_MASK BIT_MASK(3)
Mixing BIT_MASK and GENMASK is very confusing..
> +#define QOS_DFLT_PRIO_MASK GENMASK(6, 4)
> +#define QOS_DISABLE_MASK BIT_MASK(24)
> +
> +/**
> + * qcom_icc_set_qos - initialize static QoS configurations
> + * @qp: qcom icc provider to which @node belongs
> + * @node: qcom icc node to operate on
> + */
> +static void qcom_icc_set_qos(struct qcom_icc_provider *qp,
> + struct qcom_icc_node *node)
> +{
> + const struct qcom_icc_qosbox *qos = node->qosbox;
> + int port;
> +
> + if (!qp->regmap || !qos)
> + return;
This is not possible if you follow the code flow, I think..
[...]
> + * @prio: priority value assigned to requests on the node
> + * @urg_fwd: whether to forward the urgency promotion issued by master(endpoint), or discard
space before the opening brace, please also wrap to 80 lines
> + * @prio_fwd_disable: whether to forward the priority driven by mster, or override by @prio
typo: mster, please also wrap it
Konrad
Powered by blists - more mailing lists