/Linux-v5.15/drivers/staging/media/atomisp/pci/hive_isp_css_common/host/ |
D | debug_private.h | 30 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 …]
|
/Linux-v5.15/lib/ |
D | list_sort.c | 19 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 …]
|
/Linux-v5.15/arch/arm64/kernel/ |
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() 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 116 tail = (struct frame_tail __user *)regs->regs[29]; in perf_callchain_user() [all …]
|
/Linux-v5.15/drivers/rpmsg/ |
D | qcom_glink_smem.c | 39 __le32 *tail; member 55 u32 tail; in glink_smem_rx_avail() local 71 tail = le32_to_cpu(*pipe->tail); in glink_smem_rx_avail() 73 if (head < tail) in glink_smem_rx_avail() 74 return pipe->native.length - tail + head; in glink_smem_rx_avail() 76 return head - tail; in glink_smem_rx_avail() 84 u32 tail; in glink_smem_rx_peak() local 86 tail = le32_to_cpu(*pipe->tail); in glink_smem_rx_peak() 87 tail += offset; in glink_smem_rx_peak() 88 if (tail >= pipe->native.length) in glink_smem_rx_peak() [all …]
|
D | qcom_glink_rpm.c | 50 void __iomem *tail; member 60 unsigned int tail; in glink_rpm_rx_avail() local 63 tail = readl(pipe->tail); in glink_rpm_rx_avail() 65 if (head < tail) in glink_rpm_rx_avail() 66 return pipe->native.length - tail + head; in glink_rpm_rx_avail() 68 return head - tail; in glink_rpm_rx_avail() 75 unsigned int tail; in glink_rpm_rx_peak() local 78 tail = readl(pipe->tail); in glink_rpm_rx_peak() 79 tail += offset; in glink_rpm_rx_peak() 80 if (tail >= pipe->native.length) in glink_rpm_rx_peak() [all …]
|
/Linux-v5.15/drivers/infiniband/sw/rdmavt/ |
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() 61 if (unlikely(next == tail || cq->cq_full)) { in rvt_cq_enter() 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 386 tail = RDMA_READ_UAPI_ATOMIC(old_u_wc->tail); in rvt_resize_cq() 390 tail = old_k_wc->tail; in rvt_resize_cq() 395 if (tail > (u32)cq->ibcq.cqe) in rvt_resize_cq() [all …]
|
D | srq.c | 137 u32 sz, size, n, head, tail; in rvt_modify_srq() local 175 tail = RDMA_READ_UAPI_ATOMIC(owq->tail); in rvt_modify_srq() 179 tail = okwq->tail; in rvt_modify_srq() 181 if (head >= srq->rq.size || tail >= srq->rq.size) { in rvt_modify_srq() 186 if (n < tail) in rvt_modify_srq() 187 n += srq->rq.size - tail; in rvt_modify_srq() 189 n -= tail; in rvt_modify_srq() 196 while (tail != head) { in rvt_modify_srq() 200 wqe = rvt_get_rwqe_ptr(&srq->rq, tail); in rvt_modify_srq() 207 if (++tail >= srq->rq.size) in rvt_modify_srq() [all …]
|
D | rc.c | 66 u32 tail; in rvt_compute_aeth() local 73 tail = RDMA_READ_UAPI_ATOMIC(qp->r_rq.wq->tail); in rvt_compute_aeth() 76 tail = READ_ONCE(qp->r_rq.kwq->tail); in rvt_compute_aeth() 80 if (tail >= qp->r_rq.size) in rvt_compute_aeth() 81 tail = 0; in rvt_compute_aeth() 88 credits = rvt_get_rq_count(&qp->r_rq, head, tail); in rvt_compute_aeth()
|
/Linux-v5.15/drivers/net/ethernet/intel/fm10k/ |
D | fm10k_mbx.c | 17 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() 74 return (fifo->tail + offset) & (fifo->size - 1); in fm10k_fifo_tail_offset() 120 fifo->head = fifo->tail; in fm10k_fifo_drop_all() 132 static u16 fm10k_mbx_index_len(struct fm10k_mbx_info *mbx, u16 head, u16 tail) in fm10k_mbx_index_len() argument 134 u16 len = tail - head; in fm10k_mbx_index_len() 137 if (len > tail) in fm10k_mbx_index_len() 153 u16 tail = (mbx->tail + offset + 1) & ((mbx->mbmem_len << 1) - 1); in fm10k_mbx_tail_add() local [all …]
|
/Linux-v5.15/include/linux/ |
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); \
|
D | pipe_fs_i.h | 62 unsigned int tail; member 132 static inline bool pipe_empty(unsigned int head, unsigned int tail) in pipe_empty() argument 134 return head == tail; in pipe_empty() 142 static inline unsigned int pipe_occupancy(unsigned int head, unsigned int tail) in pipe_occupancy() argument 144 return head - tail; in pipe_occupancy() 153 static inline bool pipe_full(unsigned int head, unsigned int tail, in pipe_full() argument 156 return pipe_occupancy(head, tail) >= limit; in pipe_full() 165 static inline unsigned int pipe_space_for_user(unsigned int head, unsigned int tail, in pipe_space_for_user() argument 170 p_occupancy = pipe_occupancy(head, tail); in pipe_space_for_user()
|
/Linux-v5.15/drivers/net/wireguard/ |
D | queueing.c | 54 queue->head = queue->tail = STUB(queue); in wg_prev_queue_init() 80 struct sk_buff *tail = queue->tail, *next = smp_load_acquire(&NEXT(tail)); in wg_prev_queue_dequeue() local 82 if (tail == STUB(queue)) { in wg_prev_queue_dequeue() 85 queue->tail = next; in wg_prev_queue_dequeue() 86 tail = next; in wg_prev_queue_dequeue() 90 queue->tail = next; in wg_prev_queue_dequeue() 92 return tail; in wg_prev_queue_dequeue() 94 if (tail != READ_ONCE(queue->head)) in wg_prev_queue_dequeue() 97 next = smp_load_acquire(&NEXT(tail)); in wg_prev_queue_dequeue() 99 queue->tail = next; in wg_prev_queue_dequeue() [all …]
|
/Linux-v5.15/drivers/gpu/drm/i915/gt/ |
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()
|
/Linux-v5.15/arch/arm/kernel/ |
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 77 tail = (struct frame_tail __user *)regs->ARM_fp - 1; in perf_callchain_user() 80 tail && !((unsigned long)tail & 0x3)) in perf_callchain_user() 81 tail = user_backtrace(tail, entry); in perf_callchain_user()
|
/Linux-v5.15/kernel/locking/ |
D | qspinlock.c | 117 u32 tail; in encode_tail() local 119 tail = (cpu + 1) << _Q_TAIL_CPU_OFFSET; in encode_tail() 120 tail |= idx << _Q_TAIL_IDX_OFFSET; /* assume < 4 */ in encode_tail() 122 return tail; in encode_tail() 125 static inline __pure struct mcs_spinlock *decode_tail(u32 tail) in decode_tail() argument 127 int cpu = (tail >> _Q_TAIL_CPU_OFFSET) - 1; in decode_tail() 128 int idx = (tail & _Q_TAIL_IDX_MASK) >> _Q_TAIL_IDX_OFFSET; in decode_tail() 176 static __always_inline u32 xchg_tail(struct qspinlock *lock, u32 tail) in xchg_tail() argument 182 return (u32)xchg_relaxed(&lock->tail, in xchg_tail() 183 tail >> _Q_TAIL_OFFSET) << _Q_TAIL_OFFSET; in xchg_tail() [all …]
|
/Linux-v5.15/include/drm/ |
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()
|
/Linux-v5.15/drivers/media/test-drivers/vidtv/ |
D | vidtv_channel.c | 165 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 …]
|
/Linux-v5.15/Documentation/trace/ |
D | ring-buffer-design.rst | 21 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 …]
|
/Linux-v5.15/drivers/infiniband/hw/vmw_pvrdma/ |
D | pvrdma_ring.h | 89 const __u32 tail = atomic_read(&r->prod_tail); in pvrdma_idx_ring_has_space() local 92 if (pvrdma_idx_valid(tail, max_elems) && in pvrdma_idx_ring_has_space() 94 *out_tail = tail & (max_elems - 1); in pvrdma_idx_ring_has_space() 95 return tail != (head ^ max_elems); in pvrdma_idx_ring_has_space() 103 const __u32 tail = atomic_read(&r->prod_tail); in pvrdma_idx_ring_has_data() local 106 if (pvrdma_idx_valid(tail, max_elems) && in pvrdma_idx_ring_has_data() 109 return tail != head; in pvrdma_idx_ring_has_data()
|
/Linux-v5.15/net/sched/ |
D | sch_choke.c | 68 unsigned int tail; member 78 return (q->tail - q->head) & q->tab_mask; in choke_len() 98 if (q->head == q->tail) in choke_zap_head_holes() 107 q->tail = (q->tail - 1) & q->tab_mask; in choke_zap_tail_holes() 108 if (q->head == q->tail) in choke_zap_tail_holes() 110 } while (q->tab[q->tail] == NULL); in choke_zap_tail_holes() 124 if (idx == q->tail) in choke_drop_by_idx() 206 if (q->head == q->tail) in choke_match_random() 269 q->tab[q->tail] = skb; in choke_enqueue() 270 q->tail = (q->tail + 1) & q->tab_mask; in choke_enqueue() [all …]
|
/Linux-v5.15/fs/ |
D | pipe.c | 223 unsigned int tail = READ_ONCE(pipe->tail); in pipe_readable() local 226 return !pipe_empty(head, tail) || !writers; in pipe_readable() 253 was_full = pipe_full(pipe->head, pipe->tail, pipe->max_usage); in pipe_read() 256 unsigned int tail = pipe->tail; in pipe_read() local 283 if (!pipe_empty(head, tail)) { in pipe_read() 284 struct pipe_buffer *buf = &pipe->bufs[tail & mask]; in pipe_read() 328 tail++; in pipe_read() 329 pipe->tail = tail; in pipe_read() 335 if (!pipe_empty(head, tail)) /* More to do? */ in pipe_read() 380 was_full = pipe_full(pipe->head, pipe->tail, pipe->max_usage); in pipe_read() [all …]
|
D | splice.c | 186 unsigned int tail = pipe->tail; in splice_to_pipe() local 200 while (!pipe_full(head, tail, pipe->max_usage)) { in splice_to_pipe() 233 unsigned int tail = pipe->tail; in add_to_pipe() local 240 } else if (pipe_full(head, tail, pipe->max_usage)) { in add_to_pipe() 361 pipe_occupancy(pipe->head, pipe->tail) > 1) in pipe_to_sendpage() 400 unsigned int tail = pipe->tail; in splice_from_pipe_feed() local 404 while (!pipe_empty(head, tail)) { in splice_from_pipe_feed() 405 struct pipe_buffer *buf = &pipe->bufs[tail & mask]; in splice_from_pipe_feed() 432 tail++; in splice_from_pipe_feed() 433 pipe->tail = tail; in splice_from_pipe_feed() [all …]
|
/Linux-v5.15/arch/x86/kernel/ |
D | static_call.c | 59 static void __static_call_validate(void *insn, bool tail) in __static_call_validate() argument 63 if (tail) { in __static_call_validate() 80 static inline enum insn_type __sc_insn(bool null, bool tail) in __sc_insn() argument 92 return 2*tail + null; in __sc_insn() 95 void arch_static_call_transform(void *site, void *tramp, void *func, bool tail) in arch_static_call_transform() argument 105 __static_call_validate(site, tail); in arch_static_call_transform() 106 __static_call_transform(site, __sc_insn(!func, tail), func); in arch_static_call_transform()
|
/Linux-v5.15/net/sunrpc/ |
D | xdr.c | 182 struct kvec *tail = xdr->tail; in xdr_inline_pages() local 192 tail->iov_base = buf + offset; in xdr_inline_pages() 193 tail->iov_len = buflen - offset; in xdr_inline_pages() 452 xdr_buf_iov_zero(buf->tail, pgbase - buf->page_len, len); in xdr_buf_pages_zero() 456 xdr_buf_iov_zero(buf->tail, 0, pgbase + len - buf->page_len); in xdr_buf_pages_zero() 512 struct kvec *tail = buf->tail; in xdr_buf_try_expand() local 513 unsigned int sum = head->iov_len + buf->page_len + tail->iov_len; in xdr_buf_try_expand() 530 tail->iov_len += free_space; in xdr_buf_try_expand() 539 const struct kvec *tail = buf->tail; in xdr_buf_tail_copy_right() local 542 if (to >= tail->iov_len) in xdr_buf_tail_copy_right() [all …]
|
/Linux-v5.15/include/net/ |
D | esp.h | 14 static inline void esp_output_fill_trailer(u8 *tail, int tfclen, int plen, __u8 proto) in esp_output_fill_trailer() argument 18 memset(tail, 0, tfclen); in esp_output_fill_trailer() 19 tail += tfclen; in esp_output_fill_trailer() 24 tail[i] = i + 1; in esp_output_fill_trailer() 26 tail[plen - 2] = plen - 2; in esp_output_fill_trailer() 27 tail[plen - 1] = proto; in esp_output_fill_trailer()
|