diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2977-drm-amdgpu-move-amdgpu_doorbell_get_kfd_info-to-amdg.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2977-drm-amdgpu-move-amdgpu_doorbell_get_kfd_info-to-amdg.patch | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2977-drm-amdgpu-move-amdgpu_doorbell_get_kfd_info-to-amdg.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2977-drm-amdgpu-move-amdgpu_doorbell_get_kfd_info-to-amdg.patch new file mode 100644 index 00000000..19a970b9 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2977-drm-amdgpu-move-amdgpu_doorbell_get_kfd_info-to-amdg.patch @@ -0,0 +1,127 @@ +From d167e0e736f5abf4c8b6674520163c40b8773dcd Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alexander.deucher@amd.com> +Date: Thu, 14 Dec 2017 16:27:11 -0500 +Subject: [PATCH 2977/4131] drm/amdgpu: move amdgpu_doorbell_get_kfd_info to + amdgpu_amdkfd.c +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It's the only place it's used. + +Acked-by: Christian König <christian.koenig@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu.h | 6 ------ + drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 33 ++++++++++++++++++++++++++++++ + drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 33 +----------------------------- + 3 files changed, 34 insertions(+), 38 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h +index 0008a99..b5b0d1c 100755 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h +@@ -671,12 +671,6 @@ typedef enum _AMDGPU_DOORBELL64_ASSIGNMENT + AMDGPU_DOORBELL64_INVALID = 0xFFFF + } AMDGPU_DOORBELL64_ASSIGNMENT; + +- +-void amdgpu_doorbell_get_kfd_info(struct amdgpu_device *adev, +- phys_addr_t *aperture_base, +- size_t *aperture_size, +- size_t *start_offset); +- + /* + * IRQS. + */ +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c +index 5b0c6ab..e8910de 100755 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c +@@ -109,6 +109,39 @@ void amdgpu_amdkfd_device_probe(struct amdgpu_device *adev) + adev->pdev, kfd2kgd); + } + ++/** ++ * amdgpu_doorbell_get_kfd_info - Report doorbell configuration required to ++ * setup amdkfd ++ * ++ * @adev: amdgpu_device pointer ++ * @aperture_base: output returning doorbell aperture base physical address ++ * @aperture_size: output returning doorbell aperture size in bytes ++ * @start_offset: output returning # of doorbell bytes reserved for amdgpu. ++ * ++ * amdgpu and amdkfd share the doorbell aperture. amdgpu sets it up, ++ * takes doorbells required for its own rings and reports the setup to amdkfd. ++ * amdgpu reserved doorbells are at the start of the doorbell aperture. ++ */ ++static void amdgpu_doorbell_get_kfd_info(struct amdgpu_device *adev, ++ phys_addr_t *aperture_base, ++ size_t *aperture_size, ++ size_t *start_offset) ++{ ++ /* ++ * The first num_doorbells are used by amdgpu. ++ * amdkfd takes whatever's left in the aperture. ++ */ ++ if (adev->doorbell.size > adev->doorbell.num_doorbells * sizeof(u32)) { ++ *aperture_base = adev->doorbell.base; ++ *aperture_size = adev->doorbell.size; ++ *start_offset = adev->doorbell.num_doorbells * sizeof(u32); ++ } else { ++ *aperture_base = 0; ++ *aperture_size = 0; ++ *start_offset = 0; ++ } ++} ++ + void amdgpu_amdkfd_device_init(struct amdgpu_device *adev) + { + int i; +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +index b6d8b50..15c5fd8 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +@@ -437,38 +437,7 @@ static void amdgpu_device_doorbell_fini(struct amdgpu_device *adev) + adev->doorbell.ptr = NULL; + } + +-/** +- * amdgpu_doorbell_get_kfd_info - Report doorbell configuration required to +- * setup amdkfd +- * +- * @adev: amdgpu_device pointer +- * @aperture_base: output returning doorbell aperture base physical address +- * @aperture_size: output returning doorbell aperture size in bytes +- * @start_offset: output returning # of doorbell bytes reserved for amdgpu. +- * +- * amdgpu and amdkfd share the doorbell aperture. amdgpu sets it up, +- * takes doorbells required for its own rings and reports the setup to amdkfd. +- * amdgpu reserved doorbells are at the start of the doorbell aperture. +- */ +-void amdgpu_doorbell_get_kfd_info(struct amdgpu_device *adev, +- phys_addr_t *aperture_base, +- size_t *aperture_size, +- size_t *start_offset) +-{ +- /* +- * The first num_doorbells are used by amdgpu. +- * amdkfd takes whatever's left in the aperture. +- */ +- if (adev->doorbell.size > adev->doorbell.num_doorbells * sizeof(u32)) { +- *aperture_base = adev->doorbell.base; +- *aperture_size = adev->doorbell.size; +- *start_offset = adev->doorbell.num_doorbells * sizeof(u32); +- } else { +- *aperture_base = 0; +- *aperture_size = 0; +- *start_offset = 0; +- } +-} ++ + + /* + * amdgpu_device_wb_*() +-- +2.7.4 + |