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=-9.7 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_GIT 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 4C582C4363A for ; Fri, 30 Oct 2020 14:48:50 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 9D35B20724 for ; Fri, 30 Oct 2020 14:48:47 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="LiLb2OwG"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="TpVxUerF" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9D35B20724 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+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=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=1Kf86qOwQxfqkPJCrdUMJc1aEKLd1cSKJ2Ebu+nojH4=; b=LiLb2OwGV2zdTAnnTz4Vhxnpd LsonT00y2HWLGJxqnIUwdOQofJfBTXPjl5gIsQuK76AdErbNJVrGMUGNldCipIVLk2Swlp3m73926 bNTge/lzA2UAPPlOaT2wDNY9UhIMTjHuZGilSMhN2L3OzlEUqPIh3TKFKI4/zIPVzHjLAxuSB9Wlp KsnDJsjE9GVVxDlZPRYsh2yusTVQc2TOOj2T0HFSxPWd82DRyC5AC69f4nNlgKirDN9pNcKbTYSnT sBrfCddwMIxpqu/qjlXGkgNoBu/GB5Zyja4pAr2YXInVGResIupQZ3B0kkBrngMucQeSNTAuEFnbT R9BtH+T2w==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kYVh2-0003lr-0A; Fri, 30 Oct 2020 14:47:52 +0000 Received: from mail-ot1-x341.google.com ([2607:f8b0:4864:20::341]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kYVgJ-0003XT-4I for linux-arm-kernel@lists.infradead.org; Fri, 30 Oct 2020 14:47:12 +0000 Received: by mail-ot1-x341.google.com with SMTP id m26so5715365otk.11 for ; Fri, 30 Oct 2020 07:47:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qV0D51RO9PLBSYYZ16HHBM2lrt27MpHOARuxM+Cckbs=; b=TpVxUerF3LZ6XZ9Sh8omwXvJX6N9XXpyTHqrSLo7TFsHWtFDG68w3FBMgYaiqFVtSy FT54olE/EmKRL1nfx0MoAXzQKNTwUYcNhc3GPlJDncmJcX9eLhHZqpmUDEDOzEIT7pZw i0d1nMfc/N53usdrmFe4wjiwPhmtfoOGlEGt3WH3GZfoAOPJKKdsIhU3UNcpgcB7SPu6 zFBdh/Q0AMErh93c9akiA6i3Wn/wHiQlQ5p/iYgovT8CzzTrXpptgrSyhPsl/s10g+XO QxxyLdEA/K+ULeo48u+dk9YTWkaJww0j9Q1ctyn51HcEtRs7K7AVCOnA9JjngkvMxrcw d1Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qV0D51RO9PLBSYYZ16HHBM2lrt27MpHOARuxM+Cckbs=; b=icjU4tyrTTs5Fu5Uyi7WdDmDwSbJXCbaYhZfWO/MzFYIidaRCEYAQqlicvMDX4fvSI Z4ZTRTm+/M7JdRSREepy9X7+WnkmFq8D3/L1uDakFy6uGFtpWObMQOH4CGAkMGAIAGCe Y7UBFmyMzRN4M8JeXLs1aPUUFyE9wD8XembpDuTJPd+6kN13Ro8FjGFrjg/QxB0wUQj+ 7zFXyr63gh0lfq0574Jd/YfslWqMnQBBel8gy7zCiUDA3M61SloOhldOuQ9Vuj5/F/c0 f/4k1RkqYtFZceucMjmjpO9/JanoAkGUzpSePWorHT5uI5BLobcdpTGAgOu91FPJUKaX QXEA== X-Gm-Message-State: AOAM533/O0uG5nzUkO2QELe1Uu16s+x7VmiGf7Sk+UsNUjckEjb3i74e 0R0scKOQjl+6g+uZfwYMqJA= X-Google-Smtp-Source: ABdhPJypCsiZzSgDeHFQZCZAWlNhmyQv7NZTBNp+HPkA8gm3MK2jFdhHBkC4dzFWUdIMDjQnrb2J/A== X-Received: by 2002:a9d:6c8d:: with SMTP id c13mr1943543otr.222.1604069225032; Fri, 30 Oct 2020 07:47:05 -0700 (PDT) Received: from localhost.localdomain (213-245-241-245.rev.numericable.fr. [213.245.241.245]) by smtp.gmail.com with ESMTPSA id s20sm1462856oof.39.2020.10.30.07.47.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Oct 2020 07:47:04 -0700 (PDT) From: =?UTF-8?q?Cl=C3=A9ment=20P=C3=A9ron?= To: Maxime Ripard , Chen-Yu Tsai , Rob Herring , Mark Brown , Liam Girdwood Subject: [PATCH v10 03/15] ASoC: sun4i-i2s: Add support for H6 I2S Date: Fri, 30 Oct 2020 15:46:36 +0100 Message-Id: <20201030144648.397824-4-peron.clem@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201030144648.397824-1-peron.clem@gmail.com> References: <20201030144648.397824-1-peron.clem@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201030_104707_381436_9C124992 X-CRM114-Status: GOOD ( 22.04 ) 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: devicetree@vger.kernel.org, Jernej Skrabec , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Takashi Iwai , Jaroslav Kysela , Marcus Cooper , linux-sunxi@googlegroups.com, =?UTF-8?q?Cl=C3=A9ment=20P=C3=A9ron?= , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org RnJvbTogSmVybmVqIFNrcmFiZWMgPGplcm5lai5za3JhYmVjQHNpb2wubmV0PgoKSDYgSTJTIGlz IHZlcnkgc2ltaWxhciB0byB0aGF0IGluIEgzLCBleGNlcHQgaXQgc3VwcG9ydHMgdXAgdG8gMTYK Y2hhbm5lbHMuCgpTaWduZWQtb2ZmLWJ5OiBKZXJuZWogU2tyYWJlYyA8amVybmVqLnNrcmFiZWNA c2lvbC5uZXQ+ClNpZ25lZC1vZmYtYnk6IE1hcmN1cyBDb29wZXIgPGNvZGVraXBwZXJAZ21haWwu Y29tPgpSZXZpZXdlZC1ieTogQ2hlbi1ZdSBUc2FpIDx3ZW5zQGNzaWUub3JnPgpBY2tlZC1ieTog TWF4aW1lIFJpcGFyZCA8bXJpcGFyZEBrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBDbMOpbWVu dCBQw6lyb24gPHBlcm9uLmNsZW1AZ21haWwuY29tPgotLS0KIHNvdW5kL3NvYy9zdW54aS9zdW40 aS1pMnMuYyB8IDIyMiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmls ZSBjaGFuZ2VkLCAyMjIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zdW54 aS9zdW40aS1pMnMuYyBiL3NvdW5kL3NvYy9zdW54aS9zdW40aS1pMnMuYwppbmRleCA0ZmYyMDY4 Nzc5ZmQuLjI0YjMxMzdhZmJjMiAxMDA2NDQKLS0tIGEvc291bmQvc29jL3N1bnhpL3N1bjRpLWky cy5jCisrKyBiL3NvdW5kL3NvYy9zdW54aS9zdW40aS1pMnMuYwpAQCAtMTI0LDYgKzEyNCwyMSBA QAogI2RlZmluZSBTVU44SV9JMlNfUlhfQ0hBTl9TRUxfUkVHCTB4NTQKICNkZWZpbmUgU1VOOElf STJTX1JYX0NIQU5fTUFQX1JFRwkweDU4CiAKKy8qIERlZmluZXMgcmVxdWlyZWQgZm9yIHN1bjUw aS1oNiBzdXBwb3J0ICovCisjZGVmaW5lIFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9TRUxfT0ZGU0VU X01BU0sJR0VOTUFTSygyMSwgMjApCisjZGVmaW5lIFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9TRUxf T0ZGU0VUKG9mZnNldCkJKChvZmZzZXQpIDw8IDIwKQorI2RlZmluZSBTVU41MElfSDZfSTJTX1RY X0NIQU5fU0VMX01BU0sJCUdFTk1BU0soMTksIDE2KQorI2RlZmluZSBTVU41MElfSDZfSTJTX1RY X0NIQU5fU0VMKGNoYW4pCQkoKGNoYW4gLSAxKSA8PCAxNikKKyNkZWZpbmUgU1VONTBJX0g2X0ky U19UWF9DSEFOX0VOX01BU0sJCUdFTk1BU0soMTUsIDApCisjZGVmaW5lIFNVTjUwSV9INl9JMlNf VFhfQ0hBTl9FTihudW1fY2hhbikJKCgoMSA8PCBudW1fY2hhbikgLSAxKSkKKworI2RlZmluZSBT VU41MElfSDZfSTJTX1RYX0NIQU5fTUFQMF9SRUcJMHg0NAorI2RlZmluZSBTVU41MElfSDZfSTJT X1RYX0NIQU5fTUFQMV9SRUcJMHg0OAorCisjZGVmaW5lIFNVTjUwSV9INl9JMlNfUlhfQ0hBTl9T RUxfUkVHCTB4NjQKKyNkZWZpbmUgU1VONTBJX0g2X0kyU19SWF9DSEFOX01BUDBfUkVHCTB4NjgK KyNkZWZpbmUgU1VONTBJX0g2X0kyU19SWF9DSEFOX01BUDFfUkVHCTB4NkMKKwogc3RydWN0IHN1 bjRpX2kyczsKIAogLyoqCkBAIC00NzYsNiArNDkxLDYwIEBAIHN0YXRpYyBpbnQgc3VuOGlfaTJz X3NldF9jaGFuX2NmZyhjb25zdCBzdHJ1Y3Qgc3VuNGlfaTJzICppMnMsCiAJcmV0dXJuIDA7CiB9 CiAKK3N0YXRpYyBpbnQgc3VuNTBpX2g2X2kyc19zZXRfY2hhbl9jZmcoY29uc3Qgc3RydWN0IHN1 bjRpX2kycyAqaTJzLAorCQkJCSAgICAgIHVuc2lnbmVkIGludCBjaGFubmVscywgdW5zaWduZWQg aW50IHNsb3RzLAorCQkJCSAgICAgIHVuc2lnbmVkIGludCBzbG90X3dpZHRoKQoreworCXVuc2ln bmVkIGludCBscmNrX3BlcmlvZDsKKworCS8qIE1hcCB0aGUgY2hhbm5lbHMgZm9yIHBsYXliYWNr IGFuZCBjYXB0dXJlICovCisJcmVnbWFwX3dyaXRlKGkycy0+cmVnbWFwLCBTVU41MElfSDZfSTJT X1RYX0NIQU5fTUFQMF9SRUcsIDB4RkVEQ0JBOTgpOworCXJlZ21hcF93cml0ZShpMnMtPnJlZ21h cCwgU1VONTBJX0g2X0kyU19UWF9DSEFOX01BUDFfUkVHLCAweDc2NTQzMjEwKTsKKwlyZWdtYXBf d3JpdGUoaTJzLT5yZWdtYXAsIFNVTjUwSV9INl9JMlNfUlhfQ0hBTl9NQVAwX1JFRywgMHhGRURD QkE5OCk7CisJcmVnbWFwX3dyaXRlKGkycy0+cmVnbWFwLCBTVU41MElfSDZfSTJTX1JYX0NIQU5f TUFQMV9SRUcsIDB4NzY1NDMyMTApOworCisJLyogQ29uZmlndXJlIHRoZSBjaGFubmVscyAqLwor CXJlZ21hcF91cGRhdGVfYml0cyhpMnMtPnJlZ21hcCwgU1VOOElfSTJTX1RYX0NIQU5fU0VMX1JF RywKKwkJCSAgIFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9TRUxfTUFTSywKKwkJCSAgIFNVTjUwSV9I Nl9JMlNfVFhfQ0hBTl9TRUwoY2hhbm5lbHMpKTsKKwlyZWdtYXBfdXBkYXRlX2JpdHMoaTJzLT5y ZWdtYXAsIFNVTjUwSV9INl9JMlNfUlhfQ0hBTl9TRUxfUkVHLAorCQkJICAgU1VONTBJX0g2X0ky U19UWF9DSEFOX1NFTF9NQVNLLAorCQkJICAgU1VONTBJX0g2X0kyU19UWF9DSEFOX1NFTChjaGFu bmVscykpOworCisJcmVnbWFwX3VwZGF0ZV9iaXRzKGkycy0+cmVnbWFwLCBTVU44SV9JMlNfQ0hB Tl9DRkdfUkVHLAorCQkJICAgU1VOOElfSTJTX0NIQU5fQ0ZHX1RYX1NMT1RfTlVNX01BU0ssCisJ CQkgICBTVU44SV9JMlNfQ0hBTl9DRkdfVFhfU0xPVF9OVU0oY2hhbm5lbHMpKTsKKwlyZWdtYXBf dXBkYXRlX2JpdHMoaTJzLT5yZWdtYXAsIFNVTjhJX0kyU19DSEFOX0NGR19SRUcsCisJCQkgICBT VU44SV9JMlNfQ0hBTl9DRkdfUlhfU0xPVF9OVU1fTUFTSywKKwkJCSAgIFNVTjhJX0kyU19DSEFO X0NGR19SWF9TTE9UX05VTShjaGFubmVscykpOworCisJc3dpdGNoIChpMnMtPmZvcm1hdCAmIFNO RF9TT0NfREFJRk1UX0ZPUk1BVF9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9EU1BfQToK KwljYXNlIFNORF9TT0NfREFJRk1UX0RTUF9COgorCQlscmNrX3BlcmlvZCA9IHNsb3Rfd2lkdGgg KiBzbG90czsKKwkJYnJlYWs7CisKKwljYXNlIFNORF9TT0NfREFJRk1UX0xFRlRfSjoKKwljYXNl IFNORF9TT0NfREFJRk1UX1JJR0hUX0o6CisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlM6CisJCWxy Y2tfcGVyaW9kID0gc2xvdF93aWR0aDsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlyZXR1cm4g LUVJTlZBTDsKKwl9CisKKwlyZWdtYXBfdXBkYXRlX2JpdHMoaTJzLT5yZWdtYXAsIFNVTjRJX0ky U19GTVQwX1JFRywKKwkJCSAgIFNVTjhJX0kyU19GTVQwX0xSQ0tfUEVSSU9EX01BU0ssCisJCQkg ICBTVU44SV9JMlNfRk1UMF9MUkNLX1BFUklPRChscmNrX3BlcmlvZCkpOworCisJcmVnbWFwX3Vw ZGF0ZV9iaXRzKGkycy0+cmVnbWFwLCBTVU44SV9JMlNfVFhfQ0hBTl9TRUxfUkVHLAorCQkJICAg U1VONTBJX0g2X0kyU19UWF9DSEFOX0VOX01BU0ssCisJCQkgICBTVU41MElfSDZfSTJTX1RYX0NI QU5fRU4oY2hhbm5lbHMpKTsKKworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IHN1bjRpX2ky c19od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCiAJCQkgICAg ICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMsCiAJCQkgICAgICAgc3RydWN0IHNu ZF9zb2NfZGFpICpkYWkpCkBAIC03MDMsNiArNzcyLDEwOCBAQCBzdGF0aWMgaW50IHN1bjhpX2ky c19zZXRfc29jX2ZtdChjb25zdCBzdHJ1Y3Qgc3VuNGlfaTJzICppMnMsCiAJcmV0dXJuIDA7CiB9 CiAKK3N0YXRpYyBpbnQgc3VuNTBpX2g2X2kyc19zZXRfc29jX2ZtdChjb25zdCBzdHJ1Y3Qgc3Vu NGlfaTJzICppMnMsCisJCQkJICAgICB1bnNpZ25lZCBpbnQgZm10KQoreworCXUzMiBtb2RlLCB2 YWw7CisJdTggb2Zmc2V0OworCisJLyoKKwkgKiBEQUkgY2xvY2sgcG9sYXJpdHkKKwkgKgorCSAq IFRoZSBzZXR1cCBmb3IgTFJDSyBjb250cmFkaWN0cyB0aGUgZGF0YXNoZWV0LCBidXQgdW5kZXIg YQorCSAqIHNjb3BlIGl0J3MgY2xlYXIgdGhhdCB0aGUgTFJDSyBwb2xhcml0eSBpcyByZXZlcnNl ZAorCSAqIGNvbXBhcmVkIHRvIHRoZSBleHBlY3RlZCBwb2xhcml0eSBvbiB0aGUgYnVzLgorCSAq LworCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfSU5WX01BU0spIHsKKwljYXNlIFNORF9T T0NfREFJRk1UX0lCX0lGOgorCQkvKiBJbnZlcnQgYm90aCBjbG9ja3MgKi8KKwkJdmFsID0gU1VO OElfSTJTX0ZNVDBfQkNMS19QT0xBUklUWV9JTlZFUlRFRDsKKwkJYnJlYWs7CisJY2FzZSBTTkRf U09DX0RBSUZNVF9JQl9ORjoKKwkJLyogSW52ZXJ0IGJpdCBjbG9jayAqLworCQl2YWwgPSBTVU44 SV9JMlNfRk1UMF9CQ0xLX1BPTEFSSVRZX0lOVkVSVEVEIHwKKwkJICAgICAgU1VOOElfSTJTX0ZN VDBfTFJDTEtfUE9MQVJJVFlfSU5WRVJURUQ7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlG TVRfTkJfSUY6CisJCS8qIEludmVydCBmcmFtZSBjbG9jayAqLworCQl2YWwgPSAwOworCQlicmVh azsKKwljYXNlIFNORF9TT0NfREFJRk1UX05CX05GOgorCQl2YWwgPSBTVU44SV9JMlNfRk1UMF9M UkNMS19QT0xBUklUWV9JTlZFUlRFRDsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1F SU5WQUw7CisJfQorCisJcmVnbWFwX3VwZGF0ZV9iaXRzKGkycy0+cmVnbWFwLCBTVU40SV9JMlNf Rk1UMF9SRUcsCisJCQkgICBTVU44SV9JMlNfRk1UMF9MUkNMS19QT0xBUklUWV9NQVNLIHwKKwkJ CSAgIFNVTjhJX0kyU19GTVQwX0JDTEtfUE9MQVJJVFlfTUFTSywKKwkJCSAgIHZhbCk7CisKKwkv KiBEQUkgTW9kZSAqLworCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfRk9STUFUX01BU0sp IHsKKwljYXNlIFNORF9TT0NfREFJRk1UX0RTUF9BOgorCQltb2RlID0gU1VOOElfSTJTX0NUUkxf TU9ERV9QQ007CisJCW9mZnNldCA9IDE7CisJCWJyZWFrOworCisJY2FzZSBTTkRfU09DX0RBSUZN VF9EU1BfQjoKKwkJbW9kZSA9IFNVTjhJX0kyU19DVFJMX01PREVfUENNOworCQlvZmZzZXQgPSAw OworCQlicmVhazsKKworCWNhc2UgU05EX1NPQ19EQUlGTVRfSTJTOgorCQltb2RlID0gU1VOOElf STJTX0NUUkxfTU9ERV9MRUZUOworCQlvZmZzZXQgPSAxOworCQlicmVhazsKKworCWNhc2UgU05E X1NPQ19EQUlGTVRfTEVGVF9KOgorCQltb2RlID0gU1VOOElfSTJTX0NUUkxfTU9ERV9MRUZUOwor CQlvZmZzZXQgPSAwOworCQlicmVhazsKKworCWNhc2UgU05EX1NPQ19EQUlGTVRfUklHSFRfSjoK KwkJbW9kZSA9IFNVTjhJX0kyU19DVFJMX01PREVfUklHSFQ7CisJCW9mZnNldCA9IDA7CisJCWJy ZWFrOworCisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmVnbWFwX3VwZGF0 ZV9iaXRzKGkycy0+cmVnbWFwLCBTVU40SV9JMlNfQ1RSTF9SRUcsCisJCQkgICBTVU44SV9JMlNf Q1RSTF9NT0RFX01BU0ssIG1vZGUpOworCXJlZ21hcF91cGRhdGVfYml0cyhpMnMtPnJlZ21hcCwg U1VOOElfSTJTX1RYX0NIQU5fU0VMX1JFRywKKwkJCSAgIFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9T RUxfT0ZGU0VUX01BU0ssCisJCQkgICBTVU41MElfSDZfSTJTX1RYX0NIQU5fU0VMX09GRlNFVChv ZmZzZXQpKTsKKwlyZWdtYXBfdXBkYXRlX2JpdHMoaTJzLT5yZWdtYXAsIFNVTjUwSV9INl9JMlNf UlhfQ0hBTl9TRUxfUkVHLAorCQkJICAgU1VONTBJX0g2X0kyU19UWF9DSEFOX1NFTF9PRkZTRVRf TUFTSywKKwkJCSAgIFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9TRUxfT0ZGU0VUKG9mZnNldCkpOwor CisJLyogREFJIGNsb2NrIG1hc3RlciBtYXNrcyAqLworCXN3aXRjaCAoZm10ICYgU05EX1NPQ19E QUlGTVRfTUFTVEVSX01BU0spIHsKKwljYXNlIFNORF9TT0NfREFJRk1UX0NCU19DRlM6CisJCS8q IEJDTEsgYW5kIExSQ0xLIG1hc3RlciAqLworCQl2YWwgPSBTVU44SV9JMlNfQ1RSTF9CQ0xLX09V VCB8CVNVTjhJX0kyU19DVFJMX0xSQ0tfT1VUOworCQlicmVhazsKKworCWNhc2UgU05EX1NPQ19E QUlGTVRfQ0JNX0NGTToKKwkJLyogQkNMSyBhbmQgTFJDTEsgc2xhdmUgKi8KKwkJdmFsID0gMDsK KwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZWdtYXBf dXBkYXRlX2JpdHMoaTJzLT5yZWdtYXAsIFNVTjRJX0kyU19DVFJMX1JFRywKKwkJCSAgIFNVTjhJ X0kyU19DVFJMX0JDTEtfT1VUIHwgU1VOOElfSTJTX0NUUkxfTFJDS19PVVQsCisJCQkgICB2YWwp OworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgc3VuNGlfaTJzX3NldF9mbXQoc3RydWN0 IHNuZF9zb2NfZGFpICpkYWksIHVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHN1bjRpX2ky cyAqaTJzID0gc25kX3NvY19kYWlfZ2V0X2RydmRhdGEoZGFpKTsKQEAgLTk4Myw2ICsxMTU0LDIy IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnX2RlZmF1bHQgc3VuOGlfaTJzX3JlZ19kZWZhdWx0 c1tdID0gewogCXsgU1VOOElfSTJTX1JYX0NIQU5fTUFQX1JFRywgMHgwMDAwMDAwMCB9LAogfTsK IAorc3RhdGljIGNvbnN0IHN0cnVjdCByZWdfZGVmYXVsdCBzdW41MGlfaDZfaTJzX3JlZ19kZWZh dWx0c1tdID0geworCXsgU1VONElfSTJTX0NUUkxfUkVHLCAweDAwMDYwMDAwIH0sCisJeyBTVU40 SV9JMlNfRk1UMF9SRUcsIDB4MDAwMDAwMzMgfSwKKwl7IFNVTjRJX0kyU19GTVQxX1JFRywgMHgw MDAwMDAzMCB9LAorCXsgU1VONElfSTJTX0ZJRk9fQ1RSTF9SRUcsIDB4MDAwNDAwZjAgfSwKKwl7 IFNVTjRJX0kyU19ETUFfSU5UX0NUUkxfUkVHLCAweDAwMDAwMDAwIH0sCisJeyBTVU40SV9JMlNf Q0xLX0RJVl9SRUcsIDB4MDAwMDAwMDAgfSwKKwl7IFNVTjhJX0kyU19DSEFOX0NGR19SRUcsIDB4 MDAwMDAwMDAgfSwKKwl7IFNVTjhJX0kyU19UWF9DSEFOX1NFTF9SRUcsIDB4MDAwMDAwMDAgfSwK Kwl7IFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9NQVAwX1JFRywgMHgwMDAwMDAwMCB9LAorCXsgU1VO NTBJX0g2X0kyU19UWF9DSEFOX01BUDFfUkVHLCAweDAwMDAwMDAwIH0sCisJeyBTVU41MElfSDZf STJTX1JYX0NIQU5fU0VMX1JFRywgMHgwMDAwMDAwMCB9LAorCXsgU1VONTBJX0g2X0kyU19SWF9D SEFOX01BUDBfUkVHLCAweDAwMDAwMDAwIH0sCisJeyBTVU41MElfSDZfSTJTX1JYX0NIQU5fTUFQ MV9SRUcsIDB4MDAwMDAwMDAgfSwKK307CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnbWFwX2Nv bmZpZyBzdW40aV9pMnNfcmVnbWFwX2NvbmZpZyA9IHsKIAkucmVnX2JpdHMJPSAzMiwKIAkucmVn X3N0cmlkZQk9IDQsCkBAIC0xMDEwLDYgKzExOTcsMTkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBy ZWdtYXBfY29uZmlnIHN1bjhpX2kyc19yZWdtYXBfY29uZmlnID0gewogCS52b2xhdGlsZV9yZWcJ PSBzdW44aV9pMnNfdm9sYXRpbGVfcmVnLAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCByZWdt YXBfY29uZmlnIHN1bjUwaV9oNl9pMnNfcmVnbWFwX2NvbmZpZyA9IHsKKwkucmVnX2JpdHMJPSAz MiwKKwkucmVnX3N0cmlkZQk9IDQsCisJLnZhbF9iaXRzCT0gMzIsCisJLm1heF9yZWdpc3Rlcgk9 IFNVTjUwSV9INl9JMlNfUlhfQ0hBTl9NQVAxX1JFRywKKwkuY2FjaGVfdHlwZQk9IFJFR0NBQ0hF X0ZMQVQsCisJLnJlZ19kZWZhdWx0cwk9IHN1bjUwaV9oNl9pMnNfcmVnX2RlZmF1bHRzLAorCS5u dW1fcmVnX2RlZmF1bHRzCT0gQVJSQVlfU0laRShzdW41MGlfaDZfaTJzX3JlZ19kZWZhdWx0cyks CisJLndyaXRlYWJsZV9yZWcJPSBzdW40aV9pMnNfd3JfcmVnLAorCS5yZWFkYWJsZV9yZWcJPSBz dW44aV9pMnNfcmRfcmVnLAorCS52b2xhdGlsZV9yZWcJPSBzdW44aV9pMnNfdm9sYXRpbGVfcmVn LAorfTsKKwogc3RhdGljIGludCBzdW40aV9pMnNfcnVudGltZV9yZXN1bWUoc3RydWN0IGRldmlj ZSAqZGV2KQogewogCXN0cnVjdCBzdW40aV9pMnMgKmkycyA9IGRldl9nZXRfZHJ2ZGF0YShkZXYp OwpAQCAtMTE2OCw2ICsxMzY4LDI0IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3VuNGlfaTJzX3F1 aXJrcyBzdW41MGlfYTY0X2NvZGVjX2kyc19xdWlya3MgPSB7CiAJLnNldF9mbXQJCT0gc3VuNGlf aTJzX3NldF9zb2NfZm10LAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCBzdW40aV9pMnNfcXVp cmtzIHN1bjUwaV9oNl9pMnNfcXVpcmtzID0geworCS5oYXNfcmVzZXQJCT0gdHJ1ZSwKKwkucmVn X29mZnNldF90eGRhdGEJPSBTVU44SV9JMlNfRklGT19UWF9SRUcsCisJLnN1bjRpX2kyc19yZWdt YXAJPSAmc3VuNTBpX2g2X2kyc19yZWdtYXBfY29uZmlnLAorCS5maWVsZF9jbGtkaXZfbWNsa19l bgk9IFJFR19GSUVMRChTVU40SV9JMlNfQ0xLX0RJVl9SRUcsIDgsIDgpLAorCS5maWVsZF9mbXRf d3NzCQk9IFJFR19GSUVMRChTVU40SV9JMlNfRk1UMF9SRUcsIDAsIDIpLAorCS5maWVsZF9mbXRf c3IJCT0gUkVHX0ZJRUxEKFNVTjRJX0kyU19GTVQwX1JFRywgNCwgNiksCisJLmJjbGtfZGl2aWRl cnMJCT0gc3VuOGlfaTJzX2Nsa19kaXYsCisJLm51bV9iY2xrX2RpdmlkZXJzCT0gQVJSQVlfU0la RShzdW44aV9pMnNfY2xrX2RpdiksCisJLm1jbGtfZGl2aWRlcnMJCT0gc3VuOGlfaTJzX2Nsa19k aXYsCisJLm51bV9tY2xrX2RpdmlkZXJzCT0gQVJSQVlfU0laRShzdW44aV9pMnNfY2xrX2Rpdiks CisJLmdldF9iY2xrX3BhcmVudF9yYXRlCT0gc3VuOGlfaTJzX2dldF9iY2xrX3BhcmVudF9yYXRl LAorCS5nZXRfc3IJCQk9IHN1bjhpX2kyc19nZXRfc3Jfd3NzLAorCS5nZXRfd3NzCQk9IHN1bjhp X2kyc19nZXRfc3Jfd3NzLAorCS5zZXRfY2hhbl9jZmcJCT0gc3VuNTBpX2g2X2kyc19zZXRfY2hh bl9jZmcsCisJLnNldF9mbXQJCT0gc3VuNTBpX2g2X2kyc19zZXRfc29jX2ZtdCwKK307CisKIHN0 YXRpYyBpbnQgc3VuNGlfaTJzX2luaXRfcmVnbWFwX2ZpZWxkcyhzdHJ1Y3QgZGV2aWNlICpkZXYs CiAJCQkJCXN0cnVjdCBzdW40aV9pMnMgKmkycykKIHsKQEAgLTEzMzcsNiArMTU1NSwxMCBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzdW40aV9pMnNfbWF0Y2hbXSA9IHsKIAkJ LmNvbXBhdGlibGUgPSAiYWxsd2lubmVyLHN1bjUwaS1hNjQtY29kZWMtaTJzIiwKIAkJLmRhdGEg PSAmc3VuNTBpX2E2NF9jb2RlY19pMnNfcXVpcmtzLAogCX0sCisJeworCQkuY29tcGF0aWJsZSA9 ICJhbGx3aW5uZXIsc3VuNTBpLWg2LWkycyIsCisJCS5kYXRhID0gJnN1bjUwaV9oNl9pMnNfcXVp cmtzLAorCX0sCiAJe30KIH07CiBNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzdW40aV9pMnNfbWF0 Y2gpOwotLSAKMi4yNS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBs aXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlz dGluZm8vbGludXgtYXJtLWtlcm5lbAo=