[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3f921a53-8eac-48e6-be17-43c07a0313d0@linaro.org>
Date: Sat, 9 Dec 2023 18:54:16 +0100
From: Konrad Dybcio <konrad.dybcio@...aro.org>
To: Stephan Gerhold <stephan.gerhold@...nkonzept.com>,
Georgi Djakov <djakov@...nel.org>
Cc: Andy Gross <agross@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
linux-arm-msm@...r.kernel.org, linux-pm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
Adam Skladowski <a39.skl@...il.com>
Subject: Re: [PATCH 2/2] interconnect: qcom: Add MSM8909 interconnect provider
driver
On 6.12.2023 15:35, Stephan Gerhold wrote:
> From: Adam Skladowski <a39.skl@...il.com>
>
> Add driver for interconnect busses found in MSM8909 based platforms.
> The topology consists of three NoCs that are partially controlled by a
> RPM processor.
>
> In the downstream/vendor kernel from Qualcomm there is an additional
> "mm-snoc". However, it doesn't have a separate RPM clock assigned. It
> looks like this is actually the same NoC in hardware and the "mm-snoc"
> was only defined to assign a different "qcom,util-fact". In mainline we
> can represent this by assigning the equivalent "ab_coeff" to all the
> nodes that are part of "mm-snoc" downstream.
Worth mentioning that snoc_mm used the same clock as snoc, which is not
obvious with some of these older designs:
static DEFINE_CLK_VOTER(snoc_msmbus_a_clk, &snoc_a_clk.c, LONG_MAX);
static DEFINE_CLK_VOTER(snoc_mm_msmbus_a_clk, &snoc_a_clk.c, LONG_MAX);
[...]
> +
> +static struct platform_driver msm8909_noc_driver = {
> + .probe = qnoc_probe,
> + .remove = qnoc_remove,
> + .driver = {
> + .name = "qnoc-msm8909",
> + .of_match_table = msm8909_noc_of_match,
> + .sync_state = icc_sync_state,
> + },
> +};
> +module_platform_driver(msm8909_noc_driver);
And you may want this to be a bit higher up in the food chain!
Otherwise I don't see anything obviously wrong, I assume you tested
this without clk/pd_ignore_unused, with rpmcc cleanup and can confirm
the QoS programming went through without angry resets.
Konrad
Powered by blists - more mailing lists