[PATCH 00/46] DC Patches April 29, 2024
Wayne Lin
Wayne.Lin at amd.com
Wed Apr 24 08:31:16 UTC 2024
This DC patchset brings improvements in multiple areas. In summary, we highlight:
- Disable seamless boot on 128b/132b encoding
- Change ASSR disable sequence to avoid corruption
- Fix few IPS problems
- Enable Replay for DCN315
- Fix few ODM problems
- Fix FEC_READY write timing
- Fix few FPO problems
- Adjust DML21 gpuvm_enable assignment
- Fix divide by 0 error in VM environment
- Fix few DCN35 problems
- Fix flickering on DCN321
- Fix mst resume problem
- Fix multi-disp FAMS problem
- Refactor Replay
- Update some of the dcn303 parameters
- Enable legacy fast update for dcn301
- Add VCO parameter for DCN31 FPU
- Have cursor and surface updates together
- Fix problems reported by Coverity
---
Alex Hung (9):
drm/amd/display: Check index msg_id before read or write
drm/amd/display: Check pipe offset before setting vblank
drm/amd/display: Skip finding free audio for unknown engine_id
drm/amd/display: Do not return negative stream id for array
drm/amd/display: ASSERT when failing to find index by plane/stream id
drm/amd/display: Remove redundant include file
drm/amd/display: Fix uninitialized variables in DM
drm/amd/display: Fix uninitialized variables in DC
drm/amd/display: Fix uninitialized variables in DC
Alvin Lee (3):
drm/amd/display: Only program P-State force if pipe config changed
drm/amd/display: Assign linear_pitch_alignment even for VM
drm/amd/display: For FPO + Vactive check that all pipes support VA
Aric Cyr (1):
drm/amd/display: 3.2.283
Daniel Miess (1):
drm/amd/display: Enable RCO for PHYSYMCLK in DCN35
Dennis Chan (1):
drm/amd/display: Refactor for Replay Link off frame count
Harry Wentland (2):
drm/amd/display: Do cursor programming with rest of pipe
drm/amd/display: Always use legacy way of setting cursor on DCE
Hersen Wu (2):
drm/amd/display: Add NULL pointer check for kzalloc
drm/amd/display: Fix overlapping copy within dml_core_mode_programming
Ilya Bakoulin (1):
drm/amd/display: Fix FEC_READY write on DP LT
Iswara Nagulendran (1):
drm/amd/display: Restrict multi-disp support for in-game FAMS
Joan Lee (1):
drm/amd/display: Enable Replay for DCN315
Leo Ma (1):
drm/amd/display: Fix DC mode screen flickering on DCN321
Nevenko Stupar (1):
drm/amd/display: gpuvm handling in DML21
Nicholas Kazlauskas (2):
drm/amd/display: Add trigger FIFO resync path for DCN35
drm/amd/display: Notify idle link detection through shared state
Revalla Hari Krishna (1):
drm/amd/display: Refactor HUBBUB into component folder
Rodrigo Siqueira (10):
drm/amd/display: Improve registers write
drm/amd/display: Add missing SMU version
drm/amd/display: Adjust codestyle for dcn31 and hdcp_msg
drm/amd/display: Add VCO speed parameter for DCN31 FPU
drm/amd/display: Adjust functions prefix for some of the dcn301 fpu
functions
drm/amd/display: Enable legacy fast update for dcn301
drm/amd/display: Update some of the dcn303 parameters
drm/amd/display: Remove legacy code in DC
drm/amd/display: Add log_color_state callback to multiple DCNs
drm/amd/display: Handle the case which quad_part is equal 0
Roman Li (2):
drm/amd/display: Re-enable IPS2 for static screen
drm/amd/display: Add periodic detection for IPS
Sung Joon Kim (1):
drm/amd/display: Disable seamless boot on 128b/132b encoding
Swapnil Patel (1):
drm/amd/display: Change ASSR disable sequence
Wayne Lin (2):
drm/amd/display: Remove unnecessary files
drm/amd/display: Defer handling mst up request in resume
Webb Chen (1):
drm/amd/display: Revert "dc: Keep VBios pixel rate div setting util
next mode set"
Wenjing Liu (2):
drm/amd/display: take ODM slice count into account when deciding DSC
slice
drm/amd/display: use even ODM slice width for two pixels per container
drivers/gpu/drm/amd/display/Makefile | 1 +
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 105 ++++++++++++++++--
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 9 ++
.../amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 59 +++++++++-
.../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 4 +-
.../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 5 +-
.../amd/display/amdgpu_dm/amdgpu_dm_plane.c | 4 +-
.../amd/display/amdgpu_dm/amdgpu_dm_plane.h | 3 +
.../drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c | 28 +++++
.../drm/amd/display/amdgpu_dm/amdgpu_dm_psr.h | 1 +
drivers/gpu/drm/amd/display/dc/Makefile | 2 +-
.../drm/amd/display/dc/bios/command_table.c | 2 +-
.../drm/amd/display/dc/bios/command_table2.c | 2 +-
.../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c | 8 ++
.../display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c | 23 +++-
drivers/gpu/drm/amd/display/dc/core/dc.c | 13 ++-
.../gpu/drm/amd/display/dc/core/dc_resource.c | 24 +++-
.../gpu/drm/amd/display/dc/core/dc_stream.c | 14 +--
.../drm/amd/display/dc/core/dc_vm_helper.c | 1 +
drivers/gpu/drm/amd/display/dc/dc.h | 11 +-
drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 30 +++++
drivers/gpu/drm/amd/display/dc/dc_dmub_srv.h | 10 ++
drivers/gpu/drm/amd/display/dc/dc_stream.h | 12 ++
drivers/gpu/drm/amd/display/dc/dc_types.h | 2 +-
.../dc/dce110/dce110_timing_generator.c | 18 +++
.../dc/dce110/dce110_timing_generator.h | 2 +
.../dc/dce110/dce110_timing_generator_v.c | 3 +-
.../dc/dce120/dce120_timing_generator.c | 1 +
.../display/dc/dce80/dce80_timing_generator.c | 1 +
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 | 2 +-
.../gpu/drm/amd/display/dc/dcn201/Makefile | 3 +-
drivers/gpu/drm/amd/display/dc/dcn21/Makefile | 2 +-
drivers/gpu/drm/amd/display/dc/dcn30/Makefile | 3 +-
.../gpu/drm/amd/display/dc/dcn30/dcn30_mpc.c | 2 +-
.../gpu/drm/amd/display/dc/dcn301/Makefile | 2 +-
drivers/gpu/drm/amd/display/dc/dcn31/Makefile | 2 +-
.../drm/amd/display/dc/dcn314/dcn314_dccg.c | 12 +-
drivers/gpu/drm/amd/display/dc/dcn32/Makefile | 2 +-
.../gpu/drm/amd/display/dc/dcn32/dcn32_dccg.c | 12 +-
.../dc/dcn32/dcn32_dio_stream_encoder.c | 40 ++++++-
.../display/dc/dcn32/dcn32_resource_helpers.c | 6 +-
drivers/gpu/drm/amd/display/dc/dcn35/Makefile | 2 +-
.../gpu/drm/amd/display/dc/dcn35/dcn35_dccg.c | 63 +++--------
.../dc/dcn35/dcn35_dio_stream_encoder.c | 36 +++++-
drivers/gpu/drm/amd/display/dc/dm_pp_smu.h | 3 +-
.../drm/amd/display/dc/dml/dcn20/dcn20_fpu.c | 4 +-
.../drm/amd/display/dc/dml/dcn30/dcn30_fpu.c | 2 +-
.../amd/display/dc/dml/dcn301/dcn301_fpu.c | 4 +-
.../amd/display/dc/dml/dcn301/dcn301_fpu.h | 7 +-
.../drm/amd/display/dc/dml/dcn31/dcn31_fpu.c | 22 +---
.../drm/amd/display/dc/dml/dcn32/dcn32_fpu.c | 22 +++-
.../drm/amd/display/dc/dml/dcn32/dcn32_fpu.h | 2 +-
.../dc/dml/dcn32/display_mode_vba_util_32.c | 4 +-
.../amd/display/dc/dml2/display_mode_core.c | 4 +-
.../dc/dml2/dml21/dml21_translation_helper.c | 2 +-
.../display/dc/dml2/dml2_dc_resource_mgmt.c | 8 +-
.../display/dc/dml2/dml2_translation_helper.c | 6 +-
.../drm/amd/display/dc/dml2/dml2_wrapper.h | 1 +
.../amd/display/dc/dpp/dcn10/CMakeLists.txt | 6 -
.../amd/display/dc/dpp/dcn10/dcn10_dpp_cm.c | 5 +-
.../amd/display/dc/dpp/dcn20/CMakeLists.txt | 5 -
.../amd/display/dc/dpp/dcn20/dcn20_dpp_cm.c | 2 +-
.../amd/display/dc/dpp/dcn201/CMakeLists.txt | 4 -
.../amd/display/dc/dpp/dcn30/CMakeLists.txt | 5 -
.../amd/display/dc/dpp/dcn30/dcn30_dpp_cm.c | 2 +-
.../amd/display/dc/dpp/dcn32/CMakeLists.txt | 4 -
.../amd/display/dc/dpp/dcn35/CMakeLists.txt | 4 -
drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c | 30 +++--
.../drm/amd/display/dc/gpio/gpio_service.c | 6 +-
.../gpu/drm/amd/display/dc/hdcp/hdcp_msg.c | 2 +-
.../gpu/drm/amd/display/dc/hubbub/Makefile | 100 +++++++++++++++++
.../dc/{ => hubbub}/dcn10/dcn10_hubbub.c | 2 +-
.../dc/{ => hubbub}/dcn10/dcn10_hubbub.h | 0
.../dc/{ => hubbub}/dcn20/dcn20_hubbub.c | 0
.../dc/{ => hubbub}/dcn20/dcn20_hubbub.h | 2 +-
.../dc/{ => hubbub}/dcn201/dcn201_hubbub.c | 0
.../dc/{ => hubbub}/dcn201/dcn201_hubbub.h | 0
.../dc/{ => hubbub}/dcn21/dcn21_hubbub.c | 0
.../dc/{ => hubbub}/dcn21/dcn21_hubbub.h | 0
.../dc/{ => hubbub}/dcn30/dcn30_hubbub.c | 0
.../dc/{ => hubbub}/dcn30/dcn30_hubbub.h | 0
.../dc/{ => hubbub}/dcn301/dcn301_hubbub.c | 0
.../dc/{ => hubbub}/dcn301/dcn301_hubbub.h | 0
.../dc/{ => hubbub}/dcn31/dcn31_hubbub.c | 0
.../dc/{ => hubbub}/dcn31/dcn31_hubbub.h | 0
.../dc/{ => hubbub}/dcn32/dcn32_hubbub.c | 0
.../dc/{ => hubbub}/dcn32/dcn32_hubbub.h | 0
.../dc/{ => hubbub}/dcn35/dcn35_hubbub.c | 0
.../dc/{ => hubbub}/dcn35/dcn35_hubbub.h | 0
drivers/gpu/drm/amd/display/dc/hwss/Makefile | 6 -
.../amd/display/dc/hwss/dce110/dce110_hwseq.c | 28 +----
.../amd/display/dc/hwss/dcn10/dcn10_hwseq.c | 6 +-
.../amd/display/dc/hwss/dcn20/dcn20_hwseq.c | 42 ++++---
.../amd/display/dc/hwss/dcn201/dcn201_hwseq.c | 7 +-
.../amd/display/dc/hwss/dcn21/dcn21_hwseq.c | 2 +-
.../amd/display/dc/hwss/dcn21/dcn21_init.c | 1 +
.../amd/display/dc/hwss/dcn30/dcn30_hwseq.h | 2 +-
.../amd/display/dc/hwss/dcn30/dcn30_init.c | 1 +
.../amd/display/dc/hwss/dcn301/dcn301_init.c | 4 +-
.../amd/display/dc/hwss/dcn31/dcn31_hwseq.c | 2 +-
.../amd/display/dc/hwss/dcn31/dcn31_init.c | 1 +
.../amd/display/dc/hwss/dcn314/dcn314_hwseq.c | 29 +----
.../amd/display/dc/hwss/dcn314/dcn314_hwseq.h | 4 -
.../amd/display/dc/hwss/dcn314/dcn314_init.c | 2 +-
.../amd/display/dc/hwss/dcn32/dcn32_hwseq.c | 68 +++++-------
.../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 | 34 +++++-
.../amd/display/dc/hwss/dcn35/dcn35_hwseq.h | 2 +
.../amd/display/dc/hwss/dcn35/dcn35_init.c | 4 +-
.../amd/display/dc/hwss/dcn351/dcn351_init.c | 2 +-
.../display/dc/hwss/hw_sequencer_private.h | 7 +-
.../gpu/drm/amd/display/dc/inc/core_types.h | 7 --
drivers/gpu/drm/amd/display/dc/inc/hw/dccg.h | 5 -
drivers/gpu/drm/amd/display/dc/inc/hw/optc.h | 4 +-
.../amd/display/dc/inc/hw/stream_encoder.h | 1 -
.../amd/display/dc/inc/hw/timing_generator.h | 1 +
.../dc/irq/dce110/irq_service_dce110.c | 8 +-
.../drm/amd/display/dc/link/link_detection.c | 4 +-
.../gpu/drm/amd/display/dc/link/link_dpms.c | 11 +-
.../dc/link/protocols/link_dp_capability.c | 16 +--
.../dc/link/protocols/link_dp_irq_handler.c | 10 +-
.../display/dc/link/protocols/link_dp_phy.c | 14 +--
.../dc/link/protocols/link_dp_training.c | 2 +-
.../link/protocols/link_edp_panel_control.c | 4 +-
.../amd/display/dc/link/protocols/link_hpd.c | 2 +-
.../amd/display/dc/optc/dcn10/dcn10_optc.c | 46 ++++----
.../amd/display/dc/optc/dcn20/dcn20_optc.c | 10 +-
.../amd/display/dc/optc/dcn20/dcn20_optc.h | 1 -
.../amd/display/dc/optc/dcn201/dcn201_optc.c | 7 +-
.../amd/display/dc/optc/dcn201/dcn201_optc.h | 3 -
.../amd/display/dc/optc/dcn30/dcn30_optc.c | 3 +-
.../amd/display/dc/optc/dcn301/dcn301_optc.c | 1 +
.../amd/display/dc/optc/dcn31/dcn31_optc.c | 1 +
.../amd/display/dc/optc/dcn314/dcn314_optc.c | 3 +-
.../amd/display/dc/optc/dcn32/dcn32_optc.c | 3 +-
.../amd/display/dc/optc/dcn35/dcn35_optc.c | 1 +
.../amd/display/dc/optc/dcn401/dcn401_optc.c | 15 ++-
drivers/gpu/drm/amd/display/dc/os_types.h | 2 -
.../display/dc/resource/dce80/CMakeLists.txt | 4 -
.../dc/resource/dcn20/dcn20_resource.c | 2 +-
.../dc/resource/dcn30/dcn30_resource.c | 5 +-
.../dc/resource/dcn301/dcn301_resource.c | 20 +++-
.../dc/resource/dcn303/dcn303_resource.c | 13 ++-
.../dc/resource/dcn31/dcn31_resource.c | 5 +
.../dc/resource/dcn314/dcn314_resource.c | 5 +
.../dc/resource/dcn315/dcn315_resource.c | 14 +++
.../dc/resource/dcn316/dcn316_resource.c | 2 +
.../dc/resource/dcn32/dcn32_resource.c | 5 +
.../dc/resource/dcn321/dcn321_resource.c | 2 +
.../dc/resource/dcn35/dcn35_resource.c | 2 +
.../dc/resource/dcn351/dcn351_resource.c | 2 +
drivers/gpu/drm/amd/display/dmub/dmub_srv.h | 1 +
.../gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 15 ++-
.../gpu/drm/amd/display/dmub/src/dmub_srv.c | 2 +
.../gpu/drm/amd/display/include/dal_types.h | 1 -
.../drm/amd/display/modules/hdcp/hdcp_ddc.c | 8 ++
.../amd/display/modules/power/power_helpers.c | 8 +-
160 files changed, 952 insertions(+), 469 deletions(-)
delete mode 100644 drivers/gpu/drm/amd/display/dc/dpp/dcn10/CMakeLists.txt
delete mode 100644 drivers/gpu/drm/amd/display/dc/dpp/dcn20/CMakeLists.txt
delete mode 100644 drivers/gpu/drm/amd/display/dc/dpp/dcn201/CMakeLists.txt
delete mode 100644 drivers/gpu/drm/amd/display/dc/dpp/dcn30/CMakeLists.txt
delete mode 100644 drivers/gpu/drm/amd/display/dc/dpp/dcn32/CMakeLists.txt
delete mode 100644 drivers/gpu/drm/amd/display/dc/dpp/dcn35/CMakeLists.txt
create mode 100644 drivers/gpu/drm/amd/display/dc/hubbub/Makefile
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn10/dcn10_hubbub.c (99%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn10/dcn10_hubbub.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn20/dcn20_hubbub.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn20/dcn20_hubbub.h (99%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn201/dcn201_hubbub.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn201/dcn201_hubbub.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn21/dcn21_hubbub.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn21/dcn21_hubbub.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn30/dcn30_hubbub.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn30/dcn30_hubbub.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn301/dcn301_hubbub.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn301/dcn301_hubbub.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn31/dcn31_hubbub.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn31/dcn31_hubbub.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn32/dcn32_hubbub.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn32/dcn32_hubbub.h (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn35/dcn35_hubbub.c (100%)
rename drivers/gpu/drm/amd/display/dc/{ => hubbub}/dcn35/dcn35_hubbub.h (100%)
delete mode 100644 drivers/gpu/drm/amd/display/dc/resource/dce80/CMakeLists.txt
--
2.37.3
More information about the amd-gfx
mailing list