Hi Dave, More radeon and amdgpu changes for 4.9. Highlights: - Initial SI support for amdgpu (controlled by a Kconfig option) - misc ttm cleanups - runtimepm fixes - S3/S4 fixes - power improvements - lots of code cleanups and optimizations The following changes since commit 7b4d3e297e8a7d3b82e68231ff077e891c370349: drm/amdgpu: use memcpy_toio for VCE firmware upload (2016-08-24 16:25:07 -0400) are available in the git repository at: git://people.freedesktop.org/~agd5f/linux drm-next-4.9 for you to fetch changes up to af1f85ddecfa341e684db950c34a1813d36750db: drm/ttm: remove cpu_address member from ttm_tt (2016-09-16 15:53:05 -0400) ---------------------------------------------------------------- Alex Deucher (39): drm/amdgpu: rename suspend_kms and resume_kms drm/amdgpu: track the number of vce rings drm/amdgpu/vce3: add support for third vce ring drm/amdgpu/si: Add updated smc firmware for SI kickers drm/amdgpu/gfx6: drop some dead code drm/amdgpu: set runtime pm state to active on resume drm/amdgpu: skip suspend/resume on DRM_SWITCH_POWER_DYNAMIC_OFF drm/radeon: set runtime pm state to active on resume drm/radeon: skip suspend/resume on DRM_SWITCH_POWER_DYNAMIC_OFF drm/amdgpu: handle runtime pm correctly in amdgpu_driver_open_kms drm/radeon: handle runtime pm correctly in amdgpu_driver_open_kms drm/amdgpu: handle runtime pm in drm pre/post close drm/radeon: handle runtime pm in drm pre/post close drm/amdgpu: wire up a pci shutdown callback drm/radeon: wire up a pci shutdown callback drm/amdgpu/si/dpm: make a bunch of things static drm/amdgpu/si/dpm: fix symbol conflicts with radeon drm/amdgpu: handle runtime pm in fbcon (v2) drm/radeon: handle runtime pm in fbcon (v2) drm/amdgpu/si: fix ring size for compute drm/amdgpu/gfx6: drop duplicate code drm/amdgpu/gfx6: add ring_emit_cntxcntl drm/amdgpu/gfx6: drop gds_switch callback drm/amdgpu/sdma3: drop unused functions drm/amdgpu/ring: add an interface to get dma frame and ib size drm/amdgpu/gfx6: add ring callbacks for ib and dma frame size drm/amdgpu/gfx7: add ring callbacks for ib and dma frame size drm/amdgpu/gfx8: add ring callbacks for ib and dma frame size drm/amdgpu/si_dma: add ring callbacks for ib and dma frame size drm/amdgpu/cik_sdma: add ring callbacks for ib and dma frame size drm/amdgpu/sdma2.4: add ring callbacks for ib and dma frame size drm/amdgpu/sdma3: add ring callbacks for ib and dma frame size drm/amdgpu/uvd4.2: add ring callbacks for ib and dma frame size drm/amdgpu/uvd5: add ring callbacks for ib and dma frame size drm/amdgpu/uvd6: add ring callbacks for ib and dma frame size drm/amdgpu/vce: add common ring callbacks for ib and dma frame size drm/amdgpu/vce2: add ring callbacks for ib and dma frame size drm/amdgpu/vce3: add ring callbacks for ib and dma frame size drm/amdgpu: use the new ring ib and dma frame size callbacks (v2) Alexandre Courbot (1): drm/ttm: remove cpu_address member from ttm_tt Baoyou Xie (6): drm/amdgpu: add missing header dependencies drm/amdgpu: mark symbols static where possible drm/amd/powerplay/fiji: mark symbols static where possible drm/amd/powerplay/polaris10: mark symbols static where possible drm/amdgpu: clean function declarations in amdgpu_ttm.c up drm/radeon/radeon_device: remove unused function Christian König (13): drm/amdgpu: only try again if we actually run into -ENOMEM drm/amdgpu: prevent command submission failures under memory pressure v2 drm/amdgpu: fix GTT offset handling drm/amdgpu: bind GTT on demand drm/ttm: use ffs in ttm_mem_type_from_place drm/ttm: rework handling of private mem types drm/ttm: remove unused placement flags drm/ttm: move placement structures into ttm_placement.h drm/amdgpu: validate size and offset of user fence BO drm/amdgpu: add AMDGPU_BO_INVALID_OFFSET drm/amdgpu: unbind GTT only when it is bound drm/amdgpu: use explicit GTT limit for evictions drm/amdgpu: use explicit limit for VRAM<->GTT moves Chunming Zhou (2): drm/amdgpu: link all gtt when binding them V2 drm/amdgpu: add gart recovery by gtt list V2 Edward O'Callaghan (1): amd/powerplay: use kmemdup instead of kmalloc + memcpy Flora Cui (1): drm/amdgpu: update gart_pin_size if bo is in GTT Huang Rui (5): drm/amdgpu: introduce pcie port read/write entry drm/amdgpu: use DRM print instead of printk drm/amdgpu: move some release handles into fail labels (v2) drm: modify drm_global_item_ref to avoid two times of writing ref->object drm/amdgpu: use error label to handle exceptional case Jordan Lazare (2): drm/amd/powerplay: Remove unused variable causing compile warning drm/amdgpu/vi: Use correct external_rev_id for stoney Junwei Zhang (2): drm/amdgpu: add a new helper to free a BO in kernel allocations drm/amdgpu: free the BO in kernel by helper amdgpu_bo_free_kernel() Ken Wang (14): drm/amdgpu: add SI asics types v2 drm/amdgpu: add si header files v4 drm/amdgpu: add graphic memory controller implementation for si v7 drm/amdgpu: add interupt handler implementation for si v3 drm/amdgpu: add display controller implementation for si v10 drm/amdgpu: atombios change for dce6 to work v3 drm/amdgpu: add graphic pipeline implementation for si v8 drm/amdgpu: add DMA implementation for si v8 drm/amdgpu: add si implementation v10 drm/amdgpu: add all the components for si into Makefile/kconfig v3 drm/amdgpu: add si ip blocks setup v3 drm/amdgpu: add si specific logic into the device initialize function v3 drm/amdgpu: Add SI Family information drm/amdgpu: add si pciids v2 Marek Olšák (1): drm/amdgpu: throttle buffer migrations at CS using a fixed MBps limit (v2) Maruthi Bayyavarapu (1): drm/amdgpu: add SI DPM support (v4) Maruthi Srinivas Bayyavarapu (4): drm/amdgpu: add si dpm support in amdgpu_atombios drm/amdgpu: add SI SMC support drm/amdgpu: enable SI DPM drm/amdgpu: add VCE VM mode support Michel Dänzer (1): drm/amdgpu/si: Call amdgpu_ttm_set_active_vram_size from si_dma_start/stop Monk Liu (4): drm/amdgpu:add switch buffer to end of CS (v2) drm/amdgpu: new method to sync ce&de drm/amdgpu: change job->ctx field name drm/amdgpu:implement CONTEXT_CONTROL (v5) Rex Zhu (28): drm/amdgpu: refine function name for consistency drm/amd/powerplay: add bypass mode for vce 2.0. drm/amdgpu: add vce bypass mode for tonga. drm/amdgpu: add support for getting sub_device id and sub_vendor_id in cgs interface. drm/amd/powerplay: get system info by cgs interface. drm/amd/powerplay: simplify struct amd_pp_init. drm/amdgpu: refine uvd gate logic for CI. drm/amd/powerplay: refine struct name for code style reason. drm/amd/powerplay: add vce state tables initialize for ppt v1. drm/amd/powerplay: refine struct name for coding style reason. drm/amd/powerplay: original power state table should not be changed. drm/amd/powerplay: enable/disable auto thermal throttle for tonga. drm/amd/powerplay: fix issue power containment not enabled on Tonga. drm/amd/powerplay: calculate flexible array member's address. drm/amd/powerplay: declare functions instand of include header file. drm/amd/powerplay: mark symbols static where possible on tonga/iceland. drm/amd/powerplay: add feature flags in hwmgr to enable/disable special features. drm/amd/powerplay: add module parameter to mask pp features drm/amd/powerplay: initialize platform caps in hwmgr_init. drm/amd/powerplay: add helper function to get voltage id in votage table drm/amd/powerplay: wrap get evv voltage functions drm/amd/powerplay: move smu related variable definitions to smumgr. drm/amd/powerplay: delete duplicated function and definition. drm/amd/powerplay: rename tonga_processpptable* to processpptable_v1_0*. drm/amd/powerplay: add pp_table_version in hwmgr. drm/amd/powerplay: add pptable point check before use it drm/amdgpu: not set cg for vce/uvd in late init. drm/amd/powerplay: Partially revert change initialize platform caps Tom St Denis (25): drm/amd/amdgpu: Fix memleak in cz_parse_power_table() drm/amd/amdgpu: Clean up memory leak in cz_dpm_init(). drm/amd/amdgpu: Tidy up cz_dpm.c drm/amd/powerplay: Fix CZ SMU firmware load check (v4) drm/amd/powerplay: Tidy up cz SMU manager drm/amd/powerplay: Fix up return codes in cz SMU manager drm/amd/powerplay: Only load SDMA0/MEC firmware once on Stoney (v2) drm/amd/amdgpu: debugfs SMC addresses are byte addresses drm/amd/amdgpu: Add GRBM lock to various SI functions drm/amd/amdgpu: Simplify mask creation in gfx6 drm/amd/amdgpu: Various tidy ups for gfx6 drm/amd/amdgpu: Merge get_rptr functions in gfx6 drm/amd/amdgpu: Merge get_rptr functions in gfx7 drm/amd/amdgpu: Merge get_rptr functions in gfx8 drm/amd/amdgpu: Merge get_wptr functions in gfx6 drm/amd/amdgpu: Tidy up SI DMA code drm/amd/amdgpu: Allow calling si_dpm_fini at any point drm/amd/amdgpu: Clean up SI DPM table assignments drm/amd/amdgpu: Correct whitespace in SI DPM code drm/amd/amdgpu: Tidy up SI IH code drm/amd/amdgpu: Tidy up SI SMC code (v2) drm/amd/amdgpu: Comment out currently unused SI DPM struct drm/amd/amdgpu: Convert messages in gmc v6 to dev_*() drm/amd/amdgpu: Remove double lock from gfx v6 drm/amd/amdgpu: Fix return values in SI DPM code jimqu (1): drm/amd/amdgpu: S4 issue for amdgpu (v2) drivers/gpu/drm/amd/amdgpu/Kconfig | 7 + drivers/gpu/drm/amd/amdgpu/Makefile | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu.h | 56 +- drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 158 + drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h | 16 +- drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 10 +- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 275 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 103 +- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 142 +- drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 28 + drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 31 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c | 16 +- drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 23 +- drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 41 +- drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 4 + drivers/gpu/drm/amd/amdgpu/amdgpu_pll.c | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c | 14 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 19 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 122 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 15 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 25 +- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 19 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 22 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 3 +- drivers/gpu/drm/amd/amdgpu/atombios_crtc.c | 8 +- drivers/gpu/drm/amd/amdgpu/atombios_i2c.c | 1 + drivers/gpu/drm/amd/amdgpu/ci_dpm.c | 6 +- drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 18 + drivers/gpu/drm/amd/amdgpu/cz_dpm.c | 47 +- drivers/gpu/drm/amd/amdgpu/cz_smc.c | 6 +- drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 3160 ++++++++ drivers/gpu/drm/amd/amdgpu/dce_v6_0.h | 29 + drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 3233 ++++++++ drivers/gpu/drm/amd/amdgpu/gfx_v6_0.h | 29 + drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 76 +- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 120 +- drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | 1071 +++ drivers/gpu/drm/amd/amdgpu/gmc_v6_0.h | 29 + drivers/gpu/drm/amd/amdgpu/iceland_smc.c | 8 +- drivers/gpu/drm/amd/amdgpu/r600_dpm.h | 127 + drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 18 + drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 43 +- drivers/gpu/drm/amd/amdgpu/si.c | 1965 +++++ drivers/gpu/drm/amd/amdgpu/si.h | 33 + drivers/gpu/drm/amd/amdgpu/si_dma.c | 915 +++ drivers/gpu/drm/amd/amdgpu/si_dma.h | 29 + drivers/gpu/drm/amd/amdgpu/si_dpm.c | 7993 ++++++++++++++++++++ drivers/gpu/drm/amd/amdgpu/si_dpm.h | 1015 +++ drivers/gpu/drm/amd/amdgpu/si_ih.c | 299 + drivers/gpu/drm/amd/amdgpu/si_ih.h | 29 + drivers/gpu/drm/amd/amdgpu/si_smc.c | 273 + drivers/gpu/drm/amd/amdgpu/sislands_smc.h | 422 ++ drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c | 16 + drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c | 16 + drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | 29 + drivers/gpu/drm/amd/amdgpu/vce_v2_0.c | 80 +- drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 148 +- drivers/gpu/drm/amd/amdgpu/vi.c | 2 +- drivers/gpu/drm/amd/amdgpu/vid.h | 4 + drivers/gpu/drm/amd/include/amd_shared.h | 7 +- .../drm/amd/include/asic_reg/si/clearstate_si.h | 941 +++ drivers/gpu/drm/amd/include/asic_reg/si/si_reg.h | 105 + drivers/gpu/drm/amd/include/asic_reg/si/sid.h | 2426 ++++++ drivers/gpu/drm/amd/include/atombios.h | 2 + drivers/gpu/drm/amd/include/cgs_common.h | 2 + drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 10 +- drivers/gpu/drm/amd/powerplay/eventmgr/psm.c | 5 +- drivers/gpu/drm/amd/powerplay/hwmgr/Makefile | 2 +- drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.c | 43 +- drivers/gpu/drm/amd/powerplay/hwmgr/fiji_thermal.c | 6 +- .../gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 34 - drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | 166 +- .../gpu/drm/amd/powerplay/hwmgr/iceland_hwmgr.c | 14 +- .../powerplay/hwmgr/polaris10_clockpowergating.c | 10 +- .../gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c | 102 +- .../gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.h | 5 +- .../drm/amd/powerplay/hwmgr/polaris10_powertune.h | 13 - .../drm/amd/powerplay/hwmgr/polaris10_thermal.c | 6 +- .../hwmgr/{tonga_pptable.h => pptable_v1_0.h} | 2 +- ...a_processpptables.c => process_pptables_v1_0.c} | 280 +- ...a_processpptables.h => process_pptables_v1_0.h} | 10 +- .../gpu/drm/amd/powerplay/hwmgr/processpptables.c | 2 +- drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.c | 111 +- .../gpu/drm/amd/powerplay/hwmgr/tonga_powertune.c | 3 - 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 | 61 +- drivers/gpu/drm/amd/powerplay/inc/power_state.h | 22 +- drivers/gpu/drm/amd/powerplay/inc/pp_debug.h | 3 + drivers/gpu/drm/amd/powerplay/inc/smumgr.h | 7 +- drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c | 46 +- .../drm/amd/powerplay/smumgr/polaris10_smumgr.c | 1 - .../drm/amd/powerplay/smumgr/polaris10_smumgr.h | 20 + drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c | 7 +- drivers/gpu/drm/drm_global.c | 24 +- drivers/gpu/drm/qxl/qxl_object.c | 8 +- drivers/gpu/drm/qxl/qxl_ttm.c | 12 +- drivers/gpu/drm/radeon/radeon_device.c | 19 +- drivers/gpu/drm/radeon/radeon_drv.c | 30 +- drivers/gpu/drm/radeon/radeon_fb.c | 28 + drivers/gpu/drm/radeon/radeon_kms.c | 17 +- drivers/gpu/drm/ttm/ttm_bo.c | 14 +- drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 2 - drivers/gpu/drm/ttm/ttm_tt.c | 7 +- drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 8 +- include/drm/ttm/ttm_bo_api.h | 32 +- include/drm/ttm/ttm_bo_driver.h | 2 - include/drm/ttm/ttm_placement.h | 56 +- include/uapi/drm/amdgpu_drm.h | 1 + 111 files changed, 26351 insertions(+), 842 deletions(-) create mode 100644 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c create mode 100644 drivers/gpu/drm/amd/amdgpu/dce_v6_0.h create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v6_0.h create mode 100644 drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c create mode 100644 drivers/gpu/drm/amd/amdgpu/gmc_v6_0.h create mode 100644 drivers/gpu/drm/amd/amdgpu/r600_dpm.h create mode 100644 drivers/gpu/drm/amd/amdgpu/si.c create mode 100644 drivers/gpu/drm/amd/amdgpu/si.h create mode 100644 drivers/gpu/drm/amd/amdgpu/si_dma.c create mode 100644 drivers/gpu/drm/amd/amdgpu/si_dma.h create mode 100644 drivers/gpu/drm/amd/amdgpu/si_dpm.c create mode 100644 drivers/gpu/drm/amd/amdgpu/si_dpm.h create mode 100644 drivers/gpu/drm/amd/amdgpu/si_ih.c create mode 100644 drivers/gpu/drm/amd/amdgpu/si_ih.h create mode 100644 drivers/gpu/drm/amd/amdgpu/si_smc.c create mode 100644 drivers/gpu/drm/amd/amdgpu/sislands_smc.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/si/clearstate_si.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/si/si_reg.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/si/sid.h rename drivers/gpu/drm/amd/powerplay/hwmgr/{tonga_pptable.h => pptable_v1_0.h} (99%) rename drivers/gpu/drm/amd/powerplay/hwmgr/{tonga_processpptables.c => process_pptables_v1_0.c} (81%) rename drivers/gpu/drm/amd/powerplay/hwmgr/{tonga_processpptables.h => process_pptables_v1_0.h} (81%) _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel