aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/0431-drm-amd-display-Disable-ABM-when-eDP-is-disabled.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/0431-drm-amd-display-Disable-ABM-when-eDP-is-disabled.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/0431-drm-amd-display-Disable-ABM-when-eDP-is-disabled.patch121
1 files changed, 0 insertions, 121 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/0431-drm-amd-display-Disable-ABM-when-eDP-is-disabled.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/0431-drm-amd-display-Disable-ABM-when-eDP-is-disabled.patch
deleted file mode 100644
index f820d845..00000000
--- a/common/recipes-kernel/linux/linux-yocto-4.14.71/0431-drm-amd-display-Disable-ABM-when-eDP-is-disabled.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From 42de1796c282d4d76aa93e64d6e8b68f5e14a861 Mon Sep 17 00:00:00 2001
-From: Amy Zhang <Amy.Zhang@amd.com>
-Date: Fri, 12 May 2017 15:54:29 -0400
-Subject: [PATCH 0431/4131] drm/amd/display: Disable ABM when eDP is disabled
-
-- Add immediate ABM disable when eDP is disabled
-- Fix purple screen when ABM is mistakenly enabled
-on non eDP display
-
-Signed-off-by: Amy Zhang <Amy.Zhang@amd.com>
-Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
-Acked-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 | 16 ++++++++++++++++
- drivers/gpu/drm/amd/display/dc/dc.h | 2 ++
- drivers/gpu/drm/amd/display/dc/dce/dce_abm.c | 21 +++++++++++++++++++++
- drivers/gpu/drm/amd/display/dc/inc/hw/abm.h | 1 +
- 4 files changed, 40 insertions(+)
-
-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 ffc0eea..5997764 100644
---- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
-+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
-@@ -1415,6 +1415,22 @@ bool dc_link_set_backlight_level(const struct dc_link *dc_link, uint32_t level,
- return true;
- }
-
-+
-+bool dc_link_set_abm_disable(const struct dc_link *dc_link)
-+{
-+ struct core_link *link = DC_LINK_TO_CORE(dc_link);
-+ struct core_dc *core_dc = DC_TO_CORE(link->ctx->dc);
-+ struct abm *abm = core_dc->res_pool->abm;
-+
-+ if ((abm == NULL) || (abm->funcs->set_backlight_level == NULL))
-+ return false;
-+
-+ abm->funcs->set_abm_immediate_disable(abm);
-+
-+ return true;
-+}
-+
-+
- bool dc_link_set_psr_enable(const struct dc_link *dc_link, bool enable)
- {
- struct core_link *link = DC_LINK_TO_CORE(dc_link);
-diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
-index 9a19d6f..0610805 100644
---- a/drivers/gpu/drm/amd/display/dc/dc.h
-+++ b/drivers/gpu/drm/amd/display/dc/dc.h
-@@ -714,6 +714,8 @@ const struct graphics_object_id dc_get_link_id_at_index(
- bool dc_link_set_backlight_level(const struct dc_link *dc_link, uint32_t level,
- uint32_t frame_ramp, const struct dc_stream *stream);
-
-+bool dc_link_set_abm_disable(const struct dc_link *dc_link);
-+
- bool dc_link_set_psr_enable(const struct dc_link *dc_link, bool enable);
-
- bool dc_link_setup_psr(const struct dc_link *dc_link,
-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 cefffe1..b4fa782 100644
---- a/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
-+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
-@@ -49,6 +49,8 @@
- #define MCP_ABM_PIPE_SET 0x66
- #define MCP_BL_SET 0x67
-
-+#define MCP_DISABLE_ABM_IMMEDIATELY 255
-+
- struct abm_backlight_registers {
- unsigned int BL_PWM_CNTL;
- unsigned int BL_PWM_CNTL2;
-@@ -315,6 +317,24 @@ static bool dce_abm_set_level(struct abm *abm, uint32_t level)
- return true;
- }
-
-+static bool dce_abm_immediate_disable(struct abm *abm)
-+{
-+ struct dce_abm *abm_dce = TO_DCE_ABM(abm);
-+
-+ REG_WAIT(MASTER_COMM_CNTL_REG, MASTER_COMM_INTERRUPT, 0,
-+ 100, 800);
-+
-+ /* setDMCUParam_ABMLevel */
-+ REG_UPDATE_2(MASTER_COMM_CMD_REG,
-+ MASTER_COMM_CMD_REG_BYTE0, MCP_ABM_LEVEL_SET,
-+ MASTER_COMM_CMD_REG_BYTE2, MCP_DISABLE_ABM_IMMEDIATELY);
-+
-+ /* notifyDMCUMsg */
-+ REG_UPDATE(MASTER_COMM_CNTL_REG, MASTER_COMM_INTERRUPT, 1);
-+
-+ return true;
-+}
-+
- static bool dce_abm_init_backlight(struct abm *abm)
- {
- struct dce_abm *abm_dce = TO_DCE_ABM(abm);
-@@ -414,6 +434,7 @@ static const struct abm_funcs dce_funcs = {
- .init_backlight = dce_abm_init_backlight,
- .set_backlight_level = dce_abm_set_backlight_level,
- .get_current_backlight_8_bit = dce_abm_get_current_backlight_8_bit,
-+ .set_abm_immediate_disable = dce_abm_immediate_disable,
- .is_dmcu_initialized = is_dmcu_initialized
- };
-
-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 da465b3..c93b9b9 100644
---- a/drivers/gpu/drm/amd/display/dc/inc/hw/abm.h
-+++ b/drivers/gpu/drm/amd/display/dc/inc/hw/abm.h
-@@ -35,6 +35,7 @@ struct abm {
- struct abm_funcs {
- void (*abm_init)(struct abm *abm);
- bool (*set_abm_level)(struct abm *abm, unsigned int abm_level);
-+ bool (*set_abm_immediate_disable)(struct abm *abm);
- bool (*init_backlight)(struct abm *abm);
- bool (*set_backlight_level)(struct abm *abm,
- unsigned int backlight_level,
---
-2.7.4
-