Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
qdio.h File Reference
#include <asm/page.h>
#include <asm/schid.h>
#include <asm/debug.h>
#include "chsc.h"

Go to the source code of this file.

Data Structures

struct  siga_flag
 
struct  chsc_ssqd_area
 
struct  scssc_area
 
struct  qdio_dev_perf_stat
 
struct  qdio_queue_perf_stat
 
struct  qdio_input_q
 
struct  qdio_output_q
 
struct  qdio_q
 
struct  qdio_irq
 

Macros

#define QDIO_BUSY_BIT_PATIENCE   (100 << 12) /* 100 microseconds */
 
#define QDIO_BUSY_BIT_RETRY_DELAY   10 /* 10 milliseconds */
 
#define QDIO_BUSY_BIT_RETRIES   1000 /* = 10s retry time */
 
#define QDIO_INPUT_THRESHOLD   (500 << 12) /* 500 microseconds */
 
#define QDIO_DOING_ESTABLISH   1
 
#define QDIO_DOING_ACTIVATE   2
 
#define QDIO_DOING_CLEANUP   3
 
#define SLSB_STATE_NOT_INIT   0x0
 
#define SLSB_STATE_EMPTY   0x1
 
#define SLSB_STATE_PRIMED   0x2
 
#define SLSB_STATE_PENDING   0x3
 
#define SLSB_STATE_HALTED   0xe
 
#define SLSB_STATE_ERROR   0xf
 
#define SLSB_TYPE_INPUT   0x0
 
#define SLSB_TYPE_OUTPUT   0x20
 
#define SLSB_OWNER_PROG   0x80
 
#define SLSB_OWNER_CU   0x40
 
#define SLSB_P_INPUT_NOT_INIT   (SLSB_OWNER_PROG | SLSB_TYPE_INPUT | SLSB_STATE_NOT_INIT) /* 0x80 */
 
#define SLSB_P_INPUT_ACK   (SLSB_OWNER_PROG | SLSB_TYPE_INPUT | SLSB_STATE_EMPTY) /* 0x81 */
 
#define SLSB_CU_INPUT_EMPTY   (SLSB_OWNER_CU | SLSB_TYPE_INPUT | SLSB_STATE_EMPTY) /* 0x41 */
 
#define SLSB_P_INPUT_PRIMED   (SLSB_OWNER_PROG | SLSB_TYPE_INPUT | SLSB_STATE_PRIMED) /* 0x82 */
 
#define SLSB_P_INPUT_HALTED   (SLSB_OWNER_PROG | SLSB_TYPE_INPUT | SLSB_STATE_HALTED) /* 0x8e */
 
#define SLSB_P_INPUT_ERROR   (SLSB_OWNER_PROG | SLSB_TYPE_INPUT | SLSB_STATE_ERROR) /* 0x8f */
 
#define SLSB_P_OUTPUT_NOT_INIT   (SLSB_OWNER_PROG | SLSB_TYPE_OUTPUT | SLSB_STATE_NOT_INIT) /* 0xa0 */
 
#define SLSB_P_OUTPUT_EMPTY   (SLSB_OWNER_PROG | SLSB_TYPE_OUTPUT | SLSB_STATE_EMPTY) /* 0xa1 */
 
#define SLSB_P_OUTPUT_PENDING   (SLSB_OWNER_PROG | SLSB_TYPE_OUTPUT | SLSB_STATE_PENDING) /* 0xa3 */
 
#define SLSB_CU_OUTPUT_PRIMED   (SLSB_OWNER_CU | SLSB_TYPE_OUTPUT | SLSB_STATE_PRIMED) /* 0x62 */
 
#define SLSB_P_OUTPUT_HALTED   (SLSB_OWNER_PROG | SLSB_TYPE_OUTPUT | SLSB_STATE_HALTED) /* 0xae */
 
#define SLSB_P_OUTPUT_ERROR   (SLSB_OWNER_PROG | SLSB_TYPE_OUTPUT | SLSB_STATE_ERROR) /* 0xaf */
 
#define SLSB_ERROR_DURING_LOOKUP   0xff
 
#define CIW_TYPE_EQUEUE   0x3 /* establish QDIO queues */
 
#define CIW_TYPE_AQUEUE   0x4 /* activate QDIO queues */
 
#define CHSC_FLAG_QDIO_CAPABILITY   0x80
 
#define CHSC_FLAG_VALIDITY   0x40
 
#define QDIO_SIGA_WRITE   0x00
 
#define QDIO_SIGA_READ   0x01
 
#define QDIO_SIGA_SYNC   0x02
 
#define QDIO_SIGA_WRITEQ   0x04
 
#define QDIO_SIGA_QEBSM_FLAG   0x80
 
#define queue_type(q)   q->irq_ptr->qib.qfmt
 
#define SCH_NO(q)   (q->irq_ptr->schid.sch_no)
 
#define is_thinint_irq(irq)
 
#define qperf(__qdev, __attr)   ((__qdev)->perf_stat.(__attr))
 
#define qperf_inc(__q, __attr)
 
#define pci_out_supported(q)   (q->irq_ptr->qib.ac & QIB_AC_OUTBOUND_PCI_SUPPORTED)
 
#define is_qebsm(q)   (q->irq_ptr->sch_token != 0)
 
#define need_siga_in(q)   (q->irq_ptr->siga_flag.input)
 
#define need_siga_out(q)   (q->irq_ptr->siga_flag.output)
 
#define need_siga_sync(q)   (unlikely(q->irq_ptr->siga_flag.sync))
 
#define need_siga_sync_after_ai(q)   (unlikely(q->irq_ptr->siga_flag.sync_after_ai))
 
#define need_siga_sync_out_after_pci(q)   (unlikely(q->irq_ptr->siga_flag.sync_out_after_pci))
 
#define for_each_input_queue(irq_ptr, q, i)
 
#define for_each_output_queue(irq_ptr, q, i)
 
#define prev_buf(bufnr)   ((bufnr + QDIO_MAX_BUFFERS_MASK) & QDIO_MAX_BUFFERS_MASK)
 
#define next_buf(bufnr)   ((bufnr + 1) & QDIO_MAX_BUFFERS_MASK)
 
#define add_buf(bufnr, inc)   ((bufnr + inc) & QDIO_MAX_BUFFERS_MASK)
 
#define sub_buf(bufnr, dec)   ((bufnr - dec) & QDIO_MAX_BUFFERS_MASK)
 
#define queue_irqs_enabled(q)   (test_bit(QDIO_QUEUE_IRQS_DISABLED, &q->u.in.queue_irq_state) == 0)
 
#define queue_irqs_disabled(q)   (test_bit(QDIO_QUEUE_IRQS_DISABLED, &q->u.in.queue_irq_state) != 0)
 

Enumerations

enum  qdio_irq_states {
  QDIO_IRQ_STATE_INACTIVE, QDIO_IRQ_STATE_ESTABLISHED, QDIO_IRQ_STATE_ACTIVE, QDIO_IRQ_STATE_STOPPED,
  QDIO_IRQ_STATE_CLEANUP, QDIO_IRQ_STATE_ERR, NR_QDIO_IRQ_STATES
}
 
enum  qdio_queue_irq_states { QDIO_QUEUE_IRQS_DISABLED }
 

Functions

struct siga_flag __attribute__ ((packed))
 
struct qdio_q __attribute__ ((aligned(256)))
 
void qdio_setup_thinint (struct qdio_irq *irq_ptr)
 
int qdio_establish_thinint (struct qdio_irq *irq_ptr)
 
void qdio_shutdown_thinint (struct qdio_irq *irq_ptr)
 
void tiqdio_add_input_queues (struct qdio_irq *irq_ptr)
 
void tiqdio_remove_input_queues (struct qdio_irq *irq_ptr)
 
void tiqdio_inbound_processing (unsigned long q)
 
int tiqdio_allocate_memory (void)
 
void tiqdio_free_memory (void)
 
int tiqdio_register_thinints (void)
 
void tiqdio_unregister_thinints (void)
 
void clear_nonshared_ind (struct qdio_irq *)
 
int test_nonshared_ind (struct qdio_irq *)
 
void qdio_inbound_processing (unsigned long data)
 
void qdio_outbound_processing (unsigned long data)
 
void qdio_outbound_timer (unsigned long data)
 
void qdio_int_handler (struct ccw_device *cdev, unsigned long intparm, struct irb *irb)
 
int qdio_allocate_qs (struct qdio_irq *irq_ptr, int nr_input_qs, int nr_output_qs)
 
void qdio_setup_ssqd_info (struct qdio_irq *irq_ptr)
 
int qdio_setup_get_ssqd (struct qdio_irq *irq_ptr, struct subchannel_id *schid, struct qdio_ssqd_desc *data)
 
int qdio_setup_irq (struct qdio_initialize *init_data)
 
void qdio_print_subchannel_info (struct qdio_irq *irq_ptr, struct ccw_device *cdev)
 
void qdio_release_memory (struct qdio_irq *irq_ptr)
 
int qdio_setup_create_sysfs (struct ccw_device *cdev)
 
void qdio_setup_destroy_sysfs (struct ccw_device *cdev)
 
int qdio_setup_init (void)
 
void qdio_setup_exit (void)
 
int qdio_enable_async_operation (struct qdio_output_q *q)
 
void qdio_disable_async_operation (struct qdio_output_q *q)
 
struct qaobqdio_allocate_aob (void)
 
int debug_get_buf_state (struct qdio_q *q, unsigned int bufnr, unsigned char *state)
 

Variables

enum qdio_irq_states __aligned
 
u8 input
 
u8 output
 
u8 sync
 
u8 sync_after_ai
 
u8 sync_out_after_pci
 
u8 __pad0__
 
struct chsc_header request
 
u8 ssid
 
u8 fmt
 
u16 first_sch
 
u16 __pad1__
 
u16 last_sch
 
u32 __pad2__
 
struct chsc_header response
 
u32 __pad3__
 
struct qdio_ssqd_desc qdio_ssqd
 
u16 operation_code
 
u64 summary_indicator_addr
 
u64 subchannel_indicator_addr
 
u32 ks
 
u32 kc
 
u32 isc
 
u32 word_with_d_bit
 
u32 __pad4__
 
struct subchannel_id schid
 
u32 reserved [1004]
 
u32 __pad5__
 
struct qdio_dev_perf_stat ____cacheline_aligned
 
struct slsb slsb
 
union {
   struct qdio_input_q   in
 
   struct qdio_output_q   out
 
u
 
int first_to_check
 
int last_move
 
int first_to_kick
 
atomic_t nr_buf_used
 
unsigned int qdio_error
 
u64 timestamp
 
struct tasklet_struct tasklet
 
struct qdio_queue_perf_stat q_stats
 
int nr
 
int mask
 
int is_input_q
 
struct list_head entry
 
qdio_handler_thandler
 
struct dentrydebugfs_q
 
struct qdio_irqirq_ptr
 
struct slsl
 
struct slibslib
 
struct qdio_irq __attribute__
 
u64 last_ai_time
 
. Returns a pointer

to the struct powerdomain if found, or NULL otherwise.

Macro Definition Documentation

#define add_buf (   bufnr,
  inc 
)    ((bufnr + inc) & QDIO_MAX_BUFFERS_MASK)

Definition at line 409 of file qdio.h.

#define CHSC_FLAG_QDIO_CAPABILITY   0x80

Definition at line 77 of file qdio.h.

#define CHSC_FLAG_VALIDITY   0x40

Definition at line 78 of file qdio.h.

#define CIW_TYPE_AQUEUE   0x4 /* activate QDIO queues */

Definition at line 74 of file qdio.h.

#define CIW_TYPE_EQUEUE   0x3 /* establish QDIO queues */

Definition at line 73 of file qdio.h.

#define for_each_input_queue (   irq_ptr,
  q,
  i 
)
Value:
for (i = 0, q = irq_ptr->input_qs[0]; \
i < irq_ptr->nr_input_qs; \
q = irq_ptr->input_qs[++i])

Definition at line 396 of file qdio.h.

#define for_each_output_queue (   irq_ptr,
  q,
  i 
)
Value:
for (i = 0, q = irq_ptr->output_qs[0]; \
i < irq_ptr->nr_output_qs; \
q = irq_ptr->output_qs[++i])

Definition at line 400 of file qdio.h.

#define is_qebsm (   q)    (q->irq_ptr->sch_token != 0)

Definition at line 386 of file qdio.h.

#define is_thinint_irq (   irq)
Value:
(irq->qib.qfmt == QDIO_IQDIO_QFMT || \
css_general_characteristics.aif_osa)

Definition at line 358 of file qdio.h.

#define need_siga_in (   q)    (q->irq_ptr->siga_flag.input)

Definition at line 388 of file qdio.h.

#define need_siga_out (   q)    (q->irq_ptr->siga_flag.output)

Definition at line 389 of file qdio.h.

#define need_siga_sync (   q)    (unlikely(q->irq_ptr->siga_flag.sync))

Definition at line 390 of file qdio.h.

#define need_siga_sync_after_ai (   q)    (unlikely(q->irq_ptr->siga_flag.sync_after_ai))

Definition at line 391 of file qdio.h.

#define need_siga_sync_out_after_pci (   q)    (unlikely(q->irq_ptr->siga_flag.sync_out_after_pci))

Definition at line 393 of file qdio.h.

#define next_buf (   bufnr)    ((bufnr + 1) & QDIO_MAX_BUFFERS_MASK)

Definition at line 407 of file qdio.h.

#define pci_out_supported (   q)    (q->irq_ptr->qib.ac & QIB_AC_OUTBOUND_PCI_SUPPORTED)

Definition at line 384 of file qdio.h.

#define prev_buf (   bufnr)    ((bufnr + QDIO_MAX_BUFFERS_MASK) & QDIO_MAX_BUFFERS_MASK)

Definition at line 405 of file qdio.h.

#define QDIO_BUSY_BIT_PATIENCE   (100 << 12) /* 100 microseconds */

Definition at line 14 of file qdio.h.

#define QDIO_BUSY_BIT_RETRIES   1000 /* = 10s retry time */

Definition at line 16 of file qdio.h.

#define QDIO_BUSY_BIT_RETRY_DELAY   10 /* 10 milliseconds */

Definition at line 15 of file qdio.h.

#define QDIO_DOING_ACTIVATE   2

Definition at line 31 of file qdio.h.

#define QDIO_DOING_CLEANUP   3

Definition at line 32 of file qdio.h.

#define QDIO_DOING_ESTABLISH   1

Definition at line 30 of file qdio.h.

#define QDIO_INPUT_THRESHOLD   (500 << 12) /* 500 microseconds */

Definition at line 17 of file qdio.h.

#define QDIO_SIGA_QEBSM_FLAG   0x80

Definition at line 85 of file qdio.h.

#define QDIO_SIGA_READ   0x01

Definition at line 82 of file qdio.h.

#define QDIO_SIGA_SYNC   0x02

Definition at line 83 of file qdio.h.

#define QDIO_SIGA_WRITE   0x00

Definition at line 81 of file qdio.h.

#define QDIO_SIGA_WRITEQ   0x04

Definition at line 84 of file qdio.h.

#define qperf (   __qdev,
  __attr 
)    ((__qdev)->perf_stat.(__attr))

Definition at line 362 of file qdio.h.

#define qperf_inc (   __q,
  __attr 
)
Value:
({ \
struct qdio_irq *qdev = (__q)->irq_ptr; \
if (qdev->perf_stat_enabled) \
(qdev->perf_stat.__attr)++; \
})

Definition at line 364 of file qdio.h.

#define queue_irqs_disabled (   q)    (test_bit(QDIO_QUEUE_IRQS_DISABLED, &q->u.in.queue_irq_state) != 0)

Definition at line 416 of file qdio.h.

#define queue_irqs_enabled (   q)    (test_bit(QDIO_QUEUE_IRQS_DISABLED, &q->u.in.queue_irq_state) == 0)

Definition at line 414 of file qdio.h.

#define queue_type (   q)    q->irq_ptr->qib.qfmt

Definition at line 355 of file qdio.h.

#define SCH_NO (   q)    (q->irq_ptr->schid.sch_no)

Definition at line 356 of file qdio.h.

#define SLSB_CU_INPUT_EMPTY   (SLSB_OWNER_CU | SLSB_TYPE_INPUT | SLSB_STATE_EMPTY) /* 0x41 */

Definition at line 49 of file qdio.h.

#define SLSB_CU_OUTPUT_PRIMED   (SLSB_OWNER_CU | SLSB_TYPE_OUTPUT | SLSB_STATE_PRIMED) /* 0x62 */

Definition at line 63 of file qdio.h.

#define SLSB_ERROR_DURING_LOOKUP   0xff

Definition at line 70 of file qdio.h.

#define SLSB_OWNER_CU   0x40

Definition at line 43 of file qdio.h.

#define SLSB_OWNER_PROG   0x80

Definition at line 42 of file qdio.h.

#define SLSB_P_INPUT_ACK   (SLSB_OWNER_PROG | SLSB_TYPE_INPUT | SLSB_STATE_EMPTY) /* 0x81 */

Definition at line 47 of file qdio.h.

#define SLSB_P_INPUT_ERROR   (SLSB_OWNER_PROG | SLSB_TYPE_INPUT | SLSB_STATE_ERROR) /* 0x8f */

Definition at line 55 of file qdio.h.

#define SLSB_P_INPUT_HALTED   (SLSB_OWNER_PROG | SLSB_TYPE_INPUT | SLSB_STATE_HALTED) /* 0x8e */

Definition at line 53 of file qdio.h.

#define SLSB_P_INPUT_NOT_INIT   (SLSB_OWNER_PROG | SLSB_TYPE_INPUT | SLSB_STATE_NOT_INIT) /* 0x80 */

Definition at line 45 of file qdio.h.

#define SLSB_P_INPUT_PRIMED   (SLSB_OWNER_PROG | SLSB_TYPE_INPUT | SLSB_STATE_PRIMED) /* 0x82 */

Definition at line 51 of file qdio.h.

#define SLSB_P_OUTPUT_EMPTY   (SLSB_OWNER_PROG | SLSB_TYPE_OUTPUT | SLSB_STATE_EMPTY) /* 0xa1 */

Definition at line 59 of file qdio.h.

#define SLSB_P_OUTPUT_ERROR   (SLSB_OWNER_PROG | SLSB_TYPE_OUTPUT | SLSB_STATE_ERROR) /* 0xaf */

Definition at line 67 of file qdio.h.

#define SLSB_P_OUTPUT_HALTED   (SLSB_OWNER_PROG | SLSB_TYPE_OUTPUT | SLSB_STATE_HALTED) /* 0xae */

Definition at line 65 of file qdio.h.

#define SLSB_P_OUTPUT_NOT_INIT   (SLSB_OWNER_PROG | SLSB_TYPE_OUTPUT | SLSB_STATE_NOT_INIT) /* 0xa0 */

Definition at line 57 of file qdio.h.

#define SLSB_P_OUTPUT_PENDING   (SLSB_OWNER_PROG | SLSB_TYPE_OUTPUT | SLSB_STATE_PENDING) /* 0xa3 */

Definition at line 61 of file qdio.h.

#define SLSB_STATE_EMPTY   0x1

Definition at line 35 of file qdio.h.

#define SLSB_STATE_ERROR   0xf

Definition at line 39 of file qdio.h.

#define SLSB_STATE_HALTED   0xe

Definition at line 38 of file qdio.h.

#define SLSB_STATE_NOT_INIT   0x0

Definition at line 34 of file qdio.h.

#define SLSB_STATE_PENDING   0x3

Definition at line 37 of file qdio.h.

#define SLSB_STATE_PRIMED   0x2

Definition at line 36 of file qdio.h.

#define SLSB_TYPE_INPUT   0x0

Definition at line 40 of file qdio.h.

#define SLSB_TYPE_OUTPUT   0x20

Definition at line 41 of file qdio.h.

#define sub_buf (   bufnr,
  dec 
)    ((bufnr - dec) & QDIO_MAX_BUFFERS_MASK)

Definition at line 411 of file qdio.h.

Enumeration Type Documentation

Enumerator:
QDIO_IRQ_STATE_INACTIVE 
QDIO_IRQ_STATE_ESTABLISHED 
QDIO_IRQ_STATE_ACTIVE 
QDIO_IRQ_STATE_STOPPED 
QDIO_IRQ_STATE_CLEANUP 
QDIO_IRQ_STATE_ERR 
NR_QDIO_IRQ_STATES 

Definition at line 19 of file qdio.h.

Enumerator:
QDIO_QUEUE_IRQS_DISABLED 

Definition at line 219 of file qdio.h.

Function Documentation

struct siga_flag __attribute__ ( (packed)  )
read

Definition at line 171 of file esd_usb2.c.

void clear_nonshared_ind ( struct qdio_irq )

Definition at line 114 of file qdio_thinint.c.

int debug_get_buf_state ( struct qdio_q q,
unsigned int  bufnr,
unsigned char state 
)

Definition at line 398 of file qdio_main.c.

struct qaob* qdio_allocate_aob ( void  )
read

Definition at line 23 of file qdio_setup.c.

int qdio_allocate_qs ( struct qdio_irq irq_ptr,
int  nr_input_qs,
int  nr_output_qs 
)

Definition at line 107 of file qdio_setup.c.

void qdio_disable_async_operation ( struct qdio_output_q q)

Definition at line 515 of file qdio_setup.c.

int qdio_enable_async_operation ( struct qdio_output_q q)

Definition at line 503 of file qdio_setup.c.

int qdio_establish_thinint ( struct qdio_irq irq_ptr)

Definition at line 289 of file qdio_thinint.c.

void qdio_inbound_processing ( unsigned long  data)

Definition at line 778 of file qdio_main.c.

void qdio_int_handler ( struct ccw_device cdev,
unsigned long  intparm,
struct irb irb 
)

Definition at line 1126 of file qdio_main.c.

void qdio_outbound_processing ( unsigned long  data)

Definition at line 946 of file qdio_main.c.

void qdio_outbound_timer ( unsigned long  data)

Definition at line 952 of file qdio_main.c.

void qdio_print_subchannel_info ( struct qdio_irq irq_ptr,
struct ccw_device cdev 
)

Definition at line 480 of file qdio_setup.c.

void qdio_release_memory ( struct qdio_irq irq_ptr)

Definition at line 316 of file qdio_setup.c.

int qdio_setup_create_sysfs ( struct ccw_device cdev)
void qdio_setup_destroy_sysfs ( struct ccw_device cdev)
void qdio_setup_exit ( void  )

Definition at line 555 of file qdio_setup.c.

int qdio_setup_get_ssqd ( struct qdio_irq irq_ptr,
struct subchannel_id schid,
struct qdio_ssqd_desc data 
)

Definition at line 251 of file qdio_setup.c.

int qdio_setup_init ( void  )

Definition at line 522 of file qdio_setup.c.

int qdio_setup_irq ( struct qdio_initialize init_data)

Definition at line 416 of file qdio_setup.c.

void qdio_setup_ssqd_info ( struct qdio_irq irq_ptr)

Definition at line 295 of file qdio_setup.c.

void qdio_setup_thinint ( struct qdio_irq irq_ptr)

Definition at line 296 of file qdio_thinint.c.

void qdio_shutdown_thinint ( struct qdio_irq irq_ptr)

Definition at line 304 of file qdio_thinint.c.

int test_nonshared_ind ( struct qdio_irq )

Definition at line 123 of file qdio_thinint.c.

void tiqdio_add_input_queues ( struct qdio_irq irq_ptr)

Definition at line 73 of file qdio_thinint.c.

int tiqdio_allocate_memory ( void  )

Definition at line 261 of file qdio_thinint.c.

void tiqdio_free_memory ( void  )

Definition at line 270 of file qdio_thinint.c.

void tiqdio_inbound_processing ( unsigned long  q)

Definition at line 1011 of file qdio_main.c.

int tiqdio_register_thinints ( void  )

Definition at line 275 of file qdio_thinint.c.

void tiqdio_remove_input_queues ( struct qdio_irq irq_ptr)

Definition at line 82 of file qdio_thinint.c.

void tiqdio_unregister_thinints ( void  )

Definition at line 314 of file qdio_thinint.c.

Variable Documentation

Definition at line 346 of file qdio.h.

enum qdio_irq_states __aligned
u16 __pad0__

Definition at line 147 of file qdio.h.

u32 __pad1__

Definition at line 161 of file qdio.h.

u32 __pad2__

Definition at line 163 of file qdio.h.

u32 __pad3__

Definition at line 165 of file qdio.h.

u32 __pad4__

Definition at line 188 of file qdio.h.

u32 __pad5__

Definition at line 192 of file qdio.h.

struct dentry* debugfs_q

Definition at line 363 of file qdio.h.

Definition at line 358 of file qdio.h.

u16 first_sch

Definition at line 160 of file qdio.h.

int first_to_check

Definition at line 326 of file qdio.h.

int first_to_kick

Definition at line 332 of file qdio.h.

u8 fmt

Definition at line 159 of file qdio.h.

qdio_handler_t* handler

Definition at line 361 of file qdio.h.

Definition at line 318 of file qdio.h.

u8 input

Definition at line 142 of file qdio.h.

struct qdio_irq* irq_ptr

Definition at line 364 of file qdio.h.

int is_input_q

Definition at line 355 of file qdio.h.

u32 isc

Definition at line 186 of file qdio.h.

u32 kc

Definition at line 184 of file qdio.h.

u32 ks

Definition at line 183 of file qdio.h.

u64 last_ai_time

Definition at line 44 of file qdio_thinint.c.

int last_move

Definition at line 329 of file qdio.h.

u16 last_sch

Definition at line 162 of file qdio.h.

int mask

Definition at line 352 of file qdio.h.

int nr

Definition at line 349 of file qdio.h.

atomic_t nr_buf_used

Definition at line 335 of file qdio.h.

u16 operation_code

Definition at line 177 of file qdio.h.

for each If fn returns anything but we break out

early from the iterator. Returns the last return value of the callback function, which should be 0 for success or anything else to indicate failure; or -EINVAL if the function pointer is null.

and return it. If is not NULL, we use it as the head of the list.

NOTE: we don't return the driver that returns a non-zero value, nor do we leave the reference count incremented for that driver. If the caller needs to know that info, it must set it in the callback. It must also be sure to increment the refcount so it doesn't disappear before returning to the caller.

Definition at line 319 of file qdio.h.

u8 output

Definition at line 143 of file qdio.h.

Definition at line 344 of file qdio.h.

unsigned int qdio_error

Definition at line 338 of file qdio.h.

Definition at line 166 of file qdio.h.

Definition at line 156 of file qdio.h.

u32 reserved[1004]

Definition at line 190 of file qdio.h.

Definition at line 164 of file qdio.h.

Definition at line 189 of file qdio.h.

Definition at line 365 of file qdio.h.

Definition at line 370 of file qdio.h.

Definition at line 315 of file qdio.h.

u8 ssid

Definition at line 158 of file qdio.h.

u64 subchannel_indicator_addr

Definition at line 182 of file qdio.h.

u64 summary_indicator_addr

Definition at line 181 of file qdio.h.

u8 sync

Definition at line 144 of file qdio.h.

u8 sync_after_ai

Definition at line 145 of file qdio.h.

u8 sync_out_after_pci

Definition at line 146 of file qdio.h.

Definition at line 343 of file qdio.h.

Definition at line 341 of file qdio.h.

union { ... } u
u32 word_with_d_bit

Definition at line 187 of file qdio.h.