lkml.org 
[lkml]   [2022]   [Mar]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 007/110] clk: qcom: dispcc: Update the transition delay for MDSS GDSC
    Date
    From: Taniya Das <tdas@codeaurora.org>

    [ Upstream commit 6e6fec3f961c00ca34ffb4bf2ad9febb4b499f8d ]

    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: dd3d06622138 ("clk: qcom: Add display clock controller driver for SC7180")
    Fixes: 1a00c962f9cd ("clk: qcom: Add display clock controller driver for SC7280")
    Fixes: 80a18f4a8567 ("clk: qcom: Add display clock controller driver for SM8150 and SM8250")
    Signed-off-by: Taniya Das <tdas@codeaurora.org>
    Link: https://lore.kernel.org/r/20220223185606.3941-2-tdas@codeaurora.org
    Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    [sboyd@kernel.org: lowercase hex]
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/clk/qcom/dispcc-sc7180.c | 5 ++++-
    drivers/clk/qcom/dispcc-sc7280.c | 5 ++++-
    drivers/clk/qcom/dispcc-sm8250.c | 5 ++++-
    3 files changed, 12 insertions(+), 3 deletions(-)

    diff --git a/drivers/clk/qcom/dispcc-sc7180.c b/drivers/clk/qcom/dispcc-sc7180.c
    index 538e4963c915..5d2ae297e741 100644
    --- a/drivers/clk/qcom/dispcc-sc7180.c
    +++ b/drivers/clk/qcom/dispcc-sc7180.c
    @@ -1,6 +1,6 @@
    // 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>
    @@ -625,6 +625,9 @@ static struct clk_branch disp_cc_mdss_vsync_clk = {

    static struct gdsc mdss_gdsc = {
    .gdscr = 0x3000,
    + .en_rest_wait_val = 0x2,
    + .en_few_wait_val = 0x2,
    + .clk_dis_wait_val = 0xf,
    .pd = {
    .name = "mdss_gdsc",
    },
    diff --git a/drivers/clk/qcom/dispcc-sc7280.c b/drivers/clk/qcom/dispcc-sc7280.c
    index 4ef4ae231794..ad596d567f6a 100644
    --- a/drivers/clk/qcom/dispcc-sc7280.c
    +++ b/drivers/clk/qcom/dispcc-sc7280.c
    @@ -1,6 +1,6 @@
    // 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>
    @@ -787,6 +787,9 @@ static struct clk_branch disp_cc_sleep_clk = {

    static struct gdsc disp_cc_mdss_core_gdsc = {
    .gdscr = 0x1004,
    + .en_rest_wait_val = 0x2,
    + .en_few_wait_val = 0x2,
    + .clk_dis_wait_val = 0xf,
    .pd = {
    .name = "disp_cc_mdss_core_gdsc",
    },
    diff --git a/drivers/clk/qcom/dispcc-sm8250.c b/drivers/clk/qcom/dispcc-sm8250.c
    index bf9ffe1a1cf4..73c5feea9818 100644
    --- a/drivers/clk/qcom/dispcc-sm8250.c
    +++ b/drivers/clk/qcom/dispcc-sm8250.c
    @@ -1,6 +1,6 @@
    // 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>
    @@ -1125,6 +1125,9 @@ static struct clk_branch disp_cc_mdss_vsync_clk = {

    static struct gdsc mdss_gdsc = {
    .gdscr = 0x3000,
    + .en_rest_wait_val = 0x2,
    + .en_few_wait_val = 0x2,
    + .clk_dis_wait_val = 0xf,
    .pd = {
    .name = "mdss_gdsc",
    },
    --
    2.34.1


    \
     
     \ /
      Last update: 2022-03-14 13:24    [W:2.103 / U:0.076 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site