diff options
author | Matt Roper <matthew.d.roper@intel.com> | 2023-03-29 10:33:33 -0700 |
---|---|---|
committer | Rodrigo Vivi <rodrigo.vivi@intel.com> | 2023-12-19 18:30:26 -0500 |
commit | 9b36f7af2024ef30866f5fa0b1132ca924fd81fc (patch) | |
tree | 291cb9721a2fa4b23e7bb12217eda43f8c1cf6de | |
parent | 681818fdb97de821cc1ee6b81c7a09f3ef8fc96d (diff) |
drm/xe: Adjust batchbuffer space warning when creating a job
We should WARN (not BUG) when creating a job if the batchbuffer does not
have sufficient space and padding. The hardware prefetch requirements
should also be considered.
Link: https://lore.kernel.org/r/20230329173334.4015124-3-matthew.d.roper@intel.com
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
-rw-r--r-- | drivers/gpu/drm/xe/xe_bb.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/xe/xe_bb.c b/drivers/gpu/drm/xe/xe_bb.c index f326f117ba3b..7172801ee570 100644 --- a/drivers/gpu/drm/xe/xe_bb.c +++ b/drivers/gpu/drm/xe/xe_bb.c @@ -63,10 +63,10 @@ __xe_bb_create_job(struct xe_engine *kernel_eng, struct xe_bb *bb, u64 *addr) { u32 size = drm_suballoc_size(bb->bo); - XE_BUG_ON((bb->len * 4 + 1) > size); - bb->cs[bb->len++] = MI_BATCH_BUFFER_END; + WARN_ON(bb->len * 4 + bb_prefetch(kernel_eng->gt) > size); + xe_sa_bo_flush_write(bb->bo); return xe_sched_job_create(kernel_eng, addr); |