drm/dp_helper: Add DP aux channel tracing
authorLyude Paul <lyude@redhat.com>
Mon, 16 Jul 2018 15:44:32 +0000 (11:44 -0400)
committerLyude Paul <lyude@redhat.com>
Mon, 16 Jul 2018 15:47:53 +0000 (11:47 -0400)
commita18b21929453af70390e14f8dee40acf00d428cb
tree3ba8303aedab7a8db481e0d1a72514e34898867d
parent71a5cb3eb758b5b3735709c7fca577522eda43d4
drm/dp_helper: Add DP aux channel tracing

This is something we've needed for a very long time now, as it makes
debugging issues with faulty MST hubs along with debugging issues
regarding us interfacing with hubs correctly vastly easier to debug.
Currently this can actually be done if you trace the i2c devices for DP
using ftrace but that's significantly less useful for a couple of
reasons:

- Tracing the i2c devices through ftrace means all of the traces are
  going to contain a lot of "garbage" output that we're sending over the
  i2c line. Most of this garbage comes from retrying transactions, DRM's
  helper library adding extra transactions to work around bad hubs, etc.
- Having a user set up ftrace so that they can provide debugging
  information is a lot more difficult then being able to say "just boot
  with drm.debug=0x100"
- We can potentially expand upon this tracing in the future to print
  debugging information in regards to other DP transactions like MST
  sideband transactions

This is inspired by a patch Rob Clark sent to do this a long time back.
Neither of us could find the patch however, so we both assumed it would
probably just be easier to rewrite it anyway.

Cc: Rob Clark <robdclark@gmail.com>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20180716154432.13433-1-lyude@redhat.com
drivers/gpu/drm/drm_dp_helper.c
drivers/gpu/drm/drm_drv.c
include/drm/drm_print.h