]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/s390/cio/qdio.h
[S390] qdio: tasklet termination in case of module unload
[linux-2.6-omap-h63xx.git] / drivers / s390 / cio / qdio.h
index c60f2566d28c1701299aa998a281d9dee742af24..57807f5ffe840889f631e0ac24e6cdfcd2c53d72 100644 (file)
@@ -14,7 +14,6 @@
 #include "chsc.h"
 
 #define QDIO_BUSY_BIT_PATIENCE         100     /* 100 microseconds */
-#define QDIO_BUSY_BIT_GIVE_UP          2000000 /* 2 seconds = eternity */
 #define QDIO_INPUT_THRESHOLD           500     /* 500 microseconds */
 
 /*
@@ -187,6 +186,9 @@ struct qdio_input_q {
        /* input buffer acknowledgement flag */
        int polling;
 
+       /* first ACK'ed buffer */
+       int ack_start;
+
        /* how much sbals are acknowledged with qebsm */
        int ack_count;
 
@@ -195,12 +197,6 @@ struct qdio_input_q {
 };
 
 struct qdio_output_q {
-       /* failed siga-w attempts*/
-       atomic_t busy_siga_counter;
-
-       /* start time of busy condition */
-       u64 timestamp;
-
        /* PCIs are enabled for the queue */
        int pci_out_enabled;
 
@@ -241,7 +237,7 @@ struct qdio_q {
        int first_to_check;
 
        /* first_to_check of the last time */
-       int last_move_ftc;
+       int last_move;
 
        /* beginning position for calling the program */
        int first_to_kick;
@@ -251,6 +247,7 @@ struct qdio_q {
 
        struct qdio_irq *irq_ptr;
        struct tasklet_struct tasklet;
+       spinlock_t lock;
 
        /* error condition during a data transfer */
        unsigned int qdio_error;