Pekka Paalanen
1. Hardware
At home (cooler dropped off): GeForce 256, AGP, VGA
At home: nv20 10de:0200, GeForce3, Elsa Gladiac 920, AGP, VGA
At home (installed): nv28 10de:0282, GeForce4 TI4800 SE, AGP, DVI+VGA
- Work laptop: NVD9 (Thinkpad T420, with a BIOS switch to select between Intel, Nvidia, and Optimus.)
2. 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/
Contact: find me in irc channel #nouveau in freenode, nick pq.
2.1. 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.
3. Git 1.5
If you have repositories created or cloned with earlier git version than 1.5, these instructions may not apply.
3.1. 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.
3.2. 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
4. Testing patches against git revisions in Gentoo
Using git ebuilds lets one test properly formatted patches easily. Say, you filed a bug against a git master HEAD some time ago, and now you got a patch to try. First find out which revision you actually used, since master HEAD has moved. It can be seen from emerge per-package-install log if git fetch was actually downloading something, or going to /var/portage/distfiles/git-src/* and inspecting the repo. Then just e.g.:
- EGIT_PATCHES="/home/pq/tmp/0001-dix-don-t-apply-button-mappings-to-SDs-or-the-devi.patch" EGIT_TREE=734b23e5982e171031077a2d5d6b5dc2a12e1a70 emerge -va xorg-server
5. Claws-mail
The script claws-git-am.bash can be set as an Action in claws-mail. Then select some patch email and use the Action to apply them directly from claws-mail.