Rev 3031 | Rev 3480 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3031 | Rev 3243 | ||
---|---|---|---|
Line 101... | Line 101... | ||
101 | #define INTEL_OUTPUT_LVDS 4 |
101 | #define INTEL_OUTPUT_LVDS 4 |
102 | #define INTEL_OUTPUT_TVOUT 5 |
102 | #define INTEL_OUTPUT_TVOUT 5 |
103 | #define INTEL_OUTPUT_HDMI 6 |
103 | #define INTEL_OUTPUT_HDMI 6 |
104 | #define INTEL_OUTPUT_DISPLAYPORT 7 |
104 | #define INTEL_OUTPUT_DISPLAYPORT 7 |
105 | #define INTEL_OUTPUT_EDP 8 |
105 | #define INTEL_OUTPUT_EDP 8 |
106 | - | ||
107 | /* Intel Pipe Clone Bit */ |
- | |
108 | #define INTEL_HDMIB_CLONE_BIT 1 |
- | |
109 | #define INTEL_HDMIC_CLONE_BIT 2 |
- | |
110 | #define INTEL_HDMID_CLONE_BIT 3 |
- | |
111 | #define INTEL_HDMIE_CLONE_BIT 4 |
- | |
112 | #define INTEL_HDMIF_CLONE_BIT 5 |
- | |
113 | #define INTEL_SDVO_NON_TV_CLONE_BIT 6 |
- | |
114 | #define INTEL_SDVO_TV_CLONE_BIT 7 |
- | |
115 | #define INTEL_SDVO_LVDS_CLONE_BIT 8 |
- | |
116 | #define INTEL_ANALOG_CLONE_BIT 9 |
106 | #define INTEL_OUTPUT_UNKNOWN 9 |
117 | #define INTEL_TV_CLONE_BIT 10 |
- | |
118 | #define INTEL_DP_B_CLONE_BIT 11 |
- | |
119 | #define INTEL_DP_C_CLONE_BIT 12 |
- | |
120 | #define INTEL_DP_D_CLONE_BIT 13 |
- | |
121 | #define INTEL_LVDS_CLONE_BIT 14 |
- | |
122 | #define INTEL_DVO_TMDS_CLONE_BIT 15 |
- | |
123 | #define INTEL_DVO_LVDS_CLONE_BIT 16 |
- | |
124 | #define INTEL_EDP_CLONE_BIT 17 |
- | |
Line 125... | Line 107... | ||
125 | 107 | ||
126 | #define INTEL_DVO_CHIP_NONE 0 |
108 | #define INTEL_DVO_CHIP_NONE 0 |
127 | #define INTEL_DVO_CHIP_LVDS 1 |
109 | #define INTEL_DVO_CHIP_LVDS 1 |
128 | #define INTEL_DVO_CHIP_TMDS 2 |
110 | #define INTEL_DVO_CHIP_TMDS 2 |
Line 189... | Line 171... | ||
189 | * it is connected to in the pipe parameter. */ |
171 | * it is connected to in the pipe parameter. */ |
190 | bool (*get_hw_state)(struct intel_encoder *, enum pipe *pipe); |
172 | bool (*get_hw_state)(struct intel_encoder *, enum pipe *pipe); |
191 | int crtc_mask; |
173 | int crtc_mask; |
192 | }; |
174 | }; |
Line -... | Line 175... | ||
- | 175 | ||
- | 176 | struct intel_panel { |
|
- | 177 | struct drm_display_mode *fixed_mode; |
|
- | 178 | int fitting_mode; |
|
- | 179 | }; |
|
193 | 180 | ||
194 | struct intel_connector { |
181 | struct intel_connector { |
195 | struct drm_connector base; |
182 | struct drm_connector base; |
196 | /* |
183 | /* |
197 | * The fixed encoder this connector is connected to. |
184 | * The fixed encoder this connector is connected to. |
Line 205... | Line 192... | ||
205 | struct intel_encoder *new_encoder; |
192 | struct intel_encoder *new_encoder; |
Line 206... | Line 193... | ||
206 | 193 | ||
207 | /* Reads out the current hw, returning true if the connector is enabled |
194 | /* Reads out the current hw, returning true if the connector is enabled |
208 | * and active (i.e. dpms ON state). */ |
195 | * and active (i.e. dpms ON state). */ |
- | 196 | bool (*get_hw_state)(struct intel_connector *); |
|
- | 197 | ||
- | 198 | /* Panel info for eDP and LVDS */ |
|
- | 199 | struct intel_panel panel; |
|
- | 200 | ||
- | 201 | /* Cached EDID for eDP and LVDS. May hold ERR_PTR for invalid EDID. */ |
|
209 | bool (*get_hw_state)(struct intel_connector *); |
202 | struct edid *edid; |
Line 210... | Line 203... | ||
210 | }; |
203 | }; |
211 | 204 | ||
212 | struct intel_crtc { |
205 | struct intel_crtc { |
213 | struct drm_crtc base; |
206 | struct drm_crtc base; |
- | 207 | enum pipe pipe; |
|
214 | enum pipe pipe; |
208 | enum plane plane; |
215 | enum plane plane; |
209 | enum transcoder cpu_transcoder; |
216 | u8 lut_r[256], lut_g[256], lut_b[256]; |
210 | u8 lut_r[256], lut_g[256], lut_b[256]; |
217 | /* |
211 | /* |
218 | * Whether the crtc and the connected output pipeline is active. Implies |
212 | * Whether the crtc and the connected output pipeline is active. Implies |
Line 224... | Line 218... | ||
224 | bool lowfreq_avail; |
218 | bool lowfreq_avail; |
225 | struct intel_overlay *overlay; |
219 | struct intel_overlay *overlay; |
226 | struct intel_unpin_work *unpin_work; |
220 | struct intel_unpin_work *unpin_work; |
227 | int fdi_lanes; |
221 | int fdi_lanes; |
Line -... | Line 222... | ||
- | 222 | ||
- | 223 | atomic_t unpin_work_count; |
|
228 | 224 | ||
229 | /* Display surface base address adjustement for pageflips. Note that on |
225 | /* Display surface base address adjustement for pageflips. Note that on |
230 | * gen4+ this only adjusts up to a tile, offsets within a tile are |
226 | * gen4+ this only adjusts up to a tile, offsets within a tile are |
231 | * handled in the hw itself (with the TILEOFF register). */ |
227 | * handled in the hw itself (with the TILEOFF register). */ |
Line 238... | Line 234... | ||
238 | bool cursor_visible; |
234 | bool cursor_visible; |
239 | unsigned int bpp; |
235 | unsigned int bpp; |
Line 240... | Line 236... | ||
240 | 236 | ||
241 | /* We can share PLLs across outputs if the timings match */ |
237 | /* We can share PLLs across outputs if the timings match */ |
- | 238 | struct intel_pch_pll *pch_pll; |
|
242 | struct intel_pch_pll *pch_pll; |
239 | uint32_t ddi_pll_sel; |
Line 243... | Line 240... | ||
243 | }; |
240 | }; |
244 | 241 | ||
245 | struct intel_plane { |
242 | struct intel_plane { |
246 | struct drm_plane base; |
243 | struct drm_plane base; |
- | 244 | enum pipe pipe; |
|
247 | enum pipe pipe; |
245 | struct drm_i915_gem_object *obj; |
248 | struct drm_i915_gem_object *obj; |
246 | bool can_scale; |
249 | int max_downscale; |
247 | int max_downscale; |
250 | u32 lut_r[1024], lut_g[1024], lut_b[1024]; |
248 | u32 lut_r[1024], lut_g[1024], lut_b[1024]; |
251 | void (*update_plane)(struct drm_plane *plane, |
249 | void (*update_plane)(struct drm_plane *plane, |
Line 343... | Line 341... | ||
343 | uint8_t payload[27]; |
341 | uint8_t payload[27]; |
344 | } __attribute__ ((packed)) body; |
342 | } __attribute__ ((packed)) body; |
345 | } __attribute__((packed)); |
343 | } __attribute__((packed)); |
Line 346... | Line 344... | ||
346 | 344 | ||
347 | struct intel_hdmi { |
- | |
348 | struct intel_encoder base; |
345 | struct intel_hdmi { |
349 | u32 sdvox_reg; |
346 | u32 sdvox_reg; |
350 | int ddc_bus; |
- | |
351 | int ddi_port; |
347 | int ddc_bus; |
352 | uint32_t color_range; |
348 | uint32_t color_range; |
353 | bool has_hdmi_sink; |
349 | bool has_hdmi_sink; |
354 | bool has_audio; |
350 | bool has_audio; |
355 | enum hdmi_force_audio force_audio; |
351 | enum hdmi_force_audio force_audio; |
356 | void (*write_infoframe)(struct drm_encoder *encoder, |
352 | void (*write_infoframe)(struct drm_encoder *encoder, |
357 | struct dip_infoframe *frame); |
353 | struct dip_infoframe *frame); |
358 | void (*set_infoframes)(struct drm_encoder *encoder, |
354 | void (*set_infoframes)(struct drm_encoder *encoder, |
359 | struct drm_display_mode *adjusted_mode); |
355 | struct drm_display_mode *adjusted_mode); |
Line 360... | Line -... | ||
360 | }; |
- | |
361 | 356 | }; |
|
362 | #define DP_RECEIVER_CAP_SIZE 0xf |
357 | |
Line 363... | Line 358... | ||
363 | #define DP_MAX_DOWNSTREAM_PORTS 0x10 |
358 | #define DP_MAX_DOWNSTREAM_PORTS 0x10 |
364 | #define DP_LINK_CONFIGURATION_SIZE 9 |
- | |
365 | 359 | #define DP_LINK_CONFIGURATION_SIZE 9 |
|
366 | struct intel_dp { |
360 | |
367 | struct intel_encoder base; |
361 | struct intel_dp { |
368 | uint32_t output_reg; |
362 | uint32_t output_reg; |
369 | uint32_t DP; |
363 | uint32_t DP; |
370 | uint8_t link_configuration[DP_LINK_CONFIGURATION_SIZE]; |
- | |
371 | bool has_audio; |
364 | uint8_t link_configuration[DP_LINK_CONFIGURATION_SIZE]; |
372 | enum hdmi_force_audio force_audio; |
365 | bool has_audio; |
373 | enum port port; |
366 | enum hdmi_force_audio force_audio; |
374 | uint32_t color_range; |
367 | uint32_t color_range; |
375 | uint8_t link_bw; |
368 | uint8_t link_bw; |
Line 383... | Line 376... | ||
383 | int panel_power_up_delay; |
376 | int panel_power_up_delay; |
384 | int panel_power_down_delay; |
377 | int panel_power_down_delay; |
385 | int panel_power_cycle_delay; |
378 | int panel_power_cycle_delay; |
386 | int backlight_on_delay; |
379 | int backlight_on_delay; |
387 | int backlight_off_delay; |
380 | int backlight_off_delay; |
388 | struct drm_display_mode *panel_fixed_mode; /* for eDP */ |
- | |
389 | struct delayed_work panel_vdd_work; |
381 | struct delayed_work panel_vdd_work; |
390 | bool want_panel_vdd; |
382 | bool want_panel_vdd; |
391 | struct edid *edid; /* cached EDID for eDP */ |
383 | struct intel_connector *attached_connector; |
- | 384 | }; |
|
- | 385 | ||
- | 386 | struct intel_digital_port { |
|
392 | int edid_mode_count; |
387 | struct intel_encoder base; |
- | 388 | enum port port; |
|
- | 389 | struct intel_dp dp; |
|
- | 390 | struct intel_hdmi hdmi; |
|
393 | }; |
391 | }; |
Line 394... | Line 392... | ||
394 | 392 | ||
395 | static inline struct drm_crtc * |
393 | static inline struct drm_crtc * |
396 | intel_get_crtc_for_pipe(struct drm_device *dev, int pipe) |
394 | intel_get_crtc_for_pipe(struct drm_device *dev, int pipe) |
Line 406... | Line 404... | ||
406 | return dev_priv->plane_to_crtc_mapping[plane]; |
404 | return dev_priv->plane_to_crtc_mapping[plane]; |
407 | } |
405 | } |
Line 408... | Line 406... | ||
408 | 406 | ||
409 | struct intel_unpin_work { |
407 | struct intel_unpin_work { |
410 | struct work_struct work; |
408 | struct work_struct work; |
411 | struct drm_device *dev; |
409 | struct drm_crtc *crtc; |
412 | struct drm_i915_gem_object *old_fb_obj; |
410 | struct drm_i915_gem_object *old_fb_obj; |
413 | struct drm_i915_gem_object *pending_flip_obj; |
411 | struct drm_i915_gem_object *pending_flip_obj; |
414 | struct drm_pending_vblank_event *event; |
412 | struct drm_pending_vblank_event *event; |
- | 413 | atomic_t pending; |
|
- | 414 | #define INTEL_FLIP_INACTIVE 0 |
|
- | 415 | #define INTEL_FLIP_PENDING 1 |
|
415 | int pending; |
416 | #define INTEL_FLIP_COMPLETE 2 |
416 | bool enable_stall_check; |
417 | bool enable_stall_check; |
Line 417... | Line 418... | ||
417 | }; |
418 | }; |
418 | 419 | ||
419 | struct intel_fbc_work { |
420 | struct intel_fbc_work { |
420 | struct delayed_work work; |
421 | struct delayed_work work; |
421 | struct drm_crtc *crtc; |
422 | struct drm_crtc *crtc; |
422 | struct drm_framebuffer *fb; |
423 | struct drm_framebuffer *fb; |
Line -... | Line 424... | ||
- | 424 | int interval; |
|
- | 425 | }; |
|
423 | int interval; |
426 | |
424 | }; |
427 | int intel_pch_rawclk(struct drm_device *dev); |
425 | 428 | ||
Line 426... | Line 429... | ||
426 | int intel_connector_update_modes(struct drm_connector *connector, |
429 | int intel_connector_update_modes(struct drm_connector *connector, |
427 | struct edid *edid); |
430 | struct edid *edid); |
Line 428... | Line 431... | ||
428 | int intel_ddc_get_modes(struct drm_connector *c, struct i2c_adapter *adapter); |
431 | int intel_ddc_get_modes(struct drm_connector *c, struct i2c_adapter *adapter); |
429 | 432 | ||
430 | extern void intel_attach_force_audio_property(struct drm_connector *connector); |
433 | extern void intel_attach_force_audio_property(struct drm_connector *connector); |
- | 434 | extern void intel_attach_broadcast_rgb_property(struct drm_connector *connector); |
|
- | 435 | ||
431 | extern void intel_attach_broadcast_rgb_property(struct drm_connector *connector); |
436 | extern void intel_crt_init(struct drm_device *dev); |
- | 437 | extern void intel_hdmi_init(struct drm_device *dev, |
|
- | 438 | int sdvox_reg, enum port port); |
|
- | 439 | extern void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, |
|
432 | 440 | struct intel_connector *intel_connector); |
|
433 | extern void intel_crt_init(struct drm_device *dev); |
441 | extern struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder); |
434 | extern void intel_hdmi_init(struct drm_device *dev, |
442 | extern bool intel_hdmi_mode_fixup(struct drm_encoder *encoder, |
435 | int sdvox_reg, enum port port); |
443 | const struct drm_display_mode *mode, |
436 | extern struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder); |
444 | struct drm_display_mode *adjusted_mode); |
Line 444... | Line 452... | ||
444 | extern void intel_mark_fb_busy(struct drm_i915_gem_object *obj); |
452 | extern void intel_mark_fb_busy(struct drm_i915_gem_object *obj); |
445 | extern void intel_mark_fb_idle(struct drm_i915_gem_object *obj); |
453 | extern void intel_mark_fb_idle(struct drm_i915_gem_object *obj); |
446 | extern bool intel_lvds_init(struct drm_device *dev); |
454 | extern bool intel_lvds_init(struct drm_device *dev); |
447 | extern void intel_dp_init(struct drm_device *dev, int output_reg, |
455 | extern void intel_dp_init(struct drm_device *dev, int output_reg, |
448 | enum port port); |
456 | enum port port); |
- | 457 | extern void intel_dp_init_connector(struct intel_digital_port *intel_dig_port, |
|
- | 458 | struct intel_connector *intel_connector); |
|
449 | void |
459 | void |
450 | intel_dp_set_m_n(struct drm_crtc *crtc, struct drm_display_mode *mode, |
460 | intel_dp_set_m_n(struct drm_crtc *crtc, struct drm_display_mode *mode, |
451 | struct drm_display_mode *adjusted_mode); |
461 | struct drm_display_mode *adjusted_mode); |
- | 462 | extern void intel_dp_init_link_config(struct intel_dp *intel_dp); |
|
- | 463 | extern void intel_dp_start_link_train(struct intel_dp *intel_dp); |
|
- | 464 | extern void intel_dp_complete_link_train(struct intel_dp *intel_dp); |
|
- | 465 | extern void intel_dp_sink_dpms(struct intel_dp *intel_dp, int mode); |
|
- | 466 | extern void intel_dp_encoder_destroy(struct drm_encoder *encoder); |
|
- | 467 | extern void intel_dp_check_link_status(struct intel_dp *intel_dp); |
|
- | 468 | extern bool intel_dp_mode_fixup(struct drm_encoder *encoder, |
|
- | 469 | const struct drm_display_mode *mode, |
|
- | 470 | struct drm_display_mode *adjusted_mode); |
|
452 | extern bool intel_dpd_is_edp(struct drm_device *dev); |
471 | extern bool intel_dpd_is_edp(struct drm_device *dev); |
- | 472 | extern void ironlake_edp_backlight_on(struct intel_dp *intel_dp); |
|
- | 473 | extern void ironlake_edp_backlight_off(struct intel_dp *intel_dp); |
|
- | 474 | extern void ironlake_edp_panel_on(struct intel_dp *intel_dp); |
|
- | 475 | extern void ironlake_edp_panel_off(struct intel_dp *intel_dp); |
|
- | 476 | extern void ironlake_edp_panel_vdd_on(struct intel_dp *intel_dp); |
|
- | 477 | extern void ironlake_edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync); |
|
453 | extern void intel_edp_link_config(struct intel_encoder *, int *, int *); |
478 | extern void intel_edp_link_config(struct intel_encoder *, int *, int *); |
454 | extern int intel_edp_target_clock(struct intel_encoder *, |
479 | extern int intel_edp_target_clock(struct intel_encoder *, |
455 | struct drm_display_mode *mode); |
480 | struct drm_display_mode *mode); |
456 | extern bool intel_encoder_is_pch_edp(struct drm_encoder *encoder); |
481 | extern bool intel_encoder_is_pch_edp(struct drm_encoder *encoder); |
457 | extern int intel_plane_init(struct drm_device *dev, enum pipe pipe); |
482 | extern int intel_plane_init(struct drm_device *dev, enum pipe pipe); |
458 | extern void intel_flush_display_plane(struct drm_i915_private *dev_priv, |
483 | extern void intel_flush_display_plane(struct drm_i915_private *dev_priv, |
459 | enum plane plane); |
484 | enum plane plane); |
Line 460... | Line 485... | ||
460 | 485 | ||
- | 486 | /* intel_panel.c */ |
|
- | 487 | extern int intel_panel_init(struct intel_panel *panel, |
|
- | 488 | struct drm_display_mode *fixed_mode); |
|
- | 489 | extern void intel_panel_fini(struct intel_panel *panel); |
|
461 | /* intel_panel.c */ |
490 | |
462 | extern void intel_fixed_panel_mode(struct drm_display_mode *fixed_mode, |
491 | extern void intel_fixed_panel_mode(struct drm_display_mode *fixed_mode, |
463 | struct drm_display_mode *adjusted_mode); |
492 | struct drm_display_mode *adjusted_mode); |
464 | extern void intel_pch_panel_fitting(struct drm_device *dev, |
493 | extern void intel_pch_panel_fitting(struct drm_device *dev, |
465 | int fitting_mode, |
494 | int fitting_mode, |
466 | const struct drm_display_mode *mode, |
495 | const struct drm_display_mode *mode, |
467 | struct drm_display_mode *adjusted_mode); |
496 | struct drm_display_mode *adjusted_mode); |
468 | extern u32 intel_panel_get_max_backlight(struct drm_device *dev); |
497 | extern u32 intel_panel_get_max_backlight(struct drm_device *dev); |
469 | extern void intel_panel_set_backlight(struct drm_device *dev, u32 level); |
498 | extern void intel_panel_set_backlight(struct drm_device *dev, u32 level); |
470 | extern int intel_panel_setup_backlight(struct drm_device *dev); |
499 | extern int intel_panel_setup_backlight(struct drm_connector *connector); |
471 | extern void intel_panel_enable_backlight(struct drm_device *dev, |
500 | extern void intel_panel_enable_backlight(struct drm_device *dev, |
472 | enum pipe pipe); |
501 | enum pipe pipe); |
473 | extern void intel_panel_disable_backlight(struct drm_device *dev); |
502 | extern void intel_panel_disable_backlight(struct drm_device *dev); |
474 | extern void intel_panel_destroy_backlight(struct drm_device *dev); |
503 | extern void intel_panel_destroy_backlight(struct drm_device *dev); |
Line 499... | Line 528... | ||
499 | static inline struct intel_encoder *intel_attached_encoder(struct drm_connector *connector) |
528 | static inline struct intel_encoder *intel_attached_encoder(struct drm_connector *connector) |
500 | { |
529 | { |
501 | return to_intel_connector(connector)->encoder; |
530 | return to_intel_connector(connector)->encoder; |
502 | } |
531 | } |
Line -... | Line 532... | ||
- | 532 | ||
- | 533 | static inline struct intel_dp *enc_to_intel_dp(struct drm_encoder *encoder) |
|
- | 534 | { |
|
- | 535 | struct intel_digital_port *intel_dig_port = |
|
- | 536 | container_of(encoder, struct intel_digital_port, base.base); |
|
- | 537 | return &intel_dig_port->dp; |
|
- | 538 | } |
|
- | 539 | ||
- | 540 | static inline struct intel_digital_port * |
|
- | 541 | enc_to_dig_port(struct drm_encoder *encoder) |
|
- | 542 | { |
|
- | 543 | return container_of(encoder, struct intel_digital_port, base.base); |
|
- | 544 | } |
|
- | 545 | ||
- | 546 | static inline struct intel_digital_port * |
|
- | 547 | dp_to_dig_port(struct intel_dp *intel_dp) |
|
- | 548 | { |
|
- | 549 | return container_of(intel_dp, struct intel_digital_port, dp); |
|
- | 550 | } |
|
- | 551 | ||
- | 552 | static inline struct intel_digital_port * |
|
- | 553 | hdmi_to_dig_port(struct intel_hdmi *intel_hdmi) |
|
- | 554 | { |
|
- | 555 | return container_of(intel_hdmi, struct intel_digital_port, hdmi); |
|
- | 556 | } |
|
503 | 557 | ||
504 | extern void intel_connector_attach_encoder(struct intel_connector *connector, |
558 | extern void intel_connector_attach_encoder(struct intel_connector *connector, |
505 | struct intel_encoder *encoder); |
559 | struct intel_encoder *encoder); |
Line 506... | Line 560... | ||
506 | extern struct drm_encoder *intel_best_encoder(struct drm_connector *connector); |
560 | extern struct drm_encoder *intel_best_encoder(struct drm_connector *connector); |
507 | 561 | ||
508 | extern struct drm_display_mode *intel_crtc_mode_get(struct drm_device *dev, |
562 | extern struct drm_display_mode *intel_crtc_mode_get(struct drm_device *dev, |
509 | struct drm_crtc *crtc); |
563 | struct drm_crtc *crtc); |
- | 564 | int intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data, |
|
- | 565 | struct drm_file *file_priv); |
|
- | 566 | extern enum transcoder |
|
510 | int intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data, |
567 | intel_pipe_to_cpu_transcoder(struct drm_i915_private *dev_priv, |
511 | struct drm_file *file_priv); |
568 | enum pipe pipe); |
- | 569 | extern void intel_wait_for_vblank(struct drm_device *dev, int pipe); |
|
Line 512... | Line 570... | ||
512 | extern void intel_wait_for_vblank(struct drm_device *dev, int pipe); |
570 | extern void intel_wait_for_pipe_off(struct drm_device *dev, int pipe); |
513 | extern void intel_wait_for_pipe_off(struct drm_device *dev, int pipe); |
571 | extern int ironlake_get_lanes_required(int target_clock, int link_bw, int bpp); |
514 | 572 | ||
515 | struct intel_load_detect_pipe { |
573 | struct intel_load_detect_pipe { |
Line 576... | Line 634... | ||
576 | uint32_t sprite_width, |
634 | uint32_t sprite_width, |
577 | int pixel_size); |
635 | int pixel_size); |
578 | extern void intel_update_linetime_watermarks(struct drm_device *dev, int pipe, |
636 | extern void intel_update_linetime_watermarks(struct drm_device *dev, int pipe, |
579 | struct drm_display_mode *mode); |
637 | struct drm_display_mode *mode); |
Line -... | Line 638... | ||
- | 638 | ||
- | 639 | extern unsigned long intel_gen4_compute_offset_xtiled(int *x, int *y, |
|
- | 640 | unsigned int bpp, |
|
- | 641 | unsigned int pitch); |
|
580 | 642 | ||
581 | extern int intel_sprite_set_colorkey(struct drm_device *dev, void *data, |
643 | extern int intel_sprite_set_colorkey(struct drm_device *dev, void *data, |
582 | struct drm_file *file_priv); |
644 | struct drm_file *file_priv); |
583 | extern int intel_sprite_get_colorkey(struct drm_device *dev, void *data, |
645 | extern int intel_sprite_get_colorkey(struct drm_device *dev, void *data, |
Line 599... | Line 661... | ||
599 | extern void intel_enable_gt_powersave(struct drm_device *dev); |
661 | extern void intel_enable_gt_powersave(struct drm_device *dev); |
600 | extern void intel_disable_gt_powersave(struct drm_device *dev); |
662 | extern void intel_disable_gt_powersave(struct drm_device *dev); |
601 | extern void gen6_gt_check_fifodbg(struct drm_i915_private *dev_priv); |
663 | extern void gen6_gt_check_fifodbg(struct drm_i915_private *dev_priv); |
602 | extern void ironlake_teardown_rc6(struct drm_device *dev); |
664 | extern void ironlake_teardown_rc6(struct drm_device *dev); |
Line 603... | Line -... | ||
603 | - | ||
604 | extern void intel_enable_ddi(struct intel_encoder *encoder); |
- | |
605 | extern void intel_disable_ddi(struct intel_encoder *encoder); |
665 | |
606 | extern bool intel_ddi_get_hw_state(struct intel_encoder *encoder, |
666 | extern bool intel_ddi_get_hw_state(struct intel_encoder *encoder, |
- | 667 | enum pipe *pipe); |
|
607 | enum pipe *pipe); |
668 | extern int intel_ddi_get_cdclk_freq(struct drm_i915_private *dev_priv); |
- | 669 | extern void intel_ddi_pll_init(struct drm_device *dev); |
|
- | 670 | extern void intel_ddi_enable_pipe_func(struct drm_crtc *crtc); |
|
608 | extern void intel_ddi_mode_set(struct drm_encoder *encoder, |
671 | extern void intel_ddi_disable_transcoder_func(struct drm_i915_private *dev_priv, |
- | 672 | enum transcoder cpu_transcoder); |
|
- | 673 | extern void intel_ddi_enable_pipe_clock(struct intel_crtc *intel_crtc); |
|
609 | struct drm_display_mode *mode, |
674 | extern void intel_ddi_disable_pipe_clock(struct intel_crtc *intel_crtc); |
- | 675 | extern void intel_ddi_setup_hw_pll_state(struct drm_device *dev); |
|
- | 676 | extern bool intel_ddi_pll_mode_set(struct drm_crtc *crtc, int clock); |
|
- | 677 | extern void intel_ddi_put_crtc_pll(struct drm_crtc *crtc); |
|
- | 678 | extern void intel_ddi_set_pipe_settings(struct drm_crtc *crtc); |
|
- | 679 | extern void intel_ddi_prepare_link_retrain(struct drm_encoder *encoder); |
|
- | 680 | extern bool |
|
- | 681 | intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector); |
|
Line 610... | Line 682... | ||
610 | struct drm_display_mode *adjusted_mode); |
682 | extern void intel_ddi_fdi_disable(struct drm_crtc *crtc); |