From mboxrd@z Thu Jan 1 00:00:00 1970 From: daniel.lezcano@linaro.org (Daniel Lezcano) Date: Mon, 30 Jan 2017 22:54:30 +0100 Subject: [PATCH v9 0/4] arm64: arch_timer: Add workaround for hisilicon-161010101 erratum In-Reply-To: <20170130155209.GC1160@leverpostej> References: <1484832916-7248-1-git-send-email-dingtianhong@huawei.com> <765699aa-cbc6-67eb-9108-cbf335338e4c@linaro.org> <35cf654f-3944-fc76-5120-25e33f71be4f@arm.com> <20170124163551.GB2021@mai> <20170130155209.GC1160@leverpostej> Message-ID: <20170130215430.GJ2206@mai> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Mon, Jan 30, 2017 at 03:52:09PM +0000, Mark Rutland wrote: > Hi Daniel, > > On Tue, Jan 24, 2017 at 05:35:51PM +0100, Daniel Lezcano wrote: > > That wasn't my point. The way the errata are handled in this patchset is > > elegant and I have nothing against it. I'm worried about the accumulation of > > fixes, hacks, workarounds in this driver. So my naive question is about not > > using an identified bogus clocksource and use another one available on the > > board, which is I believe often the case, instead of trying to deal with bogus > > hardware. Apparently, that is not possible because 1) of KVM, 2) of duplication > > and 3) of integration with the ARM64 code. > > > > Does it mean it is not possible to use another clocksource/clockevent than the > > armv8-timer ? > > > > Can you elaborate these three points ? > > Practically speaking, these platforms have no other clocksource or > clockevent device that I am aware of, which can be enumerated in a > standard manner using ACPI. > > For point 1, KVM is intimately familiar with the architected timer > (which is managed during VM context switch in hyp code, for example). > KVM knows nothing of other clocksource or clockevent devices, and it is > far from trivial to plumb these in either way. Since the architected > timer is a mandatory part of ARMv8, guests may attempt to use it > regardless. > > For point 3, arm64 currently requires the architected timer as this is > mandatory per the ARMv8 architecture. It is non-trivial to add support > for other devices to the vDSO, the delay loop, etc. Ok, thanks for these clarifications. > Localising these quirks to the architected timer driver is by far the > least worst option available. Marc and I are perfectly happy to manage > that. It is up to me to ensure the clockevent/clocksource drivers in general are following the right direction. And this driver looks more and more opaque. I will spend some times to do a review of the driver as soon as I have time. So we finish the reviews of this series, you take the patches when I ack them up, but from this point, any submission for this driver will have to stick to the standard submission rules, that is to say: Thomas Gleixner and I have to be recipients of the patches and go through our tree. Dependency issues with other patchset must be solved before applying them in another tree. Thanks. -- Daniel -- Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Lezcano Subject: Re: [PATCH v9 0/4] arm64: arch_timer: Add workaround for hisilicon-161010101 erratum Date: Mon, 30 Jan 2017 22:54:30 +0100 Message-ID: <20170130215430.GJ2206@mai> References: <1484832916-7248-1-git-send-email-dingtianhong@huawei.com> <765699aa-cbc6-67eb-9108-cbf335338e4c@linaro.org> <35cf654f-3944-fc76-5120-25e33f71be4f@arm.com> <20170124163551.GB2021@mai> <20170130155209.GC1160@leverpostej> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20170130155209.GC1160@leverpostej> 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: Mark Rutland Cc: devicetree@vger.kernel.org, Marc Zyngier , catalin.marinas@arm.com, will.deacon@arm.com, stuart.yoder@nxp.com, linuxarm@huawei.com, oss@buserror.net, Ding Tianhong , shawnguo@kernel.org, linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org T24gTW9uLCBKYW4gMzAsIDIwMTcgYXQgMDM6NTI6MDlQTSArMDAwMCwgTWFyayBSdXRsYW5kIHdy b3RlOgo+IEhpIERhbmllbCwKPiAKPiBPbiBUdWUsIEphbiAyNCwgMjAxNyBhdCAwNTozNTo1MVBN ICswMTAwLCBEYW5pZWwgTGV6Y2FubyB3cm90ZToKPiA+IFRoYXQgd2Fzbid0IG15IHBvaW50LiBU aGUgd2F5IHRoZSBlcnJhdGEgYXJlIGhhbmRsZWQgaW4gdGhpcyBwYXRjaHNldCBpcwo+ID4gZWxl Z2FudCBhbmQgSSBoYXZlIG5vdGhpbmcgYWdhaW5zdCBpdC4gSSdtIHdvcnJpZWQgYWJvdXQgdGhl IGFjY3VtdWxhdGlvbiBvZgo+ID4gZml4ZXMsIGhhY2tzLCB3b3JrYXJvdW5kcyBpbiB0aGlzIGRy aXZlci4gU28gbXkgbmFpdmUgcXVlc3Rpb24gaXMgYWJvdXQgbm90Cj4gPiB1c2luZyBhbiBpZGVu dGlmaWVkIGJvZ3VzIGNsb2Nrc291cmNlIGFuZCB1c2UgYW5vdGhlciBvbmUgYXZhaWxhYmxlIG9u IHRoZQo+ID4gYm9hcmQsIHdoaWNoIGlzIEkgYmVsaWV2ZSBvZnRlbiB0aGUgY2FzZSwgaW5zdGVh ZCBvZiB0cnlpbmcgdG8gZGVhbCB3aXRoIGJvZ3VzCj4gPiBoYXJkd2FyZS4gQXBwYXJlbnRseSwg dGhhdCBpcyBub3QgcG9zc2libGUgYmVjYXVzZSAxKSBvZiBLVk0sIDIpIG9mIGR1cGxpY2F0aW9u Cj4gPiBhbmQgMykgb2YgaW50ZWdyYXRpb24gd2l0aCB0aGUgQVJNNjQgY29kZS4KPiA+IAo+ID4g RG9lcyBpdCBtZWFuIGl0IGlzIG5vdCBwb3NzaWJsZSB0byB1c2UgYW5vdGhlciBjbG9ja3NvdXJj ZS9jbG9ja2V2ZW50IHRoYW4gdGhlCj4gPiBhcm12OC10aW1lciA/Cj4gPiAKPiA+IENhbiB5b3Ug ZWxhYm9yYXRlIHRoZXNlIHRocmVlIHBvaW50cyA/IAo+IAo+IFByYWN0aWNhbGx5IHNwZWFraW5n LCB0aGVzZSBwbGF0Zm9ybXMgaGF2ZSBubyBvdGhlciBjbG9ja3NvdXJjZSBvcgo+IGNsb2NrZXZl bnQgZGV2aWNlIHRoYXQgSSBhbSBhd2FyZSBvZiwgd2hpY2ggY2FuIGJlIGVudW1lcmF0ZWQgaW4g YQo+IHN0YW5kYXJkIG1hbm5lciB1c2luZyBBQ1BJLgo+IAo+IEZvciBwb2ludCAxLCBLVk0gaXMg aW50aW1hdGVseSBmYW1pbGlhciB3aXRoIHRoZSBhcmNoaXRlY3RlZCB0aW1lcgo+ICh3aGljaCBp cyBtYW5hZ2VkIGR1cmluZyBWTSBjb250ZXh0IHN3aXRjaCBpbiBoeXAgY29kZSwgZm9yIGV4YW1w bGUpLgo+IEtWTSBrbm93cyBub3RoaW5nIG9mIG90aGVyIGNsb2Nrc291cmNlIG9yIGNsb2NrZXZl bnQgZGV2aWNlcywgYW5kIGl0IGlzCj4gZmFyIGZyb20gdHJpdmlhbCB0byBwbHVtYiB0aGVzZSBp biBlaXRoZXIgd2F5LiBTaW5jZSB0aGUgYXJjaGl0ZWN0ZWQKPiB0aW1lciBpcyBhIG1hbmRhdG9y eSBwYXJ0IG9mIEFSTXY4LCBndWVzdHMgbWF5IGF0dGVtcHQgdG8gdXNlIGl0Cj4gcmVnYXJkbGVz cy4KPiAKPiBGb3IgcG9pbnQgMywgYXJtNjQgY3VycmVudGx5IHJlcXVpcmVzIHRoZSBhcmNoaXRl Y3RlZCB0aW1lciBhcyB0aGlzIGlzCj4gbWFuZGF0b3J5IHBlciB0aGUgQVJNdjggYXJjaGl0ZWN0 dXJlLiBJdCBpcyBub24tdHJpdmlhbCB0byBhZGQgc3VwcG9ydAo+IGZvciBvdGhlciBkZXZpY2Vz IHRvIHRoZSB2RFNPLCB0aGUgZGVsYXkgbG9vcCwgZXRjLgoKT2ssIHRoYW5rcyBmb3IgdGhlc2Ug Y2xhcmlmaWNhdGlvbnMuCgo+IExvY2FsaXNpbmcgdGhlc2UgcXVpcmtzIHRvIHRoZSBhcmNoaXRl Y3RlZCB0aW1lciBkcml2ZXIgaXMgYnkgZmFyIHRoZQo+IGxlYXN0IHdvcnN0IG9wdGlvbiBhdmFp bGFibGUuIE1hcmMgYW5kIEkgYXJlIHBlcmZlY3RseSBoYXBweSB0byBtYW5hZ2UKPiB0aGF0LgoK SXQgaXMgdXAgdG8gbWUgdG8gZW5zdXJlIHRoZSBjbG9ja2V2ZW50L2Nsb2Nrc291cmNlIGRyaXZl cnMgaW4gZ2VuZXJhbCBhcmUKZm9sbG93aW5nIHRoZSByaWdodCBkaXJlY3Rpb24uIEFuZCB0aGlz IGRyaXZlciBsb29rcyBtb3JlIGFuZCBtb3JlIG9wYXF1ZS4gSQp3aWxsIHNwZW5kIHNvbWUgdGlt ZXMgdG8gZG8gYSByZXZpZXcgb2YgdGhlIGRyaXZlciBhcyBzb29uIGFzIEkgaGF2ZSB0aW1lLgoK U28gd2UgZmluaXNoIHRoZSByZXZpZXdzIG9mIHRoaXMgc2VyaWVzLCB5b3UgdGFrZSB0aGUgcGF0 Y2hlcyB3aGVuIEkgYWNrIHRoZW0gdXAsCmJ1dCBmcm9tIHRoaXMgcG9pbnQsIGFueSBzdWJtaXNz aW9uIGZvciB0aGlzIGRyaXZlciB3aWxsIGhhdmUgdG8gc3RpY2sgdG8gdGhlCnN0YW5kYXJkIHN1 Ym1pc3Npb24gcnVsZXMsIHRoYXQgaXMgdG8gc2F5OiBUaG9tYXMgR2xlaXhuZXIgYW5kIEkgaGF2 ZSB0byBiZQpyZWNpcGllbnRzIG9mIHRoZSBwYXRjaGVzIGFuZCBnbyB0aHJvdWdoIG91ciB0cmVl LiBEZXBlbmRlbmN5IGlzc3VlcyB3aXRoCm90aGVyIHBhdGNoc2V0IG11c3QgYmUgc29sdmVkIGJl Zm9yZSBhcHBseWluZyB0aGVtIGluIGFub3RoZXIgdHJlZS4KClRoYW5rcy4KCiAgLS0gRGFuaWVs CgotLSAKCiA8aHR0cDovL3d3dy5saW5hcm8ub3JnLz4gTGluYXJvLm9yZyDilIIgT3BlbiBzb3Vy Y2Ugc29mdHdhcmUgZm9yIEFSTSBTb0NzCgpGb2xsb3cgTGluYXJvOiAgPGh0dHA6Ly93d3cuZmFj ZWJvb2suY29tL3BhZ2VzL0xpbmFybz4gRmFjZWJvb2sgfAo8aHR0cDovL3R3aXR0ZXIuY29tLyMh L2xpbmFyb29yZz4gVHdpdHRlciB8CjxodHRwOi8vd3d3LmxpbmFyby5vcmcvbGluYXJvLWJsb2cv PiBCbG9nCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwps aW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1hcm0ta2VybmVsCg==