[Nouveau] GeForce(R) GT 710 1GB PCIE x 1 on arm64
Ilia Mirkin
imirkin at alum.mit.edu
Wed May 6 15:51:35 UTC 2020
On Wed, May 6, 2020 at 10:42 AM Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Wed, May 6, 2020 at 10:39 AM Lucas Stach <dev at lynxeye.de> 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
More information about the Nouveau
mailing list