Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: ipa: define two new memory regions

IPA v5.0 uses two memory regions not previously used. Define them
and treat them as valid only for IPA v5.0.

Signed-off-by: Alex Elder <elder@linaro.org>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Alex Elder and committed by
Jakub Kicinski
5157d6bf 2cdbcbfd

+12 -4
+7 -1
drivers/net/ipa/ipa_mem.c
··· 1 1 // SPDX-License-Identifier: GPL-2.0 2 2 3 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 - * Copyright (C) 2019-2022 Linaro Ltd. 4 + * Copyright (C) 2019-2023 Linaro Ltd. 5 5 */ 6 6 7 7 #include <linux/types.h> ··· 160 160 case IPA_MEM_STATS_V4_ROUTE: 161 161 case IPA_MEM_STATS_V6_ROUTE: 162 162 if (version < IPA_VERSION_4_0 || version > IPA_VERSION_4_2) 163 + return false; 164 + break; 165 + 166 + case IPA_MEM_AP_V4_FILTER: 167 + case IPA_MEM_AP_V6_FILTER: 168 + if (version != IPA_VERSION_5_0) 163 169 return false; 164 170 break; 165 171
+5 -3
drivers/net/ipa/ipa_mem.h
··· 1 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 2 3 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 - * Copyright (C) 2019-2021 Linaro Ltd. 4 + * Copyright (C) 2019-2023 Linaro Ltd. 5 5 */ 6 6 #ifndef _IPA_MEM_H_ 7 7 #define _IPA_MEM_H_ ··· 62 62 IPA_MEM_PDN_CONFIG, /* 0/2 canaries (IPA v4.0+) */ 63 63 IPA_MEM_STATS_QUOTA_MODEM, /* 2/4 canaries (IPA v4.0+) */ 64 64 IPA_MEM_STATS_QUOTA_AP, /* 0 canaries, optional (IPA v4.0+) */ 65 - IPA_MEM_STATS_TETHERING, /* 0 canaries (IPA v4.0+) */ 65 + IPA_MEM_STATS_TETHERING, /* 0 canaries, optional (IPA v4.0+) */ 66 66 IPA_MEM_STATS_DROP, /* 0 canaries, optional (IPA v4.0+) */ 67 - /* The next 5 filter and route statistics regions are optional */ 67 + /* The next 7 filter and route statistics regions are optional */ 68 68 IPA_MEM_STATS_V4_FILTER, /* 0 canaries (IPA v4.0-v4.2) */ 69 69 IPA_MEM_STATS_V6_FILTER, /* 0 canaries (IPA v4.0-v4.2) */ 70 70 IPA_MEM_STATS_V4_ROUTE, /* 0 canaries (IPA v4.0-v4.2) */ 71 71 IPA_MEM_STATS_V6_ROUTE, /* 0 canaries (IPA v4.0-v4.2) */ 72 + IPA_MEM_AP_V4_FILTER, /* 2 canaries (IPA v5.0) */ 73 + IPA_MEM_AP_V6_FILTER, /* 0 canaries (IPA v5.0) */ 72 74 IPA_MEM_STATS_FILTER_ROUTE, /* 0 canaries (IPA v4.5+) */ 73 75 IPA_MEM_NAT_TABLE, /* 4 canaries, optional (IPA v4.5+) */ 74 76 IPA_MEM_END_MARKER, /* 1 canary (not a real region) */