$NetBSD: patch-aa,v 1.4 2009/01/05 13:18:18 hasso Exp $

https://bugs.freedesktop.org/show_bug.cgi?id=16631 and G41 support.

--- src/i830_driver.c.orig	2008-11-13 22:13:56 +0200
+++ src/i830_driver.c	2009-01-05 13:42:59 +0200
@@ -255,6 +255,7 @@ static SymTabRec I830Chipsets[] = {
    {PCI_CHIP_IGD_E_G,		"Intel Integrated Graphics Device"},
    {PCI_CHIP_G45_G,		"G45/G43"},
    {PCI_CHIP_Q45_G,		"Q45/Q43"},
+   {PCI_CHIP_G41_G,		"G41"},
    {-1,				NULL}
 };
 
@@ -282,6 +283,7 @@ static PciChipsets I830PciChipsets[] = {
    {PCI_CHIP_IGD_E_G,		PCI_CHIP_IGD_E_G,	RES_SHARED_VGA},
    {PCI_CHIP_G45_G,		PCI_CHIP_G45_G,		RES_SHARED_VGA},
    {PCI_CHIP_Q45_G,		PCI_CHIP_Q45_G,		RES_SHARED_VGA},
+   {PCI_CHIP_G41_G,		PCI_CHIP_G41_G,		RES_SHARED_VGA},
    {-1,				-1,			RES_UNDEFINED}
 };
 
@@ -924,19 +926,18 @@ I830SetupOutputs(ScrnInfoPtr pScrn)
       i830_lvds_init(pScrn);
 
    if (IS_I9XX(pI830)) {
-      if (INREG(SDVOB) & SDVO_DETECTED) {
-	 Bool found = i830_sdvo_init(pScrn, SDVOB);
+       Bool found;
+       found = i830_sdvo_init(pScrn, SDVOB);
 
-	 if (!found && SUPPORTS_INTEGRATED_HDMI(pI830))
-	    i830_hdmi_init(pScrn, SDVOB);
-      }
+       if (!found && SUPPORTS_INTEGRATED_HDMI(pI830)
+	       && (INREG(SDVOB) & SDVO_DETECTED))
+	   i830_hdmi_init(pScrn, SDVOB);
 
-      if (INREG(SDVOC) & SDVO_DETECTED) {
-	 Bool found = i830_sdvo_init(pScrn, SDVOC);
+       found = i830_sdvo_init(pScrn, SDVOC);
 
-	 if (!found && SUPPORTS_INTEGRATED_HDMI(pI830))
-	    i830_hdmi_init(pScrn, SDVOC);
-      }
+       if (!found && SUPPORTS_INTEGRATED_HDMI(pI830)
+	       && (INREG(SDVOC) & SDVO_DETECTED))
+	   i830_hdmi_init(pScrn, SDVOC);
    } else {
       i830_dvo_init(pScrn);
    }
@@ -1230,6 +1231,9 @@ i830_detect_chipset(ScrnInfoPtr pScrn)
     case PCI_CHIP_Q45_G:
 	chipname = "Q45/Q43";
 	break;
+    case PCI_CHIP_G41_G:
+	chipname = "G41";
+	break;
    default:
 	chipname = "unknown chipset";
 	break;
