Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
cio.c File Reference
#include <linux/ftrace.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/device.h>
#include <linux/kernel_stat.h>
#include <linux/interrupt.h>
#include <asm/cio.h>
#include <asm/delay.h>
#include <asm/irq.h>
#include <asm/irq_regs.h>
#include <asm/setup.h>
#include <asm/reset.h>
#include <asm/ipl.h>
#include <asm/chpid.h>
#include <asm/airq.h>
#include <asm/isc.h>
#include <asm/cputime.h>
#include <asm/fcx.h>
#include <asm/nmi.h>
#include <asm/crw.h>
#include "cio.h"
#include "css.h"
#include "chsc.h"
#include "ioasm.h"
#include "io_sch.h"
#include "blacklist.h"
#include "cio_debug.h"
#include "chp.h"

Go to the source code of this file.

Data Structures

struct  sch_match_id
 

Macros

#define KMSG_COMPONENT   "cio"
 
#define pr_fmt(fmt)   KMSG_COMPONENT ": " fmt
 
#define RCHP_TIMEOUT   (30 * USEC_PER_SEC)
 

Functions

 arch_initcall (cio_debug_init)
 
int cio_set_options (struct subchannel *sch, int flags)
 
int cio_start_key (struct subchannel *sch, struct ccw1 *cpa, __u8 lpm, __u8 key)
 
int cio_start (struct subchannel *sch, struct ccw1 *cpa, __u8 lpm)
 
int cio_resume (struct subchannel *sch)
 
int cio_halt (struct subchannel *sch)
 
int cio_clear (struct subchannel *sch)
 
int cio_cancel (struct subchannel *sch)
 
int cio_commit_config (struct subchannel *sch)
 
int cio_update_schib (struct subchannel *sch)
 
 EXPORT_SYMBOL_GPL (cio_update_schib)
 
int cio_enable_subchannel (struct subchannel *sch, u32 intparm)
 
 EXPORT_SYMBOL_GPL (cio_enable_subchannel)
 
int cio_disable_subchannel (struct subchannel *sch)
 
 EXPORT_SYMBOL_GPL (cio_disable_subchannel)
 
int cio_create_sch_lock (struct subchannel *sch)
 
int cio_validate_subchannel (struct subchannel *sch, struct subchannel_id schid)
 
void __irq_entry do_IRQ (struct pt_regs *regs)
 
 arch_initcall (init_css_reset_call)
 
void do_reipl_asm (__u32 schid)
 
void reipl_ccw_dev (struct ccw_dev_id *devid)
 
int __init cio_get_iplinfo (struct cio_iplinfo *iplinfo)
 
int cio_tm_start_key (struct subchannel *sch, struct tcw *tcw, u8 lpm, u8 key)
 
int cio_tm_intrg (struct subchannel *sch)
 

Variables

debug_info_tcio_debug_msg_id
 
debug_info_tcio_debug_trace_id
 
debug_info_tcio_debug_crw_id
 

Macro Definition Documentation

#define KMSG_COMPONENT   "cio"

Definition at line 11 of file cio.c.

#define pr_fmt (   fmt)    KMSG_COMPONENT ": " fmt

Definition at line 12 of file cio.c.

#define RCHP_TIMEOUT   (30 * USEC_PER_SEC)

Definition at line 938 of file cio.c.

Function Documentation

arch_initcall ( cio_debug_init  )
arch_initcall ( init_css_reset_call  )
int cio_cancel ( struct subchannel sch)

Definition at line 283 of file cio.c.

int cio_clear ( struct subchannel sch)

Definition at line 249 of file cio.c.

int cio_commit_config ( struct subchannel sch)

Definition at line 343 of file cio.c.

int cio_create_sch_lock ( struct subchannel sch)

Definition at line 474 of file cio.c.

int cio_disable_subchannel ( struct subchannel sch)

cio_disable_subchannel - disable a subchannel. : subchannel to disable

Definition at line 445 of file cio.c.

int cio_enable_subchannel ( struct subchannel sch,
u32  intparm 
)

cio_enable_subchannel - enable a subchannel. : subchannel to be enabled : interruption parameter to set

Definition at line 404 of file cio.c.

int __init cio_get_iplinfo ( struct cio_iplinfo iplinfo)

Definition at line 1040 of file cio.c.

int cio_halt ( struct subchannel sch)

Definition at line 216 of file cio.c.

int cio_resume ( struct subchannel sch)

Definition at line 184 of file cio.c.

int cio_set_options ( struct subchannel sch,
int  flags 
)

Definition at line 86 of file cio.c.

int cio_start ( struct subchannel sch,
struct ccw1 cpa,
__u8  lpm 
)

Definition at line 175 of file cio.c.

int cio_start_key ( struct subchannel sch,
struct ccw1 cpa,
__u8  lpm,
__u8  key 
)

Definition at line 121 of file cio.c.

int cio_tm_intrg ( struct subchannel sch)

cio_tm_intrg - perform interrogate function - subchannel on which to perform the interrogate function

If the specified subchannel is running in transport-mode, perform the interrogate function. Return zero on success, non-zero otherwie.

Definition at line 1099 of file cio.c.

int cio_tm_start_key ( struct subchannel sch,
struct tcw tcw,
u8  lpm,
u8  key 
)

cio_tm_start_key - perform start function : subchannel on which to perform the start function : transport-command word to be started : mask of paths to use : storage key to use for storage access

Start the tcw on the given subchannel. Return zero on success, non-zero otherwise.

Definition at line 1069 of file cio.c.

int cio_update_schib ( struct subchannel sch)

cio_update_schib - Perform stsch and update schib if subchannel is valid. : subchannel on which to perform stsch Return zero on success, -ENODEV otherwise.

Definition at line 387 of file cio.c.

int cio_validate_subchannel ( struct subchannel sch,
struct subchannel_id  schid 
)

cio_validate_subchannel - basic validation of subchannel : subchannel structure to be filled out : subchannel id

Find out subchannel type and initialize struct subchannel. Return codes: 0 on success -ENXIO for non-defined subchannels -ENODEV for invalid subchannels or blacklisted devices -EIO for subchannels in an invalid subchannel set

Definition at line 530 of file cio.c.

void __irq_entry do_IRQ ( struct pt_regs regs)

Definition at line 595 of file cio.c.

void do_reipl_asm ( __u32  schid)
EXPORT_SYMBOL_GPL ( cio_update_schib  )
EXPORT_SYMBOL_GPL ( cio_enable_subchannel  )
EXPORT_SYMBOL_GPL ( cio_disable_subchannel  )
void reipl_ccw_dev ( struct ccw_dev_id devid)

Definition at line 1030 of file cio.c.

Variable Documentation

debug_info_t* cio_debug_crw_id

Definition at line 46 of file cio.c.

debug_info_t* cio_debug_msg_id

Definition at line 44 of file cio.c.

debug_info_t* cio_debug_trace_id

Definition at line 45 of file cio.c.