summaryrefslogtreecommitdiff
path: root/src/mga.h
diff options
context:
space:
mode:
authorIan Romanick <idr@us.ibm.com>2005-07-25 23:14:50 +0000
committerIan Romanick <idr@us.ibm.com>2005-07-25 23:14:50 +0000
commitfdb59d2535d7d517a14f3d6489ba91f3dac3b99f (patch)
tree97355924269b0d5956094f7f73605665bf940f7f /src/mga.h
parent6030e8206db010f65199cbf5d332d2b47cdb3580 (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.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/mga.h b/src/mga.h
index 46c4dbe..32ea21b 100644
--- a/src/mga.h
+++ b/src/mga.h
@@ -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;
};