summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-01-19 21:11:28 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2016-01-19 21:13:24 +0000
commit28c33c6f90016f494d387ff8e886632ad3b5dfc6 (patch)
tree97e82321bd7ad6d117d3f5c5984c42dec6201dec /tests
parent6cf9d911ab0887f481f25351ab480d44cf044e07 (diff)
igt/gem_exec_alignment: Fix off-by-one in evalation of find_last_bit()
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'tests')
-rw-r--r--tests/gem_exec_alignment.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/tests/gem_exec_alignment.c b/tests/gem_exec_alignment.c
index a45a7312..a18e23f7 100644
--- a/tests/gem_exec_alignment.c
+++ b/tests/gem_exec_alignment.c
@@ -85,10 +85,10 @@ static void many(int fd)
if (count > file_max()) /* vfs cap */
count = file_max();
max_alignment = find_last_bit(gtt_size / count);
- if (max_alignment <= 12)
+ if (max_alignment <= 13)
max_alignment = 4096;
else
- max_alignment = 1ull << max_alignment;
+ max_alignment = 1ull << (max_alignment - 1);
count = gtt_size / max_alignment / 2;
igt_info("gtt_size=%lld MiB, max-alignment=%lld, count=%lld\n",
@@ -125,7 +125,7 @@ static void many(int fd)
igt_debug("testing %lld x alignment=%#llx [%db]\n",
(long long)execbuf.buffer_count - 1,
(long long)alignment,
- find_last_bit(alignment));
+ find_last_bit(alignment)-1);
gem_execbuf(fd, &execbuf);
for (i = 0; i < count; i++)
igt_assert_eq_u64(execobj[i].alignment, alignment);
@@ -185,7 +185,7 @@ static void single(int fd)
igt_debug("starting offset: %#llx, next alignment: %#llx [%db]\n",
(long long)execobj.offset,
(long long)execobj.alignment,
- find_last_bit(execobj.alignment));
+ find_last_bit(execobj.alignment)-1);
gem_execbuf(fd, &execbuf);
igt_assert_eq_u64(execobj.offset % execobj.alignment, 0);
}