Home
last modified time | relevance | path

Searched full:tail (Results 1 – 25 of 1739) sorted by relevance

12345678910>>...70

/openbmc/linux/drivers/staging/media/atomisp/pci/hive_isp_css_common/host/
H A Ddebug_private.h30 return (debug_data_ptr->head == debug_data_ptr->tail); in is_debug_buffer_empty()
56 if (remote_tail > debug_data_ptr->tail) { in debug_synch_queue()
57 size_t delta = remote_tail - debug_data_ptr->tail; in debug_synch_queue()
60 debug_data_ptr->tail * sizeof(uint32_t), in debug_synch_queue()
61 (void *)&debug_data_ptr->buf[debug_data_ptr->tail], delta * sizeof(uint32_t)); in debug_synch_queue()
62 } else if (remote_tail < debug_data_ptr->tail) { in debug_synch_queue()
63 size_t delta = DEBUG_BUF_SIZE - debug_data_ptr->tail; in debug_synch_queue()
66 debug_data_ptr->tail * sizeof(uint32_t), in debug_synch_queue()
67 (void *)&debug_data_ptr->buf[debug_data_ptr->tail], delta * sizeof(uint32_t)); in debug_synch_queue()
72 debug_data_ptr->tail = remote_tail; in debug_synch_queue()
[all …]
/openbmc/u-boot/lib/
H A Dmembuff.c16 /* set mb->head and mb->tail so the buffers look empty */ in membuff_purge()
18 mb->tail = mb->start; in membuff_purge()
36 * if head is ahead of tail, we can write from head until the end of in membuff_putrawflex()
39 if (mb->head >= mb->tail) { in membuff_putrawflex()
50 * if the tail isn't at start of the buffer, then we can in membuff_putrawflex()
53 if ((maxlen < 0 || len < maxlen) && mb->tail != mb->start) { in membuff_putrawflex()
59 /* otherwise now we can write until head almost reaches tail */ in membuff_putrawflex()
62 len = mb->tail - mb->head - 1; in membuff_putrawflex()
106 * in this case head is ahead of tail, so we must return data between in membuff_getraw()
107 *'tail' and 'head' in membuff_getraw()
[all …]
H A Dlist_sort.c25 struct list_head head, *tail = &head; in merge() local
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()
55 struct list_head *tail = head; in merge_and_restore_back_links() local
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()
65 b->prev = tail; in merge_and_restore_back_links()
[all …]
/openbmc/linux/arch/arm64/kernel/
H A Dperf_callchain.c20 * next frame tail.
23 user_backtrace(struct frame_tail __user *tail, in user_backtrace() argument
31 if (!access_ok(tail, sizeof(buftail))) in user_backtrace()
35 err = __copy_from_user_inatomic(&buftail, tail, sizeof(buftail)); in user_backtrace()
49 if (tail >= buftail.fp) in user_backtrace()
71 compat_user_backtrace(struct compat_frame_tail __user *tail, in compat_user_backtrace() argument
78 if (!access_ok(tail, sizeof(buftail))) in compat_user_backtrace()
82 err = __copy_from_user_inatomic(&buftail, 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
[all …]
/openbmc/linux/drivers/rpmsg/
H A Dqcom_glink_rpm.c51 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()
79 return pipe->native.length - tail + head; in glink_rpm_rx_avail()
81 return head - tail; in glink_rpm_rx_avail()
88 unsigned int tail; in glink_rpm_rx_peek() local
91 tail = readl(pipe->tail); in glink_rpm_rx_peek()
92 tail += offset; in glink_rpm_rx_peek()
93 if (tail >= pipe->native.length) in glink_rpm_rx_peek()
[all …]
H A Dqcom_glink_smem.c53 __le32 *tail; member
70 u32 tail; in glink_smem_rx_avail() local
86 tail = le32_to_cpu(*pipe->tail); in glink_smem_rx_avail()
88 if (head < tail) in glink_smem_rx_avail()
89 return pipe->native.length - tail + head; in glink_smem_rx_avail()
91 return head - 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()
102 tail += offset; in glink_smem_rx_peek()
103 if (tail >= pipe->native.length) in glink_smem_rx_peek()
[all …]
/openbmc/qemu/tests/unit/
H A Dtest-fifo.c31 * head --v-- tail used = 0 in test_fifo8_pop_bufptr_wrap()
37 * head --v ]-- tail used = 4 in test_fifo8_pop_bufptr_wrap()
42 * head --v ]-- tail used = 2 in test_fifo8_pop_bufptr_wrap()
51 * tail --]v-- head used = 8 in test_fifo8_pop_bufptr_wrap()
56 * head --v ]-- tail used = 2 in test_fifo8_pop_bufptr_wrap()
77 * head --v-- tail used = 0 in test_fifo8_pop_bufptr()
83 * head --v ]-- tail used = 4 in test_fifo8_pop_bufptr()
88 * head --v ]-- tail used = 2 in test_fifo8_pop_bufptr()
109 * head --v-- tail used = 0 in test_fifo8_peek_bufptr_wrap()
115 * head --v ]-- tail used = 4 in test_fifo8_peek_bufptr_wrap()
[all …]
/openbmc/qemu/monitor/
H A Dqmp-cmds-control.c142 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()
147 split_tailp = &tail->next; 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()
164 if (!strcmp(tail->value, s)) { in is_in()
[all …]
/openbmc/linux/drivers/gpu/drm/i915/gt/
H A Dintel_ring.h26 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()
102 * "If the Ring Buffer Head Pointer and the Tail Pointer are on the in assert_ring_tail_valid()
103 * same cacheline, the Head Pointer must not be greater than the 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
119 /* Whilst writes to the tail are strictly order, there is no in intel_ring_set_tail()
120 * serialisation between readers and the writers. The tail may be in intel_ring_set_tail()
125 assert_ring_tail_valid(ring, tail); in intel_ring_set_tail()
[all …]
/openbmc/linux/drivers/infiniband/sw/rdmavt/
H A Dcq.c34 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()
61 if (unlikely(next == tail || cq->cq_full)) { in rvt_cq_enter()
183 * Allocate the completion queue entries and head/tail pointers. in rvt_create_cq()
319 RDMA_READ_UAPI_ATOMIC(cq->queue->tail)) in rvt_req_notify_cq()
322 if (cq->kqueue->head != cq->kqueue->tail) in rvt_req_notify_cq()
341 u32 head, tail, n; in rvt_resize_cq() local
380 * Make sure head and tail are sane since they in rvt_resize_cq()
386 tail = RDMA_READ_UAPI_ATOMIC(old_u_wc->tail); in rvt_resize_cq()
[all …]
/openbmc/linux/include/linux/
H A Dcirc_buf.h12 int tail; member
16 #define CIRC_CNT(head,tail,size) (((head) - (tail)) & ((size)-1)) argument
19 as a completely full buffer has head == tail, which is the same as
21 #define CIRC_SPACE(head,tail,size) CIRC_CNT((tail),((head)+1),(size)) argument
24 accessing head and tail more than once, so they can change
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 Dfm10k_mbx.c17 fifo->tail = 0; in fm10k_fifo_init()
28 return fifo->tail - fifo->head; in fm10k_fifo_used()
39 return fifo->size + fifo->head - fifo->tail; in fm10k_fifo_unused()
50 return fifo->head == fifo->tail; in fm10k_fifo_empty()
66 * fm10k_fifo_tail_offset - returns indices of tail with given offset
68 * @offset: offset to add to tail
70 * This function returns the indices into the FIFO based on tail + offset
74 return (fifo->tail + offset) & (fifo->size - 1); in fm10k_fifo_tail_offset()
120 fifo->head = fifo->tail; in fm10k_fifo_drop_all()
124 * fm10k_mbx_index_len - Convert a head/tail index into a length value
[all …]
/openbmc/qemu/tests/qtest/libqos/
H A Dqos_external.c42 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/net/wireguard/
H A Dqueueing.c56 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/linux/kernel/locking/
H A Dqspinlock.c45 * In particular; where the traditional MCS lock consists of a tail pointer
47 * unlock the next pending (next->locked), we compress both these: {tail,
53 * we can encode the tail by combining the 2-bit nesting level with the cpu
54 * number. With one byte for the lock value and 3 bytes for the tail, only a
112 * We must be able to distinguish between no-tail and the tail at 0:0,
118 u32 tail; in encode_tail() local
120 tail = (cpu + 1) << _Q_TAIL_CPU_OFFSET; in encode_tail()
121 tail |= idx << _Q_TAIL_IDX_OFFSET; /* assume < 4 */ in encode_tail()
123 return tail; in encode_tail()
126 static inline __pure struct mcs_spinlock *decode_tail(u32 tail) in decode_tail() argument
[all …]
/openbmc/linux/arch/arm/kernel/
H A Dperf_callchain.c31 * next frame tail.
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/qemu/hw/net/rocker/
H A Drocker_desc.c29 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()
196 return desc_read(ring, ring->tail); in desc_ring_fetch_desc()
202 DescInfo *info = &ring->info[ring->tail]; in __desc_ring_post_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()
235 * desc starting at tail and stopping when tail reaches in ring_pump()
240 while (ring->head != ring->tail) { in ring_pump()
[all …]
/openbmc/linux/tools/lib/
H A Dlist_sort.c18 struct list_head *head, **tail = &head; in merge() local
23 *tail = a; in merge()
24 tail = &a->next; in merge()
27 *tail = b; in merge()
31 *tail = b; in merge()
32 tail = &b->next; in merge()
35 *tail = a; in merge()
54 struct list_head *tail = head; in merge_final() local
60 tail->next = a; in merge_final()
61 a->prev = tail; in merge_final()
[all …]
/openbmc/linux/lib/
H A Dlist_sort.c19 struct list_head *head, **tail = &head; in merge() local
24 *tail = a; in merge()
25 tail = &a->next; in merge()
28 *tail = b; in merge()
32 *tail = b; in merge()
33 tail = &b->next; in merge()
36 *tail = a; in merge()
55 struct list_head *tail = head; in merge_final() local
61 tail->next = a; in merge_final()
62 a->prev = tail; in merge_final()
[all …]
/openbmc/linux/Documentation/trace/
H A Dring-buffer-design.rst21 tail
191 It is possible that the page swapped is the commit page and the tail page,
196 reader page commit page tail page
227 tail page
253 +---------+ <--- tail pointer
278 +---------+ <--- tail pointer
291 +---------+ <--- tail pointer
302 +---------+ <--(last full commit and tail pointer)
311 The tail page points to the page with the last write (before
314 The tail page is always equal to or after the commit page. It may
[all …]
/openbmc/linux/drivers/media/test-drivers/vidtv/
H A Dvidtv_channel.c165 struct vidtv_psi_table_eit_event *tail = NULL; in vidtv_channel_eit_event_cat_into_new() local
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()
189 vidtv_psi_desc_assign(&tail->descriptor, desc); in vidtv_channel_eit_event_cat_into_new()
192 head = tail; in vidtv_channel_eit_event_cat_into_new()
211 struct vidtv_psi_table_sdt_service *tail = NULL; in vidtv_channel_sdt_serv_cat_into_new() local
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()
239 vidtv_psi_desc_assign(&tail->descriptor, desc); in vidtv_channel_sdt_serv_cat_into_new()
242 head = tail; in vidtv_channel_sdt_serv_cat_into_new()
[all …]
/openbmc/linux/Documentation/core-api/
H A Dcircular-buffers.rst44 (2) A 'tail' index - the point at which the consumer finds the next item in
47 Typically when the tail pointer is equal to the head pointer, the buffer is
48 empty; and the buffer is full when the head pointer is one less than the tail
51 The head index is incremented when items are added, and the tail index when
52 items are removed. The tail index should never jump the head index, and both
116 moving the tail index.
122 will return a lower bound as the consumer controls the tail index, but the
160 unsigned long tail = READ_ONCE(buffer->tail);
162 if (CIRC_SPACE(head, tail, buffer->size) >= 1) {
201 unsigned long tail = buffer->tail;
[all …]
/openbmc/linux/net/sunrpc/
H A Dxdr.c179 const struct kvec *tail = xdr->tail; in xdr_buf_to_bvec() local
204 if (tail->iov_len) { in xdr_buf_to_bvec()
205 bvec_set_virt(bvec, tail->iov_base, tail->iov_len); in xdr_buf_to_bvec()
231 struct kvec *tail = xdr->tail; in xdr_inline_pages() local
241 tail->iov_base = buf + offset; in xdr_inline_pages()
242 tail->iov_len = buflen - offset; in xdr_inline_pages()
501 xdr_buf_iov_zero(buf->tail, pgbase - buf->page_len, len); in xdr_buf_pages_zero()
505 xdr_buf_iov_zero(buf->tail, 0, pgbase + len - buf->page_len); in xdr_buf_pages_zero()
561 struct kvec *tail = buf->tail; in xdr_buf_try_expand() local
562 unsigned int sum = head->iov_len + buf->page_len + tail->iov_len; in xdr_buf_try_expand()
[all …]
/openbmc/linux/Documentation/networking/device_drivers/ethernet/toshiba/
H A Dspider_net.rst43 and "tail" pointers, managed by the OS, and a hardware current
52 The tail pointer tails or trails the hardware pointer. When the
53 hardware is ahead, the tail pointer will be pointing at a "full"
55 and advance the tail pointer. Thus, when there is flowing RX traffic,
56 all of the descrs in front of the tail pointer should be "full", and
58 flowing, then the tail pointer can catch up to the hardware pointer.
59 The OS will then note that the current tail is "empty", and halt
62 The head pointer (somewhat mis-named) follows after the tail pointer.
70 RX traffic is flowing, then the head pointer can catch up to the tail
74 Thus, in an idle system, the GDACTDPA, tail and head pointers will
[all …]
/openbmc/qemu/tests/qtest/
H A Dqmp-cmd-test.c136 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()

12345678910>>...70