From patchwork Fri Oct 30 06:24:59 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raghav Dogra X-Patchwork-Id: 538605 X-Patchwork-Delegate: scottwood@freescale.com Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 634E9140778 for ; Sat, 31 Oct 2015 16:27:24 +1100 (AEDT) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 495BD1A0E0D for ; Sat, 31 Oct 2015 16:27:24 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org X-Greylist: delayed 1125 seconds by postgrey-1.35 at bilbo; Fri, 30 Oct 2015 17:41:05 AEDT Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0109.outbound.protection.outlook.com [207.46.100.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id E65A71A0201 for ; Fri, 30 Oct 2015 17:41:05 +1100 (AEDT) Received: from BLUPR0301CA0036.namprd03.prod.outlook.com (10.162.113.174) by CY1PR0301MB0668.namprd03.prod.outlook.com (10.160.158.150) with Microsoft SMTP Server (TLS) id 15.1.312.18; Fri, 30 Oct 2015 06:25:09 +0000 Received: from BY2FFO11FD021.protection.gbl (2a01:111:f400:7c0c::189) by BLUPR0301CA0036.outlook.office365.com (2a01:111:e400:5259::46) with Microsoft SMTP Server (TLS) id 15.1.312.18 via Frontend Transport; Fri, 30 Oct 2015 06:25:08 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; freescale.mail.onmicrosoft.com; dmarc=none action=none header.from=freescale.com; Received-SPF: Fail (protection.outlook.com: domain of freescale.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BY2FFO11FD021.mail.protection.outlook.com (10.1.15.210) with Microsoft SMTP Server (TLS) id 15.1.318.9 via Frontend Transport; Fri, 30 Oct 2015 06:25:05 +0000 Received: from rdogra-VirtualBox.ap.freescale.net (rdogra-VirtualBox.ap.freescale.net [10.232.14.244]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id t9U6P1u6005015; Thu, 29 Oct 2015 23:25:03 -0700 From: Raghav Dogra To: Subject: [PATCH 1/2] mpc85xx/lbc: modify suspend/resume entry sequence Date: Fri, 30 Oct 2015 11:54:59 +0530 Message-ID: <1446186299-2921-1-git-send-email-raghav@freescale.com> X-Mailer: git-send-email 1.9.1 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD021; 1:QJ25mv7TycKV5ZAtiO4sm/hqlxhzzGymRWn4Tt8AhNkAUOxzZEhfn9JCMSEUyPx8OyDv8GbIPMe9Niv1AbyvwGsxHwHqIq3wve4tiwkIMHg91ojPQqCqZjqZv2ulexnVOJ715iIoa7/LwIDFYrm1n6EDoH3ubtcscRzynedtzqVL7aAqXEwgGLipNvMeP1KDERR+Y5fHZfSo9/keP0mPYERriwEP/BsfB4KKjhVmnuIPNK8+aFA5CSjSWRLMjez/4Qrw/KbXSLjijNcs/e9Qd8KLzMIbgSQ2fq9dw5Ku37mi1V8f2DP3Lt394hyGKsfrlP8ku7esoKCfSc/7D0385Bu5HA3sIsUyRb2rv7y/1uVt5HHxFFEbSFSIz3IiSwIOZ607y4BwPDI0Yy4vnuodDg== X-Forefront-Antispam-Report: CIP:192.88.168.50; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(86362001)(50226001)(47776003)(19580405001)(19580395003)(106466001)(4001430100002)(2351001)(229853001)(85426001)(105606002)(92566002)(97736004)(5001920100001)(36756003)(5008740100001)(104016004)(77096005)(6806005)(5007970100001)(81156007)(450100001)(87936001)(50986999)(48376002)(50466002)(189998001)(5003940100001)(110136002)(107886002)(5001960100002)(33646002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY1PR0301MB0668; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0668; 2:TgDkejSI5XARoyuvMfO++ZODQl6sH0sQ2y0lw5QvndlZLVq08+sHNWLHGxuwhwadmUO6GXM8/LU46+6ja9GfEBcKdFQ16/GhPRSmvEWvLOfT3wRln8dWpPGgfRUTuj5ti9ztpgY6jGsEQV110XkDxekW6Fn73d/zwGs///Dkc4w=; 3:goKUXgRDeQcS12e6QZok3wSMd1fCwiFYL4542kqvWXg5VisES/ErRUQdpS/My41pJwg2mAK2BMI4ugbPc8uMDdxT4rDVuSOO+RE3XF346Fs9iq8bjTzxMHVYbvMDBlcu+CntQftQ3RsgteE3vb6YQXstML8+CvoWs7CibmOTODTUwfbYwUp8tjr2Ms4dXsoykPHWLyk8F5bniWN35/URaAdnOpdQ/8+fstPnNr7YSCs=; 25:XuJpzkOlvMinAKjCs8eME51bSaeGFPaVBOrmvQRFO/3/e5NLICBFwdiRzBI4T3dloU3VKAhVjAPA274rUSIgx7krZOEs/psXB4DkNYTfYP4j0jyqzvlAsBPAkLyKvaY3f0gAGc6z4qX5GsJ5ROZu/XX/VO5mUtXN9fUzvr1DmFDzF0ML58RAJWL4RpnUyJbn5MWrnVEAtAQeWouwwA0fgYEbr2x7SuhEBfw2p9K3rasHYtryB2V1fTJC+RQA4vrsk8+i4gcCgxhLH3RCTIt0fA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB0668; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0668; 20:WCWeNpilQzM8zw7kjBBcu/OjoKNM9b68qrbcmTUyXVXMpqAxoyBUX9a6gy30cpFJjYBQs9KGP7bwds6M6Ym3rLHEP1hdk/SZtbJ/Mw2BLtFA27yNc7nu+eufgGEKPTNGcgmPGrdINPbtfTqxhLLGRKGQL8Mq1tkpmx7eePYJL1h+10aO5C7ujKKCQmMLcvw3JGuj08AJNu18KF+gN6cbBHxSeQP2xDc7XbYWoca13Pye/y05ZZtLXLDkFwCRRUN2u1Os+MxdaDAkwKcfal6WhxSUHFGAWnbikKFc5fJbjwavlwA5V8hKVm9CEa7I05yJnIoWep/dJdP/9EkQM1X+O44fFt9fZ6AxNR4q2zG+MDs=; 4:Wms5ye9dXM1+ijQctDKLfNLgs8bTKAbWNzGaBHwX8PTeuc+Zj/yvk9R3oYpIOnirmcMT0uJPW38ARCqao4pGMTufi8L4/I9WtfkaJYLtVHzqM37osThO9s/L7ZAklS3B6AcwVi4MccXYbKn8c1A8CLqcS7t2snGY6wf6kvWwnXEqg9u4UKOQlDaJuoVpFOnAYpiASykPsomPqc4dbpK9eXhUqYk8jbqDBRi/AL4R1JkjWv/mVTxDcBR8v/uEgjBn+X0yMTePzKlEkcZSa7VtNgicbJva2j25xe1JEAa9MDQXkuMCnKxL1fnTSZlE8r1CpCz3Dtost8F3UuvZtnBMBsiYN4TvcGY90v4A6cAz2f4FBSEPun1NxyvG0wrv8oMDKzsrDAd6ZW8P+80dZMFeDg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(3002001)(10201501046)(102215026); SRVR:CY1PR0301MB0668; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0301MB0668; X-Forefront-PRVS: 07459438AA X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB0668; 23:d5II38OvE5uofHPvm9NPqLeFOgF3N5VrDoAcbPU?= =?us-ascii?Q?Vg16ToS5vCPSEVyPUFJQX20CXeKH2GLrAOzR9+gYBDfrC3cjyTu2kq015yBq?= =?us-ascii?Q?MqQ4zP884iT8/sZGJh46ApkkMtbt1s/FFj41mef7R7bzkg5/AoR1lTLXxtnI?= =?us-ascii?Q?oqBPcL1r7uhY9658/aAqgYbbmrv9MWQZ5OdDfKoSDY/JnNQrhdQ5k/y1/8XE?= =?us-ascii?Q?iIIoGMK47WUnT55jhygZ0xkgwinZ5Wykdc1IeKSXtjkWSWNJ1+UdKb/fK/I7?= =?us-ascii?Q?RHP8z8j+S/5zFc+iH+ZVfW2nx7D2vHxaFN/J9GAF+PPvQlLBKnHgdCCwSbiq?= =?us-ascii?Q?NAHSgKj56Qjy1v77M0FLG6AzGRkxqshwT8V+Bmamj/xUf+DnAlmw9DWR/8Bj?= =?us-ascii?Q?uybReF9GE4WyUjNrcEgF3v8+ylk70GdfF2KlNWG/sEbdOwkeikbE6LpkGUlS?= =?us-ascii?Q?xB/3mY6d09T1njDHL/pYMZ0JdO3B+JzIeuv1pDzQ+XEpsplArvWWsWl9VZbw?= =?us-ascii?Q?iyXVtb6+S4uBDw1peJghd59HpsuMmGlQGtYvmQ66Uz0yZoapyTZZxs1qsDny?= =?us-ascii?Q?i3tu4JHRzPk3IIsXiAGRyoDzMJJQdZXOSrO8Iya3sVtqXvADO7FaXXxLLigt?= =?us-ascii?Q?6TqLQj9/W9mijTtZqEUcBHLpmyaxNrtewgkndNLIK/jQBOk31hbN6ruHyucA?= =?us-ascii?Q?099wl58csukyA1NmiO8WPr3JG2NAJIXCpnxogRdDgEIbUiB4lMiA8fuuQoqJ?= =?us-ascii?Q?uvK303J3M3MbD8RDXhx+Fn54EUuhXeHWazMaIrFXi3O7vQeXrXyuBn96kGJy?= =?us-ascii?Q?2WeO5LaLSAQEBXo/ngjTD9N0Mfdc+uiyoD2+MNkrg9+fDKGv00+e5kk+Xkb6?= =?us-ascii?Q?8X0O4nsliYRg95XttJaMiycza6hGKnOqogEXSdzk8hTZH/AcJ0IbZFQA/KaA?= =?us-ascii?Q?dcPgCcC2KplVvkfeyUtvxXoEqz9nRCWO4iuwUb0v1xyJdYCboXwThjgca6Zg?= =?us-ascii?Q?G/IG0PKd2u48eo2GZTNJXHjycoB2F8s31VLH44O/ZXj1L6Y6uFJY95STJWJq?= =?us-ascii?Q?pkUwD3yLooITvNwHHQZNbSs+ShS4N?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0668; 5:r26BaGcU2H0nEsvWLnIZVkVBVI5574k6ccisNlBw9y4e7m7C0NOe4S8kUkbh5b1F1PcF6fFFzpi2IISGivPMsGTPsZ3u6B4gGRTia0ZI6y6cctprvHDqaiHo/OE5FQXBHDpXpHXVBZ3W3HhovjQD/g==; 24:gPcSU5LYa2GRQQl92jMq++kLYpdZwHvG5upTBJkO6sEL7bjmxdwgJK1dd1wC6qF4jcjVqbUetinH25gKSTk62lI5QOUjRhKFtNJ9utWQ52c=; 20:1ItG4e8NZXcHTHmU3KfUKUp7kXkTGPpqstYWzJNkI3EmW/4msEaW70k99S6567hdEsPsnimldm0mwPITZU4U5Q== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2015 06:25:05.9298 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB0668 X-Mailman-Approved-At: Sat, 31 Oct 2015 16:26:30 +1100 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: scottwood@freescale.com, Raghav Dogra , prabhakar@freescale.com Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" Modify platform driver suspend/resume to syscore suspend/resume. This is because p1022ds needs to use localbus when entering the PCIE resume. Signed-off-by: Raghav Dogra --- arch/powerpc/sysdev/Makefile | 2 +- arch/powerpc/sysdev/fsl_lbc.c | 51 +++++++++++++++++++++++++++++++++---------- 2 files changed, 40 insertions(+), 13 deletions(-) diff --git a/arch/powerpc/sysdev/Makefile b/arch/powerpc/sysdev/Makefile index f7cb2a1..4c19e614 100644 --- a/arch/powerpc/sysdev/Makefile +++ b/arch/powerpc/sysdev/Makefile @@ -18,9 +18,9 @@ obj-$(CONFIG_PPC_PMI) += pmi.o obj-$(CONFIG_U3_DART) += dart_iommu.o obj-$(CONFIG_MMIO_NVRAM) += mmio_nvram.o obj-$(CONFIG_FSL_SOC) += fsl_soc.o fsl_mpic_err.o +obj-$(CONFIG_FSL_LBC) += fsl_lbc.o obj-$(CONFIG_FSL_PCI) += fsl_pci.o $(fsl-msi-obj-y) obj-$(CONFIG_FSL_PMC) += fsl_pmc.o -obj-$(CONFIG_FSL_LBC) += fsl_lbc.o obj-$(CONFIG_FSL_GTM) += fsl_gtm.o obj-$(CONFIG_FSL_85XX_CACHE_SRAM) += fsl_85xx_l2ctlr.o fsl_85xx_cache_sram.o obj-$(CONFIG_SIMPLE_GPIO) += simple_gpio.o diff --git a/arch/powerpc/sysdev/fsl_lbc.c b/arch/powerpc/sysdev/fsl_lbc.c index d631022..332d700 100644 --- a/arch/powerpc/sysdev/fsl_lbc.c +++ b/arch/powerpc/sysdev/fsl_lbc.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -354,24 +355,42 @@ err: #ifdef CONFIG_SUSPEND /* save lbc registers */ -static int fsl_lbc_suspend(struct platform_device *pdev, pm_message_t state) +static int fsl_lbc_syscore_suspend(void) { - struct fsl_lbc_ctrl *ctrl = dev_get_drvdata(&pdev->dev); - struct fsl_lbc_regs __iomem *lbc = ctrl->regs; + struct fsl_lbc_ctrl *ctrl; + struct fsl_lbc_regs __iomem *lbc; + + ctrl = fsl_lbc_ctrl_dev; + if (!ctrl) + goto out; + + lbc = ctrl->regs; + if (!lbc) + goto out; ctrl->saved_regs = kmalloc(sizeof(struct fsl_lbc_regs), GFP_KERNEL); if (!ctrl->saved_regs) return -ENOMEM; _memcpy_fromio(ctrl->saved_regs, lbc, sizeof(struct fsl_lbc_regs)); + +out: return 0; } /* restore lbc registers */ -static int fsl_lbc_resume(struct platform_device *pdev) +static int fsl_lbc_syscore_resume(void) { - struct fsl_lbc_ctrl *ctrl = dev_get_drvdata(&pdev->dev); - struct fsl_lbc_regs __iomem *lbc = ctrl->regs; + struct fsl_lbc_ctrl *ctrl; + struct fsl_lbc_regs __iomem *lbc; + + ctrl = fsl_lbc_ctrl_dev; + if (!ctrl) + goto out; + + lbc = ctrl->regs; + if (!lbc) + goto out; if (ctrl->saved_regs) { _memcpy_toio(lbc, ctrl->saved_regs, @@ -379,7 +398,9 @@ static int fsl_lbc_resume(struct platform_device *pdev) kfree(ctrl->saved_regs); ctrl->saved_regs = NULL; } - return 0; + +out: + return; } #endif /* CONFIG_SUSPEND */ @@ -391,20 +412,26 @@ static const struct of_device_id fsl_lbc_match[] = { {}, }; +#ifdef CONFIG_SUSPEND +static struct syscore_ops lbc_syscore_pm_ops = { + .suspend = fsl_lbc_syscore_suspend, + .resume = fsl_lbc_syscore_resume, +}; +#endif + static struct platform_driver fsl_lbc_ctrl_driver = { .driver = { .name = "fsl-lbc", .of_match_table = fsl_lbc_match, }, .probe = fsl_lbc_ctrl_probe, -#ifdef CONFIG_SUSPEND - .suspend = fsl_lbc_suspend, - .resume = fsl_lbc_resume, -#endif }; static int __init fsl_lbc_init(void) { +#ifdef CONFIG_SUSPEND + register_syscore_ops(&lbc_syscore_pm_ops); +#endif return platform_driver_register(&fsl_lbc_ctrl_driver); } -module_init(fsl_lbc_init); +arch_initcall(fsl_lbc_init);