* [PATCH v3 0/5] scsi: ufs: qcom: fix UFSDHCD support on MSM8996 platform
@ 2024-02-18 13:56 Dmitry Baryshkov
2024-02-18 13:56 ` [PATCH v3 1/5] scsi: ufs: qcom: provide default cycles_in_1us value Dmitry Baryshkov
` (5 more replies)
0 siblings, 6 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2024-02-18 13:56 UTC (permalink / raw)
To: Manivannan Sadhasivam, Bjorn Andersson, Konrad Dybcio,
James E.J. Bottomley, Martin K. Petersen, Nitin Rawat, Can Guo,
Naveen Kumar Goud Arepalli, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alim Akhtar, Avri Altman, Bart Van Assche,
Andy Gross
Cc: linux-arm-msm, linux-scsi, devicetree, Dmitry Baryshkov, stable,
Krzysztof Kozlowski
First several patches target fixing the UFS support on the Qualcomm
MSM8996 / APQ8096 platforms, broken by the commit b4e13e1ae95e ("scsi:
ufs: qcom: Add multiple frequency support for MAX_CORE_CLK_1US_CYCLES").
Last two patches clean up the UFS DT device on that platform to follow
the bindings on other MSM8969 platforms. If such breaking change is
unacceptable, they can be simply ignored, merging fixes only.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
Changes in v3:
- dropped the patch conflicting with Yassine's patch that got accepted
- Cc stable on the UFS change (Manivannan)
- Fixed typos in the commit message (Manivannan)
- Link to v2: https://lore.kernel.org/r/20240213-msm8996-fix-ufs-v2-0-650758c26458@linaro.org
Changes in v2:
- Dropped patches adding RX_SYMBOL_1_CLK, MSM8996 uses single lane
(Krzysztof).
- Link to v1: https://lore.kernel.org/r/20240209-msm8996-fix-ufs-v1-0-107b52e57420@linaro.org
---
Dmitry Baryshkov (5):
scsi: ufs: qcom: provide default cycles_in_1us value
arm64: dts: qcom: msm8996: specify UFS core_clk frequencies
arm64: dts: qcom: msm8996: set GCC_UFS_ICE_CORE_CLK freq directly
dt-bindings: ufs: qcom,ufs: drop source clock entries
arm64: dts: qcom: msm8996: drop source clock entries from the UFS node
Documentation/devicetree/bindings/ufs/qcom,ufs.yaml | 12 +++++-------
arch/arm64/boot/dts/qcom/msm8996.dtsi | 8 +-------
drivers/ufs/host/ufs-qcom.c | 6 ++++--
3 files changed, 10 insertions(+), 16 deletions(-)
---
base-commit: 0035c3918a74a83f94158fbbd667e163bfd4a0d0
change-id: 20240209-msm8996-fix-ufs-f80ae6d4d8cf
Best regards,
--
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 1/5] scsi: ufs: qcom: provide default cycles_in_1us value
2024-02-18 13:56 [PATCH v3 0/5] scsi: ufs: qcom: fix UFSDHCD support on MSM8996 platform Dmitry Baryshkov
@ 2024-02-18 13:56 ` Dmitry Baryshkov
2024-02-18 13:56 ` [PATCH v3 2/5] arm64: dts: qcom: msm8996: specify UFS core_clk frequencies Dmitry Baryshkov
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2024-02-18 13:56 UTC (permalink / raw)
To: Manivannan Sadhasivam, Bjorn Andersson, Konrad Dybcio,
James E.J. Bottomley, Martin K. Petersen, Nitin Rawat, Can Guo,
Naveen Kumar Goud Arepalli, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alim Akhtar, Avri Altman, Bart Van Assche,
Andy Gross
Cc: linux-arm-msm, linux-scsi, devicetree, Dmitry Baryshkov, stable
The MSM8996 DT doesn't provide frequency limits for the core_clk_unipro
clock, which results in miscalculation of the cycles_in_1us value.
Provide the backwards-compatible default to support existing MSM8996
DT files.
Fixes: b4e13e1ae95e ("scsi: ufs: qcom: Add multiple frequency support for MAX_CORE_CLK_1US_CYCLES")
Cc: Nitin Rawat <quic_nitirawa@quicinc.com>
Cc: <stable@vger.kernel.org> # 6.7.x
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
drivers/ufs/host/ufs-qcom.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c
index 0aeaee1c564c..79f8cb377710 100644
--- a/drivers/ufs/host/ufs-qcom.c
+++ b/drivers/ufs/host/ufs-qcom.c
@@ -1210,8 +1210,10 @@ static int ufs_qcom_set_core_clk_ctrl(struct ufs_hba *hba, bool is_scale_up)
list_for_each_entry(clki, head, list) {
if (!IS_ERR_OR_NULL(clki->clk) &&
- !strcmp(clki->name, "core_clk_unipro")) {
- if (is_scale_up)
+ !strcmp(clki->name, "core_clk_unipro")) {
+ if (!clki->max_freq)
+ cycles_in_1us = 150; /* default for backwards compatibility */
+ else if (is_scale_up)
cycles_in_1us = ceil(clki->max_freq, (1000 * 1000));
else
cycles_in_1us = ceil(clk_get_rate(clki->clk), (1000 * 1000));
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 2/5] arm64: dts: qcom: msm8996: specify UFS core_clk frequencies
2024-02-18 13:56 [PATCH v3 0/5] scsi: ufs: qcom: fix UFSDHCD support on MSM8996 platform Dmitry Baryshkov
2024-02-18 13:56 ` [PATCH v3 1/5] scsi: ufs: qcom: provide default cycles_in_1us value Dmitry Baryshkov
@ 2024-02-18 13:56 ` Dmitry Baryshkov
2024-02-18 13:56 ` [PATCH v3 3/5] arm64: dts: qcom: msm8996: set GCC_UFS_ICE_CORE_CLK freq directly Dmitry Baryshkov
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2024-02-18 13:56 UTC (permalink / raw)
To: Manivannan Sadhasivam, Bjorn Andersson, Konrad Dybcio,
James E.J. Bottomley, Martin K. Petersen, Nitin Rawat, Can Guo,
Naveen Kumar Goud Arepalli, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alim Akhtar, Avri Altman, Bart Van Assche,
Andy Gross
Cc: linux-arm-msm, linux-scsi, devicetree, Dmitry Baryshkov
Follow the example of other platforms and specify core_clk frequencies
in the frequency table in addition to the core_clk_src frequencies. The
driver should be setting the leaf frequency instead of some interim
clock freq.
Suggested-by: Nitin Rawat <quic_nitirawa@quicinc.com>
Fixes: 57fc67ef0d35 ("arm64: dts: qcom: msm8996: Add ufs related nodes")
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
arch/arm64/boot/dts/qcom/msm8996.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index 80d83e01bb4d..401c6cce9fec 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -2072,7 +2072,7 @@ ufshc: ufshc@624000 {
<&gcc GCC_UFS_RX_SYMBOL_0_CLK>;
freq-table-hz =
<100000000 200000000>,
- <0 0>,
+ <100000000 200000000>,
<0 0>,
<0 0>,
<0 0>,
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 3/5] arm64: dts: qcom: msm8996: set GCC_UFS_ICE_CORE_CLK freq directly
2024-02-18 13:56 [PATCH v3 0/5] scsi: ufs: qcom: fix UFSDHCD support on MSM8996 platform Dmitry Baryshkov
2024-02-18 13:56 ` [PATCH v3 1/5] scsi: ufs: qcom: provide default cycles_in_1us value Dmitry Baryshkov
2024-02-18 13:56 ` [PATCH v3 2/5] arm64: dts: qcom: msm8996: specify UFS core_clk frequencies Dmitry Baryshkov
@ 2024-02-18 13:56 ` Dmitry Baryshkov
2024-02-18 13:56 ` [PATCH v3 4/5] dt-bindings: ufs: qcom,ufs: drop source clock entries Dmitry Baryshkov
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2024-02-18 13:56 UTC (permalink / raw)
To: Manivannan Sadhasivam, Bjorn Andersson, Konrad Dybcio,
James E.J. Bottomley, Martin K. Petersen, Nitin Rawat, Can Guo,
Naveen Kumar Goud Arepalli, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alim Akhtar, Avri Altman, Bart Van Assche,
Andy Gross
Cc: linux-arm-msm, linux-scsi, devicetree, Dmitry Baryshkov
Instead of setting the frequency of the interim UFS_ICE_CORE_CLK_SRC
clock, set the frequency of the leaf GCC_UFS_ICE_CORE_CLK clock directly.
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
arch/arm64/boot/dts/qcom/msm8996.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index 401c6cce9fec..ce94e2af6bc5 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -2076,9 +2076,9 @@ ufshc: ufshc@624000 {
<0 0>,
<0 0>,
<0 0>,
- <150000000 300000000>,
- <75000000 150000000>,
<0 0>,
+ <75000000 150000000>,
+ <150000000 300000000>,
<0 0>,
<0 0>,
<0 0>;
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 4/5] dt-bindings: ufs: qcom,ufs: drop source clock entries
2024-02-18 13:56 [PATCH v3 0/5] scsi: ufs: qcom: fix UFSDHCD support on MSM8996 platform Dmitry Baryshkov
` (2 preceding siblings ...)
2024-02-18 13:56 ` [PATCH v3 3/5] arm64: dts: qcom: msm8996: set GCC_UFS_ICE_CORE_CLK freq directly Dmitry Baryshkov
@ 2024-02-18 13:56 ` Dmitry Baryshkov
2024-02-18 13:56 ` [PATCH v3 5/5] arm64: dts: qcom: msm8996: drop source clock entries from the UFS node Dmitry Baryshkov
2024-02-27 2:33 ` [PATCH v3 0/5] scsi: ufs: qcom: fix UFSDHCD support on MSM8996 platform Martin K. Petersen
5 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2024-02-18 13:56 UTC (permalink / raw)
To: Manivannan Sadhasivam, Bjorn Andersson, Konrad Dybcio,
James E.J. Bottomley, Martin K. Petersen, Nitin Rawat, Can Guo,
Naveen Kumar Goud Arepalli, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alim Akhtar, Avri Altman, Bart Van Assche,
Andy Gross
Cc: linux-arm-msm, linux-scsi, devicetree, Dmitry Baryshkov,
Krzysztof Kozlowski
There is no need to mention and/or to touch in any way the intermediate
(source) clocks. Drop them from MSM8996 UFSHCD schema, making it follow
the example lead by all other platforms.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
Documentation/devicetree/bindings/ufs/qcom,ufs.yaml | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml b/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml
index 10c146424baa..a6b11fdb39ab 100644
--- a/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml
+++ b/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml
@@ -43,11 +43,11 @@ properties:
clocks:
minItems: 8
- maxItems: 11
+ maxItems: 9
clock-names:
minItems: 8
- maxItems: 11
+ maxItems: 9
dma-coherent: true
@@ -188,16 +188,14 @@ allOf:
then:
properties:
clocks:
- minItems: 11
- maxItems: 11
+ minItems: 9
+ maxItems: 9
clock-names:
items:
- - const: core_clk_src
- const: core_clk
- const: bus_clk
- const: bus_aggr_clk
- const: iface_clk
- - const: core_clk_unipro_src
- const: core_clk_unipro
- const: core_clk_ice
- const: ref_clk
@@ -257,7 +255,7 @@ allOf:
maxItems: 2
clocks:
minItems: 8
- maxItems: 11
+ maxItems: 9
unevaluatedProperties: false
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 5/5] arm64: dts: qcom: msm8996: drop source clock entries from the UFS node
2024-02-18 13:56 [PATCH v3 0/5] scsi: ufs: qcom: fix UFSDHCD support on MSM8996 platform Dmitry Baryshkov
` (3 preceding siblings ...)
2024-02-18 13:56 ` [PATCH v3 4/5] dt-bindings: ufs: qcom,ufs: drop source clock entries Dmitry Baryshkov
@ 2024-02-18 13:56 ` Dmitry Baryshkov
2024-02-27 2:33 ` [PATCH v3 0/5] scsi: ufs: qcom: fix UFSDHCD support on MSM8996 platform Martin K. Petersen
5 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2024-02-18 13:56 UTC (permalink / raw)
To: Manivannan Sadhasivam, Bjorn Andersson, Konrad Dybcio,
James E.J. Bottomley, Martin K. Petersen, Nitin Rawat, Can Guo,
Naveen Kumar Goud Arepalli, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alim Akhtar, Avri Altman, Bart Van Assche,
Andy Gross
Cc: linux-arm-msm, linux-scsi, devicetree, Dmitry Baryshkov
There is no need to mention and/or to touch in any way the intermediate
(source) clocks. Drop them from MSM8996 UFSHCD schema, making it follow
the example lead by all other platforms.
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
arch/arm64/boot/dts/qcom/msm8996.dtsi | 6 ------
1 file changed, 6 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index ce94e2af6bc5..f18d80a97bbf 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -2047,24 +2047,20 @@ ufshc: ufshc@624000 {
power-domains = <&gcc UFS_GDSC>;
clock-names =
- "core_clk_src",
"core_clk",
"bus_clk",
"bus_aggr_clk",
"iface_clk",
- "core_clk_unipro_src",
"core_clk_unipro",
"core_clk_ice",
"ref_clk",
"tx_lane0_sync_clk",
"rx_lane0_sync_clk";
clocks =
- <&gcc UFS_AXI_CLK_SRC>,
<&gcc GCC_UFS_AXI_CLK>,
<&gcc GCC_SYS_NOC_UFS_AXI_CLK>,
<&gcc GCC_AGGRE2_UFS_AXI_CLK>,
<&gcc GCC_UFS_AHB_CLK>,
- <&gcc UFS_ICE_CORE_CLK_SRC>,
<&gcc GCC_UFS_UNIPRO_CORE_CLK>,
<&gcc GCC_UFS_ICE_CORE_CLK>,
<&rpmcc RPM_SMD_LN_BB_CLK>,
@@ -2072,8 +2068,6 @@ ufshc: ufshc@624000 {
<&gcc GCC_UFS_RX_SYMBOL_0_CLK>;
freq-table-hz =
<100000000 200000000>,
- <100000000 200000000>,
- <0 0>,
<0 0>,
<0 0>,
<0 0>,
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3 0/5] scsi: ufs: qcom: fix UFSDHCD support on MSM8996 platform
2024-02-18 13:56 [PATCH v3 0/5] scsi: ufs: qcom: fix UFSDHCD support on MSM8996 platform Dmitry Baryshkov
` (4 preceding siblings ...)
2024-02-18 13:56 ` [PATCH v3 5/5] arm64: dts: qcom: msm8996: drop source clock entries from the UFS node Dmitry Baryshkov
@ 2024-02-27 2:33 ` Martin K. Petersen
2024-02-28 13:02 ` Dmitry Baryshkov
5 siblings, 1 reply; 8+ messages in thread
From: Martin K. Petersen @ 2024-02-27 2:33 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Manivannan Sadhasivam, Bjorn Andersson, Konrad Dybcio,
James E.J. Bottomley, Martin K. Petersen, Nitin Rawat, Can Guo,
Naveen Kumar Goud Arepalli, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alim Akhtar, Avri Altman, Bart Van Assche,
Andy Gross, linux-arm-msm, linux-scsi, devicetree, stable,
Krzysztof Kozlowski
Dmitry,
> First several patches target fixing the UFS support on the Qualcomm
> MSM8996 / APQ8096 platforms, broken by the commit b4e13e1ae95e ("scsi:
> ufs: qcom: Add multiple frequency support for
> MAX_CORE_CLK_1US_CYCLES"). Last two patches clean up the UFS DT device
> on that platform to follow the bindings on other MSM8969 platforms. If
> such breaking change is unacceptable, they can be simply ignored,
> merging fixes only.
Does not apply to 6.9/scsi-staging. Please rebase if you want this
series to go through the SCSI tree.
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 0/5] scsi: ufs: qcom: fix UFSDHCD support on MSM8996 platform
2024-02-27 2:33 ` [PATCH v3 0/5] scsi: ufs: qcom: fix UFSDHCD support on MSM8996 platform Martin K. Petersen
@ 2024-02-28 13:02 ` Dmitry Baryshkov
0 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2024-02-28 13:02 UTC (permalink / raw)
To: Martin K. Petersen
Cc: Manivannan Sadhasivam, Bjorn Andersson, Konrad Dybcio,
James E.J. Bottomley, Nitin Rawat, Can Guo,
Naveen Kumar Goud Arepalli, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alim Akhtar, Avri Altman, Bart Van Assche,
Andy Gross, linux-arm-msm, linux-scsi, devicetree, stable,
Krzysztof Kozlowski
On Tue, 27 Feb 2024 at 04:33, Martin K. Petersen
<martin.petersen@oracle.com> wrote:
>
>
> Dmitry,
>
> > First several patches target fixing the UFS support on the Qualcomm
> > MSM8996 / APQ8096 platforms, broken by the commit b4e13e1ae95e ("scsi:
> > ufs: qcom: Add multiple frequency support for
> > MAX_CORE_CLK_1US_CYCLES"). Last two patches clean up the UFS DT device
> > on that platform to follow the bindings on other MSM8969 platforms. If
> > such breaking change is unacceptable, they can be simply ignored,
> > merging fixes only.
>
> Does not apply to 6.9/scsi-staging. Please rebase if you want this
> series to go through the SCSI tree.
Please pick up just the UFS patch. DT patches should go through arm-soc tree.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-02-28 13:02 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-18 13:56 [PATCH v3 0/5] scsi: ufs: qcom: fix UFSDHCD support on MSM8996 platform Dmitry Baryshkov
2024-02-18 13:56 ` [PATCH v3 1/5] scsi: ufs: qcom: provide default cycles_in_1us value Dmitry Baryshkov
2024-02-18 13:56 ` [PATCH v3 2/5] arm64: dts: qcom: msm8996: specify UFS core_clk frequencies Dmitry Baryshkov
2024-02-18 13:56 ` [PATCH v3 3/5] arm64: dts: qcom: msm8996: set GCC_UFS_ICE_CORE_CLK freq directly Dmitry Baryshkov
2024-02-18 13:56 ` [PATCH v3 4/5] dt-bindings: ufs: qcom,ufs: drop source clock entries Dmitry Baryshkov
2024-02-18 13:56 ` [PATCH v3 5/5] arm64: dts: qcom: msm8996: drop source clock entries from the UFS node Dmitry Baryshkov
2024-02-27 2:33 ` [PATCH v3 0/5] scsi: ufs: qcom: fix UFSDHCD support on MSM8996 platform Martin K. Petersen
2024-02-28 13:02 ` Dmitry Baryshkov
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).