[PATCH 00/89] Add initial support for Yellow Carp
Alex Deucher
alexander.deucher at amd.com
Wed Jun 2 16:47:40 UTC 2021
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
More information about the amd-gfx
mailing list