mirror of https://gitee.com/openkylin/linux.git
Merge branch 'net-atlantic-various-non-functional-changes'
Igor Russkikh says: ==================== net: atlantic: various non-functional changes This patchset contains several non-functional changes, which were made in out of tree driver over the time. Mostly typos, checkpatch findings and comment fixes. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
b08866f42a
|
@ -124,21 +124,21 @@ static const char aq_macsec_stat_names[][ETH_GSTRING_LEN] = {
|
|||
"MACSec OutUnctrlHitDropRedir",
|
||||
};
|
||||
|
||||
static const char *aq_macsec_txsc_stat_names[] = {
|
||||
static const char * const aq_macsec_txsc_stat_names[] = {
|
||||
"MACSecTXSC%d ProtectedPkts",
|
||||
"MACSecTXSC%d EncryptedPkts",
|
||||
"MACSecTXSC%d ProtectedOctets",
|
||||
"MACSecTXSC%d EncryptedOctets",
|
||||
};
|
||||
|
||||
static const char *aq_macsec_txsa_stat_names[] = {
|
||||
static const char * const aq_macsec_txsa_stat_names[] = {
|
||||
"MACSecTXSC%dSA%d HitDropRedirect",
|
||||
"MACSecTXSC%dSA%d Protected2Pkts",
|
||||
"MACSecTXSC%dSA%d ProtectedPkts",
|
||||
"MACSecTXSC%dSA%d EncryptedPkts",
|
||||
};
|
||||
|
||||
static const char *aq_macsec_rxsa_stat_names[] = {
|
||||
static const char * const aq_macsec_rxsa_stat_names[] = {
|
||||
"MACSecRXSC%dSA%d UntaggedHitPkts",
|
||||
"MACSecRXSC%dSA%d CtrlHitDrpRedir",
|
||||
"MACSecRXSC%dSA%d NotUsingSa",
|
||||
|
@ -607,7 +607,9 @@ static int aq_ethtool_get_ts_info(struct net_device *ndev,
|
|||
BIT(HWTSTAMP_FILTER_PTP_V2_L2_EVENT) |
|
||||
BIT(HWTSTAMP_FILTER_PTP_V2_EVENT);
|
||||
|
||||
#if IS_REACHABLE(CONFIG_PTP_1588_CLOCK)
|
||||
info->phc_index = ptp_clock_index(aq_ptp_get_ptp_clock(aq_nic->aq_ptp));
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -716,13 +718,12 @@ static void aq_ethtool_get_pauseparam(struct net_device *ndev,
|
|||
struct ethtool_pauseparam *pause)
|
||||
{
|
||||
struct aq_nic_s *aq_nic = netdev_priv(ndev);
|
||||
u32 fc = aq_nic->aq_nic_cfg.fc.req;
|
||||
int fc = aq_nic->aq_nic_cfg.fc.req;
|
||||
|
||||
pause->autoneg = 0;
|
||||
|
||||
pause->rx_pause = !!(fc & AQ_NIC_FC_RX);
|
||||
pause->tx_pause = !!(fc & AQ_NIC_FC_TX);
|
||||
|
||||
}
|
||||
|
||||
static int aq_ethtool_set_pauseparam(struct net_device *ndev,
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* aQuantia Corporation Network Driver
|
||||
* Copyright (C) 2014-2019 aQuantia Corporation. All rights reserved
|
||||
/* Atlantic Network Driver
|
||||
*
|
||||
* Copyright (C) 2014-2019 aQuantia Corporation
|
||||
* Copyright (C) 2019-2020 Marvell International Ltd.
|
||||
*/
|
||||
|
||||
/* File aq_main.c: Main file for aQuantia Linux driver. */
|
||||
|
@ -98,6 +99,7 @@ static int aq_ndev_start_xmit(struct sk_buff *skb, struct net_device *ndev)
|
|||
{
|
||||
struct aq_nic_s *aq_nic = netdev_priv(ndev);
|
||||
|
||||
#if IS_REACHABLE(CONFIG_PTP_1588_CLOCK)
|
||||
if (unlikely(aq_utils_obj_test(&aq_nic->flags, AQ_NIC_PTP_DPATH_UP))) {
|
||||
/* Hardware adds the Timestamp for PTPv2 802.AS1
|
||||
* and PTPv2 IPv4 UDP.
|
||||
|
@ -114,6 +116,7 @@ static int aq_ndev_start_xmit(struct sk_buff *skb, struct net_device *ndev)
|
|||
unlikely(eth_hdr(skb)->h_proto == htons(ETH_P_1588)))
|
||||
return aq_ptp_xmit(aq_nic, skb);
|
||||
}
|
||||
#endif
|
||||
|
||||
skb_tx_timestamp(skb);
|
||||
return aq_nic_xmit(aq_nic, skb);
|
||||
|
@ -222,6 +225,7 @@ static void aq_ndev_set_multicast_settings(struct net_device *ndev)
|
|||
(void)aq_nic_set_multicast_list(aq_nic, ndev);
|
||||
}
|
||||
|
||||
#if IS_REACHABLE(CONFIG_PTP_1588_CLOCK)
|
||||
static int aq_ndev_config_hwtstamp(struct aq_nic_s *aq_nic,
|
||||
struct hwtstamp_config *config)
|
||||
{
|
||||
|
@ -256,26 +260,31 @@ static int aq_ndev_config_hwtstamp(struct aq_nic_s *aq_nic,
|
|||
|
||||
return aq_ptp_hwtstamp_config_set(aq_nic->aq_ptp, config);
|
||||
}
|
||||
#endif
|
||||
|
||||
static int aq_ndev_hwtstamp_set(struct aq_nic_s *aq_nic, struct ifreq *ifr)
|
||||
{
|
||||
struct hwtstamp_config config;
|
||||
#if IS_REACHABLE(CONFIG_PTP_1588_CLOCK)
|
||||
int ret_val;
|
||||
#endif
|
||||
|
||||
if (!aq_nic->aq_ptp)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
if (copy_from_user(&config, ifr->ifr_data, sizeof(config)))
|
||||
return -EFAULT;
|
||||
|
||||
#if IS_REACHABLE(CONFIG_PTP_1588_CLOCK)
|
||||
ret_val = aq_ndev_config_hwtstamp(aq_nic, &config);
|
||||
if (ret_val)
|
||||
return ret_val;
|
||||
#endif
|
||||
|
||||
return copy_to_user(ifr->ifr_data, &config, sizeof(config)) ?
|
||||
-EFAULT : 0;
|
||||
}
|
||||
|
||||
#if IS_REACHABLE(CONFIG_PTP_1588_CLOCK)
|
||||
static int aq_ndev_hwtstamp_get(struct aq_nic_s *aq_nic, struct ifreq *ifr)
|
||||
{
|
||||
struct hwtstamp_config config;
|
||||
|
@ -287,6 +296,7 @@ static int aq_ndev_hwtstamp_get(struct aq_nic_s *aq_nic, struct ifreq *ifr)
|
|||
return copy_to_user(ifr->ifr_data, &config, sizeof(config)) ?
|
||||
-EFAULT : 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int aq_ndev_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
|
||||
{
|
||||
|
@ -296,8 +306,10 @@ static int aq_ndev_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
|
|||
case SIOCSHWTSTAMP:
|
||||
return aq_ndev_hwtstamp_set(aq_nic, ifr);
|
||||
|
||||
#if IS_REACHABLE(CONFIG_PTP_1588_CLOCK)
|
||||
case SIOCGHWTSTAMP:
|
||||
return aq_ndev_hwtstamp_get(aq_nic, ifr);
|
||||
#endif
|
||||
}
|
||||
|
||||
return -EOPNOTSUPP;
|
||||
|
|
|
@ -1188,7 +1188,7 @@ int aq_nic_set_loopback(struct aq_nic_s *self)
|
|||
|
||||
if (!self->aq_hw_ops->hw_set_loopback ||
|
||||
!self->aq_fw_ops->set_phyloopback)
|
||||
return -ENOTSUPP;
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
mutex_lock(&self->fwreq_mutex);
|
||||
self->aq_hw_ops->hw_set_loopback(self->aq_hw,
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* aQuantia Corporation Network Driver
|
||||
* Copyright (C) 2014-2019 aQuantia Corporation. All rights reserved
|
||||
/* Atlantic Network Driver
|
||||
*
|
||||
* Copyright (C) 2014-2019 aQuantia Corporation
|
||||
* Copyright (C) 2019-2020 Marvell International Ltd.
|
||||
*/
|
||||
|
||||
/* File aq_nic.h: Declaration of common code for NIC. */
|
||||
|
@ -111,7 +112,7 @@ struct aq_hw_rx_fltrs_s {
|
|||
u16 active_filters;
|
||||
struct aq_hw_rx_fl2 fl2;
|
||||
struct aq_hw_rx_fl3l4 fl3l4;
|
||||
/*filter ether type */
|
||||
/* filter ether type */
|
||||
u8 fet_reserved_count;
|
||||
};
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* aQuantia Corporation Network Driver
|
||||
* Copyright (C) 2014-2019 aQuantia Corporation. All rights reserved
|
||||
/* Atlantic Network Driver
|
||||
*
|
||||
* Copyright (C) 2014-2019 aQuantia Corporation
|
||||
* Copyright (C) 2019-2020 Marvell International Ltd.
|
||||
*/
|
||||
|
||||
/* File aq_pci_func.c: Definition of PCI functions. */
|
||||
|
@ -114,7 +115,7 @@ static int aq_pci_probe_get_hw_by_id(struct pci_dev *pdev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
int aq_pci_func_init(struct pci_dev *pdev)
|
||||
static int aq_pci_func_init(struct pci_dev *pdev)
|
||||
{
|
||||
int err;
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* aQuantia Corporation Network Driver
|
||||
* Copyright (C) 2014-2017 aQuantia Corporation. All rights reserved
|
||||
/* Atlantic Network Driver
|
||||
*
|
||||
* Copyright (C) 2014-2019 aQuantia Corporation
|
||||
* Copyright (C) 2019-2020 Marvell International Ltd.
|
||||
*/
|
||||
|
||||
/* File aq_pci_func.h: Declaration of PCI functions. */
|
||||
|
@ -19,7 +20,6 @@ struct aq_board_revision_s {
|
|||
const struct aq_hw_caps_s *caps;
|
||||
};
|
||||
|
||||
int aq_pci_func_init(struct pci_dev *pdev);
|
||||
int aq_pci_func_alloc_irq(struct aq_nic_s *self, unsigned int i,
|
||||
char *name, irq_handler_t irq_handler,
|
||||
void *irq_arg, cpumask_t *affinity_mask);
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/* Aquantia Corporation Network Driver
|
||||
* Copyright (C) 2014-2019 Aquantia Corporation. All rights reserved
|
||||
/* Atlantic Network Driver
|
||||
*
|
||||
* Copyright (C) 2014-2019 aQuantia Corporation
|
||||
* Copyright (C) 2019-2020 Marvell International Ltd.
|
||||
*/
|
||||
|
||||
/* File aq_ptp.c:
|
||||
|
@ -18,6 +20,8 @@
|
|||
#include "aq_phy.h"
|
||||
#include "aq_filters.h"
|
||||
|
||||
#if IS_REACHABLE(CONFIG_PTP_1588_CLOCK)
|
||||
|
||||
#define AQ_PTP_TX_TIMEOUT (HZ * 10)
|
||||
|
||||
#define POLL_SYNC_TIMER_MS 15
|
||||
|
@ -1389,3 +1393,4 @@ static void aq_ptp_poll_sync_work_cb(struct work_struct *w)
|
|||
schedule_delayed_work(&aq_ptp->poll_sync, timeout);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* aQuantia Corporation Network Driver
|
||||
* Copyright (C) 2014-2019 aQuantia Corporation. All rights reserved
|
||||
/* Atlantic Network Driver
|
||||
*
|
||||
* Copyright (C) 2014-2019 aQuantia Corporation
|
||||
* Copyright (C) 2019-2020 Marvell International Ltd.
|
||||
*/
|
||||
|
||||
/* File aq_ring.c: Definition of functions for Rx/Tx rings. */
|
||||
|
@ -279,7 +280,7 @@ bool aq_ring_tx_clean(struct aq_ring_s *self)
|
|||
}
|
||||
|
||||
if (unlikely(buff->is_eop)) {
|
||||
++self->stats.rx.packets;
|
||||
++self->stats.tx.packets;
|
||||
self->stats.tx.bytes += buff->skb->len;
|
||||
|
||||
dev_kfree_skb_any(buff->skb);
|
||||
|
@ -489,6 +490,7 @@ int aq_ring_rx_clean(struct aq_ring_s *self,
|
|||
|
||||
void aq_ring_hwts_rx_clean(struct aq_ring_s *self, struct aq_nic_s *aq_nic)
|
||||
{
|
||||
#if IS_REACHABLE(CONFIG_PTP_1588_CLOCK)
|
||||
while (self->sw_head != self->hw_head) {
|
||||
u64 ns;
|
||||
|
||||
|
@ -500,6 +502,7 @@ void aq_ring_hwts_rx_clean(struct aq_ring_s *self, struct aq_nic_s *aq_nic)
|
|||
|
||||
self->sw_head = aq_ring_next_dx(self, self->sw_head);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
int aq_ring_rx_fill(struct aq_ring_s *self)
|
||||
|
|
|
@ -217,7 +217,7 @@ static int hw_atl_utils_soft_reset_rbl(struct aq_hw_s *self)
|
|||
|
||||
if (rbl_status == 0xF1A7) {
|
||||
aq_pr_err("No FW detected. Dynamic FW load not implemented\n");
|
||||
return -ENOTSUPP;
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
for (k = 0; k < 1000; k++) {
|
||||
|
|
|
@ -16,15 +16,29 @@
|
|||
#define AQ_A2_FW_READ_TRY_MAX 1000
|
||||
|
||||
#define hw_atl2_shared_buffer_write(HW, ITEM, VARIABLE) \
|
||||
{\
|
||||
BUILD_BUG_ON_MSG((offsetof(struct fw_interface_in, ITEM) % \
|
||||
sizeof(u32)) != 0,\
|
||||
"Unaligned write " # ITEM);\
|
||||
BUILD_BUG_ON_MSG((sizeof(VARIABLE) % sizeof(u32)) != 0,\
|
||||
"Unaligned write length " # ITEM);\
|
||||
hw_atl2_mif_shared_buf_write(HW,\
|
||||
(offsetof(struct fw_interface_in, ITEM) / sizeof(u32)),\
|
||||
(u32 *)&(VARIABLE), sizeof(VARIABLE) / sizeof(u32))
|
||||
(u32 *)&(VARIABLE), sizeof(VARIABLE) / sizeof(u32));\
|
||||
}
|
||||
|
||||
#define hw_atl2_shared_buffer_get(HW, ITEM, VARIABLE) \
|
||||
{\
|
||||
BUILD_BUG_ON_MSG((offsetof(struct fw_interface_in, ITEM) % \
|
||||
sizeof(u32)) != 0,\
|
||||
"Unaligned get " # ITEM);\
|
||||
BUILD_BUG_ON_MSG((sizeof(VARIABLE) % sizeof(u32)) != 0,\
|
||||
"Unaligned get length " # ITEM);\
|
||||
hw_atl2_mif_shared_buf_get(HW, \
|
||||
(offsetof(struct fw_interface_in, ITEM) / sizeof(u32)),\
|
||||
(u32 *)&(VARIABLE), \
|
||||
sizeof(VARIABLE) / sizeof(u32))
|
||||
sizeof(VARIABLE) / sizeof(u32));\
|
||||
}
|
||||
|
||||
/* This should never be used on non atomic fields,
|
||||
* treat any > u32 read as non atomic.
|
||||
|
@ -33,7 +47,9 @@
|
|||
{\
|
||||
BUILD_BUG_ON_MSG((offsetof(struct fw_interface_out, ITEM) % \
|
||||
sizeof(u32)) != 0,\
|
||||
"Non aligned read " # ITEM);\
|
||||
"Unaligned read " # ITEM);\
|
||||
BUILD_BUG_ON_MSG((sizeof(VARIABLE) % sizeof(u32)) != 0,\
|
||||
"Unaligned read length " # ITEM);\
|
||||
BUILD_BUG_ON_MSG(sizeof(VARIABLE) > sizeof(u32),\
|
||||
"Non atomic read " # ITEM);\
|
||||
hw_atl2_mif_shared_buf_read(HW, \
|
||||
|
@ -42,10 +58,18 @@
|
|||
}
|
||||
|
||||
#define hw_atl2_shared_buffer_read_safe(HW, ITEM, DATA) \
|
||||
({\
|
||||
BUILD_BUG_ON_MSG((offsetof(struct fw_interface_out, ITEM) % \
|
||||
sizeof(u32)) != 0,\
|
||||
"Unaligned read_safe " # ITEM);\
|
||||
BUILD_BUG_ON_MSG((sizeof(((struct fw_interface_out *)0)->ITEM) % \
|
||||
sizeof(u32)) != 0,\
|
||||
"Unaligned read_safe length " # ITEM);\
|
||||
hw_atl2_shared_buffer_read_block((HW), \
|
||||
(offsetof(struct fw_interface_out, ITEM) / sizeof(u32)),\
|
||||
sizeof(((struct fw_interface_out *)0)->ITEM) / sizeof(u32),\
|
||||
(DATA))
|
||||
(DATA));\
|
||||
})
|
||||
|
||||
static int hw_atl2_shared_buffer_read_block(struct aq_hw_s *self,
|
||||
u32 offset, u32 dwords, void *data)
|
||||
|
|
Loading…
Reference in New Issue