All of lore.kernel.org
 help / color / mirror / Atom feed
* [intel-gfx] Displayport compliance testing
@ 2014-10-09 15:38 Todd Previte
  2014-10-09 15:38 ` [PATCH 01/10] drm/i915: Add automated testing support for " Todd Previte
                   ` (9 more replies)
  0 siblings, 10 replies; 31+ messages in thread
From: Todd Previte @ 2014-10-09 15:38 UTC (permalink / raw)
  To: intel-gfx

The kernel side is responsible for the acknowledgement of the test requests and 
setup of the required parameters. It also handles the necessary AUX transactions 
for reading the EDID and DPCD as well as writing response codes or checksums as 
necessary. Performing these operations in userspace would add unnecessary delays 
and complicate the interface more than necessary. The userspace application then 
handles the large motions - frame buffer management, mode sets and link 
configuration. The following is an overview of the basic event handling for 
compliance testing inside the kernel:
        - The test device  signals the DUT with an HPD pulse. This can  be a 
          short or long pulse, depending on circumstances.
        - The interrupt generated by the HPD pulse invokes the test handler, 
          which reads the test device DPCD to determine what actions are necessary.
        - Once the test handler determines which test has been requested, it 
          invokes the kernel-side handler function and then signals the userspace 
          app. If no userspace app has been registered, the signal is ignored.
        - Test responses and status is written out / reported as necessary and 
          normal operation is resumed.

The userspace support application and additional documentation will be posted 
to the list for review soon.

^ permalink raw reply	[flat|nested] 31+ messages in thread
* [PATCH V6] Displayport compliance testing V6
@ 2015-04-15 15:38 Todd Previte
  2015-04-15 15:38 ` [PATCH 04/10] drm/i915: Add a delay in Displayport AUX transactions for compliance testing Todd Previte
  0 siblings, 1 reply; 31+ messages in thread
From: Todd Previte @ 2015-04-15 15:38 UTC (permalink / raw)
  To: intel-gfx

This is the 6th 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.

Changes for V6:
- Addressed all the review feedback from V5 and made the necessary changes
- Added a new flag for detecting EDID header corruption for compliance testing
- Cleaned up checkpatch.pl issues
- Fixed whitespace/formatting problems
- Made substantial adjustments to the hpd_pulse code to make sure it works for
  all permutations of SST/MST and short/long pulses
- Reintegrated patches 2 and 3 into a single patch again
- Removed several instances of duplicate code
- Propagate the long_hpd flag into check_link_status to only perform the EDID
  read for a long pulse (hot plug event)

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

Changes for V3:
	- Rewrote the input handling code
	- Cleaned up some minor issues / extraneous tags
	- Fixed a minor bug in the setup of the failsafe video mode
	- Removed the delay on startup and updated the output messages
	  accordingly

The Github version is the most up to date, with several patches having been
applied recently which are encapsulated in the high level notes for V3 above.

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2015-04-16 12:35 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-09 15:38 [intel-gfx] Displayport compliance testing Todd Previte
2014-10-09 15:38 ` [PATCH 01/10] drm/i915: Add automated testing support for " Todd Previte
2014-10-20 17:48   ` Paulo Zanoni
2014-10-23 16:58     ` Todd Previte
2014-10-24  8:24       ` Daniel Vetter
2014-10-21 13:02   ` Daniel Vetter
2014-11-04 22:31   ` Todd Previte
2014-10-09 15:38 ` [PATCH 02/10] drm/i915: Add counters in the drm_dp_aux struct for I2C NACKs and DEFERs Todd Previte
2014-10-21 17:10   ` [Intel-gfx] " Paulo Zanoni
2014-11-04 22:12     ` Todd Previte
2014-11-04 22:19       ` Daniel Vetter
2014-10-09 15:38 ` [PATCH 03/10] drm/i915: Update intel_dp_check_link_status() for Displayport compliance testing Todd Previte
2014-10-09 15:38 ` [PATCH 04/10] drm/i915: Add a delay in Displayport AUX transactions for " Todd Previte
2014-10-09 15:38 ` [PATCH 05/10] drm/i915: Add debugfs interface for Displayport debug and " Todd Previte
2014-10-23 12:50   ` Daniel Vetter
2014-10-23 12:58     ` Paulo Zanoni
2014-10-23 15:43       ` Daniel Vetter
2014-11-13 18:44         ` Jesse Barnes
2014-11-13 20:44           ` Daniel Vetter
2014-11-13 21:00             ` Dave Airlie
2014-11-13 21:07               ` Jesse Barnes
2014-10-09 15:38 ` [PATCH 06/10] drm/i915: Add debugfs interface and support functions to notify userspace apps for Displayport " Todd Previte
2014-10-09 15:38 ` [PATCH 07/10] drm/i915: Add structures for Displayport compliance testing parameters Todd Previte
2014-10-09 15:38 ` [PATCH 08/10] drm/i915: Update the EDID automated compliance test function Todd Previte
2014-10-09 15:38 ` [PATCH 09/10] drm/i915: Update intel_dp_compute_config() to respond to Displayport compliance test requests appropriately Todd Previte
2014-10-09 15:38 ` [PATCH 10/10] drm/i915: Fix intel_dp_hot_plug() Todd Previte
2014-10-09 15:49   ` Chris Wilson
2014-10-10  3:38     ` Dave Airlie
2014-10-11  0:20       ` Todd Previte
2015-04-15 15:38 [PATCH V6] Displayport compliance testing V6 Todd Previte
2015-04-15 15:38 ` [PATCH 04/10] drm/i915: Add a delay in Displayport AUX transactions for compliance testing Todd Previte
2015-04-16 12:37   ` Daniel Vetter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.