lmb: Remove lmb_reserve_flags()
lmb_reserve() is just calling lmb_reserve_flags() with LMB_NONE.
There's not much we gain from this abstraction.
So let's remove the latter, add the flags argument to lmb_reserve()
and make the code a bit easier to follow.
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Tested-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
(cherry picked from commit 900a8951c3)
This commit is contained in:
committed by
Simon Glass
parent
65a9881993
commit
8e54e97f09
@@ -117,7 +117,7 @@ static int test_multi_alloc(struct unit_test_state *uts, const phys_addr_t ram,
|
||||
}
|
||||
|
||||
/* reserve 64KiB somewhere */
|
||||
ret = lmb_reserve(alloc_64k_addr, 0x10000);
|
||||
ret = lmb_reserve(alloc_64k_addr, 0x10000, LMB_NONE);
|
||||
ut_asserteq(ret, 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, 0, 0, 1, alloc_64k_addr, 0x10000,
|
||||
0, 0, 0, 0);
|
||||
@@ -264,7 +264,7 @@ static int test_bigblock(struct unit_test_state *uts, const phys_addr_t ram)
|
||||
ut_asserteq(ret, 0);
|
||||
|
||||
/* reserve 64KiB in the middle of RAM */
|
||||
ret = lmb_reserve(alloc_64k_addr, 0x10000);
|
||||
ret = lmb_reserve(alloc_64k_addr, 0x10000, LMB_NONE);
|
||||
ut_asserteq(ret, 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 1, alloc_64k_addr, 0x10000,
|
||||
0, 0, 0, 0);
|
||||
@@ -466,35 +466,35 @@ static int lib_test_lmb_overlapping_reserve(struct unit_test_state *uts)
|
||||
ret = lmb_add(ram, ram_size);
|
||||
ut_asserteq(ret, 0);
|
||||
|
||||
ret = lmb_reserve(0x40010000, 0x10000);
|
||||
ret = lmb_reserve(0x40010000, 0x10000, LMB_NONE);
|
||||
ut_asserteq(ret, 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 1, 0x40010000, 0x10000,
|
||||
0, 0, 0, 0);
|
||||
|
||||
/* allocate overlapping region should return the coalesced count */
|
||||
ret = lmb_reserve(0x40011000, 0x10000);
|
||||
ret = lmb_reserve(0x40011000, 0x10000, LMB_NONE);
|
||||
ut_asserteq(ret, 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 1, 0x40010000, 0x11000,
|
||||
0, 0, 0, 0);
|
||||
/* allocate 3nd region */
|
||||
ret = lmb_reserve(0x40030000, 0x10000);
|
||||
ret = lmb_reserve(0x40030000, 0x10000, LMB_NONE);
|
||||
ut_asserteq(ret, 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, 0x40010000, 0x11000,
|
||||
0x40030000, 0x10000, 0, 0);
|
||||
/* allocate 2nd region , This should coalesced all region into one */
|
||||
ret = lmb_reserve(0x40020000, 0x10000);
|
||||
ret = lmb_reserve(0x40020000, 0x10000, LMB_NONE);
|
||||
ut_assert(ret >= 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 1, 0x40010000, 0x30000,
|
||||
0, 0, 0, 0);
|
||||
|
||||
/* allocate 2nd region, which should be added as first region */
|
||||
ret = lmb_reserve(0x40000000, 0x8000);
|
||||
ret = lmb_reserve(0x40000000, 0x8000, LMB_NONE);
|
||||
ut_assert(ret >= 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, 0x40000000, 0x8000,
|
||||
0x40010000, 0x30000, 0, 0);
|
||||
|
||||
/* allocate 3rd region, coalesce with first and overlap with second */
|
||||
ret = lmb_reserve(0x40008000, 0x10000);
|
||||
ret = lmb_reserve(0x40008000, 0x10000, LMB_NONE);
|
||||
ut_assert(ret >= 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 1, 0x40000000, 0x40000,
|
||||
0, 0, 0, 0);
|
||||
@@ -550,11 +550,11 @@ static int test_alloc_addr(struct unit_test_state *uts, const phys_addr_t ram)
|
||||
ut_asserteq(ret, 0);
|
||||
|
||||
/* reserve 3 blocks */
|
||||
ret = lmb_reserve(alloc_addr_a, 0x10000);
|
||||
ret = lmb_reserve(alloc_addr_a, 0x10000, LMB_NONE);
|
||||
ut_asserteq(ret, 0);
|
||||
ret = lmb_reserve(alloc_addr_b, 0x10000);
|
||||
ret = lmb_reserve(alloc_addr_b, 0x10000, LMB_NONE);
|
||||
ut_asserteq(ret, 0);
|
||||
ret = lmb_reserve(alloc_addr_c, 0x10000);
|
||||
ret = lmb_reserve(alloc_addr_c, 0x10000, LMB_NONE);
|
||||
ut_asserteq(ret, 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 3, alloc_addr_a, 0x10000,
|
||||
alloc_addr_b, 0x10000, alloc_addr_c, 0x10000);
|
||||
@@ -680,11 +680,11 @@ static int test_get_unreserved_size(struct unit_test_state *uts,
|
||||
ut_asserteq(ret, 0);
|
||||
|
||||
/* reserve 3 blocks */
|
||||
ret = lmb_reserve(alloc_addr_a, 0x10000);
|
||||
ret = lmb_reserve(alloc_addr_a, 0x10000, LMB_NONE);
|
||||
ut_asserteq(ret, 0);
|
||||
ret = lmb_reserve(alloc_addr_b, 0x10000);
|
||||
ret = lmb_reserve(alloc_addr_b, 0x10000, LMB_NONE);
|
||||
ut_asserteq(ret, 0);
|
||||
ret = lmb_reserve(alloc_addr_c, 0x10000);
|
||||
ret = lmb_reserve(alloc_addr_c, 0x10000, LMB_NONE);
|
||||
ut_asserteq(ret, 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 3, alloc_addr_a, 0x10000,
|
||||
alloc_addr_b, 0x10000, alloc_addr_c, 0x10000);
|
||||
@@ -747,19 +747,19 @@ static int lib_test_lmb_flags(struct unit_test_state *uts)
|
||||
ut_asserteq(ret, 0);
|
||||
|
||||
/* reserve, same flag */
|
||||
ret = lmb_reserve_flags(0x40010000, 0x10000, LMB_NOMAP);
|
||||
ret = lmb_reserve(0x40010000, 0x10000, LMB_NOMAP);
|
||||
ut_asserteq(ret, 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 1, 0x40010000, 0x10000,
|
||||
0, 0, 0, 0);
|
||||
|
||||
/* reserve again, same flag */
|
||||
ret = lmb_reserve_flags(0x40010000, 0x10000, LMB_NOMAP);
|
||||
ret = lmb_reserve(0x40010000, 0x10000, LMB_NOMAP);
|
||||
ut_asserteq(ret, -EEXIST);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 1, 0x40010000, 0x10000,
|
||||
0, 0, 0, 0);
|
||||
|
||||
/* reserve again, new flag */
|
||||
ret = lmb_reserve_flags(0x40010000, 0x10000, LMB_NONE);
|
||||
ret = lmb_reserve(0x40010000, 0x10000, LMB_NONE);
|
||||
ut_asserteq(ret, -1);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 1, 0x40010000, 0x10000,
|
||||
0, 0, 0, 0);
|
||||
@@ -767,20 +767,20 @@ static int lib_test_lmb_flags(struct unit_test_state *uts)
|
||||
ut_asserteq(lmb_is_nomap(&used[0]), 1);
|
||||
|
||||
/* merge after */
|
||||
ret = lmb_reserve_flags(0x40020000, 0x10000, LMB_NOMAP);
|
||||
ret = lmb_reserve(0x40020000, 0x10000, LMB_NOMAP);
|
||||
ut_asserteq(ret, 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 1, 0x40010000, 0x20000,
|
||||
0, 0, 0, 0);
|
||||
|
||||
/* merge before */
|
||||
ret = lmb_reserve_flags(0x40000000, 0x10000, LMB_NOMAP);
|
||||
ret = lmb_reserve(0x40000000, 0x10000, LMB_NOMAP);
|
||||
ut_asserteq(ret, 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 1, 0x40000000, 0x30000,
|
||||
0, 0, 0, 0);
|
||||
|
||||
ut_asserteq(lmb_is_nomap(&used[0]), 1);
|
||||
|
||||
ret = lmb_reserve_flags(0x40030000, 0x10000, LMB_NONE);
|
||||
ret = lmb_reserve(0x40030000, 0x10000, LMB_NONE);
|
||||
ut_asserteq(ret, 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, 0x40000000, 0x30000,
|
||||
0x40030000, 0x10000, 0, 0);
|
||||
@@ -789,7 +789,7 @@ static int lib_test_lmb_flags(struct unit_test_state *uts)
|
||||
ut_asserteq(lmb_is_nomap(&used[1]), 0);
|
||||
|
||||
/* test that old API use LMB_NONE */
|
||||
ret = lmb_reserve(0x40040000, 0x10000);
|
||||
ret = lmb_reserve(0x40040000, 0x10000, LMB_NONE);
|
||||
ut_asserteq(ret, 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, 0x40000000, 0x30000,
|
||||
0x40030000, 0x20000, 0, 0);
|
||||
@@ -797,18 +797,18 @@ static int lib_test_lmb_flags(struct unit_test_state *uts)
|
||||
ut_asserteq(lmb_is_nomap(&used[0]), 1);
|
||||
ut_asserteq(lmb_is_nomap(&used[1]), 0);
|
||||
|
||||
ret = lmb_reserve_flags(0x40070000, 0x10000, LMB_NOMAP);
|
||||
ret = lmb_reserve(0x40070000, 0x10000, LMB_NOMAP);
|
||||
ut_asserteq(ret, 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 3, 0x40000000, 0x30000,
|
||||
0x40030000, 0x20000, 0x40070000, 0x10000);
|
||||
|
||||
ret = lmb_reserve_flags(0x40050000, 0x10000, LMB_NOMAP);
|
||||
ret = lmb_reserve(0x40050000, 0x10000, LMB_NOMAP);
|
||||
ut_asserteq(ret, 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 4, 0x40000000, 0x30000,
|
||||
0x40030000, 0x20000, 0x40050000, 0x10000);
|
||||
|
||||
/* merge with 2 adjacent regions */
|
||||
ret = lmb_reserve_flags(0x40060000, 0x10000, LMB_NOMAP);
|
||||
ret = lmb_reserve(0x40060000, 0x10000, LMB_NOMAP);
|
||||
ut_asserteq(ret, 0);
|
||||
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 3, 0x40000000, 0x30000,
|
||||
0x40030000, 0x20000, 0x40050000, 0x30000);
|
||||
|
||||
Reference in New Issue
Block a user