Commit 5bed8d58 authored by Paolo Abeni's avatar Paolo Abeni
Browse files

Merge branch 'add-wed-support-for-mt7988-chipset'

Lorenzo Bianconi says:

====================
Add WED support for MT7988 chipset

Similar to MT7622 and MT7986, introduce Wireless Ethernet Dispatcher (WED)
support for MT7988 chipset in order to offload to the hw packet engine traffic
received from LAN/WAN device to WLAN nic (MT7996E).
Add WED RX support in order to offload traffic received by WLAN nic to the
wired interfaces (LAN/WAN).
====================

Link: https://lore.kernel.org/r/cover.1695032290.git.lorenzo@kernel.org


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parents fa17a6d8 1543b8ff
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ properties:
          - mediatek,mt7622-wed
          - mediatek,mt7981-wed
          - mediatek,mt7986-wed
          - mediatek,mt7988-wed
      - const: syscon

  reg:
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ properties:
    items:
      - enum:
          - mediatek,mt7986-wo-ccif
          - mediatek,mt7988-wo-ccif
      - const: syscon

  reg:
+1 −0
Original line number Diff line number Diff line
@@ -197,6 +197,7 @@ static const struct mtk_reg_map mt7988_reg_map = {
	.wdma_base = {
		[0]		= 0x4800,
		[1]		= 0x4c00,
		[2]		= 0x5000,
	},
	.pse_iq_sta		= 0x0180,
	.pse_oq_sta		= 0x01a0,
+1 −1
Original line number Diff line number Diff line
@@ -1132,7 +1132,7 @@ struct mtk_reg_map {
	u32	gdm1_cnt;
	u32	gdma_to_ppe;
	u32	ppe_base;
	u32	wdma_base[2];
	u32	wdma_base[3];
	u32	pse_iq_sta;
	u32	pse_oq_sta;
};
+3 −1
Original line number Diff line number Diff line
@@ -425,7 +425,8 @@ int mtk_foe_entry_set_pppoe(struct mtk_eth *eth, struct mtk_foe_entry *entry,
}

int mtk_foe_entry_set_wdma(struct mtk_eth *eth, struct mtk_foe_entry *entry,
			   int wdma_idx, int txq, int bss, int wcid)
			   int wdma_idx, int txq, int bss, int wcid,
			   bool amsdu_en)
{
	struct mtk_foe_mac_info *l2 = mtk_foe_entry_l2(eth, entry);
	u32 *ib2 = mtk_foe_entry_ib2(eth, entry);
@@ -437,6 +438,7 @@ int mtk_foe_entry_set_wdma(struct mtk_eth *eth, struct mtk_foe_entry *entry,
			 MTK_FOE_IB2_WDMA_WINFO_V2;
		l2->w3info = FIELD_PREP(MTK_FOE_WINFO_WCID_V3, wcid) |
			     FIELD_PREP(MTK_FOE_WINFO_BSS_V3, bss);
		l2->amsdu = FIELD_PREP(MTK_FOE_WINFO_AMSDU_EN, amsdu_en);
		break;
	case 2:
		*ib2 &= ~MTK_FOE_IB2_PORT_MG_V2;
Loading