summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorkz151634 <none@none>2007-05-23 17:37:03 -0700
committerkz151634 <none@none>2007-05-23 17:37:03 -0700
commit5dbcb2a2ded752a6731e3db12a239d1380080da3 (patch)
treebe8ab9d107ef536f16299527a388d5fd6707b0be /usr/src
parentd8689a57b109f75e2654627f1847266e18f5a7f2 (diff)
downloadillumos-gate-5dbcb2a2ded752a6731e3db12a239d1380080da3.tar.gz
6511711 AGP support for i945 mobile chipsets (i945GM) is missing
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/pkgdefs/SUNWagp/postinstall1
-rw-r--r--usr/src/uts/common/sys/agp/agpdefs.h4
-rw-r--r--usr/src/uts/intel/io/agpgart/agptarget.c3
-rw-r--r--usr/src/uts/intel/io/agpmaster/agpmaster.c16
4 files changed, 15 insertions, 9 deletions
diff --git a/usr/src/pkgdefs/SUNWagp/postinstall b/usr/src/pkgdefs/SUNWagp/postinstall
index 6fc9754cde..ef44259344 100644
--- a/usr/src/pkgdefs/SUNWagp/postinstall
+++ b/usr/src/pkgdefs/SUNWagp/postinstall
@@ -21,6 +21,7 @@ BRALIAS="\
\"pci8086,2580\" \
\"pci8086,2590\" \
\"pci8086,2770\" \
+ \"pci8086,27a0\" \
\"pci8086,1130\" \
"
CPUGART='"pci1022,1103"'
diff --git a/usr/src/uts/common/sys/agp/agpdefs.h b/usr/src/uts/common/sys/agp/agpdefs.h
index 988d87d576..a8c4ce7a49 100644
--- a/usr/src/uts/common/sys/agp/agpdefs.h
+++ b/usr/src/uts/common/sys/agp/agpdefs.h
@@ -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 @@ extern "C" {
#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 @@ extern "C" {
#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 */
diff --git a/usr/src/uts/intel/io/agpgart/agptarget.c b/usr/src/uts/intel/io/agpgart/agptarget.c
index 1e2e04b59a..f0f3fda1c7 100644
--- a/usr/src/uts/intel/io/agpgart/agptarget.c
+++ b/usr/src/uts/intel/io/agpgart/agptarget.c
@@ -333,6 +333,7 @@ i8xx_biosmem_detect(agp_target_softstate_t *softstate)
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 @@ agp_target_ioctl(dev_t dev, int cmd, intptr_t data, int mode,
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);
diff --git a/usr/src/uts/intel/io/agpmaster/agpmaster.c b/usr/src/uts/intel/io/agpmaster/agpmaster.c
index 2accb3d2fc..4a4e5136a1 100644
--- a/usr/src/uts/intel/io/agpmaster/agpmaster.c
+++ b/usr/src/uts/intel/io/agpmaster/agpmaster.c
@@ -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 @@ int agpm_debug = 0;
#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_attach(dev_info_t *devi, agp_master_softc_t **master_softcp,
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 @@ agpmaster_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred,
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 @@ agpmaster_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred,
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 @@ agpmaster_cap_find(ddi_acc_handle_t acc_handle)
/* 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 @@ detect_i8xx_device(agp_master_softc_t *master_softc)
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 */