[igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with

Mohammed Khajapasha mohammed.khajapasha at intel.com
Fri Jul 17 15:40:50 UTC 2020


With non-contiguous pipes display, pipe mapping is always not same as
crtc mapping, For i915 pipe is enum id of i915's crtc object and
it is not equal to crtc offset of a pipe in mode config list.
Hence allocating upper bound array for igt_pipe and reading
pipe id using GET_PIPE_FROM_CRTC_ID ioctl.
Using crtc offset for a pipe to do ordering pipe with crtc list.

Example:
	With a non-contiguous pipe display, with PIPE_A & PIPE_D
	are enabled, PIPE_C & PIPE_B disabled configuration,
	the pipe for PIPE_A & D will be '0' and '3' and crtc offsets
	are '0' & '1' in mode config list using crtc offset to ordering
	enabled pipes with crtc list in mode config.

v8:
	Modified documentation as per review comments by <Hiler, Arkadiusz>

Mohammed Khajapasha (11):
  lib/igt_kms: Add support for display with non-contiguous pipes
  lib/igt_kms: Add igt_require_pipe() function
  tests/kms_cursor_legacy: Read crtc id for enable pipes
  tests/kms_lease: Get pipe from crtc for enable pipes
  tests/kms_lease: Read crtc id for a valid pipe
  lib/kms: Skip igt test cases for disabled display pipes
  tests/kms: Skip kms test cases for disabled pipes
  tests/kms_atomic_transition: Set modeset for enable pipes only
  i915/gem_eio: Set modeset for enable pipes
  lib/kms: Convert pipe id flags for a vblank using crtc offset
  tests/kms: Use crtc offset to read vblank event for a pipe

 lib/igt_kms.c                   | 138 +++++++++++++++++++++++++-------
 lib/igt_kms.h                   |  42 ++++++++--
 tests/i915/gem_eio.c            |   2 +
 tests/i915/perf_pmu.c           |   3 +-
 tests/kms_atomic_transition.c   |  15 +++-
 tests/kms_available_modes_crc.c |   4 +-
 tests/kms_color.c               |  37 ++++++---
 tests/kms_color_chamelium.c     |   2 +-
 tests/kms_concurrent.c          |   2 +-
 tests/kms_cursor_crc.c          |  18 +++--
 tests/kms_cursor_edge_walk.c    |   4 +-
 tests/kms_cursor_legacy.c       |  13 +--
 tests/kms_lease.c               |  28 +++++--
 tests/kms_pipe_crc_basic.c      |   9 ++-
 tests/kms_plane.c               |  10 ++-
 tests/kms_plane_lowres.c        |   2 +-
 tests/kms_plane_multiple.c      |   2 +-
 tests/kms_sequence.c            |   3 +-
 tests/kms_universal_plane.c     |  12 +--
 tests/kms_vblank.c              |   3 +-
 20 files changed, 257 insertions(+), 92 deletions(-)

-- 
2.25.1



More information about the igt-dev mailing list