[Intel-gfx] [intel-gfx][PATCH V5] Displayport compliance testing V5
Todd Previte
tprevite at gmail.com
Fri Apr 10 09:12:41 PDT 2015
This is the 5th iteration of the Displayport compliance testing patch set for
performing compliance testing operations of the i915 driver. High level changes
are listed below, with the specifics for each patch listed in the commit messages.
Kernel:
Changes for V4:
- Removed the code for link configuration in debugfs. It wasn’t used in this
patch set so there was no need to add 500+ lines of code to the kernel. It may
be reintroduced in a future patch if it becomes necessary to support link
configuration testing for Displayport compliance
- Merged working changes in to the kernel code to keep the patches smaller and
as discrete, testable units. This included moving variables around between
patches such that their declaration and use appears in the same patch. One
variable was removed entirely as it was no longer necessary.
- Changed the debugfs interface for test control. Previously test control was
handled by a single file that contained tags and values that were parsed and
used by both the user app and the kernel. This required a lot of parsing code
on both sides of the equation. That has been eliminated in favor of 3 separate,
single value files for test type, test data and testing active. This reduces
the overhead of polling on test_active in the user app as well as eliminating
the need to parse a single monolithic file every time it checks the flag
(currently 1ms intervals). The net result is a more responsible app and a lot
less code on both sides.
Changes for V5:
- Removed a duplicate EDID read from the EDID auto test function
- Added a failsafe check in the I2C DEFER check to make sure a misbhaving
device wouldn’t cause an infinite loop
- Shuffled around some variable declarations and assignments to put them in
the correct patches and places
- Fixed a commit message that was no longer accurate
- Removed the main stream disable code from check_link_status as this doesn’t
play nice with a number of systems. A replacement for this will be done in
the user app when necessary.
Userspace app:
The userspace app can be found here:
https://github.com/tprevite/intel-gpu-tools/tree/dp_compliance
The user app has the following requirements:
- Must be executed as root from the command line
- No other display managers can be running. Must be in console mode.
- Only the test device should be connected to one of the external Displayport
ports. No other displays should be connected via Displayport. eDP displays are
ignored by the compliance code so they should operate normally.
Previous versions of the user app disabled all displays on the DUT. That is no
longer necessary in order to execute Displayport compliance testing. The app can
be run remotely via an SSH login or directly on the DUT at the preference of the
operator. Aside from starting and stopping the app itself, no direct interaction
is necessary at this time on the part of the test operator to perform compliance
testing.
Some of the tests will still pass if the user app isn't running. The primary
purpose of the user space application is to handle the heavy lifting of the
mode sets required to set the specific display resolutions for the tests.
Changes for V2:
- Removed unnecessary memcpy()s and replaced with assignments
- Updated the README
- Moved the menu code around and reworded it to be more accurate
- Added a “NONE” display mode to disable the main link
Note that as of this moment, the Github version is out of date. This patch is the
most current version but Github will be updated shortly.
More information about the Intel-gfx
mailing list