From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030269AbbJ1Ogu (ORCPT ); Wed, 28 Oct 2015 10:36:50 -0400 Received: from mail-qk0-f175.google.com ([209.85.220.175]:35934 "EHLO mail-qk0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966245AbbJ1Ogm (ORCPT ); Wed, 28 Oct 2015 10:36:42 -0400 Subject: Re: [PATCH v2 1/2] serial: 8250_early: do not save and restore IER in write callback To: Masahiro Yamada References: <1445660265-13668-1-git-send-email-yamada.masahiro@socionext.com> <1445660265-13668-2-git-send-email-yamada.masahiro@socionext.com> <562F821A.90509@hurleysoftware.com> Cc: linux-serial@vger.kernel.org, Vineet Gupta , Kevin Cernekee , Jiri Slaby , Rob Herring , Linux Kernel Mailing List , Greg Kroah-Hartman From: Peter Hurley Message-ID: <5630DD75.30805@hurleysoftware.com> Date: Wed, 28 Oct 2015 10:36:37 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/27/2015 11:27 PM, Masahiro Yamada wrote: > Hi Peter, > > 2015-10-27 22:54 GMT+09:00 Peter Hurley : >> Hi Masahiro, >> >> On 10/24/2015 12:17 AM, Masahiro Yamada wrote: >>> The IER has already been masked in early_serial8250_setup(), there is >>> no reason to save and restore it every time early_serial8250_write() >>> is called. >>> >>> Signed-off-by: Masahiro Yamada >>> --- >>> >>> drivers/tty/serial/8250/8250_early.c | 12 ------------ >>> 1 file changed, 12 deletions(-) >>> >>> diff --git a/drivers/tty/serial/8250/8250_early.c b/drivers/tty/serial/8250/8250_early.c >>> index 7aff3d8..559b681 100644 >>> --- a/drivers/tty/serial/8250/8250_early.c >>> +++ b/drivers/tty/serial/8250/8250_early.c >>> @@ -99,20 +99,8 @@ static void __init early_serial8250_write(struct console *console, >>> { >>> struct earlycon_device *device = console->data; >>> struct uart_port *port = &device->port; >>> - unsigned int ier; >>> - >>> - /* Save the IER and disable interrupts preserving the UUE bit */ >>> - ier = serial8250_early_in(port, UART_IER); >>> - if (ier) >>> - serial8250_early_out(port, UART_IER, ier & UART_IER_UUE); >>> >>> uart_console_write(port, s, count, serial_putc); >> >> >> >>> - >>> - /* Wait for transmitter to become empty and restore the IER */ >>> - wait_for_xmitr(port); >> >> This wait_for_xmitr() change needs to be in patch 2/2. >> > > > Why? Because if someone reports a regression bisected to this commit, we won't know if the regression is because we're not saving/restoring IER or because the transmitter is still running. Regards, Peter Hurley