* Uartlite - poll support
@ 2010-08-17 8:42 Michal Simek
2010-08-17 8:42 ` [PATCH] serial: Add CONSOLE_POLL support for uartlite Michal Simek
2010-08-17 14:34 ` Uartlite - poll support Greg KH
0 siblings, 2 replies; 5+ messages in thread
From: Michal Simek @ 2010-08-17 8:42 UTC (permalink / raw)
To: gregkh; +Cc: linux-kernel, linux-serial
Hi Greg,
I am not sure who is responsible for drivers/serial but I see
that your tty tree contains a lot of serial patches.
Could you please add the uartlite poll patch to your tree?
Thanks,
Michal
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] serial: Add CONSOLE_POLL support for uartlite
2010-08-17 8:42 Uartlite - poll support Michal Simek
@ 2010-08-17 8:42 ` Michal Simek
2010-08-22 19:04 ` Peter Korsgaard
2010-08-17 14:34 ` Uartlite - poll support Greg KH
1 sibling, 1 reply; 5+ messages in thread
From: Michal Simek @ 2010-08-17 8:42 UTC (permalink / raw)
To: gregkh; +Cc: linux-kernel, linux-serial, Michal Simek, Jason Wessel
CONSOLE_POLL support for uartlite enables
KGDB debugging over serial line.
Signed-off-by: Michal Simek <monstr@monstr.eu>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
---
drivers/serial/uartlite.c | 26 +++++++++++++++++++++++++-
1 files changed, 25 insertions(+), 1 deletions(-)
diff --git a/drivers/serial/uartlite.c b/drivers/serial/uartlite.c
index 9b03d7b..c0fae0d 100644
--- a/drivers/serial/uartlite.c
+++ b/drivers/serial/uartlite.c
@@ -322,6 +322,26 @@ static int ulite_verify_port(struct uart_port *port, struct serial_struct *ser)
return -EINVAL;
}
+#ifdef CONFIG_CONSOLE_POLL
+static int ulite_get_poll_char(struct uart_port *port)
+{
+ while (!(ioread32be(port->membase + ULITE_STATUS)
+ & ULITE_STATUS_RXVALID))
+ return NO_POLL_CHAR;
+
+ return ioread32be(port->membase + ULITE_RX);
+}
+
+static void ulite_put_poll_char(struct uart_port *port, unsigned char ch)
+{
+ while (ioread32be(port->membase + ULITE_STATUS) & ULITE_STATUS_TXFULL)
+ cpu_relax();
+
+ /* write char to device */
+ iowrite32be(ch, port->membase + ULITE_TX);
+}
+#endif
+
static struct uart_ops ulite_ops = {
.tx_empty = ulite_tx_empty,
.set_mctrl = ulite_set_mctrl,
@@ -338,7 +358,11 @@ static struct uart_ops ulite_ops = {
.release_port = ulite_release_port,
.request_port = ulite_request_port,
.config_port = ulite_config_port,
- .verify_port = ulite_verify_port
+ .verify_port = ulite_verify_port,
+#ifdef CONFIG_CONSOLE_POLL
+ .poll_get_char = ulite_get_poll_char,
+ .poll_put_char = ulite_put_poll_char,
+#endif
};
/* ---------------------------------------------------------------------
--
1.5.5.6
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: Uartlite - poll support
2010-08-17 8:42 Uartlite - poll support Michal Simek
2010-08-17 8:42 ` [PATCH] serial: Add CONSOLE_POLL support for uartlite Michal Simek
@ 2010-08-17 14:34 ` Greg KH
1 sibling, 0 replies; 5+ messages in thread
From: Greg KH @ 2010-08-17 14:34 UTC (permalink / raw)
To: Michal Simek; +Cc: linux-kernel, linux-serial
On Tue, Aug 17, 2010 at 10:42:04AM +0200, Michal Simek wrote:
> Hi Greg,
>
> I am not sure who is responsible for drivers/serial but I see
> that your tty tree contains a lot of serial patches.
> Could you please add the uartlite poll patch to your tree?
Sure, I'll queue it up for .37.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] serial: Add CONSOLE_POLL support for uartlite
2010-08-17 8:42 ` [PATCH] serial: Add CONSOLE_POLL support for uartlite Michal Simek
@ 2010-08-22 19:04 ` Peter Korsgaard
2010-08-23 8:47 ` Michal Simek
0 siblings, 1 reply; 5+ messages in thread
From: Peter Korsgaard @ 2010-08-22 19:04 UTC (permalink / raw)
To: Michal Simek; +Cc: gregkh, linux-kernel, linux-serial, Jason Wessel
>>>>> "Michal" == Michal Simek <monstr@monstr.eu> writes:
Michal> CONSOLE_POLL support for uartlite enables
Michal> KGDB debugging over serial line.
Please CC me on uartlite patches in the future, thanks.
Michal> Signed-off-by: Michal Simek <monstr@monstr.eu>
Michal> Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Michal> ---
Michal> drivers/serial/uartlite.c | 26 +++++++++++++++++++++++++-
Michal> 1 files changed, 25 insertions(+), 1 deletions(-)
Michal> diff --git a/drivers/serial/uartlite.c b/drivers/serial/uartlite.c
Michal> index 9b03d7b..c0fae0d 100644
Michal> --- a/drivers/serial/uartlite.c
Michal> +++ b/drivers/serial/uartlite.c
Michal> @@ -322,6 +322,26 @@ static int ulite_verify_port(struct uart_port *port, struct serial_struct *ser)
Michal> return -EINVAL;
Michal> }
Michal> +#ifdef CONFIG_CONSOLE_POLL
Michal> +static int ulite_get_poll_char(struct uart_port *port)
Michal> +{
Michal> + while (!(ioread32be(port->membase + ULITE_STATUS)
Michal> + & ULITE_STATUS_RXVALID))
Michal> + return NO_POLL_CHAR;
Michal> +
Using while instead of 'if' is imho pretty obscure here.
Michal> + return ioread32be(port->membase + ULITE_RX);
Michal> +}
Michal> +
Michal> +static void ulite_put_poll_char(struct uart_port *port, unsigned char ch)
Michal> +{
Michal> + while (ioread32be(port->membase + ULITE_STATUS) & ULITE_STATUS_TXFULL)
Michal> + cpu_relax();
You could reuse ulite_console_wait_tx() like ulite_console_putchar()
does.
Otherwise it looks fine.
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] serial: Add CONSOLE_POLL support for uartlite
2010-08-22 19:04 ` Peter Korsgaard
@ 2010-08-23 8:47 ` Michal Simek
0 siblings, 0 replies; 5+ messages in thread
From: Michal Simek @ 2010-08-23 8:47 UTC (permalink / raw)
To: Peter Korsgaard; +Cc: gregkh, linux-kernel, linux-serial, Jason Wessel
Peter Korsgaard wrote:
>>>>>> "Michal" == Michal Simek <monstr@monstr.eu> writes:
>
> Michal> CONSOLE_POLL support for uartlite enables
> Michal> KGDB debugging over serial line.
>
> Please CC me on uartlite patches in the future, thanks.
Oou sorry.
>
> Michal> Signed-off-by: Michal Simek <monstr@monstr.eu>
> Michal> Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
> Michal> ---
> Michal> drivers/serial/uartlite.c | 26 +++++++++++++++++++++++++-
> Michal> 1 files changed, 25 insertions(+), 1 deletions(-)
>
> Michal> diff --git a/drivers/serial/uartlite.c b/drivers/serial/uartlite.c
> Michal> index 9b03d7b..c0fae0d 100644
> Michal> --- a/drivers/serial/uartlite.c
> Michal> +++ b/drivers/serial/uartlite.c
> Michal> @@ -322,6 +322,26 @@ static int ulite_verify_port(struct uart_port *port, struct serial_struct *ser)
> Michal> return -EINVAL;
> Michal> }
>
> Michal> +#ifdef CONFIG_CONSOLE_POLL
> Michal> +static int ulite_get_poll_char(struct uart_port *port)
> Michal> +{
> Michal> + while (!(ioread32be(port->membase + ULITE_STATUS)
> Michal> + & ULITE_STATUS_RXVALID))
> Michal> + return NO_POLL_CHAR;
> Michal> +
>
> Using while instead of 'if' is imho pretty obscure here.
Agree that if is the better solution.
>
> Michal> + return ioread32be(port->membase + ULITE_RX);
> Michal> +}
> Michal> +
> Michal> +static void ulite_put_poll_char(struct uart_port *port, unsigned char ch)
> Michal> +{
> Michal> + while (ioread32be(port->membase + ULITE_STATUS) & ULITE_STATUS_TXFULL)
> Michal> + cpu_relax();
>
>
> You could reuse ulite_console_wait_tx() like ulite_console_putchar()
> does.
yes, but ulite_console_wait_tx is used only when uartlite console is
used. Not sure if I tried to setup console and KGDB but in this case I
will have to add some ifdef that's why was easier for me to write on ioread.
>
> Otherwise it looks fine.
>
> Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
>
I will changed driver and send v2.
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-08-23 8:47 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-17 8:42 Uartlite - poll support Michal Simek
2010-08-17 8:42 ` [PATCH] serial: Add CONSOLE_POLL support for uartlite Michal Simek
2010-08-22 19:04 ` Peter Korsgaard
2010-08-23 8:47 ` Michal Simek
2010-08-17 14:34 ` Uartlite - poll support Greg KH
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.