diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0025-drm-amdgpu-move-gem-definitions-into-amdgpu_gem-head.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/0025-drm-amdgpu-move-gem-definitions-into-amdgpu_gem-head.patch | 341 |
1 files changed, 341 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0025-drm-amdgpu-move-gem-definitions-into-amdgpu_gem-head.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0025-drm-amdgpu-move-gem-definitions-into-amdgpu_gem-head.patch new file mode 100644 index 00000000..1e2879e7 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0025-drm-amdgpu-move-gem-definitions-into-amdgpu_gem-head.patch @@ -0,0 +1,341 @@ +From 7544966d9504c77927d496988b870676f9931940 Mon Sep 17 00:00:00 2001 +From: Huang Rui <ray.huang@amd.com> +Date: Mon, 13 Aug 2018 11:41:35 -0500 +Subject: [PATCH 0025/2940] drm/amdgpu: move gem definitions into amdgpu_gem + header +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Demangle amdgpu.h. + +Signed-off-by: Huang Rui <ray.huang@amd.com> +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 | 61 +-------------- + drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 1 + + drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 1 + + drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 1 + + drivers/gpu/drm/amd/amdgpu/amdgpu_gem.h | 92 +++++++++++++++++++++++ + drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 1 + + drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | 1 + + drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | 1 + + drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 1 + + drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 1 + + drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 1 + + 11 files changed, 102 insertions(+), 60 deletions(-) + create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.h + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h +index 0568140e38b3..7261068f9cca 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h +@@ -77,6 +77,7 @@ + #include "amdgpu_debugfs.h" + #include "amdgpu_job.h" + #include "amdgpu_bo_list.h" ++#include "amdgpu_gem.h" + + /* + * Modules parameters. +@@ -302,34 +303,6 @@ struct amdgpu_clock { + uint32_t max_pixel_clock; + }; + +-/* +- * GEM. +- */ +- +-#define AMDGPU_GEM_DOMAIN_MAX 0x3 +-#define gem_to_amdgpu_bo(gobj) container_of((gobj), struct amdgpu_bo, gem_base) +- +-void amdgpu_gem_object_free(struct drm_gem_object *obj); +-int amdgpu_gem_object_open(struct drm_gem_object *obj, +- struct drm_file *file_priv); +-void amdgpu_gem_object_close(struct drm_gem_object *obj, +- struct drm_file *file_priv); +-unsigned long amdgpu_gem_timeout(uint64_t timeout_ns); +-struct sg_table *amdgpu_gem_prime_get_sg_table(struct drm_gem_object *obj); +-struct drm_gem_object * +-amdgpu_gem_prime_import_sg_table(struct drm_device *dev, +- struct dma_buf_attachment *attach, +- struct sg_table *sg); +-struct dma_buf *amdgpu_gem_prime_export(struct drm_device *dev, +- struct drm_gem_object *gobj, +- int flags); +-struct drm_gem_object *amdgpu_gem_prime_import(struct drm_device *dev, +- struct dma_buf *dma_buf); +-struct reservation_object *amdgpu_gem_prime_res_obj(struct drm_gem_object *); +-void *amdgpu_gem_prime_vmap(struct drm_gem_object *obj); +-void amdgpu_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr); +-int amdgpu_gem_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma); +- + /* sub-allocation manager, it has to be protected by another lock. + * By conception this is an helper for other part of the driver + * like the indirect buffer or semaphore, which both have their +@@ -379,22 +352,6 @@ struct amdgpu_sa_bo { + struct dma_fence *fence; + }; + +-/* +- * GEM objects. +- */ +-void amdgpu_gem_force_release(struct amdgpu_device *adev); +-int amdgpu_gem_object_create(struct amdgpu_device *adev, unsigned long size, +- int alignment, u32 initial_domain, +- u64 flags, enum ttm_bo_type type, +- struct reservation_object *resv, +- struct drm_gem_object **obj); +- +-int amdgpu_mode_dumb_create(struct drm_file *file_priv, +- struct drm_device *dev, +- struct drm_mode_create_dumb *args); +-int amdgpu_mode_dumb_mmap(struct drm_file *filp, +- struct drm_device *dev, +- uint32_t handle, uint64_t *offset_p); + int amdgpu_fence_slab_init(void); + void amdgpu_fence_slab_fini(void); + +@@ -791,23 +748,9 @@ struct amdgpu_asic_funcs { + /* + * IOCTL. + */ +-int amdgpu_gem_create_ioctl(struct drm_device *dev, void *data, +- struct drm_file *filp); + int amdgpu_bo_list_ioctl(struct drm_device *dev, void *data, + struct drm_file *filp); + +-int amdgpu_gem_info_ioctl(struct drm_device *dev, void *data, +- struct drm_file *filp); +-int amdgpu_gem_userptr_ioctl(struct drm_device *dev, void *data, +- struct drm_file *filp); +-int amdgpu_gem_mmap_ioctl(struct drm_device *dev, void *data, +- struct drm_file *filp); +-int amdgpu_gem_wait_idle_ioctl(struct drm_device *dev, void *data, +- struct drm_file *filp); +-int amdgpu_gem_va_ioctl(struct drm_device *dev, void *data, +- struct drm_file *filp); +-int amdgpu_gem_op_ioctl(struct drm_device *dev, void *data, +- struct drm_file *filp); + int amdgpu_cs_ioctl(struct drm_device *dev, void *data, struct drm_file *filp); + int amdgpu_cs_fence_to_handle_ioctl(struct drm_device *dev, void *data, + struct drm_file *filp); +@@ -815,8 +758,6 @@ int amdgpu_cs_wait_ioctl(struct drm_device *dev, void *data, struct drm_file *fi + int amdgpu_cs_wait_fences_ioctl(struct drm_device *dev, void *data, + struct drm_file *filp); + +-int amdgpu_gem_metadata_ioctl(struct drm_device *dev, void *data, +- struct drm_file *filp); + + /* VRAM scratch page for HDP bug, default vram page */ + struct amdgpu_vram_scratch { +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +index b31d121a876b..daba8ea83fc2 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +@@ -32,6 +32,7 @@ + #include "amdgpu.h" + #include "amdgpu_trace.h" + #include "amdgpu_gmc.h" ++#include "amdgpu_gem.h" + + static int amdgpu_cs_user_fence_chunk(struct amdgpu_cs_parser *p, + struct drm_amdgpu_cs_chunk_fence *data, +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +index 0f41d8647376..4c73e5bf5794 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +@@ -36,6 +36,7 @@ + + #include "amdgpu.h" + #include "amdgpu_irq.h" ++#include "amdgpu_gem.h" + + #include "amdgpu_amdkfd.h" + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c +index 69c5d22f29bd..5cbde74b97dd 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c +@@ -33,6 +33,7 @@ + #include <drm/amdgpu_drm.h> + #include "amdgpu.h" + #include "cikd.h" ++#include "amdgpu_gem.h" + + #include <drm/drm_fb_helper.h> + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.h +new file mode 100644 +index 000000000000..d63daba9b17c +--- /dev/null ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.h +@@ -0,0 +1,92 @@ ++/* ++ * Copyright 2018 Advanced Micro Devices, Inc. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR ++ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ++ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR ++ * OTHER DEALINGS IN THE SOFTWARE. ++ * ++ */ ++#ifndef __AMDGPU_GEM_H__ ++#define __AMDGPU_GEM_H__ ++ ++#include <drm/amdgpu_drm.h> ++#include <drm/drm_gem.h> ++ ++/* ++ * GEM. ++ */ ++ ++#define AMDGPU_GEM_DOMAIN_MAX 0x3 ++#define gem_to_amdgpu_bo(gobj) container_of((gobj), struct amdgpu_bo, gem_base) ++ ++void amdgpu_gem_object_free(struct drm_gem_object *obj); ++int amdgpu_gem_object_open(struct drm_gem_object *obj, ++ struct drm_file *file_priv); ++void amdgpu_gem_object_close(struct drm_gem_object *obj, ++ struct drm_file *file_priv); ++unsigned long amdgpu_gem_timeout(uint64_t timeout_ns); ++struct sg_table *amdgpu_gem_prime_get_sg_table(struct drm_gem_object *obj); ++struct drm_gem_object * ++amdgpu_gem_prime_import_sg_table(struct drm_device *dev, ++ struct dma_buf_attachment *attach, ++ struct sg_table *sg); ++struct dma_buf *amdgpu_gem_prime_export(struct drm_device *dev, ++ struct drm_gem_object *gobj, ++ int flags); ++struct drm_gem_object *amdgpu_gem_prime_import(struct drm_device *dev, ++ struct dma_buf *dma_buf); ++struct reservation_object *amdgpu_gem_prime_res_obj(struct drm_gem_object *); ++void *amdgpu_gem_prime_vmap(struct drm_gem_object *obj); ++void amdgpu_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr); ++int amdgpu_gem_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma); ++ ++/* ++ * GEM objects. ++ */ ++void amdgpu_gem_force_release(struct amdgpu_device *adev); ++int amdgpu_gem_object_create(struct amdgpu_device *adev, unsigned long size, ++ int alignment, u32 initial_domain, ++ u64 flags, enum ttm_bo_type type, ++ struct reservation_object *resv, ++ struct drm_gem_object **obj); ++ ++int amdgpu_mode_dumb_create(struct drm_file *file_priv, ++ struct drm_device *dev, ++ struct drm_mode_create_dumb *args); ++int amdgpu_mode_dumb_mmap(struct drm_file *filp, ++ struct drm_device *dev, ++ uint32_t handle, uint64_t *offset_p); ++ ++int amdgpu_gem_create_ioctl(struct drm_device *dev, void *data, ++ struct drm_file *filp); ++int amdgpu_gem_info_ioctl(struct drm_device *dev, void *data, ++ struct drm_file *filp); ++int amdgpu_gem_userptr_ioctl(struct drm_device *dev, void *data, ++ struct drm_file *filp); ++int amdgpu_gem_mmap_ioctl(struct drm_device *dev, void *data, ++ struct drm_file *filp); ++int amdgpu_gem_wait_idle_ioctl(struct drm_device *dev, void *data, ++ struct drm_file *filp); ++int amdgpu_gem_va_ioctl(struct drm_device *dev, void *data, ++ struct drm_file *filp); ++int amdgpu_gem_op_ioctl(struct drm_device *dev, void *data, ++ struct drm_file *filp); ++ ++int amdgpu_gem_metadata_ioctl(struct drm_device *dev, void *data, ++ struct drm_file *filp); ++ ++#endif +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +index bd98cc5fb97b..20645ea719b3 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +@@ -37,6 +37,7 @@ + #include <linux/slab.h> + #include <linux/pm_runtime.h> + #include "amdgpu_amdkfd.h" ++#include "amdgpu_gem.h" + + /** + * amdgpu_driver_unload_kms - Main unload function for KMS. +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c +index 1c5d97f4b4dd..2686297e34e0 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c +@@ -35,6 +35,7 @@ + + #include "amdgpu.h" + #include "amdgpu_display.h" ++#include "amdgpu_gem.h" + #include <drm/amdgpu_drm.h> + #include <linux/dma-buf.h> + +diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +index db406a35808f..f83f8af5aff7 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +@@ -26,6 +26,7 @@ + #include "amdgpu.h" + #include "gmc_v6_0.h" + #include "amdgpu_ucode.h" ++#include "amdgpu_gem.h" + + #include "bif/bif_3_0_d.h" + #include "bif/bif_3_0_sh_mask.h" +diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c +index f8d8a3a73e42..93ea19456e91 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c +@@ -29,6 +29,7 @@ + #include "gmc_v7_0.h" + #include "amdgpu_ucode.h" + #include "amdgpu_amdkfd.h" ++#include "amdgpu_gem.h" + + #include "bif/bif_4_1_d.h" + #include "bif/bif_4_1_sh_mask.h" +diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +index 9333109b210d..24dd86725b6e 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +@@ -27,6 +27,7 @@ + #include "gmc_v8_0.h" + #include "amdgpu_ucode.h" + #include "amdgpu_amdkfd.h" ++#include "amdgpu_gem.h" + + #include "gmc/gmc_8_1_d.h" + #include "gmc/gmc_8_1_sh_mask.h" +diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c +index 72f8018fa2a8..7300be4816a9 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c +@@ -25,6 +25,7 @@ + #include "amdgpu.h" + #include "gmc_v9_0.h" + #include "amdgpu_atomfirmware.h" ++#include "amdgpu_gem.h" + + #include "hdp/hdp_4_0_offset.h" + #include "hdp/hdp_4_0_sh_mask.h" +-- +2.17.1 + |