Commit 4d715380 authored by Alex Elder's avatar Alex Elder Committed by Jakub Kicinski
Browse files

net: ipa: share field mask values for IPA hash registers



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: default avatarAlex Elder <elder@linaro.org>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 2b8473d2
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -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)
+2 −2
Original line number Diff line number Diff line
@@ -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);