diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index e13518252007..17fa40858d26 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -184,6 +184,8 @@ typedef struct drm_i915_private { | |||
184 | unsigned int lvds_dither:1; | 184 | unsigned int lvds_dither:1; |
185 | unsigned int lvds_vbt:1; | 185 | unsigned int lvds_vbt:1; |
186 | unsigned int int_crt_support:1; | 186 | unsigned int int_crt_support:1; |
187 | unsigned int lvds_use_ssc:1; | ||
188 | int lvds_ssc_freq; | ||
187 | 189 | ||
188 | struct drm_i915_fence_reg fence_regs[16]; /* assume 965 */ | 190 | struct drm_i915_fence_reg fence_regs[16]; /* assume 965 */ |
189 | int fence_reg_start; /* 4 if userland hasn't ioctl'd us yet */ | 191 | int fence_reg_start; /* 4 if userland hasn't ioctl'd us yet */ |
@@ -284,6 +286,7 @@ typedef struct drm_i915_private { | |||
284 | struct drm_mm gtt_space; | 286 | struct drm_mm gtt_space; |
285 | 287 | ||
286 | struct io_mapping *gtt_mapping; | 288 | struct io_mapping *gtt_mapping; |
289 | int gtt_mtrr; | ||
287 | 290 | ||
288 | /** | 291 | /** |
289 | * List of objects currently involved in rendering from the | 292 | * List of objects currently involved in rendering from the |
@@ -534,6 +537,7 @@ extern int i915_vblank_pipe_get(struct drm_device *dev, void *data, | |||
534 | extern int i915_enable_vblank(struct drm_device *dev, int crtc); | 537 | extern int i915_enable_vblank(struct drm_device *dev, int crtc); |
535 | extern void i915_disable_vblank(struct drm_device *dev, int crtc); | 538 | extern void i915_disable_vblank(struct drm_device *dev, int crtc); |
536 | extern u32 i915_get_vblank_counter(struct drm_device *dev, int crtc); | 539 | extern u32 i915_get_vblank_counter(struct drm_device *dev, int crtc); |
540 | extern u32 gm45_get_vblank_counter(struct drm_device *dev, int crtc); | ||
537 | extern int i915_vblank_swap(struct drm_device *dev, void *data, | 541 | extern int i915_vblank_swap(struct drm_device *dev, void *data, |
538 | struct drm_file *file_priv); | 542 | struct drm_file *file_priv); |
539 | extern void i915_enable_irq(drm_i915_private_t *dev_priv, u32 mask); | 543 | extern void i915_enable_irq(drm_i915_private_t *dev_priv, u32 mask); |
@@ -601,6 +605,7 @@ int i915_gem_init_object(struct drm_gem_object *obj); | |||
601 | void i915_gem_free_object(struct drm_gem_object *obj); | 605 | void i915_gem_free_object(struct drm_gem_object *obj); |
602 | int i915_gem_object_pin(struct drm_gem_object *obj, uint32_t alignment); | 606 | int i915_gem_object_pin(struct drm_gem_object *obj, uint32_t alignment); |
603 | void i915_gem_object_unpin(struct drm_gem_object *obj); | 607 | void i915_gem_object_unpin(struct drm_gem_object *obj); |
608 | int i915_gem_object_unbind(struct drm_gem_object *obj); | ||
604 | void i915_gem_lastclose(struct drm_device *dev); | 609 | void i915_gem_lastclose(struct drm_device *dev); |
605 | uint32_t i915_get_gem_seqno(struct drm_device *dev); | 610 | uint32_t i915_get_gem_seqno(struct drm_device *dev); |
606 | void i915_gem_retire_requests(struct drm_device *dev); | 611 | void i915_gem_retire_requests(struct drm_device *dev); |
@@ -613,6 +618,7 @@ int i915_gem_init_ringbuffer(struct drm_device *dev); | |||
613 | void i915_gem_cleanup_ringbuffer(struct drm_device *dev); | 618 | void i915_gem_cleanup_ringbuffer(struct drm_device *dev); |
614 | int i915_gem_do_init(struct drm_device *dev, unsigned long start, | 619 | int i915_gem_do_init(struct drm_device *dev, unsigned long start, |
615 | unsigned long end); | 620 | unsigned long end); |
621 | int i915_gem_idle(struct drm_device *dev); | ||
616 | int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf); | 622 | int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf); |
617 | int i915_gem_object_set_to_gtt_domain(struct drm_gem_object *obj, | 623 | int i915_gem_object_set_to_gtt_domain(struct drm_gem_object *obj, |
618 | int write); | 624 | int write); |
@@ -784,6 +790,11 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); | |||
784 | IS_I945GM(dev) || IS_I965GM(dev) || IS_GM45(dev)) | 790 | IS_I945GM(dev) || IS_I965GM(dev) || IS_GM45(dev)) |
785 | 791 | ||
786 | #define I915_NEED_GFX_HWS(dev) (IS_G33(dev) || IS_GM45(dev) || IS_G4X(dev)) | 792 | #define I915_NEED_GFX_HWS(dev) (IS_G33(dev) || IS_GM45(dev) || IS_G4X(dev)) |
793 | /* With the 945 and later, Y tiling got adjusted so that it was 32 128-byte | ||
794 | * rows, which changed the alignment requirements and fence programming. | ||
795 | */ | ||
796 | #define HAS_128_BYTE_Y_TILING(dev) (IS_I9XX(dev) && !(IS_I915G(dev) || \ | ||
797 | IS_I915GM(dev))) | ||
787 | #define SUPPORTS_INTEGRATED_HDMI(dev) (IS_G4X(dev)) | 798 | #define SUPPORTS_INTEGRATED_HDMI(dev) (IS_G4X(dev)) |
788 | 799 | ||
789 | #define PRIMARY_RINGBUFFER_SIZE (128*1024) | 800 | #define PRIMARY_RINGBUFFER_SIZE (128*1024) |