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 D5C0AC87FCA for ; Mon, 4 Aug 2025 01:43:42 +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:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=pi1jaglrLCRCvAOhq0exxCbJaRpm0QBx7rNfpdE4E2U=; b=Cjg46C21EmJHO+ K9BE073w/mZowwihEdYI3qH3fsSVuWd/vX9RsJI1GCJvmgs78FaExQ1oibOF5nGJoT7SfAk0z14Z7 LoltXN4txyLFYDuL40JCzvFNGbuNBJiB/BzXe+gOX3aajZk5xqdb/sNk/WxerTdCQU1aZJEPcSxuz lnjhZ5qc30q26uPDI7Rkhv6Ji4gE9mOK+6dncoDbnn5Y7DIYjAUsWlJo9m4i4WvBRPoF9SYUWaLH9 gVB4ZqVEQHA36t2P+OoAXwC4n/V4JWQVs/nxsHCq/+T0t76bGHH7IuL6XI9v3dNKTBuJQvbsr21/y 3q7NgoFn/VuM2TAsOQqA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uikEi-00000009RwV-0Ogw; Mon, 04 Aug 2025 01:43:36 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uijCt-00000009MCT-0tjJ for linux-riscv@lists.infradead.org; Mon, 04 Aug 2025 00:37:40 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id EB74A4542A; Mon, 4 Aug 2025 00:37:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0FB4FC4CEF0; Mon, 4 Aug 2025 00:37:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1754267858; bh=txRPniFTRLZVu8VM82rwbrs8l8vLsWoAuoYnAth+f5s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GZy/PS5yXFFe4mR8YclpC4J45IiyqQsMclIpK+XdyWJUeQsEdP3zOp2covKo6Ar3h ncs5lg6umIG+Yg2EdUkgv/OaqcngzFilL4CSHnGglqXeJqqJUFVEIx3Nlhwipr7eVw vaBcs6f9UrnTCAp/2N1B/0TUW2JsC6u34hJtYNgFYxdTNifCH2cCpPZs7ikrnzo9vu QWKcynGWRXmMUDXsH1pPmy38wiXzg5H+0Ex8Snh9Jc9qvKPMpGIHAhgX0w/0byXnho DpE3NPkc0wQG7+0sc+M7IEdjJDrHdO+famsMliSr0q1IE0dFO2Kp3ASq31YvR3ldNH fhQuzDzshBi5A== From: Sasha Levin To: patches@lists.linux.dev, stable@vger.kernel.org Cc: Nylon Chen , Zong Li , Vincent Chen , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , Sasha Levin , paul.walmsley@sifive.com, samuel.holland@sifive.com, linux-pwm@vger.kernel.org, linux-riscv@lists.infradead.org Subject: [PATCH AUTOSEL 6.1 24/51] pwm: sifive: Fix PWM algorithm and clarify inverted compare behavior Date: Sun, 3 Aug 2025 20:36:16 -0400 Message-Id: <20250804003643.3625204-24-sashal@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250804003643.3625204-1-sashal@kernel.org> References: <20250804003643.3625204-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.1.147 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250803_173739_310985_B34D1195 X-CRM114-Status: GOOD ( 20.64 ) X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org RnJvbTogTnlsb24gQ2hlbiA8bnlsb24uY2hlbkBzaWZpdmUuY29tPgoKWyBVcHN0cmVhbSBjb21t aXQgN2RiYzQ0MzJlYTZiZjlkNzA5MzkxZWI1N2YxZTlmYjQ0ZTk5ODQ1YSBdCgpUaGUgYGZyYWNg IHZhcmlhYmxlIHJlcHJlc2VudHMgdGhlIHB1bHNlIGluYWN0aXZlIHRpbWUsIGFuZCB0aGUgcmVz dWx0Cm9mIHRoaXMgYWxnb3JpdGhtIGlzIHRoZSBwdWxzZSBhY3RpdmUgdGltZS4gVGhlcmVmb3Jl LCB3ZSBtdXN0IHJldmVyc2UKdGhlIHJlc3VsdC4KCkFsdGhvdWdoIHRoZSBTaUZpdmUgUmVmZXJl bmNlIE1hbnVhbCBzdGF0ZXMgInB3bXMgPj0gcHdtY21wWCAtPiBISUdIIiwKdGhlIGhhcmR3YXJl IGJlaGF2aW9yIGlzIGludmVydGVkIGR1ZSB0byBhIGZpeGVkIFhOT1Igd2l0aCAwLiBBcyBhIHJl c3VsdCwKdGhlIHB3bWNtcCByZWdpc3RlciBhY3R1YWxseSBkZWZpbmVzIHRoZSBsb3cgKGluYWN0 aXZlKSBwb3J0aW9uIG9mIHRoZSBwdWxzZS4KClRoZSByZWZlcmVuY2UgaXMgU2lGaXZlIEZVNzQw LUMwMDAgTWFudWFsWzBdCgpMaW5rOiBodHRwczovL3NpZml2ZS5jZG4ucHJpc21pYy5pby9zaWZp dmUvMWE4MmU2MDAtMWY5My00ZjQxLWIyZDgtODZlZDhiMTZhY2JhX2Z1NzQwLWMwMDAtbWFudWFs LXYxcDYucGRmIFswXQoKQ28tZGV2ZWxvcGVkLWJ5OiBab25nIExpIDx6b25nLmxpQHNpZml2ZS5j b20+ClNpZ25lZC1vZmYtYnk6IFpvbmcgTGkgPHpvbmcubGlAc2lmaXZlLmNvbT4KQ28tZGV2ZWxv cGVkLWJ5OiBWaW5jZW50IENoZW4gPHZpbmNlbnQuY2hlbkBzaWZpdmUuY29tPgpTaWduZWQtb2Zm LWJ5OiBWaW5jZW50IENoZW4gPHZpbmNlbnQuY2hlbkBzaWZpdmUuY29tPgpTaWduZWQtb2ZmLWJ5 OiBOeWxvbiBDaGVuIDxueWxvbi5jaGVuQHNpZml2ZS5jb20+Ckxpbms6IGh0dHBzOi8vbG9yZS5r ZXJuZWwub3JnL3IvMjAyNTA1MjkwMzUzNDEuNTE3MzYtMy1ueWxvbi5jaGVuQHNpZml2ZS5jb20K U2lnbmVkLW9mZi1ieTogVXdlIEtsZWluZS1Lw7ZuaWcgPHVrbGVpbmVrQGtlcm5lbC5vcmc+ClNp Z25lZC1vZmYtYnk6IFNhc2hhIExldmluIDxzYXNoYWxAa2VybmVsLm9yZz4KLS0tCgpMTE0gR2Vu ZXJhdGVkIGV4cGxhbmF0aW9ucywgbWF5IGJlIGNvbXBsZXRlbHkgYm9ndXM6CgoqKkJhY2twb3J0 IFN0YXR1czogWUVTKioKClRoaXMgY29tbWl0IHNob3VsZCBiZSBiYWNrcG9ydGVkIHRvIHN0YWJs ZSBrZXJuZWwgdHJlZXMuIEhlcmUncyBteQpleHRlbnNpdmUgYW5hbHlzaXM6CgojIyBDcml0aWNh bCBCdWcgRml4IEFuYWx5c2lzCgoxLiAqKlRoZSBjb21taXQgZml4ZXMgYSBzaWduaWZpY2FudCBm dW5jdGlvbmFsIGJ1ZyoqIC0gVGhlIFBXTSBhbGdvcml0aG0KICAgd2FzIGZ1bmRhbWVudGFsbHkg YnJva2VuOgogICAtIFRoZSBgZnJhY2AgdmFyaWFibGUgd2FzIGluY29ycmVjdGx5IHVzZWQgKGxp bmVzIDE1OC0xNjEgaW4KICAgICBvcmlnaW5hbCwgbm93IDE2OC0xNzEpCiAgIC0gVGhlIGRyaXZl ciB3YXMgd3JpdGluZyB0aGUgZHV0eSBjeWNsZSB2YWx1ZSBkaXJlY3RseSB0byBQV01DTVAKICAg ICByZWdpc3RlciAobGluZSAxOTMpLCBidXQgdGhlIGhhcmR3YXJlIGFjdHVhbGx5IGV4cGVjdHMg dGhlCiAgICAgKippbmFjdGl2ZSoqIChsb3cpIHRpbWUKICAgLSBUaGlzIHJlc3VsdHMgaW4gaW52 ZXJ0ZWQgUFdNIG91dHB1dCBiZWhhdmlvciB3aGVyZSB1c2VycyBnZXQgdGhlCiAgICAgb3Bwb3Np dGUgZHV0eSBjeWNsZSBmcm9tIHdoYXQgdGhleSByZXF1ZXN0CgoyLiAqKkhhcmR3YXJlIGJlaGF2 aW9yIGRpc2NyZXBhbmN5KiogLSBUaGUgY29tbWl0IHJldmVhbHMgYW5kIGZpeGVzIGEKICAgY3Jp dGljYWwgbWlzbWF0Y2ggYmV0d2VlbiBkb2N1bWVudGF0aW9uIGFuZCBhY3R1YWwgaGFyZHdhcmU6 CiAgIC0gVGhlIGRvY3VtZW50YXRpb24gc3RhdGVzICJwd21zID49IHB3bWNtcFggLT4gSElHSCIK ICAgLSBCdXQgdGhlIGhhcmR3YXJlIGhhcyBhIGhhcmQtdGllZCBYTk9SIHdpdGggMCB0aGF0IGlu dmVydHMgdGhpcwogICAgIGJlaGF2aW9yCiAgIC0gVGhlIGRyaXZlciBub3cgY29ycmVjdGx5IGNv bXBlbnNhdGVzIGZvciB0aGlzIGhhcmR3YXJlIHF1aXJrCgozLiAqKlVzZXItdmlzaWJsZSBpbXBh Y3QqKjoKICAgLSAqKkluIGBwd21fc2lmaXZlX2dldF9zdGF0ZSgpYCoqOiBUaGUgZHJpdmVyIG5v dyBjb3JyZWN0bHkgaW52ZXJ0cwogICAgIHRoZSB2YWx1ZSByZWFkIGZyb20gaGFyZHdhcmUgKGxp bmVzIDExNS0+MTIyLTEyNikKICAgLSAqKkluIGBwd21fc2lmaXZlX2FwcGx5KClgKio6IFRoZSBk cml2ZXIgbm93IGludmVydHMgdGhlIGR1dHkgY3ljbGUKICAgICBiZWZvcmUgd3JpdGluZyB0byBo YXJkd2FyZSAobGluZXMgMTYyLT4xNzEpCiAgIC0gKipQb2xhcml0eSBjaGFuZ2UqKjogQ2hhbmdl ZCBmcm9tIGBQV01fUE9MQVJJVFlfSU5WRVJTRURgIHRvCiAgICAgYFBXTV9QT0xBUklUWV9OT1JN QUxgIChsaW5lcyAxMjYtPjEzNywgMTQyLT4xNTIpCiAgIC0gKipEb2N1bWVudGF0aW9uIGZpeCoq OiBVcGRhdGVkIGNvbW1lbnQgZnJvbSAiY2Fubm90IGdlbmVyYXRlIDEwMCUKICAgICBkdXR5IiB0 byAiY2Fubm90IGdlbmVyYXRlIDAlIGR1dHkiIChsaW5lcyAxMS0+MjcsIDE2MC0+MTcwKQoKNC4g KipUaGUgZml4IGlzIHJlbGF0aXZlbHkgc21hbGwgYW5kIGNvbnRhaW5lZCoqOgogICAtIENoYW5n ZXMgYXJlIGlzb2xhdGVkIHRvIHRoZSBQV00gYWxnb3JpdGhtIGxvZ2ljCiAgIC0gTm8gYXJjaGl0 ZWN0dXJhbCBjaGFuZ2VzIG9yIG5ldyBmZWF0dXJlcwogICAtIFNpbXBsZSBtYXRoZW1hdGljYWwg aW52ZXJzaW9uOiBgZHV0eSA9ICgxVSA8PCBQV01fU0lGSVZFX0NNUFdJRFRIKQogICAgIC0gMSAt IGluYWN0aXZlYAoKNS4gKipObyByaXNreSBzaWRlIGVmZmVjdHMqKjoKICAgLSBUaGUgY2hhbmdl IGlzIHN0cmFpZ2h0Zm9yd2FyZCBhbmQgbWF0aGVtYXRpY2FsbHkgY29ycmVjdAogICAtIERvZXNu J3QgYWZmZWN0IG90aGVyIHN1YnN5c3RlbXMKICAgLSBNYWludGFpbnMgdGhlIHNhbWUgcmVnaXN0 ZXIgaW50ZXJmYWNlCgo2LiAqKkFmZmVjdHMgYWxsIFNpRml2ZSBQV00gdXNlcnMqKjoKICAgLSBB bnkgc3lzdGVtIHVzaW5nIFNpRml2ZSBGVTU0MCBvciBGVTc0MCBTb0NzIHdvdWxkIGhhdmUgaW5j b3JyZWN0CiAgICAgUFdNIG91dHB1dAogICAtIFRoaXMgaW5jbHVkZXMgdmFyaW91cyBSSVNDLVYg ZGV2ZWxvcG1lbnQgYm9hcmRzIGFuZCBlbWJlZGRlZAogICAgIHN5c3RlbXMKICAgLSBVc2VycyB3 b3VsZCBnZXQgaW52ZXJ0ZWQgZHV0eSBjeWNsZXMsIHBvdGVudGlhbGx5IGJyZWFraW5nIG1vdG9y CiAgICAgY29udHJvbHMsIExFRCBkaW1taW5nLCBldGMuCgo3LiAqKkNsZWFyIGRvY3VtZW50YXRp b24gcmVmZXJlbmNlKio6CiAgIC0gVGhlIGNvbW1pdCByZWZlcmVuY2VzIHRoZSBvZmZpY2lhbCBT aUZpdmUgRlU3NDAtQzAwMCBNYW51YWwKICAgLSBQcm92aWRlcyBjbGVhciBleHBsYW5hdGlvbiBv ZiB0aGUgaGFyZHdhcmUgYmVoYXZpb3IgbWlzbWF0Y2gKClRoZSBidWcgY2F1c2VzIFBXTSBvdXRw dXRzIHRvIGJlIGludmVydGVkIGZyb20gdXNlciBleHBlY3RhdGlvbnMsIHdoaWNoCmlzIGEgc2ln bmlmaWNhbnQgZnVuY3Rpb25hbCBpc3N1ZSB0aGF0IHdvdWxkIGFmZmVjdCBhbnkgc3lzdGVtIHJl bHlpbmcKb24gcHJvcGVyIFBXTSBiZWhhdmlvciBmb3IgbW90b3IgY29udHJvbCwgTEVEIGRpbW1p bmcsIG9yIG90aGVyIFBXTS0KZGVwZW5kZW50IGZ1bmN0aW9uYWxpdHkuIFRoZSBmaXggaXMgY2xl YW4sIG1pbmltYWwsIGFuZCBhZGRyZXNzZXMgYQpjbGVhciBoYXJkd2FyZS9zb2Z0d2FyZSBtaXNt YXRjaCB0aGF0IGV4aXN0cyBpbiBwcm9kdWN0aW9uIHN5c3RlbXMuCgogZHJpdmVycy9wd20vcHdt LXNpZml2ZS5jIHwgMzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3B3bS9wd20tc2lmaXZlLmMgYi9kcml2ZXJzL3B3bS9wd20tc2lmaXZlLmMK aW5kZXggMzkzYTRiOTdmYzE5Li5lODdiMTZlMTBkYWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcHdt L3B3bS1zaWZpdmUuYworKysgYi9kcml2ZXJzL3B3bS9wd20tc2lmaXZlLmMKQEAgLTQsMTEgKzQs MjggQEAKICAqIEZvciBTaUZpdmUncyBQV00gSVAgYmxvY2sgZG9jdW1lbnRhdGlvbiBwbGVhc2Ug cmVmZXIgQ2hhcHRlciAxNCBvZgogICogUmVmZXJlbmNlIE1hbnVhbCA6IGh0dHBzOi8vc3RhdGlj LmRldi5zaWZpdmUuY29tL0ZVNTQwLUMwMDAtdjEuMC5wZGYKICAqCisgKiBQV00gb3V0cHV0IGlu dmVyc2lvbjogQWNjb3JkaW5nIHRvIHRoZSBTaUZpdmUgUmVmZXJlbmNlIG1hbnVhbAorICogdGhl IG91dHB1dCBvZiBlYWNoIGNvbXBhcmF0b3IgaXMgaGlnaCB3aGVuZXZlciB0aGUgdmFsdWUgb2Yg cHdtcyBpcworICogZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBjb3JyZXNwb25kaW5nIHB3 bWNtcFhbUmVmZXJlbmNlIE1hbnVhbF0uCisgKgorICogRmlndXJlIDI5IGluIHRoZSBzYW1lIG1h bnVhbCBzaG93cyB0aGF0IHRoZSBwd21jbXBYY2VudGVyIGJpdCBpcworICogaGFyZC10aWVkIHRv IDAgKFhOT1IpLCB3aGljaCBlZmZlY3RpdmVseSBpbnZlcnRzIHRoZSBjb21wYXJpc29uIHNvIHRo YXQKKyAqIHRoZSBvdXRwdXQgZ29lcyBISUdIIHdoZW4gIGBwd21zIDwgcHdtY21wWGAuCisgKgor ICogSW4gb3RoZXIgd29yZHMsIGVhY2ggcHdtY21wIHJlZ2lzdGVyIGFjdHVhbGx5IGRlZmluZXMg dGhlICoqaW5hY3RpdmUqKgorICogKGxvdykgcGVyaW9kIG9mIHRoZSBwdWxzZSwgbm90IHRoZSBh Y3RpdmUgdGltZSBleGFjdGx5IG9wcG9zaXRlIHRvIHdoYXQKKyAqIHRoZSBkb2N1bWVudGF0aW9u IHRleHQgaW1wbGllcy4KKyAqCisgKiBUbyBjb21wZW5zYXRlLCB0aGlzIGRyaXZlciBhbHdheXMg KippbnZlcnRzKiogdGhlIGR1dHkgdmFsdWUgd2hlbiByZWFkaW5nCisgKiBvciB3cml0aW5nIHB3 bWNtcCByZWdpc3RlcnMgLCBzbyB0aGF0IHVzZXJzIGludGVyYWN0IHdpdGggYSBjb252ZW50aW9u YWwKKyAqICoqYWN0aXZlLWhpZ2gqKiBQV00gaW50ZXJmYWNlLgorICoKKyAqCiAgKiBMaW1pdGF0 aW9uczoKICAqIC0gV2hlbiBjaGFuZ2luZyBib3RoIGR1dHkgY3ljbGUgYW5kIHBlcmlvZCwgd2Ug Y2Fubm90IHByZXZlbnQgaW4KICAqICAgc29mdHdhcmUgdGhhdCB0aGUgb3V0cHV0IG1pZ2h0IHBy b2R1Y2UgYSBwZXJpb2Qgd2l0aCBtaXhlZAogICogICBzZXR0aW5ncyAobmV3IHBlcmlvZCBsZW5n dGggYW5kIG9sZCBkdXR5IGN5Y2xlKS4KLSAqIC0gVGhlIGhhcmR3YXJlIGNhbm5vdCBnZW5lcmF0 ZSBhIDEwMCUgZHV0eSBjeWNsZS4KKyAqIC0gVGhlIGhhcmR3YXJlIGNhbm5vdCBnZW5lcmF0ZSBh IDAlIGR1dHkgY3ljbGUuCiAgKiAtIFRoZSBoYXJkd2FyZSBnZW5lcmF0ZXMgb25seSBpbnZlcnRl ZCBvdXRwdXQuCiAgKi8KICNpbmNsdWRlIDxsaW51eC9jbGsuaD4KQEAgLTEwOSw5ICsxMjYsMTQg QEAgc3RhdGljIGludCBwd21fc2lmaXZlX2dldF9zdGF0ZShzdHJ1Y3QgcHdtX2NoaXAgKmNoaXAs IHN0cnVjdCBwd21fZGV2aWNlICpwd20sCiAJCQkJc3RydWN0IHB3bV9zdGF0ZSAqc3RhdGUpCiB7 CiAJc3RydWN0IHB3bV9zaWZpdmVfZGRhdGEgKmRkYXRhID0gcHdtX3NpZml2ZV9jaGlwX3RvX2Rk YXRhKGNoaXApOwotCXUzMiBkdXR5LCB2YWw7CisJdTMyIGR1dHksIHZhbCwgaW5hY3RpdmU7CiAK LQlkdXR5ID0gcmVhZGwoZGRhdGEtPnJlZ3MgKyBQV01fU0lGSVZFX1BXTUNNUChwd20tPmh3cHdt KSk7CisJaW5hY3RpdmUgPSByZWFkbChkZGF0YS0+cmVncyArIFBXTV9TSUZJVkVfUFdNQ01QKHB3 bS0+aHdwd20pKTsKKwkvKgorCSAqIFBXTSBoYXJkd2FyZSB1c2VzICdpbmFjdGl2ZScgY291bnRz IGluIHB3bWNtcCwgc28gaW52ZXJ0IHRvIGdldCBhY3R1YWwgZHV0eS4KKwkgKiBIZXJlLCAnaW5h Y3RpdmUnIGlzIHRoZSBsb3cgdGltZSBhbmQgd2UgY29tcHV0ZSBkdXR5IGFzIG1heF9jb3VudCAt IGluYWN0aXZlLgorCSAqLworCWR1dHkgPSAoMVUgPDwgUFdNX1NJRklWRV9DTVBXSURUSCkgLSAx IC0gaW5hY3RpdmU7CiAKIAlzdGF0ZS0+ZW5hYmxlZCA9IGR1dHkgPiAwOwogCkBAIC0xMjIsNyAr MTQ0LDcgQEAgc3RhdGljIGludCBwd21fc2lmaXZlX2dldF9zdGF0ZShzdHJ1Y3QgcHdtX2NoaXAg KmNoaXAsIHN0cnVjdCBwd21fZGV2aWNlICpwd20sCiAJc3RhdGUtPnBlcmlvZCA9IGRkYXRhLT5y ZWFsX3BlcmlvZDsKIAlzdGF0ZS0+ZHV0eV9jeWNsZSA9CiAJCSh1NjQpZHV0eSAqIGRkYXRhLT5y ZWFsX3BlcmlvZCA+PiBQV01fU0lGSVZFX0NNUFdJRFRIOwotCXN0YXRlLT5wb2xhcml0eSA9IFBX TV9QT0xBUklUWV9JTlZFUlNFRDsKKwlzdGF0ZS0+cG9sYXJpdHkgPSBQV01fUE9MQVJJVFlfTk9S TUFMOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xMzYsOSArMTU4LDkgQEAgc3RhdGljIGludCBwd21f c2lmaXZlX2FwcGx5KHN0cnVjdCBwd21fY2hpcCAqY2hpcCwgc3RydWN0IHB3bV9kZXZpY2UgKnB3 bSwKIAl1bnNpZ25lZCBsb25nIGxvbmcgbnVtOwogCWJvb2wgZW5hYmxlZDsKIAlpbnQgcmV0ID0g MDsKLQl1MzIgZnJhYzsKKwl1MzIgZnJhYywgaW5hY3RpdmU7CiAKLQlpZiAoc3RhdGUtPnBvbGFy aXR5ICE9IFBXTV9QT0xBUklUWV9JTlZFUlNFRCkKKwlpZiAoc3RhdGUtPnBvbGFyaXR5ICE9IFBX TV9QT0xBUklUWV9OT1JNQUwpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJY3VyX3N0YXRlID0gcHdt LT5zdGF0ZTsKQEAgLTE1Niw4ICsxNzgsOSBAQCBzdGF0aWMgaW50IHB3bV9zaWZpdmVfYXBwbHko c3RydWN0IHB3bV9jaGlwICpjaGlwLCBzdHJ1Y3QgcHdtX2RldmljZSAqcHdtLAogCSAqLwogCW51 bSA9ICh1NjQpZHV0eV9jeWNsZSAqICgxVSA8PCBQV01fU0lGSVZFX0NNUFdJRFRIKTsKIAlmcmFj ID0gRElWNjRfVTY0X1JPVU5EX0NMT1NFU1QobnVtLCBzdGF0ZS0+cGVyaW9kKTsKLQkvKiBUaGUg aGFyZHdhcmUgY2Fubm90IGdlbmVyYXRlIGEgMTAwJSBkdXR5IGN5Y2xlICovCisJLyogVGhlIGhh cmR3YXJlIGNhbm5vdCBnZW5lcmF0ZSBhIDAlIGR1dHkgY3ljbGUgKi8KIAlmcmFjID0gbWluKGZy YWMsICgxVSA8PCBQV01fU0lGSVZFX0NNUFdJRFRIKSAtIDEpOworCWluYWN0aXZlID0gKDFVIDw8 IFBXTV9TSUZJVkVfQ01QV0lEVEgpIC0gMSAtIGZyYWM7CiAKIAltdXRleF9sb2NrKCZkZGF0YS0+ bG9jayk7CiAJaWYgKHN0YXRlLT5wZXJpb2QgIT0gZGRhdGEtPmFwcHJveF9wZXJpb2QpIHsKQEAg LTE4OSw3ICsyMTIsNyBAQCBzdGF0aWMgaW50IHB3bV9zaWZpdmVfYXBwbHkoc3RydWN0IHB3bV9j aGlwICpjaGlwLCBzdHJ1Y3QgcHdtX2RldmljZSAqcHdtLAogCQl9CiAJfQogCi0Jd3JpdGVsKGZy YWMsIGRkYXRhLT5yZWdzICsgUFdNX1NJRklWRV9QV01DTVAocHdtLT5od3B3bSkpOworCXdyaXRl bChpbmFjdGl2ZSwgZGRhdGEtPnJlZ3MgKyBQV01fU0lGSVZFX1BXTUNNUChwd20tPmh3cHdtKSk7 CiAKIAlpZiAoIXN0YXRlLT5lbmFibGVkKQogCQljbGtfZGlzYWJsZShkZGF0YS0+Y2xrKTsKLS0g CjIuMzkuNQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK