Mesa (master): freedreno: Mark all ringbuffer BOs as to be dumped on crash.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue May 12 16:58:52 UTC 2020


Module: Mesa
Branch: master
Commit: b2c23b1e48f043edee1a6aaa3c132c13edba032e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b2c23b1e48f043edee1a6aaa3c132c13edba032e

Author: Eric Anholt <eric at anholt.net>
Date:   Fri May  8 11:28:14 2020 -0700

freedreno: Mark all ringbuffer BOs as to be dumped on crash.

We can avoid passing these flags around in the DRM backends by just
marking ring BOs up front.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4967>

---

 src/freedreno/drm/freedreno_bo.c      | 6 ++++--
 src/freedreno/drm/msm_ringbuffer_sp.c | 3 +--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/freedreno/drm/freedreno_bo.c b/src/freedreno/drm/freedreno_bo.c
index 794f0bc3b60..a4218cd8ffb 100644
--- a/src/freedreno/drm/freedreno_bo.c
+++ b/src/freedreno/drm/freedreno_bo.c
@@ -132,9 +132,11 @@ fd_bo_new_ring(struct fd_device *dev, uint32_t size)
 {
 	uint32_t flags = DRM_FREEDRENO_GEM_GPUREADONLY;
 	struct fd_bo *bo = bo_new(dev, size, flags, &dev->ring_cache);
-	if (bo)
+	if (bo) {
 		bo->bo_reuse = RING_CACHE;
-	fd_bo_set_name(bo, "cmdstream");
+		bo->flags |= FD_RELOC_DUMP;
+		fd_bo_set_name(bo, "cmdstream");
+	}
 	return bo;
 }
 
diff --git a/src/freedreno/drm/msm_ringbuffer_sp.c b/src/freedreno/drm/msm_ringbuffer_sp.c
index ef16ccd18e2..65bfb2bde80 100644
--- a/src/freedreno/drm/msm_ringbuffer_sp.c
+++ b/src/freedreno/drm/msm_ringbuffer_sp.c
@@ -259,7 +259,7 @@ msm_submit_sp_flush(struct fd_submit *submit, int in_fence_fd,
 	for (unsigned i = 0; i < primary->u.nr_cmds; i++) {
 		cmds[i].type = MSM_SUBMIT_CMD_BUF;
 		cmds[i].submit_idx = msm_submit_append_bo(msm_submit,
-				primary->u.cmds[i].ring_bo, FD_RELOC_DUMP);
+				primary->u.cmds[i].ring_bo, 0);
 		cmds[i].submit_offset = primary->offset;
 		cmds[i].size = primary->u.cmds[i].size;
 		cmds[i].pad = 0;
@@ -453,7 +453,6 @@ msm_ringbuffer_sp_emit_reloc_ring(struct fd_ringbuffer *ring,
 
 	msm_ringbuffer_sp_emit_reloc(ring, &(struct fd_reloc){
 		.bo     = bo,
-		.flags  = FD_RELOC_DUMP,
 		.offset = msm_target->offset,
 	});
 



More information about the mesa-commit mailing list