On Thu, May 7, 2020 at 12:11 AM Milan Buska <milan.buska@xxxxxxxxx> wrote: > > On 20-05-06 18:53:00, Ilia Mirkin wrote: > > On Wed, May 6, 2020 at 5:59 PM Milan Buska <milan.buska@xxxxxxxxx> wrote: > > > > > > On 20-05-06 17:12:44, Ilia Mirkin wrote: > > > > You need both VRAM *and* UNCACHED. Separate them with a | > > > > > > > > On Wed, May 6, 2020 at 5:10 PM Milan Buska <milan.buska@xxxxxxxxx> wrote: > > > > > > > > > > On 20-05-06 11:51:35, Ilia Mirkin wrote: > > > > > > On Wed, May 6, 2020 at 10:42 AM Ilia Mirkin <imirkin@xxxxxxxxxxxx> wrote: > > > > > > > On Wed, May 6, 2020 at 10:39 AM Lucas Stach <dev@xxxxxxxxxx> wrote: > > > > > > > > > > [ 17.146929] nouveau 0000:01:00.0: DRM: core notifier timeout > > > > > > > > > > [ 19.146846] nouveau 0000:01:00.0: DRM: base-0: timeout > > > > > > > > > > [ 19.147554] Console: switching to colour frame buffer device 240x67 > > > > > > > > > > [ 19.446311] nouveau 0000:01:00.0: DRM: GPU lockup - switching to software fbcon > > > > > > > > > > [ 19.501043] nouveau 0000:01:00.0: fb0: nouveaudrmfb frame buffer device > > > > > > > > > > [ 19.523471] [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0 on minor 0 > > > > > > > > > > > > > > > > > > So that "core notifier timeout" and subsequent GPU lockup indicate > > > > > > > > > that something's amiss. Most of the initialization was able to be > > > > > > > > > completed, including reading EDID from your monitor (hence the > > > > > > > > > non-default resolution), but we're not seeing values change properly / > > > > > > > > > missing notifications. I'm actually wondering if we aren't > > > > > > > > > initializing the GPU because we think it's already initialized. Could > > > > > > > > > you boot with nouveau.config=NvForcePost=1 and see if that helps? > > > > > > > > > > > > > > > > Note that PCIe is non-coherent on most ARM devices (including Tegra TX2 > > > > > > > > IIRC), so if the notifier BO isn't mapped as uncached memory, you > > > > > > > > probably won't see the expected notifier content, as you are reading > > > > > > > > stale cache line content. > > > > > > > > > > > > > > I *believe* that as part of getting nouveau working with the Tegra > > > > > > > in-SoC GPU, at least the fence logic was adjusted. However perhaps we > > > > > > > didn't do it for notifier memory... worth checking. > > > > > > > > > > > > Hm, looks like we should be passing in TTM_PL_FLAG_UNCACHED for the > > > > > > notifier, which should cause nouveau_bo to do the right thing (by > > > > > > setting force_coherent=true in this environment): > > > > > > > > > > > > ret = nouveau_bo_new(&drm->client, 4096, 0x1000, TTM_PL_FLAG_VRAM, > > > > > > 0, 0x0000, NULL, NULL, &disp->sync); > > > > > > > > > > > > Milan - can you try changing that line in > > > > > > > > > > > > drivers/gpu/drm/nouveau/dispnv50/disp.c::nv50_display_create > > > > > > > > > > > > to have TTM_PL_FLAG_VRAM | TTM_PL_FLAG_UNCACHED instead for that > > > > > > nouveau_bo_new call (no need to change the later nouveau_bo_pin call)? > > > > > > > > > > > > Cheers, > > > > > > > > > > > > -ilia > > > > > > > > > > > > > > > > /* small shared memory area we use for notifiers and semaphores */ > > > ret = nouveau_bo_new(&drm->client, 4096, 0x1000, TTM_PL_FLAG_VRAM | TTM_PL_FLAG_UNCACHED, > > > > > > it is OK > > > > What do you mean by that? You're testing it, or that fixed it? > > > It's the same Oh well, it was worth a shot. Someone will have to debug what's going on. -ilia _______________________________________________ Nouveau mailing list Nouveau@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/nouveau