Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue
Tony Nguyen says: ==================== 100GbE Intel Wired LAN Driver Updates 2022-03-16 This series contains updates to gtp and ice driver. Wojciech fixes smatch reported inconsistent indenting for gtp and ice. Yang Yingliang fixes a couple of return value checks for GNSS to IS_PTR instead of null. Jacob adds support for trace events on tx timestamps. * '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue: ice: add trace events for tx timestamps ice: fix return value check in ice_gnss.c ice: Fix inconsistent indenting in ice_switch gtp: Fix inconsistent indenting ==================== Link: https://lore.kernel.org/r/20220316204024.3201500-1-anthony.l.nguyen@intel.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
commit
fad6c1f1a1
@ -125,7 +125,7 @@ static struct gnss_serial *ice_gnss_struct_init(struct ice_pf *pf)
|
||||
* writes.
|
||||
*/
|
||||
kworker = kthread_create_worker(0, "ice-gnss-%s", dev_name(dev));
|
||||
if (!kworker) {
|
||||
if (IS_ERR(kworker)) {
|
||||
kfree(gnss);
|
||||
return NULL;
|
||||
}
|
||||
@ -253,7 +253,7 @@ static struct tty_driver *ice_gnss_create_tty_driver(struct ice_pf *pf)
|
||||
int err;
|
||||
|
||||
tty_driver = tty_alloc_driver(1, TTY_DRIVER_REAL_RAW);
|
||||
if (!tty_driver) {
|
||||
if (IS_ERR(tty_driver)) {
|
||||
dev_err(ice_pf_to_dev(pf), "Failed to allocate memory for GNSS TTY\n");
|
||||
return NULL;
|
||||
}
|
||||
|
@ -3,6 +3,7 @@
|
||||
|
||||
#include "ice.h"
|
||||
#include "ice_lib.h"
|
||||
#include "ice_trace.h"
|
||||
|
||||
#define E810_OUT_PROP_DELAY_NS 1
|
||||
|
||||
@ -2063,11 +2064,15 @@ static void ice_ptp_tx_tstamp_work(struct kthread_work *work)
|
||||
struct sk_buff *skb;
|
||||
int err;
|
||||
|
||||
ice_trace(tx_tstamp_fw_req, tx->tstamps[idx].skb, idx);
|
||||
|
||||
err = ice_read_phy_tstamp(hw, tx->quad, phy_idx,
|
||||
&raw_tstamp);
|
||||
if (err)
|
||||
continue;
|
||||
|
||||
ice_trace(tx_tstamp_fw_done, tx->tstamps[idx].skb, idx);
|
||||
|
||||
/* Check if the timestamp is invalid or stale */
|
||||
if (!(raw_tstamp & ICE_PTP_TS_VALID) ||
|
||||
raw_tstamp == tx->tstamps[idx].cached_tstamp)
|
||||
@ -2093,6 +2098,8 @@ static void ice_ptp_tx_tstamp_work(struct kthread_work *work)
|
||||
tstamp = ice_ptp_extend_40b_ts(pf, raw_tstamp);
|
||||
shhwtstamps.hwtstamp = ns_to_ktime(tstamp);
|
||||
|
||||
ice_trace(tx_tstamp_complete, skb, idx);
|
||||
|
||||
skb_tstamp_tx(skb, &shhwtstamps);
|
||||
dev_kfree_skb_any(skb);
|
||||
}
|
||||
@ -2131,6 +2138,7 @@ s8 ice_ptp_request_ts(struct ice_ptp_tx *tx, struct sk_buff *skb)
|
||||
tx->tstamps[idx].start = jiffies;
|
||||
tx->tstamps[idx].skb = skb_get(skb);
|
||||
skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS;
|
||||
ice_trace(tx_tstamp_request, skb, idx);
|
||||
}
|
||||
|
||||
spin_unlock(&tx->lock);
|
||||
|
@ -5565,7 +5565,7 @@ ice_find_dummy_packet(struct ice_adv_lkup_elem *lkups, u16 lkups_cnt,
|
||||
*offsets = dummy_ipv6_gtpu_ipv4_udp_packet_offsets;
|
||||
} else {
|
||||
*pkt = dummy_ipv6_gtpu_ipv4_tcp_packet;
|
||||
*pkt_len = sizeof(dummy_ipv6_gtpu_ipv4_tcp_packet);
|
||||
*pkt_len = sizeof(dummy_ipv6_gtpu_ipv4_tcp_packet);
|
||||
*offsets = dummy_ipv6_gtpu_ipv4_tcp_packet_offsets;
|
||||
}
|
||||
}
|
||||
|
@ -216,6 +216,30 @@ DEFINE_EVENT(ice_xmit_template, name, \
|
||||
DEFINE_XMIT_TEMPLATE_OP_EVENT(ice_xmit_frame_ring);
|
||||
DEFINE_XMIT_TEMPLATE_OP_EVENT(ice_xmit_frame_ring_drop);
|
||||
|
||||
DECLARE_EVENT_CLASS(ice_tx_tstamp_template,
|
||||
TP_PROTO(struct sk_buff *skb, int idx),
|
||||
|
||||
TP_ARGS(skb, idx),
|
||||
|
||||
TP_STRUCT__entry(__field(void *, skb)
|
||||
__field(int, idx)),
|
||||
|
||||
TP_fast_assign(__entry->skb = skb;
|
||||
__entry->idx = idx;),
|
||||
|
||||
TP_printk("skb %pK idx %d",
|
||||
__entry->skb, __entry->idx)
|
||||
);
|
||||
#define DEFINE_TX_TSTAMP_OP_EVENT(name) \
|
||||
DEFINE_EVENT(ice_tx_tstamp_template, name, \
|
||||
TP_PROTO(struct sk_buff *skb, int idx), \
|
||||
TP_ARGS(skb, idx))
|
||||
|
||||
DEFINE_TX_TSTAMP_OP_EVENT(ice_tx_tstamp_request);
|
||||
DEFINE_TX_TSTAMP_OP_EVENT(ice_tx_tstamp_fw_req);
|
||||
DEFINE_TX_TSTAMP_OP_EVENT(ice_tx_tstamp_fw_done);
|
||||
DEFINE_TX_TSTAMP_OP_EVENT(ice_tx_tstamp_complete);
|
||||
|
||||
/* End tracepoints */
|
||||
|
||||
#endif /* _ICE_TRACE_H_ */
|
||||
|
@ -1793,7 +1793,7 @@ static int gtp_genl_send_echo_req(struct sk_buff *skb, struct genl_info *info)
|
||||
if (IS_ERR(rt)) {
|
||||
netdev_dbg(gtp->dev, "no route for echo request to %pI4\n",
|
||||
&dst_ip);
|
||||
kfree_skb(skb_to_send);
|
||||
kfree_skb(skb_to_send);
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user