|
@@ -1012,13 +1012,9 @@ static int amdgpu_cs_ib_fill(struct amdgpu_device *adev,
|
|
if (r)
|
|
if (r)
|
|
return r;
|
|
return r;
|
|
|
|
|
|
- if (chunk_ib->flags & AMDGPU_IB_FLAG_PREAMBLE) {
|
|
|
|
- parser->job->preamble_status |= AMDGPU_PREAMBLE_IB_PRESENT;
|
|
|
|
- if (!parser->ctx->preamble_presented) {
|
|
|
|
- parser->job->preamble_status |= AMDGPU_PREAMBLE_IB_PRESENT_FIRST;
|
|
|
|
- parser->ctx->preamble_presented = true;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ if (chunk_ib->flags & AMDGPU_IB_FLAG_PREAMBLE)
|
|
|
|
+ parser->job->preamble_status |=
|
|
|
|
+ AMDGPU_PREAMBLE_IB_PRESENT;
|
|
|
|
|
|
if (parser->ring && parser->ring != ring)
|
|
if (parser->ring && parser->ring != ring)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
@@ -1241,6 +1237,12 @@ static int amdgpu_cs_submit(struct amdgpu_cs_parser *p,
|
|
|
|
|
|
amdgpu_cs_post_dependencies(p);
|
|
amdgpu_cs_post_dependencies(p);
|
|
|
|
|
|
|
|
+ if ((job->preamble_status & AMDGPU_PREAMBLE_IB_PRESENT) &&
|
|
|
|
+ !p->ctx->preamble_presented) {
|
|
|
|
+ job->preamble_status |= AMDGPU_PREAMBLE_IB_PRESENT_FIRST;
|
|
|
|
+ p->ctx->preamble_presented = true;
|
|
|
|
+ }
|
|
|
|
+
|
|
cs->out.handle = seq;
|
|
cs->out.handle = seq;
|
|
job->uf_sequence = seq;
|
|
job->uf_sequence = seq;
|
|
|
|
|