+static void airoha_fe_maccr_init(struct airoha_eth *eth)
+{
...
+ airoha_fe_wr(eth, REG_FE_VIP_PATN(11), 0xc057); /* PPP->IPv6CP (0xc057) */
include/uapi/linux/ppp_defs.h
#define PPP_IPV6CP 0x8057 /* IPv6 Control Protocol */
Are these the same thing? Why is there one bit difference?
+ airoha_fe_wr(eth, REG_FE_VIP_PATN(17), 0x1ae0);
+ airoha_fe_wr(eth, REG_FE_VIP_EN(17),
+ PATN_FCPU_EN_MASK | PATN_SP_EN_MASK |
+ FIELD_PREP(PATN_TYPE_MASK, 3) | PATN_EN_MASK);
+
+ airoha_fe_wr(eth, REG_FE_VIP_PATN(18), 0x1ae00000);
+ airoha_fe_wr(eth, REG_FE_VIP_EN(18),
+ PATN_FCPU_EN_MASK | PATN_DP_EN_MASK |
+ FIELD_PREP(PATN_TYPE_MASK, 3) | PATN_EN_MASK);
+ airoha_fe_wr(eth, REG_FE_VIP_PATN(22), 0xaaaa);
Please add a comment what these match.
+static int airoha_dev_change_mtu(struct net_device *dev, int new_mtu)
+{
+ dev->mtu = new_mtu;
+
+ return 0;
+}
+
I don't think this is needed. Look at __dev_set_mtu().
Andrew
---
pw-bot: cr