Received: by 10.192.165.148 with SMTP id m20csp4479348imm; Tue, 8 May 2018 09:04:54 -0700 (PDT) X-Google-Smtp-Source: AB8JxZrC+ztqHOWfvlNLXLVcFyNvIZj93z66DMXVEm1/1tKX16j8O28IvrDpzqGIdB80zFQmFez+ X-Received: by 2002:a63:7d43:: with SMTP id m3-v6mr26918789pgn.117.1525795494599; Tue, 08 May 2018 09:04:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525795494; cv=none; d=google.com; s=arc-20160816; b=pX/JPYooeBM23OIhX/9m2d8C7PVAKXHnx/WdFZH4Kjh+m2lvWoAYqM3YfWD3Ot6PO7 2yrYqs6F4+ObXC2RBlfNzCyh5qdQRGAL0pDcj8LohSyxBTZk9M7OlEOhSv/shrc2bsW9 KoeCcpF6vCCgRlHHieHApdE0uoKdENesSOy33yGtIxTAljA1XADX6vo5/Tp0g4CaTjHz YdnxLA3ZjYbc0jh/+TyO3i7QGRwOkquargwRI5RINE2hMwL08Bz/HGnYjPCYSTrAgh3O zruyfj3xBFtwKTiLCnbmAGPakRYqh+1frsMKCqKO6iiNtTUeN0Tjtyc4pcX3kw6D6Sod 15Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=C+rMVsGVmyaj1IlpZTTAWJ9zqZWHqB8z8ESFpfDmHyI=; b=E7c6IZ9oKz9x+urv/Q3pIiMj5jQO3nBi2fqXch8fgrLz4/JRb4iqIZy85SMqgJzTN4 b+O4t3haDa/HE5XMorfE6Patl7DtTcWbFMkEmJMTLv5l1eb/dVNuDyJ75dX0DZ+9hUH4 8sfjOPDKm2IeoXpBgyd5bIKdgvgrCo1SV/JFKGDRbwjUZ1RPEBW9+HOhd5+lv1WgZxDw ShQyk0snUScNm5gW4voQobmxpuxUoMaI9FbP3jVBnUsCl8jAkzzin/GC17Mqm/IH6MtY eAkjT6m1uVGDRyEAsCFmG6+DvQtPflhYWce8NwzCdEZmn6dovimRGaXJGVm5iWkgDZmI JA+w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f39-v6si24837372plb.572.2018.05.08.09.04.26; Tue, 08 May 2018 09:04:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932683AbeEHPyK (ORCPT + 99 others); Tue, 8 May 2018 11:54:10 -0400 Received: from muru.com ([72.249.23.125]:41094 "EHLO muru.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932079AbeEHPyJ (ORCPT ); Tue, 8 May 2018 11:54:09 -0400 Received: from atomide.com (localhost [127.0.0.1]) by muru.com (Postfix) with ESMTPS id B9EA480A9; Tue, 8 May 2018 15:56:07 +0000 (UTC) Date: Tue, 8 May 2018 08:54:05 -0700 From: Tony Lindgren To: Johan Hovold Cc: Sebastian Reichel , "H. Nikolaus Schaller" , Andreas Kemnade , Mark Rutland , Arnd Bergmann , Pavel Machek , "linux-kernel@vger.kernel.org" , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , Greg Kroah-Hartman , Rob Herring Subject: Re: [PATCH 4/7] dt-bindings: gnss: add u-blox binding Message-ID: <20180508155405.GX98604@atomide.com> References: <20180503205037.7be552c1@aktux> <44A0BC7C-67C7-4116-849F-90FF7CF2B1F0@goldelico.com> <20180504114213.3xlzqxe74n55tk5s@earth.universe> <20180507100135.GS2285@localhost> <20180507154515.GP98604@atomide.com> <20180507163439.GV2285@localhost> <20180507175032.GR98604@atomide.com> <20180508065852.GW2285@localhost> <20180508152228.GV98604@atomide.com> <20180508154756.GW98604@atomide.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180508154756.GW98604@atomide.com> User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Tony Lindgren [180508 08:47]: > * Tony Lindgren [180508 08:22]: > > * Johan Hovold [180508 07:00]: > > > With the negative autosuspend set in both omap drivers probe functions, > > > this is the expected behaviour. Which I think we must fix. > > > > Yes indeed. I've been using my script for years now and have > > completely missed the fact that the unused ports are not idled > > at all on start-up when unused. > > This might be all that's needed, care to try it and if it works > I'll send out two separate proper patches? > > I'm seeing this now on my bbb after temporarily disabling my > UART idle init script: > > # rwmem -s32 0x44e004b4 # uart 1 on l4_wkup > 0x44e004b4 = 0x00000002 > > # rwmem -s32 0x44e0006c+0x10 # uart 2 - 5 on l4_per > 0x44e0006c = 0x00030000 > 0x44e00070 = 0x00030000 > 0x44e00074 = 0x00030000 > 0x44e00078 = 0x00030000 > > # rwmem -s32 0x44e00038 # uart 6 on l4_per > 0x44e00038 = 0x00030000 Hmm I forgot to remove status = "disabled" from the other ports, still not idling the unused ports with the patch below it seems. Regards, Tony > 8< ---------------------- > diff --git a/drivers/tty/serial/8250/8250_omap.c b/drivers/tty/serial/8250/8250_omap.c > --- a/drivers/tty/serial/8250/8250_omap.c > +++ b/drivers/tty/serial/8250/8250_omap.c > @@ -685,8 +685,7 @@ static void omap_8250_shutdown(struct uart_port *port) > serial_out(up, UART_LCR, up->lcr & ~UART_LCR_SBC); > serial_out(up, UART_FCR, UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT); > > - pm_runtime_mark_last_busy(port->dev); > - pm_runtime_put_autosuspend(port->dev); > + pm_runtime_put_sync(port->dev); > free_irq(port->irq, port); > dev_pm_clear_wake_irq(port->dev); > } > @@ -1265,8 +1264,7 @@ static int omap8250_probe(struct platform_device *pdev) > } > priv->line = ret; > platform_set_drvdata(pdev, priv); > - pm_runtime_mark_last_busy(&pdev->dev); > - pm_runtime_put_autosuspend(&pdev->dev); > + pm_runtime_put_sync(&pdev->dev); > return 0; > err: > pm_runtime_dont_use_autosuspend(&pdev->dev); > diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c > --- a/drivers/tty/serial/omap-serial.c > +++ b/drivers/tty/serial/omap-serial.c > @@ -821,8 +821,7 @@ static void serial_omap_shutdown(struct uart_port *port) > if (serial_in(up, UART_LSR) & UART_LSR_DR) > (void) serial_in(up, UART_RX); > > - pm_runtime_mark_last_busy(up->dev); > - pm_runtime_put_autosuspend(up->dev); > + pm_runtime_put_sync(up->dev); > free_irq(up->port.irq, up); > dev_pm_clear_wake_irq(up->dev); > } > @@ -1751,8 +1750,7 @@ static int serial_omap_probe(struct platform_device *pdev) > if (ret != 0) > goto err_add_port; > > - pm_runtime_mark_last_busy(up->dev); > - pm_runtime_put_autosuspend(up->dev); > + pm_runtime_put_sync(&pdev->dev); > return 0; > > err_add_port: > -- > 2.17.0