diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0382-drm-amdgpu-add-scheduler-initialization.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0382-drm-amdgpu-add-scheduler-initialization.patch | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/common/recipes-kernel/linux/files/0382-drm-amdgpu-add-scheduler-initialization.patch b/common/recipes-kernel/linux/files/0382-drm-amdgpu-add-scheduler-initialization.patch deleted file mode 100644 index d09ec087..00000000 --- a/common/recipes-kernel/linux/files/0382-drm-amdgpu-add-scheduler-initialization.patch +++ /dev/null @@ -1,116 +0,0 @@ -From b80d8475c1fdf5f4bcabb65168b2e8a9c3d77731 Mon Sep 17 00:00:00 2001 -From: Alex Deucher <alexander.deucher@amd.com> -Date: Sun, 16 Aug 2015 22:55:02 -0400 -Subject: [PATCH 0382/1050] drm/amdgpu: add scheduler initialization - -1. Add kernel parameter option, default 0 -2. Add scheduler initialization for amdgpu - -Signed-off-by: Chunming Zhou <David1.Zhou@amd.com> -Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> -Acked-by: Christian K?nig <christian.koenig@amd.com> -Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/Makefile | 7 ++++++- - drivers/gpu/drm/amd/amdgpu/amdgpu.h | 4 ++++ - drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 1 + - drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 10 ++++++++++ - 4 files changed, 21 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/Makefile b/drivers/gpu/drm/amd/amdgpu/Makefile -index 4c75e1c..2800cf7 100644 ---- a/drivers/gpu/drm/amd/amdgpu/Makefile -+++ b/drivers/gpu/drm/amd/amdgpu/Makefile -@@ -4,7 +4,8 @@ - - ccflags-y := -Iinclude/drm -Idrivers/gpu/drm/amd/include/asic_reg \ - -Idrivers/gpu/drm/amd/include \ -- -Idrivers/gpu/drm/amd/amdgpu -+ -Idrivers/gpu/drm/amd/amdgpu \ -+ -Idrivers/gpu/drm/amd/scheduler - - amdgpu-y := amdgpu_drv.o - -@@ -82,6 +83,10 @@ amdgpu-y += \ - # add cgs - amdgpu-y += amdgpu_cgs.o - -+# GPU scheduler -+amdgpu-y += \ -+ ../scheduler/gpu_scheduler.o -+ - amdgpu-$(CONFIG_COMPAT) += amdgpu_ioc32.o - amdgpu-$(CONFIG_VGA_SWITCHEROO) += amdgpu_atpx_handler.o - amdgpu-$(CONFIG_ACPI) += amdgpu_acpi.o -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -index a9ead97..815d40f 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -@@ -53,6 +53,8 @@ - #include "amdgpu_ucode.h" - #include "amdgpu_gds.h" - -+#include "gpu_scheduler.h" -+ - /* - * Modules parameters. - */ -@@ -77,6 +79,7 @@ extern int amdgpu_bapm; - extern int amdgpu_deep_color; - extern int amdgpu_vm_size; - extern int amdgpu_vm_block_size; -+extern int amdgpu_enable_scheduler; - - #define AMDGPU_MAX_USEC_TIMEOUT 100000 /* 100 ms */ - #define AMDGPU_FENCE_JIFFIES_TIMEOUT (HZ / 2) -@@ -860,6 +863,7 @@ struct amdgpu_ring { - struct amdgpu_device *adev; - const struct amdgpu_ring_funcs *funcs; - struct amdgpu_fence_driver fence_drv; -+ struct amd_gpu_scheduler *scheduler; - - struct mutex *ring_lock; - struct amdgpu_bo *ring_obj; -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c -index e6f2aca..5feea44 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c -@@ -75,6 +75,7 @@ int amdgpu_deep_color = 0; - int amdgpu_vm_size = 8; - int amdgpu_vm_block_size = -1; - int amdgpu_exp_hw_support = 0; -+int amdgpu_enable_scheduler = 0; - - MODULE_PARM_DESC(vramlimit, "Restrict VRAM for testing, in megabytes"); - module_param_named(vramlimit, amdgpu_vram_limit, int, 0600); -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c -index 1b0bc07..4edeb90 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c -@@ -902,6 +902,14 @@ void amdgpu_fence_driver_init_ring(struct amdgpu_ring *ring) - INIT_DELAYED_WORK(&ring->fence_drv.lockup_work, - amdgpu_fence_check_lockup); - ring->fence_drv.ring = ring; -+ -+ if (amdgpu_enable_scheduler) { -+ ring->scheduler = amd_sched_create((void *)ring->adev, -+ NULL, ring->idx, 5, 0); -+ if (!ring->scheduler) -+ DRM_ERROR("Failed to create scheduler on ring %d.\n", -+ ring->idx); -+ } - } - - /** -@@ -950,6 +958,8 @@ void amdgpu_fence_driver_fini(struct amdgpu_device *adev) - wake_up_all(&adev->fence_queue); - amdgpu_irq_put(adev, ring->fence_drv.irq_src, - ring->fence_drv.irq_type); -+ if (ring->scheduler) -+ amd_sched_destroy(ring->scheduler); - ring->fence_drv.initialized = false; - } - mutex_unlock(&adev->ring_lock); --- -1.9.1 - |