diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0522-drm-amdgpu-add-insert_nop-ring-func-and-default-impl.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0522-drm-amdgpu-add-insert_nop-ring-func-and-default-impl.patch | 229 |
1 files changed, 0 insertions, 229 deletions
diff --git a/common/recipes-kernel/linux/files/0522-drm-amdgpu-add-insert_nop-ring-func-and-default-impl.patch b/common/recipes-kernel/linux/files/0522-drm-amdgpu-add-insert_nop-ring-func-and-default-impl.patch deleted file mode 100644 index e50c168b..00000000 --- a/common/recipes-kernel/linux/files/0522-drm-amdgpu-add-insert_nop-ring-func-and-default-impl.patch +++ /dev/null @@ -1,229 +0,0 @@ -From edff0e2826412be38f0c7977cbf89262141aad87 Mon Sep 17 00:00:00 2001 -From: Jammy Zhou <Jammy.Zhou@amd.com> -Date: Tue, 1 Sep 2015 13:04:08 +0800 -Subject: [PATCH 0522/1050] drm/amdgpu: add insert_nop ring func and default - implementation - -The insert_nop function is added to amdgpu_ring_funcs structure as -well as the default implementation - -Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> -Reviewed-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu.h | 3 +++ - drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 24 +++++++++++++++++++++--- - drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 1 + - drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 2 ++ - drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 2 ++ - drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 1 + - drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 1 + - drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c | 1 + - drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c | 1 + - drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | 1 + - drivers/gpu/drm/amd/amdgpu/vce_v2_0.c | 1 + - drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 1 + - 12 files changed, 36 insertions(+), 3 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -index 057e7ef..668939a 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -@@ -343,6 +343,8 @@ struct amdgpu_ring_funcs { - int (*test_ring)(struct amdgpu_ring *ring); - int (*test_ib)(struct amdgpu_ring *ring); - bool (*is_lockup)(struct amdgpu_ring *ring); -+ /* insert NOP packets */ -+ void (*insert_nop)(struct amdgpu_ring *ring, uint32_t count); - }; - - /* -@@ -1217,6 +1219,7 @@ int amdgpu_ib_ring_tests(struct amdgpu_device *adev); - void amdgpu_ring_free_size(struct amdgpu_ring *ring); - int amdgpu_ring_alloc(struct amdgpu_ring *ring, unsigned ndw); - int amdgpu_ring_lock(struct amdgpu_ring *ring, unsigned ndw); -+void amdgpu_ring_insert_nop(struct amdgpu_ring *ring, uint32_t count); - void amdgpu_ring_commit(struct amdgpu_ring *ring); - void amdgpu_ring_unlock_commit(struct amdgpu_ring *ring); - void amdgpu_ring_undo(struct amdgpu_ring *ring); -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c -index 7d442c5..9bec914 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c -@@ -131,6 +131,21 @@ int amdgpu_ring_lock(struct amdgpu_ring *ring, unsigned ndw) - return 0; - } - -+/** amdgpu_ring_insert_nop - insert NOP packets -+ * -+ * @ring: amdgpu_ring structure holding ring information -+ * @count: the number of NOP packets to insert -+ * -+ * This is the generic insert_nop function for rings except SDMA -+ */ -+void amdgpu_ring_insert_nop(struct amdgpu_ring *ring, uint32_t count) -+{ -+ int i; -+ -+ for (i = 0; i < count; i++) -+ amdgpu_ring_write(ring, ring->nop); -+} -+ - /** - * amdgpu_ring_commit - tell the GPU to execute the new - * commands on the ring buffer -@@ -143,10 +158,13 @@ int amdgpu_ring_lock(struct amdgpu_ring *ring, unsigned ndw) - */ - void amdgpu_ring_commit(struct amdgpu_ring *ring) - { -+ uint32_t count; -+ - /* We pad to match fetch size */ -- while (ring->wptr & ring->align_mask) { -- amdgpu_ring_write(ring, ring->nop); -- } -+ count = ring->align_mask + 1 - (ring->wptr & ring->align_mask); -+ count %= ring->align_mask + 1; -+ ring->funcs->insert_nop(ring, count); -+ - mb(); - amdgpu_ring_set_wptr(ring); - } -diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c -index cc909c9..f0661b2 100644 ---- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c -+++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c -@@ -1305,6 +1305,7 @@ static const struct amdgpu_ring_funcs cik_sdma_ring_funcs = { - .test_ring = cik_sdma_ring_test_ring, - .test_ib = cik_sdma_ring_test_ib, - .is_lockup = cik_sdma_ring_is_lockup, -+ .insert_nop = amdgpu_ring_insert_nop, - }; - - static void cik_sdma_set_ring_funcs(struct amdgpu_device *adev) -diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c -index fab7b23..517a68f 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c -@@ -5598,6 +5598,7 @@ static const struct amdgpu_ring_funcs gfx_v7_0_ring_funcs_gfx = { - .test_ring = gfx_v7_0_ring_test_ring, - .test_ib = gfx_v7_0_ring_test_ib, - .is_lockup = gfx_v7_0_ring_is_lockup, -+ .insert_nop = amdgpu_ring_insert_nop, - }; - - static const struct amdgpu_ring_funcs gfx_v7_0_ring_funcs_compute = { -@@ -5614,6 +5615,7 @@ static const struct amdgpu_ring_funcs gfx_v7_0_ring_funcs_compute = { - .test_ring = gfx_v7_0_ring_test_ring, - .test_ib = gfx_v7_0_ring_test_ib, - .is_lockup = gfx_v7_0_ring_is_lockup, -+ .insert_nop = amdgpu_ring_insert_nop, - }; - - static void gfx_v7_0_set_ring_funcs(struct amdgpu_device *adev) -diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -index 818edb3..956a358 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -@@ -4378,6 +4378,7 @@ static const struct amdgpu_ring_funcs gfx_v8_0_ring_funcs_gfx = { - .test_ring = gfx_v8_0_ring_test_ring, - .test_ib = gfx_v8_0_ring_test_ib, - .is_lockup = gfx_v8_0_ring_is_lockup, -+ .insert_nop = amdgpu_ring_insert_nop, - }; - - static const struct amdgpu_ring_funcs gfx_v8_0_ring_funcs_compute = { -@@ -4394,6 +4395,7 @@ static const struct amdgpu_ring_funcs gfx_v8_0_ring_funcs_compute = { - .test_ring = gfx_v8_0_ring_test_ring, - .test_ib = gfx_v8_0_ring_test_ib, - .is_lockup = gfx_v8_0_ring_is_lockup, -+ .insert_nop = amdgpu_ring_insert_nop, - }; - - static void gfx_v8_0_set_ring_funcs(struct amdgpu_device *adev) -diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c -index 2457bf3..1b913bc 100644 ---- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c -+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c -@@ -1316,6 +1316,7 @@ static const struct amdgpu_ring_funcs sdma_v2_4_ring_funcs = { - .test_ring = sdma_v2_4_ring_test_ring, - .test_ib = sdma_v2_4_ring_test_ib, - .is_lockup = sdma_v2_4_ring_is_lockup, -+ .insert_nop = amdgpu_ring_insert_nop, - }; - - static void sdma_v2_4_set_ring_funcs(struct amdgpu_device *adev) -diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c -index 70b2f03..a7550a8 100644 ---- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c -@@ -1440,6 +1440,7 @@ static const struct amdgpu_ring_funcs sdma_v3_0_ring_funcs = { - .test_ring = sdma_v3_0_ring_test_ring, - .test_ib = sdma_v3_0_ring_test_ib, - .is_lockup = sdma_v3_0_ring_is_lockup, -+ .insert_nop = amdgpu_ring_insert_nop, - }; - - static void sdma_v3_0_set_ring_funcs(struct amdgpu_device *adev) -diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c b/drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c -index 9ac383b..5fac5da 100644 ---- a/drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c -+++ b/drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c -@@ -886,6 +886,7 @@ static const struct amdgpu_ring_funcs uvd_v4_2_ring_funcs = { - .test_ring = uvd_v4_2_ring_test_ring, - .test_ib = uvd_v4_2_ring_test_ib, - .is_lockup = amdgpu_ring_test_lockup, -+ .insert_nop = amdgpu_ring_insert_nop, - }; - - static void uvd_v4_2_set_ring_funcs(struct amdgpu_device *adev) -diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c b/drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c -index de4b3f5..2d5c59c 100644 ---- a/drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c -@@ -825,6 +825,7 @@ static const struct amdgpu_ring_funcs uvd_v5_0_ring_funcs = { - .test_ring = uvd_v5_0_ring_test_ring, - .test_ib = uvd_v5_0_ring_test_ib, - .is_lockup = amdgpu_ring_test_lockup, -+ .insert_nop = amdgpu_ring_insert_nop, - }; - - static void uvd_v5_0_set_ring_funcs(struct amdgpu_device *adev) -diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c b/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c -index 66c9758..d9f553f 100644 ---- a/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c -@@ -805,6 +805,7 @@ static const struct amdgpu_ring_funcs uvd_v6_0_ring_funcs = { - .test_ring = uvd_v6_0_ring_test_ring, - .test_ib = uvd_v6_0_ring_test_ib, - .is_lockup = amdgpu_ring_test_lockup, -+ .insert_nop = amdgpu_ring_insert_nop, - }; - - static void uvd_v6_0_set_ring_funcs(struct amdgpu_device *adev) -diff --git a/drivers/gpu/drm/amd/amdgpu/vce_v2_0.c b/drivers/gpu/drm/amd/amdgpu/vce_v2_0.c -index 303d961d..cd16df5 100644 ---- a/drivers/gpu/drm/amd/amdgpu/vce_v2_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/vce_v2_0.c -@@ -643,6 +643,7 @@ static const struct amdgpu_ring_funcs vce_v2_0_ring_funcs = { - .test_ring = amdgpu_vce_ring_test_ring, - .test_ib = amdgpu_vce_ring_test_ib, - .is_lockup = amdgpu_ring_test_lockup, -+ .insert_nop = amdgpu_ring_insert_nop, - }; - - static void vce_v2_0_set_ring_funcs(struct amdgpu_device *adev) -diff --git a/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c b/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c -index 4349658..5642b8e 100644 ---- a/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c -@@ -608,6 +608,7 @@ static const struct amdgpu_ring_funcs vce_v3_0_ring_funcs = { - .test_ring = amdgpu_vce_ring_test_ring, - .test_ib = amdgpu_vce_ring_test_ib, - .is_lockup = amdgpu_ring_test_lockup, -+ .insert_nop = amdgpu_ring_insert_nop, - }; - - static void vce_v3_0_set_ring_funcs(struct amdgpu_device *adev) --- -1.9.1 - |