Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754007AbbGWS0W (ORCPT ); Thu, 23 Jul 2015 14:26:22 -0400 Received: from mail-bl2on0072.outbound.protection.outlook.com ([65.55.169.72]:64240 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753780AbbGWS0T (ORCPT ); Thu, 23 Jul 2015 14:26:19 -0400 Authentication-Results: ideasonboard.com; dkim=none (message not signed) header.d=none; Subject: Re: [PATCH 1/3] Docs: dt: add generic MSI bindings To: Mark Rutland , References: <1437670365-20704-1-git-send-email-mark.rutland@arm.com> <1437670365-20704-2-git-send-email-mark.rutland@arm.com> CC: , , , , , , , , , , , , From: David Daney Message-ID: <55B131C3.8050009@caviumnetworks.com> Date: Thu, 23 Jul 2015 11:26:11 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <1437670365-20704-2-git-send-email-mark.rutland@arm.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [66.187.233.206] X-ClientProxiedBy: SN2PR07CA010.namprd07.prod.outlook.com (10.255.174.27) To CY1PR0701MB1727.namprd07.prod.outlook.com (25.163.21.141) X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1727;2:KcxF43CSAi/88U0QWFOc7Mhl4U/+PmRIHeQ64ayGLhpmmEpD08g+a0cxaRmDVZKH;3:OE4WHze3FtYZcFAwhYBx4i/QutOIOIEoXfqU7DRkVIZ7FgHz875qq45d83QCGulVYKD7txBzfezBApVQ9E87Ld4ZcNKue8/kCE6qlNJzJ09bo3tiJngmYoQtSupjDIT8jKM4K3fmvPrbtMlskNDr3Q==;25:eJyA3vG3Kcfur2drupex92nuv2AQf5PY9umJQ9Klxd3ZhTAYSjvyR8p888jJRV7jFigxXsq0ifObpGzx1RWoj5o3cmvTRi7q2UnBnnRVRjNq+1t1grDwcHLwmP7jnXGHdlOfpKl4uHMJ5OYU/AdcUCQ6Vn1JuvB7XIjWrFegCoo0mYzaCnXBtT9UOx6EQvfLOq46D6hKr9rovdvP7S5pakP0j2gxrf+ckavnnXwR6vzyyYi02bql1cr1+ntSPp7C3S1d3erx5a6+Ji6AzfF1MQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0701MB1727; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1727;20:msK9v8H0ZYd4CTNtsmbmsXsLAP3IpzKEJ2Gh3GrW5tztsIywoedHM0gFEg7Z3KKoGhlHEvlTVtfHBQrRgoXj6AwIYORlQB/TRMIWAIcH7eSIGBmBEs3CAw8G5Pt5P+S8/1V8UsvtBDv3xULHozIkrqCE+BZmHvIru6ZySLQ01Ed8VQiFCA2ndgdlTvTSxP169kpqTe83e7PvRlmjM6p416oq7+Nx1+9Ti3IVa1qXdsLPgC41sRuYFIjHEY4B1aDmniLFdS8uhLv/chvCcKM3Yc5GfOCTOLXh8k+qkmNZaN95mLrs8QzexiFwF5/eOh6EqihhjQB7yiymk6z2/d+XCnDvmOomQjeDCWAd263X9MVSnkxBm5zeDeto9GnSaR4BROWz5wUdiyRAyH92TDEOPOjTlLxzBe048a4qPZ4i9Izz5CBTHU9qYZWppg4ay76Ox16u2mH7EEDLWTKNgFhJ3rFGqs5jlMaW5bC15xOhBb9PxvPnKGMw56DTlbremV4dMRLeBT/QCUPM8G4wE8YF9NDl7Cb0quqkitpEfh2+TlXzEbO6Ys79C1gml0DrHjzJwSwW0XUuTxfc3q0wRJk4Ccn0m+xyuUuKz9JNZXZWPq8=;4:vJGYBWHL77HtpTNFNwyLsrPYLaRBs2RK4f98mx3psu8RXo32tUbk5drl1RUe6Zvcj0fMBzaV/NaTgktLguyVq+KeAoAEIOzhI+i+l3rha9o5z7JSWweT233MaseQFAh9WijyG312k3QV7aX9Uv4/lrIWLY85NHOY8Hch69pyNS64AspgGVlbkN2cUBSml5N6lTjWsrH6VLzyxFUtcYFewv3RENM4zrQyK6YVjHNOYSTk0NL92Zra/TzUy0T4apPw2aekXnBPjIe7h1o0NohguKOyL0c2Jj5oWsZ+aLGwPL0= CY1PR0701MB1727: X-MS-Exchange-Organization-RulesExecuted X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:CY1PR0701MB1727;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0701MB1727; X-Forefront-PRVS: 06469BCC91 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(479174004)(377454003)(24454002)(36756003)(40100003)(46102003)(77096005)(80316001)(59896002)(53416004)(122386002)(92566002)(87976001)(66066001)(2950100001)(65956001)(5001960100002)(50466002)(189998001)(65806001)(19580405001)(54356999)(42186005)(33656002)(62966003)(76506005)(47776003)(4001350100001)(83506001)(50986999)(23746002)(77156002)(76176999)(5001770100001)(5001920100001)(65816999)(7099028);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR0701MB1727;H:localhost.caveonetworks.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;CY1PR0701MB1727;23:dQFWumJmoxug0cQ4zFX0v9cYv3ZL55D6zr0?= =?Windows-1252?Q?0H1ueYqSWIgC8DxOUb5XWtY7NgbHMTH7Dm7kZcQ2vSYhuIwl5lRNV1zV?= =?Windows-1252?Q?MqvdUb1hs9pJ01NF5GQ5rQXVVFd0PH2kbDgpG0gG67tDyq76wbfggYqE?= =?Windows-1252?Q?fAfeQd5JdbT0QiKrQMOLRKQCJjTyJYRAORokt16nRaymyHeY7MocW+Uq?= =?Windows-1252?Q?bcYWqNNTLP+pQz1QvjhFUh1J07atktAD8EyvjKx/EiQF9YEzVyAsVzmu?= =?Windows-1252?Q?M9TZ4QjTdIod0I4fyrcc7ME7qG9f5nHq62avIiIzo51t0YxLtGs8u5f1?= =?Windows-1252?Q?tqR7YpoTI+5449lTstGHoE0+mnScRoz8JqeCK2s1Hh2UyQcfhuku8VKs?= =?Windows-1252?Q?ge6vWSv0XNw/j1garLgskVzhvHkSbu1bLLL/3QlO02ZA/1UQ1D4ZfRBR?= =?Windows-1252?Q?aAvlnJNHNP5C3x70k838c5dpi0VtkcojBUXDv5Y5ikFiu/cRrGgm6Pud?= =?Windows-1252?Q?9a101VkJ6xSSOxdtGN1QUvgbB0cHt4ye7Xepup8S+loM1BKw14hKQ5/E?= =?Windows-1252?Q?RFazPjiVfW4IXEd4LFZI7wcKlHq4N/Z6eL/D8fmrLjdigQ5f6RfakbmV?= =?Windows-1252?Q?tm//qc2cemonp7DIEUG2ik/f0R26bSsM8joQNWnE4aMIhaYUNG5ftwDl?= =?Windows-1252?Q?IkiTnvn4EICsmIdkHLD9gs0asv81dvYiyaOyt8QuJlzXZezWaZhSqMmi?= =?Windows-1252?Q?+mriuyIiaRsjkaSefIZ3GHwCxo3sHW3pz7toUlZS7oyCQD5/RC1CF6T0?= =?Windows-1252?Q?IYnVHfHCplArhdQjkwC1qKOLfqCGdjVir6WLgxBzP/WHpNFEIsLM7y12?= =?Windows-1252?Q?SI4/ZafVSGn8zsc3zchEEm51M0mSUkuMRRCNxzrxFelCvYcQMxsPCrBr?= =?Windows-1252?Q?KqtCQtWnxRNgHomkJ5wrk3DgPj0u51oCWXsPmgw+kUHns7KPTbrVY9+R?= =?Windows-1252?Q?upIEmt3LR6ByKAwF0wNXB4eenMc6q2zrgRnpiLjVlORjBrlO2qzj0ltb?= =?Windows-1252?Q?FPVLwwk+fc3EkuNmKB/zsQAN9FXF9ee5PpVZUlAmITz+ICujAnBE7xEa?= =?Windows-1252?Q?CJA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1727;5:6LpiVHRN6EnMRKYh921i0NnKeh9/MPIEfr9kdy5L8G8z8FuiS7W2boFhoryL9ok/+A35FLqJHUR+EDnL2Pf8BVxLE/wBer6rgOLHyNjmQlgFH1Udi5BdMTrA3uUYur9dDSFMiCFvZHgrrzbqoW7AGQ==;24:wy+W5a5U0EukAp6sVHF6QcT0/NKdq+/WYwL1yEo5OprdsxWe6CFIK3tDego9CHM0jUFoRxoFu4xMvSQYXldK0AHfA/4OPwGV/4TOr4lihTM=;20:r7+gNi6VgBZjjVREU/+6FUM+6NFMkdYTjViwUZw2bogyoZBaM7z0IogoKKi0zXFXhroO9PUURjL48k64eqJ3xQ== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jul 2015 18:26:15.1187 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1727 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2726 Lines: 105 On 07/23/2015 09:52 AM, Mark Rutland wrote: [...] > +MSI clients > +=========== > + > +MSI clients are devices which generate MSIs. For each MSI they wish to > +generate, the doorbell and payload may be configured, though sideband > +information may not be configurable. > + > +Required properties: > +-------------------- > + > +- msi-parent: A list of phandle + msi-specifier pairs, one for each MSI > + controller which the device is capable of using. > + We say here that "msi-parent" consists of pairs ... > + This property is unordered, and MSIs may be allocated from any combination of > + MSI controllers listed in the msi-parent property. > + > + If a device has restrictions on the allocation of MSIs, these restrictions > + must be described with additional properties. > + > + When #msi-cells is non-zero, busses with an msi-parent will require > + additional properties to describe the relationship between devices on the bus > + and the set of MSIs they can potentially generate. > + > + > +Example > +======= > + > +/ { > + #address-cells = <1>; > + #size-cells = <1>; > + > + msi_a: msi-controller@a { > + reg = <0xa 0xf00>; > + compatible = "vendor-a,some-controller"; > + msi-controller; > + /* No sideband data, so #msi-cells omitted */ > + }; > + > + msi_b: msi-controller@b { > + reg = <0xb 0xf00>; > + compatible = "vendor-b,another-controller"; > + msi-controller; > + /* Each device has some unique ID */ > + #msi-cells = <1>; > + }; > + > + msi_c: msi-controller@c { > + reg = <0xb 0xf00>; > + compatible = "vendor-b,another-controller"; > + msi-controller; > + /* Each device has some unique ID */ > + #msi-cells = <1>; > + }; > + > + dev@0 { > + reg = <0x0 0xf00>; > + compatible = "vendor-c,some-device"; > + > + /* Can only generate MSIs to msi_a */ > + msi-parent = <&msi_a>; My device-tree syntax foo is a little rusty, but doesn't "msi-parent" need a pair of elements? This has only the phandle. > + }; > + > + dev@1 { > + reg = <0x1 0xf00>; > + compatible = "vendor-c,some-device"; > + > + /* > + * Can generate MSIs to either A or B. > + */ > + msi-parent = <&msi_a>, <&msi_b 0x17>; ... same here, ... > + }; > + > + dev@2 { > + reg = <0x2 0xf00>; > + compatible = "vendor-c,some-device"; > + /* > + * Has different IDs at each MSI controller. > + * Can generate MSIs to all of the MSI controllers. > + */ > + msi-parent = <&msi_a>, <&msi_b 0x17>, <&msi_c 0x53>; ... and here > + }; > +}; > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/