freedreno: slight reordering
Splitting code-motion out from next patch. Once we add stateobj rb's this loop could add new entries to bos table, so it needs to be before we set req.bos/req.nr_bos. Signed-off-by: Rob Clark <robclark@freedesktop.org>main
parent
2932a03180
commit
04190a912e
|
@ -391,12 +391,6 @@ static int msm_ringbuffer_flush(struct fd_ringbuffer *ring, uint32_t *last_start
|
||||||
|
|
||||||
finalize_current_cmd(ring, last_start);
|
finalize_current_cmd(ring, last_start);
|
||||||
|
|
||||||
/* needs to be after get_cmd() as that could create bos/cmds table: */
|
|
||||||
req.bos = VOID2U64(msm_ring->submit.bos),
|
|
||||||
req.nr_bos = msm_ring->submit.nr_bos;
|
|
||||||
req.cmds = VOID2U64(msm_ring->submit.cmds),
|
|
||||||
req.nr_cmds = msm_ring->submit.nr_cmds;
|
|
||||||
|
|
||||||
/* for each of the cmd's fix up their reloc's: */
|
/* for each of the cmd's fix up their reloc's: */
|
||||||
for (i = 0; i < msm_ring->submit.nr_cmds; i++) {
|
for (i = 0; i < msm_ring->submit.nr_cmds; i++) {
|
||||||
struct drm_msm_gem_submit_cmd *cmd = &msm_ring->submit.cmds[i];
|
struct drm_msm_gem_submit_cmd *cmd = &msm_ring->submit.cmds[i];
|
||||||
|
@ -407,6 +401,12 @@ static int msm_ringbuffer_flush(struct fd_ringbuffer *ring, uint32_t *last_start
|
||||||
cmd->nr_relocs = (b > a) ? b - a : 0;
|
cmd->nr_relocs = (b > a) ? b - a : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* needs to be after get_cmd() as that could create bos/cmds table: */
|
||||||
|
req.bos = VOID2U64(msm_ring->submit.bos),
|
||||||
|
req.nr_bos = msm_ring->submit.nr_bos;
|
||||||
|
req.cmds = VOID2U64(msm_ring->submit.cmds),
|
||||||
|
req.nr_cmds = msm_ring->submit.nr_cmds;
|
||||||
|
|
||||||
DEBUG_MSG("nr_cmds=%u, nr_bos=%u", req.nr_cmds, req.nr_bos);
|
DEBUG_MSG("nr_cmds=%u, nr_bos=%u", req.nr_cmds, req.nr_bos);
|
||||||
|
|
||||||
ret = drmCommandWriteRead(ring->pipe->dev->fd, DRM_MSM_GEM_SUBMIT,
|
ret = drmCommandWriteRead(ring->pipe->dev->fd, DRM_MSM_GEM_SUBMIT,
|
||||||
|
|
Loading…
Reference in New Issue