mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Michael Trimarchi <trimarchimichael@yahoo.it>
To: linux-kernel@vger.kernel.org
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
Subject: [PATCH] atmel serial reduce trasmitting window & code style patch
Date: Thu, 3 Apr 2008 10:39:06 +0200 (CEST)	[thread overview]
Message-ID: <524838.25009.qm@web26206.mail.ukl.yahoo.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 182 bytes --]

Hi,

two more patches for atmel serial driver.

Regards 
Michael



      Inviato da Yahoo! Mail. 
La casella di posta intelligente.
http://it.docs.yahoo.com/mail/overview/index.html

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 3607956876-coding-style-cleanup.patch --]
[-- Type: text/x-patch; name="coding-style-cleanup.patch", Size: 1749 bytes --]

Coding style clean-up patch.

Signed-off-by: michael <trimarchi@gandalf.sssup.it>

---
 drivers/serial/atmel_serial.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
index d57bf3e..9f58eb3 100644
--- a/drivers/serial/atmel_serial.c
+++ b/drivers/serial/atmel_serial.c
@@ -122,7 +122,7 @@ struct atmel_uart_char {
 	u16		ch;
 };
 
-#define ATMEL_SERIAL_RINGSIZE 1024
+#define ATMEL_SERIAL_RINGSIZE	1024
 
 /*
  * We wrap our port structure around the generic uart_port.
@@ -394,8 +394,8 @@ static void atmel_rx_chars(struct uart_port *port)
 			/* clear error */
 			UART_PUT_CR(port, ATMEL_US_RSTSTA);
 
-			if (status & ATMEL_US_RXBRK
-			    && !atmel_port->break_active) {
+			if (status & ATMEL_US_RXBRK &&
+			    !atmel_port->break_active) {
 				atmel_port->break_active = 1;
 				UART_PUT_IER(port, ATMEL_US_RXBRK);
 			} else {
@@ -1394,8 +1394,8 @@ console_initcall(atmel_console_init);
  */
 static int __init atmel_late_console_init(void)
 {
-	if (atmel_default_console_device
-	    && !(atmel_console.flags & CON_ENABLED))
+	if (atmel_default_console_device &&
+	    !(atmel_console.flags & CON_ENABLED))
 		register_console(&atmel_console);
 
 	return 0;
@@ -1434,8 +1434,8 @@ static int atmel_serial_suspend(struct platform_device *pdev,
 	struct uart_port *port = platform_get_drvdata(pdev);
 	struct atmel_uart_port *atmel_port = to_atmel_uart_port(port);
 
-	if (device_may_wakeup(&pdev->dev)
-	    && !at91_suspend_entering_slow_clock())
+	if (device_may_wakeup(&pdev->dev) &&
+	    !at91_suspend_entering_slow_clock())
 		enable_irq_wake(port->irq);
 	else {
 		uart_suspend_port(&atmel_uart, port);
-- 
1.5.2.1.174.gcd03-dirty


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 3362687731-atmel-interrupt-tx-chars-fix.patch --]
[-- Type: text/x-patch; name="atmel-interrupt-tx-chars-fix.patch", Size: 1405 bytes --]

Reduce the trasmitting window size to avoid blocking of tasklet because 
it must handle the receive phase too.

Signed-off-by: michael <trimarchi@gandalf.sssup.it>

---
 drivers/serial/atmel_serial.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
index 9f58eb3..511a0cc 100644
--- a/drivers/serial/atmel_serial.c
+++ b/drivers/serial/atmel_serial.c
@@ -123,6 +123,7 @@ struct atmel_uart_char {
 };
 
 #define ATMEL_SERIAL_RINGSIZE	1024
+#define ATMEL_SERIAL_TXSIZE	32
 
 /*
  * We wrap our port structure around the generic uart_port.
@@ -426,6 +427,7 @@ static void atmel_rx_chars(struct uart_port *port)
 static void atmel_tx_chars(struct uart_port *port)
 {
 	struct circ_buf *xmit = &port->info->xmit;
+	int count = 0;
 
 	if (port->x_char && UART_GET_CSR(port) & ATMEL_US_TXRDY) {
 		UART_PUT_CHAR(port, port->x_char);
@@ -435,10 +437,12 @@ static void atmel_tx_chars(struct uart_port *port)
 	if (uart_circ_empty(xmit) || uart_tx_stopped(port))
 		return;
 
-	while (UART_GET_CSR(port) & ATMEL_US_TXRDY) {
+	while (UART_GET_CSR(port) & ATMEL_US_TXRDY &&
+	       count < ATMEL_SERIAL_TXSIZE) {
 		UART_PUT_CHAR(port, xmit->buf[xmit->tail]);
 		xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
 		port->icount.tx++;
+		count++;
 		if (uart_circ_empty(xmit))
 			break;
 	}
-- 
1.5.2.1.174.gcd03-dirty


             reply	other threads:[~2008-04-03  8:39 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-03  8:39 Michael Trimarchi [this message]
2008-04-06 20:46 ` Haavard Skinnemoen
2008-04-06 20:57 ` Haavard Skinnemoen
2008-04-07  8:14   ` Michael Trimarchi
2008-04-08  8:32 ` Marc Pignat
2008-04-08  8:44   ` Michael Trimarchi
2008-04-07  9:22 Michael Trimarchi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=524838.25009.qm@web26206.mail.ukl.yahoo.com \
    --to=trimarchimichael@yahoo.it \
    --cc=hskinnemoen@atmel.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®