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()
420 #define uart_circ_empty(circ) ((circ)->head == (circ)->tail)
421 #define uart_circ_clear(circ) ((circ)->head = (circ)->tail = 0)
424 (CIRC_CNT((circ)->head, (circ)->tail, UART_XMIT_SIZE))
427 (CIRC_SPACE((circ)->head, (circ)->tail, UART_XMIT_SIZE))
431 struct tty_struct *tty = port->state->port.tty; in uart_tx_stopped()
432 if ((tty && tty->flow.stopped) || port->hw_stopped) in uart_tx_stopped()
439 return !!(uport->status & UPSTAT_CTS_ENABLE); in uart_cts_enabled()
446 return ((uport->status & mask) == UPSTAT_CTS_ENABLE); in uart_softcts_mode()
468 if (!port->sysrq) in uart_handle_sysrq_char()
471 if (ch && time_before(jiffies, port->sysrq)) { in uart_handle_sysrq_char()
474 port->sysrq = 0; in uart_handle_sysrq_char()
480 port->sysrq = 0; in uart_handle_sysrq_char()
487 if (!port->sysrq) in uart_prepare_sysrq_char()
490 if (ch && time_before(jiffies, port->sysrq)) { in uart_prepare_sysrq_char()
492 port->sysrq_ch = ch; in uart_prepare_sysrq_char()
493 port->sysrq = 0; in uart_prepare_sysrq_char()
499 port->sysrq = 0; in uart_prepare_sysrq_char()
508 if (!port->has_sysrq) { in uart_unlock_and_check_sysrq()
509 spin_unlock(&port->lock); in uart_unlock_and_check_sysrq()
513 sysrq_ch = port->sysrq_ch; in uart_unlock_and_check_sysrq()
514 port->sysrq_ch = 0; in uart_unlock_and_check_sysrq()
516 spin_unlock(&port->lock); in uart_unlock_and_check_sysrq()
527 if (!port->has_sysrq) { in uart_unlock_and_check_sysrq_irqrestore()
528 spin_unlock_irqrestore(&port->lock, flags); in uart_unlock_and_check_sysrq_irqrestore()
532 sysrq_ch = port->sysrq_ch; in uart_unlock_and_check_sysrq_irqrestore()
533 port->sysrq_ch = 0; in uart_unlock_and_check_sysrq_irqrestore()
535 spin_unlock_irqrestore(&port->lock, flags); in uart_unlock_and_check_sysrq_irqrestore()
551 spin_unlock(&port->lock); in uart_unlock_and_check_sysrq()
556 spin_unlock_irqrestore(&port->lock, flags); in uart_unlock_and_check_sysrq_irqrestore()
565 struct uart_state *state = port->state; in uart_handle_break()
567 if (port->handle_break) in uart_handle_break()
568 port->handle_break(port); in uart_handle_break()
571 if (port->has_sysrq && uart_console(port)) { in uart_handle_break()
572 if (!port->sysrq) { in uart_handle_break()
573 port->sysrq = jiffies + SYSRQ_TIMEOUT; in uart_handle_break()
576 port->sysrq = 0; in uart_handle_break()
579 if (port->flags & UPF_SAK) in uart_handle_break()
580 do_SAK(state->port.tty); in uart_handle_break()
585 * UART_ENABLE_MS - determine if port should enable modem status irqs
587 #define UART_ENABLE_MS(port,cflag) ((port)->flags & UPF_HARDPPS_CD || \