From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757220AbbE2U7r (ORCPT ); Fri, 29 May 2015 16:59:47 -0400 Received: from mail-bn1on0097.outbound.protection.outlook.com ([157.56.110.97]:25328 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756540AbbE2U7j (ORCPT ); Fri, 29 May 2015 16:59:39 -0400 Authentication-Results: spf=fail (sender IP is 66.35.236.236) smtp.mailfrom=opensource.altera.com; kernel.org; dkim=none (message not signed) header.d=none; Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=atull@opensource.altera.com; Date: Fri, 29 May 2015 15:55:47 -0500 From: atull X-X-Sender: atull@linuxheads99 To: Dinh Nguyen CC: Rob Herring , Pavel Machek , "Arnd Bergmann" , Steffen Trumtrar , Pawel Moll , Mark Rutland , "Ian Campbell" , Kumar Gala , , , Russell King , , "Delicious Quinoq" Subject: Re: [PATCHv5 1/2] ARM: socfpga: support suspend to ram In-Reply-To: <5567D9C4.7090903@opensource.altera.com> Message-ID: References: <1432847977-18880-1-git-send-email-atull@opensource.altera.com> <1432847977-18880-2-git-send-email-atull@opensource.altera.com> <5567D9C4.7090903@opensource.altera.com> User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-Originating-IP: [64.129.157.38] X-ClientProxiedBy: SN1PR15CA0032.namprd15.prod.outlook.com (25.163.200.42) To BN3PR03MB1511.namprd03.prod.outlook.com (25.163.35.15) X-Microsoft-Exchange-Diagnostics-untrusted: 1;BN3PR03MB1511;2:GsnlxaOsZqrAM4edY2ZYAiByzX8bSA4Uke2sweweJm8V2P0V0bq7kvSnzOZugeN1;2:bXRTuw7WfkXg0b06f5nfKY8wzhTTrVfG0U0oTiC+l5+vBlRtg0fXlyMUYELZYkiRjaAwGa77CwtPFnrA+XPxLuvSUYfOPIeUSqJowYv0/ZkQsENZ6IaeKsBDMy2YXiIqVnk3421Qi/RWKhmYOHdqfg==;6:PNl2oAPf2IOfZf1h6RJxzMm6XvmF3TgK6vNJx6zCjsrh8RqVZ2IZij8504ZUiz8c1QKynUiZio1GxxNxDGY9SHzZbFrQ0HUXujOz3RLBkvVAu4sEMrjKatPndoDPDZ0FtUvBSyvlPNVnWxfJveSGZg==;3:1emF+v6NnRlqaOY0giTAda8FQdUxIeibLqn/eUEWFYAwKA+41JbBu4lgz1XKa13sXbXhpwL+KMzm1MEk4b+miBsUZqIUICatyywFcB05i4xWZoAphnPyxpSGWtKT6InLFsAMD0z0IWt9g1WROdrd/Z57rjdZdJL5XGwiaaMU2ogd53YBbH41rgRown1Hi79MYRDEfS99w+e9by+XWZSuwm1e7PT0uNMm2rhkrCAR4XkdnrhaUaKmZKOd/b7WQTiXdt22uDrDp1P8vrCDmuKeWVOCx5vr3zHEdwAcdz3EOpBxyb/SDUykisWhq9p94Iao X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR03MB1511;UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BL2PR03MB115; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:;UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(520003)(5005006)(3002001);SRVR:BN3PR03MB1511;BCL:0;PCL:0;RULEID:;SRVR:BN3PR03MB1511;BCL:0;PCL:0;RULEID:(601004)(5005006)(520003)(3002001);SRVR:BL2PR03MB115;BCL:0;PCL:0;RULEID:;SRVR:BL2PR03MB115; X-Forefront-PRVS: 059185FE08 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(6009001)(479174004)(24454002)(199003)(51704005)(189002)(377454003)(81156007)(106356001)(19580395003)(76176999)(83506001)(92566002)(4001540100001)(5001860100001)(47776003)(19580405001)(77096005)(5001960100002)(23726002)(110136002)(5001830100001)(4001350100001)(54356999)(77156002)(50986999)(64706001)(122386002)(105586002)(62966003)(53416004)(87976001)(86152002)(97736004)(189998001)(40100003)(46102003)(42186005)(69596002)(68736005)(46406003)(50466002)(33716001)(101416001)(66066001)(86362001)(2950100001)(4001450100001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN3PR03MB1511;H:linuxheads99.altera.com;FPR:;SPF:None;PTR:InfoNoRecords;A:0;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics-untrusted: =?us-ascii?Q?1;BN3PR03MB1511;9:5GORg85wjlyjLOJLPULu/PHn1wXrRExYAkEhNM1b2Y?= =?us-ascii?Q?vF6cjRuF5W4XABc0Z2NPvEKyAbuQoHMTQ+tF/4CRLPa/e0mO1kZ2+3tJFtZr?= =?us-ascii?Q?zPPxnrUZNN/oIA72ESoufPDovbYshClteMcGm6i0T0dICOvim45R74GwqrIT?= =?us-ascii?Q?lZ8dEyRkCtWXHm3gzEqwsoKlMUE/Ud0REfp/v/7zLg0IMWiOenJNk2iE1J1/?= =?us-ascii?Q?R4TEfZo8/rfo+cjFZ8RWBcfjn5eqPl2ZrqIIhR3HPC+oN1T7kgHoxGg1DGWn?= =?us-ascii?Q?2x8ECKE65YzsK/HXcO58TfUByMSWtRstadVUUOUQckhIn/olDyejWOfs8Zf8?= =?us-ascii?Q?fWdQ+hmsif6TlJEWokY2urzDyGE8l0Twvn2nf8qztPP+SNYiacbGJrnOXwLJ?= =?us-ascii?Q?p681ivxJuORF5Z1gMD1WGe7SwwSjrgBSP8bPPw0R6Ow2nei3AEivlCYzi4kJ?= =?us-ascii?Q?oNZXZkaY3rBnadOjs5pV2l/+XXQKxVGzU9sO44yy052rQdXQPmxCHIMRjd03?= =?us-ascii?Q?dYIw8mZZFFg5VV9+hN/jG1ny322RbBuNDwIm75BPIuOxTpcb+lc3yns7RrxP?= =?us-ascii?Q?J3bC5/4FuB0EAxSH9dBiRUPL0lGQcr5YlIv4ERvh91WPv8qeOiYt+iiwxGnZ?= =?us-ascii?Q?6YPuNdAumV1QD0u6mGtwUAXEN9UEmtkYP1X7jUY37goo5g+32GFzpknp9P0E?= =?us-ascii?Q?PLlUWs2VW53E17pUpTIjxwB/cv8Wgq4jHBlcLj44exypCz33zalcqbU/XwNf?= =?us-ascii?Q?Hyirq3gItoklLg0oBuffq83vSzrjwMk3bzlzFtQboHPMJzqKlIum1wwE4smo?= =?us-ascii?Q?/SMqhMYv8i+N4GSqAU+EL9oSNYeBqAICJDDBrtIPB7udjCWWRObQk5laThaQ?= =?us-ascii?Q?ThsQ0qx4WMc8IJlikHv19ToN+g4JWLmoL7JOFrr9ijqHGOcBjNqx60xEhTWD?= =?us-ascii?Q?0gzTC3nXop3JmAvrjKkyrpRSAPBACwwQ3OaRKMwp1ZI5NgFrR9OFZ3LX/sJX?= =?us-ascii?Q?F/qzXUqAmKh/r8+vjtX+IDrbZLGRoULL3veEyZhsD9DCthWGmIGl5pUeXfLk?= =?us-ascii?Q?RlAsPCoPyXvgK1foHgMxpxmrsuDcF/VePIN31E//2GjaMFBEogy/TTHqvEmx?= =?us-ascii?Q?fFetfZrQy9c/r+Yt9DOe3olgXfVdmxyZKgMjnVS39cCTsipT80LXwY6NaO4q?= =?us-ascii?Q?6vrV8IfI/cKArMygcRwIH2aUrjYG8hSGvaQEr7inlsm/h/VvsevmQQr2QTG6?= =?us-ascii?Q?t1PR78BlO+HcA1vFTurUUbfwoS90PFrU7NoFB5?= X-Microsoft-Exchange-Diagnostics-untrusted: 1;BN3PR03MB1511;3:wOnKVBrU/sO+f6o0+8FvZKr53rNiGeBhQs6iGwe/PRDomQknZLvtkt/LsmPh7vNULC4XzR5EL0d/MsTLARHT5NjZJxUXlmS9so7Bo3KTYOdQkbddxgb57dPg9BrqsLULADv0l5ufc+kMgjWikOhxdA==;10:L6lzcVYbuwJWw3h1VRIPOrXec5cibWQRp2frpRNN5FvURLHvVQwRz9bUgsp8CJAF7DD7jWxzQEGeoEvWIrAegyko3ufjE3WGzHYOlEnH0cE=;6:UCrDOpNHiVyz/gp0aTT/iT5XgV4h/GTxV7JBw0OdF01QrTY2r/fnVJQbdfbzMbFolqHpavkiZhOvZig6pGweZhXNuf1wsCjOsB99FFvLbU7+1nHWbKo3WyHjMklO49jzeenDKUJsurevyBmQbmoZpQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB1511 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: BN1AFFO11FD005.protection.gbl X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD005;1:5QL2Bduoio50YOLQE68/PnaHnK1+OumRH9eZvogh+SIgEh56bbBOMxCPE3w5nN/TVo8n7pbvKWrxrDkk6TrPDXNb0K+qHu3Z2D+kVOAE/JEtRT2NGLMkv2XcxAzsjc9Cbkx2OveUrwuH7pnTTKryuKvnWlo5l99ph+NA1zJoKs+kUPzCmhxwOJTAu70j1V4sANg/DZR9QH7gA8NvA55lT7bUyYIvkE4/45CagbJIUwFRvgIA0S7yiwIGXsXTPsH7sIxOoVSlq97zwKu0up1IlFXSkSlP4jdCei6WthOVurL1McHheGOTKM6ECnMJf2Kz X-Forefront-Antispam-Report: CIP:66.35.236.236;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(339900001)(377454003)(24454002)(199003)(189002)(51704005)(479174004)(87936001)(189998001)(5001960100002)(110136002)(86152002)(92566002)(6070500001)(4001350100001)(4001540100001)(16796002)(68736005)(97736004)(86362001)(77096005)(2950100001)(23726002)(6806004)(19580395003)(83506001)(122386002)(62966003)(77156002)(64706001)(40100003)(47776003)(66066001)(19580405001)(85426001)(105606002)(53416004)(50986999)(46102003)(5001830100001)(46406003)(81156007)(33716001)(5001860100001)(76176999)(106466001)(54356999)(50466002)(7099028)(4001450100001);DIR:OUT;SFP:1101;SCL:1;SRVR:BL2PR03MB115;H:sj-itexedge04.altera.priv.altera.com;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:0;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB115;2:+IUV2jfgBbDdXkW6GrAcuIzEXR822lrAb4PPCvFRESbslGLeR+3LUJJ1hkXg0OAH;2:vTyTK4Jk+e94wiC+WbRL7BwheOvs0wcLbxe0E/ukD6zIv3G0tndVzUbiV4L+7u3CjK6Af1xLoe9oDXs905HgrWJFLSFD1vXnBIOvTgMqpaINCWynifief74U2Jyy9saebfRfDf2LnCxObepcD39kXwpYX6p9BvZZTtmBROaVleo/+eortjOj9Kij9lQign5XtSLginn7bht2b/EMdwTRhciwBk5gUVyYyjSCY0LLU70=;6:8S0GHxaWWuYpCK/697u70EFM0M+2vSnldic5PoN4LpDqJ/Yp11o1UngbLtRAWBh0iVjtXsXHE3ezc+WPx87YD6Lqb5brtoeRZ7fYkhy6ijpLszg7KYiA65CFKbxE63wRQsukCSbp6hB/z809nRyyDg==;3:JCvPg+arH4OoK4Lqd5QHKpOdnZHrnC59RjiR62txXRgS8YcXEWrNOL+QeDwtbs7LS83qcwESKw3Gyz4Q7QRaG3fasBysLblbzsaP7nzrE78SYK2Nd47esZU0Y4jRlXNFkFAvk7LlveK2fny6b4VlDROEz17VDmqM+42XkX6MVtTDXY5Q0SlVVnZngbYS9NGhaA9dcEY9yQvPPupNEUcGHiPY5qLcYxk7RYMucgZN2fmtUnWu0fxAioWVflLsTDOuvP/nTfjyiJlC3KQCNp2VFQ2forYlH/m2EbRrz9KA+38jDbcMSCeiKJYdl6iO9VGB X-Forefront-PRVS: 059185FE08 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BL2PR03MB115;9:zTX5X0PXBva7/NtWHETGlTuo0KCPH1+D9v6Qjx/pLsC?= =?us-ascii?Q?3zT3ZsbnI+VCKhE0ziP8z/RaRbW8znQxnHGBFkLCeoE0OPMH4XeUTxXtB2t4?= =?us-ascii?Q?OXqJHKuEUIio5NEfhoeh+wQOJ/dhWKwH7EN2nhJbsv9K5WvXWJ1oniSBHxYB?= =?us-ascii?Q?Cc21sMfH/6Vx4GMjZRiX5gLwr6kMCDto1B0TErkCUU43igJspB+CzHxRiPcQ?= =?us-ascii?Q?dMdV3Q0ZjzazDsbsLm+hJw//HR6TBuYA9C4udjD3wXG0VD+uS4DysZIYfOf+?= =?us-ascii?Q?d8E2W5IkajsIx2qEtjx0xwvhhReyUHNQ6zmICJ1sGVMASvKZQIvlgFufRObQ?= =?us-ascii?Q?NhpwniJhtb9CwpBy21dTxOAVRvcaJfHC7jnjQ7xXTwrbIknNc1O9qcabDm3d?= =?us-ascii?Q?UNR/PQSLLMY7Xaz7+Nu8CtPV4LtH7gnx33V0tkXcbeLxDDAFv9cPIh3XiI/p?= =?us-ascii?Q?XdBOl6YUMwu2xZbR9JyPaep3AA8E2ERUL86NUCKgbgXlRd5ErS6GujEuKPRj?= =?us-ascii?Q?nffS7DnFPbV9s7ShZfPVRANLYb8cv+vxvOHSAC0omUTKA9S4JnoNel8T2MFu?= =?us-ascii?Q?hSaC1fc2X423tmpxL1mO4E//jAF71MNgR6afn9igRNUqeR+gS1Wo2S7C9uSJ?= =?us-ascii?Q?nSqQFVijPoGBe0kX07voKjUCOKyeGyyeK5g6p2+HyIX/D+rt8UszooEZT7/t?= =?us-ascii?Q?t0kvcjYbDKUC3y+gyTUr7mT+GNfYPKAVNvknZmvb5MG64Iz3NcCfyJNa0JdP?= =?us-ascii?Q?ZlkbIgf96AlAcFtUUM5ha8VUC0rqvCWfQ/KbloLeSSeZbVP7Fps/Shx1vfgC?= =?us-ascii?Q?XR6NOWQvej+8E6RJfLVItIhyAI8Nb8XXHRzSDxlgnE6Wjjh3/37/p01NZhGc?= =?us-ascii?Q?peyXZV4JFInwpb/lzOXYMWAz+TUtRFRyJCe1ZXQvD5aHjNK2NwQOUKexxPO2?= =?us-ascii?Q?zgLLBOybozIkPqE42oaLk33sUWO+aumucpgU6mJdLubYI0YfrlLv3XQ5RAvx?= =?us-ascii?Q?m8d0OkSrbKVHTg7F64w5/BnPreCaMCzwzx6jj9BLaJHfpMNHxuHX3jmWXKvx?= =?us-ascii?Q?KKSGmBUVmY+wjoCki1qe5qZ/MNUuTVVn1cKR7NbxUT2Ous2otya05eI014Rl?= =?us-ascii?Q?htg88+JucdGIA7HYejM9H3UNAzXoCf0ay/Xt8xQQyNJ751PtoLiNjNU0KYXx?= =?us-ascii?Q?mMFI7BQRmWpLhwtuaJkBrXEkjZOV+TJ7gClkUL6FADmlhB/Xe9qySpueXBVC?= =?us-ascii?Q?PNwfdUJw61+uoXnecNpiKVh8oASLWILswNs6VrAexaYAE/9Pzv3//ZbR8WH1?= =?us-ascii?Q?bNr40ygYU+CM5HqH7mfbFi2oBQn1LaO8UsYvgDxC3?= X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB115;3:CZfFoC0eKeu8jSg/R0j2/Cq+OLSm4UyS5GZOxg2HE/4Wr34e86/MTZ97zMjbys/5Gcz3Y+1MPFdL7urgpV34gxlelHcKKXxTL2uW9MSFFHeQOuQqeXCOnRN+Qn7LvkNVV6GtvEaRB/IKel66bkA+vA==;10:5dC1pkMnCxah8jNEMGaGJw1/iQxyzeCyhBh4i+DZrVpfCDIiFPi4VwRczvdBg6XeFRwFePquE/wjFZpRRxpjdun7ylY32NHbbo3VRqrms1g=;6:rl61GVqHGF7SvfulsPq2io+q6K9j7hHVbnR1UMR069Uc8y2Hj2nNC1vGITn4BZidIniwPF7eIKV3exyVnCfL0xrdQErBD6tFjyoSogt2f9YsbZVkNtAlk1pw5PFoLG99zZU5Ks/Jk8nfre5A5eUTSw== X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 May 2015 20:59:35.6555 (UTC) X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fbd72e03-d4a5-4110-adce-614d51f2077a;Ip=[66.35.236.236];Helo=[sj-itexedge04.altera.priv.altera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2PR03MB115 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 29 May 2015, Dinh Nguyen wrote: > > > On 5/28/15 4:19 PM, Alan Tull wrote: > > Add code that requests that the sdr controller go into > > self-refresh mode. This code is run from ocram. > > > > Suspend-to-RAM and EDAC support are mutually exclusive on > > SOCFPGA. If the EDAC is enabled, it will prevent the > > platform from going into suspend. > > > > Example of how to request to suspend to ram: > > $ echo enabled > \ > > /sys/devices/soc/ffc02000.serial0/tty/ttyS0/power/wakeup > > > > $ echo -n mem > /sys/power/state > > > > Signed-off-by: Alan Tull > > Cc: Pavel Machek > > Cc: Arnd Bergmann > > Cc: Dinh Nguyen > > Cc: Steffen Trumtrar > > --- > > v2: use Generic on-chip SRAM driver to allocate ocram > > rm fncpy_align since generic allocator handles alignment > > check __arm_ioremap_exec return code > > check for NULL pointers > > add a comment regarding sdram controller configuration > > v3: fix renamed #define > > propagate socfpga_setup_ocram_self_refresh error code > > v4: Kconfig: don't need to select GENERIC_ALLOCATER > > add CONFIG_SOCFPGA_SUSPEND > > make s2r and EDAC support mutually exclusive > > socfpga.c: add sdr_ctl_base_addr > > return error if ocram not available in device tree > > update copyright years > > v5: remove compile time dependency > > edac driver will prevent suspend > > don't configure scu standby mode; done in enable_scu(). > > fix comments about required sdram controller configuration > > --- > > arch/arm/mach-socfpga/Kconfig | 10 ++- > > arch/arm/mach-socfpga/Makefile | 1 + > > arch/arm/mach-socfpga/core.h | 6 +- > > arch/arm/mach-socfpga/pm.c | 149 ++++++++++++++++++++++++++++++++++ > > arch/arm/mach-socfpga/self-refresh.S | 136 +++++++++++++++++++++++++++++++ > > arch/arm/mach-socfpga/socfpga.c | 6 +- > > drivers/edac/altera_edac.c | 20 +++++ > > 7 files changed, 325 insertions(+), 3 deletions(-) > > create mode 100644 arch/arm/mach-socfpga/pm.c > > create mode 100644 arch/arm/mach-socfpga/self-refresh.S > > > > Which branch are you basing this patch on? I got a trivial patch > conflict in Kconfig when I applied to arm-soc/for-next and v4.1-rc5. > > Also, I'm getting these sparse warnings: > > arch/arm/mach-socfpga/pm.c:86:25: warning: incorrect type in argument 1 > (different address spaces) > arch/arm/mach-socfpga/pm.c:86:25: expected void * > arch/arm/mach-socfpga/pm.c:86:25: got void [noderef] > *[assigned] suspend_ocram_base > arch/arm/mach-socfpga/pm.c:108:52: warning: cast removes address space > of expression > > Dinh > The problem is that fncpy wants parameter 1 to be void* and __arm_ioremap_exec wants 'void __ioram *'. I get other warnings if I declare 'void *suspend_ocram_base' or cast it as (void *) for fncpy(). It looks like we are stuck with this warning. However sparse kindly pointed out that I needed to fix a declaration in altera_edac.c: -const struct dev_pm_ops altr_sdram_pm_ops = { +static const struct dev_pm_ops altr_sdram_pm_ops = { I'll fix that in the next rev. Alan