diff options
author | kz151634 <none@none> | 2007-05-23 17:37:03 -0700 |
---|---|---|
committer | kz151634 <none@none> | 2007-05-23 17:37:03 -0700 |
commit | 5dbcb2a2ded752a6731e3db12a239d1380080da3 (patch) | |
tree | be8ab9d107ef536f16299527a388d5fd6707b0be /usr/src | |
parent | d8689a57b109f75e2654627f1847266e18f5a7f2 (diff) | |
download | illumos-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/postinstall | 1 | ||||
-rw-r--r-- | usr/src/uts/common/sys/agp/agpdefs.h | 4 | ||||
-rw-r--r-- | usr/src/uts/intel/io/agpgart/agptarget.c | 3 | ||||
-rw-r--r-- | usr/src/uts/intel/io/agpmaster/agpmaster.c | 16 |
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 */ |