Lines Matching refs:test

26 static int ttm_resource_test_init(struct kunit *test)
30 priv = kunit_kzalloc(test, sizeof(*priv), GFP_KERNEL);
31 KUNIT_ASSERT_NOT_NULL(test, priv);
33 priv->devs = ttm_test_devices_all(test);
34 KUNIT_ASSERT_NOT_NULL(test, priv->devs);
36 test->priv = priv;
41 static void ttm_resource_test_fini(struct kunit *test)
43 struct ttm_resource_test_priv *priv = test->priv;
45 ttm_test_devices_put(test, priv->devs);
48 static void ttm_init_test_mocks(struct kunit *test,
55 KUNIT_ASSERT_NOT_NULL(test, priv->devs->ttm_dev);
57 priv->bo = ttm_bo_kunit_init(test, priv->devs, size);
58 priv->place = ttm_place_kunit_init(test, mem_type, flags);
61 static void ttm_init_test_manager(struct kunit *test,
69 man = kunit_kzalloc(test, sizeof(*man), GFP_KERNEL);
70 KUNIT_ASSERT_NOT_NULL(test, man);
107 static void ttm_resource_init_basic(struct kunit *test)
109 const struct ttm_resource_test_case *params = test->param_value;
110 struct ttm_resource_test_priv *priv = test->priv;
117 ttm_init_test_mocks(test, priv, params->mem_type, params->flags);
122 ttm_init_test_manager(test, priv, params->mem_type);
124 res = kunit_kzalloc(test, sizeof(*res), GFP_KERNEL);
125 KUNIT_ASSERT_NOT_NULL(test, res);
130 KUNIT_ASSERT_TRUE(test, list_empty(&man->lru[bo->priority]));
134 KUNIT_ASSERT_EQ(test, res->start, 0);
135 KUNIT_ASSERT_EQ(test, res->size, RES_SIZE);
136 KUNIT_ASSERT_EQ(test, res->mem_type, place->mem_type);
137 KUNIT_ASSERT_EQ(test, res->placement, place->flags);
138 KUNIT_ASSERT_PTR_EQ(test, res->bo, bo);
140 KUNIT_ASSERT_NULL(test, res->bus.addr);
141 KUNIT_ASSERT_EQ(test, res->bus.offset, 0);
142 KUNIT_ASSERT_FALSE(test, res->bus.is_iomem);
143 KUNIT_ASSERT_EQ(test, res->bus.caching, ttm_cached);
144 KUNIT_ASSERT_EQ(test, man->usage, expected_usage);
146 KUNIT_ASSERT_TRUE(test, list_is_singular(&man->lru[bo->priority]));
151 static void ttm_resource_init_pinned(struct kunit *test)
153 struct ttm_resource_test_priv *priv = test->priv;
159 ttm_init_test_mocks(test, priv, TTM_PL_SYSTEM, 0);
165 res = kunit_kzalloc(test, sizeof(*res), GFP_KERNEL);
166 KUNIT_ASSERT_NOT_NULL(test, res);
167 KUNIT_ASSERT_TRUE(test, list_empty(&bo->bdev->pinned));
172 KUNIT_ASSERT_TRUE(test, list_is_singular(&bo->bdev->pinned));
178 KUNIT_ASSERT_TRUE(test, list_empty(&bo->bdev->pinned));
181 static void ttm_resource_fini_basic(struct kunit *test)
183 struct ttm_resource_test_priv *priv = test->priv;
189 ttm_init_test_mocks(test, priv, TTM_PL_SYSTEM, 0);
195 res = kunit_kzalloc(test, sizeof(*res), GFP_KERNEL);
196 KUNIT_ASSERT_NOT_NULL(test, res);
201 KUNIT_ASSERT_TRUE(test, list_empty(&res->lru));
202 KUNIT_ASSERT_EQ(test, man->usage, 0);
205 static void ttm_resource_manager_init_basic(struct kunit *test)
207 struct ttm_resource_test_priv *priv = test->priv;
211 man = kunit_kzalloc(test, sizeof(*man), GFP_KERNEL);
212 KUNIT_ASSERT_NOT_NULL(test, man);
216 KUNIT_ASSERT_PTR_EQ(test, man->bdev, priv->devs->ttm_dev);
217 KUNIT_ASSERT_EQ(test, man->size, size);
218 KUNIT_ASSERT_EQ(test, man->usage, 0);
219 KUNIT_ASSERT_NULL(test, man->move);
220 KUNIT_ASSERT_NOT_NULL(test, &man->move_lock);
223 KUNIT_ASSERT_TRUE(test, list_empty(&man->lru[i]));
226 static void ttm_resource_manager_usage_basic(struct kunit *test)
228 struct ttm_resource_test_priv *priv = test->priv;
235 ttm_init_test_mocks(test, priv, TTM_PL_SYSTEM, TTM_PL_FLAG_TOPDOWN);
239 res = kunit_kzalloc(test, sizeof(*res), GFP_KERNEL);
240 KUNIT_ASSERT_NOT_NULL(test, res);
247 KUNIT_ASSERT_EQ(test, actual_usage, RES_SIZE);
252 static void ttm_resource_manager_set_used_basic(struct kunit *test)
254 struct ttm_resource_test_priv *priv = test->priv;
258 KUNIT_ASSERT_TRUE(test, man->use_type);
261 KUNIT_ASSERT_FALSE(test, man->use_type);
264 static void ttm_sys_man_alloc_basic(struct kunit *test)
266 struct ttm_resource_test_priv *priv = test->priv;
274 ttm_init_test_mocks(test, priv, mem_type, 0);
281 KUNIT_ASSERT_EQ(test, ret, 0);
282 KUNIT_ASSERT_EQ(test, res->size, RES_SIZE);
283 KUNIT_ASSERT_EQ(test, res->mem_type, mem_type);
284 KUNIT_ASSERT_PTR_EQ(test, res->bo, bo);
289 static void ttm_sys_man_free_basic(struct kunit *test)
291 struct ttm_resource_test_priv *priv = test->priv;
298 ttm_init_test_mocks(test, priv, mem_type, 0);
302 res = kunit_kzalloc(test, sizeof(*res), GFP_KERNEL);
303 KUNIT_ASSERT_NOT_NULL(test, res);
310 KUNIT_ASSERT_TRUE(test, list_empty(&man->lru[bo->priority]));
311 KUNIT_ASSERT_EQ(test, man->usage, 0);