diff options
author | Ian Romanick <idr@us.ibm.com> | 2005-07-25 23:14:50 +0000 |
---|---|---|
committer | Ian Romanick <idr@us.ibm.com> | 2005-07-25 23:14:50 +0000 |
commit | fdb59d2535d7d517a14f3d6489ba91f3dac3b99f (patch) | |
tree | 97355924269b0d5956094f7f73605665bf940f7f /src/mga.h | |
parent | 6030e8206db010f65199cbf5d332d2b47cdb3580 (diff) |
PInS data on later cards (G200 and later) contains information about the
physical bus used for the card. This allows accurate detection of PCI
cards that use a PCI-to-PCI bridge with an AGP chip.
Correctly disable DRI on PCI cards used with pre-3.2 DRM. Previously the
test was performed based on PCI ID (see above for why this is wrong)
and was done *before* the DRM version was known.
Bug #3759: <https://bugs.freedesktop.org/show_bug.cgi?id=3759> Correctly
determine the PLL reference frequency from the PInS data. Previously
the wrong bit was tested. Blame the dumb programmer that used
cut-and-paste (that would be me).
Diffstat (limited to 'src/mga.h')
-rw-r--r-- | src/mga.h | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -305,6 +305,26 @@ struct mga_VCO { }; /** + * Host interface types that can be set by the card's BIOS. + */ +typedef enum { + MGA_HOST_UNKNOWN0 = 0, /**< Meaning unknown. */ + MGA_HOST_UNKNOWN1 = 1, /**< Meaning unknown. */ + MGA_HOST_UNKNOWN2 = 2, /**< Meaning unknown. */ + MGA_HOST_HYBRID = 3, /**< AGP 4x for data xfers only. */ + + /** + * PCI interface. Either native or via a universal PCI-to-PCI bridge + * chip. The PCI G450 and PCI G550 cards are examples. + */ + MGA_HOST_PCI = 4, + + MGA_HOST_AGP_1x = 5, /**< AGP 1x capable. */ + MGA_HOST_AGP_2x = 6, /**< AGP 2x capable. */ + MGA_HOST_AGP_4x = 7 /**< AGP 4x capable. */ +} mga_host_t; + +/** * Card information derrived from BIOS PInS data. */ struct mga_bios_values { @@ -339,6 +359,11 @@ struct mga_bios_values { * by a capability bit stored in the PInS data. */ Bool fast_bitblt; + + /** + * Type of physical interface used for the card. + */ + mga_host_t host_interface; }; |