changeset 4303:6dc328847ed0

6511711 AGP support for i945 mobile chipsets (i945GM) is missing
author kz151634
date Wed, 23 May 2007 17:37:03 -0700
parents 8e8bdcde8406
children cb8b0d33b082
files usr/src/pkgdefs/SUNWagp/postinstall usr/src/uts/common/sys/agp/agpdefs.h usr/src/uts/intel/io/agpgart/agptarget.c usr/src/uts/intel/io/agpmaster/agpmaster.c
diffstat 4 files changed, 15 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/pkgdefs/SUNWagp/postinstall	Wed May 23 13:43:34 2007 -0700
+++ b/usr/src/pkgdefs/SUNWagp/postinstall	Wed May 23 17:37:03 2007 -0700
@@ -21,6 +21,7 @@
 	\"pci8086,2580\" \
 	\"pci8086,2590\" \
 	\"pci8086,2770\" \
+	\"pci8086,27a0\" \
 	\"pci8086,1130\" \
 	"
 CPUGART='"pci1022,1103"'
--- a/usr/src/uts/common/sys/agp/agpdefs.h	Wed May 23 13:43:34 2007 -0700
+++ b/usr/src/uts/common/sys/agp/agpdefs.h	Wed May 23 17:37:03 2007 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -68,6 +68,7 @@
 #define	INTEL_BR_910			0x25808086
 #define	INTEL_BR_910M			0x25908086
 #define	INTEL_BR_945			0x27708086
+#define	INTEL_BR_945GM			0x27a08086
 
 /* AGP common register offset in pci configuration space */
 #define	AGP_CONF_MISC			0x51 /* one byte */
@@ -121,6 +122,7 @@
 #define	INTEL_IGD_910			0x25828086
 #define	INTEL_IGD_910M			0x25928086
 #define	INTEL_IGD_945			0x27728086
+#define	INTEL_IGD_945GM			0x27a28086
 #define	I8XX_CONF_GMADR			0x10 /* offset in PCI config space */
 #define	I915_CONF_GMADR			0x18 /* offset in PCI config space */
 #define	I8XX_CONF_GC			0x52 /* offset in PCI config space */
--- a/usr/src/uts/intel/io/agpgart/agptarget.c	Wed May 23 13:43:34 2007 -0700
+++ b/usr/src/uts/intel/io/agpgart/agptarget.c	Wed May 23 17:37:03 2007 -0700
@@ -333,6 +333,7 @@
 		break;
 	case INTEL_BR_910:
 	case INTEL_BR_945:
+	case INTEL_BR_945GM:
 		memval = pci_config_get8(softstate->tsoft_pcihdl, I8XX_CONF_GC);
 		switch (memval & I8XX_GC_MODE_MASK) {
 		case I8XX_GC_MODE1:
@@ -531,7 +532,7 @@
 		info.iagp_ver.agpv_minor = (uint16_t)((value >> 16) & 0xf);
 		info.iagp_devid = st->tsoft_devid;
 		info.iagp_mode = pci_config_get32(st->tsoft_pcihdl,
-			    cap + AGP_CONF_STATUS);
+		    cap + AGP_CONF_STATUS);
 		info.iagp_aperbase = agp_target_get_apbase(st);
 		info.iagp_apersize = agp_target_get_apsize(st);
 
--- a/usr/src/uts/intel/io/agpmaster/agpmaster.c	Wed May 23 13:43:34 2007 -0700
+++ b/usr/src/uts/intel/io/agpmaster/agpmaster.c	Wed May 23 17:37:03 2007 -0700
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -66,7 +66,8 @@
 
 #define	IS_INTEL_9XX(agpmaster) ((agpmaster->agpm_id == INTEL_IGD_910) || \
 		    (agpmaster->agpm_id == INTEL_IGD_910M) || \
-		    (agpmaster->agpm_id == INTEL_IGD_945))
+		    (agpmaster->agpm_id == INTEL_IGD_945) || \
+		    (agpmaster->agpm_id == INTEL_IGD_945GM))
 
 static struct modlmisc modlmisc = {
 	&mod_miscops, "AGP master interfaces v%I%"
@@ -195,8 +196,8 @@
 			    agpmaster->agpm_data.agpm_gtt.gtt_mmio_base;
 		} else
 			agpmaster->agpm_data.agpm_gtt.gtt_addr =
-			agpmaster->agpm_data.agpm_gtt.gtt_mmio_base +
-			I8XX_PTE_OFFSET;
+			    agpmaster->agpm_data.agpm_gtt.gtt_mmio_base +
+			    I8XX_PTE_OFFSET;
 
 		/* get graphics memory size */
 		if (IS_INTEL_9XX(agpmaster)) {
@@ -346,7 +347,7 @@
 
 		ddi_put32(softc->agpm_data.agpm_gtt.gtt_mmio_handle,
 		    (uint32_t *)(softc->agpm_data.agpm_gtt.gtt_mmio_base +
-			I8XX_PGTBL_CTL),
+		    I8XX_PGTBL_CTL),
 		    addr);
 		break;
 	case I8XX_GET_INFO:
@@ -402,7 +403,7 @@
 			ddi_put32(softc->agpm_data.agpm_gtt.gtt_mmio_handle,
 			    (uint32_t *)
 			    (softc->agpm_data.agpm_gtt.gtt_mmio_base +
-				I8XX_PGTBL_CTL), 0);
+			    I8XX_PGTBL_CTL), 0);
 		/*
 		 * may need to clear all gtt entries here for i830 series,
 		 * but may not be necessary
@@ -425,7 +426,7 @@
 
 	/* check if this device supports capibility pointer */
 	value = (uint8_t)(pci_config_get16(acc_handle, PCI_CONF_STAT)
-			    & PCI_CONF_CAP_MASK);
+	    & PCI_CONF_CAP_MASK);
 
 	if (!value)
 		return (0);
@@ -468,6 +469,7 @@
 	case INTEL_IGD_910:
 	case INTEL_IGD_910M:
 	case INTEL_IGD_945:
+	case INTEL_IGD_945GM:
 		master_softc->agpm_dev_type = DEVICE_IS_I830;
 		break;
 	default:		/* unknown id */