diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 242993bedab3..7f797ef1ab39 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -128,6 +128,7 @@ struct drm_i915_master_private { | |||
128 | 128 | ||
129 | struct drm_i915_fence_reg { | 129 | struct drm_i915_fence_reg { |
130 | struct drm_gem_object *obj; | 130 | struct drm_gem_object *obj; |
131 | struct list_head lru_list; | ||
131 | }; | 132 | }; |
132 | 133 | ||
133 | struct sdvo_device_mapping { | 134 | struct sdvo_device_mapping { |
@@ -135,6 +136,7 @@ struct sdvo_device_mapping { | |||
135 | u8 slave_addr; | 136 | u8 slave_addr; |
136 | u8 dvo_wiring; | 137 | u8 dvo_wiring; |
137 | u8 initialized; | 138 | u8 initialized; |
139 | u8 ddc_pin; | ||
138 | }; | 140 | }; |
139 | 141 | ||
140 | struct drm_i915_error_state { | 142 | struct drm_i915_error_state { |
@@ -175,7 +177,7 @@ struct drm_i915_error_state { | |||
175 | 177 | ||
176 | struct drm_i915_display_funcs { | 178 | struct drm_i915_display_funcs { |
177 | void (*dpms)(struct drm_crtc *crtc, int mode); | 179 | void (*dpms)(struct drm_crtc *crtc, int mode); |
178 | bool (*fbc_enabled)(struct drm_crtc *crtc); | 180 | bool (*fbc_enabled)(struct drm_device *dev); |
179 | void (*enable_fbc)(struct drm_crtc *crtc, unsigned long interval); | 181 | void (*enable_fbc)(struct drm_crtc *crtc, unsigned long interval); |
180 | void (*disable_fbc)(struct drm_device *dev); | 182 | void (*disable_fbc)(struct drm_device *dev); |
181 | int (*get_display_clock_speed)(struct drm_device *dev); | 183 | int (*get_display_clock_speed)(struct drm_device *dev); |
@@ -195,6 +197,7 @@ struct intel_overlay; | |||
195 | struct intel_device_info { | 197 | struct intel_device_info { |
196 | u8 is_mobile : 1; | 198 | u8 is_mobile : 1; |
197 | u8 is_i8xx : 1; | 199 | u8 is_i8xx : 1; |
200 | u8 is_i85x : 1; | ||
198 | u8 is_i915g : 1; | 201 | u8 is_i915g : 1; |
199 | u8 is_i9xx : 1; | 202 | u8 is_i9xx : 1; |
200 | u8 is_i945gm : 1; | 203 | u8 is_i945gm : 1; |
@@ -242,11 +245,14 @@ typedef struct drm_i915_private { | |||
242 | 245 | ||
243 | drm_dma_handle_t *status_page_dmah; | 246 | drm_dma_handle_t *status_page_dmah; |
244 | void *hw_status_page; | 247 | void *hw_status_page; |
248 | void *seqno_page; | ||
245 | dma_addr_t dma_status_page; | 249 | dma_addr_t dma_status_page; |
246 | uint32_t counter; | 250 | uint32_t counter; |
247 | unsigned int status_gfx_addr; | 251 | unsigned int status_gfx_addr; |
252 | unsigned int seqno_gfx_addr; | ||
248 | drm_local_map_t hws_map; | 253 | drm_local_map_t hws_map; |
249 | struct drm_gem_object *hws_obj; | 254 | struct drm_gem_object *hws_obj; |
255 | struct drm_gem_object *seqno_obj; | ||
250 | struct drm_gem_object *pwrctx; | 256 | struct drm_gem_object *pwrctx; |
251 | 257 | ||
252 | struct resource mch_res; | 258 | struct resource mch_res; |
@@ -641,6 +647,9 @@ typedef struct drm_i915_private { | |||
641 | 647 | ||
642 | enum no_fbc_reason no_fbc_reason; | 648 | enum no_fbc_reason no_fbc_reason; |
643 | 649 | ||
650 | struct drm_mm_node *compressed_fb; | ||
651 | struct drm_mm_node *compressed_llb; | ||
652 | |||
644 | /* list of fbdev register on this device */ | 653 | /* list of fbdev register on this device */ |
645 | struct intel_fbdev *fbdev; | 654 | struct intel_fbdev *fbdev; |
646 | } drm_i915_private_t; | 655 | } drm_i915_private_t; |
@@ -657,9 +666,6 @@ struct drm_i915_gem_object { | |||
657 | /** This object's place on GPU write list */ | 666 | /** This object's place on GPU write list */ |
658 | struct list_head gpu_write_list; | 667 | struct list_head gpu_write_list; |
659 | 668 | ||
660 | /** This object's place on the fenced object LRU */ | ||
661 | struct list_head fence_list; | ||
662 | |||
663 | /** | 669 | /** |
664 | * This is set if the object is on the active or flushing lists | 670 | * This is set if the object is on the active or flushing lists |
665 | * (has pending rendering), and is not set if it's on inactive (ready | 671 | * (has pending rendering), and is not set if it's on inactive (ready |
@@ -1006,6 +1012,9 @@ extern void intel_modeset_cleanup(struct drm_device *dev); | |||
1006 | extern int intel_modeset_vga_set_state(struct drm_device *dev, bool state); | 1012 | extern int intel_modeset_vga_set_state(struct drm_device *dev, bool state); |
1007 | extern void i8xx_disable_fbc(struct drm_device *dev); | 1013 | extern void i8xx_disable_fbc(struct drm_device *dev); |
1008 | extern void g4x_disable_fbc(struct drm_device *dev); | 1014 | extern void g4x_disable_fbc(struct drm_device *dev); |
1015 | extern void intel_disable_fbc(struct drm_device *dev); | ||
1016 | extern void intel_enable_fbc(struct drm_crtc *crtc, unsigned long interval); | ||
1017 | extern bool intel_fbc_enabled(struct drm_device *dev); | ||
1009 | 1018 | ||
1010 | extern void intel_detect_pch (struct drm_device *dev); | 1019 | extern void intel_detect_pch (struct drm_device *dev); |
1011 | extern int intel_trans_dp_port_sel (struct drm_crtc *crtc); | 1020 | extern int intel_trans_dp_port_sel (struct drm_crtc *crtc); |
@@ -1088,7 +1097,7 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); | |||
1088 | 1097 | ||
1089 | #define IS_I830(dev) ((dev)->pci_device == 0x3577) | 1098 | #define IS_I830(dev) ((dev)->pci_device == 0x3577) |
1090 | #define IS_845G(dev) ((dev)->pci_device == 0x2562) | 1099 | #define IS_845G(dev) ((dev)->pci_device == 0x2562) |
1091 | #define IS_I85X(dev) ((dev)->pci_device == 0x3582) | 1100 | #define IS_I85X(dev) (INTEL_INFO(dev)->is_i85x) |
1092 | #define IS_I865G(dev) ((dev)->pci_device == 0x2572) | 1101 | #define IS_I865G(dev) ((dev)->pci_device == 0x2572) |
1093 | #define IS_GEN2(dev) (INTEL_INFO(dev)->is_i8xx) | 1102 | #define IS_GEN2(dev) (INTEL_INFO(dev)->is_i8xx) |
1094 | #define IS_I915G(dev) (INTEL_INFO(dev)->is_i915g) | 1103 | #define IS_I915G(dev) (INTEL_INFO(dev)->is_i915g) |
@@ -1154,6 +1163,7 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); | |||
1154 | 1163 | ||
1155 | #define HAS_PCH_SPLIT(dev) (IS_IRONLAKE(dev) || \ | 1164 | #define HAS_PCH_SPLIT(dev) (IS_IRONLAKE(dev) || \ |
1156 | IS_GEN6(dev)) | 1165 | IS_GEN6(dev)) |
1166 | #define HAS_PIPE_CONTROL(dev) (IS_IRONLAKE(dev) || IS_GEN6(dev)) | ||
1157 | 1167 | ||
1158 | #define INTEL_PCH_TYPE(dev) (((struct drm_i915_private *)(dev)->dev_private)->pch_type) | 1168 | #define INTEL_PCH_TYPE(dev) (((struct drm_i915_private *)(dev)->dev_private)->pch_type) |
1159 | #define HAS_PCH_CPT(dev) (INTEL_PCH_TYPE(dev) == PCH_CPT) | 1169 | #define HAS_PCH_CPT(dev) (INTEL_PCH_TYPE(dev) == PCH_CPT) |