From patchwork Tue May 17 12:15:50 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Edgar E. Iglesias" X-Patchwork-Id: 9111891 Return-Path: X-Original-To: patchwork-xen-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 439769F1C3 for ; Tue, 17 May 2016 12:18:32 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 59F5B202EC for ; Tue, 17 May 2016 12:18:31 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6793320279 for ; Tue, 17 May 2016 12:18:30 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b2dum-0004Bw-De; Tue, 17 May 2016 12:15:56 +0000 Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b2duk-0004Bg-6p for xen-devel@lists.xen.org; Tue, 17 May 2016 12:15:54 +0000 Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id B6/04-07924-97B0B375; Tue, 17 May 2016 12:15:53 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpnkeJIrShJLcpLzFFi42Lxqg1y0q3gtg4 3+HzK1GLJx8UsDoweR3f/ZgpgjGLNzEvKr0hgzeifuZu14CdfxecLP9gbGCdydzFycQgJTGSU 2Hp5DzuIwyJwiUXi/85OZhBHQuAdi8TtmxMYuxg5gZwYiS/nljFD2JUSa14eAbOFBNQlTr/bw QYxagaTxNunF9hAEmwCJhJ7/zxgArFFBKQlrn2+DDaIGah5X2s7K4gtLBAh0fn+MVicRUBVYl vbU7B6XgEPid67u4FO4gBaJiex4EL6BEa+BYwMqxjVi1OLylKLdE30kooy0zNKchMzc3QNDYz 1clOLixPTU3MSk4r1kvNzNzECA4UBCHYwNn5xOsQoycGkJMr78qJVuBBfUn5KZUZicUZ8UWlO avEhRhkODiUJ3i2c1uFCgkWp6akVaZk5wJCFSUtw8CiJ8G4ASfMWFyTmFmemQ6ROMepybJl6b y2TEEtefl6qlDhvGUiRAEhRRmke3AhY/FxilJUS5mUEOkqIpyC1KDezBFX+FaM4B6OSMO82kC k8mXklcJteAR3BBHTEBDMLkCNKEhFSUg2MFnbPVKa4br+XxlfEwf11umOR4hyFqdH1Gg3nYit 0tdUdPk73exb+v3flnsDkBp6XV/zXxqlZzCqwjDE2SWJ8/9BZZI/NjH/zwtk2yMY2+v9Uk/A7 a/y+YXK/ZVnCxgkBkunBT/fOefvwveK76f5rk5dtUDENtsgRz4qrPsIq/+3Lj4eeBk1KLMUZi YZazEXFiQB9MwslmgIAAA== X-Env-Sender: edgar.iglesias@gmail.com X-Msg-Ref: server-6.tower-31.messagelabs.com!1463487352!14280892!1 X-Originating-IP: [74.125.82.66] X-SpamReason: No, hits=0.0 required=7.0 tests=SUBJECT_RANDOMQ X-StarScan-Received: X-StarScan-Version: 8.34; banners=-,-,- X-VirusChecked: Checked Received: (qmail 22782 invoked from network); 17 May 2016 12:15:52 -0000 Received: from mail-wm0-f66.google.com (HELO mail-wm0-f66.google.com) (74.125.82.66) by server-6.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP; 17 May 2016 12:15:52 -0000 Received: by mail-wm0-f66.google.com with SMTP id w143so4272293wmw.3 for ; Tue, 17 May 2016 05:15:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=feWxZ9qEZ2rLFVhDMtd1a0fYjfQGJe5yeHgdEyJ02oQ=; b=cg8U8yNvjap/N6dbhVDB94EPEz91ag21dICVhXVbboDjTkpbiVlVcDueo7TZJq0+Pd 2TbqHO7O7S2vI19PQv9zMhQy0n7salQvfdAWvdM9+iVPe/vXd+dC9AP7x4GtonnPMqit BUiu3SW2rolas+srLcf/sHFniIMwemffRUGkrxYt+hua9oSmS/Te3fDZ0c3dtOY4cOn1 /Y6MF8t/N1Dya3eV1q9z+0fuy/qF/KSEQg0cqZ9h2Qw5TX2h6hJlWVbQJoXrk7aAN+G0 YRogYr2GeY0kd7Lm02Zh/pKOP/fJtsBIr8n+ydxBuW18yGh3HHPM4/BrCOgeKr8GYFsz nuZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=feWxZ9qEZ2rLFVhDMtd1a0fYjfQGJe5yeHgdEyJ02oQ=; b=m2yTMVVsCocxN+cf6iKv6qfBN7Hzh6o4cSuiI42Nx424Cn9CZlOUyKoZuPXlRDVJ+s M1658VhVOozqx2Vc9pK6JrxIv8V0dlae5wSvmN3D7dbzjEKBmq9tRAxisIqZ4z1tMIfB euYukLJPlV4doBHISRx7SU+qUCwJERj9kiMV12aU9X9sJckhxz/Cw72GH7bZTDOiG4va nOICKoAXMuMLToa1qSghzy96H9hG/J6IE04rqiAq/INKy07/bCr8W0rYqelrByWvG9xo D1xL6Jlr08C9hVZ5lHOMol2UmrDjG6+AQX8FqMxLpGTmYGddR6+snkAzE7uG1ZI45h1E zO0w== X-Gm-Message-State: AOPr4FUrQB9pcP9DkqVieu/AWFjCYFOBpe3loy2alSJh3jNA3oLnD9AnoMlvHGArS7nn6w== X-Received: by 10.195.18.99 with SMTP id gl3mr1157674wjd.162.1463487352574; Tue, 17 May 2016 05:15:52 -0700 (PDT) Received: from localhost (81-231-233-234-no56.tbcn.telia.com. [81.231.233.234]) by smtp.gmail.com with ESMTPSA id 131sm3267472wmu.17.2016.05.17.05.15.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 17 May 2016 05:15:51 -0700 (PDT) From: "Edgar E. Iglesias" To: xen-devel@lists.xen.org Date: Tue, 17 May 2016 14:15:50 +0200 Message-Id: <1463487350-13469-1-git-send-email-edgar.iglesias@gmail.com> X-Mailer: git-send-email 2.5.0 Cc: edgar.iglesias@xilinx.com, julien.grall@arm.com, sstabellini@kernel.org, wei.liu2@citrix.com, wei.chen@linaro.org Subject: [Xen-devel] [PATCH v3 1/1] xen/device-tree: Do not remap IRQs for secondary IRQ controllers X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: "Edgar E. Iglesias" Do not remap IRQs connected to secondary interrupt controllers. These IRQs have no meaning to us until they connect to the primary controller. Secondary IRQ controllers will at some point connect to the primary controller (possibly via other IRQ controllers). We map the IRQs at that last connection point. Reviewed-by: Julien Grall Signed-off-by: Edgar E. Iglesias --- ChangeLog: v2 -> v3: * Fix coding style issue with the comment v1 -> v2: * Rephrased comment no longer mentioning bus-bridges. * Fixed coding style issues. * Added a dt_dprintk to log skipped IRQs. xen/common/device_tree.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c index 0ed86a7..06a2837 100644 --- a/xen/common/device_tree.c +++ b/xen/common/device_tree.c @@ -1176,6 +1176,23 @@ int dt_for_each_irq_map(const struct dt_device_node *dev, for ( i = 0; i < pintsize; i++ ) dt_raw_irq.specifier[i] = dt_read_number(imap + i, 1); + if ( dt_raw_irq.controller != dt_interrupt_controller ) + { + /* + * We don't map IRQs connected to secondary IRQ controllers as + * these IRQs have no meaning to us until they connect to the + * primary controller. + * + * Secondary IRQ controllers will at some point connect to + * the primary controller (possibly via other IRQ controllers). + * We map the IRQs at that last connection point. + */ + imap += pintsize; + imaplen -= pintsize; + dt_dprintk(" -> Skipped IRQ for secondary IRQ controller\n"); + continue; + } + ret = dt_irq_translate(&dt_raw_irq, &dt_irq); if ( ret ) {