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
Yair Shachar
fbeb661bfa
drm/amdkfd: Add skeleton H/W debugger module support
...
This patch adds the skeleton H/W debugger module support. This code
enables registration and unregistration of a single HSA process at a
time.
The module saves the process's pasid and use it to verify that only the
registered process is allowed to execute debugger operations through the
kernel driver.
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:32:28 +03:00
Yair Shachar
992839ad64
drm/amdkfd: Add static user-mode queues support
...
This patch adds support for static user-mode queues in QCM.
Queues which are designated as static can NOT be preempted by
the CP microcode when it is executing its scheduling algorithm.
This is needed for supporting the debugger feature, because we
can't allow the CP to preempt queues which are currently being debugged.
The number of queues that can be designated as static is limited by the
number of HQDs (Hardware Queue Descriptors).
Signed-off-by: Yair Shachar <yair.shachar@amd.com >
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com >
2015-06-03 11:32:28 +03:00