From patchwork Thu Aug 30 19:04:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 964108 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-tegra-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="DiUhoAcq"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 421X4S49H5z9s1x for ; Fri, 31 Aug 2018 05:05:12 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727339AbeH3XIr (ORCPT ); Thu, 30 Aug 2018 19:08:47 -0400 Received: from mail-lj1-f196.google.com ([209.85.208.196]:42322 "EHLO mail-lj1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726122AbeH3XIq (ORCPT ); Thu, 30 Aug 2018 19:08:46 -0400 Received: by mail-lj1-f196.google.com with SMTP id f1-v6so8164907ljc.9; Thu, 30 Aug 2018 12:05:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=OtYGMvIeMhIf4XN6ecDXRafl9QlB7yiIQ7VHzAiBRGQ=; b=DiUhoAcqXzbg2eq6edaBKlgkjVckATD6giqybsejwuHm3o0Idgp6H4Jp2+VAS5B/n8 zm7PNbiUoloUtx2GDBfm4xvB6w7Llkvi40Gag9zvGkFgDE7JJ/ZyxUhSLZiKwEAHQOMi 9Z8wOX+jqYHL4zkneUJOCR8Fo0SNDNn8LsGvDA/aJ5+D/rhX4x/U9RRHKX6BMPihrsCu ZPFVW7q2Ut5oegm/sHqJb9NwBSu6XlQfQjuFZAWwJGSmLwcNuY83z2D48C8MAXzHISUW pyMu2ycbqMaxbyBTphK4JUAgkbRS77xAqL4Cv0VLzDmqCaK17uV1OX2N2BNWVU3zjqv5 BQBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=OtYGMvIeMhIf4XN6ecDXRafl9QlB7yiIQ7VHzAiBRGQ=; b=n1ULE5ONuJQGXARUvhnNYp9bSmeyJcXr5wAbBW8KsbDjrcWHl6N1DUfWqj24+cxXeG Q8jkr1YgJ58C9TLSGqRO2s4qoYIJMA0ExhGKW/L4nFUfOc93tD9k7wYmXigMLTwiVr/Y AjxFJA1kTV8B2C7JnGyPVz7jF5eQWbXzP9sYTY2Fs6kj4nGPUQay5mLj5yKXrd7DQ6lG t36qjg7RyjFQgGNT14E8VBR+x7Qxv45qBYWhE+WCMSk5iVLWrnN9b402JZGrpVu5KIdf 0FCEfy8Y3I+oym5c6gr2+9ThGNA+HPzzVVn762cPMElpSlBiITqcOTgSuaCkihJtDDII CmLQ== X-Gm-Message-State: APzg51CuN6dk2ev4DjgBWSR0oM18r92VMNPYa7IJH7+elOoDE8nCWsO6 7mlqXH8kYEKkYKefxsE9C9o= X-Google-Smtp-Source: ANB0VdZf0ExcVcXpGzkqMLO6NmzLlKyhDJO1zFSUC0Yoid2iC/rMM+DtYXKUYqq2p7Glkt2v22IvWw== X-Received: by 2002:a2e:85d5:: with SMTP id h21-v6mr7986772ljj.103.1535655908193; Thu, 30 Aug 2018 12:05:08 -0700 (PDT) Received: from localhost.localdomain (109-252-90-13.nat.spd-mgts.ru. [109.252.90.13]) by smtp.gmail.com with ESMTPSA id q128-v6sm1373081ljq.72.2018.08.30.12.05.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Aug 2018 12:05:07 -0700 (PDT) From: Dmitry Osipenko To: Thierry Reding , Jonathan Hunter , Peter De Schrijver Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 1/2] ARM: tegra: Switch CPU to PLLP before powergating on Tegra30 Date: Thu, 30 Aug 2018 22:04:53 +0300 Message-Id: <20180830190454.8729-2-digetx@gmail.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180830190454.8729-1-digetx@gmail.com> References: <20180830190454.8729-1-digetx@gmail.com> Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org PLLX is getting turned by the HW logic when CPU enters powergated state and there is no enough time for PLLX to re-lock on exiting the low-power state, this causes memory errors coming from misbehaving CPU and eventual hanging of the system. Signed-off-by: Dmitry Osipenko --- arch/arm/mach-tegra/sleep-tegra30.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-tegra/sleep-tegra30.S b/arch/arm/mach-tegra/sleep-tegra30.S index dd4a67dabd91..d572d4b860be 100644 --- a/arch/arm/mach-tegra/sleep-tegra30.S +++ b/arch/arm/mach-tegra/sleep-tegra30.S @@ -298,8 +298,8 @@ ENDPROC(tegra30_sleep_cpu_secondary_finish) * Switches the CPU to enter sleep. */ ENTRY(tegra30_tear_down_cpu) + bl tegra_switch_cpu_to_pllp mov32 r6, TEGRA_FLOW_CTRL_BASE - b tegra30_enter_sleep ENDPROC(tegra30_tear_down_cpu) From patchwork Thu Aug 30 19:04:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 964109 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-tegra-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="kjPjbRRs"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 421X4T1rdLz9s3C for ; Fri, 31 Aug 2018 05:05:13 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726122AbeH3XIs (ORCPT ); Thu, 30 Aug 2018 19:08:48 -0400 Received: from mail-lj1-f195.google.com ([209.85.208.195]:33650 "EHLO mail-lj1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727203AbeH3XIr (ORCPT ); Thu, 30 Aug 2018 19:08:47 -0400 Received: by mail-lj1-f195.google.com with SMTP id s12-v6so8170804ljj.0; Thu, 30 Aug 2018 12:05:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=PWwixFchd3j2epg14Ed630kPPS9AkG7eDnqhnfVkDdI=; b=kjPjbRRsUfwwZAXadnR8F0SUru0EYc9Jqr3I42KRwSfM4Zbp88noOm65IjZ12gn2aR Jy+psyBBeUaXVIUL4pdt0EkkdYBL2UQHhd9Yy7Fu0IKn+1t16SM/Nt6zNFquykl7IGFF BAea5mJChg2fXmz609bMSWI86aHfs7rU7G3MKNDnRfQM11wKj2xla9GrKZC+zOC0KB15 vNx6mIvr/nMgZj9MAP93lb845QVZlAekYgHDDW90dqz9Cgy1yiawJuMrbSJmNSNtXbWj eJzg+/oWKbnloPG8LcED+TarqhtMsKMyUHwD5D98RVuBFydseBpGSg/p+kWS0ylMjlX4 tSuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=PWwixFchd3j2epg14Ed630kPPS9AkG7eDnqhnfVkDdI=; b=CVfufpI6efj70mq6H4k9K5/hVinnpRGjUZASrXh6NhSb3Lopdz06JYnvzHDGw0B52Q bi0RW6bvodKlChUQtMrpnRYS2NkxxvhbA7tB77gi4wt8JdU+wDQlnljt3XfOvK0lAmWE l3biGAncI3n4Nzo5dndINQGetM5wYloSUUBXx1AzAPSAMChxv/WsmB+zaWuvPwHeMXCg q+WhUdePy5JE1oTaOpMSX9c7lYqlf/4YMpXfoLAgY3d1Hnwmt1QH40GV07m07kigmier 8Xivmzy5OWJHEbTz88rosfMMAHDqsB1zXqe0rk9xilUhLZqXsSbR/uMRmlaEYSIzdJ8o pdoQ== X-Gm-Message-State: APzg51CPAf72eaANhRt9ZmTjIia9V6OqGzzPNX7D5iQ+eS/q1Q46HdJJ U6rEz8hX/bGReCdduyHVQRU= X-Google-Smtp-Source: ANB0VdaittQbZgZIwa+ipv5nVXWSDOAw+n5A462e3H9CahV7nqxOM7QSf4VfNlrrztIRWvIqDTkEEA== X-Received: by 2002:a2e:720e:: with SMTP id n14-v6mr8489374ljc.93.1535655909081; Thu, 30 Aug 2018 12:05:09 -0700 (PDT) Received: from localhost.localdomain (109-252-90-13.nat.spd-mgts.ru. [109.252.90.13]) by smtp.gmail.com with ESMTPSA id q128-v6sm1373081ljq.72.2018.08.30.12.05.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Aug 2018 12:05:08 -0700 (PDT) From: Dmitry Osipenko To: Thierry Reding , Jonathan Hunter , Peter De Schrijver Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 2/2] ARM: tegra: Switch CPU to PLLP on resume from LP1 on Tegra30 Date: Thu, 30 Aug 2018 22:04:54 +0300 Message-Id: <20180830190454.8729-3-digetx@gmail.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180830190454.8729-1-digetx@gmail.com> References: <20180830190454.8729-1-digetx@gmail.com> Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org The early-resume code shall not switch CPU to PLLX because PLLX configuration could be unstable or PLLX could be even disabled if CPU entered suspend on PLLP, it the case if CPUFREQ driver is active. The actual PLLX configuration and burst policy shall be restored by the clock driver. Signed-off-by: Dmitry Osipenko --- arch/arm/mach-tegra/sleep-tegra30.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-tegra/sleep-tegra30.S b/arch/arm/mach-tegra/sleep-tegra30.S index d572d4b860be..127fc78365fe 100644 --- a/arch/arm/mach-tegra/sleep-tegra30.S +++ b/arch/arm/mach-tegra/sleep-tegra30.S @@ -396,8 +396,8 @@ _pll_m_c_x_done: str r4, [r0, #CLK_RESET_SCLK_BURST] cmp r10, #TEGRA30 - movweq r4, #:lower16:((1 << 28) | (0x8)) @ burst policy is PLLX - movteq r4, #:upper16:((1 << 28) | (0x8)) + movweq r4, #:lower16:((1 << 28) | (0x4)) @ burst policy is PLLP + movteq r4, #:upper16:((1 << 28) | (0x4)) movwne r4, #:lower16:((1 << 28) | (0xe)) movtne r4, #:upper16:((1 << 28) | (0xe)) str r4, [r0, #CLK_RESET_CCLK_BURST]