Since kernel 6.17 display stack needs to reset the hardware properly to ensure that we don't run into issues with the hardware configured by the bootloader. MDSS reset is necessary to have working display when the bootloader has already initialized it for the boot splash screen.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org> --- Alexey Minnekhanov (3): dt-bindings: clock: mmcc-sdm660: Add missing MDSS reset clk: qcom: mmcc-sdm660: Add missing MDSS reset arm64: dts: qcom: sdm630: Add missing MDSS reset
arch/arm64/boot/dts/qcom/sdm630.dtsi | 1 + drivers/clk/qcom/mmcc-sdm660.c | 1 + include/dt-bindings/clock/qcom,mmcc-sdm660.h | 1 + 3 files changed, 3 insertions(+) --- base-commit: e53642b87a4f4b03a8d7e5f8507fc3cd0c595ea6 change-id: 20251031-sdm660-mdss-reset-015a46a238b5
Best regards,
From: Alexey Minnekhanov alexeymin@postmarketos.org
Add definition for display subsystem reset control.
Cc: stable@vger.kernel.org # 6.17 Signed-off-by: Alexey Minnekhanov alexeymin@postmarketos.org --- include/dt-bindings/clock/qcom,mmcc-sdm660.h | 1 + 1 file changed, 1 insertion(+)
diff --git a/include/dt-bindings/clock/qcom,mmcc-sdm660.h b/include/dt-bindings/clock/qcom,mmcc-sdm660.h index f9dbc21cb5c7..ee2a89dae72d 100644 --- a/include/dt-bindings/clock/qcom,mmcc-sdm660.h +++ b/include/dt-bindings/clock/qcom,mmcc-sdm660.h @@ -157,6 +157,7 @@ #define BIMC_SMMU_GDSC 7
#define CAMSS_MICRO_BCR 0 +#define MDSS_BCR 1
#endif
On Fri, Oct 31, 2025 at 05:27:43AM +0300, AlexeyMinnekhanov wrote:
From: Alexey Minnekhanov alexeymin@postmarketos.org
Add definition for display subsystem reset control.
Please describe the bug being fixed here. Otherwise this:
Cc: stable@vger.kernel.org # 6.17
does not apply.
Best regards, Krzysztof
From: Alexey Minnekhanov alexeymin@postmarketos.org
Add offset for display subsystem reset in multimedia clock controller block.
Cc: stable@vger.kernel.org # 6.17 Signed-off-by: Alexey Minnekhanov alexeymin@postmarketos.org --- drivers/clk/qcom/mmcc-sdm660.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/clk/qcom/mmcc-sdm660.c b/drivers/clk/qcom/mmcc-sdm660.c index b723c536dfb6..dbd3f561dc6d 100644 --- a/drivers/clk/qcom/mmcc-sdm660.c +++ b/drivers/clk/qcom/mmcc-sdm660.c @@ -2781,6 +2781,7 @@ static struct gdsc *mmcc_sdm660_gdscs[] = { };
static const struct qcom_reset_map mmcc_660_resets[] = { + [MDSS_BCR] = { 0x2300 }, [CAMSS_MICRO_BCR] = { 0x3490 }, };
On Fri, Oct 31, 2025 at 05:27:44AM +0300, AlexeyMinnekhanov wrote:
From: Alexey Minnekhanov alexeymin@postmarketos.org
Add offset for display subsystem reset in multimedia clock controller block.
... which is necessary to reset display when foo bar happens...
Cc: stable@vger.kernel.org # 6.17
Provide Fixes tag.
Signed-off-by: Alexey Minnekhanov alexeymin@postmarketos.org
You sent us broken mailing, broken from field. That's why this probably ends in spam.
Best regards, Krzysztof
From: Alexey Minnekhanov alexeymin@postmarketos.org
If the OS does not support recovering the state left by the bootloader it needs a way to reset display hardware, so that it can start from a clean state. Add a reference to the relevant reset.
It fixes display init issue appeared in Linux v6.17: without reset device boots into black screen and you need to turn display off/on to "fix" it. Also sometimes it can boot into solid blue color with these messages in kernel log:
hw recovery is not complete for ctl:2 [drm:dpu_encoder_phys_vid_prepare_for_kickoff:569] [dpu error]enc33 intf1 ctl 2 reset failure: -22 [drm:dpu_encoder_frame_done_timeout:2727] [dpu error]enc33 frame done timeout
Cc: stable@vger.kernel.org # 6.17 Signed-off-by: Alexey Minnekhanov alexeymin@postmarketos.org --- arch/arm64/boot/dts/qcom/sdm630.dtsi | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi index 8b1a45a4e56e..fedff18a5721 100644 --- a/arch/arm64/boot/dts/qcom/sdm630.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi @@ -1563,6 +1563,7 @@ mdss: display-subsystem@c900000 { reg-names = "mdss_phys", "vbif_phys";
power-domains = <&mmcc MDSS_GDSC>; + resets = <&mmcc MDSS_BCR>;
clocks = <&mmcc MDSS_AHB_CLK>, <&mmcc MDSS_AXI_CLK>,
On 10/31/25 3:27 AM, Alexey@web.codeaurora.org wrote:
Since kernel 6.17 display stack needs to reset the hardware properly to ensure that we don't run into issues with the hardware configured by the bootloader. MDSS reset is necessary to have working display when the bootloader has already initialized it for the boot splash screen.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
You git identity has two less/greater than symbols
Also.. thunderbird argues there's two of you:
Alexey@web.codeaurora.org Minnekhanov@web.codeaurora.org
plus.. I thought codeaurora was long dead!?
My DNS certainly doesn't know about web.codeaurora.org specifically
Konrad
On 31.10.2025 12:21, Konrad Dybcio wrote:
On 10/31/25 3:27 AM, Alexey@web.codeaurora.org wrote:
Since kernel 6.17 display stack needs to reset the hardware properly to ensure that we don't run into issues with the hardware configured by the bootloader. MDSS reset is necessary to have working display when the bootloader has already initialized it for the boot splash screen.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
You git identity has two less/greater than symbols
Also.. thunderbird argues there's two of you:
Alexey@web.codeaurora.org Minnekhanov@web.codeaurora.org
plus.. I thought codeaurora was long dead!?
My DNS certainly doesn't know about web.codeaurora.org specifically
Konrad
This is a result of me first time trying to use b4 and misconfiguration of git: user.email contained my email inside '<' and '>' which somehow caused the prep/send process to generate emails with broken half-empty "From:" field, containing only name and surname without email. And then perhaps email server closer to your side decided to "fill the gaps" and append some non-existent web.codeaurora.org part? At least I don't have any better guess.
I will send v2 later and hopefully get this all fixed.
-- Regards, Alexey Minnekhanov
On Fri, Oct 31, 2025 at 03:42:47PM +0300, Alexey Minnekhanov wrote:
This is a result of me first time trying to use b4 and misconfiguration of git: user.email contained my email inside '<' and '>' which somehow caused the prep/send process to generate emails with broken half-empty "From:" field, containing only name and surname without email.
There is now a patch in master to handle this situation. Sorry about that.
And then perhaps email server closer to your side decided to "fill the gaps" and append some non-existent web.codeaurora.org part? At least I don't have any better guess.
That's correct, that's the internal DNS name of one of our relays.
-K
linux-stable-mirror@lists.linaro.org