diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 22 |
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 { | |||
90 | typedef struct _drm_i915_vbl_swap { | 91 | typedef 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, | |||
441 | void i915_user_irq_get(struct drm_device *dev); | 444 | void i915_user_irq_get(struct drm_device *dev); |
442 | void i915_user_irq_put(struct drm_device *dev); | 445 | void i915_user_irq_put(struct drm_device *dev); |
443 | 446 | ||
444 | extern void i915_gem_vblank_work_handler(struct work_struct *work); | 447 | extern void i915_vblank_work_handler(struct work_struct *work); |
445 | extern irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS); | 448 | extern irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS); |
446 | extern void i915_driver_irq_preinstall(struct drm_device * dev); | 449 | extern void i915_driver_irq_preinstall(struct drm_device * dev); |
447 | extern int i915_driver_irq_postinstall(struct drm_device *dev); | 450 | extern 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); |
503 | int i915_gem_get_tiling(struct drm_device *dev, void *data, | 506 | int i915_gem_get_tiling(struct drm_device *dev, void *data, |
504 | struct drm_file *file_priv); | 507 | struct drm_file *file_priv); |
508 | int i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data, | ||
509 | struct drm_file *file_priv); | ||
505 | void i915_gem_load(struct drm_device *dev); | 510 | void i915_gem_load(struct drm_device *dev); |
506 | int i915_gem_proc_init(struct drm_minor *minor); | 511 | int i915_gem_proc_init(struct drm_minor *minor); |
507 | void i915_gem_proc_cleanup(struct drm_minor *minor); | 512 | void i915_gem_proc_cleanup(struct drm_minor *minor); |
@@ -539,11 +544,18 @@ extern int i915_restore_state(struct drm_device *dev); | |||
539 | extern int i915_save_state(struct drm_device *dev); | 544 | extern int i915_save_state(struct drm_device *dev); |
540 | extern int i915_restore_state(struct drm_device *dev); | 545 | extern int i915_restore_state(struct drm_device *dev); |
541 | 546 | ||
547 | #ifdef CONFIG_ACPI | ||
542 | /* i915_opregion.c */ | 548 | /* i915_opregion.c */ |
543 | extern int intel_opregion_init(struct drm_device *dev); | 549 | extern int intel_opregion_init(struct drm_device *dev); |
544 | extern void intel_opregion_free(struct drm_device *dev); | 550 | extern void intel_opregion_free(struct drm_device *dev); |
545 | extern void opregion_asle_intr(struct drm_device *dev); | 551 | extern void opregion_asle_intr(struct drm_device *dev); |
546 | extern void opregion_enable_asle(struct drm_device *dev); | 552 | extern void opregion_enable_asle(struct drm_device *dev); |
553 | #else | ||
554 | static inline int intel_opregion_init(struct drm_device *dev) { return 0; } | ||
555 | static inline void intel_opregion_free(struct drm_device *dev) { return; } | ||
556 | static inline void opregion_asle_intr(struct drm_device *dev) { return; } | ||
557 | static 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. |