All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Jani Nikula <jani.nikula@intel.com>
Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH v2 16/16] drm/edid: convert to device specific logging
Date: Mon, 24 Oct 2022 19:02:32 +0300	[thread overview]
Message-ID: <Y1a3GJpcxtCHZisu@intel.com> (raw)
In-Reply-To: <e48346bfe09a632d5a5faa55e3c161b196cf21e8.1666614699.git.jani.nikula@intel.com>

On Mon, Oct 24, 2022 at 03:33:44PM +0300, Jani Nikula wrote:
> Convert to drm_kms_dbg/drm_err where possible, and reference the
> connector using [CONNECTOR:%d:%s]. Pass connectors around a bit more to
> enable this. Where this is not possible, unify the rest of the debugs to
> DRM_DEBUG_KMS.
> 
> Rewrite tile debug logging to one line while at it.
> 
> v2:
> - Use [CONNECTOR:%d:%s] throughout (Ville)
> - Tile debug logging revamp
> - Pass connector around a bit more
> 
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  drivers/gpu/drm/drm_edid.c | 137 +++++++++++++++++++++----------------
>  1 file changed, 77 insertions(+), 60 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 3be98ac2e711..b2d61c05f559 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -1979,7 +1979,7 @@ bool drm_edid_block_valid(u8 *_block, int block_num, bool print_bad_edid,
>  
>  	status = edid_block_check(block, is_base_block);
>  	if (status == EDID_BLOCK_HEADER_REPAIR) {
> -		DRM_DEBUG("Fixing EDID header, your hardware may be failing\n");
> +		DRM_DEBUG_KMS("Fixing EDID header, your hardware may be failing\n");
>  		edid_header_fix(block);
>  
>  		/* Retry with fixed header, update status if that worked. */
> @@ -2301,8 +2301,9 @@ int drm_edid_override_connector_update(struct drm_connector *connector)
>  
>  		drm_edid_free(override);
>  
> -		DRM_DEBUG_KMS("[CONNECTOR:%d:%s] adding %d modes via fallback override/firmware EDID\n",
> -			      connector->base.id, connector->name, num_modes);
> +		drm_dbg_kms(connector->dev,
> +			    "[CONNECTOR:%d:%s] adding %d modes via fallback override/firmware EDID\n",
> +			    connector->base.id, connector->name, num_modes);
>  	}
>  
>  	return num_modes;
> @@ -3388,11 +3389,12 @@ drm_mode_do_interlace_quirk(struct drm_display_mode *mode,
>   * timing block contains enough info for us to create and return a new struct
>   * drm_display_mode.
>   */
> -static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev,
> +static struct drm_display_mode *drm_mode_detailed(struct drm_connector *connector,
>  						  const struct drm_edid *drm_edid,
>  						  const struct detailed_timing *timing,
>  						  u32 quirks)
>  {
> +	struct drm_device *dev = connector->dev;
>  	struct drm_display_mode *mode;
>  	const struct detailed_pixel_timing *pt = &timing->data.pixel_data;
>  	unsigned hactive = (pt->hactive_hblank_hi & 0xf0) << 4 | pt->hactive_lo;
> @@ -3409,17 +3411,19 @@ static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev,
>  		return NULL;
>  
>  	if (pt->misc & DRM_EDID_PT_STEREO) {
> -		DRM_DEBUG_KMS("stereo mode not supported\n");
> +		drm_dbg_kms(dev, "[CONNECTOR:%d:%s] Stereo mode not supported\n",
> +			    connector->base.id, connector->name);
>  		return NULL;
>  	}
>  	if (!(pt->misc & DRM_EDID_PT_SEPARATE_SYNC)) {
> -		DRM_DEBUG_KMS("composite sync not supported\n");
> +		drm_dbg_kms(dev, "[CONNECTOR:%d:%s] Composite sync not supported\n",
> +			    connector->base.id, connector->name);
>  	}
>  
>  	/* it is incorrect if hsync/vsync width is zero */
>  	if (!hsync_pulse_width || !vsync_pulse_width) {
> -		DRM_DEBUG_KMS("Incorrect Detailed timing. "
> -				"Wrong Hsync/Vsync pulse width\n");
> +		drm_dbg_kms(dev, "[CONNECTOR:%d:%s] Incorrect Detailed timing. Wrong Hsync/Vsync pulse width\n",
> +			    connector->base.id, connector->name);
>  		return NULL;
>  	}
>  
> @@ -3976,7 +3980,8 @@ add_cvt_modes(struct drm_connector *connector, const struct drm_edid *drm_edid)
>  	return closure.modes;
>  }
>  
> -static void fixup_detailed_cea_mode_clock(struct drm_display_mode *mode);
> +static void fixup_detailed_cea_mode_clock(struct drm_connector *connector,
> +					  struct drm_display_mode *mode);
>  
>  static void
>  do_detailed_mode(const struct detailed_timing *timing, void *c)
> @@ -3987,7 +3992,7 @@ do_detailed_mode(const struct detailed_timing *timing, void *c)
>  	if (!is_detailed_timing_descriptor(timing))
>  		return;
>  
> -	newmode = drm_mode_detailed(closure->connector->dev,
> +	newmode = drm_mode_detailed(closure->connector,
>  				    closure->drm_edid, timing,
>  				    closure->quirks);
>  	if (!newmode)
> @@ -4001,7 +4006,7 @@ do_detailed_mode(const struct detailed_timing *timing, void *c)
>  	 * so fix up anything that looks like CEA/HDMI mode, but the clock
>  	 * is just slightly off.
>  	 */
> -	fixup_detailed_cea_mode_clock(newmode);
> +	fixup_detailed_cea_mode_clock(closure->connector, newmode);
>  
>  	drm_mode_probed_add(closure->connector, newmode);
>  	closure->modes++;
> @@ -4663,7 +4668,8 @@ static int add_hdmi_mode(struct drm_connector *connector, u8 vic)
>  	struct drm_display_mode *newmode;
>  
>  	if (!drm_valid_hdmi_vic(vic)) {
> -		DRM_ERROR("Unknown HDMI VIC: %d\n", vic);
> +		drm_err(connector->dev, "[CONNECTOR:%d:%s] Unknown HDMI VIC: %d\n",
> +			connector->base.id, connector->name, vic);
>  		return 0;
>  	}
>  
> @@ -5270,7 +5276,8 @@ static int add_cea_modes(struct drm_connector *connector,
>  	return modes;
>  }
>  
> -static void fixup_detailed_cea_mode_clock(struct drm_display_mode *mode)
> +static void fixup_detailed_cea_mode_clock(struct drm_connector *connector,
> +					  struct drm_display_mode *mode)
>  {
>  	const struct drm_display_mode *cea_mode;
>  	int clock1, clock2, clock;
> @@ -5308,8 +5315,10 @@ static void fixup_detailed_cea_mode_clock(struct drm_display_mode *mode)
>  	if (mode->clock == clock)
>  		return;
>  
> -	DRM_DEBUG("detailed mode matches %s VIC %d, adjusting clock %d -> %d\n",
> -		  type, vic, mode->clock, clock);
> +	drm_dbg_kms(connector->dev,
> +		    "[CONNECTOR:%d:%s] detailed mode matches %s VIC %d, adjusting clock %d -> %d\n",
> +		    connector->base.id, connector->name,
> +		    type, vic, mode->clock, clock);
>  	mode->clock = clock;
>  }
>  
> @@ -5417,15 +5426,12 @@ drm_parse_hdmi_vsdb_audio(struct drm_connector *connector, const u8 *db)
>  	if (len >= 12)
>  		connector->audio_latency[1] = db[12];
>  
> -	DRM_DEBUG_KMS("HDMI: latency present %d %d, "
> -		      "video latency %d %d, "
> -		      "audio latency %d %d\n",
> -		      connector->latency_present[0],
> -		      connector->latency_present[1],
> -		      connector->video_latency[0],
> -		      connector->video_latency[1],
> -		      connector->audio_latency[0],
> -		      connector->audio_latency[1]);
> +	drm_dbg_kms(connector->dev,
> +		    "[CONNECTOR:%d:%s] HDMI: latency present %d %d, video latency %d %d, audio latency %d %d\n",
> +		    connector->base.id, connector->name,
> +		    connector->latency_present[0], connector->latency_present[1],
> +		    connector->video_latency[0], connector->video_latency[1],
> +		    connector->audio_latency[0], connector->audio_latency[1]);
>  }
>  
>  static void
> @@ -5523,7 +5529,9 @@ static void drm_edid_to_eld(struct drm_connector *connector,
>  		return;
>  
>  	mnl = get_monitor_name(drm_edid, &eld[DRM_ELD_MONITOR_NAME_STRING]);
> -	DRM_DEBUG_KMS("ELD monitor %s\n", &eld[DRM_ELD_MONITOR_NAME_STRING]);
> +	drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] ELD monitor %s\n",
> +		    connector->base.id, connector->name,
> +		    &eld[DRM_ELD_MONITOR_NAME_STRING]);
>  
>  	eld[DRM_ELD_CEA_EDID_VER_MNL] = info->cea_rev << DRM_ELD_CEA_EDID_VER_SHIFT;
>  	eld[DRM_ELD_CEA_EDID_VER_MNL] |= mnl;
> @@ -5577,8 +5585,9 @@ static void drm_edid_to_eld(struct drm_connector *connector,
>  	eld[DRM_ELD_BASELINE_ELD_LEN] =
>  		DIV_ROUND_UP(drm_eld_calc_baseline_block_size(eld), 4);
>  
> -	DRM_DEBUG_KMS("ELD size %d, SAD count %d\n",
> -		      drm_eld_size(eld), total_sad_count);
> +	drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] ELD size %d, SAD count %d\n",
> +		    connector->base.id, connector->name,
> +		    drm_eld_size(eld), total_sad_count);
>  }
>  
>  static int _drm_edid_to_sad(const struct drm_edid *drm_edid,
> @@ -5849,7 +5858,8 @@ static void drm_parse_vcdb(struct drm_connector *connector, const u8 *db)
>  {
>  	struct drm_display_info *info = &connector->display_info;
>  
> -	DRM_DEBUG_KMS("CEA VCDB 0x%02x\n", db[2]);
> +	drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] CEA VCDB 0x%02x\n",
> +		    connector->base.id, connector->name, db[2]);
>  
>  	if (db[2] & EDID_CEA_VCDB_QS)
>  		info->rgb_quant_range_selectable = true;
> @@ -6052,39 +6062,39 @@ static void drm_parse_hdmi_deep_color_info(struct drm_connector *connector,
>  	if (hdmi[6] & DRM_EDID_HDMI_DC_30) {
>  		dc_bpc = 10;
>  		info->edid_hdmi_rgb444_dc_modes |= DRM_EDID_HDMI_DC_30;
> -		DRM_DEBUG("%s: HDMI sink does deep color 30.\n",
> -			  connector->name);
> +		drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] HDMI sink does deep color 30.\n",
> +			    connector->base.id, connector->name);
>  	}
>  
>  	if (hdmi[6] & DRM_EDID_HDMI_DC_36) {
>  		dc_bpc = 12;
>  		info->edid_hdmi_rgb444_dc_modes |= DRM_EDID_HDMI_DC_36;
> -		DRM_DEBUG("%s: HDMI sink does deep color 36.\n",
> -			  connector->name);
> +		drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] HDMI sink does deep color 36.\n",
> +			    connector->base.id, connector->name);
>  	}
>  
>  	if (hdmi[6] & DRM_EDID_HDMI_DC_48) {
>  		dc_bpc = 16;
>  		info->edid_hdmi_rgb444_dc_modes |= DRM_EDID_HDMI_DC_48;
> -		DRM_DEBUG("%s: HDMI sink does deep color 48.\n",
> -			  connector->name);
> +		drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] HDMI sink does deep color 48.\n",
> +			    connector->base.id, connector->name);
>  	}
>  
>  	if (dc_bpc == 0) {
> -		DRM_DEBUG("%s: No deep color support on this HDMI sink.\n",
> -			  connector->name);
> +		drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] No deep color support on this HDMI sink.\n",
> +			    connector->base.id, connector->name);
>  		return;
>  	}
>  
> -	DRM_DEBUG("%s: Assigning HDMI sink color depth as %d bpc.\n",
> -		  connector->name, dc_bpc);
> +	drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] Assigning HDMI sink color depth as %d bpc.\n",
> +		    connector->base.id, connector->name, dc_bpc);
>  	info->bpc = dc_bpc;
>  
>  	/* YCRCB444 is optional according to spec. */
>  	if (hdmi[6] & DRM_EDID_HDMI_DC_Y444) {
>  		info->edid_hdmi_ycbcr444_dc_modes = info->edid_hdmi_rgb444_dc_modes;
> -		DRM_DEBUG("%s: HDMI sink does YCRCB444 in deep color.\n",
> -			  connector->name);
> +		drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] HDMI sink does YCRCB444 in deep color.\n",
> +			    connector->base.id, connector->name);
>  	}
>  
>  	/*
> @@ -6092,8 +6102,8 @@ static void drm_parse_hdmi_deep_color_info(struct drm_connector *connector,
>  	 * then deep color 36 bit must be supported.
>  	 */
>  	if (!(hdmi[6] & DRM_EDID_HDMI_DC_36)) {
> -		DRM_DEBUG("%s: HDMI sink should do DC_36, but does not!\n",
> -			  connector->name);
> +		drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] HDMI sink should do DC_36, but does not!\n",
> +			    connector->base.id, connector->name);
>  	}
>  }
>  
> @@ -6110,10 +6120,9 @@ drm_parse_hdmi_vsdb_video(struct drm_connector *connector, const u8 *db)
>  	if (len >= 7)
>  		info->max_tmds_clock = db[7] * 5000;
>  
> -	DRM_DEBUG_KMS("HDMI: DVI dual %d, "
> -		      "max TMDS clock %d kHz\n",
> -		      info->dvi_dual,
> -		      info->max_tmds_clock);
> +	drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] HDMI: DVI dual %d, max TMDS clock %d kHz\n",
> +		    connector->base.id, connector->name,
> +		    info->dvi_dual, info->max_tmds_clock);
>  
>  	drm_parse_hdmi_deep_color_info(connector, db);
>  }
> @@ -6156,8 +6165,10 @@ static void drm_parse_cea_ext(struct drm_connector *connector,
>  			info->cea_rev = edid_ext[1];
>  
>  		if (info->cea_rev != edid_ext[1])
> -			DRM_DEBUG_KMS("CEA extension version mismatch %u != %u\n",
> -				      info->cea_rev, edid_ext[1]);
> +			drm_dbg_kms(connector->dev,
> +				    "[CONNECTOR:%d:%s] CEA extension version mismatch %u != %u\n",
> +				    connector->base.id, connector->name,
> +				    info->cea_rev, edid_ext[1]);
>  
>  		/* The existence of a CTA extension should imply RGB support */
>  		info->color_formats = DRM_COLOR_FORMAT_RGB444;
> @@ -6243,9 +6254,10 @@ static void drm_get_monitor_range(struct drm_connector *connector,
>  
>  	drm_for_each_detailed_block(drm_edid, get_monitor_range, &closure);
>  
> -	DRM_DEBUG_KMS("Supported Monitor Refresh rate range is %d Hz - %d Hz\n",
> -		      info->monitor_range.min_vfreq,
> -		      info->monitor_range.max_vfreq);
> +	drm_dbg_kms(connector->dev,
> +		    "[CONNECTOR:%d:%s] Supported Monitor Refresh rate range is %d Hz - %d Hz\n",
> +		    connector->base.id, connector->name,
> +		    info->monitor_range.min_vfreq, info->monitor_range.max_vfreq);
>  }
>  
>  static void drm_parse_vesa_mso_data(struct drm_connector *connector,
> @@ -6387,8 +6399,9 @@ static u32 update_display_info(struct drm_connector *connector,
>  	if (info->bpc == 0 && edid->revision == 3 &&
>  	    edid->input & DRM_EDID_DIGITAL_DFP_1_X) {
>  		info->bpc = 8;
> -		DRM_DEBUG("%s: Assigning DFP sink color depth as %d bpc.\n",
> -			  connector->name, info->bpc);
> +		drm_dbg_kms(connector->dev,
> +			    "[CONNECTOR:%d:%s] Assigning DFP sink color depth as %d bpc.\n",
> +			    connector->base.id, connector->name, info->bpc);
>  	}
>  
>  	/* Only defined for 1.4 with digital displays */
> @@ -6420,8 +6433,9 @@ static u32 update_display_info(struct drm_connector *connector,
>  		break;
>  	}
>  
> -	DRM_DEBUG("%s: Assigning EDID-1.4 digital sink color depth as %d bpc.\n",
> -			  connector->name, info->bpc);
> +	drm_dbg_kms(connector->dev,
> +		    "[CONNECTOR:%d:%s] Assigning EDID-1.4 digital sink color depth as %d bpc.\n",
> +		    connector->base.id, connector->name, info->bpc);
>  
>  	if (edid->features & DRM_EDID_FEATURE_RGB_YCRCB444)
>  		info->color_formats |= DRM_COLOR_FORMAT_YCBCR444;
> @@ -7121,11 +7135,14 @@ static void drm_parse_tiled_block(struct drm_connector *connector,
>  	connector->tile_h_size = w + 1;
>  	connector->tile_v_size = h + 1;
>  
> -	DRM_DEBUG_KMS("tile cap 0x%x\n", tile->tile_cap);
> -	DRM_DEBUG_KMS("tile_size %d x %d\n", w + 1, h + 1);
> -	DRM_DEBUG_KMS("topo num tiles %dx%d, location %dx%d\n",
> -		      num_h_tile + 1, num_v_tile + 1, tile_h_loc, tile_v_loc);
> -	DRM_DEBUG_KMS("vend %c%c%c\n", tile->topology_id[0], tile->topology_id[1], tile->topology_id[2]);
> +	drm_dbg_kms(connector->dev,
> +		    "[CONNECTOR:%d:%s] tile cap 0x%x, size %dx%d, num tiles %dx%d, location %dx%d, vend %c%c%c",
> +		    connector->base.id, connector->name,
> +		    tile->tile_cap,
> +		    connector->tile_h_size, connector->tile_v_size,
> +		    connector->num_h_tile, connector->num_v_tile,
> +		    connector->tile_h_loc, connector->tile_v_loc,
> +		    tile->topology_id[0], tile->topology_id[1], tile->topology_id[2]);
>  
>  	tg = drm_mode_get_tile_group(connector->dev, tile->topology_id);
>  	if (!tg)
> -- 
> 2.34.1

-- 
Ville Syrjälä
Intel

WARNING: multiple messages have this Message-ID (diff)
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Jani Nikula <jani.nikula@intel.com>
Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v2 16/16] drm/edid: convert to device specific logging
Date: Mon, 24 Oct 2022 19:02:32 +0300	[thread overview]
Message-ID: <Y1a3GJpcxtCHZisu@intel.com> (raw)
In-Reply-To: <e48346bfe09a632d5a5faa55e3c161b196cf21e8.1666614699.git.jani.nikula@intel.com>

On Mon, Oct 24, 2022 at 03:33:44PM +0300, Jani Nikula wrote:
> Convert to drm_kms_dbg/drm_err where possible, and reference the
> connector using [CONNECTOR:%d:%s]. Pass connectors around a bit more to
> enable this. Where this is not possible, unify the rest of the debugs to
> DRM_DEBUG_KMS.
> 
> Rewrite tile debug logging to one line while at it.
> 
> v2:
> - Use [CONNECTOR:%d:%s] throughout (Ville)
> - Tile debug logging revamp
> - Pass connector around a bit more
> 
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  drivers/gpu/drm/drm_edid.c | 137 +++++++++++++++++++++----------------
>  1 file changed, 77 insertions(+), 60 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 3be98ac2e711..b2d61c05f559 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -1979,7 +1979,7 @@ bool drm_edid_block_valid(u8 *_block, int block_num, bool print_bad_edid,
>  
>  	status = edid_block_check(block, is_base_block);
>  	if (status == EDID_BLOCK_HEADER_REPAIR) {
> -		DRM_DEBUG("Fixing EDID header, your hardware may be failing\n");
> +		DRM_DEBUG_KMS("Fixing EDID header, your hardware may be failing\n");
>  		edid_header_fix(block);
>  
>  		/* Retry with fixed header, update status if that worked. */
> @@ -2301,8 +2301,9 @@ int drm_edid_override_connector_update(struct drm_connector *connector)
>  
>  		drm_edid_free(override);
>  
> -		DRM_DEBUG_KMS("[CONNECTOR:%d:%s] adding %d modes via fallback override/firmware EDID\n",
> -			      connector->base.id, connector->name, num_modes);
> +		drm_dbg_kms(connector->dev,
> +			    "[CONNECTOR:%d:%s] adding %d modes via fallback override/firmware EDID\n",
> +			    connector->base.id, connector->name, num_modes);
>  	}
>  
>  	return num_modes;
> @@ -3388,11 +3389,12 @@ drm_mode_do_interlace_quirk(struct drm_display_mode *mode,
>   * timing block contains enough info for us to create and return a new struct
>   * drm_display_mode.
>   */
> -static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev,
> +static struct drm_display_mode *drm_mode_detailed(struct drm_connector *connector,
>  						  const struct drm_edid *drm_edid,
>  						  const struct detailed_timing *timing,
>  						  u32 quirks)
>  {
> +	struct drm_device *dev = connector->dev;
>  	struct drm_display_mode *mode;
>  	const struct detailed_pixel_timing *pt = &timing->data.pixel_data;
>  	unsigned hactive = (pt->hactive_hblank_hi & 0xf0) << 4 | pt->hactive_lo;
> @@ -3409,17 +3411,19 @@ static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev,
>  		return NULL;
>  
>  	if (pt->misc & DRM_EDID_PT_STEREO) {
> -		DRM_DEBUG_KMS("stereo mode not supported\n");
> +		drm_dbg_kms(dev, "[CONNECTOR:%d:%s] Stereo mode not supported\n",
> +			    connector->base.id, connector->name);
>  		return NULL;
>  	}
>  	if (!(pt->misc & DRM_EDID_PT_SEPARATE_SYNC)) {
> -		DRM_DEBUG_KMS("composite sync not supported\n");
> +		drm_dbg_kms(dev, "[CONNECTOR:%d:%s] Composite sync not supported\n",
> +			    connector->base.id, connector->name);
>  	}
>  
>  	/* it is incorrect if hsync/vsync width is zero */
>  	if (!hsync_pulse_width || !vsync_pulse_width) {
> -		DRM_DEBUG_KMS("Incorrect Detailed timing. "
> -				"Wrong Hsync/Vsync pulse width\n");
> +		drm_dbg_kms(dev, "[CONNECTOR:%d:%s] Incorrect Detailed timing. Wrong Hsync/Vsync pulse width\n",
> +			    connector->base.id, connector->name);
>  		return NULL;
>  	}
>  
> @@ -3976,7 +3980,8 @@ add_cvt_modes(struct drm_connector *connector, const struct drm_edid *drm_edid)
>  	return closure.modes;
>  }
>  
> -static void fixup_detailed_cea_mode_clock(struct drm_display_mode *mode);
> +static void fixup_detailed_cea_mode_clock(struct drm_connector *connector,
> +					  struct drm_display_mode *mode);
>  
>  static void
>  do_detailed_mode(const struct detailed_timing *timing, void *c)
> @@ -3987,7 +3992,7 @@ do_detailed_mode(const struct detailed_timing *timing, void *c)
>  	if (!is_detailed_timing_descriptor(timing))
>  		return;
>  
> -	newmode = drm_mode_detailed(closure->connector->dev,
> +	newmode = drm_mode_detailed(closure->connector,
>  				    closure->drm_edid, timing,
>  				    closure->quirks);
>  	if (!newmode)
> @@ -4001,7 +4006,7 @@ do_detailed_mode(const struct detailed_timing *timing, void *c)
>  	 * so fix up anything that looks like CEA/HDMI mode, but the clock
>  	 * is just slightly off.
>  	 */
> -	fixup_detailed_cea_mode_clock(newmode);
> +	fixup_detailed_cea_mode_clock(closure->connector, newmode);
>  
>  	drm_mode_probed_add(closure->connector, newmode);
>  	closure->modes++;
> @@ -4663,7 +4668,8 @@ static int add_hdmi_mode(struct drm_connector *connector, u8 vic)
>  	struct drm_display_mode *newmode;
>  
>  	if (!drm_valid_hdmi_vic(vic)) {
> -		DRM_ERROR("Unknown HDMI VIC: %d\n", vic);
> +		drm_err(connector->dev, "[CONNECTOR:%d:%s] Unknown HDMI VIC: %d\n",
> +			connector->base.id, connector->name, vic);
>  		return 0;
>  	}
>  
> @@ -5270,7 +5276,8 @@ static int add_cea_modes(struct drm_connector *connector,
>  	return modes;
>  }
>  
> -static void fixup_detailed_cea_mode_clock(struct drm_display_mode *mode)
> +static void fixup_detailed_cea_mode_clock(struct drm_connector *connector,
> +					  struct drm_display_mode *mode)
>  {
>  	const struct drm_display_mode *cea_mode;
>  	int clock1, clock2, clock;
> @@ -5308,8 +5315,10 @@ static void fixup_detailed_cea_mode_clock(struct drm_display_mode *mode)
>  	if (mode->clock == clock)
>  		return;
>  
> -	DRM_DEBUG("detailed mode matches %s VIC %d, adjusting clock %d -> %d\n",
> -		  type, vic, mode->clock, clock);
> +	drm_dbg_kms(connector->dev,
> +		    "[CONNECTOR:%d:%s] detailed mode matches %s VIC %d, adjusting clock %d -> %d\n",
> +		    connector->base.id, connector->name,
> +		    type, vic, mode->clock, clock);
>  	mode->clock = clock;
>  }
>  
> @@ -5417,15 +5426,12 @@ drm_parse_hdmi_vsdb_audio(struct drm_connector *connector, const u8 *db)
>  	if (len >= 12)
>  		connector->audio_latency[1] = db[12];
>  
> -	DRM_DEBUG_KMS("HDMI: latency present %d %d, "
> -		      "video latency %d %d, "
> -		      "audio latency %d %d\n",
> -		      connector->latency_present[0],
> -		      connector->latency_present[1],
> -		      connector->video_latency[0],
> -		      connector->video_latency[1],
> -		      connector->audio_latency[0],
> -		      connector->audio_latency[1]);
> +	drm_dbg_kms(connector->dev,
> +		    "[CONNECTOR:%d:%s] HDMI: latency present %d %d, video latency %d %d, audio latency %d %d\n",
> +		    connector->base.id, connector->name,
> +		    connector->latency_present[0], connector->latency_present[1],
> +		    connector->video_latency[0], connector->video_latency[1],
> +		    connector->audio_latency[0], connector->audio_latency[1]);
>  }
>  
>  static void
> @@ -5523,7 +5529,9 @@ static void drm_edid_to_eld(struct drm_connector *connector,
>  		return;
>  
>  	mnl = get_monitor_name(drm_edid, &eld[DRM_ELD_MONITOR_NAME_STRING]);
> -	DRM_DEBUG_KMS("ELD monitor %s\n", &eld[DRM_ELD_MONITOR_NAME_STRING]);
> +	drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] ELD monitor %s\n",
> +		    connector->base.id, connector->name,
> +		    &eld[DRM_ELD_MONITOR_NAME_STRING]);
>  
>  	eld[DRM_ELD_CEA_EDID_VER_MNL] = info->cea_rev << DRM_ELD_CEA_EDID_VER_SHIFT;
>  	eld[DRM_ELD_CEA_EDID_VER_MNL] |= mnl;
> @@ -5577,8 +5585,9 @@ static void drm_edid_to_eld(struct drm_connector *connector,
>  	eld[DRM_ELD_BASELINE_ELD_LEN] =
>  		DIV_ROUND_UP(drm_eld_calc_baseline_block_size(eld), 4);
>  
> -	DRM_DEBUG_KMS("ELD size %d, SAD count %d\n",
> -		      drm_eld_size(eld), total_sad_count);
> +	drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] ELD size %d, SAD count %d\n",
> +		    connector->base.id, connector->name,
> +		    drm_eld_size(eld), total_sad_count);
>  }
>  
>  static int _drm_edid_to_sad(const struct drm_edid *drm_edid,
> @@ -5849,7 +5858,8 @@ static void drm_parse_vcdb(struct drm_connector *connector, const u8 *db)
>  {
>  	struct drm_display_info *info = &connector->display_info;
>  
> -	DRM_DEBUG_KMS("CEA VCDB 0x%02x\n", db[2]);
> +	drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] CEA VCDB 0x%02x\n",
> +		    connector->base.id, connector->name, db[2]);
>  
>  	if (db[2] & EDID_CEA_VCDB_QS)
>  		info->rgb_quant_range_selectable = true;
> @@ -6052,39 +6062,39 @@ static void drm_parse_hdmi_deep_color_info(struct drm_connector *connector,
>  	if (hdmi[6] & DRM_EDID_HDMI_DC_30) {
>  		dc_bpc = 10;
>  		info->edid_hdmi_rgb444_dc_modes |= DRM_EDID_HDMI_DC_30;
> -		DRM_DEBUG("%s: HDMI sink does deep color 30.\n",
> -			  connector->name);
> +		drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] HDMI sink does deep color 30.\n",
> +			    connector->base.id, connector->name);
>  	}
>  
>  	if (hdmi[6] & DRM_EDID_HDMI_DC_36) {
>  		dc_bpc = 12;
>  		info->edid_hdmi_rgb444_dc_modes |= DRM_EDID_HDMI_DC_36;
> -		DRM_DEBUG("%s: HDMI sink does deep color 36.\n",
> -			  connector->name);
> +		drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] HDMI sink does deep color 36.\n",
> +			    connector->base.id, connector->name);
>  	}
>  
>  	if (hdmi[6] & DRM_EDID_HDMI_DC_48) {
>  		dc_bpc = 16;
>  		info->edid_hdmi_rgb444_dc_modes |= DRM_EDID_HDMI_DC_48;
> -		DRM_DEBUG("%s: HDMI sink does deep color 48.\n",
> -			  connector->name);
> +		drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] HDMI sink does deep color 48.\n",
> +			    connector->base.id, connector->name);
>  	}
>  
>  	if (dc_bpc == 0) {
> -		DRM_DEBUG("%s: No deep color support on this HDMI sink.\n",
> -			  connector->name);
> +		drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] No deep color support on this HDMI sink.\n",
> +			    connector->base.id, connector->name);
>  		return;
>  	}
>  
> -	DRM_DEBUG("%s: Assigning HDMI sink color depth as %d bpc.\n",
> -		  connector->name, dc_bpc);
> +	drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] Assigning HDMI sink color depth as %d bpc.\n",
> +		    connector->base.id, connector->name, dc_bpc);
>  	info->bpc = dc_bpc;
>  
>  	/* YCRCB444 is optional according to spec. */
>  	if (hdmi[6] & DRM_EDID_HDMI_DC_Y444) {
>  		info->edid_hdmi_ycbcr444_dc_modes = info->edid_hdmi_rgb444_dc_modes;
> -		DRM_DEBUG("%s: HDMI sink does YCRCB444 in deep color.\n",
> -			  connector->name);
> +		drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] HDMI sink does YCRCB444 in deep color.\n",
> +			    connector->base.id, connector->name);
>  	}
>  
>  	/*
> @@ -6092,8 +6102,8 @@ static void drm_parse_hdmi_deep_color_info(struct drm_connector *connector,
>  	 * then deep color 36 bit must be supported.
>  	 */
>  	if (!(hdmi[6] & DRM_EDID_HDMI_DC_36)) {
> -		DRM_DEBUG("%s: HDMI sink should do DC_36, but does not!\n",
> -			  connector->name);
> +		drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] HDMI sink should do DC_36, but does not!\n",
> +			    connector->base.id, connector->name);
>  	}
>  }
>  
> @@ -6110,10 +6120,9 @@ drm_parse_hdmi_vsdb_video(struct drm_connector *connector, const u8 *db)
>  	if (len >= 7)
>  		info->max_tmds_clock = db[7] * 5000;
>  
> -	DRM_DEBUG_KMS("HDMI: DVI dual %d, "
> -		      "max TMDS clock %d kHz\n",
> -		      info->dvi_dual,
> -		      info->max_tmds_clock);
> +	drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s] HDMI: DVI dual %d, max TMDS clock %d kHz\n",
> +		    connector->base.id, connector->name,
> +		    info->dvi_dual, info->max_tmds_clock);
>  
>  	drm_parse_hdmi_deep_color_info(connector, db);
>  }
> @@ -6156,8 +6165,10 @@ static void drm_parse_cea_ext(struct drm_connector *connector,
>  			info->cea_rev = edid_ext[1];
>  
>  		if (info->cea_rev != edid_ext[1])
> -			DRM_DEBUG_KMS("CEA extension version mismatch %u != %u\n",
> -				      info->cea_rev, edid_ext[1]);
> +			drm_dbg_kms(connector->dev,
> +				    "[CONNECTOR:%d:%s] CEA extension version mismatch %u != %u\n",
> +				    connector->base.id, connector->name,
> +				    info->cea_rev, edid_ext[1]);
>  
>  		/* The existence of a CTA extension should imply RGB support */
>  		info->color_formats = DRM_COLOR_FORMAT_RGB444;
> @@ -6243,9 +6254,10 @@ static void drm_get_monitor_range(struct drm_connector *connector,
>  
>  	drm_for_each_detailed_block(drm_edid, get_monitor_range, &closure);
>  
> -	DRM_DEBUG_KMS("Supported Monitor Refresh rate range is %d Hz - %d Hz\n",
> -		      info->monitor_range.min_vfreq,
> -		      info->monitor_range.max_vfreq);
> +	drm_dbg_kms(connector->dev,
> +		    "[CONNECTOR:%d:%s] Supported Monitor Refresh rate range is %d Hz - %d Hz\n",
> +		    connector->base.id, connector->name,
> +		    info->monitor_range.min_vfreq, info->monitor_range.max_vfreq);
>  }
>  
>  static void drm_parse_vesa_mso_data(struct drm_connector *connector,
> @@ -6387,8 +6399,9 @@ static u32 update_display_info(struct drm_connector *connector,
>  	if (info->bpc == 0 && edid->revision == 3 &&
>  	    edid->input & DRM_EDID_DIGITAL_DFP_1_X) {
>  		info->bpc = 8;
> -		DRM_DEBUG("%s: Assigning DFP sink color depth as %d bpc.\n",
> -			  connector->name, info->bpc);
> +		drm_dbg_kms(connector->dev,
> +			    "[CONNECTOR:%d:%s] Assigning DFP sink color depth as %d bpc.\n",
> +			    connector->base.id, connector->name, info->bpc);
>  	}
>  
>  	/* Only defined for 1.4 with digital displays */
> @@ -6420,8 +6433,9 @@ static u32 update_display_info(struct drm_connector *connector,
>  		break;
>  	}
>  
> -	DRM_DEBUG("%s: Assigning EDID-1.4 digital sink color depth as %d bpc.\n",
> -			  connector->name, info->bpc);
> +	drm_dbg_kms(connector->dev,
> +		    "[CONNECTOR:%d:%s] Assigning EDID-1.4 digital sink color depth as %d bpc.\n",
> +		    connector->base.id, connector->name, info->bpc);
>  
>  	if (edid->features & DRM_EDID_FEATURE_RGB_YCRCB444)
>  		info->color_formats |= DRM_COLOR_FORMAT_YCBCR444;
> @@ -7121,11 +7135,14 @@ static void drm_parse_tiled_block(struct drm_connector *connector,
>  	connector->tile_h_size = w + 1;
>  	connector->tile_v_size = h + 1;
>  
> -	DRM_DEBUG_KMS("tile cap 0x%x\n", tile->tile_cap);
> -	DRM_DEBUG_KMS("tile_size %d x %d\n", w + 1, h + 1);
> -	DRM_DEBUG_KMS("topo num tiles %dx%d, location %dx%d\n",
> -		      num_h_tile + 1, num_v_tile + 1, tile_h_loc, tile_v_loc);
> -	DRM_DEBUG_KMS("vend %c%c%c\n", tile->topology_id[0], tile->topology_id[1], tile->topology_id[2]);
> +	drm_dbg_kms(connector->dev,
> +		    "[CONNECTOR:%d:%s] tile cap 0x%x, size %dx%d, num tiles %dx%d, location %dx%d, vend %c%c%c",
> +		    connector->base.id, connector->name,
> +		    tile->tile_cap,
> +		    connector->tile_h_size, connector->tile_v_size,
> +		    connector->num_h_tile, connector->num_v_tile,
> +		    connector->tile_h_loc, connector->tile_v_loc,
> +		    tile->topology_id[0], tile->topology_id[1], tile->topology_id[2]);
>  
>  	tg = drm_mode_get_tile_group(connector->dev, tile->topology_id);
>  	if (!tg)
> -- 
> 2.34.1

-- 
Ville Syrjälä
Intel

  reply	other threads:[~2022-10-24 16:03 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-24 12:33 [Intel-gfx] [PATCH v2 00/16] drm/edid: EDID override refactoring and fixes Jani Nikula
2022-10-24 12:33 ` Jani Nikula
2022-10-24 12:33 ` [Intel-gfx] [PATCH v2 01/16] drm/i915/hdmi: do dual mode detect only if connected Jani Nikula
2022-10-24 12:33   ` Jani Nikula
2022-10-24 12:33 ` [Intel-gfx] [PATCH v2 02/16] drm/i915/hdmi: stop using connector->override_edid Jani Nikula
2022-10-24 12:33   ` Jani Nikula
2022-10-24 15:13   ` [Intel-gfx] " Ville Syrjälä
2022-10-24 15:13     ` Ville Syrjälä
2022-10-24 12:33 ` [PATCH v2 03/16] drm/amd/display: " Jani Nikula
2022-10-24 12:33   ` Jani Nikula
2022-10-24 12:33   ` [Intel-gfx] " Jani Nikula
2022-10-24 12:33 ` [Intel-gfx] [PATCH v2 04/16] drm/edid: debug log EDID override set/reset Jani Nikula
2022-10-24 12:33   ` Jani Nikula
2022-10-24 12:33 ` [Intel-gfx] [PATCH v2 05/16] drm/edid: abstract debugfs override EDID show better Jani Nikula
2022-10-24 12:33   ` Jani Nikula
2022-10-24 12:33 ` [Intel-gfx] [PATCH v2 06/16] drm/edid: rename drm_add_override_edid_modes() to drm_edid_override_connector_update() Jani Nikula
2022-10-24 12:33   ` Jani Nikula
2022-10-24 12:33 ` [Intel-gfx] [PATCH v2 07/16] drm/edid: split drm_edid block count helper Jani Nikula
2022-10-24 12:33   ` Jani Nikula
2022-10-24 12:33 ` [Intel-gfx] [PATCH v2 08/16] drm/edid: add function for checking drm_edid validity Jani Nikula
2022-10-24 12:33   ` Jani Nikula
2022-10-24 12:33 ` [Intel-gfx] [PATCH v2 09/16] drm/edid: detach debugfs EDID override from EDID property update Jani Nikula
2022-10-24 12:33   ` Jani Nikula
2022-10-24 17:53   ` [Intel-gfx] " Ville Syrjälä
2022-10-24 17:53     ` Ville Syrjälä
2022-10-24 12:33 ` [Intel-gfx] [PATCH v2 10/16] drm/edid/firmware: drop redundant connector_name variable/parameter Jani Nikula
2022-10-24 12:33   ` Jani Nikula
2022-10-24 12:33 ` [Intel-gfx] [PATCH v2 11/16] drm/edid/firmware: rename drm_load_edid_firmware() to drm_edid_load_firmware() Jani Nikula
2022-10-24 12:33   ` Jani Nikula
2022-10-24 12:33 ` [Intel-gfx] [PATCH v2 12/16] drm/edid: use struct drm_edid for override/firmware EDID Jani Nikula
2022-10-24 12:33   ` Jani Nikula
2022-10-24 12:33 ` [Intel-gfx] [PATCH v2 13/16] drm/edid: move edid load declarations to internal header Jani Nikula
2022-10-24 12:33   ` Jani Nikula
2022-10-24 12:33 ` [Intel-gfx] [PATCH v2 14/16] drm/edid/firmware: convert to drm device specific logging Jani Nikula
2022-10-24 12:33   ` Jani Nikula
2022-10-24 16:00   ` [Intel-gfx] " Ville Syrjälä
2022-10-24 16:00     ` Ville Syrjälä
2022-10-24 12:33 ` [Intel-gfx] [PATCH v2 15/16] drm/edid: add [CONNECTOR:%d:%s] to debug logging Jani Nikula
2022-10-24 12:33   ` Jani Nikula
2022-10-24 13:27   ` [Intel-gfx] " Simon Ser
2022-10-24 13:27     ` Simon Ser
2022-10-24 12:33 ` [Intel-gfx] [PATCH v2 16/16] drm/edid: convert to device specific logging Jani Nikula
2022-10-24 12:33   ` Jani Nikula
2022-10-24 16:02   ` Ville Syrjälä [this message]
2022-10-24 16:02     ` Ville Syrjälä
2022-10-24 14:43 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/edid: EDID override refactoring and fixes (rev2) Patchwork
2022-10-24 14:43 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-10-24 15:05 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2022-10-25 12:35 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/edid: EDID override refactoring and fixes (rev3) Patchwork
2022-10-25 12:57 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-10-25 18:25 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2022-10-26  8:33 ` [Intel-gfx] [PATCH v2 00/16] drm/edid: EDID override refactoring and fixes Jani Nikula
2022-10-26  8:33   ` Jani Nikula

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=Y1a3GJpcxtCHZisu@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@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.