| /linux/drivers/hid/intel-ish-hid/ishtp/ |
| H A D | client.c | 23 static void ishtp_read_list_flush(struct ishtp_cl *cl) in ishtp_read_list_flush() argument 29 spin_lock_irqsave(&cl->dev->read_list_spinlock, flags); in ishtp_read_list_flush() 30 list_for_each_entry_safe(rb, next, &cl->dev->read_list.list, list) in ishtp_read_list_flush() 31 if (rb->cl && ishtp_cl_cmp_id(cl, rb->cl)) { in ishtp_read_list_flush() 33 spin_lock(&cl->free_list_spinlock); in ishtp_read_list_flush() 34 list_add_tail(&rb->list, &cl->free_rb_list.list); in ishtp_read_list_flush() 35 spin_unlock(&cl->free_list_spinlock); in ishtp_read_list_flush() 37 spin_unlock_irqrestore(&cl->dev->read_list_spinlock, flags); in ishtp_read_list_flush() 49 int ishtp_cl_flush_queues(struct ishtp_cl *cl) in ishtp_cl_flush_queues() argument 51 if (WARN_ON(!cl || !cl->dev)) in ishtp_cl_flush_queues() [all …]
|
| H A D | client-buffers.c | 19 int ishtp_cl_alloc_rx_ring(struct ishtp_cl *cl) in ishtp_cl_alloc_rx_ring() argument 21 size_t len = cl->device->fw_client->props.max_msg_length; in ishtp_cl_alloc_rx_ring() 27 for (j = 0; j < cl->rx_ring_size; ++j) { in ishtp_cl_alloc_rx_ring() 28 rb = ishtp_io_rb_init(cl); in ishtp_cl_alloc_rx_ring() 36 spin_lock_irqsave(&cl->free_list_spinlock, flags); in ishtp_cl_alloc_rx_ring() 37 list_add_tail(&rb->list, &cl->free_rb_list.list); in ishtp_cl_alloc_rx_ring() 38 spin_unlock_irqrestore(&cl->free_list_spinlock, flags); in ishtp_cl_alloc_rx_ring() 44 dev_err(&cl->device->dev, "error in allocating Rx buffers\n"); in ishtp_cl_alloc_rx_ring() 45 ishtp_cl_free_rx_ring(cl); in ishtp_cl_alloc_rx_ring() 57 int ishtp_cl_alloc_tx_ring(struct ishtp_cl *cl) in ishtp_cl_alloc_tx_ring() argument [all …]
|
| H A D | hbm.c | 55 static inline void ishtp_hbm_cl_hdr(struct ishtp_cl *cl, uint8_t hbm_cmd, in ishtp_hbm_cl_hdr() argument 63 cmd->host_addr = cl->host_client_id; in ishtp_hbm_cl_hdr() 64 cmd->fw_addr = cl->fw_client_id; in ishtp_hbm_cl_hdr() 76 static inline bool ishtp_hbm_cl_addr_equal(struct ishtp_cl *cl, void *buf) in ishtp_hbm_cl_addr_equal() argument 80 return cl->host_client_id == cmd->host_addr && in ishtp_hbm_cl_addr_equal() 81 cl->fw_client_id == cmd->fw_addr; in ishtp_hbm_cl_addr_equal() 262 struct ishtp_cl *cl) in ishtp_hbm_cl_flow_control_req() argument 270 spin_lock_irqsave(&cl->fc_spinlock, flags); in ishtp_hbm_cl_flow_control_req() 273 ishtp_hbm_cl_hdr(cl, ISHTP_FLOW_CONTROL_CMD, &flow_ctrl, len); in ishtp_hbm_cl_flow_control_req() 279 if (cl->out_flow_ctrl_creds) { in ishtp_hbm_cl_flow_control_req() [all …]
|
| /linux/drivers/misc/mei/ |
| H A D | client.c | 319 cb->cl->tx_cb_queued++; in mei_tx_cb_enqueue() 331 if (!WARN_ON(cb->cl->tx_cb_queued == 0)) in mei_tx_cb_dequeue() 332 cb->cl->tx_cb_queued--; in mei_tx_cb_dequeue() 345 static void mei_cl_set_read_by_fp(const struct mei_cl *cl, in mei_cl_set_read_by_fp() argument 350 list_for_each_entry(cl_vtag, &cl->vtag_map, list) { in mei_cl_set_read_by_fp() 367 static struct mei_cl_cb *mei_io_cb_init(struct mei_cl *cl, in mei_io_cb_init() argument 379 cb->cl = cl; in mei_io_cb_init() 395 const struct mei_cl *cl) in mei_io_list_flush_cl() argument 400 if (cl == cb->cl) { in mei_io_list_flush_cl() 416 const struct mei_cl *cl, in mei_io_tx_list_free_cl() argument [all …]
|
| H A D | interrupt.c | 32 struct mei_cl *cl; in mei_irq_compl_handler() local 35 cl = cb->cl; in mei_irq_compl_handler() 38 cl_dbg(dev, cl, "completing call back.\n"); in mei_irq_compl_handler() 39 mei_cl_complete(cl, cb); in mei_irq_compl_handler() 52 static inline int mei_cl_hbm_equal(struct mei_cl *cl, in mei_cl_hbm_equal() argument 55 return mei_cl_host_addr(cl) == mei_hdr->host_addr && in mei_cl_hbm_equal() 56 mei_cl_me_id(cl) == mei_hdr->me_addr; in mei_cl_hbm_equal() 93 static int mei_cl_irq_read_msg(struct mei_cl *cl, in mei_cl_irq_read_msg() argument 98 struct mei_device *dev = cl->dev; in mei_cl_irq_read_msg() 115 cb = list_first_entry_or_null(&cl->rd_pending, struct mei_cl_cb, list); in mei_cl_irq_read_msg() [all …]
|
| H A D | bus.c | 36 ssize_t __mei_cl_send(struct mei_cl *cl, const u8 *buf, size_t length, u8 vtag, in __mei_cl_send() argument 39 return __mei_cl_send_timeout(cl, buf, length, vtag, mode, MAX_SCHEDULE_TIMEOUT); in __mei_cl_send() 56 ssize_t __mei_cl_send_timeout(struct mei_cl *cl, const u8 *buf, size_t length, u8 vtag, in __mei_cl_send_timeout() argument 63 if (WARN_ON(!cl || !cl->dev)) in __mei_cl_send_timeout() 66 bus = cl->dev; in __mei_cl_send_timeout() 75 if (!mei_cl_is_connected(cl)) { in __mei_cl_send_timeout() 81 if (!mei_me_cl_is_active(cl->me_cl)) { in __mei_cl_send_timeout() 88 rets = mei_cl_vt_support_check(cl); in __mei_cl_send_timeout() 93 if (length > mei_cl_mtu(cl)) { in __mei_cl_send_timeout() 98 while (cl->tx_cb_queued >= bus->tx_queue_limit) { in __mei_cl_send_timeout() [all …]
|
| H A D | hbm.c | 150 void mei_hbm_cl_hdr(struct mei_cl *cl, u8 hbm_cmd, void *buf, size_t len) in mei_hbm_cl_hdr() argument 157 cmd->host_addr = mei_cl_host_addr(cl); in mei_hbm_cl_hdr() 158 cmd->me_addr = mei_cl_me_id(cl); in mei_hbm_cl_hdr() 172 static inline int mei_hbm_cl_write(struct mei_device *dev, struct mei_cl *cl, in mei_hbm_cl_write() argument 178 mei_hbm_cl_hdr(cl, hbm_cmd, buf, len); in mei_hbm_cl_write() 193 bool mei_hbm_cl_addr_equal(struct mei_cl *cl, struct mei_hbm_cl_cmd *cmd) in mei_hbm_cl_addr_equal() argument 195 return mei_cl_host_addr(cl) == cmd->host_addr && in mei_hbm_cl_addr_equal() 196 mei_cl_me_id(cl) == cmd->me_addr; in mei_hbm_cl_addr_equal() 211 struct mei_cl *cl; in mei_hbm_cl_find_by_cmd() local 213 list_for_each_entry(cl, &dev->file_list, link) in mei_hbm_cl_find_by_cmd() [all …]
|
| /linux/net/sched/ |
| H A D | sch_hfsc.c | 178 static bool cl_in_el_or_vttree(struct hfsc_class *cl) in cl_in_el_or_vttree() argument 180 return ((cl->cl_flags & HFSC_FSC) && cl->cl_nactive) || in cl_in_el_or_vttree() 181 ((cl->cl_flags & HFSC_RSC) && !RB_EMPTY_NODE(&cl->el_node)); in cl_in_el_or_vttree() 190 eltree_insert(struct hfsc_class *cl) in eltree_insert() argument 192 struct rb_node **p = &cl->sched->eligible.rb_node; in eltree_insert() 199 if (cl->cl_e >= cl1->cl_e) in eltree_insert() 204 rb_link_node(&cl->el_node, parent, p); in eltree_insert() 205 rb_insert_color(&cl->el_node, &cl->sched->eligible); in eltree_insert() 209 eltree_remove(struct hfsc_class *cl) in eltree_remove() argument 211 if (!RB_EMPTY_NODE(&cl->el_node)) { in eltree_remove() [all …]
|
| H A D | sch_htb.c | 224 struct htb_class *cl; in htb_classify() local 236 cl = htb_find(skb->priority, sch); in htb_classify() 237 if (cl) { in htb_classify() 238 if (cl->level == 0) in htb_classify() 239 return cl; in htb_classify() 241 tcf = rcu_dereference_bh(cl->filter_list); in htb_classify() 259 cl = (void *)res.class; in htb_classify() 260 if (!cl) { in htb_classify() 263 cl = htb_find(res.classid, sch); in htb_classify() 264 if (!cl) in htb_classify() [all …]
|
| H A D | sch_drr.c | 38 static bool cl_is_active(struct drr_class *cl) in cl_is_active() argument 40 return !list_empty(&cl->alist); in cl_is_active() 63 struct drr_class *cl = (struct drr_class *)*arg; in drr_change_class() local 89 if (cl != NULL) { in drr_change_class() 91 err = gen_replace_estimator(&cl->bstats, NULL, in drr_change_class() 92 &cl->rate_est, in drr_change_class() 102 WRITE_ONCE(cl->quantum, quantum); in drr_change_class() 107 cl = kzalloc_obj(struct drr_class); in drr_change_class() 108 if (cl == NULL) in drr_change_class() 111 gnet_stats_basic_sync_init(&cl->bstats); in drr_change_class() [all …]
|
| H A D | sch_qfq.c | 205 static bool cl_is_active(struct qfq_class *cl) in cl_is_active() argument 207 return !list_empty(&cl->alist); in cl_is_active() 322 struct qfq_class *cl) in qfq_add_to_agg() argument 324 cl->agg = agg; in qfq_add_to_agg() 327 if (cl->qdisc->q.qlen > 0) { /* adding an active class */ in qfq_add_to_agg() 328 list_add_tail(&cl->alist, &agg->active); in qfq_add_to_agg() 330 cl && q->in_serv_agg != agg) /* agg was inactive */ in qfq_add_to_agg() 350 static void qfq_deactivate_class(struct qfq_sched *q, struct qfq_class *cl) in qfq_deactivate_class() argument 352 struct qfq_aggregate *agg = cl->agg; in qfq_deactivate_class() 355 list_del_init(&cl->alist); /* remove from RR queue of the aggregate */ in qfq_deactivate_class() [all …]
|
| H A D | sch_ets.c | 77 static bool cl_is_active(struct ets_class *cl) in cl_is_active() argument 79 return !list_empty(&cl->alist); in cl_is_active() 100 static u32 ets_class_id(struct Qdisc *sch, const struct ets_class *cl) in ets_class_id() argument 103 int band = cl - q->classes; in ets_class_id() 197 static bool ets_class_is_strict(struct ets_sched *q, const struct ets_class *cl) in ets_class_is_strict() argument 199 unsigned int band = cl - q->classes; in ets_class_is_strict() 208 struct ets_class *cl = ets_class_from_arg(sch, *arg); in ets_class_change() local 218 if (!cl) { in ets_class_change() 236 if (ets_class_is_strict(q, cl)) { in ets_class_change() 246 WRITE_ONCE(cl->quantum, quantum); in ets_class_change() [all …]
|
| /linux/sound/soc/intel/avs/ |
| H A D | cldma.c | 60 void hda_cldma_fill(struct hda_cldma *cl) in hda_cldma_fill() argument 64 if (cl->remaining > cl->buffer_size) in hda_cldma_fill() 65 size = cl->buffer_size; in hda_cldma_fill() 67 size = cl->remaining; in hda_cldma_fill() 69 offset = snd_hdac_stream_readl(cl, CL_SD_SPIB); in hda_cldma_fill() 70 if (offset + size > cl->buffer_size) { in hda_cldma_fill() 73 ss = cl->buffer_size - offset; in hda_cldma_fill() 74 memcpy(cl->dmab_data.area + offset, cl->position, ss); in hda_cldma_fill() 77 cl->position += ss; in hda_cldma_fill() 78 cl->remaining -= ss; in hda_cldma_fill() [all …]
|
| H A D | cldma.h | 18 void hda_cldma_fill(struct hda_cldma *cl); 19 void hda_cldma_transfer(struct hda_cldma *cl, unsigned long start_delay); 21 int hda_cldma_start(struct hda_cldma *cl); 22 int hda_cldma_stop(struct hda_cldma *cl); 23 int hda_cldma_reset(struct hda_cldma *cl); 25 void hda_cldma_set_data(struct hda_cldma *cl, void *data, unsigned int size); 26 void hda_cldma_setup(struct hda_cldma *cl); 27 void hda_cldma_interrupt(struct hda_cldma *cl); 28 int hda_cldma_init(struct hda_cldma *cl, struct hdac_bus *bus, void __iomem *dsp_ba, 30 void hda_cldma_free(struct hda_cldma *cl);
|
| /linux/include/linux/ |
| H A D | closure.h | 171 void closure_sub(struct closure *cl, int v); 172 void closure_put(struct closure *cl); 174 bool closure_wait(struct closure_waitlist *list, struct closure *cl); 175 void __closure_sync(struct closure *cl); 177 static inline unsigned closure_nr_remaining(struct closure *cl) in closure_nr_remaining() argument 179 return atomic_read(&cl->remaining) & CLOSURE_REMAINING_MASK; in closure_nr_remaining() 188 static inline void closure_sync(struct closure *cl) in closure_sync() argument 191 BUG_ON(closure_nr_remaining(cl) != 1 && !cl->closure_get_happened); in closure_sync() 194 if (cl->closure_get_happened) in closure_sync() 195 __closure_sync(cl); in closure_sync() [all …]
|
| H A D | intel-ish-client-if.h | 70 struct ishtp_cl *cl; member 94 void ishtp_cl_free(struct ishtp_cl *cl); 95 int ishtp_cl_link(struct ishtp_cl *cl); 96 void ishtp_cl_unlink(struct ishtp_cl *cl); 97 int ishtp_cl_disconnect(struct ishtp_cl *cl); 98 int ishtp_cl_connect(struct ishtp_cl *cl); 99 int ishtp_cl_establish_connection(struct ishtp_cl *cl, const guid_t *uuid, 101 void ishtp_cl_destroy_connection(struct ishtp_cl *cl, bool reset); 102 int ishtp_cl_send(struct ishtp_cl *cl, uint8_t *buf, size_t length); 103 int ishtp_cl_flush_queues(struct ishtp_cl *cl); [all …]
|
| /linux/lib/ |
| H A D | closure.c | 30 static inline void closure_put_after_sub(struct closure *cl, int flags) in closure_put_after_sub() argument 37 cl->closure_get_happened = false; in closure_put_after_sub() 39 if (cl->fn && !(flags & CLOSURE_DESTRUCTOR)) { in closure_put_after_sub() 40 atomic_set(&cl->remaining, in closure_put_after_sub() 42 closure_queue(cl); in closure_put_after_sub() 44 struct closure *parent = cl->parent; in closure_put_after_sub() 45 closure_fn *destructor = cl->fn; in closure_put_after_sub() 47 closure_debug_destroy(cl); in closure_put_after_sub() 50 destructor(&cl->work); in closure_put_after_sub() 59 void closure_sub(struct closure *cl, int v) in closure_sub() argument [all …]
|
| /linux/drivers/clk/ |
| H A D | clkdev.c | 38 struct clk_lookup *p, *cl = NULL; in clk_find() local 62 cl = p; in clk_find() 69 return cl; in clk_find() 74 struct clk_lookup *cl; in clk_find_hw() local 78 cl = clk_find(dev_id, con_id); in clk_find_hw() 79 if (cl) in clk_find_hw() 80 hw = cl->clk_hw; in clk_find_hw() 121 static void __clkdev_add(struct clk_lookup *cl) in __clkdev_add() argument 124 list_add_tail(&cl->node, &clocks); in __clkdev_add() 128 void clkdev_add(struct clk_lookup *cl) in clkdev_add() argument [all …]
|
| /linux/drivers/hsi/clients/ |
| H A D | ssi_protocol.c | 139 struct hsi_client *cl; member 217 struct ssi_protocol *ssi = hsi_client_drvdata(msg->cl); in ssip_release_cmd() 219 dev_dbg(&msg->cl->device, "Release cmd 0x%08x\n", ssip_get_cmd(msg)); in ssip_release_cmd() 331 if (slave->device.parent == ssi->cl->device.parent) { in ssip_slave_get_master() 332 master = ssi->cl; in ssip_slave_get_master() 385 static void ssip_reset(struct hsi_client *cl) in ssip_reset() argument 387 struct ssi_protocol *ssi = hsi_client_drvdata(cl); in ssip_reset() 393 hsi_flush(cl); in ssip_reset() 396 hsi_stop_tx(cl); in ssip_reset() 399 ssi_waketest(cl, 0); /* FIXME: To be removed */ in ssip_reset() [all …]
|
| H A D | hsi_char.c | 85 struct hsi_client *cl; member 105 struct hsi_client *cl; member 227 struct hsc_client_data *cl_data = hsi_client_drvdata(msg->cl); in hsc_rx_completed() 247 struct hsc_client_data *cl_data = hsi_client_drvdata(msg->cl); in hsc_tx_completed() 267 struct hsc_client_data *cl_data = hsi_client_drvdata(msg->cl); in hsc_break_req_destructor() 275 struct hsc_client_data *cl_data = hsi_client_drvdata(msg->cl); in hsc_break_received() 294 hsi_flush(msg->cl); in hsc_break_received() 295 ret = hsi_async_read(msg->cl, msg); in hsc_break_received() 300 static int hsc_break_request(struct hsi_client *cl) in hsc_break_request() argument 302 struct hsc_client_data *cl_data = hsi_client_drvdata(cl); in hsc_break_request() [all …]
|
| /linux/drivers/md/bcache/ |
| H A D | request.c | 60 closure_type(op, struct data_insert_op, cl); in CLOSURE_CALLBACK() 67 op->flush_journal ? cl : NULL); in CLOSURE_CALLBACK() 82 continue_at(cl, bch_data_insert_start, op->wq); in CLOSURE_CALLBACK() 87 closure_return(cl); in CLOSURE_CALLBACK() 108 static void bch_data_invalidate(struct closure *cl) in bch_data_invalidate() argument 110 struct data_insert_op *op = container_of(cl, struct data_insert_op, cl); in bch_data_invalidate() 136 continue_at(cl, bch_data_insert_keys, op->wq); in bch_data_invalidate() 141 closure_type(op, struct data_insert_op, cl); in CLOSURE_CALLBACK() 166 bch_data_insert_keys(&cl->work); in CLOSURE_CALLBACK() 171 struct closure *cl = bio->bi_private; in bch_data_insert_endio() local [all …]
|
| /linux/drivers/soc/samsung/ |
| H A D | gs101-pmu.c | 39 #define CLUSTER_CPU_RANGE(cl, cpu) \ argument 40 regmap_reg_range(GS101_CLUSTER_CPU_CONFIGURATION(cl, cpu), \ 41 GS101_CLUSTER_CPU_OPTION(cl, cpu)), \ 42 regmap_reg_range(GS101_CLUSTER_CPU_OUT(cl, cpu), \ 43 GS101_CLUSTER_CPU_IN(cl, cpu)), \ 44 regmap_reg_range(GS101_CLUSTER_CPU_INT_IN(cl, cpu), \ 45 GS101_CLUSTER_CPU_INT_DIR(cl, cpu)) 58 #define CLUSTER_NONCPU_RANGE(cl) \ argument 59 regmap_reg_range(GS101_CLUSTER_NONCPU_CONFIGURATION(cl), \ 60 GS101_CLUSTER_NONCPU_OPTION(cl)), \ [all …]
|
| /linux/sound/soc/mediatek/mt8186/ |
| H A D | mt8186-audsys-clk.c | 92 struct clk_lookup *cl; in mt8186_audsys_clk_unregister() local 99 cl = afe_priv->lookup[i]; in mt8186_audsys_clk_unregister() 100 if (!cl) in mt8186_audsys_clk_unregister() 103 clk = cl->clk; in mt8186_audsys_clk_unregister() 106 clkdev_drop(cl); in mt8186_audsys_clk_unregister() 114 struct clk_lookup *cl; in mt8186_audsys_clk_register() local 138 cl = kzalloc_obj(*cl); in mt8186_audsys_clk_register() 139 if (!cl) in mt8186_audsys_clk_register() 142 cl->clk = clk; in mt8186_audsys_clk_register() 143 cl->con_id = gate->name; in mt8186_audsys_clk_register() [all …]
|
| /linux/drivers/firmware/ |
| H A D | thead,th1520-aon.c | 20 struct mbox_client cl; member 79 container_of(c, struct th1520_aon_chan, cl); in th1520_aon_rx_callback() 125 dev_err(aon_chan->cl.dev, "RPC send msg failed: %d\n", ret); in th1520_aon_call_rpc() 130 dev_err(aon_chan->cl.dev, "RPC send msg timeout\n"); in th1520_aon_call_rpc() 179 dev_err(aon_chan->cl.dev, "failed to power %s resource %d ret %d\n", in th1520_aon_power_update() 204 struct mbox_client *cl; in th1520_aon_init() local 211 cl = &aon_chan->cl; in th1520_aon_init() 212 cl->dev = dev; in th1520_aon_init() 213 cl->tx_block = true; in th1520_aon_init() 214 cl->tx_tout = MAX_TX_TIMEOUT; in th1520_aon_init() [all …]
|
| /linux/sound/soc/mediatek/mt8188/ |
| H A D | mt8188-audsys-clk.c | 150 struct clk_lookup *cl; in mt8188_audsys_clk_unregister() local 157 cl = afe_priv->lookup[i]; in mt8188_audsys_clk_unregister() 158 if (!cl) in mt8188_audsys_clk_unregister() 161 clk = cl->clk; in mt8188_audsys_clk_unregister() 164 clkdev_drop(cl); in mt8188_audsys_clk_unregister() 172 struct clk_lookup *cl; in mt8188_audsys_clk_register() local 196 cl = kzalloc_obj(*cl); in mt8188_audsys_clk_register() 197 if (!cl) in mt8188_audsys_clk_register() 200 cl->clk = clk; in mt8188_audsys_clk_register() 201 cl->con_id = gate->name; in mt8188_audsys_clk_register() [all …]
|