summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.h
diff options
context:
space:
mode:
authorNoah Abradjian <noah.abradjian@amd.com>2019-12-13 09:31:20 -0500
committerAlex Deucher <alexander.deucher@amd.com>2020-01-16 14:13:16 -0500
commitd9eb70ae610fea5ff41b9849cc541c8d5f0146db (patch)
treec9a5d52095b1c46021a6062a3155f641c418c3ff /drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.h
parent5fb3a1a5a03837ef1036383f943434870d3ed588 (diff)
drm/amd/display: Fix double buffering in dcn2 ICSC
[Why] When rapidly adjusting video brightness, screen tearing was observed. This was due to overwritten values in ICSC registers. In dcn10, this issue had been fixed by implementing double buffering via alternating ICSC modes. However, the second register set used in dcn1 doesn't exist in dcn2. [How] Create new program_input_csc for dcn20. Use ICSC_B registers instead of COMA registers as second set. Signed-off-by: Noah Abradjian <noah.abradjian@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Acked-by: Harry Wentland <harry.wentland@amd.com> Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.h')
-rw-r--r--drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.h b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.h
index 8c77e78e2df5..950e6f9cd23e 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.h
+++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.h
@@ -185,9 +185,11 @@
/*
* DCN2 MPC_OCSC debug status register:
*
- * Field describing current OCSC Mode has index 1 [1..0]
+ * Status index including current OCSC Mode is 1
+ * OCSC Mode: [1..0]
*/
-#define MPC_OCSC_TEST_DEBUG_DATA_OCSC_MODE_IDX 1
+#define MPC_OCSC_TEST_DEBUG_DATA_STATUS_IDX 1
+#define MPC_OCSC_TEST_DEBUG_DATA_OCSC_MODE_MASK 0x3
#define MPC_REG_FIELD_LIST_DCN2_0(type) \
MPC_REG_FIELD_LIST(type)\