From mboxrd@z Thu Jan 1 00:00:00 1970 From: ezequiel.garcia@free-electrons.com (Ezequiel Garcia) Date: Tue, 11 Jun 2013 10:57:38 -0300 Subject: [PATCH 04/14] bus: mvebu-mbus: Add static window allocation to the DT binding In-Reply-To: <20130609014506.GB10027@obsidianresearch.com> References: <1370623671-7748-1-git-send-email-ezequiel.garcia@free-electrons.com> <1370623671-7748-5-git-send-email-ezequiel.garcia@free-electrons.com> <201306072101.44694.arnd@arndb.de> <20130607200054.GA9010@obsidianresearch.com> <20130608183851.GB2354@localhost> <20130609014506.GB10027@obsidianresearch.com> Message-ID: <20130611135737.GC3996@localhost> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Jason, Arnd: On Sat, Jun 08, 2013 at 07:45:06PM -0600, Jason Gunthorpe wrote: [...] > > This is the mangling I was referring to. It needs to be the offset > into the target, it can't be something else. > I see both of you have explained this already, but I can't seem to catch it yet. Mind explaining me exaclty *why* "it can't be something else"? IOW, why the window base address cannot be in the 2nd cell, and/or what use cases would this encoding brake? > I understand your motivation, but this is not a good method of > encoding this in DT. > > There is nothing especially wrong with updating the ranges at runtime, > but don't use the 2nd cell in the 2dw address to encode the desired > base address. > Regarding this, let me confirm your proposed layout using an example. (later on, i'll try the preprocessor on this to make it look better). mbus { compatible = "foo-mbus"; ranges = < 0xffff0001 0 0xf1000000 0x1000000 /* Internal register entry */ 0x011d0000 0 0xfff00000 0x0100000 /* BootROM entry with base address */ 0x012f0000 0 0xe8000000 0x1000000 /* DevBus,NOR entry with base address */ >; bootrom { ranges = <0 0x011d0000 0 0x100000>; }; devbus-bootcs { ranges = <0 0x012f0000 0 0x1000000>; nor { reg = <0 0x1000000>; }; }; }; Is the above correct? Now, if the above is OK, then the DT looks complete to me. Meaning: 1. There's no need to update any ranges property at runtime. 2. There's no need to use an algorithm to 'find' a base address for decoding windows (such as first-fit as Arnd suggested in another mail). The base address is already there in the ranges property, so the mbus can simply allocate the window on that base address. So, am I right or completely lost? Thanks a lot for the help, -- Ezequiel Garc?a, Free Electrons Embedded Linux, Kernel and Android Engineering http://free-electrons.com From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ezequiel Garcia Subject: Re: [PATCH 04/14] bus: mvebu-mbus: Add static window allocation to the DT binding Date: Tue, 11 Jun 2013 10:57:38 -0300 Message-ID: <20130611135737.GC3996@localhost> References: <1370623671-7748-1-git-send-email-ezequiel.garcia@free-electrons.com> <1370623671-7748-5-git-send-email-ezequiel.garcia@free-electrons.com> <201306072101.44694.arnd@arndb.de> <20130607200054.GA9010@obsidianresearch.com> <20130608183851.GB2354@localhost> <20130609014506.GB10027@obsidianresearch.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20130609014506.GB10027-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Sender: "devicetree-discuss" To: Jason Gunthorpe Cc: Lior Amsalem , Jason Cooper , Andrew Lunn , devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, Maen Suleiman , linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Sebastian Hesselbarth List-Id: devicetree@vger.kernel.org SmFzb24sIEFybmQ6CgpPbiBTYXQsIEp1biAwOCwgMjAxMyBhdCAwNzo0NTowNlBNIC0wNjAwLCBK YXNvbiBHdW50aG9ycGUgd3JvdGU6ClsuLi5dCj4gCj4gVGhpcyBpcyB0aGUgbWFuZ2xpbmcgSSB3 YXMgcmVmZXJyaW5nIHRvLiBJdCBuZWVkcyB0byBiZSB0aGUgb2Zmc2V0Cj4gaW50byB0aGUgdGFy Z2V0LCBpdCBjYW4ndCBiZSBzb21ldGhpbmcgZWxzZS4KPiAKCkkgc2VlIGJvdGggb2YgeW91IGhh dmUgZXhwbGFpbmVkIHRoaXMgYWxyZWFkeSwgYnV0IEkgY2FuJ3Qgc2VlbQp0byBjYXRjaCBpdCB5 ZXQuCgpNaW5kIGV4cGxhaW5pbmcgbWUgZXhhY2x0eSAqd2h5KiAiaXQgY2FuJ3QgYmUgc29tZXRo aW5nIGVsc2UiPwpJT1csIHdoeSB0aGUgd2luZG93IGJhc2UgYWRkcmVzcyBjYW5ub3QgYmUgaW4g dGhlIDJuZCBjZWxsLAphbmQvb3Igd2hhdCB1c2UgY2FzZXMgd291bGQgdGhpcyBlbmNvZGluZyBi cmFrZT8KCj4gSSB1bmRlcnN0YW5kIHlvdXIgbW90aXZhdGlvbiwgYnV0IHRoaXMgaXMgbm90IGEg Z29vZCBtZXRob2Qgb2YKPiBlbmNvZGluZyB0aGlzIGluIERULgo+IAo+IFRoZXJlIGlzIG5vdGhp bmcgZXNwZWNpYWxseSB3cm9uZyB3aXRoIHVwZGF0aW5nIHRoZSByYW5nZXMgYXQgcnVudGltZSwK PiBidXQgZG9uJ3QgdXNlIHRoZSAybmQgY2VsbCBpbiB0aGUgMmR3IGFkZHJlc3MgdG8gZW5jb2Rl IHRoZSBkZXNpcmVkCj4gYmFzZSBhZGRyZXNzLgo+IAoKUmVnYXJkaW5nIHRoaXMsIGxldCBtZSBj b25maXJtIHlvdXIgcHJvcG9zZWQgbGF5b3V0IHVzaW5nIGFuIGV4YW1wbGUuCihsYXRlciBvbiwg aSdsbCB0cnkgdGhlIHByZXByb2Nlc3NvciBvbiB0aGlzIHRvIG1ha2UgaXQgbG9vayBiZXR0ZXIp LgoKbWJ1cyB7Cgljb21wYXRpYmxlID0gImZvby1tYnVzIjsKCXJhbmdlcyA9IDwgMHhmZmZmMDAw MSAwIDB4ZjEwMDAwMDAgMHgxMDAwMDAwIC8qIEludGVybmFsIHJlZ2lzdGVyIGVudHJ5ICovCgkJ ICAgMHgwMTFkMDAwMCAwIDB4ZmZmMDAwMDAgMHgwMTAwMDAwIC8qIEJvb3RST00gZW50cnkgd2l0 aCBiYXNlIGFkZHJlc3MgKi8KCQkgICAweDAxMmYwMDAwIDAgMHhlODAwMDAwMCAweDEwMDAwMDAg LyogRGV2QnVzLE5PUiBlbnRyeSB3aXRoIGJhc2UgYWRkcmVzcyAqLwoJPjsKCglib290cm9tIHsK CQlyYW5nZXMgPSA8MCAweDAxMWQwMDAwIDAgMHgxMDAwMDA+OwoJfTsKCglkZXZidXMtYm9vdGNz IHsKCQlyYW5nZXMgPSA8MCAweDAxMmYwMDAwIDAgMHgxMDAwMDAwPjsKCQlub3IgewoJCQlyZWcg PSA8MCAweDEwMDAwMDA+OwoJCX07Cgl9Owp9OwoKSXMgdGhlIGFib3ZlIGNvcnJlY3Q/CgpOb3cs IGlmIHRoZSBhYm92ZSBpcyBPSywgdGhlbiB0aGUgRFQgbG9va3MgY29tcGxldGUgdG8gbWUuIE1l YW5pbmc6CgoxLiBUaGVyZSdzIG5vIG5lZWQgdG8gdXBkYXRlIGFueSByYW5nZXMgcHJvcGVydHkg YXQgcnVudGltZS4KCjIuIFRoZXJlJ3Mgbm8gbmVlZCB0byB1c2UgYW4gYWxnb3JpdGhtIHRvICdm aW5kJyBhIGJhc2UgYWRkcmVzcyBmb3IgZGVjb2RpbmcKICAgd2luZG93cyAoc3VjaCBhcyBmaXJz dC1maXQgYXMgQXJuZCBzdWdnZXN0ZWQgaW4gYW5vdGhlciBtYWlsKS4KICAgVGhlIGJhc2UgYWRk cmVzcyBpcyBhbHJlYWR5IHRoZXJlIGluIHRoZSByYW5nZXMgcHJvcGVydHksIHNvIHRoZSBtYnVz IGNhbgogICBzaW1wbHkgYWxsb2NhdGUgdGhlIHdpbmRvdyBvbiB0aGF0IGJhc2UgYWRkcmVzcy4K ClNvLCBhbSBJIHJpZ2h0IG9yIGNvbXBsZXRlbHkgbG9zdD8KClRoYW5rcyBhIGxvdCBmb3IgdGhl IGhlbHAsCi0tIApFemVxdWllbCBHYXJjw61hLCBGcmVlIEVsZWN0cm9ucwpFbWJlZGRlZCBMaW51 eCwgS2VybmVsIGFuZCBBbmRyb2lkIEVuZ2luZWVyaW5nCmh0dHA6Ly9mcmVlLWVsZWN0cm9ucy5j b20KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZGV2aWNl dHJlZS1kaXNjdXNzIG1haWxpbmcgbGlzdApkZXZpY2V0cmVlLWRpc2N1c3NAbGlzdHMub3psYWJz Lm9yZwpodHRwczovL2xpc3RzLm96bGFicy5vcmcvbGlzdGluZm8vZGV2aWNldHJlZS1kaXNjdXNz Cg==