test: lmb: fix the lmb_alloc_addr() based test cases

Commit 56f186a68b ("lmb: check if a region can be reserved by
lmb_reserve()") fixed the lmb_reserve() and lmb_alloc_addr() API's for
some corner case scenarios, and also added corresonding test cases for
these corner cases. These tests were checking, among other things, the
lmb_alloc_addr() API. The above commit was applied to the next branch.

Subsequently, there was commit 67be24906f
("lmb: change the return code on lmb_alloc_addr()") which was first
applied on the master branch, and subsequently got merged to next as
part of the rebase. The second commit changes the return value of the
lmb_alloc_addr() API, which now results in some of the tests added as
part of the first commit to fail. Fix those test cases.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
This commit is contained in:
Sughosh Ganu 2025-03-26 22:23:36 +05:30 committed by Tom Rini
parent 042c8f0cb1
commit b052de94fa

View file

@ -591,21 +591,21 @@ static int test_alloc_addr(struct unit_test_state *uts, const phys_addr_t ram)
* region 2. Should fail.
*/
a = lmb_alloc_addr(alloc_addr_a, 0x1000, LMB_NONE);
ut_asserteq(a, alloc_addr_a);
ut_asserteq(a, 0);
b = lmb_alloc_addr(alloc_addr_a + 0x4000, 0x1000, LMB_NOOVERWRITE);
ut_asserteq(b, alloc_addr_a + 0x4000);
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, a, 0x1000,
b, 0x1000, 0, 0);
ut_asserteq(b, 0);
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, alloc_addr_a, 0x1000,
alloc_addr_a + 0x4000, 0x1000, 0, 0);
c = lmb_alloc_addr(alloc_addr_a + 0x1000, 0x5000, LMB_NONE);
ut_asserteq(c, 0);
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, a, 0x1000,
b, 0x1000, 0, 0);
ut_asserteq(c, -1);
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, alloc_addr_a, 0x1000,
alloc_addr_a + 0x4000, 0x1000, 0, 0);
ret = lmb_free(a, 0x1000);
ret = lmb_free(alloc_addr_a, 0x1000);
ut_asserteq(ret, 0);
ret = lmb_free(b, 0x1000);
ret = lmb_free(alloc_addr_a + 0x4000, 0x1000);
ut_asserteq(ret, 0);
/*
@ -616,19 +616,19 @@ static int test_alloc_addr(struct unit_test_state *uts, const phys_addr_t ram)
* single region.
*/
a = lmb_alloc_addr(alloc_addr_a, 0x1000, LMB_NONE);
ut_asserteq(a, alloc_addr_a);
ut_asserteq(a, 0);
b = lmb_alloc_addr(alloc_addr_a + 0x4000, 0x1000, LMB_NONE);
ut_asserteq(b, alloc_addr_a + 0x4000);
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, a, 0x1000,
b, 0x1000, 0, 0);
ut_asserteq(b, 0);
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, alloc_addr_a, 0x1000,
alloc_addr_a + 0x4000, 0x1000, 0, 0);
c = lmb_alloc_addr(alloc_addr_a + 0x1000, 0x5000, LMB_NONE);
ut_asserteq(c, alloc_addr_a + 0x1000);
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 1, a, 0x6000,
ut_asserteq(c, 0);
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 1, alloc_addr_a, 0x6000,
0, 0, 0, 0);
ret = lmb_free(a, 0x6000);
ret = lmb_free(alloc_addr_a, 0x6000);
ut_asserteq(ret, 0);
/*
@ -638,21 +638,21 @@ static int test_alloc_addr(struct unit_test_state *uts, const phys_addr_t ram)
* region 2. Should fail.
*/
a = lmb_alloc_addr(alloc_addr_a, 0x1000, LMB_NOOVERWRITE);
ut_asserteq(a, alloc_addr_a);
ut_asserteq(a, 0);
b = lmb_alloc_addr(alloc_addr_a + 0x4000, 0x1000, LMB_NOOVERWRITE);
ut_asserteq(b, alloc_addr_a + 0x4000);
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, a, 0x1000,
b, 0x1000, 0, 0);
ut_asserteq(b, 0);
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, alloc_addr_a, 0x1000,
alloc_addr_a + 0x4000, 0x1000, 0, 0);
c = lmb_alloc_addr(alloc_addr_a + 0x1000, 0x5000, LMB_NOOVERWRITE);
ut_asserteq(c, 0);
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, a, 0x1000,
b, 0x1000, 0, 0);
ut_asserteq(c, -1);
ASSERT_LMB(mem_lst, used_lst, ram, ram_size, 2, alloc_addr_a, 0x1000,
alloc_addr_a + 0x4000, 0x1000, 0, 0);
ret = lmb_free(a, 0x1000);
ret = lmb_free(alloc_addr_a, 0x1000);
ut_asserteq(ret, 0);
ret = lmb_free(b, 0x1000);
ret = lmb_free(alloc_addr_a + 0x4000, 0x1000);
ut_asserteq(ret, 0);
/* reserve 3 blocks */