Lines Matching refs:cdev
38 int ccw_device_set_options_mask(struct ccw_device *cdev, unsigned long flags) in ccw_device_set_options_mask() argument
46 cdev->private->options.fast = (flags & CCWDEV_EARLY_NOTIFICATION) != 0; in ccw_device_set_options_mask()
47 cdev->private->options.repall = (flags & CCWDEV_REPORT_ALL) != 0; in ccw_device_set_options_mask()
48 cdev->private->options.pgroup = (flags & CCWDEV_DO_PATHGROUP) != 0; in ccw_device_set_options_mask()
49 cdev->private->options.force = (flags & CCWDEV_ALLOW_FORCE) != 0; in ccw_device_set_options_mask()
50 cdev->private->options.mpath = (flags & CCWDEV_DO_MULTIPATH) != 0; in ccw_device_set_options_mask()
63 int ccw_device_set_options(struct ccw_device *cdev, unsigned long flags) in ccw_device_set_options() argument
71 cdev->private->options.repall) || in ccw_device_set_options()
73 cdev->private->options.fast)) in ccw_device_set_options()
75 cdev->private->options.fast |= (flags & CCWDEV_EARLY_NOTIFICATION) != 0; in ccw_device_set_options()
76 cdev->private->options.repall |= (flags & CCWDEV_REPORT_ALL) != 0; in ccw_device_set_options()
77 cdev->private->options.pgroup |= (flags & CCWDEV_DO_PATHGROUP) != 0; in ccw_device_set_options()
78 cdev->private->options.force |= (flags & CCWDEV_ALLOW_FORCE) != 0; in ccw_device_set_options()
79 cdev->private->options.mpath |= (flags & CCWDEV_DO_MULTIPATH) != 0; in ccw_device_set_options()
90 void ccw_device_clear_options(struct ccw_device *cdev, unsigned long flags) in ccw_device_clear_options() argument
92 cdev->private->options.fast &= (flags & CCWDEV_EARLY_NOTIFICATION) == 0; in ccw_device_clear_options()
93 cdev->private->options.repall &= (flags & CCWDEV_REPORT_ALL) == 0; in ccw_device_clear_options()
94 cdev->private->options.pgroup &= (flags & CCWDEV_DO_PATHGROUP) == 0; in ccw_device_clear_options()
95 cdev->private->options.force &= (flags & CCWDEV_ALLOW_FORCE) == 0; in ccw_device_clear_options()
96 cdev->private->options.mpath &= (flags & CCWDEV_DO_MULTIPATH) == 0; in ccw_device_clear_options()
105 int ccw_device_is_pathgroup(struct ccw_device *cdev) in ccw_device_is_pathgroup() argument
107 return cdev->private->flags.pgroup; in ccw_device_is_pathgroup()
117 int ccw_device_is_multipath(struct ccw_device *cdev) in ccw_device_is_multipath() argument
119 return cdev->private->flags.mpath; in ccw_device_is_multipath()
138 int ccw_device_clear(struct ccw_device *cdev, unsigned long intparm) in ccw_device_clear() argument
143 if (!cdev || !cdev->dev.parent) in ccw_device_clear()
145 sch = to_subchannel(cdev->dev.parent); in ccw_device_clear()
148 if (cdev->private->state == DEV_STATE_NOT_OPER) in ccw_device_clear()
150 if (cdev->private->state != DEV_STATE_ONLINE && in ccw_device_clear()
151 cdev->private->state != DEV_STATE_W4SENSE) in ccw_device_clear()
156 cdev->private->intparm = intparm; in ccw_device_clear()
184 int ccw_device_start_key(struct ccw_device *cdev, struct ccw1 *cpa, in ccw_device_start_key() argument
191 if (!cdev || !cdev->dev.parent) in ccw_device_start_key()
193 sch = to_subchannel(cdev->dev.parent); in ccw_device_start_key()
196 if (cdev->private->state == DEV_STATE_NOT_OPER) in ccw_device_start_key()
198 if (cdev->private->state == DEV_STATE_VERIFY) { in ccw_device_start_key()
200 if (!cdev->private->flags.fake_irb) { in ccw_device_start_key()
201 cdev->private->flags.fake_irb = FAKE_CMD_IRB; in ccw_device_start_key()
202 cdev->private->intparm = intparm; in ccw_device_start_key()
208 if (cdev->private->state != DEV_STATE_ONLINE || in ccw_device_start_key()
211 cdev->private->flags.doverify) in ccw_device_start_key()
225 cdev->private->intparm = intparm; in ccw_device_start_key()
229 dev_fsm_event(cdev, DEV_EVENT_VERIFY); in ccw_device_start_key()
264 int ccw_device_start_timeout_key(struct ccw_device *cdev, struct ccw1 *cpa, in ccw_device_start_timeout_key() argument
270 if (!cdev) in ccw_device_start_timeout_key()
272 ccw_device_set_timeout(cdev, expires); in ccw_device_start_timeout_key()
273 ret = ccw_device_start_key(cdev, cpa, intparm, lpm, key, flags); in ccw_device_start_timeout_key()
275 ccw_device_set_timeout(cdev, 0); in ccw_device_start_timeout_key()
302 int ccw_device_start(struct ccw_device *cdev, struct ccw1 *cpa, in ccw_device_start() argument
305 return ccw_device_start_key(cdev, cpa, intparm, lpm, in ccw_device_start()
337 int ccw_device_start_timeout(struct ccw_device *cdev, struct ccw1 *cpa, in ccw_device_start_timeout() argument
341 return ccw_device_start_timeout_key(cdev, cpa, intparm, lpm, in ccw_device_start_timeout()
363 int ccw_device_halt(struct ccw_device *cdev, unsigned long intparm) in ccw_device_halt() argument
368 if (!cdev || !cdev->dev.parent) in ccw_device_halt()
370 sch = to_subchannel(cdev->dev.parent); in ccw_device_halt()
373 if (cdev->private->state == DEV_STATE_NOT_OPER) in ccw_device_halt()
375 if (cdev->private->state != DEV_STATE_ONLINE && in ccw_device_halt()
376 cdev->private->state != DEV_STATE_W4SENSE) in ccw_device_halt()
381 cdev->private->intparm = intparm; in ccw_device_halt()
398 int ccw_device_resume(struct ccw_device *cdev) in ccw_device_resume() argument
402 if (!cdev || !cdev->dev.parent) in ccw_device_resume()
404 sch = to_subchannel(cdev->dev.parent); in ccw_device_resume()
407 if (cdev->private->state == DEV_STATE_NOT_OPER) in ccw_device_resume()
409 if (cdev->private->state != DEV_STATE_ONLINE || in ccw_device_resume()
429 struct ciw *ccw_device_get_ciw(struct ccw_device *cdev, __u32 ct) in ccw_device_get_ciw() argument
433 if (cdev->private->flags.esid == 0) in ccw_device_get_ciw()
436 if (cdev->private->senseid.ciw[ciw_cnt].ct == ct) in ccw_device_get_ciw()
437 return cdev->private->senseid.ciw + ciw_cnt; in ccw_device_get_ciw()
448 __u8 ccw_device_get_path_mask(struct ccw_device *cdev) in ccw_device_get_path_mask() argument
452 if (!cdev->dev.parent) in ccw_device_get_path_mask()
455 sch = to_subchannel(cdev->dev.parent); in ccw_device_get_path_mask()
467 struct channel_path_desc *ccw_device_get_chp_desc(struct ccw_device *cdev, in ccw_device_get_chp_desc() argument
473 sch = to_subchannel(cdev->dev.parent); in ccw_device_get_chp_desc()
484 void ccw_device_get_id(struct ccw_device *cdev, struct ccw_dev_id *dev_id) in ccw_device_get_id() argument
486 *dev_id = cdev->private->dev_id; in ccw_device_get_id()
501 int ccw_device_tm_start_key(struct ccw_device *cdev, struct tcw *tcw, in ccw_device_tm_start_key() argument
507 sch = to_subchannel(cdev->dev.parent); in ccw_device_tm_start_key()
510 if (cdev->private->state == DEV_STATE_VERIFY) { in ccw_device_tm_start_key()
512 if (!cdev->private->flags.fake_irb) { in ccw_device_tm_start_key()
513 cdev->private->flags.fake_irb = FAKE_TM_IRB; in ccw_device_tm_start_key()
514 cdev->private->intparm = intparm; in ccw_device_tm_start_key()
520 if (cdev->private->state != DEV_STATE_ONLINE) in ccw_device_tm_start_key()
530 cdev->private->intparm = intparm; in ccw_device_tm_start_key()
547 int ccw_device_tm_start_timeout_key(struct ccw_device *cdev, struct tcw *tcw, in ccw_device_tm_start_timeout_key() argument
553 ccw_device_set_timeout(cdev, expires); in ccw_device_tm_start_timeout_key()
554 ret = ccw_device_tm_start_key(cdev, tcw, intparm, lpm, key); in ccw_device_tm_start_timeout_key()
556 ccw_device_set_timeout(cdev, 0); in ccw_device_tm_start_timeout_key()
571 int ccw_device_tm_start(struct ccw_device *cdev, struct tcw *tcw, in ccw_device_tm_start() argument
574 return ccw_device_tm_start_key(cdev, tcw, intparm, lpm, in ccw_device_tm_start()
590 int ccw_device_tm_start_timeout(struct ccw_device *cdev, struct tcw *tcw, in ccw_device_tm_start_timeout() argument
593 return ccw_device_tm_start_timeout_key(cdev, tcw, intparm, lpm, in ccw_device_tm_start_timeout()
606 int ccw_device_get_mdc(struct ccw_device *cdev, u8 mask) in ccw_device_get_mdc() argument
608 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_get_mdc()
651 int ccw_device_tm_intrg(struct ccw_device *cdev) in ccw_device_tm_intrg() argument
653 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_tm_intrg()
657 if (cdev->private->state != DEV_STATE_ONLINE) in ccw_device_tm_intrg()
671 void ccw_device_get_schid(struct ccw_device *cdev, struct subchannel_id *schid) in ccw_device_get_schid() argument
673 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_get_schid()