8bdacf97e32228310909a0c197e30a9f1b6a974c
2 * Copyright (C) 2016 Etnaviv Project
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24 * Christian Gmeiner <christian.gmeiner@gmail.com>
35 #include "drm/etnaviv_drmif.h"
36 #include "drm-uapi/etnaviv_drm.h"
38 static void test_cache(struct etna_device
*dev
)
40 struct etna_bo
*bo
, *tmp
;
42 /* allocate and free some bo's with same size - we must
43 * get the same bo over and over. */
44 printf("testing bo cache ... ");
46 bo
= tmp
= etna_bo_new(dev
, 0x100, ETNA_BO_UNCACHED
);
50 for (unsigned i
= 0; i
< 100; i
++) {
51 tmp
= etna_bo_new(dev
, 0x100, ETNA_BO_UNCACHED
);
59 static void test_size_rounding(struct etna_device
*dev
)
63 printf("testing size rounding ... ");
65 bo
= etna_bo_new(dev
, 15, ETNA_BO_UNCACHED
);
66 assert(etna_bo_size(bo
) == 4096);
69 bo
= etna_bo_new(dev
, 4096, ETNA_BO_UNCACHED
);
70 assert(etna_bo_size(bo
) == 4096);
73 bo
= etna_bo_new(dev
, 4100, ETNA_BO_UNCACHED
);
74 assert(etna_bo_size(bo
) == 8192);
80 int main(int argc
, char *argv
[])
82 struct etna_device
*dev
;
84 drmVersionPtr version
;
87 fd
= open(argv
[1], O_RDWR
);
91 version
= drmGetVersion(fd
);
93 printf("Version: %d.%d.%d\n", version
->version_major
,
94 version
->version_minor
, version
->version_patchlevel
);
95 printf(" Name: %s\n", version
->name
);
96 printf(" Date: %s\n", version
->date
);
97 printf(" Description: %s\n", version
->desc
);
98 drmFreeVersion(version
);
101 dev
= etna_device_new(fd
);
108 test_size_rounding(dev
);
110 etna_device_del(dev
);