[PATCH 00/45] DC Patches May 06 2024
Tom Chung
chiahsuan.chung at amd.com
Wed May 1 07:16:06 UTC 2024
This DC patchset brings improvements in multiple areas. In summary, we have:
- Fix some problems reported by Coverity
- Fix idle optimization checks for multi-display and dual eDP
- Fix incorrect size calculation for loop
- Fix DSC-re-computing
- Add Replay capability and state in debugfs
- Refactor DCCG into component folder
- Refactor input mode programming for DIG FIFO
- Reset DSC clock in post unlock update
- Clean-up recout calculation for visual confirm
- Enable urgent latency adjustments for DCN35
Cc: Daniel Wheeler <daniel.wheeler at amd.com>
Agustin Gutierrez (2):
drm/amd/display: Fix DSC-re-computing
drm/amd/display: MST DSC check for older devices
Alex Hung (14):
drm/amd/display: Skip accessing array for unknown eng_id
drm/amd/display: Ensure array index tg_inst won't be -1
drm/amd/display: Check gpio_id before used as array index
drm/amd/display: Fix incorrect size calculation for loop
drm/amd/display: Check index for aux_rd_interval before using
drm/amd/display: Check num_valid_sets before accessing
reader_wm_sets[]
drm/amd/display: Skip updating link encoder for unknown eng_id
drm/amd/display: Check msg_id before processing transcation
drm/amd/display: Check link_index before accessing dc->links[]
drm/amd/display: Limit clock assignments by size of clk tables
drm/amd/display: Spinlock before reading event
drm/amd/display: Limit array index according to architecture
drm/amd/display: Avoid overflow dc_clk_table->entries by limit to
MAX_NUM_DPM_LVL
drm/amd/display: Skip plane when not found by stream id
Alvin Lee (1):
Revert "drm/amd/display: Only program P-State force if pipe config
changed"
Anthony Koo (1):
drm/amd/display: [FW Promotion] Release 0.0.216.0
Aric Cyr (1):
drm/amd/display: 3.2.284
Bhuvana Chandra Pinninti (1):
drm/amd/display: Refactor HUBP into component folder.
Dillon Varone (2):
drm/amd/display: Refactor input mode programming for DIG FIFO
drm/amd/display: Reset input mode for DIG on encoder reset
Hersen Wu (13):
drm/amd/display: Add NULL pointer and OVERRUN check within amdgpu_dm
irq register
drm/amd/display: Stop amdgpu_dm initialize when stream nums greater
than 6
drm/amd/display: Stop amdgpu_dm initialize when link nums greater than
max_links
drm/amd/display: Add missing NULL pointer check within
dpcd_extend_address_range
drm/amd/display: Add array index check for hdcp ddc access
drm/amd/display: Release state memory if
amdgpu_dm_create_color_properties fail
drm/amd/display: Add otg_master NULL check within
resource_log_pipe_topology_update
drm/amd/display: Fix Coverity INTERGER_OVERFLOW within
construct_integrated_info
drm/amd/display: Fix Coverity INTEGER_OVERFLOW within
dal_gpio_service_create
drm/amd/display: Add NULL pointer check for kzalloc
drm/amd/display: Fix wrong array size dummy_boolean of
dml2_core_calcs_mode_support_locals
drm/amd/display: Release clck_src memory if clk_src_construct fails
drm/amd/display: Fix Coverity INTEGER_OVERFLOW within
decide_fallback_link_setting_max_bw_policy
Leo Ma (1):
drm/amd/display: Fix invalid Copyright notice
Nicholas Kazlauskas (1):
drm/amd/display: Fix idle optimization checks for multi-display and
dual eDP
Nicholas Susanto (1):
drm/amd/display: Enable urgent latency adjustments for DCN35
Revalla Hari Krishna (1):
drm/amd/display: Refactor DCCG into component folder
Samson Tam (1):
drm/amd/display: Clean-up recout calculation for visual confirm
Sreeja Golui (1):
drm/amd/display: Providing a mechanism to have a custom pwm frequency
Tom Chung (2):
drm/amd/display: Add Replay capability and state in debugfs
drm/amd/display: remove panel replay initialization for DCN316
Wenjing Liu (1):
drm/amd/display: reset DSC clock in post unlock update
Xi Liu (1):
drm/amd/display: add support for force ODM override
drivers/gpu/drm/amd/display/Kconfig | 2 +
drivers/gpu/drm/amd/display/Makefile | 2 +
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 208 +++++++++++++-----
.../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 74 +++++++
.../display/amdgpu_dm/amdgpu_dm_mst_types.c | 16 +-
.../amd/display/amdgpu_dm/amdgpu_dm_replay.c | 12 +-
.../amd/display/amdgpu_dm/amdgpu_dm_replay.h | 2 +-
drivers/gpu/drm/amd/display/dc/Makefile | 2 +-
.../gpu/drm/amd/display/dc/bios/bios_parser.c | 4 +-
.../drm/amd/display/dc/bios/bios_parser2.c | 7 +-
.../amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c | 3 +-
.../dc/clk_mgr/dcn30/dcn30_smu11_driver_if.h | 2 +-
.../dc/clk_mgr/dcn32/dcn32_smu13_driver_if.h | 2 +-
.../dc/clk_mgr/dcn401/dcn401_clk_mgr.c | 2 +-
.../drm/amd/display/dc/core/dc_link_enc_cfg.c | 9 +-
.../drm/amd/display/dc/core/dc_link_exports.c | 3 +
.../gpu/drm/amd/display/dc/core/dc_resource.c | 28 ++-
drivers/gpu/drm/amd/display/dc/dc.h | 3 +-
drivers/gpu/drm/amd/display/dc/dccg/Makefile | 98 +++++++++
.../display/dc/{ => dccg}/dcn20/dcn20_dccg.c | 0
.../display/dc/{ => dccg}/dcn20/dcn20_dccg.h | 0
.../dc/{ => dccg}/dcn201/dcn201_dccg.c | 0
.../dc/{ => dccg}/dcn201/dcn201_dccg.h | 0
.../display/dc/{ => dccg}/dcn21/dcn21_dccg.c | 0
.../display/dc/{ => dccg}/dcn21/dcn21_dccg.h | 0
.../display/dc/{ => dccg}/dcn30/dcn30_dccg.c | 0
.../display/dc/{ => dccg}/dcn30/dcn30_dccg.h | 0
.../dc/{ => dccg}/dcn301/dcn301_dccg.c | 0
.../dc/{ => dccg}/dcn301/dcn301_dccg.h | 0
.../dc/{ => dccg}/dcn302/dcn302_dccg.h | 0
.../dc/{ => dccg}/dcn303/dcn303_dccg.h | 0
.../display/dc/{ => dccg}/dcn31/dcn31_dccg.c | 0
.../display/dc/{ => dccg}/dcn31/dcn31_dccg.h | 0
.../dc/{ => dccg}/dcn314/dcn314_dccg.c | 0
.../dc/{ => dccg}/dcn314/dcn314_dccg.h | 0
.../display/dc/{ => dccg}/dcn32/dcn32_dccg.c | 0
.../display/dc/{ => dccg}/dcn32/dcn32_dccg.h | 0
.../display/dc/{ => dccg}/dcn35/dcn35_dccg.c | 2 +-
.../display/dc/{ => dccg}/dcn35/dcn35_dccg.h | 0
drivers/gpu/drm/amd/display/dc/dcn10/Makefile | 2 +-
.../dc/dcn10/dcn10_hw_sequencer_debug.c | 2 +-
drivers/gpu/drm/amd/display/dc/dcn20/Makefile | 8 +-
.../gpu/drm/amd/display/dc/dcn201/Makefile | 8 +-
drivers/gpu/drm/amd/display/dc/dcn21/Makefile | 6 +-
drivers/gpu/drm/amd/display/dc/dcn30/Makefile | 4 +-
.../gpu/drm/amd/display/dc/dcn301/Makefile | 3 +-
drivers/gpu/drm/amd/display/dc/dcn31/Makefile | 3 +-
.../amd/display/dc/dcn31/dcn31_panel_cntl.c | 14 ++
.../amd/display/dc/dcn31/dcn31_panel_cntl.h | 3 +
.../gpu/drm/amd/display/dc/dcn314/Makefile | 2 +-
drivers/gpu/drm/amd/display/dc/dcn32/Makefile | 3 +-
drivers/gpu/drm/amd/display/dc/dcn35/Makefile | 3 +-
.../drm/amd/display/dc/dcn401/dcn401_dccg.c | 31 +--
.../dc/dcn401/dcn401_dio_stream_encoder.c | 113 ++++------
.../drm/amd/display/dc/dml/dcn35/dcn35_fpu.c | 4 +-
.../amd/display/dc/dml2/display_mode_core.c | 2 +-
.../dc/dml2/dml21/dml21_translation_helper.c | 14 +-
.../amd/display/dc/dml2/dml21/dml21_utils.c | 5 +-
.../src/dml2_core/dml2_core_shared_types.h | 2 +-
.../display/dc/dml2/dml2_dc_resource_mgmt.c | 6 +-
drivers/gpu/drm/amd/display/dc/dsc/Makefile | 3 +-
.../drm/amd/display/dc/dsc/dcn20/dcn20_dsc.c | 18 +-
.../drm/amd/display/dc/dsc/dcn20/dcn20_dsc.h | 3 +-
.../amd/display/dc/dsc/dcn401/dcn401_dsc.c | 17 +-
drivers/gpu/drm/amd/display/dc/dsc/dsc.h | 1 +
.../drm/amd/display/dc/gpio/gpio_service.c | 17 +-
.../gpu/drm/amd/display/dc/hdcp/hdcp_msg.c | 17 +-
drivers/gpu/drm/amd/display/dc/hubp/Makefile | 92 ++++++++
.../display/dc/{ => hubp}/dcn10/dcn10_hubp.c | 0
.../display/dc/{ => hubp}/dcn10/dcn10_hubp.h | 0
.../display/dc/{ => hubp}/dcn20/dcn20_hubp.c | 0
.../display/dc/{ => hubp}/dcn20/dcn20_hubp.h | 0
.../dc/{ => hubp}/dcn201/dcn201_hubp.c | 0
.../dc/{ => hubp}/dcn201/dcn201_hubp.h | 0
.../display/dc/{ => hubp}/dcn21/dcn21_hubp.c | 0
.../display/dc/{ => hubp}/dcn21/dcn21_hubp.h | 0
.../display/dc/{ => hubp}/dcn30/dcn30_hubp.c | 0
.../display/dc/{ => hubp}/dcn30/dcn30_hubp.h | 0
.../display/dc/{ => hubp}/dcn31/dcn31_hubp.c | 0
.../display/dc/{ => hubp}/dcn31/dcn31_hubp.h | 0
.../display/dc/{ => hubp}/dcn32/dcn32_hubp.c | 0
.../display/dc/{ => hubp}/dcn32/dcn32_hubp.h | 0
.../display/dc/{ => hubp}/dcn35/dcn35_hubp.c | 0
.../display/dc/{ => hubp}/dcn35/dcn35_hubp.h | 0
.../amd/display/dc/hwss/dcn20/dcn20_hwseq.c | 46 +++-
.../amd/display/dc/hwss/dcn314/dcn314_hwseq.c | 17 --
.../amd/display/dc/hwss/dcn314/dcn314_hwseq.h | 2 -
.../amd/display/dc/hwss/dcn314/dcn314_init.c | 1 -
.../amd/display/dc/hwss/dcn32/dcn32_hwseq.c | 69 ++----
.../amd/display/dc/hwss/dcn32/dcn32_hwseq.h | 4 +-
.../amd/display/dc/hwss/dcn32/dcn32_init.c | 1 -
.../amd/display/dc/hwss/dcn35/dcn35_hwseq.c | 33 ++-
.../amd/display/dc/hwss/dcn35/dcn35_init.c | 1 -
.../amd/display/dc/hwss/dcn351/dcn351_init.c | 1 -
.../amd/display/dc/hwss/dcn401/dcn401_hwseq.c | 99 ++++++++-
.../amd/display/dc/hwss/dcn401/dcn401_hwseq.h | 3 +
.../amd/display/dc/hwss/dcn401/dcn401_init.c | 6 +-
.../display/dc/hwss/hw_sequencer_private.h | 1 -
.../gpu/drm/amd/display/dc/inc/clock_source.h | 1 +
drivers/gpu/drm/amd/display/dc/inc/hw/dccg.h | 3 +-
.../amd/display/dc/inc/hw/stream_encoder.h | 1 +
.../amd/display/dc/link/hwss/link_hwss_dio.c | 5 +
.../gpu/drm/amd/display/dc/link/link_dpms.c | 10 +-
.../drm/amd/display/dc/link/link_factory.c | 2 +-
.../dc/link/protocols/link_dp_capability.c | 2 +-
.../dc/link/protocols/link_dp_training.c | 4 +-
.../amd/display/dc/link/protocols/link_dpcd.c | 1 +
.../amd/display/dc/optc/dcn401/dcn401_optc.c | 1 +
.../dc/resource/dce80/dce80_resource.c | 1 +
.../dc/resource/dcn20/dcn20_resource.c | 9 +
.../dc/resource/dcn31/dcn31_resource.c | 1 +
.../dc/resource/dcn314/dcn314_resource.c | 4 +-
.../dc/resource/dcn35/dcn35_resource.c | 1 +
.../dc/resource/dcn351/dcn351_resource.c | 1 +
.../dc/resource/dcn401/dcn401_resource.c | 20 +-
.../gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 139 ++++++++++++
.../drm/amd/display/modules/hdcp/hdcp_ddc.c | 28 ++-
117 files changed, 1059 insertions(+), 346 deletions(-)
create mode 100644 drivers/gpu/drm/amd/display/dc/dccg/Makefile
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn20/dcn20_dccg.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn20/dcn20_dccg.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn201/dcn201_dccg.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn201/dcn201_dccg.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn21/dcn21_dccg.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn21/dcn21_dccg.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn30/dcn30_dccg.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn30/dcn30_dccg.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn301/dcn301_dccg.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn301/dcn301_dccg.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn302/dcn302_dccg.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn303/dcn303_dccg.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn31/dcn31_dccg.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn31/dcn31_dccg.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn314/dcn314_dccg.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn314/dcn314_dccg.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn32/dcn32_dccg.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn32/dcn32_dccg.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn35/dcn35_dccg.c (99%)
rename drivers/gpu/drm/amd/display/dc/{ => dccg}/dcn35/dcn35_dccg.h (100%)
create mode 100644 drivers/gpu/drm/amd/display/dc/hubp/Makefile
rename drivers/gpu/drm/amd/display/dc/{ => hubp}/dcn10/dcn10_hubp.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubp}/dcn10/dcn10_hubp.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubp}/dcn20/dcn20_hubp.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubp}/dcn20/dcn20_hubp.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubp}/dcn201/dcn201_hubp.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubp}/dcn201/dcn201_hubp.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubp}/dcn21/dcn21_hubp.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubp}/dcn21/dcn21_hubp.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubp}/dcn30/dcn30_hubp.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubp}/dcn30/dcn30_hubp.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubp}/dcn31/dcn31_hubp.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubp}/dcn31/dcn31_hubp.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubp}/dcn32/dcn32_hubp.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubp}/dcn32/dcn32_hubp.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubp}/dcn35/dcn35_hubp.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubp}/dcn35/dcn35_hubp.h (100%)
--
2.34.1
More information about the amd-gfx
mailing list