Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp416100ybl; Tue, 7 Jan 2020 22:43:32 -0800 (PST) X-Google-Smtp-Source: APXvYqzlJ1S/lMvhBkwo2I5dlxL8Vhfo/HoLlX9FBreGWmKW17jISZ1foriHlcZeiMJbIuFbf1XX X-Received: by 2002:a54:488d:: with SMTP id r13mr1802408oic.115.1578465811994; Tue, 07 Jan 2020 22:43:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578465811; cv=none; d=google.com; s=arc-20160816; b=cLO15mDM9KJ8bDSBjAbb6K3WpwAXqFZqY0H5ngsa1hZqgNrDMKuKCR/eejLuL5beg1 sIwYQNHDJAqbu6lKs7WC1WBJ/DAusyunYOtizXeT9itpScf5Yzdh0+TEocDoa2OX/xQ+ r13FbMEI2QC7lsh8RXFAibh8Fqx14Pb5HfPy6qb3APOVhU2TxWh6btdrTMfhphKmojs8 YfNPjLp3cA0qSvKxtHeyB8QBZBnZrqhGg1qj8e7NBDCtypgll+RhaGrC+rjZj3XtaRpY 8/3KxbB1OgqhP1rsgPehW26wPwkMCWuyITdMNLgiTDxd2C7Y0WNQ7ZagdguEIJ43kvMF tlNg== 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:message-id:date:subject:cc:to:from :dkim-signature; bh=YZUHtY5Et7Z+h9F0lLzp+7QIBnsI3mM9pQonsoRaQYM=; b=qfZ1qwY4eTiIBeS2wwxrFgROXippYM4sB118+5khXw0eOweUOn07KGx7esMmCsHHo+ aRMfkxrCKvAzoJK83KDTAAnl2TOl9xeJIt4WmOET8dubiGqCERQazpnxqND2clV7g6kP uIDohXpTomOzujOoWaca1D25zFKdt7AzZxnLXi0FmWoU7Z3B9j38R4DMWRW6g6nticp/ SxUbwyVOm3qOHuqVwf2iOm2H8FXsqyyyl5naCiWK48sj+wS6OhU+kYEdsOy8AXBACish 6nldE2ymHzcZBn3JI/wPnvKtgJIOycU/Ui6xDfMs3Vqp4qBBBN2lojk7PzeHAn18e5c5 rAxQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=L1A838Oj; 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 m4si1336639otr.122.2020.01.07.22.43.19; Tue, 07 Jan 2020 22:43:31 -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=L1A838Oj; 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 S1726808AbgAHGln (ORCPT + 99 others); Wed, 8 Jan 2020 01:41:43 -0500 Received: from mailgw01.mediatek.com ([210.61.82.183]:25005 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726149AbgAHGll (ORCPT ); Wed, 8 Jan 2020 01:41:41 -0500 X-UUID: 36b76f185e054e4ebcbd9c66463b0225-20200108 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=YZUHtY5Et7Z+h9F0lLzp+7QIBnsI3mM9pQonsoRaQYM=; b=L1A838OjFA2IX14aD5laPK+mJLV1rHLhjxJItjiETEnOIz4qigoKhFaxPMgo3UGp+zl0VKGLD73yLzPPYS1/Ws5z8nu6tqvy1PDu16QCjEredy5jpqj/TbsOFdZgwNwOMI1qi4HLA1m2vj8U/Rr0WJzfmYcMfOBOXSCoYsDq6Zo=; X-UUID: 36b76f185e054e4ebcbd9c66463b0225-20200108 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 174346311; Wed, 08 Jan 2020 14:41:34 +0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 8 Jan 2020 14:41:08 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Wed, 8 Jan 2020 14:39:59 +0800 From: Ming-Fan Chen To: Rob Herring , Matthias Brugger CC: Yong Wu , Evan Green , Joerg Roedel , , , , , , Ming-Fan Chen Subject: [PATCH v3 3/3] memory: mtk-smi: Add bandwidth initial golden setting Date: Wed, 8 Jan 2020 14:41:31 +0800 Message-ID: <1578465691-30692-5-git-send-email-ming-fan.chen@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1578465691-30692-1-git-send-email-ming-fan.chen@mediatek.com> References: <1578465691-30692-1-git-send-email-ming-fan.chen@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain 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 U01JIGJhbmR3aWR0aCBpbml0aWFsIGdvbGRlbiBzZXR0aW5nIGZvciBNVDY3NzkgbWFrZSBzdXJl DQpiZXR0ZXIgcGVyZm9ybWFuY2Ugb2YgbWVtb3J5IGNvbnRyb2wgZm9yIG11bHRpbWVkaWEgbW9k dWxlcy4NCg0KY2hhbmdlbG9nIHNpbmNlIHYyOg0KRGVmaW5lIGxvY2FsIHZhcmlhYmxlIGZyb20g bG9uZyB0byBzaG9ydA0KTWVyZ2Ugd3JpdGVsX3JlbGF4ZWQgaW50byBvbmUgbGluZQ0KUmVtb3Zl IFNNSV9MQVJCX1NXX0ZMQUcgaW4gc21pLWxhcmINCg0KU2lnbmVkLW9mZi1ieTogTWluZy1GYW4g Q2hlbiA8bWluZy1mYW4uY2hlbkBtZWRpYXRlay5jb20+DQotLS0NCiBkcml2ZXJzL21lbW9yeS9t dGstc21pLmMgfCAgMTE4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0NCiAxIGZpbGUgY2hhbmdlZCwgMTE3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkN Cg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVtb3J5L210ay1zbWkuYyBiL2RyaXZlcnMvbWVtb3J5 L210ay1zbWkuYw0KaW5kZXggZDBiNzQ3YS4uMjIyYWM3ZSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMv bWVtb3J5L210ay1zbWkuYw0KKysrIGIvZHJpdmVycy9tZW1vcnkvbXRrLXNtaS5jDQpAQCAtNDEs MjEgKzQxLDQ3IEBADQogI2RlZmluZSBTTUlfTEFSQl9OT05TRUNfQ09OKGlkKQkoMHgzODAgKyAo KGlkKSAqIDQpKQ0KICNkZWZpbmUgRl9NTVVfRU4JCUJJVCgwKQ0KIA0KKyNkZWZpbmUgU01JX0xB UkJfQ01EX1RIUlRfQ09OCSAweDI0DQorI2RlZmluZSBTTUlfTEFSQl9PU1RETF9QT1JUCSAweDIw MA0KKyNkZWZpbmUgU01JX0xBUkJfT1NURExfUE9SVHgoaWQpIChTTUlfTEFSQl9PU1RETF9QT1JU ICsgKCgoaWQpICYgMHgxZikgPDwgMikpDQorDQogLyogU01JIENPTU1PTiAqLw0KKyNkZWZpbmUg U01JX0wxTEVOCQkJMHgxMDANCisjZGVmaW5lIFNNSV9MMUFSQjAJCQkweDEwNA0KKyNkZWZpbmUg U01JX0wxQVJCKGlkKQkJCShTTUlfTDFBUkIwICsgKCgoaWQpICYgMHg3KSA8PCAyKSkNCisNCiAj ZGVmaW5lIFNNSV9CVVNfU0VMCQkJMHgyMjANCiAjZGVmaW5lIFNNSV9CVVNfTEFSQl9TSElGVChs YXJiaWQpCSgobGFyYmlkKSA8PCAxKQ0KIC8qIEFsbCBhcmUgTU1VMCBkZWZhdWx0bHkuIE9ubHkg c3BlY2lhbGl6ZSBtbXUxIGhlcmUuICovDQogI2RlZmluZSBGX01NVTFfTEFSQihsYXJiaWQpCQko MHgxIDw8IFNNSV9CVVNfTEFSQl9TSElGVChsYXJiaWQpKQ0KIA0KKyNkZWZpbmUgU01JX000VV9U SAkJCTB4MjM0DQorI2RlZmluZSBTTUlfRklGT19USDEJCQkweDIzOA0KKyNkZWZpbmUgU01JX0ZJ Rk9fVEgyCQkJMHgyM2MNCisjZGVmaW5lIFNNSV9EQ00JCQkJMHgzMDANCisjZGVmaW5lIFNNSV9E VU1NWQkJCTB4NDQ0DQorDQorI2RlZmluZSBTTUlfTEFSQl9QT1JUX05SX01BWAkJMzINCisjZGVm aW5lIFNNSV9MQVJCX01JU0NfTlIJCTENCisNCiBlbnVtIG10a19zbWlfZ2VuIHsNCiAJTVRLX1NN SV9HRU4xLA0KIAlNVEtfU01JX0dFTjINCiB9Ow0KIA0KK3N0cnVjdCBtdGtfc21pX3JlZ19wYWly IHsNCisJdTE2CW9mZnNldDsNCisJdTMyCXZhbHVlOw0KK307DQorDQogc3RydWN0IG10a19zbWlf Y29tbW9uX3BsYXQgew0KIAllbnVtIG10a19zbWlfZ2VuIGdlbjsNCiAJYm9vbCAgICAgICAgICAg ICBoYXNfZ2FsczsNCiAJdTMyICAgICAgICAgICAgICBidXNfc2VsOyAvKiBCYWxhbmNlIHNvbWUg bGFyYnMgdG8gZW50ZXIgbW11MCBvciBtbXUxICovDQorCWJvb2wgICAgICAgICAgICAgICAgICAg ICAgICAgIGhhc19id2M7DQorCXU4ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhcmJfbnI7 DQorCWNvbnN0IHUxNiAgICAgICAgICAgICAgICAgICAgICpsMWFyYjsNCisJY29uc3Qgc3RydWN0 IG10a19zbWlfcmVnX3BhaXIgKm1pc2M7DQogfTsNCiANCiBzdHJ1Y3QgbXRrX3NtaV9sYXJiX2dl biB7DQpAQCAtNjMsNiArODksOSBAQCBzdHJ1Y3QgbXRrX3NtaV9sYXJiX2dlbiB7DQogCXZvaWQg KCpjb25maWdfcG9ydCkoc3RydWN0IGRldmljZSAqKTsNCiAJdW5zaWduZWQgaW50CQkJbGFyYl9k aXJlY3RfdG9fY29tbW9uX21hc2s7DQogCWJvb2wJCQkJaGFzX2dhbHM7DQorCWJvb2wJCQkJaGFz X2J3YzsNCisJY29uc3QgdTgJCQkoKm9zdGRsKVtTTUlfTEFSQl9QT1JUX05SX01BWF07DQorCWNv bnN0IHN0cnVjdCBtdGtfc21pX3JlZ19wYWlyCSgqbWlzYylbU01JX0xBUkJfTUlTQ19OUl07DQog fTsNCiANCiBzdHJ1Y3QgbXRrX3NtaSB7DQpAQCAtMTU5LDYgKzE4OCw4IEBAIHZvaWQgbXRrX3Nt aV9sYXJiX3B1dChzdHJ1Y3QgZGV2aWNlICpsYXJiZGV2KQ0KIHN0YXRpYyB2b2lkIG10a19zbWlf bGFyYl9jb25maWdfcG9ydF9nZW4yX2dlbmVyYWwoc3RydWN0IGRldmljZSAqZGV2KQ0KIHsNCiAJ c3RydWN0IG10a19zbWlfbGFyYiAqbGFyYiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KKwljb25z dCBzdHJ1Y3QgbXRrX3NtaV9yZWdfcGFpciAqbWlzYzsNCisJY29uc3QgdTggKm9zdGRsOw0KIAl1 MzIgcmVnOw0KIAlpbnQgaTsNCiANCkBAIC0xNzAsNiArMjAxLDE4IEBAIHN0YXRpYyB2b2lkIG10 a19zbWlfbGFyYl9jb25maWdfcG9ydF9nZW4yX2dlbmVyYWwoc3RydWN0IGRldmljZSAqZGV2KQ0K IAkJcmVnIHw9IEZfTU1VX0VOOw0KIAkJd3JpdGVsKHJlZywgbGFyYi0+YmFzZSArIFNNSV9MQVJC X05PTlNFQ19DT04oaSkpOw0KIAl9DQorDQorCWlmICghbGFyYi0+bGFyYl9nZW4tPmhhc19id2Mp DQorCQlyZXR1cm47DQorDQorCWZvciAoaSA9IDAsIG9zdGRsID0gbGFyYi0+bGFyYl9nZW4tPm9z dGRsW2xhcmItPmxhcmJpZF07DQorCQlpIDwgU01JX0xBUkJfUE9SVF9OUl9NQVg7IGkrKykNCisJ CXdyaXRlbF9yZWxheGVkKG9zdGRsW2ldLCBsYXJiLT5iYXNlICsgU01JX0xBUkJfT1NURExfUE9S VHgoaSkpOw0KKw0KKwlmb3IgKGkgPSAwLCBtaXNjID0gbGFyYi0+bGFyYl9nZW4tPm1pc2NbbGFy Yi0+bGFyYmlkXTsNCisJCWkgPCBTTUlfTEFSQl9NSVNDX05SOyBpKyspDQorCQl3cml0ZWxfcmVs YXhlZChtaXNjW2ldLnZhbHVlLCBsYXJiLT5iYXNlICsgbWlzY1tpXS5vZmZzZXQpOw0KKwl3bWIo KTsgLyogbWFrZSBzdXJlIHNldHRpbmdzIGFyZSB3cml0dGVuICovDQogfQ0KIA0KIHN0YXRpYyB2 b2lkIG10a19zbWlfbGFyYl9jb25maWdfcG9ydF9tdDgxNzMoc3RydWN0IGRldmljZSAqZGV2KQ0K QEAgLTIzOSwxMSArMjgyLDUzIEBAIHN0YXRpYyB2b2lkIG10a19zbWlfbGFyYl9jb25maWdfcG9y dF9nZW4xKHN0cnVjdCBkZXZpY2UgKmRldikNCiAJLmxhcmJfZGlyZWN0X3RvX2NvbW1vbl9tYXNr ID0gQklUKDgpIHwgQklUKDkpLCAgICAgIC8qIGJkcHN5cyAqLw0KIH07DQogDQorc3RhdGljIGNv bnN0IHU4IG10a19zbWlfbGFyYl9tdDY3Nzlfb3N0ZGxbXVtTTUlfTEFSQl9QT1JUX05SX01BWF0g PSB7DQorCXsweDI4LCAweDI4LCAweDAxLCAweDI4LCAweDAxLCAweDAxLCAweDBhLCAweDBhLCAw eDI4LH0sDQorCXsweDI4LCAweDAxLCAweDI4LCAweDI4LCAweDBhLCAweDAxLCAweDAxLCAweDBk LCAweDBkLCAweDA3LA0KKwkgMHgwMSwgMHgwNywgMHgwMSwgMHgyOCx9LA0KKwl7MHgxOCwgMHgw MSwgMHgwOCwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMiwNCisJIDB4 MDEsIDB4MDF9LA0KKwl7MHgwMSwgMHgwMywgMHgwMiwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwg MHgwNCwgMHgwMiwgMHgwMSwNCisJIDB4MDQsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDQs IDB4MGIsIDB4MTMsIDB4MTQsfSwNCisJe30sDQorCXsweDEzLCAweDBmLCAweDBkLCAweDA3LCAw eDA3LCAweDA0LCAweDAzLCAweDAxLCAweDAzLCAweDAxLA0KKwkgMHgwNSwgMHgwYywgMHgwMSwg MHgwMSwgMHgwOCwgMHgwNiwgMHgwMiwgMHgwMSwgMHgwOCwgMHgwOCwNCisJIDB4MDEsIDB4MDEs IDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsfSwNCisJezB4MDEsIDB4MDEsIDB4MDEsfSwNCisJezB4 MDEsIDB4MDEsIDB4MDEsIDB4MDEsfSwNCisJezB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEs IDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsfSwNCisJezB4MWYsIDB4MWEsIDB4MDIsIDB4 MDQsIDB4MWYsIDB4MDIsIDB4MTQsIDB4MDEsIDB4MWYsIDB4MDQsDQorCSAweDA0LCAweDAxLCAw eDAxLCAweDAxLCAweDAyLCAweDAyLCAweDA0LCAweDAyLCAweDAxLCAweDAyLA0KKwkgMHgwNCwg MHgwMiwgMHgwMiwgMHgwMSx9LA0KKwl7MHgxZiwgMHgxYSwgMHgwMiwgMHgwNCwgMHgxZiwgMHgw MiwgMHgxNCwgMHgwMSwgMHgxZiwgMHgxYSwNCisJIDB4MDIsIDB4MDQsIDB4MWYsIDB4MDIsIDB4 MTQsIDB4MDEsIDB4MDEsIDB4MDIsIDB4MDIsIDB4MDQsDQorCSAweDAyLCAweDBhLCAweDAyLCAw eDAyLCAweDA0LCAweDAyLCAweDBhLCAweDAyLCAweDA0LCAweDAyLCAweDA0LH0sDQorCXsweDAx LCAweDAxLCAweDAxLCAweDAxLCAweDAxLH0sDQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0 IG10a19zbWlfcmVnX3BhaXINCittdGtfc21pX2xhcmJfbXQ2Nzc5X21pc2NbXVtTTUlfTEFSQl9N SVNDX05SXSA9IHsNCisJe3tTTUlfTEFSQl9DTURfVEhSVF9DT04sIDB4MzcwMjU2fSx9LA0KKwl7 e1NNSV9MQVJCX0NNRF9USFJUX0NPTiwgMHgzMDAyNTZ9LH0sDQorCXt7U01JX0xBUkJfQ01EX1RI UlRfQ09OLCAweDM3MDI1Nn0sfSwNCisJe30sDQorCXt7U01JX0xBUkJfQ01EX1RIUlRfQ09OLCAw eDMwMDI1Nn0sfSwNCisJe3tTTUlfTEFSQl9DTURfVEhSVF9DT04sIDB4MzAwMjU2fSx9LA0KKwl7 e1NNSV9MQVJCX0NNRF9USFJUX0NPTiwgMHgzMDAyNTZ9LH0sDQorCXt7U01JX0xBUkJfQ01EX1RI UlRfQ09OLCAweDMwMDI1Nn0sfSwNCisJe3tTTUlfTEFSQl9DTURfVEhSVF9DT04sIDB4MzcwMjU2 fSx9LA0KKwl7e1NNSV9MQVJCX0NNRF9USFJUX0NPTiwgMHgzNzAyNTZ9LH0sDQorCXt7U01JX0xB UkJfQ01EX1RIUlRfQ09OLCAweDM3MDI1Nn0sfSwNCit9Ow0KKw0KIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgbXRrX3NtaV9sYXJiX2dlbiBtdGtfc21pX2xhcmJfbXQ2Nzc5ID0gew0KIAkuY29uZmlnX3Bv cnQgID0gbXRrX3NtaV9sYXJiX2NvbmZpZ19wb3J0X2dlbjJfZ2VuZXJhbCwNCiAJLmxhcmJfZGly ZWN0X3RvX2NvbW1vbl9tYXNrID0NCiAJCUJJVCg0KSB8IEJJVCg2KSB8IEJJVCgxMSkgfCBCSVQo MTIpIHwgQklUKDEzKSwNCiAJCS8qIERVTU1ZIHwgSVBVMCB8IElQVTEgfCBDQ1UgfCBNRExBICov DQorCS5oYXNfYndjID0gdHJ1ZSwNCisJLm9zdGRsICAgPSBtdGtfc21pX2xhcmJfbXQ2Nzc5X29z dGRsLA0KKwkubWlzYyAgICA9IG10a19zbWlfbGFyYl9tdDY3NzlfbWlzYywNCiB9Ow0KIA0KIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX3NtaV9sYXJiX2dlbiBtdGtfc21pX2xhcmJfbXQ4MTgzID0g ew0KQEAgLTM5NywxMSArNDgyLDMwIEBAIHN0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgbXRrX3Nt aV9sYXJiX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQ0KIAkuZ2VuID0gTVRLX1NNSV9HRU4y LA0KIH07DQogDQorc3RhdGljIGNvbnN0IHUxNiBtdGtfc21pX2NvbW1vbl9tdDY3NzlfbDFhcmJb XSA9IHsNCisJMHgxMDAwLCAweDEwMDAsIDB4MTAwMCwgMHgxMDAwLCAweDEwMDAsIDB4MTAwMCwg MHgxMDAwLCAweDEwMDAsDQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0DQorbXRrX3NtaV9y ZWdfcGFpciBtdGtfc21pX2NvbW1vbl9tdDY3NzlfbWlzY1tTTUlfQ09NTU9OX01JU0NfTlJdID0g ew0KKwl7U01JX0wxTEVOLCAweGJ9LA0KKwl7U01JX000VV9USCwgMHhlMTAwZTEwfSwNCisJe1NN SV9GSUZPX1RIMSwgMHg1MDYwOTBhfSwNCisJe1NNSV9GSUZPX1RIMiwgMHg1MDYwOTBhfSwNCisJ e1NNSV9EQ00sIDB4NGYxfSwNCisJe1NNSV9EVU1NWSwgMHgxfSwNCit9Ow0KKw0KIHN0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX3NtaV9jb21tb25fcGxhdCBtdGtfc21pX2NvbW1vbl9tdDY3NzkgPSB7 DQogCS5nZW4JCT0gTVRLX1NNSV9HRU4yLA0KIAkuaGFzX2dhbHMJPSB0cnVlLA0KIAkuYnVzX3Nl bAk9IEZfTU1VMV9MQVJCKDEpIHwgRl9NTVUxX0xBUkIoMikgfCBGX01NVTFfTEFSQig0KSB8DQog CQkJICBGX01NVTFfTEFSQig1KSB8IEZfTU1VMV9MQVJCKDYpIHwgRl9NTVUxX0xBUkIoNyksDQor CS5oYXNfYndjCT0gdHJ1ZSwNCisJLmxhcmJfbnIJPSBBUlJBWV9TSVpFKG10a19zbWlfY29tbW9u X210Njc3OV9sMWFyYiksDQorCS5sMWFyYgkJPSBtdGtfc21pX2NvbW1vbl9tdDY3NzlfbDFhcmIs DQorCS5taXNjX25yCT0gQVJSQVlfU0laRShtdGtfc21pX2NvbW1vbl9tdDY3NzlfbWlzYyksDQor CS5taXNjCQk9IG10a19zbWlfY29tbW9uX210Njc3OV9taXNjLA0KIH07DQogDQogc3RhdGljIGNv bnN0IHN0cnVjdCBtdGtfc21pX2NvbW1vbl9wbGF0IG10a19zbWlfY29tbW9uX210ODE4MyA9IHsN CkBAIC01MDYsNyArNjEwLDcgQEAgc3RhdGljIGludCBfX21heWJlX3VudXNlZCBtdGtfc21pX2Nv bW1vbl9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQ0KIHsNCiAJc3RydWN0IG10a19zbWkgKmNv bW1vbiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KIAl1MzIgYnVzX3NlbCA9IGNvbW1vbi0+cGxh dC0+YnVzX3NlbDsNCi0JaW50IHJldDsNCisJaW50IGksIHJldDsNCiANCiAJcmV0ID0gbXRrX3Nt aV9jbGtfZW5hYmxlKGNvbW1vbik7DQogCWlmIChyZXQpIHsNCkBAIC01MTYsNiArNjIwLDE4IEBA IHN0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgbXRrX3NtaV9jb21tb25fcmVzdW1lKHN0cnVjdCBk ZXZpY2UgKmRldikNCiANCiAJaWYgKGNvbW1vbi0+cGxhdC0+Z2VuID09IE1US19TTUlfR0VOMiAm JiBidXNfc2VsKQ0KIAkJd3JpdGVsKGJ1c19zZWwsIGNvbW1vbi0+YmFzZSArIFNNSV9CVVNfU0VM KTsNCisNCisJaWYgKCFjb21tb24tPnBsYXQtPmhhc19id2MpDQorCQlyZXR1cm4gMDsNCisNCisJ Zm9yIChpID0gMDsgaSA8IGNvbW1vbi0+cGxhdC0+bGFyYl9ucjsgaSsrKQ0KKwkJd3JpdGVsX3Jl bGF4ZWQoY29tbW9uLT5wbGF0LT5sMWFyYltpXSwNCisJCQkgICAgICAgY29tbW9uLT5iYXNlICsg U01JX0wxQVJCKGkpKTsNCisNCisJZm9yIChpID0gMDsgaSA8IGNvbW1vbi0+cGxhdC0+bWlzY19u cjsgaSsrKQ0KKwkJd3JpdGVsX3JlbGF4ZWQoY29tbW9uLT5wbGF0LT5taXNjW2ldLnZhbHVlLA0K KwkJCSAgICAgICBjb21tb24tPmJhc2UgKyBjb21tb24tPnBsYXQtPm1pc2NbaV0udmFsdWUpOw0K Kwl3bWIoKTsgLyogbWFrZSBzdXJlIHNldHRpbmdzIGFyZSB3cml0dGVuICovDQogCXJldHVybiAw Ow0KIH0NCiANCi0tIA0KMS43LjkuNQ0K