Merge branch 'net-aquantia-ptp-followup-fixes'
Igor Russkikh says: ==================== net: aquantia: ptp followup fixes Here are two sparse warnings, third patch is a fix for scaled_ppm_to_ppb missing. Eventually I reworked this to exclude ptp module from build. Please consider it instead of this patch: https://patchwork.ozlabs.org/patch/1184171/ ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
64fe8e9769
@ -24,10 +24,11 @@ atlantic-objs := aq_main.o \
|
||||
aq_ethtool.o \
|
||||
aq_drvinfo.o \
|
||||
aq_filters.o \
|
||||
aq_ptp.o \
|
||||
aq_phy.o \
|
||||
hw_atl/hw_atl_a0.o \
|
||||
hw_atl/hw_atl_b0.o \
|
||||
hw_atl/hw_atl_utils.o \
|
||||
hw_atl/hw_atl_utils_fw2x.o \
|
||||
hw_atl/hw_atl_llh.o
|
||||
|
||||
atlantic-$(CONFIG_PTP_1588_CLOCK) += aq_ptp.o
|
@ -947,7 +947,7 @@ int aq_ptp_ring_alloc(struct aq_nic_s *aq_nic)
|
||||
{
|
||||
struct aq_ptp_s *aq_ptp = aq_nic->aq_ptp;
|
||||
unsigned int tx_ring_idx, rx_ring_idx;
|
||||
struct aq_ring_s *hwts = 0;
|
||||
struct aq_ring_s *hwts;
|
||||
u32 tx_tc_mode, rx_tc_mode;
|
||||
struct aq_ring_s *ring;
|
||||
int err;
|
||||
|
@ -11,6 +11,8 @@
|
||||
#include <linux/net_tstamp.h>
|
||||
#include <linux/version.h>
|
||||
|
||||
#if IS_REACHABLE(CONFIG_PTP_1588_CLOCK)
|
||||
|
||||
/* Common functions */
|
||||
int aq_ptp_init(struct aq_nic_s *aq_nic, unsigned int idx_vec);
|
||||
|
||||
@ -54,4 +56,86 @@ struct ptp_clock *aq_ptp_get_ptp_clock(struct aq_ptp_s *aq_ptp);
|
||||
|
||||
int aq_ptp_link_change(struct aq_nic_s *aq_nic);
|
||||
|
||||
#else
|
||||
|
||||
static inline int aq_ptp_init(struct aq_nic_s *aq_nic, unsigned int idx_vec)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void aq_ptp_unregister(struct aq_nic_s *aq_nic) {}
|
||||
|
||||
static inline void aq_ptp_free(struct aq_nic_s *aq_nic)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int aq_ptp_irq_alloc(struct aq_nic_s *aq_nic)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void aq_ptp_irq_free(struct aq_nic_s *aq_nic)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int aq_ptp_ring_alloc(struct aq_nic_s *aq_nic)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void aq_ptp_ring_free(struct aq_nic_s *aq_nic) {}
|
||||
|
||||
static inline int aq_ptp_ring_init(struct aq_nic_s *aq_nic)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int aq_ptp_ring_start(struct aq_nic_s *aq_nic)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void aq_ptp_ring_stop(struct aq_nic_s *aq_nic) {}
|
||||
static inline void aq_ptp_ring_deinit(struct aq_nic_s *aq_nic) {}
|
||||
static inline void aq_ptp_service_task(struct aq_nic_s *aq_nic) {}
|
||||
static inline void aq_ptp_tm_offset_set(struct aq_nic_s *aq_nic,
|
||||
unsigned int mbps) {}
|
||||
static inline void aq_ptp_clock_init(struct aq_nic_s *aq_nic) {}
|
||||
static inline int aq_ptp_xmit(struct aq_nic_s *aq_nic, struct sk_buff *skb)
|
||||
{
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
static inline void aq_ptp_tx_hwtstamp(struct aq_nic_s *aq_nic, u64 timestamp) {}
|
||||
static inline void aq_ptp_hwtstamp_config_get(struct aq_ptp_s *aq_ptp,
|
||||
struct hwtstamp_config *config) {}
|
||||
static inline int aq_ptp_hwtstamp_config_set(struct aq_ptp_s *aq_ptp,
|
||||
struct hwtstamp_config *config)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline bool aq_ptp_ring(struct aq_nic_s *aq_nic, struct aq_ring_s *ring)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline u16 aq_ptp_extract_ts(struct aq_nic_s *aq_nic,
|
||||
struct sk_buff *skb, u8 *p,
|
||||
unsigned int len)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline struct ptp_clock *aq_ptp_get_ptp_clock(struct aq_ptp_s *aq_ptp)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline int aq_ptp_link_change(struct aq_nic_s *aq_nic)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* AQ_PTP_H */
|
||||
|
@ -1236,9 +1236,9 @@ static u16 hw_atl_b0_rx_extract_ts(struct aq_hw_s *self, u8 *p,
|
||||
{
|
||||
unsigned int offset = 14;
|
||||
struct ethhdr *eth;
|
||||
u64 sec;
|
||||
__be64 sec;
|
||||
__be32 ns;
|
||||
u8 *ptr;
|
||||
u32 ns;
|
||||
|
||||
if (len <= offset || !timestamp)
|
||||
return 0;
|
||||
@ -1256,9 +1256,8 @@ static u16 hw_atl_b0_rx_extract_ts(struct aq_hw_s *self, u8 *p,
|
||||
ptr += sizeof(sec);
|
||||
memcpy(&ns, ptr, sizeof(ns));
|
||||
|
||||
sec = be64_to_cpu(sec) & 0xffffffffffffllu;
|
||||
ns = be32_to_cpu(ns);
|
||||
*timestamp = sec * NSEC_PER_SEC + ns + self->ptp_clk_offset;
|
||||
*timestamp = (be64_to_cpu(sec) & 0xffffffffffffllu) * NSEC_PER_SEC +
|
||||
be32_to_cpu(ns) + self->ptp_clk_offset;
|
||||
|
||||
eth = (struct ethhdr *)p;
|
||||
|
||||
|
@ -41,7 +41,7 @@ struct __packed hw_atl_rxd_wb_s {
|
||||
u16 status;
|
||||
u16 pkt_len;
|
||||
u16 next_desc_ptr;
|
||||
u16 vlan;
|
||||
__le16 vlan;
|
||||
};
|
||||
|
||||
/* Hardware rx HW TIMESTAMP writeback */
|
||||
|
Loading…
x
Reference in New Issue
Block a user