[Nouveau] BIG changes to kernel module
Ben Skeggs
skeggsb at gmail.com
Sun Aug 5 23:58:14 PDT 2012
On Sun, Aug 05, 2012 at 10:56:37PM +0200, Marcin Slusarz wrote:
> On Sun, Aug 05, 2012 at 12:40:15PM +1000, Ben Skeggs wrote:
> > Hey all,
> >
> > I've just pushed a major rework/rewrite of the Nouveau kernel module to git[1].
> >
> > Details of the whys and what-nots of the rework are in the various commit
> > messages. At this point don't expect any exciting cool functionality, the
> > work so far is merely a restructure to allow moving forward on a number
> > of fronts in the future.
> >
> > I expect that for a while there will be a *lot* of stupid typos/thinkos that
> > cause all sorts of breakage, so please test everything any anything you can
> > and report *regressions* from the pre-rework code (vs 3.6-rc1 for example).
> >
> > I'll endeavour to hunt down and fix the regressions as quickly as possible, so
> > please report any issues to this list and/or the freedesktop bugzilla.
> >
> > There's two areas that didn't get "properly" ported over, that is PM-related
> > things and modesetting. I'll be handling the modesetting and clk/volt reworks
> > starting from nowish (in between fixing regressions), and I suspect Martin
> > will handle the rest of the PM bits (therm and fanctrl) since he knows the
> > design he's going for there.
> >
> > One thing to note is that some kernel module options have changed now, the
> > more important ones are:
> >
> > nouveau.vbios=<blah> -> nouveau.config=NvBIOS=<blah>
> > nouveau.noaccel=<bool> -> nouveau.config=PGRAPH=<bool>
> >
> > Multiple options are specified like:
> >
> > nouveau.config=NvBIOS=ACPI,PGRAPH=1
> >
> > The nouveau.noaccel option now controls acceleration enable/disable for the
> > DRM's own GPU usage, and for the "abi16" (the new interfaces aren't even
> > exposed to userspace yet) interfaces.
> >
> > The DRM debugging options (drm.debug=<bitfield>) now only effect the DRM
> > specific parts of the nouveau module. To enable additional debugging etc
> > for the core, incantations like the following are used now:
> >
> > for debug output
> >
> > nouveau.debug=debug
> >
> > or for even more verbose debug output
> >
> > nouveau.debug=trace
> >
> > or for trace output for everything, and register write logging from POST
> >
> > nouveau.debug=trace,DEVINIT=spam
> >
> > Each individual subdev/engine module has its own debug level that can
> > override the master debug level.
>
> It would be very helpful to document this convention and all options in some
> text file in-tree (and later update it when things change).
Yes, good point. I'll see to that before any of this hits Linus'.
>
> Some things I noticed:
> - corruptions / lockups in Warsow (1.0) on one of the bomb maps (I didn't test
> too much, so it might happen on others too) - initially bisected to
> "drm/nouveau/instmem: completely new implementation, as a subdev module",
> but I'm not so sure about it - with this commit most textures are corrupted
> and there are PGRAPH_TRAP_MP_EXEC errors in dmesg, but on HEAD I see total
> mayhem with DATA_ERROR, followed by TRAP_MP_EXEC and endless stream of page
> faults
> - new lockups triggerable by piglit
> - VRAM leak? (probably triggered by piglit)
I'll see if I can reproduce these at all during the week.
> - missing channel id in error messages
This is actually deliberate, since technically the channel address *is* the
chid on most engines. PFIFO errors still log the chid, because there are
actually indices there.
I do see how it can be useful to have the PFIFO channel ID too though in
error messages, so I'll bring them back.
> - debugfs removed (not advertised in any commit, so I don't know if it's
> intentional or not)
Oops, that *was* a separate commit at some point. Might have accidentally
squashed it. It's intentional for now, it'll come back (better) later.
> - some leftovers:
> - XXX_THIS_IS_A_HACK
> - /* yell very loudly!! */ (no code implementing yelling ;)
Oops, thanks. I've fixed both of these and I'll push them shortly.
Thanks a LOT for looking this over for me.
Cheers,
Ben.
>
> Marcin
More information about the Nouveau
mailing list