diff options
| author | David S. Miller <davem@davemloft.net> | 2018-11-24 20:01:43 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2018-11-24 20:01:43 -0500 |
| commit | b1bf78bfb2e4c9ffa03ccdbc60d89a2f7c5fd82c (patch) | |
| tree | fcd93c3f54a72ca6a6ee97f015efebe6d80a3271 /include/linux | |
| parent | aea0a897af9e44c258e8ab9296fad417f1bc063a (diff) | |
| parent | d146194f31c96f9b260c5a1cf1592d2e7f82a2e2 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/net_dim.h | 2 | ||||
| -rw-r--r-- | include/linux/skbuff.h | 18 | ||||
| -rw-r--r-- | include/linux/tcp.h | 1 | ||||
| -rw-r--r-- | include/linux/usb/quirks.h | 3 |
4 files changed, 23 insertions, 1 deletions
diff --git a/include/linux/net_dim.h b/include/linux/net_dim.h index c79e859408e6..fd458389f7d1 100644 --- a/include/linux/net_dim.h +++ b/include/linux/net_dim.h | |||
| @@ -406,6 +406,8 @@ static inline void net_dim(struct net_dim *dim, | |||
| 406 | } | 406 | } |
| 407 | /* fall through */ | 407 | /* fall through */ |
| 408 | case NET_DIM_START_MEASURE: | 408 | case NET_DIM_START_MEASURE: |
| 409 | net_dim_sample(end_sample.event_ctr, end_sample.pkt_ctr, end_sample.byte_ctr, | ||
| 410 | &dim->start_sample); | ||
| 409 | dim->state = NET_DIM_MEASURE_IN_PROGRESS; | 411 | dim->state = NET_DIM_MEASURE_IN_PROGRESS; |
| 410 | break; | 412 | break; |
| 411 | case NET_DIM_APPLY_NEW_PROFILE: | 413 | case NET_DIM_APPLY_NEW_PROFILE: |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index a2e8297a5b00..f17a7452ac7b 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
| @@ -1334,6 +1334,22 @@ static inline void skb_zcopy_set(struct sk_buff *skb, struct ubuf_info *uarg) | |||
| 1334 | } | 1334 | } |
| 1335 | } | 1335 | } |
| 1336 | 1336 | ||
| 1337 | static inline void skb_zcopy_set_nouarg(struct sk_buff *skb, void *val) | ||
| 1338 | { | ||
| 1339 | skb_shinfo(skb)->destructor_arg = (void *)((uintptr_t) val | 0x1UL); | ||
| 1340 | skb_shinfo(skb)->tx_flags |= SKBTX_ZEROCOPY_FRAG; | ||
| 1341 | } | ||
| 1342 | |||
| 1343 | static inline bool skb_zcopy_is_nouarg(struct sk_buff *skb) | ||
| 1344 | { | ||
| 1345 | return (uintptr_t) skb_shinfo(skb)->destructor_arg & 0x1UL; | ||
| 1346 | } | ||
| 1347 | |||
| 1348 | static inline void *skb_zcopy_get_nouarg(struct sk_buff *skb) | ||
| 1349 | { | ||
| 1350 | return (void *)((uintptr_t) skb_shinfo(skb)->destructor_arg & ~0x1UL); | ||
| 1351 | } | ||
| 1352 | |||
| 1337 | /* Release a reference on a zerocopy structure */ | 1353 | /* Release a reference on a zerocopy structure */ |
| 1338 | static inline void skb_zcopy_clear(struct sk_buff *skb, bool zerocopy) | 1354 | static inline void skb_zcopy_clear(struct sk_buff *skb, bool zerocopy) |
| 1339 | { | 1355 | { |
| @@ -1343,7 +1359,7 @@ static inline void skb_zcopy_clear(struct sk_buff *skb, bool zerocopy) | |||
| 1343 | if (uarg->callback == sock_zerocopy_callback) { | 1359 | if (uarg->callback == sock_zerocopy_callback) { |
| 1344 | uarg->zerocopy = uarg->zerocopy && zerocopy; | 1360 | uarg->zerocopy = uarg->zerocopy && zerocopy; |
| 1345 | sock_zerocopy_put(uarg); | 1361 | sock_zerocopy_put(uarg); |
| 1346 | } else { | 1362 | } else if (!skb_zcopy_is_nouarg(skb)) { |
| 1347 | uarg->callback(uarg, zerocopy); | 1363 | uarg->callback(uarg, zerocopy); |
| 1348 | } | 1364 | } |
| 1349 | 1365 | ||
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index 8ed77bb4ed86..a9b0280687d5 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h | |||
| @@ -196,6 +196,7 @@ struct tcp_sock { | |||
| 196 | u32 rcv_tstamp; /* timestamp of last received ACK (for keepalives) */ | 196 | u32 rcv_tstamp; /* timestamp of last received ACK (for keepalives) */ |
| 197 | u32 lsndtime; /* timestamp of last sent data packet (for restart window) */ | 197 | u32 lsndtime; /* timestamp of last sent data packet (for restart window) */ |
| 198 | u32 last_oow_ack_time; /* timestamp of last out-of-window ACK */ | 198 | u32 last_oow_ack_time; /* timestamp of last out-of-window ACK */ |
| 199 | u32 compressed_ack_rcv_nxt; | ||
| 199 | 200 | ||
| 200 | u32 tsoffset; /* timestamp offset */ | 201 | u32 tsoffset; /* timestamp offset */ |
| 201 | 202 | ||
diff --git a/include/linux/usb/quirks.h b/include/linux/usb/quirks.h index b7a99ce56bc9..a1be64c9940f 100644 --- a/include/linux/usb/quirks.h +++ b/include/linux/usb/quirks.h | |||
| @@ -66,4 +66,7 @@ | |||
| 66 | /* Device needs a pause after every control message. */ | 66 | /* Device needs a pause after every control message. */ |
| 67 | #define USB_QUIRK_DELAY_CTRL_MSG BIT(13) | 67 | #define USB_QUIRK_DELAY_CTRL_MSG BIT(13) |
| 68 | 68 | ||
| 69 | /* Hub needs extra delay after resetting its port. */ | ||
| 70 | #define USB_QUIRK_HUB_SLOW_RESET BIT(14) | ||
| 71 | |||
| 69 | #endif /* __LINUX_USB_QUIRKS_H */ | 72 | #endif /* __LINUX_USB_QUIRKS_H */ |
