The attached patchset ports the mach64 driver to the pci-rework branch of the xserver, it is a continuation of bug #9437. Only mach64 has been ported, so the first patch disables building r128, radeon for now. Two notes for pci-rework: * old mach64 cards put the MMIO registers in the same BAR as the FB (similar to old savage I see), which prevents write-combining and imposing a performance penalty on FB reads/writes. * the offsets for the BIST line of the scanpci utility are of by 4. Only tested on an ATI Rage Pro.
Created attachment 8351 [details] mach64 pci-rework tgz patchset
Another note: * the mtrr entry for the FB was set up by DRI, so no write-combining from pci-rework here for now...
Created attachment 8401 [details] mach64 pci-rework - try 1 port to pci-rework HEAD.
Created attachment 8461 [details] mach64 pci-rework - try 2 port to pci-rework HEAD. pci-rework HEAD segfaults here (i386), it starts ok if I Revert "Fix accidental commit (bug) in linuxOpenLegacy." Revert "Fix domain insanity."
Why don't you go ahead and put these in a pci-rework branch?
(In reply to comment #5) > Why don't you go ahead and put these in a pci-rework branch? The xserver pci-rework branch and libpciaccess are probably in more flux than I thought. There was some partial support recently for mapping sub-regions which can make the conversion less intrusive. Lastly, bug #9437 has to be merged first.
Created attachment 8603 [details] mach64 pci-rework - try 3 rebase to master.
Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Created attachment 9039 [details] [review] mach64 pci-rework - try 4 I created a pci-rework branch and checked in the preparatory patches only in case people want to do the preparatory work for r128/radeon in that branch. This is the conversion patch for mach64.
Created attachment 9125 [details] [review] mach64 pci-rework - try 5 Rebase to master. Also, revert to using ATIChipID() in the ati wrapper as r128 and radeon do not convert pci id's to chip families during probe.
Created attachment 9186 [details] [review] mach64 pci-rework - try 6 Convert to pci-rework, keeping source-code compatibility. Uses source-code compatibility macros and touches only the probe functions and region mapping calls.
Created attachment 9252 [details] [review] mach64 pci-rework - try 7 This ports the ati wrapper and atimisc to pci-rework. I backtracked to using the old probe methods mainly because porting the ati wrapper to the new pci probe methods seems a bit awkward.
committed (6ff0645ecfe65727e8ef5d5e6215b4e03078e1a5).
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.