/drivers/gpio/ |
D | gpio-sch.c | 44 static unsigned sch_gpio_offset(struct sch_gpio *sch, unsigned gpio, in sch_gpio_offset() argument 49 if (gpio >= sch->resume_base) { in sch_gpio_offset() 50 gpio -= sch->resume_base; in sch_gpio_offset() 57 static unsigned sch_gpio_bit(struct sch_gpio *sch, unsigned gpio) in sch_gpio_bit() argument 59 if (gpio >= sch->resume_base) in sch_gpio_bit() 60 gpio -= sch->resume_base; in sch_gpio_bit() 64 static int sch_gpio_reg_get(struct sch_gpio *sch, unsigned gpio, unsigned reg) in sch_gpio_reg_get() argument 69 offset = sch_gpio_offset(sch, gpio, reg); in sch_gpio_reg_get() 70 bit = sch_gpio_bit(sch, gpio); in sch_gpio_reg_get() 72 reg_val = !!(inb(sch->iobase + offset) & BIT(bit)); in sch_gpio_reg_get() [all …]
|
/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 | 64 static int eadm_subchannel_start(struct subchannel *sch, struct aob *aob) in eadm_subchannel_start() argument 66 union orb *orb = &get_eadm_private(sch)->orb; in eadm_subchannel_start() 71 orb->eadm.intparm = (u32)(addr_t)sch; in eadm_subchannel_start() 75 EADM_LOG_HEX(6, &sch->schid, sizeof(sch->schid)); in eadm_subchannel_start() 77 cc = ssch(sch->schid, orb); in eadm_subchannel_start() 80 sch->schib.scsw.eadm.actl |= SCSW_ACTL_START_PEND; in eadm_subchannel_start() 91 static int eadm_subchannel_clear(struct subchannel *sch) in eadm_subchannel_clear() argument 95 cc = csch(sch->schid); in eadm_subchannel_clear() 99 sch->schib.scsw.eadm.actl |= SCSW_ACTL_CLEAR_PEND; in eadm_subchannel_clear() 105 struct subchannel *sch = (struct subchannel *) data; in eadm_subchannel_timeout() local [all …]
|
D | css.c | 70 struct subchannel *sch = to_subchannel(dev); in call_fn_known_sch() local 75 idset_sch_del(cb->set, sch->schid); in call_fn_known_sch() 77 rc = cb->fn_known_sch(sch, cb->data); in call_fn_known_sch() 94 struct subchannel *sch; in call_fn_all_sch() local 97 sch = get_subchannel_by_schid(schid); in call_fn_all_sch() 98 if (sch) { in call_fn_all_sch() 100 rc = cb->fn_known_sch(sch, cb->data); in call_fn_all_sch() 101 put_device(&sch->dev); in call_fn_all_sch() 150 static int css_sch_create_locks(struct subchannel *sch) in css_sch_create_locks() argument 152 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 | 28 int vfio_ccw_sch_quiesce(struct subchannel *sch) in vfio_ccw_sch_quiesce() argument 30 struct vfio_ccw_private *private = dev_get_drvdata(&sch->dev); in vfio_ccw_sch_quiesce() 34 spin_lock_irq(sch->lock); in vfio_ccw_sch_quiesce() 35 if (!sch->schib.pmcw.ena) in vfio_ccw_sch_quiesce() 37 ret = cio_disable_subchannel(sch); in vfio_ccw_sch_quiesce() 44 ret = cio_cancel_halt_clear(sch, &iretry); in vfio_ccw_sch_quiesce() 48 sch->schid.ssid, sch->schid.sch_no); in vfio_ccw_sch_quiesce() 57 spin_unlock_irq(sch->lock); in vfio_ccw_sch_quiesce() 64 spin_lock_irq(sch->lock); in vfio_ccw_sch_quiesce() 65 ret = cio_disable_subchannel(sch); in vfio_ccw_sch_quiesce() [all …]
|
D | device_fsm.c | 39 struct subchannel *sch; in ccw_timeout_log() local 44 sch = to_subchannel(cdev->dev.parent); in ccw_timeout_log() 45 private = to_io_private(sch); in ccw_timeout_log() 47 cc = stsch(sch->schid, &schib); in ccw_timeout_log() 57 dev_name(&sch->dev)); in ccw_timeout_log() 59 "vpm: %02x\n", sch->lpm, sch->opm, sch->vpm); in ccw_timeout_log() 130 struct subchannel *sch; in ccw_device_cancel_halt_clear() local 133 sch = to_subchannel(cdev->dev.parent); in ccw_device_cancel_halt_clear() 134 ret = cio_cancel_halt_clear(sch, &cdev->private->iretry); in ccw_device_cancel_halt_clear() 167 __recover_lost_chpids(struct subchannel *sch, int old_lpm) in __recover_lost_chpids() argument [all …]
|
D | device_ops.c | 142 struct subchannel *sch; in ccw_device_clear() local 147 sch = to_subchannel(cdev->dev.parent); in ccw_device_clear() 148 if (!sch->schib.pmcw.ena) in ccw_device_clear() 156 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 | vfio_ccw_fsm.c | 18 struct subchannel *sch; in fsm_io_helper() local 25 sch = private->sch; in fsm_io_helper() 27 spin_lock_irqsave(sch->lock, flags); in fsm_io_helper() 30 orb = cp_get_orb(&private->cp, (u32)(addr_t)sch, sch->lpm); in fsm_io_helper() 33 ccode = ssch(sch->schid, orb); in fsm_io_helper() 40 sch->schib.scsw.cmd.actl |= SCSW_ACTL_START_PEND; in fsm_io_helper() 51 sch->lpm &= ~lpm; in fsm_io_helper() 53 sch->lpm = 0; in fsm_io_helper() 55 if (cio_update_schib(sch)) in fsm_io_helper() 58 ret = sch->lpm ? -EACCES : -ENODEV; in fsm_io_helper() [all …]
|
D | chsc_sch.c | 57 static void chsc_subchannel_irq(struct subchannel *sch) in chsc_subchannel_irq() argument 59 struct chsc_private *private = dev_get_drvdata(&sch->dev); in chsc_subchannel_irq() 70 sch->schid.ssid, sch->schid.sch_no); in chsc_subchannel_irq() 75 cio_update_schib(sch); in chsc_subchannel_irq() 77 put_device(&sch->dev); in chsc_subchannel_irq() 80 static int chsc_subchannel_probe(struct subchannel *sch) in chsc_subchannel_probe() argument 86 sch->schid.ssid, sch->schid.sch_no); in chsc_subchannel_probe() 87 sch->isc = CHSC_SCH_ISC; in chsc_subchannel_probe() 91 dev_set_drvdata(&sch->dev, private); in chsc_subchannel_probe() 92 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() 328 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_request_timeout() local 332 if (cio_update_schib(sch)) in ccw_request_timeout() 336 if ((0x80 >> chp) & sch->schib.pmcw.lpum) in ccw_request_timeout() 339 scsw_cstat(&sch->schib.scsw), in ccw_request_timeout() 340 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 | 19 struct subchannel *sch; in vfio_ccw_mdev_reset() local 23 sch = private->sch; in vfio_ccw_mdev_reset() 32 ret = vfio_ccw_sch_quiesce(sch); in vfio_ccw_mdev_reset() 36 ret = cio_enable_subchannel(sch, (u32)(unsigned long)sch); in vfio_ccw_mdev_reset() 133 if (!vfio_ccw_sch_quiesce(private->sch)) in vfio_ccw_mdev_remove() 427 int vfio_ccw_mdev_reg(struct subchannel *sch) in vfio_ccw_mdev_reg() argument 429 return mdev_register_device(&sch->dev, &vfio_ccw_mdev_ops); in vfio_ccw_mdev_reg() 432 void vfio_ccw_mdev_unreg(struct subchannel *sch) in vfio_ccw_mdev_unreg() argument 434 mdev_unregister_device(&sch->dev); in vfio_ccw_mdev_unreg()
|
D | chsc.c | 90 u16 sch; /* subchannel */ member 211 static int s390_subchannel_remove_chpid(struct subchannel *sch, void *data) in s390_subchannel_remove_chpid() argument 213 spin_lock_irq(sch->lock); in s390_subchannel_remove_chpid() 214 if (sch->driver && sch->driver->chp_event) in s390_subchannel_remove_chpid() 215 if (sch->driver->chp_event(sch, data, CHP_OFFLINE) != 0) in s390_subchannel_remove_chpid() 217 spin_unlock_irq(sch->lock); in s390_subchannel_remove_chpid() 221 sch->lpm = 0; in s390_subchannel_remove_chpid() 222 spin_unlock_irq(sch->lock); in s390_subchannel_remove_chpid() 223 css_schedule_eval(sch->schid); in s390_subchannel_remove_chpid() 250 static int __s390_process_res_acc(struct subchannel *sch, void *data) in __s390_process_res_acc() argument [all …]
|
D | vfio_ccw_private.h | 38 struct subchannel *sch; member 54 extern int vfio_ccw_mdev_reg(struct subchannel *sch); 55 extern void vfio_ccw_mdev_unreg(struct subchannel *sch); 57 extern int vfio_ccw_sch_quiesce(struct subchannel *sch);
|
D | io_sch.h | 27 static inline struct ccw_device *sch_get_cdev(struct subchannel *sch) in sch_get_cdev() argument 29 struct io_subchannel_private *priv = to_io_private(sch); in sch_get_cdev() 33 static inline void sch_set_cdev(struct subchannel *sch, in sch_set_cdev() argument 36 struct io_subchannel_private *priv = to_io_private(sch); in sch_set_cdev() 120 struct subchannel *sch; member
|
D | cio.h | 133 extern int cio_update_schib(struct subchannel *sch); 134 extern int cio_commit_config(struct subchannel *sch); 136 int cio_tm_start_key(struct subchannel *sch, struct tcw *tcw, u8 lpm, u8 key); 137 int cio_tm_intrg(struct subchannel *sch); 144 extern void cio_tsch(struct subchannel *sch);
|
D | cmf.c | 190 struct subchannel *sch = to_subchannel(cdev->dev.parent); in set_schib() local 193 sch->config.mme = mme; in set_schib() 194 sch->config.mbfc = mbfc; in set_schib() 197 sch->config.mba = address; in set_schib() 199 sch->config.mbi = address; in set_schib() 201 ret = cio_commit_config(sch); in set_schib() 306 struct subchannel *sch; in cmf_copy_block() local 311 sch = to_subchannel(cdev->dev.parent); in cmf_copy_block() 313 if (cio_update_schib(sch)) in cmf_copy_block() 316 if (scsw_fctl(&sch->schib.scsw) & SCSW_FCTL_START_FUNC) { in cmf_copy_block() [all …]
|
D | device_id.c | 201 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_sense_id_start() local 219 req->lpm = sch->schib.pmcw.pam & sch->opm; in ccw_device_sense_id_start()
|
D | css.h | 114 void css_update_ssd_info(struct subchannel *sch); 155 void css_sched_sch_todo(struct subchannel *sch, enum sch_todo todo);
|
D | eadm_sch.h | 15 struct subchannel *sch; member
|
D | chp.h | 62 u8 chp_get_sch_opm(struct subchannel *sch);
|
D | device.h | 87 void io_subchannel_init_config(struct subchannel *sch);
|
/drivers/usb/host/ |
D | Makefile | 18 xhci-hcd-y += xhci-mtk-sch.o
|