[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