Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
struct device_process_node was allocated during process registration but
not released at process deregistration.
Reviewed-by: Oded Gabbay <oded.gabbay@amd.com>
Signed-off-by: Jay Cornwall <jay.cornwall@amd.com>
|
|
This patch was done due to sparse warning. It changes the definition of
doorbell_ptr in queue_properties to be with __iomem attribute, so it would
match the type which the doorbell module functions are returning.
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
Conflicts:
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.c
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Since the user space may call open() more that once from the same process,
the aperture initialization should be moved from kfd_open()
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
The page offset is 12 bits. For example if we have an
8 GB VM, we'd need 33 bits. The number of bits needed
for PD + PT is 21 (33 - 12 or log2(8) + 18), not 20
(log2(8) + 17).
Noticed by Alexey during code review.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
|
|
Always need to set bit 0 of RLC_CGTT_MGCG_OVERRIDE
to avoid unreliable doorbell updates in some cases.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Local memory initialization should be done once per process per device
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Reviewed-by: Alexey Skidanov <Alexey.skidanov@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Reviewed-by: Alexey Skidanov <Alexey.skidanov@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
Conflicts:
drivers/gpu/drm/radeon/radeon_kfd.c
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
This patch change the calls throughout the amdkfd driver from the old kfd-->kgd
interface to the new kfd gtt sa inside amdkfd
Reviewed-by: Alexey Skidanov <Alexey.skidanov@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
Conflicts:
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
This patch changes the calls to allocate the gart memory for amdkfd from the
old interface (radeon_sa) to the new one (kfd_gtt_sa)
v2: Modify call to interface because of interface change
Reviewed-by: Alexey Skidanov <Alexey.skidanov@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
This patch enhances the calculation of the gart buffer size that is needed for
the amdkfd operation.
It takes into account maximum number of MQDs, runlist packets, kernel queues
and reserves 512KB for other misc allocations.
The total size is just shy of 4MB, for 32 processes and 128 queues per process.
v2: Calculation of gart buffer size was slightly fixed
Reviewed-by: Alexey Skidanov <Alexey.skidanov@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
This patch adds new kfd gtt sub-allocator functions that service the amdkfd
driver when it wants to use gtt memory.
The sub-allocator uses a bitmap to handle the memory area that was transfered
to it during init. It divides the memory area into chunks, according to chunk
size parameter.
The allocation function will allocate contiguous chunks from that memory area,
according to the requested size. If the requested size is smaller than the
chunk size, than a single chunk will be allocated.
v2: Use the new fields of gtt gpu address and cpu ptr from kfd_dev. Also, added
a check to the allocate function, that checks if the requested size is larger
than the entire buffer (optimization)
Reviewed-by: Alexey Skidanov <Alexey.skidanov@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
This patch adds new fields to kfd_dev struct that are necessary for the new kfd
gtt sa module
v2: Save the gtt buffer gpu address and cpu ptr as fields instead of
using kfd_mem
Reviewed-by: Alexey Skidanov <Alexey.skidanov@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
This patch adds the implementation of the gtt interface functions.
The allocate function will allocate a single bo, pin and map it to kernel
memory.
v2: Return the gpu address and cpu ptr as arguments
v3: Change name of gart allocation function
Reviewed-by: Alexey Skidanov <Alexey.skidanov@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
This patch adds two new functions to the kfd-->kgd interface:
init_gtt_mem_allocation, which allocate a buffer on the gart aperture.
The buffer can be used for mqds, hpds, kernel queue, fence and runlists.
free_gtt_mem, which frees a buffer that was allocated on the gart aperture.
The init_gtt_mem function is called only once per GPU device. It allocates a
buffer which is large enough for all the kfd needs for that device.
v2: Return the gpu address and cpu ptr as arguments
Reviewed-by: Alexey Skidanov <Alexey.skidanov@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
IOCTLs parameters padded such that overall structure
size will be the same on 32/64 bit
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com>
Reviewed-by: Oded Gabbay <oded.gabbay@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
This patch checks if dev->gpu pointer is null before accessing it in the
node_show function in kfd_topology.c
This situation may occur when amdkfd is loaded and there is a GPU with a CRAT
table, but that GPU isn't supported by amdkfd
Reviewed-by: Alexey Skidanov <Alexey.Skidanov@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
Conflicts:
drivers/gpu/drm/amd/amdkfd/kfd_topology.c
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Add number of watch points to node capabilities
Signed-off-by: Alexey Skidanov <Alexey.Skidanov@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
Conflicts:
drivers/gpu/drm/amd/amdkfd/kfd_device.c
drivers/gpu/drm/amd/amdkfd/kfd_priv.h
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Yair Shachar <yair.shachar@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Yair Shachar <yair.shachar@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|
|
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
|