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.h20
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
129struct drm_i915_fence_reg { 129struct 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
133struct sdvo_device_mapping { 134struct 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
140struct drm_i915_error_state { 142struct drm_i915_error_state {
@@ -175,7 +177,7 @@ struct drm_i915_error_state {
175 177
176struct drm_i915_display_funcs { 178struct 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;
195struct intel_device_info { 197struct 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);
1006extern int intel_modeset_vga_set_state(struct drm_device *dev, bool state); 1012extern int intel_modeset_vga_set_state(struct drm_device *dev, bool state);
1007extern void i8xx_disable_fbc(struct drm_device *dev); 1013extern void i8xx_disable_fbc(struct drm_device *dev);
1008extern void g4x_disable_fbc(struct drm_device *dev); 1014extern void g4x_disable_fbc(struct drm_device *dev);
1015extern void intel_disable_fbc(struct drm_device *dev);
1016extern void intel_enable_fbc(struct drm_crtc *crtc, unsigned long interval);
1017extern bool intel_fbc_enabled(struct drm_device *dev);
1009 1018
1010extern void intel_detect_pch (struct drm_device *dev); 1019extern void intel_detect_pch (struct drm_device *dev);
1011extern int intel_trans_dp_port_sel (struct drm_crtc *crtc); 1020extern 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)