From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: Re: [PATCH v4] drm/i915: Add IOCTL Param to control data port coherency. Date: Mon, 9 Jul 2018 14:48:26 +0100 Message-ID: <240d73b8-9a9b-db78-92ff-0d9725c613d2@intel.com> References: <1521463055-5325-2-git-send-email-tomasz.lis@intel.com> <1531142457-4232-1-git-send-email-tomasz.lis@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id E1E006E49B for ; Mon, 9 Jul 2018 13:48:29 +0000 (UTC) In-Reply-To: <1531142457-4232-1-git-send-email-tomasz.lis@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tomasz Lis , intel-gfx@lists.freedesktop.org Cc: bartosz.dunajski@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gMDkvMDcvMTggMTQ6MjAsIFRvbWFzeiBMaXMgd3JvdGU6Cj4gVGhlIHBhdGNoIGFkZHMgYSBw YXJhbWV0ZXIgdG8gY29udHJvbCB0aGUgZGF0YSBwb3J0IGNvaGVyZW5jeSBmdW5jdGlvbmFsaXR5 Cj4gb24gYSBwZXItY29udGV4dCBsZXZlbC4gV2hlbiB0aGUgSU9DVEwgaXMgY2FsbGVkLCBhIGNv bW1hbmQgdG8gc3dpdGNoIGRhdGEKPiBwb3J0IGNvaGVyZW5jeSBzdGF0ZSBpcyBhZGRlZCB0byB0 aGUgb3JkZXJlZCBsaXN0LiBBbGwgcHJpb3IgcmVxdWVzdHMgYXJlCj4gZXhlY3V0ZWQgb24gb2xk IGNvaGVyZW5jeSBzZXR0aW5ncywgYW5kIGFsbCBleGVjIHJlcXVlc3RzIGFmdGVyIHRoZSBJT0NU TAo+IHdpbGwgdXNlIG5ldyBzZXR0aW5ncy4KPgo+IFJhdGlvbmFsZToKPgo+IFRoZSBPcGVuQ0wg ZHJpdmVyIGRldmVscGVycyByZXF1ZXN0ZWQgYSBmdW5jdGlvbmFsaXR5IHRvIGNvbnRyb2wgY2Fj aGUKPiBjb2hlcmVuY3kgYXQgZGF0YSBwb3J0IGxldmVsLiBLZWVwaW5nIHRoZSBjb2hlcmVuY3kg YXQgdGhhdCBsZXZlbCBpcyBkaXNhYmxlZAo+IGJ5IGRlZmF1bHQgZHVlIHRvIGl0cyBwZXJmb3Jt YW5jZSBjb3N0cy4gT3BlbkNMIGRyaXZlciBpcyBwbGFubmluZyB0bwo+IGVuYWJsZSBpdCBmb3Ig YSBzbWFsbCBzdWJzZXQgb2Ygc3VibWlzc2lvbnMsIHdoZW4gc3VjaCBmdW5jdGlvbmFsaXR5IGlz Cj4gcmVxdWlyZWQuIEJlbG93IGFyZSBhbnN3ZXJzIHRvIGJhc2ljIHF1ZXN0aW9uIGV4cGxhaW5p bmcgYmFja2dyb3VuZAo+IG9mIHRoZSBmdW5jdGlvbmFsaXR5IGFuZCByZWFzb25pbmcgZm9yIHRo ZSBwcm9wb3NlZCBpbXBsZW1lbnRhdGlvbjoKPgo+IDEuIFdoeSBkbyB3ZSBuZWVkIGEgY29oZXJl bmN5IGVuYWJsZS9kaXNhYmxlIHN3aXRjaCBmb3IgbWVtb3J5IHRoYXQgaXMgc2hhcmVkCj4gYmV0 d2VlbiBDUFUgYW5kIEdFTiAoR1BVKT8KPgo+IE1lbW9yeSBjb2hlcmVuY3kgYmV0d2VlbiBDUFUg YW5kIEdFTiwgd2hpbGUgYmVpbmcgYSBncmVhdCBmZWF0dXJlIHRoYXQgZW5hYmxlcwo+IENMX01F TV9TVk1fRklORV9HUkFJTl9CVUZGRVIgT0NMIGNhcGFiaWxpdHkgb24gSW50ZWwgR0VOIGFyY2hp dGVjdHVyZSwgYWRkcwo+IG92ZXJoZWFkIHJlbGF0ZWQgdG8gdHJhY2tpbmcgKHNub29waW5nKSBt ZW1vcnkgaW5zaWRlIGRpZmZlcmVudCBjYWNoZSB1bml0cwo+IChMMSQsIEwyJCwgTDMkLCBMTEMk LCBldGMuKS4gQXQgdGhlIHNhbWUgdGltZSwgbWlub3JpdHkgb2YgbW9kZXJuIE9DTAo+IGFwcGxp Y2F0aW9ucyBhY3R1YWxseSB1c2UgQ0xfTUVNX1NWTV9GSU5FX0dSQUlOX0JVRkZFUiAoYW5kIGhl bmNlIHJlcXVpcmUKPiBtZW1vcnkgY29oZXJlbmN5IGJldHdlZW4gQ1BVIGFuZCBHUFUpLiBUaGUg Z29hbCBvZiBjb2hlcmVuY3kgZW5hYmxlL2Rpc2FibGUKPiBzd2l0Y2ggaXMgdG8gcmVtb3ZlIG92 ZXJoZWFkIG9mIG1lbW9yeSBjb2hlcmVuY3kgd2hlbiBtZW1vcnkgY29oZXJlbmN5IGlzIG5vdAo+ IG5lZWRlZC4KPgo+IDIuIFdoeSBkbyB3ZSBuZWVkIGEgZ2xvYmFsIGNvaGVyZW5jeSBzd2l0Y2g/ Cj4KPiBJbiBvcmRlciB0byBzdXBwb3J0IEkvTyBjb21tYW5kcyBmcm9tIHdpdGhpbiBFVXMgKEV4 ZWN1dGlvbiBVbml0cyksIEludGVsIEdFTgo+IElTQSAoR0VOIEluc3RydWN0aW9uIFNldCBBc3Nl bWJseSkgY29udGFpbnMgZGVkaWNhdGVkICJzZW5kIiBpbnN0cnVjdGlvbnMuCj4gVGhlc2Ugc2Vu ZCBpbnN0cnVjdGlvbnMgcHJvdmlkZSBzZXZlcmFsIGFkZHJlc3NpbmcgbW9kZWxzLiBPbmUgb2Yg dGhlc2UKPiBhZGRyZXNzaW5nIG1vZGVscyAobmFtZWQgInN0YXRlbGVzcyIpIHByb3ZpZGVzIG1v c3QgZmxleGlibGUgSS9PIHVzaW5nIHBsYWluCj4gdmlydHVhbCBhZGRyZXNzZXMgKGFzIG9wcG9z ZWQgdG8gYnVmZmVyX2hhbmRsZStvZmZzZXQgbW9kZWxzKS4gVGhpcyAic3RhdGVsZXNzIgo+IG1v ZGVsIGlzIHNpbWlsYXIgdG8gcmVndWxhciBtZW1vcnkgbG9hZC9zdG9yZSBvcGVyYXRpb25zIGF2 YWlsYWJsZSBvbiB0eXBpY2FsCj4gQ1BVcy4gU2luY2UgdGhpcyBtb2RlbCBwcm92aWRlcyBJL08g dXNpbmcgYXJiaXRyYXJ5IHZpcnR1YWwgYWRkcmVzc2VzLCBpdAo+IGVuYWJsZXMgYWxnb3JpdGht aWMgZGVzaWducyB0aGF0IGFyZSBiYXNlZCBvbiBwb2ludGVyLXRvLXBvaW50ZXIgKGUuZy4gYnVm ZmVyCj4gb2YgcG9pbnRlcnMpIGNvbmNlcHRzLiBGb3IgaW5zdGFuY2UsIGl0IGFsbG93cyBjcmVh dGluZyB0cmVlLWxpa2UgZGF0YQo+IHN0cnVjdHVyZXMgc3VjaCBhczoKPiAgICAgICAgICAgICAg ICAgICAgIF9fX19fX19fX19fX19fX18KPiAgICAgICAgICAgICAgICAgICAgfCAgICAgIE5PREUx ICAgICB8Cj4gICAgICAgICAgICAgICAgICAgIHwgdWludDY0X3QgZGF0YSAgfAo+ICAgICAgICAg ICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLXwKPiAgICAgICAgICAgICAgICAgICAgfCBOT0RF KiAgfCAgTk9ERSp8Cj4gICAgICAgICAgICAgICAgICAgICstLS0tLS0tLSstLS0tLS0tKwo+ICAg ICAgICAgICAgICAgICAgICAgIC8gICAgICAgICAgICAgIFwKPiAgICAgX19fX19fX19fX19fX19f Xy8gICAgICAgICAgICAgICAgXF9fX19fX19fX19fX19fX18KPiAgICB8ICAgICAgTk9ERTIgICAg IHwgICAgICAgICAgICAgICAgfCAgICAgIE5PREUzICAgICB8Cj4gICAgfCB1aW50NjRfdCBkYXRh ICB8ICAgICAgICAgICAgICAgIHwgdWludDY0X3QgZGF0YSAgfAo+ICAgICstLS0tLS0tLS0tLS0t LS0tfCAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLXwKPiAgICB8IE5PREUqICB8ICBO T0RFKnwgICAgICAgICAgICAgICAgfCBOT0RFKiAgfCAgTk9ERSp8Cj4gICAgKy0tLS0tLS0tKy0t LS0tLS0rICAgICAgICAgICAgICAgICstLS0tLS0tLSstLS0tLS0tKwo+Cj4gUGxlYXNlIG5vdGUg dGhhdCBwb2ludGVycyBpbnNpZGUgc3VjaCBzdHJ1Y3R1cmVzIGNhbiBwb2ludCB0byBtZW1vcnkg bG9jYXRpb25zCj4gaW4gZGlmZmVyZW50IE9DTCBhbGxvY2F0aW9ucyAgLSBlLmcuIE5PREUxIGFu ZCBOT0RFMiBjYW4gcmVzaWRlIGluIG9uZSBPQ0wKPiBhbGxvY2F0aW9uIHdoaWxlIE5PREUzIHJl c2lkZXMgaW4gYSBjb21wbGV0ZWx5IHNlcGFyYXRlIE9DTCBhbGxvY2F0aW9uLgo+IEFkZGl0aW9u YWxseSwgc3VjaCBwb2ludGVycyBjYW4gYmUgc2hhcmVkIHdpdGggQ1BVIChpLmUuIHVzaW5nIFNW TSAtIFNoYXJlZAo+IFZpcnR1YWwgTWVtb3J5IGZlYXR1cmUpLiBVc2luZyBwb2ludGVycyBmcm9t IGRpZmZlcmVudCBhbGxvY2F0aW9ucyBkb2Vzbid0Cj4gYWZmZWN0IHRoZSBzdGF0ZWxlc3MgYWRk cmVzc2luZyBtb2RlbCB3aGljaCBldmVuIGFsbG93cyBzY2F0dGVyZWQgcmVhZGluZyBmcm9tCj4g ZGlmZmVyZW50IGFsbG9jYXRpb25zIGF0IHRoZSBzYW1lIHRpbWUgKGkuZS4gYnkgdXRpbGl6aW5n IFNJTUQtbmF0dXJlIG9mIHNlbmQKPiBpbnN0cnVjdGlvbnMpLgo+Cj4gV2hlbiBpdCBjb21lcyB0 byBjb2hlcmVuY3kgcHJvZ3JhbW1pbmcsIHNlbmQgaW5zdHJ1Y3Rpb25zIGluIHN0YXRlbGVzcyBt b2RlbAo+IGNhbiBiZSBlbmNvZGVkIChhdCBJU0EgbGV2ZWwpIHRvIGVpdGhlciB1c2Ugb3IgZGlz YWJsZSBjb2hlcmVuY3kuIEhvd2V2ZXIsIGZvcgo+IGdlbmVyaWMgT0NMIGFwcGxpY2F0aW9ucyAo c3VjaCBhcyBleGFtcGxlIHdpdGggdHJlZS1saWtlIGRhdGEgc3RydWN0dXJlKSwgT0NMCj4gY29t cGlsZXIgaXMgbm90IGFibGUgdG8gZGV0ZXJtaW5lIG9yaWdpbiBvZiBtZW1vcnkgcG9pbnRlZCB0 byBieSBhbiBhcmJpdHJhcnkKPiBwb2ludGVyIC0gaS5lLiBpcyBub3QgYWJsZSB0byB0cmFjayBn aXZlbiBwb2ludGVyIGJhY2sgdG8gYSBzcGVjaWZpYwo+IGFsbG9jYXRpb24uIEFzIHN1Y2gsIGl0 J3Mgbm90IGFibGUgdG8gZGVjaWRlIHdoZXRoZXIgY29oZXJlbmN5IGlzIG5lZWRlZCBvciBub3QK PiBmb3Igc3BlY2lmaWMgcG9pbnRlciAob3IgZm9yIHNwZWNpZmljIEkvTyBpbnN0cnVjdGlvbiku IEFzIGEgcmVzdWx0LCBjb21waWxlcgo+IGVuY29kZXMgYWxsIHN0YXRlbGVzcyBzZW5kcyBhcyBj b2hlcmVudCAoZG9pbmcgb3RoZXJ3aXNlIHdvdWxkIGxlYWQgdG8KPiBmdW5jdGlvbmFsIGlzc3Vl cyByZXN1bHRpbmcgZnJvbSBkYXRhIGNvcnJ1cHRpb24pLiBQbGVhc2Ugbm90ZSB0aGF0IGl0IHdv dWxkIGJlCj4gcG9zc2libGUgdG8gd29ya2Fyb3VuZCB0aGlzIChlLmcuIGJhc2VkIG9uIGFsbG9j YXRpb25zIG1hcCBhbmQgcG9pbnRlciBib3VuZHMKPiBjaGVja2luZyBwcmlvciB0byBlYWNoIEkv TyBpbnN0cnVjdGlvbikgYnV0IHRoZSBwZXJmb3JtYW5jZSBjb3N0IG9mIHN1Y2gKPiB3b3JrYXJv dW5kIHdvdWxkIGJlIG1hbnkgdGltZXMgZ3JlYXRlciB0aGFuIHRoZSBjb3N0IG9mIGtlZXBpbmcg Y29oZXJlbmN5Cj4gYWx3YXlzIGVuYWJsZWQuIEFzIHN1Y2gsIGVuYWJsaW5nL2Rpc2FibGluZyBt ZW1vcnkgY29oZXJlbmN5IGF0IEdFTiBJU0EgbGV2ZWwKPiBpcyBub3QgZmVhc2libGUgYW5kIGFs dGVybmF0aXZlIG1ldGhvZCBpcyBuZWVkZWQuCj4KPiBTdWNoIGFsdGVybmF0aXZlIHNvbHV0aW9u IGlzIHRvIGhhdmUgYSBnbG9iYWwgY29oZXJlbmN5IHN3aXRjaCB0aGF0IGFsbG93cwo+IGRpc2Fi bGluZyBjb2hlcmVuY3kgZm9yIHNpbmdsZSAodGhvdWdoIGVudGlyZSkgR1BVIHN1Ym1pc3Npb24u IFRoaXMgaXMKPiBiZW5lZmljaWFsIGJlY2F1c2UgdGhpcyB3YXkgd2U6Cj4gKiBjYW4gZW5hYmxl IChhbmQgcGF5IGZvcikgY29oZXJlbmN5IG9ubHkgaW4gc3VibWlzc2lvbnMgdGhhdCBhY3R1YWxs eSBuZWVkCj4gY29oZXJlbmN5IChzdWJtaXNzaW9ucyB0aGF0IHVzZSBDTF9NRU1fU1ZNX0ZJTkVf R1JBSU5fQlVGRkVSIHJlc291cmNlcykKPiAqIGRvbid0IGNhcmUgYWJvdXQgY29oZXJlbmN5IGF0 IEdFTiBJU0EgZ3JhbnVsYXJpdHkgKG5vIHBlcmZvcm1hbmNlIGltcGFjdCkKPgo+IDMuIFdpbGwg Y29oZXJlbmN5IHN3aXRjaCBiZSB1c2VkIGZyZXF1ZW50bHk/Cj4KPiBUaGVyZSBhcmUgc2NlbmFy aW9zIHRoYXQgd2lsbCByZXF1aXJlIGZyZXF1ZW50IHRvZ2dsaW5nIG9mIHRoZSBjb2hlcmVuY3kK PiBzd2l0Y2guCj4gRS5nLiBhbiBhcHBsaWNhdGlvbiBoYXMgdHdvIE9DTCBjb21wdXRlIGtlcm5l bHM6IGtlcm5fbWFzdGVyIGFuZCBrZXJuX3dvcmtlci4KPiBrZXJuX21hc3RlciB1c2VzLCBjb25j dXJyZW50bHkgd2l0aCBDUFUsIHNvbWUgZmluZSBncmFpbiBTVk0gcmVzb3VyY2VzCj4gKENMX01F TV9TVk1fRklORV9HUkFJTl9CVUZGRVIpLiBUaGVzZSByZXNvdXJjZXMgY29udGFpbiBkZXNjcmlw dG9ycyBvZgo+IGNvbXB1dGF0aW9uYWwgd29yayB0aGF0IG5lZWRzIHRvIGJlIGV4ZWN1dGVkLiBr ZXJuX21hc3RlciBhbmFseXplcyBpbmNvbWluZwo+IHdvcmsgZGVzY3JpcHRvcnMgYW5kIHBvcHVs YXRlcyBhIHBsYWluIE9DTCBidWZmZXIgKG5vbi1maW5lLWdyYWluKSB3aXRoIHBheWxvYWQKPiBm b3Iga2Vybl93b3JrZXIuIE9uY2Uga2Vybl9tYXN0ZXIgaXMgZG9uZSwga2Vybl93b3JrZXIga2lj a3MtaW4gYW5kIHByb2Nlc3Nlcwo+IHRoZSBwYXlsb2FkIHRoYXQga2Vybl9tYXN0ZXIgcHJvZHVj ZWQuIFRoZXNlIHR3byBrZXJuZWxzIHdvcmsgaW4gYSBsb29wLCBvbmUKPiBhZnRlciBhbm90aGVy LiBTaW5jZSBvbmx5IGtlcm5fbWFzdGVyIHJlcXVpcmVzIGNvaGVyZW5jeSwga2Vybl93b3JrZXIg c2hvdWxkCj4gbm90IGJlIGZvcmNlZCB0byBwYXkgZm9yIGl0LiBUaGlzIG1lYW5zIHRoYXQgd2Ug bmVlZCB0byBoYXZlIHRoZSBhYmlsaXR5IHRvCj4gdG9nZ2xlIGNvaGVyZW5jeSBzd2l0Y2ggb24g b3Igb2ZmIHBlciBlYWNoIEdQVSBzdWJtaXNzaW9uOgo+IChFTkFCTEUgQ09IRVJFTkNZKSBrZXJu X21hc3RlciAtPiAoRElTQUJMRSBDT0hFUkVOQ1kpa2Vybl93b3JrZXIgLT4gKEVOQUJMRQo+IENP SEVSRU5DWSkga2Vybl9tYXN0ZXIgLT4gKERJU0FCTEUgQ09IRVJFTkNZKWtlcm5fd29ya2VyIC0+ IC4uLgo+Cj4gdjI6IEZpeGVkIGNvbXBpbGF0aW9uIHdhcm5pbmcuCj4gdjM6IFJlZmFjdG9yZWQg dGhlIHBhdGNoIHRvIGFkZCBJT0NUTCBpbnN0ZWFkIG9mIGV4ZWMgZmxhZy4KPiB2NDogUmVuYW1l ZCBhbmQgZG9jdW1lbnRlZCB0aGUgQVBJIGZsYWcuIFVzZWQgc3RyaWN0IHZhbHVlcy4KPiAgICAg IFJlbW92ZWQgcmVkdW5kYW50IEdFTV9XQVJOX09OKClzLiBJbXByb3ZlZCB0byBjb2Rpbmcgc3Rh bmRhcmQuCj4gICAgICBJbnRyb2R1Y2VkIGEgbWFjcm8gZm9yIGNoZWNraW5nIHdoZXRoZXIgaGFy ZHdhcmUgc3VwcG9ydHMgdGhlIGZlYXR1cmUuCj4KPiBDYzogSm9vbmFzIExhaHRpbmVuIDxqb29u YXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgo+IENjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtv LnVyc3VsaW5AaW50ZWwuY29tPgo+IENjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNv bi5jby51az4KPiBDYzogTWljaGFsIFdpbmlhcnNraSA8bWljaGFsLndpbmlhcnNraUBpbnRlbC5j b20+Cj4KPiBCc3BlYzogMTE0MTkKPiBTaWduZWQtb2ZmLWJ5OiBUb21hc3ogTGlzIDx0b21hc3ou bGlzQGludGVsLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg ICAgICAgICB8ICAxICsKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu YyB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fY29udGV4dC5oIHwgIDYgKysrKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmMgICAgICAgIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Cj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCAgICAgICAgfCAgNCArKysKPiAg IGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCAgICAgICAgICAgICB8ICA2ICsrKysKPiAgIDYg ZmlsZXMgY2hhbmdlZCwgMTA3IGluc2VydGlvbnMoKykKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAo+IGluZGV4IDA5YWIxMjQuLjdkNGJiZDUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK PiBAQCAtMjUyNCw2ICsyNTI0LDcgQEAgaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCj4gICAjZGVmaW5lIEhBU19FRFJBTShkZXZfcHJpdikJKCEhKChk ZXZfcHJpdiktPmVkcmFtX2NhcCAmIEVEUkFNX0VOQUJMRUQpKQo+ICAgI2RlZmluZSBIQVNfV1Qo ZGV2X3ByaXYpCSgoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwgXAo+ICAgCQkJCSBJU19CUk9BRFdF TEwoZGV2X3ByaXYpKSAmJiBIQVNfRURSQU0oZGV2X3ByaXYpKQo+ICsjZGVmaW5lIEhBU19EQVRB X1BPUlRfQ09IRVJFTkNZKGRldl9wcml2KQkoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQoKUmVh ZGluZyB0aGUgZG9jdW1lbnRhdGlvbiBpdCBzZWVtcyB0aGF0IHRoZSBiaXQgeW91IHdhbnQgdG8g c2V0IGlzIGdvbmUgCmluIElDTC9HZW4xMS4KTWF5YmUgbGltaXQgdGhpcyB0byA+PSA5ICYmIDwg MTE/CgpDaGVlcnMsCgotCkxpb25lbAoKPiAgIAo+ICAgI2RlZmluZSBIV1NfTkVFRFNfUEhZU0lD QUwoZGV2X3ByaXYpCSgoZGV2X3ByaXYpLT5pbmZvLmh3c19uZWVkc19waHlzaWNhbCkKPiAgIAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPiBpbmRleCBiMTA3NzBjLi42 ZGIzNTJlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRl eHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+IEBA IC03MTEsNiArNzExLDI2IEBAIHN0YXRpYyBib29sIGNsaWVudF9pc19iYW5uZWQoc3RydWN0IGRy bV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2KQo+ICAgCXJldHVybiBhdG9taWNfcmVhZCgm ZmlsZV9wcml2LT5iYW5fc2NvcmUpID49IEk5MTVfQ0xJRU5UX1NDT1JFX0JBTk5FRDsKPiAgIH0K PiAgIAo+ICtzdGF0aWMgaW50IGk5MTVfZ2VtX2NvbnRleHRfc2V0X2RhdGFfcG9ydF9jb2hlcmVu dChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQo+ICt7Cj4gKwlpbnQgcmV0Owo+ICsKPiAr CXJldCA9IGludGVsX2xyX2NvbnRleHRfbW9kaWZ5X2RhdGFfcG9ydF9jb2hlcmVuY3koY3R4LCB0 cnVlKTsKPiArCWlmICghcmV0KQo+ICsJCV9fc2V0X2JpdChDT05URVhUX0RBVEFfUE9SVF9DT0hF UkVOVCwgJmN0eC0+ZmxhZ3MpOwo+ICsJcmV0dXJuIHJldDsKPiArfQo+ICsKPiArc3RhdGljIGlu dCBpOTE1X2dlbV9jb250ZXh0X2NsZWFyX2RhdGFfcG9ydF9jb2hlcmVudChzdHJ1Y3QgaTkxNV9n ZW1fY29udGV4dCAqY3R4KQo+ICt7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCXJldCA9IGludGVsX2xy X2NvbnRleHRfbW9kaWZ5X2RhdGFfcG9ydF9jb2hlcmVuY3koY3R4LCBmYWxzZSk7Cj4gKwlpZiAo IXJldCkKPiArCQlfX2NsZWFyX2JpdChDT05URVhUX0RBVEFfUE9SVF9DT0hFUkVOVCwgJmN0eC0+ ZmxhZ3MpOwo+ICsJcmV0dXJuIHJldDsKPiArfQo+ICsKPiAgIGludCBpOTE1X2dlbV9jb250ZXh0 X2NyZWF0ZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAgCQkJ CSAgc3RydWN0IGRybV9maWxlICpmaWxlKQo+ICAgewo+IEBAIC03ODQsNiArODA0LDcgQEAgaW50 IGk5MTVfZ2VtX2NvbnRleHRfZGVzdHJveV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2 b2lkICpkYXRhLAo+ICAgaW50IGk5MTVfZ2VtX2NvbnRleHRfZ2V0cGFyYW1faW9jdGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAkJCQkgICAgc3RydWN0IGRybV9maWxl ICpmaWxlKQo+ICAgewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShkZXYpOwo+ICAgCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9 IGZpbGUtPmRyaXZlcl9wcml2Owo+ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJh bSAqYXJncyA9IGRhdGE7Cj4gICAJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKPiBAQCAt ODE4LDYgKzgzOSwxMiBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9nZXRwYXJhbV9pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAgCWNhc2UgSTkxNV9DT05URVhUX1BB UkFNX1BSSU9SSVRZOgo+ICAgCQlhcmdzLT52YWx1ZSA9IGN0eC0+c2NoZWQucHJpb3JpdHk7Cj4g ICAJCWJyZWFrOwo+ICsJY2FzZSBJOTE1X0NPTlRFWFRfUEFSQU1fREFUQV9QT1JUX0NPSEVSRU5D WToKPiArCQlpZiAoIUhBU19EQVRBX1BPUlRfQ09IRVJFTkNZKGRldl9wcml2KSkKPiArCQkJcmV0 ID0gLUVOT0RFVjsKPiArCQllbHNlCj4gKwkJCWFyZ3MtPnZhbHVlID0gaTkxNV9nZW1fY29udGV4 dF9pc19kYXRhX3BvcnRfY29oZXJlbnQoY3R4KTsKPiArCQlicmVhazsKPiAgIAlkZWZhdWx0Ogo+ ICAgCQlyZXQgPSAtRUlOVkFMOwo+ICAgCQlicmVhazsKPiBAQCAtODMwLDYgKzg1Nyw3IEBAIGlu dCBpOTE1X2dlbV9jb250ZXh0X2dldHBhcmFtX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsCj4gICBpbnQgaTkxNV9nZW1fY29udGV4dF9zZXRwYXJhbV9pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAgCQkJCSAgICBzdHJ1Y3QgZHJtX2Zp bGUgKmZpbGUpCj4gICB7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGRldik7Cj4gICAJc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2 ID0gZmlsZS0+ZHJpdmVyX3ByaXY7Cj4gICAJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3Bh cmFtICphcmdzID0gZGF0YTsKPiAgIAlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4Owo+IEBA IC04OTMsNiArOTIxLDE5IEBAIGludCBpOTE1X2dlbV9jb250ZXh0X3NldHBhcmFtX2lvY3RsKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJCX0KPiAgIAkJYnJlYWs7Cj4g ICAKPiArCWNhc2UgSTkxNV9DT05URVhUX1BBUkFNX0RBVEFfUE9SVF9DT0hFUkVOQ1k6Cj4gKwkJ aWYgKGFyZ3MtPnNpemUpCj4gKwkJCXJldCA9IC1FSU5WQUw7Cj4gKwkJZWxzZSBpZiAoIUhBU19E QVRBX1BPUlRfQ09IRVJFTkNZKGRldl9wcml2KSkKPiArCQkJcmV0ID0gLUVOT0RFVjsKPiArCQll bHNlIGlmIChhcmdzLT52YWx1ZSA9PSAxKQo+ICsJCQlyZXQgPSBpOTE1X2dlbV9jb250ZXh0X3Nl dF9kYXRhX3BvcnRfY29oZXJlbnQoY3R4KTsKPiArCQllbHNlIGlmIChhcmdzLT52YWx1ZSA9PSAw KQo+ICsJCQlyZXQgPSBpOTE1X2dlbV9jb250ZXh0X2NsZWFyX2RhdGFfcG9ydF9jb2hlcmVudChj dHgpOwo+ICsJCWVsc2UKPiArCQkJcmV0ID0gLUVJTlZBTDsKPiArCQlicmVhazsKPiArCj4gICAJ ZGVmYXVsdDoKPiAgIAkJcmV0ID0gLUVJTlZBTDsKPiAgIAkJYnJlYWs7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuaAo+IGluZGV4IGIxMTZlNDkuLmU4Y2NiNzAgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oCj4gQEAgLTEyNiw2ICsxMjYs NyBAQCBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCB7Cj4gICAjZGVmaW5lIENPTlRFWFRfQkFOTkFC TEUJCTMKPiAgICNkZWZpbmUgQ09OVEVYVF9CQU5ORUQJCQk0Cj4gICAjZGVmaW5lIENPTlRFWFRf Rk9SQ0VfU0lOR0xFX1NVQk1JU1NJT04JNQo+ICsjZGVmaW5lIENPTlRFWFRfREFUQV9QT1JUX0NP SEVSRU5UCTYKPiAgIAo+ICAgCS8qKgo+ICAgCSAqIEBod19pZDogLSB1bmlxdWUgaWRlbnRpZmll ciBmb3IgdGhlIGNvbnRleHQKPiBAQCAtMjU3LDYgKzI1OCwxMSBAQCBzdGF0aWMgaW5saW5lIHZv aWQgaTkxNV9nZW1fY29udGV4dF9zZXRfZm9yY2Vfc2luZ2xlX3N1Ym1pc3Npb24oc3RydWN0IGk5 MTVfZ2VtXwo+ICAgCV9fc2V0X2JpdChDT05URVhUX0ZPUkNFX1NJTkdMRV9TVUJNSVNTSU9OLCAm Y3R4LT5mbGFncyk7Cj4gICB9Cj4gICAKPiArc3RhdGljIGlubGluZSBib29sIGk5MTVfZ2VtX2Nv bnRleHRfaXNfZGF0YV9wb3J0X2NvaGVyZW50KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgp Cj4gK3sKPiArCXJldHVybiB0ZXN0X2JpdChDT05URVhUX0RBVEFfUE9SVF9DT0hFUkVOVCwgJmN0 eC0+ZmxhZ3MpOwo+ICt9Cj4gKwo+ICAgc3RhdGljIGlubGluZSBib29sIGk5MTVfZ2VtX2NvbnRl eHRfaXNfZGVmYXVsdChjb25zdCBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqYykKPiAgIHsKPiAg IAlyZXR1cm4gYy0+dXNlcl9oYW5kbGUgPT0gREVGQVVMVF9DT05URVhUX0hBTkRMRTsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9scmMuYwo+IGluZGV4IGFiODlkYWIuLjFmMDM3ZTMgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9scmMuYwo+IEBAIC0yNTksNiArMjU5LDU1IEBAIGludGVsX2xyX2NvbnRl eHRfZGVzY3JpcHRvcl91cGRhdGUoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKPiAgIAlj ZS0+bHJjX2Rlc2MgPSBkZXNjOwo+ICAgfQo+ICAgCj4gK3N0YXRpYyBpbnQgZW1pdF9zZXRfZGF0 YV9wb3J0X2NvaGVyZW5jeShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXEsIGJvb2wgZW5hYmxlKQo+ ICt7Cj4gKwl1MzIgKmNzOwo+ICsJaTkxNV9yZWdfdCByZWc7Cj4gKwo+ICsJR0VNX0JVR19PTihy ZXEtPmVuZ2luZS0+Y2xhc3MgIT0gUkVOREVSX0NMQVNTKTsKPiArCUdFTV9CVUdfT04oSU5URUxf R0VOKHJlcS0+aTkxNSkgPCA5KTsKPiArCj4gKwljcyA9IGludGVsX3JpbmdfYmVnaW4ocmVxLCA0 KTsKPiArCWlmIChJU19FUlIoY3MpKQo+ICsJCXJldHVybiBQVFJfRVJSKGNzKTsKPiArCj4gKwlp ZiAoSU5URUxfR0VOKHJlcS0+aTkxNSkgPj0gMTApCj4gKwkJcmVnID0gQ05MX0hEQ19DSElDS0VO MDsKPiArCWVsc2UKPiArCQlyZWcgPSBIRENfQ0hJQ0tFTjA7Cj4gKwo+ICsJKmNzKysgPSBNSV9M T0FEX1JFR0lTVEVSX0lNTSgxKTsKPiArCSpjcysrID0gaTkxNV9tbWlvX3JlZ19vZmZzZXQocmVn KTsKPiArCS8qIEVuYWJsaW5nIGNvaGVyZW5jeSBtZWFucyBkaXNhYmxpbmcgdGhlIGJpdCB3aGlj aCBmb3JjZXMgaXQgb2ZmICovCj4gKwlpZiAoZW5hYmxlKQo+ICsJCSpjcysrID0gX01BU0tFRF9C SVRfRElTQUJMRShIRENfRk9SQ0VfTk9OX0NPSEVSRU5UKTsKPiArCWVsc2UKPiArCQkqY3MrKyA9 IF9NQVNLRURfQklUX0VOQUJMRShIRENfRk9SQ0VfTk9OX0NPSEVSRU5UKTsKPiArCSpjcysrID0g TUlfTk9PUDsKPiArCj4gKwlpbnRlbF9yaW5nX2FkdmFuY2UocmVxLCBjcyk7Cj4gKwo+ICsJcmV0 dXJuIDA7Cj4gK30KPiArCj4gK2ludAo+ICtpbnRlbF9scl9jb250ZXh0X21vZGlmeV9kYXRhX3Bv cnRfY29oZXJlbmN5KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4gKwkJCQkJICAgIGJv b2wgZW5hYmxlKQo+ICt7Cj4gKwlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXE7Cj4gKwlpbnQgcmV0 Owo+ICsKPiArCXJlcSA9IGk5MTVfcmVxdWVzdF9hbGxvYyhjdHgtPmk5MTUtPmVuZ2luZVtSQ1Nd LCBjdHgpOwo+ICsJaWYgKElTX0VSUihyZXEpKQo+ICsJCXJldHVybiBQVFJfRVJSKHJlcSk7Cj4g Kwo+ICsJcmV0ID0gZW1pdF9zZXRfZGF0YV9wb3J0X2NvaGVyZW5jeShyZXEsIGVuYWJsZSk7Cj4g Kwo+ICsJaTkxNV9yZXF1ZXN0X2FkZChyZXEpOwo+ICsKPiArCXJldHVybiByZXQ7Cj4gK30KPiAr Cj4gICBzdGF0aWMgc3RydWN0IGk5MTVfcHJpb2xpc3QgKgo+ICAgbG9va3VwX3ByaW9saXN0KHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgaW50IHByaW8pCj4gICB7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmgKPiBpbmRleCAxNTkzMTk0Li5mNjk2NWFlIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmgKPiBAQCAtMTA0LDQgKzEwNCw4IEBAIHN0cnVjdCBpOTE1X2dlbV9jb250 ZXh0Owo+ICAgCj4gICB2b2lkIGludGVsX2xyX2NvbnRleHRfcmVzdW1lKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdik7Cj4gICAKPiAraW50Cj4gK2ludGVsX2xyX2NvbnRleHRfbW9k aWZ5X2RhdGFfcG9ydF9jb2hlcmVuY3koc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKPiAr CQkJCQkgICAgYm9vbCBlbmFibGUpOwo+ICsKPiAgICNlbmRpZiAvKiBfSU5URUxfTFJDX0hfICov Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvdWFw aS9kcm0vaTkxNV9kcm0uaAo+IGluZGV4IDdmNTYzNGMuLmU2NzdiZWEgMTAwNjQ0Cj4gLS0tIGEv aW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9pOTE1 X2RybS5oCj4gQEAgLTE0NTYsNiArMTQ1NiwxMiBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRl eHRfcGFyYW0gewo+ICAgI2RlZmluZSAgIEk5MTVfQ09OVEVYVF9NQVhfVVNFUl9QUklPUklUWQkx MDIzIC8qIGluY2x1c2l2ZSAqLwo+ICAgI2RlZmluZSAgIEk5MTVfQ09OVEVYVF9ERUZBVUxUX1BS SU9SSVRZCQkwCj4gICAjZGVmaW5lICAgSTkxNV9DT05URVhUX01JTl9VU0VSX1BSSU9SSVRZCS0x MDIzIC8qIGluY2x1c2l2ZSAqLwo+ICsvKgo+ICsgKiBXaGVuIGRhdGEgcG9ydCBsZXZlbCBjb2hl cmVuY3kgaXMgZW5hYmxlZCwgdGhlIEdQVSB3aWxsIHVwZGF0ZSBtZW1vcnkKPiArICogYnVmZmVy cyBzaGFyZWQgd2l0aCBDUFUsIGJ5IGZvcmNpbmcgaW50ZXJuYWwgY2FjaGUgdW5pdHMgdG8gc2Vu ZCBtZW1vcnkKPiArICogd3JpdGVzIHRvIHJlYWwgUkFNIGZhc3Rlci4gS2VlcGluZyBzdWNoIGNv aGVyZW5jeSBoYXMgcGVyZm9ybWFuY2UgY29zdC4KPiArICovCj4gKyNkZWZpbmUgSTkxNV9DT05U RVhUX1BBUkFNX0RBVEFfUE9SVF9DT0hFUkVOQ1kJMHg3Cj4gICAJX191NjQgdmFsdWU7Cj4gICB9 Owo+ICAgCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==