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()
147 if (cdev->private->state == DEV_STATE_NOT_OPER) in ccw_device_clear()
149 if (cdev->private->state != DEV_STATE_ONLINE && in ccw_device_clear()
150 cdev->private->state != DEV_STATE_W4SENSE) in ccw_device_clear()
155 cdev->private->intparm = intparm; in ccw_device_clear()
191 int ccw_device_start_timeout_key(struct ccw_device *cdev, struct ccw1 *cpa, in ccw_device_start_timeout_key() argument
198 if (!cdev || !cdev->dev.parent) in ccw_device_start_timeout_key()
200 sch = to_subchannel(cdev->dev.parent); in ccw_device_start_timeout_key()
203 if (cdev->private->state == DEV_STATE_NOT_OPER) in ccw_device_start_timeout_key()
205 if (cdev->private->state == DEV_STATE_VERIFY || in ccw_device_start_timeout_key()
206 cdev->private->flags.doverify) { in ccw_device_start_timeout_key()
208 if (!cdev->private->flags.fake_irb) { in ccw_device_start_timeout_key()
209 cdev->private->flags.fake_irb = FAKE_CMD_IRB; in ccw_device_start_timeout_key()
210 cdev->private->intparm = intparm; in ccw_device_start_timeout_key()
212 cdev->private->dev_id.ssid, in ccw_device_start_timeout_key()
213 cdev->private->dev_id.devno, intparm, in ccw_device_start_timeout_key()
214 cdev->private->flags.fake_irb); in ccw_device_start_timeout_key()
220 if (cdev->private->state != DEV_STATE_ONLINE || in ccw_device_start_timeout_key()
236 cdev->private->intparm = intparm; in ccw_device_start_timeout_key()
238 ccw_device_set_timeout(cdev, expires); in ccw_device_start_timeout_key()
242 dev_fsm_event(cdev, DEV_EVENT_VERIFY); in ccw_device_start_timeout_key()
275 int ccw_device_start_key(struct ccw_device *cdev, struct ccw1 *cpa, in ccw_device_start_key() argument
279 return ccw_device_start_timeout_key(cdev, cpa, intparm, lpm, key, in ccw_device_start_key()
309 int ccw_device_start(struct ccw_device *cdev, struct ccw1 *cpa, in ccw_device_start() argument
312 return ccw_device_start_key(cdev, cpa, intparm, lpm, in ccw_device_start()
347 int ccw_device_start_timeout(struct ccw_device *cdev, struct ccw1 *cpa, in ccw_device_start_timeout() argument
351 return ccw_device_start_timeout_key(cdev, cpa, intparm, lpm, in ccw_device_start_timeout()
374 int ccw_device_halt(struct ccw_device *cdev, unsigned long intparm) in ccw_device_halt() argument
379 if (!cdev || !cdev->dev.parent) in ccw_device_halt()
381 sch = to_subchannel(cdev->dev.parent); in ccw_device_halt()
384 if (cdev->private->state == DEV_STATE_NOT_OPER) in ccw_device_halt()
386 if (cdev->private->state != DEV_STATE_ONLINE && in ccw_device_halt()
387 cdev->private->state != DEV_STATE_W4SENSE) in ccw_device_halt()
392 cdev->private->intparm = intparm; in ccw_device_halt()
409 int ccw_device_resume(struct ccw_device *cdev) in ccw_device_resume() argument
413 if (!cdev || !cdev->dev.parent) in ccw_device_resume()
415 sch = to_subchannel(cdev->dev.parent); in ccw_device_resume()
418 if (cdev->private->state == DEV_STATE_NOT_OPER) in ccw_device_resume()
420 if (cdev->private->state != DEV_STATE_ONLINE || in ccw_device_resume()
440 struct ciw *ccw_device_get_ciw(struct ccw_device *cdev, __u32 ct) in ccw_device_get_ciw() argument
444 if (cdev->private->flags.esid == 0) in ccw_device_get_ciw()
447 if (cdev->private->dma_area->senseid.ciw[ciw_cnt].ct == ct) in ccw_device_get_ciw()
448 return cdev->private->dma_area->senseid.ciw + ciw_cnt; in ccw_device_get_ciw()
459 __u8 ccw_device_get_path_mask(struct ccw_device *cdev) in ccw_device_get_path_mask() argument
463 if (!cdev->dev.parent) in ccw_device_get_path_mask()
466 sch = to_subchannel(cdev->dev.parent); in ccw_device_get_path_mask()
478 struct channel_path_desc_fmt0 *ccw_device_get_chp_desc(struct ccw_device *cdev, in ccw_device_get_chp_desc() argument
484 sch = to_subchannel(cdev->dev.parent); in ccw_device_get_chp_desc()
498 u8 *ccw_device_get_util_str(struct ccw_device *cdev, int chp_idx) in ccw_device_get_util_str() argument
500 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_get_util_str()
525 void ccw_device_get_id(struct ccw_device *cdev, struct ccw_dev_id *dev_id) in ccw_device_get_id() argument
527 *dev_id = cdev->private->dev_id; in ccw_device_get_id()
543 int ccw_device_tm_start_timeout_key(struct ccw_device *cdev, struct tcw *tcw, in ccw_device_tm_start_timeout_key() argument
550 sch = to_subchannel(cdev->dev.parent); in ccw_device_tm_start_timeout_key()
553 if (cdev->private->state == DEV_STATE_VERIFY) { in ccw_device_tm_start_timeout_key()
555 if (!cdev->private->flags.fake_irb) { in ccw_device_tm_start_timeout_key()
556 cdev->private->flags.fake_irb = FAKE_TM_IRB; in ccw_device_tm_start_timeout_key()
557 cdev->private->intparm = intparm; in ccw_device_tm_start_timeout_key()
559 cdev->private->dev_id.ssid, in ccw_device_tm_start_timeout_key()
560 cdev->private->dev_id.devno, intparm, in ccw_device_tm_start_timeout_key()
561 cdev->private->flags.fake_irb); in ccw_device_tm_start_timeout_key()
567 if (cdev->private->state != DEV_STATE_ONLINE) in ccw_device_tm_start_timeout_key()
577 cdev->private->intparm = intparm; in ccw_device_tm_start_timeout_key()
579 ccw_device_set_timeout(cdev, expires); in ccw_device_tm_start_timeout_key()
596 int ccw_device_tm_start_key(struct ccw_device *cdev, struct tcw *tcw, in ccw_device_tm_start_key() argument
599 return ccw_device_tm_start_timeout_key(cdev, tcw, intparm, lpm, key, 0); in ccw_device_tm_start_key()
613 int ccw_device_tm_start(struct ccw_device *cdev, struct tcw *tcw, in ccw_device_tm_start() argument
616 return ccw_device_tm_start_key(cdev, tcw, intparm, lpm, in ccw_device_tm_start()
632 int ccw_device_tm_start_timeout(struct ccw_device *cdev, struct tcw *tcw, in ccw_device_tm_start_timeout() argument
635 return ccw_device_tm_start_timeout_key(cdev, tcw, intparm, lpm, in ccw_device_tm_start_timeout()
648 int ccw_device_get_mdc(struct ccw_device *cdev, u8 mask) in ccw_device_get_mdc() argument
650 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_get_mdc()
693 int ccw_device_tm_intrg(struct ccw_device *cdev) in ccw_device_tm_intrg() argument
695 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_tm_intrg()
699 if (cdev->private->state != DEV_STATE_ONLINE) in ccw_device_tm_intrg()
713 void ccw_device_get_schid(struct ccw_device *cdev, struct subchannel_id *schid) in ccw_device_get_schid() argument
715 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_get_schid()
733 int ccw_device_pnso(struct ccw_device *cdev, in ccw_device_pnso() argument
739 ccw_device_get_schid(cdev, &schid); in ccw_device_pnso()
749 int ccw_device_get_cssid(struct ccw_device *cdev, u8 *cssid) in ccw_device_get_cssid() argument
751 struct device *sch_dev = cdev->dev.parent; in ccw_device_get_cssid()
765 int ccw_device_get_iid(struct ccw_device *cdev, u8 *iid) in ccw_device_get_iid() argument
767 struct device *sch_dev = cdev->dev.parent; in ccw_device_get_iid()
782 int ccw_device_get_chpid(struct ccw_device *cdev, int chp_idx, u8 *chpid) in ccw_device_get_chpid() argument
784 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_get_chpid()
804 int ccw_device_get_chid(struct ccw_device *cdev, int chp_idx, u16 *chid) in ccw_device_get_chid() argument
811 rc = ccw_device_get_chpid(cdev, chp_idx, &cssid_chpid.id); in ccw_device_get_chid()
834 void *ccw_device_dma_zalloc(struct ccw_device *cdev, size_t size, in ccw_device_dma_zalloc() argument
839 if (!get_device(&cdev->dev)) in ccw_device_dma_zalloc()
841 addr = __cio_gp_dma_zalloc(cdev->private->dma_pool, &cdev->dev, size, dma_handle); in ccw_device_dma_zalloc()
843 put_device(&cdev->dev); in ccw_device_dma_zalloc()
848 void ccw_device_dma_free(struct ccw_device *cdev, void *cpu_addr, size_t size) in ccw_device_dma_free() argument
852 cio_gp_dma_free(cdev->private->dma_pool, cpu_addr, size); in ccw_device_dma_free()
853 put_device(&cdev->dev); in ccw_device_dma_free()