GitHub/moto-9609/android_kernel_motorola_exynos9610.git
8 years agodrm/amdgpu: Don't call interval_tree_remove in amdgpu_mn_destroy
Felix Kuehling [Tue, 16 Feb 2016 20:31:30 +0000 (15:31 -0500)]
drm/amdgpu: Don't call interval_tree_remove in amdgpu_mn_destroy

rbtree_postorder_for_each_entry_safe can skip over some entries if
the tree is rebalanced in interval_tree_remove. interval_tree_remove
is also redundant when the tree is just about to be freed.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
8 years agodrm/amdgpu: Fix race condition in amdgpu_mn_unregister
Felix Kuehling [Tue, 16 Feb 2016 20:29:23 +0000 (15:29 -0500)]
drm/amdgpu: Fix race condition in amdgpu_mn_unregister

Exchange locking order of adev->mn_lock and mm_sem, so that
rmn->mm->mmap_sem can be taken safely, protected by adev->mn_lock,
when amdgpu_mn_destroy runs concurrently.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
8 years agodrm/amdgpu: cleanup gem init/finit
Christian König [Mon, 15 Feb 2016 15:59:57 +0000 (16:59 +0100)]
drm/amdgpu: cleanup gem init/finit

Remove the double housekeeping and use something sane to
forcefuly delete BOs on unload.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: rework GEM info printing
Christian König [Mon, 15 Feb 2016 14:23:00 +0000 (15:23 +0100)]
drm/amdgpu: rework GEM info printing

Print BOs grouped per client.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: print the GPU offset as well in gem_info
Christian König [Mon, 15 Feb 2016 16:36:22 +0000 (17:36 +0100)]
drm/amdgpu: print the GPU offset as well in gem_info

To easily find which memory is used.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: optionally print the pin count in gem_info as well
Christian König [Mon, 15 Feb 2016 11:41:37 +0000 (12:41 +0100)]
drm/amdgpu: optionally print the pin count in gem_info as well

Usefull when debugging page flipping.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: print the BO size only once in amdgpu_gem_info
Christian König [Mon, 15 Feb 2016 12:01:23 +0000 (13:01 +0100)]
drm/amdgpu: print the BO size only once in amdgpu_gem_info

Splitting it into KB/MB is just confusing.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: print pid as integer
Christian König [Mon, 15 Feb 2016 14:28:34 +0000 (15:28 +0100)]
drm/amdgpu: print pid as integer

Not sure why somebody thought that this is a long.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: remove page flip work queue v3
Christian König [Thu, 11 Feb 2016 16:31:37 +0000 (17:31 +0100)]
drm/amdgpu: remove page flip work queue v3

Just use the system queue now that we don't block any more.

v2: handle DAL as well.
v3: agd: split DAL changes out

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Mykola Lysenko <mykola.lysenko@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com> (v1)
8 years agodrm/amdgpu: stop blocking for page filp fences
Christian König [Thu, 11 Feb 2016 14:48:30 +0000 (15:48 +0100)]
drm/amdgpu: stop blocking for page filp fences

Just register an callback and reschedule the work item if necessary.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: stop calling amdgpu_gpu_reset from the flip code
Christian König [Thu, 11 Feb 2016 13:51:47 +0000 (14:51 +0100)]
drm/amdgpu: stop calling amdgpu_gpu_reset from the flip code

We don't return -EDEADLK any more.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: remove fence reset detection leftovers
Christian König [Thu, 11 Feb 2016 13:42:33 +0000 (14:42 +0100)]
drm/amdgpu: remove fence reset detection leftovers

wait_event() never returns before the fence was signaled.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: Fix race condition in MMU notifier release
Felix Kuehling [Thu, 14 Jan 2016 05:35:08 +0000 (00:35 -0500)]
drm/amdgpu: Fix race condition in MMU notifier release

The release notifier can get called a second time from
mmu_notifier_unregister depending on a race between
__mmu_notifier_release and amdgpu_mn_destroy. Use
mmu_notifier_unregister_no_release to avoid this.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
8 years agodrm/radeon: Fix WARN_ON if DRM_DP_AUX_CHARDEV is enabled
Lukas Wunner [Thu, 21 Jan 2016 23:10:21 +0000 (15:10 -0800)]
drm/radeon: Fix WARN_ON if DRM_DP_AUX_CHARDEV is enabled

Rafael Antognolli's new DRM_DP_AUX_CHARDEV feature causes a WARN_ON
if drm_dp_aux->dev == drm_connector->kdev and drm_dp_aux_unregister()
is called after drm_connector_unregister(). radeon is the only driver
affected by this besides i915. (amdgpu calls drm_dp_aux_unregister()
before drm_connector_unregister().)

Cc: Rafael Antognolli <rafael.antognolli@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu/vi: move uvd tiling config setup into uvd code
Alex Deucher [Fri, 12 Feb 2016 08:22:34 +0000 (03:22 -0500)]
drm/amdgpu/vi: move uvd tiling config setup into uvd code

Split uvd and gfx programming.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu/vi: move sdma tiling config setup into sdma code
Alex Deucher [Fri, 12 Feb 2016 08:19:14 +0000 (03:19 -0500)]
drm/amdgpu/vi: move sdma tiling config setup into sdma code

Split sdma and gfx programming.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu/cik: move uvd tiling config setup into uvd code
Alex Deucher [Fri, 12 Feb 2016 08:12:43 +0000 (03:12 -0500)]
drm/amdgpu/cik: move uvd tiling config setup into uvd code

Split uvd and gfx programming.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu/cik: move sdma tiling config setup into sdma code
Alex Deucher [Fri, 12 Feb 2016 08:05:24 +0000 (03:05 -0500)]
drm/amdgpu/cik: move sdma tiling config setup into sdma code

Split sdma and gfx programming.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu/gfx7: rework gpu_init()
Alex Deucher [Fri, 12 Feb 2016 08:00:49 +0000 (03:00 -0500)]
drm/amdgpu/gfx7: rework gpu_init()

Split the sw and hw parts into separate functions.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu/gfx: clean up harvest configuration (v2)
Alex Deucher [Fri, 12 Feb 2016 05:39:13 +0000 (00:39 -0500)]
drm/amdgpu/gfx: clean up harvest configuration (v2)

Read back harvest configuration from registers and simplify
calculations.  No need to program the raster config registers.
These are programmed as golden registers and the user mode
drivers program them as well.

v2: rebase on Tom's patches

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: fix coding style in amdgpu_ctx.c
Christian König [Thu, 11 Feb 2016 09:20:53 +0000 (10:20 +0100)]
drm/amdgpu: fix coding style in amdgpu_ctx.c

Don't use pointer arithmetic and fix the indentation.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: nuke the kernel context
Christian König [Thu, 11 Feb 2016 08:56:44 +0000 (09:56 +0100)]
drm/amdgpu: nuke the kernel context

Not used any more.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: use separate scheduler entity for VCE submissions
Christian König [Wed, 10 Feb 2016 16:43:00 +0000 (17:43 +0100)]
drm/amdgpu: use separate scheduler entity for VCE submissions

This allows us to remove the kernel context and use a better
priority for the submissions.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: use separate scheduler entity for UVD submissions
Christian König [Wed, 10 Feb 2016 13:35:19 +0000 (14:35 +0100)]
drm/amdgpu: use separate scheduler entity for UVD submissions

This allows us to remove the kernel context and use a better
priority for the submissions.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: use separate scheduler entitiy for buffer moves
Christian König [Wed, 10 Feb 2016 13:20:50 +0000 (14:20 +0100)]
drm/amdgpu: use separate scheduler entitiy for buffer moves

This allows us to remove the global kernel context.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: use SDMA round robin for VM updates v3
Christian König [Mon, 8 Feb 2016 16:37:38 +0000 (17:37 +0100)]
drm/amdgpu: use SDMA round robin for VM updates v3

Distribute the load on both rings.

v2: use a loop for the initialization
v3: agd: rebase on upstream

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: remove is_pte_ring
Christian König [Mon, 8 Feb 2016 13:08:44 +0000 (14:08 +0100)]
drm/amdgpu: remove is_pte_ring

Not used for anything.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: use per VM entity for page table updates (v2)
Christian König [Mon, 1 Feb 2016 11:53:58 +0000 (12:53 +0100)]
drm/amdgpu: use per VM entity for page table updates (v2)

Updates from different VMs can be processed independently.

v2: agd: rebase on upstream

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: remove the userptr rmn->lock
Christian König [Tue, 9 Feb 2016 15:13:37 +0000 (16:13 +0100)]
drm/amdgpu: remove the userptr rmn->lock

Avoid a lock inversion problem by just using the mmap_sem to
protect the entries of the intervall tree.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
8 years agodrm/amd/include: Update dce 8 headers for dal
Harry Wentland [Thu, 11 Feb 2016 01:01:39 +0000 (20:01 -0500)]
drm/amd/include: Update dce 8 headers for dal

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu/gfx7: Fix whitespace
Tom St Denis [Mon, 8 Feb 2016 17:54:09 +0000 (12:54 -0500)]
drm/amdgpu/gfx7: Fix whitespace

Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu/gfx7: Simplify wptr/rptr functions
Tom St Denis [Mon, 8 Feb 2016 17:47:58 +0000 (12:47 -0500)]
drm/amdgpu/gfx7: Simplify wptr/rptr functions

Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu/gfx7: LOC reduction in gfx_v7_0_setup_rb
Tom St Denis [Mon, 8 Feb 2016 17:34:19 +0000 (12:34 -0500)]
drm/amdgpu/gfx7: LOC reduction in gfx_v7_0_setup_rb

Reduce for loop with bitmask to simple complement and mask

Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu/gfx7: Simplify bitmask creation
Tom St Denis [Mon, 8 Feb 2016 13:48:15 +0000 (08:48 -0500)]
drm/amdgpu/gfx7: Simplify bitmask creation

Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu/gfx7: Reduce linecount in table init
Tom St Denis [Mon, 8 Feb 2016 14:55:13 +0000 (09:55 -0500)]
drm/amdgpu/gfx7: Reduce linecount in table init

Replaces switch statements with direct assignments to
reduce line count significantly.

Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd/powerplay: add powerplay valid check to avoid null point.
Rex Zhu [Tue, 29 Dec 2015 05:56:03 +0000 (13:56 +0800)]
drm/amd/powerplay: add powerplay valid check to avoid null point.

In case CONFIG_DRM_AMD_POWERPLAY is defined and amdgpu.powerplay=0.
some functions in powrplay can also be called by DAL. and the input parameter is *adev.
if just check point not NULL was not enough and will lead to NULL point error.

Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd/powerplay: Enable low mem pstate when cancel_high
Eric Yang [Wed, 16 Dec 2015 00:00:59 +0000 (19:00 -0500)]
drm/amd/powerplay: Enable low mem pstate when cancel_high

Signed-off-by: Eric Yang <eric.yang2@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd/powerplay: Use correct clock in cz_apply_state_adjust_rules
Eric Yang [Tue, 15 Dec 2015 19:47:02 +0000 (14:47 -0500)]
drm/amd/powerplay: Use correct clock in cz_apply_state_adjust_rules

Signed-off-by: Eric Yang <eric.yang2@amd.com>
Reviewed-by: Eagle Yeh <eagle.yeh@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd/powerplay: get real display device num by cgs interface
Rex Zhu [Mon, 14 Dec 2015 10:14:57 +0000 (18:14 +0800)]
drm/amd/powerplay: get real display device num by cgs interface

Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd/powerplay: Use engine clock limit calculated by dal
Vitaly Prosyak [Fri, 11 Dec 2015 18:38:58 +0000 (13:38 -0500)]
drm/amd/powerplay: Use engine clock limit calculated by dal

Use min required system clock calculated by dal

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd/powerplay: Make declarations of functions exposed to DAL type-safe.
David Rokhvarg [Mon, 14 Dec 2015 15:51:39 +0000 (10:51 -0500)]
drm/amd/powerplay: Make declarations of functions exposed to DAL type-safe.

Signed-off-by: David Rokhvarg <David.Rokhvarg@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd/powerplay: implement functions in carrizo for DAL.
Rex Zhu [Mon, 7 Dec 2015 10:45:29 +0000 (18:45 +0800)]
drm/amd/powerplay: implement functions in carrizo for DAL.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd/powerplay: export interface to DAL.
Rex Zhu [Mon, 7 Dec 2015 10:44:23 +0000 (18:44 +0800)]
drm/amd/powerplay: export interface to DAL.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd/powerplay: change struct name.
Rex Zhu [Thu, 10 Dec 2015 08:49:50 +0000 (16:49 +0800)]
drm/amd/powerplay: change struct name.

amd_pp_dal_clock_info to amd_pp_simple_clock_info.

Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd: Adding IVSRC register headers
Harry Wentland [Tue, 24 Nov 2015 15:51:51 +0000 (10:51 -0500)]
drm/amd: Adding IVSRC register headers

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: Move MMIO flip out of spinlocked region
Vitaly Prosyak [Tue, 20 Oct 2015 19:02:03 +0000 (15:02 -0400)]
drm/amdgpu: Move MMIO flip out of spinlocked region

Prior actual  MMIO flip we need to acquire DAL mutex to guard
our target state which get modified on reset mode.
Assign page flip status before actual flip to handle
the possible race condition with interrupt.

Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: Don't crash system if we can't get crtc
Harry Wentland [Wed, 25 Nov 2015 20:42:09 +0000 (15:42 -0500)]
drm/amdgpu: Don't crash system if we can't get crtc

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: move sync into job object
Christian König [Mon, 8 Feb 2016 11:13:05 +0000 (12:13 +0100)]
drm/amdgpu: move sync into job object

No need to keep that for every IB.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: send VCE IB tests directly to the ring again
Christian König [Wed, 3 Feb 2016 15:50:56 +0000 (16:50 +0100)]
drm/amdgpu: send VCE IB tests directly to the ring again

We need the IB test for GPU resets as well and
the scheduler should be stoped then.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: send UVD IB tests directly to the ring again
Christian König [Wed, 3 Feb 2016 15:01:06 +0000 (16:01 +0100)]
drm/amdgpu: send UVD IB tests directly to the ring again

We need the IB test for GPU resets as well and
the scheduler should be stoped then.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: rename amdgpu_sched.c to amdgpu_job.c
Christian König [Mon, 1 Feb 2016 11:31:01 +0000 (12:31 +0100)]
drm/amdgpu: rename amdgpu_sched.c to amdgpu_job.c

That's probably a better matching name.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: cleanup in kernel job submission
Christian König [Mon, 1 Feb 2016 11:20:25 +0000 (12:20 +0100)]
drm/amdgpu: cleanup in kernel job submission

Add a job_alloc_with_ib helper and proper job submission.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: send SDMA/GFX IB tests directly to the ring again
Christian König [Mon, 1 Feb 2016 11:02:08 +0000 (12:02 +0100)]
drm/amdgpu: send SDMA/GFX IB tests directly to the ring again

There is no point in sending them through the scheduler.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: directly return fence from ib_schedule
Christian König [Mon, 1 Feb 2016 10:56:35 +0000 (11:56 +0100)]
drm/amdgpu: directly return fence from ib_schedule

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: move ring from IBs into job
Christian König [Sun, 31 Jan 2016 11:29:04 +0000 (12:29 +0100)]
drm/amdgpu: move ring from IBs into job

We can't submit to multiple rings at the same time anyway.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: make pad_ib a ring function v3
Christian König [Sun, 31 Jan 2016 11:20:55 +0000 (12:20 +0100)]
drm/amdgpu: make pad_ib a ring function v3

The padding depends on the firmware version and we need that for BO moves as
well, not only for VM updates.

v2: new approach of making pad_ib a ring function
v3: fix typo in macro name

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: cleanup user fence handling in the CS
Christian König [Mon, 1 Feb 2016 10:20:37 +0000 (11:20 +0100)]
drm/amdgpu: cleanup user fence handling in the CS

Don't keep that around twice.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: add proper job alloc/free functions
Christian König [Wed, 3 Feb 2016 12:44:52 +0000 (13:44 +0100)]
drm/amdgpu: add proper job alloc/free functions

And use them in the CS instead of allocating IBs and jobs separately.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: fix num_ibs check
Christian König [Sun, 31 Jan 2016 10:32:04 +0000 (11:32 +0100)]
drm/amdgpu: fix num_ibs check

Specifying no IBs on command submission is invalid, stop crashing
badly when somebody tries it.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucer@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: remove AMDGPU_NUM_SYNCS
Christian König [Wed, 3 Feb 2016 14:12:58 +0000 (15:12 +0100)]
drm/amdgpu: remove AMDGPU_NUM_SYNCS

Just a leftover from semaphores.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: remove adev and fence from amdgpu_sync_free
Christian König [Wed, 3 Feb 2016 14:11:39 +0000 (15:11 +0100)]
drm/amdgpu: remove adev and fence from amdgpu_sync_free

Just leftovers from the semaphores.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: check userptrs mm earlier
Christian König [Mon, 8 Feb 2016 10:08:35 +0000 (11:08 +0100)]
drm/amdgpu: check userptrs mm earlier

Instead of when we try to bind it check the usermm when
we try to use it in the IOCTLs.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/radeon: Avoid double gpu reset by adding a timeout on IB ring tests.
Matthew Dawson [Sun, 7 Feb 2016 21:51:12 +0000 (16:51 -0500)]
drm/radeon: Avoid double gpu reset by adding a timeout on IB ring tests.

When the radeon driver resets a gpu, it attempts to test whether all the
rings can successfully handle an IB.  If these rings fail to respond, the
process will wait forever.  Another gpu reset can't happen at this point,
as the current reset holds a lock required to do so.  Instead, make all
the IB tests run with a timeout, so the system can attempt to recover
in this case.

While this doesn't fix the underlying issue with card resets failing, it
gives the system a higher chance of recovering.  These timeouts have been
confirmed to help both a Tathi and Hawaii card recover after a gpu reset.

This also adds a new function, radeon_fence_wait_timeout, that behaves like
fence_wait_timeout.  It is used instead of fence_wait_timeout as it continues
to work during a reset.  radeon_fence_wait is changed to be implemented
using this function.

V2:
 - Changed the timeout to 1s, as the default 10s from radeon_wait_timeout was
too long.  A timeout of 100ms was tested and found to be too short.
 - Changed radeon_fence_wait_timeout to behave more like fence_wait_timeout.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Matthew Dawson <matthew@mjdsystems.ca>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu/gfx: minor code cleanup
Alex Deucher [Thu, 4 Feb 2016 16:11:00 +0000 (11:11 -0500)]
drm/amdgpu/gfx: minor code cleanup

Drop needless function wrapper.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: separate pushing CS to scheduler
Christian König [Sun, 31 Jan 2016 10:30:55 +0000 (11:30 +0100)]
drm/amdgpu: separate pushing CS to scheduler

Move that out of the main IOCTL function.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: add amdgpu_set_ib_value helper (v2)
Christian König [Sun, 31 Jan 2016 10:00:41 +0000 (11:00 +0100)]
drm/amdgpu: add amdgpu_set_ib_value helper (v2)

And use it in UVD/VCE command patching.

v2: squash in Christian's fix

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: fix size estimation for clear IB
Christian König [Wed, 3 Feb 2016 21:39:01 +0000 (22:39 +0100)]
drm/amdgpu: fix size estimation for clear IB

We only need a few dw here.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu/smu: skip SMC ucode loading on SR-IOV capable boards (v2)
Alex Deucher [Mon, 1 Feb 2016 16:43:28 +0000 (11:43 -0500)]
drm/amdgpu/smu: skip SMC ucode loading on SR-IOV capable boards (v2)

VBIOS does this for us in asic_init.

v2: update iceland as well

Reviewed-by: Monk Liu <monk.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu/gmc8: skip MC ucode loading on SR-IOV capable boards
Alex Deucher [Mon, 1 Feb 2016 16:29:54 +0000 (11:29 -0500)]
drm/amdgpu/gmc8: skip MC ucode loading on SR-IOV capable boards

VBIOS does this for us in asic_init.

Reviewed-by: Monk Liu <monk.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: always repost cards that support SR-IOV
Alex Deucher [Mon, 1 Feb 2016 16:23:15 +0000 (11:23 -0500)]
drm/amdgpu: always repost cards that support SR-IOV

Generally a good idea between VM sessions.  We need a way to
detect VM pass-through in general and always run asic_init in
that case.

Reviewed-by: Monk Liu <monk.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: track whether the asic supports SR-IOV
Alex Deucher [Mon, 1 Feb 2016 16:13:04 +0000 (11:13 -0500)]
drm/amdgpu: track whether the asic supports SR-IOV

Required to make desicions about certain code pathes.

Reviewed-by: Monk Liu <monk.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: add check for atombios GPU virtualization table
Alex Deucher [Mon, 1 Feb 2016 16:00:49 +0000 (11:00 -0500)]
drm/amdgpu: add check for atombios GPU virtualization table

This table is found on boards that support SR-IOV.  This will
be used to determine if the board supports SR-IOV and allow
the driver to take specific action in certain cases.

Reviewed-by: Monk Liu <monk.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: remove unused function
Alex Deucher [Mon, 1 Feb 2016 16:18:30 +0000 (11:18 -0500)]
drm/amdgpu: remove unused function

amdgpu_boot_test_post_card() is not used anywhere.  Probably
a leftover from the original port from radeon.

Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom St Denis <tom.stdenis@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd: add pm domain for ACP IP sub blocks
Maruthi Srinivas Bayyavarapu [Mon, 23 Nov 2015 15:37:30 +0000 (21:07 +0530)]
drm/amd: add pm domain for ACP IP sub blocks

ACP IP have internal DMA controller, DW I2S controller and DSPs
as separate power tiles. DMA and I2S devices are added to generic
pm domain, so that entire IP can be powered off/on at appropriate
times. Unused DSPs are made to be powered off though they are powered
on during ACP pm domain power on sequence.

Signed-off-by: Maruthi Bayyavarapu <maruthi.bayyavarapu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd: add ACP driver support
Maruthi Bayyavarapu [Tue, 22 Sep 2015 21:05:20 +0000 (17:05 -0400)]
drm/amd: add ACP driver support

This adds the ACP (Audio CoProcessor) IP driver and wires
it up to the amdgpu driver.  The ACP block provides the DMA
engine for i2s based ALSA driver. This is required for audio
on APUs that utilize an i2s codec.

Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Maruthi Bayyavarapu <maruthi.bayyavarapu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Murali Krishna Vemuri <murali-krishna.vemuri@amd.com>
Signed-off-by: Maruthi Bayyavarapu <maruthi.bayyavarapu@amd.com>
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: remove power of two limit for vramlimit
Christian König [Thu, 7 Jan 2016 10:44:13 +0000 (11:44 +0100)]
drm/amdgpu: remove power of two limit for vramlimit

That works with other values as well.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: optimize amdgpu_vm_update_ptes a bit
Christian König [Tue, 26 Jan 2016 11:37:49 +0000 (12:37 +0100)]
drm/amdgpu: optimize amdgpu_vm_update_ptes a bit

Don't calculate the end address multiple times.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: cleanup comments in VM code
Christian König [Tue, 26 Jan 2016 11:17:11 +0000 (12:17 +0100)]
drm/amdgpu: cleanup comments in VM code

Neither the global nor the local mutex exists any more and
amdgpu doesn't support cayman.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: optimize VM fencing
Christian König [Tue, 26 Jan 2016 10:40:46 +0000 (11:40 +0100)]
drm/amdgpu: optimize VM fencing

No need to fence every page table, just the page directory is enough.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: split VM mappings into smaller operations (v3)
Christian König [Mon, 25 Jan 2016 13:27:31 +0000 (14:27 +0100)]
drm/amdgpu: split VM mappings into smaller operations (v3)

If we can't copy entries from the GTT or fill them with one command split
up the mapping operation into multiple ones.

v2: agd: rebase on upstream
v3: squash in Christian's fix

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: use BOs GART instance for mapping addresses v4
Christian König [Mon, 30 Nov 2015 13:19:26 +0000 (14:19 +0100)]
drm/amdgpu: use BOs GART instance for mapping addresses v4

That allows the VM code to use GART BOs from other driver instances.

v2: don't use copy optimization for foreign GARTs, that won't work.
v3: some more comment cleanups
v4: agd: rebase on upstream

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: move more logic into amdgpu_vm_map_gart v3
Christian König [Mon, 30 Nov 2015 12:26:07 +0000 (13:26 +0100)]
drm/amdgpu: move more logic into amdgpu_vm_map_gart v3

No need to duplicate that code over and over again. Also stop using the
flags to determine if we need to map the addresses.

v2: constify the pages_addr
v3: rebased, fix typo in commit message

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: remove nonsense IB size checks
Christian König [Mon, 25 Jan 2016 16:06:09 +0000 (17:06 +0100)]
drm/amdgpu: remove nonsense IB size checks

Those are just leftovers from the time we wrote the VM
updates directly to the ring.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: use WARN_ON_ONCE instead of BUG_ON in the SA
Christian König [Mon, 25 Jan 2016 12:01:42 +0000 (13:01 +0100)]
drm/amdgpu: use WARN_ON_ONCE instead of BUG_ON in the SA

Crashing the system doesn't helps at all. Also properly return
-EINVAL if size or alignment are outside valid ranges.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: drop a dummy wakeup scheduler
Monk Liu [Tue, 26 Jan 2016 06:59:57 +0000 (14:59 +0800)]
drm/amdgpu: drop a dummy wakeup scheduler

since the dependency job is also scheduled by the same
scheduler with the job depended on it, no need to
call wake up scheduler when the dep is scheduled.

Signed-off-by: Monk Liu <Monk.Liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd: add dce8 enum register header
Alex Deucher [Wed, 27 Jan 2016 16:09:50 +0000 (11:09 -0500)]
drm/amd: add dce8 enum register header

This adds the DCE8 enum header.

Acked-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd/powerplay: add some hwmgr functions for sysfs interface on Tonga
Eric Huang [Fri, 22 Jan 2016 19:32:41 +0000 (14:32 -0500)]
drm/amd/powerplay: add some hwmgr functions for sysfs interface on Tonga

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd/powerplay: add some hwmgr functions for sysfs interface on Carrizo
Eric Huang [Fri, 22 Jan 2016 17:17:41 +0000 (12:17 -0500)]
drm/amd/powerplay: add some hwmgr functions for sysfs interface on Carrizo

These add the interfaces for manual clock control.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd/powerplay: add hwmgr's functions for Fiji sysfs interfaces.
Eric Huang [Mon, 14 Dec 2015 18:49:37 +0000 (13:49 -0500)]
drm/amd/powerplay: add hwmgr's functions for Fiji sysfs interfaces.

These add the interfaces for manual clock control.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amd/powerplay: add some sysfs interfaces for powerplay.
Eric Huang [Fri, 11 Dec 2015 21:24:34 +0000 (16:24 -0500)]
drm/amd/powerplay: add some sysfs interfaces for powerplay.

The new sysfs interfaces:
pp_num_states: Read-only, return the number of all pp states, 0 if powerplay is not available.
pp_cur_state: Read-only, return the index number of current pp state.
pp_force_state: Read-write, to write a power state index will switch to selected state forcedly and
enable forced state mode, disable forced state mode. such as "echo >...".
pp_table: Read-write, binary output, to be used to read or write the dpm table, the maximum
file size is 4KB of page size.
pp_dpm_sclk: Read-write, reading will return a dpm levels list, to write an index number will force
powerplay to set the corresponding dpm level.
pp_dpm_mclk: same as sclk.
pp_dpm_pcie: same as sclk.

And add new setting "manual" to the existing interface power_dpm_force_performance_level.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: remove rptr checking
Christian König [Thu, 21 Jan 2016 12:06:05 +0000 (13:06 +0100)]
drm/amdgpu: remove rptr checking

With the scheduler enabled we don't need that any more.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: remove the ring lock v2
Christian König [Thu, 21 Jan 2016 10:28:53 +0000 (11:28 +0100)]
drm/amdgpu: remove the ring lock v2

It's not needed any more because all access goes through the scheduler now.

v2: Update commit message.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: use a global LRU list for VMIDs
Christian König [Thu, 21 Jan 2016 09:19:11 +0000 (10:19 +0100)]
drm/amdgpu: use a global LRU list for VMIDs

With the scheduler enabled managing per ring LRUs don't
make much sense any more.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: merge vm_grab_id and vm_fence v2
Christian König [Mon, 18 Jan 2016 16:01:42 +0000 (17:01 +0100)]
drm/amdgpu: merge vm_grab_id and vm_fence v2

No need for an extra function any more.

v2: comment cleanups

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: grab VMID before submitting job v5
Christian König [Tue, 3 Nov 2015 19:58:50 +0000 (20:58 +0100)]
drm/amdgpu: grab VMID before submitting job v5

This allows the scheduler to handle the dependencies on ID contention as well.

v2: grab id only once
v3: use a separate lock for the VMIDs
v4: cleanup after semaphore removal
v5: minor coding style change

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: add VM pointer to id trace
Christian König [Thu, 7 Jan 2016 17:15:22 +0000 (18:15 +0100)]
drm/amdgpu: add VM pointer to id trace

Because of the scheduler all traces come from the same thread now and
can't be distincted otherwise.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: drop hard_reset module parameter
Alex Deucher [Fri, 15 Jan 2016 18:18:12 +0000 (13:18 -0500)]
drm/amdgpu: drop hard_reset module parameter

It doesn't currently do anything and there's no need for it
going forward since pci config reset will be required as a
fallback even when we have fine grained reset implemented.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: add a debugfs property to trigger a GPU reset
Alex Deucher [Thu, 14 Jan 2016 15:25:22 +0000 (10:25 -0500)]
drm/amdgpu: add a debugfs property to trigger a GPU reset

Ported from similar code in radeon.

Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Ken Wang <Qingqing.Wang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: post card after hard reset
Alex Deucher [Fri, 15 Jan 2016 16:59:48 +0000 (11:59 -0500)]
drm/amdgpu: post card after hard reset

Posting is required after a pci config reset.

Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Ken Wang <Qingqing.Wang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: clean up asic level reset for VI
Alex Deucher [Wed, 14 Oct 2015 13:39:37 +0000 (09:39 -0400)]
drm/amdgpu: clean up asic level reset for VI

Drop soft reset, always use pci config reset.

Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Ken Wang <Qingqing.Wang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>