diff mbox series

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

Message ID 1506492816-25954-13-git-send-email-bhupinder.thakur@linaro.org
State Accepted
Commit 46982db8c65e9a6a3da68c4e37da57c603564157
Headers show
Series SBSA UART emulation support in Xen | expand

Commit Message

Bhupinder Thakur Sept. 27, 2017, 6:13 a.m. UTC
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(-)
diff mbox series

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);