Home
last modified time | relevance | path

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

123

/linux/drivers/gpio/
H A Dgpio-sch.c50 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 = !!(ioread8(sch->regs + offset) & BIT(bit)); in sch_gpio_reg_get()
[all …]
/linux/drivers/s390/cio/
H A Deadm_sch.c60 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 …]
H A Dcss.c71 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 void css_sch_create_locks(struct subchannel *sch) in css_sch_create_locks() argument
153 spin_lock_init(&sch->lock); in css_sch_create_locks()
[all …]
H A Dvfio_ccw_drv.c37 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 …]
H A Dvfio_ccw_fsm.c21 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 …]
H A Ddevice_fsm.c41 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 …]
H A Ddevice_pgid.c36 struct subchannel *sch = to_subchannel(cdev->dev.parent); in verify_done() local
44 if (sch->config.mp != mpath) { in verify_done()
45 sch->config.mp = mpath; in verify_done()
46 rc = cio_commit_config(sch); in verify_done()
51 sch->vpm); in verify_done()
75 struct subchannel *sch = to_subchannel(cdev->dev.parent); in nop_do() local
78 req->lpm = lpm_adjust(req->lpm, sch->schib.pmcw.pam & sch->opm & in nop_do()
87 verify_done(cdev, sch->vpm ? 0 : -EACCES); in nop_do()
107 struct subchannel *sch = to_subchannel(cdev->dev.parent); in nop_callback() local
112 sch->vpm |= req->lpm; in nop_callback()
[all …]
/linux/net/sched/
H A Dsch_fifo.c19 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) <= in bfifo_enqueue()
23 READ_ONCE(sch->limit))) in bfifo_enqueue()
24 return qdisc_enqueue_tail(skb, sch); in bfifo_enqueue()
26 return qdisc_drop(skb, sch, to_free); in bfifo_enqueue()
29 static int pfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch, in pfifo_enqueue() argument
32 if (likely(sch->q.qlen < READ_ONCE(sch->limit))) in pfifo_enqueue()
33 return qdisc_enqueue_tail(skb, sch); in pfifo_enqueue()
35 return qdisc_drop(skb, sch, to_free); in pfifo_enqueue()
38 static int pfifo_tail_enqueue(struct sk_buff *skb, struct Qdisc *sch, in pfifo_tail_enqueue() argument
[all …]
H A Dsch_mq.c24 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 …]
H A Dsch_prio.c31 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 …]
H A Dsch_ingress.c24 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 …]
H A Dsch_ets.c77 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()
99 static u32 ets_class_id(struct Qdisc *sch, const struct ets_class *cl) in ets_class_id() argument
101 struct ets_sched *q = qdisc_priv(sch); in ets_class_id()
104 return TC_H_MAKE(sch->handle, band + 1); in ets_class_id()
107 static void ets_offload_change(struct Qdisc *sch) in ets_offload_change() argument
109 struct net_device *dev = qdisc_dev(sch); in ets_offload_change()
110 struct ets_sched *q = qdisc_priv(sch); in ets_offload_change()
124 qopt.handle = sch->handle; in ets_offload_change()
[all …]
H A Dsch_tbf.c142 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 …]
H A Dsch_multiq.c30 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), in multiq_dequeue()
118 multiq_peek(struct Qdisc * sch) multiq_peek() argument
148 multiq_reset(struct Qdisc * sch) multiq_reset() argument
159 multiq_destroy(struct Qdisc * sch) multiq_destroy() argument
171 multiq_tune(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) multiq_tune() argument
235 multiq_init(struct Qdisc * sch,struct nlattr * opt,struct netlink_ext_ack * extack) multiq_init() argument
261 multiq_dump(struct Qdisc * sch,struct sk_buff * skb) multiq_dump() argument
280 multiq_graft(struct Qdisc * sch,unsigned long arg,struct Qdisc * new,struct Qdisc ** old,struct netlink_ext_ack * extack) multiq_graft() argument
294 multiq_leaf(struct Qdisc * sch,unsigned long arg) multiq_leaf() argument
302 multiq_find(struct Qdisc * sch,u32 classid) multiq_find() argument
312 multiq_bind(struct Qdisc * sch,unsigned long parent,u32 classid) multiq_bind() argument
323 multiq_dump_class(struct Qdisc * sch,unsigned long cl,struct sk_buff * skb,struct tcmsg * tcm) multiq_dump_class() argument
333 multiq_dump_class_stats(struct Qdisc * sch,unsigned long cl,struct gnet_dump * d) multiq_dump_class_stats() argument
347 multiq_walk(struct Qdisc * sch,struct qdisc_walker * arg) multiq_walk() argument
361 multiq_tcf_block(struct Qdisc * sch,unsigned long cl,struct netlink_ext_ack * extack) multiq_tcf_block() argument
[all...]
H A Dsch_drr.c38 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 …]
H A Dsch_etf.c75 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 …]
H A Dsch_skbprio.c68 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()
84 if (sch->q.qlen < READ_ONCE(sch->limit)) { in skbprio_enqueue()
86 qdisc_qstats_backlog_inc(sch, skb); in skbprio_enqueue()
96 sch->q.qlen++; in skbprio_enqueue()
105 return qdisc_drop(skb, sch, to_free); in skbprio_enqueue()
109 qdisc_qstats_backlog_inc(sch, skb); in skbprio_enqueue()
116 qdisc_qstats_backlog_dec(sch, to_drop); in skbprio_enqueue()
117 qdisc_drop(to_drop, sch, to_free); in skbprio_enqueue()
127 BUG_ON(sch->q.qlen != 1); in skbprio_enqueue()
[all …]
H A Dsch_mqprio.c34 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 …]
H A Dsch_choke.c113 static void choke_drop_by_idx(struct Qdisc *sch, unsigned int idx, in choke_drop_by_idx() argument
116 struct choke_sched_data *q = qdisc_priv(sch); in choke_drop_by_idx()
126 --sch->q.qlen; in choke_drop_by_idx()
127 qdisc_qstats_backlog_dec(sch, skb); in choke_drop_by_idx()
128 qdisc_tree_reduce_backlog(sch, 1, qdisc_pkt_len(skb)); in choke_drop_by_idx()
129 qdisc_drop(skb, sch, to_free); in choke_drop_by_idx()
212 static int choke_enqueue(struct sk_buff *skb, struct Qdisc *sch, in choke_enqueue() argument
215 struct choke_sched_data *q = qdisc_priv(sch); in choke_enqueue()
220 q->vars.qavg = red_calc_qavg(p, &q->vars, sch->q.qlen); in choke_enqueue()
233 choke_drop_by_idx(sch, idx, to_free); in choke_enqueue()
[all …]
H A Dsch_gred.c92 static inline int gred_wred_mode_check(struct Qdisc *sch) in gred_wred_mode_check() argument
94 struct gred_sched *table = qdisc_priv(sch); in gred_wred_mode_check()
115 struct Qdisc *sch) in gred_backlog() argument
118 return sch->qstats.backlog; in gred_backlog()
165 static int gred_enqueue(struct sk_buff *skb, struct Qdisc *sch, in gred_enqueue() argument
169 struct gred_sched *t = qdisc_priv(sch); in gred_enqueue()
182 if (likely(sch->qstats.backlog + qdisc_pkt_len(skb) <= in gred_enqueue()
183 sch->limit)) in gred_enqueue()
184 return qdisc_enqueue_tail(skb, sch); in gred_enqueue()
214 gred_backlog(t, q, sch)); in gred_enqueue()
[all …]
H A Dsch_hhf.c247 static enum wdrr_bucket_idx hhf_classify(struct sk_buff *skb, struct Qdisc *sch) in hhf_classify() argument
249 struct hhf_sched_data *q = qdisc_priv(sch); in hhf_classify()
349 static unsigned int hhf_drop(struct Qdisc *sch, struct sk_buff **to_free) in hhf_drop() argument
351 struct hhf_sched_data *q = qdisc_priv(sch); in hhf_drop()
362 sch->q.qlen--; in hhf_drop()
363 qdisc_qstats_backlog_dec(sch, skb); in hhf_drop()
364 qdisc_drop(skb, sch, to_free); in hhf_drop()
371 static int hhf_enqueue(struct sk_buff *skb, struct Qdisc *sch, in hhf_enqueue() argument
374 struct hhf_sched_data *q = qdisc_priv(sch); in hhf_enqueue()
379 idx = hhf_classify(skb, sch); in hhf_enqueue()
[all …]
H A Dsch_plug.c87 static int plug_enqueue(struct sk_buff *skb, struct Qdisc *sch, in plug_enqueue() argument
90 struct plug_sched_data *q = qdisc_priv(sch); in plug_enqueue()
92 if (likely(sch->qstats.backlog + skb->len <= q->limit)) { in plug_enqueue()
95 return qdisc_enqueue_tail(skb, sch); in plug_enqueue()
98 return qdisc_drop(skb, sch, to_free); in plug_enqueue()
101 static struct sk_buff *plug_dequeue(struct Qdisc *sch) in plug_dequeue() argument
103 struct plug_sched_data *q = qdisc_priv(sch); in plug_dequeue()
119 return qdisc_dequeue_head(sch); in plug_dequeue()
122 static int plug_init(struct Qdisc *sch, struct nlattr *opt, in plug_init() argument
125 struct plug_sched_data *q = qdisc_priv(sch); in plug_init()
[all …]
H A Dsch_taprio.c319 struct Qdisc *sch, in find_entry_to_transmit() argument
330 struct taprio_sched *q = qdisc_priv(sch); in find_entry_to_transmit()
331 struct net_device *dev = qdisc_dev(sch); in find_entry_to_transmit()
395 static bool is_valid_interval(struct sk_buff *skb, struct Qdisc *sch) in is_valid_interval() argument
397 struct taprio_sched *q = qdisc_priv(sch); in is_valid_interval()
406 entry = find_entry_to_transmit(skb, sch, sched, admin, skb->tstamp, in is_valid_interval()
463 static long get_packet_txtime(struct sk_buff *skb, struct Qdisc *sch) in get_packet_txtime() argument
466 struct taprio_sched *q = qdisc_priv(sch); in get_packet_txtime()
497 entry = find_entry_to_transmit(skb, sch, sched, admin, in get_packet_txtime()
535 static bool taprio_skb_exceeds_queue_max_sdu(struct Qdisc *sch, in taprio_skb_exceeds_queue_max_sdu() argument
[all …]
H A Dsch_hfsc.c831 qdisc_peek_len(struct Qdisc *sch) in qdisc_peek_len() argument
836 skb = sch->ops->peek(sch); in qdisc_peek_len()
838 qdisc_warn_nonwc("qdisc_peek_len", sch); in qdisc_peek_len()
863 hfsc_find_class(u32 classid, struct Qdisc *sch) in hfsc_find_class() argument
865 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_find_class()
920 hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid, in hfsc_change_class() argument
924 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_change_class()
981 sch_tree_lock(sch); in hfsc_change_class()
1008 sch_tree_unlock(sch); in hfsc_change_class()
1018 parent = hfsc_find_class(parentid, sch); in hfsc_change_class()
[all …]
/linux/include/net/
H A Dsch_generic.h75 struct Qdisc *sch,
77 struct sk_buff * (*dequeue)(struct Qdisc *sch);
266 struct tcf_block * (*tcf_block)(struct Qdisc *sch,
295 struct Qdisc *sch,
300 int (*init)(struct Qdisc *sch, struct nlattr *arg,
304 int (*change)(struct Qdisc *sch,
307 void (*attach)(struct Qdisc *sch);
309 void (*change_real_num_tx)(struct Qdisc *sch,
315 void (*ingress_block_set)(struct Qdisc *sch,
317 void (*egress_block_set)(struct Qdisc *sch,
[all …]

123