Add new integrated graphics chipset ids
This commit is contained in:
parent
f089942689
commit
4f288ff2d1
10
src/common.h
10
src/common.h
|
|
@ -384,6 +384,11 @@ extern int I810_DEBUG;
|
|||
#define PCI_CHIP_Q33_G_BRIDGE 0x29D0
|
||||
#endif
|
||||
|
||||
#ifndef PCI_CHIP_IGD_GM
|
||||
#define PCI_CHIP_IGD_GM 0x2A42
|
||||
#define PCI_CHIP_IGD_GM_BRIDGE 0x2A40
|
||||
#endif
|
||||
|
||||
#if XSERVER_LIBPCIACCESS
|
||||
#define I810_MEMBASE(p,n) (p)->regions[(n)].base_addr
|
||||
#define VENDOR_ID(p) (p)->vendor_id
|
||||
|
|
@ -415,14 +420,15 @@ extern int I810_DEBUG;
|
|||
#define IS_I915GM(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I915_GM)
|
||||
#define IS_I945G(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I945_G)
|
||||
#define IS_I945GM(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I945_GM || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I945_GME)
|
||||
#define IS_IGD_GM(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_IGD_GM)
|
||||
#define IS_I965GM(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_GM || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_GME)
|
||||
#define IS_I965G(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_G35_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_Q || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I946_GZ || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_GM || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_GME)
|
||||
#define IS_I965G(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_G35_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_Q || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I946_GZ || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_GM || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_GME || IS_IGD_GM(pI810))
|
||||
#define IS_G33CLASS(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_G33_G ||\
|
||||
DEVICE_ID(pI810->PciInfo) == PCI_CHIP_Q35_G ||\
|
||||
DEVICE_ID(pI810->PciInfo) == PCI_CHIP_Q33_G)
|
||||
#define IS_I9XX(pI810) (IS_I915G(pI810) || IS_I915GM(pI810) || IS_I945G(pI810) || IS_I945GM(pI810) || IS_I965G(pI810) || IS_G33CLASS(pI810))
|
||||
|
||||
#define IS_MOBILE(pI810) (IS_I830(pI810) || IS_I85X(pI810) || IS_I915GM(pI810) || IS_I945GM(pI810) || IS_I965GM(pI810))
|
||||
#define IS_MOBILE(pI810) (IS_I830(pI810) || IS_I85X(pI810) || IS_I915GM(pI810) || IS_I945GM(pI810) || IS_I965GM(pI810) || IS_IGD_GM(pI810))
|
||||
/* mark chipsets for using gfx VM offset for overlay */
|
||||
#define OVERLAY_NOPHYSICAL(pI810) (IS_G33CLASS(pI810))
|
||||
|
||||
|
|
|
|||
|
|
@ -152,6 +152,7 @@ static const struct pci_id_match intel_device_match[] = {
|
|||
INTEL_DEVICE_MATCH (PCI_CHIP_G33_G, 0 ),
|
||||
INTEL_DEVICE_MATCH (PCI_CHIP_Q35_G, 0 ),
|
||||
INTEL_DEVICE_MATCH (PCI_CHIP_Q33_G, 0 ),
|
||||
INTEL_DEVICE_MATCH (PCI_CHIP_IGD_GM, 0 ),
|
||||
{ 0, 0, 0 },
|
||||
};
|
||||
|
||||
|
|
@ -204,6 +205,7 @@ static SymTabRec I810Chipsets[] = {
|
|||
{PCI_CHIP_G33_G, "G33"},
|
||||
{PCI_CHIP_Q35_G, "Q35"},
|
||||
{PCI_CHIP_Q33_G, "Q33"},
|
||||
{PCI_CHIP_IGD_GM, "Intel Integrated Graphics Device"},
|
||||
{-1, NULL}
|
||||
};
|
||||
|
||||
|
|
@ -233,6 +235,7 @@ static PciChipsets I810PciChipsets[] = {
|
|||
{PCI_CHIP_G33_G, PCI_CHIP_G33_G, RES_SHARED_VGA},
|
||||
{PCI_CHIP_Q35_G, PCI_CHIP_Q35_G, RES_SHARED_VGA},
|
||||
{PCI_CHIP_Q33_G, PCI_CHIP_Q33_G, RES_SHARED_VGA},
|
||||
{PCI_CHIP_IGD_GM, PCI_CHIP_IGD_GM, RES_SHARED_VGA},
|
||||
{-1, -1, RES_UNDEFINED }
|
||||
};
|
||||
|
||||
|
|
@ -796,6 +799,7 @@ I810Probe(DriverPtr drv, int flags)
|
|||
case PCI_CHIP_G33_G:
|
||||
case PCI_CHIP_Q35_G:
|
||||
case PCI_CHIP_Q33_G:
|
||||
case PCI_CHIP_IGD_GM:
|
||||
xf86SetEntitySharable(usedChips[i]);
|
||||
|
||||
/* Allocate an entity private if necessary */
|
||||
|
|
|
|||
|
|
@ -244,6 +244,7 @@ static SymTabRec I830Chipsets[] = {
|
|||
{PCI_CHIP_G33_G, "G33"},
|
||||
{PCI_CHIP_Q35_G, "Q35"},
|
||||
{PCI_CHIP_Q33_G, "Q33"},
|
||||
{PCI_CHIP_IGD_GM, "Intel Integrated Graphics Device"},
|
||||
{-1, NULL}
|
||||
};
|
||||
|
||||
|
|
@ -267,6 +268,7 @@ static PciChipsets I830PciChipsets[] = {
|
|||
{PCI_CHIP_G33_G, PCI_CHIP_G33_G, RES_SHARED_VGA},
|
||||
{PCI_CHIP_Q35_G, PCI_CHIP_Q35_G, RES_SHARED_VGA},
|
||||
{PCI_CHIP_Q33_G, PCI_CHIP_Q33_G, RES_SHARED_VGA},
|
||||
{PCI_CHIP_IGD_GM, PCI_CHIP_IGD_GM, RES_SHARED_VGA},
|
||||
{-1, -1, RES_UNDEFINED}
|
||||
};
|
||||
|
||||
|
|
@ -1263,6 +1265,9 @@ I830PreInit(ScrnInfoPtr pScrn, int flags)
|
|||
case PCI_CHIP_Q33_G:
|
||||
chipname = "Q33";
|
||||
break;
|
||||
case PCI_CHIP_IGD_GM:
|
||||
chipname = "Intel Integrated Graphics Device";
|
||||
break;
|
||||
default:
|
||||
chipname = "unknown chipset";
|
||||
break;
|
||||
|
|
@ -2783,7 +2788,7 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
|
|||
* alone in that case.
|
||||
* Also make sure the DRM can handle the swap.
|
||||
*/
|
||||
if (I830LVDSPresent(pScrn) && !IS_I965GM(pI830) &&
|
||||
if (I830LVDSPresent(pScrn) && !IS_I965GM(pI830) && !IS_IGD_GM(pI830) &&
|
||||
(!pI830->directRenderingEnabled ||
|
||||
(pI830->directRenderingEnabled && pI830->drmMinor >= 10))) {
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "adjusting plane->pipe mappings "
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ i830_set_lvds_backlight_method(xf86OutputPtr output)
|
|||
|
||||
if (i830_kernel_backlight_available(output)) {
|
||||
method = BCM_KERNEL;
|
||||
} else if (IS_I965GM(pI830)) {
|
||||
} else if (IS_I965GM(pI830) || IS_IGD_GM(pI830)) {
|
||||
blc_pwm_ctl2 = INREG(BLC_PWM_CTL2);
|
||||
if (blc_pwm_ctl2 & BLM_LEGACY_MODE2)
|
||||
method = BCM_LEGACY;
|
||||
|
|
@ -161,7 +161,7 @@ i830_lvds_get_backlight_max_native(xf86OutputPtr output)
|
|||
CARD32 pwm_ctl = INREG(BLC_PWM_CTL);
|
||||
int val;
|
||||
|
||||
if (IS_I965GM(pI830)) {
|
||||
if (IS_I965GM(pI830) || IS_IGD_GM(pI830)) {
|
||||
val = ((pwm_ctl & BACKLIGHT_MODULATION_FREQ_MASK2) >>
|
||||
BACKLIGHT_MODULATION_FREQ_SHIFT2);
|
||||
} else {
|
||||
|
|
@ -413,7 +413,7 @@ i830_lvds_save (xf86OutputPtr output)
|
|||
ScrnInfoPtr pScrn = output->scrn;
|
||||
I830Ptr pI830 = I830PTR(pScrn);
|
||||
|
||||
if (IS_I965GM(pI830))
|
||||
if (IS_I965GM(pI830) || IS_IGD_GM(pI830))
|
||||
pI830->saveBLC_PWM_CTL2 = INREG(BLC_PWM_CTL2);
|
||||
pI830->savePP_ON = INREG(LVDSPP_ON);
|
||||
pI830->savePP_OFF = INREG(LVDSPP_OFF);
|
||||
|
|
@ -429,7 +429,7 @@ i830_lvds_restore(xf86OutputPtr output)
|
|||
ScrnInfoPtr pScrn = output->scrn;
|
||||
I830Ptr pI830 = I830PTR(pScrn);
|
||||
|
||||
if (IS_I965GM(pI830))
|
||||
if (IS_I965GM(pI830) || IS_IGD_GM(pI830))
|
||||
OUTREG(BLC_PWM_CTL2, pI830->saveBLC_PWM_CTL2);
|
||||
OUTREG(BLC_PWM_CTL, pI830->saveBLC_PWM_CTL);
|
||||
OUTREG(LVDSPP_ON, pI830->savePP_ON);
|
||||
|
|
|
|||
|
|
@ -727,7 +727,7 @@ i830_sdvo_mode_set(xf86OutputPtr output, DisplayModePtr mode,
|
|||
}
|
||||
|
||||
/* Set the SDVO control regs. */
|
||||
if (IS_I965GM(pI830)) {
|
||||
if (IS_I965GM(pI830) || IS_IGD_GM(pI830)) {
|
||||
sdvox = SDVO_BORDER_ENABLE;
|
||||
} else {
|
||||
sdvox = INREG(dev_priv->output_device);
|
||||
|
|
|
|||
Loading…
Reference in New Issue