Bug 9600 - [mach64] pci-rework
Summary: [mach64] pci-rework
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/mach64 (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
Depends on: 9437
  Show dependency treegraph
Reported: 2007-01-10 09:37 UTC by George -
Modified: 2007-08-28 06:34 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

mach64 pci-rework (14.76 KB, application/x-compressed-tar)
2007-01-10 09:38 UTC, George -
no flags Details
mach64 pci-rework - try 1 (15.01 KB, application/x-compressed-tar)
2007-01-15 06:50 UTC, George -
no flags Details
mach64 pci-rework - try 2 (14.88 KB, application/x-compressed-tar)
2007-01-19 12:57 UTC, George -
no flags Details
mach64 pci-rework - try 3 (13.81 KB, application/x-compressed-tar)
2007-02-05 09:49 UTC, George -
no flags Details
mach64 pci-rework - try 4 (41.96 KB, patch)
2007-03-08 08:52 UTC, George -
no flags Details | Splinter Review
mach64 pci-rework - try 5 (27.79 KB, patch)
2007-03-13 12:29 UTC, George -
no flags Details | Splinter Review
mach64 pci-rework - try 6 (13.59 KB, patch)
2007-03-16 10:21 UTC, George -
no flags Details | Splinter Review
mach64 pci-rework - try 7 (8.55 KB, patch)
2007-03-21 10:58 UTC, George -
no flags Details | Splinter Review

Description George - 2007-01-10 09:37:34 UTC
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.
Comment 1 George - 2007-01-10 09:38:42 UTC
Created attachment 8351 [details]
mach64 pci-rework

tgz patchset
Comment 2 George - 2007-01-11 00:41:17 UTC
Another note:
* the mtrr entry for the FB was set up by DRI, so no write-combining from 
  pci-rework here for now...
Comment 3 George - 2007-01-15 06:50:07 UTC
Created attachment 8401 [details]
mach64 pci-rework - try 1

port to pci-rework HEAD.
Comment 4 George - 2007-01-19 12:57:41 UTC
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."
Comment 5 Michel Dänzer 2007-01-21 04:47:46 UTC
Why don't you go ahead and put these in a pci-rework branch?
Comment 6 George - 2007-01-21 10:45:37 UTC
(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.
Comment 7 George - 2007-02-05 09:49:54 UTC
Created attachment 8603 [details]
mach64 pci-rework - try 3

rebase to master.
Comment 8 Daniel Stone 2007-02-27 01:35:35 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Comment 9 George - 2007-03-08 08:52:40 UTC
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.
Comment 10 George - 2007-03-13 12:29:31 UTC
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.
Comment 11 George - 2007-03-16 10:21:07 UTC
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.
Comment 12 George - 2007-03-21 10:58:06 UTC
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.
Comment 13 George - 2007-08-28 06:34:19 UTC
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.