/drivers/s390/cio/ |
D | cio.c | 88 int cio_set_options(struct subchannel *sch, int flags) in cio_set_options() argument 90 struct io_subchannel_private *priv = to_io_private(sch); in cio_set_options() 99 cio_start_handle_notoper(struct subchannel *sch, __u8 lpm) in cio_start_handle_notoper() argument 104 sch->lpm &= ~lpm; in cio_start_handle_notoper() 106 sch->lpm = 0; in cio_start_handle_notoper() 109 "subchannel 0.%x.%04x!\n", sch->schid.ssid, in cio_start_handle_notoper() 110 sch->schid.sch_no); in cio_start_handle_notoper() 112 if (cio_update_schib(sch)) in cio_start_handle_notoper() 115 sprintf(dbf_text, "no%s", dev_name(&sch->dev)); in cio_start_handle_notoper() 117 CIO_HEX_EVENT(0, &sch->schib, sizeof (struct schib)); in cio_start_handle_notoper() [all …]
|
D | eadm_sch.c | 59 static int eadm_subchannel_start(struct subchannel *sch, struct aob *aob) in eadm_subchannel_start() argument 61 union orb *orb = &get_eadm_private(sch)->orb; in eadm_subchannel_start() 66 orb->eadm.intparm = (u32)(addr_t)sch; in eadm_subchannel_start() 70 EADM_LOG_HEX(6, &sch->schid, sizeof(sch->schid)); in eadm_subchannel_start() 72 cc = ssch(sch->schid, orb); in eadm_subchannel_start() 75 sch->schib.scsw.eadm.actl |= SCSW_ACTL_START_PEND; in eadm_subchannel_start() 86 static int eadm_subchannel_clear(struct subchannel *sch) in eadm_subchannel_clear() argument 90 cc = csch(sch->schid); in eadm_subchannel_clear() 94 sch->schib.scsw.eadm.actl |= SCSW_ACTL_CLEAR_PEND; in eadm_subchannel_clear() 101 struct subchannel *sch = private->sch; in eadm_subchannel_timeout() local [all …]
|
D | css.c | 72 struct subchannel *sch = to_subchannel(dev); in call_fn_known_sch() local 77 idset_sch_del(cb->set, sch->schid); in call_fn_known_sch() 79 rc = cb->fn_known_sch(sch, cb->data); in call_fn_known_sch() 96 struct subchannel *sch; in call_fn_all_sch() local 99 sch = get_subchannel_by_schid(schid); in call_fn_all_sch() 100 if (sch) { in call_fn_all_sch() 102 rc = cb->fn_known_sch(sch, cb->data); in call_fn_all_sch() 103 put_device(&sch->dev); in call_fn_all_sch() 152 static int css_sch_create_locks(struct subchannel *sch) in css_sch_create_locks() argument 154 sch->lock = kmalloc(sizeof(*sch->lock), GFP_KERNEL); in css_sch_create_locks() [all …]
|
D | device.c | 152 static int io_subchannel_prepare(struct subchannel *sch) in io_subchannel_prepare() argument 159 cdev = sch_get_cdev(sch); in io_subchannel_prepare() 287 struct subchannel *sch; in ccw_device_set_offline() local 301 sch = to_subchannel(cdev->dev.parent); in ccw_device_set_offline() 322 io_subchannel_quiesce(sch); in ccw_device_set_offline() 554 struct subchannel *sch; in available_show() local 564 sch = to_subchannel(dev->parent); in available_show() 565 if (!sch->lpm) in available_show() 579 struct subchannel *sch = to_subchannel(dev); in initiate_logging() local 582 rc = chsc_siosl(sch->schid); in initiate_logging() [all …]
|
D | vfio_ccw_drv.c | 36 int vfio_ccw_sch_quiesce(struct subchannel *sch) in vfio_ccw_sch_quiesce() argument 38 struct vfio_ccw_private *private = dev_get_drvdata(&sch->dev); in vfio_ccw_sch_quiesce() 42 spin_lock_irq(sch->lock); in vfio_ccw_sch_quiesce() 43 if (!sch->schib.pmcw.ena) in vfio_ccw_sch_quiesce() 45 ret = cio_disable_subchannel(sch); in vfio_ccw_sch_quiesce() 52 ret = cio_cancel_halt_clear(sch, &iretry); in vfio_ccw_sch_quiesce() 56 sch->schid.ssid, sch->schid.sch_no); in vfio_ccw_sch_quiesce() 65 spin_unlock_irq(sch->lock); in vfio_ccw_sch_quiesce() 72 spin_lock_irq(sch->lock); in vfio_ccw_sch_quiesce() 73 ret = cio_disable_subchannel(sch); in vfio_ccw_sch_quiesce() [all …]
|
D | vfio_ccw_fsm.c | 23 struct subchannel *sch; in fsm_io_helper() local 30 sch = private->sch; in fsm_io_helper() 32 spin_lock_irqsave(sch->lock, flags); in fsm_io_helper() 34 orb = cp_get_orb(&private->cp, (u32)(addr_t)sch, sch->lpm); in fsm_io_helper() 41 VFIO_CCW_TRACE_EVENT(5, dev_name(&sch->dev)); in fsm_io_helper() 44 ccode = ssch(sch->schid, orb); in fsm_io_helper() 53 sch->schib.scsw.cmd.actl |= SCSW_ACTL_START_PEND; in fsm_io_helper() 65 sch->lpm &= ~lpm; in fsm_io_helper() 67 sch->lpm = 0; in fsm_io_helper() 69 if (cio_update_schib(sch)) in fsm_io_helper() [all …]
|
D | device_fsm.c | 40 struct subchannel *sch; in ccw_timeout_log() local 45 sch = to_subchannel(cdev->dev.parent); in ccw_timeout_log() 46 private = to_io_private(sch); in ccw_timeout_log() 48 cc = stsch(sch->schid, &schib); in ccw_timeout_log() 58 dev_name(&sch->dev)); in ccw_timeout_log() 60 "vpm: %02x\n", sch->lpm, sch->opm, sch->vpm); in ccw_timeout_log() 131 struct subchannel *sch; in ccw_device_cancel_halt_clear() local 134 sch = to_subchannel(cdev->dev.parent); in ccw_device_cancel_halt_clear() 135 ret = cio_cancel_halt_clear(sch, &cdev->private->iretry); in ccw_device_cancel_halt_clear() 172 __recover_lost_chpids(struct subchannel *sch, int old_lpm) in __recover_lost_chpids() argument [all …]
|
D | device_ops.c | 139 struct subchannel *sch; in ccw_device_clear() local 144 sch = to_subchannel(cdev->dev.parent); in ccw_device_clear() 145 if (!sch->schib.pmcw.ena) in ccw_device_clear() 153 ret = cio_clear(sch); in ccw_device_clear() 195 struct subchannel *sch; in ccw_device_start_timeout_key() local 200 sch = to_subchannel(cdev->dev.parent); in ccw_device_start_timeout_key() 201 if (!sch->schib.pmcw.ena) in ccw_device_start_timeout_key() 216 ((sch->schib.scsw.cmd.stctl & SCSW_STCTL_PRIM_STATUS) && in ccw_device_start_timeout_key() 217 !(sch->schib.scsw.cmd.stctl & SCSW_STCTL_SEC_STATUS)) || in ccw_device_start_timeout_key() 220 ret = cio_set_options (sch, flags); in ccw_device_start_timeout_key() [all …]
|
D | device_pgid.c | 35 struct subchannel *sch = to_subchannel(cdev->dev.parent); in verify_done() local 43 if (sch->config.mp != mpath) { in verify_done() 44 sch->config.mp = mpath; in verify_done() 45 rc = cio_commit_config(sch); in verify_done() 50 sch->vpm); in verify_done() 74 struct subchannel *sch = to_subchannel(cdev->dev.parent); in nop_do() local 77 req->lpm = lpm_adjust(req->lpm, sch->schib.pmcw.pam & sch->opm & in nop_do() 86 verify_done(cdev, sch->vpm ? 0 : -EACCES); in nop_do() 106 struct subchannel *sch = to_subchannel(cdev->dev.parent); in nop_callback() local 111 sch->vpm |= req->lpm; in nop_callback() [all …]
|
D | chsc_sch.c | 53 static void chsc_subchannel_irq(struct subchannel *sch) in chsc_subchannel_irq() argument 55 struct chsc_private *private = dev_get_drvdata(&sch->dev); in chsc_subchannel_irq() 66 sch->schid.ssid, sch->schid.sch_no); in chsc_subchannel_irq() 71 cio_update_schib(sch); in chsc_subchannel_irq() 73 put_device(&sch->dev); in chsc_subchannel_irq() 76 static int chsc_subchannel_probe(struct subchannel *sch) in chsc_subchannel_probe() argument 82 sch->schid.ssid, sch->schid.sch_no); in chsc_subchannel_probe() 83 sch->isc = CHSC_SCH_ISC; in chsc_subchannel_probe() 87 dev_set_drvdata(&sch->dev, private); in chsc_subchannel_probe() 88 ret = cio_enable_subchannel(sch, (u32)(unsigned long)sch); in chsc_subchannel_probe() [all …]
|
D | ccwreq.c | 78 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccwreq_do() local 90 rc = cio_start(sch, cp, (u8) req->mask); in ccwreq_do() 106 rc = cio_clear(sch); in ccwreq_do() 153 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_request_cancel() local 160 rc = cio_clear(sch); in ccw_request_cancel() 329 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_request_timeout() local 333 if (cio_update_schib(sch)) in ccw_request_timeout() 337 if ((0x80 >> chp) & sch->schib.pmcw.lpum) in ccw_request_timeout() 340 scsw_cstat(&sch->schib.scsw), in ccw_request_timeout() 341 scsw_dstat(&sch->schib.scsw), in ccw_request_timeout() [all …]
|
D | device_status.c | 30 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_msg_control_check() local 41 cdev->private->dev_id.devno, sch->schid.ssid, in ccw_device_msg_control_check() 42 sch->schid.sch_no, in ccw_device_msg_control_check() 44 sprintf(dbf_text, "chk%x", sch->schid.sch_no); in ccw_device_msg_control_check() 55 struct subchannel *sch; in ccw_device_path_notoper() local 57 sch = to_subchannel(cdev->dev.parent); in ccw_device_path_notoper() 58 if (cio_update_schib(sch)) in ccw_device_path_notoper() 63 sch->schid.ssid, sch->schid.sch_no, in ccw_device_path_notoper() 64 sch->schib.pmcw.pnom); in ccw_device_path_notoper() 66 sch->lpm &= ~sch->schib.pmcw.pnom; in ccw_device_path_notoper() [all …]
|
D | vfio_ccw_ops.c | 23 struct subchannel *sch; in vfio_ccw_mdev_reset() local 27 sch = private->sch; in vfio_ccw_mdev_reset() 36 ret = vfio_ccw_sch_quiesce(sch); in vfio_ccw_mdev_reset() 40 ret = cio_enable_subchannel(sch, (u32)(unsigned long)sch); in vfio_ccw_mdev_reset() 128 mdev_uuid(mdev), private->sch->schid.cssid, in vfio_ccw_mdev_create() 129 private->sch->schid.ssid, in vfio_ccw_mdev_create() 130 private->sch->schid.sch_no); in vfio_ccw_mdev_create() 141 mdev_uuid(mdev), private->sch->schid.cssid, in vfio_ccw_mdev_remove() 142 private->sch->schid.ssid, in vfio_ccw_mdev_remove() 143 private->sch->schid.sch_no); in vfio_ccw_mdev_remove() [all …]
|
D | chsc.c | 92 u16 sch; /* subchannel */ member 213 static int s390_subchannel_remove_chpid(struct subchannel *sch, void *data) in s390_subchannel_remove_chpid() argument 215 spin_lock_irq(sch->lock); in s390_subchannel_remove_chpid() 216 if (sch->driver && sch->driver->chp_event) in s390_subchannel_remove_chpid() 217 if (sch->driver->chp_event(sch, data, CHP_OFFLINE) != 0) in s390_subchannel_remove_chpid() 219 spin_unlock_irq(sch->lock); in s390_subchannel_remove_chpid() 223 sch->lpm = 0; in s390_subchannel_remove_chpid() 224 spin_unlock_irq(sch->lock); in s390_subchannel_remove_chpid() 225 css_schedule_eval(sch->schid); in s390_subchannel_remove_chpid() 252 static int __s390_process_res_acc(struct subchannel *sch, void *data) in __s390_process_res_acc() argument [all …]
|
D | io_sch.h | 32 static inline struct ccw_device *sch_get_cdev(struct subchannel *sch) in sch_get_cdev() argument 34 struct io_subchannel_private *priv = to_io_private(sch); in sch_get_cdev() 38 static inline void sch_set_cdev(struct subchannel *sch, in sch_set_cdev() argument 41 struct io_subchannel_private *priv = to_io_private(sch); in sch_set_cdev() 132 struct subchannel *sch; member
|
D | cio.h | 134 extern int cio_update_schib(struct subchannel *sch); 135 extern int cio_commit_config(struct subchannel *sch); 137 int cio_tm_start_key(struct subchannel *sch, struct tcw *tcw, u8 lpm, u8 key); 138 int cio_tm_intrg(struct subchannel *sch); 147 extern void cio_tsch(struct subchannel *sch);
|
D | vfio_ccw_private.h | 79 struct subchannel *sch; member 99 extern int vfio_ccw_mdev_reg(struct subchannel *sch); 100 extern void vfio_ccw_mdev_unreg(struct subchannel *sch); 102 extern int vfio_ccw_sch_quiesce(struct subchannel *sch);
|
D | cmf.c | 178 struct subchannel *sch = to_subchannel(cdev->dev.parent); in set_schib() local 181 sch->config.mme = mme; in set_schib() 182 sch->config.mbfc = mbfc; in set_schib() 185 sch->config.mba = address; in set_schib() 187 sch->config.mbi = address; in set_schib() 189 ret = cio_commit_config(sch); in set_schib() 271 struct subchannel *sch = to_subchannel(cdev->dev.parent); in cmf_copy_block() local 275 if (cio_update_schib(sch)) in cmf_copy_block() 278 if (scsw_fctl(&sch->schib.scsw) & SCSW_FCTL_START_FUNC) { in cmf_copy_block() 280 if ((!(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_SUSPENDED)) && in cmf_copy_block() [all …]
|
D | device_id.c | 203 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_sense_id_start() local 221 req->lpm = sch->schib.pmcw.pam & sch->opm; in ccw_device_sense_id_start()
|
D | css.h | 115 void css_update_ssd_info(struct subchannel *sch); 156 void css_sched_sch_todo(struct subchannel *sch, enum sch_todo todo);
|
D | eadm_sch.h | 15 struct subchannel *sch; member
|
D | chp.h | 63 u8 chp_get_sch_opm(struct subchannel *sch);
|
D | device.h | 88 void io_subchannel_init_config(struct subchannel *sch);
|
/drivers/gpio/ |
D | gpio-sch.c | 29 static unsigned sch_gpio_offset(struct sch_gpio *sch, unsigned gpio, in sch_gpio_offset() argument 34 if (gpio >= sch->resume_base) { in sch_gpio_offset() 35 gpio -= sch->resume_base; in sch_gpio_offset() 42 static unsigned sch_gpio_bit(struct sch_gpio *sch, unsigned gpio) in sch_gpio_bit() argument 44 if (gpio >= sch->resume_base) in sch_gpio_bit() 45 gpio -= sch->resume_base; in sch_gpio_bit() 49 static int sch_gpio_reg_get(struct sch_gpio *sch, unsigned gpio, unsigned reg) in sch_gpio_reg_get() argument 54 offset = sch_gpio_offset(sch, gpio, reg); in sch_gpio_reg_get() 55 bit = sch_gpio_bit(sch, gpio); in sch_gpio_reg_get() 57 reg_val = !!(inb(sch->iobase + offset) & BIT(bit)); in sch_gpio_reg_get() [all …]
|
/drivers/usb/host/ |
D | Makefile | 23 xhci-hcd-y += xhci-mtk-sch.o
|