]> git.baikalelectronics.ru Git - kernel.git/commit
drm/dp_mst: Add sideband down request tracing + selftests
authorLyude Paul <lyude@redhat.com>
Tue, 3 Sep 2019 20:45:45 +0000 (16:45 -0400)
committerLyude Paul <lyude@redhat.com>
Tue, 3 Sep 2019 23:30:06 +0000 (19:30 -0400)
commit27baff0264b06ddf7b0c8811eb15d8a2c6ceed35
treece393af8eea0bc77c571a9aaced78f7f102a7d8e
parent3783bfda4a38212b15381012956307eb06c4a335
drm/dp_mst: Add sideband down request tracing + selftests

Unfortunately the DP MST helpers do not have much in the way of
debugging utilities. So, let's add some!

This adds basic debugging output for down sideband requests that we send
from the driver, so that we can actually discern what's happening when
sideband requests timeout.

Since there wasn't really a good way of testing that any of this worked,
I ended up writing simple selftests that lightly test sideband message
encoding and decoding as well. Enjoy!

Changes since v1:
* Clean up DO_TEST() and sideband_msg_req_encode_decode() - danvet
* Get rid of pr_fmt(), just define a prefix string instead and use
  drm_printf()
* Check highest bit of VCPI in drm_dp_decode_sideband_req() - danvet
* Make the switch case order between drm_dp_decode_sideband_req() and
  drm_dp_encode_sideband_req() the same - danvet
* Only check DRM_UT_DP - danvet
* Clean up sideband_msg_req_equal() from selftests a bit, and add
  comments explaining why we can't just use memcmp - danvet

Cc: Juston Li <juston.li@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Harry Wentland <hwentlan@amd.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190903204645.25487-8-lyude@redhat.com
drivers/gpu/drm/drm_dp_mst_topology.c
drivers/gpu/drm/drm_dp_mst_topology_internal.h [new file with mode: 0644]
drivers/gpu/drm/selftests/drm_modeset_selftests.h
drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c
drivers/gpu/drm/selftests/test-drm_modeset_common.h
include/drm/drm_dp_mst_helper.h