History log of /linux/drivers/net/ethernet/marvell/prestera/Kconfig (Results 51 – 67 of 67)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v5.10-rc4
# e1d9d7b9 13-Nov-2020 Jakub Kicinski <kuba@kernel.org>

Merge https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net

Signed-off-by: Jakub Kicinski <kuba@kernel.org>


Revision tags: v5.10-rc3
# 666fab4a 07-Nov-2020 Ingo Molnar <mingo@kernel.org>

Merge branch 'linus' into perf/kprobes

Conflicts:
include/asm-generic/atomic-instrumented.h
kernel/kprobes.c

Use the upstream atomic-instrumented.h checksum, and pick
the kprobes version of kerne

Merge branch 'linus' into perf/kprobes

Conflicts:
include/asm-generic/atomic-instrumented.h
kernel/kprobes.c

Use the upstream atomic-instrumented.h checksum, and pick
the kprobes version of kernel/kprobes.c, which effectively
reverts this upstream workaround:

645f224e7ba2: ("kprobes: Tell lockdep about kprobe nesting")

Since the new code *should* be fine without nesting.

Knock on wood ...

Signed-off-by: Ingo Molnar <mingo@kernel.org>

show more ...


# 5f8f9652 05-Nov-2020 Jani Nikula <jani.nikula@intel.com>

Merge drm/drm-next into drm-intel-next-queued

Catch up with v5.10-rc2 and drm-misc-next.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>


# 01be83ee 04-Nov-2020 Thomas Gleixner <tglx@linutronix.de>

Merge branch 'core/urgent' into core/entry

Pick up the entry fix before further modifications.


# c489573b 02-Nov-2020 Maxime Ripard <maxime@cerno.tech>

Merge drm/drm-next into drm-misc-next

Daniel needs -rc2 in drm-misc-next to merge some patches

Signed-off-by: Maxime Ripard <maxime@cerno.tech>


# db7c9535 12-Nov-2020 Linus Torvalds <torvalds@linux-foundation.org>

Merge tag 'net-5.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net

Pull networking fixes from Jakub Kicinski:
"Current release - regressions:

- arm64: dts: fsl-ls1028a-kontron

Merge tag 'net-5.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net

Pull networking fixes from Jakub Kicinski:
"Current release - regressions:

- arm64: dts: fsl-ls1028a-kontron-sl28: specify in-band mode for
ENETC

Current release - bugs in new features:

- mptcp: provide rmem[0] limit offset to fix oops

Previous release - regressions:

- IPv6: Set SIT tunnel hard_header_len to zero to fix path MTU
calculations

- lan743x: correctly handle chips with internal PHY

- bpf: Don't rely on GCC __attribute__((optimize)) to disable GCSE

- mlx5e: Fix VXLAN port table synchronization after function reload

Previous release - always broken:

- bpf: Zero-fill re-used per-cpu map element

- fix out-of-order UDP packets when forwarding with UDP GSO fraglists
turned on:
- fix UDP header access on Fast/frag0 UDP GRO
- fix IP header access and skb lookup on Fast/frag0 UDP GRO

- ethtool: netlink: add missing netdev_features_change() call

- net: Update window_clamp if SOCK_RCVBUF is set

- igc: Fix returning wrong statistics

- ch_ktls: fix multiple leaks and corner cases in Chelsio TLS offload

- tunnels: Fix off-by-one in lower MTU bounds for ICMP/ICMPv6 replies

- r8169: disable hw csum for short packets on all chip versions

- vrf: Fix fast path output packet handling with async Netfilter
rules"

* tag 'net-5.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (65 commits)
lan743x: fix use of uninitialized variable
net: udp: fix IP header access and skb lookup on Fast/frag0 UDP GRO
net: udp: fix UDP header access on Fast/frag0 UDP GRO
devlink: Avoid overwriting port attributes of registered port
vrf: Fix fast path output packet handling with async Netfilter rules
cosa: Add missing kfree in error path of cosa_write
net: switch to the kernel.org patchwork instance
ch_ktls: stop the txq if reaches threshold
ch_ktls: tcb update fails sometimes
ch_ktls/cxgb4: handle partial tag alone SKBs
ch_ktls: don't free skb before sending FIN
ch_ktls: packet handling prior to start marker
ch_ktls: Correction in middle record handling
ch_ktls: missing handling of header alone
ch_ktls: Correction in trimmed_len calculation
cxgb4/ch_ktls: creating skbs causes panic
ch_ktls: Update cheksum information
ch_ktls: Correction in finding correct length
cxgb4/ch_ktls: decrypted bit is not enough
net/x25: Fix null-ptr-deref in x25_connect
...

show more ...


# 4f6b838c 12-Nov-2020 Marc Zyngier <maz@kernel.org>

Merge tag 'v5.10-rc1' into kvmarm-master/next

Linux 5.10-rc1

Signed-off-by: Marc Zyngier <maz@kernel.org>


# 4e0396c5 06-Nov-2020 Vadym Kochan <vadym.kochan@plvision.eu>

net: marvell: prestera: fix compilation with CONFIG_BRIDGE=m

With CONFIG_BRIDGE=m the compilation fails:

ld: drivers/net/ethernet/marvell/prestera/prestera_switchdev.o: in function `prestera_br

net: marvell: prestera: fix compilation with CONFIG_BRIDGE=m

With CONFIG_BRIDGE=m the compilation fails:

ld: drivers/net/ethernet/marvell/prestera/prestera_switchdev.o: in function `prestera_bridge_port_event':
prestera_switchdev.c:(.text+0x2ebd): undefined reference to `br_vlan_enabled'

in case the driver is statically enabled.

Fix it by adding 'BRIDGE || BRIDGE=n' dependency.

Fixes: e1189d9a5fbe ("net: marvell: prestera: Add Switchdev driver implementation")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Link: https://lore.kernel.org/r/20201106161128.24069-1-vadym.kochan@plvision.eu
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

show more ...


Revision tags: v5.10-rc2
# 4a95857a 30-Oct-2020 Zhenyu Wang <zhenyuw@linux.intel.com>

Merge tag 'drm-intel-fixes-2020-10-29' into gvt-fixes

Backmerge for 5.10-rc1 to apply one extra APL fix.

Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>


# f59cddd8 28-Oct-2020 Mark Brown <broonie@kernel.org>

Merge tag 'v5.10-rc1' into regulator-5.10

Linux 5.10-rc1


# 3bfd5f42 28-Oct-2020 Mark Brown <broonie@kernel.org>

Merge tag 'v5.10-rc1' into spi-5.10

Linux 5.10-rc1


# ce038aea 28-Oct-2020 Mark Brown <broonie@kernel.org>

Merge tag 'v5.10-rc1' into asoc-5.10

Linux 5.10-rc1


Revision tags: v5.10-rc1
# 9ff9b0d3 16-Oct-2020 Linus Torvalds <torvalds@linux-foundation.org>

Merge tag 'net-next-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next

Pull networking updates from Jakub Kicinski:

- Add redirect_neigh() BPF packet redirect helper, allowing

Merge tag 'net-next-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next

Pull networking updates from Jakub Kicinski:

- Add redirect_neigh() BPF packet redirect helper, allowing to limit
stack traversal in common container configs and improving TCP
back-pressure.

Daniel reports ~10Gbps => ~15Gbps single stream TCP performance gain.

- Expand netlink policy support and improve policy export to user
space. (Ge)netlink core performs request validation according to
declared policies. Expand the expressiveness of those policies
(min/max length and bitmasks). Allow dumping policies for particular
commands. This is used for feature discovery by user space (instead
of kernel version parsing or trial and error).

- Support IGMPv3/MLDv2 multicast listener discovery protocols in
bridge.

- Allow more than 255 IPv4 multicast interfaces.

- Add support for Type of Service (ToS) reflection in SYN/SYN-ACK
packets of TCPv6.

- In Multi-patch TCP (MPTCP) support concurrent transmission of data on
multiple subflows in a load balancing scenario. Enhance advertising
addresses via the RM_ADDR/ADD_ADDR options.

- Support SMC-Dv2 version of SMC, which enables multi-subnet
deployments.

- Allow more calls to same peer in RxRPC.

- Support two new Controller Area Network (CAN) protocols - CAN-FD and
ISO 15765-2:2016.

- Add xfrm/IPsec compat layer, solving the 32bit user space on 64bit
kernel problem.

- Add TC actions for implementing MPLS L2 VPNs.

- Improve nexthop code - e.g. handle various corner cases when nexthop
objects are removed from groups better, skip unnecessary
notifications and make it easier to offload nexthops into HW by
converting to a blocking notifier.

- Support adding and consuming TCP header options by BPF programs,
opening the doors for easy experimental and deployment-specific TCP
option use.

- Reorganize TCP congestion control (CC) initialization to simplify
life of TCP CC implemented in BPF.

- Add support for shipping BPF programs with the kernel and loading
them early on boot via the User Mode Driver mechanism, hence reusing
all the user space infra we have.

- Support sleepable BPF programs, initially targeting LSM and tracing.

- Add bpf_d_path() helper for returning full path for given 'struct
path'.

- Make bpf_tail_call compatible with bpf-to-bpf calls.

- Allow BPF programs to call map_update_elem on sockmaps.

- Add BPF Type Format (BTF) support for type and enum discovery, as
well as support for using BTF within the kernel itself (current use
is for pretty printing structures).

- Support listing and getting information about bpf_links via the bpf
syscall.

- Enhance kernel interfaces around NIC firmware update. Allow
specifying overwrite mask to control if settings etc. are reset
during update; report expected max time operation may take to users;
support firmware activation without machine reboot incl. limits of
how much impact reset may have (e.g. dropping link or not).

- Extend ethtool configuration interface to report IEEE-standard
counters, to limit the need for per-vendor logic in user space.

- Adopt or extend devlink use for debug, monitoring, fw update in many
drivers (dsa loop, ice, ionic, sja1105, qed, mlxsw, mv88e6xxx,
dpaa2-eth).

- In mlxsw expose critical and emergency SFP module temperature alarms.
Refactor port buffer handling to make the defaults more suitable and
support setting these values explicitly via the DCBNL interface.

- Add XDP support for Intel's igb driver.

- Support offloading TC flower classification and filtering rules to
mscc_ocelot switches.

- Add PTP support for Marvell Octeontx2 and PP2.2 hardware, as well as
fixed interval period pulse generator and one-step timestamping in
dpaa-eth.

- Add support for various auth offloads in WiFi APs, e.g. SAE (WPA3)
offload.

- Add Lynx PHY/PCS MDIO module, and convert various drivers which have
this HW to use it. Convert mvpp2 to split PCS.

- Support Marvell Prestera 98DX3255 24-port switch ASICs, as well as
7-port Mediatek MT7531 IP.

- Add initial support for QCA6390 and IPQ6018 in ath11k WiFi driver,
and wcn3680 support in wcn36xx.

- Improve performance for packets which don't require much offloads on
recent Mellanox NICs by 20% by making multiple packets share a
descriptor entry.

- Move chelsio inline crypto drivers (for TLS and IPsec) from the
crypto subtree to drivers/net. Move MDIO drivers out of the phy
directory.

- Clean up a lot of W=1 warnings, reportedly the actively developed
subsections of networking drivers should now build W=1 warning free.

- Make sure drivers don't use in_interrupt() to dynamically adapt their
code. Convert tasklets to use new tasklet_setup API (sadly this
conversion is not yet complete).

* tag 'net-next-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2583 commits)
Revert "bpfilter: Fix build error with CONFIG_BPFILTER_UMH"
net, sockmap: Don't call bpf_prog_put() on NULL pointer
bpf, selftest: Fix flaky tcp_hdr_options test when adding addr to lo
bpf, sockmap: Add locking annotations to iterator
netfilter: nftables: allow re-computing sctp CRC-32C in 'payload' statements
net: fix pos incrementment in ipv6_route_seq_next
net/smc: fix invalid return code in smcd_new_buf_create()
net/smc: fix valid DMBE buffer sizes
net/smc: fix use-after-free of delayed events
bpfilter: Fix build error with CONFIG_BPFILTER_UMH
cxgb4/ch_ipsec: Replace the module name to ch_ipsec from chcr
net: sched: Fix suspicious RCU usage while accessing tcf_tunnel_info
bpf: Fix register equivalence tracking.
rxrpc: Fix loss of final ack on shutdown
rxrpc: Fix bundle counting for exclusive connections
netfilter: restore NF_INET_NUMHOOKS
ibmveth: Identify ingress large send packets.
ibmveth: Switch order of ibmveth_helper calls.
cxgb4: handle 4-tuple PEDIT to NAT mode translation
selftests: Add VRF route leaking tests
...

show more ...


Revision tags: v5.9, v5.9-rc8, v5.9-rc7, v5.9-rc6
# 3ce406bd 18-Sep-2020 David S. Miller <davem@davemloft.net>

Merge branch 'net-marvell-prestera-Add-Switchdev-driver-for-Prestera-family-ASIC-device-98DX3255-AC3x'

Vadym Kochan says:

====================
net: marvell: prestera: Add Switchdev driver for Prest

Merge branch 'net-marvell-prestera-Add-Switchdev-driver-for-Prestera-family-ASIC-device-98DX3255-AC3x'

Vadym Kochan says:

====================
net: marvell: prestera: Add Switchdev driver for Prestera family ASIC device 98DX3255 (AC3x)

Marvell Prestera 98DX3255 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.

Prestera Switchdev is a firmware based driver that operates via PCI bus. The
current implementation supports only boards designed for the Marvell Switchdev
solution and requires special firmware.

This driver implementation includes only L1, basic L2 support, and RX/TX.

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.

The following Switchdev features are supported:

- VLAN-aware bridge offloading
- VLAN-unaware bridge offloading
- FDB offloading (learning, ageing)
- Switchport configuration

The original firmware image is uploaded to the linux-firmware repository.

PATCH v9:
1) Replace read_poll_timeout_atomic() by original 'do {} while()' loop
because it works much better than read_poll_timeout_atomic()
considering the TX rate. Also it fixes warning reported on v8.

2) Use ENOENT instead of EEXIST when item is not found in few
places - prestera_hw.c and prestera_rxtx.c

Patches updated:
[1] net: marvell: prestera: Add driver for Prestera family ASIC devices

PATCH v8:
1) Put license in one line.

2) Sort includes.

3) Add missing comma for last enum member

4) Return original error code from last called func
in places where instead other error code was used.

5) Add comma for last member in initialized struct in prestera_hw.c

6) Do not initialize 'int err = 0' where it is not needed.

7) Simplify device-tree "marvell,prestera" node parsing by removing not
needed checking on 'np == NULL'.

8) Use u32p_replace_bits() instead of open-coded ((word & ~mask) | val)

9) Use dev_warn_ratelimited() instead of pr_warn_ratelimited to indicate the device
instance in prestera_rxtx.c

10) Simplify circular buffer list creation in prestera_sdma_{rx,tx}_init() by using
do { } while (prev != tail) construction.

11) Use MSEC_PER_SEC instead of hard-coded 1000.

12) Use traditional error handling pattern:

err = F();
if (err)
return err;

13) Use ether_addr_copy() instead of memcpy() for mac FDB copying in prestera_hw.c

14) Drop swdev->ageing_time member which is not used.

15) Fix ageing macro to be in ms instead of seconds.

Patches updated:
[1] net: marvell: prestera: Add driver for Prestera family ASIC devices
[2] net: marvell: prestera: Add PCI interface support
[3] net: marvell: prestera: Add basic devlink support
[4] net: marvell: prestera: Add ethtool interface support
[5] net: marvell: prestera: Add Switchdev driver implementation

PATCH v7:
1) Use ether_addr_copy() in prestera_main.c:prestera_port_set_mac_address()
instead of memcpy().

2) Removed not needed device's DMA address range check on
dma_pool_alloc() in prestera_rxtx.c:prestera_sdma_buf_init(),
this should be handled by dma_xxx() API considerig device's DMA mask.

3) Removed not needed device's DMA address range check on
dma_map_single() in prestera_rxtx.c:prestera_sdma_rx_skb_alloc(),
this should be handled by dma_xxx() API considerig device's DMA mask.

4) Add comment about port mac address limitation in the code where
it is used and checked - prestera_main.c:

- prestera_is_valid_mac_addr()
- prestera_port_create()

5) Add missing destroy_workqueue(swdev_wq) in prestera_switchdev.c:prestera_switchdev_init()
on error path handling.

Patches updated:
[1] net: marvell: prestera: Add driver for Prestera family ASIC devices
[5] net: marvell: prestera: Add Switchdev driver implementation

PATCH v6:
1) Use rwlock to protect port list on create/delete stages. The list
is mostly readable by fw event handler or packets receiver, but
updated only on create/delete port which are performed on switch init/fini
stages.

2) Remove not needed variable initialization in prestera_dsa.c:prestera_dsa_parse()

3) Get rid of bounce buffer used by tx handler in prestera_rxtx.c,
the bounce buffer should be handled by dma_xxx API via swiotlb.

4) Fix PRESTERA_SDMA_RX_DESC_PKT_LEN macro by using correct GENMASK(13, 0) in prestera_rxtx.c

Patches updated:
[1] net: marvell: prestera: Add driver for Prestera family ASIC devices

PATCH v5:
0) add Co-developed tags for people who was involved in development.

1) Make SPDX license as separate comment

2) Change 'u8 *' -> 'void *', It allows to avoid not-needed u8* casting.

3) Remove "," in terminated enum's.

4) Use GENMASK(end, start) where it is applicable in.

5) Remove not-needed 'u8 *' casting.

6) Apply common error-check pattern

7) Use ether_addr_copy instead of memcpy

8) Use define for maximum MAC address range (255)

9) Simplify prestera_port_state_set() in prestera_main.c by
using separate if-blocks for state setting:

if (is_up) {
...
} else {
...
}

which makes logic more understandable.

10) Simplify sdma tx wait logic when checking/updating tx_ring->burst.

11) Remove not-needed packed & aligned attributes

12) Use USEC_PER_MSEC as multiplier when converting ms -> usec on calling
readl_poll_timeout.

13) Simplified some error path handling by simple return error code in.

14) Remove not-needed err assignment in.

15) Use dev_err() in prestera_devlink_register(...).

Patches updated:
[1] net: marvell: prestera: Add driver for Prestera family ASIC devices
[2] net: marvell: prestera: Add PCI interface support
[3] net: marvell: prestera: Add basic devlink support
[4] net: marvell: prestera: Add ethtool interface support
[5] net: marvell: prestera: Add Switchdev driver implementation

PATCH v4:
1) Use prestera_ prefix in netdev_ops variable.

2) Kconfig: use 'default PRESTERA' build type for CONFIG_PRESTERA_PCI to be
synced by default with prestera core module.

3) Use memcpy_xxio helpers in prestera_pci.c for IO buffer copying.

4) Generate fw image path via snprintf() instead of macroses.

5) Use pcim_ helpers in prestera_pci.c which simplified the
probe/remove logic.

6) Removed not needed initializations of variables which are used in
readl_poll_xxx() helpers.

7) Fixed few grammar mistakes in patch[2] description.

8) Export only prestera_ethtool_ops struct instead of each
ethtool handler.

9) Add check for prestera_dev_check() in switchdev event handling to
make sure there is no wrong topology.

Patches updated:
[1] net: marvell: prestera: Add driver for Prestera family ASIC devices
[2] net: marvell: prestera: Add PCI interface support
[4] net: marvell: prestera: Add ethtool interface support
[5] net: marvell: prestera: Add Switchdev driver implementation

PATCH v3:
1) Simplify __be32 type casting in prestera_dsa.c

2) Added per-patch changelog under "---" line.

PATCH v2:
1) Use devlink_port_type_clear()

2) Add _MS prefix to timeout defines.

3) Remove not-needed packed attribute from the firmware ipc structs,
also the firmware image needs to be uploaded too (will do it soon).

4) Introduce prestera_hw_switch_fini(), to be mirrored with init and
do simple validation if the event handlers are unregistered.

5) Use kfree_rcu() for event handler unregistering.

6) Get rid of rcu-list usage when dealing with ports, not needed for
now.

7) Little spelling corrections in the error/info messages.

8) Make pci probe & remove logic mirrored.

9) Get rid of ETH_FCS_LEN in headroom setting, not needed.

PATCH:
1) Fixed W=1 warnings

2) Renamed PCI driver name to be more generic "Prestera DX" because
there will be more devices supported.

3) Changed firmware image dir path: marvell/ -> mrvl/prestera/
to be aligned with location in linux-firmware.git (if such
will be accepted).

RFC v3:
1) Fix prestera prefix in prestera_rxtx.c

2) Protect concurrent access from multiple ports on multiple CPU system
on tx path by spinlock in prestera_rxtx.c

3) Try to get base mac address from device-tree, otherwise use a random generated one.

4) Move ethtool interface support into separate prestera_ethtool.c file.

5) Add basic devlink support and get rid of physical port naming ops.

6) Add STP support in Switchdev driver.

7) Removed MODULE_AUTHOR

8) Renamed prestera.c -> prestera_main.c, and kernel module to
prestera.ko

RFC v2:
1) Use "pestera_" prefix in struct's and functions instead of mvsw_pr_

2) Original series split into additional patches for Switchdev ethtool support.

3) Use major and minor firmware version numbers in the firmware image filename.

4) Removed not needed prints.

5) Use iopoll API for waiting on register's value in prestera_pci.c

6) Use standart approach for describing PCI ID matching section instead of using
custom wrappers in prestera_pci.c

7) Add RX/TX support in prestera_rxtx.c.

8) Rewritten prestera_switchdev.c with following changes:
- handle netdev events from prestera.c

- use struct prestera_bridge for bridge objects, and get rid of
struct prestera_bridge_device which may confuse.

- use refcount_t

9) Get rid of macro usage for sending fw requests in prestera_hw.c

10) Add base_mac setting as module parameter. base_mac is required for
generation default port's mac.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>

show more ...


# 34dd1710 16-Sep-2020 Vadym Kochan <vadym.kochan@plvision.eu>

net: marvell: prestera: Add basic devlink support

Add very basic support for devlink interface:

- driver name
- fw version
- devlink ports

Signed-off-by: Vadym Kochan <vadym.kochan@plv

net: marvell: prestera: Add basic devlink support

Add very basic support for devlink interface:

- driver name
- fw version
- devlink ports

Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
Signed-off-by: David S. Miller <davem@davemloft.net>

show more ...


# 4c2703df 16-Sep-2020 Vadym Kochan <vadym.kochan@plvision.eu>

net: marvell: prestera: Add PCI interface support

Add PCI interface driver for Prestera Switch ASICs family devices, which
provides:

- Firmware loading mechanism
- Requests & events handlin

net: marvell: prestera: Add PCI interface support

Add PCI interface driver for Prestera Switch ASICs family devices, which
provides:

- Firmware loading mechanism
- Requests & events handling to/from the firmware
- Access to the firmware on the bus level

The firmware has to be loaded each time the device is reset. The driver
is loading it from:

/lib/firmware/mrvl/prestera/mvsw_prestera_fw-v{MAJOR}.{MINOR}.img

The full firmware image version is located within the internal header
and consists of 3 numbers - MAJOR.MINOR.PATCH. Additionally, driver has
hard-coded minimum supported firmware version which it can work with:

MAJOR - reflects the support on ABI level between driver and loaded
firmware, this number should be the same for driver and loaded
firmware.

MINOR - this is the minimum supported version between driver and the
firmware.

PATCH - indicates only fixes, firmware ABI is not changed.

Firmware image file name contains only MAJOR and MINOR numbers to make
driver be compatible with any PATCH version.

Co-developed-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
Signed-off-by: David S. Miller <davem@davemloft.net>

show more ...


# 501ef306 16-Sep-2020 Vadym Kochan <vadym.kochan@plvision.eu>

net: marvell: prestera: Add driver for Prestera family ASIC devices

Marvell Prestera 98DX326x integrates up to 24 ports of 1GbE with 8
ports of 10GbE uplinks or 2 ports of 40Gbps stacking for a larg

net: marvell: prestera: Add driver for Prestera family ASIC devices

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. This is required by the firmware.

Co-developed-by: Andrii Savka <andrii.savka@plvision.eu>
Signed-off-by: Andrii Savka <andrii.savka@plvision.eu>
Co-developed-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Co-developed-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Co-developed-by: Serhiy Pshyk <serhiy.pshyk@plvision.eu>
Signed-off-by: Serhiy Pshyk <serhiy.pshyk@plvision.eu>
Co-developed-by: Taras Chornyi <taras.chornyi@plvision.eu>
Signed-off-by: Taras Chornyi <taras.chornyi@plvision.eu>
Co-developed-by: Volodymyr Mytnyk <volodymyr.mytnyk@plvision.eu>
Signed-off-by: Volodymyr Mytnyk <volodymyr.mytnyk@plvision.eu>
Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
Signed-off-by: David S. Miller <davem@davemloft.net>

show more ...


123