Home
last modified time | relevance | path

Searched refs:sch (Results 1 – 25 of 81) sorted by relevance

1234

/Linux-v4.19/drivers/s390/cio/
Dcio.c88 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 …]
Deadm_sch.c59 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 …]
Dcss.c70 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 …]
Dvfio_ccw_drv.c30 int vfio_ccw_sch_quiesce(struct subchannel *sch) in vfio_ccw_sch_quiesce() argument
32 struct vfio_ccw_private *private = dev_get_drvdata(&sch->dev); in vfio_ccw_sch_quiesce()
36 spin_lock_irq(sch->lock); in vfio_ccw_sch_quiesce()
37 if (!sch->schib.pmcw.ena) in vfio_ccw_sch_quiesce()
39 ret = cio_disable_subchannel(sch); in vfio_ccw_sch_quiesce()
46 ret = cio_cancel_halt_clear(sch, &iretry); in vfio_ccw_sch_quiesce()
53 spin_unlock_irq(sch->lock); in vfio_ccw_sch_quiesce()
57 spin_lock_irq(sch->lock); in vfio_ccw_sch_quiesce()
60 ret = cio_cancel_halt_clear(sch, &iretry); in vfio_ccw_sch_quiesce()
63 ret = cio_disable_subchannel(sch); in vfio_ccw_sch_quiesce()
[all …]
Ddevice.c151 static int io_subchannel_prepare(struct subchannel *sch) in io_subchannel_prepare() argument
158 cdev = sch_get_cdev(sch); in io_subchannel_prepare()
286 struct subchannel *sch; in ccw_device_set_offline() local
300 sch = to_subchannel(cdev->dev.parent); in ccw_device_set_offline()
321 io_subchannel_quiesce(sch); in ccw_device_set_offline()
553 struct subchannel *sch; in available_show() local
563 sch = to_subchannel(dev->parent); in available_show()
564 if (!sch->lpm) in available_show()
578 struct subchannel *sch = to_subchannel(dev); in initiate_logging() local
581 rc = chsc_siosl(sch->schid); in initiate_logging()
[all …]
Ddevice_ops.c141 struct subchannel *sch; in ccw_device_clear() local
146 sch = to_subchannel(cdev->dev.parent); in ccw_device_clear()
147 if (!sch->schib.pmcw.ena) in ccw_device_clear()
155 ret = cio_clear(sch); in ccw_device_clear()
194 struct subchannel *sch; in ccw_device_start_timeout_key() local
199 sch = to_subchannel(cdev->dev.parent); in ccw_device_start_timeout_key()
200 if (!sch->schib.pmcw.ena) in ccw_device_start_timeout_key()
215 ((sch->schib.scsw.cmd.stctl & SCSW_STCTL_PRIM_STATUS) && in ccw_device_start_timeout_key()
216 !(sch->schib.scsw.cmd.stctl & SCSW_STCTL_SEC_STATUS)) || in ccw_device_start_timeout_key()
219 ret = cio_set_options (sch, flags); in ccw_device_start_timeout_key()
[all …]
/Linux-v4.19/drivers/gpio/
Dgpio-sch.c43 static unsigned sch_gpio_offset(struct sch_gpio *sch, unsigned gpio, in sch_gpio_offset() argument
48 if (gpio >= sch->resume_base) { in sch_gpio_offset()
49 gpio -= sch->resume_base; in sch_gpio_offset()
56 static unsigned sch_gpio_bit(struct sch_gpio *sch, unsigned gpio) in sch_gpio_bit() argument
58 if (gpio >= sch->resume_base) in sch_gpio_bit()
59 gpio -= sch->resume_base; in sch_gpio_bit()
63 static int sch_gpio_reg_get(struct sch_gpio *sch, unsigned gpio, unsigned reg) in sch_gpio_reg_get() argument
68 offset = sch_gpio_offset(sch, gpio, reg); in sch_gpio_reg_get()
69 bit = sch_gpio_bit(sch, gpio); in sch_gpio_reg_get()
71 reg_val = !!(inb(sch->iobase + offset) & BIT(bit)); in sch_gpio_reg_get()
[all …]
/Linux-v4.19/net/sched/
Dsch_mq.c27 static int mq_offload(struct Qdisc *sch, enum tc_mq_command cmd) in mq_offload() argument
29 struct net_device *dev = qdisc_dev(sch); in mq_offload()
32 .handle = sch->handle, in mq_offload()
41 static void mq_offload_stats(struct Qdisc *sch) in mq_offload_stats() argument
43 struct net_device *dev = qdisc_dev(sch); in mq_offload_stats()
46 .handle = sch->handle, in mq_offload_stats()
48 .bstats = &sch->bstats, in mq_offload_stats()
49 .qstats = &sch->qstats, in mq_offload_stats()
57 static void mq_destroy(struct Qdisc *sch) in mq_destroy() argument
59 struct net_device *dev = qdisc_dev(sch); in mq_destroy()
[all …]
Dsch_fifo.c22 static int bfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch, in bfifo_enqueue() argument
25 if (likely(sch->qstats.backlog + qdisc_pkt_len(skb) <= sch->limit)) in bfifo_enqueue()
26 return qdisc_enqueue_tail(skb, sch); in bfifo_enqueue()
28 return qdisc_drop(skb, sch, to_free); in bfifo_enqueue()
31 static int pfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch, in pfifo_enqueue() argument
34 if (likely(sch->q.qlen < sch->limit)) in pfifo_enqueue()
35 return qdisc_enqueue_tail(skb, sch); in pfifo_enqueue()
37 return qdisc_drop(skb, sch, to_free); in pfifo_enqueue()
40 static int pfifo_tail_enqueue(struct sk_buff *skb, struct Qdisc *sch, in pfifo_tail_enqueue() argument
45 if (likely(sch->q.qlen < sch->limit)) in pfifo_tail_enqueue()
[all …]
Dsch_prio.c35 prio_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr) in prio_classify() argument
37 struct prio_sched_data *q = qdisc_priv(sch); in prio_classify()
44 if (TC_H_MAJ(skb->priority) != sch->handle) { in prio_classify()
73 prio_enqueue(struct sk_buff *skb, struct Qdisc *sch, struct sk_buff **to_free) in prio_enqueue() argument
78 qdisc = prio_classify(skb, sch, &ret); in prio_enqueue()
83 qdisc_qstats_drop(sch); in prio_enqueue()
91 qdisc_qstats_backlog_inc(sch, skb); in prio_enqueue()
92 sch->q.qlen++; in prio_enqueue()
96 qdisc_qstats_drop(sch); in prio_enqueue()
100 static struct sk_buff *prio_peek(struct Qdisc *sch) in prio_peek() argument
[all …]
Dsch_red.c44 struct Qdisc *sch; member
61 static int red_enqueue(struct sk_buff *skb, struct Qdisc *sch, in red_enqueue() argument
64 struct red_sched_data *q = qdisc_priv(sch); in red_enqueue()
80 qdisc_qstats_overlimit(sch); in red_enqueue()
90 qdisc_qstats_overlimit(sch); in red_enqueue()
103 qdisc_qstats_backlog_inc(sch, skb); in red_enqueue()
104 sch->q.qlen++; in red_enqueue()
107 qdisc_qstats_drop(sch); in red_enqueue()
112 qdisc_drop(skb, sch, to_free); in red_enqueue()
116 static struct sk_buff *red_dequeue(struct Qdisc *sch) in red_dequeue() argument
[all …]
Dsch_ingress.c27 static struct Qdisc *ingress_leaf(struct Qdisc *sch, unsigned long arg) in ingress_leaf() argument
32 static unsigned long ingress_find(struct Qdisc *sch, u32 classid) in ingress_find() argument
37 static unsigned long ingress_bind_filter(struct Qdisc *sch, in ingress_bind_filter() argument
40 return ingress_find(sch, classid); in ingress_bind_filter()
43 static void ingress_unbind_filter(struct Qdisc *sch, unsigned long cl) in ingress_unbind_filter() argument
47 static void ingress_walk(struct Qdisc *sch, struct qdisc_walker *walker) in ingress_walk() argument
51 static struct tcf_block *ingress_tcf_block(struct Qdisc *sch, unsigned long cl, in ingress_tcf_block() argument
54 struct ingress_sched_data *q = qdisc_priv(sch); in ingress_tcf_block()
66 static void ingress_ingress_block_set(struct Qdisc *sch, u32 block_index) in ingress_ingress_block_set() argument
68 struct ingress_sched_data *q = qdisc_priv(sch); in ingress_ingress_block_set()
[all …]
Dsch_codel.c71 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 …]
Dsch_multiq.c41 multiq_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr) in multiq_classify() argument
43 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_classify()
71 multiq_enqueue(struct sk_buff *skb, struct Qdisc *sch, in multiq_enqueue() argument
77 qdisc = multiq_classify(skb, sch, &ret); in multiq_enqueue()
82 qdisc_qstats_drop(sch); in multiq_enqueue()
90 sch->q.qlen++; in multiq_enqueue()
94 qdisc_qstats_drop(sch); in multiq_enqueue()
98 static struct sk_buff *multiq_dequeue(struct Qdisc *sch) in multiq_dequeue() argument
100 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_dequeue()
115 netdev_get_tx_queue(qdisc_dev(sch), q->curband))) { in multiq_dequeue()
[all …]
Dsch_cbs.c81 int (*enqueue)(struct sk_buff *skb, struct Qdisc *sch,
83 struct sk_buff *(*dequeue)(struct Qdisc *sch);
87 static int cbs_child_enqueue(struct sk_buff *skb, struct Qdisc *sch, in cbs_child_enqueue() argument
97 qdisc_qstats_backlog_inc(sch, skb); in cbs_child_enqueue()
98 sch->q.qlen++; in cbs_child_enqueue()
103 static int cbs_enqueue_offload(struct sk_buff *skb, struct Qdisc *sch, in cbs_enqueue_offload() argument
106 struct cbs_sched_data *q = qdisc_priv(sch); in cbs_enqueue_offload()
109 return cbs_child_enqueue(skb, sch, qdisc, to_free); in cbs_enqueue_offload()
112 static int cbs_enqueue_soft(struct sk_buff *skb, struct Qdisc *sch, in cbs_enqueue_soft() argument
115 struct cbs_sched_data *q = qdisc_priv(sch); in cbs_enqueue_soft()
[all …]
Dsch_drr.c42 static struct drr_class *drr_find_class(struct Qdisc *sch, u32 classid) in drr_find_class() argument
44 struct drr_sched *q = qdisc_priv(sch); in drr_find_class()
66 static int drr_change_class(struct Qdisc *sch, u32 classid, u32 parentid, in drr_change_class() argument
70 struct drr_sched *q = qdisc_priv(sch); in drr_change_class()
93 quantum = psched_mtu(qdisc_dev(sch)); in drr_change_class()
100 qdisc_root_sleeping_running(sch), in drr_change_class()
108 sch_tree_lock(sch); in drr_change_class()
111 sch_tree_unlock(sch); in drr_change_class()
122 cl->qdisc = qdisc_create_dflt(sch->dev_queue, in drr_change_class()
133 qdisc_root_sleeping_running(sch), in drr_change_class()
[all …]
Dsch_atm.c72 static inline struct atm_flow_data *lookup_flow(struct Qdisc *sch, u32 classid) in lookup_flow() argument
74 struct atm_qdisc_data *p = qdisc_priv(sch); in lookup_flow()
84 static int atm_tc_graft(struct Qdisc *sch, unsigned long arg, in atm_tc_graft() argument
88 struct atm_qdisc_data *p = qdisc_priv(sch); in atm_tc_graft()
92 sch, p, flow, new, old); in atm_tc_graft()
104 static struct Qdisc *atm_tc_leaf(struct Qdisc *sch, unsigned long cl) in atm_tc_leaf() argument
108 pr_debug("atm_tc_leaf(sch %p,flow %p)\n", sch, flow); in atm_tc_leaf()
112 static unsigned long atm_tc_find(struct Qdisc *sch, u32 classid) in atm_tc_find() argument
114 struct atm_qdisc_data *p __maybe_unused = qdisc_priv(sch); in atm_tc_find()
117 pr_debug("%s(sch %p,[qdisc %p],classid %x)\n", __func__, sch, p, classid); in atm_tc_find()
[all …]
Dsch_dsmark.c63 static int dsmark_graft(struct Qdisc *sch, unsigned long arg, in dsmark_graft() argument
67 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_graft()
70 __func__, sch, p, new, old); in dsmark_graft()
73 new = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, in dsmark_graft()
74 sch->handle, NULL); in dsmark_graft()
79 *old = qdisc_replace(sch, new, &p->q); in dsmark_graft()
83 static struct Qdisc *dsmark_leaf(struct Qdisc *sch, unsigned long arg) in dsmark_leaf() argument
85 struct dsmark_qdisc_data *p = qdisc_priv(sch); in dsmark_leaf()
89 static unsigned long dsmark_find(struct Qdisc *sch, u32 classid) in dsmark_find() argument
94 static unsigned long dsmark_bind_filter(struct Qdisc *sch, in dsmark_bind_filter() argument
[all …]
Dsch_skbprio.c72 static int skbprio_enqueue(struct sk_buff *skb, struct Qdisc *sch, in skbprio_enqueue() argument
76 struct skbprio_sched_data *q = qdisc_priv(sch); in skbprio_enqueue()
86 if (sch->q.qlen < sch->limit) { in skbprio_enqueue()
88 qdisc_qstats_backlog_inc(sch, skb); in skbprio_enqueue()
98 sch->q.qlen++; in skbprio_enqueue()
107 return qdisc_drop(skb, sch, to_free); in skbprio_enqueue()
111 qdisc_qstats_backlog_inc(sch, skb); in skbprio_enqueue()
118 qdisc_qstats_backlog_dec(sch, to_drop); in skbprio_enqueue()
119 qdisc_drop(to_drop, sch, to_free); in skbprio_enqueue()
129 BUG_ON(sch->q.qlen != 1); in skbprio_enqueue()
[all …]
Dsch_fq_codel.c82 static unsigned int fq_codel_classify(struct sk_buff *skb, struct Qdisc *sch, in fq_codel_classify() argument
85 struct fq_codel_sched_data *q = qdisc_priv(sch); in fq_codel_classify()
90 if (TC_H_MAJ(skb->priority) == sch->handle && in fq_codel_classify()
143 static unsigned int fq_codel_drop(struct Qdisc *sch, unsigned int max_packets, in fq_codel_drop() argument
146 struct fq_codel_sched_data *q = qdisc_priv(sch); in fq_codel_drop()
183 sch->qstats.drops += i; in fq_codel_drop()
184 sch->qstats.backlog -= len; in fq_codel_drop()
185 sch->q.qlen -= i; in fq_codel_drop()
189 static int fq_codel_enqueue(struct sk_buff *skb, struct Qdisc *sch, in fq_codel_enqueue() argument
192 struct fq_codel_sched_data *q = qdisc_priv(sch); in fq_codel_enqueue()
[all …]
Dsch_etf.c73 static bool is_packet_valid(struct Qdisc *sch, struct sk_buff *nskb) in is_packet_valid() argument
75 struct etf_sched_data *q = qdisc_priv(sch); in is_packet_valid()
102 static struct sk_buff *etf_peek_timesortedlist(struct Qdisc *sch) in etf_peek_timesortedlist() argument
104 struct etf_sched_data *q = qdisc_priv(sch); in etf_peek_timesortedlist()
114 static void reset_watchdog(struct Qdisc *sch) in reset_watchdog() argument
116 struct etf_sched_data *q = qdisc_priv(sch); in reset_watchdog()
117 struct sk_buff *skb = etf_peek_timesortedlist(sch); in reset_watchdog()
153 static int etf_enqueue_timesortedlist(struct sk_buff *nskb, struct Qdisc *sch, in etf_enqueue_timesortedlist() argument
156 struct etf_sched_data *q = qdisc_priv(sch); in etf_enqueue_timesortedlist()
160 if (!is_packet_valid(sch, nskb)) { in etf_enqueue_timesortedlist()
[all …]
Dsch_pie.c77 struct Qdisc *sch; member
99 static bool drop_early(struct Qdisc *sch, u32 packet_size) in drop_early() argument
101 struct pie_sched_data *q = qdisc_priv(sch); in drop_early()
104 u32 mtu = psched_mtu(qdisc_dev(sch)); in drop_early()
120 if (sch->qstats.backlog < 2 * mtu) in drop_early()
138 static int pie_qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch, in pie_qdisc_enqueue() argument
141 struct pie_sched_data *q = qdisc_priv(sch); in pie_qdisc_enqueue()
144 if (unlikely(qdisc_qlen(sch) >= sch->limit)) { in pie_qdisc_enqueue()
149 if (!drop_early(sch, skb->len)) { in pie_qdisc_enqueue()
163 if (qdisc_qlen(sch) > q->stats.maxq) in pie_qdisc_enqueue()
[all …]
Dsch_tbf.c148 static int tbf_segment(struct sk_buff *skb, struct Qdisc *sch, in tbf_segment() argument
151 struct tbf_sched_data *q = qdisc_priv(sch); in tbf_segment()
160 return qdisc_drop(skb, sch, to_free); in tbf_segment()
171 qdisc_qstats_drop(sch); in tbf_segment()
177 sch->q.qlen += nb; in tbf_segment()
179 qdisc_tree_reduce_backlog(sch, 1 - nb, prev_len - len); in tbf_segment()
184 static int tbf_enqueue(struct sk_buff *skb, struct Qdisc *sch, in tbf_enqueue() argument
187 struct tbf_sched_data *q = qdisc_priv(sch); in tbf_enqueue()
193 return tbf_segment(skb, sch, to_free); in tbf_enqueue()
194 return qdisc_drop(skb, sch, to_free); in tbf_enqueue()
[all …]
Dsch_choke.c118 static void choke_drop_by_idx(struct Qdisc *sch, unsigned int idx, in choke_drop_by_idx() argument
121 struct choke_sched_data *q = qdisc_priv(sch); in choke_drop_by_idx()
131 qdisc_qstats_backlog_dec(sch, skb); in choke_drop_by_idx()
132 qdisc_tree_reduce_backlog(sch, 1, qdisc_pkt_len(skb)); in choke_drop_by_idx()
133 qdisc_drop(skb, sch, to_free); in choke_drop_by_idx()
134 --sch->q.qlen; in choke_drop_by_idx()
223 static int choke_enqueue(struct sk_buff *skb, struct Qdisc *sch, in choke_enqueue() argument
226 struct choke_sched_data *q = qdisc_priv(sch); in choke_enqueue()
231 q->vars.qavg = red_calc_qavg(p, &q->vars, sch->q.qlen); in choke_enqueue()
244 choke_drop_by_idx(sch, idx, to_free); in choke_enqueue()
[all …]
/Linux-v4.19/include/net/
Dsch_generic.h56 struct Qdisc *sch,
58 struct sk_buff * (*dequeue)(struct Qdisc *sch);
180 struct tcf_block * (*tcf_block)(struct Qdisc *sch,
202 struct Qdisc *sch,
207 int (*init)(struct Qdisc *sch, struct nlattr *arg,
211 int (*change)(struct Qdisc *sch,
214 void (*attach)(struct Qdisc *sch);
220 void (*ingress_block_set)(struct Qdisc *sch,
222 void (*egress_block_set)(struct Qdisc *sch,
224 u32 (*ingress_block_get)(struct Qdisc *sch);
[all …]

1234