Hi Dave, First radeon and amdgpu pull request for 4.6. Highlights: - ACP support for APUs with i2s audio - CS ioctl optimizations - GPU scheduler optimizations - GPUVM optimizations - Initial GPU reset support (not enabled yet) - New powerplay sysfs interface for manually selecting clocks - Powerplay fixes - Virtualization fixes - Removal of hw semaphore support - Lots of other misc fixes and cleanups The following changes since commit 10c1b6183a163aca59ba92b88f2b4c4cecd20d4c: drm/tegra: drop unused variable. (2016-02-09 11:17:37 +1000) are available in the git repository at: git://people.freedesktop.org/~agd5f/linux drm-next-4.6 for you to fetch changes up to 390be2824fa4211c2e973c69b72e04000559bba3: drm/amdgpu: Don't call interval_tree_remove in amdgpu_mn_destroy (2016-02-17 16:10:56 -0500) ---------------------------------------------------------------- Alex Deucher (20): drm/amdgpu: remove some more semaphore leftovers drm/amdgpu: clean up asic level reset for CI drm/amdgpu: clean up asic level reset for VI drm/amdgpu: post card after hard reset drm/amdgpu: add a debugfs property to trigger a GPU reset drm/amdgpu: drop hard_reset module parameter drm/amd: add dce8 enum register header drm/amdgpu: remove unused function drm/amdgpu: add check for atombios GPU virtualization table drm/amdgpu: track whether the asic supports SR-IOV drm/amdgpu: always repost cards that support SR-IOV drm/amdgpu/gmc8: skip MC ucode loading on SR-IOV capable boards drm/amdgpu/smu: skip SMC ucode loading on SR-IOV capable boards (v2) drm/amdgpu/gfx: minor code cleanup drm/amdgpu/gfx: clean up harvest configuration (v2) drm/amdgpu/gfx7: rework gpu_init() drm/amdgpu/cik: move sdma tiling config setup into sdma code drm/amdgpu/cik: move uvd tiling config setup into uvd code drm/amdgpu/vi: move sdma tiling config setup into sdma code drm/amdgpu/vi: move uvd tiling config setup into uvd code Christian König (64): drm/amdgpu: fix issue with overlapping userptrs drm/amdgpu: fix amdgpu_cs_get_threshold_for_moves handling drm/amdgpu: cleanup amdgpu_cs_list_validate drm/amdgpu: group VM mapping tree with its lock (v2) drm/amdgpu: cleanup amdgpu_cs_parser structure drm/amdgpu: cleanup amdgpu_cs_parser_relocs drm/amdgpu: cleanup bo list bucket handling drm/amdgpu: keep the prefered/allowed domains in the BO drm/amdgpu: search only the BO list for VM mappings drm/amdgpu: try to find BO VAs only for the BOs in the list drm/amdgpu: remove sync_to from sync obj v2 drm/amdgpu: cleanup sync_seq handling drm/amdgpu: add VM pointer to id trace drm/amdgpu: grab VMID before submitting job v5 drm/amdgpu: merge vm_grab_id and vm_fence v2 drm/amdgpu: use a global LRU list for VMIDs drm/amdgpu: remove the ring lock v2 drm/amdgpu: remove rptr checking drm/amdgpu: use WARN_ON_ONCE instead of BUG_ON in the SA drm/amdgpu: remove nonsense IB size checks drm/amdgpu: move more logic into amdgpu_vm_map_gart v3 drm/amdgpu: use BOs GART instance for mapping addresses v4 drm/amdgpu: split VM mappings into smaller operations (v3) drm/amdgpu: optimize VM fencing drm/amdgpu: cleanup comments in VM code drm/amdgpu: optimize amdgpu_vm_update_ptes a bit drm/amdgpu: remove power of two limit for vramlimit drm/amdgpu: fix size estimation for clear IB drm/amdgpu: add amdgpu_set_ib_value helper (v2) drm/amdgpu: separate pushing CS to scheduler drm/amdgpu: check userptrs mm earlier drm/amdgpu: remove adev and fence from amdgpu_sync_free drm/amdgpu: remove AMDGPU_NUM_SYNCS drm/amdgpu: fix num_ibs check drm/amdgpu: add proper job alloc/free functions drm/amdgpu: cleanup user fence handling in the CS drm/amdgpu: make pad_ib a ring function v3 drm/amdgpu: move ring from IBs into job drm/amdgpu: directly return fence from ib_schedule drm/amdgpu: send SDMA/GFX IB tests directly to the ring again drm/amdgpu: cleanup in kernel job submission drm/amdgpu: rename amdgpu_sched.c to amdgpu_job.c drm/amdgpu: send UVD IB tests directly to the ring again drm/amdgpu: send VCE IB tests directly to the ring again drm/amdgpu: move sync into job object drm/amdgpu: remove the userptr rmn->lock drm/amdgpu: use per VM entity for page table updates (v2) drm/amdgpu: remove is_pte_ring drm/amdgpu: use SDMA round robin for VM updates v3 drm/amdgpu: use separate scheduler entitiy for buffer moves drm/amdgpu: use separate scheduler entity for UVD submissions drm/amdgpu: use separate scheduler entity for VCE submissions drm/amdgpu: nuke the kernel context drm/amdgpu: fix coding style in amdgpu_ctx.c drm/amdgpu: remove fence reset detection leftovers drm/amdgpu: stop calling amdgpu_gpu_reset from the flip code drm/amdgpu: stop blocking for page filp fences drm/amdgpu: remove page flip work queue v3 drm/amdgpu: print pid as integer drm/amdgpu: print the BO size only once in amdgpu_gem_info drm/amdgpu: optionally print the pin count in gem_info as well drm/amdgpu: print the GPU offset as well in gem_info drm/amdgpu: rework GEM info printing drm/amdgpu: cleanup gem init/finit Chunming Zhou (3): drm/amdgpu: clean up hw semaphore support in driver drm/amdgpu: cleanup amdgpu_sync_rings V2 drm/amdgpu: clean up non-scheduler code path (v2) Dan Carpenter (1): drm/amd/powerplay: indent a couple if statements David Rokhvarg (1): drm/amd/powerplay: Make declarations of functions exposed to DAL type-safe. Eric Huang (4): drm/amd/powerplay: add some sysfs interfaces for powerplay. drm/amd/powerplay: add hwmgr's functions for Fiji sysfs interfaces. drm/amd/powerplay: add some hwmgr functions for sysfs interface on Carrizo drm/amd/powerplay: add some hwmgr functions for sysfs interface on Tonga Eric Yang (2): drm/amd/powerplay: Use correct clock in cz_apply_state_adjust_rules drm/amd/powerplay: Enable low mem pstate when cancel_high Felix Kuehling (3): drm/amdgpu: Fix race condition in MMU notifier release drm/amdgpu: Fix race condition in amdgpu_mn_unregister drm/amdgpu: Don't call interval_tree_remove in amdgpu_mn_destroy Harry Wentland (3): drm/amdgpu: Don't crash system if we can't get crtc drm/amd: Adding IVSRC register headers drm/amd/include: Update dce 8 headers for dal Lukas Wunner (1): drm/radeon: Fix WARN_ON if DRM_DP_AUX_CHARDEV is enabled Maruthi Bayyavarapu (1): drm/amd: add ACP driver support Maruthi Srinivas Bayyavarapu (1): drm/amd: add pm domain for ACP IP sub blocks Matthew Dawson (1): drm/radeon: Avoid double gpu reset by adding a timeout on IB ring tests. Monk Liu (1): drm/amdgpu: drop a dummy wakeup scheduler Rex Zhu (5): drm/amd/powerplay: change struct name. drm/amd/powerplay: export interface to DAL. drm/amd/powerplay: implement functions in carrizo for DAL. drm/amd/powerplay: get real display device num by cgs interface drm/amd/powerplay: add powerplay valid check to avoid null point. Tom St Denis (5): drm/amdgpu/gfx7: Reduce linecount in table init drm/amdgpu/gfx7: Simplify bitmask creation drm/amdgpu/gfx7: LOC reduction in gfx_v7_0_setup_rb drm/amdgpu/gfx7: Simplify wptr/rptr functions drm/amdgpu/gfx7: Fix whitespace Vitaly Prosyak (2): drm/amdgpu: Move MMIO flip out of spinlocked region drm/amd/powerplay: Use engine clock limit calculated by dal drivers/gpu/drm/Kconfig | 2 + drivers/gpu/drm/amd/acp/Kconfig | 11 + drivers/gpu/drm/amd/acp/Makefile | 8 + drivers/gpu/drm/amd/acp/acp_hw.c | 50 + drivers/gpu/drm/amd/acp/include/acp_gfx_if.h | 34 + drivers/gpu/drm/amd/amdgpu/Makefile | 17 +- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 238 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c | 502 +++++ drivers/gpu/drm/amd/amdgpu/amdgpu_acp.h | 42 + drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 13 + drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c | 63 +- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 385 ++-- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 87 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 52 +- drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 53 +- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 12 - drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 173 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 135 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 60 +- drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 159 ++ drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 9 +- drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c | 37 +- drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 1 - drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 40 +- drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 1 - drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 355 +++- drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | 6 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 174 +- drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c | 7 +- drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c | 108 -- drivers/gpu/drm/amd/amdgpu/amdgpu_semaphore.c | 102 - drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | 154 +- drivers/gpu/drm/amd/amdgpu/amdgpu_test.c | 237 --- drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 55 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 81 +- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 96 +- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 139 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h | 5 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 607 +++--- drivers/gpu/drm/amd/amdgpu/cik.c | 308 +-- drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 67 +- drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 4 +- drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 4 +- drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 4 +- drivers/gpu/drm/amd/amdgpu/fiji_smc.c | 6 + drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 1985 ++++++++------------ drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 228 +-- drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 9 +- drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 15 +- drivers/gpu/drm/amd/amdgpu/iceland_smc.c | 6 + drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 70 +- drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 71 +- drivers/gpu/drm/amd/amdgpu/tonga_smc.c | 6 + drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c | 50 +- drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c | 49 +- drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | 49 +- drivers/gpu/drm/amd/amdgpu/vce_v2_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/vi.c | 397 +--- drivers/gpu/drm/amd/include/amd_shared.h | 1 + .../gpu/drm/amd/include/asic_reg/dce/dce_8_0_d.h | 1 + .../drm/amd/include/asic_reg/dce/dce_8_0_enum.h | 1117 +++++++++++ .../drm/amd/include/asic_reg/dce/dce_8_0_sh_mask.h | 12 + .../drm/amd/include/ivsrcid/ivsrcid_vislands30.h | 102 + drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 206 +- drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c | 206 +- drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.c | 123 ++ .../gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 93 +- drivers/gpu/drm/amd/powerplay/hwmgr/ppevvmath.h | 4 +- drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.c | 123 ++ drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h | 78 +- .../gpu/drm/amd/powerplay/inc/hardwaremanager.h | 44 +- drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 12 +- drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 10 +- drivers/gpu/drm/radeon/cik.c | 11 +- drivers/gpu/drm/radeon/cik_sdma.c | 9 +- drivers/gpu/drm/radeon/r100.c | 10 +- drivers/gpu/drm/radeon/r600.c | 10 +- drivers/gpu/drm/radeon/r600_dma.c | 9 +- drivers/gpu/drm/radeon/radeon.h | 2 + drivers/gpu/drm/radeon/radeon_display.c | 5 +- drivers/gpu/drm/radeon/radeon_fence.c | 40 +- drivers/gpu/drm/radeon/radeon_vce.c | 11 +- drivers/gpu/drm/radeon/uvd_v1_0.c | 10 +- 86 files changed, 5508 insertions(+), 4387 deletions(-) create mode 100644 drivers/gpu/drm/amd/acp/Kconfig create mode 100644 drivers/gpu/drm/amd/acp/Makefile create mode 100644 drivers/gpu/drm/amd/acp/acp_hw.c create mode 100644 drivers/gpu/drm/amd/acp/include/acp_gfx_if.h create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_acp.h create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c delete mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c delete mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_semaphore.c create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dce/dce_8_0_enum.h create mode 100644 drivers/gpu/drm/amd/include/ivsrcid/ivsrcid_vislands30.h _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel