Commit 6e6fec3f authored by Taniya Das's avatar Taniya Das Committed by Stephen Boyd

clk: qcom: dispcc: Update the transition delay for MDSS GDSC

On SC7180 we observe black screens because the gdsc is being
enabled/disabled very rapidly and the GDSC FSM state does not work as
expected. This is due to the fact that the GDSC reset value is being
updated from SW.

The recommended transition delay for mdss core gdsc updated for
SC7180/SC7280/SM8250.

Fixes: dd3d0662 ("clk: qcom: Add display clock controller driver for SC7180")
Fixes: 1a00c962 ("clk: qcom: Add display clock controller driver for SC7280")
Fixes: 80a18f4a ("clk: qcom: Add display clock controller driver for SM8150 and SM8250")
Signed-off-by: default avatarTaniya Das <tdas@codeaurora.org>
Link: https://lore.kernel.org/r/20220223185606.3941-2-tdas@codeaurora.orgReviewed-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
[sboyd@kernel.org: lowercase hex]
Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
parent 4e7c4d36
// SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only
/* /*
* Copyright (c) 2019, The Linux Foundation. All rights reserved. * Copyright (c) 2019, 2022, The Linux Foundation. All rights reserved.
*/ */
#include <linux/clk-provider.h> #include <linux/clk-provider.h>
...@@ -625,6 +625,9 @@ static struct clk_branch disp_cc_mdss_vsync_clk = { ...@@ -625,6 +625,9 @@ static struct clk_branch disp_cc_mdss_vsync_clk = {
static struct gdsc mdss_gdsc = { static struct gdsc mdss_gdsc = {
.gdscr = 0x3000, .gdscr = 0x3000,
.en_rest_wait_val = 0x2,
.en_few_wait_val = 0x2,
.clk_dis_wait_val = 0xf,
.pd = { .pd = {
.name = "mdss_gdsc", .name = "mdss_gdsc",
}, },
......
// SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only
/* /*
* Copyright (c) 2021, The Linux Foundation. All rights reserved. * Copyright (c) 2021-2022, The Linux Foundation. All rights reserved.
*/ */
#include <linux/clk-provider.h> #include <linux/clk-provider.h>
...@@ -787,6 +787,9 @@ static struct clk_branch disp_cc_sleep_clk = { ...@@ -787,6 +787,9 @@ static struct clk_branch disp_cc_sleep_clk = {
static struct gdsc disp_cc_mdss_core_gdsc = { static struct gdsc disp_cc_mdss_core_gdsc = {
.gdscr = 0x1004, .gdscr = 0x1004,
.en_rest_wait_val = 0x2,
.en_few_wait_val = 0x2,
.clk_dis_wait_val = 0xf,
.pd = { .pd = {
.name = "disp_cc_mdss_core_gdsc", .name = "disp_cc_mdss_core_gdsc",
}, },
......
// SPDX-License-Identifier: GPL-2.0 // SPDX-License-Identifier: GPL-2.0
/* /*
* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2018-2020, 2022, The Linux Foundation. All rights reserved.
*/ */
#include <linux/clk-provider.h> #include <linux/clk-provider.h>
...@@ -1126,6 +1126,9 @@ static struct clk_branch disp_cc_mdss_vsync_clk = { ...@@ -1126,6 +1126,9 @@ static struct clk_branch disp_cc_mdss_vsync_clk = {
static struct gdsc mdss_gdsc = { static struct gdsc mdss_gdsc = {
.gdscr = 0x3000, .gdscr = 0x3000,
.en_rest_wait_val = 0x2,
.en_few_wait_val = 0x2,
.clk_dis_wait_val = 0xf,
.pd = { .pd = {
.name = "mdss_gdsc", .name = "mdss_gdsc",
}, },
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment