diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2167-drm-amdgpu-Add-struct-kiq_pm4_funcs-into-kiq-struct.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2167-drm-amdgpu-Add-struct-kiq_pm4_funcs-into-kiq-struct.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2167-drm-amdgpu-Add-struct-kiq_pm4_funcs-into-kiq-struct.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2167-drm-amdgpu-Add-struct-kiq_pm4_funcs-into-kiq-struct.patch new file mode 100644 index 00000000..1e58b2c3 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2167-drm-amdgpu-Add-struct-kiq_pm4_funcs-into-kiq-struct.patch @@ -0,0 +1,57 @@ +From dbcbb067f275c5daa12f6d0524f9c91fd821e95b Mon Sep 17 00:00:00 2001 +From: Rex Zhu <Rex.Zhu@amd.com> +Date: Wed, 22 Aug 2018 11:44:20 +0800 +Subject: [PATCH 2167/2940] drm/amdgpu: Add struct kiq_pm4_funcs into kiq + struct + +kiq can support 4 pm4 scheduler packets +set_resource, map_queues, unmap_queues, query_status. + +Reviewed-by: Alex Deucher <alexander.deucher@amd.com> +Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> +Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h +index f2441c02f9db..14d6f01db27b 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h +@@ -55,12 +55,32 @@ struct amdgpu_mec { + DECLARE_BITMAP(queue_bitmap, AMDGPU_MAX_COMPUTE_QUEUES); + }; + ++struct kiq_pm4_funcs { ++ /* Support ASIC-specific kiq pm4 packets*/ ++ void (*kiq_set_resources)(struct amdgpu_ring *kiq_ring, ++ uint64_t queue_mask); ++ void (*kiq_map_queues)(struct amdgpu_ring *kiq_ring, ++ struct amdgpu_ring *ring); ++ void (*kiq_unmap_queues)(struct amdgpu_ring *kiq_ring, ++ struct amdgpu_ring *ring, bool reset); ++ void (*kiq_query_status)(struct amdgpu_ring *kiq_ring, ++ struct amdgpu_ring *ring, ++ u64 addr, ++ u64 seq); ++ /* Packet sizes */ ++ int set_resources_size; ++ int map_queues_size; ++ int unmap_queues_size; ++ int query_status_size; ++}; ++ + struct amdgpu_kiq { + u64 eop_gpu_addr; + struct amdgpu_bo *eop_obj; + spinlock_t ring_lock; + struct amdgpu_ring ring; + struct amdgpu_irq_src irq; ++ const struct kiq_pm4_funcs *pmf; + }; + + /* +-- +2.17.1 + |