SM6115/SM6125 MDSS core reset
Subsystems (5)
v3 cover SM6115/SM6125 MDSS core reset
v3: Collect A-b, remove Fixes in dt-bindings and clk as requested
v2: https://lore.kernel.org/all/[email protected]/
v1: https://lore.kernel.org/all/[email protected]/
~val
Val Packett (6):
dt-bindings: clock: qcom,sm6115-dispcc: Define MDSS resets
dt-bindings: clock: qcom,dispcc-sm6125: Define MDSS resets
clk: qcom: dispcc-sm6115: Add missing MDSS resets
clk: qcom: dispcc-sm6125: Add missing MDSS resets
arm64: dts: qcom: sm6115: Add missing MDSS core reset
arm64: dts: qcom: sm6125: Add missing MDSS core reset
arch/arm64/boot/dts/qcom/sm6115.dtsi | 2 ++ arch/arm64/boot/dts/qcom/sm6125.dtsi | 3 +++ drivers/clk/qcom/dispcc-sm6115.c | 7 +++++++ drivers/clk/qcom/dispcc-sm6125.c | 7 +++++++ include/dt-bindings/clock/qcom,dispcc-sm6125.h | 6 +++++- include/dt-bindings/clock/qcom,sm6115-dispcc.h | 7 +++++-- 6 files changed, 29 insertions(+), 3 deletions(-)
Signature · 1 line
2.52.0
PATCH v3 1/6 dt-bindings: clock: qcom,sm6115-dispcc: Define MDSS resets
Add the missing defines for MDSS resets, which are necessary to reset the display subsystem in order to avoid issues caused by state left over from the bootloader.
While here, align comment style with other SoCs.
--- include/dt-bindings/clock/qcom,sm6115-dispcc.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
include/dt-bindings/clock/qcom,sm6115-dispcc.h +5 -2
@@ -6,7 +6,7 @@#ifndef _DT_BINDINGS_CLK_QCOM_DISP_CC_SM6115_H#define _DT_BINDINGS_CLK_QCOM_DISP_CC_SM6115_H -/* DISP_CC clocks */ +/* Clocks */ #define DISP_CC_PLL0 0#define DISP_CC_PLL0_OUT_MAIN 1#define DISP_CC_MDSS_AHB_CLK 2
@@ -30,7 +30,10 @@#define DISP_CC_SLEEP_CLK 20#define DISP_CC_SLEEP_CLK_SRC 21 -/* DISP_CC GDSCR */ +/* Resets */ +#define DISP_CC_MDSS_CORE_BCR 0 + +/* GDSCs */ #define MDSS_GDSC 0#endif
Signature · 1 line
2.52.0
PATCH v3 2/6 dt-bindings: clock: qcom,dispcc-sm6125: Define MDSS resets
In reply to Val PackettAdd the missing defines for MDSS resets, which are necessary to reset the display subsystem in order to avoid issues caused by state left over from the bootloader.
While here, align comment style with other SoCs.
--- include/dt-bindings/clock/qcom,dispcc-sm6125.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
include/dt-bindings/clock/qcom,dispcc-sm6125.h +5 -1
@@ -6,6 +6,7 @@#ifndef _DT_BINDINGS_CLK_QCOM_DISP_CC_SM6125_H#define _DT_BINDINGS_CLK_QCOM_DISP_CC_SM6125_H +/* Clocks */ #define DISP_CC_PLL0 0#define DISP_CC_MDSS_AHB_CLK 1#define DISP_CC_MDSS_AHB_CLK_SRC 2
@@ -35,7 +36,10 @@#define DISP_CC_MDSS_VSYNC_CLK_SRC 26#define DISP_CC_XO_CLK 27 -/* DISP_CC GDSCR */ +/* Resets */ +#define DISP_CC_MDSS_CORE_BCR 0 + +/* GDSCs */ #define MDSS_GDSC 0#endif
Signature · 1 line
2.52.0
PATCH v3 3/6 clk: qcom: dispcc-sm6115: Add missing MDSS resets
In reply to Val PackettThe MDSS resets were left undescribed. Add them to allow resetting the display subsystem, which is necessary to avoid issues caused by state left over from the bootloader on various platforms.
--- drivers/clk/qcom/dispcc-sm6115.c | 7 +++++++ 1 file changed, 7 insertions(+)
drivers/clk/qcom/dispcc-sm6115.c +7 -0
@@ -22,6 +22,7 @@#include "clk-regmap-divider.h" #include "common.h" #include "gdsc.h" +#include "reset.h" enum {DT_BI_TCXO ,
@@ -511,6 +512,10 @@ static struct clk_branch disp_cc_sleep_clk = { }, }; +static const struct qcom_reset_map disp_cc_sm6115_resets[] = { + [DISP_CC_MDSS_CORE_BCR ] = {0x2000 }, +}; +static struct gdsc mdss_gdsc = { .gdscr =0x3000 , .pd = {
@@ -561,6 +566,8 @@ static const struct qcom_cc_desc disp_cc_sm6115_desc = { .config = &disp_cc_sm6115_regmap_config, .clks = disp_cc_sm6115_clocks, .num_clks = ARRAY_SIZE(disp_cc_sm6115_clocks), + .resets = disp_cc_sm6115_resets, + .num_resets = ARRAY_SIZE(disp_cc_sm6115_resets), .gdscs = disp_cc_sm6115_gdscs, .num_gdscs = ARRAY_SIZE(disp_cc_sm6115_gdscs), };
Signature · 1 line
2.52.0
Re: [PATCH v3 3/6] clk: qcom: dispcc-sm6115: Add missing MDSS resets
Quoted 10 lines · Val Packett
The MDSS resets were left undescribed. Add them to allow resetting the display subsystem, which is necessary to avoid issues caused by state left over from the bootloader on various platforms.
Reviewed-by Dmitry Baryshkov <[email protected]>Reviewed-by Konrad Dybcio <[email protected]>Signed-off-by Val Packett <[email protected]>--- drivers/clk/qcom/dispcc-sm6115.c | 7 +++++++ 1 file changed, 7 insertions(+)
Best regards,
Krzysztof
PATCH v3 4/6 clk: qcom: dispcc-sm6125: Add missing MDSS resets
In reply to Val PackettThe MDSS resets were left undescribed. Add them to allow resetting the display subsystem, which is necessary to avoid issues caused by state left over from the bootloader on various platforms.
--- drivers/clk/qcom/dispcc-sm6125.c | 7 +++++++ 1 file changed, 7 insertions(+)
drivers/clk/qcom/dispcc-sm6125.c +7 -0
@@ -17,6 +17,7 @@#include "clk-regmap.h" #include "common.h" #include "gdsc.h" +#include "reset.h" enum {P_BI_TCXO ,
@@ -607,6 +608,10 @@ static struct clk_branch disp_cc_xo_clk = { }, }; +static const struct qcom_reset_map disp_cc_sm6125_resets[] = { + [DISP_CC_MDSS_CORE_BCR ] = {0x2000 }, +}; +static struct gdsc mdss_gdsc = { .gdscr =0x3000 , .pd = {
@@ -663,6 +668,8 @@ static const struct qcom_cc_desc disp_cc_sm6125_desc = { .config = &disp_cc_sm6125_regmap_config, .clks = disp_cc_sm6125_clocks, .num_clks = ARRAY_SIZE(disp_cc_sm6125_clocks), + .resets = disp_cc_sm6125_resets, + .num_resets = ARRAY_SIZE(disp_cc_sm6125_resets), .gdscs = disp_cc_sm6125_gdscs, .num_gdscs = ARRAY_SIZE(disp_cc_sm6125_gdscs), };
Signature · 1 line
2.52.0
Re: [PATCH v3 4/6] clk: qcom: dispcc-sm6125: Add missing MDSS resets
Quoted 10 lines · Val Packett
The MDSS resets were left undescribed. Add them to allow resetting the display subsystem, which is necessary to avoid issues caused by state left over from the bootloader on various platforms.
Reviewed-by Dmitry Baryshkov <[email protected]>Reviewed-by Konrad Dybcio <[email protected]>Signed-off-by Val Packett <[email protected]>--- drivers/clk/qcom/dispcc-sm6125.c | 7 +++++++ 1 file changed, 7 insertions(+)
Best regards,
Krzysztof
PATCH v3 5/6 arm64: dts: qcom: sm6115: Add missing MDSS core reset
In reply to Val PackettTo make sure the display subsystem starts in a predictable state, we need to reset it. Otherwise, unpredictable issues can happen, e.g. on the motorola-guamp smartphone DSI would not transmit anything.
Wire up the reset to fix.
--- arch/arm64/boot/dts/qcom/sm6115.dtsi | 2 ++ 1 file changed, 2 insertions(+)
arch/arm64/boot/dts/qcom/sm6115.dtsi +2 -0
@@ -1864,6 +1864,8 @@ mdss: display-subsystem@5e00000 { <&gcc GCC_DISP_HF_AXI_CLK>, <&dispcc DISP_CC_MDSS_MDP_CLK>; + resets = <&dispcc DISP_CC_MDSS_CORE_BCR>; + interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; interrupt-controller; #interrupt-cells = <1>;
Signature · 1 line
2.52.0
Re: [PATCH v3 5/6] arm64: dts: qcom: sm6115: Add missing MDSS core reset
Quoted 11 lines · Val Packett
To make sure the display subsystem starts in a predictable state, we need to reset it. Otherwise, unpredictable issues can happen, e.g. on the motorola-guamp smartphone DSI would not transmit anything.
Wire up the reset to fix.
Fixes 705e50427d81 ("arm64: dts: qcom: sm6115: Add mdss/dpu node")Reviewed-by Dmitry Baryshkov <[email protected]>Reviewed-by Konrad Dybcio <[email protected]>Signed-off-by Val Packett <[email protected]>---
Best regards,
Krzysztof
PATCH v3 6/6 arm64: dts: qcom: sm6125: Add missing MDSS core reset
In reply to Val PackettTo make sure the display subsystem starts in a predictable state, we need to reset it. Otherwise, unpredictable issues can happen, e.g. on the xiaomi-laurel-sprout smartphone DSI would not work on boot.
Wire up the reset to fix.
--- arch/arm64/boot/dts/qcom/sm6125.dtsi | 3 +++ 1 file changed, 3 insertions(+)
arch/arm64/boot/dts/qcom/sm6125.dtsi +3 -0
@@ -1238,6 +1238,8 @@ mdss: display-subsystem@5e00000 { "ahb", "core"; + resets = <&dispcc DISP_CC_MDSS_CORE_BCR>; + power-domains = <&dispcc MDSS_GDSC>; iommus = <&apps_smmu 0x400 0x0>;
@@ -1437,6 +1439,7 @@ dispcc: clock-controller@5f00000 { power-domains = <&rpmpd RPMPD_VDDCX>; #clock-cells = <1>; + #reset-cells = <1>; #power-domain-cells = <1>; };
Signature · 1 line
2.52.0
Re: [PATCH v3 6/6] arm64: dts: qcom: sm6125: Add missing MDSS core reset
Quoted 6 lines · Val Packett
To make sure the display subsystem starts in a predictable state, we need to reset it. Otherwise, unpredictable issues can happen, e.g. on the xiaomi-laurel-sprout smartphone DSI would not work on boot.
Wire up the reset to fix.
Quoted 8 lines
Fixes 0865d23a0226 ("arm64: dts: qcom: sm6125: Add display hardware nodes")Reviewed-by Dmitry Baryshkov <[email protected]>Reviewed-by Konrad Dybcio <[email protected]>Tested-by Yedaya Katsman <[email protected]>Signed-off-by Val Packett <[email protected]>--- arch/arm64/boot/dts/qcom/sm6125.dtsi | 3 +++ 1 file changed, 3 insertions(+)
Best regards,
Krzysztof
Re: (subset) [PATCH v3 0/6] SM6115/SM6125 MDSS core reset
In reply to Val PackettQuoted 14 lines · Val Packett
v3: Collect A-b, remove Fixes in dt-bindings and clk as requested
v2: https://lore.kernel.org/all/[email protected]/
v1: https://lore.kernel.org/all/[email protected]/~val
Val Packett (6):
dt-bindings: clock: qcom,sm6115-dispcc: Define MDSS resets
dt-bindings: clock: qcom,dispcc-sm6125: Define MDSS resets
clk: qcom: dispcc-sm6115: Add missing MDSS resets
clk: qcom: dispcc-sm6125: Add missing MDSS resets
arm64: dts: qcom: sm6115: Add missing MDSS core reset
arm64: dts: qcom: sm6125: Add missing MDSS core reset
Quoted 1 line
[...]
Applied, thanks!
[5/6] arm64: dts: qcom: sm6115: Add missing MDSS core reset
commit: 1cc317d4188ba2d72c298b5271fb4a2fa1d84c29
[6/6] arm64: dts: qcom: sm6125: Add missing MDSS core reset
commit: bb4d28e377cf04fbee8a01322059fa14808cdfe9Best regards,
Signature · 1 line
Bjorn Andersson <[email protected]>