[PATCH 00/46] DC Patches April 29, 2024
Wheeler, Daniel
Daniel.Wheeler at amd.com
Mon Apr 29 13:17:36 UTC 2024
[Public]
Hi all,
This week this patchset was tested on the following systems:
* Lenovo ThinkBook T13s Gen4 with AMD Ryzen 5 6600U
* MSI Gaming X Trio RX 6800
* Gigabyte Gaming OC RX 7900 XTX
These systems were tested on the following display/connection types:
* eDP, (1080p 60hz [5650U]) (1920x1200 60hz [6600U]) (2560x1600 120hz[6600U])
* VGA and DVI (1680x1050 60hz [DP to VGA/DVI, USB-C to VGA/DVI])
* DP/HDMI/USB-C (1440p 170hz, 4k 60hz, 4k 144hz, 4k 240hz [Includes USB-C to DP/HDMI adapters])
* Thunderbolt (LG Ultrafine 5k)
* MST (Startech MST14DP123DP [DP to 3x DP] and 2x 4k 60Hz displays)
* DSC (with Cable Matters 101075 [DP to 3x DP] with 3x 4k60 displays, and HP Hook G2 with 1 4k60 display)
* USB 4 (Kensington SD5700T and 1x 4k 60Hz display)
* PCON (Club3D CAC-1085 and 1x 4k 144Hz display [at 4k 120HZ, as that is the max the adapter supports])
The testing is a mix of automated and manual tests. Manual testing includes (but is not limited to):
* Changing display configurations and settings
* Benchmark testing
* Feature testing (Freesync, etc.)
Automated testing includes (but is not limited to):
* Script testing (scripts to automate some of the manual checks)
* IGT testing
The patchset consists of the amd-staging-drm-next branch (Head commit - 6fdf2d7a8aaa drm/amd/display: 3.2.282) with new patches added on top of it.
Tested on Ubuntu 22.04.3, on Wayland and X11, using KDE Plasma and Gnome.
Tested-by: Daniel Wheeler <daniel.wheeler at amd.com>
Thank you,
Dan Wheeler
Sr. Technologist | AMD
SW Display
------------------------------------------------------------------------------------------------------------------
1 Commerce Valley Dr E, Thornhill, ON L3T 7X6
amd.com
-----Original Message-----
From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Wayne Lin
Sent: Wednesday, April 24, 2024 4:49 AM
To: amd-gfx at lists.freedesktop.org
Cc: Wentland, Harry <Harry.Wentland at amd.com>; Li, Sun peng (Leo) <Sunpeng.Li at amd.com>; Siqueira, Rodrigo <Rodrigo.Siqueira at amd.com>; Pillai, Aurabindo <Aurabindo.Pillai at amd.com>; Li, Roman <Roman.Li at amd.com>; Lin, Wayne <Wayne.Lin at amd.com>; Gutierrez, Agustin <Agustin.Gutierrez at amd.com>; Chung, ChiaHsuan (Tom) <ChiaHsuan.Chung at amd.com>; Wu, Hersen <hersenxs.wu at amd.com>; Zuo, Jerry <Jerry.Zuo at amd.com>; Lin, Wayne <Wayne.Lin at amd.com>
Subject: [PATCH 00/46] DC Patches April 29, 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