Name

ccw_device_start_key — start a s390 channel program with key

Synopsis

int ccw_device_start_key (struct ccw_device * cdev,
 struct ccw1 * cpa,
 unsigned long intparm,
 __u8 lpm,
 __u8 key,
 unsigned long flags);
 

Arguments

struct ccw_device * cdev

target ccw device

struct ccw1 * cpa

logical start address of channel program

unsigned long intparm

user specific interruption parameter; will be presented back to cdev's interrupt handler. Allows a device driver to associate the interrupt with a particular I/O request.

__u8 lpm

defines the channel path to be used for a specific I/O request. A value of 0 will make cio use the opm.

__u8 key

storage key to be used for the I/O

unsigned long flags

additional flags; defines the action to be performed for I/O processing.

Description

Start a S/390 channel program. When the interrupt arrives, the IRQ handler is called, either immediately, delayed (dev-end missing, or sense required) or never (no IRQ handler registered).

Return

0, if the operation was successful; -EBUSY, if the device is busy, or status pending; -EACCES, if no path specified in lpm is operational; -ENODEV, if the device is not operational.

Context

Interrupts disabled, ccw device lock held