drm/amd/display: Add configuration options for AUX wake work around.
[Why] Work around to try to wake unresponsive DP sinks may need to be adjusted for certain sinks. [How] Add options to disable work around or adjust time spent trying to wake unresponsive DPRX. Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Reviewed-by: Martin Leung <Martin.Leung@amd.com> Acked-by: Tom Chung <chiahsuan.chung@amd.com> Signed-off-by: Jimmy Kizito <Jimmy.Kizito@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
7e8906dc26
commit
6e93d5b033
drivers/gpu/drm/amd/display/dc
@ -5308,7 +5308,13 @@ static bool retrieve_link_cap(struct dc_link *link)
|
||||
LINK_AUX_DEFAULT_LTTPR_TIMEOUT_PERIOD);
|
||||
|
||||
/* Try to ensure AUX channel active before proceeding. */
|
||||
status = wa_try_to_wake_dprx(link, LINK_AUX_WAKE_TIMEOUT_MS);
|
||||
if (link->dc->debug.aux_wake_wa.bits.enable_wa) {
|
||||
uint64_t timeout_ms = link->dc->debug.aux_wake_wa.bits.timeout_ms;
|
||||
|
||||
if (link->dc->debug.aux_wake_wa.bits.use_default_timeout)
|
||||
timeout_ms = LINK_AUX_WAKE_TIMEOUT_MS;
|
||||
status = wa_try_to_wake_dprx(link, timeout_ms);
|
||||
}
|
||||
|
||||
is_lttpr_present = dp_retrieve_lttpr_cap(link);
|
||||
/* Read DP tunneling information. */
|
||||
|
@ -526,6 +526,22 @@ union dpia_debug_options {
|
||||
uint32_t raw;
|
||||
};
|
||||
|
||||
/* AUX wake work around options
|
||||
* 0: enable/disable work around
|
||||
* 1: use default timeout LINK_AUX_WAKE_TIMEOUT_MS
|
||||
* 15-2: reserved
|
||||
* 31-16: timeout in ms
|
||||
*/
|
||||
union aux_wake_wa_options {
|
||||
struct {
|
||||
uint32_t enable_wa : 1;
|
||||
uint32_t use_default_timeout : 1;
|
||||
uint32_t rsvd: 14;
|
||||
uint32_t timeout_ms : 16;
|
||||
} bits;
|
||||
uint32_t raw;
|
||||
};
|
||||
|
||||
struct dc_debug_data {
|
||||
uint32_t ltFailCount;
|
||||
uint32_t i2cErrorCount;
|
||||
@ -712,6 +728,7 @@ struct dc_debug_options {
|
||||
#endif
|
||||
bool apply_vendor_specific_lttpr_wa;
|
||||
bool extended_blank_optimization;
|
||||
union aux_wake_wa_options aux_wake_wa;
|
||||
bool ignore_dpref_ss;
|
||||
uint8_t psr_power_use_phy_fsm;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user