[PATCH 00/52] amdgpu Polaris support

This patch set adds kernel support for the new Polaris asics. Patches that add support for userspace and new firmware will be out momentarily. Support is included for: - GFX - UVD - VCE - Power management - Displays The display support requires DAL and this patch set requires the core dal support here: https://cgit.freedesktop.org/~agd5f/linux/log/?h=drm-next-4.7-wip-dal I've also posted a Polaris git branch here: https://cgit.freedesktop.org/~agd5f/linux/log/?h=drm-next-4.7-wip-polaris Thanks, Alex Alex Deucher (17): drm/amd: add DCE 11.2 register headers drm/amdgpu: add ELM/BAF asic types drm/amdgpu: add ELM/BAF DCE11 configs drm/amdgpu: update atombios.h (v2) drm/amdgpu/atom: add SetDCEClock helper drm/amdgpu/atom: add support for new SetPixelClock table drm/amdgpu/atom: add support for new DIGxEncoderControl cmd table drm/amdgpu/atom: add support for new UNIPHYTransmitterContol cmd table drm/amdgpu: add ELM/BAF support to dce_v11_0_pick_pll drm/amdgpu/dce11: update pll programming for ELM/BAF drm/amdgpu/dce11: add dce clock setting for ELM/BAF drm/amdgpu: add an interface to get gfx constants from atombios drm/amd/amdgpu: add query GFX cu info in CGS query system info drm/amd/dal: add core support for Polaris family (v2) drm/amd/dal/dm: add polaris support drm/amdgpu: add dal support for polaris drm/amd/dal: Enable Polaris support in the Kconfig Eric Huang (9): drm/amd/powerplay: add thermal control for elm/baf drm/amd/powerplay: add UVD&VCE DPM and powergating support for elm/baf drm/amd/powerplay: add all blocks clockgating support through SMU/powerplay drm/amd/powerplay: add GFX/SYS clockgating support for ELM/BAF drm/amd/powerplay: add GFX per cu powergating support through SMU/powerplay drm/amd/powerplay: add GFX per cu powergating for Baffin drm/amd/amdgpu: add medium grain powergating support for Baffin drm/amd/amdgpu: add power gating initialization support for GFX8.0 drm/amd/amdgpu: add power gating init for Baffin Flora Cui (11): drm/amdgpu: add GMC support for ELM/BAF drm/amdgpu: add DCE golden setting for ELM/BAF drm/amdgpu: add SDMA support for ELM/BAF drm/amdgpu: add mmRLC_CGCG_CGLS_CTRL_3D & mmRLC_CGCG_RAMP_CTRL_3D drm/amdgpu: add GFX support for ELM/BAF drm/amd/powerplay: add default clockgating handling drm/amdgpu: ungate SMC clockgating first before suspend drm/amdgpu: update the core VI support for ELM/BAF drm/amdgpu: add ELM/BAF pci ids drm/amdgpu: change ELM/BAF to Polaris10/Polaris11 drm/amdgpu: add polaris10/11 smc fw declaration Rex Zhu (8): drm/amd/powerplay: enable dpm for baffin. drm/amd/powerplay: init hwmgr for ELM/BAF drm/amd/powerplay: enable powerplay for baffin. drm/amd/powerplay: print gpu loading and uvd/vce power gate enablement for polaris10/11. drm/amd/powerplay: fix mclk in high clock for baffin drm/amd/powrplay: fix issue that get wrong enable flag. drm/amd/powerplay: enable set lowest mclk clock on baffin. drm/amd/powerplay: Disable Spread Spectrum on DPM 0 on baffin as SPLL Shut Down feature is enabled. Sonny Jiang (2): drm/amdgpu: add UVD support for ELM/BAF drm/amdgpu: add VCE support to ELM/BAF rezhu (2): drm/amd/powerplay: add header files for ellesmere smu manager. drm/amd/powerplay: add smu support for ellesmere/baffin yanyang1 (3): drm/amd/amdgpu: Add smc_sk firmware in baffin & ellesmere. drm/amd/powerplay: Add smc_sk firmware to baffin & ellesmere. drm/amd/powerplay: update baffin & ellesmere smc_sk firmware. drivers/gpu/drm/amd/amdgpu/amdgpu.h | 14 + drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 30 + drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 24 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 25 +- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 10 + drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c | 4 + drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 10 + drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 10 + drivers/gpu/drm/amd/amdgpu/atombios_crtc.c | 98 +- drivers/gpu/drm/amd/amdgpu/atombios_crtc.h | 2 + drivers/gpu/drm/amd/amdgpu/atombios_encoders.c | 93 +- drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 103 +- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 1224 +- drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 35 + drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 47 + drivers/gpu/drm/amd/amdgpu/smu_ucode_xfer_vi.h | 1 + drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 6 +- drivers/gpu/drm/amd/amdgpu/vi.c | 171 + drivers/gpu/drm/amd/dal/Kconfig | 10 + drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c | 20 + drivers/gpu/drm/amd/dal/dc/Makefile | 4 + drivers/gpu/drm/amd/dal/dc/adapter/Makefile | 4 + .../gpu/drm/amd/dal/dc/adapter/adapter_service.c | 12 + .../adapter/dce112/hw_ctx_adapter_service_dce112.c | 302 + .../adapter/dce112/hw_ctx_adapter_service_dce112.h | 39 + .../gpu/drm/amd/dal/dc/asic_capability/Makefile | 9 + .../amd/dal/dc/asic_capability/asic_capability.c | 15 +- .../dc/asic_capability/polaris10_asic_capability.c | 146 + .../dc/asic_capability/polaris10_asic_capability.h | 36 + drivers/gpu/drm/amd/dal/dc/audio/Makefile | 8 + drivers/gpu/drm/amd/dal/dc/audio/audio_base.c | 9 + .../gpu/drm/amd/dal/dc/audio/dce112/audio_dce112.c | 451 + .../gpu/drm/amd/dal/dc/audio/dce112/audio_dce112.h | 40 + .../amd/dal/dc/audio/dce112/hw_ctx_audio_dce112.c | 1923 ++ .../amd/dal/dc/audio/dce112/hw_ctx_audio_dce112.h | 47 + drivers/gpu/drm/amd/dal/dc/bios/Makefile | 9 + .../gpu/drm/amd/dal/dc/bios/bios_parser_helper.c | 6 + .../gpu/drm/amd/dal/dc/bios/bios_parser_helper.h | 4 + drivers/gpu/drm/amd/dal/dc/bios/command_table.c | 78 +- .../gpu/drm/amd/dal/dc/bios/command_table_helper.c | 6 + .../gpu/drm/amd/dal/dc/bios/command_table_helper.h | 3 + .../dal/dc/bios/dce112/bios_parser_helper_dce112.c | 480 + .../dal/dc/bios/dce112/bios_parser_helper_dce112.h | 34 + .../dc/bios/dce112/command_table_helper_dce112.c | 417 + .../dc/bios/dce112/command_table_helper_dce112.h | 34 + drivers/gpu/drm/amd/dal/dc/calcs/bandwidth_calcs.c | 206 + drivers/gpu/drm/amd/dal/dc/core/dc_hw_sequencer.c | 7 + drivers/gpu/drm/amd/dal/dc/core/dc_resource.c | 22 +- .../drm/amd/dal/dc/dce110/dce110_hw_sequencer.c | 1 + .../amd/dal/dc/dce110/dce110_timing_generator.c | 2 +- drivers/gpu/drm/amd/dal/dc/dce112/Makefile | 10 + .../drm/amd/dal/dc/dce112/dce112_clock_source.c | 266 + .../drm/amd/dal/dc/dce112/dce112_clock_source.h | 52 + .../gpu/drm/amd/dal/dc/dce112/dce112_compressor.c | 883 + .../gpu/drm/amd/dal/dc/dce112/dce112_compressor.h | 84 + .../drm/amd/dal/dc/dce112/dce112_hw_sequencer.c | 178 + .../drm/amd/dal/dc/dce112/dce112_hw_sequencer.h | 36 + .../drm/amd/dal/dc/dce112/dce112_link_encoder.c | 116 + .../drm/amd/dal/dc/dce112/dce112_link_encoder.h | 41 + .../gpu/drm/amd/dal/dc/dce112/dce112_mem_input.c | 455 + .../gpu/drm/amd/dal/dc/dce112/dce112_mem_input.h | 38 + .../gpu/drm/amd/dal/dc/dce112/dce112_resource.c | 1404 ++ .../gpu/drm/amd/dal/dc/dce112/dce112_resource.h | 42 + drivers/gpu/drm/amd/dal/dc/dm_services_types.h | 5 + drivers/gpu/drm/amd/dal/dc/gpio/hw_factory.c | 3 + drivers/gpu/drm/amd/dal/dc/gpio/hw_translate.c | 3 + drivers/gpu/drm/amd/dal/dc/gpu/Makefile | 8 + .../amd/dal/dc/gpu/dce112/dc_clock_gating_dce112.c | 89 + .../amd/dal/dc/gpu/dce112/dc_clock_gating_dce112.h | 33 + .../amd/dal/dc/gpu/dce112/display_clock_dce112.c | 964 + .../amd/dal/dc/gpu/dce112/display_clock_dce112.h | 54 + drivers/gpu/drm/amd/dal/dc/i2caux/i2caux.c | 5 +- drivers/gpu/drm/amd/dal/dc/inc/bandwidth_calcs.h | 4 +- drivers/gpu/drm/amd/dal/dc/irq/irq_service.c | 4 + drivers/gpu/drm/amd/dal/include/dal_asic_id.h | 14 + drivers/gpu/drm/amd/dal/include/dal_types.h | 3 + .../drm/amd/dal/include/display_clock_interface.h | 6 + drivers/gpu/drm/amd/include/amd_shared.h | 2 + .../gpu/drm/amd/include/asic_reg/dce/dce_11_2_d.h | 10075 ++++++++++ .../drm/amd/include/asic_reg/dce/dce_11_2_enum.h | 6813 +++++++ .../amd/include/asic_reg/dce/dce_11_2_sh_mask.h | 18687 +++++++++++++++++++ .../gpu/drm/amd/include/asic_reg/gca/gfx_8_0_d.h | 2 + drivers/gpu/drm/amd/include/atombios.h | 663 +- drivers/gpu/drm/amd/include/cgs_common.h | 2 + drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 98 +- drivers/gpu/drm/amd/powerplay/hwmgr/Makefile | 4 +- drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | 5 + drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr_ppt.h | 2 + .../powerplay/hwmgr/polaris10_clockpowergating.c | 428 + .../powerplay/hwmgr/polaris10_clockpowergating.h | 40 + .../amd/powerplay/hwmgr/polaris10_dyn_defaults.h | 62 + .../gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c | 4858 +++++ .../gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.h | 354 + .../drm/amd/powerplay/hwmgr/polaris10_powertune.c | 396 + .../drm/amd/powerplay/hwmgr/polaris10_powertune.h | 70 + .../drm/amd/powerplay/hwmgr/polaris10_thermal.c | 711 + .../drm/amd/powerplay/hwmgr/polaris10_thermal.h | 62 + drivers/gpu/drm/amd/powerplay/hwmgr/ppatomctrl.c | 111 +- drivers/gpu/drm/amd/powerplay/hwmgr/ppatomctrl.h | 40 +- .../gpu/drm/amd/powerplay/hwmgr/tonga_pptable.h | 14 + .../amd/powerplay/hwmgr/tonga_processpptables.c | 101 +- drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h | 3 + .../gpu/drm/amd/powerplay/inc/hardwaremanager.h | 1 + drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 1 + .../gpu/drm/amd/powerplay/inc/polaris10_ppsmc.h | 409 + .../gpu/drm/amd/powerplay/inc/polaris10_pwrvirus.h | 10088 ++++++++++ drivers/gpu/drm/amd/powerplay/inc/smu74.h | 774 + drivers/gpu/drm/amd/powerplay/inc/smu74_discrete.h | 828 + .../gpu/drm/amd/powerplay/inc/smu_ucode_xfer_vi.h | 1 + drivers/gpu/drm/amd/powerplay/smumgr/Makefile | 2 +- .../drm/amd/powerplay/smumgr/polaris10_smumgr.c | 983 + .../drm/amd/powerplay/smumgr/polaris10_smumgr.h | 68 + drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c | 5 + 114 files changed, 67637 insertions(+), 219 deletions(-) create mode 100644 drivers/gpu/drm/amd/dal/dc/adapter/dce112/hw_ctx_adapter_service_dce112.c create mode 100644 drivers/gpu/drm/amd/dal/dc/adapter/dce112/hw_ctx_adapter_service_dce112.h create mode 100644 drivers/gpu/drm/amd/dal/dc/asic_capability/polaris10_asic_capability.c create mode 100644 drivers/gpu/drm/amd/dal/dc/asic_capability/polaris10_asic_capability.h create mode 100644 drivers/gpu/drm/amd/dal/dc/audio/dce112/audio_dce112.c create mode 100644 drivers/gpu/drm/amd/dal/dc/audio/dce112/audio_dce112.h create mode 100644 drivers/gpu/drm/amd/dal/dc/audio/dce112/hw_ctx_audio_dce112.c create mode 100644 drivers/gpu/drm/amd/dal/dc/audio/dce112/hw_ctx_audio_dce112.h create mode 100644 drivers/gpu/drm/amd/dal/dc/bios/dce112/bios_parser_helper_dce112.c create mode 100644 drivers/gpu/drm/amd/dal/dc/bios/dce112/bios_parser_helper_dce112.h create mode 100644 drivers/gpu/drm/amd/dal/dc/bios/dce112/command_table_helper_dce112.c create mode 100644 drivers/gpu/drm/amd/dal/dc/bios/dce112/command_table_helper_dce112.h create mode 100644 drivers/gpu/drm/amd/dal/dc/dce112/Makefile create mode 100644 drivers/gpu/drm/amd/dal/dc/dce112/dce112_clock_source.c create mode 100644 drivers/gpu/drm/amd/dal/dc/dce112/dce112_clock_source.h create mode 100644 drivers/gpu/drm/amd/dal/dc/dce112/dce112_compressor.c create mode 100644 drivers/gpu/drm/amd/dal/dc/dce112/dce112_compressor.h create mode 100644 drivers/gpu/drm/amd/dal/dc/dce112/dce112_hw_sequencer.c create mode 100644 drivers/gpu/drm/amd/dal/dc/dce112/dce112_hw_sequencer.h create mode 100644 drivers/gpu/drm/amd/dal/dc/dce112/dce112_link_encoder.c create mode 100644 drivers/gpu/drm/amd/dal/dc/dce112/dce112_link_encoder.h create mode 100644 drivers/gpu/drm/amd/dal/dc/dce112/dce112_mem_input.c create mode 100644 drivers/gpu/drm/amd/dal/dc/dce112/dce112_mem_input.h create mode 100644 drivers/gpu/drm/amd/dal/dc/dce112/dce112_resource.c create mode 100644 drivers/gpu/drm/amd/dal/dc/dce112/dce112_resource.h create mode 100644 drivers/gpu/drm/amd/dal/dc/gpu/dce112/dc_clock_gating_dce112.c create mode 100644 drivers/gpu/drm/amd/dal/dc/gpu/dce112/dc_clock_gating_dce112.h create mode 100644 drivers/gpu/drm/amd/dal/dc/gpu/dce112/display_clock_dce112.c create mode 100644 drivers/gpu/drm/amd/dal/dc/gpu/dce112/display_clock_dce112.h create mode 100755 drivers/gpu/drm/amd/include/asic_reg/dce/dce_11_2_d.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dce/dce_11_2_enum.h create mode 100755 drivers/gpu/drm/amd/include/asic_reg/dce/dce_11_2_sh_mask.h create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_clockpowergating.c create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_clockpowergating.h create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_dyn_defaults.h create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.h create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_powertune.c create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_powertune.h create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_thermal.c create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_thermal.h create mode 100644 drivers/gpu/drm/amd/powerplay/inc/polaris10_ppsmc.h create mode 100644 drivers/gpu/drm/amd/powerplay/inc/polaris10_pwrvirus.h create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu74.h create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu74_discrete.h create mode 100644 drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c create mode 100644 drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.h -- 2.5.0