All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman@deeprootsystems.com>
To: Rajendra Nayak <rnayak@ti.com>
Cc: linux-omap@vger.kernel.org
Subject: Re: [PATCH 02/12] serial context save/restore
Date: Tue, 02 Sep 2008 14:30:42 +0300	[thread overview]
Message-ID: <87fxoirdi5.fsf@deeprootsystems.com> (raw)
In-Reply-To: 46654.192.168.10.89.1220341940.squirrel@dbdmail.itg.ti.com

Hi Rajendra,

"Rajendra Nayak" <rnayak@ti.com> writes:

> Resending this patch after fixing Russell's comments.
>
>
> This patch adds the context save restore functions for UART
>
> Signed-off-by: Rajendra Nayak <rnayak@ti.com>
> ---
>  arch/arm/mach-omap2/serial.c             |   55 +++++++++++++++++++++++++++++++
>  arch/arm/plat-omap/include/mach/serial.h |   12 ++++++
>  include/linux/serial_reg.h               |    1
>  3 files changed, 68 insertions(+)
>
> Index: linux-omap-2.6/arch/arm/mach-omap2/serial.c
> ===================================================================
> --- linux-omap-2.6.orig/arch/arm/mach-omap2/serial.c	2008-09-02
> 13:06:15.000000000 +0530
> +++ linux-omap-2.6/arch/arm/mach-omap2/serial.c	2008-09-02 13:06:20.000000000
> +0530

This patch (and all the others) still have line-wrapping problems.  In
particualar see the diff hunk headers above.

The result is that while 'patch' seems to apply them, the git tools
(like git-apply, git-am) fail with "patch fragment without header."

Could you regenerate the patches without wrapping?  I recommend using
'git format-patch -n'.

Thanks,

Kevin


> @@ -290,6 +290,61 @@ void __init omap_serial_init(void)
>  	omap_serial_kick();
>  }
>
> +#ifdef CONFIG_ARCH_OMAP3
> +static struct omap3_uart_regs uart_ctx[OMAP_MAX_NR_PORTS];
> +void omap3_save_uart_ctx(int unum)
> +{
> +	u16 lcr = 0;
> +
> +	struct plat_serial8250_port *p = serial_platform_data + unum;
> +
> +	if (uart_ick[unum] == NULL)
> +		return;
> +
> +	lcr = serial_read_reg(p, UART_LCR);
> +	serial_write_reg(p, UART_LCR, 0xBF);
> +	uart_ctx[unum].dll = serial_read_reg(p, UART_DLL);
> +	uart_ctx[unum].dlh = serial_read_reg(p, UART_DLM);
> +	serial_write_reg(p, UART_LCR, lcr);
> +	uart_ctx[unum].ier = serial_read_reg(p, UART_IER);
> +	uart_ctx[unum].sysc = serial_read_reg(p, UART_OMAP_SYSC);
> +	uart_ctx[unum].scr = serial_read_reg(p, UART_OMAP_SCR);
> +	uart_ctx[unum].wer = serial_read_reg(p, UART_OMAP_WER);
> +}
> +EXPORT_SYMBOL(omap3_save_uart_ctx);
> +
> +void omap3_restore_uart_ctx(int unum)
> +{
> +	u16 efr = 0;
> +
> +	struct plat_serial8250_port *p = serial_platform_data + unum;
> +
> +	if (uart_ick[unum] == NULL)
> +		return;
> +
> +	serial_write_reg(p, UART_OMAP_MDR1, 0x7);
> +	serial_write_reg(p, UART_LCR, 0xBF); /* Config B mode */
> +	efr = serial_read_reg(p, UART_EFR);
> +	serial_write_reg(p, UART_EFR, UART_EFR_ECB);
> +	serial_write_reg(p, UART_LCR, 0x0); /* Operational mode */
> +	serial_write_reg(p, UART_IER, 0x0);
> +	serial_write_reg(p, UART_LCR, 0xBF); /* Config B mode */
> +	serial_write_reg(p, UART_DLL, uart_ctx[unum].dll);
> +	serial_write_reg(p, UART_DLM, uart_ctx[unum].dlh);
> +	serial_write_reg(p, UART_LCR, 0x0); /* Operational mode */
> +	serial_write_reg(p, UART_IER, uart_ctx[unum].ier);
> +	serial_write_reg(p, UART_FCR, 0xA1);
> +	serial_write_reg(p, UART_LCR, 0xBF); /* Config B mode */
> +	serial_write_reg(p, UART_EFR, efr);
> +	serial_write_reg(p, UART_LCR, UART_LCR_WLEN8);
> +	serial_write_reg(p, UART_OMAP_SCR, uart_ctx[unum].scr);
> +	serial_write_reg(p, UART_OMAP_WER, uart_ctx[unum].wer);
> +	serial_write_reg(p, UART_OMAP_SYSC, uart_ctx[unum].sysc);
> +	serial_write_reg(p, UART_OMAP_MDR1, 0x00); /* UART 16x mode */
> +}
> +EXPORT_SYMBOL(omap3_restore_uart_ctx);
> +#endif /* CONFIG_ARCH_OMAP3 */
> +
>  static struct platform_device serial_device = {
>  	.name			= "serial8250",
>  	.id			= PLAT8250_DEV_PLATFORM,
> Index: linux-omap-2.6/include/linux/serial_reg.h
> ===================================================================
> --- linux-omap-2.6.orig/include/linux/serial_reg.h	2008-09-02
> 13:06:10.000000000 +0530
> +++ linux-omap-2.6/include/linux/serial_reg.h	2008-09-02 13:16:00.000000000 +0530
> @@ -323,6 +323,7 @@
>  #define UART_OMAP_MVER		0x14	/* Module version register */
>  #define UART_OMAP_SYSC		0x15	/* System configuration register */
>  #define UART_OMAP_SYSS		0x16	/* System status register */
> +#define UART_OMAP_WER		0x17	/* Wake-up enable register */
>
>  #endif /* _LINUX_SERIAL_REG_H */
>
> Index: linux-omap-2.6/arch/arm/plat-omap/include/mach/serial.h
> ===================================================================
> --- linux-omap-2.6.orig/arch/arm/plat-omap/include/mach/serial.h	2008-09-02
> 13:06:10.000000000 +0530
> +++ linux-omap-2.6/arch/arm/plat-omap/include/mach/serial.h	2008-09-02
> 13:08:24.000000000 +0530
> @@ -40,4 +40,16 @@
>  			__ret;					\
>  			})
>
> +#ifndef __ASSEMBLY__
> +struct omap3_uart_regs {
> +	u16 dll;
> +	u16 dlh;
> +	u16 ier;
> +	u16 sysc;
> +	u16 scr;
> +	u16 wer;
> +};
> +extern void omap3_save_uart_ctx(int unum);
> +extern void omap3_restore_uart_ctx(int unum);
> +#endif /* __ASSEMBLY__ */
>  #endif
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2008-09-02 11:30 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <59386.192.168.10.89.1220276248.squirrel@dbdmail.itg.ti.com>
2008-09-02  7:52 ` [PATCH 02/12] serial context save/restore Rajendra Nayak
2008-09-02 11:30   ` Kevin Hilman [this message]
2008-09-01 13:37 Rajendra Nayak
2008-09-01 20:06 ` Russell King - ARM Linux
2008-09-02  3:50   ` Rajendra Nayak
2008-09-04  8:52 ` Kevin Hilman

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=87fxoirdi5.fsf@deeprootsystems.com \
    --to=khilman@deeprootsystems.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=rnayak@ti.com \
    /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 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.