Lines Matching refs:cdev
39 int ccw_device_set_options_mask(struct ccw_device *cdev, unsigned long flags) in ccw_device_set_options_mask() argument
47 cdev->private->options.fast = (flags & CCWDEV_EARLY_NOTIFICATION) != 0; in ccw_device_set_options_mask()
48 cdev->private->options.repall = (flags & CCWDEV_REPORT_ALL) != 0; in ccw_device_set_options_mask()
49 cdev->private->options.pgroup = (flags & CCWDEV_DO_PATHGROUP) != 0; in ccw_device_set_options_mask()
50 cdev->private->options.force = (flags & CCWDEV_ALLOW_FORCE) != 0; in ccw_device_set_options_mask()
51 cdev->private->options.mpath = (flags & CCWDEV_DO_MULTIPATH) != 0; in ccw_device_set_options_mask()
64 int ccw_device_set_options(struct ccw_device *cdev, unsigned long flags) in ccw_device_set_options() argument
72 cdev->private->options.repall) || in ccw_device_set_options()
74 cdev->private->options.fast)) in ccw_device_set_options()
76 cdev->private->options.fast |= (flags & CCWDEV_EARLY_NOTIFICATION) != 0; in ccw_device_set_options()
77 cdev->private->options.repall |= (flags & CCWDEV_REPORT_ALL) != 0; in ccw_device_set_options()
78 cdev->private->options.pgroup |= (flags & CCWDEV_DO_PATHGROUP) != 0; in ccw_device_set_options()
79 cdev->private->options.force |= (flags & CCWDEV_ALLOW_FORCE) != 0; in ccw_device_set_options()
80 cdev->private->options.mpath |= (flags & CCWDEV_DO_MULTIPATH) != 0; in ccw_device_set_options()
91 void ccw_device_clear_options(struct ccw_device *cdev, unsigned long flags) in ccw_device_clear_options() argument
93 cdev->private->options.fast &= (flags & CCWDEV_EARLY_NOTIFICATION) == 0; in ccw_device_clear_options()
94 cdev->private->options.repall &= (flags & CCWDEV_REPORT_ALL) == 0; in ccw_device_clear_options()
95 cdev->private->options.pgroup &= (flags & CCWDEV_DO_PATHGROUP) == 0; in ccw_device_clear_options()
96 cdev->private->options.force &= (flags & CCWDEV_ALLOW_FORCE) == 0; in ccw_device_clear_options()
97 cdev->private->options.mpath &= (flags & CCWDEV_DO_MULTIPATH) == 0; in ccw_device_clear_options()
106 int ccw_device_is_pathgroup(struct ccw_device *cdev) in ccw_device_is_pathgroup() argument
108 return cdev->private->flags.pgroup; in ccw_device_is_pathgroup()
118 int ccw_device_is_multipath(struct ccw_device *cdev) in ccw_device_is_multipath() argument
120 return cdev->private->flags.mpath; in ccw_device_is_multipath()
137 int ccw_device_clear(struct ccw_device *cdev, unsigned long intparm) in ccw_device_clear() argument
142 if (!cdev || !cdev->dev.parent) in ccw_device_clear()
144 sch = to_subchannel(cdev->dev.parent); in ccw_device_clear()
149 if (cdev->private->state == DEV_STATE_NOT_OPER) in ccw_device_clear()
151 if (cdev->private->state != DEV_STATE_ONLINE && in ccw_device_clear()
152 cdev->private->state != DEV_STATE_W4SENSE) in ccw_device_clear()
157 cdev->private->intparm = intparm; in ccw_device_clear()
193 int ccw_device_start_timeout_key(struct ccw_device *cdev, struct ccw1 *cpa, in ccw_device_start_timeout_key() argument
200 if (!cdev || !cdev->dev.parent) in ccw_device_start_timeout_key()
202 sch = to_subchannel(cdev->dev.parent); in ccw_device_start_timeout_key()
207 if (cdev->private->state == DEV_STATE_NOT_OPER) in ccw_device_start_timeout_key()
209 if (cdev->private->state == DEV_STATE_VERIFY || in ccw_device_start_timeout_key()
210 cdev->private->flags.doverify) { in ccw_device_start_timeout_key()
212 if (!cdev->private->flags.fake_irb) { in ccw_device_start_timeout_key()
213 cdev->private->flags.fake_irb = FAKE_CMD_IRB; in ccw_device_start_timeout_key()
214 cdev->private->intparm = intparm; in ccw_device_start_timeout_key()
216 cdev->private->dev_id.ssid, in ccw_device_start_timeout_key()
217 cdev->private->dev_id.devno, intparm, in ccw_device_start_timeout_key()
218 cdev->private->flags.fake_irb); in ccw_device_start_timeout_key()
224 if (cdev->private->state != DEV_STATE_ONLINE || in ccw_device_start_timeout_key()
240 cdev->private->intparm = intparm; in ccw_device_start_timeout_key()
242 ccw_device_set_timeout(cdev, expires); in ccw_device_start_timeout_key()
246 dev_fsm_event(cdev, DEV_EVENT_VERIFY); in ccw_device_start_timeout_key()
279 int ccw_device_start_key(struct ccw_device *cdev, struct ccw1 *cpa, in ccw_device_start_key() argument
283 return ccw_device_start_timeout_key(cdev, cpa, intparm, lpm, key, in ccw_device_start_key()
313 int ccw_device_start(struct ccw_device *cdev, struct ccw1 *cpa, in ccw_device_start() argument
316 return ccw_device_start_key(cdev, cpa, intparm, lpm, in ccw_device_start()
351 int ccw_device_start_timeout(struct ccw_device *cdev, struct ccw1 *cpa, in ccw_device_start_timeout() argument
355 return ccw_device_start_timeout_key(cdev, cpa, intparm, lpm, in ccw_device_start_timeout()
378 int ccw_device_halt(struct ccw_device *cdev, unsigned long intparm) in ccw_device_halt() argument
383 if (!cdev || !cdev->dev.parent) in ccw_device_halt()
385 sch = to_subchannel(cdev->dev.parent); in ccw_device_halt()
390 if (cdev->private->state == DEV_STATE_NOT_OPER) in ccw_device_halt()
392 if (cdev->private->state != DEV_STATE_ONLINE && in ccw_device_halt()
393 cdev->private->state != DEV_STATE_W4SENSE) in ccw_device_halt()
398 cdev->private->intparm = intparm; in ccw_device_halt()
415 int ccw_device_resume(struct ccw_device *cdev) in ccw_device_resume() argument
419 if (!cdev || !cdev->dev.parent) in ccw_device_resume()
421 sch = to_subchannel(cdev->dev.parent); in ccw_device_resume()
426 if (cdev->private->state == DEV_STATE_NOT_OPER) in ccw_device_resume()
428 if (cdev->private->state != DEV_STATE_ONLINE || in ccw_device_resume()
448 struct ciw *ccw_device_get_ciw(struct ccw_device *cdev, __u32 ct) in ccw_device_get_ciw() argument
452 if (cdev->private->flags.esid == 0) in ccw_device_get_ciw()
455 if (cdev->private->dma_area->senseid.ciw[ciw_cnt].ct == ct) in ccw_device_get_ciw()
456 return &cdev->private->dma_area->senseid.ciw[ciw_cnt]; in ccw_device_get_ciw()
467 __u8 ccw_device_get_path_mask(struct ccw_device *cdev) in ccw_device_get_path_mask() argument
471 if (!cdev->dev.parent) in ccw_device_get_path_mask()
474 sch = to_subchannel(cdev->dev.parent); in ccw_device_get_path_mask()
486 struct channel_path_desc_fmt0 *ccw_device_get_chp_desc(struct ccw_device *cdev, in ccw_device_get_chp_desc() argument
492 sch = to_subchannel(cdev->dev.parent); in ccw_device_get_chp_desc()
508 u8 *ccw_device_get_util_str(struct ccw_device *cdev, int chp_idx) in ccw_device_get_util_str() argument
510 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_get_util_str()
539 void ccw_device_get_id(struct ccw_device *cdev, struct ccw_dev_id *dev_id) in ccw_device_get_id() argument
541 *dev_id = cdev->private->dev_id; in ccw_device_get_id()
557 int ccw_device_tm_start_timeout_key(struct ccw_device *cdev, struct tcw *tcw, in ccw_device_tm_start_timeout_key() argument
564 sch = to_subchannel(cdev->dev.parent); in ccw_device_tm_start_timeout_key()
569 if (cdev->private->state == DEV_STATE_VERIFY) { in ccw_device_tm_start_timeout_key()
571 if (!cdev->private->flags.fake_irb) { in ccw_device_tm_start_timeout_key()
572 cdev->private->flags.fake_irb = FAKE_TM_IRB; in ccw_device_tm_start_timeout_key()
573 cdev->private->intparm = intparm; in ccw_device_tm_start_timeout_key()
575 cdev->private->dev_id.ssid, in ccw_device_tm_start_timeout_key()
576 cdev->private->dev_id.devno, intparm, in ccw_device_tm_start_timeout_key()
577 cdev->private->flags.fake_irb); in ccw_device_tm_start_timeout_key()
583 if (cdev->private->state != DEV_STATE_ONLINE) in ccw_device_tm_start_timeout_key()
593 cdev->private->intparm = intparm; in ccw_device_tm_start_timeout_key()
595 ccw_device_set_timeout(cdev, expires); in ccw_device_tm_start_timeout_key()
612 int ccw_device_tm_start_key(struct ccw_device *cdev, struct tcw *tcw, in ccw_device_tm_start_key() argument
615 return ccw_device_tm_start_timeout_key(cdev, tcw, intparm, lpm, key, 0); in ccw_device_tm_start_key()
629 int ccw_device_tm_start(struct ccw_device *cdev, struct tcw *tcw, in ccw_device_tm_start() argument
632 return ccw_device_tm_start_key(cdev, tcw, intparm, lpm, in ccw_device_tm_start()
648 int ccw_device_tm_start_timeout(struct ccw_device *cdev, struct tcw *tcw, in ccw_device_tm_start_timeout() argument
651 return ccw_device_tm_start_timeout_key(cdev, tcw, intparm, lpm, in ccw_device_tm_start_timeout()
664 int ccw_device_get_mdc(struct ccw_device *cdev, u8 mask) in ccw_device_get_mdc() argument
666 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_get_mdc()
712 int ccw_device_tm_intrg(struct ccw_device *cdev) in ccw_device_tm_intrg() argument
714 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_tm_intrg()
720 if (cdev->private->state != DEV_STATE_ONLINE) in ccw_device_tm_intrg()
734 void ccw_device_get_schid(struct ccw_device *cdev, struct subchannel_id *schid) in ccw_device_get_schid() argument
736 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_get_schid()
754 int ccw_device_pnso(struct ccw_device *cdev, in ccw_device_pnso() argument
760 ccw_device_get_schid(cdev, &schid); in ccw_device_pnso()
770 int ccw_device_get_cssid(struct ccw_device *cdev, u8 *cssid) in ccw_device_get_cssid() argument
772 struct device *sch_dev = cdev->dev.parent; in ccw_device_get_cssid()
786 int ccw_device_get_iid(struct ccw_device *cdev, u8 *iid) in ccw_device_get_iid() argument
788 struct device *sch_dev = cdev->dev.parent; in ccw_device_get_iid()
803 int ccw_device_get_chpid(struct ccw_device *cdev, int chp_idx, u8 *chpid) in ccw_device_get_chpid() argument
805 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_get_chpid()
827 int ccw_device_get_chid(struct ccw_device *cdev, int chp_idx, u16 *chid) in ccw_device_get_chid() argument
834 rc = ccw_device_get_chpid(cdev, chp_idx, &cssid_chpid.id); in ccw_device_get_chid()
857 void *ccw_device_dma_zalloc(struct ccw_device *cdev, size_t size, in ccw_device_dma_zalloc() argument
862 if (!get_device(&cdev->dev)) in ccw_device_dma_zalloc()
864 addr = __cio_gp_dma_zalloc(cdev->private->dma_pool, &cdev->dev, size, dma_handle); in ccw_device_dma_zalloc()
866 put_device(&cdev->dev); in ccw_device_dma_zalloc()
871 void ccw_device_dma_free(struct ccw_device *cdev, void *cpu_addr, size_t size) in ccw_device_dma_free() argument
875 cio_gp_dma_free(cdev->private->dma_pool, cpu_addr, size); in ccw_device_dma_free()
876 put_device(&cdev->dev); in ccw_device_dma_free()