diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1970-drm-amdgpu-add-helper-to-convert-a-ttm-bo-to-amdgpu_.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1970-drm-amdgpu-add-helper-to-convert-a-ttm-bo-to-amdgpu_.patch | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1970-drm-amdgpu-add-helper-to-convert-a-ttm-bo-to-amdgpu_.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1970-drm-amdgpu-add-helper-to-convert-a-ttm-bo-to-amdgpu_.patch new file mode 100644 index 00000000..66b235bc --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1970-drm-amdgpu-add-helper-to-convert-a-ttm-bo-to-amdgpu_.patch @@ -0,0 +1,123 @@ +From 35b9a53bcdb68d2c610c2275c2631783e04dd9fd Mon Sep 17 00:00:00 2001 +From: Andres Rodriguez <andresx7@gmail.com> +Date: Fri, 15 Sep 2017 21:05:19 -0400 +Subject: [PATCH 1970/4131] drm/amdgpu: add helper to convert a ttm bo to + amdgpu_bo +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Reviewed-by: Christian König <christian.koenig@amd.com> +Signed-off-by: Andres Rodriguez <andresx7@gmail.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> + + Conflicts: + drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c + +Change-Id: I69d5823d50e1cc855ebb7bc82d9dfb746ae8fccf +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 8 +++----- + drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 5 +++++ + drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 9 +++++---- + 3 files changed, 13 insertions(+), 9 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +index c560f1b..458e0d8 100755 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +@@ -41,9 +41,7 @@ + static void amdgpu_ttm_bo_destroy(struct ttm_buffer_object *tbo) + { + struct amdgpu_device *adev = amdgpu_ttm_adev(tbo->bdev); +- struct amdgpu_bo *bo; +- +- bo = container_of(tbo, struct amdgpu_bo, tbo); ++ struct amdgpu_bo *bo = ttm_to_amdgpu_bo(tbo); + + if (bo->tbo.mem.mem_type == AMDGPU_PL_DGMA_IMPORT) + kfree(tbo->mem.bus.addr); +@@ -927,7 +925,7 @@ void amdgpu_bo_move_notify(struct ttm_buffer_object *bo, + if (!amdgpu_ttm_bo_is_amdgpu_bo(bo)) + return; + +- abo = container_of(bo, struct amdgpu_bo, tbo); ++ abo = ttm_to_amdgpu_bo(bo); + amdgpu_vm_bo_invalidate(adev, abo, evict); + + amdgpu_bo_kunmap(abo); +@@ -954,7 +952,7 @@ int amdgpu_bo_fault_reserve_notify(struct ttm_buffer_object *bo) + if (!amdgpu_ttm_bo_is_amdgpu_bo(bo)) + return 0; + +- abo = container_of(bo, struct amdgpu_bo, tbo); ++ abo = ttm_to_amdgpu_bo(bo); + + /* Remember that this BO was accessed by the CPU */ + abo->flags |= AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED; +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h +index abf207e..1f59c71 100755 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h +@@ -97,6 +97,11 @@ struct amdgpu_bo { + }; + }; + ++static inline struct amdgpu_bo *ttm_to_amdgpu_bo(struct ttm_buffer_object *tbo) ++{ ++ return container_of(tbo, struct amdgpu_bo, tbo); ++} ++ + /** + * amdgpu_mem_type_to_domain - return domain corresponding to mem_type + * @mem_type: ttm memory type +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +index 857a3ca..598c940 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +@@ -44,6 +44,7 @@ + #include <linux/debugfs.h> + #include <linux/iommu.h> + #include "amdgpu.h" ++#include "amdgpu_object.h" + #include "amdgpu_trace.h" + #include "bif/bif_4_1_d.h" + #include "amdgpu_amdkfd.h" +@@ -227,7 +228,7 @@ static void amdgpu_evict_flags(struct ttm_buffer_object *bo, + placement->num_busy_placement = 1; + return; + } +- abo = container_of(bo, struct amdgpu_bo, tbo); ++ abo = ttm_to_amdgpu_bo(bo); + switch (bo->mem.mem_type) { + case TTM_PL_VRAM: + case AMDGPU_PL_DGMA: +@@ -282,7 +283,7 @@ static int amdgpu_verify_access(struct ttm_buffer_object *bo, struct file *filp) + struct amdgpu_gem_object *gobj; + + +- abo = container_of(bo, struct amdgpu_bo, tbo); ++ abo = ttm_to_amdgpu_bo(bo); + /* + * Don't verify access for KFD BO as it doesn't necessary has + * KGD file pointer +@@ -527,7 +528,7 @@ static int amdgpu_bo_move(struct ttm_buffer_object *bo, + int r; + + /* Can't move a pinned BO */ +- abo = container_of(bo, struct amdgpu_bo, tbo); ++ abo = ttm_to_amdgpu_bo(bo); + if (WARN_ON_ONCE(abo->pin_count > 0)) + return -EINVAL; + +@@ -1219,7 +1220,7 @@ static int amdgpu_ttm_access_memory(struct ttm_buffer_object *bo, + unsigned long offset, + void *buf, int len, int write) + { +- struct amdgpu_bo *abo = container_of(bo, struct amdgpu_bo, tbo); ++ struct amdgpu_bo *abo = ttm_to_amdgpu_bo(bo); + struct amdgpu_device *adev = amdgpu_ttm_adev(abo->tbo.bdev); + struct drm_mm_node *nodes = abo->tbo.mem.mm_node; + uint32_t value = 0; +-- +2.7.4 + |