Make vchiq_test functional test more interesting.
authorhexameron <hexameron>
Fri, 21 Apr 2017 09:00:30 +0000 (09:00 +0000)
committerpopcornmix <popcornmix@gmail.com>
Fri, 21 Apr 2017 15:16:09 +0000 (16:16 +0100)
Helps show Linux 4.11 failure with cache flushing.

interface/vchiq_arm/vchiq_test.c

index 0e02291dabaa2cbc4357d64019b8339fed34aa12..127c6831f17bf519468d95cb2d15c7b647ad6af4 100644 (file)
@@ -880,6 +880,7 @@ bulk_tests_only:
    if (func_data_test_end < func_data_test_start)
       goto skip_bulk_tests;
 
+   printf("Testing bulk transfer for alignment.\n");
    for (size = 1; size < 64; size++)
    {
       int align, srvr_align;
@@ -888,6 +889,18 @@ bulk_tests_only:
           for (align = 32; align; align >>= 1)
           {
              EXPECT(func_data_test(service, size, align & 31, srvr_align & 31), VCHIQ_SUCCESS);
+          }
+      }
+   }
+
+   printf("Testing bulk transfer at PAGE_SIZE.\n");
+   for (size = 1; size < 64; size++)
+   {
+      int align, srvr_align;
+      for (srvr_align = 32; srvr_align; srvr_align >>= 1)
+      {
+          for (align = 32; align; align >>= 1)
+          {
              EXPECT(func_data_test(service, size, PAGE_SIZE - align, srvr_align & 31), VCHIQ_SUCCESS);
           }
       }