[PATCH] serial/aspeed-vuart: Disable host TX discard mode during init

Norman James njames at us.ibm.com
Wed Feb 10 23:47:27 AEDT 2016


I've tested it pretty well too.   I have powered on/off several times and
made sure boot makes it to petitboot and console behaves normal with the
menu.    I would add Tested-by flag if someone could tell me how to do
that.

The only strange thing is that the screen utility hangs for several seconds
when exiting (Ctrl-a k) console which it didn't do with regular UART.


Regards,
Norman James
IBM - POWER Systems Architect
Phone: 1-512-286-6807 (T/L: 363-6807)
Internet: njames at us.ibm.com




From:	Joel Stanley <joel at jms.id.au>
To:	Jeremy Kerr <jk at ozlabs.org>
Cc:	OpenBMC Maillist <openbmc at lists.ozlabs.org>
Date:	02/09/2016 11:40 PM
Subject:	Re: [PATCH] serial/aspeed-vuart: Disable host TX discard mode
            during init
Sent by:	"openbmc" <openbmc-bounces+njames=us.ibm.com at lists.ozlabs.org>



On Wed, Feb 10, 2016 at 12:55 AM, Jeremy Kerr <jk at ozlabs.org> wrote:
> If host TX discard mode is enabled, we don't see the LSR[RBR} bit
> getting set on new characters written on the host side. This makes the
> VUART a little useless.
>
> This change set this bit during VUART initialisation, to disable host
> TX discard.

Thanks! I've pulled it in; I'll push it out once I've given it a spin.

Do you have some notes on how you tested it?

>
> Signed-off-by: Jeremy Kerr <jk at ozlabs.org>

Reviewed-by: Joel Stanley <joel at jms.id.au>
> ---
>  drivers/tty/serial/aspeed-vuart.c | 15 ++++++++++++++-
>  1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/tty/serial/aspeed-vuart.c
b/drivers/tty/serial/aspeed-vuart.c
> index f1988dd..a56d3a9 100644
> --- a/drivers/tty/serial/aspeed-vuart.c
> +++ b/drivers/tty/serial/aspeed-vuart.c
> @@ -20,7 +20,8 @@
>  #include "8250/8250.h"
>
>  #define AST_VUART_GCRA         0x20
> -#define AST_VUART_GCRA_VUART_EN                0x1
> +#define AST_VUART_GCRA_VUART_EN                0x01
> +#define AST_VUART_GCRA_HOST_TX_DISCARD 0x20
>  #define AST_VUART_GCRB         0x24
>  #define AST_VUART_GCRB_HOST_SIRQ_MASK  0xf0
>  #define AST_VUART_GCRB_HOST_SIRQ_SHIFT 4
> @@ -143,6 +144,17 @@ static ssize_t ast_vuart_set_sirq(struct device
*dev,
>  static DEVICE_ATTR(sirq, S_IWUSR | S_IRUGO,
>                 ast_vuart_show_sirq, ast_vuart_set_sirq);
>
> +static void ast_vuart_setup(struct ast_vuart *vuart)
> +{
> +       u8 reg;
> +
> +       /* disable TX discard mode */
> +       reg = readb(vuart->regs + AST_VUART_GCRA);
> +       reg |= AST_VUART_GCRA_HOST_TX_DISCARD;
> +       writeb(reg, vuart->regs + AST_VUART_GCRA);
> +}
> +
> +
>  /**
>   * The device tree parsinc code here is heavily based on that of the
of_serial
>   * driver, but we have a few core differences, as we need to use our own
> @@ -261,6 +273,7 @@ static int ast_vuart_probe(struct platform_device
*pdev)
>
>         vuart->line = rc;
>         platform_set_drvdata(pdev, vuart);
> +       ast_vuart_setup(vuart);
>
>         /* extra sysfs control */
>         rc = device_create_file(&pdev->dev, &dev_attr_lpc_address);
> --
> 2.5.0
>
> _______________________________________________
> openbmc mailing list
> openbmc at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/openbmc
_______________________________________________
openbmc mailing list
openbmc at lists.ozlabs.org
https://lists.ozlabs.org/listinfo/openbmc

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20160210/f43210b2/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graycol.gif
Type: image/gif
Size: 105 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20160210/f43210b2/attachment.gif>


More information about the openbmc mailing list