Skip to content

Commit

Permalink
drm/i915/edp: get the panel delay before powering up
Browse files Browse the repository at this point in the history
In order to setup the i2c channel, we power up the panel
via ironlake_edp_panel_vdd_on, however it requires
intel_dp->panel_power_up_delay to be initialised,
which hasn't been setup yet.

So move things around so we set the panel power up
values first then init the i2c stuff.

This is one step to fixing the eDP panel in the MBP
from uninitialised state.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
  • Loading branch information
Dave Airlie authored and Daniel Vetter committed Sep 3, 2012
1 parent 4cbe5a5 commit c1f0526
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions drivers/gpu/drm/i915/intel_dp.c
Original file line number Diff line number Diff line change
Expand Up @@ -2533,14 +2533,10 @@ intel_dp_init(struct drm_device *dev, int output_reg)
break;
}

intel_dp_i2c_init(intel_dp, intel_connector, name);

/* Cache some DPCD data in the eDP case */
if (is_edp(intel_dp)) {
bool ret;
struct edp_power_seq cur, vbt;
u32 pp_on, pp_off, pp_div;
struct edid *edid;

pp_on = I915_READ(PCH_PP_ON_DELAYS);
pp_off = I915_READ(PCH_PP_OFF_DELAYS);
Expand Down Expand Up @@ -2591,6 +2587,13 @@ intel_dp_init(struct drm_device *dev, int output_reg)

DRM_DEBUG_KMS("backlight on delay %d, off delay %d\n",
intel_dp->backlight_on_delay, intel_dp->backlight_off_delay);
}

intel_dp_i2c_init(intel_dp, intel_connector, name);

if (is_edp(intel_dp)) {
bool ret;
struct edid *edid;

ironlake_edp_panel_vdd_on(intel_dp);
ret = intel_dp_get_dpcd(intel_dp);
Expand Down

0 comments on commit c1f0526

Please sign in to comment.