aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Roper <matthew.d.roper@intel.com>2023-03-29 10:33:33 -0700
committerRodrigo Vivi <rodrigo.vivi@intel.com>2023-12-19 18:30:26 -0500
commit9b36f7af2024ef30866f5fa0b1132ca924fd81fc (patch)
tree291cb9721a2fa4b23e7bb12217eda43f8c1cf6de
parent681818fdb97de821cc1ee6b81c7a09f3ef8fc96d (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.c4
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);