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.7 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 9D936C38A29 for ; Sat, 18 Apr 2020 14:40:20 +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 439F821D6C for ; Sat, 18 Apr 2020 14:40:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="QZV0zaFx"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="vMjygyOj" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 439F821D6C 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+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: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=M2rvEg/wFlsWLs2qWeg4LDFVZ0dWzRYE50WCJeAaxdE=; b=QZV0zaFxYLd3xw E4ZEAYf+7UNvKQsZRK9Vr4I2SLpRt0cYf7J8QFww8I/G1zWnMR5e8Tj64LAdrN6NgMD6QfNSgHKai fpEd3xIqwKWk1jOQiuEDRGv59+TKt+BcjgKWfV5bxCgsZQ1jKUlvHaOx1GGj0F11U0lELsjB1ucHJ NF9w1D8obACeKlF50QOXtd8gJs7teviVaZ7UZuo6/d9T5laxS1/FH7EI5nVOS2B5A2oOwwK2GAoMZ WLG5X/shL7th1I8CiWcGkCufj2tXLZN5ieEOJf4bs9JbSTgDKHC96A6OeDdhHYZcJSrBZvT1n6lsg QCM/6nsvPZv2HqvCiCkg==; 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 1jPodi-0004pm-P9; Sat, 18 Apr 2020 14:40:14 +0000 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jPod1-0003V1-Tx for linux-arm-kernel@lists.infradead.org; Sat, 18 Apr 2020 14:39:34 +0000 Received: by mail-wm1-x344.google.com with SMTP id t63so4795262wmt.3 for ; Sat, 18 Apr 2020 07:39:31 -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=V/lpQn53gdEXltFH79q8XmCEGM5dgBCWmNxBGwbhAXM=; b=vMjygyOj5j9D4MLvbHmOGIvDgK3qeLu/dQPF+75NNeRbDnpGcCjN86lrwr3bqFV0dp 3rgZSzOjGzqLO17XNhRZ1ADYv6nqrZ+QuZwPw9UyvU6xVwjkVCgQmgtR3JZ3Yqyl5Uzw 8z79kisiNgx14qcZ2GEsTCIDUu6glDObU6hBjuxeu3Gfu3fIlY7TBVB24eq+LkPpNMy5 sp+wDIXVFubRbch2qFyZV+rxrGH8oMAmtKk7vXRIk/WKreBDhrMDj9QWIKkUWc9AQta1 xMTr2+2SDpN3Bd33nfE3l2DQwfg1T7C4ilgvS8xSxm8te/5SlZ2VEPQCsl4vRPC+fCzl IZtA== 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=V/lpQn53gdEXltFH79q8XmCEGM5dgBCWmNxBGwbhAXM=; b=qK0v9KYE6v54FsWh+3KdhaF/Imrch1hd/SLEJ+Smx/Iyq+FTQTNC0ZxeyDufV6EFQP ZoEMGzR6PUiWp2jyxb5OR5ovPnnzMHDTxVfcQR1aVRLsZ9N304zdly0TCL4eykV3xNQ8 ezwgT6mzxSTGmStbwHYCnCsn7z6mQtu1FqAnx01jm0vHMjXCt9PcM+QJyMt3PKfh8Xor fbhSsoMGIASMAy75GlEfrFc3/w0lB/oH+Co9Jb42ob3etKSyzMyJS0nyDbcZYya+axmZ 9cff9uUi5zsgpZQHebvUaUXUBflrZOoSeI6r+AO6LtlE2XFtfdTwcP+zoTY+zzpVMIgi urZA== X-Gm-Message-State: AGi0PuayZQFOVSb3uYCarl1YN63cWH3KejSiWTh5HAjGQde4tGrFeq8l F0684blD/LTrDwa6lAS8Uvs= X-Google-Smtp-Source: APiQypK198oUicQ21EMaxG1WTQM1N6oYQRcM+vnP2/0PckAjvnzlgzf4E+t1uRShC71PADCbiT5/BA== X-Received: by 2002:a05:600c:2314:: with SMTP id 20mr8844474wmo.118.1587220770433; Sat, 18 Apr 2020 07:39:30 -0700 (PDT) Received: from localhost.localdomain ([2a01:e0a:1f1:d0f0:4e7:1fdd:b7c2:b3ab]) by smtp.gmail.com with ESMTPSA id s9sm25375322wrg.27.2020.04.18.07.39.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Apr 2020 07:39:29 -0700 (PDT) From: =?UTF-8?q?Cl=C3=A9ment=20P=C3=A9ron?= To: Liam Girdwood , Mark Brown , Rob Herring , Maxime Ripard , Chen-Yu Tsai , Jaroslav Kysela , Takashi Iwai Subject: [PATCH 3/7] ASoC: sun4i-i2s: Add support for H6 I2S Date: Sat, 18 Apr 2020 16:39:19 +0200 Message-Id: <20200418143923.19608-4-peron.clem@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200418143923.19608-1-peron.clem@gmail.com> References: <20200418143923.19608-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-20200418_073932_025738_F3B75430 X-CRM114-Status: GOOD ( 16.85 ) 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, alsa-devel@alsa-project.org, Jernej Skrabec , linux-kernel@vger.kernel.org, Marcus Cooper , =?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+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org RnJvbTogSmVybmVqIFNrcmFiZWMgPGplcm5lai5za3JhYmVjQHNpb2wubmV0PgoKSDYgSTJTIGlz IHZlcnkgc2ltaWxhciB0byB0aGF0IGluIEgzLCBleGNlcHQgaXQgc3VwcG9ydHMgdXAgdG8gMTYK Y2hhbm5lbHMuCgpTaWduZWQtb2ZmLWJ5OiBKZXJuZWogU2tyYWJlYyA8amVybmVqLnNrcmFiZWNA c2lvbC5uZXQ+ClNpZ25lZC1vZmYtYnk6IE1hcmN1cyBDb29wZXIgPGNvZGVraXBwZXJAZ21haWwu Y29tPgpTaWduZWQtb2ZmLWJ5OiBDbMOpbWVudCBQw6lyb24gPHBlcm9uLmNsZW1AZ21haWwuY29t PgotLS0KIHNvdW5kL3NvYy9zdW54aS9zdW40aS1pMnMuYyB8IDIyNyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAyMjcgaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zdW54aS9zdW40aS1pMnMuYyBiL3NvdW5kL3NvYy9zdW54 aS9zdW40aS1pMnMuYwppbmRleCA0MTk4YTU0MTBiZjkuLmEyM2M5ZjJhM2Y4YyAxMDA2NDQKLS0t IGEvc291bmQvc29jL3N1bnhpL3N1bjRpLWkycy5jCisrKyBiL3NvdW5kL3NvYy9zdW54aS9zdW40 aS1pMnMuYwpAQCAtMTI0LDYgKzEyNCwyMSBAQAogI2RlZmluZSBTVU44SV9JMlNfUlhfQ0hBTl9T RUxfUkVHCTB4NTQKICNkZWZpbmUgU1VOOElfSTJTX1JYX0NIQU5fTUFQX1JFRwkweDU4CiAKKy8q IERlZmluZXMgcmVxdWlyZWQgZm9yIHN1bjUwaS1oNiBzdXBwb3J0ICovCisjZGVmaW5lIFNVTjUw SV9INl9JMlNfVFhfQ0hBTl9TRUxfT0ZGU0VUX01BU0sJR0VOTUFTSygyMSwgMjApCisjZGVmaW5l IFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9TRUxfT0ZGU0VUKG9mZnNldCkJKChvZmZzZXQpIDw8IDIw KQorI2RlZmluZSBTVU41MElfSDZfSTJTX1RYX0NIQU5fU0VMX01BU0sJCUdFTk1BU0soMTksIDE2 KQorI2RlZmluZSBTVU41MElfSDZfSTJTX1RYX0NIQU5fU0VMKGNoYW4pCQkoKGNoYW4gLSAxKSA8 PCAxNikKKyNkZWZpbmUgU1VONTBJX0g2X0kyU19UWF9DSEFOX0VOX01BU0sJCUdFTk1BU0soMTUs IDApCisjZGVmaW5lIFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9FTihudW1fY2hhbikJKCgoMSA8PCBu dW1fY2hhbikgLSAxKSkKKworI2RlZmluZSBTVU41MElfSDZfSTJTX1RYX0NIQU5fTUFQMF9SRUcJ MHg0NAorI2RlZmluZSBTVU41MElfSDZfSTJTX1RYX0NIQU5fTUFQMV9SRUcJMHg0OAorCisjZGVm aW5lIFNVTjUwSV9INl9JMlNfUlhfQ0hBTl9TRUxfUkVHCTB4NjQKKyNkZWZpbmUgU1VONTBJX0g2 X0kyU19SWF9DSEFOX01BUDBfUkVHCTB4NjgKKyNkZWZpbmUgU1VONTBJX0g2X0kyU19SWF9DSEFO X01BUDFfUkVHCTB4NkMKKwogc3RydWN0IHN1bjRpX2kyczsKIAogLyoqCkBAIC00NjksNiArNDg0 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 IHNuZF9zb2NfZGFpICpkYWkpCkBAIC02OTQsNiArNzY4LDEwOCBAQCBzdGF0aWMgaW50IHN1bjhp X2kyc19zZXRfc29jX2ZtdChjb25zdCBzdHJ1Y3Qgc3VuNGlfaTJzICppMnMsCiAJcmV0dXJuIDA7 CiB9CiAKK3N0YXRpYyBpbnQgc3VuNTBpX2kyc19zZXRfc29jX2ZtdChjb25zdCBzdHJ1Y3Qgc3Vu NGlfaTJzICppMnMsCisJCQkJIHVuc2lnbmVkIGludCBmbXQpCit7CisJdTMyIG1vZGUsIHZhbDsK Kwl1OCBvZmZzZXQ7CisKKwkvKgorCSAqIERBSSBjbG9jayBwb2xhcml0eQorCSAqCisJICogVGhl IHNldHVwIGZvciBMUkNLIGNvbnRyYWRpY3RzIHRoZSBkYXRhc2hlZXQsIGJ1dCB1bmRlciBhCisJ ICogc2NvcGUgaXQncyBjbGVhciB0aGF0IHRoZSBMUkNLIHBvbGFyaXR5IGlzIHJldmVyc2VkCisJ ICogY29tcGFyZWQgdG8gdGhlIGV4cGVjdGVkIHBvbGFyaXR5IG9uIHRoZSBidXMuCisJICovCisJ c3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9JTlZfTUFTSykgeworCWNhc2UgU05EX1NPQ19E QUlGTVRfSUJfSUY6CisJCS8qIEludmVydCBib3RoIGNsb2NrcyAqLworCQl2YWwgPSBTVU44SV9J MlNfRk1UMF9CQ0xLX1BPTEFSSVRZX0lOVkVSVEVEOworCQlicmVhazsKKwljYXNlIFNORF9TT0Nf REFJRk1UX0lCX05GOgorCQkvKiBJbnZlcnQgYml0IGNsb2NrICovCisJCXZhbCA9IFNVTjhJX0ky U19GTVQwX0JDTEtfUE9MQVJJVFlfSU5WRVJURUQgfAorCQkgICAgICBTVU44SV9JMlNfRk1UMF9M UkNMS19QT0xBUklUWV9JTlZFUlRFRDsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9O Ql9JRjoKKwkJLyogSW52ZXJ0IGZyYW1lIGNsb2NrICovCisJCXZhbCA9IDA7CisJCWJyZWFrOwor CWNhc2UgU05EX1NPQ19EQUlGTVRfTkJfTkY6CisJCXZhbCA9IFNVTjhJX0kyU19GTVQwX0xSQ0xL X1BPTEFSSVRZX0lOVkVSVEVEOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZB TDsKKwl9CisKKwlyZWdtYXBfdXBkYXRlX2JpdHMoaTJzLT5yZWdtYXAsIFNVTjRJX0kyU19GTVQw X1JFRywKKwkJCSAgIFNVTjhJX0kyU19GTVQwX0xSQ0xLX1BPTEFSSVRZX01BU0sgfAorCQkJICAg U1VOOElfSTJTX0ZNVDBfQkNMS19QT0xBUklUWV9NQVNLLAorCQkJICAgdmFsKTsKKworCS8qIERB SSBNb2RlICovCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9GT1JNQVRfTUFTSykgewor CWNhc2UgU05EX1NPQ19EQUlGTVRfRFNQX0E6CisJCW1vZGUgPSBTVU44SV9JMlNfQ1RSTF9NT0RF X1BDTTsKKwkJb2Zmc2V0ID0gMTsKKwkJYnJlYWs7CisKKwljYXNlIFNORF9TT0NfREFJRk1UX0RT UF9COgorCQltb2RlID0gU1VOOElfSTJTX0NUUkxfTU9ERV9QQ007CisJCW9mZnNldCA9IDA7CisJ CWJyZWFrOworCisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlM6CisJCW1vZGUgPSBTVU44SV9JMlNf Q1RSTF9NT0RFX0xFRlQ7CisJCW9mZnNldCA9IDE7CisJCWJyZWFrOworCisJY2FzZSBTTkRfU09D X0RBSUZNVF9MRUZUX0o6CisJCW1vZGUgPSBTVU44SV9JMlNfQ1RSTF9NT0RFX0xFRlQ7CisJCW9m ZnNldCA9IDA7CisJCWJyZWFrOworCisJY2FzZSBTTkRfU09DX0RBSUZNVF9SSUdIVF9KOgorCQlt b2RlID0gU1VOOElfSTJTX0NUUkxfTU9ERV9SSUdIVDsKKwkJb2Zmc2V0ID0gMDsKKwkJYnJlYWs7 CisKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZWdtYXBfdXBkYXRlX2Jp dHMoaTJzLT5yZWdtYXAsIFNVTjRJX0kyU19DVFJMX1JFRywKKwkJCSAgIFNVTjhJX0kyU19DVFJM X01PREVfTUFTSywgbW9kZSk7CisJcmVnbWFwX3VwZGF0ZV9iaXRzKGkycy0+cmVnbWFwLCBTVU44 SV9JMlNfVFhfQ0hBTl9TRUxfUkVHLAorCQkJICAgU1VONTBJX0g2X0kyU19UWF9DSEFOX1NFTF9P RkZTRVRfTUFTSywKKwkJCSAgIFNVTjUwSV9INl9JMlNfVFhfQ0hBTl9TRUxfT0ZGU0VUKG9mZnNl dCkpOworCXJlZ21hcF91cGRhdGVfYml0cyhpMnMtPnJlZ21hcCwgU1VONTBJX0g2X0kyU19SWF9D SEFOX1NFTF9SRUcsCisJCQkgICBTVU41MElfSDZfSTJTX1RYX0NIQU5fU0VMX09GRlNFVF9NQVNL LAorCQkJICAgU1VONTBJX0g2X0kyU19UWF9DSEFOX1NFTF9PRkZTRVQob2Zmc2V0KSk7CisKKwkv KiBEQUkgY2xvY2sgbWFzdGVyIG1hc2tzICovCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZN VF9NQVNURVJfTUFTSykgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUzoKKwkJLyogQkNM SyBhbmQgTFJDTEsgbWFzdGVyICovCisJCXZhbCA9IFNVTjhJX0kyU19DVFJMX0JDTEtfT1VUIHwJ U1VOOElfSTJTX0NUUkxfTFJDS19PVVQ7CisJCWJyZWFrOworCisJY2FzZSBTTkRfU09DX0RBSUZN VF9DQk1fQ0ZNOgorCQkvKiBCQ0xLIGFuZCBMUkNMSyBzbGF2ZSAqLworCQl2YWwgPSAwOworCQli cmVhazsKKworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJlZ21hcF91cGRh dGVfYml0cyhpMnMtPnJlZ21hcCwgU1VONElfSTJTX0NUUkxfUkVHLAorCQkJICAgU1VOOElfSTJT X0NUUkxfQkNMS19PVVQgfCBTVU44SV9JMlNfQ1RSTF9MUkNLX09VVCwKKwkJCSAgIHZhbCk7CisK KwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBzdW40aV9pMnNfc2V0X2ZtdChzdHJ1Y3Qgc25k X3NvY19kYWkgKmRhaSwgdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgc3VuNGlfaTJzICpp MnMgPSBzbmRfc29jX2RhaV9nZXRfZHJ2ZGF0YShkYWkpOwpAQCAtOTc0LDYgKzExNTAsMjIgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCByZWdfZGVmYXVsdCBzdW44aV9pMnNfcmVnX2RlZmF1bHRzW10g PSB7CiAJeyBTVU44SV9JMlNfUlhfQ0hBTl9NQVBfUkVHLCAweDAwMDAwMDAwIH0sCiB9OwogCitz dGF0aWMgY29uc3Qgc3RydWN0IHJlZ19kZWZhdWx0IHN1bjUwaV9pMnNfcmVnX2RlZmF1bHRzW10g PSB7CisJeyBTVU40SV9JMlNfQ1RSTF9SRUcsIDB4MDAwNjAwMDAgfSwKKwl7IFNVTjRJX0kyU19G TVQwX1JFRywgMHgwMDAwMDAzMyB9LAorCXsgU1VONElfSTJTX0ZNVDFfUkVHLCAweDAwMDAwMDMw IH0sCisJeyBTVU40SV9JMlNfRklGT19DVFJMX1JFRywgMHgwMDA0MDBmMCB9LAorCXsgU1VONElf STJTX0RNQV9JTlRfQ1RSTF9SRUcsIDB4MDAwMDAwMDAgfSwKKwl7IFNVTjRJX0kyU19DTEtfRElW X1JFRywgMHgwMDAwMDAwMCB9LAorCXsgU1VOOElfSTJTX0NIQU5fQ0ZHX1JFRywgMHgwMDAwMDAw MCB9LAorCXsgU1VOOElfSTJTX1RYX0NIQU5fU0VMX1JFRywgMHgwMDAwMDAwMCB9LAorCXsgU1VO NTBJX0g2X0kyU19UWF9DSEFOX01BUDBfUkVHLCAweDAwMDAwMDAwIH0sCisJeyBTVU41MElfSDZf STJTX1RYX0NIQU5fTUFQMV9SRUcsIDB4MDAwMDAwMDAgfSwKKwl7IFNVTjUwSV9INl9JMlNfUlhf Q0hBTl9TRUxfUkVHLCAweDAwMDAwMDAwIH0sCisJeyBTVU41MElfSDZfSTJTX1JYX0NIQU5fTUFQ MF9SRUcsIDB4MDAwMDAwMDAgfSwKKwl7IFNVTjUwSV9INl9JMlNfUlhfQ0hBTl9NQVAxX1JFRywg MHgwMDAwMDAwMCB9LAorfTsKKwogc3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIHN1 bjRpX2kyc19yZWdtYXBfY29uZmlnID0gewogCS5yZWdfYml0cwk9IDMyLAogCS5yZWdfc3RyaWRl CT0gNCwKQEAgLTEwMDEsNiArMTE5MywxOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21hcF9j b25maWcgc3VuOGlfaTJzX3JlZ21hcF9jb25maWcgPSB7CiAJLnZvbGF0aWxlX3JlZwk9IHN1bjhp X2kyc192b2xhdGlsZV9yZWcsCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21hcF9jb25m aWcgc3VuNTBpX2kyc19yZWdtYXBfY29uZmlnID0geworCS5yZWdfYml0cwk9IDMyLAorCS5yZWdf c3RyaWRlCT0gNCwKKwkudmFsX2JpdHMJPSAzMiwKKwkubWF4X3JlZ2lzdGVyCT0gU1VONTBJX0g2 X0kyU19SWF9DSEFOX01BUDFfUkVHLAorCS5jYWNoZV90eXBlCT0gUkVHQ0FDSEVfRkxBVCwKKwku cmVnX2RlZmF1bHRzCT0gc3VuNTBpX2kyc19yZWdfZGVmYXVsdHMsCisJLm51bV9yZWdfZGVmYXVs dHMJPSBBUlJBWV9TSVpFKHN1bjUwaV9pMnNfcmVnX2RlZmF1bHRzKSwKKwkud3JpdGVhYmxlX3Jl Zwk9IHN1bjRpX2kyc193cl9yZWcsCisJLnJlYWRhYmxlX3JlZwk9IHN1bjhpX2kyc19yZF9yZWcs CisJLnZvbGF0aWxlX3JlZwk9IHN1bjhpX2kyc192b2xhdGlsZV9yZWcsCit9OworCiBzdGF0aWMg aW50IHN1bjRpX2kyc19ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7CiAJc3Ry dWN0IHN1bjRpX2kycyAqaTJzID0gZGV2X2dldF9kcnZkYXRhKGRldik7CkBAIC0xMTU5LDYgKzEz NjQsMjQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzdW40aV9pMnNfcXVpcmtzIHN1bjUwaV9hNjRf Y29kZWNfaTJzX3F1aXJrcyA9IHsKIAkuc2V0X2ZtdAkJPSBzdW40aV9pMnNfc2V0X3NvY19mbXQs CiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IHN1bjRpX2kyc19xdWlya3Mgc3VuNTBpX2g2X2ky c19xdWlya3MgPSB7CisJLmhhc19yZXNldAkJPSB0cnVlLAorCS5yZWdfb2Zmc2V0X3R4ZGF0YQk9 IFNVTjhJX0kyU19GSUZPX1RYX1JFRywKKwkuc3VuNGlfaTJzX3JlZ21hcAk9ICZzdW41MGlfaTJz X3JlZ21hcF9jb25maWcsCisJLmZpZWxkX2Nsa2Rpdl9tY2xrX2VuCT0gUkVHX0ZJRUxEKFNVTjRJ X0kyU19DTEtfRElWX1JFRywgOCwgOCksCisJLmZpZWxkX2ZtdF93c3MJCT0gUkVHX0ZJRUxEKFNV TjRJX0kyU19GTVQwX1JFRywgMCwgMiksCisJLmZpZWxkX2ZtdF9zcgkJPSBSRUdfRklFTEQoU1VO NElfSTJTX0ZNVDBfUkVHLCA0LCA2KSwKKwkuYmNsa19kaXZpZGVycwkJPSBzdW44aV9pMnNfY2xr X2RpdiwKKwkubnVtX2JjbGtfZGl2aWRlcnMJPSBBUlJBWV9TSVpFKHN1bjhpX2kyc19jbGtfZGl2 KSwKKwkubWNsa19kaXZpZGVycwkJPSBzdW44aV9pMnNfY2xrX2RpdiwKKwkubnVtX21jbGtfZGl2 aWRlcnMJPSBBUlJBWV9TSVpFKHN1bjhpX2kyc19jbGtfZGl2KSwKKwkuZ2V0X2JjbGtfcGFyZW50 X3JhdGUJPSBzdW44aV9pMnNfZ2V0X2JjbGtfcGFyZW50X3JhdGUsCisJLmdldF9zcgkJCT0gc3Vu OGlfaTJzX2dldF9zcl93c3MsCisJLmdldF93c3MJCT0gc3VuOGlfaTJzX2dldF9zcl93c3MsCisJ LnNldF9jaGFuX2NmZwkJPSBzdW41MGlfaTJzX3NldF9jaGFuX2NmZywKKwkuc2V0X2ZtdAkJPSBz dW41MGlfaTJzX3NldF9zb2NfZm10LAorfTsKKwogc3RhdGljIGludCBzdW40aV9pMnNfaW5pdF9y ZWdtYXBfZmllbGRzKHN0cnVjdCBkZXZpY2UgKmRldiwKIAkJCQkJc3RydWN0IHN1bjRpX2kycyAq aTJzKQogewpAQCAtMTMyOCw2ICsxNTUxLDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2 aWNlX2lkIHN1bjRpX2kyc19tYXRjaFtdID0gewogCQkuY29tcGF0aWJsZSA9ICJhbGx3aW5uZXIs c3VuNTBpLWE2NC1jb2RlYy1pMnMiLAogCQkuZGF0YSA9ICZzdW41MGlfYTY0X2NvZGVjX2kyc19x dWlya3MsCiAJfSwKKwl7CisJCS5jb21wYXRpYmxlID0gImFsbHdpbm5lcixzdW41MGktaDYtaTJz IiwKKwkJLmRhdGEgPSAmc3VuNTBpX2g2X2kyc19xdWlya3MsCisJfSwKIAl7fQogfTsKIE1PRFVM RV9ERVZJQ0VfVEFCTEUob2YsIHN1bjRpX2kyc19tYXRjaCk7Ci0tIAoyLjIwLjEKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVs IG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==