diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_drv.h')
-rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 82a459bfccbc..a6e2f0d865b1 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h | |||
@@ -177,10 +177,27 @@ struct intel_crtc { | |||
177 | bool use_pll_a; | 177 | bool use_pll_a; |
178 | }; | 178 | }; |
179 | 179 | ||
180 | struct intel_plane { | ||
181 | struct drm_plane base; | ||
182 | enum pipe pipe; | ||
183 | struct drm_i915_gem_object *obj; | ||
184 | int max_downscale; | ||
185 | u32 lut_r[1024], lut_g[1024], lut_b[1024]; | ||
186 | void (*update_plane)(struct drm_plane *plane, | ||
187 | struct drm_framebuffer *fb, | ||
188 | struct drm_i915_gem_object *obj, | ||
189 | int crtc_x, int crtc_y, | ||
190 | unsigned int crtc_w, unsigned int crtc_h, | ||
191 | uint32_t x, uint32_t y, | ||
192 | uint32_t src_w, uint32_t src_h); | ||
193 | void (*disable_plane)(struct drm_plane *plane); | ||
194 | }; | ||
195 | |||
180 | #define to_intel_crtc(x) container_of(x, struct intel_crtc, base) | 196 | #define to_intel_crtc(x) container_of(x, struct intel_crtc, base) |
181 | #define to_intel_connector(x) container_of(x, struct intel_connector, base) | 197 | #define to_intel_connector(x) container_of(x, struct intel_connector, base) |
182 | #define to_intel_encoder(x) container_of(x, struct intel_encoder, base) | 198 | #define to_intel_encoder(x) container_of(x, struct intel_encoder, base) |
183 | #define to_intel_framebuffer(x) container_of(x, struct intel_framebuffer, base) | 199 | #define to_intel_framebuffer(x) container_of(x, struct intel_framebuffer, base) |
200 | #define to_intel_plane(x) container_of(x, struct intel_plane, base) | ||
184 | 201 | ||
185 | #define DIP_HEADER_SIZE 5 | 202 | #define DIP_HEADER_SIZE 5 |
186 | 203 | ||
@@ -290,6 +307,7 @@ intel_dp_set_m_n(struct drm_crtc *crtc, struct drm_display_mode *mode, | |||
290 | extern bool intel_dpd_is_edp(struct drm_device *dev); | 307 | extern bool intel_dpd_is_edp(struct drm_device *dev); |
291 | extern void intel_edp_link_config(struct intel_encoder *, int *, int *); | 308 | extern void intel_edp_link_config(struct intel_encoder *, int *, int *); |
292 | extern bool intel_encoder_is_pch_edp(struct drm_encoder *encoder); | 309 | extern bool intel_encoder_is_pch_edp(struct drm_encoder *encoder); |
310 | extern int intel_plane_init(struct drm_device *dev, enum pipe pipe); | ||
293 | 311 | ||
294 | /* intel_panel.c */ | 312 | /* intel_panel.c */ |
295 | extern void intel_fixed_panel_mode(struct drm_display_mode *fixed_mode, | 313 | extern void intel_fixed_panel_mode(struct drm_display_mode *fixed_mode, |
@@ -380,9 +398,19 @@ extern int intel_overlay_attrs(struct drm_device *dev, void *data, | |||
380 | extern void intel_fb_output_poll_changed(struct drm_device *dev); | 398 | extern void intel_fb_output_poll_changed(struct drm_device *dev); |
381 | extern void intel_fb_restore_mode(struct drm_device *dev); | 399 | extern void intel_fb_restore_mode(struct drm_device *dev); |
382 | 400 | ||
401 | extern void assert_pipe(struct drm_i915_private *dev_priv, enum pipe pipe, | ||
402 | bool state); | ||
403 | #define assert_pipe_enabled(d, p) assert_pipe(d, p, true) | ||
404 | #define assert_pipe_disabled(d, p) assert_pipe(d, p, false) | ||
405 | |||
383 | extern void intel_init_clock_gating(struct drm_device *dev); | 406 | extern void intel_init_clock_gating(struct drm_device *dev); |
384 | extern void intel_write_eld(struct drm_encoder *encoder, | 407 | extern void intel_write_eld(struct drm_encoder *encoder, |
385 | struct drm_display_mode *mode); | 408 | struct drm_display_mode *mode); |
386 | extern void intel_cpt_verify_modeset(struct drm_device *dev, int pipe); | 409 | extern void intel_cpt_verify_modeset(struct drm_device *dev, int pipe); |
387 | 410 | ||
411 | /* For use by IVB LP watermark workaround in intel_sprite.c */ | ||
412 | extern void sandybridge_update_wm(struct drm_device *dev); | ||
413 | extern void intel_update_sprite_watermarks(struct drm_device *dev, int pipe, | ||
414 | uint32_t sprite_width, | ||
415 | int pixel_size); | ||
388 | #endif /* __INTEL_DRV_H__ */ | 416 | #endif /* __INTEL_DRV_H__ */ |