diff options
| author | Ian Chen <ian.chen@amd.com> | 2026-04-15 11:25:22 +0800 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2026-05-05 09:56:52 -0400 |
| commit | ebb884dbb04785e8828400a8f373dd3043d6f4ae (patch) | |
| tree | 75fdf47d339d0e4a796990b8f74c5146aa1a6bbd /drivers/gpu/drm/amd/display/dc/dio/dcn30 | |
| parent | 35a8ecb704938596fd655c25dca4234ee5cc031f (diff) | |
| download | linux-next-ebb884dbb04785e8828400a8f373dd3043d6f4ae.tar.gz linux-next-ebb884dbb04785e8828400a8f373dd3043d6f4ae.zip | |
drm/amd/display: Skip HDR metadata update when Smart Power OLED enabled
[Why & How]
While smart power oled is enabled,
the infopacket contents are tied to the frame histogram,
so it does not need driver side to update the hdr metadata.
Reviewed-by: Aric Cyr <aric.cyr@amd.com>
Reviewed-by: Anthony Koo <anthony.koo@amd.com>
Signed-off-by: Ian Chen <ian.chen@amd.com>
Signed-off-by: James Lin <pinglei.lin@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dio/dcn30')
| -rw-r--r-- | drivers/gpu/drm/amd/display/dc/dio/dcn30/dcn30_dio_stream_encoder.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dio/dcn30/dcn30_dio_stream_encoder.c b/drivers/gpu/drm/amd/display/dc/dio/dcn30/dcn30_dio_stream_encoder.c index e93be7b6d9b0..c14fb51c2611 100644 --- a/drivers/gpu/drm/amd/display/dc/dio/dcn30/dcn30_dio_stream_encoder.c +++ b/drivers/gpu/drm/amd/display/dc/dio/dcn30/dcn30_dio_stream_encoder.c @@ -470,7 +470,11 @@ void enc3_stream_encoder_update_dp_info_packets( &info_frame->spd, true); } - if (info_frame->hdrsmd.valid) { + /* While smart power oled is enabled DMUB is scanning the contents of each frame + * and updating the HDR infopacket contents. Therefore we transition the infopacket + * programming control to DMUB while Smart Power OLED is enabled. + */ + if (info_frame->hdrsmd.valid && !info_frame->firmware_controlled_hdr_info_packet) { enc->vpg->funcs->update_generic_info_packet( enc->vpg, 3, /* packetIndex */ |
