Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp307974imm; Mon, 4 Jun 2018 18:18:02 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJxwejjboKcJC0d9bVU5L/60RzMN1ORMKhI2hTggE1tfSLzwsedgO/uBFeaYyO6e+RZ8ytd X-Received: by 2002:a63:7943:: with SMTP id u64-v6mr2811528pgc.411.1528161482553; Mon, 04 Jun 2018 18:18:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528161482; cv=none; d=google.com; s=arc-20160816; b=Lz/Jbg73rNGxsHHFKV3xpY+Lh0UqXgFcmNAUqB4rwX5JmmH8R54O+d5hA325vMAJhh nocXZ3uClH8ORUq7f1ExIh04PTg2UPmHMIyke6bd0EMy7W8sDbUIpaV6GyUoHKaJr7OZ f1WFbnC3JGNimBGk6IHroT+ox5711+PW9EeiXYMlJJq46g17DRiNeVcj8bRFnUhGrHya Le49GehlI3hwbid1Y00gDNHrWU6z5iz3vWVQMWbcmWa68EfuP7v0x6wMYbcsTEK95wmc MqrrxAgRSW4tsmCEIreAH7C06N8D4hRXbFx8L/T9qJhrwc5Nbsj/MWGaWyE6WGccG9Pl AKrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=N0ieEOdom/VZZw5D1CSbOOUO0g+9SMBYKX++FUFkZio=; b=SOedVUxRHOwoC/IWPk8m9imJPwMtKSnVpnaFA1Z1mgzbxvdXy4fiFrR7zH20jiaTc9 iUb2qxMRYlc7SMm3KmOAol5jefCj4rPPzOVON0/UQ3bZxHpfDp3G1xhDnKTLlC2+L1DX mmKaos932PZiAI9bVYMUcP5xbR4WnUhhKDij8TJEcGmwlpiZN8q0vVl7Xcrl6hGRFZyg RMBiCHnx6nwNVBBWHKx2zRfE/nNCuZvqGQwEp5fUQoD8gBHNaLVPQCMmb2/xOv0RGgX5 OCDKZeoQ2da8NyWHHOXZceJ+OTSLGuDTSGpeHw3ACCFRhsHg+xtjaxJds00n5M2+ijxv kpeg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@broadcom.com header.s=google header.b=iN+fcxsN; 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; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y19-v6si37864777pgv.66.2018.06.04.18.17.35; Mon, 04 Jun 2018 18:18:02 -0700 (PDT) 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=@broadcom.com header.s=google header.b=iN+fcxsN; 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; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751489AbeFEBRL (ORCPT + 99 others); Mon, 4 Jun 2018 21:17:11 -0400 Received: from mail-qt0-f193.google.com ([209.85.216.193]:42529 "EHLO mail-qt0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751274AbeFEBRK (ORCPT ); Mon, 4 Jun 2018 21:17:10 -0400 Received: by mail-qt0-f193.google.com with SMTP id y31-v6so728556qty.9 for ; Mon, 04 Jun 2018 18:17:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=N0ieEOdom/VZZw5D1CSbOOUO0g+9SMBYKX++FUFkZio=; b=iN+fcxsNfhHz5KhqVVN8nL39Ee2Iha64fVBX33acfFDm/Vzb7SbBr0spaXPVBekm6z Y7IrkmgylgdHayAe811vueT5C3cO2uxmRuG8NkydgKPsUsxxeDctstvRIXQSVEaIkPyu OYckXfyrOfJzjmVrl9hMBJbW1XmlIMF67rWCA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=N0ieEOdom/VZZw5D1CSbOOUO0g+9SMBYKX++FUFkZio=; b=uWdO4PvqQGIpvFymhpHy2FmeFoCY8wM6LmZY7ik0/avyKBt2xeckKsxefQESmNCvIT VMBl7C7sSWNNVFUyQ975xui6cJNhf77OEpUDqJ8qFjeAKC03SltObp+pJGhTIRZMysoO TYTXUBvq0rsm5GIDyQ/CbKAWY0w419OmDUIWcWUHxmlWPxYbNahNTtM9NC/3/2KSGD5t WGAyvnJ6zrN9wOUs9o5LNj47gFSE1KTx1m0ZJYUj+FXVnxL7v4l8IYR7hLX0vtngnW9O PU5LJE52CJve/lL6qejTloTrvJ+WiuHEz5mw6kb9AA2qPo/M/TWtrl2CZjEzCZtaN1ru F/4g== X-Gm-Message-State: APt69E02Br0aSUalmn48IYtquelMYy877WOGT2P4PhDFiRHikF5IANAp 7YEw0wV3JEGKF/8iF9dlEbiGlg== X-Received: by 2002:ac8:6656:: with SMTP id j22-v6mr21354769qtp.158.1528161429188; Mon, 04 Jun 2018 18:17:09 -0700 (PDT) Received: from [10.136.8.248] ([192.19.228.250]) by smtp.gmail.com with ESMTPSA id f99-v6sm22939974qkh.85.2018.06.04.18.17.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Jun 2018 18:17:07 -0700 (PDT) Subject: Re: [PATCH 1/6] PCI: iproc: Update iProc PCI binding for INTx support To: Rob Herring , Arnd Bergmann Cc: Lorenzo Pieralisi , Bjorn Helgaas , Mark Rutland , "linux-kernel@vger.kernel.org" , "maintainer:BROADCOM BCM7XXX ARM ARCHITECTURE" , linux-pci@vger.kernel.org, devicetree@vger.kernel.org, "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" References: <1527631130-20045-1-git-send-email-ray.jui@broadcom.com> <1527631130-20045-2-git-send-email-ray.jui@broadcom.com> From: Ray Jui Message-ID: <808cc0bd-3ff2-a601-9c2d-09705fd36e51@broadcom.com> Date: Mon, 4 Jun 2018 18:17:04 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Rob/Arnd, On 6/4/2018 7:17 AM, Rob Herring wrote: > +Arnd > > On Tue, May 29, 2018 at 4:58 PM, Ray Jui wrote: >> Update the iProc PCIe binding document for better modeling of the legacy >> interrupt (INTx) support >> >> Signed-off-by: Ray Jui >> --- >> .../devicetree/bindings/pci/brcm,iproc-pcie.txt | 31 +++++++++++++++++----- >> 1 file changed, 24 insertions(+), 7 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/pci/brcm,iproc-pcie.txt b/Documentation/devicetree/bindings/pci/brcm,iproc-pcie.txt >> index b8e48b4..7ea24dc 100644 >> --- a/Documentation/devicetree/bindings/pci/brcm,iproc-pcie.txt >> +++ b/Documentation/devicetree/bindings/pci/brcm,iproc-pcie.txt >> @@ -13,9 +13,6 @@ controller, used in Stingray >> PAXB-based root complex is used for external endpoint devices. PAXC-based >> root complex is connected to emulated endpoint devices internal to the ASIC >> - reg: base address and length of the PCIe controller I/O register space >> -- #interrupt-cells: set to <1> >> -- interrupt-map-mask and interrupt-map, standard PCI properties to define the >> - mapping of the PCIe interface to interrupt numbers >> - linux,pci-domain: PCI domain ID. Should be unique for each host controller >> - bus-range: PCI bus numbers covered >> - #address-cells: set to <3> >> @@ -41,6 +38,16 @@ Required: >> - brcm,pcie-ob-axi-offset: The offset from the AXI address to the internal >> address used by the iProc PCIe core (not the PCIe address) >> >> +Legacy interrupt (INTx) support (optional): >> + >> +Note INTx is for PAXB only. >> + >> +- interrupt-controller: claims itself as an interrupt controller for INTx >> +- #interrupt-cells: set to <1> >> +- interrupt-map-mask and interrupt-map, standard PCI properties to define >> +the mapping of the PCIe interface to interrupt numbers >> +- interrupts: interrupt line wired to the generic GIC for INTx support >> + >> MSI support (optional): >> >> For older platforms without MSI integrated in the GIC, iProc PCIe core provides >> @@ -77,9 +84,14 @@ Example: >> compatible = "brcm,iproc-pcie"; >> reg = <0x18012000 0x1000>; >> >> + interrupt-controller; >> #interrupt-cells = <1>; >> - interrupt-map-mask = <0 0 0 0>; >> - interrupt-map = <0 0 0 0 &gic GIC_SPI 100 IRQ_TYPE_NONE>; >> + interrupt-map-mask = <0 0 0 7>; >> + interrupt-map = <0 0 0 1 &pcie0 1>, > > Are you sure this works? The irq parsing code will ignore > interrupt-map if interrupt-controller is found. In other words, you > should have one or the other, but not both. Yes, it does work. I tested this by using an Intel E1000E PCIe NIC card installed in our system and have it fall back to INTx. > > Maybe it happens to work because "pcie0" is this node and your irq > numbers are the same. Perhaps it works because we are claiming "pcie0" as an interrupt controller by itself and the INTx is modeled under that. > > Arnd, any thoughts on this? > Please let me know if the above model makes sense or not. Thanks, Ray >> + <0 0 0 2 &pcie0 2>, >> + <0 0 0 3 &pcie0 3>, >> + <0 0 0 4 &pcie0 4>; >> + interrupts = ; >> >> linux,pci-domain = <0>; >> >> @@ -115,9 +127,14 @@ Example: >> compatible = "brcm,iproc-pcie"; >> reg = <0x18013000 0x1000>; >> >> + interrupt-controller; >> #interrupt-cells = <1>; >> - interrupt-map-mask = <0 0 0 0>; >> - interrupt-map = <0 0 0 0 &gic GIC_SPI 106 IRQ_TYPE_NONE>; >> + interrupt-map-mask = <0 0 0 7>; >> + interrupt-map = <0 0 0 1 &pcie1 1>, >> + <0 0 0 2 &pcie1 2>, >> + <0 0 0 3 &pcie1 3>, >> + <0 0 0 4 &pcie1 4>; >> + interrupts = ; >> >> linux,pci-domain = <1>; >> >> -- >> 2.1.4 >>