]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/s390/net/qeth_core.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
[linux-2.6-omap-h63xx.git] / drivers / s390 / net / qeth_core.h
index 66f4f12503c9d6287b8a45ebfe82d32208258391..80971c21ea1accdc2fda1617f00ef3e53f3fd2ec 100644 (file)
@@ -72,22 +72,7 @@ struct qeth_dbf_info {
        debug_sprintf_event(qeth_dbf[QETH_DBF_MSG].id, level, text)
 
 #define QETH_DBF_TEXT_(name, level, text...) \
-       do { \
-               if (qeth_dbf_passes(qeth_dbf[QETH_DBF_##name].id, level)) { \
-                       char *dbf_txt_buf = \
-                               get_cpu_var(QETH_DBF_TXT_BUF); \
-                       sprintf(dbf_txt_buf, text); \
-                       debug_text_event(qeth_dbf[QETH_DBF_##name].id, \
-                                       level, dbf_txt_buf); \
-                       put_cpu_var(QETH_DBF_TXT_BUF); \
-               } \
-       } while (0)
-
-/* Allow to sort out low debug levels early to avoid wasted sprints */
-static inline int qeth_dbf_passes(debug_info_t *dbf_grp, int level)
-{
-       return (level <= dbf_grp->level);
-}
+       qeth_dbf_longtext(QETH_DBF_##name, level, text)
 
 /**
  * some more debug stuff
@@ -254,11 +239,6 @@ static inline int qeth_is_ipa_enabled(struct qeth_ipa_info *ipa,
 /*not used unless the microcode gets patched*/
 #define QETH_PCI_TIMER_VALUE(card) 3
 
-#define QETH_MIN_INPUT_THRESHOLD 1
-#define QETH_MAX_INPUT_THRESHOLD 500
-#define QETH_MIN_OUTPUT_THRESHOLD 1
-#define QETH_MAX_OUTPUT_THRESHOLD 300
-
 /* priority queing */
 #define QETH_PRIOQ_DEFAULT QETH_NO_PRIO_QUEUEING
 #define QETH_DEFAULT_QUEUE    2
@@ -439,6 +419,7 @@ struct qeth_qdio_out_buffer {
        int next_element_to_fill;
        struct sk_buff_head skb_list;
        struct list_head ctx_list;
+       int is_header[16];
 };
 
 struct qeth_card;
@@ -773,27 +754,6 @@ static inline int qeth_get_micros(void)
        return (int) (get_clock() >> 12);
 }
 
-static inline void *qeth_push_skb(struct qeth_card *card, struct sk_buff *skb,
-               int size)
-{
-       void *hdr;
-
-       hdr = (void *) skb_push(skb, size);
-       /*
-        * sanity check, the Linux memory allocation scheme should
-        * never present us cases like this one (the qdio header size plus
-        * the first 40 bytes of the paket cross a 4k boundary)
-        */
-       if ((((unsigned long) hdr) & (~(PAGE_SIZE - 1))) !=
-           (((unsigned long) hdr + size +
-           QETH_IP_HEADER_SIZE) & (~(PAGE_SIZE - 1)))) {
-               PRINT_ERR("Misaligned packet on interface %s. Discarded.",
-                       QETH_CARD_IFNAME(card));
-               return NULL;
-       }
-       return hdr;
-}
-
 static inline int qeth_get_ip_version(struct sk_buff *skb)
 {
        switch (skb->protocol) {
@@ -806,6 +766,12 @@ static inline int qeth_get_ip_version(struct sk_buff *skb)
        }
 }
 
+static inline void qeth_put_buffer_pool_entry(struct qeth_card *card,
+               struct qeth_buffer_pool_entry *entry)
+{
+       list_add_tail(&entry->list, &card->qdio.in_buf_pool.entry_list);
+}
+
 struct qeth_eddp_context;
 extern struct ccwgroup_driver qeth_l2_ccwgroup_driver;
 extern struct ccwgroup_driver qeth_l3_ccwgroup_driver;
@@ -820,7 +786,7 @@ void qeth_core_remove_osn_attributes(struct device *);
 
 /* exports for qeth discipline device drivers */
 extern struct qeth_card_list_struct qeth_core_card_list;
-
+extern struct kmem_cache *qeth_core_header_cache;
 extern struct qeth_dbf_info qeth_dbf[QETH_DBF_INFOS];
 
 void qeth_set_allowed_threads(struct qeth_card *, unsigned long , int);
@@ -841,19 +807,14 @@ int qeth_send_ipa_cmd(struct qeth_card *, struct qeth_cmd_buffer *,
 struct qeth_cmd_buffer *qeth_get_ipacmd_buffer(struct qeth_card *,
                        enum qeth_ipa_cmds, enum qeth_prot_versions);
 int qeth_query_setadapterparms(struct qeth_card *);
-int qeth_check_qdio_errors(struct qdio_buffer *, unsigned int,
-                      unsigned int, const char *);
-void qeth_put_buffer_pool_entry(struct qeth_card *,
-                          struct qeth_buffer_pool_entry *);
+int qeth_check_qdio_errors(struct qdio_buffer *, unsigned int, const char *);
 void qeth_queue_input_buffer(struct qeth_card *, int);
 struct sk_buff *qeth_core_get_next_skb(struct qeth_card *,
                struct qdio_buffer *, struct qdio_buffer_element **, int *,
                struct qeth_hdr **);
 void qeth_schedule_recovery(struct qeth_card *);
 void qeth_qdio_output_handler(struct ccw_device *, unsigned int,
-                       unsigned int, unsigned int,
-                       unsigned int, int, int,
-                       unsigned long);
+                       int, int, int, unsigned long);
 void qeth_clear_ipacmd_list(struct qeth_card *);
 int qeth_qdio_clear_card(struct qeth_card *, int);
 void qeth_clear_working_pool_list(struct qeth_card *);
@@ -880,12 +841,10 @@ int qeth_send_control_data(struct qeth_card *, int, struct qeth_cmd_buffer *,
        void *reply_param);
 int qeth_get_cast_type(struct qeth_card *, struct sk_buff *);
 int qeth_get_priority_queue(struct qeth_card *, struct sk_buff *, int, int);
-struct sk_buff *qeth_prepare_skb(struct qeth_card *, struct sk_buff *,
-                struct qeth_hdr **);
 int qeth_get_elements_no(struct qeth_card *, void *, struct sk_buff *, int);
 int qeth_do_send_packet_fast(struct qeth_card *, struct qeth_qdio_out_q *,
                        struct sk_buff *, struct qeth_hdr *, int,
-                       struct qeth_eddp_context *);
+                       struct qeth_eddp_context *, int, int);
 int qeth_do_send_packet(struct qeth_card *, struct qeth_qdio_out_q *,
                    struct sk_buff *, struct qeth_hdr *,
                    int, struct qeth_eddp_context *);
@@ -894,6 +853,8 @@ void qeth_core_get_ethtool_stats(struct net_device *,
                                struct ethtool_stats *, u64 *);
 void qeth_core_get_strings(struct net_device *, u32, u8 *);
 void qeth_core_get_drvinfo(struct net_device *, struct ethtool_drvinfo *);
+void qeth_dbf_longtext(enum qeth_dbf_names dbf_nix, int level, char *text, ...);
+int qeth_core_ethtool_get_settings(struct net_device *, struct ethtool_cmd *);
 
 /* exports for OSN */
 int qeth_osn_assist(struct net_device *, void *, int);