root/drivers/gpu/drm/ttm/tests/ttm_mock_manager.h
/* SPDX-License-Identifier: GPL-2.0 AND MIT */
/*
 * Copyright © 2023 Intel Corporation
 */
#ifndef TTM_MOCK_MANAGER_H
#define TTM_MOCK_MANAGER_H

#include <drm/drm_buddy.h>

struct ttm_mock_manager {
        struct ttm_resource_manager man;
        struct drm_buddy mm;
        u64 default_page_size;
        /* protects allocations of mock buffer objects */
        struct mutex lock;
};

struct ttm_mock_resource {
        struct ttm_resource base;
        struct list_head blocks;
        unsigned long flags;
};

int ttm_mock_manager_init(struct ttm_device *bdev, u32 mem_type, u32 size);
int ttm_bad_manager_init(struct ttm_device *bdev, u32 mem_type, u32 size);
int ttm_busy_manager_init(struct ttm_device *bdev, u32 mem_type, u32 size);
void ttm_mock_manager_fini(struct ttm_device *bdev, u32 mem_type);
void ttm_bad_manager_fini(struct ttm_device *bdev, u32 mem_type);

#endif // TTM_MOCK_MANAGER_H