Hi Dave, Sima, More stuff for 6.11. The following changes since commit a78313bb206e0c456a989f380c4cbd8af8af7c76: Merge tag 'drm-intel-gt-next-2024-06-12' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-next (2024-06-27 17:21:44 +1000) are available in the Git repository at: https://gitlab.freedesktop.org/agd5f/linux.git tags/amd-drm-next-6.11-2024-06-28 for you to fetch changes up to 15eb8573ad72a97b8f70e3c88b9bef6ddc861f77: drm/amd: Don't initialize ISP hardware without FW (2024-06-27 17:34:40 -0400) ---------------------------------------------------------------- amd-drm-next-6.11-2024-06-28: amdgpu: - JPEG 5.x fixes - More FW loading cleanups - Misc code cleanups - GC 12.x fixes - ASPM fix - DCN 4.0.1 updates - SR-IOV fixes - HDCP fix - USB4 fixes - Silence UBSAN warnings - MES submission fixes - Update documentation for new products - DCC updates - Initial ISP 4.x plumbing - RAS fixes - Misc small fixes amdkfd: - Fix missing unlock in error path for adding queues ---------------------------------------------------------------- Alex Deucher (3): drm/amdgpu/atomfirmware: fix parsing of vram_info drm/amd/display: Fix Makefile copyright notices drm/amdgpu: fix Kconfig for ISP v2 Alex Hung (12): drm/amd/display: Remove redundant checks for pipe_ctx->stream drm/amd/display: Run DC_LOG_DC after checking link->link_enc drm/amd/display: Fix uninitialized variables in dcn401 drm/amd/display: Remove useless function call drm/amd/display: Check and log for function error codes drm/amd/display: Check and log for function error codes drm/amd/display: Check HDCP returned status drm/amd/display: Add null checks before accessing struct elements drm/amd/display: Ensure curve to hw translation succeed drm/amd/display: Validate function returns drm/amd/display: Remove always true condition drm/amd/display: Remove duplicate null check Alvin Lee (2): drm/amd/display: Program CURSOR_DST_X_OFFSET in viewport space drm/amd/display: Wait for double buffer update on ODM changes Aric Cyr (1): drm/amd/display: 3.2.290 Aurabindo Pillai (5): drm/amd/display: Use sw cursor for DCN401 with rotation drm/amd: Add reg definitions for DCN401 DCC drm/amd/display: Enable DCC on DCN401 drm/amd: Add some missing register definitions drm/amd/display: Fix null pointer deref in dcn20_resource.c Bob Zhou (1): drm/amdgpu: add missing error handling in function amdgpu_gmc_flush_gpu_tlb_pasid Dan Carpenter (2): drm/amd/display: Clean up indenting in dm_dp_mst_is_port_support_mode() drm/amdgpu/kfd: Add unlock() on error path to add_queue_mes() Daniel Sa (1): drm/amd/display: Fix reduced resolution and refresh rate Danijel Slivka (1): drm/amdgpu: clear RB_OVERFLOW bit when enabling interrupts Dillon Varone (1): drm/amd/display: Make DML2.1 P-State method force per stream Duncan Ma (1): drm/amd/display: Reset DSC memory status Frank Min (3): drm/amdgpu: update MTYPE mapping for gfx12 drm/amdgpu: access ltr through pci cfg space drm/amdgpu: tolerate allocating GTT bo with dcc flag George Shen (1): drm/amd/display: Call dpmm when checking mode support Hawking Zhang (2): drm/amdgpu: Fix register access violation drm/amdgpu: Fix smatch static checker warning Ivan Lipski (2): drm/amd/display: Remove redundant var from display_rq_dig_calc in dml drm/amd/display: Remove unnecessary variable Jane Jian (1): drm/amdgpu: normalize registers as local xcc to read/write in gfx_v9_4_3 Jiapeng Chong (4): drm/amd/display: Remove redundant code and semicolons drm/amd/display: Use ARRAY_SIZE for array length drm/amd/display: Remove unused function reverse_planes_order drm/amd/display: use swap() in is_config_schedulable() Joan Lee (1): drm/amd/display: Add Replay general cmd Julia Zhang (1): drm/amdgpu: avoid using null object of framebuffer Kenneth Feng (2): Revert "drm/amd/pm: workaround to pass jpeg unit test" Revert "drm/amd/amdgpu: add module parameter for jpeg" Leo (Hanghong) Ma (1): drm/amd/display: Always enable HPO for DCN4 dGPU Lijo Lazar (2): drm/amdgpu: Fix pci state save during mode-1 reset drm/amdgpu: Don't show false warning for reg list Ma Ke (1): drm/amd/display: Add null check before access structs Mario Limonciello (3): Documentation/amdgpu: Add Ryzen AI 300 series processors Documentation/amdgpu: Add Ryzen 9000 series processors drm/amd: Don't initialize ISP hardware without FW Michael Strauss (1): drm/amd/display: Send DP_TOTAL_LTTPR_CNT during detection if LTTPR is present Nevenko Stupar (3): drm/amd/display: Fix cursor issues with ODMs and HW rotations drm/amd/display: Fix cursor size issues drm/amd/display: Fix cursor issues with ODMs and magnification Nicholas Susanto (1): drm/amd/display: Temporarily disable HPO PG on DCN35 Pierre-Eric Pelloux-Prayer (1): amdgpu: don't dereference a NULL resource in sysfs code Pratap Nirujogi (8): drm/amd/amdgpu: Add ISP support to amdgpu_discovery drm/amd/amdgpu: Add ISP driver support drm/amd/amdgpu: Enable ISP in amdgpu_discovery drm/amd/amdgpu: Map ISP interrupts as generic IRQs drm/amd/amdgpu: Add ISP4.1.0 and ISP4.1.1 modules drm/amd/amdgpu: Disable MMHUB prefetch for ISP v4.1.1 drm/amd/amdgpu: Fix 'snprintf' output truncation warning drm/amd/amdgpu: Enable MMHUB prefetch for ISP v4.1.0 and 4.1.1 Relja Vojvodic (2): drm/amd/display: Refactor dccg401_get_other_enable_symclk_fe drm/amd/display: Fix 1DLUT setting for NL SDR blending Roman Li (1): drm/amd/display: Use periodic detection for ipx/headless Ryan Seto (2): drm/amd/display: Add HW cursor visual confirm drm/amd/display: Adjust reg field for DSC wait for disconnect Sonny Jiang (2): drm/amdgpu/jpeg5: reprogram doorbell setting after power up for each playback drm/amdgpu/jpeg5: Add support for DPG mode Sung-huai Wang (1): drm/amd/display: Add workaround to restrict max frac urgent for DPM0 TungYu Lu (1): drm/amd/display: resync OTG after DIO FIFO resync Vignesh Chander (2): drm/amdgpu: Use dev_ prints for virtualization as it supports multi adapter drm/amdgpu: process RAS fatal error MB notification Wenjing Liu (1): drm/amd/display: Remove a redundant check in authenticated_dp Yang Wang (3): drm/amdgpu: refine gfx11 firmware loading drm/amdgpu: refine gfx12 firmware loading drm/amdgpu: refine isp firmware loading YiPeng Chai (4): drm/amdgpu: add variable to record the deferred error number read by driver drm/amdgpu: refine poison creation interrupt handler drm/amdgpu: refine poison consumption interrupt handler drm/amdgpu: add gpu reset check and exception handling Documentation/gpu/amdgpu/apu-asic-info-table.csv | 2 + drivers/gpu/drm/amd/amdgpu/Kconfig | 11 + drivers/gpu/drm/amd/amdgpu/Makefile | 8 + drivers/gpu/drm/amd/amdgpu/amdgpu.h | 11 +- drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 16 +- drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 33 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 4 - drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 5 - drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 6 +- drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_isp.c | 210 ++++++++++++++++ drivers/gpu/drm/amd/amdgpu/amdgpu_isp.h | 60 +++++ drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.h | 31 +++ drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 63 ++--- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 28 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 197 +++++++++++---- drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 5 + drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_umc.c | 11 +- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 25 +- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c | 18 +- drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 34 ++- drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c | 22 +- drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 33 +++ drivers/gpu/drm/amd/amdgpu/gfxhub_v1_2.c | 8 +- drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c | 4 - drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 3 +- drivers/gpu/drm/amd/amdgpu/ih_v6_0.c | 28 +++ drivers/gpu/drm/amd/amdgpu/ih_v6_1.c | 6 + drivers/gpu/drm/amd/amdgpu/isp_v4_1_0.c | 137 ++++++++++ drivers/gpu/drm/amd/amdgpu/isp_v4_1_0.h | 39 +++ drivers/gpu/drm/amd/amdgpu/isp_v4_1_1.c | 137 ++++++++++ drivers/gpu/drm/amd/amdgpu/isp_v4_1_1.h | 39 +++ drivers/gpu/drm/amd/amdgpu/jpeg_v5_0_0.c | 165 ++++++++++-- drivers/gpu/drm/amd/amdgpu/jpeg_v5_0_0.h | 6 + drivers/gpu/drm/amd/amdgpu/mmhub_v1_8.c | 8 +- drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c | 27 +- drivers/gpu/drm/amd/amdgpu/mxgpu_ai.h | 4 +- drivers/gpu/drm/amd/amdgpu/mxgpu_nv.c | 31 ++- drivers/gpu/drm/amd/amdgpu/mxgpu_nv.h | 5 +- drivers/gpu/drm/amd/amdgpu/nbif_v6_3_1.c | 14 +- drivers/gpu/drm/amd/amdgpu/psp_gfx_if.h | 5 +- drivers/gpu/drm/amd/amdgpu/soc24.c | 1 + drivers/gpu/drm/amd/amdgpu/umc_v12_0.c | 4 +- .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 1 + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 48 ++-- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 3 + .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 48 +++- .../drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 5 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 5 +- .../amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 4 +- .../gpu/drm/amd/display/dc/bios/command_table2.c | 3 +- .../amd/display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c | 2 - .../amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c | 10 +- .../amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c | 10 +- drivers/gpu/drm/amd/display/dc/core/dc.c | 12 + .../gpu/drm/amd/display/dc/core/dc_hw_sequencer.c | 11 + drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 29 +++ drivers/gpu/drm/amd/display/dc/dc.h | 9 +- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 7 +- drivers/gpu/drm/amd/display/dc/dc_types.h | 1 + .../drm/amd/display/dc/dccg/dcn401/dcn401_dccg.c | 57 ++--- .../gpu/drm/amd/display/dc/dce/dce_link_encoder.c | 5 +- drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c | 18 +- .../drm/amd/display/dc/dcn10/dcn10_link_encoder.c | 8 +- drivers/gpu/drm/amd/display/dc/dcn301/Makefile | 11 +- drivers/gpu/drm/amd/display/dc/dcn31/Makefile | 10 +- drivers/gpu/drm/amd/display/dc/dcn314/Makefile | 11 +- drivers/gpu/drm/amd/display/dc/dcn401/Makefile | 5 +- .../gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c | 2 +- .../display/dc/dml/dcn20/display_rq_dlg_calc_20.c | 14 +- .../dc/dml/dcn20/display_rq_dlg_calc_20v2.c | 14 +- .../display/dc/dml/dcn21/display_rq_dlg_calc_21.c | 14 +- .../display/dc/dml/dcn30/display_rq_dlg_calc_30.c | 14 +- .../display/dc/dml/dcn31/display_rq_dlg_calc_31.c | 14 +- .../dc/dml/dcn314/display_rq_dlg_calc_314.c | 14 +- .../dc/dml2/dml21/dml21_translation_helper.c | 2 +- .../drm/amd/display/dc/dml2/dml21/dml21_wrapper.c | 4 +- .../dml21/src/dml2_core/dml2_core_dcn4_calcs.c | 4 +- .../dc/dml2/dml21/src/dml2_core/dml2_core_shared.c | 46 ++-- .../dml2/dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.c | 11 +- .../display/dc/dml2/dml21/src/dml2_top/dml_top.c | 17 ++ .../dml21/src/inc/dml2_internal_shared_types.h | 1 + .../drm/amd/display/dc/dml2/dml2_mall_phantom.c | 2 + drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.c | 29 ++- drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.h | 6 +- .../drm/amd/display/dc/dpp/dcn401/dcn401_dpp_cm.c | 50 ---- .../gpu/drm/amd/display/dc/dsc/dcn20/dcn20_dsc.c | 24 +- .../gpu/drm/amd/display/dc/dsc/dcn20/dcn20_dsc.h | 13 +- .../gpu/drm/amd/display/dc/dsc/dcn35/dcn35_dsc.c | 58 ++++- .../gpu/drm/amd/display/dc/dsc/dcn401/dcn401_dsc.c | 2 +- .../gpu/drm/amd/display/dc/dsc/dcn401/dcn401_dsc.h | 3 +- .../drm/amd/display/dc/hubbub/dcn20/dcn20_hubbub.c | 3 +- .../drm/amd/display/dc/hubbub/dcn30/dcn30_hubbub.c | 3 + .../drm/amd/display/dc/hubbub/dcn31/dcn31_hubbub.c | 3 + .../amd/display/dc/hubbub/dcn401/dcn401_hubbub.c | 280 +++++++++++++++++++++ .../amd/display/dc/hubbub/dcn401/dcn401_hubbub.h | 5 + .../gpu/drm/amd/display/dc/hubp/dcn20/dcn20_hubp.h | 14 ++ .../drm/amd/display/dc/hubp/dcn401/dcn401_hubp.c | 71 +++--- .../drm/amd/display/dc/hubp/dcn401/dcn401_hubp.h | 14 +- .../drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c | 17 -- .../drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c | 34 ++- .../drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c | 5 +- .../drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c | 11 +- .../drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c | 169 +++++-------- .../drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.h | 2 + .../drm/amd/display/dc/hwss/dcn401/dcn401_init.c | 2 +- drivers/gpu/drm/amd/display/dc/hwss/hw_sequencer.h | 9 + drivers/gpu/drm/amd/display/dc/inc/core_types.h | 3 + drivers/gpu/drm/amd/display/dc/inc/hw/dchubbub.h | 4 + drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h | 1 + .../drm/amd/display/dc/inc/hw/timing_generator.h | 1 + .../amd/display/dc/link/accessories/link_dp_cts.c | 2 +- drivers/gpu/drm/amd/display/dc/link/link_factory.c | 6 +- .../display/dc/link/protocols/link_dp_capability.c | 31 ++- .../display/dc/link/protocols/link_dp_training.c | 3 +- .../gpu/drm/amd/display/dc/optc/dcn10/dcn10_optc.h | 3 +- .../gpu/drm/amd/display/dc/optc/dcn32/dcn32_optc.c | 13 + .../gpu/drm/amd/display/dc/optc/dcn32/dcn32_optc.h | 2 + .../drm/amd/display/dc/optc/dcn401/dcn401_optc.c | 1 + .../drm/amd/display/dc/optc/dcn401/dcn401_optc.h | 1 + .../amd/display/dc/resource/dcn20/dcn20_resource.c | 9 +- .../amd/display/dc/resource/dcn35/dcn35_resource.c | 5 +- .../display/dc/resource/dcn401/dcn401_resource.c | 9 + .../display/dc/resource/dcn401/dcn401_resource.h | 2 + drivers/gpu/drm/amd/display/include/dpcd_defs.h | 5 + .../drm/amd/display/modules/hdcp/hdcp1_execution.c | 24 +- .../gpu/drm/amd/display/modules/hdcp/hdcp_ddc.c | 12 +- .../gpu/drm/amd/display/modules/hdcp/hdcp_psp.c | 3 - drivers/gpu/drm/amd/include/amd_shared.h | 2 + .../amd/include/asic_reg/dcn/dcn_4_1_0_offset.h | 18 ++ .../amd/include/asic_reg/dcn/dcn_4_1_0_sh_mask.h | 110 ++++++++ .../drm/amd/include/ivsrcid/isp/irqsrcs_isp_4_1.h | 62 +++++ drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 3 +- .../gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c | 30 +-- 138 files changed, 2467 insertions(+), 749 deletions(-) create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_isp.c create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_isp.h create mode 100644 drivers/gpu/drm/amd/amdgpu/isp_v4_1_0.c create mode 100644 drivers/gpu/drm/amd/amdgpu/isp_v4_1_0.h create mode 100644 drivers/gpu/drm/amd/amdgpu/isp_v4_1_1.c create mode 100644 drivers/gpu/drm/amd/amdgpu/isp_v4_1_1.h create mode 100644 drivers/gpu/drm/amd/include/ivsrcid/isp/irqsrcs_isp_4_1.h