aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_dp.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp.c')
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c10
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
598static void ironlake_edp_panel_vdd_on(struct intel_dp *intel_dp);
599static void ironlake_edp_panel_vdd_off(struct intel_dp *intel_dp);
600
598static int 601static int
599intel_dp_i2c_init(struct intel_dp *intel_dp, 602intel_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
618static bool 626static bool