[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