Lines Matching +full:sleep +full:- +full:hardware +full:- +full:state
3 --------------------
14 Low Level Serial Hardware Driver
15 --------------------------------
17 The low level serial hardware driver is responsible for supplying port
25 ---------------
38 -------
40 It is the responsibility of the low level hardware driver to perform the
41 necessary locking using port->lock. There are some exceptions (which
44 There are two locks. A per-port spinlock, and an overall semaphore.
46 From the core driver perspective, the port->lock locks the following
49 port->mctrl
50 port->icount
51 port->state->xmit.head (circ_buf->head)
52 port->state->xmit.tail (circ_buf->tail)
64 --------
67 hardware specific driver. It contains all the methods to control the
68 hardware.
79 This call must not sleep
83 by 'port' to the state described by mctrl. The relevant bits
85 - TIOCM_RTS RTS signal.
86 - TIOCM_DTR DTR signal.
87 - TIOCM_OUT1 OUT1 signal.
88 - TIOCM_OUT2 OUT2 signal.
89 - TIOCM_LOOP Set the port into loopback mode.
94 Locking: port->lock taken.
96 This call must not sleep
99 Returns the current state of modem control inputs. The state
101 track of their state. The state information should include:
102 - TIOCM_CAR state of DCD signal
103 - TIOCM_CTS state of CTS signal
104 - TIOCM_DSR state of DSR signal
105 - TIOCM_RI state of RI signal
111 Locking: port->lock taken.
113 This call must not sleep
123 Locking: port->lock taken.
125 This call must not sleep
130 Locking: port->lock taken.
132 This call must not sleep
138 This will be called only if hardware assisted flow control is enabled.
147 This will be called only if hardware assisted flow control is enabled.
168 Locking: port->lock taken.
170 This call must not sleep
179 Locking: port->lock taken.
181 This call must not sleep
189 Locking: caller holds tty_port->mutex
193 state. Enable the port for reception. It should not activate
207 Drivers must not access port->state once this call has completed.
216 Flush any write buffers, reset any DMA state and stop any
219 This will be called whenever the port->state->xmit circular
222 Locking: port->lock taken.
224 This call must not sleep
230 termios->c_cflag bits are:
231 CSIZE - word size
232 CSTOPB - 2 stop bits
233 PARENB - parity enable
234 PARODD - odd parity (when PARENB is in force)
235 CREAD - enable reception of characters (if not set,
238 CRTSCTS - if set, enable CTS status change reporting
239 CLOCAL - if not set, enable modem status change
241 Relevant termios->c_iflag bits are:
242 INPCK - enable frame and parity error events to be
245 PARMRK - both of these enable break events to be
248 IGNPAR - ignore parity and framing errors
249 IGNBRK - ignore break errors, If IGNPAR is also
263 hardware supports hardware "soft" flow control.
265 Locking: caller holds tty_port->mutex
267 This call must not sleep
272 Locking: caller holds tty_port->mutex
274 pm(port,state,oldstate)
276 port. State indicates the new state (defined by
277 enum uart_pm_state), oldstate indicates the previous state.
306 returns, and it should return -EBUSY on failure.
315 port->type should be set to the type found, or PORT_UNKNOWN if
341 Called by kgdb to perform the minimal hardware initialization needed
342 to support poll_put_char() and poll_get_char(). Unlike ->startup()
345 Locking: tty_mutex and tty_port->mutex taken.
354 This call must not sleep
363 This call must not sleep
366 ---------------
369 Update the FIFO drain timeout, port->timeout, according to the
372 Locking: caller is expected to take port->lock
380 If the baud rate is not within min..max, then if old is non-NULL,
411 Locking: port->lock should be held.
416 with the tty layer, and initialise the core driver per-port state.
418 drv->port should be NULL, and the per-port structures should be
441 -----------
455 ----------------------------
460 This will get the {cts,rts,...}-gpios from device tree if they are
477 This will sets the gpios according to the mctrl state.