| /OK3568_Linux_fs/kernel/virt/lib/ |
| H A D | irqbypass.c | 84 int irq_bypass_register_producer(struct irq_bypass_producer *producer) in irq_bypass_register_producer() argument 90 if (!producer->token) in irq_bypass_register_producer() 101 if (tmp->token == producer->token) { in irq_bypass_register_producer() 108 if (consumer->token == producer->token) { in irq_bypass_register_producer() 109 ret = __connect(producer, consumer); in irq_bypass_register_producer() 116 list_add(&producer->node, &producers); in irq_bypass_register_producer() 135 void irq_bypass_unregister_producer(struct irq_bypass_producer *producer) in irq_bypass_unregister_producer() argument 140 if (!producer->token) in irq_bypass_unregister_producer() 151 if (tmp->token != producer->token) in irq_bypass_unregister_producer() 155 if (consumer->token == producer->token) { in irq_bypass_unregister_producer() [all …]
|
| /OK3568_Linux_fs/kernel/tools/testing/selftests/bpf/benchs/ |
| H A D | bench_rename.c | 26 static void *producer(void *input) in producer() function 118 .producer_thread = producer, 129 .producer_thread = producer, 140 .producer_thread = producer, 151 .producer_thread = producer, 162 .producer_thread = producer, 173 .producer_thread = producer,
|
| /OK3568_Linux_fs/kernel/include/linux/ |
| H A D | ptr_ring.h | 31 int producer ____cacheline_aligned_in_smp; 51 return r->queue[r->producer]; in __ptr_ring_full() 106 if (unlikely(!r->size) || r->queue[r->producer]) in __ptr_ring_produce() 113 WRITE_ONCE(r->queue[r->producer++], ptr); in __ptr_ring_produce() 114 if (unlikely(r->producer >= r->size)) in __ptr_ring_produce() 115 r->producer = 0; in __ptr_ring_produce() 494 r->producer = r->consumer_head = r->consumer_tail = 0; in ptr_ring_init() 562 int producer = 0; in __ptr_ring_swap_queue() local 567 if (producer < size) in __ptr_ring_swap_queue() 568 queue[producer++] = ptr; in __ptr_ring_swap_queue() [all …]
|
| H A D | kvm_irqfd.h | 61 struct irq_bypass_producer *producer; member
|
| /OK3568_Linux_fs/kernel/drivers/net/ethernet/qlogic/qlcnic/ |
| H A D | qlcnic_io.c | 276 u32 producer; in qlcnic_82xx_change_filter() local 279 producer = tx_ring->producer; in qlcnic_82xx_change_filter() 280 hwdesc = &tx_ring->desc_head[tx_ring->producer]; in qlcnic_82xx_change_filter() 296 tx_ring->producer = get_next_index(producer, tx_ring->num_desc); in qlcnic_82xx_change_filter() 376 u32 producer = tx_ring->producer; in qlcnic_tx_encap_pkt() local 406 hwdesc = &tx_ring->desc_head[producer]; in qlcnic_tx_encap_pkt() 407 tx_ring->cmd_buf_arr[producer].skb = NULL; in qlcnic_tx_encap_pkt() 412 producer = get_next_index(producer, tx_ring->num_desc); in qlcnic_tx_encap_pkt() 415 tx_ring->producer = producer; in qlcnic_tx_encap_pkt() 467 u32 producer = tx_ring->producer; in qlcnic_tx_pkt() local [all …]
|
| H A D | qlcnic_hw.c | 384 u32 i, producer; in qlcnic_send_cmd_descs() local 397 producer = tx_ring->producer; in qlcnic_send_cmd_descs() 415 pbuf = &tx_ring->cmd_buf_arr[producer]; in qlcnic_send_cmd_descs() 419 memcpy(&tx_ring->desc_head[producer], in qlcnic_send_cmd_descs() 422 producer = get_next_index(producer, tx_ring->num_desc); in qlcnic_send_cmd_descs() 427 tx_ring->producer = producer; in qlcnic_send_cmd_descs()
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/net/ |
| H A D | mdio-mux-multiplexer.txt | 4 of a mux producer device. The mux producer can be of any type like mmio mux 5 producer, gpio mux producer or generic register based mux producer. 21 In below example the Mux producer and consumer are separate nodes.
|
| /OK3568_Linux_fs/kernel/Documentation/core-api/ |
| H A D | circular-buffers.rst | 15 (2) Memory barriers for when the producer and the consumer of objects in the 19 producer and just one consumer. It is possible to handle multiple producers by 30 - The producer. 41 (1) A 'head' index - the point at which the producer inserts items into the 113 (1) CIRC_SPACE*() are intended to be used in the producer. To the producer 114 they will return a lower bound as the producer controls the head index, 118 To the consumer it will show an upper bound as the producer may be busy 123 producer may still be filling the buffer on another CPU and moving the 126 To the producer it will show an upper bound as the consumer may be busy 130 producer and consumer become visible cannot be guaranteed as they are [all …]
|
| /OK3568_Linux_fs/kernel/net/xdp/ |
| H A D | xsk_queue.h | 17 u32 producer ____cacheline_aligned_in_smp; 213 q->cached_prod = READ_ONCE(q->ring->producer); in __xskq_cons_peek() 265 return READ_ONCE(q->ring->producer) - READ_ONCE(q->ring->consumer) == in xskq_cons_is_full() 272 return READ_ONCE(q->ring->producer) - READ_ONCE(q->ring->consumer); in xskq_cons_present_entries() 339 WRITE_ONCE(q->ring->producer, idx); in __xskq_prod_submit() 350 u32 idx = q->ring->producer; in xskq_prod_submit_addr() 359 __xskq_prod_submit(q, q->ring->producer + nb_entries); in xskq_prod_submit_n() 365 return READ_ONCE(q->ring->consumer) == READ_ONCE(q->ring->producer); in xskq_prod_is_empty()
|
| H A D | xsk.h | 15 __u64 producer; member
|
| /OK3568_Linux_fs/kernel/kernel/trace/ |
| H A D | ring_buffer_benchmark.c | 33 static struct task_struct *producer; variable 447 producer = kthread_run(ring_buffer_producer_thread, in ring_buffer_benchmark_init() 449 ret = PTR_ERR(producer); in ring_buffer_benchmark_init() 451 if (IS_ERR(producer)) in ring_buffer_benchmark_init() 467 sched_set_fifo(producer); in ring_buffer_benchmark_init() 469 sched_set_fifo_low(producer); in ring_buffer_benchmark_init() 471 set_user_nice(producer, producer_nice); in ring_buffer_benchmark_init() 486 kthread_stop(producer); in ring_buffer_benchmark_exit()
|
| /OK3568_Linux_fs/kernel/tools/lib/bpf/ |
| H A D | xsk.c | 91 __u64 producer; member 174 off->rx.producer = off_v1.rx.producer; in xsk_mmap_offsets_v1() 179 off->tx.producer = off_v1.tx.producer; in xsk_mmap_offsets_v1() 184 off->fr.producer = off_v1.fr.producer; in xsk_mmap_offsets_v1() 189 off->cr.producer = off_v1.cr.producer; in xsk_mmap_offsets_v1() 248 fill->producer = map + off.fr.producer; in xsk_create_umem_rings() 264 comp->producer = map + off.cr.producer; in xsk_create_umem_rings() 803 rx->producer = rx_map + off.rx.producer; in xsk_socket__create_shared() 807 rx->cached_prod = *rx->producer; in xsk_socket__create_shared() 824 tx->producer = tx_map + off.tx.producer; in xsk_socket__create_shared() [all …]
|
| H A D | xsk.h | 32 __u32 *producer; \ 109 r->cached_prod = *r->producer; in xsk_cons_nb_avail() 135 *prod->producer += nb; in xsk_ring_prod__submit()
|
| /OK3568_Linux_fs/kernel/drivers/mailbox/ |
| H A D | tegra-hsp.c | 73 bool producer; member 220 if (mb->producer) { in tegra_hsp_shared_irq() 246 if (!mb->producer) { in tegra_hsp_shared_irq() 380 if (WARN_ON(!mb->producer)) in tegra_hsp_mailbox_send_data() 449 if (mb->producer) in tegra_hsp_mailbox_startup() 459 if (mb->producer) in tegra_hsp_mailbox_startup() 478 if (mb->producer) in tegra_hsp_mailbox_shutdown() 488 if (mb->producer) in tegra_hsp_mailbox_shutdown() 560 mb->producer = false; in tegra_hsp_sm_xlate() 562 mb->producer = true; in tegra_hsp_sm_xlate()
|
| /OK3568_Linux_fs/kernel/drivers/net/ethernet/qlogic/netxen/ |
| H A D | netxen_nic_init.c | 1813 int producer, count = 0; in netxen_post_rx_buffers() local 1817 producer = rds_ring->producer; in netxen_post_rx_buffers() 1833 pdesc = &rds_ring->desc_head[producer]; in netxen_post_rx_buffers() 1838 producer = get_next_index(producer, rds_ring->num_desc); in netxen_post_rx_buffers() 1842 rds_ring->producer = producer; in netxen_post_rx_buffers() 1844 (producer-1) & (rds_ring->num_desc-1)); in netxen_post_rx_buffers() 1855 ((producer - 1) & in netxen_post_rx_buffers() 1871 int producer, count = 0; in netxen_post_rx_buffers_nodb() local 1877 producer = rds_ring->producer; in netxen_post_rx_buffers_nodb() 1893 pdesc = &rds_ring->desc_head[producer]; in netxen_post_rx_buffers_nodb() [all …]
|
| H A D | netxen_nic_main.c | 106 NXWRIO(adapter, tx_ring->crb_cmd_producer, tx_ring->producer); in netxen_nic_update_cmd_producer() 1241 tx_ring->producer = 0; in netxen_nic_attach() 1857 u32 producer; in netxen_tso_check() local 1924 producer = tx_ring->producer; in netxen_tso_check() 1931 hwdesc = &tx_ring->desc_head[producer]; in netxen_tso_check() 1932 tx_ring->cmd_buf_arr[producer].skb = NULL; in netxen_tso_check() 1947 producer = get_next_index(producer, tx_ring->num_desc); in netxen_tso_check() 1955 hwdesc = &tx_ring->desc_head[producer]; in netxen_tso_check() 1956 tx_ring->cmd_buf_arr[producer].skb = NULL; in netxen_tso_check() 1964 producer = get_next_index(producer, tx_ring->num_desc); in netxen_tso_check() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/arm/bifrost/ |
| H A D | mali_kbase_kinstr_jm.c | 187 spinlock_t producer; member 245 spin_lock_init(&changes->producer); in reader_changes_init() 272 spin_lock_irqsave(&changes->producer, irq); in reader_changes_term() 274 spin_unlock_irqrestore(&changes->producer, irq); in reader_changes_term() 338 spin_lock_irqsave(&changes->producer, irq); in reader_changes_push() 365 spin_unlock_irqrestore(&changes->producer, irq); in reader_changes_push()
|
| /OK3568_Linux_fs/kernel/drivers/vfio/pci/ |
| H A D | vfio_pci_intrs.c | 302 irq_bypass_unregister_producer(&vdev->ctx[vector].producer); in vfio_msi_set_vector_signal() 352 vdev->ctx[vector].producer.token = trigger; in vfio_msi_set_vector_signal() 353 vdev->ctx[vector].producer.irq = irq; in vfio_msi_set_vector_signal() 354 ret = irq_bypass_register_producer(&vdev->ctx[vector].producer); in vfio_msi_set_vector_signal() 358 vdev->ctx[vector].producer.token, ret); in vfio_msi_set_vector_signal() 360 vdev->ctx[vector].producer.token = NULL; in vfio_msi_set_vector_signal()
|
| /OK3568_Linux_fs/kernel/Documentation/networking/ |
| H A D | af_xdp.rst | 64 single-consumer / single-producer (for performance reasons), the new 121 The UMEM has two single-producer/single-consumer rings that are used 129 TX. All rings are single-producer/single-consumer, so the user-space 138 The rings are head(producer)/tail(consumer) based rings. A producer 140 producer member, and increasing the producer index. A consumer reads 309 rings, and they are single producer, single consumer rings, you need 355 space is a producer. When this option is set in the bind call, the 405 be used. Note, that the rings are single-producer single-consumer, so 486 // __u32 *producer; 492 // __u32 *producer; [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/mailbox/ |
| H A D | nvidia,tegra186-hsp.txt | 47 as a producer (i.e. used to send data). If cleared, the mailbox is the 48 consumer of data sent by a producer.
|
| /OK3568_Linux_fs/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/include/linux/ |
| H A D | if_xdp.h | 29 __u64 producer; member
|
| /OK3568_Linux_fs/prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/usr/include/linux/ |
| H A D | if_xdp.h | 29 __u64 producer; member
|
| /OK3568_Linux_fs/kernel/drivers/vhost/ |
| H A D | vdpa.c | 103 irq_bypass_unregister_producer(&vq->call_ctx.producer); in vhost_vdpa_setup_vq_irq() 107 vq->call_ctx.producer.token = vq->call_ctx.ctx; in vhost_vdpa_setup_vq_irq() 108 vq->call_ctx.producer.irq = irq; in vhost_vdpa_setup_vq_irq() 109 ret = irq_bypass_register_producer(&vq->call_ctx.producer); in vhost_vdpa_setup_vq_irq() 112 qid, vq->call_ctx.producer.token, ret); in vhost_vdpa_setup_vq_irq() 119 irq_bypass_unregister_producer(&vq->call_ctx.producer); in vhost_vdpa_unsetup_vq_irq()
|
| /OK3568_Linux_fs/kernel/tools/include/uapi/linux/ |
| H A D | if_xdp.h | 44 __u64 producer; member
|
| /OK3568_Linux_fs/kernel/include/uapi/linux/ |
| H A D | if_xdp.h | 44 __u64 producer; member
|