($INBOX_DIR/description missing)
 help / color / mirror / Atom feed
* [igt-dev] ✓ Fi.CI.IGT: success for Add support for forcing a specific driver (rev2)
From: Patchwork @ 2018-12-18 17:42 UTC (permalink / raw)
  To: Petri Latvala; +Cc: igt-dev
In-Reply-To: <20181218121941.29174-1-petri.latvala@intel.com>

== Series Details ==

Series: Add support for forcing a specific driver (rev2)
URL   : https://patchwork.freedesktop.org/series/48548/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5327_full -> IGTPW_2166_full
====================================================

Summary
-------

  **WARNING**

  Minor unknown changes coming with IGTPW_2166_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2166_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/48548/revisions/2/mbox/

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_2166_full:

### IGT changes ###

#### Warnings ####

  * igt@pm_rc6_residency@rc6-accuracy:
    - shard-snb:          PASS -> SKIP

  
Known issues
------------

  Here are the changes found in IGTPW_2166_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_sync@basic-store-each:
    - shard-snb:          NOTRUN -> INCOMPLETE [fdo#105411]

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-c:
    - shard-apl:          NOTRUN -> DMESG-WARN [fdo#107956] +1

  * igt@kms_cursor_crc@cursor-256x256-random:
    - shard-glk:          PASS -> FAIL [fdo#103232] +4

  * igt@kms_cursor_crc@cursor-64x64-dpms:
    - shard-kbl:          PASS -> FAIL [fdo#103232] +1
    - shard-apl:          PASS -> FAIL [fdo#103232]

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
    - shard-glk:          PASS -> FAIL [fdo#104873]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render:
    - shard-kbl:          PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-onoff:
    - shard-glk:          PASS -> FAIL [fdo#103167] +2

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
    - shard-glk:          PASS -> FAIL [fdo#108145]
    - shard-kbl:          PASS -> FAIL [fdo#108145]
    - shard-apl:          PASS -> FAIL [fdo#108145]

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
    - shard-apl:          PASS -> FAIL [fdo#103166] +3
    - shard-kbl:          PASS -> FAIL [fdo#103166]

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
    - shard-glk:          PASS -> FAIL [fdo#103166] +3

  * igt@kms_sysfs_edid_timing:
    - shard-apl:          NOTRUN -> FAIL [fdo#100047]

  
#### Possible fixes ####

  * igt@gem_exec_fence@basic-await-default:
    - shard-hsw:          FAIL [fdo#108888] -> PASS

  * igt@gem_userptr_blits@readonly-unsync:
    - shard-apl:          INCOMPLETE [fdo#103927] -> PASS

  * igt@kms_color@pipe-b-ctm-max:
    - shard-apl:          FAIL [fdo#108147] -> PASS

  * igt@kms_cursor_crc@cursor-128x42-onscreen:
    - shard-glk:          FAIL [fdo#103232] -> PASS +1

  * igt@kms_cursor_crc@cursor-64x21-random:
    - shard-apl:          FAIL [fdo#103232] -> PASS +6

  * igt@kms_cursor_crc@cursor-64x64-sliding:
    - shard-kbl:          FAIL [fdo#103232] -> PASS +1

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-glk:          FAIL [fdo#105363] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
    - shard-kbl:          FAIL [fdo#103167] -> PASS +1
    - shard-glk:          FAIL [fdo#103167] -> PASS +1

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-apl:          FAIL [fdo#103167] -> PASS +4

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite:
    - shard-snb:          INCOMPLETE [fdo#105411] / [fdo#107469] -> SKIP

  * igt@kms_plane@pixel-format-pipe-a-planes-source-clamping:
    - shard-apl:          FAIL [fdo#108948] -> PASS

  * igt@kms_plane@plane-position-covered-pipe-a-planes:
    - shard-kbl:          FAIL [fdo#103166] -> PASS

  * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
    - shard-glk:          FAIL [fdo#108145] -> PASS +2

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-y:
    - shard-glk:          FAIL [fdo#103166] -> PASS +3

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-y:
    - shard-apl:          FAIL [fdo#103166] -> PASS

  * igt@kms_setmode@basic:
    - shard-kbl:          FAIL [fdo#99912] -> PASS

  * igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend:
    - shard-kbl:          INCOMPLETE [fdo#103665] -> PASS

  
#### Warnings ####

  * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
    - shard-kbl:          DMESG-FAIL [fdo#108950] -> DMESG-WARN [fdo#105604]

  
  [fdo#100047]: https://bugs.freedesktop.org/show_bug.cgi?id=100047
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104873]: https://bugs.freedesktop.org/show_bug.cgi?id=104873
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#105604]: https://bugs.freedesktop.org/show_bug.cgi?id=105604
  [fdo#107469]: https://bugs.freedesktop.org/show_bug.cgi?id=107469
  [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108147]: https://bugs.freedesktop.org/show_bug.cgi?id=108147
  [fdo#108888]: https://bugs.freedesktop.org/show_bug.cgi?id=108888
  [fdo#108948]: https://bugs.freedesktop.org/show_bug.cgi?id=108948
  [fdo#108950]: https://bugs.freedesktop.org/show_bug.cgi?id=108950
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (7 -> 5)
------------------------------

  Missing    (2): shard-skl shard-iclb 


Build changes
-------------

    * IGT: IGT_4749 -> IGTPW_2166
    * Piglit: piglit_4509 -> None

  CI_DRM_5327: 2c09c998f9503f26757bcfd16aca1f2317eca4f4 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2166: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2166/
  IGT_4749: 270da20849db4d170db09673c6b67712c90ec9fe @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2166/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* [igt-dev] ✗ Fi.CI.IGT: failure for tests/kms_rotation: align rendered image correctly for rotation
From: Patchwork @ 2018-12-18 16:44 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: igt-dev
In-Reply-To: <1545132603-15616-1-git-send-email-juhapekka.heikkila@gmail.com>

== Series Details ==

Series: tests/kms_rotation: align rendered image correctly for rotation
URL   : https://patchwork.freedesktop.org/series/54202/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_5326_full -> IGTPW_2165_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_2165_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2165_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/54202/revisions/1/mbox/

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_2165_full:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_rotation_crc@multiplane-rotation:
    - shard-kbl:          PASS -> DMESG-FAIL

  * igt@prime_busy@wait-hang-render:
    - shard-glk:          PASS -> FAIL

  
#### Warnings ####

  * igt@pm_rc6_residency@rc6-accuracy:
    - shard-snb:          PASS -> SKIP

  
Known issues
------------

  Here are the changes found in IGTPW_2165_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_available_modes_crc@available_mode_test_crc:
    - shard-apl:          PASS -> FAIL [fdo#106641]

  * igt@kms_color@pipe-b-degamma:
    - shard-apl:          PASS -> FAIL [fdo#104782]

  * igt@kms_cursor_crc@cursor-256x85-onscreen:
    - shard-glk:          PASS -> FAIL [fdo#103232] +3

  * igt@kms_cursor_crc@cursor-256x85-random:
    - shard-apl:          PASS -> FAIL [fdo#103232] +5

  * igt@kms_cursor_crc@cursor-64x64-random:
    - shard-kbl:          PASS -> FAIL [fdo#103232]

  * igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic:
    - shard-glk:          PASS -> FAIL [fdo#104873]

  * igt@kms_flip@modeset-vs-vblank-race-interruptible:
    - shard-glk:          PASS -> FAIL [fdo#103060]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite:
    - shard-apl:          PASS -> FAIL [fdo#103167] +1
    - shard-kbl:          PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
    - shard-glk:          PASS -> FAIL [fdo#103167] +3

  * igt@kms_plane@pixel-format-pipe-c-planes:
    - shard-glk:          PASS -> FAIL [fdo#103166] +1

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
    - shard-kbl:          PASS -> FAIL [fdo#108145]
    - shard-apl:          PASS -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max:
    - shard-glk:          PASS -> FAIL [fdo#108145] +1

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-yf:
    - shard-kbl:          PASS -> FAIL [fdo#103166]

  * igt@kms_rotation_crc@multiplane-rotation:
    - shard-glk:          PASS -> DMESG-FAIL [fdo#105763] / [fdo#106538]

  
#### Possible fixes ####

  * igt@gem_exec_schedule@preempt-queue-chain-blt:
    - shard-kbl:          DMESG-WARN [fdo#103558] / [fdo#105602] -> PASS +10

  * igt@gem_exec_suspend@basic-s4-devices:
    - shard-kbl:          DMESG-WARN [fdo#103558] / [fdo#105602] / [fdo#107139] -> PASS

  * igt@kms_cursor_crc@cursor-128x42-onscreen:
    - shard-glk:          FAIL [fdo#103232] -> PASS +2

  * igt@kms_cursor_crc@cursor-128x42-sliding:
    - shard-apl:          FAIL [fdo#103232] -> PASS +4

  * igt@kms_cursor_crc@cursor-64x64-sliding:
    - shard-kbl:          FAIL [fdo#103232] -> PASS +1

  * igt@kms_flip@modeset-vs-vblank-race-interruptible:
    - shard-kbl:          FAIL [fdo#103060] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
    - shard-kbl:          FAIL [fdo#103167] -> PASS +1

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
    - shard-glk:          FAIL [fdo#103167] -> PASS +2

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-apl:          FAIL [fdo#103167] -> PASS +3

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite:
    - shard-snb:          INCOMPLETE [fdo#105411] / [fdo#107469] -> SKIP

  * igt@kms_plane@pixel-format-pipe-c-planes:
    - shard-apl:          FAIL [fdo#103166] -> PASS +3

  * igt@kms_plane@plane-position-covered-pipe-a-planes:
    - shard-kbl:          FAIL [fdo#103166] -> PASS +1

  * igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb:
    - shard-apl:          FAIL [fdo#108145] -> PASS

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max:
    - shard-glk:          FAIL [fdo#108145] -> PASS +4

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-y:
    - shard-glk:          FAIL [fdo#103166] -> PASS +2

  * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
    - shard-kbl:          DMESG-WARN [fdo#105604] -> PASS

  
#### Warnings ####

  * igt@kms_plane_alpha_blend@pipe-b-alpha-7efc:
    - shard-kbl:          DMESG-FAIL [fdo#103558] / [fdo#105602] / [fdo#108145] -> FAIL [fdo#108145] / [fdo#108590]

  
  [fdo#103060]: https://bugs.freedesktop.org/show_bug.cgi?id=103060
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103558]: https://bugs.freedesktop.org/show_bug.cgi?id=103558
  [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
  [fdo#104873]: https://bugs.freedesktop.org/show_bug.cgi?id=104873
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#105602]: https://bugs.freedesktop.org/show_bug.cgi?id=105602
  [fdo#105604]: https://bugs.freedesktop.org/show_bug.cgi?id=105604
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#106538]: https://bugs.freedesktop.org/show_bug.cgi?id=106538
  [fdo#106641]: https://bugs.freedesktop.org/show_bug.cgi?id=106641
  [fdo#107139]: https://bugs.freedesktop.org/show_bug.cgi?id=107139
  [fdo#107469]: https://bugs.freedesktop.org/show_bug.cgi?id=107469
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108590]: https://bugs.freedesktop.org/show_bug.cgi?id=108590


Participating hosts (7 -> 5)
------------------------------

  Missing    (2): shard-skl shard-iclb 


Build changes
-------------

    * IGT: IGT_4749 -> IGTPW_2165
    * Piglit: piglit_4509 -> None

  CI_DRM_5326: 5d7cc41a8c0efbaec854faddf3e642963399f961 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2165: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2165/
  IGT_4749: 270da20849db4d170db09673c6b67712c90ec9fe @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2165/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_available_modes_crc: Fix handling of unknown single plane modes (rev8)
From: Patchwork @ 2018-12-18 14:58 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: igt-dev
In-Reply-To: <1541244532-3421-1-git-send-email-juhapekka.heikkila@gmail.com>

== Series Details ==

Series: tests/kms_available_modes_crc: Fix handling of unknown single plane modes (rev8)
URL   : https://patchwork.freedesktop.org/series/52000/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5329 -> IGTPW_2168
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/52000/revisions/8/mbox/

Known issues
------------

  Here are the changes found in IGTPW_2168 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_create@basic-files:
    - fi-bsw-kefka:       PASS -> DMESG-FAIL [fdo#108656]

  * igt@i915_selftest@live_hangcheck:
    - fi-bwr-2160:        PASS -> DMESG-FAIL [fdo#108735]

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       PASS -> FAIL [fdo#108767]

  * igt@kms_flip@basic-flip-vs-dpms:
    - fi-icl-u3:          NOTRUN -> DMESG-WARN [fdo#108924] / [fdo#109044]

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
    - fi-byt-clapper:     PASS -> FAIL [fdo#103191] / [fdo#107362]

  * {igt@runner@aborted}:
    - fi-icl-u3:          NOTRUN -> FAIL [fdo#108924]
    - fi-bsw-kefka:       NOTRUN -> FAIL [fdo#108656]

  
#### Possible fixes ####

  * igt@i915_selftest@live_hangcheck:
    - fi-kbl-7560u:       INCOMPLETE [fdo#108044] -> PASS

  * igt@kms_frontbuffer_tracking@basic:
    - fi-hsw-peppy:       DMESG-WARN [fdo#102614] -> PASS

  * igt@kms_pipe_crc_basic@read-crc-pipe-b:
    - fi-byt-clapper:     FAIL [fdo#107362] -> PASS

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - fi-blb-e6850:       INCOMPLETE [fdo#107718] -> PASS

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108044]: https://bugs.freedesktop.org/show_bug.cgi?id=108044
  [fdo#108656]: https://bugs.freedesktop.org/show_bug.cgi?id=108656
  [fdo#108735]: https://bugs.freedesktop.org/show_bug.cgi?id=108735
  [fdo#108767]: https://bugs.freedesktop.org/show_bug.cgi?id=108767
  [fdo#108924]: https://bugs.freedesktop.org/show_bug.cgi?id=108924
  [fdo#109044]: https://bugs.freedesktop.org/show_bug.cgi?id=109044


Participating hosts (49 -> 45)
------------------------------

  Additional (1): fi-icl-u3 
  Missing    (5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 


Build changes
-------------

    * IGT: IGT_4749 -> IGTPW_2168

  CI_DRM_5329: d8d4894604cf5d18815a77ce187a89e18a7909a3 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2168: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2168/
  IGT_4749: 270da20849db4d170db09673c6b67712c90ec9fe @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2168/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* [igt-dev] [PATCH i-g-t] tests/kms_available_modes_crc: Fix handling of test comparisons
From: Juha-Pekka Heikkila @ 2018-12-18 14:40 UTC (permalink / raw)
  To: igt-dev
In-Reply-To: <1544792464-31120-1-git-send-email-juhapekka.heikkila@gmail.com>

Fixed handling of single plane modes so used bpp never get to
be 0 and ease off crc comparison a bit with gamma tables as
idea of this test is to see chosen modes are able to initialize.

Release output to PIPE_ANY at end of test per connector.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106641
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106701
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
 tests/kms_available_modes_crc.c | 119 ++++++++++++++++++++++------------------
 1 file changed, 66 insertions(+), 53 deletions(-)

diff --git a/tests/kms_available_modes_crc.c b/tests/kms_available_modes_crc.c
index 45a4775..c56c63d 100644
--- a/tests/kms_available_modes_crc.c
+++ b/tests/kms_available_modes_crc.c
@@ -54,6 +54,12 @@ typedef struct {
 
 	igt_crc_t cursor_crc;
 	igt_crc_t fullscreen_crc;
+
+	/*
+	 * If there's unknown format setting up mode can fail
+	 * without failing entire test.
+	 */
+	bool allow_fail;
 } data_t;
 
 
@@ -120,7 +126,6 @@ static void generate_comparison_crc_list(data_t *data, igt_output_t *output)
 
 static const struct {
 	uint32_t	fourcc;
-	char		zeropadding;
 	enum		{ BYTES_PP_1=1,
 				BYTES_PP_2=2,
 				BYTES_PP_4=4,
@@ -129,42 +134,33 @@ static const struct {
 				SKIP4 } bpp;
 	uint32_t	value;
 } fillers[] = {
-	{ DRM_FORMAT_C8, 0, BYTES_PP_1, 0xff},
-	{ DRM_FORMAT_RGB565, 0, BYTES_PP_2, 0xffff},
-	{ DRM_FORMAT_XRGB8888, 0, BYTES_PP_4, 0xffffffff},
-	{ DRM_FORMAT_XBGR8888, 0, BYTES_PP_4, 0xffffffff},
-
-	/*
-	 * following two are skipped because blending seems to work
-	 * incorrectly with exception of AR24 on cursor plane.
-	 * Test still creates the planes, just filling plane
-	 * and getting crc is skipped.
-	 */
-	{ DRM_FORMAT_ARGB8888, 0, SKIP4, 0xffffffff},
-	{ DRM_FORMAT_ABGR8888, 0, SKIP4, 0x00ffffff},
-
-	{ DRM_FORMAT_XRGB2101010, 0, BYTES_PP_4, 0xffffffff},
-	{ DRM_FORMAT_XBGR2101010, 0, BYTES_PP_4, 0xffffffff},
-
-	{ DRM_FORMAT_YUYV, 0, BYTES_PP_4, 0x80eb80eb},
-	{ DRM_FORMAT_YVYU, 0, BYTES_PP_4, 0x80eb80eb},
-	{ DRM_FORMAT_VYUY, 0, BYTES_PP_4, 0xeb80eb80},
-	{ DRM_FORMAT_UYVY, 0, BYTES_PP_4, 0xeb80eb80},
+	{ DRM_FORMAT_C8, BYTES_PP_1, 0xff},
+	{ DRM_FORMAT_RGB565, BYTES_PP_2, 0xffff},
+	{ DRM_FORMAT_XRGB8888, BYTES_PP_4, 0xffffffff},
+	{ DRM_FORMAT_XBGR8888, BYTES_PP_4, 0xffffffff},
+	{ DRM_FORMAT_ARGB8888, BYTES_PP_4, 0xffffffff},
+	{ DRM_FORMAT_ABGR8888, BYTES_PP_4, 0x00ffffff},
+	{ DRM_FORMAT_XRGB2101010, BYTES_PP_4, 0xffffffff},
+	{ DRM_FORMAT_XBGR2101010, BYTES_PP_4, 0xffffffff},
+	{ DRM_FORMAT_YUYV, BYTES_PP_4, 0x80eb80eb},
+	{ DRM_FORMAT_YVYU, BYTES_PP_4, 0x80eb80eb},
+	{ DRM_FORMAT_VYUY, BYTES_PP_4, 0xeb80eb80},
+	{ DRM_FORMAT_UYVY, BYTES_PP_4, 0xeb80eb80},
 
 	/*
 	 * (semi-)planar formats
 	 */
-	{ DRM_FORMAT_NV12, 0, NV12, 0x80eb},
+	{ DRM_FORMAT_NV12, NV12, 0x80eb},
 #ifdef DRM_FORMAT_P010
-	{ DRM_FORMAT_P010, 0, P010, 0x8000eb00},
+	{ DRM_FORMAT_P010, P010, 0x8000eb00},
 #endif
 #ifdef DRM_FORMAT_P012
-	{ DRM_FORMAT_P012, 0, P010, 0x8000eb00},
+	{ DRM_FORMAT_P012, P010, 0x8000eb00},
 #endif
 #ifdef DRM_FORMAT_P016
-	{ DRM_FORMAT_P016, 0, P010, 0x8000eb00},
+	{ DRM_FORMAT_P016, P010, 0x8000eb00},
 #endif
-	{ 0, 0, 0, 0 }
+	{ 0, SKIP4, 0 }
 };
 
 /*
@@ -221,24 +217,9 @@ static bool fill_in_fb(data_t *data, igt_output_t *output, igt_plane_t *plane,
 		writesize = data->size+data->size/2;
 		break;
 	case SKIP4:
-		if (fillers[i].fourcc == DRM_FORMAT_ARGB8888 &&
-		    plane->type == DRM_PLANE_TYPE_CURSOR) {
-		/*
-		 * special for cursor plane where blending works correctly.
-		 */
-			ptemp_32_buf = (unsigned int*)data->buf;
-			for (c = 0; c < data->size/4; c++)
-				ptemp_32_buf[c] = fillers[i].value;
-			writesize = data->size;
-			break;
-		}
-		igt_info("Format %s CRC comparison skipped by design.\n",
-			 (char*)&fillers[i].fourcc);
-
-		return false;
 	default:
-		igt_info("Unsupported mode for test %s\n",
-			 (char*)&fillers[i].fourcc);
+		igt_info("Unsupported mode for testing CRC %.4s\n",
+			 (char*)&format);
 		return false;
 	}
 
@@ -261,6 +242,8 @@ static bool setup_fb(data_t *data, igt_output_t *output, igt_plane_t *plane,
 	int bpp = 0;
 	int i;
 
+	data->allow_fail = false;
+
 	mode = igt_output_get_mode(output);
 	if (plane->type != DRM_PLANE_TYPE_CURSOR) {
 		w = mode->hdisplay;
@@ -289,6 +272,8 @@ static bool setup_fb(data_t *data, igt_output_t *output, igt_plane_t *plane,
 		break;
 
 	case SKIP4:
+		data->allow_fail = true;
+		/* fall through */
 	case BYTES_PP_4:
 		bpp = 32;
 		break;
@@ -412,7 +397,8 @@ test_one_mode(data_t* data, igt_output_t *output, igt_plane_t* plane,
 					igt_warn("crc mismatch. target %.8s, result %.8s.\n", crccompare[0], crccompare[1]);
 					free(crccompare[0]);
 					free(crccompare[1]);
-					rVal++;
+					if (!data->allow_fail)
+						rVal++;
 				}
 			} else {
 				if (!igt_check_crc_equal(&current_crc,
@@ -422,14 +408,15 @@ test_one_mode(data_t* data, igt_output_t *output, igt_plane_t* plane,
 					igt_warn("crc mismatch. target %.8s, result %.8s.\n", crccompare[0], crccompare[1]);
 					free(crccompare[0]);
 					free(crccompare[1]);
-					rVal++;
+					if (!data->allow_fail)
+						rVal++;
 				}
 			}
 		}
 		remove_fb(data, output, plane);
 		return rVal;
 	}
-	return 1;
+	return data->allow_fail ? 0 : 1;
 }
 
 
@@ -440,14 +427,39 @@ test_available_modes(data_t* data)
 	igt_plane_t *plane;
 	int modeindex;
 	enum pipe pipe;
-	int invalids = 0;
+	int failed_crcs = 0, i, lut_size;
 	drmModePlane *modePlane;
 	char planetype[3][8] = {"OVERLAY\0", "PRIMARY\0", "CURSOR\0" };
 
+	struct {
+		uint16_t red;
+		uint16_t green;
+		uint16_t blue;
+		uint16_t reserved;
+	} *lut;
+
 	for_each_pipe_with_valid_output(&data->display, pipe, output) {
+		igt_display_reset(&data->display);
 		igt_output_set_pipe(output, pipe);
 		igt_display_commit2(&data->display, data->commit);
 
+		if (igt_pipe_obj_has_prop(&data->display.pipes[pipe], IGT_CRTC_GAMMA_LUT_SIZE)) {
+			lut_size = igt_pipe_get_prop(&data->display, pipe,
+						     IGT_CRTC_GAMMA_LUT_SIZE);
+			lut = calloc(sizeof(*lut), lut_size);
+
+			for (i = 0; i < lut_size; i++) {
+				lut[i].red = (i * 0xffff / (lut_size - 1)) & 0xfc00;
+				lut[i].green = (i * 0xffff / (lut_size - 1)) & 0xfc00;
+				lut[i].blue = (i * 0xffff / (lut_size - 1)) & 0xfc00;
+			}
+
+			igt_pipe_replace_prop_blob(&data->display, pipe,
+						   IGT_CRTC_GAMMA_LUT,
+						   lut, sizeof(*lut) * lut_size);
+			free(lut);
+		}
+
 		data->pipe_crc = igt_pipe_crc_new(data->gfx_fd, pipe,
 						  INTEL_PIPE_CRC_SOURCE_AUTO);
 
@@ -475,17 +487,18 @@ test_available_modes(data_t* data)
 					 planetype[plane->type],
 					 (char*)&data->format.name);
 
-				invalids += test_one_mode(data, output,
-							  plane,
-							  modePlane->formats[modeindex]);
+				failed_crcs += test_one_mode(data, output,
+							     plane,
+							     modePlane->formats[modeindex]);
 			}
 			drmModeFreePlane(modePlane);
 		}
 		igt_pipe_crc_stop(data->pipe_crc);
 		igt_pipe_crc_free(data->pipe_crc);
-		igt_display_commit2(&data->display, data->commit);
+
+		igt_output_set_pipe(output, PIPE_ANY);
 	}
-	igt_assert(invalids == 0);
+	igt_assert(failed_crcs == 0);
 }
 
 
-- 
2.7.4

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related

* Re: [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module
From: Daniel Vetter @ 2018-12-18 13:33 UTC (permalink / raw)
  To: Lucas De Marchi, Daniel Vetter, Rodrigo Siqueira, igt-dev,
	Gustavo F. Padovan, intel-gfx, Chris Wilson
In-Reply-To: <20181218120821.GT17124@platvala-desk.ger.corp.intel.com>

On Tue, Dec 18, 2018 at 02:08:21PM +0200, Petri Latvala wrote:
> On Mon, Dec 17, 2018 at 09:22:31AM -0800, Lucas De Marchi wrote:
> > On Mon, Dec 17, 2018 at 7:49 AM Daniel Vetter <daniel@ffwll.ch> wrote:
> > >
> > > On Wed, Sep 05, 2018 at 05:38:27PM -0300, Rodrigo Siqueira wrote:
> > > > This commit adds a new option for forcing the use of a specific driver
> > > > indicated via an environment variable.
> > > >
> > > > Changes since V1:
> > > >  Petri:
> > > >  - Use an environment variable instead of command line
> > > >  - Refactor the loop in __search_and_open to accept forced module
> > > >  - Don't try to load kernel modules
> > > >
> > > > Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
> > >
> > > Note: You can't drop the s-o-b line if your patch contains work by other
> > > people, like from Petri here. Proper way to resend a patch by someone else
> > > is to just add a subject prefix of "PATCH RESEND" and otherwise keep
> > > everything unchanged (including author and everything).
> > >
> > > https://patchwork.freedesktop.org/patch/245532/
> > 
> > Last time I was told I have to _add_ my s-o-b nonetheless, even if
> > just re-sending the patch.
> > I don't think I should, but in the end I had to change the series, add
> > and change patches,
> > so it didn't matter.
> 
> 
> Communication error here? Rodrigo's resend didn't have my S-o-b,
> that's what Daniel was pointing at. Removing S-o-b is never
> ok. Whether it's correct and/or required to add your own S-o-b to
> resends is another matter.

Correct.

> > Maybe we need some clarification on this?
> > 
> > https://lists.freedesktop.org/archives/intel-gfx/2018-November/183291.html
> 
> That was about a kernel patch, and kernel patches are _very_ strict
> about having to add your S-o-b.

Yes, for the kernel even just sending a patch around by someone, even if
you change nothing, needs your sob.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_rotation: align rendered image correctly for rotation (rev2)
From: Patchwork @ 2018-12-18 13:19 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: igt-dev
In-Reply-To: <1545132603-15616-1-git-send-email-juhapekka.heikkila@gmail.com>

== Series Details ==

Series: tests/kms_rotation: align rendered image correctly for rotation (rev2)
URL   : https://patchwork.freedesktop.org/series/54202/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5327 -> IGTPW_2167
====================================================

Summary
-------

  **WARNING**

  Minor unknown changes coming with IGTPW_2167 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2167, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/54202/revisions/2/mbox/

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_2167:

### IGT changes ###

#### Warnings ####

  * igt@kms_busy@basic-flip-a:
    - fi-kbl-7567u:       SKIP -> PASS +2

  
Known issues
------------

  Here are the changes found in IGTPW_2167 that come from known issues:

### IGT changes ###

#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-blb-e6850:       INCOMPLETE [fdo#107718] -> PASS

  * igt@i915_selftest@live_hangcheck:
    - fi-bwr-2160:        DMESG-FAIL [fdo#108735] -> PASS

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       FAIL [fdo#108767] -> PASS

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
    - fi-byt-clapper:     FAIL [fdo#107362] -> PASS

  
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108735]: https://bugs.freedesktop.org/show_bug.cgi?id=108735
  [fdo#108767]: https://bugs.freedesktop.org/show_bug.cgi?id=108767


Participating hosts (51 -> 45)
------------------------------

  Missing    (6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-icl-y 


Build changes
-------------

    * IGT: IGT_4749 -> IGTPW_2167

  CI_DRM_5327: 2c09c998f9503f26757bcfd16aca1f2317eca4f4 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2167: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2167/
  IGT_4749: 270da20849db4d170db09673c6b67712c90ec9fe @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2167/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* [igt-dev] [PATCH i-g-t] tests/kms_rotation: align rendered image correctly for rotation
From: Juha-Pekka Heikkila @ 2018-12-18 12:58 UTC (permalink / raw)
  To: igt-dev
In-Reply-To: <1545132603-15616-1-git-send-email-juhapekka.heikkila@gmail.com>

rendered test image had off-by-one error in size calculation
which was failing some tests on certain resolutions and plane
sizes.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109016
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
 tests/kms_rotation_crc.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
index c67f608..796115a 100644
--- a/tests/kms_rotation_crc.c
+++ b/tests/kms_rotation_crc.c
@@ -126,6 +126,9 @@ paint_squares(data_t *data, igt_rotation_t rotation,
 	unsigned int h = fb->height;
 	rgb_color_t tl, tr, bl, br;
 
+	igt_assert_f(!(w&1), "rotation image must be even width, now attempted %d\n", w);
+	igt_assert_f(!(h&1), "rotation image must be even height, now attempted %d\n", h);
+
 	cr = igt_get_cairo_ctx(data->gfx_fd, fb);
 
 	set_color(&tl, o, 0.0f, 0.0f);
@@ -439,8 +442,12 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
 		planes[c].plane = igt_output_get_plane_type(output,
 							    planeinfo[c].planetype);
 
-		w = planeinfo[c].width;
-		h = planeinfo[c].height;
+		/*
+		 * make plane and fb width and height always even due to
+		 * test image rendering
+		 */
+		w = planeinfo[c].width & ~1;
+		h = planeinfo[c].height & ~1;
 
 		if (planeinfo[c].rotation_sw & (IGT_ROTATION_90 | IGT_ROTATION_270))
 			igt_swap(w, h);
-- 
2.7.4

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related

* Re: [igt-dev] [PATCH i-g-t v13] lib/igt_fb: Added XYUV format support for testing
From: Maarten Lankhorst @ 2018-12-18 12:56 UTC (permalink / raw)
  To: Stanislav Lisovskiy, igt-dev; +Cc: ville.syrjala, martin.peres
In-Reply-To: <20181217143028.19331-1-stanislav.lisovskiy@intel.com>

Op 17-12-2018 om 15:30 schreef Stanislav Lisovskiy:
> XYUV format support has been added to DRM, modified
> IGT to reflect those changes.
>
> v2: Fixed merge conflict, started to use new yuv<=>rgb
>     conversion functions.
>
> v3: Fixed kms_available_modes_crc test to support new XYUV
>     format. Fixed a problem, where test complains that two
>     outputs might use same pipe at the same time.
>
> v4: Fixed convertion procedure in igt_fb to support XYUV
>     properly.
>
> v5: Fixed a coding typo.
>
> v6: Set depth equal to -1 for XYUV format in order to prevent
>     it to be used by igt_bpp_depth_to_drm_format, as we do not
>     want YUV formats to be used in that case.
>
> v7: Fix "black" color initialization for create_bo_for_fb with
>     proper value. Changed naming "planar_stride" to "xyuv_stride".
>
> v8: Change naming from DRM_FORMAT_XYUV to DRM_FORMAT_XYUV8888
>
> v9: Fixed compilation errors by rebasing to recent master.
>
> v10: Adding reference to correspondent kernel commit with the new format
>      in include/drm-uapi
>
> v11: Removed unnecessary sizeof's in rgb <=> yuv444 convert functions.
>
> v12: Rebased against master branch, fixed rebase conflict caused by
>      new fb_convert functions. Removed drm kernel commit reference
>      as it is still not merged, so doesn't make sense to use it.
>
> v13: Resolved one more rebase conflict.
>
> Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> ---
>  include/drm-uapi/drm_fourcc.h |  2 +-
>  lib/igt_fb.c                  | 89 +++++++++++++++++++++++++++++++++++
>  2 files changed, 90 insertions(+), 1 deletion(-)
>
> diff --git a/include/drm-uapi/drm_fourcc.h b/include/drm-uapi/drm_fourcc.h
> index 0b44260a..4ddf754b 100644
> --- a/include/drm-uapi/drm_fourcc.h
> +++ b/include/drm-uapi/drm_fourcc.h
> @@ -151,7 +151,7 @@ extern "C" {
>  #define DRM_FORMAT_VYUY		fourcc_code('V', 'Y', 'U', 'Y') /* [31:0] Y1:Cb0:Y0:Cr0 8:8:8:8 little endian */
>  
>  #define DRM_FORMAT_AYUV		fourcc_code('A', 'Y', 'U', 'V') /* [31:0] A:Y:Cb:Cr 8:8:8:8 little endian */
> -#define DRM_FORMAT_XYUV8888		fourcc_code('X', 'Y', 'U', 'V') /* [31:0] X:Y:Cb:Cr 8:8:8:8 little endian */
> +#define DRM_FORMAT_XYUV8888	fourcc_code('X', 'Y', 'U', 'V') /* [31:0] X:Y:Cb:Cr 8:8:8:8 little endian */
>  
>  /*
>   * packed YCbCr420 2x2 tiled formats
> diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> index 2462d6ba..57264844 100644
> --- a/lib/igt_fb.c
> +++ b/lib/igt_fb.c
> @@ -102,6 +102,10 @@ static const struct format_desc_struct {
>  	  .pixman_id = PIXMAN_r8g8b8,
>  	  .num_planes = 1, .plane_bpp = { 24, },
>  	},
> +	{ .name = "XYUV8888", .depth = -1, .drm_id = DRM_FORMAT_XYUV8888,
> +	  .cairo_id = CAIRO_FORMAT_RGB24,
> +	  .num_planes = 1, .plane_bpp = { 32, },
> +	},
>  	{ .name = "XRGB8888", .depth = 24, .drm_id = DRM_FORMAT_XRGB8888,
>  	  .cairo_id = CAIRO_FORMAT_RGB24,
>  	  .pixman_id = PIXMAN_x8r8g8b8,
> @@ -496,6 +500,10 @@ static int create_bo_for_fb(struct igt_fb *fb)
>  				       0x80,
>  				       fb->strides[1] * fb->plane_height[1]);
>  				break;
> +			case DRM_FORMAT_XYUV8888:
> +				wmemset(ptr + fb->offsets[0], full_range ? 0x00008080 : 0x00108080,
> +					fb->strides[0] * fb->plane_height[0] / sizeof(wchar_t));
> +				break;
>  			case DRM_FORMAT_YUYV:
>  			case DRM_FORMAT_YVYU:
>  				wmemset(ptr + fb->offsets[0],
> @@ -1649,6 +1657,79 @@ static void convert_nv12_to_rgb24(struct fb_convert *cvt)
>  	convert_src_put(cvt, buf);
>  }
>  
> +static void convert_yuv444_to_rgb24(struct fb_convert *cvt)
> +{
> +	int i, j;
> +	uint8_t *yuv24;
> +	uint8_t *rgb24 = cvt->dst.ptr;
> +	unsigned rgb24_stride = cvt->dst.fb->strides[0], xyuv_stride = cvt->src.fb->strides[0];
> +	uint8_t *buf = malloc(cvt->src.fb->size);
> +	struct igt_mat4 m = igt_ycbcr_to_rgb_matrix(cvt->src.fb->color_encoding,
> +						    cvt->src.fb->color_range);
> +
> +	/*
> +	 * Reading from the BO is awfully slow because of lack of read caching,
> +	 * it's faster to copy the whole BO to a temporary buffer and convert
> +	 * from there.
> +	 */
> +	igt_memcpy_from_wc(buf, cvt->src.ptr + cvt->src.fb->offsets[0], cvt->src.fb->size);
> +	yuv24 = buf;
> +
> +	for (i = 0; i < cvt->dst.fb->height; i++) {
> +		for (j = 0; j < cvt->dst.fb->width; j++) {
> +			float y, u, v;
> +			struct igt_vec4 yuv;
> +			struct igt_vec4 rgb;
> +
> +			v = yuv24[i * xyuv_stride + j * 4];
> +			u = yuv24[i * xyuv_stride + j * 4 + 1];
> +			y = yuv24[i * xyuv_stride + j * 4 + 2];
> +			yuv.d[0] = y;
> +			yuv.d[1] = u;
> +			yuv.d[2] = v;
> +			yuv.d[3] = 1.0f;
> +
> +			rgb = igt_matrix_transform(&m, &yuv);
> +
> +			write_rgb(&rgb24[i * rgb24_stride + j * 4], &rgb);
> +		}
> +	}
> +
> +	free(buf);
> +}
> +
> +
> +static void convert_rgb24_to_yuv444(struct fb_convert *cvt)
> +{
> +	int i, j;
> +	uint8_t *rgb24;
> +	uint8_t *yuv444 = cvt->dst.ptr + cvt->dst.fb->offsets[0];
> +	unsigned int rgb24_stride = cvt->src.fb->strides[0], xyuv_stride = cvt->dst.fb->strides[0];
> +	struct igt_mat4 m = igt_rgb_to_ycbcr_matrix(cvt->dst.fb->color_encoding,
> +						    cvt->dst.fb->color_range);
> +
> +	rgb24 = cvt->src.ptr;
> +
> +	igt_assert_f(cvt->dst.fb->drm_format == DRM_FORMAT_XYUV8888,
> +		     "Conversion not implemented for !XYUV packed formats\n");
> +
> +	for (i = 0; i < cvt->dst.fb->height; i++) {
> +		for (j = 0; j < cvt->dst.fb->width; j++) {
> +			struct igt_vec4 rgb;
> +			struct igt_vec4 yuv;
> +			float y, u, v;
> +
> +			read_rgb(&rgb, &rgb24[i * rgb24_stride + j * 4]);
> +
> +			yuv = igt_matrix_transform(&m, &rgb);
> +
> +			yuv444[i * xyuv_stride + j * 4] = yuv.d[2];
> +			yuv444[i * xyuv_stride + j * 4 + 1] = yuv.d[1];
> +			yuv444[i * xyuv_stride + j * 4 + 2] = yuv.d[0];
> +		}
> +	}
> +}
> +
>  static void convert_rgb24_to_nv12(struct fb_convert *cvt)
>  {
>  	int i, j;
> @@ -1934,6 +2015,9 @@ static void fb_convert(struct fb_convert *cvt)
>  		return;
>  	} else if (cvt->dst.fb->drm_format == DRM_FORMAT_XRGB8888) {
>  		switch (cvt->src.fb->drm_format) {
> +		case DRM_FORMAT_XYUV8888:
> +			convert_yuv444_to_rgb24(cvt);
> +			return;
>  		case DRM_FORMAT_NV12:
>  			convert_nv12_to_rgb24(cvt);
>  			return;
> @@ -1946,6 +2030,9 @@ static void fb_convert(struct fb_convert *cvt)
>  		}
>  	} else if (cvt->src.fb->drm_format == DRM_FORMAT_XRGB8888) {
>  		switch (cvt->dst.fb->drm_format) {
> +		case DRM_FORMAT_XYUV8888:
> +			convert_rgb24_to_yuv444(cvt);
> +			return;
>  		case DRM_FORMAT_NV12:
>  			convert_rgb24_to_nv12(cvt);
>  			return;
> @@ -2037,6 +2124,7 @@ static void create_cairo_surface__convert(int fd, struct igt_fb *fb)
>  				    blit, destroy_cairo_surface__convert);
>  }
>  
> +
>  /**
>   * igt_fb_map_buffer:
>   * @fd: open drm file descriptor
> @@ -2302,6 +2390,7 @@ bool igt_format_is_yuv(uint32_t drm_format)
>  	case DRM_FORMAT_YVYU:
>  	case DRM_FORMAT_UYVY:
>  	case DRM_FORMAT_VYUY:
> +	case DRM_FORMAT_XYUV8888:
>  		return true;
>  	default:
>  		return false;

Would be nice if this was extended to AYUV as well, but oh well.

Pushed. :)

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* Re: [igt-dev] [PATCH i-g-t v3] Add support for forcing a specific driver
From: Rodrigo Siqueira @ 2018-12-18 12:46 UTC (permalink / raw)
  To: Petri Latvala; +Cc: igt-dev, gustavo
In-Reply-To: <20181218121941.29174-1-petri.latvala@intel.com>

Hi,

I tested the feature and everything worked as expected.

Thanks

Reviewed-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>

On 12/18, Petri Latvala wrote:
> This commit adds a new option for forcing the use of a specific driver
> indicated via an environment variable.
> 
> v2 (Petri):
>  - Use an environment variable instead of command line
>  - Refactor the loop in __open_device
>  - Don't try to load kernel modules
> 
> v3 (Petri):
>  - Rebase and adjust to the driver loading changes
> 
> Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
> Signed-off-by: Petri Latvala <petri.latvala@intel.com>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> Cc: gustavo@padovan.org
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> #v2
> ---
>  lib/drmtest.c  | 32 ++++++++++++++++++++++++++++++++
>  lib/drmtest.h  |  2 ++
>  lib/igt_core.c |  5 +++++
>  3 files changed, 39 insertions(+)
> 
> diff --git a/lib/drmtest.c b/lib/drmtest.c
> index d2aa1c19..35914c50 100644
> --- a/lib/drmtest.c
> +++ b/lib/drmtest.c
> @@ -123,6 +123,31 @@ static bool has_known_intel_chipset(int fd)
>  	return true;
>  }
>  
> +static char _forced_driver[16] = "";
> +
> +/**
> + * __set_forced_driver:
> + * @name: name of driver to forcibly use
> + *
> + * Set the name of a driver to use when calling #drm_open_driver with
> + * the #DRIVER_ANY flag.
> + */
> +void __set_forced_driver(const char *name)
> +{
> +	if (!name)
> +		igt_warn("No driver specified, keep default behaviour\n");
> +
> +	strncpy(_forced_driver, name, sizeof(_forced_driver) - 1);
> +}
> +
> +static const char *forced_driver(void)
> +{
> +	if (_forced_driver[0])
> +		return _forced_driver;
> +
> +	return NULL;
> +}
> +
>  #define LOCAL_I915_EXEC_VEBOX	(4 << 0)
>  /**
>   * gem_quiescent_gpu:
> @@ -212,6 +237,7 @@ static const struct module {
>  
>  static int open_device(const char *name, unsigned int chipset)
>  {
> +	const char *forced;
>  	char dev_name[16] = "";
>  	int chip = DRIVER_ANY;
>  	int fd;
> @@ -223,6 +249,12 @@ static int open_device(const char *name, unsigned int chipset)
>  	if (__get_drm_device_name(fd, dev_name, sizeof(dev_name) - 1) == -1)
>  		goto err;
>  
> +	forced = forced_driver();
> +	if (forced && chipset == DRIVER_ANY && !strcmp(forced, dev_name)) {
> +		igt_debug("Force option used: Using driver %s\n", dev_name);
> +		return fd;
> +	}
> +
>  	for (int start = 0, end = ARRAY_SIZE(modules) - 1; start < end; ){
>  		int mid = start + (end - start) / 2;
>  		int ret = strcmp(modules[mid].module, dev_name);
> diff --git a/lib/drmtest.h b/lib/drmtest.h
> index 96ee517e..8743b1bb 100644
> --- a/lib/drmtest.h
> +++ b/lib/drmtest.h
> @@ -52,6 +52,8 @@
>   */
>  #define DRIVER_ANY 	~(DRIVER_VGEM)
>  
> +void __set_forced_driver(const char *name);
> +
>  /**
>   * ARRAY_SIZE:
>   * @arr: static array
> diff --git a/lib/igt_core.c b/lib/igt_core.c
> index 64883d64..50d6008f 100644
> --- a/lib/igt_core.c
> +++ b/lib/igt_core.c
> @@ -647,6 +647,11 @@ static void common_init_env(void)
>  	igt_frame_dump_path = getenv("IGT_FRAME_DUMP_PATH");
>  
>  	stderr_needs_sentinel = getenv("IGT_SENTINEL_ON_STDERR") != NULL;
> +
> +	env = getenv("IGT_FORCE_DRIVER");
> +	if (env) {
> +		__set_forced_driver(env);
> +	}
>  }
>  
>  static int common_init(int *argc, char **argv,
> -- 
> 2.19.1
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* [igt-dev] ✓ Fi.CI.BAT: success for Add support for forcing a specific driver (rev2)
From: Patchwork @ 2018-12-18 12:42 UTC (permalink / raw)
  To: Petri Latvala; +Cc: igt-dev
In-Reply-To: <20181218121941.29174-1-petri.latvala@intel.com>

== Series Details ==

Series: Add support for forcing a specific driver (rev2)
URL   : https://patchwork.freedesktop.org/series/48548/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5327 -> IGTPW_2166
====================================================

Summary
-------

  **WARNING**

  Minor unknown changes coming with IGTPW_2166 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2166, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/48548/revisions/2/mbox/

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_2166:

### IGT changes ###

#### Warnings ####

  * igt@kms_busy@basic-flip-a:
    - fi-kbl-7567u:       SKIP -> PASS +2

  
Known issues
------------

  Here are the changes found in IGTPW_2166 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_create@basic-files:
    - fi-bsw-kefka:       PASS -> FAIL [fdo#108656]

  * igt@gem_exec_suspend@basic-s3:
    - fi-blb-e6850:       PASS -> INCOMPLETE [fdo#107718]

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - fi-byt-clapper:     PASS -> FAIL [fdo#103191] / [fdo#107362] +1

  
#### Possible fixes ####

  * igt@i915_selftest@live_hangcheck:
    - fi-bwr-2160:        DMESG-FAIL [fdo#108735] -> PASS

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
    - fi-byt-clapper:     FAIL [fdo#107362] -> PASS

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
    - fi-byt-clapper:     FAIL [fdo#103191] / [fdo#107362] -> PASS

  
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108656]: https://bugs.freedesktop.org/show_bug.cgi?id=108656
  [fdo#108735]: https://bugs.freedesktop.org/show_bug.cgi?id=108735


Participating hosts (51 -> 46)
------------------------------

  Missing    (5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 


Build changes
-------------

    * IGT: IGT_4749 -> IGTPW_2166

  CI_DRM_5327: 2c09c998f9503f26757bcfd16aca1f2317eca4f4 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2166: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2166/
  IGT_4749: 270da20849db4d170db09673c6b67712c90ec9fe @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2166/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* Re: [igt-dev] [PATCH i-g-t] tests/kms_rotation: align rendered image correctly for rotation
From: Juha-Pekka Heikkila @ 2018-12-18 12:33 UTC (permalink / raw)
  To: Chris Wilson, igt-dev
In-Reply-To: <154513420528.1108.5851380459326757601@skylake-alporthouse-com>

On 18.12.2018 13.56, Chris Wilson wrote:
> Quoting Juha-Pekka Heikkila (2018-12-18 11:30:03)
>> rendered test image had off-by-one error in size calculation
>> which was failing some tests on certain resolutions and plane
>> sizes.
>>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109016
>> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
>> ---
>>   tests/kms_rotation_crc.c | 11 +++++++++--
>>   1 file changed, 9 insertions(+), 2 deletions(-)
>>
>> diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
>> index c67f608..8edf9aa 100644
>> --- a/tests/kms_rotation_crc.c
>> +++ b/tests/kms_rotation_crc.c
>> @@ -126,6 +126,9 @@ paint_squares(data_t *data, igt_rotation_t rotation,
>>          unsigned int h = fb->height;
>>          rgb_color_t tl, tr, bl, br;
>>   
>> +       igt_assert_f(!(w&1), "rotation image must be even width, now attempted %d\n", w);
>> +       igt_assert_f(!(h&1), "rotation image must be even height, now attempted %d\n", h);
>> +
>>          cr = igt_get_cairo_ctx(data->gfx_fd, fb);
>>   
>>          set_color(&tl, o, 0.0f, 0.0f);
>> @@ -439,8 +442,12 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
>>                  planes[c].plane = igt_output_get_plane_type(output,
>>                                                              planeinfo[c].planetype);
>>   
>> -               w = planeinfo[c].width;
>> -               h = planeinfo[c].height;
>> +               /*
>> +                * make plane and fb width and height always even due to
>> +                * test image rendering
>> +                */
>> +               w = (planeinfo[c].width | 1) + 1;
>> +               h = (planeinfo[c].height | 1) + 1;
> 
> Is expanding safe? &~1 to trim instead?

I think expanding should be ok as fb is created on following lines but 
I'm fine both ways. I'll send new version.


/Juha-Pekka
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* [igt-dev] [PATCH i-g-t v3] Add support for forcing a specific driver
From: Petri Latvala @ 2018-12-18 12:19 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala, Rodrigo Siqueira, gustavo

This commit adds a new option for forcing the use of a specific driver
indicated via an environment variable.

v2 (Petri):
 - Use an environment variable instead of command line
 - Refactor the loop in __open_device
 - Don't try to load kernel modules

v3 (Petri):
 - Rebase and adjust to the driver loading changes

Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Cc: gustavo@padovan.org
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> #v2
---
 lib/drmtest.c  | 32 ++++++++++++++++++++++++++++++++
 lib/drmtest.h  |  2 ++
 lib/igt_core.c |  5 +++++
 3 files changed, 39 insertions(+)

diff --git a/lib/drmtest.c b/lib/drmtest.c
index d2aa1c19..35914c50 100644
--- a/lib/drmtest.c
+++ b/lib/drmtest.c
@@ -123,6 +123,31 @@ static bool has_known_intel_chipset(int fd)
 	return true;
 }
 
+static char _forced_driver[16] = "";
+
+/**
+ * __set_forced_driver:
+ * @name: name of driver to forcibly use
+ *
+ * Set the name of a driver to use when calling #drm_open_driver with
+ * the #DRIVER_ANY flag.
+ */
+void __set_forced_driver(const char *name)
+{
+	if (!name)
+		igt_warn("No driver specified, keep default behaviour\n");
+
+	strncpy(_forced_driver, name, sizeof(_forced_driver) - 1);
+}
+
+static const char *forced_driver(void)
+{
+	if (_forced_driver[0])
+		return _forced_driver;
+
+	return NULL;
+}
+
 #define LOCAL_I915_EXEC_VEBOX	(4 << 0)
 /**
  * gem_quiescent_gpu:
@@ -212,6 +237,7 @@ static const struct module {
 
 static int open_device(const char *name, unsigned int chipset)
 {
+	const char *forced;
 	char dev_name[16] = "";
 	int chip = DRIVER_ANY;
 	int fd;
@@ -223,6 +249,12 @@ static int open_device(const char *name, unsigned int chipset)
 	if (__get_drm_device_name(fd, dev_name, sizeof(dev_name) - 1) == -1)
 		goto err;
 
+	forced = forced_driver();
+	if (forced && chipset == DRIVER_ANY && !strcmp(forced, dev_name)) {
+		igt_debug("Force option used: Using driver %s\n", dev_name);
+		return fd;
+	}
+
 	for (int start = 0, end = ARRAY_SIZE(modules) - 1; start < end; ){
 		int mid = start + (end - start) / 2;
 		int ret = strcmp(modules[mid].module, dev_name);
diff --git a/lib/drmtest.h b/lib/drmtest.h
index 96ee517e..8743b1bb 100644
--- a/lib/drmtest.h
+++ b/lib/drmtest.h
@@ -52,6 +52,8 @@
  */
 #define DRIVER_ANY 	~(DRIVER_VGEM)
 
+void __set_forced_driver(const char *name);
+
 /**
  * ARRAY_SIZE:
  * @arr: static array
diff --git a/lib/igt_core.c b/lib/igt_core.c
index 64883d64..50d6008f 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -647,6 +647,11 @@ static void common_init_env(void)
 	igt_frame_dump_path = getenv("IGT_FRAME_DUMP_PATH");
 
 	stderr_needs_sentinel = getenv("IGT_SENTINEL_ON_STDERR") != NULL;
+
+	env = getenv("IGT_FORCE_DRIVER");
+	if (env) {
+		__set_forced_driver(env);
+	}
 }
 
 static int common_init(int *argc, char **argv,
-- 
2.19.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related

* Re: [igt-dev] [PATCH i-g-t] test/kms_dp_dsc: Basic KMS test to validate VESA DSC on DP/eDP
From: Petri Latvala @ 2018-12-18 12:12 UTC (permalink / raw)
  To: Srivatsa, Anusha
  Cc: igt-dev@lists.freedesktop.org, Navare, Manasi D,
	Pandiyan, Dhinakaran
In-Reply-To: <83F5C7385F545743AD4FB2A62F75B07347FC81EB@ORSMSX108.amr.corp.intel.com>

On Mon, Dec 17, 2018 at 09:44:26PM +0200, Srivatsa, Anusha wrote:
> 
> 
> >-----Original Message-----
> >From: Latvala, Petri
> >Sent: Monday, December 17, 2018 4:00 AM
> >To: Srivatsa, Anusha <anusha.srivatsa@intel.com>
> >Cc: igt-dev@lists.freedesktop.org; Navare, Manasi D
> ><manasi.d.navare@intel.com>; Argenziano, Antonio
> ><antonio.argenziano@intel.com>; Pandiyan, Dhinakaran
> ><dhinakaran.pandiyan@intel.com>; Ville Syrjälä <ville.syrjala@linux.intel.com>
> >Subject: Re: [PATCH i-g-t] test/kms_dp_dsc: Basic KMS test to validate VESA DSC
> >on DP/eDP
> >
> >On Wed, Dec 12, 2018 at 04:57:39PM -0800, Anusha wrote:
> >> From: Manasi Navare <manasi.d.navare@intel.com>
> >>
> >> This patch adds a basic kms test to validate the display stream
> >> compression functionality if supported on DP/eDP connector.
> >> Currently this has only two subtests to force the DSC on all the eDP
> >> and DP connectors that support it with default parameters.
> >> This will be expanded to add more subtests to tweak DSC parameters.
> >>
> >> v6: (from Anusha)
> >> * Fix run_test() (Petri)
> >> * Fix update_display() to avoid leaks. (Petri)
> >> v5:
> >> * Fix test cleanup to avoid crash (Petri)
> >> v4:
> >> * Future proof for more test types (Petri)
> >> * Fix alphabetical order (Petri)
> >> * s/igt_display_init/igt_display_require (Petri)
> >> * Remove blank lines after return (Petri)
> >> v3:
> >> * Use array of connectors and loop through (Petri)
> >> * Also check for FEC on DP connectors (Manasi)
> >> * Add a Pipe_A restriction on DP (Ville)
> >> v2:
> >> * Use IGT wrappers for all (DK, Antonio)
> >> * Split into two subtests for eDP and DP types (Petri)
> >>
> >> Cc: Petri Latvala <petri.latvala@intel.com>
> >> Cc: Antonio Argenziano <antonio.argenziano@intel.com>
> >> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> >> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >> Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
> >> Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com>
> >> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> >> ---
> >>  tests/Makefile.sources |   1 +
> >>  tests/kms_dp_dsc.c     | 264 +++++++++++++++++++++++++++++++++++++++++
> >>  tests/meson.build      |   1 +
> >>  3 files changed, 266 insertions(+)
> >>  create mode 100644 tests/kms_dp_dsc.c
> >>
> >> diff --git a/tests/Makefile.sources b/tests/Makefile.sources index
> >> eedde1e8..a3c24c99 100644
> >> --- a/tests/Makefile.sources
> >> +++ b/tests/Makefile.sources
> >> @@ -54,6 +54,7 @@ TESTS_progs = \
> >>  	kms_crtc_background_color \
> >>  	kms_cursor_crc \
> >>  	kms_cursor_legacy \
> >> +	kms_dp_dsc \
> >>  	kms_draw_crc \
> >>  	kms_fbcon_fbt \
> >>  	kms_fence_pin_leak \
> >> diff --git a/tests/kms_dp_dsc.c b/tests/kms_dp_dsc.c new file mode
> >> 100644 index 00000000..884a7717
> >> --- /dev/null
> >> +++ b/tests/kms_dp_dsc.c
> >> @@ -0,0 +1,264 @@
> >> +/*
> >> + * Copyright © 2018 Intel Corporation
> >> + *
> >> + * Permission is hereby granted, free of charge, to any person
> >> +obtaining a
> >> + * copy of this software and associated documentation files (the
> >> +"Software"),
> >> + * to deal in the Software without restriction, including without
> >> +limitation
> >> + * the rights to use, copy, modify, merge, publish, distribute,
> >> +sublicense,
> >> + * and/or sell copies of the Software, and to permit persons to whom
> >> +the
> >> + * Software is furnished to do so, subject to the following conditions:
> >> + *
> >> + * The above copyright notice and this permission notice (including
> >> +the next
> >> + * paragraph) shall be included in all copies or substantial portions
> >> +of the
> >> + * Software.
> >> + *
> >> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> >> +EXPRESS OR
> >> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> >> +MERCHANTABILITY,
> >> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO
> >EVENT
> >> +SHALL
> >> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
> >DAMAGES
> >> +OR OTHER
> >> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> >> +ARISING
> >> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> >> +OTHER DEALINGS
> >> + * IN THE SOFTWARE.
> >> + *
> >> + * Displayport Display Stream Compression test
> >> + * Until the CRC support is added this needs to be invoked with
> >> +--interactive
> >> + * to manually verify if the test pattern is seen without corruption
> >> +for each
> >> + * subtest.
> >> + *
> >> + * Authors:
> >> + * Manasi Navare <manasi.d.navare@intel.com>
> >> + *
> >> + */
> >> +#include "igt.h"
> >> +#include "igt_sysfs.h"
> >> +#include <errno.h>
> >> +#include <getopt.h>
> >> +#include <math.h>
> >> +#include <stdint.h>
> >> +#include <stdbool.h>
> >> +#include <strings.h>
> >> +#include <unistd.h>
> >> +#include <stdlib.h>
> >> +#include <signal.h>
> >> +#include <time.h>
> >> +#include <fcntl.h>
> >> +#include <termios.h>
> >> +
> >> +enum dsc_test_type
> >> +{
> >> +	test_basic_dsc_enable
> >> +};
> >> +
> >> +typedef struct {
> >> +	int drm_fd;
> >> +	int debugfs_fd;
> >> +	uint32_t id;
> >> +	igt_display_t display;
> >> +	struct igt_fb fb_test_pattern;
> >> +	igt_output_t *output;
> >> +	int mode_valid;
> >> +	drmModeModeInfo *mode;
> >> +	drmModeConnector *connector;
> >> +	drmModeEncoder *encoder;
> >> +	int crtc;
> >> +	enum pipe pipe;
> >> +	char conn_name[128];
> >> +} data_t;
> >> +
> >> +static inline void manual(const char *expected) {
> >> +	igt_debug_manual_check("all", expected); }
> >> +
> >> +static bool is_dp_dsc_supported(data_t *data) {
> >> +	char file_name[128] = {0};
> >> +	char buf[512];
> >> +
> >> +	strcpy(file_name, data->conn_name);
> >> +	strcat(file_name, "/i915_dsc_fec_support");
> >> +	igt_require(igt_debugfs_simple_read(data->debugfs_fd, file_name, buf,
> >> +					    sizeof(buf)) > 0);
> >> +	igt_debugfs_read(data->drm_fd, file_name, buf);
> >> +
> >> +	return strstr(buf, "DSC_Sink_Support: yes"); }
> >> +
> >> +static bool is_dp_fec_supported(data_t *data) {
> >> +	char file_name[128] = {0};
> >> +	char buf[512];
> >> +
> >> +	strcpy(file_name, data->conn_name);
> >> +	strcat(file_name, "/i915_dsc_fec_support");
> >> +	igt_debugfs_read(data->drm_fd, file_name, buf);
> >> +
> >> +	return strstr(buf, "FEC_Sink_Support: yes"); }
> >> +
> >> +static bool is_dp_dsc_enabled(data_t *data) {
> >> +	char file_name[128] = {0};
> >> +	char buf[512];
> >> +
> >> +	strcpy(file_name, data->conn_name);
> >> +	strcat(file_name, "/i915_dsc_fec_support");
> >> +	igt_debugfs_read(data->drm_fd, file_name, buf);
> >> +
> >> +	return strstr(buf, "DSC_Enabled: yes"); }
> >> +
> >> +static void force_dp_dsc_enable(data_t *data) {
> >> +	char file_name[128] = {0};
> >> +	int ret;
> >> +
> >> +	strcpy(file_name, data->conn_name);
> >> +	strcat(file_name, "/i915_dsc_fec_support");
> >> +	igt_debug ("Forcing DSC enable on %s\n", data->conn_name);
> >> +	ret = igt_sysfs_write(data->debugfs_fd, file_name, "1", 1);
> >> +	igt_assert_f(ret > 0, "debugfs_write failed"); }
> >> +
> >> +static void clear_dp_dsc_enable(data_t *data) {
> >> +	char file_name[128] = {0};
> >> +	int ret;
> >> +
> >> +	strcpy(file_name, data->conn_name);
> >> +	strcat(file_name, "/i915_dsc_fec_support");
> >> +	igt_debug ("Clearing DSC enable on %s\n", data->conn_name);
> >> +	ret = igt_sysfs_write(data->debugfs_fd, file_name, "0", 1);
> >> +	igt_assert_f(ret > 0, "debugfs_write failed"); }
> >> +
> >> +static void test_cleanup(data_t *data) {
> >> +	igt_plane_t *primary;
> >> +
> >> +	if (data->output) {
> >> +	primary = igt_output_get_plane_type(data->output,
> >> +					    DRM_PLANE_TYPE_PRIMARY);
> >> +	igt_plane_set_fb(primary, NULL);
> >> +	igt_display_commit(&data->display);
> >> +
> >> +	igt_remove_fb(data->drm_fd, &data->fb_test_pattern);
> >> +	}
> >> +}
> >
> >
> >Indentation on the if is wrong.
> 
> Oops...will fix it.
> 
> >
> >> +
> >> +
> >> +/*
> >> + * Re-probe connectors and do a modeset with DSC
> >> + *
> >> + */
> >> +static void update_display(data_t *data, enum dsc_test_type
> >> +test_type) {
> >> +	igt_plane_t *primary;
> >> +	data->mode = igt_output_get_mode(data->output);
> >> +	data->connector = data->output->config.connector;
> >> +
> >> +	if (data->connector->connector_type ==
> >DRM_MODE_CONNECTOR_DisplayPort &&
> >> +	    data->pipe == PIPE_A) {
> >> +		igt_debug ("DSC not supported on Pipe A on external DP\n");
> >> +		return;
> >> +	}
> >> +
> >> +	if (test_type == test_basic_dsc_enable) {
> >> +		igt_debug ("DSC is supported on %s\n",
> >> +			   data->conn_name);
> >> +		force_dp_dsc_enable(data);
> >> +		/* Clear the fb in order to avoid leaks */
> >> +		igt_remove_fb(data->drm_fd, &data->fb_test_pattern);
> >> +		igt_create_pattern_fb(data->drm_fd, data->mode->hdisplay,
> >> +				      data->mode->vdisplay,
> >> +				      DRM_FORMAT_XRGB8888,
> >> +				      LOCAL_DRM_FORMAT_MOD_NONE,
> >> +				      &data->fb_test_pattern);
> >> +		primary = igt_output_get_plane_type(data->output,
> >> +
> >DRM_PLANE_TYPE_PRIMARY);
> >> +		igt_plane_set_fb(primary, &data->fb_test_pattern);
> >> +		igt_display_commit(&data->display);
> >> +		/* Until we have CRC check support, manually check if RGB test
> >pattern has no corruption */
> >> +		manual ("RGB test pattern without corruption");
> >> +		igt_assert_f(is_dp_dsc_enabled(data),
> >> +			     "Default DSC enable failed on Connector: %s Pipe:
> >%s",
> >> +			     data->conn_name,
> >> +			     kmstest_pipe_name(data->pipe));
> >> +		clear_dp_dsc_enable(data);
> >> +	} else {
> >> +		igt_assert(!"Unknown test type\n");
> >> +	}
> >> +}
> >> +
> >> +static void run_test(data_t *data, igt_output_t *output,
> >> +		     enum dsc_test_type test_type)
> >> +{
> >> +	enum pipe pipe;
> >> +
> >> +	for_each_pipe_static(pipe) {
> >
> >
> >This doesn't need to be the _static loop, for_each_pipe(data->display, pipe) can
> >be used.
> 
> Hmmm...looking at both again, it says for_each_pipe_static() is to be used to enumerate per-pipe subtests and for_
> each_pipe() cannot be used to enumerate per-pipe subtests. So, if we want to add more subtests wont having _static be useful?


It means for_each_pipe_static is to be used if you're not inside an
igt_subtest or igt_fixture. Inside them you can use real runtime
information and for_each_pipe is ok.

In pseudocode, these are the use cases for the different forms:


for_each_pipe_static(pipe) {
 igt_subtest_f("do-things-on-pipe-%s", kmstest_pipe_name(pipe)) {
  ...
 }
}

igt_subtest("do-things") {
 for_each_pipe(...) {
  ...
 }
}


> 
> >
> >> +		if (igt_pipe_connector_valid(pipe, output)) {
> >> +			igt_output_set_pipe(output, pipe);
> >> +			data->pipe = pipe;
> >> +			data->output = output;
> >> +			update_display(data, test_type);
> >> +		}
> >> +	}
> >> +}
> >> +
> >> +igt_main
> >> +{
> >> +	data_t data = {};
> >> +	igt_output_t *output;
> >> +	drmModeRes *res;
> >> +	drmModeConnector *connector;
> >> +	int i, test_conn_cnt, test_cnt;
> >> +	int tests[] = {DRM_MODE_CONNECTOR_eDP,
> >> +DRM_MODE_CONNECTOR_DisplayPort};
> >> +
> >> +	igt_fixture {
> >> +		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
> >> +		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
> >> +		kmstest_set_vt_graphics_mode();
> >> +		igt_display_require(&data.display, data.drm_fd);
> >> +		//igt_display_require_output(&data.display);
> >> +		igt_require(res = drmModeGetResources(data.drm_fd));
> >> +	}
> >> +
> >> +	for (test_cnt = 0; test_cnt < ARRAY_SIZE(tests); test_cnt++) {
> >> +
> >> +		igt_subtest_f("basic-dsc-enable-%s",
> >> +			      kmstest_connector_type_str(tests[test_cnt])) {
> >> +			test_conn_cnt = 0;
> >> +			for (i = 0; i < res->count_connectors; i++) {
> >> +				connector =
> >drmModeGetConnectorCurrent(data.drm_fd,
> >> +								       res-
> >>connectors[i]);
> >> +				if (connector->connection !=
> >DRM_MODE_CONNECTED ||
> >> +				    connector->connector_type !=
> >> +				    tests[test_cnt])
> >> +					continue;
> >> +				test_conn_cnt++;
> >> +				output =
> >igt_output_from_connector(&data.display, connector);
> >> +				sprintf(data.conn_name, "%s-%d",
> >> +					kmstest_connector_type_str(connector-
> >>connector_type),
> >> +					test_conn_cnt);
> >> +				igt_require_f(is_dp_dsc_supported(&data),
> >> +					      "DSC not supported on connector %s
> >\n",
> >> +					      data.conn_name);
> >
> >This will make the subtest skip when checking DP-1, without trying
> >DP-2 at all. Is that intended?
> >
> No. it has to test for DP-2 as well..
> But even if the igt_require() here fails, the loop will move on to
> the next connector right?


No, it jumps out of the igt_subtest block, to the next iteration of
the outer loop, which loops over connector types.


-- 
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* Re: [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module
From: Petri Latvala @ 2018-12-18 12:08 UTC (permalink / raw)
  To: Lucas De Marchi
  Cc: Rodrigo Siqueira, Gustavo F. Padovan, intel-gfx, igt-dev,
	Daniel Vetter
In-Reply-To: <CAKi4VALZd18PghT8=xcMw9BLG4-5RM2+dKdaTECjG4BdrvmjZg@mail.gmail.com>

On Mon, Dec 17, 2018 at 09:22:31AM -0800, Lucas De Marchi wrote:
> On Mon, Dec 17, 2018 at 7:49 AM Daniel Vetter <daniel@ffwll.ch> wrote:
> >
> > On Wed, Sep 05, 2018 at 05:38:27PM -0300, Rodrigo Siqueira wrote:
> > > This commit adds a new option for forcing the use of a specific driver
> > > indicated via an environment variable.
> > >
> > > Changes since V1:
> > >  Petri:
> > >  - Use an environment variable instead of command line
> > >  - Refactor the loop in __search_and_open to accept forced module
> > >  - Don't try to load kernel modules
> > >
> > > Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
> >
> > Note: You can't drop the s-o-b line if your patch contains work by other
> > people, like from Petri here. Proper way to resend a patch by someone else
> > is to just add a subject prefix of "PATCH RESEND" and otherwise keep
> > everything unchanged (including author and everything).
> >
> > https://patchwork.freedesktop.org/patch/245532/
> 
> Last time I was told I have to _add_ my s-o-b nonetheless, even if
> just re-sending the patch.
> I don't think I should, but in the end I had to change the series, add
> and change patches,
> so it didn't matter.


Communication error here? Rodrigo's resend didn't have my S-o-b,
that's what Daniel was pointing at. Removing S-o-b is never
ok. Whether it's correct and/or required to add your own S-o-b to
resends is another matter.


> Maybe we need some clarification on this?
> 
> https://lists.freedesktop.org/archives/intel-gfx/2018-November/183291.html

That was about a kernel patch, and kernel patches are _very_ strict
about having to add your S-o-b.


-- 
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_rotation: align rendered image correctly for rotation
From: Patchwork @ 2018-12-18 12:00 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: igt-dev
In-Reply-To: <1545132603-15616-1-git-send-email-juhapekka.heikkila@gmail.com>

== Series Details ==

Series: tests/kms_rotation: align rendered image correctly for rotation
URL   : https://patchwork.freedesktop.org/series/54202/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5326 -> IGTPW_2165
====================================================

Summary
-------

  **WARNING**

  Minor unknown changes coming with IGTPW_2165 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2165, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/54202/revisions/1/mbox/

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_2165:

### IGT changes ###

#### Warnings ####

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-c:
    - fi-kbl-7567u:       PASS -> SKIP +33

  * igt@pm_rpm@basic-pci-d3-state:
    - fi-bsw-n3050:       SKIP -> PASS

  
Known issues
------------

  Here are the changes found in IGTPW_2165 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_create@basic-files:
    - fi-bsw-kefka:       PASS -> INCOMPLETE [fdo#105876] / [fdo#108714]

  * igt@kms_frontbuffer_tracking@basic:
    - fi-byt-clapper:     PASS -> FAIL [fdo#103167]

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
    - fi-byt-clapper:     PASS -> FAIL [fdo#103191] / [fdo#107362]

  
#### Possible fixes ####

  * igt@gem_exec_basic@basic-render:
    - fi-cfl-8109u:       DMESG-WARN [fdo#106107] -> PASS

  * igt@gem_exec_suspend@basic-s3:
    - fi-cfl-8109u:       INCOMPLETE [fdo#107187] / [fdo#108126] -> PASS
    - fi-skl-6700hq:      FAIL [fdo#103375] -> PASS

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
    - fi-byt-clapper:     FAIL [fdo#107362] -> PASS

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b-frame-sequence:
    - fi-byt-clapper:     FAIL [fdo#103191] / [fdo#107362] -> PASS

  * igt@pm_rpm@basic-rte:
    - fi-bsw-n3050:       FAIL [fdo#108800] -> PASS

  
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#105876]: https://bugs.freedesktop.org/show_bug.cgi?id=105876
  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107187]: https://bugs.freedesktop.org/show_bug.cgi?id=107187
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#108126]: https://bugs.freedesktop.org/show_bug.cgi?id=108126
  [fdo#108714]: https://bugs.freedesktop.org/show_bug.cgi?id=108714
  [fdo#108800]: https://bugs.freedesktop.org/show_bug.cgi?id=108800


Participating hosts (51 -> 44)
------------------------------

  Additional (1): fi-glk-j4005 
  Missing    (8): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-j1900 fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-icl-y 


Build changes
-------------

    * IGT: IGT_4749 -> IGTPW_2165

  CI_DRM_5326: 5d7cc41a8c0efbaec854faddf3e642963399f961 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2165: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2165/
  IGT_4749: 270da20849db4d170db09673c6b67712c90ec9fe @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2165/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* Re: [igt-dev] [PATCH i-g-t] tests/kms_rotation: align rendered image correctly for rotation
From: Chris Wilson @ 2018-12-18 11:56 UTC (permalink / raw)
  To: Juha-Pekka Heikkila, igt-dev
In-Reply-To: <1545132603-15616-1-git-send-email-juhapekka.heikkila@gmail.com>

Quoting Juha-Pekka Heikkila (2018-12-18 11:30:03)
> rendered test image had off-by-one error in size calculation
> which was failing some tests on certain resolutions and plane
> sizes.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109016
> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
>  tests/kms_rotation_crc.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
> index c67f608..8edf9aa 100644
> --- a/tests/kms_rotation_crc.c
> +++ b/tests/kms_rotation_crc.c
> @@ -126,6 +126,9 @@ paint_squares(data_t *data, igt_rotation_t rotation,
>         unsigned int h = fb->height;
>         rgb_color_t tl, tr, bl, br;
>  
> +       igt_assert_f(!(w&1), "rotation image must be even width, now attempted %d\n", w);
> +       igt_assert_f(!(h&1), "rotation image must be even height, now attempted %d\n", h);
> +
>         cr = igt_get_cairo_ctx(data->gfx_fd, fb);
>  
>         set_color(&tl, o, 0.0f, 0.0f);
> @@ -439,8 +442,12 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
>                 planes[c].plane = igt_output_get_plane_type(output,
>                                                             planeinfo[c].planetype);
>  
> -               w = planeinfo[c].width;
> -               h = planeinfo[c].height;
> +               /*
> +                * make plane and fb width and height always even due to
> +                * test image rendering
> +                */
> +               w = (planeinfo[c].width | 1) + 1;
> +               h = (planeinfo[c].height | 1) + 1;

Is expanding safe? &~1 to trim instead?
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* [igt-dev] [PATCH i-g-t] tests/kms_rotation: align rendered image correctly for rotation
From: Juha-Pekka Heikkila @ 2018-12-18 11:30 UTC (permalink / raw)
  To: igt-dev

rendered test image had off-by-one error in size calculation
which was failing some tests on certain resolutions and plane
sizes.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109016
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
 tests/kms_rotation_crc.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
index c67f608..8edf9aa 100644
--- a/tests/kms_rotation_crc.c
+++ b/tests/kms_rotation_crc.c
@@ -126,6 +126,9 @@ paint_squares(data_t *data, igt_rotation_t rotation,
 	unsigned int h = fb->height;
 	rgb_color_t tl, tr, bl, br;
 
+	igt_assert_f(!(w&1), "rotation image must be even width, now attempted %d\n", w);
+	igt_assert_f(!(h&1), "rotation image must be even height, now attempted %d\n", h);
+
 	cr = igt_get_cairo_ctx(data->gfx_fd, fb);
 
 	set_color(&tl, o, 0.0f, 0.0f);
@@ -439,8 +442,12 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
 		planes[c].plane = igt_output_get_plane_type(output,
 							    planeinfo[c].planetype);
 
-		w = planeinfo[c].width;
-		h = planeinfo[c].height;
+		/*
+		 * make plane and fb width and height always even due to
+		 * test image rendering
+		 */
+		w = (planeinfo[c].width | 1) + 1;
+		h = (planeinfo[c].height | 1) + 1;
 
 		if (planeinfo[c].rotation_sw & (IGT_ROTATION_90 | IGT_ROTATION_270))
 			igt_swap(w, h);
-- 
2.7.4

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related

* Re: [igt-dev] [PATCH i-g-t] test/kms_dp_dsc: Basic KMS test to validate VESA DSC on DP/eDP
From: Srivatsa, Anusha @ 2018-12-17 19:44 UTC (permalink / raw)
  To: Latvala, Petri
  Cc: igt-dev@lists.freedesktop.org, Navare, Manasi D,
	Pandiyan, Dhinakaran
In-Reply-To: <20181217120027.GR17124@platvala-desk.ger.corp.intel.com>



>-----Original Message-----
>From: Latvala, Petri
>Sent: Monday, December 17, 2018 4:00 AM
>To: Srivatsa, Anusha <anusha.srivatsa@intel.com>
>Cc: igt-dev@lists.freedesktop.org; Navare, Manasi D
><manasi.d.navare@intel.com>; Argenziano, Antonio
><antonio.argenziano@intel.com>; Pandiyan, Dhinakaran
><dhinakaran.pandiyan@intel.com>; Ville Syrjälä <ville.syrjala@linux.intel.com>
>Subject: Re: [PATCH i-g-t] test/kms_dp_dsc: Basic KMS test to validate VESA DSC
>on DP/eDP
>
>On Wed, Dec 12, 2018 at 04:57:39PM -0800, Anusha wrote:
>> From: Manasi Navare <manasi.d.navare@intel.com>
>>
>> This patch adds a basic kms test to validate the display stream
>> compression functionality if supported on DP/eDP connector.
>> Currently this has only two subtests to force the DSC on all the eDP
>> and DP connectors that support it with default parameters.
>> This will be expanded to add more subtests to tweak DSC parameters.
>>
>> v6: (from Anusha)
>> * Fix run_test() (Petri)
>> * Fix update_display() to avoid leaks. (Petri)
>> v5:
>> * Fix test cleanup to avoid crash (Petri)
>> v4:
>> * Future proof for more test types (Petri)
>> * Fix alphabetical order (Petri)
>> * s/igt_display_init/igt_display_require (Petri)
>> * Remove blank lines after return (Petri)
>> v3:
>> * Use array of connectors and loop through (Petri)
>> * Also check for FEC on DP connectors (Manasi)
>> * Add a Pipe_A restriction on DP (Ville)
>> v2:
>> * Use IGT wrappers for all (DK, Antonio)
>> * Split into two subtests for eDP and DP types (Petri)
>>
>> Cc: Petri Latvala <petri.latvala@intel.com>
>> Cc: Antonio Argenziano <antonio.argenziano@intel.com>
>> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
>> Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com>
>> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
>> ---
>>  tests/Makefile.sources |   1 +
>>  tests/kms_dp_dsc.c     | 264 +++++++++++++++++++++++++++++++++++++++++
>>  tests/meson.build      |   1 +
>>  3 files changed, 266 insertions(+)
>>  create mode 100644 tests/kms_dp_dsc.c
>>
>> diff --git a/tests/Makefile.sources b/tests/Makefile.sources index
>> eedde1e8..a3c24c99 100644
>> --- a/tests/Makefile.sources
>> +++ b/tests/Makefile.sources
>> @@ -54,6 +54,7 @@ TESTS_progs = \
>>  	kms_crtc_background_color \
>>  	kms_cursor_crc \
>>  	kms_cursor_legacy \
>> +	kms_dp_dsc \
>>  	kms_draw_crc \
>>  	kms_fbcon_fbt \
>>  	kms_fence_pin_leak \
>> diff --git a/tests/kms_dp_dsc.c b/tests/kms_dp_dsc.c new file mode
>> 100644 index 00000000..884a7717
>> --- /dev/null
>> +++ b/tests/kms_dp_dsc.c
>> @@ -0,0 +1,264 @@
>> +/*
>> + * Copyright © 2018 Intel Corporation
>> + *
>> + * Permission is hereby granted, free of charge, to any person
>> +obtaining a
>> + * copy of this software and associated documentation files (the
>> +"Software"),
>> + * to deal in the Software without restriction, including without
>> +limitation
>> + * the rights to use, copy, modify, merge, publish, distribute,
>> +sublicense,
>> + * and/or sell copies of the Software, and to permit persons to whom
>> +the
>> + * Software is furnished to do so, subject to the following conditions:
>> + *
>> + * The above copyright notice and this permission notice (including
>> +the next
>> + * paragraph) shall be included in all copies or substantial portions
>> +of the
>> + * Software.
>> + *
>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>> +EXPRESS OR
>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>> +MERCHANTABILITY,
>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO
>EVENT
>> +SHALL
>> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
>DAMAGES
>> +OR OTHER
>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
>> +ARISING
>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
>> +OTHER DEALINGS
>> + * IN THE SOFTWARE.
>> + *
>> + * Displayport Display Stream Compression test
>> + * Until the CRC support is added this needs to be invoked with
>> +--interactive
>> + * to manually verify if the test pattern is seen without corruption
>> +for each
>> + * subtest.
>> + *
>> + * Authors:
>> + * Manasi Navare <manasi.d.navare@intel.com>
>> + *
>> + */
>> +#include "igt.h"
>> +#include "igt_sysfs.h"
>> +#include <errno.h>
>> +#include <getopt.h>
>> +#include <math.h>
>> +#include <stdint.h>
>> +#include <stdbool.h>
>> +#include <strings.h>
>> +#include <unistd.h>
>> +#include <stdlib.h>
>> +#include <signal.h>
>> +#include <time.h>
>> +#include <fcntl.h>
>> +#include <termios.h>
>> +
>> +enum dsc_test_type
>> +{
>> +	test_basic_dsc_enable
>> +};
>> +
>> +typedef struct {
>> +	int drm_fd;
>> +	int debugfs_fd;
>> +	uint32_t id;
>> +	igt_display_t display;
>> +	struct igt_fb fb_test_pattern;
>> +	igt_output_t *output;
>> +	int mode_valid;
>> +	drmModeModeInfo *mode;
>> +	drmModeConnector *connector;
>> +	drmModeEncoder *encoder;
>> +	int crtc;
>> +	enum pipe pipe;
>> +	char conn_name[128];
>> +} data_t;
>> +
>> +static inline void manual(const char *expected) {
>> +	igt_debug_manual_check("all", expected); }
>> +
>> +static bool is_dp_dsc_supported(data_t *data) {
>> +	char file_name[128] = {0};
>> +	char buf[512];
>> +
>> +	strcpy(file_name, data->conn_name);
>> +	strcat(file_name, "/i915_dsc_fec_support");
>> +	igt_require(igt_debugfs_simple_read(data->debugfs_fd, file_name, buf,
>> +					    sizeof(buf)) > 0);
>> +	igt_debugfs_read(data->drm_fd, file_name, buf);
>> +
>> +	return strstr(buf, "DSC_Sink_Support: yes"); }
>> +
>> +static bool is_dp_fec_supported(data_t *data) {
>> +	char file_name[128] = {0};
>> +	char buf[512];
>> +
>> +	strcpy(file_name, data->conn_name);
>> +	strcat(file_name, "/i915_dsc_fec_support");
>> +	igt_debugfs_read(data->drm_fd, file_name, buf);
>> +
>> +	return strstr(buf, "FEC_Sink_Support: yes"); }
>> +
>> +static bool is_dp_dsc_enabled(data_t *data) {
>> +	char file_name[128] = {0};
>> +	char buf[512];
>> +
>> +	strcpy(file_name, data->conn_name);
>> +	strcat(file_name, "/i915_dsc_fec_support");
>> +	igt_debugfs_read(data->drm_fd, file_name, buf);
>> +
>> +	return strstr(buf, "DSC_Enabled: yes"); }
>> +
>> +static void force_dp_dsc_enable(data_t *data) {
>> +	char file_name[128] = {0};
>> +	int ret;
>> +
>> +	strcpy(file_name, data->conn_name);
>> +	strcat(file_name, "/i915_dsc_fec_support");
>> +	igt_debug ("Forcing DSC enable on %s\n", data->conn_name);
>> +	ret = igt_sysfs_write(data->debugfs_fd, file_name, "1", 1);
>> +	igt_assert_f(ret > 0, "debugfs_write failed"); }
>> +
>> +static void clear_dp_dsc_enable(data_t *data) {
>> +	char file_name[128] = {0};
>> +	int ret;
>> +
>> +	strcpy(file_name, data->conn_name);
>> +	strcat(file_name, "/i915_dsc_fec_support");
>> +	igt_debug ("Clearing DSC enable on %s\n", data->conn_name);
>> +	ret = igt_sysfs_write(data->debugfs_fd, file_name, "0", 1);
>> +	igt_assert_f(ret > 0, "debugfs_write failed"); }
>> +
>> +static void test_cleanup(data_t *data) {
>> +	igt_plane_t *primary;
>> +
>> +	if (data->output) {
>> +	primary = igt_output_get_plane_type(data->output,
>> +					    DRM_PLANE_TYPE_PRIMARY);
>> +	igt_plane_set_fb(primary, NULL);
>> +	igt_display_commit(&data->display);
>> +
>> +	igt_remove_fb(data->drm_fd, &data->fb_test_pattern);
>> +	}
>> +}
>
>
>Indentation on the if is wrong.

Oops...will fix it.

>
>> +
>> +
>> +/*
>> + * Re-probe connectors and do a modeset with DSC
>> + *
>> + */
>> +static void update_display(data_t *data, enum dsc_test_type
>> +test_type) {
>> +	igt_plane_t *primary;
>> +	data->mode = igt_output_get_mode(data->output);
>> +	data->connector = data->output->config.connector;
>> +
>> +	if (data->connector->connector_type ==
>DRM_MODE_CONNECTOR_DisplayPort &&
>> +	    data->pipe == PIPE_A) {
>> +		igt_debug ("DSC not supported on Pipe A on external DP\n");
>> +		return;
>> +	}
>> +
>> +	if (test_type == test_basic_dsc_enable) {
>> +		igt_debug ("DSC is supported on %s\n",
>> +			   data->conn_name);
>> +		force_dp_dsc_enable(data);
>> +		/* Clear the fb in order to avoid leaks */
>> +		igt_remove_fb(data->drm_fd, &data->fb_test_pattern);
>> +		igt_create_pattern_fb(data->drm_fd, data->mode->hdisplay,
>> +				      data->mode->vdisplay,
>> +				      DRM_FORMAT_XRGB8888,
>> +				      LOCAL_DRM_FORMAT_MOD_NONE,
>> +				      &data->fb_test_pattern);
>> +		primary = igt_output_get_plane_type(data->output,
>> +
>DRM_PLANE_TYPE_PRIMARY);
>> +		igt_plane_set_fb(primary, &data->fb_test_pattern);
>> +		igt_display_commit(&data->display);
>> +		/* Until we have CRC check support, manually check if RGB test
>pattern has no corruption */
>> +		manual ("RGB test pattern without corruption");
>> +		igt_assert_f(is_dp_dsc_enabled(data),
>> +			     "Default DSC enable failed on Connector: %s Pipe:
>%s",
>> +			     data->conn_name,
>> +			     kmstest_pipe_name(data->pipe));
>> +		clear_dp_dsc_enable(data);
>> +	} else {
>> +		igt_assert(!"Unknown test type\n");
>> +	}
>> +}
>> +
>> +static void run_test(data_t *data, igt_output_t *output,
>> +		     enum dsc_test_type test_type)
>> +{
>> +	enum pipe pipe;
>> +
>> +	for_each_pipe_static(pipe) {
>
>
>This doesn't need to be the _static loop, for_each_pipe(data->display, pipe) can
>be used.

Hmmm...looking at both again, it says for_each_pipe_static() is to be used to enumerate per-pipe subtests and for_
each_pipe() cannot be used to enumerate per-pipe subtests. So, if we want to add more subtests wont having _static be useful?

>
>> +		if (igt_pipe_connector_valid(pipe, output)) {
>> +			igt_output_set_pipe(output, pipe);
>> +			data->pipe = pipe;
>> +			data->output = output;
>> +			update_display(data, test_type);
>> +		}
>> +	}
>> +}
>> +
>> +igt_main
>> +{
>> +	data_t data = {};
>> +	igt_output_t *output;
>> +	drmModeRes *res;
>> +	drmModeConnector *connector;
>> +	int i, test_conn_cnt, test_cnt;
>> +	int tests[] = {DRM_MODE_CONNECTOR_eDP,
>> +DRM_MODE_CONNECTOR_DisplayPort};
>> +
>> +	igt_fixture {
>> +		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
>> +		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
>> +		kmstest_set_vt_graphics_mode();
>> +		igt_display_require(&data.display, data.drm_fd);
>> +		//igt_display_require_output(&data.display);
>> +		igt_require(res = drmModeGetResources(data.drm_fd));
>> +	}
>> +
>> +	for (test_cnt = 0; test_cnt < ARRAY_SIZE(tests); test_cnt++) {
>> +
>> +		igt_subtest_f("basic-dsc-enable-%s",
>> +			      kmstest_connector_type_str(tests[test_cnt])) {
>> +			test_conn_cnt = 0;
>> +			for (i = 0; i < res->count_connectors; i++) {
>> +				connector =
>drmModeGetConnectorCurrent(data.drm_fd,
>> +								       res-
>>connectors[i]);
>> +				if (connector->connection !=
>DRM_MODE_CONNECTED ||
>> +				    connector->connector_type !=
>> +				    tests[test_cnt])
>> +					continue;
>> +				test_conn_cnt++;
>> +				output =
>igt_output_from_connector(&data.display, connector);
>> +				sprintf(data.conn_name, "%s-%d",
>> +					kmstest_connector_type_str(connector-
>>connector_type),
>> +					test_conn_cnt);
>> +				igt_require_f(is_dp_dsc_supported(&data),
>> +					      "DSC not supported on connector %s
>\n",
>> +					      data.conn_name);
>
>This will make the subtest skip when checking DP-1, without trying
>DP-2 at all. Is that intended?
>
No. it has to test for DP-2 as well..
But even if the igt_require() here fails, the loop will move on to the next connector right?

Anusha 


Anusha 
>
>--
>Petri Latvala
>
>
>
>> +				if (connector->connector_type ==
>DRM_MODE_CONNECTOR_DisplayPort)
>> +
>	igt_require_f(is_dp_fec_supported(&data),
>> +						      "DSC cannot be enabled
>without FEC on %s\n",
>> +						      data.conn_name);
>> +				run_test(&data, output, test_basic_dsc_enable);
>> +			}
>> +			test_cleanup(&data);
>> +			igt_skip_on(test_conn_cnt == 0);
>> +		}
>> +	}
>> +
>> +	igt_fixture {
>> +		drmModeFreeConnector(connector);
>> +		drmModeFreeResources(res);
>> +		close(data.debugfs_fd);
>> +		close(data.drm_fd);
>> +		igt_display_fini(&data.display);
>> +	}
>> +	igt_exit();
>> +}
>> diff --git a/tests/meson.build b/tests/meson.build
>> index b8a6e61b..e14ab2b4 100644
>> --- a/tests/meson.build
>> +++ b/tests/meson.build
>> @@ -25,6 +25,7 @@ test_progs = [
>>  	'kms_crtc_background_color',
>>  	'kms_cursor_crc',
>>  	'kms_cursor_legacy',
>> +	'kms_dp_dsc',
>>  	'kms_draw_crc',
>>  	'kms_fbcon_fbt',
>>  	'kms_fence_pin_leak',
>> --
>> 2.17.0
>>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* Re: [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module
From: Lucas De Marchi @ 2018-12-17 17:22 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Petri Latvala, Rodrigo Siqueira, Gustavo F. Padovan, intel-gfx,
	igt-dev
In-Reply-To: <20181217154930.GH21184@phenom.ffwll.local>

On Mon, Dec 17, 2018 at 7:49 AM Daniel Vetter <daniel@ffwll.ch> wrote:
>
> On Wed, Sep 05, 2018 at 05:38:27PM -0300, Rodrigo Siqueira wrote:
> > This commit adds a new option for forcing the use of a specific driver
> > indicated via an environment variable.
> >
> > Changes since V1:
> >  Petri:
> >  - Use an environment variable instead of command line
> >  - Refactor the loop in __search_and_open to accept forced module
> >  - Don't try to load kernel modules
> >
> > Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
>
> Note: You can't drop the s-o-b line if your patch contains work by other
> people, like from Petri here. Proper way to resend a patch by someone else
> is to just add a subject prefix of "PATCH RESEND" and otherwise keep
> everything unchanged (including author and everything).
>
> https://patchwork.freedesktop.org/patch/245532/

Last time I was told I have to _add_ my s-o-b nonetheless, even if
just re-sending the patch.
I don't think I should, but in the end I had to change the series, add
and change patches,
so it didn't matter.

Maybe we need some clarification on this?

https://lists.freedesktop.org/archives/intel-gfx/2018-November/183291.html

Lucas De Marchi


>
> Cheers, Daniel
>
> > ---
> >  lib/drmtest.c  | 44 ++++++++++++++++++++++++++++++++++++++++++--
> >  lib/drmtest.h  |  2 ++
> >  lib/igt_core.c |  5 +++++
> >  3 files changed, 49 insertions(+), 2 deletions(-)
> >
> > diff --git a/lib/drmtest.c b/lib/drmtest.c
> > index bfa2e0f0..6e35d1be 100644
> > --- a/lib/drmtest.c
> > +++ b/lib/drmtest.c
> > @@ -123,6 +123,36 @@ static bool has_known_intel_chipset(int fd)
> >       return true;
> >  }
> >
> > +static char _forced_driver[5] = "";
> > +
> > +/**
> > + * __set_forced_driver:
> > + * @name: name of driver to forcibly use
> > + *
> > + * Set the name of a driver to use when calling #drm_open_driver with
> > + * the #DRIVER_ANY flag.
> > + */
> > +void __set_forced_driver(const char *name)
> > +{
> > +     if (!strcmp(name, "")) {
> > +             igt_warn("IGT_FORCE_DRIVER flag specified without a value,"
> > +                      "ignoring force option\n");
> > +             return;
> > +     }
> > +
> > +     igt_info("Attempt to force module %s\n", name);
> > +
> > +     strncpy(_forced_driver, name, 4);
> > +}
> > +
> > +static const char *forced_driver(void)
> > +{
> > +     if (_forced_driver[0])
> > +             return _forced_driver;
> > +
> > +     return NULL;
> > +}
> > +
> >  #define LOCAL_I915_EXEC_VEBOX        (4 << 0)
> >  /**
> >   * gem_quiescent_gpu:
> > @@ -250,8 +280,18 @@ static int __search_and_open(const char *base, int offset, unsigned int chipset)
> >
> >               sprintf(name, "%s%u", base, i + offset);
> >               fd = open_device(name, chipset);
> > -             if (fd != -1)
> > -                     return fd;
> > +             if (fd == -1)
> > +                     continue;
> > +
> > +             // Force module
> > +             if (chipset == DRIVER_ANY && forced_driver()) {
> > +                     if (__is_device(fd, forced_driver()))
> > +                             return fd;
> > +                     close(fd);
> > +                     continue;
> > +             }
> > +
> > +             return fd;
> >       }
> >
> >       return -1;
> > diff --git a/lib/drmtest.h b/lib/drmtest.h
> > index 949865ee..62f53ec3 100644
> > --- a/lib/drmtest.h
> > +++ b/lib/drmtest.h
> > @@ -51,6 +51,8 @@
> >   */
> >  #define DRIVER_ANY   ~(DRIVER_VGEM)
> >
> > +void __set_forced_driver(const char *name);
> > +
> >  /**
> >   * ARRAY_SIZE:
> >   * @arr: static array
> > diff --git a/lib/igt_core.c b/lib/igt_core.c
> > index 23bb858f..8e65b5e3 100644
> > --- a/lib/igt_core.c
> > +++ b/lib/igt_core.c
> > @@ -647,6 +647,11 @@ static void common_init_env(void)
> >       igt_frame_dump_path = getenv("IGT_FRAME_DUMP_PATH");
> >
> >       stderr_needs_sentinel = getenv("IGT_SENTINEL_ON_STDERR") != NULL;
> > +
> > +     env = getenv("IGT_FORCE_DRIVER");
> > +     if (env) {
> > +             __set_forced_driver(env);
> > +     }
> >  }
> >
> >  static int common_init(int *argc, char **argv,
> > --
> > 2.18.0
> >
> >
> > --
> > Rodrigo Siqueira
> > http://siqueira.tech
> > Graduate Student
> > Department of Computer Science
> > University of São Paulo
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev



--
Lucas De Marchi
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* Re: [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module
From: Rodrigo Siqueira @ 2018-12-17 16:45 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: igt-dev, gustavo, intel-gfx, Petri Latvala
In-Reply-To: <20181217154930.GH21184@phenom.ffwll.local>


[-- Attachment #1.1: Type: text/plain, Size: 4141 bytes --]

On 12/17, Daniel Vetter wrote:
> On Wed, Sep 05, 2018 at 05:38:27PM -0300, Rodrigo Siqueira wrote:
> > This commit adds a new option for forcing the use of a specific driver
> > indicated via an environment variable.
> > 
> > Changes since V1:
> >  Petri:
> >  - Use an environment variable instead of command line
> >  - Refactor the loop in __search_and_open to accept forced module
> >  - Don't try to load kernel modules
> > 
> > Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
> 
> Note: You can't drop the s-o-b line if your patch contains work by other
> people, like from Petri here. Proper way to resend a patch by someone else
> is to just add a subject prefix of "PATCH RESEND" and otherwise keep
> everything unchanged (including author and everything).
> 
> https://patchwork.freedesktop.org/patch/245532/

Hi,

Thanks for your feedback.
Next time I will take care for not make this mistake again.

Best Regards
Rodrigo Siqueira
 
> Cheers, Daniel
> 
> > ---
> >  lib/drmtest.c  | 44 ++++++++++++++++++++++++++++++++++++++++++--
> >  lib/drmtest.h  |  2 ++
> >  lib/igt_core.c |  5 +++++
> >  3 files changed, 49 insertions(+), 2 deletions(-)
> > 
> > diff --git a/lib/drmtest.c b/lib/drmtest.c
> > index bfa2e0f0..6e35d1be 100644
> > --- a/lib/drmtest.c
> > +++ b/lib/drmtest.c
> > @@ -123,6 +123,36 @@ static bool has_known_intel_chipset(int fd)
> >  	return true;
> >  }
> >  
> > +static char _forced_driver[5] = "";
> > +
> > +/**
> > + * __set_forced_driver:
> > + * @name: name of driver to forcibly use
> > + *
> > + * Set the name of a driver to use when calling #drm_open_driver with
> > + * the #DRIVER_ANY flag.
> > + */
> > +void __set_forced_driver(const char *name)
> > +{
> > +	if (!strcmp(name, "")) {
> > +		igt_warn("IGT_FORCE_DRIVER flag specified without a value,"
> > +			 "ignoring force option\n");
> > +		return;
> > +	}
> > +
> > +	igt_info("Attempt to force module %s\n", name);
> > +
> > +	strncpy(_forced_driver, name, 4);
> > +}
> > +
> > +static const char *forced_driver(void)
> > +{
> > +	if (_forced_driver[0])
> > +		return _forced_driver;
> > +
> > +	return NULL;
> > +}
> > +
> >  #define LOCAL_I915_EXEC_VEBOX	(4 << 0)
> >  /**
> >   * gem_quiescent_gpu:
> > @@ -250,8 +280,18 @@ static int __search_and_open(const char *base, int offset, unsigned int chipset)
> >  
> >  		sprintf(name, "%s%u", base, i + offset);
> >  		fd = open_device(name, chipset);
> > -		if (fd != -1)
> > -			return fd;
> > +		if (fd == -1)
> > +			continue;
> > +
> > +		// Force module
> > +		if (chipset == DRIVER_ANY && forced_driver()) {
> > +			if (__is_device(fd, forced_driver()))
> > +				return fd;
> > +			close(fd);
> > +			continue;
> > +		}
> > +
> > +		return fd;
> >  	}
> >  
> >  	return -1;
> > diff --git a/lib/drmtest.h b/lib/drmtest.h
> > index 949865ee..62f53ec3 100644
> > --- a/lib/drmtest.h
> > +++ b/lib/drmtest.h
> > @@ -51,6 +51,8 @@
> >   */
> >  #define DRIVER_ANY 	~(DRIVER_VGEM)
> >  
> > +void __set_forced_driver(const char *name);
> > +
> >  /**
> >   * ARRAY_SIZE:
> >   * @arr: static array
> > diff --git a/lib/igt_core.c b/lib/igt_core.c
> > index 23bb858f..8e65b5e3 100644
> > --- a/lib/igt_core.c
> > +++ b/lib/igt_core.c
> > @@ -647,6 +647,11 @@ static void common_init_env(void)
> >  	igt_frame_dump_path = getenv("IGT_FRAME_DUMP_PATH");
> >  
> >  	stderr_needs_sentinel = getenv("IGT_SENTINEL_ON_STDERR") != NULL;
> > +
> > +	env = getenv("IGT_FORCE_DRIVER");
> > +	if (env) {
> > +		__set_forced_driver(env);
> > +	}
> >  }
> >  
> >  static int common_init(int *argc, char **argv,
> > -- 
> > 2.18.0
> > 
> > 
> > -- 
> > Rodrigo Siqueira
> > http://siqueira.tech
> > Graduate Student
> > Department of Computer Science
> > University of São Paulo
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* [igt-dev] ✓ Fi.CI.IGT: success for lib/igt_fb: Added XYUV format support for testing (rev15)
From: Patchwork @ 2018-12-17 16:27 UTC (permalink / raw)
  To: Stanislav Lisovskiy; +Cc: igt-dev
In-Reply-To: <20181217143028.19331-1-stanislav.lisovskiy@intel.com>

== Series Details ==

Series: lib/igt_fb: Added XYUV format support for testing (rev15)
URL   : https://patchwork.freedesktop.org/series/48789/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5324_full -> IGTPW_2164_full
====================================================

Summary
-------

  **WARNING**

  Minor unknown changes coming with IGTPW_2164_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2164_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/48789/revisions/15/mbox/

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_2164_full:

### IGT changes ###

#### Warnings ####

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render:
    - shard-snb:          SKIP -> PASS

  * igt@pm_rc6_residency@rc6-accuracy:
    - shard-kbl:          SKIP -> PASS
    - shard-snb:          PASS -> SKIP

  
Known issues
------------

  Here are the changes found in IGTPW_2164_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_available_modes_crc@available_mode_test_crc:
    - shard-apl:          PASS -> FAIL [fdo#106641]

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
    - shard-glk:          PASS -> DMESG-WARN [fdo#107956]

  * igt@kms_color@pipe-c-ctm-max:
    - shard-apl:          PASS -> FAIL [fdo#108147]

  * igt@kms_cursor_crc@cursor-256x85-random:
    - shard-apl:          PASS -> FAIL [fdo#103232] +6

  * igt@kms_cursor_crc@cursor-64x21-onscreen:
    - shard-kbl:          PASS -> FAIL [fdo#103232] +2
    - shard-glk:          PASS -> FAIL [fdo#103232] +3

  * igt@kms_flip@2x-modeset-vs-vblank-race:
    - shard-glk:          PASS -> FAIL [fdo#103060]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-cpu:
    - shard-kbl:          PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-apl:          PASS -> FAIL [fdo#103167] +4

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-move:
    - shard-glk:          PASS -> FAIL [fdo#103167] +4

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
    - shard-apl:          PASS -> DMESG-WARN [fdo#108566]

  * igt@kms_plane@plane-position-covered-pipe-b-planes:
    - shard-glk:          PASS -> FAIL [fdo#103166] +2

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
    - shard-apl:          NOTRUN -> FAIL [fdo#103166]
    - shard-kbl:          PASS -> FAIL [fdo#103166] +1

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-yf:
    - shard-apl:          PASS -> FAIL [fdo#103166] +2

  * igt@kms_setmode@basic:
    - shard-apl:          PASS -> FAIL [fdo#99912]
    - shard-hsw:          PASS -> FAIL [fdo#99912]

  
#### Possible fixes ####

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
    - shard-apl:          FAIL [fdo#106510] / [fdo#108145] -> PASS
    - shard-glk:          FAIL [fdo#108145] -> PASS
    - shard-kbl:          FAIL [fdo#107725] / [fdo#108145] -> PASS

  * igt@kms_color@pipe-c-legacy-gamma:
    - shard-kbl:          FAIL [fdo#104782] -> PASS
    - shard-apl:          FAIL [fdo#104782] -> PASS

  * igt@kms_cursor_crc@cursor-128x128-dpms:
    - shard-glk:          FAIL [fdo#103232] -> PASS

  * igt@kms_cursor_crc@cursor-128x128-onscreen:
    - shard-apl:          FAIL [fdo#103232] -> PASS +3

  * igt@kms_cursor_crc@cursor-128x128-suspend:
    - shard-apl:          FAIL [fdo#103191] / [fdo#103232] -> PASS +1

  * igt@kms_cursor_crc@cursor-256x256-dpms:
    - shard-kbl:          FAIL [fdo#103232] -> PASS

  * igt@kms_cursor_crc@cursor-64x64-suspend:
    - shard-kbl:          FAIL [fdo#103191] / [fdo#103232] -> PASS

  * igt@kms_flip@plain-flip-fb-recreate:
    - shard-apl:          INCOMPLETE [fdo#103927] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff:
    - shard-apl:          FAIL [fdo#103167] -> PASS +2
    - shard-kbl:          FAIL [fdo#103167] -> PASS +2

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
    - shard-glk:          FAIL [fdo#103167] -> PASS +6

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-c:
    - shard-apl:          DMESG-WARN [fdo#103558] / [fdo#105602] -> PASS +20

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
    - shard-apl:          FAIL [fdo#103166] -> PASS +3

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-y:
    - shard-glk:          FAIL [fdo#103166] -> PASS +3
    - shard-kbl:          FAIL [fdo#103166] -> PASS

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
    - shard-apl:          DMESG-FAIL [fdo#103166] / [fdo#103558] / [fdo#105602] -> PASS

  * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
    - shard-glk:          DMESG-FAIL [fdo#105763] / [fdo#106538] -> PASS

  
#### Warnings ####

  * igt@i915_suspend@shrink:
    - shard-snb:          DMESG-WARN [fdo#108784] -> INCOMPLETE [fdo#105411] / [fdo#106886]

  
  [fdo#103060]: https://bugs.freedesktop.org/show_bug.cgi?id=103060
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103558]: https://bugs.freedesktop.org/show_bug.cgi?id=103558
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#105602]: https://bugs.freedesktop.org/show_bug.cgi?id=105602
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#106510]: https://bugs.freedesktop.org/show_bug.cgi?id=106510
  [fdo#106538]: https://bugs.freedesktop.org/show_bug.cgi?id=106538
  [fdo#106641]: https://bugs.freedesktop.org/show_bug.cgi?id=106641
  [fdo#106886]: https://bugs.freedesktop.org/show_bug.cgi?id=106886
  [fdo#107725]: https://bugs.freedesktop.org/show_bug.cgi?id=107725
  [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108147]: https://bugs.freedesktop.org/show_bug.cgi?id=108147
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108784]: https://bugs.freedesktop.org/show_bug.cgi?id=108784
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (7 -> 5)
------------------------------

  Missing    (2): shard-skl shard-iclb 


Build changes
-------------

    * IGT: IGT_4748 -> IGTPW_2164
    * Piglit: piglit_4509 -> None

  CI_DRM_5324: 93009153b9bde1d65ca49bb1729cd1111591144b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2164: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2164/
  IGT_4748: 90c76cb9bb47a5a3ebb34ad6b1a557bc02d39713 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2164/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* Re: [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module
From: Daniel Vetter @ 2018-12-17 15:49 UTC (permalink / raw)
  To: Rodrigo Siqueira; +Cc: igt-dev, gustavo, intel-gfx, Petri Latvala
In-Reply-To: <20180905203827.n7vpugbs6bjvijpg@smtp.gmail.com>

On Wed, Sep 05, 2018 at 05:38:27PM -0300, Rodrigo Siqueira wrote:
> This commit adds a new option for forcing the use of a specific driver
> indicated via an environment variable.
> 
> Changes since V1:
>  Petri:
>  - Use an environment variable instead of command line
>  - Refactor the loop in __search_and_open to accept forced module
>  - Don't try to load kernel modules
> 
> Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>

Note: You can't drop the s-o-b line if your patch contains work by other
people, like from Petri here. Proper way to resend a patch by someone else
is to just add a subject prefix of "PATCH RESEND" and otherwise keep
everything unchanged (including author and everything).

https://patchwork.freedesktop.org/patch/245532/

Cheers, Daniel

> ---
>  lib/drmtest.c  | 44 ++++++++++++++++++++++++++++++++++++++++++--
>  lib/drmtest.h  |  2 ++
>  lib/igt_core.c |  5 +++++
>  3 files changed, 49 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/drmtest.c b/lib/drmtest.c
> index bfa2e0f0..6e35d1be 100644
> --- a/lib/drmtest.c
> +++ b/lib/drmtest.c
> @@ -123,6 +123,36 @@ static bool has_known_intel_chipset(int fd)
>  	return true;
>  }
>  
> +static char _forced_driver[5] = "";
> +
> +/**
> + * __set_forced_driver:
> + * @name: name of driver to forcibly use
> + *
> + * Set the name of a driver to use when calling #drm_open_driver with
> + * the #DRIVER_ANY flag.
> + */
> +void __set_forced_driver(const char *name)
> +{
> +	if (!strcmp(name, "")) {
> +		igt_warn("IGT_FORCE_DRIVER flag specified without a value,"
> +			 "ignoring force option\n");
> +		return;
> +	}
> +
> +	igt_info("Attempt to force module %s\n", name);
> +
> +	strncpy(_forced_driver, name, 4);
> +}
> +
> +static const char *forced_driver(void)
> +{
> +	if (_forced_driver[0])
> +		return _forced_driver;
> +
> +	return NULL;
> +}
> +
>  #define LOCAL_I915_EXEC_VEBOX	(4 << 0)
>  /**
>   * gem_quiescent_gpu:
> @@ -250,8 +280,18 @@ static int __search_and_open(const char *base, int offset, unsigned int chipset)
>  
>  		sprintf(name, "%s%u", base, i + offset);
>  		fd = open_device(name, chipset);
> -		if (fd != -1)
> -			return fd;
> +		if (fd == -1)
> +			continue;
> +
> +		// Force module
> +		if (chipset == DRIVER_ANY && forced_driver()) {
> +			if (__is_device(fd, forced_driver()))
> +				return fd;
> +			close(fd);
> +			continue;
> +		}
> +
> +		return fd;
>  	}
>  
>  	return -1;
> diff --git a/lib/drmtest.h b/lib/drmtest.h
> index 949865ee..62f53ec3 100644
> --- a/lib/drmtest.h
> +++ b/lib/drmtest.h
> @@ -51,6 +51,8 @@
>   */
>  #define DRIVER_ANY 	~(DRIVER_VGEM)
>  
> +void __set_forced_driver(const char *name);
> +
>  /**
>   * ARRAY_SIZE:
>   * @arr: static array
> diff --git a/lib/igt_core.c b/lib/igt_core.c
> index 23bb858f..8e65b5e3 100644
> --- a/lib/igt_core.c
> +++ b/lib/igt_core.c
> @@ -647,6 +647,11 @@ static void common_init_env(void)
>  	igt_frame_dump_path = getenv("IGT_FRAME_DUMP_PATH");
>  
>  	stderr_needs_sentinel = getenv("IGT_SENTINEL_ON_STDERR") != NULL;
> +
> +	env = getenv("IGT_FORCE_DRIVER");
> +	if (env) {
> +		__set_forced_driver(env);
> +	}
>  }
>  
>  static int common_init(int *argc, char **argv,
> -- 
> 2.18.0
> 
> 
> -- 
> Rodrigo Siqueira
> http://siqueira.tech
> Graduate Student
> Department of Computer Science
> University of São Paulo
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* Re: [igt-dev] [PATCH i-g-t v2] Add support for forcing a specific driver
From: Daniel Vetter @ 2018-12-17 15:47 UTC (permalink / raw)
  To: Petri Latvala; +Cc: igt-dev, gustavo, intel-gfx, Rodrigo Siqueira
In-Reply-To: <20180822102038.24308-1-petri.latvala@intel.com>

On Wed, Aug 22, 2018 at 01:20:38PM +0300, Petri Latvala wrote:
> This commit adds a new option for forcing the use of a specific driver
> indicated via an environment variable.
> 
> v2 (Petri):
>  - Use an environment variable instead of command line
>  - Refactor the loop in __open_device
>  - Don't try to load kernel modules
> 
> Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
> Signed-off-by: Petri Latvala <petri.latvala@intel.com>
> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> Cc: gustavo@padovan.org
> ---
> 
> Did the changes I suggested myself to see what else is lurking
> there. I'm still unsure whether using IGT_FORCE_DRIVER=something
> should still accept opening e.g. an i915 device with DRIVER_INTEL,
> currently this does. Both ways have their merits.
> 
> I was able to test vkms with this patch, revealing some amount of
> intelisms still lurking.
> 
> 
>  lib/drmtest.c  | 35 +++++++++++++++++++++++++++++++++++
>  lib/drmtest.h  |  2 ++
>  lib/igt_core.c |  5 +++++
>  3 files changed, 42 insertions(+)
> 
> diff --git a/lib/drmtest.c b/lib/drmtest.c
> index fae6f86f..e8308b0d 100644
> --- a/lib/drmtest.c
> +++ b/lib/drmtest.c
> @@ -146,6 +146,31 @@ static bool has_known_intel_chipset(int fd)
>  	return true;
>  }
>  
> +static char _forced_driver[5] = "";
> +
> +/**
> + * __set_forced_driver:
> + * @name: name of driver to forcibly use
> + *
> + * Set the name of a driver to use when calling #drm_open_driver with
> + * the #DRIVER_ANY flag.
> + */
> +void __set_forced_driver(const char *name)
> +{
> +	if (!name)
> +		igt_warn("No driver specified, keep default behaviour");
> +
> +	strncpy(_forced_driver, name, 4);
> +}
> +
> +static const char *forced_driver(void)
> +{
> +	if (_forced_driver[0])
> +		return _forced_driver;
> +
> +	return NULL;
> +}
> +
>  #define LOCAL_I915_EXEC_VEBOX	(4 << 0)
>  /**
>   * gem_quiescent_gpu:
> @@ -229,6 +254,16 @@ static int __open_device(const char *base, int offset, unsigned int chipset)
>  		if (fd == -1)
>  			continue;
>  
> +		// Force options

I'd drop that comment. With that

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

I think what this tries to solve here, and what Chris tries to solve in
his other reply on

https://patchwork.freedesktop.org/patch/247451/

are different issues. We want something to run generic DRIVER_ANY tests on
a specific driver. That's somewhat orthogonal to selecting a specific
device imo, and I think we need both. We definitely don't want to move to
DRIVER_X from DRIVER_ANY for the generic kms tests. Maybe we should rename
DRIVER_ANY to DRIVER_KMS ... (and double-check it supports modesetting).
-Daniel

> +		if (chipset == DRIVER_ANY && forced_driver()) {
> +			if (__is_device(fd, forced_driver())) {
> +				igt_debug("Force option used: Using driver %s\n", forced_driver());
> +				return fd;
> +			}
> +
> +			continue;
> +		}
> +
>  		if (chipset & DRIVER_INTEL && is_i915_device(fd) &&
>  		    has_known_intel_chipset(fd))
>  			return fd;
> diff --git a/lib/drmtest.h b/lib/drmtest.h
> index 949865ee..62f53ec3 100644
> --- a/lib/drmtest.h
> +++ b/lib/drmtest.h
> @@ -51,6 +51,8 @@
>   */
>  #define DRIVER_ANY 	~(DRIVER_VGEM)
>  
> +void __set_forced_driver(const char *name);
> +
>  /**
>   * ARRAY_SIZE:
>   * @arr: static array
> diff --git a/lib/igt_core.c b/lib/igt_core.c
> index c52c0818..c17e53c5 100644
> --- a/lib/igt_core.c
> +++ b/lib/igt_core.c
> @@ -646,6 +646,11 @@ static void common_init_env(void)
>  	igt_frame_dump_path = getenv("IGT_FRAME_DUMP_PATH");
>  
>  	stderr_needs_sentinel = getenv("IGT_SENTINEL_ON_STDERR") != NULL;
> +
> +	env = getenv("IGT_FORCE_DRIVER");
> +	if (env) {
> +		__set_forced_driver(env);
> +	}
>  }
>  
>  static int common_init(int *argc, char **argv,
> -- 
> 2.14.1
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* [igt-dev] ✗ Fi.CI.IGT: failure for runner: Add explicit "notrun" results for tests that were not executed
From: Patchwork @ 2018-12-17 15:07 UTC (permalink / raw)
  To: Petri Latvala; +Cc: igt-dev
In-Reply-To: <20181217130740.10826-1-petri.latvala@intel.com>

== Series Details ==

Series: runner: Add explicit "notrun" results for tests that were not executed
URL   : https://patchwork.freedesktop.org/series/54136/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_5324_full -> IGTPW_2163_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_2163_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2163_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/54136/revisions/1/mbox/

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_2163_full:

### IGT changes ###

#### Possible regressions ####

  * igt@gem_busy@extended-semaphore-blt:
    - shard-hsw:          PASS -> FAIL

  
#### Warnings ####

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render:
    - shard-snb:          SKIP -> PASS

  * igt@pm_rc6_residency@rc6-accuracy:
    - shard-kbl:          SKIP -> PASS

  
Known issues
------------

  Here are the changes found in IGTPW_2163_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_fence@basic-await-default:
    - shard-hsw:          PASS -> FAIL [fdo#108888]

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
    - shard-glk:          PASS -> DMESG-WARN [fdo#107956]

  * igt@kms_ccs@pipe-b-crc-sprite-planes-basic:
    - shard-glk:          PASS -> FAIL [fdo#108145]

  * igt@kms_cursor_crc@cursor-256x256-random:
    - shard-apl:          PASS -> FAIL [fdo#103232] +4

  * igt@kms_cursor_crc@cursor-64x64-sliding:
    - shard-glk:          PASS -> FAIL [fdo#103232] +4

  * igt@kms_cursor_crc@cursor-size-change:
    - shard-kbl:          PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_legacy@pipe-a-single-bo:
    - shard-hsw:          PASS -> INCOMPLETE [fdo#103540]

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-glk:          PASS -> FAIL [fdo#105363]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
    - shard-apl:          NOTRUN -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
    - shard-glk:          PASS -> FAIL [fdo#103167] +1

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-onoff:
    - shard-apl:          PASS -> FAIL [fdo#103167]
    - shard-kbl:          PASS -> FAIL [fdo#103167]

  * igt@kms_plane@pixel-format-pipe-b-planes-source-clamping:
    - shard-glk:          PASS -> FAIL [fdo#108948]

  * igt@kms_plane@plane-position-covered-pipe-a-planes:
    - shard-glk:          PASS -> FAIL [fdo#103166] +3
    - shard-apl:          PASS -> FAIL [fdo#103166] +1
    - shard-kbl:          PASS -> FAIL [fdo#103166] +1

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
    - shard-apl:          NOTRUN -> FAIL [fdo#103166]

  * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
    - shard-kbl:          PASS -> DMESG-FAIL [fdo#108950]

  * igt@kms_setmode@basic:
    - shard-hsw:          PASS -> FAIL [fdo#99912]

  
#### Possible fixes ####

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
    - shard-apl:          FAIL [fdo#106510] / [fdo#108145] -> PASS
    - shard-kbl:          FAIL [fdo#107725] / [fdo#108145] -> PASS

  * igt@kms_color@pipe-c-legacy-gamma:
    - shard-kbl:          FAIL [fdo#104782] -> PASS
    - shard-apl:          FAIL [fdo#104782] -> PASS

  * igt@kms_cursor_crc@cursor-128x128-onscreen:
    - shard-apl:          FAIL [fdo#103232] -> PASS +2

  * igt@kms_cursor_crc@cursor-256x256-dpms:
    - shard-kbl:          FAIL [fdo#103232] -> PASS

  * igt@kms_cursor_crc@cursor-256x256-suspend:
    - shard-apl:          FAIL [fdo#103191] / [fdo#103232] -> PASS

  * igt@kms_cursor_crc@cursor-64x64-suspend:
    - shard-kbl:          FAIL [fdo#103191] / [fdo#103232] -> PASS

  * igt@kms_flip@plain-flip-fb-recreate:
    - shard-apl:          INCOMPLETE [fdo#103927] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff:
    - shard-apl:          FAIL [fdo#103167] -> PASS +2
    - shard-kbl:          FAIL [fdo#103167] -> PASS +1

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
    - shard-glk:          FAIL [fdo#103167] -> PASS +4

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-c:
    - shard-apl:          DMESG-WARN [fdo#103558] / [fdo#105602] -> PASS +20

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
    - shard-apl:          FAIL [fdo#103166] -> PASS +4

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-y:
    - shard-kbl:          FAIL [fdo#103166] -> PASS

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
    - shard-glk:          FAIL [fdo#103166] -> PASS +3

  * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
    - shard-glk:          DMESG-FAIL [fdo#105763] / [fdo#106538] -> PASS

  
#### Warnings ####

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
    - shard-apl:          DMESG-FAIL [fdo#103166] / [fdo#103558] / [fdo#105602] -> FAIL [fdo#103166]

  
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103558]: https://bugs.freedesktop.org/show_bug.cgi?id=103558
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#105602]: https://bugs.freedesktop.org/show_bug.cgi?id=105602
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#106510]: https://bugs.freedesktop.org/show_bug.cgi?id=106510
  [fdo#106538]: https://bugs.freedesktop.org/show_bug.cgi?id=106538
  [fdo#107725]: https://bugs.freedesktop.org/show_bug.cgi?id=107725
  [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108888]: https://bugs.freedesktop.org/show_bug.cgi?id=108888
  [fdo#108948]: https://bugs.freedesktop.org/show_bug.cgi?id=108948
  [fdo#108950]: https://bugs.freedesktop.org/show_bug.cgi?id=108950
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (7 -> 5)
------------------------------

  Missing    (2): shard-skl shard-iclb 


Build changes
-------------

    * IGT: IGT_4748 -> IGTPW_2163
    * Piglit: piglit_4509 -> None

  CI_DRM_5324: 93009153b9bde1d65ca49bb1729cd1111591144b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2163: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2163/
  IGT_4748: 90c76cb9bb47a5a3ebb34ad6b1a557bc02d39713 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2163/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply

* [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_fb: Added XYUV format support for testing (rev15)
From: Patchwork @ 2018-12-17 15:00 UTC (permalink / raw)
  To: Stanislav Lisovskiy; +Cc: igt-dev
In-Reply-To: <20181217143028.19331-1-stanislav.lisovskiy@intel.com>

== Series Details ==

Series: lib/igt_fb: Added XYUV format support for testing (rev15)
URL   : https://patchwork.freedesktop.org/series/48789/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5324 -> IGTPW_2164
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/48789/revisions/15/mbox/

Known issues
------------

  Here are the changes found in IGTPW_2164 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live_contexts:
    - fi-bsw-n3050:       PASS -> DMESG-FAIL [fdo#108656]

  * igt@i915_selftest@live_gem:
    - fi-bsw-kefka:       PASS -> DMESG-WARN [fdo#108797]

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - fi-blb-e6850:       PASS -> INCOMPLETE [fdo#107718]

  * {igt@runner@aborted}:
    - fi-bsw-kefka:       NOTRUN -> FAIL [fdo#108797]

  
#### Possible fixes ####

  * igt@kms_flip@basic-flip-vs-dpms:
    - fi-skl-6700hq:      DMESG-WARN [fdo#105998] -> PASS

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b:
    - fi-byt-clapper:     FAIL [fdo#107362] -> PASS

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#105998]: https://bugs.freedesktop.org/show_bug.cgi?id=105998
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108656]: https://bugs.freedesktop.org/show_bug.cgi?id=108656
  [fdo#108797]: https://bugs.freedesktop.org/show_bug.cgi?id=108797


Participating hosts (49 -> 44)
------------------------------

  Additional (1): fi-cfl-8109u 
  Missing    (6): fi-ilk-m540 fi-bxt-dsi fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-y 


Build changes
-------------

    * IGT: IGT_4748 -> IGTPW_2164

  CI_DRM_5324: 93009153b9bde1d65ca49bb1729cd1111591144b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2164: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2164/
  IGT_4748: 90c76cb9bb47a5a3ebb34ad6b1a557bc02d39713 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2164/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox