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 937A8CD342F for ; Tue, 5 May 2026 09:52:34 +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=kgMrt8GiudwgPNB2ZXKGu681AmBcZJJz5/BidBDO4xs=; b=rt/nF7cxWs2ycj ki1omfmrU1EfH9MFpBcp1/3hClX36TGuPe7+1R4RB2enPv/xE5cdP1EEaQYG4EYX2rwMVAFq1EfvS z0mJ5VudVZNqKHwrLeGch5X3GYJEzO2FgJhl7uipreR3aNH2H3wNX0KwVK0wMkXnXzxfECh2La1XE 9k7FJEoYSiMwAetpf/d0RMw+zykb0Bjx5BKZ9s7CRueIgYif0lnJQYNK+wXKFfdgEYwP/BosXEnXf Y51S8mhfVlcVEgzkLmddN4Exrt7S8Q0fvVw0GDDWJi8S7dc4m6at4o8wevM4Wm2DwZNo1/3lyv45K LRGSNUY/f5kItvzU45SA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1wKCS1-0000000FiDQ-2K62; Tue, 05 May 2026 09:52:25 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1wKCRz-0000000FiAp-37GH for linux-riscv@lists.infradead.org; Tue, 05 May 2026 09:52:23 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id F33AC60181; Tue, 5 May 2026 09:52:22 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7A28AC2BCB9; Tue, 5 May 2026 09:52:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1777974742; bh=y1Qfm0/uyx8vh96/sDNbnmLNVzbgaLb2euW3sAZ87qo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FzTSWr5WdJd8ONxMCuS6TcVZhoigKDuNTesK4DqVzz5MX7cr/xWNmHInKL3cTuOxQ M9LiOtZAFfRytPjhvAGLDJO3oKbg1pfbi23IjtgapVBs/BSilcv/YXyrcnwN+3NhvH XRWRTC56Od3fQ16AY18MtA6bdDpgb7Q1X6VxywrLMgXwqOI5v5vGH2BMlLDSOu/T5G 4dxFSADna51qZELpIOnMAA38+ddA2Tzq50nNiXwIJGqjvZhK7RwYx+dQpAptdvLKIT hyL4L9/k9WlrDtdVlPC0+Dg/0xqa0DQLhsOc0K2atrSt78iYqq0XYgu3461QWkEb+A HTCYfiQJtnLwQ== From: Sasha Levin To: patches@lists.linux.dev, stable@vger.kernel.org Cc: Troy Mitchell , Mark Brown , Sasha Levin , lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, dlan@kernel.org, linux-sound@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH AUTOSEL 7.0] ASoC: spacemit: move hw constraints from hw_params to startup Date: Tue, 5 May 2026 05:51:26 -0400 Message-ID: <20260505095149.512052-10-sashal@kernel.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260505095149.512052-1-sashal@kernel.org> References: <20260505095149.512052-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 7.0.3 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 RnJvbTogVHJveSBNaXRjaGVsbCA8dHJveS5taXRjaGVsbEBsaW51eC5zcGFjZW1pdC5jb20+Cgpb IFVwc3RyZWFtIGNvbW1pdCA2YjRhZmJhYWEzNDJlYWE1MjE3MmUwYmU1ZWY4ZDFmY2JmOWZmNDYw IF0KCkhhcmR3YXJlIGNvbnN0cmFpbnRzIHNob3VsZCBiZSBhcHBsaWVkIGluIHRoZSBzdGFydHVw IGNhbGxiYWNrIHJhdGhlcgp0aGFuIGh3X3BhcmFtcywgYXMgaHdfcGFyYW1zIG1heSBiZSBjYWxs ZWQgdG9vIGxhdGUgZm9yIHRoZSBjb25zdHJhaW50cwp0byB0YWtlIGVmZmVjdCBwcm9wZXJseS4K Ck1vdmUgdGhlIGNoYW5uZWwgY291bnQgYW5kIGZvcm1hdCBjb25zdHJhaW50cyBmb3IgSTJTIGFu ZCBEU1BfQS9EU1BfQgptb2RlcyBpbnRvIGEgbmV3IHN0YXJ0dXAgY2FsbGJhY2suIFRoaXMgYWxz byB0aWdodGVucyB0aGUgSTJTIG1vZGUKY2hhbm5lbCBjb25zdHJhaW50IGZyb20gMS0yIHRvIGV4 YWN0bHkgMiwgbWF0Y2hpbmcgdGhlIGFjdHVhbCBoYXJkd2FyZQpiZWhhdmlvci4KClNpZ25lZC1v ZmYtYnk6IFRyb3kgTWl0Y2hlbGwgPHRyb3kubWl0Y2hlbGxAbGludXguc3BhY2VtaXQuY29tPgpM aW5rOiBodHRwczovL3BhdGNoLm1zZ2lkLmxpbmsvMjAyNjA0MjktazMtaTJzLXYxLTItMmZlOTlk YjExZWNiQGxpbnV4LnNwYWNlbWl0LmNvbQpTaWduZWQtb2ZmLWJ5OiBNYXJrIEJyb3duIDxicm9v bmllQGtlcm5lbC5vcmc+ClNpZ25lZC1vZmYtYnk6IFNhc2hhIExldmluIDxzYXNoYWxAa2VybmVs Lm9yZz4KLS0tCgpMTE0gR2VuZXJhdGVkIGV4cGxhbmF0aW9ucywgbWF5IGJlIGNvbXBsZXRlbHkg Ym9ndXM6CgojIyBQaGFzZSBXYWxrdGhyb3VnaApTdGVwIDEuMSBSZWNvcmQ6IFN1YnN5c3RlbSBg QVNvQzogc3BhY2VtaXRgOyBhY3Rpb24gdmVyYiBgbW92ZWA7IGludGVudAppcyB0byBhcHBseSBQ Q00gaGFyZHdhcmUgY29uc3RyYWludHMgaW4gYC5zdGFydHVwYCBpbnN0ZWFkIG9mCmAuaHdfcGFy YW1zYC4KClN0ZXAgMS4yIFJlY29yZDogVGFncyBwcmVzZW50OiBgU2lnbmVkLW9mZi1ieTogVHJv eSBNaXRjaGVsbGAsIGBMaW5rOiBodAp0cHM6Ly9wYXRjaC5tc2dpZC5saW5rLzIwMjYwNDI5LWsz LWkycy12MS0yLQoyZmU5OWRiMTFlY2JAbGludXguc3BhY2VtaXQuY29tYCwgYFNpZ25lZC1vZmYt Ynk6IE1hcmsgQnJvd25gLiBObwpgRml4ZXM6YCwgYFJlcG9ydGVkLWJ5OmAsIGBUZXN0ZWQtYnk6 YCwgYFJldmlld2VkLWJ5YCwgYEFja2VkLWJ5YCwgb3IKYENjOiBzdGFibGVgLgoKU3RlcCAxLjMg UmVjb3JkOiBUaGUgYm9keSBzYXlzIGNvbnN0cmFpbnRzIGluIGAuaHdfcGFyYW1zYCBtYXkgYmUg dG9vCmxhdGUgdG8gYWZmZWN0IEFMU0EgcGFyYW1ldGVyIG5lZ290aWF0aW9uLCBhbmQgdGhhdCBJ MlMgc2hvdWxkIGJlCmNvbnN0cmFpbmVkIHRvIGV4YWN0bHkgMiBjaGFubmVscy4gU3ltcHRvbSBp cyBpbnZhbGlkIFBDTQpmb3JtYXRzL2NoYW5uZWwgY291bnRzIGJlaW5nIGFsbG93ZWQgZm9yIHRo ZSBTcGFjZW1pVCBJMlMgbW9kZS4gTm8gY3Jhc2gKdHJhY2Ugb3IgYWZmZWN0ZWQga2VybmVsIHZl cnNpb25zIGFyZSBzdGF0ZWQuCgpTdGVwIDEuNCBSZWNvcmQ6IFRoaXMgaXMgYSBoaWRkZW4gYnVn IGZpeDogaXQgaXMgcGhyYXNlZCBhcwptb3ZpbmcvcmVmYWN0b3JpbmcgY29uc3RyYWludHMsIGJ1 dCBpdCBjb3JyZWN0cyB3aGVuIEFMU0EgY29uc3RyYWludHMKYXJlIGluc3RhbGxlZCBhbmQgcHJl dmVudHMgdW5zdXBwb3J0ZWQgaGFyZHdhcmUgcGFyYW1ldGVycy4KClN0ZXAgMi4xIFJlY29yZDog T25lIGZpbGUgY2hhbmdlZCwgYHNvdW5kL3NvYy9zcGFjZW1pdC9rMV9pMnMuY2AsIDMyCmluc2Vy dGlvbnMgYW5kIDEzIGRlbGV0aW9ucy4gTW9kaWZpZWQgZnVuY3Rpb25zL29iamVjdHM6IG5ldwpg c3BhY2VtaXRfaTJzX3N0YXJ0dXBgLCBleGlzdGluZyBgc3BhY2VtaXRfaTJzX2h3X3BhcmFtc2As IGFuZApgc3BhY2VtaXRfaTJzX2RhaV9vcHNgLiBTY29wZSBpcyBzaW5nbGUtZmlsZSwgZHJpdmVy LWxvY2FsLCBzdXJnaWNhbC4KClN0ZXAgMi4yIFJlY29yZDogQmVmb3JlLCB0aGUgZHJpdmVyIGFk dmVydGlzZWQgYnJvYWQgMS0yIGNoYW5uZWwgYW5kClMxNi9TMzIgY2FwYWJpbGl0aWVzIGFuZCBv bmx5IGFkZGVkIG1vZGUtc3BlY2lmaWMgY29uc3RyYWludHMgaW5zaWRlCmAuaHdfcGFyYW1zYCwg YWZ0ZXIgcGFyYW1ldGVycyBoYWQgYWxyZWFkeSBiZWVuIHNlbGVjdGVkLiBBZnRlciwKYC5zdGFy dHVwYCBjb25zdHJhaW5zIEkyUyB0byAyY2gvUzE2IGFuZCBEU1BfQS9EU1BfQiB0byAxY2gvUzMy IGJlZm9yZQp1c2Vyc3BhY2UgcGFyYW1ldGVyIHNlbGVjdGlvbiBjb21wbGV0ZXMuCgpTdGVwIDIu MyBSZWNvcmQ6IEJ1ZyBjYXRlZ29yeSBpcyBsb2dpYy9jb3JyZWN0bmVzcyBpbiBoYXJkd2FyZSBw YXJhbWV0ZXIKbmVnb3RpYXRpb24uIFRoZXJlIGlzIG5vIG1lbW9yeSBzYWZldHksIGxvY2tpbmcs IHJlZmNvdW50aW5nLCBvcgpyZXNvdXJjZSBsaWZldGltZSBjaGFuZ2UuCgpTdGVwIDIuNCBSZWNv cmQ6IEZpeCBxdWFsaXR5IGlzIGdvb2Q6IGl0IG1vdmVzIGV4aXN0aW5nIGNvbnN0cmFpbnRzIHRv CnRoZSBBTFNBIGNhbGxiYWNrIHVzZWQgZm9yIGVhcmx5IGNvbnN0cmFpbnRzIGFuZCB0aWdodGVu cyBJMlMgY2hhbm5lbHMuClJlZ3Jlc3Npb24gcmlzayBpcyBsb3cgYnV0IG5vdCB6ZXJvOiB1bnN1 cHBvcnRlZCBtb25vIEkyUyBzdHJlYW1zIHdpbGwKbm93IGZhaWwgZWFybGllciwgd2hpY2ggaXMg aW50ZW5kZWQgaWYgdGhlIGF1dGhvcuKAmXMgaGFyZHdhcmUgc3RhdGVtZW50CmlzIGNvcnJlY3Qu CgpTdGVwIDMuMSBSZWNvcmQ6IGBnaXQgYmxhbWVgIHNob3dzIHRoZSBjaGFuZ2VkIGNvbnN0cmFp bnQgY29kZSB3YXMKaW50cm9kdWNlZCBieSBgZmNlMjE3NDQ5MDc1ZGAgLyBsb2NhbCBmdWxsIFNI QQpgZmNlMjE3NDQ5MDc1ZDU5YjI5MDUyYjhjZGFjNTY3ZjBmM2UyMjY0MWAsIOKAnEFTb0M6IHNw YWNlbWl0OiBhZGQgaTJzCnN1cHBvcnQgZm9yIEsxIFNvQ+KAnSwgZmlyc3QgZGVzY3JpYmVkIGFz IGNvbnRhaW5lZCBiZWZvcmUgYHY2LjE5LXJjMWAuCgpTdGVwIDMuMiBSZWNvcmQ6IE5vIGBGaXhl czpgIHRhZyBpbiB0aGlzIGNhbmRpZGF0ZSwgc28gdGhlcmUgd2FzIG5vIHRhZwp0byBmb2xsb3cu IEkgaW5zcGVjdGVkIHRoZSBkcml2ZXItaW50cm9kdWN0aW9uIGNvbW1pdCBpbnN0ZWFkLgoKU3Rl cCAzLjMgUmVjb3JkOiBSZWNlbnQgZmlsZSBoaXN0b3J5IGNvbnRhaW5zIHRoZSBvcmlnaW5hbCBk cml2ZXIgcGx1cwp0d28gc21hbGwgbGF0ZXIgZml4ZXM6IGZhaWx1cmUgaGFuZGxpbmcgZm9yIGBz cGFjZW1pdF9pMnNfaW5pdF9kYWkoKWAKYW5kIGFuIGBzc3BhX2Nsa2AgZXJyb3ItY2hlY2sgZml4 LiBObyBwcmVyZXF1aXNpdGUgcmVmYWN0b3IgaXMgbmVlZGVkCmZvciB0aGlzIHBhdGNoLgoKU3Rl cCAzLjQgUmVjb3JkOiBBdXRob3IgVHJveSBNaXRjaGVsbCBhdXRob3JlZCB0aGUgb3JpZ2luYWwg SzEgSTJTCmRyaXZlciBhbmQgb25lIHJlbGF0ZWQgbGF0ZXIgZml4LCBzbyBoZSBpcyBkaXJlY3Rs eSBmYW1pbGlhciB3aXRoIHRoaXMKZHJpdmVyLgoKU3RlcCAzLjUgUmVjb3JkOiBUaGUgcGF0Y2gg aXMgcGFydCBvZiBhIDctcGF0Y2ggc2VyaWVzLCBidXQgYGI0YCBhbmQKYGdpdCBhcHBseSAtLWNo ZWNrYCBjb25maXJtZWQgcGF0Y2ggMiBhcHBsaWVzIGNsZWFubHkgc3RhbmRhbG9uZSB0byB0aGUK Y3VycmVudCB0cmVlLgoKU3RlcCA0LjEgUmVjb3JkOiBgYjQgZGlnYCBhZ2FpbnN0IGEgdGVtcG9y YXJ5IGNvbW1pdCBtYXRjaGVkIHRoZSBsb3JlCnRocmVhZCBhdCB0aGUgcHJvdmlkZWQgcGF0Y2gt bXNnaWQgVVJMLiBgYjQgZGlnIC1hYCBmb3VuZCBvbmx5IHYxLiBUaGUKZnVsbCB0aHJlYWQgc2hv d3MgTWFyayBCcm93biBhcHBsaWVkIHBhdGNoIDIgdG8gYGJyb29uaWUvc291bmQuZ2l0CmZvci03 LjFgIGFzIGNvbW1pdCBgNmI0YWZiYWFhMzQyYC4KClN0ZXAgNC4yIFJlY29yZDogYGI0IGRpZyAt d2Agc2hvd3MgQVNvQy9zb3VuZCBtYWludGFpbmVycyBhbmQgbGlzdHMgd2VyZQppbmNsdWRlZCwg aW5jbHVkaW5nIE1hcmsgQnJvd24sIExpYW0gR2lyZHdvb2QsIEphcm9zbGF2IEt5c2VsYSwgVGFr YXNoaQpJd2FpLCBgbGludXgtc291bmRgLCBhbmQgcmVsZXZhbnQgU3BhY2VtaVQvUklTQy1WIGxp c3RzLgoKU3RlcCA0LjMgUmVjb3JkOiBObyBzZXBhcmF0ZSBidWcgcmVwb3J0LCBzeXpib3QgcmVw b3J0LCBvciB1c2VyIHJlcG9ydAp3YXMgbGlua2VkIGZvciB0aGlzIHNwZWNpZmljIHBhdGNoLgoK U3RlcCA0LjQgUmVjb3JkOiBTZXJpZXMgY29udGV4dDogcGF0Y2hlcyAxLTMgYXJlIGRlc2NyaWJl ZCBhcyBLMSBidWcKZml4ZXMvcmVmYWN0b3Jpbmc7IHBhdGNoZXMgNC03IGFyZSBLMyBmZWF0dXJl L2JpbmRpbmcgd29yay4gTWFyayBCcm93bgpleHBsaWNpdGx5IG5vdGVkIGZpeGVzIGFuZCBuZXcg ZmVhdHVyZXMgaGFkIG5vIHRleHR1YWwgb3ZlcmxhcCBhbmQKYXBwbGllZCBvbmx5IHBhdGNoZXMg MiBhbmQgMyBmcm9tIHRoZSBzdWJzZXQuCgpTdGVwIDQuNSBSZWNvcmQ6IFN0YWJsZS1zcGVjaWZp YyB3ZWIgc2VhcmNoIHdhcyBibG9ja2VkIGJ5IGxvcmUgQW51YmlzLAphbmQgYSBsb2NhbCBwZW5k aW5nLWJyYW5jaCBncmVwIHdhcyBzdG9wcGVkIGFmdGVyIHRpbWluZyBvdXQuIE5vIHN0YWJsZS0K c3BlY2lmaWMgZGlzY3Vzc2lvbiB3YXMgdmVyaWZpZWQuCgpTdGVwIDUuMSBSZWNvcmQ6IEtleSBm dW5jdGlvbiBhZGRlZC9tb2RpZmllZDogYHNwYWNlbWl0X2kyc19zdGFydHVwYDsKa2V5IGZ1bmN0 aW9uIHNpbXBsaWZpZWQ6IGBzcGFjZW1pdF9pMnNfaHdfcGFyYW1zYC4KClN0ZXAgNS4yIFJlY29y ZDogQ2FsbGVycyB2ZXJpZmllZDogYC5zdGFydHVwYCBpcyBjYWxsZWQgdGhyb3VnaApgc25kX3Nv Y19kYWlfc3RhcnR1cCgpYCBmcm9tIGBfX3NvY19wY21fb3BlbigpYC4gYC5od19wYXJhbXNgIGlz IGNhbGxlZAp0aHJvdWdoIGBzbmRfc29jX2RhaV9od19wYXJhbXMoKWAgZnJvbSBgX19zb2NfcGNt X2h3X3BhcmFtcygpYC4KClN0ZXAgNS4zIFJlY29yZDogS2V5IGNhbGxlZXMgYXJlIGBzbmRfcGNt X2h3X2NvbnN0cmFpbnRfbWlubWF4KClgIGFuZApgc25kX3BjbV9od19jb25zdHJhaW50X21hc2s2 NCgpYCBpbiBzdGFydHVwLCBhbmQgY2xvY2svRE1BL3JlZ2lzdGVyCnNldHVwIHJlbWFpbnMgaW4g YGh3X3BhcmFtc2AuCgpTdGVwIDUuNCBSZWNvcmQ6IFJlYWNoYWJpbGl0eSBpcyB2aWEgQUxTQSBQ Q00gb3BlbiBhbmQgaHdfcGFyYW1zCm9wZXJhdGlvbnM7IHVzZXJzcGFjZSBhdWRpbyBhcHBsaWNh dGlvbnMgY2FuIHRyaWdnZXIgdGhlIGFmZmVjdGVkCm5lZ290aWF0aW9uIHBhdGggYnkgb3Blbmlu Zy9jb25maWd1cmluZyBhIFBDTSBkZXZpY2UgZm9yIHRoaXMgREFJLgoKU3RlcCA1LjUgUmVjb3Jk OiBTaW1pbGFyIGxvY2FsIEFTb0MgcGF0dGVybiB2ZXJpZmllZDogbWFueSBkcml2ZXJzCmluc3Rh bGwgY29uc3RyYWludHMgaW4gYC5zdGFydHVwYCwgYW5kIEFTb0MgY29yZSBjb21tZW50cyBjb25m aXJtCnN0YXJ0dXAgaXMgcGFydCBvZiBQQ00gb3Blbi4KClN0ZXAgNi4xIFJlY29yZDogVGhlIGZp bGUgaXMgYWJzZW50IGF0IGB2Ni4xOGAgYW5kIHByZXNlbnQgd2l0aCB0aGUgc2FtZQpibG9iIGlu IGB2Ni4xOWAsIGB2Ny4wYCwgYHY3LjAuM2AsIGBwZW5kaW5nLTYuMTlgLCBhbmQgYHBlbmRpbmct Ny4wYC4KTGlrZWx5IHJlbGV2YW50IHN0YWJsZSB0cmVlcyBzdGFydCBhdCA2LjE5LnkuCgpTdGVw IDYuMiBSZWNvcmQ6IEJhY2twb3J0IGRpZmZpY3VsdHkgaXMgbG93OiB0aGUgcGF0Y2ggYXBwbGll cyBjbGVhbmx5CnRvIHRoZSBjdXJyZW50IDcuMC4zIGNoZWNrb3V0LCBhbmQgdGhlIGZpbGUgYmxv YiBpcyBpZGVudGljYWwgaW4gY2hlY2tlZAo2LjE5LzcuMCBicmFuY2hlcy4KClN0ZXAgNi4zIFJl Y29yZDogTm8gcmVsYXRlZCBmaXggZm9yIHRoaXMgZXhhY3Qgc3ViamVjdCBleGlzdHMgaW4gY2hl Y2tlZApzdGFibGUgYnJhbmNoZXM7IHRoZSBjYW5kaWRhdGUgY29tbWl0IGV4aXN0cyBsb2NhbGx5 IGFzIGA2YjRhZmJhYWEzNDJgCmJ1dCBpcyBub3QgY29udGFpbmVkIGluIHRoZSBjaGVja2VkIHBl bmRpbmcgc3RhYmxlIGJyYW5jaGVzIEkgdmVyaWZpZWQuCgpTdGVwIDcuMSBSZWNvcmQ6IFN1YnN5 c3RlbSBpcyBBU29DIHBsYXRmb3JtIGRyaXZlciB1bmRlcgpgc291bmQvc29jL3NwYWNlbWl0YDsg Y3JpdGljYWxpdHkgaXMgUEVSSVBIRVJBTC9kcml2ZXItc3BlY2lmaWMuCgpTdGVwIDcuMiBSZWNv cmQ6IFN1YnN5c3RlbSBhY3Rpdml0eSBpcyBsb3cgYW5kIGxvY2FsaXplZDogb25seSBmb3VyCmxv Y2FsIGNvbW1pdHMgdW5kZXIgYHNvdW5kL3NvYy9zcGFjZW1pdGAsIGluY2x1ZGluZyB0aGUgb3Jp Z2luYWwgZHJpdmVyCmFuZCBzbWFsbCBmaXhlcy4KClN0ZXAgOC4xIFJlY29yZDogQWZmZWN0ZWQg cG9wdWxhdGlvbiBpcyBjb25maWcvcGxhdGZvcm0tc3BlY2lmaWM6CmBDT05GSUdfU05EX1NPQ19L MV9JMlNgLCBkZXBlbmRpbmcgb24gYENPTVBJTEVfVEVTVCB8fCBBUkNIX1NQQUNFTUlUYCwKYEhB VkVfQ0xLYCwgYW5kIGBETUFfQ01BYC4KClN0ZXAgOC4yIFJlY29yZDogVHJpZ2dlciBpcyBub3Jt YWwgUENNIGRldmljZSBvcGVuL3BhcmFtZXRlciBzZWxlY3Rpb24Kb24gU3BhY2VtaVQgSzEgSTJT IGhhcmR3YXJlLiBVbnByaXZpbGVnZWQgcmVhY2hhYmlsaXR5IGRlcGVuZHMgb24gbG9jYWwKYXVk aW8gZGV2aWNlIHBlcm1pc3Npb25zLCB3aGljaCBJIGRpZCBub3QgdmVyaWZ5LgoKU3RlcCA4LjMg UmVjb3JkOiBGYWlsdXJlIG1vZGUgaXMgdW5zdXBwb3J0ZWQgYXVkaW8gY29uZmlndXJhdGlvbiBi ZWluZwphY2NlcHRlZCBvciBjb25zdHJhaW5lZCB0b28gbGF0ZSwgY2F1c2luZyBiYWQvZmFpbGVk IGF1ZGlvIG9wZXJhdGlvbgpyYXRoZXIgdGhhbiBhIHZlcmlmaWVkIGNyYXNoLCBjb3JydXB0aW9u LCBvciBzZWN1cml0eSBpc3N1ZS4gU2V2ZXJpdHk6Ck1FRElVTSBmb3IgYWZmZWN0ZWQgaGFyZHdh cmUgdXNlcnMuCgpTdGVwIDguNCBSZWNvcmQ6IEJlbmVmaXQgaXMgbW9kZXJhdGU6IGNvcnJlY3Rz IHJlYWwgaGFyZHdhcmUgcGFyYW1ldGVyCm5lZ290aWF0aW9uIGZvciBhIHN1cHBvcnRlZCBkcml2 ZXIuIFJpc2sgaXMgbG93OiBvbmUgZHJpdmVyLCBvbmUgZmlsZSwKbm8gQUJJL0FQSSBjaGFuZ2Us IGNsZWFuIGFwcGx5LCBhbmQgbWFpbnRhaW5lci1hcHBsaWVkLgoKU3RlcCA5LjEgUmVjb3JkOiBF dmlkZW5jZSBmb3IgYmFja3BvcnRpbmc6IHJlYWwgZHJpdmVyIGNvcnJlY3RuZXNzIGJ1ZywKbm9y bWFsIHVzZXJzcGFjZSBhdWRpbyBwYXRoLCBpbnRyb2R1Y2VkIGluIHN0YWJsZS1yZWxldmFudCA2 LjE5LWVyYQpkcml2ZXIsIHNtYWxsIGNvbnRhaW5lZCBwYXRjaCwgY2xlYW4gYXBwbHksIG1haW50 YWluZXIgYWNjZXB0ZWQuCkV2aWRlbmNlIGFnYWluc3Q6IG5vIHJlcG9ydGVyL3Rlc3QgdGFnLCBu byBjcmFzaC9zZWN1cml0eS9kYXRhLWxvc3MKZXZpZGVuY2UsIGV4YWN0IOKAnEkyUyBpcyAyY2gg b25seeKAnSBoYXJkd2FyZSBmYWN0IG5vdCBpbmRlcGVuZGVudGx5CnZlcmlmaWVkIG91dHNpZGUg YXV0aG9yL21haW50YWluZXIgcmV2aWV3LgoKU3RlcCA5LjIgUmVjb3JkOiBTdGFibGUgcnVsZXM6 IG9idmlvdXNseSBjb3JyZWN0IGVub3VnaDogeWVzLCBiYXNlZCBvbgpBTFNBIGNhbGxiYWNrIG9y ZGVyaW5nIGFuZCBleGlzdGluZyBjb25zdHJhaW50czsgcmVhbCBidWc6IHllczsKaW1wb3J0YW50 IGlzc3VlOiBtb2RlcmF0ZSBoYXJkd2FyZSBmdW5jdGlvbmFsaXR5IGJ1Zywgbm90IGNyaXRpY2Fs OwpzbWFsbC9jb250YWluZWQ6IHllczsgbm8gbmV3IEFQSS9mZWF0dXJlOiB5ZXM7IGNhbiBhcHBs eTogeWVzIHRvIGNoZWNrZWQKNi4xOS83LjAtZmFtaWx5IHRyZWVzLgoKU3RlcCA5LjMgUmVjb3Jk OiBObyBhdXRvbWF0aWMgZXhjZXB0aW9uIGNhdGVnb3J5IGxpa2UgZGV2aWNlIElELCBxdWlyaywK RFQtb25seSwgYnVpbGQtb25seSwgb3IgZG9jdW1lbnRhdGlvbi1vbmx5IGFwcGxpZXMuCgpTdGVw IDkuNCBSZWNvcmQ6IERlY2lzaW9uIGlzIHRvIGJhY2twb3J0LiBUaGUgcmlzayBpcyBsb3cgYW5k IHRoZSBwYXRjaApmaXhlcyBhIHJlYWwsIHVzZXItdmlzaWJsZSBoYXJkd2FyZSBjb25maWd1cmF0 aW9uIGJ1ZyBpbiBhIHN0YWJsZS0KcmVsZXZhbnQgZHJpdmVyLgoKIyMgVmVyaWZpY2F0aW9uCi0g W1BoYXNlIDFdIFBhcnNlZCBjb21taXQgYDZiNGFmYmFhYTM0MmAgd2l0aCBgZ2l0IHNob3dgOyBj b25maXJtZWQgdGFncwogIGFuZCBsYWNrIG9mIGBGaXhlc2AvcmVwb3J0ZXIvc3RhYmxlIHRhZ3Mu Ci0gW1BoYXNlIDJdIEluc3BlY3RlZCBjYW5kaWRhdGUgZGlmZjsgY29uZmlybWVkIG9ubHkgYGsx X2kycy5jYCBjaGFuZ2VzLAogIGFkZGluZyBgLnN0YXJ0dXBgIGFuZCBtb3ZpbmcgY29uc3RyYWlu dHMgb3V0IG9mIGAuaHdfcGFyYW1zYC4KLSBbUGhhc2UgM10gUmFuIGBnaXQgYmxhbWVgIG9uIGNo YW5nZWQgbGluZXM7IGNvbmZpcm1lZCBvcmlnaW5hbCBjb2RlCiAgZnJvbSBgZmNlMjE3NDQ5MDc1 ZGAuCi0gW1BoYXNlIDNdIFJhbiBmaWxlIGhpc3RvcnkgYW5kIGF1dGhvciBoaXN0b3J5OyBmb3Vu ZCBvbmx5IGxvY2FsaXplZAogIFNwYWNlbWlUIEkyUyBjaGFuZ2VzLgotIFtQaGFzZSA0XSBVc2Vk IGBiNCBhbWAsIGBiNCBtYm94YCwgYW5kIGBiNCBkaWdgOyBjb25maXJtZWQgdjEgdGhyZWFkLAog IG1haW50YWluZXIgYXBwbGljYXRpb24gdG8gYGZvci03LjFgLCBhbmQgcmV2aWV3ZXIvbWFpbnRh aW5lcgogIHJlY2lwaWVudHMuCi0gW1BoYXNlIDVdIFJlYWQgQVNvQyBjb3JlIGNvZGU7IGNvbmZp cm1lZCBzdGFydHVwIG9jY3VycyBkdXJpbmcgUENNCiAgb3BlbiBhbmQgaHdfcGFyYW1zIG9jY3Vy cyBsYXRlciBkdXJpbmcgQUxTQSBoYXJkd2FyZSBwYXJhbWV0ZXIgc2V0dXAuCi0gW1BoYXNlIDZd IENoZWNrZWQgdGFncy9icmFuY2hlcyBhbmQgcGF0Y2ggYXBwbGljYXRpb247IGNvbmZpcm1lZCBm aWxlCiAgcHJlc2VuY2UgZnJvbSBgdjYuMTlgIG9ud2FyZCBhbmQgY2xlYW4gc3RhbmRhbG9uZSBh cHBseS4KLSBbUGhhc2UgN10gUmVhZCBgS2NvbmZpZ2A7IGNvbmZpcm1lZCBkcml2ZXItc3BlY2lm aWMgU3BhY2VtaVQgSzEgSTJTCiAgY29uZmlnIHNjb3BlLgotIFtQaGFzZSA4XSBBc3Nlc3NlZCB0 cmlnZ2VyL2ZhaWx1cmUgZnJvbSB2ZXJpZmllZCBBTFNBIGNhbGwgcGF0aHMgYW5kCiAgZHJpdmVy LWFkdmVydGlzZWQgY29uc3RyYWludHMuCi0gVU5WRVJJRklFRDogSW5kZXBlbmRlbnQgaGFyZHdh cmUgZG9jdW1lbnRhdGlvbiBwcm92aW5nIEkyUyBtb2RlIGlzCiAgZXhhY3RseSAyIGNoYW5uZWxz OyB0aGlzIGNsYWltIGNvbWVzIGZyb20gdGhlIGNvbW1pdCBhdXRob3IgYW5kCiAgbWFpbnRhaW5l ci1hY2NlcHRlZCBwYXRjaC4KLSBVTlZFUklGSUVEOiBTdGFibGUgbWFpbGluZy1saXN0IHNlYXJj aCByZXN1bHRzLCBiZWNhdXNlIGxvcmUgV2ViRmV0Y2gKICB3YXMgYmxvY2tlZCBhbmQgb25lIGxv Y2FsIHBlbmRpbmctYnJhbmNoIGdyZXAgd2FzIHN0b3BwZWQgYWZ0ZXIKICB0aW1lb3V0LgoKKipZ RVMqKgoKIHNvdW5kL3NvYy9zcGFjZW1pdC9rMV9pMnMuYyB8IDQ1ICsrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCAx MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvc3BhY2VtaXQvazFfaTJzLmMg Yi9zb3VuZC9zb2Mvc3BhY2VtaXQvazFfaTJzLmMKaW5kZXggMWNiOTlmMWFiYzdjZC4uYmI3M2Qz MmExYjA5NyAxMDA2NDQKLS0tIGEvc291bmQvc29jL3NwYWNlbWl0L2sxX2kycy5jCisrKyBiL3Nv dW5kL3NvYy9zcGFjZW1pdC9rMV9pMnMuYwpAQCAtMTA2LDYgKzEwNiwzNyBAQCBzdGF0aWMgdm9p ZCBzcGFjZW1pdF9pMnNfaW5pdChzdHJ1Y3Qgc3BhY2VtaXRfaTJzX2RldiAqaTJzKQogCXdyaXRl bCgwLCBpMnMtPmJhc2UgKyBTU0lOVEVOKTsKIH0KIAorc3RhdGljIGludCBzcGFjZW1pdF9pMnNf c3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwlzdHJ1Y3Qgc25k X3NvY19kYWkgKmRhaSkKK3sKKwlzdHJ1Y3Qgc3BhY2VtaXRfaTJzX2RldiAqaTJzID0gc25kX3Nv Y19kYWlfZ2V0X2RydmRhdGEoZGFpKTsKKworCXN3aXRjaCAoaTJzLT5kYWlfZm10ICYgU05EX1NP Q19EQUlGTVRfRk9STUFUX01BU0spIHsKKwljYXNlIFNORF9TT0NfREFJRk1UX0kyUzoKKwkJc25k X3BjbV9od19jb25zdHJhaW50X21pbm1heChzdWJzdHJlYW0tPnJ1bnRpbWUsCisJCQkJCSAgICAg U05EUlZfUENNX0hXX1BBUkFNX0NIQU5ORUxTLAorCQkJCQkgICAgIDIsIDIpOworCQlzbmRfcGNt X2h3X2NvbnN0cmFpbnRfbWFzazY0KHN1YnN0cmVhbS0+cnVudGltZSwKKwkJCQkJICAgICBTTkRS Vl9QQ01fSFdfUEFSQU1fRk9STUFULAorCQkJCQkgICAgIFNORFJWX1BDTV9GTVRCSVRfUzE2X0xF KTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9EU1BfQToKKwljYXNlIFNORF9TT0Nf REFJRk1UX0RTUF9COgorCQlzbmRfcGNtX2h3X2NvbnN0cmFpbnRfbWlubWF4KHN1YnN0cmVhbS0+ cnVudGltZSwKKwkJCQkJICAgICBTTkRSVl9QQ01fSFdfUEFSQU1fQ0hBTk5FTFMsCisJCQkJCSAg ICAgMSwgMSk7CisJCXNuZF9wY21faHdfY29uc3RyYWludF9tYXNrNjQoc3Vic3RyZWFtLT5ydW50 aW1lLAorCQkJCQkgICAgIFNORFJWX1BDTV9IV19QQVJBTV9GT1JNQVQsCisJCQkJCSAgICAgU05E UlZfUENNX0ZNVEJJVF9TMzJfTEUpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlkZXZfZGJnKGky cy0+ZGV2LCAidW5leHBlY3RlZCBmb3JtYXQgdHlwZSIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9 CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBzcGFjZW1pdF9pMnNfaHdfcGFyYW1zKHN0 cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAogCQkJCSAgc3RydWN0IHNuZF9wY21f aHdfcGFyYW1zICpwYXJhbXMsCiAJCQkJICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKQEAgLTE1 NywyMiArMTg4LDkgQEAgc3RhdGljIGludCBzcGFjZW1pdF9pMnNfaHdfcGFyYW1zKHN0cnVjdCBz bmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAogCQkJZG1hX2RhdGEtPm1heGJ1cnN0ID0gMzI7 CiAJCQlkbWFfZGF0YS0+YWRkcl93aWR0aCA9IERNQV9TTEFWRV9CVVNXSURUSF80X0JZVEVTOwog CQl9Ci0KLQkJc25kX3BjbV9od19jb25zdHJhaW50X21pbm1heChzdWJzdHJlYW0tPnJ1bnRpbWUs Ci0JCQkJCSAgICAgU05EUlZfUENNX0hXX1BBUkFNX0NIQU5ORUxTLAotCQkJCQkgICAgIDEsIDIp OwotCQlzbmRfcGNtX2h3X2NvbnN0cmFpbnRfbWFzazY0KHN1YnN0cmVhbS0+cnVudGltZSwKLQkJ CQkJICAgICBTTkRSVl9QQ01fSFdfUEFSQU1fRk9STUFULAotCQkJCQkgICAgIFNORFJWX1BDTV9G TVRCSVRfUzE2X0xFKTsKIAkJYnJlYWs7CiAJY2FzZSBTTkRfU09DX0RBSUZNVF9EU1BfQToKIAlj YXNlIFNORF9TT0NfREFJRk1UX0RTUF9COgotCQlzbmRfcGNtX2h3X2NvbnN0cmFpbnRfbWlubWF4 KHN1YnN0cmVhbS0+cnVudGltZSwKLQkJCQkJICAgICBTTkRSVl9QQ01fSFdfUEFSQU1fQ0hBTk5F TFMsCi0JCQkJCSAgICAgMSwgMSk7Ci0JCXNuZF9wY21faHdfY29uc3RyYWludF9tYXNrNjQoc3Vi c3RyZWFtLT5ydW50aW1lLAotCQkJCQkgICAgIFNORFJWX1BDTV9IV19QQVJBTV9GT1JNQVQsCi0J CQkJCSAgICAgU05EUlZfUENNX0ZNVEJJVF9TMzJfTEUpOwogCQlicmVhazsKIAlkZWZhdWx0Ogog CQlkZXZfZGJnKGkycy0+ZGV2LCAidW5leHBlY3RlZCBmb3JtYXQgdHlwZSIpOwpAQCAtMzAzLDYg KzMyMSw3IEBAIHN0YXRpYyBpbnQgc3BhY2VtaXRfaTJzX2RhaV9yZW1vdmUoc3RydWN0IHNuZF9z b2NfZGFpICpkYWkpCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFpX29wcyBzcGFjZW1p dF9pMnNfZGFpX29wcyA9IHsKIAkucHJvYmUgPSBzcGFjZW1pdF9pMnNfZGFpX3Byb2JlLAogCS5y ZW1vdmUgPSBzcGFjZW1pdF9pMnNfZGFpX3JlbW92ZSwKKwkuc3RhcnR1cCA9IHNwYWNlbWl0X2ky c19zdGFydHVwLAogCS5od19wYXJhbXMgPSBzcGFjZW1pdF9pMnNfaHdfcGFyYW1zLAogCS5zZXRf c3lzY2xrID0gc3BhY2VtaXRfaTJzX3NldF9zeXNjbGssCiAJLnNldF9mbXQgPSBzcGFjZW1pdF9p MnNfc2V0X2ZtdCwKLS0gCjIuNTMuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0 cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtcmlzY3YK