All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 2/3] drm/i915/bios: parse dsi devices in parse_ddi_ports()
Date: Thu, 07 Mar 2019 12:18:15 +0200	[thread overview]
Message-ID: <87y35rkmxk.fsf@intel.com> (raw)
In-Reply-To: <20190306175124.GH3888@intel.com>

On Wed, 06 Mar 2019, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Wed, Mar 06, 2019 at 05:34:15PM +0200, Jani Nikula wrote:
>> For the time being this is only for completeness and better debug
>> logging of DSI ports.
>> 
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>>  drivers/gpu/drm/i915/i915_drv.h   |  1 +
>>  drivers/gpu/drm/i915/intel_bios.c | 14 ++++++++------
>>  2 files changed, 9 insertions(+), 6 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>> index eeeb0d9cfdcd..e14563418aad 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -951,6 +951,7 @@ struct ddi_vbt_port_info {
>>  	u8 supports_hdmi:1;
>>  	u8 supports_dp:1;
>>  	u8 supports_edp:1;
>> +	u8 supports_dsi:1;
>>  	u8 supports_typec_usb:1;
>>  	u8 supports_tbt:1;
>>  
>> diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
>> index fc27ffe81c14..9beff569b010 100644
>> --- a/drivers/gpu/drm/i915/intel_bios.c
>> +++ b/drivers/gpu/drm/i915/intel_bios.c
>> @@ -1333,9 +1333,9 @@ static enum port dvo_port_to_port(u8 dvo_port)
>>  	 * so look for all the possible values for each port.
>>  	 */
>>  	static const int dvo_ports[][3] = {
>> -		[PORT_A] = { DVO_PORT_HDMIA, DVO_PORT_DPA, -1},
>> -		[PORT_B] = { DVO_PORT_HDMIB, DVO_PORT_DPB, -1},
>> -		[PORT_C] = { DVO_PORT_HDMIC, DVO_PORT_DPC, -1},
>> +		[PORT_A] = { DVO_PORT_HDMIA, DVO_PORT_DPA, DVO_PORT_MIPIA },
>> +		[PORT_B] = { DVO_PORT_HDMIB, DVO_PORT_DPB, DVO_PORT_MIPIB },
>> +		[PORT_C] = { DVO_PORT_HDMIC, DVO_PORT_DPC, DVO_PORT_MIPIC },
>
> I wonder if this is going to end up badly on CHV...

Yeah. We also have a bunch of these mapping tables, with various
DVO_PORT_* combos. There's a certain appeal to consolidating them.

So I can't but wonder why we have duplicate information with child
device type and child device specific port numbers. Is there a case
where the distinction helps?

BR,
Jani.


>
>>  		[PORT_D] = { DVO_PORT_HDMID, DVO_PORT_DPD, -1},
>>  		[PORT_E] = { DVO_PORT_CRT, DVO_PORT_HDMIE, DVO_PORT_DPE},
>>  		[PORT_F] = { DVO_PORT_HDMIF, DVO_PORT_DPF, -1},
>> @@ -1361,7 +1361,7 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
>>  			   u8 bdb_version)
>>  {
>>  	struct ddi_vbt_port_info *info;
>> -	bool is_dvi, is_hdmi, is_dp, is_edp, is_crt;
>> +	bool is_dvi, is_hdmi, is_dp, is_edp, is_crt, is_dsi;
>>  	enum port port;
>>  
>>  	port = dvo_port_to_port(child->dvo_port);
>> @@ -1383,6 +1383,7 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
>>  	is_crt = child->device_type & DEVICE_TYPE_ANALOG_OUTPUT;
>>  	is_hdmi = is_dvi && (child->device_type & DEVICE_TYPE_NOT_HDMI_OUTPUT) == 0;
>>  	is_edp = is_dp && (child->device_type & DEVICE_TYPE_INTERNAL_CONNECTOR);
>> +	is_dsi = child->device_type & DEVICE_TYPE_MIPI_OUTPUT;
>>  
>>  	if (port == PORT_A && is_dvi) {
>>  		DRM_DEBUG_KMS("VBT claims port A supports DVI%s, ignoring\n",
>> @@ -1395,6 +1396,7 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
>>  	info->supports_hdmi = is_hdmi;
>>  	info->supports_dp = is_dp;
>>  	info->supports_edp = is_edp;
>> +	info->supports_dsi = is_dsi;
>>  
>>  	if (bdb_version >= 195)
>>  		info->supports_typec_usb = child->dp_usb_type_c;
>> @@ -1402,8 +1404,8 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
>>  	if (bdb_version >= 209)
>>  		info->supports_tbt = child->tbt;
>>  
>> -	DRM_DEBUG_KMS("Port %c VBT info: DP:%d HDMI:%d DVI:%d EDP:%d CRT:%d TCUSB:%d TBT:%d\n",
>> -		      port_name(port), is_dp, is_hdmi, is_dvi, is_edp, is_crt,
>> +	DRM_DEBUG_KMS("Port %c VBT info: DP:%d HDMI:%d DVI:%d EDP:%d DSI:%d CRT:%d TCUSB:%d TBT:%d\n",
>> +		      port_name(port), is_dp, is_hdmi, is_dvi, is_edp, is_dsi, is_crt,
>>  		      info->supports_typec_usb, info->supports_tbt);
>>  
>>  	if (is_edp && is_dvi)
>> -- 
>> 2.20.1

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2019-03-07 10:16 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-06 15:34 [PATCH 0/3] drm/i915/bios: ddi port parsing changes Jani Nikula
2019-03-06 15:34 ` [PATCH 1/3] drm/i915/bios: iterate over child devices to initialize ddi_port_info Jani Nikula
2019-03-06 18:55   ` Ville Syrjälä
2019-03-06 15:34 ` [PATCH 2/3] drm/i915/bios: parse dsi devices in parse_ddi_ports() Jani Nikula
2019-03-06 17:51   ` Ville Syrjälä
2019-03-07 10:18     ` Jani Nikula [this message]
2019-03-07 18:31       ` Ville Syrjälä
2019-03-06 15:34 ` [PATCH 3/3] drm/i915/bios: parse ddi ports also on VLV Jani Nikula
2019-03-06 17:53   ` Ville Syrjälä
2019-03-06 16:00 ` ✗ Fi.CI.SPARSE: warning for drm/i915/bios: ddi port parsing changes Patchwork
2019-03-06 17:05 ` ✗ Fi.CI.BAT: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y35rkmxk.fsf@intel.com \
    --to=jani.nikula@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=ville.syrjala@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.