Re: [net-next v3 1/6] net: marvell: prestera: Add driver for Prestera family ASIC devices

From: Jiri Pirko
Date: Sun Jul 26 2020 - 04:35:15 EST


Sat, Jul 25, 2020 at 05:06:46PM CEST, vadym.kochan@xxxxxxxxxxx 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.savka@xxxxxxxxxxx>
>Signed-off-by: Oleksandr Mazur <oleksandr.mazur@xxxxxxxxxxx>
>Signed-off-by: Serhiy Boiko <serhiy.boiko@xxxxxxxxxxx>
>Signed-off-by: Serhiy Pshyk <serhiy.pshyk@xxxxxxxxxxx>
>Signed-off-by: Taras Chornyi <taras.chornyi@xxxxxxxxxxx>
>Signed-off-by: Volodymyr Mytnyk <volodymyr.mytnyk@xxxxxxxxxxx>
>Signed-off-by: Vadym Kochan <vadym.kochan@xxxxxxxxxxx>
>---

[...]


>+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,
>+};

[...]