Lines Matching full:nodes
267 struct drm_mm_node nodes[2]; in igt_debug() local
270 /* Create a small drm_mm with a couple of nodes and a few holes, and in igt_debug()
276 memset(nodes, 0, sizeof(nodes)); in igt_debug()
277 nodes[0].start = 512; in igt_debug()
278 nodes[0].size = 1024; in igt_debug()
279 ret = drm_mm_reserve_node(&mm, &nodes[0]); in igt_debug()
282 nodes[0].start, nodes[0].size); in igt_debug()
286 nodes[1].size = 1024; in igt_debug()
287 nodes[1].start = 4096 - 512 - nodes[1].size; in igt_debug()
288 ret = drm_mm_reserve_node(&mm, &nodes[1]); in igt_debug()
291 nodes[1].start, nodes[1].size); in igt_debug()
375 struct drm_mm_node tmp, *nodes, *node, *next; in __igt_reserve() local
382 * the tree and nodes should be intact. in __igt_reserve()
393 nodes = vzalloc(array_size(count, sizeof(*nodes))); in __igt_reserve()
394 if (!nodes) in __igt_reserve()
404 nodes[n].start = order[n] * size; in __igt_reserve()
405 nodes[n].size = size; in __igt_reserve()
407 err = drm_mm_reserve_node(&mm, &nodes[n]); in __igt_reserve()
410 n, nodes[n].start); in __igt_reserve()
415 if (!drm_mm_node_allocated(&nodes[n])) { in __igt_reserve()
417 n, nodes[n].start); in __igt_reserve()
421 if (!expect_reserve_fail(&mm, &nodes[n])) in __igt_reserve()
425 /* After random insertion the nodes should be in order */ in __igt_reserve()
437 drm_mm_remove_node(&nodes[order[n]]); in __igt_reserve()
438 err = drm_mm_reserve_node(&mm, &nodes[order[n]]); in __igt_reserve()
441 n, nodes[n].start); in __igt_reserve()
466 node = &nodes[order[(o + m) % count]]; in __igt_reserve()
471 node = &nodes[order[(o + m) % count]]; in __igt_reserve()
492 vfree(nodes); in __igt_reserve()
573 struct drm_mm_node *nodes, *node, *next; in __igt_insert() local
577 /* Fill a range with lots of nodes, check it doesn't fail too early */ in __igt_insert()
583 nodes = vmalloc(array_size(count, sizeof(*nodes))); in __igt_insert()
584 if (!nodes) in __igt_insert()
598 node = replace ? &tmp : &nodes[n]; in __igt_insert()
607 drm_mm_replace_node(&tmp, &nodes[n]); in __igt_insert()
614 if (!assert_node(&nodes[n], &mm, size, 0, n)) { in __igt_insert()
620 if (tmp.start != nodes[n].start) { in __igt_insert()
623 nodes[n].start, nodes[n].size); in __igt_insert()
629 /* After random insertion the nodes should be in order */ in __igt_insert()
639 u64 addr = nodes[n].start; in __igt_insert()
641 drm_mm_remove_node(&nodes[n]); in __igt_insert()
642 if (!expect_insert(&mm, &nodes[n], size, 0, n, mode)) { in __igt_insert()
648 if (nodes[n].start != addr) { in __igt_insert()
650 mode->name, n, addr, nodes[n].start); in __igt_insert()
661 node = &nodes[order[(o + m) % count]]; in __igt_insert()
666 node = &nodes[order[(o + m) % count]]; in __igt_insert()
697 vfree(nodes); in __igt_insert()
880 struct drm_mm_node *nodes, *node, *next; in __igt_insert_range() local
893 nodes = vzalloc(array_size(count, sizeof(*nodes))); in __igt_insert_range()
894 if (!nodes) in __igt_insert_range()
905 if (!expect_insert_in_range(&mm, &nodes[n], in __igt_insert_range()
924 u64 addr = nodes[n].start; in __igt_insert_range()
926 drm_mm_remove_node(&nodes[n]); in __igt_insert_range()
927 if (!expect_insert_in_range(&mm, &nodes[n], in __igt_insert_range()
934 if (nodes[n].start != addr) { in __igt_insert_range()
936 mode->name, n, addr, nodes[n].start); in __igt_insert_range()
959 vfree(nodes); in __igt_insert_range()
1041 struct drm_mm_node *nodes, *node, *next; in igt_align() local
1050 nodes = vzalloc(array_size(max_count, sizeof(*nodes))); in igt_align()
1051 if (!nodes) in igt_align()
1062 if (!expect_insert(&mm, &nodes[i], in igt_align()
1085 vfree(nodes); in igt_align()
1188 struct evict_node *nodes, in evict_nodes() argument
1198 e = &nodes[order ? order[i] : i]; in evict_nodes()
1226 pr_err("drm_mm_scan_color_evict unexpectedly reported overlapping nodes!\n"); in evict_nodes()
1236 struct evict_node *nodes) in evict_nothing() argument
1246 e = &nodes[n]; in evict_nothing()
1254 e = &nodes[n]; in evict_nothing()
1270 e = &nodes[n]; in evict_nothing()
1278 return assert_continuous(mm, nodes[0].node.size); in evict_nothing()
1283 struct evict_node *nodes) in evict_everything() argument
1293 e = &nodes[n]; in evict_everything()
1327 return assert_continuous(mm, nodes[0].node.size); in evict_everything()
1332 struct evict_node *nodes, in evict_something() argument
1350 nodes, order, count, false, in evict_something()
1393 if (!assert_continuous(mm, nodes[0].node.size)) { in evict_something()
1407 struct evict_node *nodes; in igt_evict() local
1413 * by evicting other nodes in a random order. The drm_mm_scan should in igt_evict()
1420 nodes = vzalloc(array_size(size, sizeof(*nodes))); in igt_evict()
1421 if (!nodes) in igt_evict()
1431 err = drm_mm_insert_node(&mm, &nodes[n].node, 1); in igt_evict()
1440 if (!evict_nothing(&mm, size, nodes)) { in igt_evict()
1444 if (!evict_everything(&mm, size, nodes)) { in igt_evict()
1453 nodes, order, size, in igt_evict()
1467 nodes, order, size, in igt_evict()
1485 nodes, order, size, in igt_evict()
1506 vfree(nodes); in igt_evict()
1520 struct evict_node *nodes; in igt_evict_range() local
1530 nodes = vzalloc(array_size(size, sizeof(*nodes))); in igt_evict_range()
1531 if (!nodes) in igt_evict_range()
1541 err = drm_mm_insert_node(&mm, &nodes[n].node, 1); in igt_evict_range()
1553 nodes, order, size, in igt_evict_range()
1566 nodes, order, size, in igt_evict_range()
1583 nodes, order, size, in igt_evict_range()
1603 vfree(nodes); in igt_evict_range()
1621 struct drm_mm_node *nodes, *node, *next; in igt_topdown() local
1631 nodes = vzalloc(array_size(count, sizeof(*nodes))); in igt_topdown()
1632 if (!nodes) in igt_topdown()
1647 if (!expect_insert(&mm, &nodes[n], in igt_topdown()
1654 if (drm_mm_hole_follows(&nodes[n])) { in igt_topdown()
1656 n, nodes[n].start, size); in igt_topdown()
1670 node = &nodes[order[(o + m) % count]]; in igt_topdown()
1678 node = &nodes[order[(o + m) % count]]; in igt_topdown()
1722 vfree(nodes); in igt_topdown()
1735 struct drm_mm_node *nodes, *node, *next; in igt_bottomup() local
1744 nodes = vzalloc(array_size(count, sizeof(*nodes))); in igt_bottomup()
1745 if (!nodes) in igt_bottomup()
1760 if (!expect_insert(&mm, &nodes[n], in igt_bottomup()
1777 node = &nodes[order[(o + m) % count]]; in igt_bottomup()
1785 node = &nodes[order[(o + m) % count]]; in igt_bottomup()
1822 vfree(nodes); in igt_bottomup()
1854 pr_err("Expected a hole after lo and high nodes!\n"); in __igt_once()
1938 * any two nodes, and so after each insertion we check that those in igt_color()
2085 struct evict_node *nodes, in evict_color() argument
2104 nodes, order, count, true, in evict_color()
2159 struct evict_node *nodes; in igt_color_evict() local
2166 * allow two nodes to be placed together without an intervening hole in igt_color_evict()
2171 nodes = vzalloc(array_size(total_size, sizeof(*nodes))); in igt_color_evict()
2172 if (!nodes) in igt_color_evict()
2183 if (!expect_insert(&mm, &nodes[n].node, in igt_color_evict()
2195 nodes, order, total_size, in igt_color_evict()
2208 nodes, order, total_size, in igt_color_evict()
2225 nodes, order, total_size, in igt_color_evict()
2247 vfree(nodes); in igt_color_evict()
2262 struct evict_node *nodes; in igt_color_evict_range() local
2272 nodes = vzalloc(array_size(total_size, sizeof(*nodes))); in igt_color_evict_range()
2273 if (!nodes) in igt_color_evict_range()
2284 if (!expect_insert(&mm, &nodes[n].node, in igt_color_evict_range()
2296 nodes, order, total_size, in igt_color_evict_range()
2309 nodes, order, total_size, in igt_color_evict_range()
2326 nodes, order, total_size, in igt_color_evict_range()
2348 vfree(nodes); in igt_color_evict_range()