Pekka Paalanen
Hardware
At home (cooler dropped off): GeForce 256, AGP, VGA
At home (installed): nv20 10de:0200, GeForce3, Elsa Gladiac 920, AGP, VGA
At home: nv28 10de:0282, GeForce4 TI4800 SE, AGP, DVI+VGA
At work: nv43 10de:0141, GeForce 6600 rev a2, PCI-e, DVI+VGA
- laptop: G86GL 10de:0429, Quadro NVS 140M, pci-e, internal dual-link LVDS 1440x900
Links
home page: http://www.iki.fi/pq/
my related files: http://jumi.lut.fi/~paalanen/scratch/
my mmio-trace git repo: http://cgit.freedesktop.org/~pq/mmio-trace/
Always interested in crashing my system to help the project.
Contact: find me in irc channel #nouveau in freenode, nick pq.
To Read
http://lkml.org/lkml/2007/4/26/74 TTM discussion
http://lkml.org/lkml/2007/8/19/155 cached and uncached buffers, performance
http://www.linuxjournal.com/article/5783 Writing Portable Device Drivers by Greg K.-H.
Rules-ng
Mission: To design a better format for rules.xml: RulesNG
Everything can be found in the CVS.
Status
The database specifications seem to have stabilized so far. Serious use of Rules-ng is starting as of May-June 2007.
Translators written in Python exist for generating a C header file for use in drivers, and for converting the database into static C structures for inclusion in tools, e.g., mmio-parse.
An Example
The database in XML: test.xml
Generated static C code: test.c
Generated C header: test.h
Git 1.5
If you have repositories created or cloned with earlier git version than 1.5, these instructions may not apply.
Setting up DRM for pushing
The mesa/drm tree has lots and lots of branches, tracking them all is a bit useless, so I used this recipe found in man git-remote:
$ mkdir drm.git $ cd drm.git $ git-init $ git-remote add -f -t master -m master origin ssh://git.freedesktop.org/git/mesa/drm $ git merge origin
This will get me the origin/master branch and nothing else. I can later add new branches to be tracked by e.g.
$ git-config --add remote.origin.fetch +refs/heads/modesetting-101:refs/remotes/origin/modesetting-101 $ git-fetch origin
Now I can check the tracked branches with git-branch -r and config settings with git-config -l. To be warm and fuzzy (make sure where my git-push goes) I do
$ git-config --add remote.origin.push master:master
which probably is some kind of default, but does not hurt to define it anyway. I am going to push my master branch, so I must remember to do my development in other branches
To keep those nasty trailing whitespaces from my commits, I should remember to activate .git/hooks/pre-commit script by making it executable.
And remember, do not use git-pull when git-fetch && git-rebase origin can do the job. Spurious merge commits are annoying.
New git repo at fd.o
http://www.freedesktop.org/wiki/Infrastructure/git/RepositoryAdmin
git remote add public ssh://people.freedesktop.org/~pq/nv20_demo git-config remote.public.push master:master git push --force public
To do
- Test if the blob uses PCI or AGP for DFS. Ask p0g how.
See MmioTrace To do.
See RulesNG To do.
- mmio-instrument renouveau
- Make Nouveau register headers to be generated from rules-ng database.
- Make glxgears work on NV28.
- Pick a simple openGL version of Doom and make it work - a long term goal.
- Check fog coefficients on NV28. Not needed anymore?

