]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/s390/cio/qdio.h
ccwgroup: Unify parsing for group attribute.
[linux-2.6-omap-h63xx.git] / drivers / s390 / cio / qdio.h
index 2895392eaae4392a5d9be226ca18c1a267367d50..c3df6b2c38b76c2d2c99a3bb8528c0598cd44ecf 100644 (file)
                                            of the queue to 0 */
 
 #define QDIO_ESTABLISH_TIMEOUT (1*HZ)
-#define QDIO_ACTIVATE_TIMEOUT ((5*HZ)>>10)
 #define QDIO_CLEANUP_CLEAR_TIMEOUT (20*HZ)
 #define QDIO_CLEANUP_HALT_TIMEOUT (10*HZ)
+#define QDIO_FORCE_CHECK_TIMEOUT (10*HZ)
+#define QDIO_ACTIVATE_TIMEOUT (5) /* 5 ms */
 
 enum qdio_irq_states {
        QDIO_IRQ_STATE_INACTIVE,
@@ -405,6 +406,34 @@ do_clear_global_summary(void)
 #define CHSC_FLAG_SIGA_SYNC_DONE_ON_THININTS 0x08
 #define CHSC_FLAG_SIGA_SYNC_DONE_ON_OUTB_PCIS 0x04
 
+struct qdio_chsc_ssqd {
+       struct chsc_header request;
+       u16 reserved1:10;
+       u16 ssid:2;
+       u16 fmt:4;
+       u16 first_sch;
+       u16 reserved2;
+       u16 last_sch;
+       u32 reserved3;
+       struct chsc_header response;
+       u32 reserved4;
+       u8  flags;
+       u8  reserved5;
+       u16 sch;
+       u8  qfmt;
+       u8  parm;
+       u8  qdioac1;
+       u8  sch_class;
+       u8  pct;
+       u8  icnt;
+       u8  reserved7;
+       u8  ocnt;
+       u8  reserved8;
+       u8  mbccnt;
+       u16 qdioac2;
+       u64 sch_token;
+};
+
 struct qdio_perf_stats {
 #ifdef CONFIG_64BIT
        atomic64_t tl_runs;
@@ -511,8 +540,8 @@ struct qdio_q {
 
        void *irq_ptr;
 
-#ifdef QDIO_USE_TIMERS_FOR_POLLING
        struct timer_list timer;
+#ifdef QDIO_USE_TIMERS_FOR_POLLING
        atomic_t timer_already_set;
        spinlock_t timer_lock;
 #else /* QDIO_USE_TIMERS_FOR_POLLING */
@@ -558,6 +587,7 @@ struct qdio_q {
        } timing;
        atomic_t busy_siga_counter;
         unsigned int queue_type;
+       unsigned int is_pci_out;
 
        /* leave this member at the end. won't be cleared in qdio_fill_qs */
        struct slib *slib; /* a page is allocated under this pointer,