Received: by 10.223.176.5 with SMTP id f5csp2990723wra; Thu, 1 Feb 2018 09:04:49 -0800 (PST) X-Google-Smtp-Source: AH8x225TNJy61RphyVqPYuwlYRtuBbyHmUIzWkmp5xNDyj/+HmQPEjE05PGfKQm7mO2CyBU1UmrB X-Received: by 2002:a17:902:8e83:: with SMTP id bg3-v6mr33071890plb.246.1517504689182; Thu, 01 Feb 2018 09:04:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517504689; cv=none; d=google.com; s=arc-20160816; b=bMqoXZnu0UTQOUgATxjENh9V+5ehvP826OEEDdggc9eZYqZQ3QfjG7tNFQIwE1Yixj ++SI06bzXJxkRkkZaBQ6xVaK7tNX+yguv8vwYXoNlQcpWJtCyOEDU1cilSvh3/0qsSF1 7v3NF5uvjDOWvAXjkjeH9H4aNgOtRN4Ka4MQfkc5tPbEDXXTJFQRIAQPAnhIpR3dVUaG h4lKerExGyrdVGqwWkX7z6SOPwosTdGGr08l5Cr9E41rnJtd9iuGOY/Mvs7dhJ6wq3SL /IiXhIhx+WnGAcdYApPDHAh9nEiMMwAlvAIPzryIgkvwl9Ja2eKcGkhLZFP6iYH9mFee irgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dmarc-filter:dkim-signature:dkim-signature :arc-authentication-results; bh=qhPUoUIBGcYz521V3+2EGP39od30WGmsSRS8UwsluM0=; b=hxHOLeIc4KZC/7f9FU0TtYXJtjLCEve5+A/++60ORagN2GkvXSbvYmg7FHkf/CEsPp CnR4RyLsGE3Iw/IHQrScI00ptt71eYIRyunyh5Fs90SHkAgqcWoS0QOYhV6xGv2lpk0R 3+0YdOITP40Nh9BQJ+e+ZTKeJWaoAqjdWB1ZCkpY5FNxrw3UssfUbauVcm2+qPA6XqzX 9DYj9iNgx8+JMkqsHly87W6MNnseHiCLPhajrdXcs8GOuDGo8DAzZTmamPWIfcUv3x+3 YHbfjkyVC8IEdNZYq8u+gYCKSms0ilR9tCj0csU79jlLlzZ9aQ+VcN/X50Uz+fCmBss6 Tn6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=FLh4wUfz; dkim=pass header.i=@codeaurora.org header.s=default header.b=dhr7byDn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g24-v6si13213plj.50.2018.02.01.09.04.34; Thu, 01 Feb 2018 09:04:49 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=FLh4wUfz; dkim=pass header.i=@codeaurora.org header.s=default header.b=dhr7byDn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752949AbeBARDg (ORCPT + 99 others); Thu, 1 Feb 2018 12:03:36 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:41516 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751967AbeBARDd (ORCPT ); Thu, 1 Feb 2018 12:03:33 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id AC5176119E; Thu, 1 Feb 2018 17:03:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1517504612; bh=CBFKf+uxAm1OqG/2xtNqIH+Jjs2kjjFBfoM/FaU1x4c=; h=From:To:Cc:Subject:Date:From; b=FLh4wUfzQuTQynQ/Yu412PVuq8LCVJPnjFSXZU4ev3ywSQDiBF9x3ezwrKjEFEdOU QFCoWXyjM4/Ol597YrlHDO97zgPnav4CcsrbRmMqvKI4PPR/4HNJKEc0P8lIYJdZrC vDFg4shwPJf7J5QD4ClYlQgjSnBe5MoJBEi2ETk8= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from sboyd-linux.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: sboyd@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 2743B61195; Thu, 1 Feb 2018 17:03:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1517504611; bh=CBFKf+uxAm1OqG/2xtNqIH+Jjs2kjjFBfoM/FaU1x4c=; h=From:To:Cc:Subject:Date:From; b=dhr7byDnrPxglcF3vLLO4JIYNEBHsbM6UnAkNfBfT58E3+zIHnewMLnBb5fiLwOEz hYLH0ESeF2AYcMoHYKO0iTGbFaxVFmViyrTegVC9Hmw9gFHMplETQqUr/SbeFB/ijk dD7umdhmS2E5+0HCz3NPPmyaOmII3nEb52SCZXkQ= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 2743B61195 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=sboyd@codeaurora.org From: Stephen Boyd To: Thomas Gleixner , Jason Cooper , Marc Zyngier Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Stuart Yoder , Laurentiu Tudor , Greg Kroah-Hartman , Rajendra Nayak Subject: [PATCH v2] irqchip/gic-v3: Ignore disabled ITS nodes Date: Thu, 1 Feb 2018 09:03:29 -0800 Message-Id: <20180201170329.26916-1-sboyd@codeaurora.org> X-Mailer: git-send-email 2.15.0.374.g5f9953d2c365 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On some platforms there's an ITS available but it's not enabled because reading or writing the registers is denied by the firmware. In fact, reading or writing them will cause the system to reset. We could remove the node from DT in such a case, but it's better to skip nodes that are marked as "disabled" in DT so that we can describe the hardware that exists and use the status property to indicate how the firmware has configured things. Cc: Stuart Yoder Cc: Laurentiu Tudor Cc: Greg Kroah-Hartman Cc: Marc Zyngier Cc: Rajendra Nayak Signed-off-by: Stephen Boyd --- drivers/irqchip/irq-gic-v3-its-pci-msi.c | 2 ++ drivers/irqchip/irq-gic-v3-its-platform-msi.c | 2 ++ drivers/irqchip/irq-gic-v3-its.c | 2 ++ drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c | 2 ++ 4 files changed, 8 insertions(+) diff --git a/drivers/irqchip/irq-gic-v3-its-pci-msi.c b/drivers/irqchip/irq-gic-v3-its-pci-msi.c index 14a8c0a7e095..25a98de5cfb2 100644 --- a/drivers/irqchip/irq-gic-v3-its-pci-msi.c +++ b/drivers/irqchip/irq-gic-v3-its-pci-msi.c @@ -132,6 +132,8 @@ static int __init its_pci_of_msi_init(void) for (np = of_find_matching_node(NULL, its_device_id); np; np = of_find_matching_node(np, its_device_id)) { + if (!of_device_is_available(np)) + continue; if (!of_property_read_bool(np, "msi-controller")) continue; diff --git a/drivers/irqchip/irq-gic-v3-its-platform-msi.c b/drivers/irqchip/irq-gic-v3-its-platform-msi.c index 833a90fe33ae..8881a053c173 100644 --- a/drivers/irqchip/irq-gic-v3-its-platform-msi.c +++ b/drivers/irqchip/irq-gic-v3-its-platform-msi.c @@ -154,6 +154,8 @@ static void __init its_pmsi_of_init(void) for (np = of_find_matching_node(NULL, its_device_id); np; np = of_find_matching_node(np, its_device_id)) { + if (!of_device_is_available(np)) + continue; if (!of_property_read_bool(np, "msi-controller")) continue; diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c index 06f025fd5726..1d3056f53747 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -3314,6 +3314,8 @@ static int __init its_of_probe(struct device_node *node) for (np = of_find_matching_node(node, its_device_id); np; np = of_find_matching_node(np, its_device_id)) { + if (!of_device_is_available(np)) + continue; if (!of_property_read_bool(np, "msi-controller")) { pr_warn("%pOF: no msi-controller property, ITS ignored\n", np); diff --git a/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c b/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c index 5064d5ddf581..fc2013aade51 100644 --- a/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c +++ b/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c @@ -73,6 +73,8 @@ static int __init its_fsl_mc_msi_init(void) for (np = of_find_matching_node(NULL, its_device_id); np; np = of_find_matching_node(np, its_device_id)) { + if (!of_device_is_available(np)) + continue; if (!of_property_read_bool(np, "msi-controller")) continue; -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project