diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4607-drm-amdgpu-define-and-add-extra-dword-for-jpeg-ring.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/4607-drm-amdgpu-define-and-add-extra-dword-for-jpeg-ring.patch | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4607-drm-amdgpu-define-and-add-extra-dword-for-jpeg-ring.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4607-drm-amdgpu-define-and-add-extra-dword-for-jpeg-ring.patch new file mode 100644 index 00000000..8a61f26e --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4607-drm-amdgpu-define-and-add-extra-dword-for-jpeg-ring.patch @@ -0,0 +1,62 @@ +From 874f00cca5d3af57181b4cb6cd41dc107a3d1531 Mon Sep 17 00:00:00 2001 +From: Boyuan Zhang <boyuan.zhang@amd.com> +Date: Fri, 1 Jun 2018 12:30:17 -0400 +Subject: [PATCH 4607/5725] drm/amdgpu: define and add extra dword for jpeg + ring +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Define extra dword for jpeg ring. Jpeg ring will allocate extra dword to store +the patch commands for fixing the known issue. + +v2: dropping extra_dw for rings other than jpeg. + +Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> +Reviewed-by: Christian König <christian.koenig@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 2 +- + drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 1 + + drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 1 + + 3 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c +index c6850b6..19e45a3 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c +@@ -304,7 +304,7 @@ int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring, + 0xffffffffffffffff : ring->buf_mask; + /* Allocate ring buffer */ + if (ring->ring_obj == NULL) { +- r = amdgpu_bo_create_kernel(adev, ring->ring_size, PAGE_SIZE, ++ r = amdgpu_bo_create_kernel(adev, ring->ring_size + ring->funcs->extra_dw, PAGE_SIZE, + AMDGPU_GEM_DOMAIN_GTT, + &ring->ring_obj, + &ring->gpu_addr, +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h +index df20b61..1c7ffc1 100755 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h +@@ -112,6 +112,7 @@ struct amdgpu_ring_funcs { + u32 nop; + bool support_64bit_ptrs; + unsigned vmhub; ++ unsigned extra_dw; + + /* ring read/write ptr handling */ + u64 (*get_rptr)(struct amdgpu_ring *ring); +diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c +index 5adb2d9..24a869f 100644 +--- a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c +@@ -1728,6 +1728,7 @@ static const struct amdgpu_ring_funcs vcn_v1_0_jpeg_ring_vm_funcs = { + .nop = PACKET0(0x81ff, 0), + .support_64bit_ptrs = false, + .vmhub = AMDGPU_MMHUB, ++ .extra_dw = 64, + .get_rptr = vcn_v1_0_jpeg_ring_get_rptr, + .get_wptr = vcn_v1_0_jpeg_ring_get_wptr, + .set_wptr = vcn_v1_0_jpeg_ring_set_wptr, +-- +2.7.4 + |