From patchwork Mon Aug 8 07:49:54 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Chen X-Patchwork-Id: 9266901 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 8F516607D6 for ; Mon, 8 Aug 2016 08:01:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7F5DD27B2F for ; Mon, 8 Aug 2016 08:01:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 73A7627F86; Mon, 8 Aug 2016 08:01:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 17E4027B2F for ; Mon, 8 Aug 2016 08:01:26 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1bWfT9-0003Iw-Dz; Mon, 08 Aug 2016 07:59:31 +0000 Received: from mail-co1nam03on0050.outbound.protection.outlook.com ([104.47.40.50] helo=NAM03-CO1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bWfT3-0003I3-7K for linux-arm-kernel@lists.infradead.org; Mon, 08 Aug 2016 07:59:26 +0000 Received: from BN3PR0301CA0070.namprd03.prod.outlook.com (10.160.152.166) by BY2PR0301MB0693.namprd03.prod.outlook.com (10.160.63.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.549.15; Mon, 8 Aug 2016 07:59:02 +0000 Received: from BY2FFO11FD023.protection.gbl (2a01:111:f400:7c0c::113) by BN3PR0301CA0070.outlook.office365.com (2a01:111:e400:401e::38) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.549.15 via Frontend Transport; Mon, 8 Aug 2016 07:59:02 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of nxp.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 BY2FFO11FD023.mail.protection.outlook.com (10.1.15.212) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.557.8 via Frontend Transport; Mon, 8 Aug 2016 07:59:02 +0000 Received: from shlinux2.ap.freescale.net (shlinux2.ap.freescale.net [10.192.224.44]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u787wudP023422; Mon, 8 Aug 2016 00:58:57 -0700 From: Peter Chen To: , , Subject: [PATCH 1/1] irqchip: irq-gic: forward SGI to itself for cortex-a7 single core Date: Mon, 8 Aug 2016 15:49:54 +0800 Message-ID: <1470642594-30455-1-git-send-email-peter.chen@nxp.com> X-Mailer: git-send-email 1.9.1 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131151167428056933; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(2201001)(105606002)(86362001)(586003)(85426001)(104016004)(5003940100001)(87936001)(33646002)(11100500001)(50986999)(36756003)(48376002)(229853001)(106466001)(7846002)(8936002)(81166006)(15975445007)(19580395003)(8676002)(19580405001)(81156014)(50226002)(47776003)(4326007)(7416002)(97736004)(305945005)(92566002)(189998001)(8666005)(77096005)(2906002)(68736007)(5001770100001)(356003)(50466002)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0301MB0693; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD023; 1:lrQja0bTaXRYeaxDfkNOl9+M+ljb/Lr1pBxhaJX5FTrCGK+/O2VQEcFREy2Tv/h0sD8ehbRhqMJYHbOFRITqU1DR+XE51jBr6tqKP+6ZNCrxW980RjTtzNa99f7ZB1U8GBB4duOnTrHsLQq22+HugPUTgPYbZYjgUB/kY+kc147FzOOUNy5evvM5BSc6NR/u6fub80IBKn2/JiCYXKJci7RfBMx0wxWrPDsgCF76LTllRaeoyT54cNmWTjCj2O7ZtciYDdHk4tFJTqF1VYbISJfYUe9qcyXGUeacEN7miEVGeDib+dWttqFbQ2Wg3Duj2XATv4u5g9DGyp2N2enDwTfmBTwBremf4rdDCO/6v74IJoFWaeXoOHhOci8jFATXutYpgyuYG5O6X2uNT83sA/wMhpf/KFmL8E6iR9Cwi+Y10dR9gpWjpB5Xt8hnio2zWNyRfoJ/oKLhUDXFv03iS/wY6BupRLhpZDqQK9vR7N2Ufnv3O/gZxVq2V8qYicuwrUwRkZwkwSFNu4AELJSORjwm67BppZxEHfVwrtlRFcIczcCZ82tMff+Nr0rvLAQmRvPHJzAhAaCX26Kg3Nl0Go/CO5DlbuTgLp5rWcmSj9dgXzZ7UZ04uUSc5GSPLWJgVJMpXMbXH0fE0ZrEU3t3GQEOXzNpQGuiUimigDavLwiKw6fHKZs2LzWojsiSh1hHn38/D96k0iUrGW+dYGVr6Fmo7TJkwlWJpzuuj8bkpT3V661vzaGHRe3OQYPJ9wWLgEMb98VAnmsVoQmjlKxTpQ== MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 4fd68084-e326-4b5f-f604-08d3bf61dce1 X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0693; 2:isEZTSEmNSjr0aQ+/kP+PnWwFxogDpe+wP3h3yvtU6p4Aim/2NrFg3QM9wQwzF3C8QUikxN6QMHh39VxSPBZe/ivVWR+V7DdDyMHQnDAcFGKBRRA7eUrSo0WbnpORrDb1Yfc6mVvdqJv3AHJa1DQLsFQGkCtOjUrtbX4Z3u2YkR7JlOw3HaE05jJMi1zlmaO; 3:6cNYdYgvmq7p9PEPDiEoDoH7r/0UqywgWWTKdUVGNOAt8OF1h17x7TLaSuF5nY55MHvZ+8DyaCHPjC88h2qCiRiQ+/Xx5UI65QkEyHeF9QVtdGn63oCbxuLLNUPO9yXgq7su3r0RqTr+579YvEsfZzCSZGPtFypxIpY3PdpwOkPWHOQ1BNuswTIRHORhXNa2BmsfCPRQ1/gOLBPef8+UFYRWTpw3VXOq0cWxYoRmbmo= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0301MB0693; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0693; 25:hLUlkMAdRZazW22z/SgD61g3tAMa3hmYTlsiiZqfvYD88uU5aRwxjEDpcnKXu3D4t/fCHl5/iwpPW/A/5Vj0SBqgE9hroDYScpMRwvmVCLLuwBXBQzLsrLfp5vPw+vPMRXxBnjAOVNHRyodHcMCpj1K8iXqKQgeh0/QXBZuQFvT7eHORqcongrNT4NQR4Y2hYSppsvMkelTnsBkR2FDcCLSAMFRAslOiiXAwhxshBRFTFrFx/5re9qBhdwEq0HFvyxAS4Um5A+vOnZtsVCG2+B/pkqva+8uOfcK1BvCGeNdX8A8erb0YG6Eujh9ycmiuSimEpscBZ/ziEiN1Wz9qCa7g3lyiwOHB5NNgorh60IqNTaSNjYRaOv8c9mnHdstCIB3dW4JQqhif2VPMfXHfJyOjnfg9zK8UrEyHMJeqK4QKO40j0pmBdlobyw1gfHFysSKiKFT7iUopbvAgiO2WuVaGZhWr4D5Tf3M4DEe4dyB5KAYZDGeG8BWdbXIfPwXOHZWutTbEs5Y5jG39OaoOO06646r747T5ji4+01fsyJnXLbmBTwPGLzwymslYwEKYCddXkUmy9755/zpIhumeFpGyaJtWn37mqiGXEAoMBf13pSHsU2kUOMCESPmxo2SQPl585i7sSHrfq5ujod5GDik39vAMu6ZbIZd8EuPIEXavvKlwaSw98+LQLOCkeQBrUMr9ndU0+mQ/LitW8ZRhAGVNB4GzjNe13GK7TlQ0jFLFFTr1aFkpmktxnWVAyZg/vXyj5DCYDzk2+3kp+4d5JmWM+u/887cbJQ65cuL2UXeMaxjuHijglBZfAMCXSHKH X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0693; 31:0KWoSnyDCRofCQzRk8KAM5vmlgO7tHEE54zTWWv2gKrcGId8kyicqxB9WDvDH5mPQvYKFxqVoUqOFN9PkYuBvZda0Y0uE0uTh9b3Psdt5EXfCf4C4dOt391HZjbQ/Ae3lTVdhuDp0kxbspVnp9kSVGVsh20PQtxyjM7ooPnGlzHFVbrjJnxdcmyjwt547jBW1O7gc689FzUbDzdHBQLdhdLFFCzarCBjJifdR5eEWGc=; 4:pNzngJHGmC3Z6dqp9EUqUIKOnkHJV9z+fre9R68zXH06DRZrCE1Lad1W0guuVp08hciLTbImZRWOCozWS/P8Op/FEzXCX2TbUx80NF+1l6PSmHyIK/e4mbCf9Jw0J2dL5vUaxkzvSLaPPSpgdVBiRFSCMk8iQJufmAc4r0anD3zG3lq/b27I4X6eGu6LY+ZDDPY3SO1SvGo5YdaAy5xG1aXfy6g8VgGWUvghlsLA2sJaysFU8DcYJKRc/6KzEb+1Gp3nWvItpi4c13AYDZasj/ND7s7rhglxPvFWfSuBvDpV41EVv6uM8pOvpElYDsxApX/Bfl0hR1+8uEvj27hSuSw+m1R7dtbWnlRHtM7baRFy8UWZ1zMIUckw+MmYitGpVfgOPIs4b3pHfBbYuOom2PpYfQ7cZR3Z+Y8EHSGVC4r9g9gUR9pJxK19lIxxoF83B1Ej5zd4HChaKrM9H9iFNxxkz/tvlm94pgdL0e/jEbEZvGJj22WDIcepEGfwcRWvIUVK9alJePqx2XFJOX2PMP2EmGZe0G7nKan1yHrGhO2rvZbB6mpbj/GEvg3eUn3I6vRAEMmN2cLr+JAZcM2E8g== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(258649278758335)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13023025)(13024025)(13015025)(13018025)(13017025)(5005006)(8121501046)(3002001)(10201501046)(6055026); SRVR:BY2PR0301MB0693; BCL:0; PCL:0; RULEID:(400006); SRVR:BY2PR0301MB0693; X-Forefront-PRVS: 00286C0CA6 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0301MB0693; 23:q3SouKAxkOOwnwVg80fhFJD6+H6T++TG5lCTMIQ?= =?us-ascii?Q?KWtABEiIxnKAjFoQaCy84ntnLt4dexdlK7obAPCpdmc5Fx4u4q5ugY6eYxa7?= =?us-ascii?Q?6cXKe6eTyzx+t4sjFPK6pOhM6nR9U7q1CWc2wi3EhM/zxdjKSGPdUsXgl32K?= =?us-ascii?Q?1DmlzDHAdBkSInBHOKI61KnbXQtVVEokGumWk8vDa9L5qh5dvBZAEE2UbYeU?= =?us-ascii?Q?KaYBLFHGnZUUYMCDk4jsNwCVMVoe5jJW+Ni+wc50uGJCZgExkyOYkd3SUbxY?= =?us-ascii?Q?Q41CiCqZtQMl4+IAI4y1DNPQaxiivUXzEMLZ6RXfReQy5CGzvsYmvypUF7vW?= =?us-ascii?Q?wTuY+y4GMRy8gkOMn4OdKEqOCud+NnMrmdxVo4MlGSfunQhbjPd0zXAU9jSr?= =?us-ascii?Q?SWR+egB6ORQZoJMwCYAp1YXd/iT6etchUqUuTsWEI50Cpfub3A2fqaFGliln?= =?us-ascii?Q?4liy2cI4KNa1AspS87nHdJtLUSMzY4rrivXcy8KiJYWUtAQ3ipnKsakAsbG6?= =?us-ascii?Q?wJVGAQOK4QyrqjdXfKRvqCcAljJ/nUG12fIkFK6+3rJbWrLwuPwEyAgSYvVS?= =?us-ascii?Q?T4et0bzmYJkTATKfhuXPX6Qv6rNb2XJGMTZmOKrLdLco9p567yPnDCn9hiqp?= =?us-ascii?Q?xXpDGYJh13KujBc8FT7Ob7jP0ZMkjlVq7uw8poayk03/quHa0NkVTdIyFnFO?= =?us-ascii?Q?J11RQt8TZPl35ySlIg/gskptC9nRxJ20QDLRWIgLBt4lpH+9RTN93Qd0czM4?= =?us-ascii?Q?wAqxh5+iRyaVIIsmAiFANlfA7pRivt6lgr+0x91FRI4GhFSiiIwHdi968QNa?= =?us-ascii?Q?ph6hAzxqDdRI4hPAvqsmxCMcLwoUMVqeODCSISElSdwHF+bGjmZqlm0jTK9e?= =?us-ascii?Q?kMLKpwmTZse5DS7X4GggYn7xn6mA142QtDCqmC1rlIA59iipi3Jb194k1P57?= =?us-ascii?Q?2aL+q2HEdvL/K2Yp99XEXyF8FxvXnnak0sWlK09ffG3fLY1tMTSEoyn8fUV4?= =?us-ascii?Q?1Lk7Owk2CwVBGr2ZCm82zPZsAUgGZAEl3rvZmvZnUFtKsW9dHS4ETtLPMvmO?= =?us-ascii?Q?z1H0F4Ld11KUHxGOl7ixHmy6xjZkpZlfZkZBe3PSKyMO0ZcRQGrkczEets4T?= =?us-ascii?Q?Jk4qLUlaWWpVO8cSxD2j5xi+2g0q0wMlb?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0693; 6:x1gwYhwbLrhxV8irR/QeNA/NYPl0g7sdII3oVt/DrmkQ3kqf5e+JVDjUi/EC0CfVFYru18gXgWbe3l6tabx/0iZA+obRrKDZzkdMTwuDSjKJtzlIqkwhwP0zkkZ5mGpHnX6eV/Lfjz2kYrOtABV6fj5jaUsKvcF8hle4XjfAd/F+uM/vmnYokrmViKmVNTUTK/NsELXaylmcdsUxR+spry6SyHo7kG/xHj6R3JbdcuwyTL1FhGv9iti4qWKxQNqkmFSHIC8tTMFJCNJYi2JE3b/lw8VAS2zaRasCu16cII8=; 5:8CrqrKJSrKBMPQMyWogTEXi1ejbFJPidZO+/ubTPLja7BQQJmN7WfnYOrbagapkGeAVCbll2GXQR8o6dxjkQQbyGK9zTA5rs2nlmHTxjNk0jvjRZGKigWevXfPEC/sUEN2Z+qSP3BUCuFlcEyz90oMTCkqGD40LndcRGpITC5mc=; 24:lwVtYef7QOoOQyfkpNTBdOhKgZNHTFyvDXpPMbLCylzNi4eTRwmJvcQXPJ3fjl1Pf9kcSnmm+OrQaXEdx0bNmtQmNkiAUbWc3Xbi5BQWc0A=; 7:rxWBveIf36PHqnyS2bH6GC+0I3JPgp98LaN+nRAfbhsm499HaOt6eM1Ay+Fk863dpg0ivX72yQiF4Lze50XYn0j2yINQQgcKH+dzTZAKwEjX1VlvtCb/IQIkN1AY1lqoO2IVW6zUlC/QdR6ucjWCS3dNXRyxSa88afQkK5xXBV5awfCa/rVAdIMdNxHhpBsPCehFKb4/MAkevOoil2FU0N0Oi3dhvWa2cr5NzXtn1FrezueLKqLW1BlsBGoH+Ghh SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2016 07:59:02.6028 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0301MB0693 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160808_005925_350928_96D20D28 X-CRM114-Status: GOOD ( 18.76 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Chen , Ping Bai , Anson Huang , "Rafael J. Wysocki" , Frank Li , Russell King , Jason Liu , Fabio Estevam , Shawn Guo , linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP According to Cortex-A7 MPCore TRM, ch8.3.1, Distributor register summary, GICD_ITARGETSRn: The register that contains the SGI and PPI interrupts is read-only and the value is implementation defined. For Cortex-A7 configurations with only one processor, these registers are RAZ/WI. So, the GICD_ITARGETSR[0..7] is read-only, and the value is 0 for cortex-a7 single core platform if the SoC is cortex-a7 mpcore version. So the cupmask from gic_get_cpumask is 0. At ARM Generic Interrupt Controller Architecture version 2.0, ch4.3.15 Software Generated Interrupt Register, GICD_SGIR, The distributor will process the requested SGI according to register TargetListFilter and CPUTargetList. At current gic code, it takes TargetListFilter as 0b00, and forward the interrupt to cpumask (variable map at gic_raise_softirq) getting from gic_get_cpumask. but cpumask is 0 according to above explanation for cortex-a7 single core platform, so, both TargetListFilter and CPUTargetList are 0, and the distributor does not forward the interrupt to any CPU interface according to gic documentation, then the SGI can't be occurred. We have found this problem at nxp imx6ul platform, which is a cortex-a7 single core platform, the irq work (triggered by SGI at ARM) can't be occurred which is needed for cpufreq, then the system has failed to boot and reboot [1]. In this commit, we set TargetListFilter as 0b10 to fix this problem, it forwards the interrupt only to CPU0 and only cortex-a7 single core platform uses this setting currently. [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2016-May/ 430545.html Cc: Russell King Cc: Shawn Guo Cc: Rafael J. Wysocki Cc: Jason Liu Cc: Anson Huang Cc: Frank Li Cc: Fabio Estevam Cc: Ping Bai Signed-off-by: Peter Chen --- drivers/irqchip/irq-gic.c | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index c2cab57..625ae6d 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c @@ -764,6 +764,23 @@ static int gic_pm_init(struct gic_chip_data *gic) #endif #ifdef CONFIG_SMP +static void gic_raise_softirq_itself(const struct cpumask *mask, + unsigned int irq) +{ + unsigned long flags; + + raw_spin_lock_irqsave(&irq_controller_lock, flags); + + /* + * Forward the interrupt only to the CPU interface of the processor + * that requested the interrupt. + */ + writel_relaxed(0x2000000 | irq, gic_data_dist_base(&gic_data[0]) + + GIC_DIST_SOFTINT); + + raw_spin_unlock_irqrestore(&irq_controller_lock, flags); +} + static void gic_raise_softirq(const struct cpumask *mask, unsigned int irq) { int cpu; @@ -1162,9 +1179,6 @@ static int __init __gic_init_bases(struct gic_chip_data *gic, */ for (i = 0; i < NR_GIC_CPU_IF; i++) gic_cpu_map[i] = 0xff; -#ifdef CONFIG_SMP - set_smp_cross_call(gic_raise_softirq); -#endif cpuhp_setup_state_nocalls(CPUHP_AP_IRQ_GIC_STARTING, "AP_IRQ_GIC_STARTING", gic_starting_cpu, NULL); @@ -1336,6 +1350,16 @@ static void __init gic_of_setup_kvm_info(struct device_node *node) gic_set_kvm_info(&gic_v2_kvm_info); } +static bool __init gic_is_a7_singlecore(struct gic_chip_data *gic, + struct device_node *node) +{ + if (!of_device_is_compatible(node, "arm,cortex-a7-gic")) + return false; + + return !(readl_relaxed(gic_data_dist_base(gic) + GIC_DIST_CTR) & 0xe0); + +} + int __init gic_of_init(struct device_node *node, struct device_node *parent) { @@ -1367,6 +1391,15 @@ gic_of_init(struct device_node *node, struct device_node *parent) return ret; } + if (gic == &gic_data[0]) { +#ifdef CONFIG_SMP + if (gic_is_a7_singlecore(gic, node)) + set_smp_cross_call(gic_raise_softirq_itself); + else + set_smp_cross_call(gic_raise_softirq); +#endif + } + if (!gic_cnt) { gic_init_physaddr(node); gic_of_setup_kvm_info(node);