drm/amd/display: Add a trace event for brightness programming

[Why]
Brightness programming may involve a conversion of a user requested
brightness against what was in a custom brightness curve. The values
might not match what a user programmed.

[How]
Add a new trace event to show specific converted brightness values.

Reviewed-by: Alex Hung <alex.hung@amd.com>
Link: https://lore.kernel.org/r/20250623171114.1156451-2-mario.limonciello@amd.com
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Mario Limonciello
2025-06-23 12:11:14 -05:00
committed by Alex Deucher
parent 5b852044eb
commit 009bfc5ec5
3 changed files with 52 additions and 0 deletions

View File

@@ -4861,6 +4861,14 @@ static void amdgpu_dm_backlight_set_level(struct amdgpu_display_manager *dm,
reallow_idle = true;
}
if (trace_amdgpu_dm_brightness_enabled()) {
trace_amdgpu_dm_brightness(__builtin_return_address(0),
user_brightness,
brightness,
caps->aux_support,
power_supply_is_system_supplied() > 0);
}
if (caps->aux_support) {
rc = dc_link_set_backlight_level_nits(link, true, brightness,
AUX_BL_DEFAULT_TRANSITION_TIME_MS);

View File

@@ -726,6 +726,32 @@ TRACE_EVENT(dcn_optc_lock_unlock_state,
)
);
TRACE_EVENT(amdgpu_dm_brightness,
TP_PROTO(void *function, u32 user_brightness, u32 converted_brightness, bool aux, bool ac),
TP_ARGS(function, user_brightness, converted_brightness, aux, ac),
TP_STRUCT__entry(
__field(void *, function)
__field(u32, user_brightness)
__field(u32, converted_brightness)
__field(bool, aux)
__field(bool, ac)
),
TP_fast_assign(
__entry->function = function;
__entry->user_brightness = user_brightness;
__entry->converted_brightness = converted_brightness;
__entry->aux = aux;
__entry->ac = ac;
),
TP_printk("%ps: brightness requested=%u converted=%u aux=%s power=%s",
(void *)__entry->function,
(u32)__entry->user_brightness,
(u32)__entry->converted_brightness,
(__entry->aux) ? "true" : "false",
(__entry->ac) ? "AC" : "DC"
)
);
#endif /* _AMDGPU_DM_TRACE_H_ */
#undef TRACE_INCLUDE_PATH