Jack Xiao
7ab7e8a409
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 >
2015-06-03 21:03:20 -04:00
Alex Deucher
2d8bd23a05
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:
a239118a24
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 >
2015-06-03 21:03:20 -04:00
Alex Deucher
1256a8b89e
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 >
2015-06-03 21:03:19 -04:00
Alex Deucher
89330c391b
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 >
2015-06-03 21:03:18 -04:00
Alex Deucher
aaa36a976b
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 >
2015-06-03 21:03:17 -04:00
Alex Deucher
a2e73f56fa
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 >
2015-06-03 21:03:17 -04:00
Alex Deucher
18da4340e6
drm/amdgpu: Do not directly dereference pointers to BIOS area.
...
Use readb() and memcpy_fromio() accessors instead.
Ported from radeon commit:
f2c9e560b4
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 >
2015-06-03 21:03:16 -04:00
Alex Deucher
17b10f941f
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 >
2015-06-03 21:03:15 -04:00
Alex Deucher
d38ceaf99e
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 >
2015-06-03 21:03:15 -04:00
Alex Deucher
97b2e202fb
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 >
2015-06-03 21:03:14 -04:00
Alex Deucher
8a94f39580
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 >
2015-06-03 21:03:13 -04:00
Alex Deucher
b111f7e4d2
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 >
2015-06-03 21:03:13 -04:00
Alex Deucher
bd098eb0ee
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 >
2015-06-03 21:03:12 -04:00
Alex Deucher
a02860aa2b
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 >
2015-06-03 21:03:11 -04:00
Alex Deucher
c481a6802e
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 >
2015-06-03 21:03:10 -04:00
Alex Deucher
683595a6f3
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 >
2015-06-03 21:03:09 -04:00
Alex Deucher
3b1e08cb29
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 >
2015-06-03 21:03:08 -04:00
Alex Deucher
7aa27c3773
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 >
2015-06-03 21:03:08 -04:00
Alex Deucher
8630f839e0
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 >
2015-06-03 21:03:07 -04:00
Alex Deucher
47e6898750
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 >
2015-06-03 21:03:06 -04:00
Alex Deucher
bc136e1329
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 >
2015-06-03 21:03:05 -04:00
Alex Deucher
c4712a10e7
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 >
2015-06-03 21:03:05 -04:00
Alex Deucher
90593ac0da
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 >
2015-06-03 21:03:04 -04:00
Alex Deucher
a4efaabae5
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 >
2015-06-03 21:03:03 -04:00
Alex Deucher
9b289c2610
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 >
2015-06-03 21:03:03 -04:00
Alex Deucher
a1ef4a8aa1
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 >
2015-06-03 21:03:02 -04:00
Alex Deucher
6d5506b617
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 >
2015-06-03 21:03:01 -04:00
Alex Deucher
3f2ec6f51d
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 >
2015-06-03 21:03:00 -04:00
Alex Deucher
599bd21552
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 >
2015-06-03 21:03:00 -04:00
Alex Deucher
8f54b7c9eb
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 >
2015-06-03 21:02:59 -04:00
Alex Deucher
bd6a6b43fd
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 >
2015-06-03 21:02:58 -04:00
Alex Deucher
973305270b
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 >
2015-06-03 21:02:57 -04:00
Alex Deucher
52fb57e7ee
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 >
2015-06-03 21:02:57 -04:00
Alex Deucher
675892a184
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 >
2015-06-03 21:02:56 -04:00
Alex Deucher
46d5a27269
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 >
2015-06-03 21:02:55 -04:00
Alex Deucher
9f24d8ce25
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 >
2015-06-03 21:02:55 -04:00
Alex Deucher
d180bab3a8
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 >
2015-06-03 21:02:54 -04:00
Alex Deucher
36cfed855d
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 >
2015-06-03 21:02:53 -04:00
Alex Deucher
26159c86dd
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 >
2015-06-03 21:02:52 -04:00
Alex Deucher
3e5343bd7c
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 >
2015-06-03 21:02:51 -04:00
Alex Deucher
848ebfd731
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 >
2015-06-03 21:02:51 -04:00
Alex Deucher
054e4c60fe
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 >
2015-06-03 21:02:50 -04:00
Alexey Skidanov
826f5de84c
drm/amdkfd: fix topology bug with capability attr.
...
This patch fixes a bug where the number of watch points
was shown before it was actually calculated
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com >
Cc: stable@vger.kernel.org
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com >
2015-06-03 21:45:54 +03:00
Ben Goz
c3447e8150
drm/amdkfd: Enforce kill all waves on process termination
...
This commit makes sure that on process termination, after
we're destroying all the active queues, we're killing all the
existing wave front of the current process.
By doing this we're making sure that if any of the CUs were blocked
by infinite loop we're enforcing it to end the shader explicitly.
Signed-off-by: Ben Goz <ben.goz@amd.com >
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com >
2015-06-03 11:34:47 +03:00
Alexey Skidanov
edad40239f
drm/radeon: Add ATC VMID<-->PASID functions to kfd->kgd
...
This patch adds three new interfaces to kfd2kgd interface file of radeon.
The interfaces are:
- Check if a specific VMID has a valid PASID mapping
- Retrieve the PASID which is mapped to a specific VMID
- Issue a VMID invalidation request to the ATC
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com >
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com >
2015-06-03 11:34:46 +03:00
Yair Shachar
f8bd13338a
drm/amdkfd: Implement address watch debugger IOCTL
...
v2:
- rename get_dbgmgr_mutex to kfd_get_dbgmgr_mutex to namespace it
- change void* to uint64_t inside ioctl arguments
- use kmalloc instead of kzalloc because we use copy_from_user
immediately after it
Signed-off-by: Yair Shachar <yair.shachar@amd.com >
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com >
2015-06-03 11:34:35 +03:00
Yair Shachar
9448458998
drm/amdkfd: Implement wave control debugger IOCTL
...
v2:
- rename get_dbgmgr_mutex to kfd_get_dbgmgr_mutex to namespace it
- change void* to uint64_t inside ioctl arguments
- use kmalloc instead of kzalloc because we use copy_from_user
immediately after it
Signed-off-by: Yair Shachar <yair.shachar@amd.com >
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com >
2015-06-03 11:33:26 +03:00
Yair Shachar
037ed9a2ac
drm/amdkfd: Implement (un)register debugger IOCTLs
...
v2: rename get_dbgmgr_mutex to kfd_get_dbgmgr_mutex to namespace it
Signed-off-by: Yair Shachar <yair.shachar@amd.com >
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com >
2015-06-03 11:33:07 +03:00
Yair Shachar
e2e9afc4a3
drm/amdkfd: Add address watch operation to debugger
...
The address watch operation gives the ability to specify watch points
which will generate a shader breakpoint, based on a specified single
address or range of addresses.
There is support for read/write/any access modes.
Signed-off-by: Yair Shachar <yair.shachar@amd.com >
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com >
2015-06-03 11:33:06 +03:00
Yair Shachar
788bf83db3
drm/amdkfd: Add wave control operation to debugger
...
The wave control operation supports several command types executed upon
existing wave fronts that belong to the currently debugged process.
The available commands are:
HALT - Freeze wave front(s) execution
RESUME - Resume freezed wave front(s) execution
KILL - Kill existing wave front(s)
Signed-off-by: Yair Shachar <yair.shachar@amd.com >
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com >
2015-06-03 11:33:06 +03:00