sync with OpenBSD -current

This commit is contained in:
purplerain 2024-03-12 06:37:44 +00:00
parent 3d86e50ab8
commit cd0f69e643
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
5 changed files with 101 additions and 23 deletions

View file

@ -342,6 +342,7 @@ alloc_range_bias(struct drm_buddy *mm,
u64 start, u64 end,
unsigned int order)
{
u64 req_size = mm->chunk_size << order;
struct drm_buddy_block *block;
struct drm_buddy_block *buddy;
DRM_LIST_HEAD(dfs);
@ -377,6 +378,15 @@ alloc_range_bias(struct drm_buddy *mm,
if (drm_buddy_block_is_allocated(block))
continue;
if (block_start < start || block_end > end) {
u64 adjusted_start = max(block_start, start);
u64 adjusted_end = min(block_end, end);
if (round_down(adjusted_end + 1, req_size) <=
round_up(adjusted_start, req_size))
continue;
}
if (contains(start, end, block_start, block_end) &&
order == drm_buddy_block_order(block)) {
/*