<p dir="ltr">Yeah looks good, thanks. I thought it should be a separate patch, bur never got around to doing it. </p>
<p dir="ltr">Thanks, <br>
Jesse</p>
<br><br>---- Daniel Vetter wrote ----<br><br>On Mon, Sep 07, 2015 at 03:01:39PM <a href="tel:+0100">+0100</a>, Thomas Wood wrote:<br>> These have been replaced by subtests in gem_storedw_loop.<br>> <br>> Signed-off-by: Thomas Wood <<a href="mailto:thomas.wood@intel.com">thomas.wood@intel.com</a>><br><br>Reviewed-by: Daniel Vetter <<a href="mailto:daniel.vetter@ffwll.ch">daniel.vetter@ffwll.ch</a>><br><br>... especially since I asked for this when reviewing Jesse BAT series and<br>he didn't do it and still put my r-b onto his patch!<br><br>commit <a href="tel:0679702150157706">0679702150157706</a>a6def66b893b29c16345f4db<br>Author: Jesse Barnes <<a href="mailto:jbarnes@virtuousgeek.org">jbarnes@virtuousgeek.org</a>><br>Date: Wed Aug 5 16:06:<a href="tel:31 2015 -0700">31 2015 -0700</a><br><br> tests/gem_storedw_loop: add new store_dword test to unify per-ring ones v2<br><br><br>Tsk ;-)<br>-Daniel<br><br>> ---<br>> tests/.gitignore | 4 --<br>> tests/<a href="http://Makefile.sources">Makefile.sources</a> | 4 --<br>> tests/gem_storedw_loop_blt.c | 150 ---------------------------------------<br>> tests/gem_storedw_loop_bsd.c | 153 ----------------------------------------<br>> tests/gem_storedw_loop_render.c | 147 --------------------------------------<br>> tests/gem_storedw_loop_vebox.c | 127 ---------------------------------<br>> 6 files changed, 585 deletions(-)<br>> delete mode <a href="tel:100644">100644</a> tests/gem_storedw_loop_blt.c<br>> delete mode <a href="tel:100644">100644</a> tests/gem_storedw_loop_bsd.c<br>> delete mode <a href="tel:100644">100644</a> tests/gem_storedw_loop_render.c<br>> delete mode <a href="tel:100644">100644</a> tests/gem_storedw_loop_vebox.c<br>> <br>> diff --git a/tests/.gitignore b/tests/.gitignore<br>> index d6d05ff..dc8bb53 100644<br>> --- a/tests/.gitignore<br>> +++ b/tests/.gitignore<br>> @@ -99,10 +99,6 @@ gem_set_tiling_vs_blt<br>> gem_set_tiling_vs_gtt<br>> gem_set_tiling_vs_pwrite<br>> gem_storedw_batches_loop<br>> -gem_storedw_loop_blt<br>> -gem_storedw_loop_bsd<br>> -gem_storedw_loop_render<br>> -gem_storedw_loop_vebox<br>> gem_streaming_writes<br>> gem_stress<br>> gem_threaded_access_tiled<br>> diff --git a/tests/<a href="http://Makefile.sources">Makefile.sources</a> b/tests/<a href="http://Makefile.sources">Makefile.sources</a><br>> index ef69299..2e2e088 100644<br>> --- a/tests/<a href="http://Makefile.sources">Makefile.sources</a><br>> +++ b/tests/<a href="http://Makefile.sources">Makefile.sources</a><br>> @@ -139,10 +139,6 @@ TESTS_progs = \<br>> gem_set_tiling_vs_gtt \<br>> gem_set_tiling_vs_pwrite \<br>> gem_storedw_loop \<br>> - gem_storedw_loop_blt \<br>> - gem_storedw_loop_bsd \<br>> - gem_storedw_loop_render \<br>> - gem_storedw_loop_vebox \<br>> gem_threaded_access_tiled \<br>> gem_tiled_fence_blits \<br>> gem_tiled_pread_basic \<br>> diff --git a/tests/gem_storedw_loop_blt.c b/tests/gem_storedw_loop_blt.c<br>> deleted file mode <a href="tel:100644">100644</a><br>> index e463a27..0000000<br>> --- a/tests/gem_storedw_loop_blt.c<br>> +++ /dev/null<br>> @@ -1,150 +0,0 @@<br>> -/*<br>> - * Copyright © 2009 Intel Corporation<br>> - *<br>> - * Permission is hereby granted, free of charge, to any person obtaining a<br>> - * copy of this software and associated documentation files (the "Software"),<br>> - * to deal in the Software without restriction, including without limitation<br>> - * the rights to use, copy, modify, merge, publish, distribute, sublicense,<br>> - * and/or sell copies of the Software, and to permit persons to whom the<br>> - * Software is furnished to do so, subject to the following conditions:<br>> - *<br>> - * The above copyright notice and this permission notice (including the next<br>> - * paragraph) shall be included in all copies or substantial portions of the<br>> - * Software.<br>> - *<br>> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br>> - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br>> - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL<br>> - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br>> - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING<br>> - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS<br>> - * IN THE SOFTWARE.<br>> - *<br>> - * Authors:<br>> - * Eric Anholt <<a href="mailto:eric@anholt.net">eric@anholt.net</a>><br>> - * Jesse Barnes <<a href="mailto:jbarnes@virtuousgeek.org">jbarnes@virtuousgeek.org</a>> (based on gem_bad_blit.c)<br>> - *<br>> - */<br>> -<br>> -#include "igt.h"<br>> -#include <stdlib.h><br>> -#include <stdio.h><br>> -#include <string.h><br>> -#include <fcntl.h><br>> -#include <inttypes.h><br>> -#include <errno.h><br>> -#include <sys/stat.h><br>> -#include <sys/time.h><br>> -#include "drm.h"<br>> -#include "intel_bufmgr.h"<br>> -<br>> -IGT_TEST_DESCRIPTION("Basic blitter MI check using MI_STORE_DATA_IMM.");<br>> -<br>> -static drm_intel_bufmgr *bufmgr;<br>> -struct intel_batchbuffer *batch;<br>> -static drm_intel_bo *target_buffer;<br>> -static int has_ppgtt = 0;<br>> -<br>> -/*<br>> - * Testcase: Basic blitter MI check using MI_STORE_DATA_IMM<br>> - */<br>> -<br>> -static void<br>> -emit_store_dword_imm(int devid, drm_intel_bo *dest, uint32_t val)<br>> -{<br>> - int cmd;<br>> - cmd = MI_STORE_DWORD_IMM;<br>> - if (!has_ppgtt)<br>> - cmd |= MI_MEM_VIRTUAL;<br>> -<br>> - BEGIN_BATCH(4, 0);<br>> - OUT_BATCH(cmd);<br>> - if (batch->gen >= 8) {<br>> - OUT_RELOC(dest, I915_GEM_DOMAIN_INSTRUCTION,<br>> - I915_GEM_DOMAIN_INSTRUCTION, 0);<br>> - OUT_BATCH(val);<br>> - } else {<br>> - OUT_BATCH(0); /* reserved */<br>> - OUT_RELOC(dest, I915_GEM_DOMAIN_INSTRUCTION,<br>> - I915_GEM_DOMAIN_INSTRUCTION, 0);<br>> - OUT_BATCH(val);<br>> - }<br>> - ADVANCE_BATCH();<br>> -}<br>> -<br>> -static void<br>> -store_dword_loop(int devid, int divider)<br>> -{<br>> - int i, val = 0;<br>> - uint32_t *buf;<br>> -<br>> - igt_info("running storedw loop on render with stall every %i batch\n", divider);<br>> -<br>> - for (i = 0; i < SLOW_QUICK(0x2000, 0x10); i++) {<br>> - emit_store_dword_imm(devid, target_buffer, val);<br>> - intel_batchbuffer_flush_on_ring(batch, I915_EXEC_BLT);<br>> -<br>> - if (i % divider != 0)<br>> - goto cont;<br>> -<br>> - drm_intel_bo_map(target_buffer, 0);<br>> -<br>> - buf = target_buffer->virtual;<br>> - igt_assert_f(buf[0] == val,<br>> - "value mismatch: cur 0x%08x, stored 0x%08x\n",<br>> - buf[0], val);<br>> -<br>> - drm_intel_bo_unmap(target_buffer);<br>> -<br>> -cont:<br>> - val++;<br>> - }<br>> -<br>> - drm_intel_bo_map(target_buffer, 0);<br>> - buf = target_buffer->virtual;<br>> -<br>> - igt_info("completed %d writes successfully, current value: 0x%08x\n", i,<br>> - buf[0]);<br>> - drm_intel_bo_unmap(target_buffer);<br>> -}<br>> -<br>> -igt_simple_main<br>> -{<br>> - int fd;<br>> - int devid;<br>> -<br>> - fd = drm_open_any();<br>> - devid = intel_get_drm_devid(fd);<br>> -<br>> - has_ppgtt = gem_uses_aliasing_ppgtt(fd);<br>> -<br>> - igt_skip_on_f(intel_gen(devid) < 6,<br>> - "MI_STORE_DATA can only use GTT address on gen4+/g33 and "<br>> - "needs snoopable mem on pre-gen6\n");<br>> -<br>> - /* This only works with ppgtt */<br>> - igt_require(has_ppgtt);<br>> -<br>> - bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);<br>> - igt_assert(bufmgr);<br>> - drm_intel_bufmgr_gem_enable_reuse(bufmgr);<br>> -<br>> - batch = intel_batchbuffer_alloc(bufmgr, devid);<br>> - igt_assert(batch);<br>> -<br>> - target_buffer = drm_intel_bo_alloc(bufmgr, "target bo", 4096, 4096);<br>> - igt_assert(target_buffer);<br>> -<br>> - store_dword_loop(devid, 1);<br>> - store_dword_loop(devid, 2);<br>> - if (!igt_run_in_simulation()) {<br>> - store_dword_loop(devid, 3);<br>> - store_dword_loop(devid, 5);<br>> - }<br>> -<br>> - drm_intel_bo_unreference(target_buffer);<br>> - intel_batchbuffer_free(batch);<br>> - drm_intel_bufmgr_destroy(bufmgr);<br>> -<br>> - close(fd);<br>> -}<br>> diff --git a/tests/gem_storedw_loop_bsd.c b/tests/gem_storedw_loop_bsd.c<br>> deleted file mode <a href="tel:100644">100644</a><br>> index c9deb81..0000000<br>> --- a/tests/gem_storedw_loop_bsd.c<br>> +++ /dev/null<br>> @@ -1,153 +0,0 @@<br>> -/*<br>> - * Copyright © 2009 Intel Corporation<br>> - *<br>> - * Permission is hereby granted, free of charge, to any person obtaining a<br>> - * copy of this software and associated documentation files (the "Software"),<br>> - * to deal in the Software without restriction, including without limitation<br>> - * the rights to use, copy, modify, merge, publish, distribute, sublicense,<br>> - * and/or sell copies of the Software, and to permit persons to whom the<br>> - * Software is furnished to do so, subject to the following conditions:<br>> - *<br>> - * The above copyright notice and this permission notice (including the next<br>> - * paragraph) shall be included in all copies or substantial portions of the<br>> - * Software.<br>> - *<br>> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br>> - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br>> - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL<br>> - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br>> - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING<br>> - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS<br>> - * IN THE SOFTWARE.<br>> - *<br>> - * Authors:<br>> - * Eric Anholt <<a href="mailto:eric@anholt.net">eric@anholt.net</a>><br>> - * Jesse Barnes <<a href="mailto:jbarnes@virtuousgeek.org">jbarnes@virtuousgeek.org</a>> (based on gem_bad_blit.c)<br>> - *<br>> - */<br>> -<br>> -#include "igt.h"<br>> -#include <stdlib.h><br>> -#include <stdio.h><br>> -#include <string.h><br>> -#include <fcntl.h><br>> -#include <inttypes.h><br>> -#include <errno.h><br>> -#include <sys/stat.h><br>> -#include <sys/time.h><br>> -#include "drm.h"<br>> -#include "intel_bufmgr.h"<br>> -<br>> -IGT_TEST_DESCRIPTION("Basic bsd MI check using MI_STORE_DATA_IMM.");<br>> -<br>> -static drm_intel_bufmgr *bufmgr;<br>> -struct intel_batchbuffer *batch;<br>> -static drm_intel_bo *target_buffer;<br>> -static int has_ppgtt = 0;<br>> -<br>> -/*<br>> - * Testcase: Basic bsd MI check using MI_STORE_DATA_IMM<br>> - */<br>> -<br>> -static void<br>> -emit_store_dword_imm(int devid, drm_intel_bo *dest, uint32_t val)<br>> -{<br>> - int cmd;<br>> - cmd = MI_STORE_DWORD_IMM;<br>> - if (!has_ppgtt)<br>> - cmd |= MI_MEM_VIRTUAL;<br>> -<br>> - BEGIN_BATCH(4, 0);<br>> - OUT_BATCH(cmd);<br>> - if (batch->gen >= 8) {<br>> - OUT_RELOC(dest, I915_GEM_DOMAIN_INSTRUCTION,<br>> - I915_GEM_DOMAIN_INSTRUCTION, 0);<br>> - OUT_BATCH(val);<br>> - } else {<br>> - OUT_BATCH(0); /* reserved */<br>> - OUT_RELOC(dest, I915_GEM_DOMAIN_INSTRUCTION,<br>> - I915_GEM_DOMAIN_INSTRUCTION, 0);<br>> - OUT_BATCH(val);<br>> - }<br>> - ADVANCE_BATCH();<br>> -}<br>> -<br>> -static void<br>> -store_dword_loop(int devid, int divider)<br>> -{<br>> - int i, val = 0;<br>> - uint32_t *buf;<br>> -<br>> - igt_info("running storedw loop on render with stall every %i batch\n", divider);<br>> -<br>> - for (i = 0; i < SLOW_QUICK(0x2000, 0x10); i++) {<br>> - emit_store_dword_imm(devid, target_buffer, val);<br>> - intel_batchbuffer_flush_on_ring(batch, I915_EXEC_BSD);<br>> -<br>> - if (i % divider != 0)<br>> - goto cont;<br>> -<br>> - drm_intel_bo_map(target_buffer, 0);<br>> -<br>> - buf = target_buffer->virtual;<br>> - igt_assert_f(buf[0] == val,<br>> - "value mismatch: cur 0x%08x, stored 0x%08x\n",<br>> - buf[0], val);<br>> -<br>> - drm_intel_bo_unmap(target_buffer);<br>> -<br>> -cont:<br>> - val++;<br>> - }<br>> -<br>> - drm_intel_bo_map(target_buffer, 0);<br>> - buf = target_buffer->virtual;<br>> -<br>> - igt_info("completed %d writes successfully, current value: 0x%08x\n", i,<br>> - buf[0]);<br>> - drm_intel_bo_unmap(target_buffer);<br>> -}<br>> -<br>> -igt_simple_main<br>> -{<br>> - int fd;<br>> - int devid;<br>> -<br>> - fd = drm_open_any();<br>> - devid = intel_get_drm_devid(fd);<br>> -<br>> - has_ppgtt = gem_uses_aliasing_ppgtt(fd);<br>> -<br>> - igt_skip_on_f(intel_gen(devid) < 6,<br>> - "MI_STORE_DATA can only use GTT address on gen4+/g33 and "<br>> - "needs snoopable mem on pre-gen6\n");<br>> -<br>> - igt_skip_on_f(intel_gen(devid) == 6,<br>> - "MI_STORE_DATA broken on gen6 bsd\n");<br>> -<br>> - /* This only works with ppgtt */<br>> - igt_require(has_ppgtt);<br>> -<br>> - bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);<br>> - igt_assert(bufmgr);<br>> - drm_intel_bufmgr_gem_enable_reuse(bufmgr);<br>> -<br>> - batch = intel_batchbuffer_alloc(bufmgr, devid);<br>> - igt_assert(batch);<br>> -<br>> - target_buffer = drm_intel_bo_alloc(bufmgr, "target bo", 4096, 4096);<br>> - igt_assert(target_buffer);<br>> -<br>> - store_dword_loop(devid, 1);<br>> - store_dword_loop(devid, 2);<br>> - if (!igt_run_in_simulation()) {<br>> - store_dword_loop(devid, 3);<br>> - store_dword_loop(devid, 5);<br>> - }<br>> -<br>> - drm_intel_bo_unreference(target_buffer);<br>> - intel_batchbuffer_free(batch);<br>> - drm_intel_bufmgr_destroy(bufmgr);<br>> -<br>> - close(fd);<br>> -}<br>> diff --git a/tests/gem_storedw_loop_render.c b/tests/gem_storedw_loop_render.c<br>> deleted file mode <a href="tel:100644">100644</a><br>> index 6d7a1fb..0000000<br>> --- a/tests/gem_storedw_loop_render.c<br>> +++ /dev/null<br>> @@ -1,147 +0,0 @@<br>> -/*<br>> - * Copyright © 2009 Intel Corporation<br>> - *<br>> - * Permission is hereby granted, free of charge, to any person obtaining a<br>> - * copy of this software and associated documentation files (the "Software"),<br>> - * to deal in the Software without restriction, including without limitation<br>> - * the rights to use, copy, modify, merge, publish, distribute, sublicense,<br>> - * and/or sell copies of the Software, and to permit persons to whom the<br>> - * Software is furnished to do so, subject to the following conditions:<br>> - *<br>> - * The above copyright notice and this permission notice (including the next<br>> - * paragraph) shall be included in all copies or substantial portions of the<br>> - * Software.<br>> - *<br>> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br>> - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br>> - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL<br>> - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br>> - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING<br>> - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS<br>> - * IN THE SOFTWARE.<br>> - *<br>> - * Authors:<br>> - * Eric Anholt <<a href="mailto:eric@anholt.net">eric@anholt.net</a>><br>> - * Jesse Barnes <<a href="mailto:jbarnes@virtuousgeek.org">jbarnes@virtuousgeek.org</a>> (based on gem_bad_blit.c)<br>> - *<br>> - */<br>> -<br>> -#include "igt.h"<br>> -#include <stdlib.h><br>> -#include <stdio.h><br>> -#include <string.h><br>> -#include <fcntl.h><br>> -#include <inttypes.h><br>> -#include <errno.h><br>> -#include <sys/stat.h><br>> -#include <sys/time.h><br>> -#include "drm.h"<br>> -#include "intel_bufmgr.h"<br>> -<br>> -IGT_TEST_DESCRIPTION("Basic render MI check using MI_STORE_DATA_IMM.");<br>> -<br>> -static drm_intel_bufmgr *bufmgr;<br>> -struct intel_batchbuffer *batch;<br>> -static drm_intel_bo *target_buffer;<br>> -static int has_ppgtt = 0;<br>> -<br>> -/*<br>> - * Testcase: Basic render MI check using MI_STORE_DATA_IMM<br>> - */<br>> -<br>> -static void<br>> -emit_store_dword_imm(int devid, drm_intel_bo *dest, uint32_t val)<br>> -{<br>> - int cmd;<br>> - cmd = MI_STORE_DWORD_IMM;<br>> - if (!has_ppgtt)<br>> - cmd |= MI_MEM_VIRTUAL;<br>> -<br>> - BEGIN_BATCH(4, 0);<br>> - OUT_BATCH(cmd);<br>> - if (batch->gen >= 8) {<br>> - OUT_RELOC(dest, I915_GEM_DOMAIN_INSTRUCTION,<br>> - I915_GEM_DOMAIN_INSTRUCTION, 0);<br>> - OUT_BATCH(val);<br>> - } else {<br>> - OUT_BATCH(0); /* reserved */<br>> - OUT_RELOC(dest, I915_GEM_DOMAIN_INSTRUCTION,<br>> - I915_GEM_DOMAIN_INSTRUCTION, 0);<br>> - OUT_BATCH(val);<br>> - }<br>> - ADVANCE_BATCH();<br>> -}<br>> -<br>> -static void<br>> -store_dword_loop(int devid, int divider)<br>> -{<br>> - int i, val = 0;<br>> - uint32_t *buf;<br>> -<br>> - igt_info("running storedw loop on render with stall every %i batch\n", divider);<br>> -<br>> - for (i = 0; i < SLOW_QUICK(0x2000, 0x10); i++) {<br>> - emit_store_dword_imm(devid, target_buffer, val);<br>> - intel_batchbuffer_flush_on_ring(batch, 0);<br>> -<br>> - if (i % divider != 0)<br>> - goto cont;<br>> -<br>> - drm_intel_bo_map(target_buffer, 0);<br>> -<br>> - buf = target_buffer->virtual;<br>> - igt_assert_f(buf[0] == val,<br>> - "value mismatch: cur 0x%08x, stored 0x%08x\n",<br>> - buf[0], val);<br>> -<br>> - drm_intel_bo_unmap(target_buffer);<br>> -<br>> -cont:<br>> - val++;<br>> - }<br>> -<br>> - drm_intel_bo_map(target_buffer, 0);<br>> - buf = target_buffer->virtual;<br>> -<br>> - igt_info("completed %d writes successfully, current value: 0x%08x\n", i,<br>> - buf[0]);<br>> - drm_intel_bo_unmap(target_buffer);<br>> -}<br>> -<br>> -igt_simple_main<br>> -{<br>> - int fd;<br>> - int devid;<br>> -<br>> - fd = drm_open_any();<br>> - devid = intel_get_drm_devid(fd);<br>> -<br>> - has_ppgtt = gem_uses_aliasing_ppgtt(fd);<br>> -<br>> - igt_skip_on_f(intel_gen(devid) < 6,<br>> - "MI_STORE_DATA can only use GTT address on gen4+/g33 and "<br>> - "needs snoopable mem on pre-gen6\n");<br>> -<br>> - bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);<br>> - igt_assert(bufmgr);<br>> - drm_intel_bufmgr_gem_enable_reuse(bufmgr);<br>> -<br>> - batch = intel_batchbuffer_alloc(bufmgr, devid);<br>> - igt_assert(batch);<br>> -<br>> - target_buffer = drm_intel_bo_alloc(bufmgr, "target bo", 4096, 4096);<br>> - igt_assert(target_buffer);<br>> -<br>> - store_dword_loop(devid, 1);<br>> - store_dword_loop(devid, 2);<br>> - if (!igt_run_in_simulation()) {<br>> - store_dword_loop(devid, 3);<br>> - store_dword_loop(devid, 5);<br>> - }<br>> -<br>> - drm_intel_bo_unreference(target_buffer);<br>> - intel_batchbuffer_free(batch);<br>> - drm_intel_bufmgr_destroy(bufmgr);<br>> -<br>> - close(fd);<br>> -}<br>> diff --git a/tests/gem_storedw_loop_vebox.c b/tests/gem_storedw_loop_vebox.c<br>> deleted file mode <a href="tel:100644">100644</a><br>> index 3fec02c..0000000<br>> --- a/tests/gem_storedw_loop_vebox.c<br>> +++ /dev/null<br>> @@ -1,127 +0,0 @@<br>> -/*<br>> - * Copyright © 2012 Intel Corporation<br>> - *<br>> - * Permission is hereby granted, free of charge, to any person obtaining a<br>> - * copy of this software and associated documentation files (the "Software"),<br>> - * to deal in the Software without restriction, including without limitation<br>> - * the rights to use, copy, modify, merge, publish, distribute, sublicense,<br>> - * and/or sell copies of the Software, and to permit persons to whom the<br>> - * Software is furnished to do so, subject to the following conditions:<br>> - *<br>> - * The above copyright notice and this permission notice (including the next<br>> - * paragraph) shall be included in all copies or substantial portions of the<br>> - * Software.<br>> - *<br>> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br>> - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br>> - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL<br>> - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br>> - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING<br>> - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS<br>> - * IN THE SOFTWARE.<br>> - *<br>> - * Authors:<br>> - * Xiang, Haihao <<a href="mailto:haihao.xiang@intel.com">haihao.xiang@intel.com</a>> (based on gem_store_dw_loop_*)<br>> - *<br>> - */<br>> -<br>> -#include "igt.h"<br>> -#include <stdlib.h><br>> -#include <stdio.h><br>> -#include <string.h><br>> -#include <fcntl.h><br>> -#include <inttypes.h><br>> -#include <errno.h><br>> -#include <sys/stat.h><br>> -#include <sys/time.h><br>> -#include "drm.h"<br>> -#include "intel_bufmgr.h"<br>> -<br>> -IGT_TEST_DESCRIPTION("Basic vebox MI check using MI_STORE_DATA_IMM.");<br>> -<br>> -#define LOCAL_I915_EXEC_VEBOX (4<<0)<br>> -<br>> -static drm_intel_bufmgr *bufmgr;<br>> -struct intel_batchbuffer *batch;<br>> -static drm_intel_bo *target_buffer;<br>> -<br>> -/*<br>> - * Testcase: Basic vebox MI check using MI_STORE_DATA_IMM<br>> - */<br>> -<br>> -static void<br>> -store_dword_loop(int divider)<br>> -{<br>> - int cmd, i, val = 0;<br>> - uint32_t *buf;<br>> -<br>> - igt_info("running storedw loop on blt with stall every %i batch\n", divider);<br>> -<br>> - cmd = MI_STORE_DWORD_IMM;<br>> -<br>> - for (i = 0; i < SLOW_QUICK(0x2000, 0x10); i++) {<br>> - BEGIN_BATCH(4, 0);<br>> - OUT_BATCH(cmd);<br>> - if (batch->gen < 8)<br>> - OUT_BATCH(0); /* reserved */<br>> - OUT_RELOC(target_buffer, I915_GEM_DOMAIN_INSTRUCTION,<br>> - I915_GEM_DOMAIN_INSTRUCTION, 0);<br>> - OUT_BATCH(val);<br>> - ADVANCE_BATCH();<br>> -<br>> - intel_batchbuffer_flush_on_ring(batch, LOCAL_I915_EXEC_VEBOX);<br>> -<br>> - if (i % divider != 0)<br>> - goto cont;<br>> -<br>> - drm_intel_bo_map(target_buffer, 0);<br>> -<br>> - buf = target_buffer->virtual;<br>> - igt_assert_eq_u32(buf[0], val);<br>> -<br>> - drm_intel_bo_unmap(target_buffer);<br>> -<br>> -cont:<br>> - val++;<br>> - }<br>> -<br>> - drm_intel_bo_map(target_buffer, 0);<br>> - buf = target_buffer->virtual;<br>> -<br>> - igt_info("completed %d writes successfully, current value: 0x%08x\n", i,<br>> - buf[0]);<br>> - drm_intel_bo_unmap(target_buffer);<br>> -}<br>> -<br>> -igt_simple_main<br>> -{<br>> - int fd;<br>> -<br>> - fd = drm_open_any();<br>> -<br>> - igt_require(gem_has_vebox(fd));<br>> - igt_require(gem_uses_aliasing_ppgtt(fd));<br>> -<br>> - bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);<br>> - igt_assert(bufmgr);<br>> - drm_intel_bufmgr_gem_enable_reuse(bufmgr);<br>> -<br>> - batch = intel_batchbuffer_alloc(bufmgr, intel_get_drm_devid(fd));<br>> - igt_require(batch);<br>> -<br>> - target_buffer = drm_intel_bo_alloc(bufmgr, "target bo", 4096, 4096);<br>> - igt_require(target_buffer);<br>> -<br>> - store_dword_loop(1);<br>> - store_dword_loop(2);<br>> - if (!igt_run_in_simulation()) {<br>> - store_dword_loop(3);<br>> - store_dword_loop(5);<br>> - }<br>> -<br>> - drm_intel_bo_unreference(target_buffer);<br>> - intel_batchbuffer_free(batch);<br>> - drm_intel_bufmgr_destroy(bufmgr);<br>> -<br>> - close(fd);<br>> -}<br>> -- <br>> <a href="tel:1.9.1">1.9.1</a><br>> <br>> _______________________________________________<br>> Intel-gfx mailing list<br>> <a href="mailto:Intel-gfx@lists.freedesktop.org">Intel-gfx@lists.freedesktop.org</a><br>> <a href="http://lists.freedesktop.org/mailman/listinfo/intel-gfx">http://lists.freedesktop.org/mailman/listinfo/intel-gfx</a><br><br>-- <br>Daniel Vetter<br>Software Engineer, Intel Corporation<br><a href="http://blog.ffwll.ch">http://blog.ffwll.ch</a><br><br>