Received: by 10.223.164.202 with SMTP id h10csp600566wrb; Tue, 14 Nov 2017 06:44:36 -0800 (PST) X-Google-Smtp-Source: AGs4zMb1CvrvzwrUxZOZZYVUZWmqjyd3oXQQsYXyMt/te5VL2xDnOoSFJsKKaaP5wVCwzQWmutqV X-Received: by 10.84.143.162 with SMTP id 31mr12498234plz.254.1510670676869; Tue, 14 Nov 2017 06:44:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510670676; cv=none; d=google.com; s=arc-20160816; b=Hr/jCGJ1v6RJnyKcZ8eEdUTgSxZKmIFluGGbl2Hx8UmCv05+KeQ1bJnwzLKbbGTmEU CiJwHZH28Vsu1B3T0URRekTlfRp1qAyX5zo08LA2h2rzqzcLfNoFeakX1VsgJ7XQlfki InjP/0FJYs/s39MParJQaCLGI6j7AZ6XOqJbPWFhphyRnDgmTStUGSp6uSSngktFT3cZ d0kV9WqK0HlYGJ/jOcxbi7tRsMg4k+JwRa3oBTDduab00swKiZISxCEOhtAI1L+ZZbfy NqKbwfAXJ8ONLtvqgK+Bq+JYIySo7bDJlvJS26gQ8MPY++rQKCkeuiJv+gREkv0fiq1S MC+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from:arc-authentication-results; bh=2XusMhzJiGlErwYBOgifriOK52Fsp7Z5Cijexde7Po8=; b=EIi7Gho6ONyXaeiyEmnRI3UIc1lTuyImr3dvfEpso+8NkLA1QEM/wTRUeuaMyVqtEd YNv0vS0LGGW+s15HdmcFO3xFGRGnkeBx1a+cLpiOki2gpop/czhS7H4HuIo5hBHqfg80 SgbGVmUhXHw0x80N7kOzJ5FYZsFrywpM0GmudgDfIEKBQt3rDL+d5GB3IIygR7HIgm86 mSeGuMlV2w7lpYZRg9YGiqCzJvMO40fkHP9VzSNM9RP+3e64Y/CzNvZoQaTEGEgQXYSD rCH7IIW7BmVOMudCbvpJYTIB+SUXqukCOsEiHJj8vpOhVb1pQkMRi5GTRY6AFlnejCof 14hw== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r12si7224095plj.70.2017.11.14.06.44.24; Tue, 14 Nov 2017 06:44:36 -0800 (PST) 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754355AbdKNOnm (ORCPT + 87 others); Tue, 14 Nov 2017 09:43:42 -0500 Received: from hqemgate14.nvidia.com ([216.228.121.143]:3822 "EHLO hqemgate14.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753177AbdKNOng (ORCPT ); Tue, 14 Nov 2017 09:43:36 -0500 Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by hqemgate14.nvidia.com id ; Tue, 14 Nov 2017 06:43:30 -0800 Received: from HQMAIL105.nvidia.com ([172.20.161.6]) by hqpgpgate102.nvidia.com (PGP Universal service); Tue, 14 Nov 2017 06:44:07 -0800 X-PGP-Universal: processed; by hqpgpgate102.nvidia.com on Tue, 14 Nov 2017 06:44:07 -0800 Received: from HQMAIL110.nvidia.com (172.18.146.15) by HQMAIL105.nvidia.com (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1293.2; Tue, 14 Nov 2017 14:43:35 +0000 Received: from HQMAIL108.nvidia.com (172.18.146.13) by hqmail110.nvidia.com (172.18.146.15) with Microsoft SMTP Server (TLS) id 15.0.1293.2; Tue, 14 Nov 2017 14:43:34 +0000 Received: from hqnvemgw02.nvidia.com (172.16.227.111) by HQMAIL108.nvidia.com (172.18.146.13) with Microsoft SMTP Server id 15.0.1293.2 via Frontend Transport; Tue, 14 Nov 2017 14:43:34 +0000 Received: from moonraker.nvidia.com (Not Verified[10.21.132.144]) by hqnvemgw02.nvidia.com with Trustwave SEG (v7,5,8,10121) id ; Tue, 14 Nov 2017 06:43:34 -0800 From: Jon Hunter To: Lee Jones CC: , , "Brian Norris" , Shawn Nematbakhsh , Benson Leung , Jon Hunter , Subject: [PATCH V2 1/2] mfd: cros ec: spi: Don't send first message too soon Date: Tue, 14 Nov 2017 14:43:27 +0000 Message-ID: <1510670608-19594-1-git-send-email-jonathanh@nvidia.com> X-Mailer: git-send-email 2.7.4 X-NVConfidentiality: public MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On the Tegra124 Nyan-Big chromebook the very first SPI message sent to the EC is failing. The Tegra SPI driver configures the SPI chip-selects to be active-high by default (and always has for many years). The EC SPI requires an active-low chip-select and so the Tegra chip-select is reconfigured to be active-low when the EC SPI driver calls spi_setup(). The problem is that if the first SPI message to the EC is sent too soon after reconfiguring the SPI chip-select, it fails. The EC SPI driver prevents back-to-back SPI messages being sent too soon by keeping track of the time the last transfer was sent via the variable 'last_transfer_ns'. To prevent the very first transfer being sent too soon, initialise the 'last_transfer_ns' variable after calling spi_setup() and before sending the first SPI message. Cc: Signed-off-by: Jon Hunter Reviewed-by: Brian Norris --- Changes since V1: - Added stable-tag and Brian's reviewed-by. Looks like this issue has been around for several Linux releases now and it just depends on timing if this issue is seen or not and so there is no specific commit this fixes. However, would be good to include for v4.15. drivers/mfd/cros_ec_spi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/mfd/cros_ec_spi.c b/drivers/mfd/cros_ec_spi.c index c9714072e224..a14196e95e9b 100644 --- a/drivers/mfd/cros_ec_spi.c +++ b/drivers/mfd/cros_ec_spi.c @@ -667,6 +667,7 @@ static int cros_ec_spi_probe(struct spi_device *spi) sizeof(struct ec_response_get_protocol_info); ec_dev->dout_size = sizeof(struct ec_host_request); + ec_spi->last_transfer_ns = ktime_get_ns(); err = cros_ec_register(ec_dev); if (err) { -- 2.7.4 From 1585231705083927708@xxx Mon Nov 27 14:59:22 +0000 2017 X-GM-THRID: 1584781837431730783 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread