/Linux-v6.6/drivers/gpio/ |
D | gpio-sch.c | 50 static unsigned int sch_gpio_offset(struct sch_gpio *sch, unsigned int gpio, in sch_gpio_offset() argument 55 if (gpio >= sch->resume_base) { in sch_gpio_offset() 56 gpio -= sch->resume_base; in sch_gpio_offset() 63 static unsigned int sch_gpio_bit(struct sch_gpio *sch, unsigned int gpio) in sch_gpio_bit() argument 65 if (gpio >= sch->resume_base) in sch_gpio_bit() 66 gpio -= sch->resume_base; in sch_gpio_bit() 70 static int sch_gpio_reg_get(struct sch_gpio *sch, unsigned int gpio, unsigned int reg) in sch_gpio_reg_get() argument 75 offset = sch_gpio_offset(sch, gpio, reg); in sch_gpio_reg_get() 76 bit = sch_gpio_bit(sch, gpio); in sch_gpio_reg_get() 78 reg_val = !!(inb(sch->iobase + offset) & BIT(bit)); in sch_gpio_reg_get() [all …]
|
/Linux-v6.6/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 | 60 static int eadm_subchannel_start(struct subchannel *sch, struct aob *aob) in eadm_subchannel_start() argument 62 union orb *orb = &get_eadm_private(sch)->orb; in eadm_subchannel_start() 67 orb->eadm.intparm = (u32)virt_to_phys(sch); in eadm_subchannel_start() 71 EADM_LOG_HEX(6, &sch->schid, sizeof(sch->schid)); in eadm_subchannel_start() 73 cc = ssch(sch->schid, orb); in eadm_subchannel_start() 76 sch->schib.scsw.eadm.actl |= SCSW_ACTL_START_PEND; in eadm_subchannel_start() 87 static int eadm_subchannel_clear(struct subchannel *sch) in eadm_subchannel_clear() argument 91 cc = csch(sch->schid); in eadm_subchannel_clear() 95 sch->schib.scsw.eadm.actl |= SCSW_ACTL_CLEAR_PEND; in eadm_subchannel_clear() 102 struct subchannel *sch = private->sch; in eadm_subchannel_timeout() local [all …]
|
D | css.c | 71 struct subchannel *sch = to_subchannel(dev); in call_fn_known_sch() local 76 idset_sch_del(cb->set, sch->schid); in call_fn_known_sch() 78 rc = cb->fn_known_sch(sch, cb->data); in call_fn_known_sch() 95 struct subchannel *sch; in call_fn_all_sch() local 98 sch = get_subchannel_by_schid(schid); in call_fn_all_sch() 99 if (sch) { in call_fn_all_sch() 101 rc = cb->fn_known_sch(sch, cb->data); in call_fn_all_sch() 102 put_device(&sch->dev); in call_fn_all_sch() 151 static int css_sch_create_locks(struct subchannel *sch) in css_sch_create_locks() argument 153 sch->lock = kmalloc(sizeof(*sch->lock), GFP_KERNEL); in css_sch_create_locks() [all …]
|
D | device.c | 276 struct subchannel *sch; in ccw_device_set_offline() local 290 sch = to_subchannel(cdev->dev.parent); in ccw_device_set_offline() 311 io_subchannel_quiesce(sch); in ccw_device_set_offline() 543 struct subchannel *sch; in available_show() local 553 sch = to_subchannel(dev->parent); in available_show() 554 if (!sch->lpm) in available_show() 568 struct subchannel *sch = to_subchannel(dev); in initiate_logging() local 571 rc = chsc_siosl(sch->schid); in initiate_logging() 574 sch->schid.ssid, sch->schid.sch_no, rc); in initiate_logging() 578 sch->schid.ssid, sch->schid.sch_no); in initiate_logging() [all …]
|
D | vfio_ccw_drv.c | 37 int vfio_ccw_sch_quiesce(struct subchannel *sch) in vfio_ccw_sch_quiesce() argument 39 struct vfio_ccw_parent *parent = dev_get_drvdata(&sch->dev); in vfio_ccw_sch_quiesce() 55 ret = cio_cancel_halt_clear(sch, &iretry); in vfio_ccw_sch_quiesce() 59 sch->schid.ssid, sch->schid.sch_no); in vfio_ccw_sch_quiesce() 68 spin_unlock_irq(sch->lock); in vfio_ccw_sch_quiesce() 75 spin_lock_irq(sch->lock); in vfio_ccw_sch_quiesce() 76 ret = cio_disable_subchannel(sch); in vfio_ccw_sch_quiesce() 131 static void vfio_ccw_sch_irq(struct subchannel *sch) in vfio_ccw_sch_irq() argument 133 struct vfio_ccw_parent *parent = dev_get_drvdata(&sch->dev); in vfio_ccw_sch_irq() 144 sch->schid.cssid, sch->schid.ssid, in vfio_ccw_sch_irq() [all …]
|
D | vfio_ccw_fsm.c | 21 struct subchannel *sch = to_subchannel(private->vdev.dev->parent); in fsm_io_helper() local 28 spin_lock_irqsave(sch->lock, flags); in fsm_io_helper() 30 orb = cp_get_orb(&private->cp, sch); in fsm_io_helper() 37 VFIO_CCW_TRACE_EVENT(5, dev_name(&sch->dev)); in fsm_io_helper() 40 ccode = ssch(sch->schid, orb); in fsm_io_helper() 49 sch->schib.scsw.cmd.actl |= SCSW_ACTL_START_PEND; in fsm_io_helper() 61 sch->lpm &= ~lpm; in fsm_io_helper() 63 sch->lpm = 0; in fsm_io_helper() 65 if (cio_update_schib(sch)) in fsm_io_helper() 68 ret = sch->lpm ? -EACCES : -ENODEV; in fsm_io_helper() [all …]
|
D | device_fsm.c | 41 struct subchannel *sch; in ccw_timeout_log() local 46 sch = to_subchannel(cdev->dev.parent); in ccw_timeout_log() 47 private = to_io_private(sch); in ccw_timeout_log() 49 cc = stsch(sch->schid, &schib); in ccw_timeout_log() 59 dev_name(&sch->dev)); in ccw_timeout_log() 61 "vpm: %02x\n", sch->lpm, sch->opm, sch->vpm); in ccw_timeout_log() 126 struct subchannel *sch; in ccw_device_cancel_halt_clear() local 129 sch = to_subchannel(cdev->dev.parent); in ccw_device_cancel_halt_clear() 130 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 …]
|
/Linux-v6.6/net/sched/ |
D | sch_fifo.c | 19 static int bfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch, in bfifo_enqueue() argument 22 if (likely(sch->qstats.backlog + qdisc_pkt_len(skb) <= sch->limit)) in bfifo_enqueue() 23 return qdisc_enqueue_tail(skb, sch); in bfifo_enqueue() 25 return qdisc_drop(skb, sch, to_free); in bfifo_enqueue() 28 static int pfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch, in pfifo_enqueue() argument 31 if (likely(sch->q.qlen < sch->limit)) in pfifo_enqueue() 32 return qdisc_enqueue_tail(skb, sch); in pfifo_enqueue() 34 return qdisc_drop(skb, sch, to_free); in pfifo_enqueue() 37 static int pfifo_tail_enqueue(struct sk_buff *skb, struct Qdisc *sch, in pfifo_tail_enqueue() argument 42 if (likely(sch->q.qlen < sch->limit)) in pfifo_tail_enqueue() [all …]
|
D | sch_mq.c | 24 static int mq_offload(struct Qdisc *sch, enum tc_mq_command cmd) in mq_offload() argument 26 struct net_device *dev = qdisc_dev(sch); in mq_offload() 29 .handle = sch->handle, in mq_offload() 38 static int mq_offload_stats(struct Qdisc *sch) in mq_offload_stats() argument 42 .handle = sch->handle, in mq_offload_stats() 44 .bstats = &sch->bstats, in mq_offload_stats() 45 .qstats = &sch->qstats, in mq_offload_stats() 49 return qdisc_offload_dump_helper(sch, TC_SETUP_QDISC_MQ, &opt); in mq_offload_stats() 52 static void mq_destroy(struct Qdisc *sch) in mq_destroy() argument 54 struct net_device *dev = qdisc_dev(sch); in mq_destroy() [all …]
|
D | sch_prio.c | 31 prio_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr) in prio_classify() argument 33 struct prio_sched_data *q = qdisc_priv(sch); in prio_classify() 40 if (TC_H_MAJ(skb->priority) != sch->handle) { in prio_classify() 69 prio_enqueue(struct sk_buff *skb, struct Qdisc *sch, struct sk_buff **to_free) in prio_enqueue() argument 75 qdisc = prio_classify(skb, sch, &ret); in prio_enqueue() 80 qdisc_qstats_drop(sch); in prio_enqueue() 88 sch->qstats.backlog += len; in prio_enqueue() 89 sch->q.qlen++; in prio_enqueue() 93 qdisc_qstats_drop(sch); in prio_enqueue() 97 static struct sk_buff *prio_peek(struct Qdisc *sch) in prio_peek() argument [all …]
|
D | sch_codel.c | 71 struct Qdisc *sch = ctx; in dequeue_func() local 72 struct sk_buff *skb = __qdisc_dequeue_head(&sch->q); in dequeue_func() 75 sch->qstats.backlog -= qdisc_pkt_len(skb); in dequeue_func() 83 struct Qdisc *sch = ctx; in drop_func() local 86 qdisc_qstats_drop(sch); in drop_func() 89 static struct sk_buff *codel_qdisc_dequeue(struct Qdisc *sch) in codel_qdisc_dequeue() argument 91 struct codel_sched_data *q = qdisc_priv(sch); in codel_qdisc_dequeue() 94 skb = codel_dequeue(sch, &sch->qstats.backlog, &q->params, &q->vars, in codel_qdisc_dequeue() 101 if (q->stats.drop_count && sch->q.qlen) { in codel_qdisc_dequeue() 102 qdisc_tree_reduce_backlog(sch, q->stats.drop_count, q->stats.drop_len); in codel_qdisc_dequeue() [all …]
|
D | sch_ingress.c | 24 static struct Qdisc *ingress_leaf(struct Qdisc *sch, unsigned long arg) in ingress_leaf() argument 29 static unsigned long ingress_find(struct Qdisc *sch, u32 classid) in ingress_find() argument 34 static unsigned long ingress_bind_filter(struct Qdisc *sch, in ingress_bind_filter() argument 37 return ingress_find(sch, classid); in ingress_bind_filter() 40 static void ingress_unbind_filter(struct Qdisc *sch, unsigned long cl) in ingress_unbind_filter() argument 44 static void ingress_walk(struct Qdisc *sch, struct qdisc_walker *walker) in ingress_walk() argument 48 static struct tcf_block *ingress_tcf_block(struct Qdisc *sch, unsigned long cl, in ingress_tcf_block() argument 51 struct ingress_sched_data *q = qdisc_priv(sch); in ingress_tcf_block() 63 static void ingress_ingress_block_set(struct Qdisc *sch, u32 block_index) in ingress_ingress_block_set() argument 65 struct ingress_sched_data *q = qdisc_priv(sch); in ingress_ingress_block_set() [all …]
|
D | sch_red.c | 44 struct Qdisc *sch; member 70 static int red_enqueue(struct sk_buff *skb, struct Qdisc *sch, in red_enqueue() argument 73 struct red_sched_data *q = qdisc_priv(sch); in red_enqueue() 90 qdisc_qstats_overlimit(sch); in red_enqueue() 98 skb = tcf_qevent_handle(&q->qe_mark, sch, skb, to_free, &ret); in red_enqueue() 110 qdisc_qstats_overlimit(sch); in red_enqueue() 118 skb = tcf_qevent_handle(&q->qe_mark, sch, skb, to_free, &ret); in red_enqueue() 133 sch->qstats.backlog += len; in red_enqueue() 134 sch->q.qlen++; in red_enqueue() 137 qdisc_qstats_drop(sch); in red_enqueue() [all …]
|
D | sch_ets.c | 77 static int ets_quantum_parse(struct Qdisc *sch, const struct nlattr *attr, in ets_quantum_parse() argument 90 ets_class_from_arg(struct Qdisc *sch, unsigned long arg) in ets_class_from_arg() argument 92 struct ets_sched *q = qdisc_priv(sch); in ets_class_from_arg() 97 static u32 ets_class_id(struct Qdisc *sch, const struct ets_class *cl) in ets_class_id() argument 99 struct ets_sched *q = qdisc_priv(sch); in ets_class_id() 102 return TC_H_MAKE(sch->handle, band + 1); in ets_class_id() 105 static void ets_offload_change(struct Qdisc *sch) in ets_offload_change() argument 107 struct net_device *dev = qdisc_dev(sch); in ets_offload_change() 108 struct ets_sched *q = qdisc_priv(sch); in ets_offload_change() 122 qopt.handle = sch->handle; in ets_offload_change() [all …]
|
D | sch_multiq.c | 30 multiq_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr) in multiq_classify() argument 32 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_classify() 60 multiq_enqueue(struct sk_buff *skb, struct Qdisc *sch, in multiq_enqueue() argument 66 qdisc = multiq_classify(skb, sch, &ret); in multiq_enqueue() 71 qdisc_qstats_drop(sch); in multiq_enqueue() 79 sch->q.qlen++; in multiq_enqueue() 83 qdisc_qstats_drop(sch); in multiq_enqueue() 87 static struct sk_buff *multiq_dequeue(struct Qdisc *sch) in multiq_dequeue() argument 89 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_dequeue() 104 netdev_get_tx_queue(qdisc_dev(sch), q->curband))) { in multiq_dequeue() [all …]
|
D | sch_tbf.c | 142 static void tbf_offload_change(struct Qdisc *sch) in tbf_offload_change() argument 144 struct tbf_sched_data *q = qdisc_priv(sch); in tbf_offload_change() 145 struct net_device *dev = qdisc_dev(sch); in tbf_offload_change() 152 qopt.handle = sch->handle; in tbf_offload_change() 153 qopt.parent = sch->parent; in tbf_offload_change() 156 qopt.replace_params.qstats = &sch->qstats; in tbf_offload_change() 161 static void tbf_offload_destroy(struct Qdisc *sch) in tbf_offload_destroy() argument 163 struct net_device *dev = qdisc_dev(sch); in tbf_offload_destroy() 170 qopt.handle = sch->handle; in tbf_offload_destroy() 171 qopt.parent = sch->parent; in tbf_offload_destroy() [all …]
|
D | sch_drr.c | 38 static struct drr_class *drr_find_class(struct Qdisc *sch, u32 classid) in drr_find_class() argument 40 struct drr_sched *q = qdisc_priv(sch); in drr_find_class() 53 static int drr_change_class(struct Qdisc *sch, u32 classid, u32 parentid, in drr_change_class() argument 57 struct drr_sched *q = qdisc_priv(sch); in drr_change_class() 81 quantum = psched_mtu(qdisc_dev(sch)); in drr_change_class() 95 sch_tree_lock(sch); in drr_change_class() 98 sch_tree_unlock(sch); in drr_change_class() 110 cl->qdisc = qdisc_create_dflt(sch->dev_queue, in drr_change_class() 129 sch_tree_lock(sch); in drr_change_class() 131 sch_tree_unlock(sch); in drr_change_class() [all …]
|
D | sch_etf.c | 75 static bool is_packet_valid(struct Qdisc *sch, struct sk_buff *nskb) in is_packet_valid() argument 77 struct etf_sched_data *q = qdisc_priv(sch); in is_packet_valid() 108 static struct sk_buff *etf_peek_timesortedlist(struct Qdisc *sch) in etf_peek_timesortedlist() argument 110 struct etf_sched_data *q = qdisc_priv(sch); in etf_peek_timesortedlist() 120 static void reset_watchdog(struct Qdisc *sch) in reset_watchdog() argument 122 struct etf_sched_data *q = qdisc_priv(sch); in reset_watchdog() 123 struct sk_buff *skb = etf_peek_timesortedlist(sch); in reset_watchdog() 162 static int etf_enqueue_timesortedlist(struct sk_buff *nskb, struct Qdisc *sch, in etf_enqueue_timesortedlist() argument 165 struct etf_sched_data *q = qdisc_priv(sch); in etf_enqueue_timesortedlist() 170 if (!is_packet_valid(sch, nskb)) { in etf_enqueue_timesortedlist() [all …]
|
D | sch_cbs.c | 81 int (*enqueue)(struct sk_buff *skb, struct Qdisc *sch, 83 struct sk_buff *(*dequeue)(struct Qdisc *sch); 88 static int cbs_child_enqueue(struct sk_buff *skb, struct Qdisc *sch, in cbs_child_enqueue() argument 99 sch->qstats.backlog += len; in cbs_child_enqueue() 100 sch->q.qlen++; in cbs_child_enqueue() 105 static int cbs_enqueue_offload(struct sk_buff *skb, struct Qdisc *sch, in cbs_enqueue_offload() argument 108 struct cbs_sched_data *q = qdisc_priv(sch); in cbs_enqueue_offload() 111 return cbs_child_enqueue(skb, sch, qdisc, to_free); in cbs_enqueue_offload() 114 static int cbs_enqueue_soft(struct sk_buff *skb, struct Qdisc *sch, in cbs_enqueue_soft() argument 117 struct cbs_sched_data *q = qdisc_priv(sch); in cbs_enqueue_soft() [all …]
|
D | sch_skbprio.c | 68 static int skbprio_enqueue(struct sk_buff *skb, struct Qdisc *sch, in skbprio_enqueue() argument 72 struct skbprio_sched_data *q = qdisc_priv(sch); in skbprio_enqueue() 82 if (sch->q.qlen < sch->limit) { in skbprio_enqueue() 84 qdisc_qstats_backlog_inc(sch, skb); in skbprio_enqueue() 94 sch->q.qlen++; in skbprio_enqueue() 103 return qdisc_drop(skb, sch, to_free); in skbprio_enqueue() 107 qdisc_qstats_backlog_inc(sch, skb); in skbprio_enqueue() 114 qdisc_qstats_backlog_dec(sch, to_drop); in skbprio_enqueue() 115 qdisc_drop(to_drop, sch, to_free); in skbprio_enqueue() 125 BUG_ON(sch->q.qlen != 1); in skbprio_enqueue() [all …]
|
D | sch_fq_codel.c | 76 static unsigned int fq_codel_classify(struct sk_buff *skb, struct Qdisc *sch, in fq_codel_classify() argument 79 struct fq_codel_sched_data *q = qdisc_priv(sch); in fq_codel_classify() 84 if (TC_H_MAJ(skb->priority) == sch->handle && in fq_codel_classify() 137 static unsigned int fq_codel_drop(struct Qdisc *sch, unsigned int max_packets, in fq_codel_drop() argument 140 struct fq_codel_sched_data *q = qdisc_priv(sch); in fq_codel_drop() 178 sch->qstats.drops += i; in fq_codel_drop() 179 sch->qstats.backlog -= len; in fq_codel_drop() 180 sch->q.qlen -= i; in fq_codel_drop() 184 static int fq_codel_enqueue(struct sk_buff *skb, struct Qdisc *sch, in fq_codel_enqueue() argument 187 struct fq_codel_sched_data *q = qdisc_priv(sch); in fq_codel_enqueue() [all …]
|
D | sch_pie.c | 30 struct Qdisc *sch; member 33 bool pie_drop_early(struct Qdisc *sch, struct pie_params *params, in pie_drop_early() argument 38 u32 mtu = psched_mtu(qdisc_dev(sch)); in pie_drop_early() 85 static int pie_qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch, in pie_qdisc_enqueue() argument 88 struct pie_sched_data *q = qdisc_priv(sch); in pie_qdisc_enqueue() 91 if (unlikely(qdisc_qlen(sch) >= sch->limit)) { in pie_qdisc_enqueue() 96 if (!pie_drop_early(sch, &q->params, &q->vars, sch->qstats.backlog, in pie_qdisc_enqueue() 115 if (qdisc_qlen(sch) > q->stats.maxq) in pie_qdisc_enqueue() 116 q->stats.maxq = qdisc_qlen(sch); in pie_qdisc_enqueue() 118 return qdisc_enqueue_tail(skb, sch); in pie_qdisc_enqueue() [all …]
|
D | sch_mqprio.c | 34 static int mqprio_enable_offload(struct Qdisc *sch, in mqprio_enable_offload() argument 38 struct mqprio_sched *priv = qdisc_priv(sch); in mqprio_enable_offload() 39 struct net_device *dev = qdisc_dev(sch); in mqprio_enable_offload() 80 static void mqprio_disable_offload(struct Qdisc *sch) in mqprio_disable_offload() argument 83 struct mqprio_sched *priv = qdisc_priv(sch); in mqprio_disable_offload() 84 struct net_device *dev = qdisc_dev(sch); in mqprio_disable_offload() 95 static void mqprio_destroy(struct Qdisc *sch) in mqprio_destroy() argument 97 struct net_device *dev = qdisc_dev(sch); in mqprio_destroy() 98 struct mqprio_sched *priv = qdisc_priv(sch); in mqprio_destroy() 110 mqprio_disable_offload(sch); in mqprio_destroy() [all …]
|
/Linux-v6.6/include/net/ |
D | sch_generic.h | 74 struct Qdisc *sch, 76 struct sk_buff * (*dequeue)(struct Qdisc *sch); 268 struct tcf_block * (*tcf_block)(struct Qdisc *sch, 297 struct Qdisc *sch, 302 int (*init)(struct Qdisc *sch, struct nlattr *arg, 306 int (*change)(struct Qdisc *sch, 309 void (*attach)(struct Qdisc *sch); 311 void (*change_real_num_tx)(struct Qdisc *sch, 317 void (*ingress_block_set)(struct Qdisc *sch, 319 void (*egress_block_set)(struct Qdisc *sch, [all …]
|