Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp7357604imm; Tue, 24 Jul 2018 12:43:28 -0700 (PDT) X-Google-Smtp-Source: AAOMgpduOrgdGaZh9GfH7Kbi0KphM0rbXiVx5LCgA2Q4M/KbeVKQDV0WLrg+O06jdITj64Z7WvB2 X-Received: by 2002:a63:9802:: with SMTP id q2-v6mr17490150pgd.70.1532461408502; Tue, 24 Jul 2018 12:43:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532461408; cv=none; d=google.com; s=arc-20160816; b=HZu8wJM3Pciqd5DmWhTUC1FpDZ54FHo1S2s2As/YujjyX8EHbUAN0PSeEJfH0WxZ9z 6fgcXFTGk3QrxqyL2IT4stuEl9YQnIaMALOrrE9YHUSd/pGFgGfBO12yhCtEP2LboMRq RPwG4s7tAdHlD1MDZHth1/vpanWwJo5/DO4LNcZyGjpG20T/qjrUYmE5jQK6dcNsqZ4J FwxCgjjqdjtX5D5clz8zvAN3Ez42UeidUxFzYmknsEF/LUTTzjgb6Fp35pdswB5HG5ql bAOzZqjyqA4CzJQnlIIfIzHsZISB4jT4JPd7nJdbac3XCe6DwgF0Lm2JLerUydg9GHm6 3Ckg== 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=HLoASFOtpKimNUhvJQIklnjcmsdzzhCenPa448uNxgo=; b=r8ooJD20Zj7okOzTMYXvZumOp3tnT5pTOF8hhLp7dP8IrGhIzRPQ8qsgCpUAj2fBSi fqyNdJJ32enfV3oTiQRtuCgvU+np8Xdp2DwhYqeKx/Q2/7FPvYovZHvCb9CykSknNnkJ fePbT6jH+Y/0xhAyTLehNgv1b7rYCqkwQ8+QvM59SCJ31F5NhYMfc55QMAgwbgiXq9m8 DdGfJRK+rsYKnrOtuOI1bFnBYiJ1LoIueOyOe8ab2ecjMklTDwj2oFuTd/N4pEYJhARj VyKIjaDci/N7Bcl3W5ELYAvdFu9DbT+pECvc+xapRRNsf2jw5mi2DlqS507XX621yuXK +tNg== 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=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y126-v6si11596022pgb.23.2018.07.24.12.43.07; Tue, 24 Jul 2018 12:43:28 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388769AbeGXUts (ORCPT + 99 others); Tue, 24 Jul 2018 16:49:48 -0400 Received: from mail-ed1-f68.google.com ([209.85.208.68]:43015 "EHLO mail-ed1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388476AbeGXUts (ORCPT ); Tue, 24 Jul 2018 16:49:48 -0400 Received: by mail-ed1-f68.google.com with SMTP id b20-v6so5112665edt.10; Tue, 24 Jul 2018 12:41:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=HLoASFOtpKimNUhvJQIklnjcmsdzzhCenPa448uNxgo=; b=k2hRbv8e6eOejDXW+ONGoXHI+RZD95Zki1T+mKgyYJDZea7HN4I/Oim88cYYJxF3Dl lV2NnSdXWW+wnxTth6ZOZ7S2aOTyu61IucslUDVhwMvZfta/FKCF+Qh4cmkQau0gC5x0 MkXr0wm9m2E8A5QA3Vd5HHvb6QS/9+DZ39UsXs1o+9dvALVkEuKYalmW1KaN4r+H5Zrs XrNeQkXSilvzw+fvODQmI+Bvos0iJDMH9G9fIcSVgtb8X9yaTmYgHfWrZO+JLmdK5nVt 8b7vAVkOLv6fOm06n9t+Ir4DK2GZsnSouAiUaqF5GuwijtDiAFMEL1r8WqWRZ9tA4C+V uVdg== X-Gm-Message-State: AOUpUlGC/XQqQZPLhPDkpvnoq9ARUk/SzBRfeZn+Z3/8QL4nOo9anKp3 GmgUzJe+Atx/z+85wC8pJto= X-Received: by 2002:a50:b86f:: with SMTP id k44-v6mr19122924ede.310.1532461307224; Tue, 24 Jul 2018 12:41:47 -0700 (PDT) Received: from kozik-lap (xdsl-188-155-58-14.adslplus.ch. [188.155.58.14]) by smtp.googlemail.com with ESMTPSA id m20-v6sm6206285edc.96.2018.07.24.12.41.44 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 24 Jul 2018 12:41:46 -0700 (PDT) Date: Tue, 24 Jul 2018 21:41:42 +0200 From: Krzysztof Kozlowski To: Tomasz Figa , Sylwester Nawrocki , Linus Walleij , Rob Herring , Mark Rutland , Kukjin Kim , Russell King , Kyungmin Park , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: =?utf-8?B?UGF3ZcWC?= Chmiel , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Pankaj Dubey Subject: Re: [RFT v2 06/10] pinctrl: samsung: Write external wakeup interrupt mask Message-ID: <20180724194142.22nav7lfpouzd57o@kozik-lap> References: <20180723175302.22535-1-krzk@kernel.org> <20180723175302.22535-7-krzk@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20180723175302.22535-7-krzk@kernel.org> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jul 23, 2018 at 07:52:58PM +0200, Krzysztof Kozlowski wrote: > The pinctrl driver defines an IRQ chip which handles external wakeup > interrupts, therefore from logical point of view, it is the owner of > external interrupt mask. The register controlling the mask belongs to > Power Management Unit address space so it has to be accessed with PMU > syscon regmap handle. > > This mask should be written to hardware during system suspend. Till now > ARMv7 machine code was responsible for this which created a dependency > between pin controller driver and arch/arm/mach code. > > Try to rework this dependency so the pinctrl driver will write external > wakeup interrupt mask during late suspend. > > Impact on ARMv7 designs (S5Pv210 and Exynos) > ============================================ > This duplicates setting mask with existing machine code > arch/arm/mach-exynos/suspend.c and arch/arm/mach-s5pv210/pm.c but it is > not a problem - the wakeup mask register will be written twice. The > machine code will be cleaned up later. > > The difference between implementation here and ARMv7 machine code > (arch/arm/mach-*) is the time of writing the mask: > 1. The machine code is writing the mask quite late during system suspend > path, after offlining secondary CPUs and just before doing actual > suspend. > 2. The implementation in pinctrl driver uses late suspend ops, therefore it > will write the mask much earlier. Hopefully late enough, after all > drivers will enable or disable its interrupt wakeup > (enable_irq_wake() etc). > > Impact on ARMv8 designs (Exynos5433 and Exynos7) > ================================================ > The Suspend to RAM was not supported and external wakeup interrupt mask > was not written to HW. This change brings us one step closer to > supporting Suspend to RAM. > > Signed-off-by: Krzysztof Kozlowski > Cc: Tomasz Figa > Cc: Sylwester Nawrocki > Acked-by: Tomasz Figa > --- > drivers/pinctrl/samsung/pinctrl-exynos.c | 50 ++++++++++++++++++++++++++++- > drivers/pinctrl/samsung/pinctrl-samsung.h | 3 ++ > include/linux/soc/samsung/exynos-regs-pmu.h | 2 ++ > 3 files changed, 54 insertions(+), 1 deletion(-) Thanks, applied all previous, up to this one. Best regards, Krzysztof