From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2C5B8C352A3 for ; Tue, 11 Feb 2020 08:08:23 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EFD5E2082F for ; Tue, 11 Feb 2020 08:08:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="U8uRrLpr" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EFD5E2082F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date: Message-ID:From:References:To:Subject:Reply-To:Content-ID:Content-Description :Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=cT07LMjB+9A1Qhd62VHxohvJFFjjLvy4nuQQPE3Kp/o=; b=U8uRrLprGeMi3W Torr67JPBkmzO/XBRV9etj1TWO8klLnyempL4PdvtBURQct+HixHlg55E4RvRtX0WjR9Eh6Nstr/n Aew5WUmVrbFXR6QmZ6TZFQUqoGzXyLI/58s9SEugLcCbljDws4DzPaQe7kBDWnIhYlVOPjHsRxaT4 iqIyhXAAtyGk96hT9axCEoe4St09DiLgIoPqzVu0HB7LTm9NFOeM15Ti8vkernNt9F/J+ydhoXluK 6FvCRidA08RCnuEPupPiZBvoJVpSXU4Kkm2g7ydazLuAOEGmL6Z6au7sVh2FVrjZVKqfD1dRjLt93 lM1NK8v1h5iOjN2GXdzw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1j1Qae-0001DG-IV; Tue, 11 Feb 2020 08:08:16 +0000 Received: from mx2.suse.de ([195.135.220.15]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1j1Qaa-0001C7-Jf for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2020 08:08:14 +0000 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 3B116AC9D; Tue, 11 Feb 2020 08:08:09 +0000 (UTC) Subject: Re: [PATCH 1/3] hwspinlock: sunxi: Implement support for Allwinner's A64 SoC To: Maxime Ripard References: <20200210170143.20007-1-nborisov@suse.com> <20200210170143.20007-2-nborisov@suse.com> <20200211074643.uhhzpp4ycvkaz4pd@gilmour.lan> From: Nikolay Borisov Autocrypt: addr=nborisov@suse.com; prefer-encrypt=mutual; keydata= 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 Message-ID: <7fb0e4f7-4da6-517f-6e96-9b3dc6ee4e56@suse.com> Date: Tue, 11 Feb 2020 10:08:08 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <20200211074643.uhhzpp4ycvkaz4pd@gilmour.lan> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200211_000812_938384_E72CFE01 X-CRM114-Status: GOOD ( 34.75 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-arm-kernel@lists.infradead.org, bjorn.andersson@linaro.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpPbiAxMS4wMi4yMCDQsy4gOTo0NiDRhy4sIE1heGltZSBSaXBhcmQgd3JvdGU6Cj4gSGksCj4g Cj4gT24gTW9uLCBGZWIgMTAsIDIwMjAgYXQgMDc6MDE6NDFQTSArMDIwMCwgTmlrb2xheSBCb3Jp c292IHdyb3RlOgo+PiBCYXNlZCBvbiB0aGUgZGF0YXNoZWV0IHRoaXMgaW1wbGVtZW50cyBzdXBw b3J0IGZvciB0aGUgaHdzcGlubG9jayBJUAo+PiBibG9jay4KPiAKPiBIb3cgd2FzIHRoaXMgdGVz dGVkPwoKSSB0ZXN0ZWQgaXQgb24gbXkgcGluZTY0IGx0cyBlLmcuIGxvYWRpbmcgdGhlIGRyaXZl ciBhbmQgcmVhZGluZyB0aGUKcmVzZXQvY2xvY2svc3lzc3RhdHVzIHJlZ2lzdGVycyB0byBlbnN1 cmUgZXZlcnl0aGluZyBpcyB1bm1hc2tlZCBhbmQgaGFzCmV4cGVjdGVkIHZhbHVlcy4KCj4gCj4g VGhlcmUncyBhbHNvIGEgbG90IG9mIGNoZWNrcGF0Y2ggaXNzdWVzLCBtYWtlIHN1cmUgeW91IGZp eCB0aG9zZS4KPiAKPj4gU2lnbmVkLW9mZi1ieTogTmlrb2xheSBCb3Jpc292IDxuYm9yaXNvdkBz dXNlLmNvbT4KPj4gLS0tCj4+ICBkcml2ZXJzL2h3c3BpbmxvY2svS2NvbmZpZyAgICAgICAgICAg IHwgICA5ICsrCj4+ICBkcml2ZXJzL2h3c3BpbmxvY2svTWFrZWZpbGUgICAgICAgICAgIHwgICAx ICsKPj4gIGRyaXZlcnMvaHdzcGlubG9jay9zdW54aV9od3NwaW5sb2NrLmMgfCAxODEgKysrKysr KysrKysrKysrKysrKysrKysrKysKPj4gIDMgZmlsZXMgY2hhbmdlZCwgMTkxIGluc2VydGlvbnMo KykKPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2h3c3BpbmxvY2svc3VueGlfaHdzcGlu bG9jay5jCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2h3c3BpbmxvY2svS2NvbmZpZyBiL2Ry aXZlcnMvaHdzcGlubG9jay9LY29uZmlnCj4+IGluZGV4IDM3NzQwZTk5MmNmYS4uZWJjMWVhNDhl ZjE2IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2h3c3BpbmxvY2svS2NvbmZpZwo+PiArKysgYi9k cml2ZXJzL2h3c3BpbmxvY2svS2NvbmZpZwo+PiBAQCAtNjgsMyArNjgsMTIgQEAgY29uZmlnIEhT RU1fVTg1MDAKPj4gIAkgIFNvQy4KPj4KPj4gIAkgIElmIHVuc3VyZSwgc2F5IE4uCj4+ICsKPj4g K2NvbmZpZyBIV1NQSU5MT0NLX1NVTlhJCj4+ICsJdHJpc3RhdGUgIkFsbHdpbm5lciBIYXJkd2Fy ZSBTcGlubG9jayBkZXZpY2UiCj4+ICsJZGVwZW5kcyBvbiBBUkNIX1NVTlhJCj4+ICsJZGVwZW5k cyBvbiBIV1NQSU5MT0NLCj4+ICsJaGVscAo+PiArCSAgU2F5IHkgaGVyZSB0byBzdXBwb3J0IHRo ZSBTVU5YSSBIYXJkd2FyZSBTcGlubG9jayBkZXZpY2UuCj4+ICsKPj4gKwkgIElmIHVuc3VyZSwg c2F5IE4uCj4gCj4gc3VueGkgZG9lc24ndCByZWFsbHkgbWVhbiBhbnl0aGluZyB0aG91Z2gsIHRo ZSBBMTAgaXMgYWxzbyBwYXJ0IG9mIHRoZQo+IHN1bnhpIGZhbWlseSBhbmQgZG9lc24ndCBoYXZl IHRoYXQgSVAuIFNpbWlsYXJseSwgbm90aGluZyBwcmV2ZW50cyBhCj4gZnV0dXJlIFNvQyBmcm9t IGNoYW5naW5nIHRoYXQgZGVzaWduLiBUaGUgZmlyc3QgU29DIHRoYXQgdXNlZCBpdCB3YXMKPiB0 aGUgQTMzIGlpcmMsIHNvIGxldCdzIGp1c3QgdXNlIHN1bjhpLgoKRmFpciBlbm91Z2gsIEkgd2ls bCB1c2UgdGhlIHNhbWUgZm9yIHRoZSBzeW1ib2xzIGFzIHdlbGwuIFRCSCB0aGUKbm9tZW5jbGF0 dXJlIGlzIHF1aXRlIGNvbmZ1c2luZyBpbiBhbGx3aW5uZXIgbGFuZC4uLgoKQWN0dWFsbHkgc2lu Y2UgdGhpcyBkcml2ZXIgd2lsbCBpbml0aWFsbHkgc3VwcG9ydCBBNjQgc2hvdWxkbid0IHRoZQpz eW1ib2xzIHJlYWxseSBiZSBwcmVmaXhlZCB3aXRoIHN1bjUwaSwgc2luY2UgbG9va2luZyBhdApo dHRwczovL2xpbnV4LXN1bnhpLm9yZy9BbGx3aW5uZXJfU29DX0ZhbWlseSBzdW44aSBwZXJ0YWlu cyB0byAzMiBiaXQgQTcKY29yZXM/Cgo+IAo8c25pcD4KPj4gKwo+PiArCS8qCj4+ICsJICogbWFr ZSBzdXJlIHRoZSBtb2R1bGUgaXMgZW5hYmxlZCBhbmQgY2xvY2tlZCBiZWZvcmUgcmVhZGluZwo+ PiArCSAqIHRoZSBtb2R1bGUgU1lTU1RBVFVTIHJlZ2lzdGVyCj4+ICsJICovCj4gCj4gWW91IGRv bid0IGRlZmluZSB0aGF0IHJlZ2lzdGVyIGFueXdoZXJlPwo+IAo+PiArCWNsayA9IGRldm1fY2xr X2dldCgmcGRldi0+ZGV2LCBOVUxMKTsKPj4gKwlpZiAoSVNfRVJSKGNsaykpCj4+ICsJCXJldHVy biBQVFJfRVJSKGNsayk7Cj4+ICsKPj4gKwlyZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUoY2xrKTsK Pj4gKwlpZiAocmV0KSB7Cj4+ICsJCWRldl9lcnIoJnBkZXYtPmRldiwgIkNhbm5vdCBlbmFibGUg Y2xvY2tcbiIpOwo+PiArCQlyZXR1cm4gcmV0Owo+PiArCX0KPiAKPiBDYW4ndCB3ZSBkbyB0aGF0 IHdpdGggcnVudGltZV9wbT8KClByb2JhYmx5IGNhbiBidXQgSSdtIG5ldyB0byBkZXZpY2UgZHJp dmVyIGRldmVsb3BtZW50IHNvIEkgZG9uJ3QKdW5kZXJzdGFuZCBhbGwgdGhlIGltcGxpY2F0aW9u cyBvZiB1c2luZyB0aGUgcG0gZnJhbWV3b3JrLiBJIHNhdyB0aGF0Cm90aGVyIGRyaXZlcnMgZGlk IHRoaXMgYnV0IGF0bSBpdCdzIHRlcnJhIGluY29nbml0YSB0byBtZS4KCj4gCj4+ICsJLyogRGlz YWJsZSBzb2Z0IHJlc2V0ICovCj4+ICsgICAgICAgIHJlc2V0PSBkZXZtX3Jlc2V0X2NvbnRyb2xf Z2V0X2V4Y2x1c2l2ZSgmcGRldi0+ZGV2LCBOVUxMKTsKPj4gKyAgICAgICAgaWYgKElTX0VSUihy ZXNldCkpIHsKPj4gKyAgICAgICAgICAgICAgICByZXQgPSBQVFJfRVJSKHJlc2V0KTsKPj4gKyAg ICAgICAgICAgICAgICBnb3RvIG91dF9kZWNsb2NrOwo+PiArICAgICAgICB9Cj4+ICsgICAgICAg IHJlc2V0X2NvbnRyb2xfZGVhc3NlcnQocmVzZXQpOwo+IAo+IFdlIG1pZ2h0IGhhdmUgdGhlIHNh bWUgaXNzdWUgdGhhbiB0aGUgbWFpbGJveCBkcml2ZXIgd2hlcmUgdGhlCj4gZmlybXdhcmUgd2ls bCBuZWVkIHRvIGFjY2VzcyB0aGUgYmxvY2sgYXQgYW55IHRpbWUsIHNvIHdlIGNhbid0IHJlYWxs eQo+IHRvZ2dsZSB0aGUgcmVzZXQgbGluZSBhcyB3ZSB3YW50LgoKV2hhdCBzaG91bGQgd2UgZG8g dGhlbiA/Cgo+IAo+PiArCW51bV9sb2NrcyA9IHN1bnhpX2dldF9udW1fbG9ja3MoaW9fYmFzZSk7 Cj4+ICsJaWYgKCFudW1fbG9ja3MpIHsKPj4gKwkJZGV2X2VycigmcGRldi0+ZGV2LCAiVW5yZWNv Z25pc2VkIHN1bnhpIGh3c3BpbmxvY2sgZGV2aWNlXG4iKTsKPj4gKwkJcmV0ID0gLUVJTlZBTDsK Pj4gKwkJZ290byBvdXRfcmVzZXQ7Cj4+ICsJfQo+PiArCj4+ICsJaHcgPSBkZXZtX2t6YWxsb2Mo JnBkZXYtPmRldiwgc2l6ZW9mKCpodykgKwo+PiArCQkJICBudW1fbG9ja3MgKiBzaXplb2Yoc3Ry dWN0IGh3c3BpbmxvY2spLCBHRlBfS0VSTkVMKTsKPj4gKwlpZiAoIWh3KSB7Cj4+ICsJCXJldCA9 IC1FTk9NRU07Cj4+ICsJCWdvdG8gb3V0X3Jlc2V0Owo+PiArCX0KPiAKPiBUaGF0IGxvb2tzIHJh dGhlciBjb252b2x1dGVkIChlc3BlY2lhbGx5IHNpbmNlIHRoZSB2YXJpYWJsZSBsZW5ndGgKPiBh cnJheSBpcyBhdCB0aGUgc2Vjb25kIGxldmVsKSwgYW5kIGNhbiBiZSBtYWRlIG1vcmUgb2J2aW91 cyBieToKPiAKPiAtIFJlbW92aW5nIHRoZSBod3NwaW5sb2NrX2RldmljZSBmcm9tIHN1bnhpX2h3 c3BpbmxvY2sgYW5kIGFsbG9jYXRpbmcKPiAgIGJvdGggc2VwYXJhdGVseS4KPiAKPiAtIEFuZCB0 aGVuIGFsbG9jYXRlIHRoZSBod3NwaW5sb2NrX2RldmljZSBzZXBhcmF0ZWx5IHdpdGggc3RydWN0 X3NpemUKCkFjdHVhbGx5IHRoaXMgY2FuIGJlIGFsbG9jYXRlZCB2aWEgc3RydWN0X3NpemUgZS5n LiBzdHJ1Y3Rfc2l6ZShodywKYmFuay5sb2NrLCBudW1fbG9ja3MpLgoKPiAKPj4gKwlody0+Y2xr ID0gY2xrOwo+PiArCWh3LT5yZXNldCA9IHJlc2V0Owo+IAo+IFdoeSBub3QgdXNpbmcgdGhlIHN0 cnVjdHVyZSBkaXJlY3RseSBpbnN0ZWFkIG9mIGhhdmluZyB0ZW1wb3JhcnkKPiB2YXJpYWJsZXM/ CgpCZWNhdXNlIEkgdXNlIHRoZSBjbGsvcmVzZXQgYmVmb3JlIGFsbG9jYXRpbmcgdGhlIGRldm1l bS4KCj4gCj4+ICsJaW9fYmFzZSArPSBMT0NLX0JBU0VfT0ZGU0VUOwo+PiArCWZvciAoaSA9IDA7 IGkgPCBudW1fbG9ja3M7IGkrKykKPj4gKwkJaHctPmJhbmsubG9ja1tpXS5wcml2ID0gaW9fYmFz ZSArIGkgKiBzaXplb2YodTMyKTsKPiAKPiBVc2luZyBhIGRlZmluZSBmb3IgdGhlIHJlZ2lzdGVy cyBvZmZzZXQgd291bGQgYmUgbmljZSBoZXJlLiAKCnlvdSBtZWFuIHNvbWV0aGluZyBsaWtlOgoK IyBkZWZpbmUgTE9DSyhYKSAoeCAqIHNpemVvZih1MzIpKQoKSSB0aGluayB0aGlzIGJyaW5ncyBt b3JlIG5lZWRsZXNzIGluZGlyZWN0aW9uIHRoYW4gaGVscHMgYnV0IGlmIHlvdQppbnNpc3QgSSB3 b24ndCBtaW5kLgoKPiAKPj4gKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBodyk7Cj4+ICsK Pj4gKwlyZXQgPSBod3NwaW5fbG9ja19yZWdpc3RlcigmaHctPmJhbmssICZwZGV2LT5kZXYsICZz dW54aV9od3NwaW5sb2NrX29wcywKPj4gKwkJCQkgICAwLCBudW1fbG9ja3MpOwo+PiArCj4+ICsJ aWYgKCFyZXQpCj4+ICsJCXJldHVybiByZXQ7Cj4gCj4gVGhhdCdzIGEgc2xpZ2h0bHkgd2VpcmQg Y29uc3RydWN0IHRvbywgc2luY2UgaW4gcHJldHR5IG11Y2ggYWxsIHRoZQo+IGRyaXZlciB5b3Ug cmV0dXJuIGVhcmx5IG9uIGVycm9yIGFuZCBoZXJlIHlvdSByZXR1cm4gZWFybHkgb24KPiBzdWNj ZXNzLiBKdXN0IHJldHVybiByZXQgaWYgdGhlcmUncyBhbiBlcnJvciBqdXN0IGxpa2UgeW91J3Jl IGRvaW5nCj4gZXZlcnl3aGVyZSBlbHNlLCBhbmQgcmV0dXJuIDAgYWZ0ZXIgdGhhdC4KPiAKPj4g K291dF9yZXNldDoKPj4gKwlyZXNldF9jb250cm9sX2Fzc2VydChyZXNldCk7Cj4+ICtvdXRfZGVj bG9jazoKPj4gKwljbGtfZGlzYWJsZV91bnByZXBhcmUoY2xrKTsKPj4gKwlyZXR1cm4gcmV0Owo+ PiArfQo+PiArCgo8c25pcD4KCj4+ICsvKiBib2FyZCBpbml0IGNvZGUgbWlnaHQgbmVlZCB0byBy ZXNlcnZlIGh3c3BpbmxvY2tzIGZvciBwcmVkZWZpbmVkIHB1cnBvc2VzICovCj4+ICtwb3N0Y29y ZV9pbml0Y2FsbChzdW54aV9od3NwaW5sb2NrX2luaXQpOwo+IAo+IFdlIGRvbid0IGhhdmUgYW55 IGJvYXJkIGluaXQgY29kZS4gQ2FuJ3Qgd2UganVzdCB1c2UgYSByZWd1bGFyCj4gbW9kdWxlX3Bs YXRmb3JtX2RyaXZlciBjYWxsIGhlcmU/CgpQZXJoYXBzIHdlIGNhbiwgSSB3aWxsIHRlc3Qgb24g bXkgcGluZTY0Lgo+IAo+IFRoYW5rcyEKPiBNYXhpbWUKPiAKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0 CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFk ZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK