[Xen-devel,12/27,v8] xen/arm: vpl011: Add a new buffer_available function in xenconsole

Message ID 1503910570-24427-13-git-send-email-bhupinder.thakur@linaro.org
State Superseded
Headers show
Series
  • SBSA UART emulation support in Xen
Related show

Commit Message

Bhupinder Thakur Aug. 28, 2017, 8:55 a.m.
This patch introduces a new buffer_available function to check if
more data is allowed to be buffered.

Signed-off-by: Bhupinder Thakur <bhupinder.thakur@linaro.org>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Wei Liu <wei.liu2@citrix.com>
---
CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien.grall@arm.com>

Changes since v5:
- Split this change in a separate patch.

 tools/console/daemon/io.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

Patch

diff --git a/tools/console/daemon/io.c b/tools/console/daemon/io.c
index 1da08d7..0009bbe 100644
--- a/tools/console/daemon/io.c
+++ b/tools/console/daemon/io.c
@@ -163,6 +163,16 @@  static int write_with_timestamp(int fd, const char *data, size_t sz,
 	return 0;
 }
 
+static inline bool buffer_available(struct console *con)
+{
+	if (discard_overflowed_data ||
+	    !con->buffer.max_capacity ||
+	    con->buffer.size < con->buffer.max_capacity)
+		return true;
+	else
+		return false;
+}
+
 static void buffer_append(struct console *con)
 {
 	struct buffer *buffer = &con->buffer;
@@ -1120,9 +1130,7 @@  void handle_io(void)
 				    con->next_period < next_timeout)
 					next_timeout = con->next_period;
 			} else if (con->xce_handle != NULL) {
-				if (discard_overflowed_data ||
-				    !con->buffer.max_capacity ||
-				    con->buffer.size < con->buffer.max_capacity) {
+			        if (buffer_available(con)) {
 					int evtchn_fd = xenevtchn_fd(con->xce_handle);
 					con->xce_pollfd_idx = set_fds(evtchn_fd,
 								    POLLIN|POLLPRI);