Rev 6320 | Rev 6937 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6320 | Rev 6660 | ||
---|---|---|---|
Line 462... | Line 462... | ||
462 | dev_priv->vbt.ddi_port_info[port].dp_boost_level) |
462 | dev_priv->vbt.ddi_port_info[port].dp_boost_level) |
463 | iboost_bit = 1<<31; |
463 | iboost_bit = 1<<31; |
464 | } else if (IS_BROADWELL(dev)) { |
464 | } else if (IS_BROADWELL(dev)) { |
465 | ddi_translations_fdi = bdw_ddi_translations_fdi; |
465 | ddi_translations_fdi = bdw_ddi_translations_fdi; |
466 | ddi_translations_dp = bdw_ddi_translations_dp; |
466 | ddi_translations_dp = bdw_ddi_translations_dp; |
- | 467 | ||
- | 468 | if (dev_priv->edp_low_vswing) { |
|
467 | ddi_translations_edp = bdw_ddi_translations_edp; |
469 | ddi_translations_edp = bdw_ddi_translations_edp; |
468 | ddi_translations_hdmi = bdw_ddi_translations_hdmi; |
- | |
469 | n_edp_entries = ARRAY_SIZE(bdw_ddi_translations_edp); |
470 | n_edp_entries = ARRAY_SIZE(bdw_ddi_translations_edp); |
- | 471 | } else { |
|
- | 472 | ddi_translations_edp = bdw_ddi_translations_dp; |
|
- | 473 | n_edp_entries = ARRAY_SIZE(bdw_ddi_translations_dp); |
|
- | 474 | } |
|
- | 475 | ||
- | 476 | ddi_translations_hdmi = bdw_ddi_translations_hdmi; |
|
- | 477 | ||
470 | n_dp_entries = ARRAY_SIZE(bdw_ddi_translations_dp); |
478 | n_dp_entries = ARRAY_SIZE(bdw_ddi_translations_dp); |
471 | n_hdmi_entries = ARRAY_SIZE(bdw_ddi_translations_hdmi); |
479 | n_hdmi_entries = ARRAY_SIZE(bdw_ddi_translations_hdmi); |
472 | hdmi_default_entry = 7; |
480 | hdmi_default_entry = 7; |
473 | } else if (IS_HASWELL(dev)) { |
481 | } else if (IS_HASWELL(dev)) { |
474 | ddi_translations_fdi = hsw_ddi_translations_fdi; |
482 | ddi_translations_fdi = hsw_ddi_translations_fdi; |
Line 3186... | Line 3194... | ||
3186 | } |
3194 | } |
Line 3187... | Line 3195... | ||
3187 | 3195 | ||
3188 | intel_ddi_clock_get(encoder, pipe_config); |
3196 | intel_ddi_clock_get(encoder, pipe_config); |
Line 3189... | Line -... | ||
3189 | } |
- | |
3190 | - | ||
3191 | static void intel_ddi_destroy(struct drm_encoder *encoder) |
- | |
3192 | { |
- | |
3193 | /* HDMI has nothing special to destroy, so we can go with this. */ |
- | |
3194 | intel_dp_encoder_destroy(encoder); |
- | |
3195 | } |
3197 | } |
3196 | 3198 | ||
3197 | static bool intel_ddi_compute_config(struct intel_encoder *encoder, |
3199 | static bool intel_ddi_compute_config(struct intel_encoder *encoder, |
3198 | struct intel_crtc_state *pipe_config) |
3200 | struct intel_crtc_state *pipe_config) |
3199 | { |
3201 | { |
Line 3210... | Line 3212... | ||
3210 | else |
3212 | else |
3211 | return intel_dp_compute_config(encoder, pipe_config); |
3213 | return intel_dp_compute_config(encoder, pipe_config); |
3212 | } |
3214 | } |
Line 3213... | Line 3215... | ||
3213 | 3215 | ||
- | 3216 | static const struct drm_encoder_funcs intel_ddi_funcs = { |
|
3214 | static const struct drm_encoder_funcs intel_ddi_funcs = { |
3217 | .reset = intel_dp_encoder_reset, |
3215 | .destroy = intel_ddi_destroy, |
3218 | .destroy = intel_dp_encoder_destroy, |
Line 3216... | Line 3219... | ||
3216 | }; |
3219 | }; |
3217 | 3220 | ||
3218 | static struct intel_connector * |
3221 | static struct intel_connector * |
Line 3282... | Line 3285... | ||
3282 | intel_encoder->pre_enable = intel_ddi_pre_enable; |
3285 | intel_encoder->pre_enable = intel_ddi_pre_enable; |
3283 | intel_encoder->disable = intel_disable_ddi; |
3286 | intel_encoder->disable = intel_disable_ddi; |
3284 | intel_encoder->post_disable = intel_ddi_post_disable; |
3287 | intel_encoder->post_disable = intel_ddi_post_disable; |
3285 | intel_encoder->get_hw_state = intel_ddi_get_hw_state; |
3288 | intel_encoder->get_hw_state = intel_ddi_get_hw_state; |
3286 | intel_encoder->get_config = intel_ddi_get_config; |
3289 | intel_encoder->get_config = intel_ddi_get_config; |
- | 3290 | intel_encoder->suspend = intel_dp_encoder_suspend; |
|
Line 3287... | Line 3291... | ||
3287 | 3291 | ||
3288 | intel_dig_port->port = port; |
3292 | intel_dig_port->port = port; |
3289 | intel_dig_port->saved_port_bits = I915_READ(DDI_BUF_CTL(port)) & |
3293 | intel_dig_port->saved_port_bits = I915_READ(DDI_BUF_CTL(port)) & |
3290 | (DDI_BUF_PORT_REVERSAL | |
3294 | (DDI_BUF_PORT_REVERSAL | |