All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/14] serial: liteuart: add IRQ support
@ 2022-11-16 14:48 Gabriel Somlo
  2022-11-16 14:48 ` [PATCH v4 01/14] serial: liteuart: use KBUILD_MODNAME as driver name Gabriel Somlo
                   ` (13 more replies)
  0 siblings, 14 replies; 20+ messages in thread
From: Gabriel Somlo @ 2022-11-16 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-serial, gregkh, jirislaby, kgugala, mholenko, joel,
	david.abdurachmanov, florent, geert, ilpo.jarvinen

Add IRQ support to the LiteX LiteUART serial interface

Changes from v3:
  - picked up r/b Ilpo Järvinen on select subset of commits
  - rebased entire series on top of tty-next tree
  - 2/14 ("use bit number macros"): explicitly include <linux/bits.h>
  - 3/14 ("remove unused uart_ops stubs"): don't add gratuitous comment
    removed later on in the series
  - 12/14 ("add IRQ support for the RX path"): add shadow irq register
    to support polling mode and avoid reading hardware mmio irq register
    to learn which irq flags are enabled
    - this also simplifies both liteuart_interrupt() and liteuart_startup()
  - 13/14 ("add IRQ support for the TX path"):
    - removed superfluous curly braces from liteuart_interrupt()
    - simplified [start|stop]_tx() by using shadow irq register from 12/14
    - simplified liteuart_tx_chars() by rebasing on top of tty-next tree

> Changes from v2:
>   - further split out "separate RX loop from poll timer" into
>     dedicated patches highlighting additional changes explicitly:
>       - factoring out tty_flip_buffer_push() (6/14)
>       - ack only RX events in RX loop (7/14)
>       - pass constant flag to uart_insert_char() directly (8/14)
>       - fix variable types in rx loop (9/14)
>       - separating RX loop from poll timer (10/14)
>   - added patch (11/14) to move function definitions to a more
>     convenient location, making subsequent changes easier to read
>     in diff patch form.
>   - fixes and clarifications for RX path IRQ support patch (now 12/14):
>       - only return IRQ_HANDLED for RX events
>       - use pr_fmt() to improve style of irq setup error message
>       - remove unnecessary locking from around single-register access
>   - modify TX path to support both IRQ-mode and polling (13/14)
>   - move polling-only liteuart_putchar() behind same conditional
>     (CONFIG_SERIAL_LITEUART_CONSOLE) as the rest of the code that's
>     still using it.
>
> Changes from v1:
>   - split minor cosmetic changes out into individual patches
>     (1/3 became 1..5/7)
>   - patches 6/7 and 7/7 unchanged (used to be 2/3 and 3/3)

Gabriel Somlo (14):
  serial: liteuart: use KBUILD_MODNAME as driver name
  serial: liteuart: use bit number macros
  serial: liteuart: remove unused uart_ops stubs
  serial: liteuart: don't set unused port fields
  serial: liteuart: minor style fix in liteuart_init()
  serial: liteuart: move tty_flip_buffer_push() out of rx loop
  serial: liteuart: rx loop should only ack rx events
  serial: liteuart: simplify passing of uart_insert_char() flag
  serial: liteuart: fix rx loop variable types
  serial: liteuart: separate rx loop from poll timer
  serial: liteuart: move function definitions
  serial: liteuart: add IRQ support for the RX path
  serial: liteuart: add IRQ support for the TX path
  serial: liteuart: move polling putchar() function

 drivers/tty/serial/liteuart.c | 210 ++++++++++++++++++++--------------
 1 file changed, 126 insertions(+), 84 deletions(-)

-- 
2.38.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2022-11-18 14:39 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-16 14:48 [PATCH v4 00/14] serial: liteuart: add IRQ support Gabriel Somlo
2022-11-16 14:48 ` [PATCH v4 01/14] serial: liteuart: use KBUILD_MODNAME as driver name Gabriel Somlo
2022-11-16 14:48 ` [PATCH v4 02/14] serial: liteuart: use bit number macros Gabriel Somlo
2022-11-16 14:48 ` [PATCH v4 03/14] serial: liteuart: remove unused uart_ops stubs Gabriel Somlo
2022-11-16 14:48 ` [PATCH v4 04/14] serial: liteuart: don't set unused port fields Gabriel Somlo
2022-11-16 14:48 ` [PATCH v4 05/14] serial: liteuart: minor style fix in liteuart_init() Gabriel Somlo
2022-11-16 14:49 ` [PATCH v4 06/14] serial: liteuart: move tty_flip_buffer_push() out of rx loop Gabriel Somlo
2022-11-16 14:49 ` [PATCH v4 07/14] serial: liteuart: rx loop should only ack rx events Gabriel Somlo
2022-11-16 14:49 ` [PATCH v4 08/14] serial: liteuart: simplify passing of uart_insert_char() flag Gabriel Somlo
2022-11-16 14:49 ` [PATCH v4 09/14] serial: liteuart: fix rx loop variable types Gabriel Somlo
2022-11-16 14:49 ` [PATCH v4 10/14] serial: liteuart: separate rx loop from poll timer Gabriel Somlo
2022-11-16 14:49 ` [PATCH v4 11/14] serial: liteuart: move function definitions Gabriel Somlo
2022-11-16 14:49 ` [PATCH v4 12/14] serial: liteuart: add IRQ support for the RX path Gabriel Somlo
2022-11-18 13:58   ` Ilpo Järvinen
2022-11-18 14:26     ` Gabriel L. Somlo
2022-11-18 14:30       ` Ilpo Järvinen
2022-11-18 14:36         ` Gabriel L. Somlo
2022-11-16 14:49 ` [PATCH v4 13/14] serial: liteuart: add IRQ support for the TX path Gabriel Somlo
2022-11-18 14:01   ` Ilpo Järvinen
2022-11-16 14:49 ` [PATCH v4 14/14] serial: liteuart: move polling putchar() function Gabriel Somlo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.