Message ID | 20230612122358.10586-2-lanhao@huawei.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: hns3: There are some cleanup for the HNS3 ethernet driver | expand |
On Mon, Jun 12, 2023 at 08:23:55PM +0800, Hao Lan wrote: > From: Jian Shen <shenjian15@huawei.com> > > The result of expression '(k ^ ~v) & k' is exactly > the same with 'k & v', so simplify it. > (k ^ ~v) & k == k & v > The truth table (in non table form): > k == 0, v == 0: > (k ^ ~v) & k == (0 ^ ~0) & 0 == (0 ^ 1) & 0 == 1 & 0 == 0 > k & v == 0 & 0 == 0 > > k == 0, v == 1: > (k ^ ~v) & k == (0 ^ ~1) & 0 == (0 ^ 0) & 0 == 1 & 0 == 0 > k & v == 0 & 1 == 0 > > k == 1, v == 0: > (k ^ ~v) & k == (1 ^ ~0) & 1 == (1 ^ 1) & 1 == 0 & 1 == 0 > k & v == 1 & 0 == 0 > > k == 1, v == 1: > (k ^ ~v) & k == (1 ^ ~1) & 1 == (1 ^ 0) & 1 == 1 & 1 == 1 > k & v == 1 & 1 == 1 > > ChangeLog: > v1->v2: > Fixed the comment description error and added > the truth table in the comment. > suggested by Simon Horman. > > Signed-off-by: Jian Shen <shenjian15@huawei.com> > Signed-off-by: Hao Lan <lanhao@huawei.com> Reviewed-by: Simon Horman <simon.horman@corigine.com>
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h index 81aa6b0facf5..6a43d1515585 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h @@ -835,15 +835,10 @@ struct hclge_vf_vlan_cfg { * Then for input key(k) and mask(v), we can calculate the value by * the formulae: * x = (~k) & v - * y = (k ^ ~v) & k + * y = k & v */ -#define calc_x(x, k, v) (x = ~(k) & (v)) -#define calc_y(y, k, v) \ - do { \ - const typeof(k) _k_ = (k); \ - const typeof(v) _v_ = (v); \ - (y) = (_k_ ^ ~_v_) & (_k_); \ - } while (0) +#define calc_x(x, k, v) ((x) = ~(k) & (v)) +#define calc_y(y, k, v) ((y) = (k) & (v)) #define HCLGE_MAC_STATS_FIELD_OFF(f) (offsetof(struct hclge_mac_stats, f)) #define HCLGE_STATS_READ(p, offset) (*(u64 *)((u8 *)(p) + (offset)))