[PATCH 1/2] drm/xe: Simplify batch buffer allocation in emit_wa_job()
Lucas De Marchi
lucas.demarchi at intel.com
Fri Jun 27 22:47:42 UTC 2025
On Fri, Jun 27, 2025 at 02:14:37PM +0100, Tvrtko Ursulin wrote:
>Code just needs a large enough buffer and it doesn't even check. Lets
>therefore simplify to one allocation path which is guaranteed to be as
>least as big as the current ones.
In my stashed patches (not sent yet since they don't fix an LRC
corruption we are chasing) I went the other way around:
b1f0626cb3d3 o drm/xe/gt: Extract emit_job_sync()
979fe60f3883 o drm/xe: Count dwords before allocating
5dca40d2503f o drm/xe/lrc: Reduce scope of empty lrc data
d892c8ac707a o drm/xe/lrc: Add table with LRC layout
... particularly the "Count dwords before allocating".
Lucas De Marchi
>
>Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>
>---
> drivers/gpu/drm/xe/xe_gt.c | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
>diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c
>index d397df056e4c..86018fee74d3 100644
>--- a/drivers/gpu/drm/xe/xe_gt.c
>+++ b/drivers/gpu/drm/xe/xe_gt.c
>@@ -190,13 +190,8 @@ static int emit_wa_job(struct xe_gt *gt, struct xe_exec_queue *q)
> int count_rmw = 0;
> int count = 0;
>
>- if (q->hwe->class == XE_ENGINE_CLASS_RENDER)
>- /* Big enough to emit all of the context's 3DSTATE */
>- bb = xe_bb_new(gt, xe_gt_lrc_size(gt, q->hwe->class), false);
>- else
>- /* Just pick a large BB size */
>- bb = xe_bb_new(gt, SZ_4K, false);
>-
>+ /* Just pick a large BB size */
>+ bb = xe_bb_new(gt, xe_gt_lrc_size(gt, q->hwe->class), false);
> if (IS_ERR(bb))
> return PTR_ERR(bb);
>
>--
>2.48.0
>
More information about the Intel-xe
mailing list