Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp24969ybp; Thu, 3 Oct 2019 09:40:10 -0700 (PDT) X-Google-Smtp-Source: APXvYqyGl5kM83SY2cl/2+XXVJvuAGlhnpM+JgSLie00co8kLvQ3bvfXK+0WE/qii18cdLE+il3t X-Received: by 2002:aa7:dad3:: with SMTP id x19mr10551412eds.59.1570120810756; Thu, 03 Oct 2019 09:40:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570120810; cv=none; d=google.com; s=arc-20160816; b=KJFPOiTNlB1A1dp2jbRf6UBMrh4v2TZdoWb+L1f2NyzfHdMdmIJS+ooVLJ7YI6QwnB B5/CM+43uBp7E8eizBEBf4zqVvh8kujGHzz1B3Bpb54sYU2RcXKEQlbLq8ORxE0vFXkI kPo1Pkdq/OroQXiQZYfw64JkBlbG5wfOBlQvs7qHDyDfNLhW0GTCc+1D4ip0Fh+Eq07h 3d9HvkoJRz+nEdZXiYsUvG07AhbUOCuTsBBW0OYk3WTIqTpa6UCxACuGcWH55g+g5RO+ QapSlXAeC1euhl2s+YRsepaSoQea4FfjLZaTluldYjGTtJdDTpURSmRpVkJA+zd2W8Tt rI+g== 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=MEx7QCeuBvJRikYUxybrxAoi8tNQ+sXPTYs7FNLI028=; b=R5n3K8mfbFYmCPgYmJtsFlDbCn6zesGWitRSP37c9mOk1akMCUxBm2zeCpdlY0niv2 D/wTqEwcHHzCZgwQ3VdwS4Cq3W5hR6ydP1D66jiT1D7sJwRF+ilsfhCH432L2Fk3ZY+3 4vTUUFsfvbA6+4hWKb2AQrhqVwSXsUMJYOiO4QAWGsW/Y9TNrf6u+TNXqLxsN7zGBXg7 9MH5WbH3aqdsfA9XPPJZ7m1FXtXWxB3deQmRlczYSaD10sXkTQvotIFUzy8g5fbEatpz bygfa414NKTif18Ie6E+CjCb4Do6OfSrL0a76X6VLbJNkFb4QSWabQy8xM5e83bQ7scr kBVQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="Fhz1XJ/9"; 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 o14si317506ejc.405.2019.10.03.09.39.46; Thu, 03 Oct 2019 09:40:10 -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="Fhz1XJ/9"; 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 S2391818AbfJCQiV (ORCPT + 99 others); Thu, 3 Oct 2019 12:38:21 -0400 Received: from mail.kernel.org ([198.145.29.99]:48012 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733111AbfJCQiU (ORCPT ); Thu, 3 Oct 2019 12:38:20 -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 3782221783; Thu, 3 Oct 2019 16:38:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570120699; bh=AVrR9+tsKYdOfYBrPs/yN9cRUzxjuwMAG5sQEM8OOFY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Fhz1XJ/9MNv4CoE6k3DwV7ZPmCi0FYU9T0EU9oiYBdICUbiKJGePCYpOzoxJMLDvp 0/O3nvUgBgsfUiUJYASXK0kVP6pk0d0+mCbaGT938FeZWMW44ZwX0PSpweqMoZeNH/ bXCIGE4ujJQDYFPk13GUW55gj8RE4ZLBsKcBV1uo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Curtis Malainey , Jarkko Nikula , Andy Shevchenko , "Rafael J. Wysocki" Subject: [PATCH 5.2 291/313] ACPI / LPSS: Save/restore LPSS private registers also on Lynxpoint Date: Thu, 3 Oct 2019 17:54:29 +0200 Message-Id: <20191003154601.784501883@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191003154533.590915454@linuxfoundation.org> References: <20191003154533.590915454@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: Jarkko Nikula commit 57b3006492a4c11b2d4a772b5b2905d544a32037 upstream. My assumption in commit b53548f9d9e4 ("spi: pxa2xx: Remove LPSS private register restoring during resume") that Intel Lynxpoint and compatible based chipsets may not need LPSS private registers saving and restoring over suspend/resume cycle turned out to be false on Intel Broadwell. Curtis Malainey sent a patch bringing above change back and reported the LPSS SPI Chip Select control was lost over suspend/resume cycle on Broadwell machine. Instead of reverting above commit lets add LPSS private register saving/restoring also for all LPSS SPI, I2C and UART controllers on Lynxpoint and compatible chipset to make sure context is not lost in case nothing else preserves it like firmware or if LPSS is always on. Fixes: b53548f9d9e4 ("spi: pxa2xx: Remove LPSS private register restoring during resume") Reported-by: Curtis Malainey Tested-by: Curtis Malainey Cc: 5.0+ # 5.0+ Signed-off-by: Jarkko Nikula Reviewed-by: Andy Shevchenko Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman --- drivers/acpi/acpi_lpss.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) --- a/drivers/acpi/acpi_lpss.c +++ b/drivers/acpi/acpi_lpss.c @@ -219,12 +219,13 @@ static void bsw_pwm_setup(struct lpss_pr } static const struct lpss_device_desc lpt_dev_desc = { - .flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_CLK_DIVIDER | LPSS_LTR, + .flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_CLK_DIVIDER | LPSS_LTR + | LPSS_SAVE_CTX, .prv_offset = 0x800, }; static const struct lpss_device_desc lpt_i2c_dev_desc = { - .flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_LTR, + .flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_LTR | LPSS_SAVE_CTX, .prv_offset = 0x800, }; @@ -236,7 +237,8 @@ static struct property_entry uart_proper }; static const struct lpss_device_desc lpt_uart_dev_desc = { - .flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_CLK_DIVIDER | LPSS_LTR, + .flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_CLK_DIVIDER | LPSS_LTR + | LPSS_SAVE_CTX, .clk_con_id = "baudclk", .prv_offset = 0x800, .setup = lpss_uart_setup,