net: ipa: share field mask values for IPA hash registers
authorAlex Elder <elder@linaro.org>
Mon, 16 Nov 2020 23:37:55 +0000 (17:37 -0600)
committerJakub Kicinski <kuba@kernel.org>
Wed, 18 Nov 2020 23:53:48 +0000 (15:53 -0800)
The IPA filter/routing hash enable register and filter/routing hash
flush register each have four single-bit fields representing the
four hashed tables to be enabled or flushed.  The field positions
are identical, so just use a single set of field masks to represent
the fields for both registers.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ipa/ipa_reg.h
drivers/net/ipa/ipa_table.c

index 8eaf5f2..001961c 100644 (file)
@@ -153,10 +153,6 @@ static inline u32 ipa_reg_state_aggr_active_offset(enum ipa_version version)
 
 /* The next register is present for IPA v4.2 and above */
 #define IPA_REG_FILT_ROUT_HASH_EN_OFFSET               0x00000148
-#define IPV6_ROUTER_HASH_EN                    GENMASK(0, 0)
-#define IPV6_FILTER_HASH_EN                    GENMASK(4, 4)
-#define IPV4_ROUTER_HASH_EN                    GENMASK(8, 8)
-#define IPV4_FILTER_HASH_EN                    GENMASK(12, 12)
 
 static inline u32 ipa_reg_filt_rout_hash_flush_offset(enum ipa_version version)
 {
@@ -166,10 +162,11 @@ static inline u32 ipa_reg_filt_rout_hash_flush_offset(enum ipa_version version)
        return 0x000014c;
 }
 
-#define IPV6_ROUTER_HASH_FLUSH                 GENMASK(0, 0)
-#define IPV6_FILTER_HASH_FLUSH                 GENMASK(4, 4)
-#define IPV4_ROUTER_HASH_FLUSH                 GENMASK(8, 8)
-#define IPV4_FILTER_HASH_FLUSH                 GENMASK(12, 12)
+/* The next four fields are used for the hash enable and flush registers */
+#define IPV6_ROUTER_HASH_FMASK                 GENMASK(0, 0)
+#define IPV6_FILTER_HASH_FMASK                 GENMASK(4, 4)
+#define IPV4_ROUTER_HASH_FMASK                 GENMASK(8, 8)
+#define IPV4_FILTER_HASH_FMASK                 GENMASK(12, 12)
 
 #define IPA_REG_BCR_OFFSET                             0x000001d0
 #define BCR_CMDQ_L_LACK_ONE_ENTRY              BIT(0)
index b3790aa..32e2d3e 100644 (file)
@@ -422,8 +422,8 @@ int ipa_table_hash_flush(struct ipa *ipa)
                return -EBUSY;
        }
 
-       val = IPV4_FILTER_HASH_FLUSH | IPV6_FILTER_HASH_FLUSH;
-       val |= IPV6_ROUTER_HASH_FLUSH | IPV4_ROUTER_HASH_FLUSH;
+       val = IPV4_FILTER_HASH_FMASK | IPV6_FILTER_HASH_FMASK;
+       val |= IPV6_ROUTER_HASH_FMASK | IPV4_ROUTER_HASH_FMASK;
 
        ipa_cmd_register_write_add(trans, offset, val, val, false);