[Intel-gfx] [PATCH 3/4] drm/dp: Clarify clock recovery and channel equalization failures
Pandiyan, Dhinakaran
dhinakaran.pandiyan at intel.com
Thu Aug 4 16:50:35 UTC 2016
On Thu, 2016-08-04 at 04:12 +0100, Chris Wilson wrote:
> On Wed, Aug 03, 2016 at 08:07:40PM -0700, Dhinakaran Pandiyan wrote:
> > The causes of clock recovery and channel equalization failures are not
> > explicitly printed in debug messages. Help debugging link training
> > failures by printing why it failed.
> >
> > Doing this in the driver would mean re-implementing some of the drm static
> > functions that decode link status. Let's avoid that with these debug
> > messages in drm.
> >
> > Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
> > ---
> > drivers/gpu/drm/drm_dp_helper.c | 12 +++++++++---
> > 1 file changed, 9 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
> > index 091053e..d763b57 100644
> > --- a/drivers/gpu/drm/drm_dp_helper.c
> > +++ b/drivers/gpu/drm/drm_dp_helper.c
> > @@ -64,12 +64,16 @@ bool drm_dp_channel_eq_ok(const u8 link_status[DP_LINK_STATUS_SIZE],
> >
> > lane_align = dp_link_status(link_status,
> > DP_LANE_ALIGN_STATUS_UPDATED);
> > - if ((lane_align & DP_INTERLANE_ALIGN_DONE) == 0)
> > + if ((lane_align & DP_INTERLANE_ALIGN_DONE) == 0) {
> > + DRM_DEBUG_KMS("Inter-lane alignment not done\n");
> > return false;
> > + }
> > for (lane = 0; lane < lane_count; lane++) {
> > lane_status = dp_get_lane_status(link_status, lane);
> > - if ((lane_status & DP_CHANNEL_EQ_BITS) != DP_CHANNEL_EQ_BITS)
> > + if ((lane_status & DP_CHANNEL_EQ_BITS) != DP_CHANNEL_EQ_BITS) {
> > + DRM_DEBUG_KMS("Channel equalization not done for lane %d\n", lane);
> > return false;
> > + }
> > }
> > return true;
> > }
> > @@ -83,8 +87,10 @@ bool drm_dp_clock_recovery_ok(const u8 link_status[DP_LINK_STATUS_SIZE],
> >
> > for (lane = 0; lane < lane_count; lane++) {
> > lane_status = dp_get_lane_status(link_status, lane);
> > - if ((lane_status & DP_LANE_CR_DONE) == 0)
> > + if ((lane_status & DP_LANE_CR_DONE) == 0) {
> > + DRM_DEBUG_KMS("Clock recovery not done for lane %d\n", lane);
>
> Please petition, with patch, for DRM_DEBUG_DP.
> -Chris
>
Is that because DRM_DEBUG_KMS in not appropriate or that we have plenty
of DP related debug messages that it warrants it's own debug macro?
More information about the dri-devel
mailing list