Reuse code to wake native aux channel and get the expected lspcon mode. Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@xxxxxxxxx> --- drivers/gpu/drm/i915/display/intel_lspcon.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_lspcon.c b/drivers/gpu/drm/i915/display/intel_lspcon.c index 1d048fa98561..36e8d9fb2bbb 100644 --- a/drivers/gpu/drm/i915/display/intel_lspcon.c +++ b/drivers/gpu/drm/i915/display/intel_lspcon.c @@ -240,6 +240,13 @@ static bool lspcon_wake_native_aux_ch(struct intel_lspcon *lspcon) return true; } +static +enum drm_lspcon_mode lspcon_get_expected_mode(struct intel_lspcon *lspcon) +{ + return lspcon_wake_native_aux_ch(lspcon) ? + DRM_LSPCON_MODE_PCON : DRM_LSPCON_MODE_LS; +} + static bool lspcon_probe(struct intel_lspcon *lspcon) { int retry; @@ -249,9 +256,7 @@ static bool lspcon_probe(struct intel_lspcon *lspcon) struct i2c_adapter *ddc = &intel_dp->aux.ddc; enum drm_lspcon_mode expected_mode; - expected_mode = lspcon_wake_native_aux_ch(lspcon) ? - DRM_LSPCON_MODE_PCON : DRM_LSPCON_MODE_LS; - + expected_mode = lspcon_get_expected_mode(lspcon); /* Lets probe the adaptor and check its type */ for (retry = 0; retry < 6; retry++) { if (retry) @@ -713,12 +718,9 @@ void lspcon_resume(struct intel_digital_port *dig_port) } } - if (lspcon_wake_native_aux_ch(lspcon)) { - expected_mode = DRM_LSPCON_MODE_PCON; + expected_mode = lspcon_get_expected_mode(lspcon); + if (expected_mode == DRM_LSPCON_MODE_PCON) lspcon_resume_in_pcon_wa(lspcon); - } else { - expected_mode = DRM_LSPCON_MODE_LS; - } if (lspcon_wait_mode(lspcon, expected_mode) == DRM_LSPCON_MODE_PCON) return; -- 2.40.1