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 C6EA1C4332F for ; Thu, 13 Oct 2022 13:42:00 +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:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=V+kAhxZbhOZiZQio2PWlZqN8SIV3EjkD0E5h6T1FN0I=; b=ez975I2B4A6IYk jKvZfep7o2PBld+wFijdK6VNHEs1WDIqOu5glCF4gX0p79b0cDz7P97HAlyIZx/3z5iXoJCeM7E7N 0KXs/UyGjJycCEO8Mxja4B6Aj+f3/KJBZGTXChYbv7z0YZZiUp+bqlXBmFisYbcngKktyBfK4RjWM bsb87v+x1sxEFoVKmt7n9XZmHhBZhsxyw0OZ3+Hbm46u4AH50AKwNruBSQsEAWKf0SuSdtqxr9sVN lp/W0wRkwbRHm1Q9WPCRjelaJMKNKY0KQEPqI560cS0w8BIFZBWoksvYZpwpoC4jB5jqEzqFjezHS 5twMdXvqcJXzUrwh2AHQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oiyRu-00BvtI-Sd; Thu, 13 Oct 2022 13:40:36 +0000 Received: from new3-smtp.messagingengine.com ([66.111.4.229]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oiy7m-00Bof4-51 for linux-arm-kernel@lists.infradead.org; Thu, 13 Oct 2022 13:19:48 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailnew.nyi.internal (Postfix) with ESMTP id 86C31580363; Thu, 13 Oct 2022 09:19:45 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Thu, 13 Oct 2022 09:19:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1665667185; x= 1665674385; bh=2iMl0izJCO/+o3472qA/Bs19V2GmOxBXYaItDhGdjlY=; b=I RO0uEv8oXlqxQ/BxwGrUqFyZvxlUd03NE3NzB+wKx9bgSef1NsVGXGlSRVK49YVL qxP/266dW8BXv8VVk8hw+feU3kfapb05OUNv+I3L1ikhyccV/2jObw7wRUy5mYJY bGfgNg3szt++h7njVNJKo9zrdGOhhKzBzPmzmMQnozXCBwwqzhJROuxEmSK2HrEH /b4ePWqqom1IYfzfsysVDSn1ajykTJ5ER0dOhPe2H00Myrw7/jBVEBAu9q989coL vfoAsjaMHHN8CIe4qLH7+Fj/+SPtQO4V+hRccHz3s9iVEMCq4zAg4HhrvjZoTILC 2OEaykMpdO5OPa/OjULIQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1665667185; x= 1665674385; bh=2iMl0izJCO/+o3472qA/Bs19V2GmOxBXYaItDhGdjlY=; b=R QuH6peORrgwKOVQ3ubfcBEe8r3KOB6XhEDEXsA0zG27Gtlvqabuut0uuMn9F8Wwe WEdqDQ3iYMI15152V/MPmBVw2O0MoSSkh3ly9Bp/rbnioUiZTf8wckmUiGsYpgSn EBXm11p/VFNXzxngAGzRNFtXLaWv72uCiPAh1PajExqOwbL1mbZIVN7xvp9jHB4x J963LmTSgApH/XuGMjpWeV3W+ZAJES+fLUlxXPT7/qnC13AUCkXVKcDPdcf0kJwQ V1/Ejw2Ipig0JQMRLlWckvXiZtoWmAv9Sra/zpZbd82TScYdWr6YcUXNcqVYnA3a cYcKX6v9DpsyqOVFsPx9g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfeektddgieehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephfffufgggfgtkfhfjgfvvefosehtkeertdertdejnecuhfhrohhmpeforgig ihhmvgcutfhiphgrrhguuceomhgrgihimhgvsegtvghrnhhordhtvggthheqnecuggftrf grthhtvghrnhepvdfgveejhfdtteevvefhleeiueeutefgvdegveekgedujeffgeffgfet tdellefhnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh epmhgrgihimhgvsegtvghrnhhordhtvggthh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 13 Oct 2022 09:19:44 -0400 (EDT) From: Maxime Ripard Date: Thu, 13 Oct 2022 15:19:04 +0200 Subject: [PATCH v5 20/22] drm/vc4: vec: Convert to the new TV mode property MIME-Version: 1.0 Message-Id: <20220728-rpi-analog-tv-properties-v5-20-d841cc64fe4b@cerno.tech> References: <20220728-rpi-analog-tv-properties-v5-0-d841cc64fe4b@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v5-0-d841cc64fe4b@cerno.tech> To: Karol Herbst , Jani Nikula , Tvrtko Ursulin , Daniel Vetter , Maarten Lankhorst , David Airlie , Joonas Lahtinen , Lyude Paul , Maxime Ripard , Emma Anholt , Chen-Yu Tsai , Samuel Holland , Ben Skeggs , Thomas Zimmermann , Rodrigo Vivi , Jernej Skrabec Cc: Dom Cobley , Maxime Ripard , linux-sunxi@lists.linux.dev, Dave Stevenson , Noralf Trønnes , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, nouveau@lists.freedesktop.org, Geert Uytterhoeven , linux-arm-kernel@lists.infradead.org, Mateusz Kwiatkowski , dri-devel@lists.freedesktop.org, Hans de Goede , Phil Elwell X-Mailer: b4 0.11.0-dev-7da52 X-Developer-Signature: v=1; a=openpgp-sha256; l=9855; i=maxime@cerno.tech; h=from:subject:message-id; bh=5VPlasEhOSLJuI/cwZQa5WDmU05XD3lZAKObeZePG7w=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMkeAu5ygpsL7f/sOFTzUzt4KQuz9KbGRsG7N60rDV6+ads/ c/PEjlIWBjEuBlkxRZYYYfMlcadmve5k45sHM4eVCWQIAxenAEzk/iVGhmlrvj4+YvHW9Mxeh6ftL2 UuTdt2s3WK9rzbggby01eflytn+MMVk5Rr3/uy9NQy1gecx3xvlyReuCC8JeXf6ncNb3WikpkA X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221013_061946_366530_198568E1 X-CRM114-Status: GOOD ( 21.70 ) 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 Tm93IHRoYXQgdGhlIGNvcmUgY2FuIGRlYWwgZmluZSB3aXRoIGFuYWxvZyBUViBtb2RlcywgbGV0 J3MgY29udmVydCB0aGUgdmM0ClZFQyBkcml2ZXIgdG8gbGV2ZXJhZ2UgdGhvc2UgbmV3IGZlYXR1 cmVzLgoKV2UndmUgYWRkZWQgc29tZSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHRvIHN1cHBvcnQg dGhlIG9sZCBUViBtb2RlIHByb3BlcnR5CmFuZCB0cmFuc2xhdGUgaXQgaW50byB0aGUgbmV3IFRW IG5vcm0gcHJvcGVydHkuIFdlJ3JlIGFsc28gbWFraW5nIHVzZSBvZgp0aGUgbmV3IGFuYWxvZyBU ViBhdG9taWNfY2hlY2sgaGVscGVyIHRvIG1ha2Ugc3VyZSB3ZSB0cmlnZ2VyIGEgbW9kZXNldAp3 aGVuZXZlciB0aGUgVFYgbW9kZSBpcyB1cGRhdGVkLgoKQWNrZWQtYnk6IE5vcmFsZiBUcsO4bm5l cyA8bm9yYWxmQHRyb25uZXMub3JnPgpTaWduZWQtb2ZmLWJ5OiBNYXhpbWUgUmlwYXJkIDxtYXhp bWVAY2Vybm8udGVjaD4KCi0tLQpDaGFuZ2VzIGluIHY1OgotIFJlbmFtZWQgdHZfbW9kZV9uYW1l cyBpbnRvIGxlZ2FjeV90dl9tb2RlX25hbWVzCgpDaGFuZ2VzIGluIHY0OgotIFJlbW92ZWQgdGhl IGNvdW50IHZhcmlhYmxlIGluIC5nZXRfbW9kZXMKLS0tCiBkcml2ZXJzL2dwdS9kcm0vdmM0L3Zj NF92ZWMuYyB8IDE5MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCAxNDUgaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfdmVjLmMgYi9kcml2ZXJzL2dwdS9kcm0v dmM0L3ZjNF92ZWMuYwppbmRleCAxZmNiN2JhZjg3NGUuLjQ1NjY4OWI0NTg0OSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfdmVjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Zj NC92YzRfdmVjLmMKQEAgLTE3Miw2ICsxNzIsOCBAQCBzdHJ1Y3QgdmM0X3ZlYyB7CiAKIAlzdHJ1 Y3QgY2xrICpjbG9jazsKIAorCXN0cnVjdCBkcm1fcHJvcGVydHkgKmxlZ2FjeV90dl9tb2RlX3By b3BlcnR5OworCiAJc3RydWN0IGRlYnVnZnNfcmVnc2V0MzIgcmVnc2V0OwogfTsKIApAQCAtMTg0 LDYgKzE4NiwxMiBAQCBlbmNvZGVyX3RvX3ZjNF92ZWMoc3RydWN0IGRybV9lbmNvZGVyICplbmNv ZGVyKQogCXJldHVybiBjb250YWluZXJfb2YoZW5jb2Rlciwgc3RydWN0IHZjNF92ZWMsIGVuY29k ZXIuYmFzZSk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgc3RydWN0IHZjNF92ZWMgKgorY29ubmVjdG9y X3RvX3ZjNF92ZWMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlyZXR1cm4g Y29udGFpbmVyX29mKGNvbm5lY3Rvciwgc3RydWN0IHZjNF92ZWMsIGNvbm5lY3Rvcik7Cit9CisK IGVudW0gdmM0X3ZlY190dl9tb2RlX2lkIHsKIAlWQzRfVkVDX1RWX01PREVfTlRTQywKIAlWQzRf VkVDX1RWX01PREVfTlRTQ19KLApAQCAtMTkyLDcgKzIwMCw3IEBAIGVudW0gdmM0X3ZlY190dl9t b2RlX2lkIHsKIH07CiAKIHN0cnVjdCB2YzRfdmVjX3R2X21vZGUgewotCWNvbnN0IHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlOworCXVuc2lnbmVkIGludCBtb2RlOwogCXUzMiBjb25maWcw OwogCXUzMiBjb25maWcxOwogCXUzMiBjdXN0b21fZnJlcTsKQEAgLTIyNSw0MyArMjMzLDUxIEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGVidWdmc19yZWczMiB2ZWNfcmVnc1tdID0gewogCVZDNF9S RUczMihWRUNfREFDX01JU0MpLAogfTsKIAotc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlIG50c2NfbW9kZSA9IHsKLQlEUk1fTU9ERSgiNzIweDQ4MCIsIERSTV9NT0RFX1RZUEVf RFJJVkVSLCAxMzUwMCwKLQkJIDcyMCwgNzIwICsgMTQsIDcyMCArIDE0ICsgNjQsIDcyMCArIDE0 ICsgNjQgKyA2MCwgMCwKLQkJIDQ4MCwgNDgwICsgNywgNDgwICsgNyArIDYsIDUyNSwgMCwKLQkJ IERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFKQotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlIHBhbF9tb2RlID0gewotCURSTV9NT0RFKCI3MjB4NTc2IiwgRFJNX01PREVf VFlQRV9EUklWRVIsIDEzNTAwLAotCQkgNzIwLCA3MjAgKyAyMCwgNzIwICsgMjAgKyA2NCwgNzIw ICsgMjAgKyA2NCArIDYwLCAwLAotCQkgNTc2LCA1NzYgKyA0LCA1NzYgKyA0ICsgNiwgNjI1LCAw LAotCQkgRFJNX01PREVfRkxBR19JTlRFUkxBQ0UpCi19OwotCiBzdGF0aWMgY29uc3Qgc3RydWN0 IHZjNF92ZWNfdHZfbW9kZSB2YzRfdmVjX3R2X21vZGVzW10gPSB7Ci0JW1ZDNF9WRUNfVFZfTU9E RV9OVFNDXSA9IHsKLQkJLm1vZGUgPSAmbnRzY19tb2RlLAorCXsKKwkJLm1vZGUgPSBEUk1fTU9E RV9UVl9NT0RFX05UU0MsCiAJCS5jb25maWcwID0gVkVDX0NPTkZJRzBfTlRTQ19TVEQgfCBWRUNf Q09ORklHMF9QREVOLAogCQkuY29uZmlnMSA9IFZFQ19DT05GSUcxX0NfQ1ZCU19DVkJTLAogCX0s Ci0JW1ZDNF9WRUNfVFZfTU9ERV9OVFNDX0pdID0gewotCQkubW9kZSA9ICZudHNjX21vZGUsCisJ eworCQkubW9kZSA9IERSTV9NT0RFX1RWX01PREVfTlRTQ19KLAogCQkuY29uZmlnMCA9IFZFQ19D T05GSUcwX05UU0NfU1RELAogCQkuY29uZmlnMSA9IFZFQ19DT05GSUcxX0NfQ1ZCU19DVkJTLAog CX0sCi0JW1ZDNF9WRUNfVFZfTU9ERV9QQUxdID0gewotCQkubW9kZSA9ICZwYWxfbW9kZSwKKwl7 CisJCS5tb2RlID0gRFJNX01PREVfVFZfTU9ERV9QQUwsCiAJCS5jb25maWcwID0gVkVDX0NPTkZJ RzBfUEFMX0JER0hJX1NURCwKIAkJLmNvbmZpZzEgPSBWRUNfQ09ORklHMV9DX0NWQlNfQ1ZCUywK IAl9LAotCVtWQzRfVkVDX1RWX01PREVfUEFMX01dID0gewotCQkubW9kZSA9ICZudHNjX21vZGUs CisJeworCQkubW9kZSA9IERSTV9NT0RFX1RWX01PREVfUEFMX00sCiAJCS5jb25maWcwID0gVkVD X0NPTkZJRzBfUEFMX01fU1RELAogCQkuY29uZmlnMSA9IFZFQ19DT05GSUcxX0NfQ1ZCU19DVkJT LAogCX0sCiB9OwogCitzdGF0aWMgaW5saW5lIGNvbnN0IHN0cnVjdCB2YzRfdmVjX3R2X21vZGUg KgordmM0X3ZlY190dl9tb2RlX2xvb2t1cCh1bnNpZ25lZCBpbnQgbW9kZSkKK3sKKwl1bnNpZ25l ZCBpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHZjNF92ZWNfdHZfbW9kZXMp OyBpKyspIHsKKwkJY29uc3Qgc3RydWN0IHZjNF92ZWNfdHZfbW9kZSAqdHZfbW9kZSA9ICZ2YzRf dmVjX3R2X21vZGVzW2ldOworCisJCWlmICh0dl9tb2RlLT5tb2RlID09IG1vZGUpCisJCQlyZXR1 cm4gdHZfbW9kZTsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVj dCBkcm1fcHJvcF9lbnVtX2xpc3QgbGVnYWN5X3R2X21vZGVfbmFtZXNbXSA9IHsKKwl7IFZDNF9W RUNfVFZfTU9ERV9OVFNDLCAiTlRTQyIsIH0sCisJeyBWQzRfVkVDX1RWX01PREVfTlRTQ19KLCAi TlRTQy1KIiwgfSwKKwl7IFZDNF9WRUNfVFZfTU9ERV9QQUwsICJQQUwiLCB9LAorCXsgVkM0X1ZF Q19UVl9NT0RFX1BBTF9NLCAiUEFMLU0iLCB9LAorfTsKKwogc3RhdGljIGVudW0gZHJtX2Nvbm5l Y3Rvcl9zdGF0dXMKIHZjNF92ZWNfY29ubmVjdG9yX2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLCBib29sIGZvcmNlKQogewpAQCAtMjc2LDE5ICsyOTIsOTYgQEAgc3RhdGlj IHZvaWQgdmM0X3ZlY19jb25uZWN0b3JfcmVzZXQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvcikKIAogc3RhdGljIGludCB2YzRfdmVjX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKLQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAq c3RhdGUgPSBjb25uZWN0b3ItPnN0YXRlOwogCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl OwogCi0JbW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShjb25uZWN0b3ItPmRldiwKLQkJCQkgIHZj NF92ZWNfdHZfbW9kZXNbc3RhdGUtPnR2LmxlZ2FjeV9tb2RlXS5tb2RlKTsKKwltb2RlID0gZHJt X21vZGVfYW5hbG9nX250c2NfNDgwaShjb25uZWN0b3ItPmRldik7CiAJaWYgKCFtb2RlKSB7CiAJ CURSTV9FUlJPUigiRmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBkaXNwbGF5IG1vZGVcbiIpOwogCQly ZXR1cm4gLUVOT01FTTsKIAl9CiAKKwltb2RlLT50eXBlIHw9IERSTV9NT0RFX1RZUEVfUFJFRkVS UkVEOwogCWRybV9tb2RlX3Byb2JlZF9hZGQoY29ubmVjdG9yLCBtb2RlKTsKIAotCXJldHVybiAx OworCW1vZGUgPSBkcm1fbW9kZV9hbmFsb2dfcGFsXzU3NmkoY29ubmVjdG9yLT5kZXYpOworCWlm ICghbW9kZSkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlzcGxheSBt b2RlXG4iKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCisJZHJtX21vZGVfcHJvYmVkX2FkZChj b25uZWN0b3IsIG1vZGUpOworCisJcmV0dXJuIDI7Cit9CisKK3N0YXRpYyBpbnQKK3ZjNF92ZWNf Y29ubmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAor CQkJICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZSwKKwkJCSAgICAgICBz dHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKKwkJCSAgICAgICB1aW50NjRfdCB2YWwpCit7 CisJc3RydWN0IHZjNF92ZWMgKnZlYyA9IGNvbm5lY3Rvcl90b192YzRfdmVjKGNvbm5lY3Rvcik7 CisKKwlpZiAocHJvcGVydHkgIT0gdmVjLT5sZWdhY3lfdHZfbW9kZV9wcm9wZXJ0eSkKKwkJcmV0 dXJuIC1FSU5WQUw7CisKKwlzd2l0Y2ggKHZhbCkgeworCWNhc2UgVkM0X1ZFQ19UVl9NT0RFX05U U0M6CisJCXN0YXRlLT50di5tb2RlID0gRFJNX01PREVfVFZfTU9ERV9OVFNDOworCQlicmVhazsK KworCWNhc2UgVkM0X1ZFQ19UVl9NT0RFX05UU0NfSjoKKwkJc3RhdGUtPnR2Lm1vZGUgPSBEUk1f TU9ERV9UVl9NT0RFX05UU0NfSjsKKwkJYnJlYWs7CisKKwljYXNlIFZDNF9WRUNfVFZfTU9ERV9Q QUw6CisJCXN0YXRlLT50di5tb2RlID0gRFJNX01PREVfVFZfTU9ERV9QQUw7CisJCWJyZWFrOwor CisJY2FzZSBWQzRfVkVDX1RWX01PREVfUEFMX006CisJCXN0YXRlLT50di5tb2RlID0gRFJNX01P REVfVFZfTU9ERV9QQUxfTTsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZB TDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAordmM0X3ZlY19jb25uZWN0b3Jf Z2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCisJCQkgICAgICAg Y29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKnN0YXRlLAorCQkJICAgICAgIHN0cnVj dCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAorCQkJICAgICAgIHVpbnQ2NF90ICp2YWwpCit7CisJ c3RydWN0IHZjNF92ZWMgKnZlYyA9IGNvbm5lY3Rvcl90b192YzRfdmVjKGNvbm5lY3Rvcik7CisK KwlpZiAocHJvcGVydHkgIT0gdmVjLT5sZWdhY3lfdHZfbW9kZV9wcm9wZXJ0eSkKKwkJcmV0dXJu IC1FSU5WQUw7CisKKwlzd2l0Y2ggKHN0YXRlLT50di5tb2RlKSB7CisJY2FzZSBEUk1fTU9ERV9U Vl9NT0RFX05UU0M6CisJCSp2YWwgPSBWQzRfVkVDX1RWX01PREVfTlRTQzsKKwkJYnJlYWs7CisK KwljYXNlIERSTV9NT0RFX1RWX01PREVfTlRTQ19KOgorCQkqdmFsID0gVkM0X1ZFQ19UVl9NT0RF X05UU0NfSjsKKwkJYnJlYWs7CisKKwljYXNlIERSTV9NT0RFX1RWX01PREVfUEFMOgorCQkqdmFs ID0gVkM0X1ZFQ19UVl9NT0RFX1BBTDsKKwkJYnJlYWs7CisKKwljYXNlIERSTV9NT0RFX1RWX01P REVfUEFMX006CisJCSp2YWwgPSBWQzRfVkVDX1RWX01PREVfUEFMX007CisJCWJyZWFrOworCisJ ZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0dXJuIDA7CiB9CiAKIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyB2YzRfdmVjX2Nvbm5lY3Rvcl9mdW5j cyA9IHsKQEAgLTI5NywxNSArMzkwLDE5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5l Y3Rvcl9mdW5jcyB2YzRfdmVjX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKIAkucmVzZXQgPSB2YzRfdmVj X2Nvbm5lY3Rvcl9yZXNldCwKIAkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9hdG9taWNf aGVscGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUsCiAJLmF0b21pY19kZXN0cm95X3N0YXRl ID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2Rlc3Ryb3lfc3RhdGUsCisJLmF0b21pY19n ZXRfcHJvcGVydHkgPSB2YzRfdmVjX2Nvbm5lY3Rvcl9nZXRfcHJvcGVydHksCisJLmF0b21pY19z ZXRfcHJvcGVydHkgPSB2YzRfdmVjX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHksCiB9OwogCiBzdGF0 aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfaGVscGVyX2Z1bmNzIHZjNF92ZWNfY29ubmVj dG9yX2hlbHBlcl9mdW5jcyA9IHsKKwkuYXRvbWljX2NoZWNrID0gZHJtX2F0b21pY19oZWxwZXJf Y29ubmVjdG9yX3R2X2NoZWNrLAogCS5nZXRfbW9kZXMgPSB2YzRfdmVjX2Nvbm5lY3Rvcl9nZXRf bW9kZXMsCiB9OwogCiBzdGF0aWMgaW50IHZjNF92ZWNfY29ubmVjdG9yX2luaXQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgc3RydWN0IHZjNF92ZWMgKnZlYykKIHsKIAlzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yID0gJnZlYy0+Y29ubmVjdG9yOworCXN0cnVjdCBkcm1fcHJvcGVydHkg KnByb3A7CiAJaW50IHJldDsKIAogCWNvbm5lY3Rvci0+aW50ZXJsYWNlX2FsbG93ZWQgPSB0cnVl OwpAQCAtMzE4LDggKzQxNSwxNyBAQCBzdGF0aWMgaW50IHZjNF92ZWNfY29ubmVjdG9yX2luaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IHZjNF92ZWMgKnZlYykKIAlkcm1fY29ubmVj dG9yX2hlbHBlcl9hZGQoY29ubmVjdG9yLCAmdmM0X3ZlY19jb25uZWN0b3JfaGVscGVyX2Z1bmNz KTsKIAogCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjb25uZWN0b3ItPmJhc2UsCi0JCQkJ ICAgZGV2LT5tb2RlX2NvbmZpZy5sZWdhY3lfdHZfbW9kZV9wcm9wZXJ0eSwKLQkJCQkgICBWQzRf VkVDX1RWX01PREVfTlRTQyk7CisJCQkJICAgZGV2LT5tb2RlX2NvbmZpZy50dl9tb2RlX3Byb3Bl cnR5LAorCQkJCSAgIERSTV9NT0RFX1RWX01PREVfTlRTQyk7CisKKwlwcm9wID0gZHJtX3Byb3Bl cnR5X2NyZWF0ZV9lbnVtKGRldiwgMCwgIm1vZGUiLAorCQkJCQlsZWdhY3lfdHZfbW9kZV9uYW1l cywKKwkJCQkJQVJSQVlfU0laRShsZWdhY3lfdHZfbW9kZV9uYW1lcykpOworCWlmICghcHJvcCkK KwkJcmV0dXJuIC1FTk9NRU07CisJdmVjLT5sZWdhY3lfdHZfbW9kZV9wcm9wZXJ0eSA9IHByb3A7 CisKKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLCBwcm9wLCBW QzRfVkVDX1RWX01PREVfTlRTQyk7CiAKIAlkcm1fY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKGNv bm5lY3RvciwgJnZlYy0+ZW5jb2Rlci5iYXNlKTsKIApAQCAtMzY2LDEzICs0NzIsMTYgQEAgc3Rh dGljIHZvaWQgdmM0X3ZlY19lbmNvZGVyX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIsCiAJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9ICZ2ZWMtPmNvbm5lY3RvcjsK IAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSA9CiAJCWRybV9hdG9taWNf Z2V0X25ld19jb25uZWN0b3Jfc3RhdGUoc3RhdGUsIGNvbm5lY3Rvcik7Ci0JY29uc3Qgc3RydWN0 IHZjNF92ZWNfdHZfbW9kZSAqdHZfbW9kZSA9Ci0JCSZ2YzRfdmVjX3R2X21vZGVzW2Nvbm5fc3Rh dGUtPnR2LmxlZ2FjeV9tb2RlXTsKKwljb25zdCBzdHJ1Y3QgdmM0X3ZlY190dl9tb2RlICp0dl9t b2RlOwogCWludCBpZHgsIHJldDsKIAogCWlmICghZHJtX2Rldl9lbnRlcihkcm0sICZpZHgpKQog CQlyZXR1cm47CiAKKwl0dl9tb2RlID0gdmM0X3ZlY190dl9tb2RlX2xvb2t1cChjb25uX3N0YXRl LT50di5tb2RlKTsKKwlpZiAoIXR2X21vZGUpCisJCWdvdG8gZXJyX2Rldl9leGl0OworCiAJcmV0 ID0gcG1fcnVudGltZV9nZXRfc3luYygmdmVjLT5wZGV2LT5kZXYpOwogCWlmIChyZXQgPCAwKSB7 CiAJCURSTV9FUlJPUigiRmFpbGVkIHRvIHJldGFpbiBwb3dlciBkb21haW46ICVkXG4iLCByZXQp OwpAQCAtNDU0LDEzICs1NjMsNiBAQCBzdGF0aWMgaW50IHZjNF92ZWNfZW5jb2Rlcl9hdG9taWNf Y2hlY2soc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCQkJCQlzdHJ1Y3QgZHJtX2Nvbm5l Y3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSA9ICZjcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2RlOwotCWNvbnN0IHN0cnVjdCB2YzRf dmVjX3R2X21vZGUgKnZlY19tb2RlOwotCi0JdmVjX21vZGUgPSAmdmM0X3ZlY190dl9tb2Rlc1tj b25uX3N0YXRlLT50di5sZWdhY3lfbW9kZV07Ci0KLQlpZiAoY29ubl9zdGF0ZS0+Y3J0YyAmJgot CSAgICAhZHJtX21vZGVfZXF1YWwodmVjX21vZGUtPm1vZGUsICZjcnRjX3N0YXRlLT5hZGp1c3Rl ZF9tb2RlKSkKLQkJcmV0dXJuIC1FSU5WQUw7CiAKIAlpZiAobW9kZS0+Y3J0Y19oZGlzcGxheSAl IDQpCiAJCXJldHVybiAtRUlOVkFMOwpAQCAtNTU0LDEzICs2NTYsNiBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IG9mX2RldmljZV9pZCB2YzRfdmVjX2R0X21hdGNoW10gPSB7CiAJeyAvKiBzZW50aW5l bCAqLyB9LAogfTsKIAotc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB0dl9tb2RlX25hbWVzW10g PSB7Ci0JW1ZDNF9WRUNfVFZfTU9ERV9OVFNDXSA9ICJOVFNDIiwKLQlbVkM0X1ZFQ19UVl9NT0RF X05UU0NfSl0gPSAiTlRTQy1KIiwKLQlbVkM0X1ZFQ19UVl9NT0RFX1BBTF0gPSAiUEFMIiwKLQlb VkM0X1ZFQ19UVl9NT0RFX1BBTF9NXSA9ICJQQUwtTSIsCi19OwotCiBzdGF0aWMgaW50IHZjNF92 ZWNfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAq ZGF0YSkKIHsKIAlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gdG9fcGxhdGZvcm1fZGV2 aWNlKGRldik7CkBAIC01NjgsOSArNjYzLDExIEBAIHN0YXRpYyBpbnQgdmM0X3ZlY19iaW5kKHN0 cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLCB2b2lkICpkYXRhKQogCXN0 cnVjdCB2YzRfdmVjICp2ZWM7CiAJaW50IHJldDsKIAotCXJldCA9IGRybV9tb2RlX2NyZWF0ZV90 dl9wcm9wZXJ0aWVzX2xlZ2FjeShkcm0sCi0JCQkJCQkgICBBUlJBWV9TSVpFKHR2X21vZGVfbmFt ZXMpLAotCQkJCQkJICAgdHZfbW9kZV9uYW1lcyk7CisJcmV0ID0gZHJtX21vZGVfY3JlYXRlX3R2 X3Byb3BlcnRpZXMoZHJtLAorCQkJCQkgICAgQklUKERSTV9NT0RFX1RWX01PREVfTlRTQykgfAor CQkJCQkgICAgQklUKERSTV9NT0RFX1RWX01PREVfTlRTQ19KKSB8CisJCQkJCSAgICBCSVQoRFJN X01PREVfVFZfTU9ERV9QQUwpIHwKKwkJCQkJICAgIEJJVChEUk1fTU9ERV9UVl9NT0RFX1BBTF9N KSk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAoKLS0gCmI0IDAuMTEuMC1kZXYtN2RhNTIK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFy bS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9y ZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1r ZXJuZWwK