Hi Christian,
Looks like we have to exit the loop if there are no blocks to compare.
May be that's why the function returns false.
@Arthur Marsh Could you please test the attached patch.
Thanks,
Arun
On 10/17/2022 1:39 PM, Christian König wrote:
Am 17.10.22 um 10:01 schrieb Dave Airlie:
On Mon, 17 Oct 2022 at 17:07, Christian König
<christian.koenig@xxxxxxx> wrote:
Hi Arun,
the hw generation doesn't matter. This error message here:
amdgpu: Move buffer fallback to memcpy unavailable
indicates that the detection of linear buffers still doesn't work as
expected or that we have a bug somewhere else.
Maybe the limiting when SDMA moves are not available isn't working
correctly?
It is a CAPE_VERDE, so maybe something with the SI UVD memory
limitations?
Yeah, good point. Could be that we try to move something into the UVD
memory window and that something isn't allocated linearly.
Arun can you trace the allocation and make sure that all kernel
allocations have the CONTIGUOUS flag set?
Thanks,
Christian.
Dave.
From 132ce83f893eaea743fb7f41a9dc72afea52cdaa Mon Sep 17 00:00:00 2001
From: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@xxxxxxx>
Date: Mon, 17 Oct 2022 13:15:21 -0700
Subject: [PATCH] drm/amdgpu: Fix for BO move issue
If there are no blocks to compare then exit
the loop.
Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@xxxxxxx>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index dc262d2c2925..57277b1cf183 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -439,6 +439,9 @@ static bool amdgpu_mem_visible(struct amdgpu_device *adev,
while (cursor.remaining) {
amdgpu_res_next(&cursor, cursor.size);
+ if (!cursor.remaining)
+ break;
+
/* ttm_resource_ioremap only supports contiguous memory */
if (end != cursor.start)
return false;
--
2.25.1