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 A5E4CC43464 for ; Mon, 21 Sep 2020 10:29:42 +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 5978F207BC for ; Mon, 21 Sep 2020 10:29:42 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="fssmXmDM"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SpnhgmVQ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5978F207BC 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=IQ4Q8kpEQ5axpi/X7CXBP4ANnOypds/QQuxf4N7mjHw=; b=fssmXmDMfkX6QcJ/4GS8JTxRL kMBxBsvoHeY3ZgyPH44335/zLXAKyDX09b3+59FxksDaSc/mgcNMOH5nGgR30PtFrHpRRaJw6pOug PGsjqES5klm88rrGK72893XsQMQpOSP90UX+hSeElw501umDuXRVF+PtJWxlRZZ5Qj5ScMusbe4rI x8I0iY7xpojl+fZs+n1hG5NJgzu7YAyttZu5H9umkIh1juv/FAxuAmDMDlbsrclCruDWK881YdPiL opM4OcwmYgdFg9LAedX+SY//d4lJltN8X0wHuTmSp5ukbUUeATxhNe1UoYUcB4J2Z4/7N6Vxy9Cbu CiukAF2Ew==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kKJ2v-0007h1-7T; Mon, 21 Sep 2020 10:27:45 +0000 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kKJ2n-0007dy-To for linux-arm-kernel@lists.infradead.org; Mon, 21 Sep 2020 10:27:38 +0000 Received: by mail-wm1-x342.google.com with SMTP id l15so11163825wmh.1 for ; Mon, 21 Sep 2020 03:27:37 -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=OyfHIE0qAhOjNCFNxAQ6O7ihABXSVqgxqKsK1DQfOYg=; b=SpnhgmVQ3YuEeVP1MZAZb3RaFcHQANWGceOw4Gx7SjtpR+vY96upAlDjkwSW1ic1Co 9R1DUNbJo9uOLFpOGg8qxZxrsiGIa2AuDa4J0cclitjA/T8J8grIpytwVpPHPnwZKese pTFPi17mNGOtv/YYA4vcznaUsDniewkm++hz4+Cio+icnnz5EifrRvkxe/yxDTxL3TNI QboMxSHH0SrGRGTcfC+CAPSIFxxXE7jfAT59cvwSUUXJrmsqPzXDmaHRyjrdInObmIVK eDGEy6/jV3W6aEN/w0p6blNKfgXe4BLB6igfppFurCjCPAtmAqDXlzCVcwH8z5i+XVyP xjFQ== 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=OyfHIE0qAhOjNCFNxAQ6O7ihABXSVqgxqKsK1DQfOYg=; b=AbsC9Fq3cuJeVXOPyYogBWtqXJx7p31fh10pgPLSB/ULUMPSd/yyhqtSyiuLWFH2ws 6cITnqPrT2v4QPyg+U7tSoLnDjsxB75+1JdHdIo5kfBZLTB7btCD8P0f27HDAk6hgCrz 5VjnmraUTg70ZiUe55oanabi1N6/7zinvgGooLhye7MnZpZ4Xr4VGO/d95u42Cp1sXK+ OwMIhc4k3/WucTC395xynSKSOyomTUuttg3/DBK3TaPSgO7A5rFWZNG+lIo0GmBf5+fB C1ZPYGnL6IfO/jB2CFAyHKlcGRF46tvhrotMAuNeMAoI+l+CUheCzbVMi2XVELwy7Y92 5Tpw== X-Gm-Message-State: AOAM5302Bix73xg4GhOhqm3Zs9dDMF2rD1XKQaadMZLvdJYzjlCCortT D5MS+ZG5Xc2ugx7JI2AEuQM= X-Google-Smtp-Source: ABdhPJytjGcuJCJv5OPh6T5eXzujOFlBSET7Lws+b7iziqckGMjDAWAp8ZFP0YSDVZm2xR7+fbzOkg== X-Received: by 2002:a05:600c:2742:: with SMTP id 2mr28433689wmw.136.1600684056266; Mon, 21 Sep 2020 03:27:36 -0700 (PDT) Received: from localhost.localdomain (lputeaux-656-1-11-33.w82-127.abo.wanadoo.fr. [82.127.142.33]) by smtp.gmail.com with ESMTPSA id h2sm20713774wrp.69.2020.09.21.03.27.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Sep 2020 03:27:35 -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 v4 01/22] ASoC: sun4i-i2s: Add support for H6 I2S Date: Mon, 21 Sep 2020 12:27:10 +0200 Message-Id: <20200921102731.747736-2-peron.clem@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200921102731.747736-1-peron.clem@gmail.com> References: <20200921102731.747736-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-20200921_062737_973624_E1CC13D2 X-CRM114-Status: GOOD ( 22.52 ) 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 Y29tPgpTaWduZWQtb2ZmLWJ5OiBDbMOpbWVudCBQw6lyb24gPHBlcm9uLmNsZW1AZ21haWwuY29t PgotLS0KIHNvdW5kL3NvYy9zdW54aS9zdW40aS1pMnMuYyB8IDIyNCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAyMjQgaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zdW54aS9zdW40aS1pMnMuYyBiL3NvdW5kL3NvYy9zdW54 aS9zdW40aS1pMnMuYwppbmRleCBmMjNmZjI5ZTdjMWQuLjJiYWY2YzI3NjI4MCAxMDA2NDQKLS0t IGEvc291bmQvc29jL3N1bnhpL3N1bjRpLWkycy5jCisrKyBiL3NvdW5kL3NvYy9zdW54aS9zdW40 aS1pMnMuYwpAQCAtMTI0LDYgKzEyNCwyMSBAQAogI2RlZmluZSBTVU44SV9JMlNfUlhfQ0hBTl9T RUxfUkVHCTB4NTQKICNkZWZpbmUgU1VOOElfSTJTX1JYX0NIQU5fTUFQX1JFRwkweDU4CiAKKy8q IERlZmluZXMgcmVxdWlyZWQgZm9yIHN1bjUwaS1oNiBzdXBwb3J0ICovCisjZGVmaW5lIFNVTjUw SV9INl9JMlNfVFhfQ0hBTl9TRUxfT0ZGU0VUX01BU0sJR0VOTUFTSygyMSwgMjApCisjZGVmaW5l IFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9TRUxfT0ZGU0VUKG9mZnNldCkJKChvZmZzZXQpIDw8IDIw KQorI2RlZmluZSBTVU41MElfSDZfSTJTX1RYX0NIQU5fU0VMX01BU0sJCUdFTk1BU0soMTksIDE2 KQorI2RlZmluZSBTVU41MElfSDZfSTJTX1RYX0NIQU5fU0VMKGNoYW4pCQkoKGNoYW4gLSAxKSA8 PCAxNikKKyNkZWZpbmUgU1VONTBJX0g2X0kyU19UWF9DSEFOX0VOX01BU0sJCUdFTk1BU0soMTUs IDApCisjZGVmaW5lIFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9FTihudW1fY2hhbikJKCgoMSA8PCBu dW1fY2hhbikgLSAxKSkKKworI2RlZmluZSBTVU41MElfSDZfSTJTX1RYX0NIQU5fTUFQMF9SRUcJ MHg0NAorI2RlZmluZSBTVU41MElfSDZfSTJTX1RYX0NIQU5fTUFQMV9SRUcJMHg0OAorCisjZGVm aW5lIFNVTjUwSV9INl9JMlNfUlhfQ0hBTl9TRUxfUkVHCTB4NjQKKyNkZWZpbmUgU1VONTBJX0g2 X0kyU19SWF9DSEFOX01BUDBfUkVHCTB4NjgKKyNkZWZpbmUgU1VONTBJX0g2X0kyU19SWF9DSEFO X01BUDFfUkVHCTB4NkMKKwogc3RydWN0IHN1bjRpX2kyczsKIAogLyoqCkBAIC00NzQsNiArNDg5 LDYyIEBAIHN0YXRpYyBpbnQgc3VuOGlfaTJzX3NldF9jaGFuX2NmZyhjb25zdCBzdHJ1Y3Qgc3Vu NGlfaTJzICppMnMsCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgc3VuNTBpX2g2X2kyc19z ZXRfY2hhbl9jZmcoY29uc3Qgc3RydWN0IHN1bjRpX2kycyAqaTJzLAorCQkJCSAgICAgIGNvbnN0 IHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXVuc2lnbmVkIGludCBjaGFu bmVscyA9IHBhcmFtc19jaGFubmVscyhwYXJhbXMpOworCXVuc2lnbmVkIGludCBzbG90cyA9IGNo YW5uZWxzOworCXVuc2lnbmVkIGludCBscmNrX3BlcmlvZDsKKworCWlmIChpMnMtPnNsb3RzKQor CQlzbG90cyA9IGkycy0+c2xvdHM7CisKKwkvKiBNYXAgdGhlIGNoYW5uZWxzIGZvciBwbGF5YmFj ayBhbmQgY2FwdHVyZSAqLworCXJlZ21hcF93cml0ZShpMnMtPnJlZ21hcCwgU1VONTBJX0g2X0ky U19UWF9DSEFOX01BUDFfUkVHLCAweDc2NTQzMjEwKTsKKwlyZWdtYXBfd3JpdGUoaTJzLT5yZWdt YXAsIFNVTjUwSV9INl9JMlNfUlhfQ0hBTl9NQVAxX1JFRywgMHg3NjU0MzIxMCk7CisKKwkvKiBD b25maWd1cmUgdGhlIGNoYW5uZWxzICovCisJcmVnbWFwX3VwZGF0ZV9iaXRzKGkycy0+cmVnbWFw LCBTVU44SV9JMlNfVFhfQ0hBTl9TRUxfUkVHLAorCQkJICAgU1VONTBJX0g2X0kyU19UWF9DSEFO X1NFTF9NQVNLLAorCQkJICAgU1VONTBJX0g2X0kyU19UWF9DSEFOX1NFTChjaGFubmVscykpOwor CXJlZ21hcF91cGRhdGVfYml0cyhpMnMtPnJlZ21hcCwgU1VONTBJX0g2X0kyU19SWF9DSEFOX1NF TF9SRUcsCisJCQkgICBTVU41MElfSDZfSTJTX1RYX0NIQU5fU0VMX01BU0ssCisJCQkgICBTVU41 MElfSDZfSTJTX1RYX0NIQU5fU0VMKGNoYW5uZWxzKSk7CisKKwlyZWdtYXBfdXBkYXRlX2JpdHMo aTJzLT5yZWdtYXAsIFNVTjhJX0kyU19DSEFOX0NGR19SRUcsCisJCQkgICBTVU44SV9JMlNfQ0hB Tl9DRkdfVFhfU0xPVF9OVU1fTUFTSywKKwkJCSAgIFNVTjhJX0kyU19DSEFOX0NGR19UWF9TTE9U X05VTShjaGFubmVscykpOworCXJlZ21hcF91cGRhdGVfYml0cyhpMnMtPnJlZ21hcCwgU1VOOElf STJTX0NIQU5fQ0ZHX1JFRywKKwkJCSAgIFNVTjhJX0kyU19DSEFOX0NGR19SWF9TTE9UX05VTV9N QVNLLAorCQkJICAgU1VOOElfSTJTX0NIQU5fQ0ZHX1JYX1NMT1RfTlVNKGNoYW5uZWxzKSk7CisK Kwlzd2l0Y2ggKGkycy0+Zm9ybWF0ICYgU05EX1NPQ19EQUlGTVRfRk9STUFUX01BU0spIHsKKwlj YXNlIFNORF9TT0NfREFJRk1UX0RTUF9BOgorCWNhc2UgU05EX1NPQ19EQUlGTVRfRFNQX0I6CisJ Y2FzZSBTTkRfU09DX0RBSUZNVF9MRUZUX0o6CisJY2FzZSBTTkRfU09DX0RBSUZNVF9SSUdIVF9K OgorCQlscmNrX3BlcmlvZCA9IHBhcmFtc19waHlzaWNhbF93aWR0aChwYXJhbXMpICogc2xvdHM7 CisJCWJyZWFrOworCisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlM6CisJCWxyY2tfcGVyaW9kID0g cGFyYW1zX3BoeXNpY2FsX3dpZHRoKHBhcmFtcyk7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJ cmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmVnbWFwX3VwZGF0ZV9iaXRzKGkycy0+cmVnbWFwLCBT VU40SV9JMlNfRk1UMF9SRUcsCisJCQkgICBTVU44SV9JMlNfRk1UMF9MUkNLX1BFUklPRF9NQVNL LAorCQkJICAgU1VOOElfSTJTX0ZNVDBfTFJDS19QRVJJT0QobHJja19wZXJpb2QpKTsKKworCXJl Z21hcF91cGRhdGVfYml0cyhpMnMtPnJlZ21hcCwgU1VOOElfSTJTX1RYX0NIQU5fU0VMX1JFRywK KwkJCSAgIFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9FTl9NQVNLLAorCQkJICAgU1VONTBJX0g2X0ky U19UWF9DSEFOX0VOKGNoYW5uZWxzKSk7CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBz dW40aV9pMnNfaHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAog CQkJICAgICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zLAogCQkJICAgICAgIHN0 cnVjdCBzbmRfc29jX2RhaSAqZGFpKQpAQCAtNjk5LDYgKzc3MCwxMDggQEAgc3RhdGljIGludCBz dW44aV9pMnNfc2V0X3NvY19mbXQoY29uc3Qgc3RydWN0IHN1bjRpX2kycyAqaTJzLAogCXJldHVy biAwOwogfQogCitzdGF0aWMgaW50IHN1bjUwaV9oNl9pMnNfc2V0X3NvY19mbXQoY29uc3Qgc3Ry dWN0IHN1bjRpX2kycyAqaTJzLAorCQkJCSAgICAgdW5zaWduZWQgaW50IGZtdCkKK3sKKwl1MzIg bW9kZSwgdmFsOworCXU4IG9mZnNldDsKKworCS8qCisJICogREFJIGNsb2NrIHBvbGFyaXR5CisJ ICoKKwkgKiBUaGUgc2V0dXAgZm9yIExSQ0sgY29udHJhZGljdHMgdGhlIGRhdGFzaGVldCwgYnV0 IHVuZGVyIGEKKwkgKiBzY29wZSBpdCdzIGNsZWFyIHRoYXQgdGhlIExSQ0sgcG9sYXJpdHkgaXMg cmV2ZXJzZWQKKwkgKiBjb21wYXJlZCB0byB0aGUgZXhwZWN0ZWQgcG9sYXJpdHkgb24gdGhlIGJ1 cy4KKwkgKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX0lOVl9NQVNLKSB7CisJY2Fz ZSBTTkRfU09DX0RBSUZNVF9JQl9JRjoKKwkJLyogSW52ZXJ0IGJvdGggY2xvY2tzICovCisJCXZh bCA9IFNVTjhJX0kyU19GTVQwX0JDTEtfUE9MQVJJVFlfSU5WRVJURUQ7CisJCWJyZWFrOworCWNh c2UgU05EX1NPQ19EQUlGTVRfSUJfTkY6CisJCS8qIEludmVydCBiaXQgY2xvY2sgKi8KKwkJdmFs ID0gU1VOOElfSTJTX0ZNVDBfQkNMS19QT0xBUklUWV9JTlZFUlRFRCB8CisJCSAgICAgIFNVTjhJ X0kyU19GTVQwX0xSQ0xLX1BPTEFSSVRZX0lOVkVSVEVEOworCQlicmVhazsKKwljYXNlIFNORF9T T0NfREFJRk1UX05CX0lGOgorCQkvKiBJbnZlcnQgZnJhbWUgY2xvY2sgKi8KKwkJdmFsID0gMDsK KwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9OQl9ORjoKKwkJdmFsID0gU1VOOElfSTJT X0ZNVDBfTFJDTEtfUE9MQVJJVFlfSU5WRVJURUQ7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJl dHVybiAtRUlOVkFMOworCX0KKworCXJlZ21hcF91cGRhdGVfYml0cyhpMnMtPnJlZ21hcCwgU1VO NElfSTJTX0ZNVDBfUkVHLAorCQkJICAgU1VOOElfSTJTX0ZNVDBfTFJDTEtfUE9MQVJJVFlfTUFT SyB8CisJCQkgICBTVU44SV9JMlNfRk1UMF9CQ0xLX1BPTEFSSVRZX01BU0ssCisJCQkgICB2YWwp OworCisJLyogREFJIE1vZGUgKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX0ZPUk1B VF9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9EU1BfQToKKwkJbW9kZSA9IFNVTjhJX0ky U19DVFJMX01PREVfUENNOworCQlvZmZzZXQgPSAxOworCQlicmVhazsKKworCWNhc2UgU05EX1NP Q19EQUlGTVRfRFNQX0I6CisJCW1vZGUgPSBTVU44SV9JMlNfQ1RSTF9NT0RFX1BDTTsKKwkJb2Zm c2V0ID0gMDsKKwkJYnJlYWs7CisKKwljYXNlIFNORF9TT0NfREFJRk1UX0kyUzoKKwkJbW9kZSA9 IFNVTjhJX0kyU19DVFJMX01PREVfTEVGVDsKKwkJb2Zmc2V0ID0gMTsKKwkJYnJlYWs7CisKKwlj YXNlIFNORF9TT0NfREFJRk1UX0xFRlRfSjoKKwkJbW9kZSA9IFNVTjhJX0kyU19DVFJMX01PREVf TEVGVDsKKwkJb2Zmc2V0ID0gMDsKKwkJYnJlYWs7CisKKwljYXNlIFNORF9TT0NfREFJRk1UX1JJ R0hUX0o6CisJCW1vZGUgPSBTVU44SV9JMlNfQ1RSTF9NT0RFX1JJR0hUOworCQlvZmZzZXQgPSAw OworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJlZ21h cF91cGRhdGVfYml0cyhpMnMtPnJlZ21hcCwgU1VONElfSTJTX0NUUkxfUkVHLAorCQkJICAgU1VO OElfSTJTX0NUUkxfTU9ERV9NQVNLLCBtb2RlKTsKKwlyZWdtYXBfdXBkYXRlX2JpdHMoaTJzLT5y ZWdtYXAsIFNVTjhJX0kyU19UWF9DSEFOX1NFTF9SRUcsCisJCQkgICBTVU41MElfSDZfSTJTX1RY X0NIQU5fU0VMX09GRlNFVF9NQVNLLAorCQkJICAgU1VONTBJX0g2X0kyU19UWF9DSEFOX1NFTF9P RkZTRVQob2Zmc2V0KSk7CisJcmVnbWFwX3VwZGF0ZV9iaXRzKGkycy0+cmVnbWFwLCBTVU41MElf SDZfSTJTX1JYX0NIQU5fU0VMX1JFRywKKwkJCSAgIFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9TRUxf T0ZGU0VUX01BU0ssCisJCQkgICBTVU41MElfSDZfSTJTX1RYX0NIQU5fU0VMX09GRlNFVChvZmZz ZXQpKTsKKworCS8qIERBSSBjbG9jayBtYXN0ZXIgbWFza3MgKi8KKwlzd2l0Y2ggKGZtdCAmIFNO RF9TT0NfREFJRk1UX01BU1RFUl9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZT OgorCQkvKiBCQ0xLIGFuZCBMUkNMSyBtYXN0ZXIgKi8KKwkJdmFsID0gU1VOOElfSTJTX0NUUkxf QkNMS19PVVQgfAlTVU44SV9JMlNfQ1RSTF9MUkNLX09VVDsKKwkJYnJlYWs7CisKKwljYXNlIFNO RF9TT0NfREFJRk1UX0NCTV9DRk06CisJCS8qIEJDTEsgYW5kIExSQ0xLIHNsYXZlICovCisJCXZh bCA9IDA7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJ cmVnbWFwX3VwZGF0ZV9iaXRzKGkycy0+cmVnbWFwLCBTVU40SV9JMlNfQ1RSTF9SRUcsCisJCQkg ICBTVU44SV9JMlNfQ1RSTF9CQ0xLX09VVCB8IFNVTjhJX0kyU19DVFJMX0xSQ0tfT1VULAorCQkJ ICAgdmFsKTsKKworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IHN1bjRpX2kyc19zZXRfZm10 KHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCB1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBz dW40aV9pMnMgKmkycyA9IHNuZF9zb2NfZGFpX2dldF9kcnZkYXRhKGRhaSk7CkBAIC05NzksNiAr MTE1MiwyMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ19kZWZhdWx0IHN1bjhpX2kyc19yZWdf ZGVmYXVsdHNbXSA9IHsKIAl7IFNVTjhJX0kyU19SWF9DSEFOX01BUF9SRUcsIDB4MDAwMDAwMDAg fSwKIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnX2RlZmF1bHQgc3VuNTBpX2g2X2kyc19y ZWdfZGVmYXVsdHNbXSA9IHsKKwl7IFNVTjRJX0kyU19DVFJMX1JFRywgMHgwMDA2MDAwMCB9LAor CXsgU1VONElfSTJTX0ZNVDBfUkVHLCAweDAwMDAwMDMzIH0sCisJeyBTVU40SV9JMlNfRk1UMV9S RUcsIDB4MDAwMDAwMzAgfSwKKwl7IFNVTjRJX0kyU19GSUZPX0NUUkxfUkVHLCAweDAwMDQwMGYw IH0sCisJeyBTVU40SV9JMlNfRE1BX0lOVF9DVFJMX1JFRywgMHgwMDAwMDAwMCB9LAorCXsgU1VO NElfSTJTX0NMS19ESVZfUkVHLCAweDAwMDAwMDAwIH0sCisJeyBTVU44SV9JMlNfQ0hBTl9DRkdf UkVHLCAweDAwMDAwMDAwIH0sCisJeyBTVU44SV9JMlNfVFhfQ0hBTl9TRUxfUkVHLCAweDAwMDAw MDAwIH0sCisJeyBTVU41MElfSDZfSTJTX1RYX0NIQU5fTUFQMF9SRUcsIDB4MDAwMDAwMDAgfSwK Kwl7IFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9NQVAxX1JFRywgMHgwMDAwMDAwMCB9LAorCXsgU1VO NTBJX0g2X0kyU19SWF9DSEFOX1NFTF9SRUcsIDB4MDAwMDAwMDAgfSwKKwl7IFNVTjUwSV9INl9J MlNfUlhfQ0hBTl9NQVAwX1JFRywgMHgwMDAwMDAwMCB9LAorCXsgU1VONTBJX0g2X0kyU19SWF9D SEFOX01BUDFfUkVHLCAweDAwMDAwMDAwIH0sCit9OworCiBzdGF0aWMgY29uc3Qgc3RydWN0IHJl Z21hcF9jb25maWcgc3VuNGlfaTJzX3JlZ21hcF9jb25maWcgPSB7CiAJLnJlZ19iaXRzCT0gMzIs CiAJLnJlZ19zdHJpZGUJPSA0LApAQCAtMTAwNiw2ICsxMTk1LDE5IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgcmVnbWFwX2NvbmZpZyBzdW44aV9pMnNfcmVnbWFwX2NvbmZpZyA9IHsKIAkudm9sYXRp bGVfcmVnCT0gc3VuOGlfaTJzX3ZvbGF0aWxlX3JlZywKIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgcmVnbWFwX2NvbmZpZyBzdW41MGlfaDZfaTJzX3JlZ21hcF9jb25maWcgPSB7CisJLnJlZ19i aXRzCT0gMzIsCisJLnJlZ19zdHJpZGUJPSA0LAorCS52YWxfYml0cwk9IDMyLAorCS5tYXhfcmVn aXN0ZXIJPSBTVU41MElfSDZfSTJTX1JYX0NIQU5fTUFQMV9SRUcsCisJLmNhY2hlX3R5cGUJPSBS RUdDQUNIRV9GTEFULAorCS5yZWdfZGVmYXVsdHMJPSBzdW41MGlfaDZfaTJzX3JlZ19kZWZhdWx0 cywKKwkubnVtX3JlZ19kZWZhdWx0cwk9IEFSUkFZX1NJWkUoc3VuNTBpX2g2X2kyc19yZWdfZGVm YXVsdHMpLAorCS53cml0ZWFibGVfcmVnCT0gc3VuNGlfaTJzX3dyX3JlZywKKwkucmVhZGFibGVf cmVnCT0gc3VuOGlfaTJzX3JkX3JlZywKKwkudm9sYXRpbGVfcmVnCT0gc3VuOGlfaTJzX3ZvbGF0 aWxlX3JlZywKK307CisKIHN0YXRpYyBpbnQgc3VuNGlfaTJzX3J1bnRpbWVfcmVzdW1lKHN0cnVj dCBkZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3Qgc3VuNGlfaTJzICppMnMgPSBkZXZfZ2V0X2RydmRh dGEoZGV2KTsKQEAgLTExNjQsNiArMTM2NiwyNCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN1bjRp X2kyc19xdWlya3Mgc3VuNTBpX2E2NF9jb2RlY19pMnNfcXVpcmtzID0gewogCS5zZXRfZm10CQk9 IHN1bjRpX2kyc19zZXRfc29jX2ZtdCwKIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc3VuNGlf aTJzX3F1aXJrcyBzdW41MGlfaDZfaTJzX3F1aXJrcyA9IHsKKwkuaGFzX3Jlc2V0CQk9IHRydWUs CisJLnJlZ19vZmZzZXRfdHhkYXRhCT0gU1VOOElfSTJTX0ZJRk9fVFhfUkVHLAorCS5zdW40aV9p MnNfcmVnbWFwCT0gJnN1bjUwaV9oNl9pMnNfcmVnbWFwX2NvbmZpZywKKwkuZmllbGRfY2xrZGl2 X21jbGtfZW4JPSBSRUdfRklFTEQoU1VONElfSTJTX0NMS19ESVZfUkVHLCA4LCA4KSwKKwkuZmll bGRfZm10X3dzcwkJPSBSRUdfRklFTEQoU1VONElfSTJTX0ZNVDBfUkVHLCAwLCAyKSwKKwkuZmll bGRfZm10X3NyCQk9IFJFR19GSUVMRChTVU40SV9JMlNfRk1UMF9SRUcsIDQsIDYpLAorCS5iY2xr X2RpdmlkZXJzCQk9IHN1bjhpX2kyc19jbGtfZGl2LAorCS5udW1fYmNsa19kaXZpZGVycwk9IEFS UkFZX1NJWkUoc3VuOGlfaTJzX2Nsa19kaXYpLAorCS5tY2xrX2RpdmlkZXJzCQk9IHN1bjhpX2ky c19jbGtfZGl2LAorCS5udW1fbWNsa19kaXZpZGVycwk9IEFSUkFZX1NJWkUoc3VuOGlfaTJzX2Ns a19kaXYpLAorCS5nZXRfYmNsa19wYXJlbnRfcmF0ZQk9IHN1bjhpX2kyc19nZXRfYmNsa19wYXJl bnRfcmF0ZSwKKwkuZ2V0X3NyCQkJPSBzdW44aV9pMnNfZ2V0X3NyX3dzcywKKwkuZ2V0X3dzcwkJ PSBzdW44aV9pMnNfZ2V0X3NyX3dzcywKKwkuc2V0X2NoYW5fY2ZnCQk9IHN1bjUwaV9oNl9pMnNf c2V0X2NoYW5fY2ZnLAorCS5zZXRfZm10CQk9IHN1bjUwaV9oNl9pMnNfc2V0X3NvY19mbXQsCit9 OworCiBzdGF0aWMgaW50IHN1bjRpX2kyc19pbml0X3JlZ21hcF9maWVsZHMoc3RydWN0IGRldmlj ZSAqZGV2LAogCQkJCQlzdHJ1Y3Qgc3VuNGlfaTJzICppMnMpCiB7CkBAIC0xMzMzLDYgKzE1NTMs MTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3VuNGlfaTJzX21hdGNoW10g PSB7CiAJCS5jb21wYXRpYmxlID0gImFsbHdpbm5lcixzdW41MGktYTY0LWNvZGVjLWkycyIsCiAJ CS5kYXRhID0gJnN1bjUwaV9hNjRfY29kZWNfaTJzX3F1aXJrcywKIAl9LAorCXsKKwkJLmNvbXBh dGlibGUgPSAiYWxsd2lubmVyLHN1bjUwaS1oNi1pMnMiLAorCQkuZGF0YSA9ICZzdW41MGlfaDZf aTJzX3F1aXJrcywKKwl9LAogCXt9CiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc3VuNGlf aTJzX21hdGNoKTsKLS0gCjIuMjUuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1r ZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK