aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_drv.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index eae4ed3956e0..572dcd0e3e0d 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -31,6 +31,7 @@
31#define _I915_DRV_H_ 31#define _I915_DRV_H_
32 32
33#include "i915_reg.h" 33#include "i915_reg.h"
34#include <linux/io-mapping.h>
34 35
35/* General customization: 36/* General customization:
36 */ 37 */
@@ -90,7 +91,7 @@ struct mem_block {
90typedef struct _drm_i915_vbl_swap { 91typedef struct _drm_i915_vbl_swap {
91 struct list_head head; 92 struct list_head head;
92 drm_drawable_t drw_id; 93 drm_drawable_t drw_id;
93 unsigned int plane; 94 unsigned int pipe;
94 unsigned int sequence; 95 unsigned int sequence;
95} drm_i915_vbl_swap_t; 96} drm_i915_vbl_swap_t;
96 97
@@ -240,9 +241,14 @@ typedef struct drm_i915_private {
240 u8 saveDACDATA[256*3]; /* 256 3-byte colors */ 241 u8 saveDACDATA[256*3]; /* 256 3-byte colors */
241 u8 saveCR[37]; 242 u8 saveCR[37];
242 243
244 /** Work task for vblank-related ring access */
245 struct work_struct vblank_work;
246
243 struct { 247 struct {
244 struct drm_mm gtt_space; 248 struct drm_mm gtt_space;
245 249
250 struct io_mapping *gtt_mapping;
251
246 /** 252 /**
247 * List of objects currently involved in rendering from the 253 * List of objects currently involved in rendering from the
248 * ringbuffer. 254 * ringbuffer.
@@ -285,9 +291,6 @@ typedef struct drm_i915_private {
285 */ 291 */
286 struct delayed_work retire_work; 292 struct delayed_work retire_work;
287 293
288 /** Work task for vblank-related ring access */
289 struct work_struct vblank_work;
290
291 uint32_t next_gem_seqno; 294 uint32_t next_gem_seqno;
292 295
293 /** 296 /**
@@ -441,7 +444,7 @@ extern int i915_irq_wait(struct drm_device *dev, void *data,
441void i915_user_irq_get(struct drm_device *dev); 444void i915_user_irq_get(struct drm_device *dev);
442void i915_user_irq_put(struct drm_device *dev); 445void i915_user_irq_put(struct drm_device *dev);
443 446
444extern void i915_gem_vblank_work_handler(struct work_struct *work); 447extern void i915_vblank_work_handler(struct work_struct *work);
445extern irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS); 448extern irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS);
446extern void i915_driver_irq_preinstall(struct drm_device * dev); 449extern void i915_driver_irq_preinstall(struct drm_device * dev);
447extern int i915_driver_irq_postinstall(struct drm_device *dev); 450extern int i915_driver_irq_postinstall(struct drm_device *dev);
@@ -502,6 +505,8 @@ int i915_gem_set_tiling(struct drm_device *dev, void *data,
502 struct drm_file *file_priv); 505 struct drm_file *file_priv);
503int i915_gem_get_tiling(struct drm_device *dev, void *data, 506int i915_gem_get_tiling(struct drm_device *dev, void *data,
504 struct drm_file *file_priv); 507 struct drm_file *file_priv);
508int i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data,
509 struct drm_file *file_priv);
505void i915_gem_load(struct drm_device *dev); 510void i915_gem_load(struct drm_device *dev);
506int i915_gem_proc_init(struct drm_minor *minor); 511int i915_gem_proc_init(struct drm_minor *minor);
507void i915_gem_proc_cleanup(struct drm_minor *minor); 512void i915_gem_proc_cleanup(struct drm_minor *minor);
@@ -539,11 +544,18 @@ extern int i915_restore_state(struct drm_device *dev);
539extern int i915_save_state(struct drm_device *dev); 544extern int i915_save_state(struct drm_device *dev);
540extern int i915_restore_state(struct drm_device *dev); 545extern int i915_restore_state(struct drm_device *dev);
541 546
547#ifdef CONFIG_ACPI
542/* i915_opregion.c */ 548/* i915_opregion.c */
543extern int intel_opregion_init(struct drm_device *dev); 549extern int intel_opregion_init(struct drm_device *dev);
544extern void intel_opregion_free(struct drm_device *dev); 550extern void intel_opregion_free(struct drm_device *dev);
545extern void opregion_asle_intr(struct drm_device *dev); 551extern void opregion_asle_intr(struct drm_device *dev);
546extern void opregion_enable_asle(struct drm_device *dev); 552extern void opregion_enable_asle(struct drm_device *dev);
553#else
554static inline int intel_opregion_init(struct drm_device *dev) { return 0; }
555static inline void intel_opregion_free(struct drm_device *dev) { return; }
556static inline void opregion_asle_intr(struct drm_device *dev) { return; }
557static inline void opregion_enable_asle(struct drm_device *dev) { return; }
558#endif
547 559
548/** 560/**
549 * Lock test for when it's just for synchronization of ring access. 561 * Lock test for when it's just for synchronization of ring access.