summaryrefslogtreecommitdiffstats
path: root/drivers/net/ipa/ipa_table.h
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2022-11-02 23:11:37 +0100
committerDavid S. Miller <davem@davemloft.net>2022-11-04 11:16:53 +0100
commit0f97fbd478587a4ac2d53a88e5a9aefd6632a251 (patch)
tree03a7e860cf1679876b6d1a52eba22f73228c1a45 /drivers/net/ipa/ipa_table.h
parentnet: ipa: use a bitmap for available endpoints (diff)
downloadlinux-0f97fbd478587a4ac2d53a88e5a9aefd6632a251.tar.xz
linux-0f97fbd478587a4ac2d53a88e5a9aefd6632a251.zip
net: ipa: support more filtering endpoints
Prior to IPA v5.0, there could be no more than 32 endpoints. A filter table begins with a bitmap indicating which endpoints have a filter defined. That bitmap is currently assumed to fit in a 32-bit value. Starting with IPA v5.0, more than 32 endpoints are supported, so it's conceivable that a TX endpoint has an ID that exceeds 32. Increase the size of the field representing endpoints that support filtering to 64 bits. Rename the bitmap field "filtered". Unlike other similar fields, we do not use an (arbitrarily long) Linux bitmap for this purpose. The reason is that if a filter table ever *did* need to support more than 64 TX endpoints, its format would change in ways we can't anticipate. Have ipa_endpoint_init() return a negative errno rather than a mask that indicates which endpoints support filtering, and have that function assign the "filtered" field directly. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--drivers/net/ipa/ipa_table.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ipa/ipa_table.h b/drivers/net/ipa/ipa_table.h
index 8a4dcd7df4c0..7cc951904bb4 100644
--- a/drivers/net/ipa/ipa_table.h
+++ b/drivers/net/ipa/ipa_table.h
@@ -11,13 +11,13 @@
struct ipa;
/**
- * ipa_filter_map_valid() - Validate a filter table endpoint bitmap
+ * ipa_filtered_valid() - Validate a filter table endpoint bitmap
* @ipa: IPA pointer
- * @filter_mask: Filter table endpoint bitmap to check
+ * @filtered: Filter table endpoint bitmap to check
*
* Return: true if all regions are valid, false otherwise
*/
-bool ipa_filter_map_valid(struct ipa *ipa, u32 filter_mask);
+bool ipa_filtered_valid(struct ipa *ipa, u64 filtered);
/**
* ipa_table_hash_support() - Return true if hashed tables are supported