/openbmc/linux/drivers/staging/media/atomisp/pci/hive_isp_css_common/host/ |
H A D | debug_private.h | 56 if (remote_tail > debug_data_ptr->tail) { in debug_synch_queue() 60 debug_data_ptr->tail * sizeof(uint32_t), in debug_synch_queue() 62 } else if (remote_tail < debug_data_ptr->tail) { in debug_synch_queue() 66 debug_data_ptr->tail * sizeof(uint32_t), in debug_synch_queue() 72 debug_data_ptr->tail = remote_tail; in debug_synch_queue() 80 if (remote_tail > debug_data_ptr->tail) { in debug_synch_queue_isp() 96 debug_data_ptr->tail = remote_tail; in debug_synch_queue_isp() 106 if (remote_tail > debug_data_ptr->tail) { in debug_synch_queue_ddr() 110 debug_data_ptr->tail * sizeof(uint32_t), in debug_synch_queue_ddr() 116 debug_data_ptr->tail * sizeof(uint32_t), in debug_synch_queue_ddr() [all …]
|
/openbmc/linux/lib/ |
H A D | list_sort.c | 24 *tail = a; in merge() 25 tail = &a->next; in merge() 28 *tail = b; in merge() 32 *tail = b; in merge() 36 *tail = a; in merge() 63 tail = a; in merge_final() 70 tail = b; in merge_final() 80 tail->next = b; in merge_final() 92 tail = b; in merge_final() 220 tail = &(*tail)->prev; in list_sort() [all …]
|
/openbmc/linux/tools/lib/ |
H A D | list_sort.c | 23 *tail = a; in merge() 24 tail = &a->next; in merge() 27 *tail = b; in merge() 31 *tail = b; in merge() 35 *tail = a; in merge() 62 tail = a; in merge_final() 69 tail = b; in merge_final() 79 tail->next = b; in merge_final() 91 tail = b; in merge_final() 219 tail = &(*tail)->prev; in list_sort() [all …]
|
/openbmc/linux/arch/arm64/kernel/ |
H A D | perf_callchain.c | 23 user_backtrace(struct frame_tail __user *tail, in user_backtrace() argument 31 if (!access_ok(tail, sizeof(buftail))) in user_backtrace() 49 if (tail >= buftail.fp) in user_backtrace() 78 if (!access_ok(tail, sizeof(buftail))) in compat_user_backtrace() 94 if (tail + 1 >= (struct compat_frame_tail __user *) in compat_user_backtrace() 114 struct frame_tail __user *tail; in perf_callchain_user() local 119 tail && !((unsigned long)tail & 0x7)) in perf_callchain_user() 120 tail = user_backtrace(tail, entry); in perf_callchain_user() 124 struct compat_frame_tail __user *tail; in perf_callchain_user() local 129 tail && !((unsigned long)tail & 0x3)) in perf_callchain_user() [all …]
|
/openbmc/u-boot/lib/ |
H A D | membuff.c | 18 mb->tail = mb->start; in membuff_purge() 39 if (mb->head >= mb->tail) { in membuff_putrawflex() 109 if (mb->head > mb->tail) { in membuff_getraw() 111 *data = mb->tail; in membuff_getraw() 120 mb->tail += len; in membuff_getraw() 130 *data = mb->tail; in membuff_getraw() 135 mb->tail += len; in membuff_getraw() 137 mb->tail = mb->start; in membuff_getraw() 274 mb->tail = mb->start; in membuff_makecontig() 353 memmove(mb->tail + by, mb->tail, orig - oldtail); in membuff_extend_by() [all …]
|
H A D | list_sort.c | 30 tail->next = a; in merge() 33 tail->next = b; in merge() 36 tail = tail->next; in merge() 38 tail->next = a?:b; in merge() 60 tail->next = a; in merge_and_restore_back_links() 61 a->prev = tail; in merge_and_restore_back_links() 64 tail->next = b; in merge_and_restore_back_links() 68 tail = tail->next; in merge_and_restore_back_links() 79 (*cmp)(priv, tail->next, tail->next); in merge_and_restore_back_links() 81 tail->next->prev = tail; in merge_and_restore_back_links() [all …]
|
/openbmc/qemu/monitor/ |
H A D | qmp-cmds-control.c | 142 GenericList *tail; in split_off_generic_list() local 144 for (tail = list; tail; tail = tail->next) { in split_off_generic_list() 145 if (splitp(tail)) { in split_off_generic_list() 146 *split_tailp = tail; in split_off_generic_list() 149 *keep_tailp = tail; in split_off_generic_list() 150 keep_tailp = &tail->next; in split_off_generic_list() 161 strList *tail; in is_in() local 163 for (tail = list; tail; tail = tail->next) { in is_in() 185 SchemaInfoList *tail; in zap_deprecated() local 191 for (tail = schema; tail; tail = tail->next) { in zap_deprecated() [all …]
|
/openbmc/linux/Documentation/translations/zh_CN/core-api/ |
H A D | circular-buffers.rst | 55 (2) 'tail'索引 - 消费者在缓冲区中找到下一个元素的位置。 57 通常,当tail指针等于head指针时,表明缓冲区是空的;而当head指针比tail指针少一个时, 60 添加元素时,递增head索引;删除元素时,递增tail索引。tail索引不应该跳过head索引, 111 产者控制着head索引,但消费者可能仍然在另一个CPU上耗尽缓冲区并移动tail索引。 116 者控制着tail索引,但生产者可能仍然在另一个CPU上填充缓冲区并移动head索引。 146 unsigned long tail = READ_ONCE(buffer->tail); 181 unsigned long tail = buffer->tail; 186 struct item *item = buffer[tail]; 190 /* 在递增tail之前完成对描述符的读取。 */ 191 smp_store_release(buffer->tail, [all …]
|
/openbmc/qemu/tests/qtest/libqos/ |
H A D | qos_external.c | 42 MachineInfoList *tail; in machines_apply_to_node() local 44 for (tail = mach_info; tail; tail = tail->next) { in machines_apply_to_node() 45 machine_apply_to_node(tail->value->name); in machines_apply_to_node() 46 if (tail->value->alias) { in machines_apply_to_node() 47 machine_apply_to_node(tail->value->alias); in machines_apply_to_node() 62 ObjectTypeInfoList *tail; in types_apply_to_node() local 64 for (tail = type_info; tail; tail = tail->next) { in types_apply_to_node() 65 type_apply_to_node(tail->value->name, tail->value->abstract); in types_apply_to_node()
|
/openbmc/linux/drivers/rpmsg/ |
H A D | qcom_glink_smem.c | 53 __le32 *tail; member 70 u32 tail; in glink_smem_rx_avail() local 86 tail = le32_to_cpu(*pipe->tail); in glink_smem_rx_avail() 99 u32 tail; in glink_smem_rx_peek() local 101 tail = le32_to_cpu(*pipe->tail); in glink_smem_rx_peek() 118 u32 tail; in glink_smem_rx_advance() local 120 tail = le32_to_cpu(*pipe->tail); in glink_smem_rx_advance() 122 tail += count; in glink_smem_rx_advance() 126 *pipe->tail = cpu_to_le32(tail); in glink_smem_rx_advance() 133 u32 tail; in glink_smem_tx_avail() local [all …]
|
H A D | qcom_glink_rpm.c | 51 void __iomem *tail; member 73 unsigned int tail; in glink_rpm_rx_avail() local 76 tail = readl(pipe->tail); in glink_rpm_rx_avail() 78 if (head < tail) in glink_rpm_rx_avail() 91 tail = readl(pipe->tail); in glink_rpm_rx_peek() 92 tail += offset; in glink_rpm_rx_peek() 114 tail = readl(pipe->tail); in glink_rpm_rx_advance() 116 tail += count; in glink_rpm_rx_advance() 120 writel(tail, pipe->tail); in glink_rpm_rx_advance() 130 tail = readl(pipe->tail); in glink_rpm_tx_avail() [all …]
|
/openbmc/linux/drivers/infiniband/sw/rdmavt/ |
H A D | cq.c | 34 u32 tail; in rvt_cq_enter() local 42 tail = RDMA_READ_UAPI_ATOMIC(u_wc->tail); in rvt_cq_enter() 47 tail = k_wc->tail; in rvt_cq_enter() 386 tail = RDMA_READ_UAPI_ATOMIC(old_u_wc->tail); in rvt_resize_cq() 390 tail = old_k_wc->tail; in rvt_resize_cq() 411 tail = 0; in rvt_resize_cq() 413 tail++; in rvt_resize_cq() 482 u32 tail; in rvt_poll_cq() local 491 tail = wc->tail; in rvt_poll_cq() 503 tail++; in rvt_poll_cq() [all …]
|
/openbmc/linux/include/linux/ |
H A D | circ_buf.h | 12 int tail; member 16 #define CIRC_CNT(head,tail,size) (((head) - (tail)) & ((size)-1)) argument 21 #define CIRC_SPACE(head,tail,size) CIRC_CNT((tail),((head)+1),(size)) argument 26 #define CIRC_CNT_TO_END(head,tail,size) \ argument 27 ({int end = (size) - (tail); \ 32 #define CIRC_SPACE_TO_END(head,tail,size) \ argument 34 int n = (end + (tail)) & ((size)-1); \
|
/openbmc/linux/drivers/net/ethernet/intel/fm10k/ |
H A D | fm10k_mbx.c | 17 fifo->tail = 0; in fm10k_fifo_init() 137 if (len > tail) in fm10k_mbx_index_len() 156 return (tail > mbx->tail) ? --tail : ++tail; in fm10k_mbx_tail_add() 172 return (tail < mbx->tail) ? ++tail : --tail; in fm10k_mbx_tail_sub() 346 tail++; in fm10k_mbx_write_copy() 360 if (!tail) in fm10k_mbx_write_copy() 361 tail++; in fm10k_mbx_write_copy() 439 tail += end; in fm10k_mbx_read_copy() 979 if (!tail || (tail == FM10K_MSG_HDR_MASK(TAIL))) in fm10k_mbx_validate_msg_hdr() 995 if (tail) in fm10k_mbx_validate_msg_hdr() [all …]
|
/openbmc/linux/arch/arm/kernel/ |
H A D | perf_callchain.c | 34 user_backtrace(struct frame_tail __user *tail, in user_backtrace() argument 40 if (!access_ok(tail, sizeof(buftail))) in user_backtrace() 44 err = __copy_from_user_inatomic(&buftail, tail, sizeof(buftail)); in user_backtrace() 56 if (tail + 1 >= buftail.fp) in user_backtrace() 65 struct frame_tail __user *tail; in perf_callchain_user() local 72 tail = (struct frame_tail __user *)regs->ARM_fp - 1; in perf_callchain_user() 75 tail && !((unsigned long)tail & 0x3)) in perf_callchain_user() 76 tail = user_backtrace(tail, entry); in perf_callchain_user()
|
/openbmc/linux/drivers/gpu/drm/i915/gt/ |
H A D | intel_ring.h | 26 void intel_ring_reset(struct intel_ring *ring, u32 tail); 91 assert_ring_tail_valid(const struct intel_ring *ring, unsigned int tail) in assert_ring_tail_valid() argument 95 GEM_BUG_ON(!intel_ring_offset_valid(ring, tail)); in assert_ring_tail_valid() 112 GEM_BUG_ON(cacheline(tail) == cacheline(head) && tail < head); in assert_ring_tail_valid() 117 intel_ring_set_tail(struct intel_ring *ring, unsigned int tail) in intel_ring_set_tail() argument 125 assert_ring_tail_valid(ring, tail); in intel_ring_set_tail() 126 ring->tail = tail; in intel_ring_set_tail() 127 return tail; in intel_ring_set_tail() 131 __intel_ring_space(unsigned int head, unsigned int tail, unsigned int size) in __intel_ring_space() argument 139 return (head - tail - CACHELINE_BYTES) & (size - 1); in __intel_ring_space()
|
/openbmc/linux/drivers/net/wireguard/ |
H A D | queueing.c | 56 queue->head = queue->tail = STUB(queue); in wg_prev_queue_init() 82 struct sk_buff *tail = queue->tail, *next = smp_load_acquire(&NEXT(tail)); in wg_prev_queue_dequeue() local 84 if (tail == STUB(queue)) { in wg_prev_queue_dequeue() 87 queue->tail = next; in wg_prev_queue_dequeue() 88 tail = next; in wg_prev_queue_dequeue() 92 queue->tail = next; in wg_prev_queue_dequeue() 94 return tail; in wg_prev_queue_dequeue() 96 if (tail != READ_ONCE(queue->head)) in wg_prev_queue_dequeue() 99 next = smp_load_acquire(&NEXT(tail)); in wg_prev_queue_dequeue() 101 queue->tail = next; in wg_prev_queue_dequeue() [all …]
|
/openbmc/qemu/tests/qtest/ |
H A D | qmp-cmd-test.c | 136 SchemaInfoList *tail; in qmp_schema_init() local 153 for (tail = schema->list; tail; tail = tail->next) { in qmp_schema_init() 154 g_hash_table_insert(schema->hash, tail->value->name, tail->value); in qmp_schema_init() 171 SchemaInfoObjectMemberList *tail; in object_type_has_mandatory_members() local 175 for (tail = type->u.object.members; tail; tail = tail->next) { in object_type_has_mandatory_members() 176 if (!tail->value->q_default) { in object_type_has_mandatory_members() 186 SchemaInfoList *tail; in add_query_tests() local 191 for (tail = schema->list; tail; tail = tail->next) { in add_query_tests() 192 si = tail->value; in add_query_tests()
|
/openbmc/linux/kernel/locking/ |
H A D | qspinlock.c | 118 u32 tail; in encode_tail() local 120 tail = (cpu + 1) << _Q_TAIL_CPU_OFFSET; in encode_tail() 123 return tail; in encode_tail() 128 int cpu = (tail >> _Q_TAIL_CPU_OFFSET) - 1; in decode_tail() 183 return (u32)xchg_relaxed(&lock->tail, in xchg_tail() 184 tail >> _Q_TAIL_OFFSET) << _Q_TAIL_OFFSET; in xchg_tail() 226 new = (val & _Q_LOCKED_PENDING_MASK) | tail; in xchg_tail() 319 u32 old, tail; in queued_spin_lock_slowpath() local 403 tail = encode_tail(smp_processor_id(), idx); in queued_spin_lock_slowpath() 463 old = xchg_tail(lock, tail); in queued_spin_lock_slowpath() [all …]
|
/openbmc/qemu/tests/unit/ |
H A D | test-opts-visitor.c | 180 intList *tail; in test_opts_range_unvisited() local 194 tail = list; in test_opts_range_unvisited() 196 g_assert_cmpint(tail->value, ==, 0); in test_opts_range_unvisited() 197 tail = (intList *)visit_next_list(v, (GenericList *)tail, sizeof(*list)); in test_opts_range_unvisited() 198 g_assert(tail); in test_opts_range_unvisited() 201 tail = (intList *)visit_next_list(v, (GenericList *)tail, sizeof(*list)); in test_opts_range_unvisited() 202 g_assert(tail); in test_opts_range_unvisited() 220 intList *tail; in test_opts_range_beyond() local 235 tail = list; in test_opts_range_beyond() 238 tail = (intList *)visit_next_list(v, (GenericList *)tail, sizeof(*tail)); in test_opts_range_beyond() [all …]
|
/openbmc/linux/include/drm/ |
H A D | spsc_queue.h | 43 atomic_long_t tail; member 51 atomic_long_set(&queue->tail, (long)&queue->head); in spsc_queue_init() 67 struct spsc_node **tail; in spsc_queue_push() local 73 tail = (struct spsc_node **)atomic_long_xchg(&queue->tail, (long)&node->next); in spsc_queue_push() 74 WRITE_ONCE(*tail, node); in spsc_queue_push() 85 return tail == &queue->head; in spsc_queue_push() 107 if (atomic_long_cmpxchg(&queue->tail, in spsc_queue_pop()
|
/openbmc/qemu/hw/net/rocker/ |
H A D | rocker_desc.c | 29 uint32_t tail; member 101 return ring->head == ring->tail; in desc_ring_empty() 137 ring->head = ring->tail = 0; in desc_ring_set_size() 187 return desc_read(ring, ring->tail); in __desc_ring_fetch_desc() 205 desc_write(ring, ring->tail); in __desc_ring_post_desc() 206 ring->tail = (ring->tail + 1) % ring->size; in __desc_ring_post_desc() 254 uint32_t tail = ring->tail; in desc_ring_set_head() local 267 if (((head < tail) && ((new >= tail) || (new < head))) || in desc_ring_set_head() 268 ((head > tail) && ((new >= tail) && (new < head)))) { in desc_ring_set_head() 291 return ring->tail; in desc_ring_get_tail() [all …]
|
/openbmc/linux/drivers/media/test-drivers/vidtv/ |
H A D | vidtv_channel.c | 182 tail = vidtv_psi_eit_event_init(tail, event_id); in vidtv_channel_eit_event_cat_into_new() 183 if (!tail) { in vidtv_channel_eit_event_cat_into_new() 192 head = tail; in vidtv_channel_eit_event_cat_into_new() 229 tail = vidtv_psi_sdt_service_init(tail, in vidtv_channel_sdt_serv_cat_into_new() 233 if (!tail) in vidtv_channel_sdt_serv_cat_into_new() 242 head = tail; in vidtv_channel_sdt_serv_cat_into_new() 284 tail = vidtv_psi_pat_program_init(tail, in vidtv_channel_pat_prog_cat_into_new() 287 if (!tail) { in vidtv_channel_pat_prog_cat_into_new() 293 head = tail; in vidtv_channel_pat_prog_cat_into_new() 341 tail = vidtv_psi_pmt_stream_init(tail, in vidtv_channel_pmt_match_sections() [all …]
|
/openbmc/qemu/util/ |
H A D | yank.c | 156 YankInstanceList *tail; in qmp_yank() local 161 for (tail = instances; tail; tail = tail->next) { in qmp_yank() 162 entry = yank_find_entry(tail->value); in qmp_yank() 168 for (tail = instances; tail; tail = tail->next) { in qmp_yank() 169 entry = yank_find_entry(tail->value); in qmp_yank()
|
/openbmc/qemu/include/qapi/ |
H A D | util.h | 53 #define QAPI_LIST_APPEND(tail, element) do { \ argument 54 *(tail) = g_malloc0(sizeof(**(tail))); \ 55 (*(tail))->value = (element); \ 56 (tail) = &(*(tail))->next; \
|