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 82936C4363A for ; Tue, 27 Oct 2020 18:32:49 +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 0FFC720715 for ; Tue, 27 Oct 2020 18:32:49 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="bRXSL+cq"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="sPP4CtXy" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0FFC720715 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=z4rS3lfSfJqmlY8KCPjZl9gAcnM7tCVfC9wBxd68kJw=; b=bRXSL+cqMb3+1U2un0/kTCKRx vU/aPXYcaCWYyKsTSGEnHUYYnmDGhARs8HNWZK+cK7RlP4goPYomyBZHrhVQAGoc+630quu2rTzP+ HJB+67TwUdHjOT5tFUEN36YvKUuV5mJeJP1SQdowcbQyELEnNHTr3hbITlauTKfgzJnQtjw4TtDNE Ih/VIkQQM4cDpmjywQXsPi7FIZ0qCa1zEdYFl9jyLwtRsRKC2iCpyHSt1RvUzv+KC4sQ4qH0FfYXH WX7LIA0UBlwhEJH+kmhHO2HxmllEPypp11f07y8NoIupkZjf1HSD7CYtTw2WETph83oHKW5FFHaaS IkjOmPZsg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXTlX-0002Xo-Ki; Tue, 27 Oct 2020 18:32:15 +0000 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kXTlD-0002PH-I3 for linux-arm-kernel@lists.infradead.org; Tue, 27 Oct 2020 18:31:59 +0000 Received: by mail-wm1-x343.google.com with SMTP id c194so2315171wme.2 for ; Tue, 27 Oct 2020 11:31:55 -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=5NrMxKDZy4CZcI2oPZdckk6FH5Es80rs2oUQed7/azE=; b=sPP4CtXyqXbBHfONbafdiu6ocHsePCHdXVZ5j30CJPnc7H3L3LRjKnIPjweGmzYhD0 X+VZTdT+vnQky1EBzhJVi6bgatW5/w6Vd98BE+wKoUfmQa5BplcEKlpetmz4slEcN33c Ccdxyt527k69Da67NiEujG07D5HQwbEZb0NDn2l3i9B6OI2SOEDTJHijT884jgO97z6F DlgCAO3x4v4TLJvfBWabBzNq2bcumVEdZz0bnB2KLCUbN5ZIKxF4KF8Q/ZWHOLhQDLlp 2YE4PR2AfX3mXfKE0JiFXvczTuhRbl8XiOqXDoqsxF0b8oteRL2BN6sjTotf+QVWbOsR fFyg== 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=5NrMxKDZy4CZcI2oPZdckk6FH5Es80rs2oUQed7/azE=; b=YCVC945AcdDEEinKIMLm2t1UZF/M6QYMRXjIcqjGhPRs4rEDmNYmUlFguIfAzBIdFZ qcTGc2m6XVLKcDdIX8qjr/sL/5DeJ4iFLuZ5p2VbwnSLddm/eYTH9jrIE/4qs5swbJ0Z JDrViaxlcfBfDDP8aouoB0FVzUuOsAFHkDxO8dPwWV3EXXxQv3LR0N4dJs5org+eEHyd lmN3p09MIkoC1dw4JVaDwC0eTlWyk2RlUGhMi4VvcT+oZGs/IBXqG4chSy8H2cQ6OwrN H1+bIX6SaFWWmCGNyWek6SFWSJ+mR7ZjqpjA/wnrEzxomxTuuql8nZjk7PaqPSBYBBfc Z6Hw== X-Gm-Message-State: AOAM530yJMfbQ+LeDWu3MHS0wuVZRoAmg4yg8QssTnh1WqKnxsN/Xp84 fAW7F0XsvbMey1yBNiEmepk= X-Google-Smtp-Source: ABdhPJxqLsiT28TiSd2YyK9Hmem5kGFciTn1DyN5ynKjGlzKhT91NtVl7//VrqHKWEJ0KVeusyVXBQ== X-Received: by 2002:a1c:2cc2:: with SMTP id s185mr4217333wms.77.1603823514575; Tue, 27 Oct 2020 11:31:54 -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 m9sm2864148wmc.31.2020.10.27.11.31.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 11:31:53 -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 v9 02/14] ASoC: sun4i-i2s: Add support for H6 I2S Date: Tue, 27 Oct 2020 19:31:37 +0100 Message-Id: <20201027183149.145165-3-peron.clem@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201027183149.145165-1-peron.clem@gmail.com> References: <20201027183149.145165-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-20201027_143155_675499_CF257370 X-CRM114-Status: GOOD ( 22.26 ) 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 aS9zdW40aS1pMnMuYyBiL3NvdW5kL3NvYy9zdW54aS9zdW40aS1pMnMuYwppbmRleCA3YzFmNTdl YjI0NjIuLjlhYTgzN2Q0ZmU5OSAxMDA2NDQKLS0tIGEvc291bmQvc29jL3N1bnhpL3N1bjRpLWky 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 KwljYXNlIFNORF9TT0NfREFJRk1UX0RTUF9COgorCWNhc2UgU05EX1NPQ19EQUlGTVRfTEVGVF9K OgorCWNhc2UgU05EX1NPQ19EQUlGTVRfUklHSFRfSjoKKwkJbHJja19wZXJpb2QgPSBzbG90X3dp ZHRoICogc2xvdHM7CisJCWJyZWFrOworCisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlM6CisJCWxy 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=