summaryrefslogtreecommitdiffstats
path: root/userspace
diff options
context:
space:
mode:
authorPhilip Elcan <pelcan@nvidia.com>2018-09-17 11:42:33 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-09-20 15:58:54 -0400
commitfa7394037c94205e5645b5565deeae978c458ba5 (patch)
tree716b0af7ae7dd836eea703dcc2b4452ebce9edf3 /userspace
parent8c4b073537cdde960eaa577c18c46bc075a52b6f (diff)
gpu: nvgpu: unit: posix_bitops: fix fls() tests
The fls() test assumed fls(1)=0, but really fls(1)=1, etc. Bug found as result of JIRA NVGPU-1042. Change-Id: I8d0ffe53277f4923a970b46788165ef03b385703 Signed-off-by: Philip Elcan <pelcan@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1828362 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svc-misra-checker <svc-misra-checker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Alex Waterman <alexw@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'userspace')
-rw-r--r--userspace/units/posix-bitops/posix-bitops.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/userspace/units/posix-bitops/posix-bitops.c b/userspace/units/posix-bitops/posix-bitops.c
index c808e777..22386a9b 100644
--- a/userspace/units/posix-bitops/posix-bitops.c
+++ b/userspace/units/posix-bitops/posix-bitops.c
@@ -110,20 +110,20 @@ static int test_fls(struct unit_module *m, struct gk20a *g, void *args)
110 unsigned long i; 110 unsigned long i;
111 111
112 CHECK_FLS_WORD(single_ulong_maps[0], 0UL); 112 CHECK_FLS_WORD(single_ulong_maps[0], 0UL);
113 CHECK_FLS_WORD(single_ulong_maps[1], BITS_PER_LONG - 1UL); 113 CHECK_FLS_WORD(single_ulong_maps[1], BITS_PER_LONG);
114 CHECK_FLS_WORD(single_ulong_maps[2], 31UL); 114 CHECK_FLS_WORD(single_ulong_maps[2], 32UL);
115 CHECK_FLS_WORD(single_ulong_maps[3], 23UL); 115 CHECK_FLS_WORD(single_ulong_maps[3], 24UL);
116 CHECK_FLS_WORD(single_ulong_maps[4], 31UL); 116 CHECK_FLS_WORD(single_ulong_maps[4], 32UL);
117 CHECK_FLS_WORD(single_ulong_maps[5], 15UL); 117 CHECK_FLS_WORD(single_ulong_maps[5], 16UL);
118 CHECK_FLS_WORD(single_ulong_maps[6], 31UL); 118 CHECK_FLS_WORD(single_ulong_maps[6], 32UL);
119 CHECK_FLS_WORD(single_ulong_maps[7], 0UL); 119 CHECK_FLS_WORD(single_ulong_maps[7], 1UL);
120 CHECK_FLS_WORD(single_ulong_maps[8], 31UL); 120 CHECK_FLS_WORD(single_ulong_maps[8], 32UL);
121 CHECK_FLS_WORD(single_ulong_maps[9], 16UL); 121 CHECK_FLS_WORD(single_ulong_maps[9], 17UL);
122 122
123#undef CHECK_FLS_WORD 123#undef CHECK_FLS_WORD
124 124
125 for (i = 0; i < BITS_PER_LONG; i++) { 125 for (i = 0; i < BITS_PER_LONG; i++) {
126 if (fls(BIT(i)) != i) 126 if (fls(BIT(i)) != (i+1))
127 unit_return_fail(m, "fls(1 << %lu) != %lu! [%lu]\n", 127 unit_return_fail(m, "fls(1 << %lu) != %lu! [%lu]\n",
128 i, i, fls(BIT(i))); 128 i, i, fls(BIT(i)));
129 } 129 }