Commit Graph

4 Commits

Author SHA1 Message Date
Arun Kumar Neelakantam 5e5c417097 tty: n_smux: add separate close notifications
When an SMUX port state is closed, the close request is sent to the
remote system.  The port cannot be re-opened until the remote system
acknowledges the close request.  If the client attempts to re-open the
port during this time, then the -EAGAIN error code is returned and the
client must keep retrying to open the port.  An event-driven approach
would be better, but the client does not receive local state
notifications, so this is not possible.

Add local and remote closed notifications so clients can handle the
closing state transitions without using polling.

CRs-Fixed: 510114
Change-Id: I48008804d23dbfd05df0becd4bc1c695e599a835
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
2013-09-04 17:10:05 -07:00
Eric Holmberg ff317cbe1f tty: n_smux: Add retry queue size flow control
If the receive retry queue size gets too large, then automatically
enable flow control to prevent having to drop buffers.

Change-Id: If27599015b362ce013e177ee350e026933390d72
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
2013-09-04 14:59:29 -07:00
Angshuman Sarkar 0efbe56e24 n_smux: Fix compilation when CONFIG_N_SMUX is undefined
Fix compilation issues when CONFIG_N_SMUX is undefined and
empty stub functions are getting defined.

Change-Id: I6a9982dac7d9558b8da533f1fc28dddac6c1f8fc
Signed-off-by: Angshuman Sarkar <angshuman@codeaurora.org>
2013-09-04 14:49:40 -07:00
Eric Holmberg ec2d3c40a0 tty: n_smux: Add SMUX TTY Line Discipline Driver
Add new Serial Multiplexer (SMUX) driver.

This driver multiplexes multiple logical channels over a single
physical HSUART channel using the TTY Line Discipline framework.
This driver will be used in Fusion 4 for control plane, data plane
and DIAG traffic between Application processor and QSC modem.

Change-Id: Ibecf6cea872f5baf11fb93ded6124243a37a2085
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
Signed-off-by: Angshuman Sarkar <angshuman@codeaurora.org>
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2013-09-04 14:49:32 -07:00