Sat, Jul 25, 2020 at 05:06:46PM CEST, vadym.koc...@plvision.eu wrote: >Marvell Prestera 98DX326x integrates up to 24 ports of 1GbE with 8 >ports of 10GbE uplinks or 2 ports of 40Gbps stacking for a largely >wireless SMB deployment. > >The current implementation supports only boards designed for the Marvell >Switchdev solution and requires special firmware. > >The core Prestera switching logic is implemented in prestera_main.c, >there is an intermediate hw layer between core logic and firmware. It is >implemented in prestera_hw.c, the purpose of it is to encapsulate hw >related logic, in future there is a plan to support more devices with >different HW related configurations. > >This patch contains only basic switch initialization and RX/TX support >over SDMA mechanism. > >Currently supported devices have DMA access range <= 32bit and require >ZONE_DMA to be enabled, for such cases SDMA driver checks if the skb >allocated in proper range supported by the Prestera device. > >Also meanwhile there is no TX interrupt support in current firmware >version so recycling work is scheduled on each xmit. > >Port's mac address is generated from the switch base mac which may be >provided via device-tree (static one or as nvme cell), or randomly >generated. > >Signed-off-by: Andrii Savka <andrii.sa...@plvision.eu> >Signed-off-by: Oleksandr Mazur <oleksandr.ma...@plvision.eu> >Signed-off-by: Serhiy Boiko <serhiy.bo...@plvision.eu> >Signed-off-by: Serhiy Pshyk <serhiy.ps...@plvision.eu> >Signed-off-by: Taras Chornyi <taras.chor...@plvision.eu> >Signed-off-by: Volodymyr Mytnyk <volodymyr.myt...@plvision.eu> >Signed-off-by: Vadym Kochan <vadym.koc...@plvision.eu> >---
[...] >+static const struct net_device_ops netdev_ops = { Prefix, please: prestera_netdev_ops. >+ .ndo_open = prestera_port_open, >+ .ndo_stop = prestera_port_close, >+ .ndo_start_xmit = prestera_port_xmit, >+ .ndo_change_mtu = prestera_port_change_mtu, >+ .ndo_get_stats64 = prestera_port_get_stats64, >+ .ndo_set_mac_address = prestera_port_set_mac_address, >+}; [...]