- 23 5月, 2020 7 次提交
-
-
由 Mark Starovoytov 提交于
This patch adds initial support for mqprio rate limiters (max_rate only). Atlantic HW supports Rate-Shaping for time-sensitive traffic at per Traffic Class (TC) granularity. Target rate is defined by: * nominal link rate (always 10G); * rate factor (ratio between nominal rate and max allowed). Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Mark Starovoytov 提交于
This patch updates TCVEC2RING to accept nic_cfg, which is needed to be able to use it from hw_atl. The name is updated to reflect the changes. Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Mark Starovoytov 提交于
This patch adds support for per-TC queue statistics. By default (single TC), the output is the same as it used to be, e.g.: Queue[0] InPackets: 2 Queue[0] OutPackets: 8 Queue[0] Restarts: 0 Queue[0] InJumboPackets: 0 Queue[0] InLroPackets: 0 Queue[0] InErrors: 0 If several TCs are enabled, then each queue statistics line is prefixed with TC number, e.g.: TC0 Queue[0] InPackets: 6 TC0 Queue[0] OutPackets: 11 Queue numbering is end-to-end, so: TC1 Queue[4] InPackets: 0 TC1 Queue[4] OutPackets: 22 Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Dmitry Bezrukov 提交于
This patch adds multi-TC support. PTP is automatically disabled when the user enables more than 2 TCs, otherwise traffic on TC2 won't quite work, because it's reserved for PTP. Signed-off-by: NDmitry Bezrukov <dbezrukov@marvell.com> Co-developed-by: NDmitry Bogdanov <dbogdanov@marvell.com> Signed-off-by: NDmitry Bogdanov <dbogdanov@marvell.com> Co-developed-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Dmitry Bezrukov 提交于
This patch contains the following changes: * add cfg->is_ptp (used for PTP enable/disable switch, which is described in more details below); * add cfg->tc_mode (A1 supports 2 HW modes only); * setup queue to TC mapping based on TC mode on A2; * remove hw_tx_tc_mode_get / hw_rx_tc_mode_get hw_ops. In the first generation of our hardware (A1), a whole traffic class is consumed for PTP handling in FW (FW uses it to send the ptp data and to send back timestamps). The 'is_ptp' flag introduced in this patch will be used in to automatically disable PTP when a conflicting configuration is detected, e.g. when multiple TCs are enabled. Signed-off-by: NDmitry Bezrukov <dbezrukov@marvell.com> Co-developed-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Dmitry Bezrukov 提交于
This patch moves the PTP TC initialization into a separate function. Signed-off-by: NDmitry Bezrukov <dbezrukov@marvell.com> Co-developed-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Dmitry Bezrukov 提交于
This patch contains the following changes: * access cfg via aq_nic_get_cfg() in aq_nic_start() and aq_nic_map_skb(); * call aq_nic_get_dev() just once in aq_nic_map_skb(); * move ring allocation/deallocation out of aq_vec_alloc()/aq_vec_free(); * add the missing aq_nic_deinit() in atl_resume_common(); * rename 'tcs' field to 'tcs_max' in aq_hw_caps_s to differentiate it from the 'tcs' field in aq_nic_cfg_s, which is used for the current number of TCs; * update _TC_MAX defines to the actual number of supported TCs; * move tx_tc_mode register defines slightly higher (just to keep the order of definitions); * separate variables for TX/RX buff_size in hw_atl*_hw_qos_set(); * use AQ_HW_*_TC instead of hardcoded magic numbers; * actually use the 'ret' value in aq_mdo_add_secy(); Signed-off-by: NDmitry Bezrukov <dbezrukov@marvell.com> Co-developed-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 10 5月, 2020 7 次提交
-
-
由 Mark Starovoytov 提交于
This patch unifies invalid MAC address handling with other drivers. Basically we've switched to using standard APIs (is_valid_ether_addr / eth_hw_addr_random) where possible. It's worth noting that some of engineering Aquantia NICs might be provisioned with a partially zeroed out MAC, which is still invalid, but not caught by is_valid_ether_addr(), so we've added a special handling for this case. Also adding a warning in case of fallback to random MAC, because this shouldn't be needed on production NICs, they should all be provisioned with unique MAC. NB! Default systemd/udevd configuration is 'MACAddressPolicy=persistent'. This causes MAC address to be persisted across driver reloads and reboots. We had to change it to 'none' for verification purposes. Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NJakub Kicinski <kuba@kernel.org>
-
由 Mark Starovoytov 提交于
This patch removes unnecessary check for boot code survivability before reset request. Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NJakub Kicinski <kuba@kernel.org>
-
由 Mark Starovoytov 提交于
No need to call hw_atl_b0_hw_rss_set from hw_atl2_hw_rss_set Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NJakub Kicinski <kuba@kernel.org>
-
由 Mark Starovoytov 提交于
TPO2 was introduced in B0 only, no reason to check for it in A0 code. Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NJakub Kicinski <kuba@kernel.org>
-
由 Mark Starovoytov 提交于
This patch changes the constant name to a more logical "2G5" (for 2.5G speeds). Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NJakub Kicinski <kuba@kernel.org>
-
由 Mark Starovoytov 提交于
This patch fixes a couple of minor merge issues found in macsec_api.c after corresponding patch series has been applied. These are not real bugs, so pushing to net-next. Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NJakub Kicinski <kuba@kernel.org>
-
由 Mark Starovoytov 提交于
This patches fixes the review comment made by Jakub Kicinski in the "net: atlantic: A2 support" patch series. Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NJakub Kicinski <kuba@kernel.org>
-
- 02 5月, 2020 17 次提交
-
-
由 Igor Russkikh 提交于
Chip generations are mostly compatible register-wise, but there are still some differences. Therefore we've made some of first generation (A1) code non-static to re-use it where possible. Some pieces are A2 specific, in which case we redefine/extend such APIs. Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Igor Russkikh 提交于
This patch adds basic A2 HW initialization / deinitialization. Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Co-developed-by: NDmitry Bogdanov <dbogdanov@marvell.com> Signed-off-by: NDmitry Bogdanov <dbogdanov@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Dmitry Bogdanov 提交于
This patch adds common functions (mostly FW-related), which are needed for basic A2 HW initialization / deinitialization. Signed-off-by: NDmitry Bogdanov <dbogdanov@marvell.com> Co-developed-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Dmitry Bogdanov 提交于
This patch adds A2 register definitions for basic A2 HW initialization / deinitialization. Signed-off-by: NDmitry Bogdanov <dbogdanov@marvell.com> Co-developed-by: NEgor Pomozov <epomozov@marvell.com> Signed-off-by: NEgor Pomozov <epomozov@marvell.com> Co-developed-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Co-developed-by: NNikita Danilov <ndanilov@marvell.com> Signed-off-by: NNikita Danilov <ndanilov@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Igor Russkikh 提交于
This patch adds RPF-related hw_ops, which are needed for basic functionality. Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Co-developed-by: NDmitry Bogdanov <dbogdanov@marvell.com> Signed-off-by: NDmitry Bogdanov <dbogdanov@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Igor Russkikh 提交于
RPF is one of the modules which has been significantly changed/extended on A2. This patch adds the necessary A2 register definitions for RPF, which are used in follow-up patches. Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Co-developed-by: NDmitry Bogdanov <dbogdanov@marvell.com> Signed-off-by: NDmitry Bogdanov <dbogdanov@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Igor Russkikh 提交于
This patch adds basic hw_ops layout for A2. Actual implementation will be added in the follow-up patches. Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Dmitry Bogdanov 提交于
This patch adds the minimum set of FW ops for A2. Signed-off-by: NDmitry Bogdanov <dbogdanov@marvell.com> Co-developed-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Dmitry Bogdanov 提交于
This patch adds the bare minimum of A2 HW bindings required to get fw_ops working. Signed-off-by: NDmitry Bogdanov <dbogdanov@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Dmitry Bogdanov 提交于
This patch adds the driver<->firmware interface for A2 Signed-off-by: NDmitry Bogdanov <dbogdanov@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Mark Starovoytov 提交于
IS_CHIP feature will be used to differentiate between A1 and A2, where necessary. Thus, move it to aq_hw.h, rename it and make it accept the 'hw' pointer. Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Mark Starovoytov 提交于
This patch fixes potential crash in case if hw_get_regs is NULL. Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Nikita Danilov 提交于
hw_get_fw_version() never fails, so this patch simplifies its usage by utilizing return value instead of output argument. Signed-off-by: NNikita Danilov <ndanilov@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Mark Starovoytov 提交于
A2 will have a different implementation of these 2 APIs, so this patch moves them to hw_ops in preparation for A2. Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Co-developed-by: NDmitry Bezrukov <dbezrukov@marvell.com> Signed-off-by: NDmitry Bezrukov <dbezrukov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Igor Russkikh 提交于
This patch adds defines for 10M and EEE 100M link modes, which are supported by A2. 10M support is added in this patch series. EEE is out of scope, but will be added in a follow-up series. Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Igor Russkikh 提交于
Adding device ids for the new generation of atlantic nic. Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Igor Russkikh 提交于
Aquantia is now part of Marvell. Thus, update the driver description. Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 28 4月, 2020 1 次提交
-
-
由 Richard Clark 提交于
The Aquantia AQC100 controller enables a SFP+ port, so the driver should configure the media type as '_TYPE_FIBRE' instead of '_TYPE_TP'. Signed-off-by: NRichard Clark <richard.xnu.clark@gmail.com> Cc: Igor Russkikh <irusskikh@marvell.com> Cc: "David S. Miller" <davem@davemloft.net> Acked-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 25 4月, 2020 1 次提交
-
-
由 Zheng Bin 提交于
Fixes coccicheck warning: drivers/net/ethernet/aquantia/atlantic/aq_macsec.c:404:2-3: Unneeded semicolon drivers/net/ethernet/aquantia/atlantic/aq_macsec.c:420:2-3: Unneeded semicolon Reported-by: NHulk Robot <hulkci@huawei.com> Signed-off-by: NZheng Bin <zhengbin13@huawei.com> Acked-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 02 4月, 2020 1 次提交
-
-
由 Colin Ian King 提交于
rec->llc is currently being assigned twice, once with the lower 8 bits from packed_record[8] and then re-assigned afterwards with data from packed_record[9]. This looks like a type, I believe the second assignment should be using the |= operator rather than a direct assignment. Addresses-Coverity: ("Unused value") Fixes: b8f8a0b7 ("net: atlantic: MACSec ingress offload HW bindings") Signed-off-by: NColin Ian King <colin.king@canonical.com> Acked-by: NIgor Russkikh <irusskikh@marell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 27 3月, 2020 6 次提交
-
-
由 Mark Starovoytov 提交于
This patch adds XPN handling. Our driver doesn't support XPN, but we should still update a couple of places in the code, because the size of 'next_pn' field has changed. Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Dmitry Bogdanov 提交于
This patch adds support for MACSec statistics on Atlantic network cards. Signed-off-by: NDmitry Bogdanov <dbogdanov@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Dmitry Bogdanov 提交于
This patch adds the Atlantic HW-specific bindings for MACSec statistics, e.g. register addresses / structs, helper function, etc, which will be used by actual callback implementations. Signed-off-by: NDmitry Bogdanov <dbogdanov@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Mark Starovoytov 提交于
This patch adds support for MACSec ingress HW offloading on Atlantic network cards. Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Mark Starovoytov 提交于
This patch adds the Atlantic HW-specific bindings for MACSec ingress, e.g. register addresses / structs, helper function, etc, which will be used by actual callback implementations. Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Dmitry Bogdanov 提交于
This patch adds support for MACSec egress HW offloading on Atlantic network cards. Signed-off-by: NDmitry Bogdanov <dbogdanov@marvell.com> Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: NIgor Russkikh <irusskikh@marvell.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-