[Intel-gfx] [PATCH] drm/i915/bios: debug log ddi port info after parsing

Ville Syrjälä ville.syrjala at linux.intel.com
Thu Jun 23 19:51:47 UTC 2022


On Thu, Jun 23, 2022 at 08:04:54PM +0300, Jani Nikula wrote:
> On Thu, 23 Jun 2022, Ville Syrjälä <ville.syrjala at linux.intel.com> wrote:
> > On Tue, Jun 21, 2022 at 03:37:32PM +0300, Jani Nikula wrote:
> >> The ddc pin and aux channel sanitization may disable DVI/HDMI and DP,
> >> respectively, of ports parsed earlier, in "last one wins" fashion. With
> >> parsing and printing interleaved, we'll end up logging support first and
> >> disabling later anyway.
> >> 
> >> Now that we've split ddi port info parsing and printing, take it further
> >> by doing the printing in a separate loop, fixing the logging.
> >> 
> >> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> >
> > Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> Just realized this also changes the printing order from VBT child device
> order to port number order. Is that a bug or a feature?

I suppose it doesn't really matter. The only things where the order
really matters are conflicts and we should still get some extra debug
spew for those right?

> 
> BR,
> Jani.
> 
> >
> >> ---
> >>  drivers/gpu/drm/i915/display/intel_bios.c | 8 ++++++--
> >>  1 file changed, 6 insertions(+), 2 deletions(-)
> >> 
> >> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> >> index ab23324c0402..51dde5bfd956 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> >> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> >> @@ -2670,8 +2670,6 @@ static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
> >>  
> >>  	sanitize_device_type(devdata, port);
> >>  
> >> -	print_ddi_port(devdata, port);
> >> -
> >>  	if (intel_bios_encoder_supports_dvi(devdata))
> >>  		sanitize_ddc_pin(devdata, port);
> >>  
> >> @@ -2689,12 +2687,18 @@ static bool has_ddi_port_info(struct drm_i915_private *i915)
> >>  static void parse_ddi_ports(struct drm_i915_private *i915)
> >>  {
> >>  	struct intel_bios_encoder_data *devdata;
> >> +	enum port port;
> >>  
> >>  	if (!has_ddi_port_info(i915))
> >>  		return;
> >>  
> >>  	list_for_each_entry(devdata, &i915->vbt.display_devices, node)
> >>  		parse_ddi_port(devdata);
> >> +
> >> +	for_each_port(port) {
> >> +		if (i915->vbt.ports[port])
> >> +			print_ddi_port(i915->vbt.ports[port], port);
> >> +	}
> >>  }
> >>  
> >>  static void
> >> -- 
> >> 2.30.2
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center

-- 
Ville Syrjälä
Intel


More information about the Intel-gfx mailing list