162306a36Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci==========
462306a36Sopenharmony_ciTTY Buffer
562306a36Sopenharmony_ci==========
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci.. contents:: :local:
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciHere, we document functions for taking care of tty buffer and their flipping.
1062306a36Sopenharmony_ciDrivers are supposed to fill the buffer by one of those functions below and
1162306a36Sopenharmony_cithen flip the buffer, so that the data are passed to :doc:`line discipline
1262306a36Sopenharmony_ci<tty_ldisc>` for further processing.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciFlip Buffer Management
1562306a36Sopenharmony_ci======================
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci.. kernel-doc:: drivers/tty/tty_buffer.c
1862306a36Sopenharmony_ci   :identifiers: tty_prepare_flip_string
1962306a36Sopenharmony_ci           tty_flip_buffer_push tty_ldisc_receive_buf
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci.. kernel-doc:: include/linux/tty_flip.h
2262306a36Sopenharmony_ci   :identifiers: tty_insert_flip_string_fixed_flag tty_insert_flip_string_flags
2362306a36Sopenharmony_ci           tty_insert_flip_char
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci----
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciOther Functions
2862306a36Sopenharmony_ci===============
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci.. kernel-doc:: drivers/tty/tty_buffer.c
3162306a36Sopenharmony_ci   :identifiers: tty_buffer_space_avail tty_buffer_set_limit
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci----
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ciBuffer Locking
3662306a36Sopenharmony_ci==============
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciThese are used only in special circumstances. Avoid them.
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci.. kernel-doc:: drivers/tty/tty_buffer.c
4162306a36Sopenharmony_ci   :identifiers: tty_buffer_lock_exclusive tty_buffer_unlock_exclusive
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci----
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ciInternal Functions
4662306a36Sopenharmony_ci==================
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci.. kernel-doc:: drivers/tty/tty_buffer.c
4962306a36Sopenharmony_ci   :internal:
50