[v2,0/8] serial: Disable DMA and PM on kernel console

Message ID 20200214114339.53897-1-andriy.shevchenko@linux.intel.com
Headers show
  • serial: Disable DMA and PM on kernel console
Related show


Andy Shevchenko Feb. 14, 2020, 11:43 a.m.
This is second attempt [1] to get rid of problematic DMA and PM calls
in the serial kernel console code.

Kernel console is sensitive to any kind of complex work needed to print
out anything on it. One such case is emergency print during Oops.

Patches 1-3 are preparatory ones.

After previous discussion Tony suggested to add a possibility to detach
and attach back kernel console from user space. It's done on patch 4 here.

More details on topic are in the commit messages of patches 5 and 6.

Patches 7 and 8 are deduplicate follow ups to patch 6.

The series has been tested on few Intel platforms.

Note, it depends to recently submitted and applied patches in the core
console code [2].

[1]: https://lore.kernel.org/patchwork/cover/905632/
[2]: https://lore.kernel.org/lkml/20200203133130.11591-1-andriy.shevchenko@linux.intel.com/

Changelog v2:
- added possibility to detach and attach back console from userspace (Tony)
- reworded commit messages in patches 5 and 6 (Sebastian)
- dropped console patch (it had been pushed separately [2])

Andy Shevchenko (8):
  serial: core: Introduce uart_console_enabled() helper
  serial: core: Consolidate spin lock initialization code
  serial: core: use octal permissions on module param
  serial: core: Allow detach and attach serial device for console
  serial: 8250_port: Don't use power management for kernel console
  serial: 8250_port: Disable DMA operations for kernel console
  serial: 8250_mtk: Remove duplicating code to disable DMA
  serial: 8250_omap: Remove duplicating code to disable DMA

 Documentation/ABI/testing/sysfs-tty |   7 ++
 drivers/tty/serial/8250/8250_core.c |   9 ++
 drivers/tty/serial/8250/8250_mtk.c  |   4 -
 drivers/tty/serial/8250/8250_omap.c |   4 -
 drivers/tty/serial/8250/8250_port.c |  36 ++++++--
 drivers/tty/serial/serial_core.c    | 123 ++++++++++++++++++++--------
 include/linux/serial_8250.h         |   1 +
 7 files changed, 134 insertions(+), 50 deletions(-)