Lines Matching refs:encoder

267 	struct gma_encoder *encoder;  member
313 static bool is_edp(struct gma_encoder *encoder) in is_edp() argument
315 return encoder->type == INTEL_OUTPUT_EDP; in is_edp()
319 static void cdv_intel_dp_start_link_train(struct gma_encoder *encoder);
320 static void cdv_intel_dp_complete_link_train(struct gma_encoder *encoder);
321 static void cdv_intel_dp_link_down(struct gma_encoder *encoder);
324 cdv_intel_dp_max_lane_count(struct gma_encoder *encoder) in cdv_intel_dp_max_lane_count() argument
326 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_max_lane_count()
342 cdv_intel_dp_max_link_bw(struct gma_encoder *encoder) in cdv_intel_dp_max_link_bw() argument
344 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_max_link_bw()
513 struct gma_encoder *encoder = gma_attached_encoder(connector); in cdv_intel_dp_mode_valid() local
514 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_mode_valid()
515 int max_link_clock = cdv_intel_dp_link_clock(cdv_intel_dp_max_link_bw(encoder)); in cdv_intel_dp_mode_valid()
516 int max_lanes = cdv_intel_dp_max_lane_count(encoder); in cdv_intel_dp_mode_valid()
519 if (is_edp(encoder) && intel_dp->panel_fixed_mode) { in cdv_intel_dp_mode_valid()
528 if (!is_edp(encoder) && in cdv_intel_dp_mode_valid()
533 if (is_edp(encoder)) { in cdv_intel_dp_mode_valid()
569 cdv_intel_dp_aux_ch(struct gma_encoder *encoder, in cdv_intel_dp_aux_ch() argument
573 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_aux_ch()
575 struct drm_device *dev = encoder->base.dev; in cdv_intel_dp_aux_ch()
593 if (is_edp(encoder)) in cdv_intel_dp_aux_ch()
671 cdv_intel_dp_aux_native_write(struct gma_encoder *encoder, in cdv_intel_dp_aux_native_write() argument
688 ret = cdv_intel_dp_aux_ch(encoder, msg, msg_bytes, &ack, 1); in cdv_intel_dp_aux_native_write()
704 cdv_intel_dp_aux_native_write_1(struct gma_encoder *encoder, in cdv_intel_dp_aux_native_write_1() argument
707 return cdv_intel_dp_aux_native_write(encoder, address, &byte, 1); in cdv_intel_dp_aux_native_write_1()
712 cdv_intel_dp_aux_native_read(struct gma_encoder *encoder, in cdv_intel_dp_aux_native_read() argument
731 ret = cdv_intel_dp_aux_ch(encoder, msg, msg_bytes, in cdv_intel_dp_aux_native_read()
757 struct gma_encoder *encoder = intel_dp->encoder; in cdv_intel_dp_i2c_aux_ch() local
797 ret = cdv_intel_dp_aux_ch(encoder, in cdv_intel_dp_i2c_aux_ch()
848 struct gma_encoder *encoder, const char *name) in cdv_intel_dp_i2c_init() argument
850 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_i2c_init()
867 if (is_edp(encoder)) in cdv_intel_dp_i2c_init()
868 cdv_intel_edp_panel_vdd_on(encoder); in cdv_intel_dp_i2c_init()
870 if (is_edp(encoder)) in cdv_intel_dp_i2c_init()
871 cdv_intel_edp_panel_vdd_off(encoder); in cdv_intel_dp_i2c_init()
895 cdv_intel_dp_mode_fixup(struct drm_encoder *encoder, const struct drm_display_mode *mode, in cdv_intel_dp_mode_fixup() argument
898 struct drm_psb_private *dev_priv = encoder->dev->dev_private; in cdv_intel_dp_mode_fixup()
899 struct gma_encoder *intel_encoder = to_gma_encoder(encoder); in cdv_intel_dp_mode_fixup()
992 struct drm_encoder *encoder; in cdv_intel_dp_set_m_n() local
1001 list_for_each_entry(encoder, &mode_config->encoder_list, head) { in cdv_intel_dp_set_m_n()
1005 if (encoder->crtc != crtc) in cdv_intel_dp_set_m_n()
1008 intel_encoder = to_gma_encoder(encoder); in cdv_intel_dp_set_m_n()
1039 cdv_intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, in cdv_intel_dp_mode_set() argument
1042 struct gma_encoder *intel_encoder = to_gma_encoder(encoder); in cdv_intel_dp_mode_set()
1043 struct drm_crtc *crtc = encoder->crtc; in cdv_intel_dp_mode_set()
1046 struct drm_device *dev = encoder->dev; in cdv_intel_dp_mode_set()
1109 static void cdv_intel_dp_sink_dpms(struct gma_encoder *encoder, int mode) in cdv_intel_dp_sink_dpms() argument
1111 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_sink_dpms()
1119 ret = cdv_intel_dp_aux_native_write_1(encoder, DP_SET_POWER, in cdv_intel_dp_sink_dpms()
1129 ret = cdv_intel_dp_aux_native_write_1(encoder, in cdv_intel_dp_sink_dpms()
1139 static void cdv_intel_dp_prepare(struct drm_encoder *encoder) in cdv_intel_dp_prepare() argument
1141 struct gma_encoder *intel_encoder = to_gma_encoder(encoder); in cdv_intel_dp_prepare()
1156 static void cdv_intel_dp_commit(struct drm_encoder *encoder) in cdv_intel_dp_commit() argument
1158 struct gma_encoder *intel_encoder = to_gma_encoder(encoder); in cdv_intel_dp_commit()
1170 cdv_intel_dp_dpms(struct drm_encoder *encoder, int mode) in cdv_intel_dp_dpms() argument
1172 struct gma_encoder *intel_encoder = to_gma_encoder(encoder); in cdv_intel_dp_dpms()
1174 struct drm_device *dev = encoder->dev; in cdv_intel_dp_dpms()
1207 cdv_intel_dp_aux_native_read_retry(struct gma_encoder *encoder, uint16_t address, in cdv_intel_dp_aux_native_read_retry() argument
1217 ret = cdv_intel_dp_aux_native_read(encoder, address, recv, in cdv_intel_dp_aux_native_read_retry()
1232 cdv_intel_dp_get_link_status(struct gma_encoder *encoder) in cdv_intel_dp_get_link_status() argument
1234 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_get_link_status()
1235 return cdv_intel_dp_aux_native_read_retry(encoder, in cdv_intel_dp_get_link_status()
1306 cdv_intel_get_adjust_train(struct gma_encoder *encoder) in cdv_intel_get_adjust_train() argument
1308 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_get_adjust_train()
1365 cdv_intel_channel_eq_ok(struct gma_encoder *encoder) in cdv_intel_channel_eq_ok() argument
1367 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_channel_eq_ok()
1385 cdv_intel_dp_set_link_train(struct gma_encoder *encoder, in cdv_intel_dp_set_link_train() argument
1390 struct drm_device *dev = encoder->base.dev; in cdv_intel_dp_set_link_train()
1392 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_set_link_train()
1397 ret = cdv_intel_dp_aux_native_write_1(encoder, in cdv_intel_dp_set_link_train()
1412 cdv_intel_dplink_set_level(struct gma_encoder *encoder, in cdv_intel_dplink_set_level() argument
1417 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dplink_set_level()
1419 ret = cdv_intel_dp_aux_native_write(encoder, in cdv_intel_dplink_set_level()
1433 cdv_intel_dp_set_vswing_premph(struct gma_encoder *encoder, uint8_t signal_level) in cdv_intel_dp_set_vswing_premph() argument
1435 struct drm_device *dev = encoder->base.dev; in cdv_intel_dp_set_vswing_premph()
1436 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_set_vswing_premph()
1499 cdv_intel_dp_start_link_train(struct gma_encoder *encoder) in cdv_intel_dp_start_link_train() argument
1501 struct drm_device *dev = encoder->base.dev; in cdv_intel_dp_start_link_train()
1502 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_start_link_train()
1522 cdv_intel_dp_aux_native_write(encoder, DP_LINK_BW_SET, in cdv_intel_dp_start_link_train()
1542 if (!cdv_intel_dp_set_link_train(encoder, reg, DP_TRAINING_PATTERN_1)) { in cdv_intel_dp_start_link_train()
1545 cdv_intel_dp_set_vswing_premph(encoder, intel_dp->train_set[0]); in cdv_intel_dp_start_link_train()
1548 cdv_intel_dplink_set_level(encoder, DP_TRAINING_PATTERN_1); in cdv_intel_dp_start_link_train()
1551 if (!cdv_intel_dp_get_link_status(encoder)) in cdv_intel_dp_start_link_train()
1581 cdv_intel_get_adjust_train(encoder); in cdv_intel_dp_start_link_train()
1593 cdv_intel_dp_complete_link_train(struct gma_encoder *encoder) in cdv_intel_dp_complete_link_train() argument
1595 struct drm_device *dev = encoder->base.dev; in cdv_intel_dp_complete_link_train()
1596 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_complete_link_train()
1618 if (!cdv_intel_dp_set_link_train(encoder, reg, in cdv_intel_dp_complete_link_train()
1626 cdv_intel_dp_link_down(encoder); in cdv_intel_dp_complete_link_train()
1630 cdv_intel_dp_set_vswing_premph(encoder, intel_dp->train_set[0]); in cdv_intel_dp_complete_link_train()
1632 cdv_intel_dplink_set_level(encoder, DP_TRAINING_PATTERN_2); in cdv_intel_dp_complete_link_train()
1635 if (!cdv_intel_dp_get_link_status(encoder)) in cdv_intel_dp_complete_link_train()
1644 cdv_intel_dp_start_link_train(encoder); in cdv_intel_dp_complete_link_train()
1649 if (cdv_intel_channel_eq_ok(encoder)) { in cdv_intel_dp_complete_link_train()
1657 cdv_intel_dp_link_down(encoder); in cdv_intel_dp_complete_link_train()
1658 cdv_intel_dp_start_link_train(encoder); in cdv_intel_dp_complete_link_train()
1665 cdv_intel_get_adjust_train(encoder); in cdv_intel_dp_complete_link_train()
1674 cdv_intel_dp_aux_native_write_1(encoder, in cdv_intel_dp_complete_link_train()
1679 cdv_intel_dp_link_down(struct gma_encoder *encoder) in cdv_intel_dp_link_down() argument
1681 struct drm_device *dev = encoder->base.dev; in cdv_intel_dp_link_down()
1682 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_link_down()
1703 static enum drm_connector_status cdv_dp_detect(struct gma_encoder *encoder) in cdv_dp_detect() argument
1705 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_dp_detect()
1709 if (cdv_intel_dp_aux_native_read(encoder, 0x000, intel_dp->dpcd, in cdv_dp_detect()
1731 struct gma_encoder *encoder = gma_attached_encoder(connector); in cdv_intel_dp_detect() local
1732 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_detect()
1735 int edp = is_edp(encoder); in cdv_intel_dp_detect()
1740 cdv_intel_edp_panel_vdd_on(encoder); in cdv_intel_dp_detect()
1741 status = cdv_dp_detect(encoder); in cdv_intel_dp_detect()
1744 cdv_intel_edp_panel_vdd_off(encoder); in cdv_intel_dp_detect()
1758 cdv_intel_edp_panel_vdd_off(encoder); in cdv_intel_dp_detect()
1821 struct gma_encoder *encoder = gma_attached_encoder(connector); in cdv_intel_dp_detect_audio() local
1822 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_detect_audio()
1825 int edp = is_edp(encoder); in cdv_intel_dp_detect_audio()
1828 cdv_intel_edp_panel_vdd_on(encoder); in cdv_intel_dp_detect_audio()
1836 cdv_intel_edp_panel_vdd_off(encoder); in cdv_intel_dp_detect_audio()
1847 struct gma_encoder *encoder = gma_attached_encoder(connector); in cdv_intel_dp_set_property() local
1848 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_set_property()
1887 if (encoder->base.crtc) { in cdv_intel_dp_set_property()
1888 struct drm_crtc *crtc = encoder->base.crtc; in cdv_intel_dp_set_property()
1916 static void cdv_intel_dp_encoder_destroy(struct drm_encoder *encoder) in cdv_intel_dp_encoder_destroy() argument
1918 drm_encoder_cleanup(encoder); in cdv_intel_dp_encoder_destroy()
2002 struct drm_encoder *encoder; in cdv_intel_dp_init() local
2021 encoder = &gma_encoder->base; in cdv_intel_dp_init()
2024 drm_encoder_init(dev, encoder, &cdv_intel_dp_enc_funcs, DRM_MODE_ENCODER_TMDS); in cdv_intel_dp_init()
2035 intel_dp->encoder = gma_encoder; in cdv_intel_dp_init()
2038 drm_encoder_helper_add(encoder, &cdv_intel_dp_helper_funcs); in cdv_intel_dp_init()
2127 cdv_intel_dp_encoder_destroy(encoder); in cdv_intel_dp_init()