[pull] radeon and amdgpu drm-next-4.9
Alex Deucher
alexdeucher at gmail.com
Fri Sep 16 20:42:43 UTC 2016
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%)
More information about the amd-gfx
mailing list