On Wed, 31 Oct 2018, Madhav Chauhan <madhav.chauhan@xxxxxxxxx> wrote: > On 10/30/2018 5:26 PM, Jani Nikula wrote: >> From: Madhav Chauhan <madhav.chauhan@xxxxxxxxx> >> >> This patch detects DSI presence for ICL platform >> by reading VBT. DSI detection is done while initializing >> DSI using newly added function intel_gen11_dsi_init. >> >> v2 by Jani: >> - Preserve old behavour of intel_bios_is_dsi_present() >> - s/intel_gen11_dsi_init/icl_dsi_init/g > > Changes looks fine. I'm afraid I felt I needed to squash and reorder the patches a bit. I didn't really do functional changes compared to the remaining patches in this series apart from the power domain change spotted by Imre. BR, Jani. > > Regards, > Madhav > >> >> Signed-off-by: Madhav Chauhan <madhav.chauhan@xxxxxxxxx> >> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> >> --- >> drivers/gpu/drm/i915/icl_dsi.c | 8 ++++++++ >> drivers/gpu/drm/i915/intel_bios.c | 12 ++++++------ >> drivers/gpu/drm/i915/intel_display.c | 1 + >> drivers/gpu/drm/i915/intel_drv.h | 3 +++ >> 4 files changed, 18 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/icl_dsi.c b/drivers/gpu/drm/i915/icl_dsi.c >> index fd82f349ced9..01f422df8c23 100644 >> --- a/drivers/gpu/drm/i915/icl_dsi.c >> +++ b/drivers/gpu/drm/i915/icl_dsi.c >> @@ -971,3 +971,11 @@ static void __attribute__((unused)) gen11_dsi_disable( >> /* step4: disable IO power */ >> gen11_dsi_disable_io_power(encoder); >> } >> + >> +void icl_dsi_init(struct drm_i915_private *dev_priv) >> +{ >> + enum port port; >> + >> + if (!intel_bios_is_dsi_present(dev_priv, &port)) >> + return; >> +} >> diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c >> index 1faa494e2bc9..5fa2133f801d 100644 >> --- a/drivers/gpu/drm/i915/intel_bios.c >> +++ b/drivers/gpu/drm/i915/intel_bios.c >> @@ -2039,17 +2039,17 @@ bool intel_bios_is_dsi_present(struct drm_i915_private *dev_priv, >> >> dvo_port = child->dvo_port; >> >> - switch (dvo_port) { >> - case DVO_PORT_MIPIA: >> - case DVO_PORT_MIPIC: >> + if (dvo_port == DVO_PORT_MIPIA || >> + (dvo_port == DVO_PORT_MIPIB && IS_ICELAKE(dev_priv)) || >> + (dvo_port == DVO_PORT_MIPIC && !IS_ICELAKE(dev_priv))) { >> if (port) >> *port = dvo_port - DVO_PORT_MIPIA; >> return true; >> - case DVO_PORT_MIPIB: >> - case DVO_PORT_MIPID: >> + } else if (dvo_port == DVO_PORT_MIPIB || >> + dvo_port == DVO_PORT_MIPIC || >> + dvo_port == DVO_PORT_MIPID) { >> DRM_DEBUG_KMS("VBT has unsupported DSI port %c\n", >> port_name(dvo_port - DVO_PORT_MIPIA)); >> - break; >> } >> } >> >> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c >> index c3cadc09f859..1d46f06ede37 100644 >> --- a/drivers/gpu/drm/i915/intel_display.c >> +++ b/drivers/gpu/drm/i915/intel_display.c >> @@ -14128,6 +14128,7 @@ static void intel_setup_outputs(struct drm_i915_private *dev_priv) >> intel_ddi_init(dev_priv, PORT_D); >> intel_ddi_init(dev_priv, PORT_E); >> intel_ddi_init(dev_priv, PORT_F); >> + icl_dsi_init(dev_priv); >> } else if (IS_GEN9_LP(dev_priv)) { >> /* >> * FIXME: Broxton doesn't support port detection via the >> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h >> index 268afb6d2746..3081cca1a151 100644 >> --- a/drivers/gpu/drm/i915/intel_drv.h >> +++ b/drivers/gpu/drm/i915/intel_drv.h >> @@ -1854,6 +1854,9 @@ void intel_dp_mst_encoder_cleanup(struct intel_digital_port *intel_dig_port); >> /* vlv_dsi.c */ >> void vlv_dsi_init(struct drm_i915_private *dev_priv); >> >> +/* icl_dsi.c */ >> +void icl_dsi_init(struct drm_i915_private *dev_priv); >> + >> /* intel_dsi_dcs_backlight.c */ >> int intel_dsi_dcs_init_backlight_funcs(struct intel_connector *intel_connector); >> > -- Jani Nikula, Intel Open Source Graphics Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx