@@ -310,6 +310,11 @@ extern int I810_DEBUG;
#define PCI_CHIP_G41_G_BRIDGE 0x2E30
#endif
+#ifndef PCI_CHIP_B43_G
+#define PCI_CHIP_B43_G 0x2E42
+#define PCI_CHIP_B43_G_BRIDGE 0x2E40
+#endif
+
#ifndef PCI_CHIP_IGDNG_D_G
#define PCI_CHIP_IGDNG_D_G 0x0042
#define PCI_CHIP_IGDNG_D_G_BRIDGE 0x0040
@@ -346,7 +351,7 @@ extern int I810_DEBUG;
#define IS_IGDG(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_IGD_G)
#define IS_IGD(pI810) (IS_IGDG(pI810) || IS_IGDGM(pI810))
#define IS_GM45(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_GM45_GM)
-#define IS_G4X(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_IGD_E_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_G45_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_Q45_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_G41_G || IS_GM45(pI810))
+#define IS_G4X(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_IGD_E_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_G45_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_Q45_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_G41_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_B43_G || IS_GM45(pI810))
#define IS_I965GM(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_GM || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_GME)
#define IS_965_Q(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_Q)
#define IS_IGDNG_D(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_IGDNG_D_G)
@@ -137,6 +137,7 @@ static const struct pci_id_match intel_device_match[] = {
INTEL_DEVICE_MATCH (PCI_CHIP_G45_G, 0 ),
INTEL_DEVICE_MATCH (PCI_CHIP_Q45_G, 0 ),
INTEL_DEVICE_MATCH (PCI_CHIP_G41_G, 0 ),
+ INTEL_DEVICE_MATCH (PCI_CHIP_B43_G, 0 ),
INTEL_DEVICE_MATCH (PCI_CHIP_IGDNG_D_G, 0 ),
INTEL_DEVICE_MATCH (PCI_CHIP_IGDNG_M_G, 0 ),
{ 0, 0, 0 },
@@ -190,6 +191,7 @@ static SymTabRec I810Chipsets[] = {
{PCI_CHIP_G45_G, "G45/G43"},
{PCI_CHIP_Q45_G, "Q45/Q43"},
{PCI_CHIP_G41_G, "G41"},
+ {PCI_CHIP_B43_G, "B43"},
{PCI_CHIP_IGDNG_D_G, "Clarkdale"},
{PCI_CHIP_IGDNG_M_G, "Arrandale"},
{-1, NULL}
@@ -228,6 +230,7 @@ static PciChipsets I810PciChipsets[] = {
{PCI_CHIP_G45_G, PCI_CHIP_G45_G, NULL},
{PCI_CHIP_Q45_G, PCI_CHIP_Q45_G, NULL},
{PCI_CHIP_G41_G, PCI_CHIP_G41_G, NULL},
+ {PCI_CHIP_B43_G, PCI_CHIP_B43_G, NULL},
{PCI_CHIP_IGDNG_D_G, PCI_CHIP_IGDNG_D_G, NULL},
{PCI_CHIP_IGDNG_M_G, PCI_CHIP_IGDNG_M_G, NULL},
{-1, -1, NULL }
@@ -116,6 +116,7 @@ static SymTabRec I830Chipsets[] = {
{PCI_CHIP_G45_G, "G45/G43"},
{PCI_CHIP_Q45_G, "Q45/Q43"},
{PCI_CHIP_G41_G, "G41"},
+ {PCI_CHIP_B43_G, "B43"},
{PCI_CHIP_IGDNG_D_G, "Clarkdale"},
{PCI_CHIP_IGDNG_M_G, "Arrandale"},
{-1, NULL}
@@ -148,6 +149,7 @@ static PciChipsets I830PciChipsets[] = {
{PCI_CHIP_G45_G, PCI_CHIP_G45_G, NULL},
{PCI_CHIP_Q45_G, PCI_CHIP_Q45_G, NULL},
{PCI_CHIP_G41_G, PCI_CHIP_G41_G, NULL},
+ {PCI_CHIP_B43_G, PCI_CHIP_B43_G, NULL},
{PCI_CHIP_IGDNG_D_G, PCI_CHIP_IGDNG_D_G, NULL},
{PCI_CHIP_IGDNG_M_G, PCI_CHIP_IGDNG_M_G, NULL},
{-1, -1, NULL}
@@ -1096,6 +1098,9 @@ i830_detect_chipset(ScrnInfoPtr pScrn)
case PCI_CHIP_G41_G:
chipname = "G41";
break;
+ case PCI_CHIP_B43_G:
+ chipname = "B43";
+ break;
case PCI_CHIP_IGDNG_D_G:
chipname = "Clarkdale";
break;
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> --- src/common.h | 7 ++++++- src/i810_driver.c | 3 +++ src/i830_driver.c | 5 +++++ 3 files changed, 14 insertions(+), 1 deletions(-)