aboutsummaryrefslogtreecommitdiffstats
path: root/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0397-drm-amd-display-Don-t-call-PSR-func-if-DMCU-is-off.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0397-drm-amd-display-Don-t-call-PSR-func-if-DMCU-is-off.patch')
-rw-r--r--meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0397-drm-amd-display-Don-t-call-PSR-func-if-DMCU-is-off.patch147
1 files changed, 0 insertions, 147 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0397-drm-amd-display-Don-t-call-PSR-func-if-DMCU-is-off.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0397-drm-amd-display-Don-t-call-PSR-func-if-DMCU-is-off.patch
deleted file mode 100644
index e2cd3949..00000000
--- a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0397-drm-amd-display-Don-t-call-PSR-func-if-DMCU-is-off.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From d7b3b9ec2d3cb0921336bba77f500735c710312b Mon Sep 17 00:00:00 2001
-From: Harry Wentland <harry.wentland@amd.com>
-Date: Wed, 10 May 2017 15:56:17 -0400
-Subject: [PATCH 0397/4131] drm/amd/display: Don't call PSR func if DMCU is off
-
-Signed-off-by: Harry Wentland <harry.wentland@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
----
- drivers/gpu/drm/amd/display/dc/core/dc_link.c | 8 --------
- drivers/gpu/drm/amd/display/dc/dce/dce_abm.c | 23 +++++++++++++++--------
- drivers/gpu/drm/amd/display/dc/dce/dce_clocks.c | 11 ++++++++---
- drivers/gpu/drm/amd/display/dc/inc/hw/abm.h | 1 +
- 4 files changed, 24 insertions(+), 19 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
-index 6f78403..95d042a 100644
---- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
-+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
-@@ -46,14 +46,6 @@
- #include "dce/dce_11_0_enum.h"
- #include "dce/dce_11_0_sh_mask.h"
-
--#ifndef mmDMCU_STATUS__UC_IN_RESET__SHIFT
--#define mmDMCU_STATUS__UC_IN_RESET__SHIFT 0x0
--#endif
--
--#ifndef mmDMCU_STATUS__UC_IN_RESET_MASK
--#define mmDMCU_STATUS__UC_IN_RESET_MASK 0x00000001L
--#endif
--
- #define LINK_INFO(...) \
- dm_logger_write(dc_ctx->logger, LOG_HW_HOTPLUG, \
- __VA_ARGS__)
-diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c b/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
-index 45a3079c..393c435 100644
---- a/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
-+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
-@@ -366,6 +366,16 @@ static bool dce_abm_init_backlight(struct abm *abm)
- return true;
- }
-
-+static bool is_dmcu_initialized(struct abm *abm)
-+{
-+ struct dce_abm *abm_dce = TO_DCE_ABM(abm);
-+ unsigned int dmcu_uc_reset;
-+
-+ REG_GET(DMCU_STATUS, UC_IN_RESET, &dmcu_uc_reset);
-+
-+ return !dmcu_uc_reset;
-+}
-+
- static bool dce_abm_set_backlight_level(
- struct abm *abm,
- unsigned int backlight_level,
-@@ -373,23 +383,19 @@ static bool dce_abm_set_backlight_level(
- unsigned int controller_id)
- {
- struct dce_abm *abm_dce = TO_DCE_ABM(abm);
-- unsigned int dmcu_uc_reset;
-
- dm_logger_write(abm->ctx->logger, LOG_BACKLIGHT,
- "New Backlight level: %d (0x%X)\n",
- backlight_level, backlight_level);
-
-- REG_GET(DMCU_STATUS, UC_IN_RESET, &dmcu_uc_reset);
--
- /* If DMCU is in reset state, DMCU is uninitialized */
-- if (dmcu_uc_reset) {
-- driver_set_backlight_level(abm_dce, backlight_level);
-- } else {
-+ if (is_dmcu_initialized(abm))
- dmcu_set_backlight_level(abm_dce,
- backlight_level,
- frame_ramp,
- controller_id);
-- }
-+ else
-+ driver_set_backlight_level(abm_dce, backlight_level);
-
- return true;
- }
-@@ -398,7 +404,8 @@ static const struct abm_funcs dce_funcs = {
- .abm_init = dce_abm_init,
- .set_abm_level = dce_abm_set_level,
- .init_backlight = dce_abm_init_backlight,
-- .set_backlight_level = dce_abm_set_backlight_level
-+ .set_backlight_level = dce_abm_set_backlight_level,
-+ .is_dmcu_initialized = is_dmcu_initialized
- };
-
- static void dce_abm_construct(
-diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_clocks.c b/drivers/gpu/drm/amd/display/dc/dce/dce_clocks.c
-index 6e56d83..8bc0d0f 100644
---- a/drivers/gpu/drm/amd/display/dc/dce/dce_clocks.c
-+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_clocks.c
-@@ -29,11 +29,15 @@
- #include "fixed32_32.h"
- #include "bios_parser_interface.h"
- #include "dc.h"
-+#include "core_dc.h"
-+#include "dce_abm.h"
- #if defined(CONFIG_DRM_AMD_DC_DCN1_0)
- #include "dcn_calcs.h"
- #include "core_dc.h"
- #endif
-
-+
-+
- #define TO_DCE_CLOCKS(clocks)\
- container_of(clocks, struct dce_disp_clk, base)
-
-@@ -374,6 +378,8 @@ static void dce112_set_clock(
- struct dce_disp_clk *clk_dce = TO_DCE_CLOCKS(clk);
- struct bp_set_dce_clock_parameters dce_clk_params;
- struct dc_bios *bp = clk->ctx->dc_bios;
-+ struct core_dc *core_dc = DC_TO_CORE(clk->ctx->dc);
-+ struct abm *abm = core_dc->res_pool->abm;
-
- /* Prepare to program display clock*/
- memset(&dce_clk_params, 0, sizeof(dce_clk_params));
-@@ -404,9 +410,8 @@ static void dce112_set_clock(
-
- bp->funcs->set_dce_clock(bp, &dce_clk_params);
-
--#if defined(CONFIG_DRM_AMD_DC_DCN1_0)
-- dce_psr_wait_loop(clk_dce, requested_clk_khz);
--#endif
-+ if (abm->funcs->is_dmcu_initialized(abm))
-+ dce_psr_wait_loop(clk_dce, requested_clk_khz);
-
- }
-
-diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/abm.h b/drivers/gpu/drm/amd/display/dc/inc/hw/abm.h
-index 7d07b79..ceabbd3 100644
---- a/drivers/gpu/drm/amd/display/dc/inc/hw/abm.h
-+++ b/drivers/gpu/drm/amd/display/dc/inc/hw/abm.h
-@@ -40,6 +40,7 @@ struct abm_funcs {
- unsigned int backlight_level,
- unsigned int frame_ramp,
- unsigned int controller_id);
-+ bool (*is_dmcu_initialized)(struct abm *abm);
- };
-
- #endif
---
-2.7.4
-