]> Pileus Git - ~andy/linux/blobdiff - drivers/s390/net/qeth.h
Merge branches 'release', 'bugzilla-6217', 'bugzilla-6629', 'bugzilla-6933', 'bugzill...
[~andy/linux] / drivers / s390 / net / qeth.h
index b34eb82edd983190e0f727b2f4cc04dee6065b16..8c6b72d05b1d63e9655bf19223704182f74a18f7 100644 (file)
@@ -211,6 +211,10 @@ struct qeth_perf_stats {
        /* initial values when measuring starts */
        unsigned long initial_rx_packets;
        unsigned long initial_tx_packets;
+       /* inbound scatter gather data */
+       unsigned int sg_skbs_rx;
+       unsigned int sg_frags_rx;
+       unsigned int sg_alloc_page_rx;
 };
 
 /* Routing stuff */
@@ -341,6 +345,9 @@ qeth_is_ipa_enabled(struct qeth_ipa_info *ipa, enum qeth_ipa_funcs func)
 
 #define QETH_IP_HEADER_SIZE 40
 
+/* large receive scatter gather copy break */
+#define QETH_RX_SG_CB (PAGE_SIZE >> 1)
+
 struct qeth_hdr_layer3 {
        __u8  id;
        __u8  flags;
@@ -771,6 +778,7 @@ struct qeth_card_options {
        int layer2;
        enum qeth_large_send_types large_send;
        int performance_stats;
+       int rx_sg_cb;
 };
 
 /*
@@ -825,9 +833,9 @@ struct qeth_card {
        struct qeth_qdio_info qdio;
        struct qeth_perf_stats perf_stats;
        int use_hard_stop;
-       int (*orig_hard_header)(struct sk_buff *,struct net_device *,
-                               unsigned short,void *,void *,unsigned);
+       const struct header_ops *orig_header_ops;
        struct qeth_osn_info osn_info;
+       atomic_t force_alloc_skb;
 };
 
 struct qeth_card_list_struct {
@@ -1169,9 +1177,9 @@ qeth_ipaddr_to_string(enum qeth_prot_versions proto, const __u8 *addr,
                      char *buf)
 {
        if (proto == QETH_PROT_IPV4)
-               return qeth_ipaddr4_to_string(addr, buf);
+               qeth_ipaddr4_to_string(addr, buf);
        else if (proto == QETH_PROT_IPV6)
-               return qeth_ipaddr6_to_string(addr, buf);
+               qeth_ipaddr6_to_string(addr, buf);
 }
 
 static inline int