Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp663240ybh; Tue, 10 Mar 2020 06:06:27 -0700 (PDT) X-Google-Smtp-Source: ADFU+vuy9H4iUl8SmWfTQRA8z/vBMtpVkNBPu+IuYG4N1RMo+Gb65aOUdYZ+Q2gfmwmN8FY7lhei X-Received: by 2002:a54:448c:: with SMTP id v12mr1042230oiv.107.1583845586976; Tue, 10 Mar 2020 06:06:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1583845586; cv=none; d=google.com; s=arc-20160816; b=gUowGnwfKW+4JtD7k5blreaze6Jn5RxJDF2gbETE96pnc16hKfhYgwjqW87aHsm5Xy CM4sVEibfJoFh8Otpnem9a3dD1quVQJax1sip5YU0HtVSchLzdutbxFxKvi2vRbkGiPe gtX+4TqzqAAgMpR8cdMMmmbRmkzA7bvuoddODFsUougD6pX0r4rjcXpzew5r9eDVv3Qh 7CNG1c7SmurfRTJHNFY6J5156jR/KWZQUPqFfpkiTMoUcAR/oJ3Zd/KUKtJXfM1KkxtM aISKhOAUmVObFKY6D56heE6/1+jQEp5eed03TdH71Bcl510y4U8AQd9ka8iiLab6J59Y 4dLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=jd4Vtt45iF4Z3Z3cF4OuEwl2HyFLlnqBDfu9+HgUV5Q=; b=QAtSeYNhlc9HpgttUFcX6pMLf+hCh5CJ5wMgH22TjA6IKK/cN8Xk9aTReWxCtYbjQV II5chLywy/npbxBeVBiUck7EEHDR1NTdl4dky3aAfJkpjO3GAcTHbLhAzsbp+14n2ELS 6cq16XXr12lcv+2ev5+twvLqqjjydnbXkVuVldI/d+KBEAqutyE0JeaDPnqbpHN12QbS 4qtrC/M7R7XkzbaJTqA6W6bZddv4GfKVIAx3Dg/ZrcUxepc6uoVT0cDV78zGdgfxS1vP wB718e3yOv4BE/+YeoR4yF4GOmUccWm+L9EvEunJx9auSWXF5oGjBSW48N9PsSQcDrPK 8p9g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=uBTiM8Rg; 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 m11si7959167otp.174.2020.03.10.06.06.03; Tue, 10 Mar 2020 06:06:26 -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; dkim=pass header.i=@kernel.org header.s=default header.b=uBTiM8Rg; 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 S1730444AbgCJNCj (ORCPT + 99 others); Tue, 10 Mar 2020 09:02:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:45848 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728950AbgCJNCh (ORCPT ); Tue, 10 Mar 2020 09:02:37 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A7D2920409; Tue, 10 Mar 2020 13:02:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1583845356; bh=y6L1TFpF49ohcvee/WA6df90OUQDbBJtxI7H5ea/5QY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uBTiM8Rg6+Njs+W70+/H385vTTJ4eOa4IMBYj3bSHG8+7TQIwfv0IMethrpjF8ZBJ cbHJGLBDOqnQ/KmXQ2dmJRHoq/rV2MNVeLnRWNZ5rWpnjt18QHjYho+kCG0cAK5uLP CO8AVbAkoJVgcFd9vcfR0h/vp9VaEVOKM1WUxGTE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Marcel Partap , Merlijn Wajer , Michael Scott , NeKit , Pavel Machek , Sebastian Reichel , Tony Lindgren , Kishon Vijay Abraham I Subject: [PATCH 5.5 152/189] phy: mapphone-mdm6600: Fix write timeouts with shorter GPIO toggle interval Date: Tue, 10 Mar 2020 13:39:49 +0100 Message-Id: <20200310123655.270571470@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200310123639.608886314@linuxfoundation.org> References: <20200310123639.608886314@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tony Lindgren commit 46b7edf1c7b7c91004c4db2c355cbd033f2385f9 upstream. I've noticed that when writing data to the modem the writes can time out at some point eventually. Looks like kicking the modem idle GPIO every 600 ms instead of once a second fixes the issue. Note that this rate is different from our runtime PM autosuspend rate MDM6600_MODEM_IDLE_DELAY_MS that we still want to keep at 1 second, so let's add a separate define for PHY_MDM6600_IDLE_KICK_MS. Fixes: f7f50b2a7b05 ("phy: mapphone-mdm6600: Add runtime PM support for n_gsm on USB suspend") Cc: Marcel Partap Cc: Merlijn Wajer Cc: Michael Scott Cc: NeKit Cc: Pavel Machek Cc: Sebastian Reichel Signed-off-by: Tony Lindgren Signed-off-by: Kishon Vijay Abraham I Signed-off-by: Greg Kroah-Hartman --- drivers/phy/motorola/phy-mapphone-mdm6600.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) --- a/drivers/phy/motorola/phy-mapphone-mdm6600.c +++ b/drivers/phy/motorola/phy-mapphone-mdm6600.c @@ -20,6 +20,7 @@ #define PHY_MDM6600_PHY_DELAY_MS 4000 /* PHY enable 2.2s to 3.5s */ #define PHY_MDM6600_ENABLED_DELAY_MS 8000 /* 8s more total for MDM6600 */ +#define PHY_MDM6600_WAKE_KICK_MS 600 /* time on after GPIO toggle */ #define MDM6600_MODEM_IDLE_DELAY_MS 1000 /* modem after USB suspend */ #define MDM6600_MODEM_WAKE_DELAY_MS 200 /* modem response after idle */ @@ -510,8 +511,14 @@ static void phy_mdm6600_modem_wake(struc ddata = container_of(work, struct phy_mdm6600, modem_wake_work.work); phy_mdm6600_wake_modem(ddata); + + /* + * The modem does not always stay awake 1.2 seconds after toggling + * the wake GPIO, and sometimes it idles after about some 600 ms + * making writes time out. + */ schedule_delayed_work(&ddata->modem_wake_work, - msecs_to_jiffies(MDM6600_MODEM_IDLE_DELAY_MS)); + msecs_to_jiffies(PHY_MDM6600_WAKE_KICK_MS)); } static int __maybe_unused phy_mdm6600_runtime_suspend(struct device *dev)