From patchwork Mon May 16 15:03:55 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: 9103661 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 798619F30C for ; Mon, 16 May 2016 15:06:01 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 9E0D120251 for ; Mon, 16 May 2016 15:06:00 +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 AFB4920155 for ; Mon, 16 May 2016 15:05:59 +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 1b2K3s-0008K6-VN; Mon, 16 May 2016 15:04:00 +0000 Received: from mail6.bemta6.messagelabs.com ([85.158.143.247]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b2K3s-0008K0-5P for xen-devel@lists.xen.org; Mon, 16 May 2016 15:04:00 +0000 Received: from [85.158.143.35] by server-2.bemta-6.messagelabs.com id F4/4F-09532-F51E9375; Mon, 16 May 2016 15:03:59 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprHIsWRWlGSWpSXmKPExsXiVRvkohv30DL cYHaficWSj4tZHBg9ju7+zRTAGMWamZeUX5HAmnHzzGbWgtc8FRtab7E0MO7m7GLk4hASmMQo sX/Ve0YQh0XgJYvE1mWH2UEcCYF+Vokvr58zdzFyADkxEk8eGnQxcgKZVRLT9ixiBbGFBNQlT r/bwQYxaSaTxJnJl1hAEmwCJhJ7/zxgArFFBKQlrn2+zAhiMwskSzxo3gPWLCwQIXH18VZ2EJ tFQFWiad4BsF5eAQ+JTbe62CD2ykksuJAOEuYU8JRYuXkj1F4Pic6dDxknMAosYGRYxahenFp Ullqka6SXVJSZnlGSm5iZo2toYKaXm1pcnJiempOYVKyXnJ+7iREYVgxAsINx2V+nQ4ySHExK orzxayzDhfiS8lMqMxKLM+KLSnNSiw8xynBwKEnwmjwAygkWpaanVqRl5gADHCYtwcGjJMK7H iTNW1yQmFucmQ6ROsWoy7Fl6r21TEIsefl5qVLivNkgRQIgRRmleXAjYNF2iVFWSpiXEegoIZ 6C1KLczBJU+VeM4hyMSsK8HiBTeDLzSuA2vQI6ggnoiAlmFiBHlCQipKQaGGu+Lj+8dL7Q3t6 p5bw31fQ/J79PKvWc8S7756mlJU2rg42DlNzi9vvc2bTTf7rHvzee+ndWrVXiPfCg9Yl3V1TL ioDeaftWd/53jp5nPucdp84qg+zZIv0M1ZEuF4s3HuV52Xnk7MPG6kM1n1wUGeWO9lZb8NTkC fzLOGXDo2XrF+Y7/2bSCSWW4oxEQy3mouJEALF86o+xAgAA X-Env-Sender: edgar.iglesias@gmail.com X-Msg-Ref: server-13.tower-21.messagelabs.com!1463411038!14503816!1 X-Originating-IP: [74.125.82.68] 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 56918 invoked from network); 16 May 2016 15:03:58 -0000 Received: from mail-wm0-f68.google.com (HELO mail-wm0-f68.google.com) (74.125.82.68) by server-13.tower-21.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP; 16 May 2016 15:03:58 -0000 Received: by mail-wm0-f68.google.com with SMTP id e201so18720077wme.2 for ; Mon, 16 May 2016 08:03:58 -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:in-reply-to:references; bh=euSMNuOtuS5BvhZSsLThMWeKe1deQoioromHsD+epKU=; b=BOt0w1IRciD/vYjeOG5iu0mz6Z7jaStR/JIdWhz0iD9xgQfn+MBw6WHeKC1qIok17J yTZCuaeOEjFgsXp4kzFOq2CSnqObVWkbfSKpc6Xfh+DQRBLgQREiKtSnexXfMf3MPZpA kbEBqRCtNVdeWhnW2c2Lk1kBXkUkHfqwTdgje+Z1fDC37TBdH4gMyZ2pT3ODxHj9pMV5 o8YiGwfniY7ANnthmf+m09QTsfMHDRzxLsDaheHozdAU0gxYEqs8MbmHR8Xf8FphBPme W/BX8UcojVaRLdUwkQODVSMud1Mezy9sR+sficiBkO5J1iYmJ0o9ZiwQvm7ikD6KbDs9 LhMg== 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:in-reply-to :references; bh=euSMNuOtuS5BvhZSsLThMWeKe1deQoioromHsD+epKU=; b=McUE6YlB+2YiuZfTs1JniVvIjk36OHZx9gfoKm3ubYFZYFo3/3f8C6ssD5As3qqawE mIH5c/Z3dokvEBbPO8zECJDjI0FHq97q5cQlQRO+6v36i0IGRNxwMkB8K5smmBI2dFY5 /IK+29odbzYOwPV+BO2lQ/IGW2qHVrSGixd1jS7Ibmr61SOgp2Edug+248+GfoDcpflI /yt3NF0Wgd1KRbpqAT7JUY90iYT3FjDqv5K4jcdwELP4ci9G9eaLyfBtE/0dNTk11yck Bc9Tb2jWBwhYw0bbbxv/31EcwQag0s8zY4aD6KK1lW3nZBOcJ64LDvvfKXh6YhK0DTnx Kwpg== X-Gm-Message-State: AOPr4FWvIX8uiinKjpfSejKnmb+EqS2zVZWTevw8nYiDvwnk6B9D8pkPFuOfW75nELyXjA== X-Received: by 10.194.77.140 with SMTP id s12mr30280223wjw.24.1463411038449; Mon, 16 May 2016 08:03:58 -0700 (PDT) Received: from localhost (81-231-233-234-no56.tbcn.telia.com. [81.231.233.234]) by smtp.gmail.com with ESMTPSA id c16sm18899626wme.16.2016.05.16.08.03.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 16 May 2016 08:03:57 -0700 (PDT) From: "Edgar E. Iglesias" To: xen-devel@lists.xen.org Date: Mon, 16 May 2016 17:03:55 +0200 Message-Id: <1463411035-13562-2-git-send-email-edgar.iglesias@gmail.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1463411035-13562-1-git-send-email-edgar.iglesias@gmail.com> References: <1463411035-13562-1-git-send-email-edgar.iglesias@gmail.com> Cc: edgar.iglesias@xilinx.com, julien.grall@arm.com, sstabellini@kernel.org, wei.liu2@citrix.com Subject: [Xen-devel] [PATCH v2 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. Signed-off-by: Edgar E. Iglesias Reviewed-by: Julien Grall --- xen/common/device_tree.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c index 0ed86a7..02a7ede 100644 --- a/xen/common/device_tree.c +++ b/xen/common/device_tree.c @@ -1176,6 +1176,22 @@ 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 ) {