From f4e8849d79de2cdc6c91f877cb223ed375d6a50c Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Thu, 7 Nov 2024 10:28:00 +0100 Subject: [PATCH] etnaviv: Fix incorrect pipe_nn creation When etna_screen_create(..) is called with gpu != NULL and npu == NULL, screen->pipe_nn is incorrectly set up. This leads to an unintended stream configuration for compute-only contexts, as determined by pipe = (compute_only && screen->pipe_nn) ? screen->pipe_nn : screen->pipe; To address this, extend the gpu != npu condition by adding a check for npu != NULL to ensure pipe_nn is only initialized when both gpu and npu are provided. Fixes: a4653587cc4 ("etnaviv: Add a separate NPU pipe") Signed-off-by: Christian Gmeiner Reviewed-by: Philipp Zabel Part-of: --- src/gallium/drivers/etnaviv/etnaviv_screen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c b/src/gallium/drivers/etnaviv/etnaviv_screen.c index 25fc8efe864..a94288ad85c 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_screen.c +++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c @@ -1105,7 +1105,7 @@ etna_screen_create(struct etna_device *dev, struct etna_gpu *gpu, goto fail; } - if (gpu != npu) { + if (npu && gpu != npu) { screen->pipe_nn = etna_pipe_new(npu, ETNA_PIPE_3D); if (!screen->pipe_nn) { DBG("could not create nn pipe");