Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp274299ybg; Mon, 1 Jun 2020 00:36:14 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxRX6lqIoWK2zjYG0/bMqqL/0Q9kpjtVJ0S5tJ8m6zUPzoypWiRcroMDw9kSq5QEX0/l3q4 X-Received: by 2002:a17:906:4756:: with SMTP id j22mr6434700ejs.490.1590996974132; Mon, 01 Jun 2020 00:36:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590996974; cv=none; d=google.com; s=arc-20160816; b=NJmuGgZ6wFxPBm7bT2SUuYii8II2hPY9NtCMXdZ7q7XlafWVxoK0SXbvR9I2BDNnYl 2lPYTigq2ThLo1LbWlZEKmPTcXJrksvgZMo1G0Zlqxo7lMYHgtX1hcVkkAIIHHV7QmQw EUHIOsupgH6EvymXnZzU9Mopemz7N2+BpxlyDTOVwGRsEZrQWpjCVHqQfZGU+FfA5ymz PcuV46jo+MbBIARkio+oRnp5+Tm/e41SX0vE4YGfsAlHRWCFheKjuQzXXlTYvbmFeI5T rA7xNZrYWb7Z1VfTo7fP0Og96CwFVBojNd5ib6YLvx/tGHcGYbCf7/vTDAvpy0NYX2q0 HLkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:authenticated-by; bh=p8XxZykppgi4SBWcSi9SyL8rxgFAXtayO+z3dq0rBAk=; b=edRfkQPQfJlElKXyo5HVl5OFbaVYr6WCTJL4WKqplcSYW5uGpu++dp/26hV/mnpWdx Fyt6EM/RcpoHqDjJw8rJbI6OPYpDL+vR9F/kbQdUQt2enGP31c73ucYp0zVReS9IVTmE JAkYvE4UrQXo5vRz0ZGOjPc3vFpWXC/XNArH8gGVAqUTfCY6Optb8fx0a0KglmuiQmIK OFY8mUE7+maJQSNPjSlRJkRO/mNQE68HI/kZCmoQ4NAppOnfne4DIC5rqAar67MiorAh kyDv9Mfsqe5lCc08Z1nvOFJgs4A7m4GsGuFFdy9GXPqkKdqvo8dQNaFLqc1wvC7nX2BV nUHA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i64si11622192edd.574.2020.06.01.00.35.51; Mon, 01 Jun 2020 00:36:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726076AbgFAHeI (ORCPT + 99 others); Mon, 1 Jun 2020 03:34:08 -0400 Received: from rtits2.realtek.com ([211.75.126.72]:51747 "EHLO rtits2.realtek.com.tw" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725283AbgFAHeI (ORCPT ); Mon, 1 Jun 2020 03:34:08 -0400 Authenticated-By: X-SpamFilter-By: ArmorX SpamTrap 5.69 with qID 0517XTuV4022257, This message is accepted by code: ctloc85258 Received: from RS-CAS02.realsil.com.cn ([172.29.17.3]) by rtits2.realtek.com.tw (8.15.2/2.66/5.86) with ESMTPS id 0517XTuV4022257 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 1 Jun 2020 15:33:29 +0800 Received: from RS-MBS01.realsil.com.cn ([::1]) by RS-CAS02.realsil.com.cn ([::1]) with mapi id 14.03.0439.000; Mon, 1 Jun 2020 15:33:28 +0800 From: =?utf-8?B?5Yav6ZSQ?= To: Ulf Hansson CC: Arnd Bergmann , Christoph Hellwig , "gregkh@linuxfoundation.org" , "linux-kernel@vger.kernel.org" , "linux-pci@vger.kernel.org" Subject: =?utf-8?B?562U5aSNOiBbUEFUQ0hdIG1tYzogcnRzeDogQWRkIFNEIEV4cHJlc3MgbW9k?= =?utf-8?Q?e_support_for_RTS5261?= Thread-Topic: [PATCH] mmc: rtsx: Add SD Express mode support for RTS5261 Thread-Index: AQHWG2mdb2Wi+0TUh0G7QGay1iuqfqiL+UQAgAC/B7D//5LPAIABmysAgAtv7gCAFdruEIAJECCAgAtQDdA= Date: Mon, 1 Jun 2020 07:33:27 +0000 Message-ID: <2A308283684ECD4B896628E09AF5361E59AD1194@RS-MBS01.realsil.com.cn> References: <1587864346-3144-1-git-send-email-rui_feng@realsil.com.cn> <20200427061426.GA11270@infradead.org> <2A308283684ECD4B896628E09AF5361E028BCA26@RS-MBS01.realsil.com.cn> <2A308283684ECD4B896628E09AF5361E028BCB4B@RS-MBS01.realsil.com.cn> <2A308283684ECD4B896628E09AF5361E59ACDB91@RS-MBS01.realsil.com.cn> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.29.40.150] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org PiANCj4gT24gVHVlLCAxOSBNYXkgMjAyMCBhdCAxMToxOCwg5Yav6ZSQIDxydWlfZmVuZ0ByZWFs c2lsLmNvbS5jbj4gd3JvdGU6DQo+ID4NCj4gPiA+IE9uIFR1ZSwgMjggQXByIDIwMjAgYXQgMDU6 NDQsIOWGr+mUkCA8cnVpX2ZlbmdAcmVhbHNpbC5jb20uY24+IHdyb3RlOg0KPiA+ID4gPg0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4gT24gTW9uLCBBcHIgMjcsIDIwMjAgYXQgMTE6NDEgQU0g5Yav6ZSQ IDxydWlfZmVuZ0ByZWFsc2lsLmNvbS5jbj4NCj4gPiA+IHdyb3RlOg0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IE9uIFN1biwgQXByIDI2LCAyMDIwIGF0IDA5OjI1OjQ2 QU0gKzA4MDAsDQo+ID4gPiA+ID4gPiA+IHJ1aV9mZW5nQHJlYWxzaWwuY29tLmNuDQo+ID4gPiA+ ID4gd3JvdGU6DQo+ID4gPiA+ID4gPiA+ID4gRnJvbTogUnVpIEZlbmcgPHJ1aV9mZW5nQHJlYWxz aWwuY29tLmNuPg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gUlRTNTI2MSBzdXBw b3J0IGxlZ2FjeSBTRCBtb2RlIGFuZCBTRCBFeHByZXNzIG1vZGUuDQo+ID4gPiA+ID4gPiA+ID4g SW4gU0Q3LngsIFNEIGFzc29jaWF0aW9uIGludHJvZHVjZSBTRCBFeHByZXNzIGFzIGEgbmV3IG1v ZGUuDQo+ID4gPiA+ID4gPiA+ID4gU0QgRXhwcmVzcyBtb2RlIGlzIGRpc3Rpbmd1aXNoZWQgYnkg Q01EOC4NCj4gPiA+ID4gPiA+ID4gPiBUaGVyZWZvcmUsIENNRDggaGFzIG5ldyBiaXQgZm9yIFNE IEV4cHJlc3MuDQo+ID4gPiA+ID4gPiA+ID4gU0QgRXhwcmVzcyBpcyBiYXNlZCBvbiBQQ0llL05W TWUuDQo+ID4gPiA+ID4gPiA+ID4gUlRTNTI2MSB1c2VzIENNRDggdG8gc3dpdGNoIHRvIFNEIEV4 cHJlc3MgbW9kZS4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gU28gaG93IGRvZXMgdGhp cyBiaXQgd29yaz8gIFRoZXkgd2F5IEkgaW1hZ2luZWQgU0QgRXhwcmVzcw0KPiA+ID4gPiA+ID4g PiB0byB3b3JrIGlzIHRoYXQgdGhlIGFjdHVhbCBTRCBDYXJkIGp1c3Qgc2hvd3MgdXAgYXMgYSBy ZWFsDQo+ID4gPiA+ID4gPiA+IFBDSWUgZGV2aWNlLCBzaW1pbGFyIHRvIHNheSBUaHVuZGVyYm9s dC4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBOZXcgU0QgRXhwcmVzcyBjYXJkIGhhcyBkdWFs IG1vZGUuIE9uZSBpcyBTRCBtb2RlIGFuZCBhbm90aGVyDQo+ID4gPiA+ID4gPiBpcyBQQ0llDQo+ ID4gPiA+ID4gbW9kZS4NCj4gPiA+ID4gPiA+IEluIFBDSWUgbW9kZSwgaXQgYWN0IGFzIGEgUENJ ZSBkZXZpY2UgYW5kIHVzZSBQQ0llIHByb3RvY29sDQo+ID4gPiA+ID4gPiBub3QgVGh1bmRlcmJv bHQNCj4gPiA+ID4gPiBwcm90b2NvbC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEkgdGhpbmsgd2hh dCBDaHJpc3RvcGggd2FzIGFza2luZyBhYm91dCBpcyB3aHkgeW91IG5lZWQgdG8gaXNzdWUNCj4g PiA+ID4gPiBhbnkgY29tbWFuZHMgYXQgYWxsIGluIFNEIG1vZGUgd2hlbiB5b3Ugd2FudCB0byB1 c2UgUENJZSBtb2RlDQo+IGluc3RlYWQuDQo+ID4gPiA+ID4gV2hhdCBoYXBwZW5zIGlmIHlvdSBs b2FkIHRoZSBOVk1lIGR0aHJpdmVyIGJlZm9yZSBsb2FkaW5nIHRoZQ0KPiA+ID4gPiA+IHJ0czUy NjENCj4gPiA+IGRyaXZlcj8NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICAgICAgICBBcm5kDQo+ID4g PiA+ID4NCj4gPiA+ID4gPiAtLS0tLS1QbGVhc2UgY29uc2lkZXIgdGhlIGVudmlyb25tZW50IGJl Zm9yZSBwcmludGluZyB0aGlzIGUtbWFpbC4NCj4gPiA+ID4NCj4gPiA+ID4gUlRTNTI2MSBzdXBw b3J0IFNEIG1vZGUgYW5kIFBDSWUvTlZNZSBtb2RlLiBUaGUgd29ya2Zsb3cgaXMgYXMNCj4gZm9s bG93cy4NCj4gPiA+ID4gMS5SVFM1MjYxIHdvcmsgaW4gU0QgbW9kZS4NCj4gPiA+ID4gMi5JZiBj YXJkIGlzIHBsdWdnZWQgaW4sIEhvc3Qgc2VuZCBDTUQ4IHRvIGFzayBjYXJkJ3MgUENJZSBhdmFp bGFiaWxpdHkuDQo+ID4gPg0KPiA+ID4gVGhpcyBzb3VuZHMgbGlrZSB0aGUgY2FyZCBpbnNlcnQv cmVtb3ZhbCBuZWVkcyB0byBiZSBtYW5hZ2VkIGJ5IHRoZQ0KPiA+ID4gcnRzeF9wY2lfc2RtbWMg ZHJpdmVyIChtbWMpLg0KPiA+ID4NCj4gPiA+ID4gMy5JZiB0aGUgY2FyZCBoYXMgUENJZSBhdmFp bGFiaWxpdHksIFJUUzUyNjEgc3dpdGNoIHRvIFBDSWUvTlZNZSBtb2RlLg0KPiA+ID4NCj4gPiA+ IFRoaXMgc3dpdGNoIGlzIGRvbmUgYnkgdGhlIG1tYyBkcml2ZXIsIGJ1dCBob3cgZG9lcyB0aGUg UENJZS9OVk1lDQo+ID4gPiBkcml2ZXIga25vdyB3aGVuIHRvIHRha2Ugb3Zlcj8gSXNuJ3QgdGhl cmUgYSBzeW5jaHJvbml6YXRpb24gcG9pbnQgbmVlZGVkPw0KPiA+ID4NCj4gPiA+ID4gNC5NbWMg ZHJpdmVyIGV4aXQgYW5kIE5WTWUgZHJpdmVyIHN0YXJ0IHdvcmtpbmcuDQo+ID4gPg0KPiA+ID4g SGF2aW5nIHRoZSBtbWMgZHJpdmVyIHRvIGV4aXQgc2VlbXMgd3JvbmcgdG8gbWUuIEVsc2UgaG93 IHdvdWxkIHlvdQ0KPiA+ID4gaGFuZGxlIGEgY2FyZCBiZWluZyByZW1vdmVkIGFuZCBpbnNlcnRl ZCBhZ2Fpbj8NCj4gPiA+DQo+ID4gPiBJbiBwcmluY2lwbGUgeW91IHdhbnQgdGhlIG1tYyBjb3Jl IHRvIGZhaWwgdG8gZGV0ZWN0IHRoZSBjYXJkIGFuZA0KPiA+ID4gdGhlbiBkbyBhIGhhbmRvdmVy LCBzb21laG93LiBObz8NCj4gPiA+DQo+ID4gPiBBbHRob3VnaCwgdG8gbWFrZSB0aGlzIHdvcmsg dGhlcmUgYXJlIGEgY291cGxlIG9mIHByb2JsZW1zIHlvdSBuZWVkDQo+ID4gPiB0byBkZWFsIHdp dGguDQo+ID4gPg0KPiA+ID4gMS4gSWYgdGhlIG1tYyBjb3JlIGRvZXNuJ3Qgc3VjY2Vzc2Z1bGx5 IGRldGVjdCBhIGNhcmQsIGl0IHdpbGwNCj4gPiA+IHJlcXVlc3QgdGhlIG1tYyBob3N0IHRvIHBv d2VyIG9mZiB0aGUgY2FyZC4gSW4gdGhpcyBzaXR1YXRpb24sIHlvdQ0KPiA+ID4gd2FudCB0byBr ZWVwIHRoZSBwb3dlciB0byB0aGUgY2FyZCwgYnV0IGxlYXZlIGl0IHRvIGJlIG1hbmFnZWQgYnkg dGhlDQo+IFBDSWUvTlZNZSBkcml2ZXIgaW4gc29tZSB3YXkuDQo+ID4gPg0KPiA+ID4gMi4gRHVy aW5nIHN5c3RlbSByZXN1bWUsIHRoZSBtbWMgY29yZSBtYXkgdHJ5IHRvIHJlc3RvcmUgcG93ZXIg Zm9yIGENCj4gPiA+IGNhcmQsIGVzcGVjaWFsbHkgaWYgaXQncyBhIHJlbW92YWJsZSBzbG90LCBh cyB0byBtYWtlIHN1cmUgaXQgZ2V0cw0KPiA+ID4gZGV0ZWN0ZWQgaWYgc29tZW9uZSBpbnNlcnRl ZCBhIGNhcmQgd2hpbGUgdGhlIHN5c3RlbSB3YXMgc3VzcGVuZGVkLg0KPiA+ID4gTm90IHN1cmUg aWYgdGhpcyBwbGF5cyB3ZWxsIHdpdGggdGhlIFBDSWUvTlZNZSBkcml2ZXIncyBiZWhhdmlvdXIu DQo+ID4gPiBBZ2FpbiwgSSB0aGluayBzb21lIGtpbmQgb2Ygc3luY2hyb25pemF0aW9uIGlzIG5l ZWRlZC4NCj4gPiA+DQo+ID4gPiA+IDUuSWYgY2FyZCBpcyB1bnBsdWdnZWQsIFJUUzUyNjEgd2ls bCBzd2l0Y2ggdG8gU0QgbW9kZS4NCj4gPiA+DQo+ID4gPiBBbHJpZ2h0LCBjbGVhcmx5IHRoZSBt bWMgZHJpdmVyIGlzIG5lZWRlZCB0byBtYW5hZ2UgY2FyZCBpbnNlcnQvcmVtb3ZhbC4NCj4gPiA+ DQo+ID4gPiA+IFdlIHNob3VsZCBzZW5kIENNRDggaW4gU0QgbW9kZSB0byBhc2sgY2FyZCdzIFBD SWUgYXZhaWxhYmlsaXR5LA0KPiA+ID4gPiBhbmQgdGhlDQo+ID4gPiBvcmRlciBvZiBOVk1lIGRy aXZlciBhbmQgcnRzNTI2MSBkcml2ZXIgZG9lc24ndCBtYXR0ZXIuDQo+ID4gPg0KPiA+ID4gVGhh dCBhc3N1bWVzIHRoZXJlJ3MgYW5vdGhlciBzeW5jaHJvbml6YXRpb24gbWVjaGFuaXNtLiBNYXli ZSB0aGVyZQ0KPiA+ID4gaXMsIGJ1dCBJIGRvbid0IHVuZGVyc3RhbmQgaG93Lg0KPiA+ID4NCj4g PiBJZiBubyBjYXJkIGluIFJUUzUyNjEsIFJUUzUyNjEgd29ya3MgaW4gU0QgbW9kZS4gSWYgeW91 IHJ1biBjb21tYW5kIGxzcGNpLA0KPiB5b3UgY2FuIHNlZSB0aGUgUlRTNTI2MSBkZXZpY2UuDQo+ IA0KPiBSaWdodC4NCj4gDQo+IFRoZSBydHN4X3BjaV9kcml2ZXIgKGRyaXZlcnMvbWlzYy9jYXJk cmVhZGVyL3J0c3hfcGNyLmMpIGhhcyByZWdpc3RlcmVkIGl0c2VsZg0KPiBhcyBhIHBjaSBkcml2 ZXIgYW5kIGJlZW4gcHJvYmVkIHN1Y2Nlc3NmdWxseSwgSSBhc3N1bWUuIFRoZW4gZHVyaW5nDQo+ IHJ0c3hfcGNpX3Byb2JlKCkgYW4gbWZkIGRldmljZSBpcyBhZGRlZCB2aWEgbWZkX2FkZF9kZXZp Y2VzKCksIHdoaWNoDQo+IGNvcnJlc3BvbmRzIHRvIHRoZSBydHN4X3BjaV9zZG1tYw0KPiAoZHJp dmVycy9tbWMvaG9zdC9ydHN4X3BjaV9zZG1tYy5jKSBwbGF0Zm9ybSBkcml2ZXIuDQo+IA0KPiA+ IFdoZW4gaW5zZXJ0IGEgU0QgRXhwcmVzcyBjYXJkLCBNbWMgZHJpdmVyIHdpbGwgc2VuZCBDTUQ4 IHRvIGFzayB0aGUNCj4gPiBjYXJkJ3MgUENJZSBhdmFpbGFiaWxpdHksIGJlY2F1c2UgaXQncyBh IFNEIEVYUFJFU1MgY2FyZCwNCj4gDQo+IE9rYXksIHNvIHRoaXMgd2lsbCB0aGVuIGJlIGEgcGFy dCBvZiB0aGUgcnRzeF9wY2lfc2RtbWMgZHJpdmVyJ3MgcHJvYmUgc2VxdWVuY2UuDQo+IE9yIG1v cmUgZXhhY3RseSwgd2hlbiBydHN4X3BjaV9zZG1tY19kcnZfcHJvYmUoKSBjb21wbGV0ZXMgc3Vj Y2Vzc2Z1bGx5LCBhDQo+IG1tYyByZXNjYW4gd29yayBiZWNvbWVzIHNjaGVkdWxlZCB0byB0cnkg dG8gZGV0ZWN0IGFuIFNEL01NQyBjYXJkLiBUaGVuDQo+IHRoZSBDTUQ4IGNvbW1hbmQgaXMgc2Vu dC4uLg0KPiANCj4gPiBSVFM1MjYxIHdpbGwgc3dpdGNoIHRvIE5WTWUgbW9kZSwgYWZ0ZXIgc3dp dGNoIGlmIHlvdSBydW4gbHNwY2ksIHlvdSBjYW4gc2VlDQo+IFJUUzUyNjEgZGlzYXBwZWFyZWQg YW5kIGEgTlZNZSBkZXZpY2UgcmVwbGFjZXMgUlRTNTI2MS4NCj4gDQo+IENhbiB5b3UgZWxhYm9y YXRlIG1vcmUgZXhhY3RseSBob3cgdGhpcyBtYW5hZ2VkPw0KPiANCj4gSXQga2luZCBvZiBzb3Vu ZHMgbGlrZSB0aGUgb3JpZ2luYWwgUENJIGRldmljZSBpcyBiZWluZyBkZWxldGVkPyBIb3cgaXMg dGhpcw0KPiBtYW5hZ2VkPw0KPiANCj4gSW4gYW55IGNhc2UsIHRoZSBydHN4X3BjaV9kcml2ZXIn cyAtPnJlbW92ZSgpIGNhbGxiYWNrLCBydHN4X3BjaV9yZW1vdmUoKSwNCj4gc2hvdWxkIGJlIGlu dm9rZWQsIEkgYXNzdW1lPw0KPiANCj4gVGhhdCB3b3VsZCB0aGVuIGxlYWQgdG8gdGhhdCBtZmRf cmVtb3ZlX2RldmljZXMoKSBnZXRzIGNhbGxlZCwgd2hpY2ggbWFrZXMNCj4gdGhlIC0+cmVtb3Zl KCkgY2FsbGJhY2sgb2YgdGhlIHJ0c3hfcGNpX3NkbW1jIGRyaXZlciwNCj4gcnRzeF9wY2lfc2Rt bWNfZHJ2X3JlbW92ZSgpLCB0byBiZSBpbnZva2VkLiBDb3JyZWN0Pw0KPiANClllcywgYWZ0ZXIg UlRTNTI2MSBzd2l0Y2ggdG8gTlZNZSBtb2RlLCBydHN4X3BjaV9yZW1vdmUoKSBhbmQgcnRzeF9w Y2lfc2RtbWNfZHJ2X3JlbW92ZSgpIHdpbGwgYmUgaW52b2tlZC4NCg0KPiA+IEluIE5WTWUgbW9k ZSwgUlRTNTI2MSBvbmx5IHByb3ZpZGUgYSBicmlkZ2UgYmV0d2VlbiBTRCBFeHByZXNzIGNhcmQg YW5kDQo+IFBDSWUuIEZvciBOVk1lIGRyaXZlciwganVzdCBsaWtlIGEgbmV3IE5WTWUgZGV2aWNl IGlzIGluc2VydGVkLg0KPiANCj4gSSBkb24ndCB1bmRlcnN0YW5kIHdoYXQgdGhhdCBtZWFucywg YnV0IEkgYW0gYWxzbyBub3QgYW4gZXhwZXJ0IG9uIFBDSS9OVk1lLg0KPiBDYXJlIHRvIGV4cGxh aW4gbW9yZT8NCj4gDQpJbiBOVk1lIG1vZGUsIFNEIEV4cHJlc3MgY2FyZCBjb25uZWN0IHRoZSBj b21wdXRlciB2aWEgUENJZS4NCklOIFNEIG1vZGUsIGNhcmQgY29ubmVjdCBjb21wdXRlciB2aWEg cmVhZGVyLg0KDQo+ID4gTW1jIGNvcmUgZG9lc24ndCBzdWNjZXNzZnVsbHkgZGV0ZWN0IHRoZSBj YXJkIGFuZCBoYW5kb3ZlciB0byBOVk1lDQo+ID4gZHJpdmVyLiBCZWNhdXNlIG9mIGRldGVjdCB0 aGUgY2FyZCBmYWlsZWQsDQo+IA0KPiBIb3cgZG8geW91IG1ha2Ugc3VyZSB0aGF0IHRoZSBydHN4 X3BjaV9zZG1tYyBkcml2ZXIgaXMgbGVhdmluZyB0aGUgY2FyZCBpbiB0aGUNCj4gY29ycmVjdCBz dGF0ZSBmb3IgTlZNZT8NCj4gDQo+IEZvciBleGFtcGxlLCB0aGUgbW1jIGNvcmUgaGFzIGEgbG9v cCByZS10cnlpbmcgd2l0aCBhIGxvd2VyIGluaXRpYWxpemF0aW9uDQo+IGZyZXF1ZW5jeSBmb3Ig dGhlIGNhcmQgKDQwMEtIeiwgMzAwS0h6LCAyMDBLSHosIDEwMEtIeikuIFRoaXMgd2lsbCBjYXVz ZQ0KPiBhZGRpdGlvbmFsIHJlcXVlc3RzIHRvIHRoZSBydHN4X3BjaV9zZG1tYyBkcml2ZXIuDQo+ IA0KPiA+IE1tYyBkcml2ZXIgd2lsbCByZXF1ZXN0IHRoZSBSVFM1MjYxIHRvIHBvd2VyIG9mZiB0 aGUgY2FyZCwgYnV0IGF0IHRoYXQgdGltZQ0KPiBwb3dlciBvZmYgdGhlIGNhcmQgd2lsbCBub3Qg c3VjY2VlZC4NCj4gDQo+IFllcywgYXNzdW1pbmcgbm8gY2FyZCB3YXMgZm91bmQsIHRoZSBtbWMg Y29yZSBjYWxscyBtbWNfcG93ZXJfb2ZmKCkuDQo+IFRocyBsZWFkcyB0byB0aGUgcnRzeF9wY2lf c2RtbWMgZHJpdmVyJ3MgLT5zZXRfaW9zKCkgY2FsbGJhY2sgYmVpbmcgaW52b2tlZCwNCj4gcmVx dWVzdGluZyB0aGUgY2FyZCB0byBiZSBwb3dlcmVkIG9mZi4gSSBkb24ndCBzZWUgaG93IHlvdSBh cmUgbWFuYWdpbmcgdGhpcywNCj4gd2hhdCBhbSBJIG1pc3Npbmc/DQo+IA0KQmVmb3JlIHBvd2Vy IG9mZiBjYXJkIGFuZCByZS10cnlpbmcgaW5pdGlhbGl6YXRpb24sIHJ0c3ggZHJpdmVyIHNldHMg UlRTNTI2MSAweEZGNTUgYml0ND0wLg0KQWZ0ZXIgc2V0IDB4RkY1NSBiaXQ0PTAsIFJUUzUyNjEg Y2FuJ3QgcmVjZWl2ZSBhbnkgQ01EIGZyb20gUENJZSBhbmQgcHJlcGFyZSBmb3IgZGV2aWNlIGRp c2FwcGVhci4NClRoZXJlZm9yZSwgTU1DIGRyaXZlciBjYW4ndCBjaGFuZ2UgY2FyZCBzdGF0dXMu DQoNCj4gQXMgc3RhdGVkIGFib3ZlLCBJIGFzc3VtZSB5b3UgdGhlIGNvcnJlc3BvbmRpbmcgcGxh dGZvcm0gZGV2aWNlIGZvcg0KPiBydHN4X3BjaV9zZG1tYyBiZWluZyBkZWxldGVkIGFuZCB0aHVz IHRyaWdnZXJpbmcgdGhlDQo+IHJ0c3hfcGNpX3NkbW1jX2Rydl9yZW1vdmUoKSBiZWluZyBjYWxs ZWQuIENvcnJlY3Q/IElmIG5vdCwgaG93IGRvZXMgdGhlDQo+IGRyaXZlciBtYW5hZ2UgdGhpcz8N Cj4gDQpZZXMuDQoNCj4gPiBXaGVuIHRoZSBjYXJkIGlzIHVucGx1Z2dlZCwgUlRTNTI2MSB3aWxs IHN3aXRjaCB0byBTRCBtb2RlIGJ5IGl0c2VsZg0KPiA+IGFuZCBkb24ndCBuZWVkIG1tYyBkcml2 ZXIgdG8gZG8gYW55dGhpbmcsDQo+IA0KPiBPa2F5Lg0KPiANCj4gU28gdGhhdCBtZWFucyB0aGUg cnRzeF9wY2lfc2RtbWMgZHJpdmVyIGlzIGJlaW5nIHByb2JlZCBhZ2Fpbj8NCj4gDQpZZXMuDQoN Cj4gPiBJZiB5b3UgcnVuIGxzcGNpLCB5b3UgY2FuIHNlZSBOVk1lIGRldmljZSBkaXNhcHBlYXJl ZCBhbmQgUlRTNTI2MSBhcHBlYXJlZA0KPiBhZ2Fpbi4NCj4gDQo+IEkgc2VlLg0KPiANCktpbmQg cmVnYXJkcw0KDQo=