Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 345135
b: refs/heads/master
c: a7902ac
h: refs/heads/master
i:
  345133: 9dc290f
  345131: 95b7d0d
  345127: e4d0a16
  345119: 2f2e299
v: v3
  • Loading branch information
Paulo Zanoni authored and Daniel Vetter committed Oct 18, 2012
1 parent 7cd65a2 commit 5bf8cfa
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c19b0669925cb00dc1c7b2362bfa85128afba882
refs/heads/master: a7902ac548190654c58e2491ff8646701772caa8
32 changes: 26 additions & 6 deletions trunk/drivers/gpu/drm/i915/intel_dp.c
Original file line number Diff line number Diff line change
Expand Up @@ -2553,6 +2553,12 @@ static const struct drm_encoder_helper_funcs intel_dp_helper_funcs = {
.disable = intel_encoder_noop,
};

static const struct drm_encoder_helper_funcs intel_dp_helper_funcs_hsw = {
.mode_fixup = intel_dp_mode_fixup,
.mode_set = intel_ddi_mode_set,
.disable = intel_encoder_noop,
};

static const struct drm_connector_funcs intel_dp_connector_funcs = {
.dpms = intel_connector_dpms,
.detect = intel_dp_detect,
Expand Down Expand Up @@ -2688,16 +2694,30 @@ intel_dp_init(struct drm_device *dev, int output_reg, enum port port)

drm_encoder_init(dev, &intel_encoder->base, &intel_dp_enc_funcs,
DRM_MODE_ENCODER_TMDS);
drm_encoder_helper_add(&intel_encoder->base, &intel_dp_helper_funcs);

if (IS_HASWELL(dev))
drm_encoder_helper_add(&intel_encoder->base,
&intel_dp_helper_funcs_hsw);
else
drm_encoder_helper_add(&intel_encoder->base,
&intel_dp_helper_funcs);

intel_connector_attach_encoder(intel_connector, intel_encoder);
drm_sysfs_connector_add(connector);

intel_encoder->enable = intel_enable_dp;
intel_encoder->pre_enable = intel_pre_enable_dp;
intel_encoder->disable = intel_disable_dp;
intel_encoder->post_disable = intel_post_disable_dp;
intel_encoder->get_hw_state = intel_dp_get_hw_state;
if (IS_HASWELL(dev)) {
intel_encoder->enable = intel_enable_ddi;
intel_encoder->pre_enable = intel_ddi_pre_enable;
intel_encoder->disable = intel_disable_ddi;
intel_encoder->post_disable = intel_ddi_post_disable;
intel_encoder->get_hw_state = intel_ddi_get_hw_state;
} else {
intel_encoder->enable = intel_enable_dp;
intel_encoder->pre_enable = intel_pre_enable_dp;
intel_encoder->disable = intel_disable_dp;
intel_encoder->post_disable = intel_post_disable_dp;
intel_encoder->get_hw_state = intel_dp_get_hw_state;
}
intel_connector->get_hw_state = intel_connector_get_hw_state;

/* Set up the DDC bus. */
Expand Down

0 comments on commit 5bf8cfa

Please sign in to comment.