1 /* SPDX-License-Identifier: GPL-2.0 AND MIT */ 2 /* 3 * Copyright © 2023 Intel Corporation 4 */ 5 #ifndef TTM_MOCK_MANAGER_H 6 #define TTM_MOCK_MANAGER_H 7 8 #include <drm/drm_buddy.h> 9 10 struct ttm_mock_manager { 11 struct ttm_resource_manager man; 12 struct drm_buddy mm; 13 u64 default_page_size; 14 /* protects allocations of mock buffer objects */ 15 struct mutex lock; 16 }; 17 18 struct ttm_mock_resource { 19 struct ttm_resource base; 20 struct list_head blocks; 21 unsigned long flags; 22 }; 23 24 int ttm_mock_manager_init(struct ttm_device *bdev, u32 mem_type, u32 size); 25 int ttm_bad_manager_init(struct ttm_device *bdev, u32 mem_type, u32 size); 26 int ttm_busy_manager_init(struct ttm_device *bdev, u32 mem_type, u32 size); 27 void ttm_mock_manager_fini(struct ttm_device *bdev, u32 mem_type); 28 void ttm_bad_manager_fini(struct ttm_device *bdev, u32 mem_type); 29 30 #endif // TTM_MOCK_MANAGER_H 31