[Intel-gfx] [PATCH 4/6] drm/i915/dp: Log the DPCD only if we have successfully retrieved one

Jani Nikula jani.nikula at linux.intel.com
Fri Dec 14 10:40:59 CET 2012


On Thu, 13 Dec 2012, Damien Lespiau <damien.lespiau at gmail.com> wrote:
> From: Damien Lespiau <damien.lespiau at intel.com>
>
> Moving the DPCD just after a successful read will allow to:
>   - log all DPCD reads (eDP ones, changes signalled by HPD IRQ)
>   - don't log it if we haven't been able to read it

The first part does actually increase DPCD logging a bit, but with the
second part this should result in a nice reduction of dmesg noise. /me
likes.

Reviewed-by: Jani Nikula <jani.nikula at intel.com>


>
> v2: Be sure to log the DPCD when a downstream port does not have HPD
>     support and the branch device asserts HPD (Jani Nikula)
>
> Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_dp.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 19a0d89..5ed8fb3 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -2084,10 +2084,16 @@ intel_dp_link_down(struct intel_dp *intel_dp)
>  static bool
>  intel_dp_get_dpcd(struct intel_dp *intel_dp)
>  {
> +	char dpcd_hex_dump[sizeof(intel_dp->dpcd) * 3];
> +
>  	if (intel_dp_aux_native_read_retry(intel_dp, 0x000, intel_dp->dpcd,
>  					   sizeof(intel_dp->dpcd)) == 0)
>  		return false; /* aux transfer failed */
>  
> +	hex_dump_to_buffer(intel_dp->dpcd, sizeof(intel_dp->dpcd),
> +			   32, 1, dpcd_hex_dump, sizeof(dpcd_hex_dump), false);
> +	DRM_DEBUG_KMS("DPCD: %s\n", dpcd_hex_dump);
> +
>  	if (intel_dp->dpcd[DP_DPCD_REV] == 0)
>  		return false; /* DPCD not present */
>  
> @@ -2353,7 +2359,6 @@ intel_dp_detect(struct drm_connector *connector, bool force)
>  	struct drm_device *dev = connector->dev;
>  	enum drm_connector_status status;
>  	struct edid *edid = NULL;
> -	char dpcd_hex_dump[sizeof(intel_dp->dpcd) * 3];
>  
>  	intel_dp->has_audio = false;
>  
> @@ -2362,10 +2367,6 @@ intel_dp_detect(struct drm_connector *connector, bool force)
>  	else
>  		status = g4x_dp_detect(intel_dp);
>  
> -	hex_dump_to_buffer(intel_dp->dpcd, sizeof(intel_dp->dpcd),
> -			   32, 1, dpcd_hex_dump, sizeof(dpcd_hex_dump), false);
> -	DRM_DEBUG_KMS("DPCD: %s\n", dpcd_hex_dump);
> -
>  	if (status != connector_status_connected)
>  		return status;
>  
> -- 
> 1.7.11.7
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



More information about the Intel-gfx mailing list