Subversion Repositories Kolibri OS

Rev

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);