Lines Matching +full:deep +full:- +full:touch

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
5 * Copyright (C) 2000 Deep Blue Solutions Ltd.
24 ((port)->cons && (port)->cons->index == (port)->line)
36 * physical hardware. See Documentation/driver-api/serial/driver.rst for details.
149 #define UPIO_MEM (SERIAL_IO_MEM) /* driver-specific */
175 * The remaining bits are serial-core specific and not modifiable by
194 /* Port has hardware-assisted h/w flow control */
198 /* Port has hardware-assisted s/w flow control */
216 #error Change mask not equivalent to userspace-visible bit defines
232 int hw_stopped; /* sw-assisted CTS flow state */
234 unsigned int timeout; /* character-based timeout */
263 return up->serial_in(up, offset); in serial_port_in()
268 up->serial_out(up, offset, value); in serial_port_out()
272 * enum uart_pm_state - power states for UARTs
317 * touch these; they should be initialised to NULL
338 int timeout = port->timeout; in uart_poll_timeout()
340 return timeout > 6 ? (timeout / 2 - 2) : 1; in uart_poll_timeout()
425 #define uart_circ_empty(circ) ((circ)->head == (circ)->tail)
426 #define uart_circ_clear(circ) ((circ)->head = (circ)->tail = 0)
429 (CIRC_CNT((circ)->head, (circ)->tail, UART_XMIT_SIZE))
432 (CIRC_SPACE((circ)->head, (circ)->tail, UART_XMIT_SIZE))
436 struct tty_struct *tty = port->state->port.tty; in uart_tx_stopped()
437 if ((tty && tty->stopped) || port->hw_stopped) in uart_tx_stopped()
444 return !!(uport->status & UPSTAT_CTS_ENABLE); in uart_cts_enabled()
451 return ((uport->status & mask) == UPSTAT_CTS_ENABLE); in uart_softcts_mode()
473 if (!port->sysrq) in uart_handle_sysrq_char()
476 if (ch && time_before(jiffies, port->sysrq)) { in uart_handle_sysrq_char()
479 port->sysrq = 0; in uart_handle_sysrq_char()
485 port->sysrq = 0; in uart_handle_sysrq_char()
492 if (!port->sysrq) in uart_prepare_sysrq_char()
495 if (ch && time_before(jiffies, port->sysrq)) { in uart_prepare_sysrq_char()
497 port->sysrq_ch = ch; in uart_prepare_sysrq_char()
498 port->sysrq = 0; in uart_prepare_sysrq_char()
504 port->sysrq = 0; in uart_prepare_sysrq_char()
513 if (!port->has_sysrq) { in uart_unlock_and_check_sysrq()
514 spin_unlock_irqrestore(&port->lock, irqflags); in uart_unlock_and_check_sysrq()
518 sysrq_ch = port->sysrq_ch; in uart_unlock_and_check_sysrq()
519 port->sysrq_ch = 0; in uart_unlock_and_check_sysrq()
521 spin_unlock_irqrestore(&port->lock, irqflags); in uart_unlock_and_check_sysrq()
537 spin_unlock_irqrestore(&port->lock, irqflags); in uart_unlock_and_check_sysrq()
546 struct uart_state *state = port->state; in uart_handle_break()
548 if (port->handle_break) in uart_handle_break()
549 port->handle_break(port); in uart_handle_break()
552 if (port->has_sysrq && uart_console(port)) { in uart_handle_break()
553 if (!port->sysrq) { in uart_handle_break()
554 port->sysrq = jiffies + SYSRQ_TIMEOUT; in uart_handle_break()
557 port->sysrq = 0; in uart_handle_break()
560 if (port->flags & UPF_SAK) in uart_handle_break()
561 do_SAK(state->port.tty); in uart_handle_break()
566 * UART_ENABLE_MS - determine if port should enable modem status irqs
568 #define UART_ENABLE_MS(port,cflag) ((port)->flags & UPF_HARDPPS_CD || \