1. 12 1月, 2017 2 次提交
    • D
      serial: 8250: Add new port type for TI DA8xx/66AK2x · a2d6a987
      David Lechner 提交于
      This adds a new UART port type for TI DA8xx/OMAPL13x/AM17xx/AM18xx/66AK2x.
      These SoCs have standard 8250 registers plus some extra non-standard
      registers.
      
      The UART will not function unless the non-standard Power and Emulation
      Management Register (PWREMU_MGMT) is configured correctly. This is
      currently handled in arch/arm/mach-davinci/serial.c for non-device-tree
      boards. Making this part of the UART driver will allow UART to work on
      device-tree boards as well and the mach code can eventually be removed.
      Signed-off-by: NDavid Lechner <david@lechnology.com>
      Acked-by: NSekhar Nori <nsekhar@ti.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a2d6a987
    • A
      serial: 8250_port: Remove dangerous pr_debug() · 699a11ba
      Alexey Brodkin 提交于
      With CONFIG_DYNAMIC_DEBUG if dyndbg enables debug output in
      8250_port.c deadlock happens inevitably on UART IRQ handling.
      
      That's the problematic execution path:
      ---------------------------->8------------------------
      UART IRQ:
        serial8250_interrupt() ->
          serial8250_handle_irq(): lock "port->lock" ->
            pr_debug() ->
              serial8250_console_write(): bump in locked "port->lock".
      
            OR (if above pr_debug() gets removed):
            serial8250_tx_chars() ->
              pr_debug() ->
                serial8250_console_write(): bump in locked "port->lock".
      ---------------------------->8------------------------
      
      So let's get rid of those not that much useful debug entries.
      
      Discussed problem could be easily reproduced with QEMU for x86_64.
      As well as this fix could be mimicked with muting of dynamic debug for
      the problematic lines as simple as:
      ---------------------------->8------------------------
      dyndbg="+p; file 8250_port.c line 1756 -p; file 8250_port.c line 1822 -p"
      ---------------------------->8------------------------
      Signed-off-by: NAlexey Brodkin <abrodkin@synopsys.com>
      Cc: Jiri Slaby <jslaby@suse.com>
      Cc: Peter Hurley <peter@hurleysoftware.com>
      Cc: Phillip Raffeck <phillip.raffeck@fau.de>
      Cc: Anton Wuerfel <anton.wuerfel@fau.de>
      Cc: "Matwey V. Kornilov" <matwey@sai.msu.ru>
      Cc: Yegor Yefremov <yegorslists@googlemail.com>
      Cc: Thor Thayer <tthayer@opensource.altera.com>
      Reviewed-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      699a11ba
  2. 16 11月, 2016 2 次提交
  3. 27 10月, 2016 1 次提交
  4. 27 9月, 2016 1 次提交
  5. 22 9月, 2016 1 次提交
    • J
      tty/serial/8250: Touch NMI watchdog in wait_for_xmitr · 54f19b4a
      Jiri Olsa 提交于
      First loop in wait_for_xmitr could also trigger NMI
      watchdog in case reading from the port is slow:
      
        PID: 0      TASK: ffffffff819c1460  CPU: 0   COMMAND: "swapper/0"
         #0 [ffff88019f405e58] crash_nmi_callback at ffffffff8104d382
         #1 [ffff88019f405e68] nmi_handle at ffffffff8168ead9
         #2 [ffff88019f405eb0] do_nmi at ffffffff8168ec53
         #3 [ffff88019f405ef0] end_repeat_nmi at ffffffff8168df13
            [exception RIP: delay_tsc+50]
            RIP: ffffffff81325642  RSP: ffff88019f403bb0  RFLAGS: 00000083
            RAX: 00000000000005c8  RBX: ffffffff81f83000  RCX: 0000024e4fb88a8b
            RDX: 0000024e4fb89053  RSI: 0000000000000000  RDI: 00000000000007d1
            RBP: ffff88019f403bb0   R8: 000000000000000a   R9: 0000000000000000
            R10: 0000000000000000  R11: ffff88019f403ad6  R12: 000000000000250f
            R13: 0000000000000020  R14: ffffffff81d360c7  R15: 0000000000000047
            ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
        --- <NMI exception stack> ---
         #4 [ffff88019f403bb0] delay_tsc at ffffffff81325642
         #5 [ffff88019f403bb8] __const_udelay at ffffffff813255a8
         #6 [ffff88019f403bc8] wait_for_xmitr at ffffffff81404390
         #7 [ffff88019f403bf0] serial8250_console_putchar at ffffffff8140455c
         #8 [ffff88019f403c10] uart_console_write at ffffffff813ff00a
         #9 [ffff88019f403c40] serial8250_console_write at ffffffff814044ae
        #10 [ffff88019f403c88] call_console_drivers.constprop.15 at ffffffff81086b01
        #11 [ffff88019f403cb0] console_unlock at ffffffff8108842f
        #12 [ffff88019f403ce8] vprintk_emit at ffffffff81088834
        #13 [ffff88019f403d58] vprintk_default at ffffffff81088ba9
        #14 [ffff88019f403d68] printk at ffffffff8167f034
      
      Adding touch_nmi_watchdog call to the first loop as well.
      Reported-by: NChunyu Hu <chuhu@redhat.com>
      Signed-off-by: NJiri Olsa <jolsa@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      54f19b4a
  6. 02 9月, 2016 2 次提交
  7. 31 8月, 2016 3 次提交
  8. 26 6月, 2016 3 次提交
  9. 25 6月, 2016 1 次提交
  10. 01 5月, 2016 5 次提交
  11. 19 4月, 2016 1 次提交
  12. 08 3月, 2016 2 次提交
  13. 07 2月, 2016 8 次提交
  14. 29 1月, 2016 5 次提交
  15. 14 12月, 2015 1 次提交
  16. 05 10月, 2015 2 次提交