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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 3BD35106ACCF for ; Thu, 12 Mar 2026 16:48:12 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 63E6510EA6D; Thu, 12 Mar 2026 16:48:11 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="bRi0+mSu"; dkim-atps=neutral Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2491F10E9DD for ; Thu, 12 Mar 2026 11:55:19 +0000 (UTC) Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-4327790c4e9so725671f8f.2 for ; Thu, 12 Mar 2026 04:55:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773316518; x=1773921318; darn=lists.freedesktop.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=zJ51pF+yefCyM47+DFkZmWWHtm2Vln7aBCXDpF0opWE=; b=bRi0+mSu9l0AyCtZ1+Hm36JDES1i9qRbmKQ+rss5KjplEENmmHtJ8rPrF12TPh4qAz 8KkO9VEO1X4oEcSjoS9wvzAnq69qeL2ghLFGWnZLA41u2Qbfdi51FA3AtcFNW6rD5tI2 6l48V8307AWDIeuJiJr3Zh8f9N2g31AqKUlDDF7WPqwFgewHtBPbmfsHsMTU8McsHFXK M+Pz9f/JeY3gyhIHWknzEkCODVdKM5x8kNrPYpKQ2jhe/TC+hW7GMdNf6ut9zqAqTWcv 3Mw/jxJ27OEvzGzLhcM5iatSrnVvQIdVCBmD9DbTTI1vsx7f/BdVK2qeuRCAQxV1Fswf 5qLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773316518; x=1773921318; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=zJ51pF+yefCyM47+DFkZmWWHtm2Vln7aBCXDpF0opWE=; b=T9sBpKRweUoBSIELKWjfmSpXNOprnPpJcQfpG87O9+NGBL+2lIcLywI259ykqc9weJ L9F9Xo8DGqCYRF/OOIpR7CgG3G5vX/IqLSlz6MZWxhdruRyz5W2NszW5ztWgU3W1FDD2 1vpRxyMdwRMv2dggOi+5bCD7Zf1k4LMXlO+1Rs9mnfozZlNtZ7N67fqHrtEmgwl2Kh1Y rlhV9sUnwZrsfla16soQWR/etf/GL8jfYeHftXEAwdoutrSqknL/04pV3xySprlfioK+ t/K+g43Xe2AkCgep3zzCuNAsgwIzZc5xyLOekarmrSsGXNHtU9TskV91xDwGB4axFDYw Rn/A== X-Forwarded-Encrypted: i=1; AJvYcCXEPLjyt83JNzbIAJDDLie+MhfCw2YoO1ohTgWhQW2vl1TYanUFJexQIQx3gtnRKTj96AtmfI1Fvmk=@lists.freedesktop.org X-Gm-Message-State: AOJu0Yz7oA9MGEsUiIhPDWlrzusVUoBVAT/NizXJTbko8H7NiLhJUlgi n439KzGBdONS2jgWDak/E5evo2M59yAZmycWbGRy4IdlrnZnto0Iw4eh X-Gm-Gg: ATEYQzwrzq63kUCLzuP5nchPC7skZ1Myn7enhCiyIR7MA9sCMWUWBT/ebslElRjjDfN k8Fyx+p8tSxf5XXKi2XGIhkkD1hpPthLdYUTBQuNOM1ZpLlxOOc+7ueByuz8b/RBLtsUmoVeidw GzxXl7OwVE4sR8CgYGbvPUbOcAovj1eed56nrkiJFIM3uzMHjNoUns5ixmnNDemcaIsTzceG7aA k6tjXy8l7+rv6dwFf9d5kPRVvONUFXK/J5SvNbk/ed1FjT+YU6Z35tabieX/UG6k48hUsQ/FCEs Aak4Vj5VNGZJ7sN+hKk3LFTcXOCqlcJMffGSgsKJM+K7BGS42PN9p4eNwM4LXK06+MGsj9RIOm4 rv0ezIJ985nRi7mUKjOnBPEAeOj/dfuaoCe2jLfGtkCtYHiUyzWxNmH+FNGaZkAMpdMZwL1j6hf 3+VKIiIilOIi/Hn+OYF/7BmEpM3E+Nn00riIwDOxrm2Qhyk34ei0GAkjgIOdaSDo1Wz8rtINXpd w== X-Received: by 2002:a05:6000:40de:b0:439:ca7b:f4b with SMTP id ffacd0b85a97d-439f8414530mr11409322f8f.50.1773316517405; Thu, 12 Mar 2026 04:55:17 -0700 (PDT) Received: from [10.100.102.17] (89-139-129-65.bb.netvision.net.il. [89.139.129.65]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439fe22529csm7058657f8f.31.2026.03.12.04.55.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Mar 2026 04:55:16 -0700 (PDT) From: Yedaya Katsman Date: Thu, 12 Mar 2026 13:55:09 +0200 Subject: [PATCH v3 2/3] drm: panel: Add Samsung S6E8FCO DSI controller for M1906F9 panel MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-Id: <20260312-panel-patches-v3-2-6ed8c006d0be@gmail.com> References: <20260312-panel-patches-v3-0-6ed8c006d0be@gmail.com> In-Reply-To: <20260312-panel-patches-v3-0-6ed8c006d0be@gmail.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , =?utf-8?q?Kamil_Go=C5=82da?= , Bjorn Andersson , Konrad Dybcio Cc: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Yedaya Katsman X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773316510; l=12761; i=yedaya.ka@gmail.com; s=20260113; h=from:subject:message-id; bh=m4dKAXdAH6DYSmhToOzqTyXzvgKyMUu2UsuHl6U3UaQ=; b=rJYnfQSIS0E8j9XCSofc3ODo4LiOjStxPf2kfWQ6KZPAPJoehQ0NFRs+39xmYLPNFHsb1tZc/ gtCm99/Ycn4CZdHvXUHUF28LiougZ0rZs1jF9UknyUKAD+0l/9/kapJ X-Developer-Key: i=yedaya.ka@gmail.com; a=ed25519; pk=CgNmxD3tYSws5dZfpmJfc6re/bV/f47veVijddHLytk= X-Mailman-Approved-At: Thu, 12 Mar 2026 16:48:06 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" QWRkIGRyaXZlciBmb3IgU2Ftc3VuZyBTNkU4RkNPIERTSSBjb250cm9sbGVyIGZvciBNMTkwNkY5 IHZpZGVvIG1vZGUgcGFuZWwsCmZvdW5kIGluIFhpYW9taSBNaSBBMyBtb2JpbGUgcGhvbmUuCgpD by1kZXZlbG9wZWQtYnk6IEthbWlsIEdvxYJkYSA8a2FtaWwuZ29sZGFAcHJvdG9ubWFpbC5jb20+ ClNpZ25lZC1vZmYtYnk6IEthbWlsIEdvxYJkYSA8a2FtaWwuZ29sZGFAcHJvdG9ubWFpbC5jb20+ ClNpZ25lZC1vZmYtYnk6IFllZGF5YSBLYXRzbWFuIDx5ZWRheWEua2FAZ21haWwuY29tPgotLS0K IE1BSU5UQUlORVJTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAx ICsKIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgIHwg IDEzICsKIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAg IHwgICAxICsKIC4uLi9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlOGZjby1tMTkwNmY5 LmMgIHwgMzAyICsrKysrKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAzMTcgaW5z ZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL01BSU5UQUlORVJTIGIvTUFJTlRBSU5FUlMKaW5kZXgg ZDdhZWU4ZGFiOTAzY2Q0MmMyNDVmZWEzY2Y4OTcxZGNkOTliMjE5Ni4uZDAwNzc1YTA5NDQ1YThh MWJkNjI2ZWNmZDI3OTAzNDcxZDA4ZDMzYSAxMDA2NDQKLS0tIGEvTUFJTlRBSU5FUlMKKysrIGIv TUFJTlRBSU5FUlMKQEAgLTgxODcsNiArODE4Nyw3IEBAIERSTSBEUklWRVIgRk9SIFNBTVNVTkcg UzZFOEZDTyBQQU5FTFMKIE06CVllZGF5YSBLYXRzbWFuIDx5ZWRheWEua2FAZ21haWwuY29tPgog UzoJTWFpbnRhaW5lZAogRjoJRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3Bs YXkvcGFuZWwvc2Ftc3VuZyxzNmU4ZmNvLW0xOTA2ZjkueWFtbAorRjoJZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLXNhbXN1bmctczZlOGZjby1tMTkwNmY5LmMKIAogRFJNIERSSVZFUiBGT1Ig U0FNU1VORyBTT0ZFRjAwIERESUMKIE06CURhdmlkIEhlaWRlbGJlcmcgPGRhdmlkQGl4aXQuY3o+ CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvS2NvbmZpZyBiL2RyaXZlcnMvZ3B1 L2RybS9wYW5lbC9LY29uZmlnCmluZGV4IDdhODM4MDRmZWRjYTFiNjg4Y2U2ZmJlNDI5NWVjOTAw OTAwN2U2OTMuLmVlOWNjNjkzOWYyYWMxZGM0NTQyNTYzZmQ3M2Y2OGFjNWY5ZWUzNzEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9LY29uZmlnCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9LY29uZmlnCkBAIC04OTMsNiArODkzLDE5IEBAIGNvbmZpZyBEUk1fUEFORUxfU0FN U1VOR19TNkU4QUE1WDAxX0FNUzU2MVJBMDEKIAkgIH41LjYgaW5jaCBBTU9MRUQgZGlzcGxheSwg YW5kIHRoZSBjb250cm9sbGVyIGlzIGRyaXZlbiBieSB0aGUgTUlQSQogCSAgRFNJIHByb3RvY29s IHdpdGggNCBsYW5lcy4KIAorY29uZmlnIERSTV9QQU5FTF9TQU1TVU5HX1M2RThGQ09fTTE5MDZG OQorCXRyaXN0YXRlICJTYW1zdW5nIE0xOTA2RjkgcGFuZWwgd2l0aCBTNkU4RkNPIERTSSBjb250 cm9sbGVyIgorCWRlcGVuZHMgb24gT0YKKwlkZXBlbmRzIG9uIEJBQ0tMSUdIVF9DTEFTU19ERVZJ Q0UKKwlzZWxlY3QgRFJNX01JUElfRFNJCisJc2VsZWN0IFZJREVPTU9ERV9IRUxQRVJTCisJaGVs cAorCSAgU2F5IFkgb3IgTSBoZXJlIGlmIHlvdSB3YW50IHRvIGVuYWJsZSBzdXBwb3J0IGZvciB0 aGUgU2Ftc3VuZyB2aWRlbworCSAgbW9kZSBwYW5lbCBNMTkwNkY5IChNMTkwNkY5U0ggb3IgTTE5 MDZGOVNJKSwgd2hpY2ggdXNlcyB0aGUgU2Ftc3VuZworCSAgUzZFOEZDTyBEU0kgY29udHJvbGxl ci4gVGhlIHBhbmVsIGhhcyBhIDYuMDkgaW5jaCBBTU9MRUQgZGlzcGxheSwKKwkgIHdpdGggYSBy ZXNvbHV0aW9uIG9mIDcyMHgxNTYwLgorCSAgRm91bmQgaW4gdGhlIFhpYW9taSBNaSBBMyBzbWFy dHBob25lICh4aWFvbWktbGF1cmVsKS4KKwogY29uZmlnIERSTV9QQU5FTF9TQU1TVU5HX1NPRkVG MDAKIAl0cmlzdGF0ZSAiU2Ftc3VuZyBTT0ZFRjAwIERTSSBwYW5lbCBjb250cm9sbGVyIgogCWRl cGVuZHMgb24gT0YKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9NYWtlZmlsZSBi L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9NYWtlZmlsZQppbmRleCBiOTU2MmE2ZmRjYjM4YmZkMGRm ZWU5ZThjMTFlMTYxNDlhZGE0Mzg2Li4xOWUxZTg5OGRmZDRhZjJkMzRlYWZlN2E2ZGVkNWFkNzRm YzdlZTA0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvTWFrZWZpbGUKKysrIGIv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL01ha2VmaWxlCkBAIC05MSw2ICs5MSw3IEBAIG9iai0kKENP TkZJR19EUk1fUEFORUxfU0FNU1VOR19TNkU4OEEwX0FNUzQyN0FQMjQpICs9IHBhbmVsLXNhbXN1 bmctczZlODhhMC1hbXM0CiBvYmotJChDT05GSUdfRFJNX1BBTkVMX1NBTVNVTkdfUzZFODhBMF9B TVM0NTJFRjAxKSArPSBwYW5lbC1zYW1zdW5nLXM2ZTg4YTAtYW1zNDUyZWYwMS5vCiBvYmotJChD T05GSUdfRFJNX1BBTkVMX1NBTVNVTkdfUzZFOEFBMCkgKz0gcGFuZWwtc2Ftc3VuZy1zNmU4YWEw Lm8KIG9iai0kKENPTkZJR19EUk1fUEFORUxfU0FNU1VOR19TNkU4QUE1WDAxX0FNUzU2MVJBMDEp ICs9IHBhbmVsLXNhbXN1bmctczZlOGFhNXgwMS1hbXM1NjFyYTAxLm8KK29iai0kKENPTkZJR19E Uk1fUEFORUxfU0FNU1VOR19TNkU4RkNPX00xOTA2RjkpICs9IHBhbmVsLXNhbXN1bmctczZlOGZj by1tMTkwNmY5Lm8KIG9iai0kKENPTkZJR19EUk1fUEFORUxfU0FNU1VOR19TT0ZFRjAwKSArPSBw YW5lbC1zYW1zdW5nLXNvZmVmMDAubwogb2JqLSQoQ09ORklHX0RSTV9QQU5FTF9TRUlLT180M1dW RjFHKSArPSBwYW5lbC1zZWlrby00M3d2ZjFnLm8KIG9iai0kKENPTkZJR19EUk1fUEFORUxfU0hB UlBfTFEwNzlMMVNYMDEpICs9IHBhbmVsLXNoYXJwLWxxMDc5bDFzeDAxLm8KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZThmY28tbTE5MDZmOS5jIGIv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlOGZjby1tMTkwNmY5LmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMC4uY2NmMThkYTU5MjcxZGM0OTI2YTUzNmY3OTVhMzhkOGVhZTM0OWUwMAotLS0gL2Rl di9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZThmY28t bTE5MDZmOS5jCkBAIC0wLDAgKzEsMzAyIEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMC1vbmx5CisvLyBDb3B5cmlnaHQgKGMpIEthbWlsIEdvxYJkYSA8a2FtaWwuZ29sZGFA cHJvdG9ubWFpbC5jb20+CisvLyBDb3B5cmlnaHQgKGMpIFllZGF5YSBLYXRzbWFuIDx5ZWRheWEu a2FAZ21haWwuY29tPgorLy8gR2VuZXJhdGVkIHdpdGggbGludXgtbWRzcy1kc2ktcGFuZWwtZHJp dmVyLWdlbmVyYXRvciBmcm9tIHZlbmRvciBkZXZpY2UgdHJlZToKKy8vICAgQ29weXJpZ2h0IChj KSBUaGUgTGludXggRm91bmRhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworI2luY2x1ZGUg PGxpbnV4L2JhY2tsaWdodC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8 bGludXgvZ3Bpby9jb25zdW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L21vZF9kZXZpY2V0YWJsZS5o PgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3JlZ3VsYXRvci9j b25zdW1lci5oPgorCisjaW5jbHVkZSA8dmlkZW8vbWlwaV9kaXNwbGF5Lmg+CisKKyNpbmNsdWRl IDxkcm0vZHJtX21pcGlfZHNpLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9tb2Rlcy5oPgorI2luY2x1 ZGUgPGRybS9kcm1fcGFuZWwuaD4KKyNpbmNsdWRlIDxkcm0vZHJtX3Byb2JlX2hlbHBlci5oPgor CitzdHJ1Y3QgczZlOGZjb19tMTkwNmY5X2N0eCB7CisJc3RydWN0IGRybV9wYW5lbCBwYW5lbDsK KwlzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2k7CisJc3RydWN0IHJlZ3VsYXRvcl9idWxrX2Rh dGEgKnN1cHBsaWVzOworCXN0cnVjdCBncGlvX2Rlc2MgKnJlc2V0X2dwaW87Cit9OworCitzdGF0 aWMgY29uc3Qgc3RydWN0IHJlZ3VsYXRvcl9idWxrX2RhdGEgczZlOGZjb19tMTkwNmY5X3N1cHBs aWVzW10gPSB7CisJeyAuc3VwcGx5ID0gInZkZGkiIH0sCisJeyAuc3VwcGx5ID0gInZjaSIgfSwK K307CisKK3N0YXRpYyBpbmxpbmUKK3N0cnVjdCBzNmU4ZmNvX20xOTA2ZjlfY3R4ICp0b19zNmU4 ZmNvX20xOTA2ZjlfY3R4KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQoreworCXJldHVybiBjb250 YWluZXJfb2ZfY29uc3QocGFuZWwsIHN0cnVjdCBzNmU4ZmNvX20xOTA2ZjlfY3R4LCBwYW5lbCk7 Cit9CisKK3N0YXRpYyB2b2lkIHM2ZThmY29fbTE5MDZmOV9yZXNldChzdHJ1Y3QgczZlOGZjb19t MTkwNmY5X2N0eCAqY3R4KQoreworCWdwaW9kX3NldF92YWx1ZV9jYW5zbGVlcChjdHgtPnJlc2V0 X2dwaW8sIDApOworCXVzbGVlcF9yYW5nZSgxMjAwMCwgMTMwMDApOworCWdwaW9kX3NldF92YWx1 ZV9jYW5zbGVlcChjdHgtPnJlc2V0X2dwaW8sIDEpOworCXVzbGVlcF9yYW5nZSgyMDAwLCAzMDAw KTsKKwlncGlvZF9zZXRfdmFsdWVfY2Fuc2xlZXAoY3R4LT5yZXNldF9ncGlvLCAwKTsKKwl1c2xl ZXBfcmFuZ2UoMTAwMDAsIDExMDAwKTsKK30KKworI2RlZmluZSBzNmU4ZmNvX20xOTA2ZjlfdGVz dF9rZXlfb25fbHZsMihjdHgpIFwKKwltaXBpX2RzaV9kY3Nfd3JpdGVfc2VxX211bHRpKGN0eCwg MHhmMCwgMHg1YSwgMHg1YSkKKyNkZWZpbmUgczZlOGZjb19tMTkwNmY5X3Rlc3Rfa2V5X29mZl9s dmwyKGN0eCkgXAorCW1pcGlfZHNpX2Rjc193cml0ZV9zZXFfbXVsdGkoY3R4LCAweGYwLCAweGE1 LCAweGE1KQorI2RlZmluZSBzNmU4ZmNvX20xOTA2ZjlfdGVzdF9rZXlfb25fbHZsMyhjdHgpIFwK KwltaXBpX2RzaV9kY3Nfd3JpdGVfc2VxX211bHRpKGN0eCwgMHhmYywgMHg1YSwgMHg1YSkKKyNk ZWZpbmUgczZlOGZjb19tMTkwNmY5X3Rlc3Rfa2V5X29mZl9sdmwzKGN0eCkgXAorCW1pcGlfZHNp X2Rjc193cml0ZV9zZXFfbXVsdGkoY3R4LCAweGZjLCAweGE1LCAweGE1KQorCitzdGF0aWMgaW50 IHM2ZThmY29fbTE5MDZmOV9vbihzdHJ1Y3QgczZlOGZjb19tMTkwNmY5X2N0eCAqY3R4KQorewor CXN0cnVjdCBtaXBpX2RzaV9tdWx0aV9jb250ZXh0IGRzaV9jdHggPSB7IC5kc2kgPSBjdHgtPmRz aSB9OworCisJczZlOGZjb19tMTkwNmY5X3Rlc3Rfa2V5X29uX2x2bDMoJmRzaV9jdHgpOworCisJ bWlwaV9kc2lfZGNzX3NldF9kaXNwbGF5X2JyaWdodG5lc3NfbXVsdGkoJmRzaV9jdHgsIDB4MDAw MCk7CisJbWlwaV9kc2lfZGNzX3dyaXRlX3NlcV9tdWx0aSgmZHNpX2N0eCwgTUlQSV9EQ1NfV1JJ VEVfQ09OVFJPTF9ESVNQTEFZLAorCQkJCSAgICAgMHgyMCk7CisJbWlwaV9kc2lfZGNzX2V4aXRf c2xlZXBfbW9kZV9tdWx0aSgmZHNpX2N0eCk7CisJbWlwaV9kc2lfbXNsZWVwKCZkc2lfY3R4LCA1 MCk7CisJbWlwaV9kc2lfZGNzX3NldF9kaXNwbGF5X29uX211bHRpKCZkc2lfY3R4KTsKKworCW1p cGlfZHNpX2Rjc193cml0ZV9zZXFfbXVsdGkoJmRzaV9jdHgsIDB4YjAsIDB4MDQsIDB4ZWQpOwor CW1pcGlfZHNpX2Rjc193cml0ZV9zZXFfbXVsdGkoJmRzaV9jdHgsIDB4ZWQsCisJCQkJICAgICAw eGU0LCAweDA4LCAweDk2LCAweGE0LCAweDJhLCAweDcyLCAweGUyLAorCQkJCSAgICAgMHhjYSwg MHgwMCk7CisJczZlOGZjb19tMTkwNmY5X3Rlc3Rfa2V5X29mZl9sdmwzKCZkc2lfY3R4KTsKKwlz NmU4ZmNvX20xOTA2ZjlfdGVzdF9rZXlfb25fbHZsMigmZHNpX2N0eCk7CisJczZlOGZjb19tMTkw NmY5X3Rlc3Rfa2V5X29uX2x2bDMoJmRzaV9jdHgpOworCW1pcGlfZHNpX2Rjc193cml0ZV9zZXFf bXVsdGkoJmRzaV9jdHgsIDB4ZTEsIDB4OTMpOworCW1pcGlfZHNpX2Rjc193cml0ZV9zZXFfbXVs dGkoJmRzaV9jdHgsIDB4YjAsIDB4MDUsIDB4ZjQpOworCW1pcGlfZHNpX2Rjc193cml0ZV9zZXFf bXVsdGkoJmRzaV9jdHgsIDB4ZjQsIDB4MDMpOworCW1pcGlfZHNpX2Rjc193cml0ZV9zZXFfbXVs dGkoJmRzaV9jdHgsIDB4ZWQsIDB4MDEsIDB4ODEsIDB4MDQpOworCXM2ZThmY29fbTE5MDZmOV90 ZXN0X2tleV9vZmZfbHZsMigmZHNpX2N0eCk7CisJczZlOGZjb19tMTkwNmY5X3Rlc3Rfa2V5X29m Zl9sdmwzKCZkc2lfY3R4KTsKKworCXJldHVybiBkc2lfY3R4LmFjY3VtX2VycjsKK30KKworc3Rh dGljIGludCBzNmU4ZmNvX20xOTA2Zjlfb2ZmKHN0cnVjdCBzNmU4ZmNvX20xOTA2ZjlfY3R4ICpj dHgpCit7CisJc3RydWN0IG1pcGlfZHNpX211bHRpX2NvbnRleHQgZHNpX2N0eCA9IHsgLmRzaSA9 IGN0eC0+ZHNpIH07CisKKwltaXBpX2RzaV9kY3Nfc2V0X2Rpc3BsYXlfb2ZmX211bHRpKCZkc2lf Y3R4KTsKKwltaXBpX2RzaV9tc2xlZXAoJmRzaV9jdHgsIDIwKTsKKwltaXBpX2RzaV9kY3NfZW50 ZXJfc2xlZXBfbW9kZV9tdWx0aSgmZHNpX2N0eCk7CisJbWlwaV9kc2lfbXNsZWVwKCZkc2lfY3R4 LCAxMjApOworCisJcmV0dXJuIGRzaV9jdHguYWNjdW1fZXJyOworfQorCitzdGF0aWMgaW50IHM2 ZThmY29fbTE5MDZmOV9wcmVwYXJlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQoreworCXN0cnVj dCBzNmU4ZmNvX20xOTA2ZjlfY3R4ICpjdHggPSB0b19zNmU4ZmNvX20xOTA2ZjlfY3R4KHBhbmVs KTsKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmY3R4LT5kc2ktPmRldjsKKwlpbnQgcmV0OworCisJ cmV0ID0gcmVndWxhdG9yX2J1bGtfZW5hYmxlKEFSUkFZX1NJWkUoczZlOGZjb19tMTkwNmY5X3N1 cHBsaWVzKSwgY3R4LT5zdXBwbGllcyk7CisJaWYgKHJldCA8IDApIHsKKwkJZGV2X2VycihkZXYs ICJGYWlsZWQgdG8gZW5hYmxlIHJlZ3VsYXRvcnM6ICVkXG4iLCByZXQpOworCQlyZXR1cm4gcmV0 OworCX0KKworCXM2ZThmY29fbTE5MDZmOV9yZXNldChjdHgpOworCisJcmV0ID0gczZlOGZjb19t MTkwNmY5X29uKGN0eCk7CisJaWYgKHJldCA8IDApIHsKKwkJZGV2X2VycihkZXYsICJGYWlsZWQg dG8gaW5pdGlhbGl6ZSBwYW5lbDogJWRcbiIsIHJldCk7CisJCWdwaW9kX3NldF92YWx1ZV9jYW5z bGVlcChjdHgtPnJlc2V0X2dwaW8sIDEpOworCQlyZWd1bGF0b3JfYnVsa19kaXNhYmxlKEFSUkFZ X1NJWkUoczZlOGZjb19tMTkwNmY5X3N1cHBsaWVzKSwgY3R4LT5zdXBwbGllcyk7CisJCXJldHVy biByZXQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczZlOGZjb19tMTkwNmY5 X3VucHJlcGFyZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKK3sKKwlzdHJ1Y3QgczZlOGZjb19t MTkwNmY5X2N0eCAqY3R4ID0gdG9fczZlOGZjb19tMTkwNmY5X2N0eChwYW5lbCk7CisJc3RydWN0 IGRldmljZSAqZGV2ID0gJmN0eC0+ZHNpLT5kZXY7CisJaW50IHJldDsKKworCXJldCA9IHM2ZThm Y29fbTE5MDZmOV9vZmYoY3R4KTsKKwlpZiAocmV0IDwgMCkKKwkJZGV2X2VycihkZXYsICJGYWls ZWQgdG8gdW4taW5pdGlhbGl6ZSBwYW5lbDogJWRcbiIsIHJldCk7CisKKwlncGlvZF9zZXRfdmFs dWVfY2Fuc2xlZXAoY3R4LT5yZXNldF9ncGlvLCAxKTsKKwlyZWd1bGF0b3JfYnVsa19kaXNhYmxl KEFSUkFZX1NJWkUoczZlOGZjb19tMTkwNmY5X3N1cHBsaWVzKSwgY3R4LT5zdXBwbGllcyk7CisK KwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIHM2 ZThmY29fbTE5MDZmOV9zYW1zdW5ncF9tb2RlID0geworCS5jbG9jayA9ICg3MjAgKyAzNTAgKyA0 MCArIDI5NCkgKiAoMTU2MCArIDE3ICsgMiArIDUpICogNjAgLyAxMDAwLAorCS5oZGlzcGxheSA9 IDcyMCwKKwkuaHN5bmNfc3RhcnQgPSA3MjAgKyAzNTAsCisJLmhzeW5jX2VuZCA9IDcyMCArIDM1 MCArIDQwLAorCS5odG90YWwgPSA3MjAgKyAzNTAgKyA0MCArIDI5NCwKKwkudmRpc3BsYXkgPSAx NTYwLAorCS52c3luY19zdGFydCA9IDE1NjAgKyAxNywKKwkudnN5bmNfZW5kID0gMTU2MCArIDE3 ICsgMiwKKwkudnRvdGFsID0gMTU2MCArIDE3ICsgMiArIDUsCisJLndpZHRoX21tID0gNjUsCisJ LmhlaWdodF9tbSA9IDE0MCwKKwkudHlwZSA9IERSTV9NT0RFX1RZUEVfRFJJVkVSLAorfTsKKwor c3RhdGljIGludCBzNmU4ZmNvX20xOTA2ZjlfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBh bmVsLAorCQkJCSAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCit7CisJcmV0 dXJuIGRybV9jb25uZWN0b3JfaGVscGVyX2dldF9tb2Rlc19maXhlZChjb25uZWN0b3IsICZzNmU4 ZmNvX20xOTA2Zjlfc2Ftc3VuZ3BfbW9kZSk7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJt X3BhbmVsX2Z1bmNzIHM2ZThmY29fbTE5MDZmOV9wYW5lbF9mdW5jcyA9IHsKKwkucHJlcGFyZSA9 IHM2ZThmY29fbTE5MDZmOV9wcmVwYXJlLAorCS51bnByZXBhcmUgPSBzNmU4ZmNvX20xOTA2Zjlf dW5wcmVwYXJlLAorCS5nZXRfbW9kZXMgPSBzNmU4ZmNvX20xOTA2ZjlfZ2V0X21vZGVzLAorfTsK Kworc3RhdGljIGludCBzNmU4ZmNvX20xOTA2ZjlfYmxfdXBkYXRlX3N0YXR1cyhzdHJ1Y3QgYmFj a2xpZ2h0X2RldmljZSAqYmwpCit7CisJc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpID0gYmxf Z2V0X2RhdGEoYmwpOworCXUxNiBicmlnaHRuZXNzID0gYmFja2xpZ2h0X2dldF9icmlnaHRuZXNz KGJsKTsKKwlpbnQgcmV0OworCisJZHNpLT5tb2RlX2ZsYWdzICY9IH5NSVBJX0RTSV9NT0RFX0xQ TTsKKworCXJldCA9IG1pcGlfZHNpX2Rjc19zZXRfZGlzcGxheV9icmlnaHRuZXNzX2xhcmdlKGRz aSwgYnJpZ2h0bmVzcyk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwlkc2ktPm1v ZGVfZmxhZ3MgfD0gTUlQSV9EU0lfTU9ERV9MUE07CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGlj IGludCBzNmU4ZmNvX20xOTA2ZjlfYmxfZ2V0X2JyaWdodG5lc3Moc3RydWN0IGJhY2tsaWdodF9k ZXZpY2UgKmJsKQoreworCXN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSA9IGJsX2dldF9kYXRh KGJsKTsKKwl1MTYgYnJpZ2h0bmVzczsKKwlpbnQgcmV0OworCisJZHNpLT5tb2RlX2ZsYWdzICY9 IH5NSVBJX0RTSV9NT0RFX0xQTTsKKworCXJldCA9IG1pcGlfZHNpX2Rjc19nZXRfZGlzcGxheV9i cmlnaHRuZXNzX2xhcmdlKGRzaSwgJmJyaWdodG5lc3MpOworCWlmIChyZXQgPCAwKQorCQlyZXR1 cm4gcmV0OworCisJZHNpLT5tb2RlX2ZsYWdzIHw9IE1JUElfRFNJX01PREVfTFBNOworCisJcmV0 dXJuIGJyaWdodG5lc3M7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYmFja2xpZ2h0X29wcyBz NmU4ZmNvX20xOTA2ZjlfYmxfb3BzID0geworCS51cGRhdGVfc3RhdHVzID0gczZlOGZjb19tMTkw NmY5X2JsX3VwZGF0ZV9zdGF0dXMsCisJLmdldF9icmlnaHRuZXNzID0gczZlOGZjb19tMTkwNmY5 X2JsX2dldF9icmlnaHRuZXNzLAorfTsKKworc3RhdGljIHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNl ICoKK3M2ZThmY29fbTE5MDZmOV9jcmVhdGVfYmFja2xpZ2h0KHN0cnVjdCBtaXBpX2RzaV9kZXZp Y2UgKmRzaSkKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmZHNpLT5kZXY7CisJY29uc3Qgc3Ry dWN0IGJhY2tsaWdodF9wcm9wZXJ0aWVzIHByb3BzID0geworCQkudHlwZSA9IEJBQ0tMSUdIVF9S QVcsCisJCS5icmlnaHRuZXNzID0gNTEyLAorCQkvLyBUaGUgZG93bnN0cmVhbSBkdHMgY2xhaW1z IDIwNDcsIGJ1dCBzZWVtcyB0byBpZ25vcmUgdGhlIE1TQi4KKwkJLm1heF9icmlnaHRuZXNzID0g MTAyMywKKwl9OworCisJcmV0dXJuIGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcihkZXYs IGRldl9uYW1lKGRldiksIGRldiwgZHNpLAorCQkJCQkgICAgICAmczZlOGZjb19tMTkwNmY5X2Js X29wcywgJnByb3BzKTsKK30KKworc3RhdGljIGludCBzNmU4ZmNvX20xOTA2ZjlfcHJvYmUoc3Ry dWN0IG1pcGlfZHNpX2RldmljZSAqZHNpKQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZkc2kt PmRldjsKKwlzdHJ1Y3QgczZlOGZjb19tMTkwNmY5X2N0eCAqY3R4OworCWludCByZXQ7CisKKwlj dHggPSBkZXZtX2RybV9wYW5lbF9hbGxvYyhkZXYsIHN0cnVjdCBzNmU4ZmNvX20xOTA2ZjlfY3R4 LCBwYW5lbCwKKwkJCQkgICAmczZlOGZjb19tMTkwNmY5X3BhbmVsX2Z1bmNzLAorCQkJCSAgIERS TV9NT0RFX0NPTk5FQ1RPUl9EU0kpOworCWlmIChJU19FUlIoY3R4KSkKKwkJcmV0dXJuIFBUUl9F UlIoY3R4KTsKKworCXJldCA9IGRldm1fcmVndWxhdG9yX2J1bGtfZ2V0X2NvbnN0KGRldiwKKwkJ CQkJICAgIEFSUkFZX1NJWkUoczZlOGZjb19tMTkwNmY5X3N1cHBsaWVzKSwKKwkJCQkJICAgIHM2 ZThmY29fbTE5MDZmOV9zdXBwbGllcywKKwkJCQkJICAgICZjdHgtPnN1cHBsaWVzKTsKKwlpZiAo cmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCWN0eC0+cmVzZXRfZ3BpbyA9IGRldm1fZ3Bpb2Rf Z2V0KGRldiwgInJlc2V0IiwgR1BJT0RfT1VUX0hJR0gpOworCWlmIChJU19FUlIoY3R4LT5yZXNl dF9ncGlvKSkKKwkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCBQVFJfRVJSKGN0eC0+cmVzZXRf Z3BpbyksCisJCQkJICAgICAiRmFpbGVkIHRvIGdldCByZXNldC1ncGlvc1xuIik7CisKKwljdHgt PmRzaSA9IGRzaTsKKwltaXBpX2RzaV9zZXRfZHJ2ZGF0YShkc2ksIGN0eCk7CisKKwlkc2ktPmxh bmVzID0gNDsKKwlkc2ktPmZvcm1hdCA9IE1JUElfRFNJX0ZNVF9SR0I4ODg7CisJZHNpLT5tb2Rl X2ZsYWdzID0gTUlQSV9EU0lfTU9ERV9WSURFTyB8IE1JUElfRFNJX01PREVfVklERU9fQlVSU1Qg fAorCQkJICBNSVBJX0RTSV9DTE9DS19OT05fQ09OVElOVU9VUzsKKworCWN0eC0+cGFuZWwucHJl cGFyZV9wcmV2X2ZpcnN0ID0gdHJ1ZTsKKworCWN0eC0+cGFuZWwuYmFja2xpZ2h0ID0gczZlOGZj b19tMTkwNmY5X2NyZWF0ZV9iYWNrbGlnaHQoZHNpKTsKKwlpZiAoSVNfRVJSKGN0eC0+cGFuZWwu YmFja2xpZ2h0KSkKKwkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCBQVFJfRVJSKGN0eC0+cGFu ZWwuYmFja2xpZ2h0KSwKKwkJCQkgICAgICJGYWlsZWQgdG8gY3JlYXRlIGJhY2tsaWdodFxuIik7 CisKKwlkcm1fcGFuZWxfYWRkKCZjdHgtPnBhbmVsKTsKKworCXJldCA9IG1pcGlfZHNpX2F0dGFj aChkc2kpOworCWlmIChyZXQgPCAwKSB7CisJCWRybV9wYW5lbF9yZW1vdmUoJmN0eC0+cGFuZWwp OworCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShkZXYsIHJldCwgIkZhaWxlZCB0byBhdHRhY2ggdG8g RFNJIGhvc3RcbiIpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBzNmU4ZmNv X20xOTA2ZjlfcmVtb3ZlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkKK3sKKwlzdHJ1Y3Qg czZlOGZjb19tMTkwNmY5X2N0eCAqY3R4ID0gbWlwaV9kc2lfZ2V0X2RydmRhdGEoZHNpKTsKKwlp bnQgcmV0OworCisJcmV0ID0gbWlwaV9kc2lfZGV0YWNoKGRzaSk7CisJaWYgKHJldCA8IDApCisJ CWRldl9lcnIoJmRzaS0+ZGV2LCAiRmFpbGVkIHRvIGRldGFjaCBmcm9tIERTSSBob3N0OiAlZFxu IiwgcmV0KTsKKworCWRybV9wYW5lbF9yZW1vdmUoJmN0eC0+cGFuZWwpOworfQorCitzdGF0aWMg Y29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzYW1zdW5nX3M2ZThmY29fbTE5MDZmOV9vZl9tYXRj aFtdID0geworCXsgLmNvbXBhdGlibGUgPSAic2Ftc3VuZyxzNmU4ZmNvLW0xOTA2ZjkiIH0sCisJ eyAvKiBzZW50aW5lbCAqLyB9Cit9OworTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc2Ftc3VuZ19z NmU4ZmNvX20xOTA2Zjlfb2ZfbWF0Y2gpOworCitzdGF0aWMgc3RydWN0IG1pcGlfZHNpX2RyaXZl ciBzNmU4ZmNvX20xOTA2ZjlfZHJpdmVyID0geworCS5wcm9iZSA9IHM2ZThmY29fbTE5MDZmOV9w cm9iZSwKKwkucmVtb3ZlID0gczZlOGZjb19tMTkwNmY5X3JlbW92ZSwKKwkuZHJpdmVyID0gewor CQkubmFtZSA9ICJwYW5lbC1zYW1zdW5nLXM2ZThmY28tbTE5MDZmOSIsCisJCS5vZl9tYXRjaF90 YWJsZSA9IHNhbXN1bmdfczZlOGZjb19tMTkwNmY5X29mX21hdGNoLAorCX0sCit9OworbW9kdWxl X21pcGlfZHNpX2RyaXZlcihzNmU4ZmNvX20xOTA2ZjlfZHJpdmVyKTsKKworTU9EVUxFX0FVVEhP UigiS2FtaWwgR2/FgmRhIDxrYW1pbC5nb2xkYUBwcm90b25tYWlsLmNvbT4iKTsKK01PRFVMRV9E RVNDUklQVElPTigiRFJNIGRyaXZlciBmb3IgU2Ftc3VibmcgczZlOGZjbyBEU0kgY29udHJvbGxl ciBmb3IgbTE5MDZmOSBhbW9sZWQgdmlkZW8gbW9kZSBwYW5lbCIpOworTU9EVUxFX0xJQ0VOU0Uo IkdQTCIpOwoKLS0gCjIuNTMuMAoK