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=-13.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,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 69D3AC4363A for ; Mon, 5 Oct 2020 13:44:54 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 DBFF420756 for ; Mon, 5 Oct 2020 13:44:53 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="SATcK4Jt" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DBFF420756 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=denx.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+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=merlin.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=dY4fFXY3lQhRzFKdoWDAO2NCXHX7vLQVc0Gf7vrZ7sM=; b=SATcK4JtMuu3EGGulud0SyK8A 6Uo6Pf84mfyImjaYES9B9gP9pFrx7qsjUnViVrGRMUHL64koDrBS4DPGy8MoOnofKl398mzscHC4F 5pRTFKsJ+GRqtLNZv5NCSHhvQGYq/t+aFXgg/RJk+1bE1F3IxML7eXq2JiOpE3UsxQg+0I6Jlr3h1 +apWCDlLiG0/5CmwrEpkHH1UANjyhe8Qj61FewM0UeKIKD88bYAcc/X5369t48+vYsOwn62clyFnF YcaBis5KXyZVl2JJJlV1hRNuVw18Hi29/QlDgqaL5OG0QoZwccScshvBnVK1dwuCjm4myqKRlEhAc 7cxZTCLzw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kPQls-0003Sz-Hl; Mon, 05 Oct 2020 13:43:20 +0000 Received: from mail-out.m-online.net ([2001:a60:0:28:0:1:25:1]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kPQlo-0003Rq-0M for linux-arm-kernel@lists.infradead.org; Mon, 05 Oct 2020 13:43:18 +0000 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4C4hcy6pPvz1s7Gg; Mon, 5 Oct 2020 15:43:14 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4C4hcy5b5qz1sM8g; Mon, 5 Oct 2020 15:43:14 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id VuhbyYAEQA2Y; Mon, 5 Oct 2020 15:43:11 +0200 (CEST) X-Auth-Info: JJobhcK0kQbcVw2hCYkgxWoc+v6fH6ZKHlZWlSRSWNE= Received: from desktop.lan (ip-89-176-112-137.net.upcbroadband.cz [89.176.112.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Mon, 5 Oct 2020 15:43:11 +0200 (CEST) From: Marek Vasut To: dri-devel@lists.freedesktop.org Subject: [PATCH 3/3] [RFC] drm/exynos: Add basic i.MX8MM support code Date: Mon, 5 Oct 2020 15:42:50 +0200 Message-Id: <20201005134250.527153-3-marex@denx.de> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201005134250.527153-1-marex@denx.de> References: <20201005134250.527153-1-marex@denx.de> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201005_094316_286383_4B1F1D3A X-CRM114-Status: GOOD ( 27.36 ) 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: Marek Vasut , linux-samsung-soc@vger.kernel.org, Shawn Guo , =?UTF-8?q?Guido=20G=C3=BCnther?= , Michael Tretter , Jaehoon Chung , NXP Linux Team , Lucas Stach , Fabio Estevam , linux-arm-kernel@lists.infradead.org, Marek Szyprowski 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 VGhpcyBhZGRzIGJhc2ljIGkuTVg4TU0gZ2x1ZSBjb2RlIGZvciB0aGUgU2Ftc3VuZyBEU0lNIFBI WS4KVGhlcmUgYXJlIHN0aWxsIGEgY291cGxlIG9mIGl0ZW1zIHdoaWNoIG5lZWQgdG8gYmUgc29y dGVkIG91dAppbiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NhbXN1bmctZHNpbS5jIGJlZm9yZSB0 aGlzIGNhbiBldmVuCmJlIG1lcmdlZCwgc3BlY2lmaWNhbGx5OgoKLSBUaGUgZHNpLT5vdXRfYnJp ZGdlIGlzIG5vdCBwb3B1bGF0ZWQgdW50aWwgc2Ftc3VuZ19kc2ltX2hvc3RfYXR0YWNoKCkKICBp cyBjYWxsZWQsIGhvd2V2ZXIgc2Ftc3VuZ19kc2ltX2hvc3RfYXR0YWNoKCkgaXMgbm90IGNhbGxl ZCB1bnRpbCB0aGUKICBuZXh0IGJyaWRnZSBhdHRhY2hlcyBhbmQgY2FsbHMgbWlwaV9kc2lfYXR0 YWNoKCksIGFuZCB0aGF0IG9ubHkgaGFwcGVucwogIGFmdGVyIHRoZSBEU0lNIGNhbGxzIGRybV9i cmlkZ2VfYXR0YWNoKCkgb24gdGhhdCBuZXh0IGJyaWRnZS4KCi0gVGhlIHNhbXN1bmdfZHNpbV9i cmlkZ2VfbW9kZV9maXh1cCgpIGlzIG5lZWRlZCBmb3IgaU1YOE1NIExDRElGIHRvIHNldAogIHRo ZSBjb3JyZWN0IHN5bmMgZmxhZ3MuIFRoaXMgbGlrZWx5IG5lZWRzIHRvIGJlIGRvbmUgaW4gdGhl IGdsdWUgY29kZS4KClNpZ25lZC1vZmYtYnk6IE1hcmVrIFZhc3V0IDxtYXJleEBkZW54LmRlPgpD YzogRmFiaW8gRXN0ZXZhbSA8ZmVzdGV2YW1AZ21haWwuY29tPgpDYzogR3VpZG8gR8O8bnRoZXIg PGFneEBzaWd4Y3B1Lm9yZz4KQ2M6IEphZWhvb24gQ2h1bmcgPGpoODAuY2h1bmdAc2Ftc3VuZy5j b20+CkNjOiBMdWNhcyBTdGFjaCA8bC5zdGFjaEBwZW5ndXRyb25peC5kZT4KQ2M6IE1hcmVrIFN6 eXByb3dza2kgPG0uc3p5cHJvd3NraUBzYW1zdW5nLmNvbT4KQ2M6IE1pY2hhZWwgVHJldHRlciA8 bS50cmV0dGVyQHBlbmd1dHJvbml4LmRlPgpDYzogTlhQIExpbnV4IFRlYW0gPGxpbnV4LWlteEBu eHAuY29tPgpDYzogU2hhd24gR3VvIDxzaGF3bmd1b0BrZXJuZWwub3JnPgpDYzogbGludXgtYXJt LWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1zYW1zdW5nLXNvY0B2Z2VyLmtl cm5lbC5vcmcKVG86IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKLS0KTk9URTogVGhp cyBkZXBlbmRzIG9uIGh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcHJvamVjdC9kcmktZGV2 ZWwvbGlzdC8/c2VyaWVzPTM0NzQzOQotLS0KIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvS2NvbmZp ZyAgICAgICAgICAgIHwgICA2ICsKIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvTWFrZWZpbGUgICAg ICAgICAgIHwgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2Ftc3VuZy1kc2ltLWlteC5j IHwgMTYxICsrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2Ft c3VuZy1kc2ltLmMgICAgIHwgIDI1ICsrKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTkyIGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0v YnJpZGdlL3NhbXN1bmctZHNpbS1pbXguYwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvS2NvbmZpZyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvS2NvbmZpZwppbmRleCAyZDQ0 NTlmNzhjZGMuLmY5N2E4ZWJmY2VmMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9LY29uZmlnCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvS2NvbmZpZwpAQCAtMTI5LDYg KzEyOSwxMiBAQCBjb25maWcgRFJNX1NBTVNVTkdfRFNJTQogCWhlbHAKIAkgIFNhbXN1bmcgTUlQ SSBEU0kgYnJpZGdlIGRyaXZlci4KIAorY29uZmlnIERSTV9TQU1TVU5HX0RTSU1fSU1YCisJdHJp c3RhdGUgIlNhbXN1bmcgTUlQSSBEU0kgYnJpZGdlIGV4dHJhcyBmb3IgTlhQIGkuTVgiCisJZGVw ZW5kcyBvbiBEUk1fU0FNU1VOR19EU0lNCisJaGVscAorCSAgU2Ftc3VuZyBNSVBJIERTSSBicmlk Z2UgZHJpdmVyIGV4dHJhcyBmb3IgTlhQIGkuTVguCisKIGNvbmZpZyBEUk1fU0lMX1NJSTg2MjAK IAl0cmlzdGF0ZSAiU2lsaWNvbiBJbWFnZSBTSUk4NjIwIEhETUkvTUhMIGJyaWRnZSIKIAlkZXBl bmRzIG9uIE9GCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL01ha2VmaWxlIGIv ZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9NYWtlZmlsZQppbmRleCBmNzk3MmQ3MDNjNWQuLjYxMTg4 YTBjZDA1MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9NYWtlZmlsZQorKysg Yi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL01ha2VmaWxlCkBAIC05LDYgKzksNyBAQCBvYmotJChD T05GSUdfRFJNX05YUF9QVE4zNDYwKSArPSBueHAtcHRuMzQ2MC5vCiBvYmotJChDT05GSUdfRFJN X1BBUkFERV9QUzg2MjIpICs9IHBhcmFkZS1wczg2MjIubwogb2JqLSQoQ09ORklHX0RSTV9QQVJB REVfUFM4NjQwKSArPSBwYXJhZGUtcHM4NjQwLm8KIG9iai0kKENPTkZJR19EUk1fU0FNU1VOR19E U0lNKSArPSBzYW1zdW5nLWRzaW0ubworb2JqLSQoQ09ORklHX0RSTV9TQU1TVU5HX0RTSU1fSU1Y KSArPSBzYW1zdW5nLWRzaW0taW14Lm8KIG9iai0kKENPTkZJR19EUk1fU0lMX1NJSTg2MjApICs9 IHNpbC1zaWk4NjIwLm8KIG9iai0kKENPTkZJR19EUk1fU0lJOTAyWCkgKz0gc2lpOTAyeC5vCiBv YmotJChDT05GSUdfRFJNX1NJSTkyMzQpICs9IHNpaTkyMzQubwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9zYW1zdW5nLWRzaW0taW14LmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL3NhbXN1bmctZHNpbS1pbXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjZjNzMwN2NlN2VhZgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2Uvc2Ftc3VuZy1kc2ltLWlteC5jCkBAIC0wLDAgKzEsMTYxIEBACisvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CisvKgorICogTlhQIGkuTVg4TSBTb0MgTUlQSSBE U0kgZHJpdmVyCisgKgorICogQ29weXJpZ2h0IChDKSAyMDIwIE1hcmVrIFZhc3V0IDxtYXJleEBk ZW54LmRlPgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51 eC9vZl9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9vZl9ncmFwaC5oPgorI2luY2x1ZGUgPGxp bnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BtX3J1bnRpbWUuaD4KKwor I2luY2x1ZGUgPGRybS9icmlkZ2Uvc2Ftc3VuZy1kc2ltLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9i cmlkZ2UuaD4KKyNpbmNsdWRlIDxkcm0vZHJtX2VuY29kZXIuaD4KKyNpbmNsdWRlIDxkcm0vZHJt X21pcGlfZHNpLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9wcm9iZV9oZWxwZXIuaD4KKyNpbmNsdWRl IDxkcm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmg+CisKK2VudW0geworCURTSV9QT1JUX0lOLAor CURTSV9QT1JUX09VVAorfTsKKworc3RydWN0IGlteF9kc2ltX3ByaXYgeworCXN0cnVjdCBzYW1z dW5nX2RzaW0gKmRzaTsKKwlzdHJ1Y3QgZHJtX2VuY29kZXIgZW5jb2RlcjsKK307CisKK3N0YXRp YyBjb25zdCB1bnNpZ25lZCBpbnQgaW14OG1tX2RzaW1fcmVnX3ZhbHVlc1tdID0geworCVtSRVNF VF9UWVBFXSA9IERTSU1fU1dSU1QsCisJW1BMTF9USU1FUl0gPSA1MDAsCisJW1NUT1BfU1RBVEVf Q05UXSA9IDB4ZiwKKwlbUEhZQ1RSTF9VTFBTX0VYSVRdID0gMHhhZiwKKwlbUEhZQ1RSTF9WUkVH X0xQXSA9IDAsCisJW1BIWUNUUkxfU0xFV19VUF0gPSAwLAorCVtQSFlUSU1JTkdfTFBYXSA9IDB4 MDYsCisJW1BIWVRJTUlOR19IU19FWElUXSA9IDB4MGIsCisJW1BIWVRJTUlOR19DTEtfUFJFUEFS RV0gPSAweDA3LAorCVtQSFlUSU1JTkdfQ0xLX1pFUk9dID0gMHgyNiwKKwlbUEhZVElNSU5HX0NM S19QT1NUXSA9IDB4MGQsCisJW1BIWVRJTUlOR19DTEtfVFJBSUxdID0gMHgwOCwKKwlbUEhZVElN SU5HX0hTX1BSRVBBUkVdID0gMHgwOCwKKwlbUEhZVElNSU5HX0hTX1pFUk9dID0gMHgwZCwKKwlb UEhZVElNSU5HX0hTX1RSQUlMXSA9IDB4MGIsCit9OworCitzdGF0aWMgaW50IGlteF9kc2ltX2hv c3RfYXR0YWNoKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgIHN0cnVjdCBtaXBpX2RzaV9kZXZp Y2UgKmRldmljZSkKK3sKKwlzdHJ1Y3QgaW14X2RzaW1fcHJpdiAqZHNpID0gZGV2X2dldF9kcnZk YXRhKGRldik7CisJc3RydWN0IGRybV9kZXZpY2UgKmRybSA9IGRzaS0+ZW5jb2Rlci5kZXY7CisK KwlpZiAoZHJtLT5tb2RlX2NvbmZpZy5wb2xsX2VuYWJsZWQpCisJCWRybV9rbXNfaGVscGVyX2hv dHBsdWdfZXZlbnQoZHJtKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGlteF9kc2lt X2hvc3RfZGV0YWNoKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgIHN0cnVjdCBtaXBpX2RzaV9k ZXZpY2UgKmRldmljZSkKK3sKKwlzdHJ1Y3QgaW14X2RzaW1fcHJpdiAqZHNpID0gZGV2X2dldF9k cnZkYXRhKGRldik7CisJc3RydWN0IGRybV9kZXZpY2UgKmRybSA9IGRzaS0+ZW5jb2Rlci5kZXY7 CisKKwlpZiAoZHJtLT5tb2RlX2NvbmZpZy5wb2xsX2VuYWJsZWQpCisJCWRybV9rbXNfaGVscGVy X2hvdHBsdWdfZXZlbnQoZHJtKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgY29uc3Qgc3Ry dWN0IHNhbXN1bmdfZHNpbV9ob3N0X29wcyBpbXhfZHNpbV9ob3N0X29wcyA9IHsKKwkuYXR0YWNo ID0gaW14X2RzaW1faG9zdF9hdHRhY2gsCisJLmRldGFjaCA9IGlteF9kc2ltX2hvc3RfZGV0YWNo LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzYW1zdW5nX2RzaW1fZHJpdmVyX2RhdGEgaW14 OG1tX2RzaV9kcml2ZXJfZGF0YSA9IHsKKwkucmVnX29mcyA9IEVYWU5PUzU0MzNfUkVHX09GUywK KwkucGxsdG1yX3JlZyA9IDB4YTAsCisJLmhhc19jbGtsYW5lX3N0b3AgPSAxLAorCS5udW1fY2xr cyA9IDIsCisJLm1heF9mcmVxID0gMjEwMCwKKwkud2FpdF9mb3JfcmVzZXQgPSAwLAorCS5udW1f Yml0c19yZXNvbCA9IDEyLAorCS5yZWdfdmFsdWVzID0gaW14OG1tX2RzaW1fcmVnX3ZhbHVlcywK KwkuaG9zdF9vcHMgPSAmaW14X2RzaW1faG9zdF9vcHMsCit9OworCitzdGF0aWMgY29uc3Qgc3Ry dWN0IG9mX2RldmljZV9pZCBpbXhfZHNpbV9vZl9tYXRjaFtdID0geworCXsgLmNvbXBhdGlibGUg PSAiZnNsLGlteDhtbS1taXBpLWRzaW0iLAorCSAgLmRhdGEgPSAmaW14OG1tX2RzaV9kcml2ZXJf ZGF0YSB9LAorCXsgfQorfTsKKworc3RhdGljIGludCBpbXhfZHNpbV9wcm9iZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBpbXhfZHNpbV9wcml2ICpkc2k7CisJc3Ry dWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRldjsKKworCWRzaSA9IGRldm1fa3phbGxvYyhkZXYs IHNpemVvZigqZHNpKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFkc2kpCisJCXJldHVybiAtRU5PTUVN OworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGRzaSk7CisKKwlkc2ktPmRzaSA9IHNhbXN1 bmdfZHNpbV9wcm9iZShwZGV2KTsKKwlpZiAoSVNfRVJSKGRzaS0+ZHNpKSkKKwkJcmV0dXJuIFBU Ul9FUlIoZHNpLT5kc2kpOworCisJcG1fcnVudGltZV9lbmFibGUoZGV2KTsKKworCXJldHVybiAw OworfQorCitzdGF0aWMgaW50IGlteF9kc2ltX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQoreworCXN0cnVjdCBpbXhfZHNpbV9wcml2ICpkc2kgPSBwbGF0Zm9ybV9nZXRfZHJ2 ZGF0YShwZGV2KTsKKworCXBtX3J1bnRpbWVfZGlzYWJsZSgmcGRldi0+ZGV2KTsKKworCXNhbXN1 bmdfZHNpbV9yZW1vdmUoZHNpLT5kc2kpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQg X19tYXliZV91bnVzZWQgaW14X2RzaW1fc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJ c3RydWN0IGlteF9kc2ltX3ByaXYgKmRzaSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCisJcmV0 dXJuIHNhbXN1bmdfZHNpbV9zdXNwZW5kKGRzaS0+ZHNpKTsKK30KKworc3RhdGljIGludCBfX21h eWJlX3VudXNlZCBpbXhfZHNpbV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQoreworCXN0cnVj dCBpbXhfZHNpbV9wcml2ICpkc2kgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKworCXJldHVybiBz YW1zdW5nX2RzaW1fcmVzdW1lKGRzaS0+ZHNpKTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBk ZXZfcG1fb3BzIGlteF9kc2ltX3BtX29wcyA9IHsKKwlTRVRfUlVOVElNRV9QTV9PUFMoaW14X2Rz aW1fc3VzcGVuZCwgaW14X2RzaW1fcmVzdW1lLCBOVUxMKQorCVNFVF9TWVNURU1fU0xFRVBfUE1f T1BTKHBtX3J1bnRpbWVfZm9yY2Vfc3VzcGVuZCwKKwkJCQlwbV9ydW50aW1lX2ZvcmNlX3Jlc3Vt ZSkKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGlteF9kc2ltX2RyaXZlciA9 IHsKKwkucHJvYmUgPSBpbXhfZHNpbV9wcm9iZSwKKwkucmVtb3ZlID0gaW14X2RzaW1fcmVtb3Zl LAorCS5kcml2ZXIgPSB7CisJCSAgIC5uYW1lID0gImlteC1kc2ltLWRzaSIsCisJCSAgIC5vd25l ciA9IFRISVNfTU9EVUxFLAorCQkgICAucG0gPSAmaW14X2RzaW1fcG1fb3BzLAorCQkgICAub2Zf bWF0Y2hfdGFibGUgPSBpbXhfZHNpbV9vZl9tYXRjaCwKKwl9LAorfTsKKworbW9kdWxlX3BsYXRm b3JtX2RyaXZlcihpbXhfZHNpbV9kcml2ZXIpOworCitNT0RVTEVfQVVUSE9SKCJNYXJlayBWYXN1 dCA8bWFyZXhAZGVueC5kZT4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiTlhQIGkuTVg4TSBTb0Mg TUlQSSBEU0kiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2Uvc2Ftc3VuZy1kc2ltLmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L3NhbXN1bmctZHNpbS5jCmluZGV4IDQyYjQ5NTQ2ZGQwMC4uMTJhZWNlYjQwNDUwIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NhbXN1bmctZHNpbS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9icmlkZ2Uvc2Ftc3VuZy1kc2ltLmMKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRl IDxkcm0vZHJtX2JyaWRnZS5oPgogI2luY2x1ZGUgPGRybS9kcm1fZmJfaGVscGVyLmg+CiAjaW5j bHVkZSA8ZHJtL2RybV9taXBpX2RzaS5oPgorI2luY2x1ZGUgPGRybS9kcm1fb2YuaD4KICNpbmNs dWRlIDxkcm0vZHJtX3BhbmVsLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9wcmludC5oPgogI2luY2x1 ZGUgPGRybS9kcm1fcHJvYmVfaGVscGVyLmg+CkBAIC0xMzg4LDggKzEzODksMTUgQEAgc3RhdGlj IGludCBzYW1zdW5nX2RzaW1fYnJpZGdlX2F0dGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdl LAogewogCXN0cnVjdCBzYW1zdW5nX2RzaW0gKmRzaSA9IGJyaWRnZS0+ZHJpdmVyX3ByaXZhdGU7 CiAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyID0gYnJpZGdlLT5lbmNvZGVyOworCXN0cnVj dCBkZXZpY2UgKmRldiA9IGRzaS0+ZGV2OworCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBkZXYt Pm9mX25vZGU7CiAJaW50IHJldDsKIAorCXJldCA9IGRybV9vZl9maW5kX3BhbmVsX29yX2JyaWRn ZShucCwgMSwgMCwKKwkJCQkJICAmZHNpLT5wYW5lbCwgJmRzaS0+b3V0X2JyaWRnZSk7CisJaWYg KHJldCkKKwkJcmV0dXJuIHJldDsKKwogCWlmICghZHNpLT5vdXRfYnJpZGdlICYmICFkc2ktPnBh bmVsKQogCQlyZXR1cm4gLUVQUk9CRV9ERUZFUjsKIApAQCAtMTM5OCw3ICsxNDA2LDYgQEAgc3Rh dGljIGludCBzYW1zdW5nX2RzaW1fYnJpZGdlX2F0dGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJp ZGdlLAogCQkJCQlicmlkZ2UsIGZsYWdzKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7Ci0J CWxpc3Rfc3BsaWNlX2luaXQoJmVuY29kZXItPmJyaWRnZV9jaGFpbiwgJmRzaS0+YnJpZGdlX2No YWluKTsKIAl9IGVsc2UgewogCQlyZXQgPSBzYW1zdW5nX2RzaW1fY3JlYXRlX2Nvbm5lY3Rvcihk c2kpOwogCQlpZiAocmV0KQpAQCAtMTQ1NiwxOCArMTQ2MywzMSBAQCBzdGF0aWMgdm9pZCBzYW1z dW5nX2RzaW1fYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCiAJZHJt X21vZGVfY29weSgmZHNpLT5tb2RlLCBhZGp1c3RlZF9tb2RlKTsKIH0KIAorc3RhdGljIGJvb2wg c2Ftc3VuZ19kc2ltX2JyaWRnZV9tb2RlX2ZpeHVwKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2Us CisJCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAorCQkJCQkgICBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKK3sKKwkvKiBBdCBsZWFzdCBM Q0RJRiArIERTSU0gbmVlZHMgYWN0aXZlIGxvdyBzeW5jICovCisJYWRqdXN0ZWRfbW9kZS0+Zmxh Z3MgfD0gKERSTV9NT0RFX0ZMQUdfTkhTWU5DIHwgRFJNX01PREVfRkxBR19OVlNZTkMpOworCWFk anVzdGVkX21vZGUtPmZsYWdzICY9IH4oRFJNX01PREVfRkxBR19QSFNZTkMgfCBEUk1fTU9ERV9G TEFHX1BWU1lOQyk7CisKKwlyZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fYnJpZGdlX2Z1bmNzIHNhbXN1bmdfZHNpbV9icmlkZ2VfZnVuY3MgPSB7CiAJLmF0dGFjaCA9 IHNhbXN1bmdfZHNpbV9icmlkZ2VfYXR0YWNoLAogCS5kZXRhY2ggPSBzYW1zdW5nX2RzaW1fYnJp ZGdlX2RldGFjaCwKIAkuZW5hYmxlID0gc2Ftc3VuZ19kc2ltX2JyaWRnZV9lbmFibGUsCiAJLmRp c2FibGUgPSBzYW1zdW5nX2RzaW1fYnJpZGdlX2Rpc2FibGUsCiAJLm1vZGVfc2V0ID0gc2Ftc3Vu Z19kc2ltX2JyaWRnZV9tb2RlX3NldCwKKwkubW9kZV9maXh1cCA9IHNhbXN1bmdfZHNpbV9icmlk Z2VfbW9kZV9maXh1cCwKIH07CiAKIHN0YXRpYyBpbnQgc2Ftc3VuZ19kc2ltX2hvc3RfYXR0YWNo KHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LAogCQkJCSAgICBzdHJ1Y3QgbWlwaV9kc2lfZGV2 aWNlICpkZXZpY2UpCiB7CiAJc3RydWN0IHNhbXN1bmdfZHNpbSAqZHNpID0gaG9zdF90b19kc2ko aG9zdCk7CisjaWYgMAogCWNvbnN0IHN0cnVjdCBzYW1zdW5nX2RzaW1faG9zdF9vcHMgKm9wcyA9 IGRzaS0+ZHJpdmVyX2RhdGEtPmhvc3Rfb3BzOwogCXN0cnVjdCBkcm1fYnJpZGdlICpvdXRfYnJp ZGdlOwogCkBAIC0xNDkzLDEzICsxNTEzLDE2IEBAIHN0YXRpYyBpbnQgc2Ftc3VuZ19kc2ltX2hv c3RfYXR0YWNoKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LAogCQlpZiAocmV0KQogCQkJcmV0 dXJuIHJldDsKIAl9CisjZW5kaWYKIAogCWRzaS0+bGFuZXMgPSBkZXZpY2UtPmxhbmVzOwogCWRz aS0+Zm9ybWF0ID0gZGV2aWNlLT5mb3JtYXQ7CiAJZHNpLT5tb2RlX2ZsYWdzID0gZGV2aWNlLT5t b2RlX2ZsYWdzOwogCisjaWYgMAogCWlmIChvcHMgJiYgb3BzLT5hdHRhY2gpCiAJCW9wcy0+YXR0 YWNoKGRzaS0+ZHNpX2hvc3QuZGV2LCBkZXZpY2UpOworI2VuZGlmCiAKIAlyZXR1cm4gMDsKIH0K LS0gCjIuMjguMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LWFybS1rZXJuZWwK