dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/3] AMDGPU / RADEON / DRM Fix mapping of user pages
@ 2020-03-25  9:07 Shane Francis
  2020-03-25  9:07 ` [PATCH v4 1/3] drm/prime: use dma length macro when mapping sg Shane Francis
                   ` (3 more replies)
  0 siblings, 4 replies; 22+ messages in thread
From: Shane Francis @ 2020-03-25  9:07 UTC (permalink / raw)
  To: dri-devel
  Cc: airlied, linux-kernel, bigbeeshane, amd-gfx-request,
	alexander.deucher, christian.koenig

This patch set is to fix a bug in amdgpu / radeon drm that results in
a crash when dma_map_sg combines elemnets within a scatterlist table. 

There are 2 shortfalls in the current kernel.

1) AMDGPU / RADEON assumes that the requested and created scatterlist
   table lengths using from dma_map_sg are equal. This may not be the
   case using the newer dma-iommu implementation

2) drm_prime does not fetch the length of the scatterlist
   via the correct dma macro, this can use the incorrect length
   being used (>0) in places where dma_map_sg has updated the table
   elements.

   The sg_dma_len macro is representative of the length of the sg item
   after dma_map_sg

Example Crash :
> [drm:amdgpu_ttm_backend_bind [amdgpu]] *ERROR* failed to pin userptr

This happens in OpenCL applications, causing them to crash or hang, on
either amdgpu-pro or ROCm OpenCL implementations

I have verified this fixes the above on kernel 5.5 and 5.5rc using an
AMD Vega 64 GPU

Shane Francis (3):
  drm/prime: use dma length macro when mapping sg to arrays
  drm/amdgpu: fix scatter-gather mapping with user pages
  drm/radeon: fix scatter-gather mapping with user pages

 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 +-
 drivers/gpu/drm/drm_prime.c             | 2 +-
 drivers/gpu/drm/radeon/radeon_ttm.c     | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

-- 
2.26.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2020-03-31 14:29 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-25  9:07 [PATCH v4 0/3] AMDGPU / RADEON / DRM Fix mapping of user pages Shane Francis
2020-03-25  9:07 ` [PATCH v4 1/3] drm/prime: use dma length macro when mapping sg Shane Francis
2020-03-25 13:56   ` Ruhl, Michael J
     [not found]   ` <CGME20200327075458eucas1p2f1011560c5d2d2a754d2394f56367ebb@eucas1p2.samsung.com>
2020-03-27  7:54     ` [v4,1/3] " Marek Szyprowski
2020-03-27  8:11       ` Christian König
2020-03-27  9:10         ` Marek Szyprowski
2020-03-30  8:18           ` Marek Szyprowski
2020-03-30  9:39             ` Shane Francis
2020-03-30 12:32             ` Shane Francis
2020-03-30 12:34             ` Shane Francis
2020-03-30 13:23             ` Alex Deucher
2020-03-31  5:25               ` Marek Szyprowski
2020-03-31 14:10                 ` Alex Deucher
2020-03-31 14:29                   ` Marek Szyprowski
     [not found]       ` <CGME20200327082702eucas1p1a66dd059480c9d02b8f0f3ab225db2c3@eucas1p1.samsung.com>
2020-03-27  8:26         ` Marek Szyprowski
2020-03-25  9:07 ` [PATCH v4 2/3] drm/amdgpu: fix scatter-gather mapping with user pages Shane Francis
2020-03-25 14:00   ` Ruhl, Michael J
2020-03-25  9:07 ` [PATCH v4 3/3] drm/radeon: " Shane Francis
2020-03-25 14:19   ` Ruhl, Michael J
2020-03-25 15:54     ` Shane Francis
2020-03-25 16:08       ` Alex Deucher
2020-03-25 13:11 ` [PATCH v4 0/3] AMDGPU / RADEON / DRM Fix mapping of " Ruhl, Michael J

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).