Skip to content

Commit

Permalink
net: ipa: pass memory id to ipa_table_valid_one()
Browse files Browse the repository at this point in the history
Stop passing most of the Boolean flags to ipa_table_valid_one(), and
just pass a memory region ID to it instead.  We still need to
indicate whether we're operating on a routing or filter table.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Alex Elder authored and David S. Miller committed Jun 10, 2021
1 parent 2511664 commit e9f5b27
Showing 1 changed file with 16 additions and 30 deletions.
46 changes: 16 additions & 30 deletions drivers/net/ipa/ipa_table.c
Original file line number Diff line number Diff line change
Expand Up @@ -150,29 +150,16 @@ static void ipa_table_validate_build(void)
}

static bool
ipa_table_valid_one(struct ipa *ipa, bool route, bool ipv6, bool hashed)
ipa_table_valid_one(struct ipa *ipa, enum ipa_mem_id mem_id, bool route)
{
const struct ipa_mem *mem = &ipa->mem[mem_id];
struct device *dev = &ipa->pdev->dev;
const struct ipa_mem *mem;
u32 size;

if (route) {
if (ipv6)
mem = hashed ? &ipa->mem[IPA_MEM_V6_ROUTE_HASHED]
: &ipa->mem[IPA_MEM_V6_ROUTE];
else
mem = hashed ? &ipa->mem[IPA_MEM_V4_ROUTE_HASHED]
: &ipa->mem[IPA_MEM_V4_ROUTE];
if (route)
size = IPA_ROUTE_COUNT_MAX * sizeof(__le64);
} else {
if (ipv6)
mem = hashed ? &ipa->mem[IPA_MEM_V6_FILTER_HASHED]
: &ipa->mem[IPA_MEM_V6_FILTER];
else
mem = hashed ? &ipa->mem[IPA_MEM_V4_FILTER_HASHED]
: &ipa->mem[IPA_MEM_V4_FILTER];
else
size = (1 + IPA_FILTER_COUNT_MAX) * sizeof(__le64);
}

if (!ipa_cmd_table_valid(ipa, mem, route, ipv6, hashed))
return false;
Expand All @@ -185,26 +172,25 @@ ipa_table_valid_one(struct ipa *ipa, bool route, bool ipv6, bool hashed)
if (hashed && !mem->size)
return true;

dev_err(dev, "IPv%c %s%s table region size 0x%02x, expected 0x%02x\n",
ipv6 ? '6' : '4', hashed ? "hashed " : "",
route ? "route" : "filter", mem->size, size);
dev_err(dev, "%s table region %u size 0x%02x, expected 0x%02x\n",
route ? "route" : "filter", mem_id, mem->size, size);

return false;
}

/* Verify the filter and route table memory regions are the expected size */
bool ipa_table_valid(struct ipa *ipa)
{
bool valid = true;

valid = valid && ipa_table_valid_one(ipa, false, false, false);
valid = valid && ipa_table_valid_one(ipa, false, false, true);
valid = valid && ipa_table_valid_one(ipa, false, true, false);
valid = valid && ipa_table_valid_one(ipa, false, true, true);
valid = valid && ipa_table_valid_one(ipa, true, false, false);
valid = valid && ipa_table_valid_one(ipa, true, false, true);
valid = valid && ipa_table_valid_one(ipa, true, true, false);
valid = valid && ipa_table_valid_one(ipa, true, true, true);
bool valid;

valid = ipa_table_valid_one(IPA_MEM_V4_FILTER, false);
valid = valid && ipa_table_valid_one(IPA_MEM_V4_FILTER_HASHED, false);
valid = valid && ipa_table_valid_one(IPA_MEM_V6_FILTER, false);
valid = valid && ipa_table_valid_one(IPA_MEM_V6_FILTER_HASHED, false);
valid = valid && ipa_table_valid_one(IPA_MEM_V4_ROUTE, true);
valid = valid && ipa_table_valid_one(IPA_MEM_V4_ROUTE_HASHED, true);
valid = valid && ipa_table_valid_one(IPA_MEM_V6_ROUTE, true);
valid = valid && ipa_table_valid_one(IPA_MEM_V6_ROUTE_HASHED, true);

return valid;
}
Expand Down

0 comments on commit e9f5b27

Please sign in to comment.