Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp10661352ybl; Thu, 26 Dec 2019 23:24:20 -0800 (PST) X-Google-Smtp-Source: APXvYqwBP/TzIkDndWCw5erGvj/k9UlZMZvxP2GWNtdz8++uWYwWv0kXreDRPxbHiiMejpj46G+I X-Received: by 2002:a05:6830:1289:: with SMTP id z9mr57148264otp.317.1577431460537; Thu, 26 Dec 2019 23:24:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577431460; cv=none; d=google.com; s=arc-20160816; b=Uqnb6vG1AuH8AVOiH2/dmJHkQqpjwrtetuTPRFUu5CKndp9Vx6M6YIdNxeT7yE40pT 3SJ98AO6ZjCPyM/maDG2sz4TVb2kCgXb9oFLcihhRl4laojl5xErbUKR5N0fTG4l0OCl +nuViccRdDNOtIu7H2TBXMyOdmGwb6Iv9PZLg2cvi4cUz23H00BIbH0wYHMOBkNiO+Xz h7iBoEzGVJ2T1Jn2M6u2M99UNX93SYtCz0U5Zl+I0o0dRHrBVPqWEagYGqPLNj9R9R7E oqQt5iqH4+V+UOXF/6iiuwPb/oD6QykDZJ2WWqXk1EpX1hBgApy6/PnfoN8GWoo3ZFwp UpMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:date:cc:to:from:subject:message-id :dkim-signature; bh=u+U1TrW0IsDnGyB1I5ofisWe5Qd+waMvShubc2tOoEc=; b=QNntYG22guTxrIAVBY7VOVLQQrnLhqmfSGDJ+Jnj8JUz3goTnU3gucsKBFOGNBUKB2 CeHk5zJRuaGGLvMvxmOVhaUEjEbfGpTgM+W4TZzl3mLB4WdGqlX4g9c8HFs0wkl7YDWu LIRAvLCS+DfLjGuAMV2z8TqilU1RfKHcYWj1eZlr4ePhszXwtUnavER6bvMAtlbOoy0T xtI4+DqPLHDyvCzZa0gghGwqmz3hlqxbm1pbfgZ+SpP3aqOAYl4V62NeP3ozjsGAb+jc jEcHp+HLUs/UWvbWYLMk7Y4bXpWz+OBG8WmKC77n1+eAXyd4UJcT0dgy1fhb9Y+YGDdN b+Qg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=PndAyuXT; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l14si18458903otk.225.2019.12.26.23.24.08; Thu, 26 Dec 2019 23:24:20 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=PndAyuXT; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727188AbfL0HWQ (ORCPT + 99 others); Fri, 27 Dec 2019 02:22:16 -0500 Received: from mailgw02.mediatek.com ([210.61.82.184]:40174 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726329AbfL0HWQ (ORCPT ); Fri, 27 Dec 2019 02:22:16 -0500 X-UUID: 54b0d17df6c64c7fa13478ba3cf1710d-20191227 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=u+U1TrW0IsDnGyB1I5ofisWe5Qd+waMvShubc2tOoEc=; b=PndAyuXTfZ6vLRP/aMAx1Dy32IAo3CXLG5zJvBTUvzrbW+vWZRE+N5XJ5V3CNSpcml5WN8IG8a6lHOSwc5ARv9N6v7HvvleWHwemRBlgzYuoCg4xZnNBQiLmmsEycAAqXRrwQLeYKGh4jGK0RmpKEs5rw1ufpmmsRziDaZiMsD8=; X-UUID: 54b0d17df6c64c7fa13478ba3cf1710d-20191227 Received: from mtkcas06.mediatek.inc [(172.21.101.30)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1508058154; Fri, 27 Dec 2019 15:22:07 +0800 Received: from MTKCAS32.mediatek.inc (172.27.4.184) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Fri, 27 Dec 2019 15:21:45 +0800 Received: from [10.17.3.153] (172.27.4.253) by MTKCAS32.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Fri, 27 Dec 2019 15:22:36 +0800 Message-ID: <1577431271.32039.12.camel@mhfsdcap03> Subject: Re: [PATCH v2 2/2] memory: mtk-smi: Add bandwidth initial golden setting for MT6779 From: Yong Wu To: Ming-Fan Chen CC: Rob Herring , Matthias Brugger , Evan Green , Joerg Roedel , , , , , Date: Fri, 27 Dec 2019 15:21:11 +0800 In-Reply-To: <1575872371-671-4-git-send-email-ming-fan.chen@mediatek.com> References: <1575872371-671-1-git-send-email-ming-fan.chen@mediatek.com> <1575872371-671-4-git-send-email-ming-fan.chen@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gTW9uLCAyMDE5LTEyLTA5IGF0IDE0OjE5ICswODAwLCBNaW5nLUZhbiBDaGVuIHdyb3RlOg0K PiBTTUkgYmFuZHdpZHRoIGluaXRpYWwgZ29sZGVuIHNldHRpbmcgZm9yIE1UNjc3OSBtYWtlIHN1 cmUNCj4gYmV0dGVyIHBlcmZvcm1hbmNlIG9mIG1lbW9yeSBjb250cm9sIGZvciBtdWx0aW1lZGlh IG1vZHVsZXMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBNaW5nLUZhbiBDaGVuIDxtaW5nLWZhbi5j aGVuQG1lZGlhdGVrLmNvbT4NCj4gLS0tDQo+ICBkcml2ZXJzL21lbW9yeS9tdGstc21pLmMgfCAg MTQzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0NCj4gIDEg ZmlsZSBjaGFuZ2VkLCAxNDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPiANCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbWVtb3J5L210ay1zbWkuYyBiL2RyaXZlcnMvbWVtb3J5L210ay1z bWkuYw0KPiBpbmRleCA0MzlkN2Q4Li42YjE4YjcxIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL21l bW9yeS9tdGstc21pLmMNCj4gKysrIGIvZHJpdmVycy9tZW1vcnkvbXRrLXNtaS5jDQo+IEBAIC00 MSwyMSArNDEsNDkgQEANCj4gICNkZWZpbmUgU01JX0xBUkJfTk9OU0VDX0NPTihpZCkJKDB4Mzgw ICsgKChpZCkgKiA0KSkNCj4gICNkZWZpbmUgRl9NTVVfRU4JCUJJVCgwKQ0KPiAgDQo+ICsjZGVm aW5lIFNNSV9MQVJCX0NNRF9USFJUX0NPTgkgMHgyNA0KPiArI2RlZmluZSBTTUlfTEFSQl9TV19G TEFHCSAweDQwDQo+ICsjZGVmaW5lIFNNSV9MQVJCX09TVERMX1BPUlQJIDB4MjAwDQo+ICsjZGVm aW5lIFNNSV9MQVJCX09TVERMX1BPUlR4KGlkKSAoU01JX0xBUkJfT1NURExfUE9SVCArICgoKGlk KSAmIDB4MWYpIDw8IDIpKQ0KPiArDQo+ICAvKiBTTUkgQ09NTU9OICovDQo+ICsjZGVmaW5lIFNN SV9MMUxFTgkJCTB4MTAwDQo+ICsjZGVmaW5lIFNNSV9MMUFSQjAJCQkweDEwNA0KPiArI2RlZmlu ZSBTTUlfTDFBUkIoaWQpCQkJKFNNSV9MMUFSQjAgKyAoKChpZCkgJiAweDcpIDw8IDIpKQ0KPiAr DQo+ICAjZGVmaW5lIFNNSV9CVVNfU0VMCQkJMHgyMjANCj4gICNkZWZpbmUgU01JX0JVU19MQVJC X1NISUZUKGxhcmJpZCkJKChsYXJiaWQpIDw8IDEpDQo+ICAvKiBBbGwgYXJlIE1NVTAgZGVmYXVs dGx5LiBPbmx5IHNwZWNpYWxpemUgbW11MSBoZXJlLiAqLw0KPiAgI2RlZmluZSBGX01NVTFfTEFS QihsYXJiaWQpCQkoMHgxIDw8IFNNSV9CVVNfTEFSQl9TSElGVChsYXJiaWQpKQ0KPiAgDQo+ICsj ZGVmaW5lIFNNSV9NNFVfVEgJCQkweDIzNA0KPiArI2RlZmluZSBTTUlfRklGT19USDEJCQkweDIz OA0KPiArI2RlZmluZSBTTUlfRklGT19USDIJCQkweDIzYw0KPiArI2RlZmluZSBTTUlfRENNCQkJ CTB4MzAwDQo+ICsjZGVmaW5lIFNNSV9EVU1NWQkJCTB4NDQ0DQo+ICsNCj4gKyNkZWZpbmUgU01J X0xBUkJfUE9SVF9OUl9NQVgJCTMyDQo+ICsjZGVmaW5lIFNNSV9MQVJCX01JU0NfTlIJCTINCj4g KyNkZWZpbmUgU01JX0NPTU1PTl9NSVNDX05SCQk2DQo+ICsNCj4gIGVudW0gbXRrX3NtaV9nZW4g ew0KPiAgCU1US19TTUlfR0VOMSwNCj4gIAlNVEtfU01JX0dFTjINCj4gIH07DQo+ICANCj4gK3N0 cnVjdCBtdGtfc21pX3JlZ19wYWlyIHsNCj4gKwl1MTYJb2Zmc2V0Ow0KPiArCXUzMgl2YWx1ZTsN Cj4gK307DQo+ICsNCj4gIHN0cnVjdCBtdGtfc21pX2NvbW1vbl9wbGF0IHsNCj4gIAllbnVtIG10 a19zbWlfZ2VuIGdlbjsNCj4gIAlib29sICAgICAgICAgICAgIGhhc19nYWxzOw0KPiAgCXUzMiAg ICAgICAgICAgICAgYnVzX3NlbDsgLyogQmFsYW5jZSBzb21lIGxhcmJzIHRvIGVudGVyIG1tdTAg b3IgbW11MSAqLw0KPiArCWJvb2wgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc19id2M7DQo+ ICsJdTggICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFyYl9ucjsNCj4gKwljb25zdCB1MTYg ICAgICAgICAgICAgICAgICAgICAqbDFhcmI7DQo+ICsJY29uc3Qgc3RydWN0IG10a19zbWlfcmVn X3BhaXIgKm1pc2M7DQo+ICB9Ow0KPiAgDQo+ICBzdHJ1Y3QgbXRrX3NtaV9sYXJiX2dlbiB7DQo+ IEBAIC02Myw2ICs5MSw5IEBAIHN0cnVjdCBtdGtfc21pX2xhcmJfZ2VuIHsNCj4gIAl2b2lkICgq Y29uZmlnX3BvcnQpKHN0cnVjdCBkZXZpY2UgKik7DQo+ICAJdW5zaWduZWQgaW50CQkJbGFyYl9k aXJlY3RfdG9fY29tbW9uX21hc2s7DQo+ICAJYm9vbAkJCQloYXNfZ2FsczsNCj4gKwlib29sCQkJ CWhhc19id2M7DQo+ICsJY29uc3QgdTgJCQkoKm9zdGRsKVtTTUlfTEFSQl9QT1JUX05SX01BWF07 DQo+ICsJY29uc3Qgc3RydWN0IG10a19zbWlfcmVnX3BhaXIJKCptaXNjKVtTTUlfTEFSQl9NSVND X05SXTsNCj4gIH07DQo+ICANCj4gIHN0cnVjdCBtdGtfc21pIHsNCj4gQEAgLTE2MSw2ICsxOTIs OCBAQCBzdGF0aWMgdm9pZCBtdGtfc21pX2xhcmJfY29uZmlnX3BvcnRfZ2VuMl9nZW5lcmFsKHN0 cnVjdCBkZXZpY2UgKmRldikNCj4gIAlzdHJ1Y3QgbXRrX3NtaV9sYXJiICpsYXJiID0gZGV2X2dl dF9kcnZkYXRhKGRldik7DQo+ICAJdTMyIHJlZzsNCj4gIAlpbnQgaTsNCj4gKwljb25zdCB1OCAq b3N0ZGw7DQo+ICsJY29uc3Qgc3RydWN0IG10a19zbWlfcmVnX3BhaXIgKm1pc2M7DQoNCk5vcm1h bGx5IGRlZmluZSB0aGUgbG9jYWwgdmFyaWFibGVzIGZyb20gbG9uZyB0byBzaG9ydC4NCg0KVGhh dCBtZWFuczoNCisJY29uc3Qgc3RydWN0IG10a19zbWlfcmVnX3BhaXIgKm1pc2M7DQorCWNvbnN0 IHU4ICpvc3RkbDsNCiAgICAgICAgdTMyIHJlZzsNCiAgICAgICAgaW50IGk7DQoNCj4gIA0KPiAg CWlmIChCSVQobGFyYi0+bGFyYmlkKSAmIGxhcmItPmxhcmJfZ2VuLT5sYXJiX2RpcmVjdF90b19j b21tb25fbWFzaykNCj4gIAkJcmV0dXJuOw0KPiBAQCAtMTcwLDYgKzIwMywyMCBAQCBzdGF0aWMg dm9pZCBtdGtfc21pX2xhcmJfY29uZmlnX3BvcnRfZ2VuMl9nZW5lcmFsKHN0cnVjdCBkZXZpY2Ug KmRldikNCj4gIAkJcmVnIHw9IEZfTU1VX0VOOw0KPiAgCQl3cml0ZWwocmVnLCBsYXJiLT5iYXNl ICsgU01JX0xBUkJfTk9OU0VDX0NPTihpKSk7DQo+ICAJfQ0KPiArDQo+ICsJaWYgKCFsYXJiLT5s YXJiX2dlbi0+aGFzX2J3YykNCj4gKwkJcmV0dXJuOw0KPiArDQo+ICsJZm9yIChpID0gMCwgb3N0 ZGwgPSBsYXJiLT5sYXJiX2dlbi0+b3N0ZGxbbGFyYi0+bGFyYmlkXTsNCj4gKwkJaSA8IFNNSV9M QVJCX1BPUlRfTlJfTUFYOyBpKyspDQo+ICsJCXdyaXRlbF9yZWxheGVkKG9zdGRsW2ldLA0KPiAr CQkJICAgICAgIGxhcmItPmJhc2UgKyBTTUlfTEFSQl9PU1RETF9QT1JUeChpKSk7DQoNCnRoZSB3 cml0ZWxfcmVsYXhlZCBjYW4gYmUgZG9uZSBpbiBvbmUgbGluZSwgaXQgaXNuJ3Qgb3ZlciA4MC4N Cg0KDQpvc3RkbCA9IGxhcmItPmxhcmJfZ2VuLT5vc3RkbFtsYXJiLT5sYXJiaWRdOw0KZm9yIChp ID0gMDsgaSA8IFNNSV9MQVJCX1BPUlRfTlJfTUFYOyBpKyspDQoJd3JpdGVsX3JlbGF4ZWQob3N0 ZGxbaV0sIGxhcmItPmJhc2UgKyBTTUlfTEFSQl9PU1RETF9QT1JUeChpKSk7DQoNCj4gKw0KPiAr CWZvciAoaSA9IDAsIG1pc2MgPSBsYXJiLT5sYXJiX2dlbi0+bWlzY1tsYXJiLT5sYXJiaWRdOw0K PiArCQlpIDwgU01JX0xBUkJfTUlTQ19OUjsgaSsrKQ0KPiArCQl3cml0ZWxfcmVsYXhlZChtaXNj W2ldLnZhbHVlLA0KPiArCQkJICAgICAgIGxhcmItPmJhc2UgKyBtaXNjW2ldLm9mZnNldCk7DQoN CmRpdHRvLiBpdCBhbHNvIGRvbid0IG92ZXIgODAgY2hhcnMuDQoNCm1pc2MgPSBsYXJiLT5sYXJi X2dlbi0+bWlzY1tsYXJiLT5sYXJiaWRdOw0KZm9yIChpID0gMDsgaSA8IFNNSV9MQVJCX01JU0Nf TlI7IGkrKykNCgl3cml0ZWxfcmVsYXhlZChtaXNjW2ldLnZhbHVlLCBsYXJiLT5iYXNlICsgbWlz Y1tpXS5vZmZzZXQpOw0KDQo+ICsJd21iKCk7IC8qIG1ha2Ugc3VyZSBzZXR0aW5ncyBhcmUgd3Jp dHRlbiAqLw0KPiAgfQ0KPiAgDQo+ICBzdGF0aWMgdm9pZCBtdGtfc21pX2xhcmJfY29uZmlnX3Bv cnRfbXQ4MTczKHN0cnVjdCBkZXZpY2UgKmRldikNCj4gQEAgLTIzOSw2ICsyODYsNTUgQEAgc3Rh dGljIHZvaWQgbXRrX3NtaV9sYXJiX2NvbmZpZ19wb3J0X2dlbjEoc3RydWN0IGRldmljZSAqZGV2 KQ0KPiAgCS5sYXJiX2RpcmVjdF90b19jb21tb25fbWFzayA9IEJJVCg4KSB8IEJJVCg5KSwgICAg ICAvKiBiZHBzeXMgKi8NCj4gIH07DQo+ICANCj4gK3N0YXRpYyBjb25zdCB1OCBtdGtfc21pX2xh cmJfbXQ2Nzc5X29zdGRsW11bU01JX0xBUkJfUE9SVF9OUl9NQVhdID0gew0KPiArCXsweDI4LCAw eDI4LCAweDAxLCAweDI4LCAweDAxLCAweDAxLCAweDBhLCAweDBhLCAweDI4LH0sDQo+ICsJezB4 MjgsIDB4MDEsIDB4MjgsIDB4MjgsIDB4MGEsIDB4MDEsIDB4MDEsIDB4MGQsIDB4MGQsIDB4MDcs DQo+ICsJIDB4MDEsIDB4MDcsIDB4MDEsIDB4MjgsfSwNCj4gKwl7MHgxOCwgMHgwMSwgMHgwOCwg MHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMiwNCj4gKwkgMHgwMSwgMHgw MX0sDQo+ICsJezB4MDEsIDB4MDMsIDB4MDIsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDQs IDB4MDIsIDB4MDEsDQo+ICsJIDB4MDQsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDQsIDB4 MGIsIDB4MTMsIDB4MTQsfSwNCj4gKwl7fSwNCj4gKwl7MHgxMywgMHgwZiwgMHgwZCwgMHgwNywg MHgwNywgMHgwNCwgMHgwMywgMHgwMSwgMHgwMywgMHgwMSwNCj4gKwkgMHgwNSwgMHgwYywgMHgw MSwgMHgwMSwgMHgwOCwgMHgwNiwgMHgwMiwgMHgwMSwgMHgwOCwgMHgwOCwNCj4gKwkgMHgwMSwg MHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSx9LA0KPiArCXsweDAxLCAweDAxLCAweDAxLH0s DQo+ICsJezB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsfSwNCj4gKwl7MHgwMSwgMHgwMSwgMHgwMSwg MHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSx9LA0KPiArCXsweDFmLCAw eDFhLCAweDAyLCAweDA0LCAweDFmLCAweDAyLCAweDE0LCAweDAxLCAweDFmLCAweDA0LA0KPiAr CSAweDA0LCAweDAxLCAweDAxLCAweDAxLCAweDAyLCAweDAyLCAweDA0LCAweDAyLCAweDAxLCAw eDAyLA0KPiArCSAweDA0LCAweDAyLCAweDAyLCAweDAxLH0sDQo+ICsJezB4MWYsIDB4MWEsIDB4 MDIsIDB4MDQsIDB4MWYsIDB4MDIsIDB4MTQsIDB4MDEsIDB4MWYsIDB4MWEsDQo+ICsJIDB4MDIs IDB4MDQsIDB4MWYsIDB4MDIsIDB4MTQsIDB4MDEsIDB4MDEsIDB4MDIsIDB4MDIsIDB4MDQsDQo+ ICsJIDB4MDIsIDB4MGEsIDB4MDIsIDB4MDIsIDB4MDQsIDB4MDIsIDB4MGEsIDB4MDIsIDB4MDQs IDB4MDIsIDB4MDQsfSwNCj4gKwl7MHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSx9LA0KPiAr fTsNCj4gKw0KPiArc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfc21pX3JlZ19wYWlyDQo+ICttdGtf c21pX2xhcmJfbXQ2Nzc5X21pc2NbXVtTTUlfTEFSQl9NSVNDX05SXSA9IHsNCj4gKwl7e1NNSV9M QVJCX0NNRF9USFJUX0NPTiwgMHgzNzAyNTZ9LCB7U01JX0xBUkJfU1dfRkxBRywgMHgxfSx9LA0K DQpJIGFtIGNvbmZ1c2VkIHdoeSB3ZSBuZWVkIFNNSV9MQVJCX1NXX0ZMQUcuIERvZXMgaXQgb25s eSBpbmRpY2F0ZSB0aGF0DQp0aGUgc2V0dGluZyBpcyBub3QgdGhlIGRlZmF1bHQgb25lPy4gSSBn dWVzcyB3ZSBhbHNvIGdldCBpdCBmcm9tIHRoZQ0Kb3RoZXIgcmVnc2l0ZXIsIGxpa2UgU01JX0xB UkJfQ01EX1RIUlRfQ09OLg0KDQo+ICsJe3tTTUlfTEFSQl9DTURfVEhSVF9DT04sIDB4MzAwMjU2 fSwge1NNSV9MQVJCX1NXX0ZMQUcsIDB4MX0sfSwNCj4gKwl7e1NNSV9MQVJCX0NNRF9USFJUX0NP TiwgMHgzNzAyNTZ9LCB7U01JX0xBUkJfU1dfRkxBRywgMHgxfSx9LA0KPiArCXt9LA0KPiArCXt7 U01JX0xBUkJfQ01EX1RIUlRfQ09OLCAweDMwMDI1Nn0sIHtTTUlfTEFSQl9TV19GTEFHLCAweDF9 LH0sDQo+ICsJe3tTTUlfTEFSQl9DTURfVEhSVF9DT04sIDB4MzAwMjU2fSwge1NNSV9MQVJCX1NX X0ZMQUcsIDB4MX0sfSwNCj4gKwl7e1NNSV9MQVJCX0NNRF9USFJUX0NPTiwgMHgzMDAyNTZ9LCB7 U01JX0xBUkJfU1dfRkxBRywgMHgxfSx9LA0KPiArCXt7U01JX0xBUkJfQ01EX1RIUlRfQ09OLCAw eDMwMDI1Nn0sIHtTTUlfTEFSQl9TV19GTEFHLCAweDF9LH0sDQo+ICsJe3tTTUlfTEFSQl9DTURf VEhSVF9DT04sIDB4MzcwMjU2fSwge1NNSV9MQVJCX1NXX0ZMQUcsIDB4MX0sfSwNCj4gKwl7e1NN SV9MQVJCX0NNRF9USFJUX0NPTiwgMHgzNzAyNTZ9LCB7U01JX0xBUkJfU1dfRkxBRywgMHgxfSx9 LA0KPiArCXt7U01JX0xBUkJfQ01EX1RIUlRfQ09OLCAweDM3MDI1Nn0sIHtTTUlfTEFSQl9TV19G TEFHLCAweDF9LH0sDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG10a19zbWlf bGFyYl9nZW4gbXRrX3NtaV9sYXJiX210Njc3OSA9IHsNCj4gKwkuY29uZmlnX3BvcnQgID0gbXRr X3NtaV9sYXJiX2NvbmZpZ19wb3J0X2dlbjJfZ2VuZXJhbCwNCj4gKwkubGFyYl9kaXJlY3RfdG9f Y29tbW9uX21hc2sgPQ0KPiArCQlCSVQoNCkgfCBCSVQoNikgfCBCSVQoMTEpIHwgQklUKDEyKSB8 IEJJVCgxMyksDQo+ICsJCS8qIERVTU1ZIHwgSVBVMCB8IElQVTEgfCBDQ1UgfCBNRExBICovDQo+ ICsJLmhhc19id2MgPSB0cnVlLA0KDQpEb2VzIHRoZSBsYXJiIGFsc28gaGF2ZSBoYXNfZ2Fscz8N Cg0KPiArCS5vc3RkbCAgID0gbXRrX3NtaV9sYXJiX210Njc3OV9vc3RkbCwNCj4gKwkubWlzYyAg ICA9IG10a19zbWlfbGFyYl9tdDY3NzlfbWlzYywNCj4gK307DQo+ICsNCj4gIHN0YXRpYyBjb25z dCBzdHJ1Y3QgbXRrX3NtaV9sYXJiX2dlbiBtdGtfc21pX2xhcmJfbXQ4MTgzID0gew0KPiAgCS5o YXNfZ2FscyAgICAgICAgICAgICAgICAgICA9IHRydWUsDQo+ICAJLmNvbmZpZ19wb3J0ICAgICAg ICAgICAgICAgID0gbXRrX3NtaV9sYXJiX2NvbmZpZ19wb3J0X2dlbjJfZ2VuZXJhbCwNCj4gQEAg LTI2MCw2ICszNTYsMTAgQEAgc3RhdGljIHZvaWQgbXRrX3NtaV9sYXJiX2NvbmZpZ19wb3J0X2dl bjEoc3RydWN0IGRldmljZSAqZGV2KQ0KPiAgCQkuZGF0YSA9ICZtdGtfc21pX2xhcmJfbXQyNzEy DQo+ICAJfSwNCj4gIAl7DQo+ICsJCS5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10Njc3OS1zbWkt bGFyYiIsDQo+ICsJCS5kYXRhID0gJm10a19zbWlfbGFyYl9tdDY3NzkNCj4gKwl9LA0KPiArCXsN Cj4gIAkJLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTgzLXNtaS1sYXJiIiwNCj4gIAkJLmRh dGEgPSAmbXRrX3NtaV9sYXJiX210ODE4Mw0KPiAgCX0sDQo+IEBAIC0zODYsNiArNDg2LDMxIEBA IHN0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgbXRrX3NtaV9sYXJiX3N1c3BlbmQoc3RydWN0IGRl dmljZSAqZGV2KQ0KPiAgCS5nZW4gPSBNVEtfU01JX0dFTjIsDQo+ICB9Ow0KPiAgDQo+ICtzdGF0 aWMgY29uc3QgdTE2IG10a19zbWlfY29tbW9uX210Njc3OV9sMWFyYltdID0gew0KPiArCTB4MTAw MCwgMHgxMDAwLCAweDEwMDAsIDB4MTAwMCwgMHgxMDAwLCAweDEwMDAsIDB4MTAwMCwgMHgxMDAw LA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGNvbnN0IHN0cnVjdA0KPiArbXRrX3NtaV9yZWdfcGFp ciBtdGtfc21pX2NvbW1vbl9tdDY3NzlfbWlzY1tTTUlfQ09NTU9OX01JU0NfTlJdID0gew0KPiAr CXtTTUlfTDFMRU4sIDB4Yn0sDQo+ICsJe1NNSV9NNFVfVEgsIDB4ZTEwMGUxMH0sDQo+ICsJe1NN SV9GSUZPX1RIMSwgMHg1MDYwOTBhfSwNCj4gKwl7U01JX0ZJRk9fVEgyLCAweDUwNjA5MGF9LA0K PiArCXtTTUlfRENNLCAweDRmMX0sDQo+ICsJe1NNSV9EVU1NWSwgMHgxfSwNCj4gK307DQo+ICsN Cj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX3NtaV9jb21tb25fcGxhdCBtdGtfc21pX2NvbW1v bl9tdDY3NzkgPSB7DQo+ICsJLmdlbgkJPSBNVEtfU01JX0dFTjIsDQo+ICsJLmhhc19nYWxzCT0g dHJ1ZSwNCj4gKwkuYnVzX3NlbAk9IEZfTU1VMV9MQVJCKDEpIHwgRl9NTVUxX0xBUkIoMikgfCBG X01NVTFfTEFSQig0KSB8DQo+ICsJCQkgIEZfTU1VMV9MQVJCKDUpIHwgRl9NTVUxX0xBUkIoNikg fCBGX01NVTFfTEFSQig3KSwNCj4gKwkuaGFzX2J3Ywk9IHRydWUsDQo+ICsJLmxhcmJfbnIJPSBB UlJBWV9TSVpFKG10a19zbWlfY29tbW9uX210Njc3OV9sMWFyYiksDQo+ICsJLmwxYXJiCQk9IG10 a19zbWlfY29tbW9uX210Njc3OV9sMWFyYiwNCj4gKwkubWlzYwkJPSBtdGtfc21pX2NvbW1vbl9t dDY3NzlfbWlzYywNCg0KSG93IGFib3V0IGFkZCBhIG5ldyBvbmU/Og0KbWlzY19uciA9IEFSUkFZ X1NJWkUobXRrX3NtaV9jb21tb25fbXQ2Nzc5X21pc2MpOw0KDQpCZWNhdXNlIHdlIHNob3VsZCBt b3ZlIHRoZSAiYnVzX3NlbCIgaW50byB0aGlzIG1pc2Mgc3RydWN0dXJlIGxhdGVyLA0KcmlnaHQ/ DQoNCj4gK307DQo+ICsNCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX3NtaV9jb21tb25fcGxh dCBtdGtfc21pX2NvbW1vbl9tdDgxODMgPSB7DQo+ICAJLmdlbiAgICAgID0gTVRLX1NNSV9HRU4y LA0KPiAgCS5oYXNfZ2FscyA9IHRydWUsDQo+IEBAIC00MDcsNiArNTMyLDEwIEBAIHN0YXRpYyBp bnQgX19tYXliZV91bnVzZWQgbXRrX3NtaV9sYXJiX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2 KQ0KPiAgCQkuZGF0YSA9ICZtdGtfc21pX2NvbW1vbl9nZW4yLA0KPiAgCX0sDQo+ICAJew0KPiAr CQkuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDY3Nzktc21pLWNvbW1vbiIsDQo+ICsJCS5kYXRh ID0gJm10a19zbWlfY29tbW9uX210Njc3OSwNCj4gKwl9LA0KPiArCXsNCj4gIAkJLmNvbXBhdGli bGUgPSAibWVkaWF0ZWssbXQ4MTgzLXNtaS1jb21tb24iLA0KPiAgCQkuZGF0YSA9ICZtdGtfc21p X2NvbW1vbl9tdDgxODMsDQo+ICAJfSwNCj4gQEAgLTQ4NCw3ICs2MTMsNyBAQCBzdGF0aWMgaW50 IF9fbWF5YmVfdW51c2VkIG10a19zbWlfY29tbW9uX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYp DQo+ICB7DQo+ICAJc3RydWN0IG10a19zbWkgKmNvbW1vbiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYp Ow0KPiAgCXUzMiBidXNfc2VsID0gY29tbW9uLT5wbGF0LT5idXNfc2VsOw0KPiAtCWludCByZXQ7 DQo+ICsJaW50IGksIHJldDsNCj4gIA0KPiAgCXJldCA9IG10a19zbWlfY2xrX2VuYWJsZShjb21t b24pOw0KPiAgCWlmIChyZXQpIHsNCj4gQEAgLTQ5NCw2ICs2MjMsMTggQEAgc3RhdGljIGludCBf X21heWJlX3VudXNlZCBtdGtfc21pX2NvbW1vbl9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQ0K PiAgDQo+ICAJaWYgKGNvbW1vbi0+cGxhdC0+Z2VuID09IE1US19TTUlfR0VOMiAmJiBidXNfc2Vs KQ0KPiAgCQl3cml0ZWwoYnVzX3NlbCwgY29tbW9uLT5iYXNlICsgU01JX0JVU19TRUwpOw0KPiAr DQo+ICsJaWYgKCFjb21tb24tPnBsYXQtPmhhc19id2MpDQo+ICsJCXJldHVybiAwOw0KPiArDQo+ ICsJZm9yIChpID0gMDsgaSA8IGNvbW1vbi0+cGxhdC0+bGFyYl9ucjsgaSsrKQ0KPiArCQl3cml0 ZWxfcmVsYXhlZChjb21tb24tPnBsYXQtPmwxYXJiW2ldLA0KPiArCQkJICAgICAgIGNvbW1vbi0+ YmFzZSArIFNNSV9MMUFSQihpKSk7DQo+ICsNCj4gKwlmb3IgKGkgPSAwOyBpIDwgU01JX0NPTU1P Tl9NSVNDX05SOyBpKyspDQo+ICsJCXdyaXRlbF9yZWxheGVkKGNvbW1vbi0+cGxhdC0+bWlzY1tp XS52YWx1ZSwNCj4gKwkJCSAgICAgICBjb21tb24tPmJhc2UgKyBjb21tb24tPnBsYXQtPm1pc2Nb aV0udmFsdWUpOw0KPiArCXdtYigpOyAvKiBtYWtlIHN1cmUgc2V0dGluZ3MgYXJlIHdyaXR0ZW4g Ki8NCj4gIAlyZXR1cm4gMDsNCj4gIH0NCg0KSW4gdGhlIGVuZCwgQXMgdGhlIGNvbW1lbnQgaW4g djEsIHRoaXMgcGF0Y2ggc2hvdWxkIHNwbGl0Og0KDQphLiBhZGQgYmFzaWMgbXQ2Nzc5IHNtaS1s YXJiIHN1cHBvcnQob25seSBhZGQgbm9kZXMgYW5kIGNvbmZpZ19wb3J0IGxpa2UNCnRoZSBwcmV2 aW91cyBTb0MuKQ0KDQpiLiBhZGQgYmFuZHdpZHRoIGluaXRpYWwgc2V0dHRpbmcgZm9yIG10Njc3 OS4NCg0KYy4gTW92ZSB0aGUgYnVzX3NlbCBpbnRvIHRoZSBzbWktY29tbW9uIG1pc2Mgc2V0dGlu Zy4NCg0KPiAgDQoNCg==