Lines Matching refs:encoder
266 struct gma_encoder *encoder; member
312 static bool is_edp(struct gma_encoder *encoder) in is_edp() argument
314 return encoder->type == INTEL_OUTPUT_EDP; in is_edp()
318 static void cdv_intel_dp_start_link_train(struct gma_encoder *encoder);
319 static void cdv_intel_dp_complete_link_train(struct gma_encoder *encoder);
320 static void cdv_intel_dp_link_down(struct gma_encoder *encoder);
323 cdv_intel_dp_max_lane_count(struct gma_encoder *encoder) in cdv_intel_dp_max_lane_count() argument
325 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_max_lane_count()
341 cdv_intel_dp_max_link_bw(struct gma_encoder *encoder) in cdv_intel_dp_max_link_bw() argument
343 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_max_link_bw()
512 struct gma_encoder *encoder = gma_attached_encoder(connector); in cdv_intel_dp_mode_valid() local
513 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_mode_valid()
514 int max_link_clock = cdv_intel_dp_link_clock(cdv_intel_dp_max_link_bw(encoder)); in cdv_intel_dp_mode_valid()
515 int max_lanes = cdv_intel_dp_max_lane_count(encoder); in cdv_intel_dp_mode_valid()
518 if (is_edp(encoder) && intel_dp->panel_fixed_mode) { in cdv_intel_dp_mode_valid()
527 if (!is_edp(encoder) && in cdv_intel_dp_mode_valid()
532 if (is_edp(encoder)) { in cdv_intel_dp_mode_valid()
568 cdv_intel_dp_aux_ch(struct gma_encoder *encoder, in cdv_intel_dp_aux_ch() argument
572 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_aux_ch()
574 struct drm_device *dev = encoder->base.dev; in cdv_intel_dp_aux_ch()
592 if (is_edp(encoder)) in cdv_intel_dp_aux_ch()
670 cdv_intel_dp_aux_native_write(struct gma_encoder *encoder, in cdv_intel_dp_aux_native_write() argument
687 ret = cdv_intel_dp_aux_ch(encoder, msg, msg_bytes, &ack, 1); in cdv_intel_dp_aux_native_write()
703 cdv_intel_dp_aux_native_write_1(struct gma_encoder *encoder, in cdv_intel_dp_aux_native_write_1() argument
706 return cdv_intel_dp_aux_native_write(encoder, address, &byte, 1); in cdv_intel_dp_aux_native_write_1()
711 cdv_intel_dp_aux_native_read(struct gma_encoder *encoder, in cdv_intel_dp_aux_native_read() argument
730 ret = cdv_intel_dp_aux_ch(encoder, msg, msg_bytes, in cdv_intel_dp_aux_native_read()
756 struct gma_encoder *encoder = intel_dp->encoder; in cdv_intel_dp_i2c_aux_ch() local
796 ret = cdv_intel_dp_aux_ch(encoder, in cdv_intel_dp_i2c_aux_ch()
847 struct gma_encoder *encoder, const char *name) in cdv_intel_dp_i2c_init() argument
849 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_i2c_init()
866 if (is_edp(encoder)) in cdv_intel_dp_i2c_init()
867 cdv_intel_edp_panel_vdd_on(encoder); in cdv_intel_dp_i2c_init()
869 if (is_edp(encoder)) in cdv_intel_dp_i2c_init()
870 cdv_intel_edp_panel_vdd_off(encoder); in cdv_intel_dp_i2c_init()
894 cdv_intel_dp_mode_fixup(struct drm_encoder *encoder, const struct drm_display_mode *mode, in cdv_intel_dp_mode_fixup() argument
897 struct drm_psb_private *dev_priv = encoder->dev->dev_private; in cdv_intel_dp_mode_fixup()
898 struct gma_encoder *intel_encoder = to_gma_encoder(encoder); in cdv_intel_dp_mode_fixup()
991 struct drm_encoder *encoder; in cdv_intel_dp_set_m_n() local
1000 list_for_each_entry(encoder, &mode_config->encoder_list, head) { in cdv_intel_dp_set_m_n()
1004 if (encoder->crtc != crtc) in cdv_intel_dp_set_m_n()
1007 intel_encoder = to_gma_encoder(encoder); in cdv_intel_dp_set_m_n()
1038 cdv_intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, in cdv_intel_dp_mode_set() argument
1041 struct gma_encoder *intel_encoder = to_gma_encoder(encoder); in cdv_intel_dp_mode_set()
1042 struct drm_crtc *crtc = encoder->crtc; in cdv_intel_dp_mode_set()
1045 struct drm_device *dev = encoder->dev; in cdv_intel_dp_mode_set()
1108 static void cdv_intel_dp_sink_dpms(struct gma_encoder *encoder, int mode) in cdv_intel_dp_sink_dpms() argument
1110 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_sink_dpms()
1118 ret = cdv_intel_dp_aux_native_write_1(encoder, DP_SET_POWER, in cdv_intel_dp_sink_dpms()
1128 ret = cdv_intel_dp_aux_native_write_1(encoder, in cdv_intel_dp_sink_dpms()
1138 static void cdv_intel_dp_prepare(struct drm_encoder *encoder) in cdv_intel_dp_prepare() argument
1140 struct gma_encoder *intel_encoder = to_gma_encoder(encoder); in cdv_intel_dp_prepare()
1155 static void cdv_intel_dp_commit(struct drm_encoder *encoder) in cdv_intel_dp_commit() argument
1157 struct gma_encoder *intel_encoder = to_gma_encoder(encoder); in cdv_intel_dp_commit()
1169 cdv_intel_dp_dpms(struct drm_encoder *encoder, int mode) in cdv_intel_dp_dpms() argument
1171 struct gma_encoder *intel_encoder = to_gma_encoder(encoder); in cdv_intel_dp_dpms()
1173 struct drm_device *dev = encoder->dev; in cdv_intel_dp_dpms()
1206 cdv_intel_dp_aux_native_read_retry(struct gma_encoder *encoder, uint16_t address, in cdv_intel_dp_aux_native_read_retry() argument
1216 ret = cdv_intel_dp_aux_native_read(encoder, address, recv, in cdv_intel_dp_aux_native_read_retry()
1231 cdv_intel_dp_get_link_status(struct gma_encoder *encoder) in cdv_intel_dp_get_link_status() argument
1233 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_get_link_status()
1234 return cdv_intel_dp_aux_native_read_retry(encoder, in cdv_intel_dp_get_link_status()
1305 cdv_intel_get_adjust_train(struct gma_encoder *encoder) in cdv_intel_get_adjust_train() argument
1307 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_get_adjust_train()
1364 cdv_intel_channel_eq_ok(struct gma_encoder *encoder) in cdv_intel_channel_eq_ok() argument
1366 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_channel_eq_ok()
1384 cdv_intel_dp_set_link_train(struct gma_encoder *encoder, in cdv_intel_dp_set_link_train() argument
1389 struct drm_device *dev = encoder->base.dev; in cdv_intel_dp_set_link_train()
1391 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_set_link_train()
1396 ret = cdv_intel_dp_aux_native_write_1(encoder, in cdv_intel_dp_set_link_train()
1411 cdv_intel_dplink_set_level(struct gma_encoder *encoder, in cdv_intel_dplink_set_level() argument
1416 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dplink_set_level()
1418 ret = cdv_intel_dp_aux_native_write(encoder, in cdv_intel_dplink_set_level()
1432 cdv_intel_dp_set_vswing_premph(struct gma_encoder *encoder, uint8_t signal_level) in cdv_intel_dp_set_vswing_premph() argument
1434 struct drm_device *dev = encoder->base.dev; in cdv_intel_dp_set_vswing_premph()
1435 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_set_vswing_premph()
1498 cdv_intel_dp_start_link_train(struct gma_encoder *encoder) in cdv_intel_dp_start_link_train() argument
1500 struct drm_device *dev = encoder->base.dev; in cdv_intel_dp_start_link_train()
1501 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_start_link_train()
1521 cdv_intel_dp_aux_native_write(encoder, DP_LINK_BW_SET, in cdv_intel_dp_start_link_train()
1541 if (!cdv_intel_dp_set_link_train(encoder, reg, DP_TRAINING_PATTERN_1)) { in cdv_intel_dp_start_link_train()
1544 cdv_intel_dp_set_vswing_premph(encoder, intel_dp->train_set[0]); in cdv_intel_dp_start_link_train()
1547 cdv_intel_dplink_set_level(encoder, DP_TRAINING_PATTERN_1); in cdv_intel_dp_start_link_train()
1550 if (!cdv_intel_dp_get_link_status(encoder)) in cdv_intel_dp_start_link_train()
1580 cdv_intel_get_adjust_train(encoder); in cdv_intel_dp_start_link_train()
1592 cdv_intel_dp_complete_link_train(struct gma_encoder *encoder) in cdv_intel_dp_complete_link_train() argument
1594 struct drm_device *dev = encoder->base.dev; in cdv_intel_dp_complete_link_train()
1595 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_complete_link_train()
1617 if (!cdv_intel_dp_set_link_train(encoder, reg, in cdv_intel_dp_complete_link_train()
1625 cdv_intel_dp_link_down(encoder); in cdv_intel_dp_complete_link_train()
1629 cdv_intel_dp_set_vswing_premph(encoder, intel_dp->train_set[0]); in cdv_intel_dp_complete_link_train()
1631 cdv_intel_dplink_set_level(encoder, DP_TRAINING_PATTERN_2); in cdv_intel_dp_complete_link_train()
1634 if (!cdv_intel_dp_get_link_status(encoder)) in cdv_intel_dp_complete_link_train()
1643 cdv_intel_dp_start_link_train(encoder); in cdv_intel_dp_complete_link_train()
1648 if (cdv_intel_channel_eq_ok(encoder)) { in cdv_intel_dp_complete_link_train()
1656 cdv_intel_dp_link_down(encoder); in cdv_intel_dp_complete_link_train()
1657 cdv_intel_dp_start_link_train(encoder); in cdv_intel_dp_complete_link_train()
1664 cdv_intel_get_adjust_train(encoder); in cdv_intel_dp_complete_link_train()
1673 cdv_intel_dp_aux_native_write_1(encoder, in cdv_intel_dp_complete_link_train()
1678 cdv_intel_dp_link_down(struct gma_encoder *encoder) in cdv_intel_dp_link_down() argument
1680 struct drm_device *dev = encoder->base.dev; in cdv_intel_dp_link_down()
1681 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_link_down()
1702 static enum drm_connector_status cdv_dp_detect(struct gma_encoder *encoder) in cdv_dp_detect() argument
1704 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_dp_detect()
1708 if (cdv_intel_dp_aux_native_read(encoder, 0x000, intel_dp->dpcd, in cdv_dp_detect()
1730 struct gma_encoder *encoder = gma_attached_encoder(connector); in cdv_intel_dp_detect() local
1731 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_detect()
1734 int edp = is_edp(encoder); in cdv_intel_dp_detect()
1739 cdv_intel_edp_panel_vdd_on(encoder); in cdv_intel_dp_detect()
1740 status = cdv_dp_detect(encoder); in cdv_intel_dp_detect()
1743 cdv_intel_edp_panel_vdd_off(encoder); in cdv_intel_dp_detect()
1757 cdv_intel_edp_panel_vdd_off(encoder); in cdv_intel_dp_detect()
1820 struct gma_encoder *encoder = gma_attached_encoder(connector); in cdv_intel_dp_detect_audio() local
1821 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_detect_audio()
1824 int edp = is_edp(encoder); in cdv_intel_dp_detect_audio()
1827 cdv_intel_edp_panel_vdd_on(encoder); in cdv_intel_dp_detect_audio()
1835 cdv_intel_edp_panel_vdd_off(encoder); in cdv_intel_dp_detect_audio()
1846 struct gma_encoder *encoder = gma_attached_encoder(connector); in cdv_intel_dp_set_property() local
1847 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_set_property()
1886 if (encoder->base.crtc) { in cdv_intel_dp_set_property()
1887 struct drm_crtc *crtc = encoder->base.crtc; in cdv_intel_dp_set_property()
1915 static void cdv_intel_dp_encoder_destroy(struct drm_encoder *encoder) in cdv_intel_dp_encoder_destroy() argument
1917 drm_encoder_cleanup(encoder); in cdv_intel_dp_encoder_destroy()
2001 struct drm_encoder *encoder; in cdv_intel_dp_init() local
2020 encoder = &gma_encoder->base; in cdv_intel_dp_init()
2023 drm_encoder_init(dev, encoder, &cdv_intel_dp_enc_funcs, 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()