pan/cs: Rename cs_select_sb_entries_for_async_ops()

The name is misleading since it's only setting the endpoint scoreboard
on v11+. On v10, we shouldn't assume the "other" SB is always zero,
since we're passed the SB slot to use at init time (ls_sb_slot).

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38826>
This commit is contained in:
Boris Brezillon
2025-12-05 10:51:59 +01:00
parent 728cd0d150
commit 97a10dfcae
3 changed files with 8 additions and 7 deletions

View File

@@ -167,7 +167,7 @@ csf_oom_handler_init(struct panfrost_context *ctx)
cs_wait_slot(&b, 0);
/* Run the fragment job and wait */
cs_select_sb_entries_for_async_ops(&b, 3);
cs_select_endpoint_sb(&b, 3);
cs_run_fragment(&b, MALI_TILE_RENDER_ORDER_Z_ORDER, false);
cs_wait_slot(&b, 3);
@@ -197,7 +197,7 @@ csf_oom_handler_init(struct panfrost_context *ctx)
cs_wait_slot(&b, 0);
cs_select_sb_entries_for_async_ops(&b, 2);
cs_select_endpoint_sb(&b, 2);
}
assert(cs_is_valid(&b));
@@ -272,7 +272,7 @@ GENX(csf_init_batch)(struct panfrost_batch *batch)
/* Set up entries */
struct cs_builder *b = batch->csf.cs.builder;
cs_select_sb_entries_for_async_ops(b, 2);
cs_select_endpoint_sb(b, 2);
batch->framebuffer = alloc_fbd(batch);
if (!batch->framebuffer.gpu)

View File

@@ -1923,14 +1923,15 @@ cs_set_state_imm32(struct cs_builder *b, enum mali_cs_set_state_type state,
/*
* Select which scoreboard entry will track endpoint tasks.
* On v10, this also set other endpoint to SB0.
* On v10, this also set the "other" SB to the ls_sb_slot passed at config
* time, because there's no way to set those things independently.
* Pass to cs_wait to wait later.
*/
static inline void
cs_select_sb_entries_for_async_ops(struct cs_builder *b, unsigned ep)
cs_select_endpoint_sb(struct cs_builder *b, unsigned ep)
{
#if PAN_ARCH == 10
cs_set_scoreboard_entry(b, ep, 0);
cs_set_scoreboard_entry(b, ep, b->conf.ls_sb_slot);
#else
cs_set_state_imm32(b, MALI_CS_SET_STATE_TYPE_SB_SEL_ENDPOINT, ep);
#endif

View File

@@ -810,7 +810,7 @@ panvk_per_arch(cs_next_iter_sb)(struct panvk_cmd_buffer *cmdbuf,
cs_match_iter_sb(b, x, iter_sb, cmp_scratch) {
cs_wait_slot(b, SB_ITER(x));
cs_select_sb_entries_for_async_ops(b, SB_ITER(x));
cs_select_endpoint_sb(b, SB_ITER(x));
}
cs_store32(b, iter_sb, cs_subqueue_ctx_reg(b),