aboutsummaryrefslogtreecommitdiffstats
path: root/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1120-Make-to-stock-kfd-driver.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1120-Make-to-stock-kfd-driver.patch')
-rw-r--r--meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1120-Make-to-stock-kfd-driver.patch126
1 files changed, 0 insertions, 126 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1120-Make-to-stock-kfd-driver.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1120-Make-to-stock-kfd-driver.patch
deleted file mode 100644
index 66c5efd1..00000000
--- a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1120-Make-to-stock-kfd-driver.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From 0725474af32b57860a9f33e6bc4ab1d063a2ff50 Mon Sep 17 00:00:00 2001
-From: Sanjay R Mehta <sanju.mehta@amd.com>
-Date: Tue, 20 Feb 2018 14:32:01 +0530
-Subject: [PATCH 1120/4131] Make to stock kfd driver
-
-Signed-off-by: Sanjay R Mehta <sanju.mehta@amd.com>
----
- drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 2 --
- drivers/gpu/drm/amd/amdkfd/kfd_events.c | 5 +----
- drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c | 22 +++++-----------------
- drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 1 -
- .../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 1 +
- 5 files changed, 7 insertions(+), 24 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
-index 8a05efa..abdafb9 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
-@@ -893,8 +893,6 @@ static int kfd_ioctl_get_tile_config(struct file *filep,
- int err = 0;
-
- dev = kfd_device_by_id(args->gpu_id);
-- if (!dev)
-- return -EINVAL;
-
- dev->kfd2kgd->get_tile_config(dev->kgd, &config);
-
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_events.c b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
-index 944abfa..5979158 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_events.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
-@@ -292,10 +292,7 @@ static int create_signal_event(struct file *devkfd,
- struct kfd_event *ev)
- {
- if (p->signal_event_count == KFD_SIGNAL_EVENT_LIMIT) {
-- if (!p->signal_event_limit_reached) {
-- pr_warn("Signal event wasn't created because limit was reached\n");
-- p->signal_event_limit_reached = true;
-- }
-+ pr_warn("Signal event wasn't created because limit was reached\n");
- return -ENOMEM;
- }
-
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
-index ed71ad4..681b639 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
-@@ -183,8 +183,8 @@ static void uninitialize(struct kernel_queue *kq)
- {
- if (kq->queue->properties.type == KFD_QUEUE_TYPE_HIQ)
- kq->mqd->destroy_mqd(kq->mqd,
-- kq->queue->mqd,
-- KFD_PREEMPT_TYPE_WAVEFRONT_RESET,
-+ NULL,
-+ false,
- QUEUE_PREEMPT_DEFAULT_TIMEOUT_MS,
- kq->queue->pipe,
- kq->queue->queue);
-@@ -210,11 +210,6 @@ static int acquire_packet_buffer(struct kernel_queue *kq,
- uint32_t wptr, rptr;
- unsigned int *queue_address;
-
-- /* When rptr == wptr, the buffer is empty.
-- * When rptr == wptr + 1, the buffer is full.
-- * It is always rptr that advances to the position of wptr, rather than
-- * the opposite. So we can only use up to queue_size_dwords - 1 dwords.
-- */
- rptr = *kq->rptr_kernel;
- wptr = *kq->wptr_kernel;
- queue_address = (unsigned int *)kq->pq_kernel_addr;
-@@ -224,10 +219,11 @@ static int acquire_packet_buffer(struct kernel_queue *kq,
- pr_debug("wptr: %d\n", wptr);
- pr_debug("queue_address 0x%p\n", queue_address);
-
-- available_size = (rptr + queue_size_dwords - 1 - wptr) %
-+ available_size = (rptr - 1 - wptr + queue_size_dwords) %
- queue_size_dwords;
-
-- if (packet_size_in_dwords > available_size) {
-+ if (packet_size_in_dwords >= queue_size_dwords ||
-+ packet_size_in_dwords >= available_size) {
- /*
- * make sure calling functions know
- * acquire_packet_buffer() failed
-@@ -237,14 +233,6 @@ static int acquire_packet_buffer(struct kernel_queue *kq,
- }
-
- if (wptr + packet_size_in_dwords >= queue_size_dwords) {
-- /* make sure after rolling back to position 0, there is
-- * still enough space.
-- */
-- if (packet_size_in_dwords >= rptr) {
-- *buffer_ptr = NULL;
-- return -ENOMEM;
-- }
-- /* fill nops, roll back and start at position 0 */
- while (wptr > 0) {
- queue_address[wptr] = kq->nop_packet;
- wptr = (wptr + 1) % queue_size_dwords;
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
-index b87e96c..b397ec7 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
-@@ -521,7 +521,6 @@ struct kfd_process {
- struct list_head signal_event_pages;
- u32 next_nonsignal_event_id;
- size_t signal_event_count;
-- bool signal_event_limit_reached;
- };
-
- /**
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
-index f9a1a4d..4142d63 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
-@@ -143,6 +143,7 @@ int pqm_create_queue(struct process_queue_manager *pqm,
- int num_queues = 0;
- struct queue *cur;
-
-+ memset(&q_properties, 0, sizeof(struct queue_properties));
- memcpy(&q_properties, properties, sizeof(struct queue_properties));
- q = NULL;
- kq = NULL;
---
-2.7.4
-