This patch set adds initial support for Yellow Carp, a new GPU from AMD. I did not send out patch 1 due to its size (new register headers), but you can view the entire patch set here: https://gitlab.freedesktop.org/agd5f/linux/-/commits/yellow_carp Aaron Liu (42): drm/amdgpu: add yellow carp asic header files (v3) drm/amdgpu: add yellow carp asic_type enum drm/amdgpu: add uapi to define yellow carp series drm/amdgpu: add yellow carp support for gpu_info and ip block setting drm/amdgpu: add nv common ip block support for yellow carp drm/amdgpu: add yellow carp support for ih block drm/amdgpu: add gmc v10 supports for yellow carp drm/amdgpu: support fw load type for yellow carp drm/amdgpu: add gfx support for yellow carp drm/amdgpu: add sdma support for yellow carp drm/amdgpu: set ip blocks for yellow carp drm/amdkfd: add yellow carp KFD support drm/amdgpu: support nbio_7_2_1 for yellow carp drm/admgpu/pm: add smu v13 driver interface header for yellow carp (v3) drm/amdgpu/pm: add smu v13.0.1 firmware header for yellow carp (V4) drm/amdgpu/pm: add smu v13.0.1 smc header for yellow carp (v2) drm/amd/pm: add smu13 ip support for moment(V3) drm/amd/pm: add yellow_carp_ppt implementation(V3) drm/amd/pm: partially enable swsmu for yellow carp(V2) drm/amdgpu: add smu ip block for yellow carp(V3) drm/amdgpu: add gfx golden settings for yellow carp (v3) drm/amdgpu: reserved buffer is not needed with ip discovery enabled drm/amdgpu: add psp_v13 support for yellow carp drm/amdgpu: enable psp_v13 for yellow carp drm/amdgpu/pm: set_pp_feature is unsupport for yellow carp drm/amdgpu/pm: add set_driver_table_location implementation for yellow carp drm/amdgpu: add GFX Clock Gating support for yellow carp drm/amdgpu: add MMHUB Clock Gating support for yellow carp drm/amdgpu: add GFX Power Gating support for yellow carp drm/amdgpu/pm: enable smu_hw_init for yellow carp drm/amdgpu/pm: add gfx_off_control for yellow carp drm/amdgpu/pm: enable gfx_off in yellow carp smu post init drm/amdgpu: add SDMA Clock Gating support for yellow carp drm/amdgpu: add HDP Clock Gating support for yellow carp drm/amdgpu: add ATHUB Clock Gating support for yellow carp drm/amdgpu: add IH Clock Gating support for yellow carp drm/amdgpu: enable VCN PG and CG for yellow carp drm/amdgpu/pm: support smu_post_init for yellow carp drm/amdgpu: add RLC_PG_DELAY_3 for yellow carp drm/amdgpu: add timestamp counter query support for yellow carp drm/amd/pm: add PrepareMp1ForUnload support for yellow carp drm/amdgpu: add mode2 reset support for yellow carp Alex Deucher (2): drm/amdgpu: add yellow_carp_reg_base_init function for yellow carp (v2) drm/amdgpu: add mmhub client support for yellow carp Huang Rui (2): drm/amdgpu: introduce a stolen reserved buffer to protect specific buffer region (v2) drm/amd/pm: add vcn/jepg enable functions for yellow carp James Zhu (5): drm/amdgpu/jpeg: Remove harvest checking on CHIP_YELLOW_CARP drm/amdgpu/vcn: add vcn support for yellow carp drm/amdgpu: enable vcn/jpeg on yellow carp drm/amdgpu: enable vcn dpg mode on yellow carp drm/amdgpu: add video_codecs query support for yellow carp Nicholas Kazlauskas (22): drm/amdgpu: Load TA firmware for yellow carp drm/amdgpu: Update atomfirmware for DCN3.1 phy tuning and eDP caps drm/amd/display: Add DCN3.1 yellow carp asic family IDs drm/amd/display: Add DCN3.1 clock manager support drm/amd/display: Add DCN3.1 DCCG drm/amd/display: Add DCN3.1 DIO drm/amd/display: Add DCN3.1 OPTC drm/amd/display: Add DCN3.1 DCHHUB drm/amd/display: Add DCN3.1 DML calculation support drm/amd/display: Add DCN3.1 IRQ manager drm/amd/display: Add DCN3.1 GPIO support drm/amd/display: Add DCN3.1 DMCUB drm/amd/display: Add DCN3.1 PANEL drm/amd/display: Add DCN3.1 HDCP support drm/amd/display: Add DCN3.1 BIOS parser support drm/amd/display: Add DCN3.1 HWSEQ drm/amd/display: Add z10 restore checks for DC interfaces drm/amd/display: Add DCN3.1 Resource drm/amd/display: Add DCN3.1 blocks to the DC Makefile drm/amd/display: Add DCN3.1 Yellow Carp support to DM drm/amd/display: Add DC DCN3.1 support to Kconfig drm/amdgpu: Add DC support and display block for Yellow Carp Xiaomeng Hou (16): drm/amd/pm: add read_sensor function for yellow carp drm/amd/pm: add set_watermarks_table function for yellow carp drm/amd/pm: add the fine grain tuning function for yellow carp drm/amd/pm: add support to get dpm clock value for yellow carp drm/amd/pm: add feature map for yellow carp drm/amd/pm: implement is_dpm_running() callback for yellow carp drm/amd/pm: initialize feature_enabled/feature_support bitmap for yellow carp drm/amd/pm: add callback force_clk_levels for yellow carp drm/amd/pm: add callback to get bootup values for yellow carp drm/amd/pm: add callback get_dpm_ultimate_freq for yellow carp drm/amd/pm: add callbacks to read/write sysfs file pp_power_profile_mode drm/amd/pm: add the interface to dump smu metrics table for yellow carp drm/amdgpu: add gpu harvest support for yellow carp (v2) drm/amdgpu: correct the cu and rb info for yellow carp drm/amd/pm: add set_performance_level function for yellow carp drm/amd/pm: disable manually setting MCLK power level on yellow carp drivers/gpu/drm/amd/amdgpu/Makefile | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 9 + drivers/gpu/drm/amd/amdgpu/amdgpu_gfxhub.h | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 19 + drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 4 + drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 10 + drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 4 + drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 8 + drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 83 +- drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.c | 40 + drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 17 +- drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c | 9 +- drivers/gpu/drm/amd/amdgpu/mmhub_v2_3.c | 1 + drivers/gpu/drm/amd/amdgpu/navi10_ih.c | 1 + drivers/gpu/drm/amd/amdgpu/nbio_v7_2.c | 142 +- drivers/gpu/drm/amd/amdgpu/nv.c | 51 + drivers/gpu/drm/amd/amdgpu/nv.h | 2 + drivers/gpu/drm/amd/amdgpu/psp_v13_0.c | 37 +- drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c | 7 + .../gpu/drm/amd/amdgpu/yellow_carp_reg_init.c | 51 + drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 52 + drivers/gpu/drm/amd/amdkfd/kfd_device.c | 19 + .../drm/amd/amdkfd/kfd_device_queue_manager.c | 1 + drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c | 1 + .../gpu/drm/amd/amdkfd/kfd_packet_manager.c | 1 + drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 1 + drivers/gpu/drm/amd/display/Kconfig | 7 + .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 44 + .../amd/display/amdgpu_dm/amdgpu_dm_hdcp.c | 13 + .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 6 + drivers/gpu/drm/amd/display/dc/Makefile | 3 + .../drm/amd/display/dc/bios/bios_parser2.c | 113 + .../display/dc/bios/command_table_helper2.c | 5 + .../gpu/drm/amd/display/dc/clk_mgr/Makefile | 11 + .../gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c | 30 + .../display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c | 4 + .../display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c | 673 + .../display/dc/clk_mgr/dcn31/dcn31_clk_mgr.h | 103 + .../amd/display/dc/clk_mgr/dcn31/dcn31_smu.c | 333 + .../amd/display/dc/clk_mgr/dcn31/dcn31_smu.h | 271 + drivers/gpu/drm/amd/display/dc/core/dc.c | 17 + drivers/gpu/drm/amd/display/dc/core/dc_link.c | 18 + .../gpu/drm/amd/display/dc/core/dc_resource.c | 26 + .../gpu/drm/amd/display/dc/core/dc_stream.c | 6 + drivers/gpu/drm/amd/display/dc/dc.h | 28 + drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 23 + drivers/gpu/drm/amd/display/dc/dc_dmub_srv.h | 3 + .../gpu/drm/amd/display/dc/dce/dce_hwseq.h | 21 +- .../display/dc/dce110/dce110_hw_sequencer.c | 23 + .../drm/amd/display/dc/dcn10/dcn10_hubbub.h | 48 + .../amd/display/dc/dcn10/dcn10_link_encoder.h | 20 + .../gpu/drm/amd/display/dc/dcn10/dcn10_optc.c | 11 + .../gpu/drm/amd/display/dc/dcn10/dcn10_optc.h | 2 + .../gpu/drm/amd/display/dc/dcn20/dcn20_dccg.h | 54 + .../drm/amd/display/dc/dcn20/dcn20_hubbub.h | 9 + .../gpu/drm/amd/display/dc/dcn20/dcn20_hubp.h | 16 + .../drm/amd/display/dc/dcn20/dcn20_hwseq.c | 37 + .../drm/amd/display/dc/dcn20/dcn20_resource.c | 39 + .../drm/amd/display/dc/dcn30/dcn30_hwseq.c | 5 + drivers/gpu/drm/amd/display/dc/dcn31/Makefile | 35 + .../gpu/drm/amd/display/dc/dcn31/dcn31_dccg.c | 279 + .../gpu/drm/amd/display/dc/dcn31/dcn31_dccg.h | 147 + .../display/dc/dcn31/dcn31_dio_link_encoder.c | 412 + .../display/dc/dcn31/dcn31_dio_link_encoder.h | 246 + .../drm/amd/display/dc/dcn31/dcn31_hubbub.c | 956 + .../drm/amd/display/dc/dcn31/dcn31_hubbub.h | 122 + .../gpu/drm/amd/display/dc/dcn31/dcn31_hubp.c | 103 + .../gpu/drm/amd/display/dc/dcn31/dcn31_hubp.h | 246 + .../drm/amd/display/dc/dcn31/dcn31_hwseq.c | 598 + .../drm/amd/display/dc/dcn31/dcn31_hwseq.h | 56 + .../gpu/drm/amd/display/dc/dcn31/dcn31_init.c | 151 + .../gpu/drm/amd/display/dc/dcn31/dcn31_init.h | 33 + .../gpu/drm/amd/display/dc/dcn31/dcn31_optc.c | 287 + .../gpu/drm/amd/display/dc/dcn31/dcn31_optc.h | 259 + .../amd/display/dc/dcn31/dcn31_panel_cntl.c | 157 + .../amd/display/dc/dcn31/dcn31_panel_cntl.h | 40 + .../drm/amd/display/dc/dcn31/dcn31_resource.c | 2180 + .../drm/amd/display/dc/dcn31/dcn31_resource.h | 42 + drivers/gpu/drm/amd/display/dc/dm_cp_psp.h | 5 + drivers/gpu/drm/amd/display/dc/dm_helpers.h | 6 + drivers/gpu/drm/amd/display/dc/dml/Makefile | 11 + .../dc/dml/dcn31/display_mode_vba_31.c | 7506 ++ .../dc/dml/dcn31/display_mode_vba_31.h | 43 + .../dc/dml/dcn31/display_rq_dlg_calc_31.c | 1727 + .../dc/dml/dcn31/display_rq_dlg_calc_31.h | 69 + .../drm/amd/display/dc/dml/display_mode_lib.c | 18 + .../drm/amd/display/dc/dml/display_mode_lib.h | 4 + .../amd/display/dc/dml/display_mode_structs.h | 12 + .../drm/amd/display/dc/dml/display_mode_vba.c | 42 + .../drm/amd/display/dc/dml/display_mode_vba.h | 52 + .../gpu/drm/amd/display/dc/gpio/hw_factory.c | 3 + .../drm/amd/display/dc/gpio/hw_translate.c | 3 + .../gpu/drm/amd/display/dc/inc/core_types.h | 10 + .../gpu/drm/amd/display/dc/inc/hw/clk_mgr.h | 3 + drivers/gpu/drm/amd/display/dc/inc/hw/dccg.h | 56 + .../gpu/drm/amd/display/dc/inc/hw/dchubbub.h | 5 + .../drm/amd/display/dc/inc/hw/link_encoder.h | 14 + .../gpu/drm/amd/display/dc/inc/hw/mem_input.h | 4 + .../amd/display/dc/inc/hw/timing_generator.h | 4 + .../gpu/drm/amd/display/dc/inc/hw_sequencer.h | 4 + drivers/gpu/drm/amd/display/dc/irq/Makefile | 11 + .../display/dc/irq/dcn31/irq_service_dcn31.c | 432 + .../display/dc/irq/dcn31/irq_service_dcn31.h | 37 + drivers/gpu/drm/amd/display/dmub/dmub_srv.h | 12 + .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 118 + drivers/gpu/drm/amd/display/dmub/src/Makefile | 3 + .../gpu/drm/amd/display/dmub/src/dmub_dcn31.c | 354 + .../gpu/drm/amd/display/dmub/src/dmub_dcn31.h | 230 + .../gpu/drm/amd/display/dmub/src/dmub_srv.c | 37 + .../gpu/drm/amd/display/include/dal_asic_id.h | 13 + .../gpu/drm/amd/display/include/dal_types.h | 3 + .../drm/amd/display/modules/hdcp/hdcp_log.c | 4 + .../drm/amd/display/modules/hdcp/hdcp_psp.c | 135 +- .../drm/amd/display/modules/hdcp/hdcp_psp.h | 38 + .../drm/amd/display/modules/inc/mod_hdcp.h | 23 +- .../include/asic_reg/dcn/dcn_3_1_2_offset.h | 15083 +++ .../include/asic_reg/dcn/dcn_3_1_2_sh_mask.h | 60747 +++++++++ .../include/asic_reg/dpcs/dpcs_4_2_0_offset.h | 11936 ++ .../asic_reg/dpcs/dpcs_4_2_0_sh_mask.h | 103385 +++++++++++++++ .../include/asic_reg/mp/mp_13_0_1_offset.h | 355 + .../include/asic_reg/mp/mp_13_0_1_sh_mask.h | 531 + drivers/gpu/drm/amd/include/atomfirmware.h | 56 +- .../gpu/drm/amd/include/yellow_carp_offset.h | 1366 + .../amd/pm/inc/smu13_driver_if_yellow_carp.h | 222 + drivers/gpu/drm/amd/pm/inc/smu_v13_0_1.h | 57 + drivers/gpu/drm/amd/pm/inc/smu_v13_0_1_pmfw.h | 139 + .../gpu/drm/amd/pm/inc/smu_v13_0_1_ppsmc.h | 97 + drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 7 + drivers/gpu/drm/amd/pm/swsmu/smu13/Makefile | 2 +- .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_1.c | 311 + .../drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c | 1210 + .../drm/amd/pm/swsmu/smu13/yellow_carp_ppt.h | 28 + include/drm/amd_asic_type.h | 1 + include/uapi/drm/amdgpu_drm.h | 1 + 136 files changed, 215465 insertions(+), 66 deletions(-) create mode 100644 drivers/gpu/drm/amd/amdgpu/yellow_carp_reg_init.c create mode 100644 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c create mode 100644 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.h create mode 100644 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c create mode 100644 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_dccg.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_dccg.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_dio_link_encoder.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_dio_link_encoder.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hubbub.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hubbub.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hubp.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hubp.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hwseq.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hwseq.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_init.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_init.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_optc.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_optc.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_panel_cntl.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_panel_cntl.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.h create mode 100644 drivers/gpu/drm/amd/display/dc/dml/dcn31/display_mode_vba_31.c create mode 100644 drivers/gpu/drm/amd/display/dc/dml/dcn31/display_mode_vba_31.h create mode 100644 drivers/gpu/drm/amd/display/dc/dml/dcn31/display_rq_dlg_calc_31.c create mode 100644 drivers/gpu/drm/amd/display/dc/dml/dcn31/display_rq_dlg_calc_31.h create mode 100644 drivers/gpu/drm/amd/display/dc/irq/dcn31/irq_service_dcn31.c create mode 100644 drivers/gpu/drm/amd/display/dc/irq/dcn31/irq_service_dcn31.h create mode 100644 drivers/gpu/drm/amd/display/dmub/src/dmub_dcn31.c create mode 100644 drivers/gpu/drm/amd/display/dmub/src/dmub_dcn31.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_1_2_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_1_2_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dpcs/dpcs_4_2_0_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dpcs/dpcs_4_2_0_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/mp/mp_13_0_1_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/mp/mp_13_0_1_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/yellow_carp_offset.h create mode 100644 drivers/gpu/drm/amd/pm/inc/smu13_driver_if_yellow_carp.h create mode 100644 drivers/gpu/drm/amd/pm/inc/smu_v13_0_1.h create mode 100644 drivers/gpu/drm/amd/pm/inc/smu_v13_0_1_pmfw.h create mode 100644 drivers/gpu/drm/amd/pm/inc/smu_v13_0_1_ppsmc.h create mode 100644 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_1.c create mode 100644 drivers/gpu/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c create mode 100644 drivers/gpu/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.h -- 2.31.1 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx