From mboxrd@z Thu Jan 1 00:00:00 1970 From: Geert Uytterhoeven Subject: Re: [PATCH v5 00/26] Fix watchdog on Renesas R-Car Gen2 and RZ/G1 Date: Wed, 14 Mar 2018 09:17:31 +0100 Message-ID: References: <1518457475-4480-1-git-send-email-fabrizio.castro@bp.renesas.com> <20180221161326.ktvf3mlzzxith5kw@verge.net.au> <20180221183223.qacrmmuzoqlzzbpo@verge.net.au> <20180223081443.ak6kl3z72kamcxob@verge.net.au> <20180313200548.fgexoxlha3coa7hs@verge.net.au> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180313200548.fgexoxlha3coa7hs@verge.net.au> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Simon Horman Cc: Mark Rutland , Geert Uytterhoeven , Catalin Marinas , Michael Turquette , Will Deacon , Wolfram Sang , Wim Van Sebroeck , linux-clk , Magnus Damm , Russell King , Guenter Roeck , Fabrizio Castro , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , Chris Paterson , Linux Watchdog Mailing List , Biju Das , Rob Herring , Linux ARM , Stephen Boyd , Linux-Renesas List-Id: devicetree@vger.kernel.org SGkgU2ltb24sCgpPbiBUdWUsIE1hciAxMywgMjAxOCBhdCA5OjA1IFBNLCBTaW1vbiBIb3JtYW4g PGhvcm1zQHZlcmdlLm5ldC5hdT4gd3JvdGU6Cj4gT24gVGh1LCBNYXIgMDEsIDIwMTggYXQgMTE6 MjA6MTFBTSArMDEwMCwgR2VlcnQgVXl0dGVyaG9ldmVuIHdyb3RlOgo+PiBPbiBGcmksIEZlYiAy MywgMjAxOCBhdCA5OjE0IEFNLCBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4gd3Jv dGU6Cj4+ID4gT24gVGh1LCBGZWIgMjIsIDIwMTggYXQgMDk6Mzg6MzlBTSArMDEwMCwgR2VlcnQg VXl0dGVyaG9ldmVuIHdyb3RlOgo+PiA+PiBPbiBXZWQsIEZlYiAyMSwgMjAxOCBhdCA3OjMyIFBN LCBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4gd3JvdGU6Cj4+ID4+ID4gT24gV2Vk LCBGZWIgMjEsIDIwMTggYXQgMDU6MzA6MTJQTSArMDEwMCwgR2VlcnQgVXl0dGVyaG9ldmVuIHdy b3RlOgo+PiA+PiA+PiBPbiBXZWQsIEZlYiAyMSwgMjAxOCBhdCA1OjEzIFBNLCBTaW1vbiBIb3Jt YW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4gd3JvdGU6Cj4+ID4+ID4+ID4gT24gVHVlLCBGZWIgMjAs IDIwMTggYXQgMDE6NTE6MjhQTSArMDEwMCwgR2VlcnQgVXl0dGVyaG9ldmVuIHdyb3RlOgo+PiA+ PiA+PiA+PiBPbiBNb24sIEZlYiAxMiwgMjAxOCBhdCA2OjQ0IFBNLCBGYWJyaXppbyBDYXN0cm8K Pj4gPj4gPj4gPj4gPGZhYnJpemlvLmNhc3Ryb0BicC5yZW5lc2FzLmNvbT4gd3JvdGU6Cj4+ID4+ ID4+ID4+ID4gdGhpcyBzZXJpZXMgaGFzIGJlZW4gYXJvdW5kIGZvciBzb21lIHRpbWUgYXMgUkZD LCBhbmQgaXQgaGFzIGNvbGxlY3RlZAo+PiA+PiA+PiA+PiA+IHVzZWZ1bCBjb21tZW50cyBmcm9t IHRoZSBjb21tdW5pdHkgYWxvbmcgdGhlIHdheS4KPj4gPj4gPj4gPj4gPiBUaGUgc29sdXRpb24g cHJvcG9zZWQgYnkgdGhpcyBwYXRjaCBzZXQgd29ya3MgZm9yIG1vc3QgUi1DYXIgR2VuMiBhbmQK Pj4gPj4gPj4gPj4gPiBSWi9HMSBkZXZpY2VzLCBidXQgbm90IGFsbCBvZiB0aGVtLiBXZSBub3cg a25vdyB0aGF0IGZvciBzb21lIFItQ2FyCj4+ID4+ID4+ID4+ID4gR2VuMiBlYXJseSByZXZpc2lv bnMgdGhlcmUgaXMgbm8gcHJvcGVyIHNvZnR3YXJlIGZpeC4gQW55d2F5LCBubwo+PiA+PiA+PiA+ PiA+IHByb2R1Y3QgaGFzIGJlZW4gYnVpbHQgYXJvdW5kIGVhcmx5IHJldmlzaW9ucywgYnV0IGRl dmVsb3BtZW50IGJvYXJkcwo+PiA+PiA+PiA+PiA+IG1vdW50aW5nIGVhcmx5IHJldmlzaW9ucyAo YmFzaWNhbGx5IHByb3RvdHlwZXMpIGFyZSBzdGlsbCBvdXQgdGhlcmUuCj4+ID4+ID4+ID4+ID4g QXMgYSByZXN1bHQsIHRoaXMgc2VyaWVzIGlzbid0IGVuYWJsaW5nIHRoZSBpbnRlcm5hbCB3YXRj aGRvZyBvbiBSLUNhcgo+PiA+PiA+PiA+PiA+IEdlbjIgYm9hcmRzLCBkZXZlbG9wZXJzIG1heSBl bmFibGUgaXQgaW4gYm9hcmQgc3BlY2lmaWMgZGV2aWNlIHRyZWVzCj4+ID4+ID4+ID4+ID4gaWYg bmVlZGVkLgo+PiA+PiA+PiA+PiA+IFRoaXMgc2VyaWVzIGhhcyBiZWVuIHRlc3RlZCBieSBtZSBv biB0aGUgaXdnMjBkLCBpd2cyMmQsIExhZ2VyLCBBbHQsCj4+ID4+ID4+ID4+ID4gYW5kIEtvZWxz Y2ggYm9hcmRzLgo+PiA+PiA+PiA+PiA+Cj4+ID4+ID4+ID4+ID4gVGhlIHByb2JsZW0KPj4gPj4g Pj4gPj4gPiA9PT09PT09PT09PQo+PiA+PiA+PiA+PiA+IFRvIGRlYWwgd2l0aCBTTVAgb24gUi1D YXIgR2VuMiBhbmQgUlovRzEsIHdlIGluc3RhbGwgYSByZXNldCB2ZWN0b3IKPj4gPj4gPj4gPj4g PiB0byBJQ1JBTTEgYW5kIHdlIHByb2dyYW0gdGhlIFtTXUJBUiByZWdpc3RlcnMgc28gdGhhdCB3 aGVuIHdlIHR1cm4gT04KPj4gPj4gPj4gPj4gPiB0aGUgbm9uLWJvb3QgQ1BVcyB0aGV5IGFyZSBy ZWRpcmVjdGVkIHRvIHRoZSByZXNldCB2ZWN0b3IgaW5zdGFsbGVkIGJ5Cj4+ID4+ID4+ID4+ID4g TGludXggaW4gSUNSQU0xLCBhbmQgZXZlbnR1YWxseSB0aGV5IGNvbnRpbnVlIHRoZSBleGVjdXRp b24gdG8gUkFNLAo+PiA+PiA+PiA+PiA+IHdoZXJlIHRoZSBTTVAgYnJpbmctdXAgY29kZSB3aWxs IHRha2UgY2FyZSBvZiB0aGUgcmVzdC4KPj4gPj4gPj4gPj4gPiBUaGUgY29udGVudCBvZiB0aGUg W1NdQkFSIHJlZ2lzdGVycyBzdXJ2aXZlcyBhIHdhdGNoZG9nIHRyaWdnZXJlZCByZXNldCwKPj4g Pj4gPj4gPj4gPiBhbmQgYXMgc3VjaCBhZnRlciB0aGUgd2F0Y2hkb2cgZmlyZXMgdGhlIGJvb3Qg Y29yZSB3aWxsIHRyeSBhbmQgZXhlY3V0ZQo+PiA+PiA+PiA+PiA+IHRoZSBTTVAgYnJpbmctdXAg Y29kZSBpbnN0ZWFkIG9mIGp1bXBpbmcgdG8gdGhlIGJvb3Ryb20gY29kZS4KPj4gPj4gPj4gPj4g Pgo+PiA+PiA+PiA+PiA+IFRoZSBmaXgKPj4gPj4gPj4gPj4gPiA9PT09PT09Cj4+ID4+ID4+ID4+ ID4gVGhlIG1haW4gc3RyYXRlZ3kgZm9yIHRoZSBzb2x1dGlvbiBpcyB0byBsZXQgdGhlIHJlc2V0 IHZlY3RvciBkZWNpZGUKPj4gPj4gPj4gPj4gPiBpZiBpdCBuZWVkcyB0byBqdW1wIHRvIHNobW9i aWxlX2Jvb3RfZm4gb3IgdG8gdGhlIGJvb3Ryb20gY29kZS4KPj4gPj4gPj4gPj4gPiBJbiBhIHdh dGNoZG9nIHRyaWdnZXJlZCByZXNldCBzY2VuYXJpbywgc2luY2UgdGhlIFtTXUJBUiByZWdpc3Rl cnMga2VlcAo+PiA+PiA+PiA+PiA+IHRoZWlyIHZhbHVlcywgdGhlIGJvb3QgQ1BVIHdpbGwganVt cCBpbnRvIHRoZSBuZXdseSBkZXNpZ25lZCByZXNldAo+PiA+PiA+PiA+PiA+IHZlY3RvciwgdGhl IGFzc2VtYmx5IHJvdXRpbmUgd2lsbCBldmVudHVhbGx5IHRlc3QgV09WRiAoYSBiaXQgaW4gcmVn aXN0ZXIKPj4gPj4gPj4gPj4gPiBSV1RDU1JBIHRoYXQgaW5kaWNhdGVzIGlmIHRoZSB3YXRjaGRv ZyBjb3VudGVyIGhhcyBvdmVyZmxvd24sIHRoZSB2YWx1ZQo+PiA+PiA+PiA+PiA+IG9mIHRoaXMg Yml0IGdldHMgcmV0YWluZWQgaW4gdGhpcyBzY2VuYXJpbyksIGFuZCBqdW1wIHRvIHRoZSBib290 cm9tIGNvZGUKPj4gPj4gPj4gPj4gPiB3aGljaCB3aWxsIGluIHR1cm4gbG9hZCB1cCB0aGUgYm9v dGxvYWRlciwgZXRjLgo+PiA+PiA+PiA+PiA+IFdoZW4gYnJpbmdpbmcgdXAgU01QIG9yIHVzaW5n IENQVSBob3RwbHVnLCB0aGUgcmVzZXQgdmVjdG9yIHdpbGwganVtcAo+PiA+PiA+PiA+PiA+IHRv IHNobW9iaWxlX2Jvb3RfZm4gaW5zdGVhZC4KPj4gPj4gPj4gPj4gPgo+PiA+PiA+PiA+PiA+IFRo YW5rIHlvdSBBbGwgZm9yIHlvdXIgaGVscC4KPj4gPj4gPj4gPj4gPgo+PiA+PiA+PiA+PiA+IEJl c3QgcmVnYXJkcywKPj4gPj4gPj4gPj4gPgo+PiA+PiA+PiA+PiA+IEZhYnJpemlvIENhc3RybyAo MjYpOgo+PiA+PiA+PiA+PiA+ICAgQVJNOiBzaG1vYmlsZTogQWRkIHdhdGNoZG9nIHN1cHBvcnQK Pj4gPj4gPj4gPj4gPiAgIEFSTTogZHRzOiByOGE3NzQzOiBBZGp1c3QgU01QIHJvdXRpbmUgc2l6 ZQo+PiA+PiA+PiA+PiA+ICAgQVJNOiBkdHM6IHI4YTc3NDU6IEFkanVzdCBTTVAgcm91dGluZSBz aXplCj4+ID4+ID4+ID4+ID4gICBBUk06IGR0czogcjhhNzc5MDogQWRqdXN0IFNNUCByb3V0aW5l IHNpemUKPj4gPj4gPj4gPj4gPiAgIEFSTTogZHRzOiByOGE3NzkxOiBBZGp1c3QgU01QIHJvdXRp bmUgc2l6ZQo+PiA+PiA+PiA+PiA+ICAgQVJNOiBkdHM6IHI4YTc3OTI6IEFkanVzdCBTTVAgcm91 dGluZSBzaXplCj4+ID4+ID4+ID4+ID4gICBBUk06IGR0czogcjhhNzc5MzogQWRqdXN0IFNNUCBy b3V0aW5lIHNpemUKPj4gPj4gPj4gPj4gPiAgIEFSTTogZHRzOiByOGE3Nzk0OiBBZGp1c3QgU01Q IHJvdXRpbmUgc2l6ZQo+PiA+PiA+PiA+PiA+ICAgc29jOiByZW5lc2FzOiByY2FyLXJzdDogRW5h YmxlIHdhdGNoZG9nIGFzIHJlc2V0IHRyaWdnZXIgZm9yIEdlbjIKPj4gPj4gPj4gPj4gPiAgIEFS TTogc2htb2JpbGU6IHJjYXItZ2VuMjogQWRkIHdhdGNoZG9nIHN1cHBvcnQKPj4gPj4gPj4gPj4g PiAgIGR0LWJpbmRpbmdzOiB3YXRjaGRvZzogcmVuZXNhcy13ZHQ6IEFkZCBSLUNhciBHZW4yIHN1 cHBvcnQKPj4gPj4gPj4gPj4gPiAgIHdhdGNoZG9nOiByZW5lc2FzX3dkdDogQWRkIFItQ2FyIEdl bjIgc3VwcG9ydAo+PiA+PiA+PiA+PiA+ICAgd2F0Y2hkb2c6IHJlbmVzYXNfd2R0OiBBZGQgcmVz dGFydCBoYW5kbGVyCj4+ID4+ID4+ID4+ID4gICBBUk06IHNobW9iaWxlOiBkZWZjb25maWc6IEVu YWJsZSBSRU5FU0FTX1dEVF9HRU4KPj4gPj4gPj4gPj4gPiAgIGNsazogcmVuZXNhczogcjhhNzc0 MzogQWRkIHJ3ZHQgY2xvY2sKPj4gPj4gPj4gPj4gPiAgIGNsazogcmVuZXNhczogcjhhNzc0NTog QWRkIHJ3ZHQgY2xvY2sKPj4gPj4gPj4gPj4gPiAgIGNsazogcmVuZXNhczogcjhhNzc5MDogQWRk IHJ3ZHQgY2xvY2sKPj4gPj4gPj4gPj4gPiAgIGNsazogcmVuZXNhczogcjhhNzc5MS9yOGE3Nzkz OiBBZGQgcndkdCBjbG9jawo+PiA+PiA+PiA+PiA+ICAgY2xrOiByZW5lc2FzOiByOGE3Nzk0OiBB ZGQgcndkdCBjbG9jawo+PiA+PiA+PiA+PiA+ICAgQVJNOiBkdHM6IHI4YTc3NDM6IEFkZCB3YXRj aGRvZyBzdXBwb3J0IHRvIFNvQyBkdHNpCj4+ID4+ID4+ID4+ID4gICBBUk06IGR0czogcjhhNzc0 NTogQWRkIHdhdGNoZG9nIHN1cHBvcnQgdG8gU29DIGR0c2kKPj4gPj4gPj4gPj4gPiAgIEFSTTog ZHRzOiByOGE3NzkwOiBBZGQgd2F0Y2hkb2cgc3VwcG9ydCB0byBTb0MgZHRzaQo+PiA+PiA+PiA+ PiA+ICAgQVJNOiBkdHM6IHI4YTc3OTE6IEFkZCB3YXRjaGRvZyBzdXBwb3J0IHRvIFNvQyBkdHNp Cj4+ID4+ID4+ID4+ID4gICBBUk06IGR0czogcjhhNzc5NDogQWRkIHdhdGNoZG9nIHN1cHBvcnQg dG8gU29DIGR0c2kKPj4gPj4gPj4gPj4gPiAgIEFSTTogZHRzOiBpd2cyMG06IEFkZCB3YXRjaGRv ZyBzdXBwb3J0IHRvIFNvTSBkdHNpCj4+ID4+ID4+ID4+ID4gICBBUk06IGR0czogaXdnMjJtOiBB ZGQgd2F0Y2hkb2cgc3VwcG9ydCB0byBTb00gZHRzaQo+PiA+PiA+PiA+PiA+Cj4+ID4+ID4+ID4+ ID4gIC4uLi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL3JlbmVzYXMtd2R0LnR4dCAgIHwg MTkgKysrKysrLS0KPj4gPj4gPj4gPj4gPiAgYXJjaC9hcm0vYm9vdC9kdHMvcjhhNzc0My1pd2cy MG0uZHRzaSAgICAgICAgICAgICAgfCAgNSArKwo+PiA+PiA+PiA+PiA+ICBhcmNoL2FybS9ib290 L2R0cy9yOGE3NzQzLmR0c2kgICAgICAgICAgICAgICAgICAgICB8IDEyICsrKystCj4+ID4+ID4+ ID4+ID4gIGFyY2gvYXJtL2Jvb3QvZHRzL3I4YTc3NDUtaXdnMjJtLmR0c2kgICAgICAgICAgICAg IHwgIDUgKysKPj4gPj4gPj4gPj4gPiAgYXJjaC9hcm0vYm9vdC9kdHMvcjhhNzc0NS5kdHNpICAg ICAgICAgICAgICAgICAgICAgfCAxMiArKysrLQo+PiA+PiA+PiA+PiA+ICBhcmNoL2FybS9ib290 L2R0cy9yOGE3NzkwLmR0c2kgICAgICAgICAgICAgICAgICAgICB8IDEyICsrKystCj4+ID4+ID4+ ID4+ID4gIGFyY2gvYXJtL2Jvb3QvZHRzL3I4YTc3OTEuZHRzaSAgICAgICAgICAgICAgICAgICAg IHwgMTIgKysrKy0KPj4gPj4gPj4gPj4gPiAgYXJjaC9hcm0vYm9vdC9kdHMvcjhhNzc5Mi5kdHNp ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+PiA+PiA+PiA+PiA+ICBhcmNoL2FybS9ib290 L2R0cy9yOGE3NzkzLmR0c2kgICAgICAgICAgICAgICAgICAgICB8ICAyICstCj4+ID4+ID4+ID4+ ID4gIGFyY2gvYXJtL2Jvb3QvZHRzL3I4YTc3OTQuZHRzaSAgICAgICAgICAgICAgICAgICAgIHwg MTIgKysrKy0KPj4gPj4gPj4gPj4gPiAgYXJjaC9hcm0vY29uZmlncy9zaG1vYmlsZV9kZWZjb25m aWcgICAgICAgICAgICAgICAgfCAgMSArCj4+ID4+ID4+ID4+ID4gIGFyY2gvYXJtL21hY2gtc2ht b2JpbGUvY29tbW9uLmggICAgICAgICAgICAgICAgICAgIHwgIDYgKysrCj4+ID4+ID4+ID4+ID4g IGFyY2gvYXJtL21hY2gtc2htb2JpbGUvaGVhZHNtcC5TICAgICAgICAgICAgICAgICAgIHwgNTUg KysrKysrKysrKysrKysrKysrKysrKwo+PiA+PiA+PiA+PiA+ICBhcmNoL2FybS9tYWNoLXNobW9i aWxlL3BsYXRzbXAtYXBtdS5jICAgICAgICAgICAgICB8ICAxICsKPj4gPj4gPj4gPj4gPiAgYXJj aC9hcm0vbWFjaC1zaG1vYmlsZS9wbS1yY2FyLWdlbjIuYyAgICAgICAgICAgICAgfCAxNSArKysr LS0KPj4gPj4gPj4gPj4gPiAgZHJpdmVycy9jbGsvcmVuZXNhcy9yOGE3NzQzLWNwZy1tc3NyLmMg ICAgICAgICAgICAgfCAgMiArCj4+ID4+ID4+ID4+ID4gIGRyaXZlcnMvY2xrL3JlbmVzYXMvcjhh Nzc0NS1jcGctbXNzci5jICAgICAgICAgICAgIHwgIDIgKwo+PiA+PiA+PiA+PiA+ICBkcml2ZXJz L2Nsay9yZW5lc2FzL3I4YTc3OTAtY3BnLW1zc3IuYyAgICAgICAgICAgICB8ICAyICsKPj4gPj4g Pj4gPj4gPiAgZHJpdmVycy9jbGsvcmVuZXNhcy9yOGE3NzkxLWNwZy1tc3NyLmMgICAgICAgICAg ICAgfCAgMiArCj4+ID4+ID4+ID4+ID4gIGRyaXZlcnMvY2xrL3JlbmVzYXMvcjhhNzc5NC1jcGct bXNzci5jICAgICAgICAgICAgIHwgIDIgKwo+PiA+PiA+PiA+PiA+ICBkcml2ZXJzL3NvYy9yZW5l c2FzL3JjYXItcnN0LmMgICAgICAgICAgICAgICAgICAgICB8IDM1ICsrKysrKysrKysrLS0tCj4+ ID4+ID4+ID4+ID4gIGRyaXZlcnMvd2F0Y2hkb2cvcmVuZXNhc193ZHQuYyAgICAgICAgICAgICAg ICAgICAgIHwgMzkgKysrKysrKysrKysrKy0tCj4+ID4+ID4+ID4+Cj4+ID4+ID4+ID4+IFRoYW5r cywgSSd2ZSBxdWV1ZWQgdGhlIGNsb2NrIHBhdGNoZXMgaW4gY2xrLXJlbmVzYXMtZm9yLXY0LjE3 LCBhcyB0aGV5IGFyZQo+PiA+PiA+PiA+PiBhIGhhcmQgZGVwZW5kZW5jeSBmb3I6Cj4+ID4+ID4+ ID4+ICAgKDEpIFRoZSBuZXcgcmVzZXQgdmVjdG9yIGluIGFyY2gvYXJtL21hY2gtc2htb2JpbGUv Cj4+ID4+ID4+ID4+ICAgKDIpIFRoZSB3YXRjaGRvZyBkcml2ZXIuCj4+ID4+ID4+ID4+Cj4+ID4+ ID4+ID4+IE5vdGUgdGhhdCB0aGUgd2F0Y2hkb2cgZHJpdmVyIGl0c2VsZiAoMikgaGFzIGEgaGFy ZCBkZXBlbmRlbmN5IG9uIHRoZQo+PiA+PiA+PiA+PiBuZXcgcmVzZXQgdmVjdG9yICgxKS4KPj4g Pj4gPj4gPgo+PiA+PiA+PiA+IFRoYW5rcywgSSBoYXZlIG1hcmtlZCB0aGUgd2F0Y2hkb2cgZHJp dmVyIHBhdGNoIGFzIERlZmVycmVkLgo+PiA+PiA+PiA+IFBsZWFzZSByZXN1Ym1pdCBvciBvdGhl cndpc2UgcGluZyBtZSBvbmNlIHRoZXkgZGVwZW5kZW5jaWVzCj4+ID4+ID4+ID4gYXJlIGluIGFu IHJjIHJlbGVhc2UuCj4+ID4+ID4+Cj4+ID4+ID4+IEkgZ2F2ZSB0aGUgZGVwZW5kZW5jaWVzIGEg Yml0IG1vcmUgdGhvdWdodC4KPj4gPj4gPj4KPj4gPj4gPj4gSSB0aGluayB3ZSBjYW4gZ2FpbiBv bmNlIHJlbGVhc2UgY3ljbGUgaWYgeW91IHdvdWxkIHBvc3Rwb25lIHRoZSBEVFMgcGF0Y2hlcwo+ PiA+PiA+PiAoYm90aCBTTVAgcm91dGluZSBzaXplIGFkanVzdG1lbnRzIGFuZCBSV0RUIGRldmlj ZSBub2RlIGFkZGl0aW9ucykgdG8gdjQuMTguCj4+ID4+ID4+IFRoZW4gYWxsIG90aGVyIHBhcnRz IGNhbiBiZSB1cHN0cmVhbWVkIGluIHBhcmFsbGVsIGluIHY0LjE3LCBhcyBub3RoaW5nCj4+ID4+ ID4+IHdpbGwgYmUgYWN0aXZhdGVkIGJlZm9yZSB0aGUgRFRTIHBhcnRzIGFyZSBpbi4KPj4gPj4g Pj4KPj4gPj4gPj4gRG9lcyB0aGlzIGxvb2sgc2FuZT8KPj4gPj4gPgo+PiA+PiA+IFdoYXQgYWJv dXQgbmV3IERUUyBvbiBvbGQga2VybmVscyBvZiBhIHNwZWNpZmljIHZpbnRhZ2U/Cj4+ID4+Cj4+ ID4+IE5ldyBEVFMgd291bGQgd29yayBmaW5lIG9uIHY0LjE2IGFuZCBvbGRlciwgd2hpY2ggZG9u J3QgaGF2ZSBhbnkgb2YgdGhlCj4+ID4+IG90aGVyIHBhdGNoZXMgZnJvbSB0aGlzIHNlcmllcy4K Pj4gPj4gTmV3IERUUyB3b3VsZCB3b3JrIGZpbmUgb24gdjQuMTcsIGFzc3VtZWQgYWxsIG90aGVy IHBhdGNoZXMgZnJvbSB0aGlzCj4+ID4+IHNlcmllcyBnZXQgaW50byB2NC4xNy4KPj4gPj4KPj4g Pj4gVGhlIG9ubHkgaXNzdWUgd291bGQgYmUgYSBuZXcgRFRTIG9uIGEga2VybmVsIHRoYXQgaGFz IHNvbWUgYnV0IG5vdCBhbGwKPj4gPj4gb3RoZXIgcGF0Y2hlcyBmcm9tIHRoaXMgc2VyaWVzLgo+ PiA+Cj4+ID4gVGhhbmtzIGZvciB0aGUgYW5hbHlzaXMuIEkgdGhpbmsgdGhpcyBpcyB0aGUga2V5 IHBvaW50LiBXaGF0IGlzIHRoZSByaXNrIG9mCj4+ID4gdGhhdCBoYXBwZW5pbmc/Cj4+Cj4+IEkg dGhpbmsgdGhlIHJpc2sgaXMgZmFpcmx5IGxvdy4KPj4gWW91IGNvbnRyb2wgd2hlbiB0aGUgRFRT IGNoYW5nZXMgZ28gaW4sIGFuZCBhbHNvIHdoZW4gdGhleSBhcmUgYmFja3BvcnRlZAo+PiB0byBM VFNJLgo+Pgo+PiA+PiBJZiB3ZSB3YW50IHRvIGZhc3QtdHJhY2sgZXZlcnl0aGluZyBpbnRvIHY0 LjE3LCB3ZSBuZWVkIGEgc3RhYmxlIGJyYW5jaCwgdG8gYmUKPj4gPj4gcHVsbGVkIGJ5IGFsbCA1 IGFjdG9ycyAoY2xrLXJlbmVzYXMsIG1hY2gtc2htb2JpbGUsIHNvYy1yZW5lc2FzLCB3YXRjaGRv ZywKPj4gPj4gcmVuZXNhcy1kdHMpLgo+PiA+Cj4+ID4gSXQgc2VlbXMgdGhhdCB3YXRjaGRvZyBp cyB0aGUgb25seSBpdGVtIG9uIHRoYXQgbGlzdCB0aGF0IG5laXRoZXIgeW91IG5vciBJCj4+ID4g c2lnbiBvZmYgb24uIFNvIEkgY29uY2x1ZGUgdGhhdCBpZiB0aGUgd2F0Y2hkb2cgcGF0Y2ggZ29l cyBpbiBlYXJseSBlbm91Z2gKPj4gPiBpbiB0aGUgY3ljbGUgdGhlbiB3ZSBvdWdodCB0byBiZSBp biBnb29kIHNoYXBlLgo+PiA+Cj4+ID4gTm9uZSB0aGUgbGVzcywgaXMgaXQgd29ydGggdGhlIHJp c2s/Cj4+Cj4+IERvIHdlIHdhbnQgdGhlIGZ1bmN0aW9uYWxpdHkgZWFybHksIG9yIGNhbiB3ZSB3 YWl0IHVudGlsIHY0LjE5Pwo+Cj4gSSB1bmRlcnN0YW5kIHRoYXQgdGhlIHdhdGNoZG9nIGRyaXZl ciBoYXMgYmVlbiBhY2NlcHRlZCBhbmQgdGhhdCBhcyB0aGluZ3MKPiBjdXJyZW50bHkgc3RhbmQg aWYgaXQgaXMgZW5hYmxlZCBpbiB0aGUgYnVpbGQgaXQgd2lsbCBiZSBlbmFibGVkIGluIERUIGFu ZAo+IGEgY3Jhc2ggd2lsbCByZXN1bHQuIEZyb20gbXkgUE9WIHRoYXQgaXMgYSByZWdyZXNzaW9u IHNvIEkgaGF2ZSBkZWNpZGVkCj4gdG8gYWRvcHQgdGhlIGFsdGVybmF0ZSBwbGFuIHByb3Bvc2Vk IGJ5IEdlZXJ0IGFib3ZlOiBpbiBzaG9ydCBkcm9wIERUCj4gcGF0Y2hlcyAodG8gYXZvaWQgZW5h YmxpbmcgYnJva2VuIGRyaXZlcikgYW5kIGVucXVldWUgbWFjaC1zaG1vYmlsZQo+IHBhdGNoZXMg KHdoaWNoIGRvbid0IG1ha2UgdGhpbmdzIGFueSB3b3JzZS4KPgo+IFBhdGNoLWJ5LXBhdGNoIHRo aW5ncyBhcmUgYXMgZm9sbG93cy4KPgo+IERyb3BwZWQgZnJvbSAiW1BBVENIIHY1IDAwLzI2XSBG aXggd2F0Y2hkb2cgb24gUmVuZXNhcyBSLUNhciBHZW4yIGFuZCBSWi9HMSI6Cj4KPiA5NzlkMjhm Mjk3NDIgQVJNOiBkdHM6IHI4YTc3NDM6IEFkanVzdCBTTVAgcm91dGluZSBzaXplCj4gMGIyMDVm Njc5ZjVkIEFSTTogZHRzOiByOGE3NzQ1OiBBZGp1c3QgU01QIHJvdXRpbmUgc2l6ZQo+IDJhZDIx YTFkNzhiMyBBUk06IGR0czogcjhhNzc5MDogQWRqdXN0IFNNUCByb3V0aW5lIHNpemUKPiA4MmM5 Nzg0NTljNzcgQVJNOiBkdHM6IHI4YTc3OTE6IEFkanVzdCBTTVAgcm91dGluZSBzaXplCj4gZDMw MzY5OGU2ZmYzIEFSTTogZHRzOiByOGE3NzkyOiBBZGp1c3QgU01QIHJvdXRpbmUgc2l6ZQo+IGQ4 YjhiOWExZTI5NSBBUk06IGR0czogcjhhNzc5MzogQWRqdXN0IFNNUCByb3V0aW5lIHNpemUKPiA3 MGIzYWIzNjk3NzMgQVJNOiBkdHM6IHI4YTc3OTQ6IEFkanVzdCBTTVAgcm91dGluZSBzaXplCj4K PiBlYmYyNmNmMWIxZGUgQVJNOiBkdHM6IHI4YTc3NDM6IEFkZCB3YXRjaGRvZyBzdXBwb3J0IHRv IFNvQyBkdHNpCj4gNWE0NTY2YWIzNzc3IEFSTTogZHRzOiByOGE3NzQ1OiBBZGQgd2F0Y2hkb2cg c3VwcG9ydCB0byBTb0MgZHRzaQo+IGFjZDU4ZTJiYjFlNSBBUk06IGR0czogcjhhNzc5MDogQWRk IHdhdGNoZG9nIHN1cHBvcnQgdG8gU29DIGR0c2kKPiBlM2Y4OTE2OGU3MmYgQVJNOiBkdHM6IHI4 YTc3OTE6IEFkZCB3YXRjaGRvZyBzdXBwb3J0IHRvIFNvQyBkdHNpCj4gZTc2YTZhNjlhMWZjIEFS TTogZHRzOiByOGE3Nzk0OiBBZGQgd2F0Y2hkb2cgc3VwcG9ydCB0byBTb0MgZHRzaQo+IDI0MmNj MWFiN2Y3YyBBUk06IGR0czogaXdnMjBtOiBBZGQgd2F0Y2hkb2cgc3VwcG9ydCB0byBTb00gZHRz aQo+IDc0OGVkMDdmNmM3YyBBUk06IGR0czogaXdnMjJtOiBBZGQgd2F0Y2hkb2cgc3VwcG9ydCB0 byBTb00gZHRzaQo+Cj4KPiBEcm9wcGVkIGZyb20gIltQQVRDSC9SRkMgMDAvMTFdIEFSTTogZHRz OiByY2FyLWdlbjI6IEVuYWJsZSB3YXRjaGRvZyBzdXBwb3J0IjoKPgo+IGMyNTcyMDI0ODJlMiBB Uk06IGR0czogcjhhNzc5MjogQWRkIFJXRFQgbm9kZQo+IDAxZWMwNGRlYzhlYiBBUk06IGR0czog cjhhNzc5MzogQWRkIFJXRFQgbm9kZQo+IDhlNmViZTRmMmY5NCBBUk06IGR0czogbGFnZXI6IEVu YWJsZSB3YXRjaGRvZyBzdXBwb3J0Cj4gZjIyM2FkMDE5OGY2IEFSTTogZHRzOiBrb2Vsc2NoOiBF bmFibGUgd2F0Y2hkb2cgc3VwcG9ydAo+IDFkMTRkMmJiNzAwZCBBUk06IGR0czogcG9ydGVyOiBF bmFibGUgd2F0Y2hkb2cgc3VwcG9ydAo+IGJmNzE2NTJmYzk1NSBBUk06IGR0czogYmxhbmNoZTog RW5hYmxlIHdhdGNoZG9nIHN1cHBvcnQKPiAxM2EwYjEwYWVlYTQgQVJNOiBkdHM6IHdoZWF0OiBF bmFibGUgd2F0Y2hkb2cgc3VwcG9ydAo+IDRlMjQ3YmYxMTBiOCBBUk06IGR0czogZ29zZTogRW5h YmxlIHdhdGNoZG9nIHN1cHBvcnQKPiAyZGNiZDI0YmJmNWUgQVJNOiBkdHM6IGFsdDogRW5hYmxl IHdhdGNoZG9nIHN1cHBvcnQKPiA3ZjY4NDRjOTAwYjQgQVJNOiBkdHM6IHNpbGs6IEVuYWJsZSB3 YXRjaGRvZyBzdXBwb3J0Cj4KPiBBbmQgYXBwbGllZDoKPgo+IFt2NV0gQVJNOiBzaG1vYmlsZTog cmNhci1nZW4yOiBBZGQgd2F0Y2hkb2cgc3VwcG9ydAo+IFt2NV0gQVJNOiBzaG1vYmlsZTogQWRk IHdhdGNoZG9nIHN1cHBvcnQKPgo+IEluIHRoZSBjYXNlIG9mIHRoZSBsYXN0IHBhdGNoIGFib3Zl IEkgcmVtb3ZlZCB0aGUgI2lmZGVmIGZyb20gdGhlIGhlYWRlciBmaWxlLgoKVGhhbmsgeW91LCBz b3VuZHMgZ29vZCB0byBtZS4KCkJUVywgd2hvIHdpbGwgdGFrZSAiZHQtYmluZGluZ3M6IHdhdGNo ZG9nOiByZW5lc2FzLXdkdDogQWRkIFItQ2FyIEdlbjIgc3VwcG9ydCI/CkfDvG50ZXIsIFdpbTog d2lsbCB5b3UgdGFrZSB0aGlzIHRocm91Z2ggdGhlIHdhdGNoZG9nIHRyZWUsIHRvbz8KClRoYW5r cyBhZ2FpbiEKCkdye29ldGplLGVldGluZ31zLAoKICAgICAgICAgICAgICAgICAgICAgICAgR2Vl cnQKCi0tCkdlZXJ0IFV5dHRlcmhvZXZlbiAtLSBUaGVyZSdzIGxvdHMgb2YgTGludXggYmV5b25k IGlhMzIgLS0gZ2VlcnRAbGludXgtbTY4ay5vcmcKCkluIHBlcnNvbmFsIGNvbnZlcnNhdGlvbnMg d2l0aCB0ZWNobmljYWwgcGVvcGxlLCBJIGNhbGwgbXlzZWxmIGEgaGFja2VyLiBCdXQKd2hlbiBJ J20gdGFsa2luZyB0byBqb3VybmFsaXN0cyBJIGp1c3Qgc2F5ICJwcm9ncmFtbWVyIiBvciBzb21l dGhpbmcgbGlrZSB0aGF0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIExpbnVz IFRvcnZhbGRzCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmlu ZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s aW51eC1hcm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt0-f169.google.com ([209.85.216.169]:35268 "EHLO mail-qt0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753642AbeCNIRd (ORCPT ); Wed, 14 Mar 2018 04:17:33 -0400 MIME-Version: 1.0 In-Reply-To: <20180313200548.fgexoxlha3coa7hs@verge.net.au> References: <1518457475-4480-1-git-send-email-fabrizio.castro@bp.renesas.com> <20180221161326.ktvf3mlzzxith5kw@verge.net.au> <20180221183223.qacrmmuzoqlzzbpo@verge.net.au> <20180223081443.ak6kl3z72kamcxob@verge.net.au> <20180313200548.fgexoxlha3coa7hs@verge.net.au> From: Geert Uytterhoeven Date: Wed, 14 Mar 2018 09:17:31 +0100 Message-ID: Subject: Re: [PATCH v5 00/26] Fix watchdog on Renesas R-Car Gen2 and RZ/G1 To: Simon Horman Cc: Fabrizio Castro , Philipp Zabel , Rob Herring , Mark Rutland , Wim Van Sebroeck , Russell King , Catalin Marinas , Will Deacon , Michael Turquette , Stephen Boyd , Magnus Damm , Geert Uytterhoeven , Wolfram Sang , Guenter Roeck , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , Linux Watchdog Mailing List , Linux-Renesas , Linux ARM , linux-clk , Chris Paterson , Biju Das , Ramesh Shanmugasundaram Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-watchdog-owner@vger.kernel.org List-Id: linux-watchdog@vger.kernel.org Hi Simon, On Tue, Mar 13, 2018 at 9:05 PM, Simon Horman wrote: > On Thu, Mar 01, 2018 at 11:20:11AM +0100, Geert Uytterhoeven wrote: >> On Fri, Feb 23, 2018 at 9:14 AM, Simon Horman wrote= : >> > On Thu, Feb 22, 2018 at 09:38:39AM +0100, Geert Uytterhoeven wrote: >> >> On Wed, Feb 21, 2018 at 7:32 PM, Simon Horman wr= ote: >> >> > On Wed, Feb 21, 2018 at 05:30:12PM +0100, Geert Uytterhoeven wrote: >> >> >> On Wed, Feb 21, 2018 at 5:13 PM, Simon Horman = wrote: >> >> >> > On Tue, Feb 20, 2018 at 01:51:28PM +0100, Geert Uytterhoeven wro= te: >> >> >> >> On Mon, Feb 12, 2018 at 6:44 PM, Fabrizio Castro >> >> >> >> wrote: >> >> >> >> > this series has been around for some time as RFC, and it has = collected >> >> >> >> > useful comments from the community along the way. >> >> >> >> > The solution proposed by this patch set works for most R-Car = Gen2 and >> >> >> >> > RZ/G1 devices, but not all of them. We now know that for some= R-Car >> >> >> >> > Gen2 early revisions there is no proper software fix. Anyway,= no >> >> >> >> > product has been built around early revisions, but developmen= t boards >> >> >> >> > mounting early revisions (basically prototypes) are still out= there. >> >> >> >> > As a result, this series isn't enabling the internal watchdog= on R-Car >> >> >> >> > Gen2 boards, developers may enable it in board specific devic= e trees >> >> >> >> > if needed. >> >> >> >> > This series has been tested by me on the iwg20d, iwg22d, Lage= r, Alt, >> >> >> >> > and Koelsch boards. >> >> >> >> > >> >> >> >> > The problem >> >> >> >> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> >> >> >> > To deal with SMP on R-Car Gen2 and RZ/G1, we install a reset = vector >> >> >> >> > to ICRAM1 and we program the [S]BAR registers so that when we= turn ON >> >> >> >> > the non-boot CPUs they are redirected to the reset vector ins= talled by >> >> >> >> > Linux in ICRAM1, and eventually they continue the execution t= o RAM, >> >> >> >> > where the SMP bring-up code will take care of the rest. >> >> >> >> > The content of the [S]BAR registers survives a watchdog trigg= ered reset, >> >> >> >> > and as such after the watchdog fires the boot core will try a= nd execute >> >> >> >> > the SMP bring-up code instead of jumping to the bootrom code. >> >> >> >> > >> >> >> >> > The fix >> >> >> >> > =3D=3D=3D=3D=3D=3D=3D >> >> >> >> > The main strategy for the solution is to let the reset vector= decide >> >> >> >> > if it needs to jump to shmobile_boot_fn or to the bootrom cod= e. >> >> >> >> > In a watchdog triggered reset scenario, since the [S]BAR regi= sters keep >> >> >> >> > their values, the boot CPU will jump into the newly designed = reset >> >> >> >> > vector, the assembly routine will eventually test WOVF (a bit= in register >> >> >> >> > RWTCSRA that indicates if the watchdog counter has overflown,= the value >> >> >> >> > of this bit gets retained in this scenario), and jump to the = bootrom code >> >> >> >> > which will in turn load up the bootloader, etc. >> >> >> >> > When bringing up SMP or using CPU hotplug, the reset vector w= ill jump >> >> >> >> > to shmobile_boot_fn instead. >> >> >> >> > >> >> >> >> > Thank you All for your help. >> >> >> >> > >> >> >> >> > Best regards, >> >> >> >> > >> >> >> >> > Fabrizio Castro (26): >> >> >> >> > ARM: shmobile: Add watchdog support >> >> >> >> > ARM: dts: r8a7743: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7745: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7790: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7791: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7792: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7793: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7794: Adjust SMP routine size >> >> >> >> > soc: renesas: rcar-rst: Enable watchdog as reset trigger fo= r Gen2 >> >> >> >> > ARM: shmobile: rcar-gen2: Add watchdog support >> >> >> >> > dt-bindings: watchdog: renesas-wdt: Add R-Car Gen2 support >> >> >> >> > watchdog: renesas_wdt: Add R-Car Gen2 support >> >> >> >> > watchdog: renesas_wdt: Add restart handler >> >> >> >> > ARM: shmobile: defconfig: Enable RENESAS_WDT_GEN >> >> >> >> > clk: renesas: r8a7743: Add rwdt clock >> >> >> >> > clk: renesas: r8a7745: Add rwdt clock >> >> >> >> > clk: renesas: r8a7790: Add rwdt clock >> >> >> >> > clk: renesas: r8a7791/r8a7793: Add rwdt clock >> >> >> >> > clk: renesas: r8a7794: Add rwdt clock >> >> >> >> > ARM: dts: r8a7743: Add watchdog support to SoC dtsi >> >> >> >> > ARM: dts: r8a7745: Add watchdog support to SoC dtsi >> >> >> >> > ARM: dts: r8a7790: Add watchdog support to SoC dtsi >> >> >> >> > ARM: dts: r8a7791: Add watchdog support to SoC dtsi >> >> >> >> > ARM: dts: r8a7794: Add watchdog support to SoC dtsi >> >> >> >> > ARM: dts: iwg20m: Add watchdog support to SoM dtsi >> >> >> >> > ARM: dts: iwg22m: Add watchdog support to SoM dtsi >> >> >> >> > >> >> >> >> > .../devicetree/bindings/watchdog/renesas-wdt.txt | 19 ++++= ++-- >> >> >> >> > arch/arm/boot/dts/r8a7743-iwg20m.dtsi | 5 ++ >> >> >> >> > arch/arm/boot/dts/r8a7743.dtsi | 12 ++++= - >> >> >> >> > arch/arm/boot/dts/r8a7745-iwg22m.dtsi | 5 ++ >> >> >> >> > arch/arm/boot/dts/r8a7745.dtsi | 12 ++++= - >> >> >> >> > arch/arm/boot/dts/r8a7790.dtsi | 12 ++++= - >> >> >> >> > arch/arm/boot/dts/r8a7791.dtsi | 12 ++++= - >> >> >> >> > arch/arm/boot/dts/r8a7792.dtsi | 2 +- >> >> >> >> > arch/arm/boot/dts/r8a7793.dtsi | 2 +- >> >> >> >> > arch/arm/boot/dts/r8a7794.dtsi | 12 ++++= - >> >> >> >> > arch/arm/configs/shmobile_defconfig | 1 + >> >> >> >> > arch/arm/mach-shmobile/common.h | 6 +++ >> >> >> >> > arch/arm/mach-shmobile/headsmp.S | 55 ++++= ++++++++++++++++++ >> >> >> >> > arch/arm/mach-shmobile/platsmp-apmu.c | 1 + >> >> >> >> > arch/arm/mach-shmobile/pm-rcar-gen2.c | 15 ++++= -- >> >> >> >> > drivers/clk/renesas/r8a7743-cpg-mssr.c | 2 + >> >> >> >> > drivers/clk/renesas/r8a7745-cpg-mssr.c | 2 + >> >> >> >> > drivers/clk/renesas/r8a7790-cpg-mssr.c | 2 + >> >> >> >> > drivers/clk/renesas/r8a7791-cpg-mssr.c | 2 + >> >> >> >> > drivers/clk/renesas/r8a7794-cpg-mssr.c | 2 + >> >> >> >> > drivers/soc/renesas/rcar-rst.c | 35 ++++= +++++++--- >> >> >> >> > drivers/watchdog/renesas_wdt.c | 39 ++++= +++++++++-- >> >> >> >> >> >> >> >> Thanks, I've queued the clock patches in clk-renesas-for-v4.17,= as they are >> >> >> >> a hard dependency for: >> >> >> >> (1) The new reset vector in arch/arm/mach-shmobile/ >> >> >> >> (2) The watchdog driver. >> >> >> >> >> >> >> >> Note that the watchdog driver itself (2) has a hard dependency = on the >> >> >> >> new reset vector (1). >> >> >> > >> >> >> > Thanks, I have marked the watchdog driver patch as Deferred. >> >> >> > Please resubmit or otherwise ping me once they dependencies >> >> >> > are in an rc release. >> >> >> >> >> >> I gave the dependencies a bit more thought. >> >> >> >> >> >> I think we can gain once release cycle if you would postpone the D= TS patches >> >> >> (both SMP routine size adjustments and RWDT device node additions)= to v4.18. >> >> >> Then all other parts can be upstreamed in parallel in v4.17, as no= thing >> >> >> will be activated before the DTS parts are in. >> >> >> >> >> >> Does this look sane? >> >> > >> >> > What about new DTS on old kernels of a specific vintage? >> >> >> >> New DTS would work fine on v4.16 and older, which don't have any of t= he >> >> other patches from this series. >> >> New DTS would work fine on v4.17, assumed all other patches from this >> >> series get into v4.17. >> >> >> >> The only issue would be a new DTS on a kernel that has some but not a= ll >> >> other patches from this series. >> > >> > Thanks for the analysis. I think this is the key point. What is the ri= sk of >> > that happening? >> >> I think the risk is fairly low. >> You control when the DTS changes go in, and also when they are backporte= d >> to LTSI. >> >> >> If we want to fast-track everything into v4.17, we need a stable bran= ch, to be >> >> pulled by all 5 actors (clk-renesas, mach-shmobile, soc-renesas, watc= hdog, >> >> renesas-dts). >> > >> > It seems that watchdog is the only item on that list that neither you = nor I >> > sign off on. So I conclude that if the watchdog patch goes in early en= ough >> > in the cycle then we ought to be in good shape. >> > >> > None the less, is it worth the risk? >> >> Do we want the functionality early, or can we wait until v4.19? > > I understand that the watchdog driver has been accepted and that as thing= s > currently stand if it is enabled in the build it will be enabled in DT an= d > a crash will result. From my POV that is a regression so I have decided > to adopt the alternate plan proposed by Geert above: in short drop DT > patches (to avoid enabling broken driver) and enqueue mach-shmobile > patches (which don't make things any worse. > > Patch-by-patch things are as follows. > > Dropped from "[PATCH v5 00/26] Fix watchdog on Renesas R-Car Gen2 and RZ/= G1": > > 979d28f29742 ARM: dts: r8a7743: Adjust SMP routine size > 0b205f679f5d ARM: dts: r8a7745: Adjust SMP routine size > 2ad21a1d78b3 ARM: dts: r8a7790: Adjust SMP routine size > 82c978459c77 ARM: dts: r8a7791: Adjust SMP routine size > d303698e6ff3 ARM: dts: r8a7792: Adjust SMP routine size > d8b8b9a1e295 ARM: dts: r8a7793: Adjust SMP routine size > 70b3ab369773 ARM: dts: r8a7794: Adjust SMP routine size > > ebf26cf1b1de ARM: dts: r8a7743: Add watchdog support to SoC dtsi > 5a4566ab3777 ARM: dts: r8a7745: Add watchdog support to SoC dtsi > acd58e2bb1e5 ARM: dts: r8a7790: Add watchdog support to SoC dtsi > e3f89168e72f ARM: dts: r8a7791: Add watchdog support to SoC dtsi > e76a6a69a1fc ARM: dts: r8a7794: Add watchdog support to SoC dtsi > 242cc1ab7f7c ARM: dts: iwg20m: Add watchdog support to SoM dtsi > 748ed07f6c7c ARM: dts: iwg22m: Add watchdog support to SoM dtsi > > > Dropped from "[PATCH/RFC 00/11] ARM: dts: rcar-gen2: Enable watchdog supp= ort": > > c257202482e2 ARM: dts: r8a7792: Add RWDT node > 01ec04dec8eb ARM: dts: r8a7793: Add RWDT node > 8e6ebe4f2f94 ARM: dts: lager: Enable watchdog support > f223ad0198f6 ARM: dts: koelsch: Enable watchdog support > 1d14d2bb700d ARM: dts: porter: Enable watchdog support > bf71652fc955 ARM: dts: blanche: Enable watchdog support > 13a0b10aeea4 ARM: dts: wheat: Enable watchdog support > 4e247bf110b8 ARM: dts: gose: Enable watchdog support > 2dcbd24bbf5e ARM: dts: alt: Enable watchdog support > 7f6844c900b4 ARM: dts: silk: Enable watchdog support > > And applied: > > [v5] ARM: shmobile: rcar-gen2: Add watchdog support > [v5] ARM: shmobile: Add watchdog support > > In the case of the last patch above I removed the #ifdef from the header = file. Thank you, sounds good to me. BTW, who will take "dt-bindings: watchdog: renesas-wdt: Add R-Car Gen2 supp= ort"? G=C3=BCnter, Wim: will you take this through the watchdog tree, too? Thanks again! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k= .org In personal conversations with technical people, I call myself a hacker. Bu= t when I'm talking to journalists I just say "programmer" or something like t= hat. -- Linus Torvalds From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: MIME-Version: 1.0 Sender: geert.uytterhoeven@gmail.com In-Reply-To: <20180313200548.fgexoxlha3coa7hs@verge.net.au> References: <1518457475-4480-1-git-send-email-fabrizio.castro@bp.renesas.com> <20180221161326.ktvf3mlzzxith5kw@verge.net.au> <20180221183223.qacrmmuzoqlzzbpo@verge.net.au> <20180223081443.ak6kl3z72kamcxob@verge.net.au> <20180313200548.fgexoxlha3coa7hs@verge.net.au> From: Geert Uytterhoeven Date: Wed, 14 Mar 2018 09:17:31 +0100 Message-ID: Subject: Re: [PATCH v5 00/26] Fix watchdog on Renesas R-Car Gen2 and RZ/G1 To: Simon Horman Cc: Fabrizio Castro , Philipp Zabel , Rob Herring , Mark Rutland , Wim Van Sebroeck , Russell King , Catalin Marinas , Will Deacon , Michael Turquette , Stephen Boyd , Magnus Damm , Geert Uytterhoeven , Wolfram Sang , Guenter Roeck , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , Linux Watchdog Mailing List , Linux-Renesas , Linux ARM , linux-clk , Chris Paterson , Biju Das , Ramesh Shanmugasundaram Content-Type: text/plain; charset="UTF-8" List-ID: Hi Simon, On Tue, Mar 13, 2018 at 9:05 PM, Simon Horman wrote: > On Thu, Mar 01, 2018 at 11:20:11AM +0100, Geert Uytterhoeven wrote: >> On Fri, Feb 23, 2018 at 9:14 AM, Simon Horman wrote= : >> > On Thu, Feb 22, 2018 at 09:38:39AM +0100, Geert Uytterhoeven wrote: >> >> On Wed, Feb 21, 2018 at 7:32 PM, Simon Horman wr= ote: >> >> > On Wed, Feb 21, 2018 at 05:30:12PM +0100, Geert Uytterhoeven wrote: >> >> >> On Wed, Feb 21, 2018 at 5:13 PM, Simon Horman = wrote: >> >> >> > On Tue, Feb 20, 2018 at 01:51:28PM +0100, Geert Uytterhoeven wro= te: >> >> >> >> On Mon, Feb 12, 2018 at 6:44 PM, Fabrizio Castro >> >> >> >> wrote: >> >> >> >> > this series has been around for some time as RFC, and it has = collected >> >> >> >> > useful comments from the community along the way. >> >> >> >> > The solution proposed by this patch set works for most R-Car = Gen2 and >> >> >> >> > RZ/G1 devices, but not all of them. We now know that for some= R-Car >> >> >> >> > Gen2 early revisions there is no proper software fix. Anyway,= no >> >> >> >> > product has been built around early revisions, but developmen= t boards >> >> >> >> > mounting early revisions (basically prototypes) are still out= there. >> >> >> >> > As a result, this series isn't enabling the internal watchdog= on R-Car >> >> >> >> > Gen2 boards, developers may enable it in board specific devic= e trees >> >> >> >> > if needed. >> >> >> >> > This series has been tested by me on the iwg20d, iwg22d, Lage= r, Alt, >> >> >> >> > and Koelsch boards. >> >> >> >> > >> >> >> >> > The problem >> >> >> >> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> >> >> >> > To deal with SMP on R-Car Gen2 and RZ/G1, we install a reset = vector >> >> >> >> > to ICRAM1 and we program the [S]BAR registers so that when we= turn ON >> >> >> >> > the non-boot CPUs they are redirected to the reset vector ins= talled by >> >> >> >> > Linux in ICRAM1, and eventually they continue the execution t= o RAM, >> >> >> >> > where the SMP bring-up code will take care of the rest. >> >> >> >> > The content of the [S]BAR registers survives a watchdog trigg= ered reset, >> >> >> >> > and as such after the watchdog fires the boot core will try a= nd execute >> >> >> >> > the SMP bring-up code instead of jumping to the bootrom code. >> >> >> >> > >> >> >> >> > The fix >> >> >> >> > =3D=3D=3D=3D=3D=3D=3D >> >> >> >> > The main strategy for the solution is to let the reset vector= decide >> >> >> >> > if it needs to jump to shmobile_boot_fn or to the bootrom cod= e. >> >> >> >> > In a watchdog triggered reset scenario, since the [S]BAR regi= sters keep >> >> >> >> > their values, the boot CPU will jump into the newly designed = reset >> >> >> >> > vector, the assembly routine will eventually test WOVF (a bit= in register >> >> >> >> > RWTCSRA that indicates if the watchdog counter has overflown,= the value >> >> >> >> > of this bit gets retained in this scenario), and jump to the = bootrom code >> >> >> >> > which will in turn load up the bootloader, etc. >> >> >> >> > When bringing up SMP or using CPU hotplug, the reset vector w= ill jump >> >> >> >> > to shmobile_boot_fn instead. >> >> >> >> > >> >> >> >> > Thank you All for your help. >> >> >> >> > >> >> >> >> > Best regards, >> >> >> >> > >> >> >> >> > Fabrizio Castro (26): >> >> >> >> > ARM: shmobile: Add watchdog support >> >> >> >> > ARM: dts: r8a7743: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7745: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7790: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7791: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7792: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7793: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7794: Adjust SMP routine size >> >> >> >> > soc: renesas: rcar-rst: Enable watchdog as reset trigger fo= r Gen2 >> >> >> >> > ARM: shmobile: rcar-gen2: Add watchdog support >> >> >> >> > dt-bindings: watchdog: renesas-wdt: Add R-Car Gen2 support >> >> >> >> > watchdog: renesas_wdt: Add R-Car Gen2 support >> >> >> >> > watchdog: renesas_wdt: Add restart handler >> >> >> >> > ARM: shmobile: defconfig: Enable RENESAS_WDT_GEN >> >> >> >> > clk: renesas: r8a7743: Add rwdt clock >> >> >> >> > clk: renesas: r8a7745: Add rwdt clock >> >> >> >> > clk: renesas: r8a7790: Add rwdt clock >> >> >> >> > clk: renesas: r8a7791/r8a7793: Add rwdt clock >> >> >> >> > clk: renesas: r8a7794: Add rwdt clock >> >> >> >> > ARM: dts: r8a7743: Add watchdog support to SoC dtsi >> >> >> >> > ARM: dts: r8a7745: Add watchdog support to SoC dtsi >> >> >> >> > ARM: dts: r8a7790: Add watchdog support to SoC dtsi >> >> >> >> > ARM: dts: r8a7791: Add watchdog support to SoC dtsi >> >> >> >> > ARM: dts: r8a7794: Add watchdog support to SoC dtsi >> >> >> >> > ARM: dts: iwg20m: Add watchdog support to SoM dtsi >> >> >> >> > ARM: dts: iwg22m: Add watchdog support to SoM dtsi >> >> >> >> > >> >> >> >> > .../devicetree/bindings/watchdog/renesas-wdt.txt | 19 ++++= ++-- >> >> >> >> > arch/arm/boot/dts/r8a7743-iwg20m.dtsi | 5 ++ >> >> >> >> > arch/arm/boot/dts/r8a7743.dtsi | 12 ++++= - >> >> >> >> > arch/arm/boot/dts/r8a7745-iwg22m.dtsi | 5 ++ >> >> >> >> > arch/arm/boot/dts/r8a7745.dtsi | 12 ++++= - >> >> >> >> > arch/arm/boot/dts/r8a7790.dtsi | 12 ++++= - >> >> >> >> > arch/arm/boot/dts/r8a7791.dtsi | 12 ++++= - >> >> >> >> > arch/arm/boot/dts/r8a7792.dtsi | 2 +- >> >> >> >> > arch/arm/boot/dts/r8a7793.dtsi | 2 +- >> >> >> >> > arch/arm/boot/dts/r8a7794.dtsi | 12 ++++= - >> >> >> >> > arch/arm/configs/shmobile_defconfig | 1 + >> >> >> >> > arch/arm/mach-shmobile/common.h | 6 +++ >> >> >> >> > arch/arm/mach-shmobile/headsmp.S | 55 ++++= ++++++++++++++++++ >> >> >> >> > arch/arm/mach-shmobile/platsmp-apmu.c | 1 + >> >> >> >> > arch/arm/mach-shmobile/pm-rcar-gen2.c | 15 ++++= -- >> >> >> >> > drivers/clk/renesas/r8a7743-cpg-mssr.c | 2 + >> >> >> >> > drivers/clk/renesas/r8a7745-cpg-mssr.c | 2 + >> >> >> >> > drivers/clk/renesas/r8a7790-cpg-mssr.c | 2 + >> >> >> >> > drivers/clk/renesas/r8a7791-cpg-mssr.c | 2 + >> >> >> >> > drivers/clk/renesas/r8a7794-cpg-mssr.c | 2 + >> >> >> >> > drivers/soc/renesas/rcar-rst.c | 35 ++++= +++++++--- >> >> >> >> > drivers/watchdog/renesas_wdt.c | 39 ++++= +++++++++-- >> >> >> >> >> >> >> >> Thanks, I've queued the clock patches in clk-renesas-for-v4.17,= as they are >> >> >> >> a hard dependency for: >> >> >> >> (1) The new reset vector in arch/arm/mach-shmobile/ >> >> >> >> (2) The watchdog driver. >> >> >> >> >> >> >> >> Note that the watchdog driver itself (2) has a hard dependency = on the >> >> >> >> new reset vector (1). >> >> >> > >> >> >> > Thanks, I have marked the watchdog driver patch as Deferred. >> >> >> > Please resubmit or otherwise ping me once they dependencies >> >> >> > are in an rc release. >> >> >> >> >> >> I gave the dependencies a bit more thought. >> >> >> >> >> >> I think we can gain once release cycle if you would postpone the D= TS patches >> >> >> (both SMP routine size adjustments and RWDT device node additions)= to v4.18. >> >> >> Then all other parts can be upstreamed in parallel in v4.17, as no= thing >> >> >> will be activated before the DTS parts are in. >> >> >> >> >> >> Does this look sane? >> >> > >> >> > What about new DTS on old kernels of a specific vintage? >> >> >> >> New DTS would work fine on v4.16 and older, which don't have any of t= he >> >> other patches from this series. >> >> New DTS would work fine on v4.17, assumed all other patches from this >> >> series get into v4.17. >> >> >> >> The only issue would be a new DTS on a kernel that has some but not a= ll >> >> other patches from this series. >> > >> > Thanks for the analysis. I think this is the key point. What is the ri= sk of >> > that happening? >> >> I think the risk is fairly low. >> You control when the DTS changes go in, and also when they are backporte= d >> to LTSI. >> >> >> If we want to fast-track everything into v4.17, we need a stable bran= ch, to be >> >> pulled by all 5 actors (clk-renesas, mach-shmobile, soc-renesas, watc= hdog, >> >> renesas-dts). >> > >> > It seems that watchdog is the only item on that list that neither you = nor I >> > sign off on. So I conclude that if the watchdog patch goes in early en= ough >> > in the cycle then we ought to be in good shape. >> > >> > None the less, is it worth the risk? >> >> Do we want the functionality early, or can we wait until v4.19? > > I understand that the watchdog driver has been accepted and that as thing= s > currently stand if it is enabled in the build it will be enabled in DT an= d > a crash will result. From my POV that is a regression so I have decided > to adopt the alternate plan proposed by Geert above: in short drop DT > patches (to avoid enabling broken driver) and enqueue mach-shmobile > patches (which don't make things any worse. > > Patch-by-patch things are as follows. > > Dropped from "[PATCH v5 00/26] Fix watchdog on Renesas R-Car Gen2 and RZ/= G1": > > 979d28f29742 ARM: dts: r8a7743: Adjust SMP routine size > 0b205f679f5d ARM: dts: r8a7745: Adjust SMP routine size > 2ad21a1d78b3 ARM: dts: r8a7790: Adjust SMP routine size > 82c978459c77 ARM: dts: r8a7791: Adjust SMP routine size > d303698e6ff3 ARM: dts: r8a7792: Adjust SMP routine size > d8b8b9a1e295 ARM: dts: r8a7793: Adjust SMP routine size > 70b3ab369773 ARM: dts: r8a7794: Adjust SMP routine size > > ebf26cf1b1de ARM: dts: r8a7743: Add watchdog support to SoC dtsi > 5a4566ab3777 ARM: dts: r8a7745: Add watchdog support to SoC dtsi > acd58e2bb1e5 ARM: dts: r8a7790: Add watchdog support to SoC dtsi > e3f89168e72f ARM: dts: r8a7791: Add watchdog support to SoC dtsi > e76a6a69a1fc ARM: dts: r8a7794: Add watchdog support to SoC dtsi > 242cc1ab7f7c ARM: dts: iwg20m: Add watchdog support to SoM dtsi > 748ed07f6c7c ARM: dts: iwg22m: Add watchdog support to SoM dtsi > > > Dropped from "[PATCH/RFC 00/11] ARM: dts: rcar-gen2: Enable watchdog supp= ort": > > c257202482e2 ARM: dts: r8a7792: Add RWDT node > 01ec04dec8eb ARM: dts: r8a7793: Add RWDT node > 8e6ebe4f2f94 ARM: dts: lager: Enable watchdog support > f223ad0198f6 ARM: dts: koelsch: Enable watchdog support > 1d14d2bb700d ARM: dts: porter: Enable watchdog support > bf71652fc955 ARM: dts: blanche: Enable watchdog support > 13a0b10aeea4 ARM: dts: wheat: Enable watchdog support > 4e247bf110b8 ARM: dts: gose: Enable watchdog support > 2dcbd24bbf5e ARM: dts: alt: Enable watchdog support > 7f6844c900b4 ARM: dts: silk: Enable watchdog support > > And applied: > > [v5] ARM: shmobile: rcar-gen2: Add watchdog support > [v5] ARM: shmobile: Add watchdog support > > In the case of the last patch above I removed the #ifdef from the header = file. Thank you, sounds good to me. BTW, who will take "dt-bindings: watchdog: renesas-wdt: Add R-Car Gen2 supp= ort"? G=C3=BCnter, Wim: will you take this through the watchdog tree, too? Thanks again! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k= .org In personal conversations with technical people, I call myself a hacker. Bu= t when I'm talking to journalists I just say "programmer" or something like t= hat. -- Linus Torvalds From mboxrd@z Thu Jan 1 00:00:00 1970 From: geert@linux-m68k.org (Geert Uytterhoeven) Date: Wed, 14 Mar 2018 09:17:31 +0100 Subject: [PATCH v5 00/26] Fix watchdog on Renesas R-Car Gen2 and RZ/G1 In-Reply-To: <20180313200548.fgexoxlha3coa7hs@verge.net.au> References: <1518457475-4480-1-git-send-email-fabrizio.castro@bp.renesas.com> <20180221161326.ktvf3mlzzxith5kw@verge.net.au> <20180221183223.qacrmmuzoqlzzbpo@verge.net.au> <20180223081443.ak6kl3z72kamcxob@verge.net.au> <20180313200548.fgexoxlha3coa7hs@verge.net.au> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Simon, On Tue, Mar 13, 2018 at 9:05 PM, Simon Horman wrote: > On Thu, Mar 01, 2018 at 11:20:11AM +0100, Geert Uytterhoeven wrote: >> On Fri, Feb 23, 2018 at 9:14 AM, Simon Horman wrote: >> > On Thu, Feb 22, 2018 at 09:38:39AM +0100, Geert Uytterhoeven wrote: >> >> On Wed, Feb 21, 2018 at 7:32 PM, Simon Horman wrote: >> >> > On Wed, Feb 21, 2018 at 05:30:12PM +0100, Geert Uytterhoeven wrote: >> >> >> On Wed, Feb 21, 2018 at 5:13 PM, Simon Horman wrote: >> >> >> > On Tue, Feb 20, 2018 at 01:51:28PM +0100, Geert Uytterhoeven wrote: >> >> >> >> On Mon, Feb 12, 2018 at 6:44 PM, Fabrizio Castro >> >> >> >> wrote: >> >> >> >> > this series has been around for some time as RFC, and it has collected >> >> >> >> > useful comments from the community along the way. >> >> >> >> > The solution proposed by this patch set works for most R-Car Gen2 and >> >> >> >> > RZ/G1 devices, but not all of them. We now know that for some R-Car >> >> >> >> > Gen2 early revisions there is no proper software fix. Anyway, no >> >> >> >> > product has been built around early revisions, but development boards >> >> >> >> > mounting early revisions (basically prototypes) are still out there. >> >> >> >> > As a result, this series isn't enabling the internal watchdog on R-Car >> >> >> >> > Gen2 boards, developers may enable it in board specific device trees >> >> >> >> > if needed. >> >> >> >> > This series has been tested by me on the iwg20d, iwg22d, Lager, Alt, >> >> >> >> > and Koelsch boards. >> >> >> >> > >> >> >> >> > The problem >> >> >> >> > =========== >> >> >> >> > To deal with SMP on R-Car Gen2 and RZ/G1, we install a reset vector >> >> >> >> > to ICRAM1 and we program the [S]BAR registers so that when we turn ON >> >> >> >> > the non-boot CPUs they are redirected to the reset vector installed by >> >> >> >> > Linux in ICRAM1, and eventually they continue the execution to RAM, >> >> >> >> > where the SMP bring-up code will take care of the rest. >> >> >> >> > The content of the [S]BAR registers survives a watchdog triggered reset, >> >> >> >> > and as such after the watchdog fires the boot core will try and execute >> >> >> >> > the SMP bring-up code instead of jumping to the bootrom code. >> >> >> >> > >> >> >> >> > The fix >> >> >> >> > ======= >> >> >> >> > The main strategy for the solution is to let the reset vector decide >> >> >> >> > if it needs to jump to shmobile_boot_fn or to the bootrom code. >> >> >> >> > In a watchdog triggered reset scenario, since the [S]BAR registers keep >> >> >> >> > their values, the boot CPU will jump into the newly designed reset >> >> >> >> > vector, the assembly routine will eventually test WOVF (a bit in register >> >> >> >> > RWTCSRA that indicates if the watchdog counter has overflown, the value >> >> >> >> > of this bit gets retained in this scenario), and jump to the bootrom code >> >> >> >> > which will in turn load up the bootloader, etc. >> >> >> >> > When bringing up SMP or using CPU hotplug, the reset vector will jump >> >> >> >> > to shmobile_boot_fn instead. >> >> >> >> > >> >> >> >> > Thank you All for your help. >> >> >> >> > >> >> >> >> > Best regards, >> >> >> >> > >> >> >> >> > Fabrizio Castro (26): >> >> >> >> > ARM: shmobile: Add watchdog support >> >> >> >> > ARM: dts: r8a7743: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7745: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7790: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7791: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7792: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7793: Adjust SMP routine size >> >> >> >> > ARM: dts: r8a7794: Adjust SMP routine size >> >> >> >> > soc: renesas: rcar-rst: Enable watchdog as reset trigger for Gen2 >> >> >> >> > ARM: shmobile: rcar-gen2: Add watchdog support >> >> >> >> > dt-bindings: watchdog: renesas-wdt: Add R-Car Gen2 support >> >> >> >> > watchdog: renesas_wdt: Add R-Car Gen2 support >> >> >> >> > watchdog: renesas_wdt: Add restart handler >> >> >> >> > ARM: shmobile: defconfig: Enable RENESAS_WDT_GEN >> >> >> >> > clk: renesas: r8a7743: Add rwdt clock >> >> >> >> > clk: renesas: r8a7745: Add rwdt clock >> >> >> >> > clk: renesas: r8a7790: Add rwdt clock >> >> >> >> > clk: renesas: r8a7791/r8a7793: Add rwdt clock >> >> >> >> > clk: renesas: r8a7794: Add rwdt clock >> >> >> >> > ARM: dts: r8a7743: Add watchdog support to SoC dtsi >> >> >> >> > ARM: dts: r8a7745: Add watchdog support to SoC dtsi >> >> >> >> > ARM: dts: r8a7790: Add watchdog support to SoC dtsi >> >> >> >> > ARM: dts: r8a7791: Add watchdog support to SoC dtsi >> >> >> >> > ARM: dts: r8a7794: Add watchdog support to SoC dtsi >> >> >> >> > ARM: dts: iwg20m: Add watchdog support to SoM dtsi >> >> >> >> > ARM: dts: iwg22m: Add watchdog support to SoM dtsi >> >> >> >> > >> >> >> >> > .../devicetree/bindings/watchdog/renesas-wdt.txt | 19 ++++++-- >> >> >> >> > arch/arm/boot/dts/r8a7743-iwg20m.dtsi | 5 ++ >> >> >> >> > arch/arm/boot/dts/r8a7743.dtsi | 12 ++++- >> >> >> >> > arch/arm/boot/dts/r8a7745-iwg22m.dtsi | 5 ++ >> >> >> >> > arch/arm/boot/dts/r8a7745.dtsi | 12 ++++- >> >> >> >> > arch/arm/boot/dts/r8a7790.dtsi | 12 ++++- >> >> >> >> > arch/arm/boot/dts/r8a7791.dtsi | 12 ++++- >> >> >> >> > arch/arm/boot/dts/r8a7792.dtsi | 2 +- >> >> >> >> > arch/arm/boot/dts/r8a7793.dtsi | 2 +- >> >> >> >> > arch/arm/boot/dts/r8a7794.dtsi | 12 ++++- >> >> >> >> > arch/arm/configs/shmobile_defconfig | 1 + >> >> >> >> > arch/arm/mach-shmobile/common.h | 6 +++ >> >> >> >> > arch/arm/mach-shmobile/headsmp.S | 55 ++++++++++++++++++++++ >> >> >> >> > arch/arm/mach-shmobile/platsmp-apmu.c | 1 + >> >> >> >> > arch/arm/mach-shmobile/pm-rcar-gen2.c | 15 ++++-- >> >> >> >> > drivers/clk/renesas/r8a7743-cpg-mssr.c | 2 + >> >> >> >> > drivers/clk/renesas/r8a7745-cpg-mssr.c | 2 + >> >> >> >> > drivers/clk/renesas/r8a7790-cpg-mssr.c | 2 + >> >> >> >> > drivers/clk/renesas/r8a7791-cpg-mssr.c | 2 + >> >> >> >> > drivers/clk/renesas/r8a7794-cpg-mssr.c | 2 + >> >> >> >> > drivers/soc/renesas/rcar-rst.c | 35 +++++++++++--- >> >> >> >> > drivers/watchdog/renesas_wdt.c | 39 +++++++++++++-- >> >> >> >> >> >> >> >> Thanks, I've queued the clock patches in clk-renesas-for-v4.17, as they are >> >> >> >> a hard dependency for: >> >> >> >> (1) The new reset vector in arch/arm/mach-shmobile/ >> >> >> >> (2) The watchdog driver. >> >> >> >> >> >> >> >> Note that the watchdog driver itself (2) has a hard dependency on the >> >> >> >> new reset vector (1). >> >> >> > >> >> >> > Thanks, I have marked the watchdog driver patch as Deferred. >> >> >> > Please resubmit or otherwise ping me once they dependencies >> >> >> > are in an rc release. >> >> >> >> >> >> I gave the dependencies a bit more thought. >> >> >> >> >> >> I think we can gain once release cycle if you would postpone the DTS patches >> >> >> (both SMP routine size adjustments and RWDT device node additions) to v4.18. >> >> >> Then all other parts can be upstreamed in parallel in v4.17, as nothing >> >> >> will be activated before the DTS parts are in. >> >> >> >> >> >> Does this look sane? >> >> > >> >> > What about new DTS on old kernels of a specific vintage? >> >> >> >> New DTS would work fine on v4.16 and older, which don't have any of the >> >> other patches from this series. >> >> New DTS would work fine on v4.17, assumed all other patches from this >> >> series get into v4.17. >> >> >> >> The only issue would be a new DTS on a kernel that has some but not all >> >> other patches from this series. >> > >> > Thanks for the analysis. I think this is the key point. What is the risk of >> > that happening? >> >> I think the risk is fairly low. >> You control when the DTS changes go in, and also when they are backported >> to LTSI. >> >> >> If we want to fast-track everything into v4.17, we need a stable branch, to be >> >> pulled by all 5 actors (clk-renesas, mach-shmobile, soc-renesas, watchdog, >> >> renesas-dts). >> > >> > It seems that watchdog is the only item on that list that neither you nor I >> > sign off on. So I conclude that if the watchdog patch goes in early enough >> > in the cycle then we ought to be in good shape. >> > >> > None the less, is it worth the risk? >> >> Do we want the functionality early, or can we wait until v4.19? > > I understand that the watchdog driver has been accepted and that as things > currently stand if it is enabled in the build it will be enabled in DT and > a crash will result. From my POV that is a regression so I have decided > to adopt the alternate plan proposed by Geert above: in short drop DT > patches (to avoid enabling broken driver) and enqueue mach-shmobile > patches (which don't make things any worse. > > Patch-by-patch things are as follows. > > Dropped from "[PATCH v5 00/26] Fix watchdog on Renesas R-Car Gen2 and RZ/G1": > > 979d28f29742 ARM: dts: r8a7743: Adjust SMP routine size > 0b205f679f5d ARM: dts: r8a7745: Adjust SMP routine size > 2ad21a1d78b3 ARM: dts: r8a7790: Adjust SMP routine size > 82c978459c77 ARM: dts: r8a7791: Adjust SMP routine size > d303698e6ff3 ARM: dts: r8a7792: Adjust SMP routine size > d8b8b9a1e295 ARM: dts: r8a7793: Adjust SMP routine size > 70b3ab369773 ARM: dts: r8a7794: Adjust SMP routine size > > ebf26cf1b1de ARM: dts: r8a7743: Add watchdog support to SoC dtsi > 5a4566ab3777 ARM: dts: r8a7745: Add watchdog support to SoC dtsi > acd58e2bb1e5 ARM: dts: r8a7790: Add watchdog support to SoC dtsi > e3f89168e72f ARM: dts: r8a7791: Add watchdog support to SoC dtsi > e76a6a69a1fc ARM: dts: r8a7794: Add watchdog support to SoC dtsi > 242cc1ab7f7c ARM: dts: iwg20m: Add watchdog support to SoM dtsi > 748ed07f6c7c ARM: dts: iwg22m: Add watchdog support to SoM dtsi > > > Dropped from "[PATCH/RFC 00/11] ARM: dts: rcar-gen2: Enable watchdog support": > > c257202482e2 ARM: dts: r8a7792: Add RWDT node > 01ec04dec8eb ARM: dts: r8a7793: Add RWDT node > 8e6ebe4f2f94 ARM: dts: lager: Enable watchdog support > f223ad0198f6 ARM: dts: koelsch: Enable watchdog support > 1d14d2bb700d ARM: dts: porter: Enable watchdog support > bf71652fc955 ARM: dts: blanche: Enable watchdog support > 13a0b10aeea4 ARM: dts: wheat: Enable watchdog support > 4e247bf110b8 ARM: dts: gose: Enable watchdog support > 2dcbd24bbf5e ARM: dts: alt: Enable watchdog support > 7f6844c900b4 ARM: dts: silk: Enable watchdog support > > And applied: > > [v5] ARM: shmobile: rcar-gen2: Add watchdog support > [v5] ARM: shmobile: Add watchdog support > > In the case of the last patch above I removed the #ifdef from the header file. Thank you, sounds good to me. BTW, who will take "dt-bindings: watchdog: renesas-wdt: Add R-Car Gen2 support"? G?nter, Wim: will you take this through the watchdog tree, too? Thanks again! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds