diff --git a/src/common.h b/src/common.h index ad5ee1de..d808b214 100644 --- a/src/common.h +++ b/src/common.h @@ -301,6 +301,11 @@ extern int I810_DEBUG; #define PCI_CHIP_I946_GZ_BRIDGE 0x2970 #endif +#ifndef PCI_CHIP_CRESTLINE //XXX: fix with official name +#define PCI_CHIP_CRESTLINE 0x2A02 +#define PCI_CHIP_CRESTLINE_BRIDGE 0x2A00 +#endif + #define IS_I810(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I810 || \ pI810->PciInfo->chipType == PCI_CHIP_I810_DC100 || \ pI810->PciInfo->chipType == PCI_CHIP_I810_E) @@ -316,10 +321,11 @@ extern int I810_DEBUG; #define IS_I915GM(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I915_GM) #define IS_I945G(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I945_G) #define IS_I945GM(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I945_GM) -#define IS_I965G(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I965_G || pI810->PciInfo->chipType == PCI_CHIP_I965_G_1 || pI810->PciInfo->chipType == PCI_CHIP_I965_Q || pI810->PciInfo->chipType == PCI_CHIP_I946_GZ) +#define IS_I965G(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I965_G || pI810->PciInfo->chipType == PCI_CHIP_I965_G_1 || pI810->PciInfo->chipType == PCI_CHIP_I965_Q || pI810->PciInfo->chipType == PCI_CHIP_I946_GZ || pI810->PciInfo->chipType == PCI_CHIP_CRESTLINE) #define IS_I9XX(pI810) (IS_I915G(pI810) || IS_I915GM(pI810) || IS_I945G(pI810) || IS_I945GM(pI810) || IS_I965G(pI810)) +#define IS_CRESTLINE(pI810) (pI810->PciInfo->chipType == PCI_CHIP_CRESTLINE) // XXX: IS_965GM ? -#define IS_MOBILE(pI810) (IS_I830(pI810) || IS_I85X(pI810) || IS_I915GM(pI810) || IS_I945GM(pI810)) +#define IS_MOBILE(pI810) (IS_I830(pI810) || IS_I85X(pI810) || IS_I915GM(pI810) || IS_I945GM(pI810) || IS_CRESTLINE(pI810)) #define GTT_PAGE_SIZE KB(4) #define ROUND_TO(x, y) (((x) + (y) - 1) / (y) * (y)) diff --git a/src/i810_driver.c b/src/i810_driver.c index 3481d0b7..48e1463b 100644 --- a/src/i810_driver.c +++ b/src/i810_driver.c @@ -144,6 +144,7 @@ static SymTabRec I810Chipsets[] = { {PCI_CHIP_I965_G_1, "965G"}, {PCI_CHIP_I965_Q, "965Q"}, {PCI_CHIP_I946_GZ, "946GZ"}, + {PCI_CHIP_CRESTLINE, "Crestline"}, {-1, NULL} }; @@ -167,6 +168,7 @@ static PciChipsets I810PciChipsets[] = { {PCI_CHIP_I965_G_1, PCI_CHIP_I965_G_1, RES_SHARED_VGA}, {PCI_CHIP_I965_Q, PCI_CHIP_I965_Q, RES_SHARED_VGA}, {PCI_CHIP_I946_GZ, PCI_CHIP_I946_GZ, RES_SHARED_VGA}, + {PCI_CHIP_CRESTLINE, PCI_CHIP_CRESTLINE, RES_SHARED_VGA}, {-1, -1, RES_UNDEFINED } }; @@ -589,6 +591,7 @@ I810Probe(DriverPtr drv, int flags) case PCI_CHIP_I965_G_1: case PCI_CHIP_I965_Q: case PCI_CHIP_I946_GZ: + case PCI_CHIP_CRESTLINE: xf86SetEntitySharable(usedChips[i]); /* Allocate an entity private if necessary */ diff --git a/src/i830_driver.c b/src/i830_driver.c index c0d96725..cdf005a1 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -218,6 +218,7 @@ static SymTabRec I830BIOSChipsets[] = { {PCI_CHIP_I965_G_1, "965G"}, {PCI_CHIP_I965_Q, "965Q"}, {PCI_CHIP_I946_GZ, "946GZ"}, + {PCI_CHIP_CRESTLINE, "Crestline"}, {-1, NULL} }; @@ -235,6 +236,7 @@ static PciChipsets I830BIOSPciChipsets[] = { {PCI_CHIP_I965_G_1, PCI_CHIP_I965_G_1, RES_SHARED_VGA}, {PCI_CHIP_I965_Q, PCI_CHIP_I965_Q, RES_SHARED_VGA}, {PCI_CHIP_I946_GZ, PCI_CHIP_I946_GZ, RES_SHARED_VGA}, + {PCI_CHIP_CRESTLINE, PCI_CHIP_CRESTLINE, RES_SHARED_VGA}, {-1, -1, RES_UNDEFINED} }; @@ -4022,6 +4024,9 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags) case PCI_CHIP_I946_GZ: chipname = "946GZ"; break; + case PCI_CHIP_CRESTLINE: + chipname = "Crestline"; + break; default: chipname = "unknown chipset"; break;