diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3039-drm-amd-display-Wait-for-backlight-programming-compl.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3039-drm-amd-display-Wait-for-backlight-programming-compl.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3039-drm-amd-display-Wait-for-backlight-programming-compl.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3039-drm-amd-display-Wait-for-backlight-programming-compl.patch new file mode 100644 index 00000000..af5e9ef7 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3039-drm-amd-display-Wait-for-backlight-programming-compl.patch @@ -0,0 +1,39 @@ +From 6ec47858f376996e075c44a3f8295366840bfb78 Mon Sep 17 00:00:00 2001 +From: SivapiriyanKumarasamy <sivapiriyan.kumarasamy@amd.com> +Date: Fri, 14 Jun 2019 15:04:00 -0400 +Subject: [PATCH 3039/4256] drm/amd/display: Wait for backlight programming + completion in set backlight level + +[WHY] +Currently we don't wait for blacklight programming completion in DMCU +when setting backlight level. Some sequences such as PSR static screen +event trigger reprogramming requires it to be complete. + +[How] +Add generic wait for dmcu command completion in set backlight level. + +Signed-off-by: SivapiriyanKumarasamy <sivapiriyan.kumarasamy@amd.com> +Reviewed-by: Anthony Koo <Anthony.Koo@amd.com> +Acked-by: Leo Li <sunpeng.li@amd.com> +--- + drivers/gpu/drm/amd/display/dc/dce/dce_abm.c | 4 ++++ + 1 file changed, 4 insertions(+) + +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 3d87a8800300..adde7a5760bc 100644 +--- a/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c ++++ b/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c +@@ -237,6 +237,10 @@ static void dmcu_set_backlight_level( + s2 |= (backlight_8_bit << ATOM_S2_CURRENT_BL_LEVEL_SHIFT); + + REG_WRITE(BIOS_SCRATCH_2, s2); ++ ++ /* waitDMCUReadyForCmd */ ++ REG_WAIT(MASTER_COMM_CNTL_REG, MASTER_COMM_INTERRUPT, ++ 0, 1, 80000); + } + + static void dce_abm_init(struct abm *abm) +-- +2.17.1 + |