]> git.itanic.dy.fi Git - linux-stable/commitdiff
net: ipa: define two new memory regions
authorAlex Elder <elder@linaro.org>
Mon, 30 Jan 2023 21:01:58 +0000 (15:01 -0600)
committerJakub Kicinski <kuba@kernel.org>
Wed, 1 Feb 2023 05:45:52 +0000 (21:45 -0800)
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>
drivers/net/ipa/ipa_mem.c
drivers/net/ipa/ipa_mem.h

index 9ec5af323f731dcb68402df7111db714556cb442..a07776e20cb0d179ba5e5abd9e1be7c76518707d 100644 (file)
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 
 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
- * Copyright (C) 2019-2022 Linaro Ltd.
+ * Copyright (C) 2019-2023 Linaro Ltd.
  */
 
 #include <linux/types.h>
@@ -163,6 +163,12 @@ static bool ipa_mem_id_valid(struct ipa *ipa, enum ipa_mem_id mem_id)
                        return false;
                break;
 
+       case IPA_MEM_AP_V4_FILTER:
+       case IPA_MEM_AP_V6_FILTER:
+               if (version != IPA_VERSION_5_0)
+                       return false;
+               break;
+
        case IPA_MEM_NAT_TABLE:
        case IPA_MEM_STATS_FILTER_ROUTE:
                if (version < IPA_VERSION_4_5)
index 570bfdd99bffb4787305d36aef94c2d175effd23..868e9c20e8c41746728d055fe6b56c228729064b 100644 (file)
@@ -1,7 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0 */
 
 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
- * Copyright (C) 2019-2021 Linaro Ltd.
+ * Copyright (C) 2019-2023 Linaro Ltd.
  */
 #ifndef _IPA_MEM_H_
 #define _IPA_MEM_H_
@@ -62,13 +62,15 @@ enum ipa_mem_id {
        IPA_MEM_PDN_CONFIG,             /* 0/2 canaries (IPA v4.0+) */
        IPA_MEM_STATS_QUOTA_MODEM,      /* 2/4 canaries (IPA v4.0+) */
        IPA_MEM_STATS_QUOTA_AP,         /* 0 canaries, optional (IPA v4.0+) */
-       IPA_MEM_STATS_TETHERING,        /* 0 canaries (IPA v4.0+) */
+       IPA_MEM_STATS_TETHERING,        /* 0 canaries, optional (IPA v4.0+) */
        IPA_MEM_STATS_DROP,             /* 0 canaries, optional (IPA v4.0+) */
-       /* The next 5 filter and route statistics regions are optional */
+       /* The next 7 filter and route statistics regions are optional */
        IPA_MEM_STATS_V4_FILTER,        /* 0 canaries (IPA v4.0-v4.2) */
        IPA_MEM_STATS_V6_FILTER,        /* 0 canaries (IPA v4.0-v4.2) */
        IPA_MEM_STATS_V4_ROUTE,         /* 0 canaries (IPA v4.0-v4.2) */
        IPA_MEM_STATS_V6_ROUTE,         /* 0 canaries (IPA v4.0-v4.2) */
+       IPA_MEM_AP_V4_FILTER,           /* 2 canaries (IPA v5.0) */
+       IPA_MEM_AP_V6_FILTER,           /* 0 canaries (IPA v5.0) */
        IPA_MEM_STATS_FILTER_ROUTE,     /* 0 canaries (IPA v4.5+) */
        IPA_MEM_NAT_TABLE,              /* 4 canaries, optional (IPA v4.5+) */
        IPA_MEM_END_MARKER,             /* 1 canary (not a real region) */