Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
qdio_main.c File Reference
#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/gfp.h>
#include <linux/io.h>
#include <linux/atomic.h>
#include <asm/debug.h>
#include <asm/qdio.h>
#include <asm/ipl.h>
#include "cio.h"
#include "css.h"
#include "device.h"
#include "qdio.h"
#include "qdio_debug.h"

Go to the source code of this file.

Macros

#define qdio_siga_sync_out(q)   qdio_siga_sync(q, ~0U, 0)
 
#define qdio_siga_sync_all(q)   qdio_siga_sync(q, ~0U, ~0U)
 

Functions

 MODULE_AUTHOR ("Utz Bacher <[email protected]>,""Jan Glauber <[email protected]>")
 
 MODULE_DESCRIPTION ("QDIO base support")
 
 MODULE_LICENSE ("GPL")
 
int debug_get_buf_state (struct qdio_q *q, unsigned int bufnr, unsigned char *state)
 
void qdio_inbound_processing (unsigned long data)
 
void qdio_outbound_processing (unsigned long data)
 
void qdio_outbound_timer (unsigned long data)
 
void tiqdio_inbound_processing (unsigned long data)
 
void qdio_int_handler (struct ccw_device *cdev, unsigned long intparm, struct irb *irb)
 
int qdio_get_ssqd_desc (struct ccw_device *cdev, struct qdio_ssqd_desc *data)
 
 EXPORT_SYMBOL_GPL (qdio_get_ssqd_desc)
 
int qdio_shutdown (struct ccw_device *cdev, int how)
 
 EXPORT_SYMBOL_GPL (qdio_shutdown)
 
int qdio_free (struct ccw_device *cdev)
 
 EXPORT_SYMBOL_GPL (qdio_free)
 
int qdio_allocate (struct qdio_initialize *init_data)
 
 EXPORT_SYMBOL_GPL (qdio_allocate)
 
int qdio_establish (struct qdio_initialize *init_data)
 
 EXPORT_SYMBOL_GPL (qdio_establish)
 
int qdio_activate (struct ccw_device *cdev)
 
 EXPORT_SYMBOL_GPL (qdio_activate)
 
int do_QDIO (struct ccw_device *cdev, unsigned int callflags, int q_nr, unsigned int bufnr, unsigned int count)
 
 EXPORT_SYMBOL_GPL (do_QDIO)
 
int qdio_start_irq (struct ccw_device *cdev, int nr)
 
 EXPORT_SYMBOL (qdio_start_irq)
 
int qdio_get_next_buffers (struct ccw_device *cdev, int nr, int *bufnr, int *error)
 
 EXPORT_SYMBOL (qdio_get_next_buffers)
 
int qdio_stop_irq (struct ccw_device *cdev, int nr)
 
 EXPORT_SYMBOL (qdio_stop_irq)
 
 module_init (init_QDIO)
 
 module_exit (exit_QDIO)
 

Macro Definition Documentation

#define qdio_siga_sync_all (   q)    qdio_siga_sync(q, ~0U, ~0U)

Definition at line 387 of file qdio_main.c.

#define qdio_siga_sync_out (   q)    qdio_siga_sync(q, ~0U, 0)

Definition at line 386 of file qdio_main.c.

Function Documentation

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

Definition at line 398 of file qdio_main.c.

int do_QDIO ( struct ccw_device cdev,
unsigned int  callflags,
int  q_nr,
unsigned int  bufnr,
unsigned int  count 
)

do_QDIO - process input or output buffers : associated ccw_device for the qdio subchannel : input or output and special flags from the program : queue number : buffer number : how many buffers to process

Definition at line 1676 of file qdio_main.c.

EXPORT_SYMBOL ( qdio_start_irq  )
EXPORT_SYMBOL ( qdio_get_next_buffers  )
EXPORT_SYMBOL ( qdio_stop_irq  )
EXPORT_SYMBOL_GPL ( qdio_get_ssqd_desc  )
EXPORT_SYMBOL_GPL ( qdio_shutdown  )
EXPORT_SYMBOL_GPL ( qdio_free  )
EXPORT_SYMBOL_GPL ( qdio_allocate  )
EXPORT_SYMBOL_GPL ( qdio_establish  )
EXPORT_SYMBOL_GPL ( qdio_activate  )
EXPORT_SYMBOL_GPL ( do_QDIO  )
MODULE_AUTHOR ( "Utz Bacher <[email protected] ,
""Jan Glauber< jang @linux.vnet.ibm.com >"   
)
MODULE_DESCRIPTION ( "QDIO base support )
module_exit ( exit_QDIO  )
module_init ( init_QDIO  )
MODULE_LICENSE ( "GPL"  )
int qdio_activate ( struct ccw_device cdev)

qdio_activate - activate queues on a qdio subchannel : associated cdev

Definition at line 1477 of file qdio_main.c.

int qdio_allocate ( struct qdio_initialize init_data)

qdio_allocate - allocate qdio queues and associated data : initialization data

Definition at line 1321 of file qdio_main.c.

int qdio_establish ( struct qdio_initialize init_data)

qdio_establish - establish queues on a qdio subchannel : initialization data

Definition at line 1401 of file qdio_main.c.

int qdio_free ( struct ccw_device cdev)

qdio_free - free data structures for a qdio subchannel : associated ccw device

Definition at line 1295 of file qdio_main.c.

int qdio_get_next_buffers ( struct ccw_device cdev,
int  nr,
int bufnr,
int error 
)

qdio_get_next_buffers - process input buffers : associated ccw_device for the qdio subchannel : input queue number : first filled buffer number : buffers are in error state

Return codes < 0 - error = 0 - no new buffers found

0 - number of processed buffers

Definition at line 1762 of file qdio_main.c.

int qdio_get_ssqd_desc ( struct ccw_device cdev,
struct qdio_ssqd_desc data 
)

qdio_get_ssqd_desc - get qdio subchannel description : ccw device to get description for : where to store the ssqd

Returns 0 or an error code. The results of the chsc are stored in the specified structure.

Definition at line 1189 of file qdio_main.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.

int qdio_shutdown ( struct ccw_device cdev,
int  how 
)

qdio_shutdown - shut down a qdio subchannel : associated ccw device : use halt or clear to shutdown

Definition at line 1221 of file qdio_main.c.

int qdio_start_irq ( struct ccw_device cdev,
int  nr 
)

qdio_start_irq - process input buffers : associated ccw_device for the qdio subchannel : input queue number

Return codes 0 - success 1 - irqs not started since new data is available

Definition at line 1715 of file qdio_main.c.

int qdio_stop_irq ( struct ccw_device cdev,
int  nr 
)

qdio_stop_irq - disable interrupt processing for the device : associated ccw_device for the qdio subchannel : input queue number

Return codes 0 - interrupts were already disabled 1 - interrupts successfully disabled

Definition at line 1812 of file qdio_main.c.

void tiqdio_inbound_processing ( unsigned long  data)

Definition at line 1011 of file qdio_main.c.