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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id DC238C433F5 for ; Fri, 29 Apr 2022 19:20:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=DirLrPefCbU3fPV4o0nUA2ltN7NI07E5yrCu/II8wtw=; b=iWgy0fvydyqIcA X6ZuTNZfAY81r/xaO4/b22llOJC+YE7kN/WjbsnU0EqOQpyV9CPXudrT+qn4lTPXQwb0BqztmlMAy SH7WYKWG8Uuo8ZzRLCrPIFpGPCDw4h+xS3Zwl62mOOkAn3pvJLcq/eEnbfyYHHzk7UhBFNtsC0qzZ S2EDi/Di54W5Pqv79UJzjeCBl1AtqZWtae2WKv8nyHU4LX+R7UeBkhbCKZm0iC/Z85uFg+61ofKJC CMIuGsIvpvEM9hmT9O/bqZMe7xVfiF1u0Gf++uF1ADHry9L+K6vbFpOSpep7gJo69E43x9hcR/71z dwbgUVGtf1B4kIhU3GVw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nkW9J-00CJlx-1B; Fri, 29 Apr 2022 19:19:29 +0000 Received: from mail-lf1-x12e.google.com ([2a00:1450:4864:20::12e]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nkW9F-00CJkD-2l for linux-arm-kernel@lists.infradead.org; Fri, 29 Apr 2022 19:19:27 +0000 Received: by mail-lf1-x12e.google.com with SMTP id x17so15682177lfa.10 for ; Fri, 29 Apr 2022 12:19:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=GewZaD4ShNldD9kVxTldC8R8+ax3szTCsyjndG0dRHc=; b=N9dj8vM26++XU4q2OakNWAe+5xmjeyCbaGMoZqOwboAgVvBYbJlulrH5X27jQuhhe1 ieDiZ/H2VimJOfN3PETcE/9Vyf/aB10sSs1kCaR2hCg7ww8AJ453Lxh3Ue2Jq7RCcWPC p8YRd9rhICID4KiYVZEpobcpQQO7hDmrhhf8QN03z4sJbGi3o8uUOrv5D62uJavwgdDc nNugFvgWEeXynam7aaPpCboM4v6qYxyj2wL70Kr4gWRj73LoA6e6P0Rx69Cf/6S0i+nY Y/z1Jua+ZqaqkMkVP/eGdK8+N2BGNyMjUovqH+Vid5e+Nm51ePSpef4FGO7qzB3v+kMp grBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=GewZaD4ShNldD9kVxTldC8R8+ax3szTCsyjndG0dRHc=; b=cxqvZ5gkMqyFCm+wWpjvylUsZ+q5+sphuwJqR3T0lC8ASH/eglcaYSJ4Bp+gDM2glJ uHiY30imNpTmPxhkbBM8ovrRWsoJYejs2B0xVObLKaGsgXTQArrJF7nQ9LWoEVIncmIb OWt0DDeAOArLGe0kprNOsWODbIYB+dzxA7DrFLdHxFkXa7WYcssxDf2JK9E4NrqSzvIn 5a1x9VOKv0VfbpC+MMpaFNm4nlkR/qz3yqPknuBNfse5J7WVNdT7oS6ZeatpZBOChgpC +tLr1do/Kw2JWzECN+Bm7AqVjKyZ0jKudGrENczJxmN1bARK6T19yrls2qoKpCCLTpUv AkKw== X-Gm-Message-State: AOAM5327Xcz9YAUBANF1bAX6UNfT8l5XOSaC8J2K8TDJBhk48ezuUdIP SIcnQeD6LQlZitMYmt5MTtE= X-Google-Smtp-Source: ABdhPJzAWbzjAeNyOkcDPXNnS3q8J0aQzarCCZYnhhzzpmtYQTeo5ige0nogmL+UFHzeq9iCLWrEdA== X-Received: by 2002:ac2:5f4d:0:b0:448:7d37:5838 with SMTP id 13-20020ac25f4d000000b004487d375838mr496420lfz.419.1651259961018; Fri, 29 Apr 2022 12:19:21 -0700 (PDT) Received: from [10.0.0.42] (91-159-150-230.elisa-laajakaista.fi. [91.159.150.230]) by smtp.gmail.com with ESMTPSA id t23-20020ac25497000000b0047255d211d5sm3560lfk.260.2022.04.29.12.19.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 29 Apr 2022 12:19:20 -0700 (PDT) Message-ID: Date: Fri, 29 Apr 2022 22:26:02 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 Subject: Re: [PATCH 21/41] ARM: omap1: dma: remove omap2 specific bits Content-Language: en-US To: Arnd Bergmann , linux-omap@vger.kernel.org, tony@atomide.com, aaro.koskinen@iki.fi, jmkrzyszt@gmail.com Cc: Arnd Bergmann , Russell King , Paul Walmsley , Kevin Hilman , Vinod Koul , Dmitry Torokhov , Ulf Hansson , Dominik Brodowski , Mark Brown , Felipe Balbi , Alan Stern , Lee Jones , Daniel Thompson , Jingoo Han , Helge Deller , Linus Walleij , Krzysztof Kozlowski , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, dmaengine@vger.kernel.org, linux-input@vger.kernel.org, linux-mmc@vger.kernel.org, linux-serial@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, alsa-devel@alsa-project.org References: <20220419133723.1394715-1-arnd@kernel.org> <20220419133723.1394715-22-arnd@kernel.org> From: =?UTF-8?Q?P=c3=a9ter_Ujfalusi?= In-Reply-To: <20220419133723.1394715-22-arnd@kernel.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220429_121925_154659_96646371 X-CRM114-Status: GOOD ( 35.44 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 CgpPbiA0LzE5LzIyIDE2OjM3LCBBcm5kIEJlcmdtYW5uIHdyb3RlOgo+IEZyb206IEFybmQgQmVy Z21hbm4gPGFybmRAYXJuZGIuZGU+Cj4gCj4gTm8gcGFydCBvZiBwbGF0LW9tYXAvZG1hLmMgaXMg Y2FsbGVkIG9uIG9tYXAyIGFueSBtb3JlLCBzbwo+IGFueXRoaW5nIG9tYXAyIHNwZWNpZmljIGlu IGhlcmUgY2FuIHNpbXBseSBiZSByZW1vdmVkLgoKUmV2aWV3ZWQtYnk6IFBldGVyIFVqZmFsdXNp IDxwZXRlci51amZhbHVzaUBnbWFpbC5jb20+Cgo+IFNpZ25lZC1vZmYtYnk6IEFybmQgQmVyZ21h bm4gPGFybmRAYXJuZGIuZGU+Cj4gLS0tCj4gIGFyY2gvYXJtL3BsYXQtb21hcC9kbWEuYyB8IDIx NyArKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5n ZWQsIDU1IGluc2VydGlvbnMoKyksIDE2MiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv YXJjaC9hcm0vcGxhdC1vbWFwL2RtYS5jIGIvYXJjaC9hcm0vcGxhdC1vbWFwL2RtYS5jCj4gaW5k ZXggYjc3NTc4NjRkMGFhLi5lYjE0NTI4ZjEzM2MgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vcGxh dC1vbWFwL2RtYS5jCj4gKysrIGIvYXJjaC9hcm0vcGxhdC1vbWFwL2RtYS5jCj4gQEAgLTM0LDEx ICszNCw5IEBACj4gIAo+ICAjaW5jbHVkZSA8bGludXgvb21hcC1kbWEuaD4KPiAgCj4gLSNpZmRl ZiBDT05GSUdfQVJDSF9PTUFQMQo+ICAjaW5jbHVkZSA8bWFjaC9oYXJkd2FyZS5oPgo+ICAjaW5j bHVkZSA8bGludXgvc29jL3RpL29tYXAxLWlvLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9zb2MvdGkv b21hcDEtc29jLmg+Cj4gLSNlbmRpZgo+ICAKPiAgLyoKPiAgICogTUFYX0xPR0lDQUxfRE1BX0NI X0NPVU5UOiB0aGUgbWF4aW11bSBudW1iZXIgb2YgbG9naWNhbCBETUEKPiBAQCAtNTEsMTYgKzQ5 LDcgQEAKPiAgCj4gICN1bmRlZiBERUJVRwo+ICAKPiAtI2lmbmRlZiBDT05GSUdfQVJDSF9PTUFQ MQo+IC1lbnVtIHsgRE1BX0NIX0FMTE9DX0RPTkUsIERNQV9DSF9QQVJBTVNfU0VUX0RPTkUsIERN QV9DSF9TVEFSVEVELAo+IC0JRE1BX0NIX1FVRVVFRCwgRE1BX0NIX05PVFNUQVJURUQsIERNQV9D SF9QQVVTRUQsIERNQV9DSF9MSU5LX0VOQUJMRUQKPiAtfTsKPiAtCj4gLWVudW0geyBETUFfQ0hB SU5fU1RBUlRFRCwgRE1BX0NIQUlOX05PVFNUQVJURUQgfTsKPiAtI2VuZGlmCj4gLQo+ICAjZGVm aW5lIE9NQVBfRE1BX0FDVElWRQkJCTB4MDEKPiAtI2RlZmluZSBPTUFQMl9ETUFfQ1NSX0NMRUFS X01BU0sJMHhmZmZmZmZmZgo+ICAKPiAgI2RlZmluZSBPTUFQX0ZVTkNfTVVYX0FSTV9CQVNFCQko MHhmZmZlMTAwMCArIDB4ZWMpCj4gIAo+IEBAIC05NCwxMyArODMsOSBAQCBzdGF0aWMgaW5saW5l IHZvaWQgb21hcF9kaXNhYmxlX2NoYW5uZWxfaXJxKGludCBsY2gpCj4gIAkvKiBkaXNhYmxlIGNo YW5uZWwgaW50ZXJydXB0cyAqLwo+ICAJcC0+ZG1hX3dyaXRlKDAsIENJQ1IsIGxjaCk7Cj4gIAkv KiBDbGVhciBDU1IgKi8KPiAtCWlmIChkbWFfb21hcDEoKSkKPiAtCQlwLT5kbWFfcmVhZChDU1Is IGxjaCk7Cj4gLQllbHNlCj4gLQkJcC0+ZG1hX3dyaXRlKE9NQVAyX0RNQV9DU1JfQ0xFQVJfTUFT SywgQ1NSLCBsY2gpOwo+ICsJcC0+ZG1hX3JlYWQoQ1NSLCBsY2gpOwo+ICB9Cj4gIAo+IC0jaWZk ZWYgQ09ORklHX0FSQ0hfT01BUDEKPiAgc3RhdGljIGlubGluZSB2b2lkIHNldF9nZG1hX2Rldihp bnQgcmVxLCBpbnQgZGV2KQo+ICB7Cj4gIAl1MzIgcmVnID0gT01BUF9GVU5DX01VWF9BUk1fQkFT RSArICgocmVxIC0gMSkgLyA1KSAqIDQ7Cj4gQEAgLTExMiwxMSArOTcsNiBAQCBzdGF0aWMgaW5s aW5lIHZvaWQgc2V0X2dkbWFfZGV2KGludCByZXEsIGludCBkZXYpCj4gIAlsIHw9IChkZXYgLSAx KSA8PCBzaGlmdDsKPiAgCW9tYXBfd3JpdGVsKGwsIHJlZyk7Cj4gIH0KPiAtI2Vsc2UKPiAtI2Rl ZmluZSBzZXRfZ2RtYV9kZXYocmVxLCBkZXYpCWRvIHt9IHdoaWxlICgwKQo+IC0jZGVmaW5lIG9t YXBfcmVhZGwocmVnKQkJMAo+IC0jZGVmaW5lIG9tYXBfd3JpdGVsKHZhbCwgcmVnKQlkbyB7fSB3 aGlsZSAoMCkKPiAtI2VuZGlmCj4gIAo+ICAjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDEKPiAgdm9p ZCBvbWFwX3NldF9kbWFfcHJpb3JpdHkoaW50IGxjaCwgaW50IGRzdF9wb3J0LCBpbnQgcHJpb3Jp dHkpCj4gQEAgLTE4MSw1OSArMTYxLDI0IEBAIHZvaWQgb21hcF9zZXRfZG1hX3RyYW5zZmVyX3Bh cmFtcyhpbnQgbGNoLCBpbnQgZGF0YV90eXBlLCBpbnQgZWxlbV9jb3VudCwKPiAgCQkJCSAgaW50 IGRtYV90cmlnZ2VyLCBpbnQgc3JjX29yX2RzdF9zeW5jaCkKPiAgewo+ICAJdTMyIGw7Cj4gKwl1 MTYgY2NyOwo+ICAKPiAgCWwgPSBwLT5kbWFfcmVhZChDU0RQLCBsY2gpOwo+ICAJbCAmPSB+MHgw MzsKPiAgCWwgfD0gZGF0YV90eXBlOwo+ICAJcC0+ZG1hX3dyaXRlKGwsIENTRFAsIGxjaCk7Cj4g IAo+IC0JaWYgKGRtYV9vbWFwMSgpKSB7Cj4gLQkJdTE2IGNjcjsKPiAtCj4gLQkJY2NyID0gcC0+ ZG1hX3JlYWQoQ0NSLCBsY2gpOwo+IC0JCWNjciAmPSB+KDEgPDwgNSk7Cj4gLQkJaWYgKHN5bmNf bW9kZSA9PSBPTUFQX0RNQV9TWU5DX0ZSQU1FKQo+IC0JCQljY3IgfD0gMSA8PCA1Owo+IC0JCXAt PmRtYV93cml0ZShjY3IsIENDUiwgbGNoKTsKPiAtCj4gLQkJY2NyID0gcC0+ZG1hX3JlYWQoQ0NS MiwgbGNoKTsKPiAtCQljY3IgJj0gfigxIDw8IDIpOwo+IC0JCWlmIChzeW5jX21vZGUgPT0gT01B UF9ETUFfU1lOQ19CTE9DSykKPiAtCQkJY2NyIHw9IDEgPDwgMjsKPiAtCQlwLT5kbWFfd3JpdGUo Y2NyLCBDQ1IyLCBsY2gpOwo+IC0JfQo+IC0KPiAtCWlmIChkbWFfb21hcDJwbHVzKCkgJiYgZG1h X3RyaWdnZXIpIHsKPiAtCQl1MzIgdmFsOwo+IC0KPiAtCQl2YWwgPSBwLT5kbWFfcmVhZChDQ1Is IGxjaCk7Cj4gLQo+IC0JCS8qIERNQV9TWU5DSFJPX0NPTlRST0xfVVBQRVIgZGVwZW5kcyBvbiB0 aGUgY2hhbm5lbCBudW1iZXIgKi8KPiAtCQl2YWwgJj0gfigoMSA8PCAyMykgfCAoMyA8PCAxOSkg fCAweDFmKTsKPiAtCQl2YWwgfD0gKGRtYV90cmlnZ2VyICYgfjB4MWYpIDw8IDE0Owo+IC0JCXZh bCB8PSBkbWFfdHJpZ2dlciAmIDB4MWY7Cj4gLQo+IC0JCWlmIChzeW5jX21vZGUgJiBPTUFQX0RN QV9TWU5DX0ZSQU1FKQo+IC0JCQl2YWwgfD0gMSA8PCA1Owo+IC0JCWVsc2UKPiAtCQkJdmFsICY9 IH4oMSA8PCA1KTsKPiAtCj4gLQkJaWYgKHN5bmNfbW9kZSAmIE9NQVBfRE1BX1NZTkNfQkxPQ0sp Cj4gLQkJCXZhbCB8PSAxIDw8IDE4Owo+IC0JCWVsc2UKPiAtCQkJdmFsICY9IH4oMSA8PCAxOCk7 Cj4gLQo+IC0JCWlmIChzcmNfb3JfZHN0X3N5bmNoID09IE9NQVBfRE1BX0RTVF9TWU5DX1BSRUZF VENIKSB7Cj4gLQkJCXZhbCAmPSB+KDEgPDwgMjQpOwkvKiBkZXN0IHN5bmNoICovCj4gLQkJCXZh bCB8PSAoMSA8PCAyMyk7CS8qIFByZWZldGNoICovCj4gLQkJfSBlbHNlIGlmIChzcmNfb3JfZHN0 X3N5bmNoKSB7Cj4gLQkJCXZhbCB8PSAxIDw8IDI0OwkJLyogc291cmNlIHN5bmNoICovCj4gLQkJ fSBlbHNlIHsKPiAtCQkJdmFsICY9IH4oMSA8PCAyNCk7CS8qIGRlc3Qgc3luY2ggKi8KPiAtCQl9 Cj4gLQkJcC0+ZG1hX3dyaXRlKHZhbCwgQ0NSLCBsY2gpOwo+IC0JfQo+ICsJY2NyID0gcC0+ZG1h X3JlYWQoQ0NSLCBsY2gpOwo+ICsJY2NyICY9IH4oMSA8PCA1KTsKPiArCWlmIChzeW5jX21vZGUg PT0gT01BUF9ETUFfU1lOQ19GUkFNRSkKPiArCQljY3IgfD0gMSA8PCA1Owo+ICsJcC0+ZG1hX3dy aXRlKGNjciwgQ0NSLCBsY2gpOwo+ICAKPiArCWNjciA9IHAtPmRtYV9yZWFkKENDUjIsIGxjaCk7 Cj4gKwljY3IgJj0gfigxIDw8IDIpOwo+ICsJaWYgKHN5bmNfbW9kZSA9PSBPTUFQX0RNQV9TWU5D X0JMT0NLKQo+ICsJCWNjciB8PSAxIDw8IDI7Cj4gKwlwLT5kbWFfd3JpdGUoY2NyLCBDQ1IyLCBs Y2gpOwo+ICAJcC0+ZG1hX3dyaXRlKGVsZW1fY291bnQsIENFTiwgbGNoKTsKPiAgCXAtPmRtYV93 cml0ZShmcmFtZV9jb3VudCwgQ0ZOLCBsY2gpOwo+ICB9Cj4gQEAgLTI0MSw3ICsxODYsNyBAQCBF WFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV90cmFuc2Zlcl9wYXJhbXMpOwo+ICAKPiAgdm9pZCBv bWFwX3NldF9kbWFfY2hhbm5lbF9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfY2hhbm5lbF9t b2RlIG1vZGUpCj4gIHsKPiAtCWlmIChkbWFfb21hcDEoKSAmJiAhZG1hX29tYXAxNXh4KCkpIHsK PiArCWlmICghZG1hX29tYXAxNXh4KCkpIHsKPiAgCQl1MzIgbDsKPiAgCj4gIAkJbCA9IHAtPmRt YV9yZWFkKExDSF9DVFJMLCBsY2gpOwo+IEBAIC0yNTgsMTUgKzIwMywxMiBAQCB2b2lkIG9tYXBf c2V0X2RtYV9zcmNfcGFyYW1zKGludCBsY2gsIGludCBzcmNfcG9ydCwgaW50IHNyY19hbW9kZSwK PiAgCQkJICAgICBpbnQgc3JjX2VpLCBpbnQgc3JjX2ZpKQo+ICB7Cj4gIAl1MzIgbDsKPiArCXUx NiB3Owo+ICAKPiAtCWlmIChkbWFfb21hcDEoKSkgewo+IC0JCXUxNiB3Owo+IC0KPiAtCQl3ID0g cC0+ZG1hX3JlYWQoQ1NEUCwgbGNoKTsKPiAtCQl3ICY9IH4oMHgxZiA8PCAyKTsKPiAtCQl3IHw9 IHNyY19wb3J0IDw8IDI7Cj4gLQkJcC0+ZG1hX3dyaXRlKHcsIENTRFAsIGxjaCk7Cj4gLQl9Cj4g Kwl3ID0gcC0+ZG1hX3JlYWQoQ1NEUCwgbGNoKTsKPiArCXcgJj0gfigweDFmIDw8IDIpOwo+ICsJ dyB8PSBzcmNfcG9ydCA8PCAyOwo+ICsJcC0+ZG1hX3dyaXRlKHcsIENTRFAsIGxjaCk7Cj4gIAo+ ICAJbCA9IHAtPmRtYV9yZWFkKENDUiwgbGNoKTsKPiAgCWwgJj0gfigweDAzIDw8IDEyKTsKPiBA QCAtMzA0LDI2ICsyNDYsMTUgQEAgdm9pZCBvbWFwX3NldF9kbWFfc3JjX2J1cnN0X21vZGUoaW50 IGxjaCwgZW51bSBvbWFwX2RtYV9idXJzdF9tb2RlIGJ1cnN0X21vZGUpCj4gIAljYXNlIE9NQVBf RE1BX0RBVEFfQlVSU1RfRElTOgo+ICAJCWJyZWFrOwo+ICAJY2FzZSBPTUFQX0RNQV9EQVRBX0JV UlNUXzQ6Cj4gLQkJaWYgKGRtYV9vbWFwMnBsdXMoKSkKPiAtCQkJYnVyc3QgPSAweDE7Cj4gLQkJ ZWxzZQo+IC0JCQlidXJzdCA9IDB4MjsKPiArCQlidXJzdCA9IDB4MjsKPiAgCQlicmVhazsKPiAg CWNhc2UgT01BUF9ETUFfREFUQV9CVVJTVF84Ogo+IC0JCWlmIChkbWFfb21hcDJwbHVzKCkpIHsK PiAtCQkJYnVyc3QgPSAweDI7Cj4gLQkJCWJyZWFrOwo+IC0JCX0KPiAgCQkvKgo+ICAJCSAqIG5v dCBzdXBwb3J0ZWQgYnkgY3VycmVudCBoYXJkd2FyZSBvbiBPTUFQMQo+ICAJCSAqIHcgfD0gKDB4 MDMgPDwgNyk7Cj4gIAkJICovCj4gIAkJZmFsbHRocm91Z2g7Cj4gIAljYXNlIE9NQVBfRE1BX0RB VEFfQlVSU1RfMTY6Cj4gLQkJaWYgKGRtYV9vbWFwMnBsdXMoKSkgewo+IC0JCQlidXJzdCA9IDB4 MzsKPiAtCQkJYnJlYWs7Cj4gLQkJfQo+ICAJCS8qIE9NQVAxIGRvbid0IHN1cHBvcnQgYnVyc3Qg MTYgKi8KPiAgCQlmYWxsdGhyb3VnaDsKPiAgCWRlZmF1bHQ6Cj4gQEAgLTM0MiwxMiArMjczLDEw IEBAIHZvaWQgb21hcF9zZXRfZG1hX2Rlc3RfcGFyYW1zKGludCBsY2gsIGludCBkZXN0X3BvcnQs IGludCBkZXN0X2Ftb2RlLAo+ICB7Cj4gIAl1MzIgbDsKPiAgCj4gLQlpZiAoZG1hX29tYXAxKCkp IHsKPiAtCQlsID0gcC0+ZG1hX3JlYWQoQ1NEUCwgbGNoKTsKPiAtCQlsICY9IH4oMHgxZiA8PCA5 KTsKPiAtCQlsIHw9IGRlc3RfcG9ydCA8PCA5Owo+IC0JCXAtPmRtYV93cml0ZShsLCBDU0RQLCBs Y2gpOwo+IC0JfQo+ICsJbCA9IHAtPmRtYV9yZWFkKENTRFAsIGxjaCk7Cj4gKwlsICY9IH4oMHgx ZiA8PCA5KTsKPiArCWwgfD0gZGVzdF9wb3J0IDw8IDk7Cj4gKwlwLT5kbWFfd3JpdGUobCwgQ1NE UCwgbGNoKTsKPiAgCj4gIAlsID0gcC0+ZG1hX3JlYWQoQ0NSLCBsY2gpOwo+ICAJbCAmPSB+KDB4 MDMgPDwgMTQpOwo+IEBAIC0zODUsMjIgKzMxNCwxMiBAQCB2b2lkIG9tYXBfc2V0X2RtYV9kZXN0 X2J1cnN0X21vZGUoaW50IGxjaCwgZW51bSBvbWFwX2RtYV9idXJzdF9tb2RlIGJ1cnN0X21vZGUp Cj4gIAljYXNlIE9NQVBfRE1BX0RBVEFfQlVSU1RfRElTOgo+ICAJCWJyZWFrOwo+ICAJY2FzZSBP TUFQX0RNQV9EQVRBX0JVUlNUXzQ6Cj4gLQkJaWYgKGRtYV9vbWFwMnBsdXMoKSkKPiAtCQkJYnVy c3QgPSAweDE7Cj4gLQkJZWxzZQo+IC0JCQlidXJzdCA9IDB4MjsKPiArCQlidXJzdCA9IDB4MjsK PiAgCQlicmVhazsKPiAgCWNhc2UgT01BUF9ETUFfREFUQV9CVVJTVF84Ogo+IC0JCWlmIChkbWFf b21hcDJwbHVzKCkpCj4gLQkJCWJ1cnN0ID0gMHgyOwo+IC0JCWVsc2UKPiAtCQkJYnVyc3QgPSAw eDM7Cj4gKwkJYnVyc3QgPSAweDM7Cj4gIAkJYnJlYWs7Cj4gIAljYXNlIE9NQVBfRE1BX0RBVEFf QlVSU1RfMTY6Cj4gLQkJaWYgKGRtYV9vbWFwMnBsdXMoKSkgewo+IC0JCQlidXJzdCA9IDB4MzsK PiAtCQkJYnJlYWs7Cj4gLQkJfQo+ICAJCS8qIE9NQVAxIGRvbid0IHN1cHBvcnQgYnVyc3QgMTYg Ki8KPiAgCQlmYWxsdGhyb3VnaDsKPiAgCWRlZmF1bHQ6Cj4gQEAgLTQxNiwxMCArMzM1LDcgQEAg RVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfZGVzdF9idXJzdF9tb2RlKTsKPiAgc3RhdGljIGlu bGluZSB2b2lkIG9tYXBfZW5hYmxlX2NoYW5uZWxfaXJxKGludCBsY2gpCj4gIHsKPiAgCS8qIENs ZWFyIENTUiAqLwo+IC0JaWYgKGRtYV9vbWFwMSgpKQo+IC0JCXAtPmRtYV9yZWFkKENTUiwgbGNo KTsKPiAtCWVsc2UKPiAtCQlwLT5kbWFfd3JpdGUoT01BUDJfRE1BX0NTUl9DTEVBUl9NQVNLLCBD U1IsIGxjaCk7Cj4gKwlwLT5kbWFfcmVhZChDU1IsIGxjaCk7Cj4gIAo+ICAJLyogRW5hYmxlIHNv bWUgbmljZSBpbnRlcnJ1cHRzLiAqLwo+ICAJcC0+ZG1hX3dyaXRlKGRtYV9jaGFuW2xjaF0uZW5h YmxlZF9pcnFzLCBDSUNSLCBsY2gpOwo+IEBAIC00MzcsOCArMzUzLDcgQEAgc3RhdGljIGlubGlu ZSB2b2lkIGVuYWJsZV9sbmsoaW50IGxjaCkKPiAgCj4gIAlsID0gcC0+ZG1hX3JlYWQoQ0xOS19D VFJMLCBsY2gpOwo+ICAKPiAtCWlmIChkbWFfb21hcDEoKSkKPiAtCQlsICY9IH4oMSA8PCAxNCk7 Cj4gKwlsICY9IH4oMSA8PCAxNCk7Cj4gIAo+ICAJLyogU2V0IHRoZSBFTkFCTEVfTE5LIGJpdHMg Ki8KPiAgCWlmIChkbWFfY2hhbltsY2hdLm5leHRfbGNoICE9IC0xKQo+IEBAIC00NTYsMTUgKzM3 MSw4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBkaXNhYmxlX2xuayhpbnQgbGNoKQo+ICAJLyogRGlz YWJsZSBpbnRlcnJ1cHRzICovCj4gIAlvbWFwX2Rpc2FibGVfY2hhbm5lbF9pcnEobGNoKTsKPiAg Cj4gLQlpZiAoZG1hX29tYXAxKCkpIHsKPiAtCQkvKiBTZXQgdGhlIFNUT1BfTE5LIGJpdCAqLwo+ IC0JCWwgfD0gMSA8PCAxNDsKPiAtCX0KPiAtCj4gLQlpZiAoZG1hX29tYXAycGx1cygpKSB7Cj4g LQkJLyogQ2xlYXIgdGhlIEVOQUJMRV9MTksgYml0ICovCj4gLQkJbCAmPSB+KDEgPDwgMTUpOwo+ IC0JfQo+ICsJLyogU2V0IHRoZSBTVE9QX0xOSyBiaXQgKi8KPiArCWwgfD0gMSA8PCAxNDsKPiAg Cj4gIAlwLT5kbWFfd3JpdGUobCwgQ0xOS19DVFJMLCBsY2gpOwo+ICAJZG1hX2NoYW5bbGNoXS5m bGFncyAmPSB+T01BUF9ETUFfQUNUSVZFOwo+IEBAIC01MDgsOCArNDE2LDcgQEAgaW50IG9tYXBf cmVxdWVzdF9kbWEoaW50IGRldl9pZCwgY29uc3QgY2hhciAqZGV2X25hbWUsCj4gIAo+ICAJY2hh bi0+ZW5hYmxlZF9pcnFzID0gT01BUF9ETUFfRFJPUF9JUlEgfCBPTUFQX0RNQV9CTE9DS19JUlE7 Cj4gIAo+IC0JaWYgKGRtYV9vbWFwMSgpKQo+IC0JCWNoYW4tPmVuYWJsZWRfaXJxcyB8PSBPTUFQ MV9ETUFfVE9VVF9JUlE7Cj4gKwljaGFuLT5lbmFibGVkX2lycXMgfD0gT01BUDFfRE1BX1RPVVRf SVJROwo+ICAKPiAgCWlmIChkbWFfb21hcDE2eHgoKSkgewo+ICAJCS8qIElmIHRoZSBzeW5jIGRl dmljZSBpcyBzZXQsIGNvbmZpZ3VyZSBpdCBkeW5hbWljYWxseS4gKi8KPiBAQCAtNTIyLDcgKzQy OSw3IEBAIGludCBvbWFwX3JlcXVlc3RfZG1hKGludCBkZXZfaWQsIGNvbnN0IGNoYXIgKmRldl9u YW1lLAo+ICAJCSAqIGlkLgo+ICAJCSAqLwo+ICAJCXAtPmRtYV93cml0ZShkZXZfaWQgfCAoMSA8 PCAxMCksIENDUiwgZnJlZV9jaCk7Cj4gLQl9IGVsc2UgaWYgKGRtYV9vbWFwMSgpKSB7Cj4gKwl9 IGVsc2Ugewo+ICAJCXAtPmRtYV93cml0ZShkZXZfaWQsIENDUiwgZnJlZV9jaCk7Cj4gIAl9Cj4g IAo+IEBAIC03MzksOCArNjQ2LDcgQEAgZG1hX2FkZHJfdCBvbWFwX2dldF9kbWFfc3JjX3Bvcyhp bnQgbGNoKQo+ICAJCQlvZmZzZXQgPSBwLT5kbWFfcmVhZChDU1NBLCBsY2gpOwo+ICAJfQo+ICAK PiAtCWlmIChkbWFfb21hcDEoKSkKPiAtCQlvZmZzZXQgfD0gKHAtPmRtYV9yZWFkKENTU0EsIGxj aCkgJiAweEZGRkYwMDAwKTsKPiArCW9mZnNldCB8PSAocC0+ZG1hX3JlYWQoQ1NTQSwgbGNoKSAm IDB4RkZGRjAwMDApOwo+ICAKPiAgCXJldHVybiBvZmZzZXQ7Cj4gIH0KPiBAQCAtNzc4LDggKzY4 NCw3IEBAIGRtYV9hZGRyX3Qgb21hcF9nZXRfZG1hX2RzdF9wb3MoaW50IGxjaCkKPiAgCQkJb2Zm c2V0ID0gcC0+ZG1hX3JlYWQoQ0RTQSwgbGNoKTsKPiAgCX0KPiAgCj4gLQlpZiAoZG1hX29tYXAx KCkpCj4gLQkJb2Zmc2V0IHw9IChwLT5kbWFfcmVhZChDRFNBLCBsY2gpICYgMHhGRkZGMDAwMCk7 Cj4gKwlvZmZzZXQgfD0gKHAtPmRtYV9yZWFkKENEU0EsIGxjaCkgJiAweEZGRkYwMDAwKTsKPiAg Cj4gIAlyZXR1cm4gb2Zmc2V0Owo+ICB9Cj4gQEAgLTc5Niw5ICs3MDEsOCBAQCBpbnQgb21hcF9k bWFfcnVubmluZyh2b2lkKQo+ICB7Cj4gIAlpbnQgbGNoOwo+ICAKPiAtCWlmIChkbWFfb21hcDEo KSkKPiAtCQlpZiAob21hcF9sY2RfZG1hX3J1bm5pbmcoKSkKPiAtCQkJcmV0dXJuIDE7Cj4gKwlp ZiAob21hcF9sY2RfZG1hX3J1bm5pbmcoKSkKPiArCQlyZXR1cm4gMTsKPiAgCj4gIAlmb3IgKGxj aCA9IDA7IGxjaCA8IGRtYV9jaGFuX2NvdW50OyBsY2grKykKPiAgCQlpZiAocC0+ZG1hX3JlYWQo Q0NSLCBsY2gpICYgT01BUF9ETUFfQ0NSX0VOKQo+IEBAIC04MDksOCArNzEzLDYgQEAgaW50IG9t YXBfZG1hX3J1bm5pbmcodm9pZCkKPiAgCj4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCj4gIAo+ IC0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDEKPiAtCj4gIHN0YXRpYyBpbnQgb21hcDFfZG1hX2hh bmRsZV9jaChpbnQgY2gpCj4gIHsKPiAgCXUzMiBjc3I7Cj4gQEAgLTg2MywxMCArNzY1LDYgQEAg c3RhdGljIGlycXJldHVybl90IG9tYXAxX2RtYV9pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpk ZXZfaWQpCj4gIAlyZXR1cm4gaGFuZGxlZCA/IElSUV9IQU5ETEVEIDogSVJRX05PTkU7Cj4gIH0K PiAgCj4gLSNlbHNlCj4gLSNkZWZpbmUgb21hcDFfZG1hX2lycV9oYW5kbGVyCU5VTEwKPiAtI2Vu ZGlmCj4gLQo+ICBzdHJ1Y3Qgb21hcF9zeXN0ZW1fZG1hX3BsYXRfaW5mbyAqb21hcF9nZXRfcGxh dF9pbmZvKHZvaWQpCj4gIHsKPiAgCXJldHVybiBwOwo+IEBAIC05MTIsMjkgKzgxMCwyNyBAQCBz dGF0aWMgaW50IG9tYXBfc3lzdGVtX2RtYV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQo+ICAJCWlmIChjaCA+PSA2ICYmIGVuYWJsZV8xNTEwX21vZGUpCj4gIAkJCWNvbnRpbnVl Owo+ICAKPiAtCQlpZiAoZG1hX29tYXAxKCkpIHsKPiAtCQkJLyoKPiAtCQkJICogcmVxdWVzdF9p cnEoKSBkb2Vzbid0IGxpa2UgZGV2X2lkIChpZS4gY2gpIGJlaW5nCj4gLQkJCSAqIHplcm8sIHNv IHdlIGhhdmUgdG8ga2x1ZGdlIGFyb3VuZCB0aGlzLgo+IC0JCQkgKi8KPiAtCQkJc3ByaW50Zigm aXJxX25hbWVbMF0sICIlZCIsIGNoKTsKPiAtCQkJZG1hX2lycSA9IHBsYXRmb3JtX2dldF9pcnFf YnluYW1lKHBkZXYsIGlycV9uYW1lKTsKPiAtCj4gLQkJCWlmIChkbWFfaXJxIDwgMCkgewo+IC0J CQkJcmV0ID0gZG1hX2lycTsKPiAtCQkJCWdvdG8gZXhpdF9kbWFfaXJxX2ZhaWw7Cj4gLQkJCX0K PiAtCj4gLQkJCS8qIElOVF9ETUFfTENEIGlzIGhhbmRsZWQgaW4gbGNkX2RtYS5jICovCj4gLQkJ CWlmIChkbWFfaXJxID09IElOVF9ETUFfTENEKQo+IC0JCQkJY29udGludWU7Cj4gLQo+IC0JCQly ZXQgPSByZXF1ZXN0X2lycShkbWFfaXJxLAo+IC0JCQkJCW9tYXAxX2RtYV9pcnFfaGFuZGxlciwg MCwgIkRNQSIsCj4gLQkJCQkJKHZvaWQgKikgKGNoICsgMSkpOwo+IC0JCQlpZiAocmV0ICE9IDAp Cj4gLQkJCQlnb3RvIGV4aXRfZG1hX2lycV9mYWlsOwo+ICsJCS8qCj4gKwkJICogcmVxdWVzdF9p cnEoKSBkb2Vzbid0IGxpa2UgZGV2X2lkIChpZS4gY2gpIGJlaW5nCj4gKwkJICogemVybywgc28g d2UgaGF2ZSB0byBrbHVkZ2UgYXJvdW5kIHRoaXMuCj4gKwkJICovCj4gKwkJc3ByaW50ZigmaXJx X25hbWVbMF0sICIlZCIsIGNoKTsKPiArCQlkbWFfaXJxID0gcGxhdGZvcm1fZ2V0X2lycV9ieW5h bWUocGRldiwgaXJxX25hbWUpOwo+ICsKPiArCQlpZiAoZG1hX2lycSA8IDApIHsKPiArCQkJcmV0 ID0gZG1hX2lycTsKPiArCQkJZ290byBleGl0X2RtYV9pcnFfZmFpbDsKPiAgCQl9Cj4gKwo+ICsJ CS8qIElOVF9ETUFfTENEIGlzIGhhbmRsZWQgaW4gbGNkX2RtYS5jICovCj4gKwkJaWYgKGRtYV9p cnEgPT0gSU5UX0RNQV9MQ0QpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQlyZXQgPSByZXF1ZXN0 X2lycShkbWFfaXJxLAo+ICsJCQkJb21hcDFfZG1hX2lycV9oYW5kbGVyLCAwLCAiRE1BIiwKPiAr CQkJCSh2b2lkICopIChjaCArIDEpKTsKPiArCQlpZiAocmV0ICE9IDApCj4gKwkJCWdvdG8gZXhp dF9kbWFfaXJxX2ZhaWw7Cj4gIAl9Cj4gIAo+ICAJLyogcmVzZXJ2ZSBkbWEgY2hhbm5lbHMgMCBh bmQgMSBpbiBoaWdoIHNlY3VyaXR5IGRldmljZXMgb24gMzR4eCAqLwo+IEBAIC05NTQsOSArODUw LDYgQEAgc3RhdGljIGludCBvbWFwX3N5c3RlbV9kbWFfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYpCj4gIHsKPiAgCWludCBkbWFfaXJxLCBpcnFfcmVsID0gMDsKPiAgCj4gLQlp ZiAoZG1hX29tYXAycGx1cygpKQo+IC0JCXJldHVybiAwOwo+IC0KPiAgCWZvciAoIDsgaXJxX3Jl bCA8IGRtYV9jaGFuX2NvdW50OyBpcnFfcmVsKyspIHsKPiAgCQlkbWFfaXJxID0gcGxhdGZvcm1f Z2V0X2lycShwZGV2LCBpcnFfcmVsKTsKPiAgCQlmcmVlX2lycShkbWFfaXJxLCAodm9pZCAqKShp cnFfcmVsICsgMSkpOwoKLS0gClDDqXRlcgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJt LWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21h aWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=