1. 10 1月, 2015 16 次提交
  2. 26 11月, 2014 1 次提交
  3. 07 11月, 2014 2 次提交
  4. 06 11月, 2014 4 次提交
  5. 20 10月, 2014 1 次提交
  6. 29 9月, 2014 3 次提交
  7. 09 9月, 2014 2 次提交
    • D
      serial: imx: clean up imx_poll_get_char() · 26c47412
      Dirk Behme 提交于
      Looking at the get_poll_char() function of the 8250.c serial driver,
      we learn:
      
      * poll_get_char() doesn't have to save/disable/restore the interrupt
        registers. No interrupt handling is needed in this function at all.
        Remove it.
      
      * Don't block in case there is no data available. So instead blocking
        in the do {} while loop, just return with NO_POLL_CHAR, immediately .
      
      Additionally, while the i.MX6 register URXD[7-0] contain the RX_DATA,
      the upper bits of this register (URXD[15-10]) might contain some
      control flags. To ensure that these are not returned with the data
      read, just mask out URXD[7-0].
      
      These changes fix the 'hang' working with kdb:
      
      $ echo ttymxc3 > /sys/module/kgdboc/parameters/kgdboc
      $ echo g >/proc/sysrq-trigger
      [0]kdb> help
      ...
      <hang>
      Signed-off-by: NDirk Behme <dirk.behme@de.bosch.com>
      Signed-off-by: NDaniel Thompson <daniel.thompson@linaro.org>
      Cc: Jiri Slaby <jslaby@suse.cz>
      Cc: linux-serial@vger.kernel.org
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      26c47412
    • P
      serial: imx: Fix x_char handling and tx flow control · 5e42e9a3
      Peter Hurley 提交于
      The serial core expects the UART driver to transmit x_char
      (START/STOP chars) even if tx is stopped and before data already
      in the tx ring buffer if possible. Also, sending x_char must
      not cause additional data in the tx ring buffer to transmit
      if tx is stopped.
      
      Cause x_char to be transmitted before any other data is sent.
      Auto-stop tx if the tx ring buffer is empty or tx should be stopped.
      Only perform one write wakeup if tx ring buffer space is below
      threshold.
      
      x_char handling in DMA mode is still broken; add FIXME.
      Signed-off-by: NPeter Hurley <peter@hurleysoftware.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5e42e9a3
  8. 12 7月, 2014 1 次提交
  9. 11 7月, 2014 1 次提交
    • P
      serial: Test for no tx data on tx restart · c557d392
      Peter Hurley 提交于
      Commit 717f3bba,
      'serial_core: Fix conditional start_tx on ring buffer not empty'
      exposes an incorrect assumption in several drivers' start_tx methods;
      the tx ring buffer can, in fact, be empty when restarting tx while
      performing flow control.
      
      Affected drivers:
      sunsab.c
      ip22zilog.c
      pmac_zilog.c
      sunzilog.c
      m32r_sio.c
      imx.c
      
      Other in-tree serial drivers either are not affected or already
      test for empty tx ring buffer before transmitting.
      
      Test for empty tx ring buffer in start_tx() method, after transmitting
      x_char (if applicable).
      Reported-by: NAaro Koskinen <aaro.koskinen@iki.fi>
      Cc: Seth Bollinger <sethb@digi.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
      Signed-off-by: NPeter Hurley <peter@hurleysoftware.com>
      Cc: stable <stable@vger.kernel.org> # 3.15
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c557d392
  10. 30 5月, 2014 1 次提交
  11. 29 5月, 2014 5 次提交
  12. 01 3月, 2014 3 次提交