Scroll to navigation

CCW_DEVICE_START_TIM(9) The ccw bus CCW_DEVICE_START_TIM(9)

NAME

ccw_device_start_timeout_key - start a s390 channel program with timeout and key

SYNOPSIS

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

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.

int expires

timeout value in jiffies

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). This function notifies the device driver if the channel program has not completed during the time specified by expires. If a timeout occurs, the channel program is terminated via xsch, hsch or csch, and the device's interrupt handler will be called with an irb containing ERR_PTR(-ETIMEDOUT).

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

AUTHOR

Cornelia Huck <cornelia.huck@de.ibm.com>

Author.

COPYRIGHT

June 2017 Kernel Hackers Manual 4.11