diff options
-rw-r--r-- | usr/src/pkgdefs/SUNWagp/postinstall | 5 | ||||
-rw-r--r-- | usr/src/pkgdefs/SUNWdrmr/postinstall | 6 | ||||
-rw-r--r-- | usr/src/uts/common/sys/agp/agpdefs.h | 8 | ||||
-rw-r--r-- | usr/src/uts/intel/io/agpgart/agptarget.c | 11 | ||||
-rw-r--r-- | usr/src/uts/intel/io/agpmaster/agpmaster.c | 13 | ||||
-rw-r--r-- | usr/src/uts/intel/io/drm/drm_pciids.h | 6 | ||||
-rw-r--r-- | usr/src/uts/intel/io/drm/i915_dma.c | 16 | ||||
-rw-r--r-- | usr/src/uts/intel/io/drm/i915_drv.c | 25 | ||||
-rw-r--r-- | usr/src/uts/intel/io/drm/i915_drv.h | 43 | ||||
-rw-r--r-- | usr/src/uts/intel/io/drm/i915_irq.c | 4 |
10 files changed, 97 insertions, 40 deletions
diff --git a/usr/src/pkgdefs/SUNWagp/postinstall b/usr/src/pkgdefs/SUNWagp/postinstall index c7727afec9..13858091e1 100644 --- a/usr/src/pkgdefs/SUNWagp/postinstall +++ b/usr/src/pkgdefs/SUNWagp/postinstall @@ -24,8 +24,6 @@ # Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" -# # SUNWagp postinstall script PATH=/usr/bin:/usr/sbin:${PATH} @@ -53,6 +51,9 @@ BRALIAS="\ \"pci8086,2a00\" \ \"pci8086,2a10\" \ \"pci8086,2a40\" \ + \"pci8086,2e00\" \ + \"pci8086,2e10\" \ + \"pci8086,2e20\" \ \"pci8086,1130\" \ " CPUGART='"pci1022,1103"' diff --git a/usr/src/pkgdefs/SUNWdrmr/postinstall b/usr/src/pkgdefs/SUNWdrmr/postinstall index 7bd01bf716..1155b58923 100644 --- a/usr/src/pkgdefs/SUNWdrmr/postinstall +++ b/usr/src/pkgdefs/SUNWdrmr/postinstall @@ -23,8 +23,6 @@ # Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# ident "%Z%%M% %I% %E% SMI" -# # SUNWdrmr postinstall script PATH=/usr/bin:/usr/sbin:${PATH} @@ -48,6 +46,10 @@ IGFX_ALIAS="\ \"pci8086,29d2\" \ \"pci8086,2a02\" \ \"pci8086,2a12\" \ + \"pci8086,2a42\" \ + \"pci8086,2e02.8086.2e02\" \ + \"pci8086,2e12\" \ + \"pci8086,2e22\" \ " DRVPERM='* 0644 root sys' diff --git a/usr/src/uts/common/sys/agp/agpdefs.h b/usr/src/uts/common/sys/agp/agpdefs.h index ba27284320..0ddc082389 100644 --- a/usr/src/uts/common/sys/agp/agpdefs.h +++ b/usr/src/uts/common/sys/agp/agpdefs.h @@ -27,8 +27,6 @@ #ifndef _SYS_AGPDEFS_H #define _SYS_AGPDEFS_H -#pragma ident "%Z%%M% %I% %E% SMI" - #ifdef __cplusplus extern "C" { #endif @@ -100,6 +98,9 @@ extern "C" { #define INTEL_BR_G33 0x29c08086 #define INTEL_BR_Q33 0x29d08086 #define INTEL_BR_GM45 0x2a408086 +#define INTEL_BR_EL 0x2e008086 +#define INTEL_BR_Q45 0x2e108086 +#define INTEL_BR_G45 0x2e208086 /* AGP common register offset in pci configuration space */ #define AGP_CONF_MISC 0x51 /* one byte */ @@ -164,6 +165,9 @@ extern "C" { #define INTEL_IGD_G33 0x29c28086 #define INTEL_IGD_Q33 0x29d28086 #define INTEL_IGD_GM45 0x2a428086 +#define INTEL_IGD_EL 0x2e028086 +#define INTEL_IGD_Q45 0x2e128086 +#define INTEL_IGD_G45 0x2e228086 /* register offsets in PCI config space */ #define I8XX_CONF_GMADR 0x10 /* GMADR of i8xx series */ diff --git a/usr/src/uts/intel/io/agpgart/agptarget.c b/usr/src/uts/intel/io/agpgart/agptarget.c index c93adafaef..131353f577 100644 --- a/usr/src/uts/intel/io/agpgart/agptarget.c +++ b/usr/src/uts/intel/io/agpgart/agptarget.c @@ -320,6 +320,9 @@ static int gms_965GM[7] = {GMS_MB(1), GMS_MB(4), GMS_MB(8), GMS_MB(16), GMS_MB(32), GMS_MB(48), GMS_MB(64)}; static int gms_X33[9] = {GMS_MB(1), GMS_MB(4), GMS_MB(8), GMS_MB(16), GMS_MB(32), GMS_MB(48), GMS_MB(64), GMS_MB(128), GMS_MB(256)}; +static int gms_G4X[13] = {0, 0, 0, 0, + GMS_MB(32), GMS_MB(48), GMS_MB(64), GMS_MB(128), GMS_MB(256), + GMS_MB(96), GMS_MB(160), GMS_MB(224), GMS_MB(352)}; static gms_mode_t gms_modes[] = { {INTEL_BR_810, I810_CONF_SMRAM, I810_GMS_MASK, @@ -363,7 +366,13 @@ static gms_mode_t gms_modes[] = { {INTEL_BR_Q33, I8XX_CONF_GC, IX33_GC_MODE_MASK, GMS_SIZE(gms_X33), gms_X33}, {INTEL_BR_GM45, I8XX_CONF_GC, I8XX_GC_MODE_MASK, - GMS_SIZE(gms_965GM), gms_965GM} + GMS_SIZE(gms_965GM), gms_965GM}, + {INTEL_BR_EL, I8XX_CONF_GC, I8XX_GC_MODE_MASK, + GMS_SIZE(gms_G4X), gms_G4X}, + {INTEL_BR_Q45, I8XX_CONF_GC, I8XX_GC_MODE_MASK, + GMS_SIZE(gms_G4X), gms_G4X}, + {INTEL_BR_G45, I8XX_CONF_GC, I8XX_GC_MODE_MASK, + GMS_SIZE(gms_G4X), gms_G4X} }; static int get_chip_gms(uint32_t devid) diff --git a/usr/src/uts/intel/io/agpmaster/agpmaster.c b/usr/src/uts/intel/io/agpmaster/agpmaster.c index 7ab4db4fcf..55d448d56c 100644 --- a/usr/src/uts/intel/io/agpmaster/agpmaster.c +++ b/usr/src/uts/intel/io/agpmaster/agpmaster.c @@ -101,13 +101,18 @@ int agpm_debug = 0; (agpmaster->agpm_id == INTEL_IGD_965G2) || \ (agpmaster->agpm_id == INTEL_IGD_965GM) || \ (agpmaster->agpm_id == INTEL_IGD_965GME) || \ - (agpmaster->agpm_id == INTEL_IGD_GM45)) + (agpmaster->agpm_id == INTEL_IGD_GM45) || \ + IS_INTEL_G4X(agpmaster)) /* Intel G33 series */ #define IS_INTEL_X33(agpmaster) ((agpmaster->agpm_id == INTEL_IGD_Q35) || \ (agpmaster->agpm_id == INTEL_IGD_G33) || \ (agpmaster->agpm_id == INTEL_IGD_Q33)) +/* Intel G4X series */ +#define IS_INTEL_G4X(agpmaster) ((agpmaster->agpm_id == INTEL_IGD_EL) || \ + (agpmaster->agpm_id == INTEL_IGD_Q45) || \ + (agpmaster->agpm_id == INTEL_IGD_G45)) static struct modlmisc modlmisc = { &mod_miscops, "AGP master interfaces" @@ -301,7 +306,8 @@ set_gtt_mmio(dev_info_t *devi, agp_master_softc_t *agpmaster, &MMIO_BASE(agpmaster), 0, 0, &i8xx_dev_access, &MMIO_HANDLE(agpmaster)); CHECK_STATUS(status); - if (agpmaster->agpm_id == INTEL_IGD_GM45) + if ((agpmaster->agpm_id == INTEL_IGD_GM45) || + IS_INTEL_G4X(agpmaster)) GTT_ADDR(agpmaster) = MMIO_BASE(agpmaster) + GM45_GTT_OFFSET; else @@ -637,6 +643,9 @@ detect_i8xx_device(agp_master_softc_t *master_softc) case INTEL_IGD_G33: case INTEL_IGD_Q33: case INTEL_IGD_GM45: + case INTEL_IGD_EL: + case INTEL_IGD_Q45: + case INTEL_IGD_G45: master_softc->agpm_dev_type = DEVICE_IS_I830; break; default: /* unknown id */ diff --git a/usr/src/uts/intel/io/drm/drm_pciids.h b/usr/src/uts/intel/io/drm/drm_pciids.h index 7667d18c5a..1951899485 100644 --- a/usr/src/uts/intel/io/drm/drm_pciids.h +++ b/usr/src/uts/intel/io/drm/drm_pciids.h @@ -7,8 +7,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #ifndef _DRM_PCIIDS_H_ #define _DRM_PCIIDS_H_ @@ -203,6 +201,10 @@ extern "C" { {0x8086, 0x29C2, CHIP_I9XX|CHIP_I915, "Intel G33"}, \ {0x8086, 0x29B2, CHIP_I9XX|CHIP_I915, "Intel Q35"}, \ {0x8086, 0x29D2, CHIP_I9XX|CHIP_I915, "Intel Q33"}, \ + {0x8086, 0x2A42, CHIP_I9XX|CHIP_I965, "Intel GM45"}, \ + {0x8086, 0x2E02, CHIP_I9XX|CHIP_I965, "Intel EL"}, \ + {0x8086, 0x2E12, CHIP_I9XX|CHIP_I965, "Intel Q45"}, \ + {0x8086, 0x2E22, CHIP_I9XX|CHIP_I965, "Intel G45"}, \ {0, 0, 0, NULL} #ifdef __cplusplus diff --git a/usr/src/uts/intel/io/drm/i915_dma.c b/usr/src/uts/intel/io/drm/i915_dma.c index cf1326a5da..e9960dd020 100644 --- a/usr/src/uts/intel/io/drm/i915_dma.c +++ b/usr/src/uts/intel/io/drm/i915_dma.c @@ -33,8 +33,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include "drmP.h" #include "drm.h" #include "i915_drm.h" @@ -194,7 +192,7 @@ static int i915_initialize(drm_device_t * dev, dev_priv->allow_batchbuffer = 1; - if (!IS_G33(dev)) { + if (!I915_NEED_GFX_HWS(dev)) { /* Program Hardware Status Page */ dev_priv->status_page_dmah = drm_pci_alloc(dev, PAGE_SIZE, PAGE_SIZE, @@ -253,7 +251,10 @@ static int i915_dma_resume(drm_device_t * dev) } DRM_DEBUG("hw status page @ %p\n", dev_priv->hw_status_page); - I915_WRITE(0x02080, dev_priv->dma_status_page); + if (!I915_NEED_GFX_HWS(dev)) + I915_WRITE(0x02080, dev_priv->dma_status_page); + else + I915_WRITE(0x02080, dev_priv->status_gfx_addr); DRM_DEBUG("Enabled hardware status page\n"); return 0; @@ -458,7 +459,7 @@ static void i915_emit_breadcrumb(drm_device_t *dev) BEGIN_LP_RING(4); OUT_RING(CMD_STORE_DWORD_IDX); - OUT_RING(20); + OUT_RING(BREADCRUMB_OFFSET << 2); OUT_RING(dev_priv->counter); OUT_RING(0); ADVANCE_LP_RING(); @@ -605,7 +606,7 @@ static int i915_dispatch_flip(drm_device_t * dev) BEGIN_LP_RING(4); OUT_RING(CMD_STORE_DWORD_IDX); - OUT_RING(20); + OUT_RING(BREADCRUMB_OFFSET << 2); OUT_RING(dev_priv->counter); OUT_RING(0); ADVANCE_LP_RING(); @@ -850,6 +851,9 @@ static int i915_set_status_page(DRM_IOCTL_ARGS) drm_i915_private_t *dev_priv = dev->dev_private; drm_i915_hws_addr_t hws; + if (!I915_NEED_GFX_HWS(dev)) + return (EINVAL); + if (!dev_priv) { DRM_ERROR("%s called with no initialization\n", __FUNCTION__); return (EINVAL); diff --git a/usr/src/uts/intel/io/drm/i915_drv.c b/usr/src/uts/intel/io/drm/i915_drv.c index e9fbe666c8..5d0e2cd313 100644 --- a/usr/src/uts/intel/io/drm/i915_drv.c +++ b/usr/src/uts/intel/io/drm/i915_drv.c @@ -327,7 +327,7 @@ i915_save_vga(struct drm_device *dev) /* CRT controller regs */ i915_write_indexed(®map, cr_index, cr_data, 0x11, i915_read_indexed(®map, cr_index, cr_data, 0x11) & (~0x80)); - for (i = 0; i < 0x24; i++) + for (i = 0; i <= 0x24; i++) s3_priv->saveCR[i] = i915_read_indexed(®map, cr_index, cr_data, i); /* Make sure we don't turn off CR group 0 writes */ @@ -336,7 +336,7 @@ i915_save_vga(struct drm_device *dev) /* Attribute controller registers */ (void) vga_reg_get8(®map, st01); s3_priv->saveAR_INDEX = vga_reg_get8(®map, VGA_AR_INDEX); - for (i = 0; i < 20; i++) + for (i = 0; i <= 0x14; i++) s3_priv->saveAR[i] = i915_read_ar(®map, st01, i, 0); (void) vga_reg_get8(®map, st01); vga_reg_put8(®map, VGA_AR_INDEX, s3_priv->saveAR_INDEX); @@ -403,7 +403,7 @@ i915_restore_vga(struct drm_device *dev) /* Enable CR group 0 writes */ i915_write_indexed(®map, cr_index, cr_data, 0x11, s3_priv->saveCR[0x11]); - for (i = 0; i < 0x24; i++) + for (i = 0; i <= 0x24; i++) i915_write_indexed(®map, cr_index, cr_data, i, s3_priv->saveCR[i]); @@ -421,7 +421,7 @@ i915_restore_vga(struct drm_device *dev) /* Attribute controller registers */ (void) vga_reg_get8(®map, st01); /* switch back to index mode */ - for (i = 0; i < 20; i++) + for (i = 0; i <= 0x14; i++) i915_write_ar(®map, st01, i, s3_priv->saveAR[i], 0); (void) vga_reg_get8(®map, st01); /* switch back to index mode */ vga_reg_put8(®map, VGA_AR_INDEX, s3_priv->saveAR_INDEX | 0x20); @@ -453,6 +453,9 @@ i915_resume(struct drm_device *dev) * see pci_pre_resume for detail. */ pci_config_put8(conf_hdl, LBB, s3_priv->saveLBB); + + S3_WRITE(DSPARB, s3_priv->saveDSPARB); + /* * Pipe & plane A info * Prime the clock @@ -570,7 +573,8 @@ i915_resume(struct drm_device *dev) drv_usecwait(150); /* Clock gating state */ - S3_WRITE (DSPCLK_GATE_D, s3_priv->saveDSPCLK_GATE_D); + S3_WRITE (D_STATE, s3_priv->saveD_STATE); + S3_WRITE (CG_2D_DIS, s3_priv->saveCG_2D_DIS); /* Cache mode state */ S3_WRITE (CACHE_MODE_0, s3_priv->saveCACHE_MODE_0 | 0xffff0000); @@ -612,6 +616,9 @@ i915_suspend(struct drm_device *dev) */ s3_priv->saveLBB = pci_config_get8(conf_hdl, LBB); + /* Display arbitration control */ + s3_priv->saveDSPARB = S3_READ(DSPARB); + /* * Pipe & plane A info. */ @@ -665,7 +672,7 @@ i915_suspend(struct drm_device *dev) s3_priv->saveDSPBSIZE = S3_READ(DSPBSIZE); s3_priv->saveDSPBPOS = S3_READ(DSPBPOS); s3_priv->saveDSPBBASE = S3_READ(DSPBBASE); - if (IS_I965GM(dev) || IS_IGD_GM(dev)) { + if (IS_I965GM(dev) || IS_GM45(dev)) { s3_priv->saveDSPBSURF = S3_READ(DSPBSURF); s3_priv->saveDSPBTILEOFF = S3_READ(DSPBTILEOFF); } @@ -713,7 +720,8 @@ i915_suspend(struct drm_device *dev) s3_priv->saveVGACNTRL = S3_READ(VGACNTRL); /* Clock gating state */ - s3_priv->saveDSPCLK_GATE_D = S3_READ(DSPCLK_GATE_D); + s3_priv->saveD_STATE = S3_READ(D_STATE); + s3_priv->saveCG_2D_DIS = S3_READ(CG_2D_DIS); /* Cache mode state */ s3_priv->saveCACHE_MODE_0 = S3_READ(CACHE_MODE_0); @@ -763,7 +771,8 @@ i915_map_regs(dev_info_t *dip, caddr_t *save_addr, ddi_acc_handle_t *handlep) for (rnumber = 1; rnumber < nregs; rnumber++) { (void) ddi_dev_regsize(dip, rnumber, &size); if ((size == 0x80000) || - (size == 0x100000)) + (size == 0x100000) || + (size == 0x400000)) break; } diff --git a/usr/src/uts/intel/io/drm/i915_drv.h b/usr/src/uts/intel/io/drm/i915_drv.h index 913bcc002e..95f5804be9 100644 --- a/usr/src/uts/intel/io/drm/i915_drv.h +++ b/usr/src/uts/intel/io/drm/i915_drv.h @@ -37,8 +37,6 @@ #ifndef _I915_DRV_H #define _I915_DRV_H -#pragma ident "%Z%%M% %I% %E% SMI" - /* General customization: */ @@ -102,6 +100,7 @@ typedef struct s3_i915_private { uint8_t saveLBB; uint32_t saveDSPACNTR; uint32_t saveDSPBCNTR; + uint32_t saveDSPARB; uint32_t savePIPEACONF; uint32_t savePIPEBCONF; uint32_t savePIPEASRC; @@ -168,7 +167,8 @@ typedef struct s3_i915_private { uint32_t saveIER; uint32_t saveIIR; uint32_t saveIMR; - uint32_t saveDSPCLK_GATE_D; + uint32_t saveD_STATE; + uint32_t saveCG_2D_DIS; uint32_t saveMI_ARB_STATE; uint32_t savePIPEASTAT; uint32_t savePIPEBSTAT; @@ -178,12 +178,12 @@ typedef struct s3_i915_private { uint32_t saveSWF2[3]; uint8_t saveMSR; uint8_t saveSR[8]; - uint8_t saveGR[24]; + uint8_t saveGR[25]; uint8_t saveAR_INDEX; - uint8_t saveAR[20]; + uint8_t saveAR[21]; uint8_t saveDACMASK; uint8_t saveDACDATA[256*3]; /* 256 3-byte colors */ - uint8_t saveCR[36]; + uint8_t saveCR[37]; } s3_i915_private_t; typedef struct drm_i915_private { @@ -514,7 +514,8 @@ extern int i915_wait_ring(drm_device_t * dev, int n, const char *caller); #define CMD_OP_DESTBUFFER_INFO ((0x3<<29)|(0x1d<<24)|(0x8e<<16)|1) -#define READ_BREADCRUMB(dev_priv) (((volatile u32*)(dev_priv->hw_status_page))[5]) +#define BREADCRUMB_OFFSET 32 /* dword offset 20h */ +#define READ_BREADCRUMB(dev_priv) (((volatile u32*)(dev_priv->hw_status_page))[BREADCRUMB_OFFSET]) #define READ_HWSP(dev_priv, reg) (((volatile u32*)(dev_priv->hw_status_page))[reg]) /* @@ -640,7 +641,10 @@ extern int i915_wait_ring(drm_device_t * dev, int n, const char *caller); #define FPB0 0x06048 #define FPB1 0x0604c -#define DSPCLK_GATE_D 0x6200 +#define D_STATE 0x6104 +#define CG_2D_DIS 0x6200 +#define CG_3D_DIS 0x6204 + #define MI_ARB_STATE 0x20e4 /* @@ -814,6 +818,8 @@ extern int i915_wait_ring(drm_device_t * dev, int n, const char *caller); #define FBC_LL_SIZE (1536) #define FBC_LL_PAD (32) +#define DSPARB 0x70030 + /* * Some BIOS scratch area registers. The 845 (and 830?) store the amount * of video memory available to the BIOS in SWF1. @@ -846,6 +852,9 @@ extern int i915_wait_ring(drm_device_t * dev, int n, const char *caller); #define PCI_DEVICE_ID_INTEL_82Q35_IG 0x29b2 #define PCI_DEVICE_ID_INTEL_82Q33_IG 0x29d2 #define PCI_DEVICE_ID_INTEL_CANTIGA_IG 0x2a42 +#define PCI_DEVICE_ID_INTEL_EL_IG 0x2e02 +#define PCI_DEVICE_ID_INTEL_82Q45_IG 0x2e12 +#define PCI_DEVICE_ID_INTEL_82G45_IG 0x2e22 #define IS_I830(dev) ((dev)->pci_device == PCI_DEVICE_ID_INTEL_82830_CGC) @@ -864,20 +873,30 @@ extern int i915_wait_ring(drm_device_t * dev, int n, const char *caller); (dev)->pci_device == PCI_DEVICE_ID_INTEL_82Q963_IG || \ (dev)->pci_device == PCI_DEVICE_ID_INTEL_82G965_IG || \ (dev)->pci_device == PCI_DEVICE_ID_INTEL_GM965_IG || \ - (dev)->pci_device == PCI_DEVICE_ID_INTEL_GME965_IG) + (dev)->pci_device == PCI_DEVICE_ID_INTEL_GME965_IG || \ + (dev)->pci_device == PCI_DEVICE_ID_INTEL_CANTIGA_IG || \ + (dev)->pci_device == PCI_DEVICE_ID_INTEL_EL_IG || \ + (dev)->pci_device == PCI_DEVICE_ID_INTEL_82Q45_IG || \ + (dev)->pci_device == PCI_DEVICE_ID_INTEL_82G45_IG) #define IS_I965GM(dev) ((dev)->pci_device == PCI_DEVICE_ID_INTEL_GM965_IG) +#define IS_GM45(dev) ((dev)->pci_device == PCI_DEVICE_ID_INTEL_CANTIGA_IG) + +#define IS_G4X(dev) ((dev)->pci_device == PCI_DEVICE_ID_INTEL_EL_IG || \ + (dev)->pci_device == PCI_DEVICE_ID_INTEL_82Q45_IG || \ + (dev)->pci_device == PCI_DEVICE_ID_INTEL_82G45_IG) + #define IS_G33(dev) ((dev)->pci_device == PCI_DEVICE_ID_INTEL_82G33_IG || \ (dev)->pci_device == PCI_DEVICE_ID_INTEL_82Q35_IG || \ (dev)->pci_device == PCI_DEVICE_ID_INTEL_82Q33_IG) #define IS_I9XX(dev) (IS_I915G(dev) || IS_I915GM(dev) || IS_I945G(dev) || \ - IS_I945GM(dev) || IS_I965G(dev)) + IS_I945GM(dev) || IS_I965G(dev) || IS_G33(dev)) #define IS_MOBILE(dev) (IS_I830(dev) || IS_I85X(dev) || IS_I915GM(dev) || \ - IS_I945GM(dev) || IS_I965GM(dev)) + IS_I945GM(dev) || IS_I965GM(dev) || IS_GM45(dev)) -#define IS_IGD_GM(dev) ((dev)->pci_device == PCI_DEVICE_ID_INTEL_CANTIGA_IG) +#define I915_NEED_GFX_HWS(dev) (IS_G33(dev) || IS_GM45(dev) || IS_G4X(dev)) #endif /* _I915_DRV_H */ diff --git a/usr/src/uts/intel/io/drm/i915_irq.c b/usr/src/uts/intel/io/drm/i915_irq.c index 7811799202..dd5c141c59 100644 --- a/usr/src/uts/intel/io/drm/i915_irq.c +++ b/usr/src/uts/intel/io/drm/i915_irq.c @@ -33,8 +33,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include "drmP.h" #include "drm.h" #include "i915_drm.h" @@ -297,7 +295,7 @@ int i915_emit_irq(drm_device_t * dev) BEGIN_LP_RING(6); OUT_RING(CMD_STORE_DWORD_IDX); - OUT_RING(20); + OUT_RING(BREADCRUMB_OFFSET << 2); OUT_RING(dev_priv->counter); OUT_RING(0); |