diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_drv.h')
-rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index e30253755f12..df931f787665 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h | |||
@@ -96,8 +96,6 @@ struct intel_framebuffer { | |||
96 | 96 | ||
97 | 97 | ||
98 | struct intel_encoder { | 98 | struct intel_encoder { |
99 | struct drm_connector base; | ||
100 | |||
101 | struct drm_encoder enc; | 99 | struct drm_encoder enc; |
102 | int type; | 100 | int type; |
103 | struct i2c_adapter *i2c_bus; | 101 | struct i2c_adapter *i2c_bus; |
@@ -110,6 +108,11 @@ struct intel_encoder { | |||
110 | int clone_mask; | 108 | int clone_mask; |
111 | }; | 109 | }; |
112 | 110 | ||
111 | struct intel_connector { | ||
112 | struct drm_connector base; | ||
113 | void *dev_priv; | ||
114 | }; | ||
115 | |||
113 | struct intel_crtc; | 116 | struct intel_crtc; |
114 | struct intel_overlay { | 117 | struct intel_overlay { |
115 | struct drm_device *dev; | 118 | struct drm_device *dev; |
@@ -149,17 +152,18 @@ struct intel_crtc { | |||
149 | bool lowfreq_avail; | 152 | bool lowfreq_avail; |
150 | struct intel_overlay *overlay; | 153 | struct intel_overlay *overlay; |
151 | struct intel_unpin_work *unpin_work; | 154 | struct intel_unpin_work *unpin_work; |
155 | int fdi_lanes; | ||
152 | }; | 156 | }; |
153 | 157 | ||
154 | #define to_intel_crtc(x) container_of(x, struct intel_crtc, base) | 158 | #define to_intel_crtc(x) container_of(x, struct intel_crtc, base) |
155 | #define to_intel_encoder(x) container_of(x, struct intel_encoder, base) | 159 | #define to_intel_connector(x) container_of(x, struct intel_connector, base) |
156 | #define enc_to_intel_encoder(x) container_of(x, struct intel_encoder, enc) | 160 | #define enc_to_intel_encoder(x) container_of(x, struct intel_encoder, enc) |
157 | #define to_intel_framebuffer(x) container_of(x, struct intel_framebuffer, base) | 161 | #define to_intel_framebuffer(x) container_of(x, struct intel_framebuffer, base) |
158 | 162 | ||
159 | struct i2c_adapter *intel_i2c_create(struct drm_device *dev, const u32 reg, | 163 | struct i2c_adapter *intel_i2c_create(struct drm_device *dev, const u32 reg, |
160 | const char *name); | 164 | const char *name); |
161 | void intel_i2c_destroy(struct i2c_adapter *adapter); | 165 | void intel_i2c_destroy(struct i2c_adapter *adapter); |
162 | int intel_ddc_get_modes(struct intel_encoder *intel_encoder); | 166 | int intel_ddc_get_modes(struct drm_connector *c, struct i2c_adapter *adapter); |
163 | extern bool intel_ddc_probe(struct intel_encoder *intel_encoder); | 167 | extern bool intel_ddc_probe(struct intel_encoder *intel_encoder); |
164 | void intel_i2c_quirk_set(struct drm_device *dev, bool enable); | 168 | void intel_i2c_quirk_set(struct drm_device *dev, bool enable); |
165 | void intel_i2c_reset_gmbus(struct drm_device *dev); | 169 | void intel_i2c_reset_gmbus(struct drm_device *dev); |
@@ -183,7 +187,7 @@ extern void intel_crtc_load_lut(struct drm_crtc *crtc); | |||
183 | extern void intel_encoder_prepare (struct drm_encoder *encoder); | 187 | extern void intel_encoder_prepare (struct drm_encoder *encoder); |
184 | extern void intel_encoder_commit (struct drm_encoder *encoder); | 188 | extern void intel_encoder_commit (struct drm_encoder *encoder); |
185 | 189 | ||
186 | extern struct drm_encoder *intel_best_encoder(struct drm_connector *connector); | 190 | extern struct drm_encoder *intel_attached_encoder(struct drm_connector *connector); |
187 | 191 | ||
188 | extern struct drm_display_mode *intel_crtc_mode_get(struct drm_device *dev, | 192 | extern struct drm_display_mode *intel_crtc_mode_get(struct drm_device *dev, |
189 | struct drm_crtc *crtc); | 193 | struct drm_crtc *crtc); |
@@ -192,17 +196,16 @@ int intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data, | |||
192 | extern void intel_wait_for_vblank(struct drm_device *dev); | 196 | extern void intel_wait_for_vblank(struct drm_device *dev); |
193 | extern struct drm_crtc *intel_get_crtc_from_pipe(struct drm_device *dev, int pipe); | 197 | extern struct drm_crtc *intel_get_crtc_from_pipe(struct drm_device *dev, int pipe); |
194 | extern struct drm_crtc *intel_get_load_detect_pipe(struct intel_encoder *intel_encoder, | 198 | extern struct drm_crtc *intel_get_load_detect_pipe(struct intel_encoder *intel_encoder, |
199 | struct drm_connector *connector, | ||
195 | struct drm_display_mode *mode, | 200 | struct drm_display_mode *mode, |
196 | int *dpms_mode); | 201 | int *dpms_mode); |
197 | extern void intel_release_load_detect_pipe(struct intel_encoder *intel_encoder, | 202 | extern void intel_release_load_detect_pipe(struct intel_encoder *intel_encoder, |
203 | struct drm_connector *connector, | ||
198 | int dpms_mode); | 204 | int dpms_mode); |
199 | 205 | ||
200 | extern struct drm_connector* intel_sdvo_find(struct drm_device *dev, int sdvoB); | 206 | extern struct drm_connector* intel_sdvo_find(struct drm_device *dev, int sdvoB); |
201 | extern int intel_sdvo_supports_hotplug(struct drm_connector *connector); | 207 | extern int intel_sdvo_supports_hotplug(struct drm_connector *connector); |
202 | extern void intel_sdvo_set_hotplug(struct drm_connector *connector, int enable); | 208 | extern void intel_sdvo_set_hotplug(struct drm_connector *connector, int enable); |
203 | extern int intelfb_probe(struct drm_device *dev); | ||
204 | extern int intelfb_remove(struct drm_device *dev, struct drm_framebuffer *fb); | ||
205 | extern int intelfb_resize(struct drm_device *dev, struct drm_crtc *crtc); | ||
206 | extern void intelfb_restore(void); | 209 | extern void intelfb_restore(void); |
207 | extern void intel_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, | 210 | extern void intel_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, |
208 | u16 blue, int regno); | 211 | u16 blue, int regno); |
@@ -212,10 +215,12 @@ extern void intel_init_clock_gating(struct drm_device *dev); | |||
212 | extern void ironlake_enable_drps(struct drm_device *dev); | 215 | extern void ironlake_enable_drps(struct drm_device *dev); |
213 | extern void ironlake_disable_drps(struct drm_device *dev); | 216 | extern void ironlake_disable_drps(struct drm_device *dev); |
214 | 217 | ||
215 | extern int intel_framebuffer_create(struct drm_device *dev, | 218 | extern int intel_framebuffer_init(struct drm_device *dev, |
216 | struct drm_mode_fb_cmd *mode_cmd, | 219 | struct intel_framebuffer *ifb, |
217 | struct drm_framebuffer **fb, | 220 | struct drm_mode_fb_cmd *mode_cmd, |
218 | struct drm_gem_object *obj); | 221 | struct drm_gem_object *obj); |
222 | extern int intel_fbdev_init(struct drm_device *dev); | ||
223 | extern void intel_fbdev_fini(struct drm_device *dev); | ||
219 | 224 | ||
220 | extern void intel_prepare_page_flip(struct drm_device *dev, int plane); | 225 | extern void intel_prepare_page_flip(struct drm_device *dev, int plane); |
221 | extern void intel_finish_page_flip(struct drm_device *dev, int pipe); | 226 | extern void intel_finish_page_flip(struct drm_device *dev, int pipe); |
@@ -229,4 +234,6 @@ extern int intel_overlay_put_image(struct drm_device *dev, void *data, | |||
229 | struct drm_file *file_priv); | 234 | struct drm_file *file_priv); |
230 | extern int intel_overlay_attrs(struct drm_device *dev, void *data, | 235 | extern int intel_overlay_attrs(struct drm_device *dev, void *data, |
231 | struct drm_file *file_priv); | 236 | struct drm_file *file_priv); |
237 | |||
238 | extern void intel_fb_output_poll_changed(struct drm_device *dev); | ||
232 | #endif /* __INTEL_DRV_H__ */ | 239 | #endif /* __INTEL_DRV_H__ */ |