The kernel AGP drivers need to be initialized earlier in the boot process -- before the framebuffer system. This is needed for Antonio Daplas's framebuffer driver for the i810 video chipset which has no video memory of its own and must use the AGP GART to get linear memory for the framebuffer driver. Issues like this are why this driver is not merged yet. :-)
Should be as simple as reordering the entry in the Makefile so that AGP gets linked before the video/ bits shouldn't it ? Or is something else needed ?
I think so, but James Simmons would be the one who knows. He submitted this change, or a part of it, as part of a larger fbdev patch, but this part was rejected because it was too much at once and made for a very large changeset. The thread where this was discussed on LKML is archived : <a href="http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&threadm=fa.fcagvav.1agmfgf%40ifi.uio.no&rnum=2&prev=/groups%3Fq%3Dfbdev%2Bi810%2Bgroup:fa.linux.kernel%26hl%3Den%26lr%3D%26ie%3DUTF-8%26selm%3Dfa.fcagvav.1agmfgf%2540ifi.uio.no%26rnum%3D2%26filter%3D0">http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&threadm=fa.fcagvav.1agmfgf%40ifi.uio.no&rnum=2&prev=/groups%3Fq%3Dfbdev%2Bi810%2Bgroup:fa.linux.kernel%26hl%3Den%26lr%3D%26ie%3DUTF-8%26selm%3Dfa.fcagvav.1agmfgf%2540ifi.uio.no%26rnum%3D2%26filter%3D0</a>
Fix is now in agpgart bk tree (bk://linux-dj.bkbits.net/agpgart) and will go to Linus for 2.5.52 Note, that i810fb needs to call agp_init() for this to work. The fix was just to allow the agp_init() routine to be called explicitly, and multiple times (and do nothing on subsequent calls).
Changed category to Drivers.