Lines Matching defs:buf
54 struct tty_bufhead *buf = &port->buf;
56 atomic_inc(&buf->priority);
57 mutex_lock(&buf->lock);
71 struct tty_bufhead *buf = &port->buf;
74 restart = buf->head->commit != buf->head->read;
76 atomic_dec(&buf->priority);
77 mutex_unlock(&buf->lock);
79 queue_work(system_unbound_wq, &buf->work);
96 int space = port->buf.mem_limit - atomic_read(&port->buf.mem_used);
122 struct tty_bufhead *buf = &port->buf;
128 while ((p = buf->head) != NULL) {
129 buf->head = p->next;
134 llist = llist_del_all(&buf->free);
138 tty_buffer_reset(&buf->sentinel, 0);
139 buf->head = &buf->sentinel;
140 buf->tail = &buf->sentinel;
142 still_used = atomic_xchg(&buf->mem_used, 0);
168 free = llist_del_first(&port->buf.free);
178 if (atomic_read(&port->buf.mem_used) > port->buf.mem_limit)
186 atomic_add(size, &port->buf.mem_used);
200 struct tty_bufhead *buf = &port->buf;
203 WARN_ON(atomic_sub_return(b->size, &buf->mem_used) < 0);
208 llist_add(&b->free, &buf->free);
224 struct tty_bufhead *buf = &port->buf;
227 atomic_inc(&buf->priority);
229 mutex_lock(&buf->lock);
233 while ((next = smp_load_acquire(&buf->head->next)) != NULL) {
234 tty_buffer_free(port, buf->head);
235 buf->head = next;
237 buf->head->read = buf->head->commit;
238 buf->head->lookahead = buf->head->read;
243 atomic_dec(&buf->priority);
244 mutex_unlock(&buf->lock);
264 struct tty_bufhead *buf = &port->buf;
265 struct tty_buffer *n, *b = buf->tail;
278 buf->tail = n;
310 struct tty_buffer *tb = port->buf.tail;
359 struct tty_buffer *tb = port->buf.tail;
464 struct tty_port *port = container_of(work, struct tty_port, buf.work);
465 struct tty_bufhead *buf = &port->buf;
467 mutex_lock(&buf->lock);
470 struct tty_buffer *head = buf->head;
475 if (atomic_read(&buf->priority))
490 buf->head = next;
506 mutex_unlock(&buf->lock);
531 struct tty_bufhead *buf = &port->buf;
533 tty_flip_buffer_commit(buf->tail);
534 queue_work(system_unbound_wq, &buf->work);
555 struct tty_bufhead *buf = &port->buf;
561 tty_flip_buffer_commit(buf->tail);
564 queue_work(system_unbound_wq, &buf->work);
578 struct tty_bufhead *buf = &port->buf;
580 mutex_init(&buf->lock);
581 tty_buffer_reset(&buf->sentinel, 0);
582 buf->head = &buf->sentinel;
583 buf->tail = &buf->sentinel;
584 init_llist_head(&buf->free);
585 atomic_set(&buf->mem_used, 0);
586 atomic_set(&buf->priority, 0);
587 INIT_WORK(&buf->work, flush_to_ldisc);
588 buf->mem_limit = TTYB_DEFAULT_MEM_LIMIT;
604 port->buf.mem_limit = limit;
612 lockdep_set_subclass(&port->buf.lock, TTY_LOCK_SLAVE);
617 return queue_work(system_unbound_wq, &port->buf.work);
622 return cancel_work_sync(&port->buf.work);
627 flush_work(&port->buf.work);