[PATCH] radeon and amdgpu drm-next-4.8
Alex Deucher
alexdeucher at gmail.com
Thu Jul 7 20:14:06 UTC 2016
Hi Dave,
This is the main 4.8 pull for radeon and amdgpu. Sorry for the delay,
I meant to send this out last week, but I was moving house. Lots of
changes here:
- ATPX improvements for better dGPU power control on PX systems
- New power features for CZ/BR/ST
- Pipelined BO moves and evictions in TTM
- GPU scheduler improvements
- GPU reset improvements
- Overclocking on dGPUs with amdgpu
- Lots of code cleanup
- Bug fixes
The following changes since commit 5dd0775e502b26b44e5bcb5f504a977a565f2f3e:
Merge tag 'asoc-hdmi-codec-pdata' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into drm-next (2016-07-05 09:57:23 +1000)
are available in the git repository at:
git://people.freedesktop.org/~agd5f/linux drm-next-4.8
for you to fetch changes up to b1814a1def0564a2a1d3be7fa5bf7243ff899a28:
drm/amd/powerplay: don't add invalid voltage. (2016-07-07 15:06:24 -0400)
----------------------------------------------------------------
Alex Deucher (49):
drm/amdgpu: load different smc firmware on some CI variants
drm/radeon: load different smc firmware on some SI variants
drm/radeon: load different smc firmware on some CI variants
drm/amdgpu/gfx7: expand cp jt size to handle GDS as well
drm/radeon/gfx7: expand cp jt size to handle GDS as well
drm/amdgpu/gfx8: add state setup for CZ/ST GFX power gating
drm/amdgpu/gfx8: rename some pg functions
drm/amdgpu: add new GFX powergating types
drm/amdgpu/gfx8: add powergating support for CZ/ST
drm/amdgpu/gfx8: clean up polaris11 PG enable
drm/amdgpu: disable power control on hybrid laptops
drm/amdgpu: clean up atpx power control handling
drm/amdgpu: add a delay after ATPX dGPU power off
drm/amdgpu/atpx: add a query for ATPX dGPU power control
drm/amdgpu: use PCI_D3hot for PX systems without dGPU power control
drm/amdgpu/atpx: drop forcing of dGPU power control
drm/radeon: disable power control on hybrid laptops
drm/radeon: clean up atpx power control handling
drm/radeon: add a delay after ATPX dGPU power off
drm/radeon/atpx: add a query for ATPX dGPU power control
drm/radeon: use PCI_D3hot for PX systems without dGPU power control
drm/radeon/atpx: drop forcing of dGPU power control
drm/amdgpu/atpx: track whether if this is a hybrid graphics platform
drm/amdgpu/atpx: hybrid platforms use d3cold
drm/amdgpu: drop explicit pci D3/D0 setting for ATPX power control
drm/radeon/atpx: track whether if this is a hybrid graphics platform
drm/radeon/atpx: hybrid platforms use d3cold
drm/radeon: drop explicit pci D3/D0 setting for ATPX power control
drm/amdgpu: work around lack of upstream ACPI support for D3cold
drm/radeon: work around lack of upstream ACPI support for D3cold
drm/amdgpu: properly clean up runtime pm
drm/amdgpu/gfx8: fix CP jump table size
drm/amdgpu/gfx7: fix CP jump table size
drm/radeon/cik: fix CP jump table size
drm/amdgpu: disable compute pipeline sync workaround when using fixed fw
drm/amdgpu/gmc: make some functions static
drm/amdgpu: drop wait_for_mc_idle asic callback
drm/amdgpu: move get_gpu_clock_counter into the gfx struct
drm/amdgpu: move select_se_sh into the gfx struct
drm/amdgpu/gfx7: switch to using the existing rlc callbacks
drm/amdgpu/gfx7: make gfx_v7_0_rlc_stop static
drm/amdgpu/dce11: update async flip update time
drm/amdgpu/powerplay/cz: add missing call to powergate VCE
drm/amdgpu: add IP helpers for wait_for_idle and is_idle
drm/amdgpu: add missing breaks
drm/amdgpu: skip invalid ip blocks in ip helpers
drm/amdgpu/gmc8: remove duplicate wait_for_idle functions
drm/amdgpu/gmc7: remove duplicate wait_for_idle functions
drm/amdgpu: remove more of the ring backup code
Alex Xie (3):
drm/amdgpu: Change some variable names to make code easier understood
drm/amdgpu: Add comment to describe the purpose of one difficult if statement
drm/amdgpu: Initialize the variables in a straight-forward way
Alexandre Demers (2):
drm/amd/powerplay: fix trivial typo and tidy comment
drm/amd/powerplay: fix typos in comment in polaris' hwmgr
Arindam Nath (2):
drm/amd/amdgpu: make sure VCE is disabled by default
drm/amd/powerplay: make sure VCE is disabled by default
Arnd Bergmann (1):
amdgpu: use NULL instead of 0 for pointer
Christian König (44):
drm/amdgpu: fix coding style in the scheduler v2
drm/amdgpu: remove begin_job/finish_job
drm/amdgpu: remove duplicated timeout callback
drm/amdgpu: fix coding style in amdgpu_job_free
drm/amdgpu: remove use_shed hack in job cleanup
drm/amdgpu: properly abstract scheduler timeout handling
drm/amdgpu: move locking into the functions who need it
drm/amdgpu: fix and cleanup job destruction
drm/amdgpu: document amdgpu_sync_get_fence
drm/amdgpu: generalize the scheduler fence
drm/amdgpu: remove amdgpu_sync_wait
drm/amdgpu: add optional ring to amdgpu_sync_is_idle
drm/amdgpu: prefer VMIDs idle on the current ring
drm/amdgpu: reuse VMIDs assigned to a VM only if there is also a free one
drm/amdgpu: use a fence array for VMID management
drm/amdgpu: remove now unnecessary checks
drm/amdgpu: stop trying to schedule() with a spin held
drm/ttm: cleanup ttm_tt_(unbind|destroy)
drm/ttm: remove NULL checks when calling ttm_tt_destroy
drm/ttm: remove dummy bo_move implementations
drm/ttm: add wait for idle in all drivers bo_move functions
drm/ttm: wait for BO idle in ttm_bo_move_memcpy
drm/ttm: drop wait for idle in ttm_bo_move_buffer
drm/ttm: drop waiting for idle in ttm_bo_evict.
drm/ttm: wait for BO idle after the move in ttm_bo_swapout
drm/amdgpu: sync to buffer moves before VM updates
drm/amdgpu: remove pre move wait
drm/ttm: remove no_gpu_wait param from ttm_bo_move_accel_cleanup
drm/ttm: remove TTM_BO_PRIV_FLAG_MOVING
drm/ttm: simplify ttm_bo_wait
drm/ttm: add the infrastructure for pipelined evictions
drm/amdgpu: save the PD addr before scheduling the job
drm/amdgpu: pipeline evictions as well
drm/amdgpu: add eviction counter
drm/amdgpu: validate VM PTs only on eviction
drm/amdgpu: implement HDP functions for UVD v2
drm/amdgpu: don't update page tables for VM emulation
drm/ttm: wait for eviction in ttm_bo_force_list_clean
drm/ttm: fix stupid parameter inversion in the pipeline code
drm/amdgpu: stop disabling irqs when it isn't neccessary
drm/amdgpu: fix user fence handling once more
drm/amdgpu: shorten amdgpu_job_free_resources
drm/amdgpu: earlier free SA resources
drm/amdgpu: remove fence parameter from amd_sched_job_init
Chunming Zhou (22):
drm/amdgpu: add gpu reset to timeout handler
drm/amdgpu: add return value for pci config reset
drm/amdgpu: enable BUS master after pci reset
drm/amdgpu: block scheduler when gpu reset
drm/amdgpu: evict vram when gpu reset
drm/amdgpu: add amdgpu_irq_gpu_reset_resume_helper
drm/amdgpu: must update page table after gpu reset
drm/amdgpu: save/restore bios scratch when gpu reset
drm/amdgpu: must update page table after gpu reset
drm/amdgpu: stop/resume fb access when gpu reset V3
drm/amdgpu: put old hw fence of job if gpu reset
drm/amdgpu: remove evict vram
drm/amd: add parent for sched fence
drm/amd: add amd_sched_hw_job_reset
drm/amdgpu: block ttm first before parking scheduler
drm/amdgpu: force completion for gpu reset
drm/amdgpu: add amd_sched_job_recovery
drm/amdgpu: add a bool to specify if needing vm flush V2
drm/amdgpu: abstract amdgpu_vm_is_gpu_reset
drm/amdgpu: recovery hw jobs when gpu reset V3
drm/amdgpu: ib test first after gpu reset
drm/amdgpu: clean up ring_backup code, no need more
David Mao (2):
drm/amd/amdgpu : Refine tracepoints to track more information
drm/amd/amdgpu : adding new tracepoints to track memory information.
Edmondo Tommasina (1):
drm/radeon: allow PACKET3_PFP_SYNC_ME on evergreen
Eric Huang (24):
drm/amdgpu: add powerplay sclk OD support through sysfs (v2)
drm/amd/powerplay: add sclk OD support on Fiji
drm/amd/powerplay: add sclk OD support on Tonga
drm/amd/powerplay: add sclk OD support on Polaris10
drm/amdgpu: add the new common pm code to select the clock levels
drm/amdgpu: add the new common pm code to support sclk OD
drm/amdgpu: add the CI code to enable clock level selection
drm/amdgpu: add the CI code to enable sclk OD(OverDrive)
drm/amdgpu: add the common code to support mclk OD
drm/amdgpu: add mclk OD(overdrive) support for CI
drm/amd/powerplay: add mclk OD(overdrive) support for Tonga
drm/amd/powerplay: add mclk OD(overdrive) support for Fiji
drm/amd/powerplay: add mclk OD(overdrive) support for Polaris10
drm/amd/powerplay: set UVD clocks bypass mode for Polaris10
drm/amd/powerplay: keep soft_pp_table pointer value for re-uploading
drm/amd/powerplay: add event task of disable dynamic state management
drm/amd/powerplay: add function disable_dpm_tasks for Fiji
drm/amd/powerplay: add disable dpm tasks for Tonga
drm/amd/powerplay: add disable dpm tasks for Polaris10
drm/amd/powerplay: change backend allocation to backend init
drm/amd/powerplay: add uploading pptable and resetting powerplay support
drm/amd/powerplay: remove useless pp_table codes for Tonga/Fiji/Polaris10
drm/amd/powerplay: remove useless soft pptable in Asic related backend
drm/amdgpu: some improvement in parsing inputs
Frank Binns (1):
drm/amd/amdgpu: Set DRIVER_MODESET feature flag at build time
Huang Rui (4):
drm/amdgpu: add powercontainment module parameter
drm/amdgpu: factor out the AMDGPU_INFO_FW_VERSION case branch into amdgpu_firmware_info
drm/amdgpu: introduce a firmware debugfs to dump all current firmware versions
drm/amdgpu: change pcie_gen_cap magic code to macro
Junwei Zhang (1):
drm/amdgpu/dce8: fix flash with white screen on monitor
Ken Wang (1):
drm/amdgpu: remove gfx8 registers that vary between asics
Lyude (2):
drm/radeon: Poll for both connect/disconnect on analog connectors
drm/amdgpu: Poll for both connect/disconnect on analog connectors
Michel Dänzer (1):
drm/amdgpu: Unpin BO if we can't get fences in amdgpu_crtc_page_flip
Monk Liu (2):
drm/amdgpu: clear RB at ring init
drm/amdgpu: fix ring debugfs bug
Nicolai Hähnle (5):
drm/amdgpu: add amdgpu.cg_mask and amdgpu.pg_mask parameters
drm/amdgpu: remove cgs_acpi_method_argument member method_length
drm/amdgpu: add disable_cu parameter
drm/amdgpu/gfx7: set USER_SHADER_ARRAY_CONFIG based on disable_cu parameter
drm/amdgpu/gfx8: set USER_SHADER_ARRAY_CONFIG based on disable_cu parameter
Rex Zhu (8):
drm/amd/powerplay: functions's return state was reversed
drm/amd/powerplay: change condition judgment as function's return value changed.
drm/amdgpu: get number of shade engine by cgs interface.
drm/amd/powerplay: add mvdd dpm support.
drm/amd/powerplay: add shared definitions for di/dt feature.
drm/amd/powerplay: add definitions related to di/dt feature for fiji and polaris.
drm/amdgpu: add read/write function for GC CAC programming
drm/amd/powerplay: don't add invalid voltage.
Tom St Denis (15):
drm/amdgpu/gfx8: Enable GFX PG on CZ
drm/amdgpu/gfx8: Add serdes wait for idle in CGCG en/disable
drm/amd/amdgpu: Convert ring debugfs entries to binary
drm/amd/amdgpu: ring debugfs is read in increments of 4 bytes
drm/amdgpu/trace: Add tracepoints to MMIO read/writes
drm/amdgpu/gfx8: Switch Stoney to share CZ's RLC functions
drm/amdgpu/gfx8: Enable CG on Stoney
drm/amdgpu/gfx8: Enable PG on Stoney
drm/amdgpu/gfx8: Tidy up various PG helpers
drm/amdgpu/gfx80: Add QUICK_PG bit to GFX header and use it.
drm/amdgpu/uvd6: De-numberify startup
drm/amd/gfx: add instance field to select_se_sh (v3)
drm/amd/amdgpu: Add gca config debug entry (v4)
drm/amd/amdgpu: Add bank selection for MMIO debugfs (v3)
drm/amd/powerplay: Unify family defines
yanyang1 (1):
drm/amdgpu: print smc fw info in CGS.
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 96 +++--
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 4 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c | 66 +++-
drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c | 3 +
drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 15 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 7 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 41 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 270 ++++++++++---
drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 8 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 28 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 44 +++
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h | 2 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 12 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 12 +
drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 72 ++--
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 245 +++++++++---
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 3 +
drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 172 +++++++-
drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 221 ++++-------
drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | 90 ++---
drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 99 ++++-
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 15 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 329 ++++++++++------
drivers/gpu/drm/amd/amdgpu/ci_dpm.c | 210 +++++++++-
drivers/gpu/drm/amd/amdgpu/ci_dpm.h | 1 +
drivers/gpu/drm/amd/amdgpu/cik.c | 23 +-
drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 11 -
drivers/gpu/drm/amd/amdgpu/cz_dpm.c | 1 +
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 5 +-
drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 67 +---
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 103 ++---
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.h | 7 -
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 433 ++++++++++++++++-----
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.h | 1 -
drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 41 +-
drivers/gpu/drm/amd/amdgpu/gmc_v7_0.h | 7 -
drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 46 +--
drivers/gpu/drm/amd/amdgpu/gmc_v8_0.h | 7 -
drivers/gpu/drm/amd/amdgpu/kv_dpm.c | 6 +-
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 13 -
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 12 -
drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c | 30 ++
drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c | 29 ++
drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | 71 +++-
drivers/gpu/drm/amd/amdgpu/vi.c | 71 +++-
drivers/gpu/drm/amd/include/amd_pcie.h | 14 +
drivers/gpu/drm/amd/include/amd_shared.h | 11 +-
.../gpu/drm/amd/include/asic_reg/gca/gfx_8_0_d.h | 3 +
.../drm/amd/include/asic_reg/gca/gfx_8_0_sh_mask.h | 108 +++--
drivers/gpu/drm/amd/include/cgs_common.h | 3 +-
drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 151 ++++++-
.../gpu/drm/amd/powerplay/eventmgr/eventtasks.c | 3 +-
.../drm/amd/powerplay/hwmgr/cz_clockpowergating.c | 3 +-
drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c | 17 +-
drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.c | 374 +++++++++++++++---
drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.h | 3 -
.../gpu/drm/amd/powerplay/hwmgr/fiji_powertune.c | 74 +++-
.../gpu/drm/amd/powerplay/hwmgr/fiji_powertune.h | 15 +
.../gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 26 +-
drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | 8 +-
.../powerplay/hwmgr/polaris10_clockpowergating.c | 6 +
.../gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c | 378 ++++++++++++++----
.../gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.h | 4 -
.../drm/amd/powerplay/hwmgr/polaris10_powertune.c | 59 +++
.../drm/amd/powerplay/hwmgr/polaris10_powertune.h | 15 +
drivers/gpu/drm/amd/powerplay/hwmgr/ppatomctrl.c | 4 +-
.../gpu/drm/amd/powerplay/hwmgr/processpptables.c | 20 +-
drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.c | 167 +++++---
drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.h | 3 -
.../amd/powerplay/hwmgr/tonga_processpptables.c | 3 -
drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h | 7 +
.../gpu/drm/amd/powerplay/inc/hardwaremanager.h | 1 +
drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 10 +-
drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c | 5 +-
drivers/gpu/drm/amd/scheduler/gpu_sched_trace.h | 4 +-
drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 184 ++++++---
drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 60 +--
drivers/gpu/drm/amd/scheduler/sched_fence.c | 81 ++--
drivers/gpu/drm/ast/ast_ttm.c | 13 +-
drivers/gpu/drm/bochs/bochs_mm.c | 11 +-
drivers/gpu/drm/cirrus/cirrus_ttm.c | 13 +-
drivers/gpu/drm/mgag200/mgag200_ttm.c | 13 +-
drivers/gpu/drm/nouveau/nouveau_bo.c | 7 +-
drivers/gpu/drm/qxl/qxl_ttm.c | 10 +-
drivers/gpu/drm/radeon/cik.c | 17 +-
drivers/gpu/drm/radeon/evergreen_cs.c | 7 +
drivers/gpu/drm/radeon/evergreend.h | 1 +
drivers/gpu/drm/radeon/radeon_atpx_handler.c | 65 +++-
drivers/gpu/drm/radeon/radeon_connectors.c | 15 +-
drivers/gpu/drm/radeon/radeon_drv.c | 16 +-
drivers/gpu/drm/radeon/radeon_ttm.c | 10 +-
drivers/gpu/drm/radeon/si.c | 45 ++-
drivers/gpu/drm/ttm/ttm_bo.c | 164 ++++----
drivers/gpu/drm/ttm/ttm_bo_util.c | 112 +++++-
drivers/gpu/drm/ttm/ttm_bo_vm.c | 19 +-
drivers/gpu/drm/ttm/ttm_tt.c | 19 +-
drivers/gpu/drm/virtio/virtgpu_ttm.c | 6 +
include/drm/ttm/ttm_bo_api.h | 4 +-
include/drm/ttm/ttm_bo_driver.h | 44 ++-
include/uapi/drm/amdgpu_drm.h | 32 +-
103 files changed, 3924 insertions(+), 1596 deletions(-)
More information about the dri-devel
mailing list