From ad9654a4c153c6dbe93ce9b8459837a9c008a138 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Thu, 22 Apr 2021 08:02:49 -0700 Subject: [PATCH] freedreno/drm: fd_submit should hold ref to fd_pipe Also, move this into the base class, no reason for it to be in backend. Signed-off-by: Rob Clark Part-of: --- src/freedreno/drm/freedreno_ringbuffer.c | 3 +++ src/freedreno/drm/msm_ringbuffer.c | 1 - src/freedreno/drm/msm_ringbuffer_sp.c | 1 - 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/freedreno/drm/freedreno_ringbuffer.c b/src/freedreno/drm/freedreno_ringbuffer.c index 700ba42..a2fd7ef 100644 --- a/src/freedreno/drm/freedreno_ringbuffer.c +++ b/src/freedreno/drm/freedreno_ringbuffer.c @@ -35,6 +35,7 @@ fd_submit_new(struct fd_pipe *pipe) { struct fd_submit *submit = pipe->funcs->submit_new(pipe); submit->refcnt = 1; + submit->pipe = fd_pipe_ref(pipe); return submit; } @@ -47,6 +48,8 @@ fd_submit_del(struct fd_submit *submit) if (submit->primary) fd_ringbuffer_del(submit->primary); + fd_pipe_del(submit->pipe); + submit->funcs->destroy(submit); } diff --git a/src/freedreno/drm/msm_ringbuffer.c b/src/freedreno/drm/msm_ringbuffer.c index 50ec878..dbeeb73 100644 --- a/src/freedreno/drm/msm_ringbuffer.c +++ b/src/freedreno/drm/msm_ringbuffer.c @@ -433,7 +433,6 @@ msm_submit_new(struct fd_pipe *pipe) slab_create(&msm_submit->ring_pool, sizeof(struct msm_ringbuffer), 16); submit = &msm_submit->base; - submit->pipe = pipe; submit->funcs = &submit_funcs; return submit; diff --git a/src/freedreno/drm/msm_ringbuffer_sp.c b/src/freedreno/drm/msm_ringbuffer_sp.c index f8becaf..1ebbc86 100644 --- a/src/freedreno/drm/msm_ringbuffer_sp.c +++ b/src/freedreno/drm/msm_ringbuffer_sp.c @@ -530,7 +530,6 @@ msm_submit_sp_new(struct fd_pipe *pipe) slab_create_child(&msm_submit->ring_pool, &to_msm_pipe(pipe)->ring_pool); submit = &msm_submit->base; - submit->pipe = pipe; submit->funcs = &submit_funcs; return submit; -- 2.7.4