8 #define KMSG_COMPONENT "cio"
9 #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
11 #include <linux/types.h>
31 while (lpm && ((lpm & mask) == 0))
84 ccwreq_next_path(cdev);
101 ccwreq_next_path(cdev);
110 ccwreq_stop(cdev, rc);
140 ccwreq_stop(cdev, -
EACCES);
161 ccwreq_stop(cdev, rc);
182 if (scsw->
cc == 3 || scsw->
pno)
187 CIO_HEX_EVENT(2, &cdev->
private->dev_id,
194 if (cdev->
drv && cdev->
drv->uc_handler) {
195 todo = cdev->
drv->uc_handler(cdev, lcirb);
197 CIO_HEX_EVENT(2, &todo,
sizeof(todo));
213 if (scsw->
cstat != 0)
242 data.status = (
u8) status;
244 CIO_HEX_EVENT(2, &data,
sizeof(data));
261 status = ccwreq_status(cdev, irb);
263 status = req->
filter(cdev, req->
data, irb, status);
267 ccwreq_log_status(cdev, status);
301 ccwreq_stop(cdev, 0);
306 if (!ccwreq_next_path(cdev)) {
315 ccwreq_stop(cdev, rc);
334 for (chp = 0; chp < 8; chp++) {
335 if ((0x80 >> chp) & sch->
schib.pmcw.lpum)
336 pr_warning(
"%s: No interrupt was received within %lus "
337 "(CS=%02x, DS=%02x, CHPID=%x.%02x)\n",
339 scsw_cstat(&sch->
schib.scsw),
340 scsw_dstat(&sch->
schib.scsw),
342 sch->
schib.pmcw.chpid[chp]);
345 if (!ccwreq_next_path(cdev)) {
355 ccwreq_stop(cdev, rc);
366 ccwreq_stop(cdev, -
ENODEV);