summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharlene Liu <Charlene.Liu@amd.com>2026-02-23 22:28:14 +0300
committerAlex Deucher <alexander.deucher@amd.com>2026-03-11 17:55:54 +0300
commita879009f9a08b5756ca178223f003f18def07b22 (patch)
treed6cdc1584f11be7c81e12bb64c21ff9f39c47c91
parentf3d349484856e874ad00eeda9754a2ca8b7be5c7 (diff)
downloadlinux-a879009f9a08b5756ca178223f003f18def07b22.tar.xz
drm/amd/display: Update underflow detection
[WHY] Add underflow detection for later ASICs. Reviewed-by: Leo Chen <leo.chen@amd.com> Signed-off-by: Charlene Liu <Charlene.Liu@amd.com> Signed-off-by: Alex Hung <alex.hung@amd.com> Tested-by: Dan Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/display/dc/optc/dcn10/dcn10_optc.h6
-rw-r--r--drivers/gpu/drm/amd/display/dc/optc/dcn31/dcn31_optc.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/optc/dcn10/dcn10_optc.h b/drivers/gpu/drm/amd/display/dc/optc/dcn10/dcn10_optc.h
index cf05620fd8f5..d2ba63046a50 100644
--- a/drivers/gpu/drm/amd/display/dc/optc/dcn10/dcn10_optc.h
+++ b/drivers/gpu/drm/amd/display/dc/optc/dcn10/dcn10_optc.h
@@ -218,7 +218,7 @@
uint32_t OTG_CRC_SIG_BLUE_CONTROL_MASK; \
uint32_t OTG_CRC_SIG_RED_GREEN_MASK; \
uint32_t OTG_DLPC_CONTROL; \
- uint32_t OTG_DRR_CONTROL2; \
+ uint32_t OTG_DRR_CONTOL2; \
uint32_t OTG_DRR_TIMING_INT_STATUS; \
uint32_t OTG_GLOBAL_CONTROL3; \
uint32_t OTG_GLOBAL_SYNC_STATUS; \
@@ -676,6 +676,10 @@ struct dcn_optc_registers {
type OTG_V_COUNT_STOP_TIMER;
#define TG_REG_FIELD_LIST_DCN3_6(type) \
+ type OPTC_RSMU_UNDERFLOW_CLEAR;\
+ type OPTC_RSMU_UNDERFLOW_OCCURRED_STATUS;\
+ type OPTC_RSMU_UNDERFLOW_INT_EN;\
+ type OPTC_RSMU_UNDERFLOW_INT_STATUS;\
type OTG_CRC_POLY_SEL; \
type CRC0_R_CR32; \
type CRC0_G_Y32; \
diff --git a/drivers/gpu/drm/amd/display/dc/optc/dcn31/dcn31_optc.c b/drivers/gpu/drm/amd/display/dc/optc/dcn31/dcn31_optc.c
index c6417538090f..893d2aff1f82 100644
--- a/drivers/gpu/drm/amd/display/dc/optc/dcn31/dcn31_optc.c
+++ b/drivers/gpu/drm/amd/display/dc/optc/dcn31/dcn31_optc.c
@@ -363,7 +363,7 @@ void optc31_read_reg_state(struct timing_generator *optc, struct dcn_optc_reg_st
optc_reg_state->otg_crc3_data_rg = REG_READ(OTG_CRC3_DATA_RG);
optc_reg_state->otg_dlpc_control = REG_READ(OTG_DLPC_CONTROL);
optc_reg_state->otg_double_buffer_control = REG_READ(OTG_DOUBLE_BUFFER_CONTROL);
- optc_reg_state->otg_drr_control2 = REG_READ(OTG_DRR_CONTROL2);
+ optc_reg_state->otg_drr_control2 = REG_READ(OTG_DRR_CONTOL2);
optc_reg_state->otg_drr_control = REG_READ(OTG_DRR_CONTROL);
optc_reg_state->otg_drr_timing_int_status = REG_READ(OTG_DRR_TIMING_INT_STATUS);
optc_reg_state->otg_drr_trigger_window = REG_READ(OTG_DRR_TRIGGER_WINDOW);