diff options
Diffstat (limited to 'meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5629-drm-amdgpu-Remove-pm_map_process_cik.patch')
-rw-r--r-- | meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5629-drm-amdgpu-Remove-pm_map_process_cik.patch | 347 |
1 files changed, 0 insertions, 347 deletions
diff --git a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5629-drm-amdgpu-Remove-pm_map_process_cik.patch b/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5629-drm-amdgpu-Remove-pm_map_process_cik.patch deleted file mode 100644 index 858d5d85..00000000 --- a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5629-drm-amdgpu-Remove-pm_map_process_cik.patch +++ /dev/null @@ -1,347 +0,0 @@ -From 893a19c112bcae9c2118041ed5432d69a371fc0b Mon Sep 17 00:00:00 2001 -From: Felix Kuehling <Felix.Kuehling@amd.com> -Date: Tue, 27 Mar 2018 15:23:19 -0400 -Subject: [PATCH 5629/5725] drm/amdgpu: Remove pm_map_process_cik - -This deprecated packet format does not support scratch memory, which -has long been required by the runtime. It was not upstreamed and can -be removed. - -Now CIK and VI use the same packets across the board, so there is no -more need to maintain a separate function table for CIK. The FW -version check is also no longer needed. - -Change-Id: Icb2d9fb0e83eb0dc1547fd85bf4cd971b4b08fec -Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> ---- - .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 4 +- - drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_cik.c | 79 ---------------------- - drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_v9.c | 2 +- - drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_vi.c | 26 +++---- - drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c | 10 ++- - drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 31 +-------- - 6 files changed, 23 insertions(+), 129 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c -index 8c04f7a2..b0c159a 100644 ---- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c -+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c -@@ -885,7 +885,7 @@ static void uninitialize(struct device_queue_manager *dqm) - static int start_nocpsch(struct device_queue_manager *dqm) - { - init_interrupts(dqm); -- return pm_init(&dqm->packets, dqm, dqm->dev->mec_fw_version); -+ return pm_init(&dqm->packets, dqm); - } - - static int stop_nocpsch(struct device_queue_manager *dqm) -@@ -1030,7 +1030,7 @@ static int start_cpsch(struct device_queue_manager *dqm) - - retval = 0; - -- retval = pm_init(&dqm->packets, dqm, dqm->dev->mec_fw_version); -+ retval = pm_init(&dqm->packets, dqm); - if (retval) - goto fail_packet_manager_init; - -diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_cik.c b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_cik.c -index b8a7c4a..b48c29f 100644 ---- a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_cik.c -+++ b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_cik.c -@@ -53,82 +53,3 @@ static void submit_packet_cik(struct kernel_queue *kq) - write_kernel_doorbell(kq->queue->properties.doorbell_ptr, - kq->pending_wptr); - } -- --static int pm_map_process_cik(struct packet_manager *pm, uint32_t *buffer, -- struct qcm_process_device *qpd) --{ -- struct pm4_map_process *packet; -- -- packet = (struct pm4_map_process *)buffer; -- -- memset(buffer, 0, sizeof(struct pm4_map_process)); -- -- packet->header.u32all = pm_build_pm4_header(IT_MAP_PROCESS, -- sizeof(struct pm4_map_process)); -- packet->bitfields2.diq_enable = (qpd->is_debug) ? 1 : 0; -- packet->bitfields2.process_quantum = 1; -- packet->bitfields2.pasid = qpd->pqm->process->pasid; -- packet->bitfields3.page_table_base = qpd->page_table_base; -- packet->bitfields10.gds_size = qpd->gds_size; -- packet->bitfields10.num_gws = qpd->num_gws; -- packet->bitfields10.num_oac = qpd->num_oac; -- packet->bitfields10.num_queues = (qpd->is_debug) ? 0 : qpd->queue_count; -- -- packet->sh_mem_config = qpd->sh_mem_config; -- packet->sh_mem_bases = qpd->sh_mem_bases; -- packet->sh_mem_ape1_base = qpd->sh_mem_ape1_base; -- packet->sh_mem_ape1_limit = qpd->sh_mem_ape1_limit; -- -- packet->gds_addr_lo = lower_32_bits(qpd->gds_context_area); -- packet->gds_addr_hi = upper_32_bits(qpd->gds_context_area); -- -- return 0; --} -- --static uint32_t pm_get_map_process_packet_size_cik(void) --{ -- return sizeof(struct pm4_map_process); --} -- -- --static struct packet_manager_funcs kfd_cik_pm_funcs = { -- .map_process = pm_map_process_cik, -- .runlist = pm_runlist_vi, -- .set_resources = pm_set_resources_vi, -- .map_queues = pm_map_queues_vi, -- .unmap_queues = pm_unmap_queues_vi, -- .query_status = pm_query_status_vi, -- .release_mem = pm_release_mem_vi, -- .get_map_process_packet_size = pm_get_map_process_packet_size_cik, -- .get_runlist_packet_size = pm_get_runlist_packet_size_vi, -- .get_set_resources_packet_size = pm_get_set_resources_packet_size_vi, -- .get_map_queues_packet_size = pm_get_map_queues_packet_size_vi, -- .get_unmap_queues_packet_size = pm_get_unmap_queues_packet_size_vi, -- .get_query_status_packet_size = pm_get_query_status_packet_size_vi, -- .get_release_mem_packet_size = pm_get_release_mem_packet_size_vi, --}; -- --static struct packet_manager_funcs kfd_cik_scratch_pm_funcs = { -- .map_process = pm_map_process_vi, -- .runlist = pm_runlist_vi, -- .set_resources = pm_set_resources_vi, -- .map_queues = pm_map_queues_vi, -- .unmap_queues = pm_unmap_queues_vi, -- .query_status = pm_query_status_vi, -- .release_mem = pm_release_mem_vi, -- .get_map_process_packet_size = pm_get_map_process_packet_size_vi, -- .get_runlist_packet_size = pm_get_runlist_packet_size_vi, -- .get_set_resources_packet_size = pm_get_set_resources_packet_size_vi, -- .get_map_queues_packet_size = pm_get_map_queues_packet_size_vi, -- .get_unmap_queues_packet_size = pm_get_unmap_queues_packet_size_vi, -- .get_query_status_packet_size = pm_get_query_status_packet_size_vi, -- .get_release_mem_packet_size = pm_get_release_mem_packet_size_vi, --}; -- --void kfd_pm_func_init_cik(struct packet_manager *pm, uint16_t fw_ver) --{ -- if (fw_ver >= KFD_SCRATCH_KV_FW_VER) -- pm->pmf = &kfd_cik_scratch_pm_funcs; -- else -- pm->pmf = &kfd_cik_pm_funcs; --} -diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_v9.c b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_v9.c -index 5fe4f60..b53e5ee 100644 ---- a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_v9.c -+++ b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_v9.c -@@ -370,7 +370,7 @@ static struct packet_manager_funcs kfd_v9_pm_funcs = { - .get_release_mem_packet_size = pm_get_release_mem_packet_size_v9, - }; - --void kfd_pm_func_init_v9(struct packet_manager *pm, uint16_t fw_ver) -+void kfd_pm_func_init_v9(struct packet_manager *pm) - { - pm->pmf = &kfd_v9_pm_funcs; - } -diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_vi.c b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_vi.c -index 13ff604d..e798873 100644 ---- a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_vi.c -+++ b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_vi.c -@@ -67,7 +67,7 @@ static void submit_packet_vi(struct kernel_queue *kq) - kq->pending_wptr); - } - --int pm_map_process_vi(struct packet_manager *pm, -+static int pm_map_process_vi(struct packet_manager *pm, - uint32_t *buffer, struct qcm_process_device *qpd) - { - struct pm4_mes_map_process *packet; -@@ -112,7 +112,7 @@ unsigned int pm_build_pm4_header(unsigned int opcode, size_t packet_size) - return header.u32All; - } - --int pm_runlist_vi(struct packet_manager *pm, uint32_t *buffer, -+static int pm_runlist_vi(struct packet_manager *pm, uint32_t *buffer, - uint64_t ib, size_t ib_size_in_dwords, bool chain) - { - struct pm4_mes_runlist *packet; -@@ -150,7 +150,7 @@ int pm_runlist_vi(struct packet_manager *pm, uint32_t *buffer, - return 0; - } - --int pm_map_queues_vi(struct packet_manager *pm, uint32_t *buffer, -+static int pm_map_queues_vi(struct packet_manager *pm, uint32_t *buffer, - struct queue *q, bool is_static) - { - struct pm4_mes_map_queues *packet; -@@ -237,7 +237,7 @@ int pm_set_resources_vi(struct packet_manager *pm, uint32_t *buffer, - return 0; - } - --int pm_unmap_queues_vi(struct packet_manager *pm, uint32_t *buffer, -+static int pm_unmap_queues_vi(struct packet_manager *pm, uint32_t *buffer, - enum kfd_queue_type type, - enum kfd_unmap_queues_filter filter, - uint32_t filter_param, bool reset, -@@ -302,7 +302,7 @@ int pm_unmap_queues_vi(struct packet_manager *pm, uint32_t *buffer, - - } - --int pm_query_status_vi(struct packet_manager *pm, uint32_t *buffer, -+static int pm_query_status_vi(struct packet_manager *pm, uint32_t *buffer, - uint64_t fence_address, uint32_t fence_value) - { - struct pm4_mes_query_status *packet; -@@ -329,7 +329,7 @@ int pm_query_status_vi(struct packet_manager *pm, uint32_t *buffer, - } - - --uint32_t pm_release_mem_vi(uint64_t gpu_addr, uint32_t *buffer) -+static uint32_t pm_release_mem_vi(uint64_t gpu_addr, uint32_t *buffer) - { - struct pm4_mec_release_mem *packet; - -@@ -358,12 +358,12 @@ uint32_t pm_release_mem_vi(uint64_t gpu_addr, uint32_t *buffer) - return sizeof(struct pm4_mec_release_mem) / sizeof(unsigned int); - } - --uint32_t pm_get_map_process_packet_size_vi(void) -+static uint32_t pm_get_map_process_packet_size_vi(void) - { - return sizeof(struct pm4_mes_map_process); - } - --uint32_t pm_get_runlist_packet_size_vi(void) -+static uint32_t pm_get_runlist_packet_size_vi(void) - { - return sizeof(struct pm4_mes_runlist); - } -@@ -373,22 +373,22 @@ uint32_t pm_get_set_resources_packet_size_vi(void) - return sizeof(struct pm4_mes_set_resources); - } - --uint32_t pm_get_map_queues_packet_size_vi(void) -+static uint32_t pm_get_map_queues_packet_size_vi(void) - { - return sizeof(struct pm4_mes_map_queues); - } - --uint32_t pm_get_unmap_queues_packet_size_vi(void) -+static uint32_t pm_get_unmap_queues_packet_size_vi(void) - { - return sizeof(struct pm4_mes_unmap_queues); - } - --uint32_t pm_get_query_status_packet_size_vi(void) -+static uint32_t pm_get_query_status_packet_size_vi(void) - { - return sizeof(struct pm4_mes_query_status); - } - --uint32_t pm_get_release_mem_packet_size_vi(void) -+static uint32_t pm_get_release_mem_packet_size_vi(void) - { - return sizeof(struct pm4_mec_release_mem); - } -@@ -411,7 +411,7 @@ static struct packet_manager_funcs kfd_vi_pm_funcs = { - .get_release_mem_packet_size = pm_get_release_mem_packet_size_vi, - }; - --void kfd_pm_func_init_vi(struct packet_manager *pm, uint16_t fw_ver) -+void kfd_pm_func_init_vi(struct packet_manager *pm) - { - pm->pmf = &kfd_vi_pm_funcs; - } -diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c -index 98c89d2..8abefd7 100644 ---- a/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c -+++ b/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c -@@ -217,8 +217,7 @@ static int pm_create_runlist_ib(struct packet_manager *pm, - return retval; - } - --int pm_init(struct packet_manager *pm, struct device_queue_manager *dqm, -- uint16_t fw_ver) -+int pm_init(struct packet_manager *pm, struct device_queue_manager *dqm) - { - pm->dqm = dqm; - mutex_init(&pm->lock); -@@ -232,18 +231,17 @@ int pm_init(struct packet_manager *pm, struct device_queue_manager *dqm, - switch (pm->dqm->dev->device_info->asic_family) { - case CHIP_KAVERI: - case CHIP_HAWAII: -- kfd_pm_func_init_cik(pm, fw_ver); -- break; -+ /* PM4 packet structures on CIK are the same as on VI */ - case CHIP_CARRIZO: - case CHIP_TONGA: - case CHIP_FIJI: - case CHIP_POLARIS10: - case CHIP_POLARIS11: -- kfd_pm_func_init_vi(pm, fw_ver); -+ kfd_pm_func_init_vi(pm); - break; - case CHIP_VEGA10: - case CHIP_RAVEN: -- kfd_pm_func_init_v9(pm, fw_ver); -+ kfd_pm_func_init_v9(pm); - break; - default: - BUG(); -diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h -index bca1322..fe25058 100644 ---- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h -+++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h -@@ -984,8 +984,7 @@ struct packet_manager_funcs { - - }; - --int pm_init(struct packet_manager *pm, struct device_queue_manager *dqm, -- uint16_t fw_ver); -+int pm_init(struct packet_manager *pm, struct device_queue_manager *dqm); - void pm_uninit(struct packet_manager *pm); - int pm_send_set_resources(struct packet_manager *pm, - struct scheduling_resources *res); -@@ -1002,36 +1001,12 @@ void pm_release_ib(struct packet_manager *pm); - - /* Following PM funcs can be shared among CIK and VI */ - unsigned int pm_build_pm4_header(unsigned int opcode, size_t packet_size); --int pm_map_process_vi(struct packet_manager *pm, -- uint32_t *buffer, struct qcm_process_device *qpd); --int pm_runlist_vi(struct packet_manager *pm, uint32_t *buffer, -- uint64_t ib, size_t ib_size_in_dwords, bool chain); --int pm_map_queues_vi(struct packet_manager *pm, uint32_t *buffer, -- struct queue *q, bool is_static); - int pm_set_resources_vi(struct packet_manager *pm, uint32_t *buffer, - struct scheduling_resources *res); --int pm_unmap_queues_vi(struct packet_manager *pm, uint32_t *buffer, -- enum kfd_queue_type type, -- enum kfd_unmap_queues_filter filter, -- uint32_t filter_param, bool reset, -- unsigned int sdma_engine); --int pm_query_status_vi(struct packet_manager *pm, uint32_t *buffer, -- uint64_t fence_address, uint32_t fence_value); --uint32_t pm_release_mem_vi(uint64_t gpu_addr, uint32_t *buffer); -- --uint32_t pm_get_map_process_packet_size_vi(void); --uint32_t pm_get_runlist_packet_size_vi(void); - uint32_t pm_get_set_resources_packet_size_vi(void); --uint32_t pm_get_map_queues_packet_size_vi(void); --uint32_t pm_get_unmap_queues_packet_size_vi(void); --uint32_t pm_get_query_status_packet_size_vi(void); --uint32_t pm_get_release_mem_packet_size_vi(void); -- -- --void kfd_pm_func_init_vi(struct packet_manager *pm, uint16_t fw_ver); --void kfd_pm_func_init_cik(struct packet_manager *pm, uint16_t fw_ver); - --void kfd_pm_func_init_v9(struct packet_manager *pm, uint16_t fw_ver); -+void kfd_pm_func_init_vi(struct packet_manager *pm); -+void kfd_pm_func_init_v9(struct packet_manager *pm); - - - uint64_t kfd_get_number_elems(struct kfd_dev *kfd); --- -2.7.4 - |