diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
| -rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 26 | 
1 files changed, 16 insertions, 10 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 3750d800304..9b149fe824c 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -283,6 +283,7 @@ typedef struct drm_i915_private {  	u8 saveAR[21];  	u8 saveDACMASK;  	u8 saveCR[37]; +	uint64_t saveFENCE[16];  	struct {  		struct drm_mm gtt_space; @@ -446,6 +447,9 @@ struct drm_i915_gem_object {  	uint32_t tiling_mode;  	uint32_t stride; +	/** Record of address bit 17 of each page at last unbind. */ +	long *bit_17; +  	/** AGP mapping type (AGP_USER_MEMORY or AGP_USER_CACHED_MEMORY */  	uint32_t agp_type; @@ -635,9 +639,13 @@ int i915_gem_attach_phys_object(struct drm_device *dev,  void i915_gem_detach_phys_object(struct drm_device *dev,  				 struct drm_gem_object *obj);  void i915_gem_free_all_phys_object(struct drm_device *dev); +int i915_gem_object_get_pages(struct drm_gem_object *obj); +void i915_gem_object_put_pages(struct drm_gem_object *obj);  /* i915_gem_tiling.c */  void i915_gem_detect_bit_6_swizzle(struct drm_device *dev); +void i915_gem_object_do_bit_17_swizzle(struct drm_gem_object *obj); +void i915_gem_object_save_bit_17_swizzle(struct drm_gem_object *obj);  /* i915_gem_debug.c */  void i915_gem_dump_object(struct drm_gem_object *obj, int len, @@ -667,12 +675,12 @@ extern int i915_restore_state(struct drm_device *dev);  #ifdef CONFIG_ACPI  /* i915_opregion.c */  extern int intel_opregion_init(struct drm_device *dev, int resume); -extern void intel_opregion_free(struct drm_device *dev); +extern void intel_opregion_free(struct drm_device *dev, int suspend);  extern void opregion_asle_intr(struct drm_device *dev);  extern void opregion_enable_asle(struct drm_device *dev);  #else  static inline int intel_opregion_init(struct drm_device *dev, int resume) { return 0; } -static inline void intel_opregion_free(struct drm_device *dev) { return; } +static inline void intel_opregion_free(struct drm_device *dev, int suspend) { return; }  static inline void opregion_asle_intr(struct drm_device *dev) { return; }  static inline void opregion_enable_asle(struct drm_device *dev) { return; }  #endif @@ -698,13 +706,8 @@ extern void intel_modeset_cleanup(struct drm_device *dev);  #define I915_WRITE16(reg, val)	writel(val, dev_priv->regs + (reg))  #define I915_READ8(reg)		readb(dev_priv->regs + (reg))  #define I915_WRITE8(reg, val)	writeb(val, dev_priv->regs + (reg)) -#ifdef writeq  #define I915_WRITE64(reg, val)	writeq(val, dev_priv->regs + (reg)) -#else -#define I915_WRITE64(reg, val)	(writel(val, dev_priv->regs + (reg)), \ -				 writel(upper_32_bits(val), dev_priv->regs + \ -					(reg) + 4)) -#endif +#define I915_READ64(reg)	readq(dev_priv->regs + (reg))  #define POSTING_READ(reg)	(void)I915_READ(reg)  #define I915_VERBOSE 0 @@ -780,15 +783,18 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);  		       (dev)->pci_device == 0x2A42 || \  		       (dev)->pci_device == 0x2E02 || \  		       (dev)->pci_device == 0x2E12 || \ -		       (dev)->pci_device == 0x2E22) +		       (dev)->pci_device == 0x2E22 || \ +		       (dev)->pci_device == 0x2E32) -#define IS_I965GM(dev) ((dev)->pci_device == 0x2A02) +#define IS_I965GM(dev) ((dev)->pci_device == 0x2A02 || \ +			(dev)->pci_device == 0x2A12)  #define IS_GM45(dev) ((dev)->pci_device == 0x2A42)  #define IS_G4X(dev) ((dev)->pci_device == 0x2E02 || \  		     (dev)->pci_device == 0x2E12 || \  		     (dev)->pci_device == 0x2E22 || \ +		     (dev)->pci_device == 0x2E32 || \  		     IS_GM45(dev))  #define IS_IGDG(dev) ((dev)->pci_device == 0xa001)  |