Mercurial > illumos > illumos-gate
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 */