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:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user