mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 10:04:04 +02:00
drm/buddy: Move internal helpers to buddy.c
Move gpu_buddy_block_state(), gpu_buddy_block_is_allocated(), and gpu_buddy_block_is_split() from gpu_buddy.h to gpu_buddy.c as static functions since they have no external callers. Remove gpu_get_buddy() as it was an unused exported wrapper around the internal __get_buddy(). No functional changes. v2: - Rebased after DRM buddy allocator moved to drivers/gpu/ - Keep gpu_buddy_block_is_free() in header since it's now used by drm_buddy.c - Updated commit message Cc: Christian König <christian.koenig@amd.com> Cc: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> Suggested-by: Matthew Auld <matthew.auld@intel.com> Signed-off-by: Sanjay Yadav <sanjay.kumar.yadav@intel.com> Reviewed-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> Link: https://patch.msgid.link/20260212092527.718455-6-sanjay.kumar.yadav@intel.com
This commit is contained in:
parent
5cab6d386b
commit
df8c7892e0
|
|
@ -14,6 +14,24 @@
|
|||
|
||||
static struct kmem_cache *slab_blocks;
|
||||
|
||||
static unsigned int
|
||||
gpu_buddy_block_state(struct gpu_buddy_block *block)
|
||||
{
|
||||
return block->header & GPU_BUDDY_HEADER_STATE;
|
||||
}
|
||||
|
||||
static bool
|
||||
gpu_buddy_block_is_allocated(struct gpu_buddy_block *block)
|
||||
{
|
||||
return gpu_buddy_block_state(block) == GPU_BUDDY_ALLOCATED;
|
||||
}
|
||||
|
||||
static bool
|
||||
gpu_buddy_block_is_split(struct gpu_buddy_block *block)
|
||||
{
|
||||
return gpu_buddy_block_state(block) == GPU_BUDDY_SPLIT;
|
||||
}
|
||||
|
||||
static struct gpu_buddy_block *gpu_block_alloc(struct gpu_buddy *mm,
|
||||
struct gpu_buddy_block *parent,
|
||||
unsigned int order,
|
||||
|
|
@ -449,23 +467,6 @@ static int split_block(struct gpu_buddy *mm,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* gpu_get_buddy - get buddy address
|
||||
*
|
||||
* @block: GPU buddy block
|
||||
*
|
||||
* Returns the corresponding buddy block for @block, or NULL
|
||||
* if this is a root block and can't be merged further.
|
||||
* Requires some kind of locking to protect against
|
||||
* any concurrent allocate and free operations.
|
||||
*/
|
||||
struct gpu_buddy_block *
|
||||
gpu_get_buddy(struct gpu_buddy_block *block)
|
||||
{
|
||||
return __get_buddy(block);
|
||||
}
|
||||
EXPORT_SYMBOL(gpu_get_buddy);
|
||||
|
||||
/**
|
||||
* gpu_buddy_reset_clear - reset blocks clear state
|
||||
*
|
||||
|
|
|
|||
|
|
@ -191,16 +191,10 @@ gpu_buddy_block_order(struct gpu_buddy_block *block)
|
|||
return block->header & GPU_BUDDY_HEADER_ORDER;
|
||||
}
|
||||
|
||||
static inline unsigned int
|
||||
gpu_buddy_block_state(struct gpu_buddy_block *block)
|
||||
{
|
||||
return block->header & GPU_BUDDY_HEADER_STATE;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
gpu_buddy_block_is_allocated(struct gpu_buddy_block *block)
|
||||
gpu_buddy_block_is_free(struct gpu_buddy_block *block)
|
||||
{
|
||||
return gpu_buddy_block_state(block) == GPU_BUDDY_ALLOCATED;
|
||||
return (block->header & GPU_BUDDY_HEADER_STATE) == GPU_BUDDY_FREE;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
|
|
@ -209,18 +203,6 @@ gpu_buddy_block_is_clear(struct gpu_buddy_block *block)
|
|||
return block->header & GPU_BUDDY_HEADER_CLEAR;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
gpu_buddy_block_is_free(struct gpu_buddy_block *block)
|
||||
{
|
||||
return gpu_buddy_block_state(block) == GPU_BUDDY_FREE;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
gpu_buddy_block_is_split(struct gpu_buddy_block *block)
|
||||
{
|
||||
return gpu_buddy_block_state(block) == GPU_BUDDY_SPLIT;
|
||||
}
|
||||
|
||||
static inline u64
|
||||
gpu_buddy_block_size(struct gpu_buddy *mm,
|
||||
struct gpu_buddy_block *block)
|
||||
|
|
@ -232,9 +214,6 @@ int gpu_buddy_init(struct gpu_buddy *mm, u64 size, u64 chunk_size);
|
|||
|
||||
void gpu_buddy_fini(struct gpu_buddy *mm);
|
||||
|
||||
struct gpu_buddy_block *
|
||||
gpu_get_buddy(struct gpu_buddy_block *block);
|
||||
|
||||
int gpu_buddy_alloc_blocks(struct gpu_buddy *mm,
|
||||
u64 start, u64 end, u64 size,
|
||||
u64 min_page_size,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user