Lines Matching refs:tail

168 static void tty_copy(struct tty_struct *tty, void *to, size_t tail, size_t n)
171 size_t size = N_TTY_BUF_SIZE - tail;
172 void *from = read_buf_addr(ldata, tail);
626 size_t tail;
631 tail = ldata->echo_tail;
632 while (MASK(ldata->echo_commit) != MASK(tail)) {
633 c = echo_buf(ldata, tail);
643 if (MASK(ldata->echo_commit) == MASK(tail + 1))
650 op = echo_buf(ldata, tail + 1);
656 if (MASK(ldata->echo_commit) == MASK(tail + 2))
658 num_chars = echo_buf(ldata, tail + 2);
684 tail += 3;
689 tail += 2;
695 tail += 2;
707 tail += 2;
728 tail += 2;
745 tail += 1;
751 * data at the tail to prevent a subsequent overrun */
752 while (ldata->echo_commit > tail &&
753 ldata->echo_commit - tail >= ECHO_DISCARD_WATERMARK) {
754 if (echo_buf(ldata, tail) == ECHO_OP_START) {
755 if (echo_buf(ldata, tail + 1) == ECHO_OP_ERASE_TAB)
756 tail += 3;
758 tail += 2;
760 tail++;
764 ldata->echo_tail = tail;
1050 size_t tail = ldata->read_head;
1059 while (MASK(tail) != MASK(ldata->canon_head)) {
1060 tail--;
1061 c = read_buf(ldata, tail);
1329 size_t tail = ldata->canon_head;
1334 while (MASK(tail) != MASK(ldata->read_head)) {
1335 echo_char(read_buf(ldata, tail), tty);
1336 tail++;
1717 size_t tail = smp_load_acquire(&ldata->read_tail);
1719 room = N_TTY_BUF_SIZE - (ldata->read_head - tail);
1724 overflow = ldata->icanon && ldata->canon_head == tail;
1966 size_t tail = ldata->read_tail & (N_TTY_BUF_SIZE - 1);
1968 n = min(head - ldata->read_tail, N_TTY_BUF_SIZE - tail);
1971 unsigned char *from = read_buf_addr(ldata, tail);
2020 size_t tail, canon_head;
2030 tail = ldata->read_tail & (N_TTY_BUF_SIZE - 1);
2031 size = min_t(size_t, tail + n, N_TTY_BUF_SIZE);
2033 n_tty_trace("%s: nr:%zu tail:%zu n:%zu size:%zu\n",
2034 __func__, *nr, tail, n, size);
2036 eol = find_next_bit(ldata->read_flags, size, tail);
2037 more = n - (size - tail);
2045 n = eol - tail;
2053 n_tty_trace("%s: eol:%zu found:%d n:%zu c:%zu tail:%zu more:%zu\n",
2054 __func__, eol, found, n, c, tail, more);
2056 tty_copy(tty, *kbp, tail, n);
2085 size_t tail, canon_head;
2088 tail = ldata->read_tail;
2091 if (tail == canon_head)
2094 // See if the tail position is EOF in the circular buffer
2095 tail &= (N_TTY_BUF_SIZE - 1);
2096 if (!test_bit(tail, ldata->read_flags))
2098 if (read_buf(ldata, tail) != __DISABLED_CHAR)
2102 clear_bit(tail, ldata->read_flags);
2165 size_t tail;
2228 tail = ldata->read_tail;
2317 if (tail != ldata->read_tail)
2482 size_t nr, head, tail;
2487 tail = ldata->read_tail;
2488 nr = head - tail;
2490 while (MASK(head) != MASK(tail)) {
2491 if (test_bit(tail & (N_TTY_BUF_SIZE - 1), ldata->read_flags) &&
2492 read_buf(ldata, tail) == __DISABLED_CHAR)
2494 tail++;