[Intel-gfx] [PATCH v8 17/38] drm/i915/icl: Find DSI presence for ICL
Jani Nikula
jani.nikula at intel.com
Thu Nov 1 15:39:11 UTC 2018
On Wed, 31 Oct 2018, Madhav Chauhan <madhav.chauhan at intel.com> wrote:
> On 10/30/2018 5:26 PM, Jani Nikula wrote:
>> From: Madhav Chauhan <madhav.chauhan at intel.com>
>>
>> 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 at intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
>> ---
>> 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
More information about the Intel-gfx
mailing list