Displaying 4 results from an estimated 4 matches for "serial_tx_interrupt".
2011 Oct 12
1
[PATCH] ns16550: fix poll handling regression
...R | LSR_THRE;
if ( uart->intr_works )
return; /* Interrupts work - no more polling */
- while ( (lsr = ns_read_reg(uart, LSR)) & (LSR_DR|LSR_THRE) )
+ while ( (lsr = ns_read_reg(uart, LSR)) & mask )
{
if ( lsr & LSR_THRE )
+ {
serial_tx_interrupt(port, regs);
+ mask &= ~LSR_THRE;
+ }
if ( lsr & LSR_DR )
serial_rx_interrupt(port, regs);
}
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
2012 May 24
0
[PATCH RFC 2/9] console: prepare for non-COMn port support
...ck = SPIN_LOCK_UNLOCKED }
+static struct serial_port com[SERHND_IDX + 1] = {
+ [0 ... SERHND_IDX] = {
+ .rx_lock = SPIN_LOCK_UNLOCKED,
+ .tx_lock = SPIN_LOCK_UNLOCKED
+ }
};
void serial_rx_interrupt(struct serial_port *port, struct cpu_user_regs *regs)
@@ -81,6 +83,8 @@ void serial_tx_interrupt(struct serial_p
port->driver->putc(
port, port->txbuf[mask_serial_txbuf_idx(port->txbufc++)]);
}
+ if ( i && port->driver->flush )
+ port->driver->flush(port);
}
spin_unlock(&port->tx_lock);...
2010 Feb 24
4
Re: [Xen-changelog] [xen-3.4-testing] x86: Generalise BUGFRAME_dump mechanism to allow polled UART irq to
...gs)
> +{
> + struct serial_port *port = this_cpu(poll_port);
> + struct ns16550 *uart = port->uart;
>
> if ( uart->intr_works )
> return; /* Interrupts work - no more polling */
> @@ -166,6 +168,16 @@ static void ns16550_poll(void *data)
> serial_tx_interrupt(port, regs);
>
> set_timer(&uart->timer, NOW() + MILLISECS(uart->timeout_ms));
> +}
> +
> +static void ns16550_poll(void *data)
> +{
> + this_cpu(poll_port) = data;
> +#ifdef run_in_exception_handler
> + run_in_exception_handler(__ns16550_poll);
> +...
2013 Aug 13
13
[PATCH v8 8/5] Add UART support and arch timer initialization for OMAP5
Since OMAP UART has a few distinct features than common 8250 UART, I
re-implemented its driver rather than porting it based on ns16550.c.
There are mainly two big differences between the implementations. First,
OMAP UART introduces the concept of register access mode, which divides
the register map into seperated space. Switching the access mode is then
necessary when configuring it. Second, THRE