diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 320c37963745..2b4acfda21cc 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c | |||
@@ -595,10 +595,15 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode, | |||
595 | return -EREMOTEIO; | 595 | return -EREMOTEIO; |
596 | } | 596 | } |
597 | 597 | ||
598 | static void ironlake_edp_panel_vdd_on(struct intel_dp *intel_dp); | ||
599 | static void ironlake_edp_panel_vdd_off(struct intel_dp *intel_dp); | ||
600 | |||
598 | static int | 601 | static int |
599 | intel_dp_i2c_init(struct intel_dp *intel_dp, | 602 | intel_dp_i2c_init(struct intel_dp *intel_dp, |
600 | struct intel_connector *intel_connector, const char *name) | 603 | struct intel_connector *intel_connector, const char *name) |
601 | { | 604 | { |
605 | int ret; | ||
606 | |||
602 | DRM_DEBUG_KMS("i2c_init %s\n", name); | 607 | DRM_DEBUG_KMS("i2c_init %s\n", name); |
603 | intel_dp->algo.running = false; | 608 | intel_dp->algo.running = false; |
604 | intel_dp->algo.address = 0; | 609 | intel_dp->algo.address = 0; |
@@ -612,7 +617,10 @@ intel_dp_i2c_init(struct intel_dp *intel_dp, | |||
612 | intel_dp->adapter.algo_data = &intel_dp->algo; | 617 | intel_dp->adapter.algo_data = &intel_dp->algo; |
613 | intel_dp->adapter.dev.parent = &intel_connector->base.kdev; | 618 | intel_dp->adapter.dev.parent = &intel_connector->base.kdev; |
614 | 619 | ||
615 | return i2c_dp_aux_add_bus(&intel_dp->adapter); | 620 | ironlake_edp_panel_vdd_on(intel_dp); |
621 | ret = i2c_dp_aux_add_bus(&intel_dp->adapter); | ||
622 | ironlake_edp_panel_vdd_off(intel_dp); | ||
623 | return ret; | ||
616 | } | 624 | } |
617 | 625 | ||
618 | static bool | 626 | static bool |