Support the Intel E7221 server chipset.
This commit is contained in:
parent
3b87fac327
commit
b99ef9cd59
10
src/common.h
10
src/common.h
|
|
@ -310,6 +310,12 @@ extern int I810_DEBUG;
|
|||
#define PCI_CHIP_I915_GM_BRIDGE 0x2590
|
||||
#endif
|
||||
|
||||
#ifndef PCI_CHIP_E7221_G
|
||||
#define PCI_CHIP_E7221_G 0x258A
|
||||
/* Same as I915_G_BRIDGE */
|
||||
#define PCI_CHIP_E7221_G_BRIDGE 0x2580
|
||||
#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)
|
||||
|
|
@ -317,8 +323,10 @@ extern int I810_DEBUG;
|
|||
#define IS_I830(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I830_M)
|
||||
#define IS_845G(pI810) (pI810->PciInfo->chipType == PCI_CHIP_845_G)
|
||||
#define IS_I85X(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I855_GM)
|
||||
#define IS_I852(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I855_GM && (pI810->variant == I852_GM || pI810->variant == I852_GME))
|
||||
#define IS_I855(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I855_GM && (pI810->variant == I855_GM || pI810->variant == I855_GME))
|
||||
#define IS_I865G(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I865_G)
|
||||
#define IS_I915G(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I915_G)
|
||||
#define IS_I915G(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I915_G || pI810->PciInfo->chipType == PCI_CHIP_E7221_G)
|
||||
#define IS_I915GM(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I915_GM)
|
||||
|
||||
#define IS_MOBILE(pI810) (IS_I830(pI810) || IS_I85X(pI810) || IS_I915GM(pI810))
|
||||
|
|
|
|||
|
|
@ -129,6 +129,7 @@ static SymTabRec I810Chipsets[] = {
|
|||
{PCI_CHIP_I855_GM, "852GM/855GM"},
|
||||
{PCI_CHIP_I865_G, "865G"},
|
||||
{PCI_CHIP_I915_G, "915G"},
|
||||
{PCI_CHIP_E7221_G, "E7221 (i915)"},
|
||||
{PCI_CHIP_I915_GM, "915GM"},
|
||||
{-1, NULL}
|
||||
};
|
||||
|
|
@ -145,6 +146,7 @@ static PciChipsets I810PciChipsets[] = {
|
|||
{PCI_CHIP_I855_GM, PCI_CHIP_I855_GM, RES_SHARED_VGA},
|
||||
{PCI_CHIP_I865_G, PCI_CHIP_I865_G, RES_SHARED_VGA},
|
||||
{PCI_CHIP_I915_G, PCI_CHIP_I915_G, RES_SHARED_VGA},
|
||||
{PCI_CHIP_E7221_G, PCI_CHIP_E7221_G, RES_SHARED_VGA},
|
||||
{PCI_CHIP_I915_GM, PCI_CHIP_I915_GM, RES_SHARED_VGA},
|
||||
{-1, -1, RES_UNDEFINED }
|
||||
};
|
||||
|
|
@ -562,6 +564,7 @@ I810Probe(DriverPtr drv, int flags)
|
|||
case PCI_CHIP_I830_M:
|
||||
case PCI_CHIP_I855_GM:
|
||||
case PCI_CHIP_I915_G:
|
||||
case PCI_CHIP_E7221_G:
|
||||
case PCI_CHIP_I915_GM:
|
||||
xf86SetEntitySharable(usedChips[i]);
|
||||
|
||||
|
|
|
|||
|
|
@ -185,6 +185,7 @@ static SymTabRec I830BIOSChipsets[] = {
|
|||
{PCI_CHIP_I855_GM, "852GM/855GM"},
|
||||
{PCI_CHIP_I865_G, "865G"},
|
||||
{PCI_CHIP_I915_G, "915G"},
|
||||
{PCI_CHIP_E7221_G, "E7221 (i915)"},
|
||||
{PCI_CHIP_I915_GM, "915GM"},
|
||||
{-1, NULL}
|
||||
};
|
||||
|
|
@ -195,6 +196,7 @@ static PciChipsets I830BIOSPciChipsets[] = {
|
|||
{PCI_CHIP_I855_GM, PCI_CHIP_I855_GM, RES_SHARED_VGA},
|
||||
{PCI_CHIP_I865_G, PCI_CHIP_I865_G, RES_SHARED_VGA},
|
||||
{PCI_CHIP_I915_G, PCI_CHIP_I915_G, RES_SHARED_VGA},
|
||||
{PCI_CHIP_E7221_G, PCI_CHIP_E7221_G, RES_SHARED_VGA},
|
||||
{PCI_CHIP_I915_GM, PCI_CHIP_I915_GM, RES_SHARED_VGA},
|
||||
{-1, -1, RES_UNDEFINED}
|
||||
};
|
||||
|
|
@ -697,10 +699,14 @@ GetDisplayDevices(ScrnInfoPtr pScrn)
|
|||
pVbe->pInt10->bx = 0x100;
|
||||
|
||||
xf86ExecX86int10_wrapper(pVbe->pInt10, pScrn);
|
||||
if (Check5fStatus(pScrn, 0x5f64, pVbe->pInt10->ax))
|
||||
if (Check5fStatus(pScrn, 0x5f64, pVbe->pInt10->ax)) {
|
||||
return pVbe->pInt10->cx & 0xffff;
|
||||
else
|
||||
return -1;
|
||||
} else {
|
||||
if (pI830->PciInfo->chipType == PCI_CHIP_E7221_G) /* FIXED CONFIG */
|
||||
return PIPE_CRT;
|
||||
else
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/* This is needed for SetDisplayDevices to work correctly on I915G
|
||||
|
|
@ -1872,6 +1878,9 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags)
|
|||
case PCI_CHIP_I915_G:
|
||||
chipname = "915G";
|
||||
break;
|
||||
case PCI_CHIP_E7221_G:
|
||||
chipname = "E7221 (i915)";
|
||||
break;
|
||||
case PCI_CHIP_I915_GM:
|
||||
chipname = "915GM";
|
||||
break;
|
||||
|
|
@ -1984,6 +1993,9 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags)
|
|||
pI830->FbMapSize = 0x8000000; /* 128MB aperture */
|
||||
else
|
||||
pI830->FbMapSize = 0x10000000; /* 256MB aperture */
|
||||
|
||||
if (pI830->PciInfo->chipType == PCI_CHIP_E7221_G)
|
||||
pI830->FbMapSize = 0x8000000; /* 128MB aperture */
|
||||
} else
|
||||
/* 128MB aperture for later chips */
|
||||
pI830->FbMapSize = 0x8000000;
|
||||
|
|
@ -2006,6 +2018,9 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags)
|
|||
}
|
||||
}
|
||||
|
||||
if (pI830->PciInfo->chipType == PCI_CHIP_E7221_G)
|
||||
pI830->availablePipes = 1;
|
||||
else
|
||||
if (IS_MOBILE(pI830) || IS_I915G(pI830))
|
||||
pI830->availablePipes = 2;
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in New Issue