GitHub/moto-9609/android_kernel_motorola_exynos9610.git
9 years agodrm/amdgpu: add hdp flush for gfx8 compute ring
monk.liu [Wed, 3 Jun 2015 08:32:49 +0000 (16:32 +0800)]
drm/amdgpu: add hdp flush for gfx8 compute ring

We had forgotten to register the callback.

Signed-off-by: monk.liu <monk.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: jammy zhou <jammy.zhou@amd.com>
9 years agodrm/amdgpu: fix no hdp flush for compute ring
monk.liu [Tue, 2 Jun 2015 07:50:33 +0000 (15:50 +0800)]
drm/amdgpu: fix no hdp flush for compute ring

No pfp on compute.

Signed-off-by: monk.liu <monk.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agodrm/amdgpu: add HEVC/H.265 UVD support
Christian König [Tue, 5 May 2015 14:36:01 +0000 (16:36 +0200)]
drm/amdgpu: add HEVC/H.265 UVD support

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: stop loading firmware with pm.mutex locked
Christian König [Thu, 28 May 2015 20:02:26 +0000 (22:02 +0200)]
drm/amdgpu: stop loading firmware with pm.mutex locked

Loading firmware is a rather complicated process, in the end we add a
dependency between the pm mutex and the mm semaphore which results in
a harmless but annoying error message.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agodrm/amdgpu: remove mclk_lock
Christian König [Wed, 27 May 2015 08:22:47 +0000 (10:22 +0200)]
drm/amdgpu: remove mclk_lock

Not needed any more.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: fix description of vm_size module parameter (v2)
Alex Deucher [Mon, 11 May 2015 20:20:58 +0000 (16:20 -0400)]
drm/amdgpu: fix description of vm_size module parameter (v2)

default is 8GB, not 4GB.

v2: fix fallback setting when the user provides an invalid input

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: remove all sh mem register modification in vm flush
monk.liu [Wed, 27 May 2015 06:03:22 +0000 (14:03 +0800)]
drm/amdgpu: remove all sh mem register modification in vm flush

Leave that at the values set during init.  No need to update
them repeatedly.

Signed-off-by: monk.liu <monk.liu@amd.com>
Signed-off-by: David Zhang <david1.zhang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <jammy.zhou@amd.com>
9 years agodrm/amdgpu: rename GEM_OP_SET_INITIAL_DOMAIN -> GEM_OP_SET_PLACEMENT
Marek Olšák [Wed, 27 May 2015 12:30:38 +0000 (14:30 +0200)]
drm/amdgpu: rename GEM_OP_SET_INITIAL_DOMAIN -> GEM_OP_SET_PLACEMENT

Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: fence should be added to shared slot
monk.liu [Tue, 26 May 2015 07:03:45 +0000 (15:03 +0800)]
drm/amdgpu: fence should be added to shared slot

Signed-off-by: monk.liu <monk.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: jammy zhou <jammy.zhou@amd.com>
9 years agodrm/amdgpu: sync fence of clear_invalids (v2)
monk.liu [Tue, 26 May 2015 07:01:54 +0000 (15:01 +0800)]
drm/amdgpu: sync fence of clear_invalids (v2)

bo_va may un-initialized, fix it.

Signed-off-by: monk.liu <monk.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <jammy.zhou@amd.com>
9 years agodrm/amdgpu: max_pde_used usage should be under protect
monk.liu [Tue, 26 May 2015 02:22:41 +0000 (10:22 +0800)]
drm/amdgpu: max_pde_used usage should be under protect

Need to take the lock when accessing this.

Signed-off-by: monk.liu <monk.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <jammy.zhou@amd.com>
9 years agodrm/amdgpu: fix bug of vm_bo_map (v2)
monk.liu [Mon, 25 May 2015 06:44:05 +0000 (14:44 +0800)]
drm/amdgpu: fix bug of vm_bo_map (v2)

call reservation_object_reserve_shared before amdgpu_bo_fence

Signed-off-by: monk.liu <monk.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <jammy.zhou@amd.com>
9 years agodrm/amdgpu: implement the allocation range (v3)
Chunming Zhou [Fri, 24 Apr 2015 09:37:30 +0000 (17:37 +0800)]
drm/amdgpu: implement the allocation range (v3)

Pass a ttm_placement pointer to amdgpu_bo_create_restricted
add min_offset to amdgpu_bo_pin_restricted.  This makes it
easier to allocate memory with address restrictions.  With
this patch we can also enable 2-ended allocation again.

v2: fix rebase conflicts
v3: memset placements before using

Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2)
yanyang1 [Fri, 22 May 2015 18:39:35 +0000 (14:39 -0400)]
drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2)

The structure is renamed and moved to amd_shared.h to make
the component independent.  This makes it easier to add
new components in the future.

v2: fix include path

Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: yanyang1 <young.yang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: drop allocation flag masks
Christian König [Tue, 19 May 2015 14:08:02 +0000 (16:08 +0200)]
drm/amdgpu: drop allocation flag masks

Not needed any more.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Monk Liu <monk.liu@amd.com>
9 years agodrm/amdgpu: drop AMDGPU_FENCE_SIGNALED_SEQ
Christian König [Fri, 22 May 2015 08:55:47 +0000 (10:55 +0200)]
drm/amdgpu: drop AMDGPU_FENCE_SIGNALED_SEQ

It's causing issues with VMID handling and comparing the
fence value two times actually doesn't make handling faster.

Port of radeon commit "d6d5c5b8364bcc4d52cddc68bcb0a330d2af20f3".

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Monk Liu <monk.liu@amd.com>
9 years agodrm/amdgpu: port fault_reserve_notify changes from radeon
Christian König [Thu, 21 May 2015 15:03:46 +0000 (17:03 +0200)]
drm/amdgpu: port fault_reserve_notify changes from radeon

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: enable uvd dpm and powergating
Sonny Jiang [Tue, 12 May 2015 20:13:35 +0000 (16:13 -0400)]
drm/amdgpu: enable uvd dpm and powergating

Enable UVD dpm (dynamic power management) and powergating.  UVD dpm dynamically scales the UVD
clocks on demand.  Powergating turns off the power to the block when it's not in use.

Signed-off-by: Sonny Jiang <sonny.jiang@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: implement VCE two instances support
Leo Liu [Wed, 6 May 2015 19:20:41 +0000 (15:20 -0400)]
drm/amdgpu: implement VCE two instances support

VCE 3.0 has two indentical instances in the engine, they share
the same registers name in differrent memory block distinguished
by the grbm_gfx_index, we set to master instance after init, it
will dispatch task to slave instance. These two instances will
share the same firmware, but have their own stacks and heaps.

v2: add mutex for using grbm_gfx_index

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agodrm/amdgpu: recalculate VCE firmware BO size
Leo Liu [Wed, 6 May 2015 18:31:27 +0000 (14:31 -0400)]
drm/amdgpu: recalculate VCE firmware BO size

Firmware required BO size changes in terms of ASIC family

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agodrm/amdgpu: remove unused TRACE_SYSTEM_STRING define
Alex Deucher [Thu, 21 May 2015 06:24:48 +0000 (02:24 -0400)]
drm/amdgpu: remove unused TRACE_SYSTEM_STRING define

Port of 77cb2fea1e5fc4b083dd967f231bbf6edd96150e to
amdgpu.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: rework tiling flags
Marek Olšák [Thu, 14 May 2015 21:48:26 +0000 (23:48 +0200)]
drm/amdgpu: rework tiling flags

Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
9 years agodrm/amdgpu: don't set unused tiling flags
Marek Olšák [Thu, 14 May 2015 21:03:57 +0000 (23:03 +0200)]
drm/amdgpu: don't set unused tiling flags

Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
9 years agodrm/amdgpu: actually use the VM map parameters
Christian König [Mon, 18 May 2015 14:05:57 +0000 (16:05 +0200)]
drm/amdgpu: actually use the VM map parameters

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: validate amdgpu_vm_bo_map parameters
Christian König [Mon, 18 May 2015 12:37:27 +0000 (14:37 +0200)]
drm/amdgpu: validate amdgpu_vm_bo_map parameters

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: enforce AMDGPU_GEM_CREATE_NO_CPU_ACCESS
Christian König [Wed, 13 May 2015 12:30:53 +0000 (14:30 +0200)]
drm/amdgpu: enforce AMDGPU_GEM_CREATE_NO_CPU_ACCESS

Deny user and kernel mapping if we said we never want to do so.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling
Christian König [Wed, 13 May 2015 12:21:06 +0000 (14:21 +0200)]
drm/amdgpu: fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: retry dcpd fetch
Alex Deucher [Mon, 18 May 2015 22:15:07 +0000 (18:15 -0400)]
drm/amdgpu: retry dcpd fetch

Retry the dpcd fetch several times.  Some eDP panels
fail several times before the fetch is successful.

bug:
https://bugs.freedesktop.org/show_bug.cgi?id=73530

Ported from radeon.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: simplify DPCD debug output
Alex Deucher [Mon, 18 May 2015 22:12:02 +0000 (18:12 -0400)]
drm/amdgpu: simplify DPCD debug output

Use %*ph rather than walking the array.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: make some DP parameters const
Alex Deucher [Mon, 18 May 2015 22:09:23 +0000 (18:09 -0400)]
drm/amdgpu: make some DP parameters const

Ported from similar radeon patch.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: take the mode_config mutex when handling hpds
Alex Deucher [Fri, 15 May 2015 15:52:18 +0000 (11:52 -0400)]
drm/amdgpu: take the mode_config mutex when handling hpds

Since we may modify display state.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add and implement the GPU reset status query
Marek Olšák [Tue, 5 May 2015 19:13:49 +0000 (21:13 +0200)]
drm/amdgpu: add and implement the GPU reset status query

Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agodrm/amdgpu: add some new tonga pci ids
Alex Deucher [Tue, 12 May 2015 17:10:05 +0000 (13:10 -0400)]
drm/amdgpu: add some new tonga pci ids

Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add new bonaire pci id
Alex Deucher [Tue, 12 May 2015 17:06:45 +0000 (13:06 -0400)]
drm/amdgpu: add new bonaire pci id

Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: rewording some left radeons
Jammy Zhou [Wed, 13 May 2015 14:52:42 +0000 (22:52 +0800)]
drm/amdgpu: rewording some left radeons

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agodrm/amdgpu: switch to amdgpu folder for firmware files v2
Jammy Zhou [Wed, 13 May 2015 14:49:04 +0000 (22:49 +0800)]
drm/amdgpu: switch to amdgpu folder for firmware files v2

v2: keep using radeon folder for CIK

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agodrm/amdgpu: do necessary NULL check
Jammy Zhou [Tue, 12 May 2015 15:17:19 +0000 (23:17 +0800)]
drm/amdgpu: do necessary NULL check

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agodrm/amdgpu: expose the max virtual address
Jammy Zhou [Tue, 12 May 2015 14:46:45 +0000 (22:46 +0800)]
drm/amdgpu: expose the max virtual address

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agodrm/amdgpu: fix context switch
Christian König [Mon, 11 May 2015 13:34:59 +0000 (15:34 +0200)]
drm/amdgpu: fix context switch

Properly protect the state and also handle submission failures.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Monk Liu <monk.liu@amd.com>
9 years agodrm/amdgpu: fix dereference before check
Christian König [Mon, 11 May 2015 12:32:17 +0000 (14:32 +0200)]
drm/amdgpu: fix dereference before check

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Monk Liu <monk.liu@amd.com>
9 years agodrm/amdgpu: cleanup HDP flush handling
Christian König [Mon, 11 May 2015 12:10:34 +0000 (14:10 +0200)]
drm/amdgpu: cleanup HDP flush handling

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Monk Liu <monk.liu@amd.com>
9 years agodrm/amdgpu: always emit GDS switch
Christian König [Mon, 11 May 2015 11:52:09 +0000 (13:52 +0200)]
drm/amdgpu: always emit GDS switch

Otherwise a process can access the GDS data of another process.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Monk Liu <monk.liu@amd.com>
9 years agodrm/amdgpu: add CE preamble flag v3
Jammy Zhou [Mon, 11 May 2015 15:49:34 +0000 (23:49 +0800)]
drm/amdgpu: add CE preamble flag v3

The CE preamble IB can be dropped for the same context

v2: use the flags directly
v3: remove 'CE' for potential preamble usage by other rings

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agodrm/amdgpu: add flags for amdgpu_ib structure
Jammy Zhou [Mon, 11 May 2015 15:41:41 +0000 (23:41 +0800)]
drm/amdgpu: add flags for amdgpu_ib structure

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agodrm/amdgpu: check context id for context switching (v2)
Jammy Zhou [Fri, 8 May 2015 14:18:47 +0000 (22:18 +0800)]
drm/amdgpu: check context id for context switching (v2)

check the filp is not robust, and sometimes different contexts may
have same filp value.

v2: check both filp and ctx_id

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agodrm/amdgpu: add ctx_id to the WAIT_CS IOCTL (v4)
Jammy Zhou [Fri, 8 May 2015 09:29:40 +0000 (17:29 +0800)]
drm/amdgpu: add ctx_id to the WAIT_CS IOCTL (v4)

It is required to support fence per context.

v2: add amdgpu_ctx_get/put
v3: improve get/put
v4: squash hlock fix

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agodrm/amdgpu: allow unaligned memory access (v2)
Jack Xiao [Fri, 8 May 2015 06:46:49 +0000 (14:46 +0800)]
drm/amdgpu: allow unaligned memory access (v2)

Set up the CP and SDMA for proper unaligned memory access.
Required for OpenCL 2.x

v2: udpate commit message

Signed-off-by: Jack Xiao <Jack.Xiao@amd.com>
Reviewed-by: Monk Liu <monk.liu@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agodrm/amdgpu: make the CTX ioctl thread-safe
Marek Olšák [Tue, 5 May 2015 18:52:00 +0000 (20:52 +0200)]
drm/amdgpu: make the CTX ioctl thread-safe

The existing locks were protecting the list, but not the elements.

v2: rename hlock to lock

Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agodrm/amdgpu: remove unsafe context releasing
Marek Olšák [Mon, 4 May 2015 22:56:45 +0000 (00:56 +0200)]
drm/amdgpu: remove unsafe context releasing

If ctx was released between put and get, then "get" would crash.

Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agodrm/amdgpu: fix userptr lockup
Christian König [Mon, 4 May 2015 11:20:36 +0000 (13:20 +0200)]
drm/amdgpu: fix userptr lockup

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Monk Liu <monk.liu@amd.com>
9 years agodrm/amdgpu: fix userptr BO unpin bug (v2)
monk.liu [Thu, 7 May 2015 18:19:18 +0000 (14:19 -0400)]
drm/amdgpu: fix userptr BO unpin bug (v2)

sg could point to array of contigiouse page*, only free page could lead
to memory leak.

v2: use iterator

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>
9 years agodrm/amdgpu: remove AMDGPU_GEM_CREATE_CPU_GTT_UC
Jammy Zhou [Wed, 6 May 2015 10:44:29 +0000 (18:44 +0800)]
drm/amdgpu: remove AMDGPU_GEM_CREATE_CPU_GTT_UC

This flag isn't used by user mode drivers, remove it to avoid
confusion. And rename GTT_WC to GTT_USWC to make it clear.

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu fix amdgpu.dpm=0 (v2)
Sonny Jiang [Thu, 30 Apr 2015 21:12:14 +0000 (17:12 -0400)]
drm/amdgpu fix amdgpu.dpm=0 (v2)

Fix crash when disabling dpm.

v2: agd5f: fix coding style, cleanup commit message

Signed-off-by: Sonny Jiang <sonny.jiang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: memset gds_info struct in info ioctl
Alex Deucher [Thu, 30 Apr 2015 15:47:03 +0000 (11:47 -0400)]
drm/amdgpu: memset gds_info struct in info ioctl

Avoids possibility that info may leak via the uninitialized
_pad element.

Noticed-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: fix error handling in cz_dpm_hw_fini/cz_dpm_suspend
Alex Deucher [Thu, 30 Apr 2015 15:42:54 +0000 (11:42 -0400)]
drm/amdgpu: fix error handling in cz_dpm_hw_fini/cz_dpm_suspend

Need to unlock the mutex on error.

Noticed-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: let bo_list handler start from 1
monk.liu [Mon, 27 Apr 2015 02:38:16 +0000 (10:38 +0800)]
drm/amdgpu: let bo_list handler start from 1

this could prevent mis-understanding, because libdrm side will consider
no bo_list created if handleis zero

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>
9 years agodrm/amdgpu: fix bug occurs when bo_list is NULL
monk.liu [Mon, 27 Apr 2015 07:19:20 +0000 (15:19 +0800)]
drm/amdgpu: fix bug occurs when bo_list is NULL

Still need to handle ibs BO and validate them even bo_list is NULL

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>
9 years agodrm/amdgpu: fix error check issue in amdgpu_mn_invalidate_range_start
Jack Xiao [Mon, 27 Apr 2015 05:45:40 +0000 (13:45 +0800)]
drm/amdgpu: fix error check issue in amdgpu_mn_invalidate_range_start

Signed-off-by: Jack Xiao <Jack.Xiao@amd.com>
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>
9 years agodrm/amdgpu: drop ttm two ended allocation
Alex Deucher [Wed, 22 Apr 2015 18:00:49 +0000 (14:00 -0400)]
drm/amdgpu: drop ttm two ended allocation

amdgpu_bo_create() calls amdgpu_ttm_placement_from_domain()
before ttm_bo_init() is called.  amdgpu_ttm_placement_from_domain()
uses the ttm bo size to determine when to select top down
allocation but since the ttm bo is not initialized yet the
check is always false.  It only took affect when buffers
were validated later.  It also seemed to regress suspend
and resume on some systems possibly due to it not
taking affect in amdgpu_bo_create().

amdgpu_bo_create() and amdgpu_ttm_placement_from_domain()
need to be reworked substantially for this to be optimally
effective.  Re-enable it at that point.

Ported from radeon commit:
a239118a24b3bf9089751068e431dfb63dc4168b

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agodrm/amdgpu: add VI pci ids
Alex Deucher [Mon, 20 Apr 2015 21:37:54 +0000 (17:37 -0400)]
drm/amdgpu: add VI pci ids

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add CIK pci ids
Alex Deucher [Mon, 20 Apr 2015 21:36:52 +0000 (17:36 -0400)]
drm/amdgpu: add CIK pci ids

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: Add initial VI support
Alex Deucher [Mon, 20 Apr 2015 21:31:14 +0000 (17:31 -0400)]
drm/amdgpu: Add initial VI support

This adds initial support for VI asics.  This
includes Iceland, Tonga, and Carrizo.  Our inital
focus as been Carrizo, so there are still gaps in
support for Tonga and Iceland, notably power
management.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: Add support for CIK parts
Alex Deucher [Mon, 20 Apr 2015 21:09:27 +0000 (17:09 -0400)]
drm/amdgpu: Add support for CIK parts

This patch adds support for CIK parts.  These parts
are also supported by radeon which is the preferred
option, so there is a config option to enable support
for CIK parts in amdgpu for testing.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: Do not directly dereference pointers to BIOS area.
Alex Deucher [Fri, 17 Apr 2015 14:50:02 +0000 (10:50 -0400)]
drm/amdgpu: Do not directly dereference pointers to BIOS area.

Use readb() and memcpy_fromio() accessors instead.

Ported from radeon commit:
f2c9e560b406f2f6b14b345c7da33467dee9cdf2

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: fix const warnings in amdgpu_connectors.c
Alex Deucher [Thu, 16 Apr 2015 19:48:09 +0000 (15:48 -0400)]
drm/amdgpu: fix const warnings in amdgpu_connectors.c

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add core driver (v4)
Alex Deucher [Mon, 20 Apr 2015 20:55:21 +0000 (16:55 -0400)]
drm/amdgpu: add core driver (v4)

This adds the non-asic specific core driver code.

v2: remove extra kconfig option
v3: implement minor fixes from Fengguang Wu
v4: fix cast in amdgpu_ucode.c

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add amdgpu.h (v2)
Alex Deucher [Mon, 20 Apr 2015 20:51:00 +0000 (16:51 -0400)]
drm/amdgpu: add amdgpu.h (v2)

This is the main header file for amdgpu.

v2: remove stable comments

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add amdgpu_family.h
Alex Deucher [Mon, 20 Apr 2015 20:49:21 +0000 (16:49 -0400)]
drm/amdgpu: add amdgpu_family.h

This header defines asic families and attributes.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add ppsmc.h
Alex Deucher [Mon, 20 Apr 2015 20:48:06 +0000 (16:48 -0400)]
drm/amdgpu: add ppsmc.h

This header provides the smc message interface for the driver.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add clearstate_defs.h
Alex Deucher [Mon, 20 Apr 2015 20:46:13 +0000 (16:46 -0400)]
drm/amdgpu: add clearstate_defs.h

This header provides for format for the GCA blocks
clear state (i.e., default state).  Each GCA version
has a specific clear state.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add atombios headers
Alex Deucher [Mon, 20 Apr 2015 20:44:53 +0000 (16:44 -0400)]
drm/amdgpu: add atombios headers

These headers define the atombios table structure and
driver interface.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add amdgpu uapi header (v4)
Alex Deucher [Mon, 20 Apr 2015 20:42:01 +0000 (16:42 -0400)]
drm/amdgpu: add amdgpu uapi header (v4)

This header defines the ioctl interface to the driver.

v2: remove stale tiling defines
v3: add appropriate padding
v4: remove executable bits on header

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add VCE 3.0 register headers
Alex Deucher [Thu, 16 Apr 2015 19:36:06 +0000 (15:36 -0400)]
drm/amdgpu: add VCE 3.0 register headers

These are register headers for the VCE (Video Codec Engine)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add VCE 2.0 register headers
Alex Deucher [Thu, 16 Apr 2015 19:35:39 +0000 (15:35 -0400)]
drm/amdgpu: add VCE 2.0 register headers

These are register headers for the VCE (Video Codec Engine)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add UVD 6.0 register headers
Alex Deucher [Thu, 16 Apr 2015 19:34:40 +0000 (15:34 -0400)]
drm/amdgpu: add UVD 6.0 register headers

These are register headers for the UVD (Universal Video Decoder)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add UVD 5.0 register headers
Alex Deucher [Thu, 16 Apr 2015 19:34:14 +0000 (15:34 -0400)]
drm/amdgpu: add UVD 5.0 register headers

These are register headers for the UVD (Universal Video Decoder)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add UVD 4.2 register headers
Alex Deucher [Thu, 16 Apr 2015 19:33:44 +0000 (15:33 -0400)]
drm/amdgpu: add UVD 4.2 register headers

These are register headers for the UVD (Universal Video Decoder)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add SMU 8.0 register headers
Alex Deucher [Thu, 16 Apr 2015 19:32:09 +0000 (15:32 -0400)]
drm/amdgpu: add SMU 8.0 register headers

These are register headers for the SMU (System Management Unit)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add SMU 7.1.2 register headers
Alex Deucher [Thu, 16 Apr 2015 19:31:26 +0000 (15:31 -0400)]
drm/amdgpu: add SMU 7.1.2 register headers

These are register headers for the SMU (System Management Unit)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add SMU 7.1.1 register headers
Alex Deucher [Thu, 16 Apr 2015 19:30:46 +0000 (15:30 -0400)]
drm/amdgpu: add SMU 7.1.1 register headers

These are register headers for the SMU (System Management Unit)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add SMU 7.1.0 register headers
Alex Deucher [Thu, 16 Apr 2015 19:30:14 +0000 (15:30 -0400)]
drm/amdgpu: add SMU 7.1.0 register headers

These are register headers for the SMU (System Management Unit)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add SMU 7.0.1 register headers
Alex Deucher [Thu, 16 Apr 2015 19:29:30 +0000 (15:29 -0400)]
drm/amdgpu: add SMU 7.0.1 register headers

These are register headers for the SMU (System Management Unit)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add SMU 7.0.0 register headers
Alex Deucher [Thu, 16 Apr 2015 19:28:58 +0000 (15:28 -0400)]
drm/amdgpu: add SMU 7.0.0 register headers

These are register headers for the SMU (System Management Unit)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add OSS 3.0.1 register headers
Alex Deucher [Thu, 16 Apr 2015 19:27:02 +0000 (15:27 -0400)]
drm/amdgpu: add OSS 3.0.1 register headers

These are register headers for the OSS (OS Services)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add OSS 3.0 register headers
Alex Deucher [Thu, 16 Apr 2015 19:27:33 +0000 (15:27 -0400)]
drm/amdgpu: add OSS 3.0 register headers

These are register headers for the OSS (OS Services)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add OSS 2.4 register headers
Alex Deucher [Thu, 16 Apr 2015 19:26:30 +0000 (15:26 -0400)]
drm/amdgpu: add OSS 2.4 register headers

These are register headers for the OSS (OS Services)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add OSS 2.0 register headers
Alex Deucher [Thu, 16 Apr 2015 19:25:48 +0000 (15:25 -0400)]
drm/amdgpu: add OSS 2.0 register headers

These are register headers for the OSS (OS Services)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add GMC 8.2 register headers
Alex Deucher [Thu, 16 Apr 2015 19:24:40 +0000 (15:24 -0400)]
drm/amdgpu: add GMC 8.2 register headers

These are register headers for the GMC (Graphics Memory Controller)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add GMC 8.1 register headers
Alex Deucher [Thu, 16 Apr 2015 19:24:04 +0000 (15:24 -0400)]
drm/amdgpu: add GMC 8.1 register headers

These are register headers for the GMC (Graphics Memory Controller)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add GMC 7.1 register headers
Alex Deucher [Thu, 16 Apr 2015 19:23:29 +0000 (15:23 -0400)]
drm/amdgpu: add GMC 7.1 register headers

These are register headers for the GMC (Graphics Memory Controller)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add GMC 7.0 register headers
Alex Deucher [Thu, 16 Apr 2015 19:22:19 +0000 (15:22 -0400)]
drm/amdgpu: add GMC 7.0 register headers

These are register headers for the GMC (Graphics Memory Controller)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add GCA 8.0 register headers
Alex Deucher [Thu, 16 Apr 2015 19:21:21 +0000 (15:21 -0400)]
drm/amdgpu: add GCA 8.0 register headers

These are register headers for the GCA (Graphics and Compute Array)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add GCA 7.2 register headers
Alex Deucher [Thu, 16 Apr 2015 19:20:39 +0000 (15:20 -0400)]
drm/amdgpu: add GCA 7.2 register headers

These are register headers for the GCA (Graphics and Compute Array)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add GCA 7.0 register headers
Alex Deucher [Thu, 16 Apr 2015 19:19:28 +0000 (15:19 -0400)]
drm/amdgpu: add GCA 7.0 register headers

These are register headers for the GCA (Graphics and Compute Array)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add DCE 11.0 register headers
Alex Deucher [Thu, 16 Apr 2015 19:18:28 +0000 (15:18 -0400)]
drm/amdgpu: add DCE 11.0 register headers

These are register headers for the DCE (Display and Composition Engine)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add DCE 10.0 register headers
Alex Deucher [Thu, 16 Apr 2015 19:17:56 +0000 (15:17 -0400)]
drm/amdgpu: add DCE 10.0 register headers

These are register headers for the DCE (Display and Composition Engine)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add DCE 8.0 register headers
Alex Deucher [Thu, 16 Apr 2015 19:17:19 +0000 (15:17 -0400)]
drm/amdgpu: add DCE 8.0 register headers

These are register headers for the DCE (Display and Composition Engine)
block on the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add BIF 5.1 register headers
Alex Deucher [Thu, 16 Apr 2015 19:16:08 +0000 (15:16 -0400)]
drm/amdgpu: add BIF 5.1 register headers

These are register headers for the BIF (Bus InterFace) block on
the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add BIF 5.0 register headers
Alex Deucher [Thu, 16 Apr 2015 19:15:36 +0000 (15:15 -0400)]
drm/amdgpu: add BIF 5.0 register headers

These are register headers for the BIF (Bus InterFace) block on
the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agodrm/amdgpu: add BIF 4.1 register headers
Alex Deucher [Thu, 16 Apr 2015 19:06:12 +0000 (15:06 -0400)]
drm/amdgpu: add BIF 4.1 register headers

These are register headers for the BIF (Bus InterFace) block on
the GPU.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>