Lines Matching +full:additional +full:- +full:devs

1 // SPDX-License-Identifier: GPL-2.0 AND MIT
10 #define TTM_PRIV_DUMMY_REG (TTM_NUM_MEM_TYPES - 1)
19 struct ttm_test_devices *devs; member
33 priv->devs = ttm_test_devices_all(test); in ttm_resource_test_init()
34 KUNIT_ASSERT_NOT_NULL(test, priv->devs); in ttm_resource_test_init()
36 test->priv = priv; in ttm_resource_test_init()
43 struct ttm_resource_test_priv *priv = test->priv; in ttm_resource_test_fini()
45 ttm_test_devices_put(test, priv->devs); in ttm_resource_test_fini()
55 KUNIT_ASSERT_NOT_NULL(test, priv->devs->ttm_dev); in ttm_init_test_mocks()
57 priv->bo = ttm_bo_kunit_init(test, priv->devs, size, NULL); in ttm_init_test_mocks()
58 priv->place = ttm_place_kunit_init(test, mem_type, flags); in ttm_init_test_mocks()
65 struct ttm_device *ttm_dev = priv->devs->ttm_dev; in ttm_init_test_manager()
72 man->use_tt = false; in ttm_init_test_manager()
73 man->func = &ttm_resource_manager_mock_funcs; in ttm_init_test_manager()
102 strscpy(desc, t->description, KUNIT_PARAM_DESC_SIZE); in ttm_resource_case_desc()
109 const struct ttm_resource_test_case *params = test->param_value; in ttm_resource_init_basic()
110 struct ttm_resource_test_priv *priv = test->priv; in ttm_resource_init_basic()
117 ttm_init_test_mocks(test, priv, params->mem_type, params->flags); in ttm_resource_init_basic()
118 bo = priv->bo; in ttm_resource_init_basic()
119 place = priv->place; in ttm_resource_init_basic()
121 if (params->mem_type > TTM_PL_SYSTEM) in ttm_resource_init_basic()
122 ttm_init_test_manager(test, priv, params->mem_type); in ttm_resource_init_basic()
127 man = ttm_manager_type(priv->devs->ttm_dev, place->mem_type); in ttm_resource_init_basic()
128 expected_usage = man->usage + RES_SIZE; in ttm_resource_init_basic()
130 KUNIT_ASSERT_TRUE(test, list_empty(&man->lru[bo->priority])); in ttm_resource_init_basic()
134 KUNIT_ASSERT_EQ(test, res->start, 0); in ttm_resource_init_basic()
135 KUNIT_ASSERT_EQ(test, res->size, RES_SIZE); in ttm_resource_init_basic()
136 KUNIT_ASSERT_EQ(test, res->mem_type, place->mem_type); in ttm_resource_init_basic()
137 KUNIT_ASSERT_EQ(test, res->placement, place->flags); in ttm_resource_init_basic()
138 KUNIT_ASSERT_PTR_EQ(test, res->bo, bo); in ttm_resource_init_basic()
140 KUNIT_ASSERT_NULL(test, res->bus.addr); in ttm_resource_init_basic()
141 KUNIT_ASSERT_EQ(test, res->bus.offset, 0); in ttm_resource_init_basic()
142 KUNIT_ASSERT_FALSE(test, res->bus.is_iomem); in ttm_resource_init_basic()
143 KUNIT_ASSERT_EQ(test, res->bus.caching, ttm_cached); in ttm_resource_init_basic()
144 KUNIT_ASSERT_EQ(test, man->usage, expected_usage); in ttm_resource_init_basic()
146 KUNIT_ASSERT_TRUE(test, list_is_singular(&man->lru[bo->priority])); in ttm_resource_init_basic()
153 struct ttm_resource_test_priv *priv = test->priv; in ttm_resource_init_pinned()
160 bo = priv->bo; in ttm_resource_init_pinned()
161 place = priv->place; in ttm_resource_init_pinned()
163 man = ttm_manager_type(priv->devs->ttm_dev, place->mem_type); in ttm_resource_init_pinned()
167 KUNIT_ASSERT_TRUE(test, list_empty(&bo->bdev->unevictable)); in ttm_resource_init_pinned()
169 dma_resv_lock(bo->base.resv, NULL); in ttm_resource_init_pinned()
172 KUNIT_ASSERT_TRUE(test, list_is_singular(&bo->bdev->unevictable)); in ttm_resource_init_pinned()
176 dma_resv_unlock(bo->base.resv); in ttm_resource_init_pinned()
178 KUNIT_ASSERT_TRUE(test, list_empty(&bo->bdev->unevictable)); in ttm_resource_init_pinned()
183 struct ttm_resource_test_priv *priv = test->priv; in ttm_resource_fini_basic()
190 bo = priv->bo; in ttm_resource_fini_basic()
191 place = priv->place; in ttm_resource_fini_basic()
193 man = ttm_manager_type(priv->devs->ttm_dev, place->mem_type); in ttm_resource_fini_basic()
201 KUNIT_ASSERT_TRUE(test, list_empty(&res->lru.link)); in ttm_resource_fini_basic()
202 KUNIT_ASSERT_EQ(test, man->usage, 0); in ttm_resource_fini_basic()
207 struct ttm_resource_test_priv *priv = test->priv; in ttm_resource_manager_init_basic()
214 ttm_resource_manager_init(man, priv->devs->ttm_dev, size); in ttm_resource_manager_init_basic()
216 KUNIT_ASSERT_PTR_EQ(test, man->bdev, priv->devs->ttm_dev); in ttm_resource_manager_init_basic()
217 KUNIT_ASSERT_EQ(test, man->size, size); in ttm_resource_manager_init_basic()
218 KUNIT_ASSERT_EQ(test, man->usage, 0); in ttm_resource_manager_init_basic()
219 KUNIT_ASSERT_NULL(test, man->move); in ttm_resource_manager_init_basic()
220 KUNIT_ASSERT_NOT_NULL(test, &man->move_lock); in ttm_resource_manager_init_basic()
223 KUNIT_ASSERT_TRUE(test, list_empty(&man->lru[i])); in ttm_resource_manager_init_basic()
228 struct ttm_resource_test_priv *priv = test->priv; in ttm_resource_manager_usage_basic()
236 bo = priv->bo; in ttm_resource_manager_usage_basic()
237 place = priv->place; in ttm_resource_manager_usage_basic()
242 man = ttm_manager_type(priv->devs->ttm_dev, place->mem_type); in ttm_resource_manager_usage_basic()
254 struct ttm_resource_test_priv *priv = test->priv; in ttm_resource_manager_set_used_basic()
257 man = ttm_manager_type(priv->devs->ttm_dev, TTM_PL_SYSTEM); in ttm_resource_manager_set_used_basic()
258 KUNIT_ASSERT_TRUE(test, man->use_type); in ttm_resource_manager_set_used_basic()
261 KUNIT_ASSERT_FALSE(test, man->use_type); in ttm_resource_manager_set_used_basic()
266 struct ttm_resource_test_priv *priv = test->priv; in ttm_sys_man_alloc_basic()
275 bo = priv->bo; in ttm_sys_man_alloc_basic()
276 place = priv->place; in ttm_sys_man_alloc_basic()
278 man = ttm_manager_type(priv->devs->ttm_dev, mem_type); in ttm_sys_man_alloc_basic()
279 ret = man->func->alloc(man, bo, place, &res); in ttm_sys_man_alloc_basic()
282 KUNIT_ASSERT_EQ(test, res->size, RES_SIZE); in ttm_sys_man_alloc_basic()
283 KUNIT_ASSERT_EQ(test, res->mem_type, mem_type); in ttm_sys_man_alloc_basic()
284 KUNIT_ASSERT_PTR_EQ(test, res->bo, bo); in ttm_sys_man_alloc_basic()
291 struct ttm_resource_test_priv *priv = test->priv; in ttm_sys_man_free_basic()
299 bo = priv->bo; in ttm_sys_man_free_basic()
300 place = priv->place; in ttm_sys_man_free_basic()
307 man = ttm_manager_type(priv->devs->ttm_dev, mem_type); in ttm_sys_man_free_basic()
308 man->func->free(man, res); in ttm_sys_man_free_basic()
310 KUNIT_ASSERT_TRUE(test, list_empty(&man->lru[bo->priority])); in ttm_sys_man_free_basic()
311 KUNIT_ASSERT_EQ(test, man->usage, 0); in ttm_sys_man_free_basic()
336 MODULE_LICENSE("GPL and additional rights");