From fdb59d2535d7d517a14f3d6489ba91f3dac3b99f Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 25 Jul 2005 23:14:50 +0000 Subject: 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: 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). --- src/mga.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/mga.h') diff --git a/src/mga.h b/src/mga.h index 46c4dbe..32ea21b 100644 --- a/src/mga.h +++ b/src/mga.h @@ -304,6 +304,26 @@ struct mga_VCO { unsigned max_freq; }; +/** + * 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. */ @@ -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; }; -- cgit v1.2.3