From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1124F14A91; Thu, 4 Dec 2025 19:38:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.15.19 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764877096; cv=none; b=faRS//zRCSOVmghdKvLFe5trw4+BXwkRATt6Dk781PsyeCO3l7utSc+dGs0YkSw/8X54GWT2OPshXZKazhVyVBShGiFo1dAd38rtjd/OyRyLvZ/ltMs2/9YAYYrJdJ3h0G0g8hVTTORfTA3R1ZXWPdLH7b5WqS1KDHEQJi3da70= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764877096; c=relaxed/simple; bh=sVaV5+fAJ8PyiykzH4+rBi5jGifLZCekmHDZez8Ovcs=; h=Content-Type:Message-ID:Date:MIME-Version:Subject:From:To:Cc: References:In-Reply-To; b=N4bYbwPgRej2yCCYlzajH6Yv8YMfTBPruW/V2AfWFTavGFIG4QtksPXKfLhqSXjze1GyarVq6bey6h0okWTpa5H6PXMrvN0if1MT4o1Xld4GYUPfEJ2vfj9a+cpY3+ZJfZ7nanUt6LiMtS2By6yG+r9LscAwcbJuNF8igHd/Ur0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de; spf=pass smtp.mailfrom=gmx.de; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b=bxxuak8n; arc=none smtp.client-ip=212.227.15.19 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b="bxxuak8n" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1764877086; x=1765481886; i=w_armin@gmx.de; bh=sVaV5+fAJ8PyiykzH4+rBi5jGifLZCekmHDZez8Ovcs=; h=X-UI-Sender-Class:Content-Type:Message-ID:Date:MIME-Version: Subject:From:To:Cc:References:In-Reply-To:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=bxxuak8n5Q1hntxA3W+qPnRjqNiTtvhDQplqb/96JGa2ykKbPrVR3KOyMFdfE/mN Ck3bIVM6QPXcjezNNXQA8UNLn2iEBlf7aOSQhBk/QMg/kL6BnUMaAM9asMppxau1Y RQbkR3qg+lbbhNTLFTVAFZ5+AvVrJibC7HaMMLiDREaLQ0JJfOdYFTFf4PWC9LqbZ 2NFQNOxPvlWAkIsb+YxE1Fq4hBGuWpcWm42CtMSIEuBE2y/vDNAcQFczcKpG7CtdB 2/q6rul6z//brokUVcyoOL+Z8FIpAFL+Qj6oJOSDLThCmKP2MZYQVY4JFdQMf4iTn wsbiXG2q66vCcIN0Iw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.0.69] ([93.202.247.91]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MUGe1-1vaDCH1gRv-00LmBl; Thu, 04 Dec 2025 20:38:06 +0100 Content-Type: multipart/mixed; boundary="------------gkZsjUevXY4dwSvKSRdVhV0z" Message-ID: <242c7b39-7e9d-4014-986c-72fa90eb5d53@gmx.de> Date: Thu, 4 Dec 2025 20:38:04 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/2] platform/x86/uniwill: Implement cTGP setting From: Armin Wolf To: Werner Sembach , hansg@kernel.org, ilpo.jarvinen@linux.intel.com Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org References: <20251204135121.435905-1-wse@tuxedocomputers.com> <20251204135121.435905-3-wse@tuxedocomputers.com> Content-Language: en-US In-Reply-To: X-Provags-ID: V03:K1:zeMFzvmiu7oiDsrDA32CDYz3c6xHhOnI3xxI1V82ttCIUdtPWnv sPmu8t1AanHxP9Fen7rLSoAy80D/jEecTXQgyGNeIUJYuPD5O1MYaLXl7pvsULVbpT8u1rL AgxL8EhlFzkr5L+DaHqd1uPPA+8Ls6K5xjagZJOPVe5CkhcGxH+WehfCSRUq3cH7PYPTtNL SZVij4MwTfr/Qfq+b0ksw== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:6pcUbuJlN3M=;42X5JVCNle1Dk0IFXm7+A9taER1 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 EFMTeeQ795ZcCSfdytJ1 This is a multi-part message in MIME format. --------------gkZsjUevXY4dwSvKSRdVhV0z Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 QW0gMDQuMTIuMjUgdW0gMTc6NTggc2NocmllYiBBcm1pbiBXb2xmOg0KDQo+IEFtIDA0LjEyLjI1 IHVtIDE3OjExIHNjaHJpZWIgQXJtaW4gV29sZjoNCj4NCj4+IEFtIDA0LjEyLjI1IHVtIDE0OjUw IHNjaHJpZWIgV2VybmVyIFNlbWJhY2g6DQo+Pg0KPj4+IFVuaXdpbGwgb2ZmZXJzIHVzZXIgc2V0 YWJsZSBjVEdQIGZvciB0aGVpciBFQyBvbiBkZXZpY2VzIHVzaW5nIA0KPj4+IE5WSURJQSAzMDAw DQo+Pj4gU2VyaWVzIGFuZCBuZXdlciBHUFVzLiBUaGlzIHBhdGNoIGltcGxlbWVudHMgdGhpcyBz ZXR0aW5nIGFzIGEgc3lzZnMNCj4+PiBhdHRyaWJ1dGUuDQo+Pj4NCj4+PiBGb3Igb25lIGRldmlj ZSwgdGhlIFRVWEVETyBJbmZpbml0eUJvb2sgR2VuNywgdGhlIHZhcmlhbnQgd2l0aCBhbmQgDQo+ Pj4gd2l0aG91dA0KPj4+IE5WSURJQSBHUFUgY2FuJ3QgYmUgZGlmZmVyZW50aWF0ZWQgdXNpbmcg b25seSB0aGUgRE1JIHN0cmluZ3MsIHNvIA0KPj4+IHRoZSBuZXcNCj4+PiBwcm9iZSBjYWxsYmFj ayBuZWVkcyB0byBiZSB1c2VkIHRvIHRlc3QgYSBiaXQgZnJvbSB0aGUgRUMgbWVtb3J5Lg0KPj4+ DQo+Pj4gU2lnbmVkLW9mZi1ieTogV2VybmVyIFNlbWJhY2ggPHdzZUB0dXhlZG9jb21wdXRlcnMu Y29tPg0KPj4+IC0tLQ0KPj4+IMKgIGRyaXZlcnMvcGxhdGZvcm0veDg2L3VuaXdpbGwvdW5pd2ls bC1hY3BpLmMgfCAxNjAgDQo+Pj4gKysrKysrKysrKysrKysrKystLS0NCj4+PiDCoCAxIGZpbGUg Y2hhbmdlZCwgMTM1IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQ0KPj4+DQo+Pj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L3VuaXdpbGwvdW5pd2lsbC1hY3BpLmMgDQo+ Pj4gYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni91bml3aWxsL3VuaXdpbGwtYWNwaS5jDQo+Pj4gaW5k ZXggMDExOTJjMzI2MDhlNS4uZjg3ZjZlOWQwODIzNCAxMDA2NDQNCj4+PiAtLS0gYS9kcml2ZXJz L3BsYXRmb3JtL3g4Ni91bml3aWxsL3VuaXdpbGwtYWNwaS5jDQo+Pj4gKysrIGIvZHJpdmVycy9w bGF0Zm9ybS94ODYvdW5pd2lsbC91bml3aWxsLWFjcGkuYw0KPj4+IEBAIC04OCw2ICs4OCw5IEBA DQo+Pj4gwqAgwqAgI2RlZmluZSBFQ19BRERSX0dQVV9URU1QwqDCoMKgwqDCoMKgwqAgMHgwNDRG DQo+Pj4gwqAgKyNkZWZpbmUgRUNfQUREUl9TWVNURU1fSUTCoMKgwqDCoMKgwqDCoCAweDA0NTYN Cj4+PiArI2RlZmluZSBIQVNfR1BVwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEJJVCg3 KQ0KPj4NCj4+IEkgdGhpbmsgeW91IG5lZWQgdG8gdGVsbCByZWdtYXAgdGhhdCB0aGlzIG5ldyBy ZWdpc3RlciBpcyByZWFkYWJsZQ0KPj4gYnkgbW9kaWZ5aW5nIHVuaXdpbGxfcmVhZGFibGVfcmVn KCksIG90aGVyd2lzZSBwaHhhcngxX3BoeGFxZjFfcHJvYmUoKQ0KPj4gd2lsbCBhbHdheXMgZmFp bC4NCj4+DQo+PiBXaXRoIHRoYXQgYmVpbmcgZml4ZWQ6DQo+PiBSZXZpZXdlZC1ieTogQXJtaW4g V29sZiA8V19Bcm1pbkBnbXguZGU+DQo+Pg0KPj4+ICsNCj4+PiDCoCAjZGVmaW5lIEVDX0FERFJf TUFJTl9GQU5fUlBNXzHCoMKgwqDCoMKgwqDCoCAweDA0NjQNCj4+PiDCoCDCoCAjZGVmaW5lIEVD X0FERFJfTUFJTl9GQU5fUlBNXzLCoMKgwqDCoMKgwqDCoCAweDA0NjUNCj4+PiBAQCAtMTIyLDEx ICsxMjUsMTEgQEANCj4+PiDCoCAjZGVmaW5lIENUR1BfREJfREJfRU5BQkxFwqDCoMKgwqDCoMKg wqAgQklUKDEpDQo+Pj4gwqAgI2RlZmluZSBDVEdQX0RCX0NUR1BfRU5BQkxFwqDCoMKgwqDCoMKg wqAgQklUKDIpDQo+Pj4gwqAgLSNkZWZpbmUgRUNfQUREUl9DVEdQX09GRlNFVMKgwqDCoMKgwqDC oMKgIDB4MDc0NA0KPj4+ICsjZGVmaW5lIEVDX0FERFJfQ1RHUF9EQl9DVEdQX09GRlNFVMKgwqDC oCAweDA3NDQNCj4+PiDCoCAtI2RlZmluZSBFQ19BRERSX1RQUF9PRkZTRVTCoMKgwqDCoMKgwqDC oCAweDA3NDUNCj4+PiArI2RlZmluZSBFQ19BRERSX0NUR1BfREJfVFBQX09GRlNFVMKgwqDCoCAw eDA3NDUNCj4+PiDCoCAtI2RlZmluZSBFQ19BRERSX01BWF9UR1DCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIDB4MDc0Ng0KPj4+ICsjZGVmaW5lIEVDX0FERFJfQ1RHUF9EQl9EQl9PRkZTRVTCoMKgwqAg MHgwNzQ2DQo+Pj4gwqAgwqAgI2RlZmluZSBFQ19BRERSX0xJR0hUQkFSX0FDX0NUUkzCoMKgwqAg MHgwNzQ4DQo+Pj4gwqAgI2RlZmluZSBMSUdIVEJBUl9BUFBfRVhJU1RTwqDCoMKgwqDCoMKgwqAg QklUKDApDQo+Pj4gQEAgLTMxNyw2ICszMjAsNyBAQA0KPj4+IMKgICNkZWZpbmUgVU5JV0lMTF9G RUFUVVJFX0xJR0hUQkFSwqDCoMKgwqDCoMKgwqAgQklUKDMpDQo+Pj4gwqAgI2RlZmluZSBVTklX SUxMX0ZFQVRVUkVfQkFUVEVSWcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQklUKDQpDQo+Pj4gwqAg I2RlZmluZSBVTklXSUxMX0ZFQVRVUkVfSFdNT07CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEJJVCg1 KQ0KPj4+ICsjZGVmaW5lIFVOSVdJTExfRkVBVFVSRV9OVklESUFfQ1RHUF9DT05UUk9MwqDCoMKg IEJJVCg2KQ0KPj4+IMKgIMKgIHN0cnVjdCB1bml3aWxsX2RhdGEgew0KPj4+IMKgwqDCoMKgwqAg c3RydWN0IGRldmljZSAqZGV2Ow0KPj4+IEBAIC01MTUsNiArNTE5LDEwIEBAIHN0YXRpYyBib29s IHVuaXdpbGxfd3JpdGVhYmxlX3JlZyhzdHJ1Y3QgZGV2aWNlIA0KPj4+ICpkZXYsIHVuc2lnbmVk IGludCByZWcpDQo+Pj4gwqDCoMKgwqDCoCBjYXNlIEVDX0FERFJfTElHSFRCQVJfQkFUX1JFRDoN Cj4+PiDCoMKgwqDCoMKgIGNhc2UgRUNfQUREUl9MSUdIVEJBUl9CQVRfR1JFRU46DQo+Pj4gwqDC oMKgwqDCoCBjYXNlIEVDX0FERFJfTElHSFRCQVJfQkFUX0JMVUU6DQo+Pj4gK8KgwqDCoCBjYXNl IEVDX0FERFJfQ1RHUF9EQl9DVFJMOg0KPj4+ICvCoMKgwqAgY2FzZSBFQ19BRERSX0NUR1BfREJf Q1RHUF9PRkZTRVQ6DQo+Pj4gK8KgwqDCoCBjYXNlIEVDX0FERFJfQ1RHUF9EQl9UUFBfT0ZGU0VU Og0KPj4+ICvCoMKgwqAgY2FzZSBFQ19BRERSX0NUR1BfREJfREJfT0ZGU0VUOg0KPj4+IMKgwqDC oMKgwqDCoMKgwqDCoCByZXR1cm4gdHJ1ZTsNCj4+PiDCoMKgwqDCoMKgIGRlZmF1bHQ6DQo+Pj4g wqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBmYWxzZTsNCj4+PiBAQCAtNTQ4LDYgKzU1NiwxMCBA QCBzdGF0aWMgYm9vbCB1bml3aWxsX3JlYWRhYmxlX3JlZyhzdHJ1Y3QgZGV2aWNlIA0KPj4+ICpk ZXYsIHVuc2lnbmVkIGludCByZWcpDQo+Pj4gwqDCoMKgwqDCoCBjYXNlIEVDX0FERFJfTElHSFRC QVJfQkFUX1JFRDoNCj4+PiDCoMKgwqDCoMKgIGNhc2UgRUNfQUREUl9MSUdIVEJBUl9CQVRfR1JF RU46DQo+Pj4gwqDCoMKgwqDCoCBjYXNlIEVDX0FERFJfTElHSFRCQVJfQkFUX0JMVUU6DQo+Pj4g K8KgwqDCoCBjYXNlIEVDX0FERFJfQ1RHUF9EQl9DVFJMOg0KPj4+ICvCoMKgwqAgY2FzZSBFQ19B RERSX0NUR1BfREJfQ1RHUF9PRkZTRVQ6DQo+Pj4gK8KgwqDCoCBjYXNlIEVDX0FERFJfQ1RHUF9E Ql9UUFBfT0ZGU0VUOg0KPj4+ICvCoMKgwqAgY2FzZSBFQ19BRERSX0NUR1BfREJfREJfT0ZGU0VU Og0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gdHJ1ZTsNCj4+PiDCoMKgwqDCoMKgIGRl ZmF1bHQ6DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBmYWxzZTsNCj4+PiBAQCAtODAz LDYgKzgxNSw2OSBAQCBzdGF0aWMgc3NpemVfdCBicmVhdGhpbmdfaW5fc3VzcGVuZF9zaG93KHN0 cnVjdCANCj4+PiBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaQ0KPj4+IMKgIMKgIHN0 YXRpYyBERVZJQ0VfQVRUUl9SVyhicmVhdGhpbmdfaW5fc3VzcGVuZCk7DQo+Pj4gwqAgK3N0YXRp YyBzc2l6ZV90IGN0Z3Bfb2Zmc2V0X3N0b3JlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IA0K Pj4+IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsDQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGNvdW50KQ0KPj4+ICt7DQo+Pj4gK8Kg wqDCoCBzdHJ1Y3QgdW5pd2lsbF9kYXRhICpkYXRhID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ Pj4gK8KgwqDCoCB1bnNpZ25lZCBpbnQgdmFsdWU7DQo+Pj4gK8KgwqDCoCBpbnQgcmV0Ow0KPj4+ ICsNCj4+PiArwqDCoMKgIHJldCA9IGtzdHJ0b3VpbnQoYnVmLCAwLCAmdmFsdWUpOw0KPj4+ICvC oMKgwqAgaWYgKHJldCA8IDApDQo+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiByZXQ7DQo+DQo+ IEkgZm9yZ2V0IHRvIG1lbnRpb24gdGhhdCB5b3Ugc3RpbGwgbmVlZCB0byB2ZXJpZnkgdGhhdCB2 YWx1ZSBpcyANCj4gc21hbGxlciB0aGFuIFU4X01BWC4NCj4NCj4gVGhhbmtzLA0KPiBBcm1pbiBX b2xmDQo+DQpXaGlsZSB1c2luZyB0aGlzIHBhdGNoIHNlcmllcyB0byBhZGQgY1RHUCBzdXBwb3J0 IGZvciB0aGUgTEFQS0M3MUYsIGkganVzdCBub3RpY2VkIHRoYXQNCnlvdSBhbHNvIGRpZCBub3Qg ZGlzYWJsZSBjVEdQIGFuZCBkeW5hbWljIGJvb3N0IGR1cmluZyBzdXNwZW5kLiBJIGF0dGFjaGVk IGFuIGV4cGVyaW1lbnRhbCBwYXRjaA0KZm9yIHRoYXQsIHlvdSBjYW4gdXNlIHRoYXQgaWYgeW91 IHdpc2guIEkgZG8gbm90IHRoaW5rIHRoYXQgeW91IGhhdmUgdG8gY2xlYXIgQ1RHUF9EQl9HRU5F UkFMX0VOQUJMRQ0KZHVyaW5nIHN1c3BlbmQsIGFzIHRoZSBkcml2ZXIgaXRzZWxmIHN0aWxsIGNv bnRyb2xzIHRoZSBjVEdQIGFuZCBkeW5hbWljIGJvb3N0IHNldHRpbmdzLg0KDQpUaGFua3MsDQpB cm1pbiBXb2xmDQoNCj4+PiArDQo+Pj4gK8KgwqDCoCByZXQgPSByZWdtYXBfd3JpdGUoZGF0YS0+ cmVnbWFwLCBFQ19BRERSX0NUR1BfREJfQ1RHUF9PRkZTRVQsIA0KPj4+IHZhbHVlKTsNCj4+PiAr wqDCoMKgIGlmIChyZXQgPCAwKQ0KPj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Ow0KPj4+ ICsNCj4+PiArwqDCoMKgIHJldHVybiBjb3VudDsNCj4+PiArfQ0KPj4+ICsNCj4+PiArc3RhdGlj IHNzaXplX3QgY3RncF9vZmZzZXRfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCANCj4+ PiBkZXZpY2VfYXR0cmlidXRlICphdHRyLA0KPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgY2hhciAqYnVmKQ0KPj4+ICt7DQo+Pj4gK8KgwqDCoCBzdHJ1Y3QgdW5pd2lsbF9kYXRh ICpkYXRhID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+Pj4gK8KgwqDCoCB1bnNpZ25lZCBpbnQg dmFsdWU7DQo+Pj4gK8KgwqDCoCBpbnQgcmV0Ow0KPj4+ICsNCj4+PiArwqDCoMKgIHJldCA9IHJl Z21hcF9yZWFkKGRhdGEtPnJlZ21hcCwgRUNfQUREUl9DVEdQX0RCX0NUR1BfT0ZGU0VULCANCj4+ PiAmdmFsdWUpOw0KPj4+ICvCoMKgwqAgaWYgKHJldCA8IDApDQo+Pj4gK8KgwqDCoMKgwqDCoMKg IHJldHVybiByZXQ7DQo+Pj4gKw0KPj4+ICvCoMKgwqAgcmV0dXJuIHN5c2ZzX2VtaXQoYnVmLCAi JXVcbiIsIHZhbHVlKTsNCj4+PiArfQ0KPj4+ICsNCj4+PiArc3RhdGljIERFVklDRV9BVFRSX1JX KGN0Z3Bfb2Zmc2V0KTsNCj4+PiArDQo+Pj4gK3N0YXRpYyBpbnQgdW5pd2lsbF9udmlkaWFfY3Rn cF9pbml0KHN0cnVjdCB1bml3aWxsX2RhdGEgKmRhdGEpDQo+Pj4gK3sNCj4+PiArwqDCoMKgIGlu dCByZXQ7DQo+Pj4gKw0KPj4+ICvCoMKgwqAgaWYgKCF1bml3aWxsX2RldmljZV9zdXBwb3J0cyhk YXRhLCANCj4+PiBVTklXSUxMX0ZFQVRVUkVfTlZJRElBX0NUR1BfQ09OVFJPTCwNCj4+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBVTklXSUxMX0ZFQVRVUkVfTlZJ RElBX0NUR1BfQ09OVFJPTCkpDQo+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAwOw0KPj4+ICsN Cj4+PiArwqDCoMKgIHJldCA9IHJlZ21hcF93cml0ZShkYXRhLT5yZWdtYXAsIEVDX0FERFJfQ1RH UF9EQl9DVEdQX09GRlNFVCwgMCk7DQo+Pj4gK8KgwqDCoCBpZiAocmV0IDwgMCkNCj4+PiArwqDC oMKgwqDCoMKgwqAgcmV0dXJuIHJldDsNCj4+PiArDQo+Pj4gK8KgwqDCoCByZXQgPSByZWdtYXBf d3JpdGUoZGF0YS0+cmVnbWFwLCBFQ19BRERSX0NUR1BfREJfVFBQX09GRlNFVCwgMjU1KTsNCj4+ PiArwqDCoMKgIGlmIChyZXQgPCAwKQ0KPj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Ow0K Pj4+ICsNCj4+PiArwqDCoMKgIHJldCA9IHJlZ21hcF93cml0ZShkYXRhLT5yZWdtYXAsIEVDX0FE RFJfQ1RHUF9EQl9EQl9PRkZTRVQsIDI1KTsNCj4+PiArwqDCoMKgIGlmIChyZXQgPCAwKQ0KPj4+ ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Ow0KPj4+ICsNCj4+PiArwqDCoMKgIHJldCA9IHJl Z21hcF91cGRhdGVfYml0cyhkYXRhLT5yZWdtYXAsIEVDX0FERFJfQ1RHUF9EQl9DVFJMLA0KPj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDVEdQX0RCX0dFTkVSQUxfRU5BQkxF IHwgQ1RHUF9EQl9EQl9FTkFCTEUgfCANCj4+PiBDVEdQX0RCX0NUR1BfRU5BQkxFLA0KPj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDVEdQX0RCX0dFTkVSQUxfRU5BQkxFIHwg Q1RHUF9EQl9EQl9FTkFCTEUgfCANCj4+PiBDVEdQX0RCX0NUR1BfRU5BQkxFKTsNCj4+PiArwqDC oMKgIGlmIChyZXQgPCAwKQ0KPj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Ow0KPj4+ICsN Cj4+PiArwqDCoMKgIHJldHVybiAwOw0KPj4+ICt9DQo+Pj4gKw0KPj4+IMKgIHN0YXRpYyBzdHJ1 Y3QgYXR0cmlidXRlICp1bml3aWxsX2F0dHJzW10gPSB7DQo+Pj4gwqDCoMKgwqDCoCAvKiBLZXli b2FyZC1yZWxhdGVkICovDQo+Pj4gwqDCoMKgwqDCoCAmZGV2X2F0dHJfZm5fbG9ja190b2dnbGVf ZW5hYmxlLmF0dHIsDQo+Pj4gQEAgLTgxMSw2ICs4ODYsOCBAQCBzdGF0aWMgc3RydWN0IGF0dHJp YnV0ZSAqdW5pd2lsbF9hdHRyc1tdID0gew0KPj4+IMKgwqDCoMKgwqAgLyogTGlnaHRiYXItcmVs YXRlZCAqLw0KPj4+IMKgwqDCoMKgwqAgJmRldl9hdHRyX3JhaW5ib3dfYW5pbWF0aW9uLmF0dHIs DQo+Pj4gwqDCoMKgwqDCoCAmZGV2X2F0dHJfYnJlYXRoaW5nX2luX3N1c3BlbmQuYXR0ciwNCj4+ PiArwqDCoMKgIC8qIFBvd2VyLW1hbmFnZW1lbnQtcmVsYXRlZCAqLw0KPj4+ICvCoMKgwqAgJmRl dl9hdHRyX2N0Z3Bfb2Zmc2V0LmF0dHIsDQo+Pj4gwqDCoMKgwqDCoCBOVUxMDQo+Pj4gwqAgfTsN Cj4+PiDCoCBAQCAtODQ0LDYgKzkyMSwxMiBAQCBzdGF0aWMgdW1vZGVfdCB1bml3aWxsX2F0dHJf aXNfdmlzaWJsZShzdHJ1Y3QgDQo+Pj4ga29iamVjdCAqa29iaiwgc3RydWN0IGF0dHJpYnV0ZSAq YQ0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBhdHRyLT5tb2RlOw0KPj4+ IMKgwqDCoMKgwqAgfQ0KPj4+IMKgICvCoMKgwqAgaWYgKGF0dHIgPT0gJmRldl9hdHRyX2N0Z3Bf b2Zmc2V0LmF0dHIpIHsNCj4+PiArwqDCoMKgwqDCoMKgwqAgaWYgKHVuaXdpbGxfZGV2aWNlX3N1 cHBvcnRzKGRhdGEsIA0KPj4+IFVOSVdJTExfRkVBVFVSRV9OVklESUFfQ1RHUF9DT05UUk9MLA0K Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFVOSVdJ TExfRkVBVFVSRV9OVklESUFfQ1RHUF9DT05UUk9MKSkNCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCByZXR1cm4gYXR0ci0+bW9kZTsNCj4+PiArwqDCoMKgIH0NCj4+PiArDQo+Pj4gwqDCoMKg wqDCoCByZXR1cm4gMDsNCj4+PiDCoCB9DQo+Pj4gwqAgQEAgLTE0MTMsNiArMTQ5NiwxMCBAQCBz dGF0aWMgaW50IHVuaXdpbGxfcHJvYmUoc3RydWN0IA0KPj4+IHBsYXRmb3JtX2RldmljZSAqcGRl dikNCj4+PiDCoMKgwqDCoMKgIGlmIChyZXQgPCAwKQ0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBy ZXR1cm4gcmV0Ow0KPj4+IMKgICvCoMKgwqAgcmV0ID0gdW5pd2lsbF9udmlkaWFfY3RncF9pbml0 KGRhdGEpOw0KPj4+ICvCoMKgwqAgaWYgKHJldCA8IDApDQo+Pj4gK8KgwqDCoMKgwqDCoMKgIHJl dHVybiByZXQ7DQo+Pj4gKw0KPj4+IMKgwqDCoMKgwqAgcmV0dXJuIHVuaXdpbGxfaW5wdXRfaW5p dChkYXRhKTsNCj4+PiDCoCB9DQo+Pj4gwqAgQEAgLTE1NTcsNiArMTY0NCwyOSBAQCBzdGF0aWMg c3RydWN0IHVuaXdpbGxfZGV2aWNlX2Rlc2NyaXB0b3IgDQo+Pj4gbGFwa2M3MWZfZGVzY3JpcHRv ciBfX2luaXRkYXRhID0gew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFVOSVdJTExf RkVBVFVSRV9IV01PTg0KPj4+IMKgIH07DQo+Pj4gwqAgK3N0YXRpYyBpbnQgcGh4YXJ4MV9waHhh cWYxX3Byb2JlKHN0cnVjdCB1bml3aWxsX2RhdGEgKmRhdGEpDQo+Pj4gK3sNCj4+PiArwqDCoMKg IHVuc2lnbmVkIGludCB2YWx1ZTsNCj4+PiArwqDCoMKgIGludCByZXQ7DQo+Pj4gKw0KPj4+ICvC oMKgwqAgcmV0ID0gcmVnbWFwX3JlYWQoZGF0YS0+cmVnbWFwLCBFQ19BRERSX1NZU1RFTV9JRCwg JnZhbHVlKTsNCj4+PiArwqDCoMKgIGlmIChyZXQgPCAwKQ0KPj4+ICvCoMKgwqDCoMKgwqDCoCBy ZXR1cm4gcmV0Ow0KPj4+ICsNCj4+PiArwqDCoMKgIGlmICh2YWx1ZSAmIEhBU19HUFUpDQo+Pj4g K8KgwqDCoMKgwqDCoMKgIGRhdGEtPmZlYXR1cmVzIHw9IFVOSVdJTExfRkVBVFVSRV9OVklESUFf Q1RHUF9DT05UUk9MOw0KPj4+ICsNCj4+PiArwqDCoMKgIHJldHVybiAwOw0KPj4+ICt9Ow0KPj4+ ICsNCj4+PiArc3RhdGljIHN0cnVjdCB1bml3aWxsX2RldmljZV9kZXNjcmlwdG9yIHBoeGFyeDFf cGh4YXFmMV9kZXNjcmlwdG9yIA0KPj4+IF9faW5pdGRhdGEgPSB7DQo+Pj4gK8KgwqDCoCAucHJv YmUgPSBwaHhhcngxX3BoeGFxZjFfcHJvYmUNCj4+PiArfTsNCj4+PiArDQo+Pj4gK3N0YXRpYyBz dHJ1Y3QgdW5pd2lsbF9kZXZpY2VfZGVzY3JpcHRvciB0dXhfZmVhdHVyZXNldF8xX2Rlc2NyaXB0 b3IgDQo+Pj4gX19pbml0ZGF0YSA9IHsNCj4+PiArwqDCoMKgIC5mZWF0dXJlcyA9IFVOSVdJTExf RkVBVFVSRV9OVklESUFfQ1RHUF9DT05UUk9MDQo+Pj4gK307DQo+Pj4gKw0KPj4+IMKgIHN0YXRp YyBzdHJ1Y3QgdW5pd2lsbF9kZXZpY2VfZGVzY3JpcHRvciBlbXB0eV9kZXNjcmlwdG9yIA0KPj4+ IF9faW5pdGRhdGEgPSB7fTsNCj4+PiDCoCDCoCBzdGF0aWMgY29uc3Qgc3RydWN0IGRtaV9zeXN0 ZW1faWQgdW5pd2lsbF9kbWlfdGFibGVbXSANCj4+PiBfX2luaXRjb25zdCA9IHsNCj4+PiBAQCAt MTYwNiw3ICsxNzE2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkIA0KPj4+ IHVuaXdpbGxfZG1pX3RhYmxlW10gX19pbml0Y29uc3QgPSB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiVFVYRURPIiksDQo+Pj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX0VYQUNUX01BVENIKERNSV9CT0FSRF9OQU1FLCAi UEh4VFF4MSIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9LA0KPj4+IC3CoMKgwqDCoMKgwqDC oCAuZHJpdmVyX2RhdGEgPSAmZW1wdHlfZGVzY3JpcHRvciwNCj4+PiArwqDCoMKgwqDCoMKgwqAg LmRyaXZlcl9kYXRhID0gJnR1eF9mZWF0dXJlc2V0XzFfZGVzY3JpcHRvciwNCj4+PiDCoMKgwqDC oMKgIH0sDQo+Pj4gwqDCoMKgwqDCoCB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5pZGVudCA9 ICJUVVhFRE8gSW5maW5pdHlCb29rIFBybyAxNC8xNiBHZW43IEludGVsIiwNCj4+PiBAQCAtMTYx NCw3ICsxNzI0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkIA0KPj4+IHVu aXdpbGxfZG1pX3RhYmxlW10gX19pbml0Y29uc3QgPSB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiVFVYRURPIiksDQo+Pj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX0VYQUNUX01BVENIKERNSV9CT0FSRF9OQU1FLCAiUEh4 QVJYMV9QSHhBUUYxIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0sDQo+Pj4gLcKgwqDCoMKg wqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZlbXB0eV9kZXNjcmlwdG9yLA0KPj4+ICvCoMKgwqDCoMKg wqDCoCAuZHJpdmVyX2RhdGEgPSAmcGh4YXJ4MV9waHhhcWYxX2Rlc2NyaXB0b3IsDQo+Pj4gwqDC oMKgwqDCoCB9LA0KPj4+IMKgwqDCoMKgwqAgew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRl bnQgPSAiVFVYRURPIEluZmluaXR5Qm9vayBQcm8gMTYgR2VuNyBJbnRlbC9Db21tb2RvcmUgDQo+ Pj4gT21uaWEtQm9vayBQcm8gR2VuIDciLA0KPj4+IEBAIC0xNjIyLDcgKzE3MzIsNyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgDQo+Pj4gdW5pd2lsbF9kbWlfdGFibGVbXSBf X2luaXRjb25zdCA9IHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfTUFUQ0go RE1JX1NZU19WRU5ET1IsICJUVVhFRE8iKSwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBETUlfRVhBQ1RfTUFUQ0goRE1JX0JPQVJEX05BTUUsIA0KPj4+ICJQSDZBRzAxX1BINkFRNzFf UEg2QVFJMSIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9LA0KPj4+IC3CoMKgwqDCoMKgwqDC oCAuZHJpdmVyX2RhdGEgPSAmZW1wdHlfZGVzY3JpcHRvciwNCj4+PiArwqDCoMKgwqDCoMKgwqAg LmRyaXZlcl9kYXRhID0gJnR1eF9mZWF0dXJlc2V0XzFfZGVzY3JpcHRvciwNCj4+PiDCoMKgwqDC oMKgIH0sDQo+Pj4gwqDCoMKgwqDCoCB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5pZGVudCA9 ICJUVVhFRE8gSW5maW5pdHlCb29rIFBybyAxNC8xNiBHZW44IA0KPj4+IEludGVsL0NvbW1vZG9y ZSBPbW5pYS1Cb29rIFBybyBHZW4gOCIsDQo+Pj4gQEAgLTE2MzgsNyArMTc0OCw3IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9f aW5pdGNvbnN0ID0gew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChE TUlfU1lTX1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IERNSV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIlBINFBHMzEiKSwNCj4+PiDCoMKgwqDC oMKgwqDCoMKgwqAgfSwNCj4+PiAtwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJmVtcHR5 X2Rlc2NyaXB0b3IsDQo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZ0dXhfZmVh dHVyZXNldF8xX2Rlc2NyaXB0b3IsDQo+Pj4gwqDCoMKgwqDCoCB9LA0KPj4+IMKgwqDCoMKgwqAg ew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIEluZmluaXR5Qm9vayBQ cm8gMTYgR2VuOCBJbnRlbCIsDQo+Pj4gQEAgLTE2NDYsNyArMTc1Niw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9faW5pdGNv bnN0ID0gew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChETUlfU1lT X1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9F WEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIlBINlBHMDFfUEg2UEc3MSIpLA0KPj4+IMKgwqDC oMKgwqDCoMKgwqDCoCB9LA0KPj4+IC3CoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEgPSAmZW1w dHlfZGVzY3JpcHRvciwNCj4+PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJnR1eF9m ZWF0dXJlc2V0XzFfZGVzY3JpcHRvciwNCj4+PiDCoMKgwqDCoMKgIH0sDQo+Pj4gwqDCoMKgwqDC oCB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5pZGVudCA9ICJUVVhFRE8gSW5maW5pdHlCb29r IFBybyAxNC8xNSBHZW45IEFNRCIsDQo+Pj4gQEAgLTE4MTQsNyArMTkyNCw3IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9faW5p dGNvbnN0ID0gew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChETUlf U1lTX1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERN SV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIkdNeE1HeHgiKSwNCj4+PiDCoMKgwqDCoMKg wqDCoMKgwqAgfSwNCj4+PiAtwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJmVtcHR5X2Rl c2NyaXB0b3IsDQo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZ0dXhfZmVhdHVy ZXNldF8xX2Rlc2NyaXB0b3IsDQo+Pj4gwqDCoMKgwqDCoCB9LA0KPj4+IMKgwqDCoMKgwqAgew0K Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIFBvbGFyaXMgMTUvMTcgR2Vu MiBJbnRlbCIsDQo+Pj4gQEAgLTE4MjIsNyArMTkzMiw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9faW5pdGNvbnN0ID0gew0K Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwg IlRVWEVETyIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9FWEFDVF9NQVRD SChETUlfQk9BUkRfTkFNRSwgIkdNeE5HeHgiKSwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfSwN Cj4+PiAtwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJmVtcHR5X2Rlc2NyaXB0b3IsDQo+ Pj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZ0dXhfZmVhdHVyZXNldF8xX2Rlc2Ny aXB0b3IsDQo+Pj4gwqDCoMKgwqDCoCB9LA0KPj4+IMKgwqDCoMKgwqAgew0KPj4+IMKgwqDCoMKg wqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIFN0ZWxsYXJpcy9Qb2xhcmlzIDE1LzE3IEdlbjMg QU1EIiwNCj4+PiBAQCAtMTgzMCw3ICsxOTQwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlf c3lzdGVtX2lkIA0KPj4+IHVuaXdpbGxfZG1pX3RhYmxlW10gX19pbml0Y29uc3QgPSB7DQo+Pj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiVFVY RURPIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX0VYQUNUX01BVENIKERN SV9CT0FSRF9OQU1FLCAiR014Wkd4eCIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9LA0KPj4+ IC3CoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEgPSAmZW1wdHlfZGVzY3JpcHRvciwNCj4+PiAr wqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJnR1eF9mZWF0dXJlc2V0XzFfZGVzY3JpcHRv ciwNCj4+PiDCoMKgwqDCoMKgIH0sDQo+Pj4gwqDCoMKgwqDCoCB7DQo+Pj4gwqDCoMKgwqDCoMKg wqDCoMKgIC5pZGVudCA9ICJUVVhFRE8gU3RlbGxhcmlzL1BvbGFyaXMgMTUvMTcgR2VuMyBJbnRl bCIsDQo+Pj4gQEAgLTE4MzgsNyArMTk0OCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1pX3N5 c3RlbV9pZCANCj4+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9faW5pdGNvbnN0ID0gew0KPj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIlRVWEVE TyIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9FWEFDVF9NQVRDSChETUlf Qk9BUkRfTkFNRSwgIkdNeFRHeHgiKSwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfSwNCj4+PiAt wqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJmVtcHR5X2Rlc2NyaXB0b3IsDQo+Pj4gK8Kg wqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZ0dXhfZmVhdHVyZXNldF8xX2Rlc2NyaXB0b3Is DQo+Pj4gwqDCoMKgwqDCoCB9LA0KPj4+IMKgwqDCoMKgwqAgew0KPj4+IMKgwqDCoMKgwqDCoMKg wqDCoCAuaWRlbnQgPSAiVFVYRURPIFN0ZWxsYXJpcy9Qb2xhcmlzIDE1LzE3IEdlbjQgQU1EIiwN Cj4+PiBAQCAtMTg0Niw3ICsxOTU2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVt X2lkIA0KPj4+IHVuaXdpbGxfZG1pX3RhYmxlW10gX19pbml0Y29uc3QgPSB7DQo+Pj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiVFVYRURPIiks DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX0VYQUNUX01BVENIKERNSV9CT0FS RF9OQU1FLCAiR014Ukd4eCIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9LA0KPj4+IC3CoMKg wqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEgPSAmZW1wdHlfZGVzY3JpcHRvciwNCj4+PiArwqDCoMKg wqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJnR1eF9mZWF0dXJlc2V0XzFfZGVzY3JpcHRvciwNCj4+ PiDCoMKgwqDCoMKgIH0sDQo+Pj4gwqDCoMKgwqDCoCB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKg IC5pZGVudCA9ICJUVVhFRE8gU3RlbGxhcmlzIDE1IEdlbjQgSW50ZWwiLA0KPj4+IEBAIC0xODU0 LDcgKzE5NjQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgDQo+Pj4gdW5p d2lsbF9kbWlfdGFibGVbXSBfX2luaXRjb25zdCA9IHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBETUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJUVVhFRE8iKSwNCj4+PiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfRVhBQ1RfTUFUQ0goRE1JX0JPQVJEX05BTUUsICJHTXhB R3h4IiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0sDQo+Pj4gLcKgwqDCoMKgwqDCoMKgIC5k cml2ZXJfZGF0YSA9ICZlbXB0eV9kZXNjcmlwdG9yLA0KPj4+ICvCoMKgwqDCoMKgwqDCoCAuZHJp dmVyX2RhdGEgPSAmdHV4X2ZlYXR1cmVzZXRfMV9kZXNjcmlwdG9yLA0KPj4+IMKgwqDCoMKgwqAg fSwNCj4+PiDCoMKgwqDCoMKgIHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlkZW50ID0gIlRV WEVETyBQb2xhcmlzIDE1LzE3IEdlbjUgQU1EIiwNCj4+PiBAQCAtMTg2Miw3ICsxOTcyLDcgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkIA0KPj4+IHVuaXdpbGxfZG1pX3RhYmxl W10gX19pbml0Y29uc3QgPSB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX01B VENIKERNSV9TWVNfVkVORE9SLCAiVFVYRURPIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgRE1JX0VYQUNUX01BVENIKERNSV9CT0FSRF9OQU1FLCAiR014WEd4eCIpLA0KPj4+IMKg wqDCoMKgwqDCoMKgwqDCoCB9LA0KPj4+IC3CoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEgPSAm ZW1wdHlfZGVzY3JpcHRvciwNCj4+PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJnR1 eF9mZWF0dXJlc2V0XzFfZGVzY3JpcHRvciwNCj4+PiDCoMKgwqDCoMKgIH0sDQo+Pj4gwqDCoMKg wqDCoCB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5pZGVudCA9ICJUVVhFRE8gU3RlbGxhcmlz IDE2IEdlbjUgQU1EIiwNCj4+PiBAQCAtMTg3MCw3ICsxOTgwLDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBkbWlfc3lzdGVtX2lkIA0KPj4+IHVuaXdpbGxfZG1pX3RhYmxlW10gX19pbml0Y29uc3Qg PSB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX01BVENIKERNSV9TWVNfVkVO RE9SLCAiVFVYRURPIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX0VYQUNU X01BVENIKERNSV9CT0FSRF9OQU1FLCAiR002WEd4WCIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDC oCB9LA0KPj4+IC3CoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEgPSAmZW1wdHlfZGVzY3JpcHRv ciwNCj4+PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJnR1eF9mZWF0dXJlc2V0XzFf ZGVzY3JpcHRvciwNCj4+PiDCoMKgwqDCoMKgIH0sDQo+Pj4gwqDCoMKgwqDCoCB7DQo+Pj4gwqDC oMKgwqDCoMKgwqDCoMKgIC5pZGVudCA9ICJUVVhFRE8gU3RlbGxhcmlzIDE2LzE3IEdlbjUgSW50 ZWwvQ29tbW9kb3JlIA0KPj4+IE9SSU9OIEdlbiA1IiwNCj4+PiBAQCAtMTg3OCw3ICsxOTg4LDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkIA0KPj4+IHVuaXdpbGxfZG1pX3Rh YmxlW10gX19pbml0Y29uc3QgPSB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1J X01BVENIKERNSV9TWVNfVkVORE9SLCAiVFVYRURPIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgRE1JX0VYQUNUX01BVENIKERNSV9CT0FSRF9OQU1FLCAiR014UFh4eCIpLA0KPj4+ IMKgwqDCoMKgwqDCoMKgwqDCoCB9LA0KPj4+IC3CoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEg PSAmZW1wdHlfZGVzY3JpcHRvciwNCj4+PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0g JnR1eF9mZWF0dXJlc2V0XzFfZGVzY3JpcHRvciwNCj4+PiDCoMKgwqDCoMKgIH0sDQo+Pj4gwqDC oMKgwqDCoCB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5pZGVudCA9ICJUVVhFRE8gU3RlbGxh cmlzIFNsaW0gMTUgR2VuNiBBTUQiLA0KPj4+IEBAIC0xODg2LDcgKzE5OTYsNyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgDQo+Pj4gdW5pd2lsbF9kbWlfdGFibGVbXSBfX2lu aXRjb25zdCA9IHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfTUFUQ0goRE1J X1NZU19WRU5ET1IsICJUVVhFRE8iKSwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBE TUlfRVhBQ1RfTUFUQ0goRE1JX0JPQVJEX05BTUUsICJHTXhIR3h4IiksDQo+Pj4gwqDCoMKgwqDC oMKgwqDCoMKgIH0sDQo+Pj4gLcKgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZlbXB0eV9k ZXNjcmlwdG9yLA0KPj4+ICvCoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEgPSAmdHV4X2ZlYXR1 cmVzZXRfMV9kZXNjcmlwdG9yLA0KPj4+IMKgwqDCoMKgwqAgfSwNCj4+PiDCoMKgwqDCoMKgIHsN Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlkZW50ID0gIlRVWEVETyBTdGVsbGFyaXMgU2xpbSAx NSBHZW42IEludGVsL0NvbW1vZG9yZSANCj4+PiBPUklPTiBTbGltIDE1IEdlbjYiLA0KPj4+IEBA IC0xODk0LDcgKzIwMDQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgDQo+ Pj4gdW5pd2lsbF9kbWlfdGFibGVbXSBfX2luaXRjb25zdCA9IHsNCj4+PiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBETUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJUVVhFRE8iKSwNCj4+PiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfRVhBQ1RfTUFUQ0goRE1JX0JPQVJEX05BTUUs ICJHTTVJWHhBIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0sDQo+Pj4gLcKgwqDCoMKgwqDC oMKgIC5kcml2ZXJfZGF0YSA9ICZlbXB0eV9kZXNjcmlwdG9yLA0KPj4+ICvCoMKgwqDCoMKgwqDC oCAuZHJpdmVyX2RhdGEgPSAmdHV4X2ZlYXR1cmVzZXRfMV9kZXNjcmlwdG9yLA0KPj4+IMKgwqDC oMKgwqAgfSwNCj4+PiDCoMKgwqDCoMKgIHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlkZW50 ID0gIlRVWEVETyBTdGVsbGFyaXMgMTYgR2VuNiBJbnRlbC9Db21tb2RvcmUgT1JJT04gDQo+Pj4g MTYgR2VuNiIsDQo+Pj4gQEAgLTE5MDIsNyArMjAxMiw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9faW5pdGNvbnN0ID0gew0K Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwg IlRVWEVETyIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9FWEFDVF9NQVRD SChETUlfQk9BUkRfTkFNRSwgIkdNNklYeEJfTUIxIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKg IH0sDQo+Pj4gLcKgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZlbXB0eV9kZXNjcmlwdG9y LA0KPj4+ICvCoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEgPSAmdHV4X2ZlYXR1cmVzZXRfMV9k ZXNjcmlwdG9yLA0KPj4+IMKgwqDCoMKgwqAgfSwNCj4+PiDCoMKgwqDCoMKgIHsNCj4+PiDCoMKg wqDCoMKgwqDCoMKgwqAgLmlkZW50ID0gIlRVWEVETyBTdGVsbGFyaXMgMTYgR2VuNiBJbnRlbC9D b21tb2RvcmUgT1JJT04gDQo+Pj4gMTYgR2VuNiIsDQo+Pj4gQEAgLTE5MTAsNyArMjAyMCw3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3aWxsX2RtaV90YWJs ZVtdIF9faW5pdGNvbnN0ID0gew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9N QVRDSChETUlfU1lTX1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIERNSV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIkdNNklYeEJfTUIyIiksDQo+ Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0sDQo+Pj4gLcKgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0 YSA9ICZlbXB0eV9kZXNjcmlwdG9yLA0KPj4+ICvCoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEg PSAmdHV4X2ZlYXR1cmVzZXRfMV9kZXNjcmlwdG9yLA0KPj4+IMKgwqDCoMKgwqAgfSwNCj4+PiDC oMKgwqDCoMKgIHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlkZW50ID0gIlRVWEVETyBTdGVs bGFyaXMgMTcgR2VuNiBJbnRlbC9Db21tb2RvcmUgT1JJT04gDQo+Pj4gMTcgR2VuNiIsDQo+Pj4g QEAgLTE5MTgsNyArMjAyOCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCAN Cj4+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9faW5pdGNvbnN0ID0gew0KPj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFN RSwgIkdNN0lYeE4iKSwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfSwNCj4+PiAtwqDCoMKgwqDC oMKgwqAgLmRyaXZlcl9kYXRhID0gJmVtcHR5X2Rlc2NyaXB0b3IsDQo+Pj4gK8KgwqDCoMKgwqDC oMKgIC5kcml2ZXJfZGF0YSA9ICZ0dXhfZmVhdHVyZXNldF8xX2Rlc2NyaXB0b3IsDQo+Pj4gwqDC oMKgwqDCoCB9LA0KPj4+IMKgwqDCoMKgwqAgew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRl bnQgPSAiVFVYRURPIFN0ZWxsYXJpcyAxNiBHZW43IEFNRCIsDQo+Pj4gQEAgLTE5MjYsNyArMjAz Niw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3aWxsX2Rt aV90YWJsZVtdIF9faW5pdGNvbnN0ID0gew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IERNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIERNSV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIlg2RlI1eHhZIiks DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0sDQo+Pj4gLcKgwqDCoMKgwqDCoMKgIC5kcml2ZXJf ZGF0YSA9ICZlbXB0eV9kZXNjcmlwdG9yLA0KPj4+ICvCoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2Rh dGEgPSAmdHV4X2ZlYXR1cmVzZXRfMV9kZXNjcmlwdG9yLA0KPj4+IMKgwqDCoMKgwqAgfSwNCj4+ PiDCoMKgwqDCoMKgIHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlkZW50ID0gIlRVWEVETyBT dGVsbGFyaXMgMTYgR2VuNyBJbnRlbCIsDQo+Pj4gQEAgLTE5MzQsNyArMjA0NCw3IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9f aW5pdGNvbnN0ID0gew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChE TUlfU1lTX1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IERNSV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIlg2QVI1eHhZIiksDQo+Pj4gwqDCoMKg wqDCoMKgwqDCoMKgIH0sDQo+Pj4gLcKgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZlbXB0 eV9kZXNjcmlwdG9yLA0KPj4+ICvCoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEgPSAmdHV4X2Zl YXR1cmVzZXRfMV9kZXNjcmlwdG9yLA0KPj4+IMKgwqDCoMKgwqAgfSwNCj4+PiDCoMKgwqDCoMKg IHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlkZW50ID0gIlRVWEVETyBTdGVsbGFyaXMgMTYg R2VuNyBJbnRlbCIsDQo+Pj4gQEAgLTE5NDIsNyArMjA1Miw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9faW5pdGNvbnN0ID0g ew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRP UiwgIlRVWEVETyIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9FWEFDVF9N QVRDSChETUlfQk9BUkRfTkFNRSwgIlg2QVI1eHhZX21MRUQiKSwNCj4+PiDCoMKgwqDCoMKgwqDC oMKgwqAgfSwNCj4+PiAtwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJmVtcHR5X2Rlc2Ny aXB0b3IsDQo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZ0dXhfZmVhdHVyZXNl dF8xX2Rlc2NyaXB0b3IsDQo+Pj4gwqDCoMKgwqDCoCB9LA0KPj4+IMKgwqDCoMKgwqAgew0KPj4+ IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIFB1bHNlIDE0IEdlbjEgQU1EIiwN Cj4+DQo= --------------gkZsjUevXY4dwSvKSRdVhV0z Content-Type: text/x-patch; charset=UTF-8; name="0001-platform-x86-uniwill-laptop-Disable-cTGP-and-dynamic.patch" Content-Disposition: attachment; filename*0="0001-platform-x86-uniwill-laptop-Disable-cTGP-and-dynamic.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA3MDc1OTdiMDE5YTYwODYyNWY2NGZlZjBjNzg3ZmRmNmM3NWYzMmI4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBcm1pbiBXb2xmIDxXX0FybWluQGdteC5kZT4KRGF0 ZTogVGh1LCA0IERlYyAyMDI1IDIwOjIxOjM4ICswMTAwClN1YmplY3Q6IFtQQVRDSF0gcGxh dGZvcm0veDg2OiB1bml3aWxsLWxhcHRvcDogRGlzYWJsZSBjVEdQIGFuZCBkeW5hbWljIGJv b3N0CiBkdXJpbmcgc3VzcGVuZAoKVE9ETwoKU2lnbmVkLW9mZi1ieTogQXJtaW4gV29sZiA8 V19Bcm1pbkBnbXguZGU+Ci0tLQogZHJpdmVycy9wbGF0Zm9ybS94ODYvdW5pd2lsbC91bml3 aWxsLWFjcGkuYyB8IDMzICsrKysrKysrKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQs IDI5IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9wbGF0Zm9ybS94ODYvdW5pd2lsbC91bml3aWxsLWFjcGkuYyBiL2RyaXZlcnMvcGxhdGZv cm0veDg2L3VuaXdpbGwvdW5pd2lsbC1hY3BpLmMKaW5kZXggNmNlMGI5Yzk5ZDNkLi5jN2U5 ZGIzYzlhNGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L3VuaXdpbGwvdW5p d2lsbC1hY3BpLmMKKysrIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvdW5pd2lsbC91bml3aWxs LWFjcGkuYwpAQCAtODk3LDkgKzg5Nyw4IEBAIHN0YXRpYyBpbnQgdW5pd2lsbF9udmlkaWFf Y3RncF9pbml0KHN0cnVjdCB1bml3aWxsX2RhdGEgKmRhdGEpCiAJaWYgKHJldCA8IDApCiAJ CXJldHVybiByZXQ7CiAKLQlyZXQgPSByZWdtYXBfdXBkYXRlX2JpdHMoZGF0YS0+cmVnbWFw LCBFQ19BRERSX0NUR1BfREJfQ1RSTCwKLQkJCQkgQ1RHUF9EQl9HRU5FUkFMX0VOQUJMRSB8 IENUR1BfREJfREJfRU5BQkxFIHwgQ1RHUF9EQl9DVEdQX0VOQUJMRSwKLQkJCQkgQ1RHUF9E Ql9HRU5FUkFMX0VOQUJMRSB8IENUR1BfREJfREJfRU5BQkxFIHwgQ1RHUF9EQl9DVEdQX0VO QUJMRSk7CisJcmV0ID0gcmVnbWFwX3NldF9iaXRzKGRhdGEtPnJlZ21hcCwgRUNfQUREUl9D VEdQX0RCX0NUUkwsCisJCQkgICAgICBDVEdQX0RCX0dFTkVSQUxfRU5BQkxFIHwgQ1RHUF9E Ql9EQl9FTkFCTEUgfCBDVEdQX0RCX0NUR1BfRU5BQkxFKTsKIAlpZiAocmV0IDwgMCkKIAkJ cmV0dXJuIHJldDsKIApAQCAtMTU3MCw2ICsxNTY5LDE1IEBAIHN0YXRpYyBpbnQgdW5pd2ls bF9zdXNwZW5kX2JhdHRlcnkoc3RydWN0IHVuaXdpbGxfZGF0YSAqZGF0YSkKIAlyZXR1cm4g cmVnbWFwX3JlYWQoZGF0YS0+cmVnbWFwLCBFQ19BRERSX0NIQVJHRV9DVFJMLCAmZGF0YS0+ bGFzdF9jaGFyZ2VfY3RybCk7CiB9CiAKK3N0YXRpYyBpbnQgdW5pd2lsbF9zdXNwZW5kX252 aWRpYV9jdGdwKHN0cnVjdCB1bml3aWxsX2RhdGEgKmRhdGEpCit7CisJaWYgKCF1bml3aWxs X2RldmljZV9zdXBwb3J0cyhkYXRhLCBVTklXSUxMX0ZFQVRVUkVfTlZJRElBX0NUR1BfQ09O VFJPTCkpCisJCXJldHVybiAwOworCisJcmV0dXJuIHJlZ21hcF9jbGVhcl9iaXRzKGRhdGEt PnJlZ21hcCwgRUNfQUREUl9DVEdQX0RCX0NUUkwsCisJCQkJIENUR1BfREJfREJfRU5BQkxF IHwgQ1RHUF9EQl9DVEdQX0VOQUJMRSk7Cit9CisKIHN0YXRpYyBpbnQgdW5pd2lsbF9zdXNw ZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgdW5pd2lsbF9kYXRhICpkYXRh ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CkBAIC0xNTgzLDYgKzE1OTEsMTAgQEAgc3RhdGlj IGludCB1bml3aWxsX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQogCWlmIChyZXQgPCAw KQogCQlyZXR1cm4gcmV0OwogCisJcmV0ID0gdW5pd2lsbF9zdXNwZW5kX252aWRpYV9jdGdw KGRhdGEpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCiAJcmVnY2FjaGVfY2Fj aGVfb25seShkYXRhLT5yZWdtYXAsIHRydWUpOwogCXJlZ2NhY2hlX21hcmtfZGlydHkoZGF0 YS0+cmVnbWFwKTsKIApAQCAtMTYxOSw2ICsxNjMxLDE1IEBAIHN0YXRpYyBpbnQgdW5pd2ls bF9yZXN1bWVfYmF0dGVyeShzdHJ1Y3QgdW5pd2lsbF9kYXRhICpkYXRhKQogCQkJCSAgZGF0 YS0+bGFzdF9jaGFyZ2VfY3RybCk7CiB9CiAKK3N0YXRpYyBpbnQgdW5pd2lsbF9yZXN1bWVf bnZpZGlhX2N0Z3Aoc3RydWN0IHVuaXdpbGxfZGF0YSAqZGF0YSkKK3sKKwlpZiAoIXVuaXdp bGxfZGV2aWNlX3N1cHBvcnRzKGRhdGEsIFVOSVdJTExfRkVBVFVSRV9OVklESUFfQ1RHUF9D T05UUk9MKSkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gcmVnbWFwX3NldF9iaXRzKGRhdGEt PnJlZ21hcCwgRUNfQUREUl9DVEdQX0RCX0NUUkwsCisJCQkgICAgICAgQ1RHUF9EQl9EQl9F TkFCTEUgfCBDVEdQX0RCX0NUR1BfRU5BQkxFKTsKK30KKwogc3RhdGljIGludCB1bml3aWxs X3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IHVuaXdpbGxfZGF0YSAq ZGF0YSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwpAQCAtMTYzNCw3ICsxNjU1LDExIEBAIHN0 YXRpYyBpbnQgdW5pd2lsbF9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQogCWlmIChyZXQg PCAwKQogCQlyZXR1cm4gcmV0OwogCi0JcmV0dXJuIHVuaXdpbGxfcmVzdW1lX2JhdHRlcnko ZGF0YSk7CisJcmV0ID0gdW5pd2lsbF9yZXN1bWVfYmF0dGVyeShkYXRhKTsKKwlpZiAocmV0 IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCXJldHVybiB1bml3aWxsX3Jlc3VtZV9udmlkaWFf Y3RncChkYXRhKTsKIH0KIAogc3RhdGljIERFRklORV9TSU1QTEVfREVWX1BNX09QUyh1bml3 aWxsX3BtX29wcywgdW5pd2lsbF9zdXNwZW5kLCB1bml3aWxsX3Jlc3VtZSk7Ci0tIAoyLjM5 LjUKCg== --------------gkZsjUevXY4dwSvKSRdVhV0z--