On Tue, 12 Nov 2024 at 22:34, Linux regression tracking (Thorsten Leemhuis) <regressions@xxxxxxxxxxxxx> wrote: > > [CCing Danilo, who committed the culprit] > > On 04.11.24 13:11, Diogo Ivo wrote: > > On Tue Oct 15, 2024 at 7:13 PM WEST, Linux regression tracking (Thorsten Leemhuis) wrote: > >> On 10.10.24 15:32, Diogo Ivo wrote: > >>> > >>> Somewhere between 6.11-rc4 and 6.11-rc5 the following error message is displayed > >>> when trying to initialize a nvc0_screen on the Tegra X1's GM20B: > >>> > >>> [ 34.431210] nouveau 57000000.gpu: pmu:hpq: timeout waiting for queue ready > >>> [ 34.438145] nouveau 57000000.gpu: gr: init failed, -110 > >>> nvc0_screen_create:1075 - Error allocating PGRAPH context for M2MF: -110 > >>> failed to create GPU screen > >> > >> Thx for the report. Hmmm. No reply so far. :-/ Apologies for the delay and thanks to Thorsten for bringing it up again, Does the attached patch fix it? if you say it does I'll send it out properly. Dave.
From c0f78b226da4177359450069e4a1af244253fdde Mon Sep 17 00:00:00 2001 From: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed, 13 Nov 2024 05:57:03 +1000 Subject: [PATCH] nouveau: sync dma after setup is called. setup seems to change some of the fw contents, so sync after it. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> --- drivers/gpu/drm/nouveau/nvkm/falcon/fw.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/falcon/fw.c b/drivers/gpu/drm/nouveau/nvkm/falcon/fw.c index a1c8545f1249..cac6d64ab67d 100644 --- a/drivers/gpu/drm/nouveau/nvkm/falcon/fw.c +++ b/drivers/gpu/drm/nouveau/nvkm/falcon/fw.c @@ -89,11 +89,6 @@ nvkm_falcon_fw_boot(struct nvkm_falcon_fw *fw, struct nvkm_subdev *user, nvkm_falcon_fw_dtor_sigs(fw); } - /* after last write to the img, sync dma mappings */ - dma_sync_single_for_device(fw->fw.device->dev, - fw->fw.phys, - sg_dma_len(&fw->fw.mem.sgl), - DMA_TO_DEVICE); FLCNFW_DBG(fw, "resetting"); fw->func->reset(fw); @@ -105,6 +100,12 @@ nvkm_falcon_fw_boot(struct nvkm_falcon_fw *fw, struct nvkm_subdev *user, goto done; } + /* after last write to the img, sync dma mappings */ + dma_sync_single_for_device(fw->fw.device->dev, + fw->fw.phys, + sg_dma_len(&fw->fw.mem.sgl), + DMA_TO_DEVICE); + ret = fw->func->load(fw); if (ret) goto done; -- 2.47.0