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=-6.9 required=3.0 tests=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 93A19C433E6 for ; Sat, 4 Jul 2020 11:41:16 +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 525672084C for ; Sat, 4 Jul 2020 11:41:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="wT0k5jX5"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="rqY1nGnD" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 525672084C 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=tqi+WzdW5lSCApX+aEI1lXvLbdJsom1Y4Mhzm4OcUrA=; b=wT0k5jX5uykJCFnlAwz4jrq4h /PlKda8yxJEXpjP/FzXtWk4XuV915zA7Rk1VlJO/jsOt1jfGPfxaFEAodLwhGuzf3YyprLKGpEmDn l474SKrdq8CY3oJbBbsRveGbfQCWTxS9aEgRaDpNDTHwHiFn2XS3AwG+q7PQkFymLM78XFg3tTMji CQWvCyvupz++9F+4su0tZMalgeyj3rZPMkbe0hvV9mdLgIeozvIBAxiikB7wtj4hU1TrvUfDG8Eih Jl+fAzVLnzB0ccbxtoWYtW/CVUgYZ9TnDolQjV+edqKmz+Slx6CgOUSixUhkSpSTz54n8RLRcmd27 E0t4skvDg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jrgVl-0005Kd-Fz; Sat, 04 Jul 2020 11:39:13 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jrgVh-0005IC-1z for linux-arm-kernel@lists.infradead.org; Sat, 04 Jul 2020 11:39:10 +0000 Received: by mail-wr1-x441.google.com with SMTP id z2so13170560wrp.2 for ; Sat, 04 Jul 2020 04:39:08 -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=LsosEWG6bx2IfUteOPM6YCmFgLxFK0VtNujcl6C7bdw=; b=rqY1nGnD/0pKAwpGnvahpg5bBCNFZwCStP6z9Osg9chDmur2VNeGe96h1d+nOgNFLQ riyzuiTOVZYr03jE05eniSmSyjrryfLHk1D8VhjQ6bSGFvtNqXNG7tcz7tvL/+5xokgo t/pcpyKnWqXXCpGJPMDejdriBC1xEUWqSS2nrfcCmJv7IVz44aBRDWv5beeRS1lNPdsb YTaam/MjxtxaWcdeyT+MoEaL720bYMMHaGVEx/2GuXB1blzrhTBFIawyIEqSw/GPhSSJ 0au6oQv0UJIzjyo+4MDYdOvtoiDPfbVDFcHVcV6xQQ5Nr34zNGSnVU1t7AwlBDgnux/E wrXQ== 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=LsosEWG6bx2IfUteOPM6YCmFgLxFK0VtNujcl6C7bdw=; b=ErUbP4NUaPMFIEgnT393aRmWFWz1Zeffx2lHy2r74r6z1kbm4P+RgL007x1+ZYaIXf DOZEtTRMbG7iZt4k/pyjGfIqLS/yKB2sJWTh/vaXB8i6WKmSLEF/40PoQbZo6SoUj/5m Pcy7CcY9O9d3SXOjbZvROIwYAJVVFdTgTfTZqjHrpeHKH2DZcOuR3UeaapDZiXEl5bxq UPph8QB9kybTwHaDPKiCX/DXht/csB6jpRlImXvBE4gnf+7y4y6cxzSpRjyo5N9nV6jm IBPH3sa7k4L0T4mEFZiKphhJ6qjycEiOuE4iwpqtVOXZkJ8gKsioCAKn8vqYXZsU9baU GxOw== X-Gm-Message-State: AOAM530w/XgFjk96L0btuIgjPPWuF6nKrJB4fud0f+UtF51v/cJ/o+ye p1/FgPanrwUkH6pY+WQNV1Y= X-Google-Smtp-Source: ABdhPJyATn7Tr21RwzR6nHcOKHgLsrIEqF1F7VtVRwr1dN2oJ25AhJbOxDrtYy3vBQYZ5TSQC43B4A== X-Received: by 2002:adf:f608:: with SMTP id t8mr41462783wrp.308.1593862747164; Sat, 04 Jul 2020 04:39:07 -0700 (PDT) Received: from clement-Latitude-7490.numericable.fr (213-245-241-245.rev.numericable.fr. [213.245.241.245]) by smtp.gmail.com with ESMTPSA id j24sm18657373wrd.43.2020.07.04.04.39.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Jul 2020 04:39:06 -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 01/16] ASoC: sun4i-i2s: Add support for H6 I2S Date: Sat, 4 Jul 2020 13:38:47 +0200 Message-Id: <20200704113902.336911-2-peron.clem@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200704113902.336911-1-peron.clem@gmail.com> References: <20200704113902.336911-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-20200704_073909_143870_67A16C84 X-CRM114-Status: GOOD ( 20.08 ) 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 PgotLS0KIHNvdW5kL3NvYy9zdW54aS9zdW40aS1pMnMuYyB8IDIyNyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAyMjcgaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zdW54aS9zdW40aS1pMnMuYyBiL3NvdW5kL3NvYy9zdW54 aS9zdW40aS1pMnMuYwppbmRleCBkMGE4ZDU4MTBjMGEuLjk2OTAzODljYjY4ZSAxMDA2NDQKLS0t IGEvc291bmQvc29jL3N1bnhpL3N1bjRpLWkycy5jCisrKyBiL3NvdW5kL3NvYy9zdW54aS9zdW40 aS1pMnMuYwpAQCAtMTI0LDYgKzEyNCwyMSBAQAogI2RlZmluZSBTVU44SV9JMlNfUlhfQ0hBTl9T RUxfUkVHCTB4NTQKICNkZWZpbmUgU1VOOElfSTJTX1JYX0NIQU5fTUFQX1JFRwkweDU4CiAKKy8q IERlZmluZXMgcmVxdWlyZWQgZm9yIHN1bjUwaS1oNiBzdXBwb3J0ICovCisjZGVmaW5lIFNVTjUw SV9INl9JMlNfVFhfQ0hBTl9TRUxfT0ZGU0VUX01BU0sJR0VOTUFTSygyMSwgMjApCisjZGVmaW5l IFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9TRUxfT0ZGU0VUKG9mZnNldCkJKChvZmZzZXQpIDw8IDIw KQorI2RlZmluZSBTVU41MElfSDZfSTJTX1RYX0NIQU5fU0VMX01BU0sJCUdFTk1BU0soMTksIDE2 KQorI2RlZmluZSBTVU41MElfSDZfSTJTX1RYX0NIQU5fU0VMKGNoYW4pCQkoKGNoYW4gLSAxKSA8 PCAxNikKKyNkZWZpbmUgU1VONTBJX0g2X0kyU19UWF9DSEFOX0VOX01BU0sJCUdFTk1BU0soMTUs IDApCisjZGVmaW5lIFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9FTihudW1fY2hhbikJKCgoMSA8PCBu dW1fY2hhbikgLSAxKSkKKworI2RlZmluZSBTVU41MElfSDZfSTJTX1RYX0NIQU5fTUFQMF9SRUcJ MHg0NAorI2RlZmluZSBTVU41MElfSDZfSTJTX1RYX0NIQU5fTUFQMV9SRUcJMHg0OAorCisjZGVm aW5lIFNVTjUwSV9INl9JMlNfUlhfQ0hBTl9TRUxfUkVHCTB4NjQKKyNkZWZpbmUgU1VONTBJX0g2 X0kyU19SWF9DSEFOX01BUDBfUkVHCTB4NjgKKyNkZWZpbmUgU1VONTBJX0g2X0kyU19SWF9DSEFO X01BUDFfUkVHCTB4NkMKKwogc3RydWN0IHN1bjRpX2kyczsKIAogLyoqCkBAIC00NjYsNiArNDgx LDY1IEBAIHN0YXRpYyBpbnQgc3VuOGlfaTJzX3NldF9jaGFuX2NmZyhjb25zdCBzdHJ1Y3Qgc3Vu NGlfaTJzICppMnMsCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgc3VuNTBpX2kyc19zZXRf Y2hhbl9jZmcoY29uc3Qgc3RydWN0IHN1bjRpX2kycyAqaTJzLAorCQkJCSAgIGNvbnN0IHN0cnVj dCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXVuc2lnbmVkIGludCBjaGFubmVscyA9 IHBhcmFtc19jaGFubmVscyhwYXJhbXMpOworCXVuc2lnbmVkIGludCBzbG90cyA9IGNoYW5uZWxz OworCXVuc2lnbmVkIGludCBscmNrX3BlcmlvZDsKKworCWlmIChpMnMtPnNsb3RzKQorCQlzbG90 cyA9IGkycy0+c2xvdHM7CisKKwkvKiBNYXAgdGhlIGNoYW5uZWxzIGZvciBwbGF5YmFjayBhbmQg Y2FwdHVyZSAqLworCXJlZ21hcF93cml0ZShpMnMtPnJlZ21hcCwgU1VONTBJX0g2X0kyU19UWF9D SEFOX01BUDFfUkVHLCAweDc2NTQzMjEwKTsKKwlyZWdtYXBfd3JpdGUoaTJzLT5yZWdtYXAsIFNV TjUwSV9INl9JMlNfUlhfQ0hBTl9NQVAxX1JFRywgMHg3NjU0MzIxMCk7CisKKwkvKiBDb25maWd1 cmUgdGhlIGNoYW5uZWxzICovCisJcmVnbWFwX3VwZGF0ZV9iaXRzKGkycy0+cmVnbWFwLCBTVU44 SV9JMlNfVFhfQ0hBTl9TRUxfUkVHLAorCQkJICAgU1VONTBJX0g2X0kyU19UWF9DSEFOX1NFTF9N QVNLLAorCQkJICAgU1VONTBJX0g2X0kyU19UWF9DSEFOX1NFTChjaGFubmVscykpOworCXJlZ21h cF91cGRhdGVfYml0cyhpMnMtPnJlZ21hcCwgU1VONTBJX0g2X0kyU19SWF9DSEFOX1NFTF9SRUcs CisJCQkgICBTVU41MElfSDZfSTJTX1RYX0NIQU5fU0VMX01BU0ssCisJCQkgICBTVU41MElfSDZf STJTX1RYX0NIQU5fU0VMKGNoYW5uZWxzKSk7CisKKwlyZWdtYXBfdXBkYXRlX2JpdHMoaTJzLT5y ZWdtYXAsIFNVTjhJX0kyU19DSEFOX0NGR19SRUcsCisJCQkgICBTVU44SV9JMlNfQ0hBTl9DRkdf VFhfU0xPVF9OVU1fTUFTSywKKwkJCSAgIFNVTjhJX0kyU19DSEFOX0NGR19UWF9TTE9UX05VTShj aGFubmVscykpOworCXJlZ21hcF91cGRhdGVfYml0cyhpMnMtPnJlZ21hcCwgU1VOOElfSTJTX0NI QU5fQ0ZHX1JFRywKKwkJCSAgIFNVTjhJX0kyU19DSEFOX0NGR19SWF9TTE9UX05VTV9NQVNLLAor CQkJICAgU1VOOElfSTJTX0NIQU5fQ0ZHX1JYX1NMT1RfTlVNKGNoYW5uZWxzKSk7CisKKwlzd2l0 Y2ggKGkycy0+Zm9ybWF0ICYgU05EX1NPQ19EQUlGTVRfRk9STUFUX01BU0spIHsKKwljYXNlIFNO RF9TT0NfREFJRk1UX0RTUF9BOgorCWNhc2UgU05EX1NPQ19EQUlGTVRfRFNQX0I6CisJY2FzZSBT TkRfU09DX0RBSUZNVF9MRUZUX0o6CisJY2FzZSBTTkRfU09DX0RBSUZNVF9SSUdIVF9KOgorCQls cmNrX3BlcmlvZCA9IHBhcmFtc19waHlzaWNhbF93aWR0aChwYXJhbXMpICogc2xvdHM7CisJCWJy ZWFrOworCisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlM6CisJCWxyY2tfcGVyaW9kID0gcGFyYW1z X3BoeXNpY2FsX3dpZHRoKHBhcmFtcyk7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcmV0dXJu IC1FSU5WQUw7CisJfQorCisJaWYgKGkycy0+c2xvdF93aWR0aCkKKwkJbHJja19wZXJpb2QgPSBp MnMtPnNsb3Rfd2lkdGg7CisKKwlyZWdtYXBfdXBkYXRlX2JpdHMoaTJzLT5yZWdtYXAsIFNVTjRJ X0kyU19GTVQwX1JFRywKKwkJCSAgIFNVTjhJX0kyU19GTVQwX0xSQ0tfUEVSSU9EX01BU0ssCisJ CQkgICBTVU44SV9JMlNfRk1UMF9MUkNLX1BFUklPRChscmNrX3BlcmlvZCkpOworCisJcmVnbWFw X3VwZGF0ZV9iaXRzKGkycy0+cmVnbWFwLCBTVU44SV9JMlNfVFhfQ0hBTl9TRUxfUkVHLAorCQkJ ICAgU1VONTBJX0g2X0kyU19UWF9DSEFOX0VOX01BU0ssCisJCQkgICBTVU41MElfSDZfSTJTX1RY X0NIQU5fRU4oY2hhbm5lbHMpKTsKKworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IHN1bjRp X2kyc19od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCiAJCQkg ICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMsCiAJCQkgICAgICAgc3RydWN0 IHNuZF9zb2NfZGFpICpkYWkpCkBAIC02OTEsNiArNzY1LDEwOCBAQCBzdGF0aWMgaW50IHN1bjhp X2kyc19zZXRfc29jX2ZtdChjb25zdCBzdHJ1Y3Qgc3VuNGlfaTJzICppMnMsCiAJcmV0dXJuIDA7 CiB9CiAKK3N0YXRpYyBpbnQgc3VuNTBpX2kyc19zZXRfc29jX2ZtdChjb25zdCBzdHJ1Y3Qgc3Vu NGlfaTJzICppMnMsCisJCQkJICB1bnNpZ25lZCBpbnQgZm10KQoreworCXUzMiBtb2RlLCB2YWw7 CisJdTggb2Zmc2V0OworCisJLyoKKwkgKiBEQUkgY2xvY2sgcG9sYXJpdHkKKwkgKgorCSAqIFRo ZSBzZXR1cCBmb3IgTFJDSyBjb250cmFkaWN0cyB0aGUgZGF0YXNoZWV0LCBidXQgdW5kZXIgYQor CSAqIHNjb3BlIGl0J3MgY2xlYXIgdGhhdCB0aGUgTFJDSyBwb2xhcml0eSBpcyByZXZlcnNlZAor CSAqIGNvbXBhcmVkIHRvIHRoZSBleHBlY3RlZCBwb2xhcml0eSBvbiB0aGUgYnVzLgorCSAqLwor CXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfSU5WX01BU0spIHsKKwljYXNlIFNORF9TT0Nf REFJRk1UX0lCX0lGOgorCQkvKiBJbnZlcnQgYm90aCBjbG9ja3MgKi8KKwkJdmFsID0gU1VOOElf STJTX0ZNVDBfQkNMS19QT0xBUklUWV9JTlZFUlRFRDsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09D X0RBSUZNVF9JQl9ORjoKKwkJLyogSW52ZXJ0IGJpdCBjbG9jayAqLworCQl2YWwgPSBTVU44SV9J MlNfRk1UMF9CQ0xLX1BPTEFSSVRZX0lOVkVSVEVEIHwKKwkJICAgICAgU1VOOElfSTJTX0ZNVDBf TFJDTEtfUE9MQVJJVFlfSU5WRVJURUQ7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRf TkJfSUY6CisJCS8qIEludmVydCBmcmFtZSBjbG9jayAqLworCQl2YWwgPSAwOworCQlicmVhazsK KwljYXNlIFNORF9TT0NfREFJRk1UX05CX05GOgorCQl2YWwgPSBTVU44SV9JMlNfRk1UMF9MUkNM S19QT0xBUklUWV9JTlZFUlRFRDsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5W QUw7CisJfQorCisJcmVnbWFwX3VwZGF0ZV9iaXRzKGkycy0+cmVnbWFwLCBTVU40SV9JMlNfRk1U MF9SRUcsCisJCQkgICBTVU44SV9JMlNfRk1UMF9MUkNMS19QT0xBUklUWV9NQVNLIHwKKwkJCSAg IFNVTjhJX0kyU19GTVQwX0JDTEtfUE9MQVJJVFlfTUFTSywKKwkJCSAgIHZhbCk7CisKKwkvKiBE QUkgTW9kZSAqLworCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfRk9STUFUX01BU0spIHsK KwljYXNlIFNORF9TT0NfREFJRk1UX0RTUF9BOgorCQltb2RlID0gU1VOOElfSTJTX0NUUkxfTU9E RV9QQ007CisJCW9mZnNldCA9IDE7CisJCWJyZWFrOworCisJY2FzZSBTTkRfU09DX0RBSUZNVF9E U1BfQjoKKwkJbW9kZSA9IFNVTjhJX0kyU19DVFJMX01PREVfUENNOworCQlvZmZzZXQgPSAwOwor CQlicmVhazsKKworCWNhc2UgU05EX1NPQ19EQUlGTVRfSTJTOgorCQltb2RlID0gU1VOOElfSTJT X0NUUkxfTU9ERV9MRUZUOworCQlvZmZzZXQgPSAxOworCQlicmVhazsKKworCWNhc2UgU05EX1NP Q19EQUlGTVRfTEVGVF9KOgorCQltb2RlID0gU1VOOElfSTJTX0NUUkxfTU9ERV9MRUZUOworCQlv ZmZzZXQgPSAwOworCQlicmVhazsKKworCWNhc2UgU05EX1NPQ19EQUlGTVRfUklHSFRfSjoKKwkJ bW9kZSA9IFNVTjhJX0kyU19DVFJMX01PREVfUklHSFQ7CisJCW9mZnNldCA9IDA7CisJCWJyZWFr OworCisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmVnbWFwX3VwZGF0ZV9i aXRzKGkycy0+cmVnbWFwLCBTVU40SV9JMlNfQ1RSTF9SRUcsCisJCQkgICBTVU44SV9JMlNfQ1RS TF9NT0RFX01BU0ssIG1vZGUpOworCXJlZ21hcF91cGRhdGVfYml0cyhpMnMtPnJlZ21hcCwgU1VO OElfSTJTX1RYX0NIQU5fU0VMX1JFRywKKwkJCSAgIFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9TRUxf T0ZGU0VUX01BU0ssCisJCQkgICBTVU41MElfSDZfSTJTX1RYX0NIQU5fU0VMX09GRlNFVChvZmZz ZXQpKTsKKwlyZWdtYXBfdXBkYXRlX2JpdHMoaTJzLT5yZWdtYXAsIFNVTjUwSV9INl9JMlNfUlhf Q0hBTl9TRUxfUkVHLAorCQkJICAgU1VONTBJX0g2X0kyU19UWF9DSEFOX1NFTF9PRkZTRVRfTUFT SywKKwkJCSAgIFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9TRUxfT0ZGU0VUKG9mZnNldCkpOworCisJ LyogREFJIGNsb2NrIG1hc3RlciBtYXNrcyAqLworCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlG TVRfTUFTVEVSX01BU0spIHsKKwljYXNlIFNORF9TT0NfREFJRk1UX0NCU19DRlM6CisJCS8qIEJD TEsgYW5kIExSQ0xLIG1hc3RlciAqLworCQl2YWwgPSBTVU44SV9JMlNfQ1RSTF9CQ0xLX09VVCB8 CVNVTjhJX0kyU19DVFJMX0xSQ0tfT1VUOworCQlicmVhazsKKworCWNhc2UgU05EX1NPQ19EQUlG TVRfQ0JNX0NGTToKKwkJLyogQkNMSyBhbmQgTFJDTEsgc2xhdmUgKi8KKwkJdmFsID0gMDsKKwkJ YnJlYWs7CisKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZWdtYXBfdXBk YXRlX2JpdHMoaTJzLT5yZWdtYXAsIFNVTjRJX0kyU19DVFJMX1JFRywKKwkJCSAgIFNVTjhJX0ky U19DVFJMX0JDTEtfT1VUIHwgU1VOOElfSTJTX0NUUkxfTFJDS19PVVQsCisJCQkgICB2YWwpOwor CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgc3VuNGlfaTJzX3NldF9mbXQoc3RydWN0IHNu ZF9zb2NfZGFpICpkYWksIHVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHN1bjRpX2kycyAq aTJzID0gc25kX3NvY19kYWlfZ2V0X2RydmRhdGEoZGFpKTsKQEAgLTk3MSw2ICsxMTQ3LDIyIEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnX2RlZmF1bHQgc3VuOGlfaTJzX3JlZ19kZWZhdWx0c1td ID0gewogCXsgU1VOOElfSTJTX1JYX0NIQU5fTUFQX1JFRywgMHgwMDAwMDAwMCB9LAogfTsKIAor c3RhdGljIGNvbnN0IHN0cnVjdCByZWdfZGVmYXVsdCBzdW41MGlfaTJzX3JlZ19kZWZhdWx0c1td ID0geworCXsgU1VONElfSTJTX0NUUkxfUkVHLCAweDAwMDYwMDAwIH0sCisJeyBTVU40SV9JMlNf Rk1UMF9SRUcsIDB4MDAwMDAwMzMgfSwKKwl7IFNVTjRJX0kyU19GTVQxX1JFRywgMHgwMDAwMDAz MCB9LAorCXsgU1VONElfSTJTX0ZJRk9fQ1RSTF9SRUcsIDB4MDAwNDAwZjAgfSwKKwl7IFNVTjRJ X0kyU19ETUFfSU5UX0NUUkxfUkVHLCAweDAwMDAwMDAwIH0sCisJeyBTVU40SV9JMlNfQ0xLX0RJ Vl9SRUcsIDB4MDAwMDAwMDAgfSwKKwl7IFNVTjhJX0kyU19DSEFOX0NGR19SRUcsIDB4MDAwMDAw MDAgfSwKKwl7IFNVTjhJX0kyU19UWF9DSEFOX1NFTF9SRUcsIDB4MDAwMDAwMDAgfSwKKwl7IFNV TjUwSV9INl9JMlNfVFhfQ0hBTl9NQVAwX1JFRywgMHgwMDAwMDAwMCB9LAorCXsgU1VONTBJX0g2 X0kyU19UWF9DSEFOX01BUDFfUkVHLCAweDAwMDAwMDAwIH0sCisJeyBTVU41MElfSDZfSTJTX1JY X0NIQU5fU0VMX1JFRywgMHgwMDAwMDAwMCB9LAorCXsgU1VONTBJX0g2X0kyU19SWF9DSEFOX01B UDBfUkVHLCAweDAwMDAwMDAwIH0sCisJeyBTVU41MElfSDZfSTJTX1JYX0NIQU5fTUFQMV9SRUcs IDB4MDAwMDAwMDAgfSwKK307CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnbWFwX2NvbmZpZyBz dW40aV9pMnNfcmVnbWFwX2NvbmZpZyA9IHsKIAkucmVnX2JpdHMJPSAzMiwKIAkucmVnX3N0cmlk ZQk9IDQsCkBAIC05OTgsNiArMTE5MCwxOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21hcF9j b25maWcgc3VuOGlfaTJzX3JlZ21hcF9jb25maWcgPSB7CiAJLnZvbGF0aWxlX3JlZwk9IHN1bjhp X2kyc192b2xhdGlsZV9yZWcsCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21hcF9jb25m aWcgc3VuNTBpX2kyc19yZWdtYXBfY29uZmlnID0geworCS5yZWdfYml0cwk9IDMyLAorCS5yZWdf c3RyaWRlCT0gNCwKKwkudmFsX2JpdHMJPSAzMiwKKwkubWF4X3JlZ2lzdGVyCT0gU1VONTBJX0g2 X0kyU19SWF9DSEFOX01BUDFfUkVHLAorCS5jYWNoZV90eXBlCT0gUkVHQ0FDSEVfRkxBVCwKKwku cmVnX2RlZmF1bHRzCT0gc3VuNTBpX2kyc19yZWdfZGVmYXVsdHMsCisJLm51bV9yZWdfZGVmYXVs dHMJPSBBUlJBWV9TSVpFKHN1bjUwaV9pMnNfcmVnX2RlZmF1bHRzKSwKKwkud3JpdGVhYmxlX3Jl Zwk9IHN1bjRpX2kyc193cl9yZWcsCisJLnJlYWRhYmxlX3JlZwk9IHN1bjhpX2kyc19yZF9yZWcs CisJLnZvbGF0aWxlX3JlZwk9IHN1bjhpX2kyc192b2xhdGlsZV9yZWcsCit9OworCiBzdGF0aWMg aW50IHN1bjRpX2kyc19ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7CiAJc3Ry dWN0IHN1bjRpX2kycyAqaTJzID0gZGV2X2dldF9kcnZkYXRhKGRldik7CkBAIC0xMTU2LDYgKzEz NjEsMjQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzdW40aV9pMnNfcXVpcmtzIHN1bjUwaV9hNjRf Y29kZWNfaTJzX3F1aXJrcyA9IHsKIAkuc2V0X2ZtdAkJPSBzdW40aV9pMnNfc2V0X3NvY19mbXQs CiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IHN1bjRpX2kyc19xdWlya3Mgc3VuNTBpX2g2X2ky c19xdWlya3MgPSB7CisJLmhhc19yZXNldAkJPSB0cnVlLAorCS5yZWdfb2Zmc2V0X3R4ZGF0YQk9 IFNVTjhJX0kyU19GSUZPX1RYX1JFRywKKwkuc3VuNGlfaTJzX3JlZ21hcAk9ICZzdW41MGlfaTJz X3JlZ21hcF9jb25maWcsCisJLmZpZWxkX2Nsa2Rpdl9tY2xrX2VuCT0gUkVHX0ZJRUxEKFNVTjRJ X0kyU19DTEtfRElWX1JFRywgOCwgOCksCisJLmZpZWxkX2ZtdF93c3MJCT0gUkVHX0ZJRUxEKFNV TjRJX0kyU19GTVQwX1JFRywgMCwgMiksCisJLmZpZWxkX2ZtdF9zcgkJPSBSRUdfRklFTEQoU1VO NElfSTJTX0ZNVDBfUkVHLCA0LCA2KSwKKwkuYmNsa19kaXZpZGVycwkJPSBzdW44aV9pMnNfY2xr X2RpdiwKKwkubnVtX2JjbGtfZGl2aWRlcnMJPSBBUlJBWV9TSVpFKHN1bjhpX2kyc19jbGtfZGl2 KSwKKwkubWNsa19kaXZpZGVycwkJPSBzdW44aV9pMnNfY2xrX2RpdiwKKwkubnVtX21jbGtfZGl2 aWRlcnMJPSBBUlJBWV9TSVpFKHN1bjhpX2kyc19jbGtfZGl2KSwKKwkuZ2V0X2JjbGtfcGFyZW50 X3JhdGUJPSBzdW44aV9pMnNfZ2V0X2JjbGtfcGFyZW50X3JhdGUsCisJLmdldF9zcgkJCT0gc3Vu OGlfaTJzX2dldF9zcl93c3MsCisJLmdldF93c3MJCT0gc3VuOGlfaTJzX2dldF9zcl93c3MsCisJ LnNldF9jaGFuX2NmZwkJPSBzdW41MGlfaTJzX3NldF9jaGFuX2NmZywKKwkuc2V0X2ZtdAkJPSBz dW41MGlfaTJzX3NldF9zb2NfZm10LAorfTsKKwogc3RhdGljIGludCBzdW40aV9pMnNfaW5pdF9y ZWdtYXBfZmllbGRzKHN0cnVjdCBkZXZpY2UgKmRldiwKIAkJCQkJc3RydWN0IHN1bjRpX2kycyAq aTJzKQogewpAQCAtMTMyNSw2ICsxNTQ4LDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2 aWNlX2lkIHN1bjRpX2kyc19tYXRjaFtdID0gewogCQkuY29tcGF0aWJsZSA9ICJhbGx3aW5uZXIs c3VuNTBpLWE2NC1jb2RlYy1pMnMiLAogCQkuZGF0YSA9ICZzdW41MGlfYTY0X2NvZGVjX2kyc19x dWlya3MsCiAJfSwKKwl7CisJCS5jb21wYXRpYmxlID0gImFsbHdpbm5lcixzdW41MGktaDYtaTJz IiwKKwkJLmRhdGEgPSAmc3VuNTBpX2g2X2kyc19xdWlya3MsCisJfSwKIAl7fQogfTsKIE1PRFVM RV9ERVZJQ0VfVEFCTEUob2YsIHN1bjRpX2kyc19tYXRjaCk7Ci0tIAoyLjI1LjEKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVs IG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==