don't look
From: Tvrtko Ursulin <[email protected]>
1.
We need to tell the compiler mmio access cannot be optimized away (volatile).
2.
We need to ensure we don't exit with forcewake left on. Signal threads to exit in a controlled fashion and install atexit handler just in case.
v2: HACK
--- tests/gen7_forcewake_mt.c | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-)
tests/gen7_forcewake_mt.c +33 -3
@@ -30,6 +30,8 @@* */ +#pragma GCC optimize ("O0") +#include "igt.h" #include <sys/types.h> #include <pthread.h>
@@ -44,6 +46,7 @@ IGT_TEST_DESCRIPTION("Exercise a suspect workaround required for"struct thread {pthread_t thread; +bool run;void *mmio;int fd;int bit;
@@ -106,10 +109,11 @@ static void *igfx_get_mmio(void)static void *thread (void *arg) {struct thread *t = arg; -uint32_t *forcewake_mt = (uint32_t *)((char *)t->mmio +FORCEWAKE_MT ); +volatile uint32_t *forcewake_mt = + (uint32_t *)((char *)t->mmio +FORCEWAKE_MT );uint32_t bit =1 << t->bit; -while (1 ) { +while (t->run) { *forcewake_mt = bit <<16 | bit;igt_assert (*forcewake_mt & bit); *forcewake_mt = bit <<16 ;
@@ -121,13 +125,33 @@ static void *thread(void *arg)#define MI_STORE_REGISTER_MEM (0x24<<23) +static void *mmio_base; + +static void cleanup (int sig) +{ +volatile uint32_t *forcewake_mt = + (uint32_t *)((char *)mmio_base +FORCEWAKE_MT ); +unsigned int bit; + +for (bit =2 ; bit <16 ; bit++) { + *forcewake_mt = (1 << bit) <<16 ; +if (*forcewake_mt & (1 << bit)) +igt_warn ("Failed to restore bit %u!\n" , bit); + } +} + igt_simple_main {struct thread t[16 ];int i; + mmio_base =igfx_get_mmio (); + t[0 ].fd =drm_open_driver (DRIVER_INTEL ); - t[0 ].mmio =igfx_get_mmio (); + t[0 ].run = true; + t[0 ].mmio = mmio_base; + +igt_install_exit_handler (cleanup);for (i =2 ; i <16 ; i++) { t[i] = t[0 ];
@@ -201,4 +225,10 @@ igt_simple_mainusleep (1000 ); } + +for (i =2 ; i <16 ; i++) + t[i].run = false; + +for (i =2 ; i <16 ; i++) +pthread_join (t[i].thread,NULL ); }
Signature · 6 lines
2.14.1 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Patchwork
CI[igt-dev] ✓ Fi.CI.BAT: success for don't look
== Series Details ==
== Series Details ==
Series: don't look
URL : https://patchwork.freedesktop.org/series/39225/
State : success
== Summary ==
IGT patchset tested on top of latest successful build a5d7e165fe5558487799ad75b9627f49947337af tools/intel_dp_compliance: Add missing GLIB_CFLAGS
with latest DRM-Tip kernel build CI_DRM_38607fe823aaeff7 drm-tip: 2018y-03m-01d-15h-58m-23s UTC integration manifest
No testlist changes.
---- Known issues:
Test kms_pipe_crc_basic:
Subgroup suspend-read-crc-pipe-b:
pass -> INCOMPLETE (fi-snb-2520m) fdo#103713fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:418s fi-bdw-gvtdvm total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:428s fi-blb-e6850 total:288 pass:223 dwarn:1 dfail:0 fail:0 skip:64 time:374s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:488s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:279s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:477s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:483s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:473s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:458s fi-cfl-8700k total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:391s fi-cfl-s2 total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:563s fi-cnl-y3 total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:579s fi-elk-e7500 total:288 pass:229 dwarn:0 dfail:0 fail:0 skip:59 time:419s fi-gdg-551 total:288 pass:180 dwarn:0 dfail:0 fail:0 skip:108 time:291s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:512s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:389s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:411s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:455s fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:412s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:450s fi-kbl-7560u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:493s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:451s fi-kbl-r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:493s fi-pnv-d510 total:288 pass:222 dwarn:1 dfail:0 fail:0 skip:65 time:586s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:429s fi-skl-6600u total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:502s fi-skl-6700hq total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:518s fi-skl-6700k2 total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:484s fi-skl-6770hq total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:482s fi-skl-guc total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:405s fi-skl-gvtdvm total:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:435s fi-snb-2520m total:245 pass:211 dwarn:0 dfail:0 fail:0 skip:33 fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:399s
Blacklisted hosts:
fi-cfl-u total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:501s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1037/issues.html
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✗ Fi.CI.IGT: failure for don't look
In reply to Tvrtko Ursulin== Series Details ==
== Series Details ==
Series: don't look
URL : https://patchwork.freedesktop.org/series/39225/
State : failure
== Summary ==
---- Possible new issues:
Test gen7_forcewake_mt:
pass -> FAIL (shard-hsw)
Test kms_fence_pin_leak:
incomplete -> PASS (shard-apl)---- Known issues:
Test gem_eio:
Subgroup in-flight:
pass -> INCOMPLETE (shard-apl) fdo#104945
Test kms_chv_cursor_fail:
Subgroup pipe-b-128x128-bottom-edge:
dmesg-warn -> PASS (shard-snb) fdo#105185 +1
Test kms_cursor_crc:
Subgroup cursor-128x128-suspend:
pass -> SKIP (shard-snb) fdo#103880
Test kms_flip:
Subgroup plain-flip-ts-check:
pass -> FAIL (shard-hsw) fdo#100368
Test kms_rotation_crc:
Subgroup sprite-rotation-180:
pass -> FAIL (shard-snb) fdo#103925
Test perf:
Subgroup polling:
pass -> FAIL (shard-hsw) fdo#102252fdo#104945 https://bugs.freedesktop.org/show_bug.cgi?id=104945
fdo#105185 https://bugs.freedesktop.org/show_bug.cgi?id=105185
fdo#103880 https://bugs.freedesktop.org/show_bug.cgi?id=103880
fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
fdo#103925 https://bugs.freedesktop.org/show_bug.cgi?id=103925
fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
shard-apl total:3402 pass:1793 dwarn:1 dfail:0 fail:6 skip:1600 time:11831s shard-hsw total:3461 pass:1765 dwarn:1 dfail:0 fail:4 skip:1690 time:11606s shard-snb total:3461 pass:1358 dwarn:1 dfail:0 fail:2 skip:2100 time:6559s
Blacklisted hosts:
shard-kbl total:3461 pass:1913 dwarn:29 dfail:2 fail:8 skip:1509 time:9325s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1037/shards.html
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
PATCH v3 1/1 don't look
In reply to Tvrtko UrsulinFrom: Tvrtko Ursulin <[email protected]>
1.
We need to tell the compiler mmio access cannot be optimized away (volatile).
2.
We need to ensure we don't exit with forcewake left on. Signal threads to exit in a controlled fashion and install atexit handler just in case.
v2: Do not assert from the threads.
v3: HACK
--- tests/gen7_forcewake_mt.c | 69 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 64 insertions(+), 5 deletions(-)
tests/gen7_forcewake_mt.c +64 -5
@@ -29,6 +29,7 @@* Testcase: Exercise a suspect workaround required for FORCEWAKE_MT * */ +#pragma GCC optimize ("O0")#include "igt.h" #include <sys/types.h>
@@ -44,6 +45,7 @@ IGT_TEST_DESCRIPTION("Exercise a suspect workaround required for"struct thread {pthread_t thread; +bool run;void *mmio;int fd;int bit;
@@ -106,14 +108,26 @@ static void *igfx_get_mmio(void)static void *thread (void *arg) {struct thread *t = arg; -uint32_t *forcewake_mt = (uint32_t *)((char *)t->mmio +FORCEWAKE_MT ); +volatile uint32_t *forcewake_mt = + (uint32_t *)((char *)t->mmio +FORCEWAKE_MT );uint32_t bit =1 << t->bit; -while (1 ) { +while (t->run) { +uint32_t reg; + *forcewake_mt = bit <<16 | bit; -igt_assert (*forcewake_mt & bit); + reg = *forcewake_mt; +if (!(reg & bit)) { +igt_warn ("Bit %u did not set! (val=%x)\n" , t->bit, reg); +return (void *)-1 ; + } *forcewake_mt = bit <<16 ; -igt_assert ((*forcewake_mt & bit) ==0 ); + reg = *forcewake_mt; +if (reg & bit) { +igt_warn ("Bit %u did not clear! (val=%x)\n" , + t->bit, reg); +return (void *)-1 ; + } }return NULL ;
@@ -121,13 +135,39 @@ static void *thread(void *arg)#define MI_STORE_REGISTER_MEM (0x24<<23) +static void *mmio_base; + +static void cleanup (int sig) +{ +volatile uint32_t *forcewake_mt = + (uint32_t *)((char *)mmio_base +FORCEWAKE_MT ); +unsigned int bit; + +for (bit =2 ; bit <16 ; bit++) { +uint32_t val =1 << bit; +uint32_t reg; + + *forcewake_mt = val <<16 ; + reg = *forcewake_mt; +if (reg & val) +igt_warn ("Failed to restore bit %u! (val=%x)\n" , + bit, reg); + } +} + igt_simple_main {struct thread t[16 ]; +bool success = true;int i; + mmio_base =igfx_get_mmio (); + t[0 ].fd =drm_open_driver (DRIVER_INTEL ); - t[0 ].mmio =igfx_get_mmio (); + t[0 ].run = true; + t[0 ].mmio = mmio_base; + +igt_install_exit_handler (cleanup);for (i =2 ; i <16 ; i++) { t[i] = t[0 ];
@@ -201,4 +241,23 @@ igt_simple_mainusleep (1000 ); } + +for (i =2 ; i <16 ; i++) + t[i].run = false; + +for (i =2 ; i <16 ; i++) { +void *threadret =NULL ; +int ret; + + ret =pthread_join (t[i].thread, &threadret); +if (ret) { +igt_warn ("failed to join thread%u! (%d)\n" , i, ret); + success = false; + }else if (threadret) { +igt_warn ("thread%u failed! (%p)\n" , i, threadret); + success = false; + } + } + +igt_assert (success); }
Signature · 6 lines
2.14.1 _______________________________________________ igt-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✓ Fi.CI.BAT: success for don't look (rev2)
In reply to Tvrtko Ursulin== Series Details ==
== Series Details ==
Series: don't look (rev2)
URL : https://patchwork.freedesktop.org/series/39225/
State : success
== Summary ==
IGT patchset tested on top of latest successful build bddfb8dd3c1767f13d2af578d5c3d897fddf0dcd igt/gem_ctx_switch: Exercise all engines at once
with latest DRM-Tip kernel build CI_DRM_38674f4e4dd52a30 drm-tip: 2018y-03m-02d-16h-28m-21s UTC integration manifest
No testlist changes.
fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:415s fi-bdw-gvtdvm total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:427s fi-blb-e6850 total:288 pass:223 dwarn:1 dfail:0 fail:0 skip:64 time:375s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:488s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:279s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:485s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:468s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:464s fi-cfl-8700k total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:390s fi-cfl-s2 total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:561s fi-cfl-u total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:498s fi-cnl-y3 total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:580s fi-elk-e7500 total:288 pass:229 dwarn:0 dfail:0 fail:0 skip:59 time:416s fi-gdg-551 total:288 pass:179 dwarn:0 dfail:0 fail:1 skip:108 time:297s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:507s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:389s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:412s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:448s fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:412s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:455s fi-kbl-7560u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:491s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:445s fi-kbl-r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:495s fi-pnv-d510 total:288 pass:222 dwarn:1 dfail:0 fail:0 skip:65 time:586s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:423s fi-skl-6600u total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:500s fi-skl-6700hq total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:519s fi-skl-6700k2 total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:489s fi-skl-6770hq total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:469s fi-skl-guc total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:408s fi-skl-gvtdvm total:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:432s fi-snb-2520m total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:529s fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:391s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1042/issues.html
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✗ Fi.CI.IGT: failure for don't look (rev2)
In reply to Tvrtko Ursulin== Series Details ==
== Series Details ==
Series: don't look (rev2)
URL : https://patchwork.freedesktop.org/series/39225/
State : failure
== Summary ==
---- Possible new issues:
Test gen7_forcewake_mt:
pass -> FAIL (shard-hsw)
---- Known issues:
Test kms_chv_cursor_fail:
Subgroup pipe-b-256x256-right-edge:
pass -> DMESG-WARN (shard-snb) fdo#105185 +3
Test kms_fbcon_fbt:
Subgroup fbc-suspend:
incomplete -> PASS (shard-hsw) fdo#105087
Test kms_flip:
Subgroup plain-flip-fb-recreate-interruptible:
pass -> FAIL (shard-hsw) fdo#100368
Test kms_rotation_crc:
Subgroup primary-rotation-180:
pass -> FAIL (shard-snb) fdo#103925
Test kms_sysfs_edid_timing:
warn -> PASS (shard-apl) fdo#100047fdo#105185 https://bugs.freedesktop.org/show_bug.cgi?id=105185
fdo#105087 https://bugs.freedesktop.org/show_bug.cgi?id=105087
fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
fdo#103925 https://bugs.freedesktop.org/show_bug.cgi?id=103925
fdo#100047 https://bugs.freedesktop.org/show_bug.cgi?id=100047
shard-apl total:3448 pass:1815 dwarn:1 dfail:0 fail:7 skip:1624 time:11942s shard-hsw total:3463 pass:1768 dwarn:1 dfail:0 fail:3 skip:1690 time:11977s shard-snb total:3463 pass:1358 dwarn:4 dfail:0 fail:2 skip:2099 time:7077s
Blacklisted hosts:
shard-kbl total:3382 pass:1897 dwarn:1 dfail:0 fail:7 skip:1475 time:8966s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1042/shards.html
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev