From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomasz Lis Subject: [PATCH v6] drm/i915: Add IOCTL Param to control data port coherency. Date: Tue, 9 Oct 2018 20:06:11 +0200 Message-ID: <1539108371-25517-1-git-send-email-tomasz.lis@intel.com> References: <1521463055-5325-2-git-send-email-tomasz.lis@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6A4E26E2CC for ; Tue, 9 Oct 2018 18:06:14 +0000 (UTC) In-Reply-To: <1521463055-5325-2-git-send-email-tomasz.lis@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: bartosz.dunajski@intel.com List-Id: intel-gfx@lists.freedesktop.org VGhlIHBhdGNoIGFkZHMgYSBwYXJhbWV0ZXIgdG8gY29udHJvbCB0aGUgZGF0YSBwb3J0IGNvaGVy ZW5jeSBmdW5jdGlvbmFsaXR5Cm9uIGEgcGVyLWNvbnRleHQgbGV2ZWwuIFdoZW4gdGhlIElPQ1RM IGlzIGNhbGxlZCwgYSBjb21tYW5kIHRvIHN3aXRjaCBkYXRhCnBvcnQgY29oZXJlbmN5IHN0YXRl IGlzIGFkZGVkIHRvIHRoZSBvcmRlcmVkIGxpc3QuIEFsbCBwcmlvciByZXF1ZXN0cyBhcmUKZXhl Y3V0ZWQgb24gb2xkIGNvaGVyZW5jeSBzZXR0aW5ncywgYW5kIGFsbCBleGVjIHJlcXVlc3RzIGFm dGVyIHRoZSBJT0NUTAp3aWxsIHVzZSBuZXcgc2V0dGluZ3MuCgpSYXRpb25hbGU6CgpUaGUgT3Bl bkNMIGRyaXZlciBkZXZlbHBlcnMgcmVxdWVzdGVkIGEgZnVuY3Rpb25hbGl0eSB0byBjb250cm9s IGNhY2hlCmNvaGVyZW5jeSBhdCBkYXRhIHBvcnQgbGV2ZWwuIEtlZXBpbmcgdGhlIGNvaGVyZW5j eSBhdCB0aGF0IGxldmVsIGlzIGRpc2FibGVkCmJ5IGRlZmF1bHQgZHVlIHRvIGl0cyBwZXJmb3Jt YW5jZSBjb3N0cy4gT3BlbkNMIGRyaXZlciBpcyBwbGFubmluZyB0bwplbmFibGUgaXQgZm9yIGEg c21hbGwgc3Vic2V0IG9mIHN1Ym1pc3Npb25zLCB3aGVuIHN1Y2ggZnVuY3Rpb25hbGl0eSBpcwpy ZXF1aXJlZC4gQmVsb3cgYXJlIGFuc3dlcnMgdG8gYmFzaWMgcXVlc3Rpb24gZXhwbGFpbmluZyBi YWNrZ3JvdW5kCm9mIHRoZSBmdW5jdGlvbmFsaXR5IGFuZCByZWFzb25pbmcgZm9yIHRoZSBwcm9w b3NlZCBpbXBsZW1lbnRhdGlvbjoKCjEuIFdoeSBkbyB3ZSBuZWVkIGEgY29oZXJlbmN5IGVuYWJs ZS9kaXNhYmxlIHN3aXRjaCBmb3IgbWVtb3J5IHRoYXQgaXMgc2hhcmVkCmJldHdlZW4gQ1BVIGFu ZCBHRU4gKEdQVSk/CgpNZW1vcnkgY29oZXJlbmN5IGJldHdlZW4gQ1BVIGFuZCBHRU4sIHdoaWxl IGJlaW5nIGEgZ3JlYXQgZmVhdHVyZSB0aGF0IGVuYWJsZXMKQ0xfTUVNX1NWTV9GSU5FX0dSQUlO X0JVRkZFUiBPQ0wgY2FwYWJpbGl0eSBvbiBJbnRlbCBHRU4gYXJjaGl0ZWN0dXJlLCBhZGRzCm92 ZXJoZWFkIHJlbGF0ZWQgdG8gdHJhY2tpbmcgKHNub29waW5nKSBtZW1vcnkgaW5zaWRlIGRpZmZl cmVudCBjYWNoZSB1bml0cwooTDEkLCBMMiQsIEwzJCwgTExDJCwgZXRjLikuIEF0IHRoZSBzYW1l IHRpbWUsIG1pbm9yaXR5IG9mIG1vZGVybiBPQ0wKYXBwbGljYXRpb25zIGFjdHVhbGx5IHVzZSBD TF9NRU1fU1ZNX0ZJTkVfR1JBSU5fQlVGRkVSIChhbmQgaGVuY2UgcmVxdWlyZQptZW1vcnkgY29o ZXJlbmN5IGJldHdlZW4gQ1BVIGFuZCBHUFUpLiBUaGUgZ29hbCBvZiBjb2hlcmVuY3kgZW5hYmxl L2Rpc2FibGUKc3dpdGNoIGlzIHRvIHJlbW92ZSBvdmVyaGVhZCBvZiBtZW1vcnkgY29oZXJlbmN5 IHdoZW4gbWVtb3J5IGNvaGVyZW5jeSBpcyBub3QKbmVlZGVkLgoKMi4gV2h5IGRvIHdlIG5lZWQg YSBnbG9iYWwgY29oZXJlbmN5IHN3aXRjaD8KCkluIG9yZGVyIHRvIHN1cHBvcnQgSS9PIGNvbW1h bmRzIGZyb20gd2l0aGluIEVVcyAoRXhlY3V0aW9uIFVuaXRzKSwgSW50ZWwgR0VOCklTQSAoR0VO IEluc3RydWN0aW9uIFNldCBBc3NlbWJseSkgY29udGFpbnMgZGVkaWNhdGVkICJzZW5kIiBpbnN0 cnVjdGlvbnMuClRoZXNlIHNlbmQgaW5zdHJ1Y3Rpb25zIHByb3ZpZGUgc2V2ZXJhbCBhZGRyZXNz aW5nIG1vZGVscy4gT25lIG9mIHRoZXNlCmFkZHJlc3NpbmcgbW9kZWxzIChuYW1lZCAic3RhdGVs ZXNzIikgcHJvdmlkZXMgbW9zdCBmbGV4aWJsZSBJL08gdXNpbmcgcGxhaW4KdmlydHVhbCBhZGRy ZXNzZXMgKGFzIG9wcG9zZWQgdG8gYnVmZmVyX2hhbmRsZStvZmZzZXQgbW9kZWxzKS4gVGhpcyAi c3RhdGVsZXNzIgptb2RlbCBpcyBzaW1pbGFyIHRvIHJlZ3VsYXIgbWVtb3J5IGxvYWQvc3RvcmUg b3BlcmF0aW9ucyBhdmFpbGFibGUgb24gdHlwaWNhbApDUFVzLiBTaW5jZSB0aGlzIG1vZGVsIHBy b3ZpZGVzIEkvTyB1c2luZyBhcmJpdHJhcnkgdmlydHVhbCBhZGRyZXNzZXMsIGl0CmVuYWJsZXMg YWxnb3JpdGhtaWMgZGVzaWducyB0aGF0IGFyZSBiYXNlZCBvbiBwb2ludGVyLXRvLXBvaW50ZXIg KGUuZy4gYnVmZmVyCm9mIHBvaW50ZXJzKSBjb25jZXB0cy4gRm9yIGluc3RhbmNlLCBpdCBhbGxv d3MgY3JlYXRpbmcgdHJlZS1saWtlIGRhdGEKc3RydWN0dXJlcyBzdWNoIGFzOgogICAgICAgICAg ICAgICAgICAgX19fX19fX19fX19fX19fXwogICAgICAgICAgICAgICAgICB8ICAgICAgTk9ERTEg ICAgIHwKICAgICAgICAgICAgICAgICAgfCB1aW50NjRfdCBkYXRhICB8CiAgICAgICAgICAgICAg ICAgICstLS0tLS0tLS0tLS0tLS0tfAogICAgICAgICAgICAgICAgICB8IE5PREUqICB8ICBOT0RF KnwKICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tKy0tLS0tLS0rCiAgICAgICAgICAgICAgICAg ICAgLyAgICAgICAgICAgICAgXAogICBfX19fX19fX19fX19fX19fLyAgICAgICAgICAgICAgICBc X19fX19fX19fX19fX19fXwogIHwgICAgICBOT0RFMiAgICAgfCAgICAgICAgICAgICAgICB8ICAg ICAgTk9ERTMgICAgIHwKICB8IHVpbnQ2NF90IGRhdGEgIHwgICAgICAgICAgICAgICAgfCB1aW50 NjRfdCBkYXRhICB8CiAgKy0tLS0tLS0tLS0tLS0tLS18ICAgICAgICAgICAgICAgICstLS0tLS0t LS0tLS0tLS0tfAogIHwgTk9ERSogIHwgIE5PREUqfCAgICAgICAgICAgICAgICB8IE5PREUqICB8 ICBOT0RFKnwKICArLS0tLS0tLS0rLS0tLS0tLSsgICAgICAgICAgICAgICAgKy0tLS0tLS0tKy0t LS0tLS0rCgpQbGVhc2Ugbm90ZSB0aGF0IHBvaW50ZXJzIGluc2lkZSBzdWNoIHN0cnVjdHVyZXMg Y2FuIHBvaW50IHRvIG1lbW9yeSBsb2NhdGlvbnMKaW4gZGlmZmVyZW50IE9DTCBhbGxvY2F0aW9u cyAgLSBlLmcuIE5PREUxIGFuZCBOT0RFMiBjYW4gcmVzaWRlIGluIG9uZSBPQ0wKYWxsb2NhdGlv biB3aGlsZSBOT0RFMyByZXNpZGVzIGluIGEgY29tcGxldGVseSBzZXBhcmF0ZSBPQ0wgYWxsb2Nh dGlvbi4KQWRkaXRpb25hbGx5LCBzdWNoIHBvaW50ZXJzIGNhbiBiZSBzaGFyZWQgd2l0aCBDUFUg KGkuZS4gdXNpbmcgU1ZNIC0gU2hhcmVkClZpcnR1YWwgTWVtb3J5IGZlYXR1cmUpLiBVc2luZyBw b2ludGVycyBmcm9tIGRpZmZlcmVudCBhbGxvY2F0aW9ucyBkb2Vzbid0CmFmZmVjdCB0aGUgc3Rh dGVsZXNzIGFkZHJlc3NpbmcgbW9kZWwgd2hpY2ggZXZlbiBhbGxvd3Mgc2NhdHRlcmVkIHJlYWRp bmcgZnJvbQpkaWZmZXJlbnQgYWxsb2NhdGlvbnMgYXQgdGhlIHNhbWUgdGltZSAoaS5lLiBieSB1 dGlsaXppbmcgU0lNRC1uYXR1cmUgb2Ygc2VuZAppbnN0cnVjdGlvbnMpLgoKV2hlbiBpdCBjb21l cyB0byBjb2hlcmVuY3kgcHJvZ3JhbW1pbmcsIHNlbmQgaW5zdHJ1Y3Rpb25zIGluIHN0YXRlbGVz cyBtb2RlbApjYW4gYmUgZW5jb2RlZCAoYXQgSVNBIGxldmVsKSB0byBlaXRoZXIgdXNlIG9yIGRp c2FibGUgY29oZXJlbmN5LiBIb3dldmVyLCBmb3IKZ2VuZXJpYyBPQ0wgYXBwbGljYXRpb25zIChz dWNoIGFzIGV4YW1wbGUgd2l0aCB0cmVlLWxpa2UgZGF0YSBzdHJ1Y3R1cmUpLCBPQ0wKY29tcGls ZXIgaXMgbm90IGFibGUgdG8gZGV0ZXJtaW5lIG9yaWdpbiBvZiBtZW1vcnkgcG9pbnRlZCB0byBi eSBhbiBhcmJpdHJhcnkKcG9pbnRlciAtIGkuZS4gaXMgbm90IGFibGUgdG8gdHJhY2sgZ2l2ZW4g cG9pbnRlciBiYWNrIHRvIGEgc3BlY2lmaWMKYWxsb2NhdGlvbi4gQXMgc3VjaCwgaXQncyBub3Qg YWJsZSB0byBkZWNpZGUgd2hldGhlciBjb2hlcmVuY3kgaXMgbmVlZGVkIG9yIG5vdApmb3Igc3Bl Y2lmaWMgcG9pbnRlciAob3IgZm9yIHNwZWNpZmljIEkvTyBpbnN0cnVjdGlvbikuIEFzIGEgcmVz dWx0LCBjb21waWxlcgplbmNvZGVzIGFsbCBzdGF0ZWxlc3Mgc2VuZHMgYXMgY29oZXJlbnQgKGRv aW5nIG90aGVyd2lzZSB3b3VsZCBsZWFkIHRvCmZ1bmN0aW9uYWwgaXNzdWVzIHJlc3VsdGluZyBm cm9tIGRhdGEgY29ycnVwdGlvbikuIFBsZWFzZSBub3RlIHRoYXQgaXQgd291bGQgYmUKcG9zc2li bGUgdG8gd29ya2Fyb3VuZCB0aGlzIChlLmcuIGJhc2VkIG9uIGFsbG9jYXRpb25zIG1hcCBhbmQg cG9pbnRlciBib3VuZHMKY2hlY2tpbmcgcHJpb3IgdG8gZWFjaCBJL08gaW5zdHJ1Y3Rpb24pIGJ1 dCB0aGUgcGVyZm9ybWFuY2UgY29zdCBvZiBzdWNoCndvcmthcm91bmQgd291bGQgYmUgbWFueSB0 aW1lcyBncmVhdGVyIHRoYW4gdGhlIGNvc3Qgb2Yga2VlcGluZyBjb2hlcmVuY3kKYWx3YXlzIGVu YWJsZWQuIEFzIHN1Y2gsIGVuYWJsaW5nL2Rpc2FibGluZyBtZW1vcnkgY29oZXJlbmN5IGF0IEdF TiBJU0EgbGV2ZWwKaXMgbm90IGZlYXNpYmxlIGFuZCBhbHRlcm5hdGl2ZSBtZXRob2QgaXMgbmVl ZGVkLgoKU3VjaCBhbHRlcm5hdGl2ZSBzb2x1dGlvbiBpcyB0byBoYXZlIGEgZ2xvYmFsIGNvaGVy ZW5jeSBzd2l0Y2ggdGhhdCBhbGxvd3MKZGlzYWJsaW5nIGNvaGVyZW5jeSBmb3Igc2luZ2xlICh0 aG91Z2ggZW50aXJlKSBHUFUgc3VibWlzc2lvbi4gVGhpcyBpcwpiZW5lZmljaWFsIGJlY2F1c2Ug dGhpcyB3YXkgd2U6CiogY2FuIGVuYWJsZSAoYW5kIHBheSBmb3IpIGNvaGVyZW5jeSBvbmx5IGlu IHN1Ym1pc3Npb25zIHRoYXQgYWN0dWFsbHkgbmVlZApjb2hlcmVuY3kgKHN1Ym1pc3Npb25zIHRo YXQgdXNlIENMX01FTV9TVk1fRklORV9HUkFJTl9CVUZGRVIgcmVzb3VyY2VzKQoqIGRvbid0IGNh cmUgYWJvdXQgY29oZXJlbmN5IGF0IEdFTiBJU0EgZ3JhbnVsYXJpdHkgKG5vIHBlcmZvcm1hbmNl IGltcGFjdCkKCjMuIFdpbGwgY29oZXJlbmN5IHN3aXRjaCBiZSB1c2VkIGZyZXF1ZW50bHk/CgpU aGVyZSBhcmUgc2NlbmFyaW9zIHRoYXQgd2lsbCByZXF1aXJlIGZyZXF1ZW50IHRvZ2dsaW5nIG9m IHRoZSBjb2hlcmVuY3kKc3dpdGNoLgpFLmcuIGFuIGFwcGxpY2F0aW9uIGhhcyB0d28gT0NMIGNv bXB1dGUga2VybmVsczoga2Vybl9tYXN0ZXIgYW5kIGtlcm5fd29ya2VyLgprZXJuX21hc3RlciB1 c2VzLCBjb25jdXJyZW50bHkgd2l0aCBDUFUsIHNvbWUgZmluZSBncmFpbiBTVk0gcmVzb3VyY2Vz CihDTF9NRU1fU1ZNX0ZJTkVfR1JBSU5fQlVGRkVSKS4gVGhlc2UgcmVzb3VyY2VzIGNvbnRhaW4g ZGVzY3JpcHRvcnMgb2YKY29tcHV0YXRpb25hbCB3b3JrIHRoYXQgbmVlZHMgdG8gYmUgZXhlY3V0 ZWQuIGtlcm5fbWFzdGVyIGFuYWx5emVzIGluY29taW5nCndvcmsgZGVzY3JpcHRvcnMgYW5kIHBv cHVsYXRlcyBhIHBsYWluIE9DTCBidWZmZXIgKG5vbi1maW5lLWdyYWluKSB3aXRoIHBheWxvYWQK Zm9yIGtlcm5fd29ya2VyLiBPbmNlIGtlcm5fbWFzdGVyIGlzIGRvbmUsIGtlcm5fd29ya2VyIGtp Y2tzLWluIGFuZCBwcm9jZXNzZXMKdGhlIHBheWxvYWQgdGhhdCBrZXJuX21hc3RlciBwcm9kdWNl ZC4gVGhlc2UgdHdvIGtlcm5lbHMgd29yayBpbiBhIGxvb3AsIG9uZQphZnRlciBhbm90aGVyLiBT aW5jZSBvbmx5IGtlcm5fbWFzdGVyIHJlcXVpcmVzIGNvaGVyZW5jeSwga2Vybl93b3JrZXIgc2hv dWxkCm5vdCBiZSBmb3JjZWQgdG8gcGF5IGZvciBpdC4gVGhpcyBtZWFucyB0aGF0IHdlIG5lZWQg dG8gaGF2ZSB0aGUgYWJpbGl0eSB0bwp0b2dnbGUgY29oZXJlbmN5IHN3aXRjaCBvbiBvciBvZmYg cGVyIGVhY2ggR1BVIHN1Ym1pc3Npb246CihFTkFCTEUgQ09IRVJFTkNZKSBrZXJuX21hc3RlciAt PiAoRElTQUJMRSBDT0hFUkVOQ1kpa2Vybl93b3JrZXIgLT4gKEVOQUJMRQpDT0hFUkVOQ1kpIGtl cm5fbWFzdGVyIC0+IChESVNBQkxFIENPSEVSRU5DWSlrZXJuX3dvcmtlciAtPiAuLi4KCnYyOiBG aXhlZCBjb21waWxhdGlvbiB3YXJuaW5nLgp2MzogUmVmYWN0b3JlZCB0aGUgcGF0Y2ggdG8gYWRk IElPQ1RMIGluc3RlYWQgb2YgZXhlYyBmbGFnLgp2NDogUmVuYW1lZCBhbmQgZG9jdW1lbnRlZCB0 aGUgQVBJIGZsYWcuIFVzZWQgc3RyaWN0IHZhbHVlcy4KICAgIFJlbW92ZWQgcmVkdW5kYW50IEdF TV9XQVJOX09OKClzLiBJbXByb3ZlZCB0byBjb2Rpbmcgc3RhbmRhcmQuCiAgICBJbnRyb2R1Y2Vk IGEgbWFjcm8gZm9yIGNoZWNraW5nIHdoZXRoZXIgaGFyZHdhcmUgc3VwcG9ydHMgdGhlIGZlYXR1 cmUuCnY1OiBSZW5hbWVkIHNvbWUgbG9jYWxzLiBNYWRlIHRoZSBmbGFnIHdyaXRlIHRvIGJlIGxh enkuCiAgICBVcGRhdGVkIGNvbW1lbnRzIHRvIHJlbW92ZSBtaXNjb25jZXB0aW9ucy4gQWRkZWQg Z2VuMTEgc3VwcG9ydC4KdjY6IE1vdmVkIHRoZSBmbGFnIHdyaXRlIHRvIGdlbjhfZW5pdF9mbHVz aF9yZW5kZXIoKS4gUmVuYW1lZCBzb21lIGZ1bmN0aW9ucy4KICAgIE1vdmVkIGFsbCBmbGFncyBj aGVja2luZyB0byBvbmUgcGxhY2UuIEFkZGVkIG11dGV4IGNoZWNrLgp2NzogUmVtb3ZlZCAyIGNv bW1lbnRzLCBpbXByb3ZlZCBBUEkgY29tbWVudC4gKEpvb25hcykKCkNjOiBKb29uYXMgTGFodGlu ZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+CkNjOiBUdnJ0a28gVXJzdWxpbiA8 dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13 aWxzb24uY28udWs+CkNjOiBNaWNoYWwgV2luaWFyc2tpIDxtaWNoYWwud2luaWFyc2tpQGludGVs LmNvbT4KCkJzcGVjOiAxMTQxOQpCc3BlYzogMTkxNzUKU2lnbmVkLW9mZi1ieTogVG9tYXN6IExp cyA8dG9tYXN6Lmxpc0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaCAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4 dC5jIHwgMjkgKysrKysrKysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9j b250ZXh0LmggfCAxNyArKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j ICAgICAgICB8IDY0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogaW5jbHVkZS91 YXBpL2RybS9pOTE1X2RybS5oICAgICAgICAgICAgIHwgMTAgKysrKysrCiA1IGZpbGVzIGNoYW5n ZWQsIDExNiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCmluZGV4IDc5NGE4YTAuLmUxZWE1Y2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAt MjU4OCw2ICsyNTg4LDcgQEAgaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCiAjZGVmaW5lIEhBU19FRFJBTShkZXZfcHJpdikJKCEhKChkZXZfcHJpdikt PmVkcmFtX2NhcCAmIEVEUkFNX0VOQUJMRUQpKQogI2RlZmluZSBIQVNfV1QoZGV2X3ByaXYpCSgo SVNfSEFTV0VMTChkZXZfcHJpdikgfHwgXAogCQkJCSBJU19CUk9BRFdFTEwoZGV2X3ByaXYpKSAm JiBIQVNfRURSQU0oZGV2X3ByaXYpKQorI2RlZmluZSBIQVNfREFUQV9QT1JUX0NPSEVSRU5DWShk ZXZfcHJpdikJKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKIAogI2RlZmluZSBIV1NfTkVFRFNf UEhZU0lDQUwoZGV2X3ByaXYpCSgoZGV2X3ByaXYpLT5pbmZvLmh3c19uZWVkc19waHlzaWNhbCkK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCmluZGV4IDhjYmU1ODAuLjcx OGVkZTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKQEAgLTg0Nyw2 ICs4NDcsNyBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9kZXN0cm95X2lvY3RsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiBpbnQgaTkxNV9nZW1fY29udGV4dF9nZXRwYXJhbV9p b2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJCSAgICBzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGUpCiB7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19p OTE1KGRldik7CiAJc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2ID0gZmls ZS0+ZHJpdmVyX3ByaXY7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtICphcmdz ID0gZGF0YTsKIAlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4OwpAQCAtODY3LDEwICs4Njgs MTAgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRfZ2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdm9pZCAqZGF0YSwKIAljYXNlIEk5MTVfQ09OVEVYVF9QQVJBTV9HVFRfU0laRToK IAkJaWYgKGN0eC0+cHBndHQpCiAJCQlhcmdzLT52YWx1ZSA9IGN0eC0+cHBndHQtPnZtLnRvdGFs OwotCQllbHNlIGlmICh0b19pOTE1KGRldiktPm1tLmFsaWFzaW5nX3BwZ3R0KQotCQkJYXJncy0+ dmFsdWUgPSB0b19pOTE1KGRldiktPm1tLmFsaWFzaW5nX3BwZ3R0LT52bS50b3RhbDsKKwkJZWxz ZSBpZiAoaTkxNS0+bW0uYWxpYXNpbmdfcHBndHQpCisJCQlhcmdzLT52YWx1ZSA9IGk5MTUtPm1t LmFsaWFzaW5nX3BwZ3R0LT52bS50b3RhbDsKIAkJZWxzZQotCQkJYXJncy0+dmFsdWUgPSB0b19p OTE1KGRldiktPmdndHQudm0udG90YWw7CisJCQlhcmdzLT52YWx1ZSA9IGk5MTUtPmdndHQudm0u dG90YWw7CiAJCWJyZWFrOwogCWNhc2UgSTkxNV9DT05URVhUX1BBUkFNX05PX0VSUk9SX0NBUFRV UkU6CiAJCWFyZ3MtPnZhbHVlID0gaTkxNV9nZW1fY29udGV4dF9ub19lcnJvcl9jYXB0dXJlKGN0 eCk7CkBAIC04ODEsNiArODgyLDEyIEBAIGludCBpOTE1X2dlbV9jb250ZXh0X2dldHBhcmFtX2lv Y3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJY2FzZSBJOTE1X0NPTlRF WFRfUEFSQU1fUFJJT1JJVFk6CiAJCWFyZ3MtPnZhbHVlID0gY3R4LT5zY2hlZC5wcmlvcml0eSA+ PiBJOTE1X1VTRVJfUFJJT1JJVFlfU0hJRlQ7CiAJCWJyZWFrOworCWNhc2UgSTkxNV9DT05URVhU X1BBUkFNX0RBVEFfUE9SVF9DT0hFUkVOQ1k6CisJCWlmICghSEFTX0RBVEFfUE9SVF9DT0hFUkVO Q1koaTkxNSkpCisJCQlyZXQgPSAtRU5PREVWOworCQllbHNlCisJCQlhcmdzLT52YWx1ZSA9IGk5 MTVfZ2VtX2NvbnRleHRfaXNfZGF0YV9wb3J0X2NvaGVyZW50KGN0eCk7CisJCWJyZWFrOwogCWRl ZmF1bHQ6CiAJCXJldCA9IC1FSU5WQUw7CiAJCWJyZWFrOwpAQCAtODkzLDYgKzkwMCw3IEBAIGlu dCBpOTE1X2dlbV9jb250ZXh0X2dldHBhcmFtX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsCiBpbnQgaTkxNV9nZW1fY29udGV4dF9zZXRwYXJhbV9pb2N0bChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJCSAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGUpCiB7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGRldik7CiAJ c3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2ID0gZmlsZS0+ZHJpdmVyX3By aXY7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtICphcmdzID0gZGF0YTsKIAlz dHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4OwpAQCAtOTM5LDcgKzk0Nyw3IEBAIGludCBpOTE1 X2dlbV9jb250ZXh0X3NldHBhcmFtX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCiAKIAkJCWlmIChhcmdzLT5zaXplKQogCQkJCXJldCA9IC1FSU5WQUw7Ci0JCQllbHNl IGlmICghKHRvX2k5MTUoZGV2KS0+Y2Fwcy5zY2hlZHVsZXIgJiBJOTE1X1NDSEVEVUxFUl9DQVBf UFJJT1JJVFkpKQorCQkJZWxzZSBpZiAoIShpOTE1LT5jYXBzLnNjaGVkdWxlciAmIEk5MTVfU0NI RURVTEVSX0NBUF9QUklPUklUWSkpCiAJCQkJcmV0ID0gLUVOT0RFVjsKIAkJCWVsc2UgaWYgKHBy aW9yaXR5ID4gSTkxNV9DT05URVhUX01BWF9VU0VSX1BSSU9SSVRZIHx8CiAJCQkJIHByaW9yaXR5 IDwgSTkxNV9DT05URVhUX01JTl9VU0VSX1BSSU9SSVRZKQpAQCAtOTUzLDYgKzk2MSwxOSBAQCBp bnQgaTkxNV9nZW1fY29udGV4dF9zZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAogCQl9CiAJCWJyZWFrOwogCisJY2FzZSBJOTE1X0NPTlRFWFRfUEFSQU1f REFUQV9QT1JUX0NPSEVSRU5DWToKKwkJaWYgKGFyZ3MtPnNpemUpCisJCQlyZXQgPSAtRUlOVkFM OworCQllbHNlIGlmICghSEFTX0RBVEFfUE9SVF9DT0hFUkVOQ1koaTkxNSkpCisJCQlyZXQgPSAt RU5PREVWOworCQllbHNlIGlmIChhcmdzLT52YWx1ZSA9PSAxKQorCQkJaTkxNV9nZW1fY29udGV4 dF9zZXRfZGF0YV9wb3J0X2NvaGVyZW50KGN0eCk7CisJCWVsc2UgaWYgKGFyZ3MtPnZhbHVlID09 IDApCisJCQlpOTE1X2dlbV9jb250ZXh0X2NsZWFyX2RhdGFfcG9ydF9jb2hlcmVudChjdHgpOwor CQllbHNlCisJCQlyZXQgPSAtRUlOVkFMOworCQlicmVhazsKKwogCWRlZmF1bHQ6CiAJCXJldCA9 IC1FSU5WQUw7CiAJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fY29udGV4dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5o CmluZGV4IGY2ZDg3MGIuLjU1OTY5YmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2NvbnRleHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9j b250ZXh0LmgKQEAgLTEzMSw2ICsxMzEsOCBAQCBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCB7CiAj ZGVmaW5lIENPTlRFWFRfQkFOTkVECQkJMAogI2RlZmluZSBDT05URVhUX0NMT1NFRAkJCTEKICNk ZWZpbmUgQ09OVEVYVF9GT1JDRV9TSU5HTEVfU1VCTUlTU0lPTgkyCisjZGVmaW5lIENPTlRFWFRf REFUQV9QT1JUX0NPSEVSRU5UX1JFUVVFU1RFRAk2CisjZGVmaW5lIENPTlRFWFRfREFUQV9QT1JU X0NPSEVSRU5UX0FDVElWRQk3CiAKIAkvKioKIAkgKiBAaHdfaWQ6IC0gdW5pcXVlIGlkZW50aWZp ZXIgZm9yIHRoZSBjb250ZXh0CkBAIC0yODMsNiArMjg1LDIxIEBAIHN0YXRpYyBpbmxpbmUgdm9p ZCBpOTE1X2dlbV9jb250ZXh0X3VucGluX2h3X2lkKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpj dHgpCiAJYXRvbWljX2RlYygmY3R4LT5od19pZF9waW5fY291bnQpOwogfQogCitzdGF0aWMgaW5s aW5lIGJvb2wgaTkxNV9nZW1fY29udGV4dF9pc19kYXRhX3BvcnRfY29oZXJlbnQoc3RydWN0IGk5 MTVfZ2VtX2NvbnRleHQgKmN0eCkKK3sKKwlyZXR1cm4gdGVzdF9iaXQoQ09OVEVYVF9EQVRBX1BP UlRfQ09IRVJFTlRfUkVRVUVTVEVELCAmY3R4LT5mbGFncyk7Cit9CisKK3N0YXRpYyBpbmxpbmUg dm9pZCBpOTE1X2dlbV9jb250ZXh0X3NldF9kYXRhX3BvcnRfY29oZXJlbnQoc3RydWN0IGk5MTVf Z2VtX2NvbnRleHQgKmN0eCkKK3sKKwlfX3NldF9iaXQoQ09OVEVYVF9EQVRBX1BPUlRfQ09IRVJF TlRfUkVRVUVTVEVELCAmY3R4LT5mbGFncyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1 X2dlbV9jb250ZXh0X2NsZWFyX2RhdGFfcG9ydF9jb2hlcmVudChzdHJ1Y3QgaTkxNV9nZW1fY29u dGV4dCAqY3R4KQoreworCV9fY2xlYXJfYml0KENPTlRFWFRfREFUQV9QT1JUX0NPSEVSRU5UX1JF UVVFU1RFRCwgJmN0eC0+ZmxhZ3MpOworfQorCiBzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9nZW1f Y29udGV4dF9pc19kZWZhdWx0KGNvbnN0IHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjKQogewog CXJldHVybiBjLT51c2VyX2hhbmRsZSA9PSBERUZBVUxUX0NPTlRFWFRfSEFORExFOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYwppbmRleCBmZjBlMmIzLi4zMTNmYjcyIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmMuYwpAQCAtMjU5LDYgKzI1OSw2MiBAQCBpbnRlbF9scl9jb250ZXh0X2Rlc2NyaXB0 b3JfdXBkYXRlKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCiAJY2UtPmxyY19kZXNjID0g ZGVzYzsKIH0KIAorc3RhdGljIGludCBlbWl0X3NldF9kYXRhX3BvcnRfY29oZXJlbmN5KHN0cnVj dCBpOTE1X3JlcXVlc3QgKnJxLCBib29sIGVuYWJsZSkKK3sKKwl1MzIgKmNzOworCWk5MTVfcmVn X3QgcmVnOworCisJR0VNX0JVR19PTihycS0+ZW5naW5lLT5jbGFzcyAhPSBSRU5ERVJfQ0xBU1Mp OworCUdFTV9CVUdfT04oSU5URUxfR0VOKHJxLT5pOTE1KSA8IDkpOworCisJY3MgPSBpbnRlbF9y aW5nX2JlZ2luKHJxLCA0KTsKKwlpZiAoSVNfRVJSKGNzKSkKKwkJcmV0dXJuIFBUUl9FUlIoY3Mp OworCisJaWYgKElOVEVMX0dFTihycS0+aTkxNSkgPj0gMTEpCisJCXJlZyA9IElDTF9IRENfTU9E RTsKKwllbHNlIGlmIChJTlRFTF9HRU4ocnEtPmk5MTUpID49IDEwKQorCQlyZWcgPSBDTkxfSERD X0NISUNLRU4wOworCWVsc2UKKwkJcmVnID0gSERDX0NISUNLRU4wOworCisJKmNzKysgPSBNSV9M T0FEX1JFR0lTVEVSX0lNTSgxKTsKKwkqY3MrKyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KHJlZyk7 CisJaWYgKGVuYWJsZSkKKwkJKmNzKysgPSBfTUFTS0VEX0JJVF9ESVNBQkxFKEhEQ19GT1JDRV9O T05fQ09IRVJFTlQpOworCWVsc2UKKwkJKmNzKysgPSBfTUFTS0VEX0JJVF9FTkFCTEUoSERDX0ZP UkNFX05PTl9DT0hFUkVOVCk7CisJKmNzKysgPSBNSV9OT09QOworCisJaW50ZWxfcmluZ19hZHZh bmNlKHJxLCBjcyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAoraW50ZWxfbHJfY29u dGV4dF91cGRhdGVfZGF0YV9wb3J0X2NvaGVyZW5jeShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkK K3sKKwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4ID0gcnEtPmdlbV9jb250ZXh0OworCWJv b2wgZW5hYmxlID0gdGVzdF9iaXQoQ09OVEVYVF9EQVRBX1BPUlRfQ09IRVJFTlRfUkVRVUVTVEVE LCAmY3R4LT5mbGFncyk7CisJaW50IHJldDsKKworCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJnJxLT5p OTE1LT5kcm0uc3RydWN0X211dGV4KTsKKworCWlmICh0ZXN0X2JpdChDT05URVhUX0RBVEFfUE9S VF9DT0hFUkVOVF9BQ1RJVkUsICZjdHgtPmZsYWdzKSA9PSBlbmFibGUpCisJCXJldHVybiAwOwor CisJcmV0ID0gZW1pdF9zZXRfZGF0YV9wb3J0X2NvaGVyZW5jeShycSwgZW5hYmxlKTsKKworCWlm ICghcmV0KSB7CisJCWlmIChlbmFibGUpCisJCQlfX3NldF9iaXQoQ09OVEVYVF9EQVRBX1BPUlRf Q09IRVJFTlRfQUNUSVZFLCAmY3R4LT5mbGFncyk7CisJCWVsc2UKKwkJCV9fY2xlYXJfYml0KENP TlRFWFRfREFUQV9QT1JUX0NPSEVSRU5UX0FDVElWRSwgJmN0eC0+ZmxhZ3MpOworCX0KKworCXJl dHVybiByZXQ7Cit9CisKIHN0YXRpYyB2b2lkIHVud2luZF93YV90YWlsKHN0cnVjdCBpOTE1X3Jl cXVlc3QgKnJxKQogewogCXJxLT50YWlsID0gaW50ZWxfcmluZ193cmFwKHJxLT5yaW5nLCBycS0+ d2FfdGFpbCAtIFdBX1RBSUxfQllURVMpOwpAQCAtMTk2NSw3ICsyMDIxLDcgQEAgc3RhdGljIGlu dCBnZW44X2VtaXRfZmx1c2hfcmVuZGVyKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJlcXVlc3QsCiAJ CWk5MTVfZ2d0dF9vZmZzZXQoZW5naW5lLT5zY3JhdGNoKSArIDIgKiBDQUNIRUxJTkVfQllURVM7 CiAJYm9vbCB2Zl9mbHVzaF93YSA9IGZhbHNlLCBkY19mbHVzaF93YSA9IGZhbHNlOwogCXUzMiAq Y3MsIGZsYWdzID0gMDsKLQlpbnQgbGVuOworCWludCBlcnIsIGxlbjsKIAogCWZsYWdzIHw9IFBJ UEVfQ09OVFJPTF9DU19TVEFMTDsKIApAQCAtMTk5Niw2ICsyMDUyLDEyIEBAIHN0YXRpYyBpbnQg Z2VuOF9lbWl0X2ZsdXNoX3JlbmRlcihzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0LAogCQkv KiBXYUZvckdBTUhhbmc6a2JsICovCiAJCWlmIChJU19LQkxfUkVWSUQocmVxdWVzdC0+aTkxNSwg MCwgS0JMX1JFVklEX0IwKSkKIAkJCWRjX2ZsdXNoX3dhID0gdHJ1ZTsKKworCQllcnIgPSBpbnRl bF9scl9jb250ZXh0X3VwZGF0ZV9kYXRhX3BvcnRfY29oZXJlbmN5KHJlcXVlc3QpOworCQlpZiAo R0VNX1dBUk5fT04oZXJyKSkgeworCQkJRFJNX0RFQlVHKCJEYXRhIFBvcnQgQ29oZXJlbmN5IHRv Z2dsZSBmYWlsZWQuXG4iKTsKKwkJCXJldHVybiBlcnI7CisJCX0KIAl9CiAKIAlsZW4gPSA2Owpk aWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oIGIvaW5jbHVkZS91YXBpL2Ry bS9pOTE1X2RybS5oCmluZGV4IDI5OGIyZTEuLjhmODIxMWIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv dWFwaS9kcm0vaTkxNV9kcm0uaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKQEAg LTE0ODYsNiArMTQ4NiwxNiBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfcGFyYW0gewog I2RlZmluZSAgIEk5MTVfQ09OVEVYVF9NQVhfVVNFUl9QUklPUklUWQkxMDIzIC8qIGluY2x1c2l2 ZSAqLwogI2RlZmluZSAgIEk5MTVfQ09OVEVYVF9ERUZBVUxUX1BSSU9SSVRZCQkwCiAjZGVmaW5l ICAgSTkxNV9DT05URVhUX01JTl9VU0VSX1BSSU9SSVRZCS0xMDIzIC8qIGluY2x1c2l2ZSAqLwor LyoKKyAqIFdoZW4gZGF0YSBwb3J0IGxldmVsIGNvaGVyZW5jeSBpcyBlbmFibGVkLCB0aGUgR1BV IGFuZCBDUFUgd2lsbCBib3RoIGtlZXAKKyAqIGNoYW5nZXMgdG8gbWVtb3J5IGNvbnRlbnQgdmlz aWJsZSB0byBlYWNoIG90aGVyIGFzIGZhc3QgYXMgcG9zc2libGUsIGJ5CisgKiBmb3JjaW5nIGlu dGVybmFsIGNhY2hlIHVuaXRzIHRvIHNlbmQgbWVtb3J5IHdyaXRlcyB0byBoaWdoZXIgbGV2ZWwg Y2FjaGVzCisgKiBpbW1lZGlhdGVsbHkgYWZ0ZXIgd3JpdGVzLiBPbmx5IGJ1ZmZlcnMgd2l0aCBj b2hlcmVuY3kgcmVxdWVzdGVkIHdpdGhpbgorICogc3VyZmFjZSBzdGF0ZSwgb3Igc3BlY2lmaWMg c3RhdGVsZXNzIGFjY2Vzc2VzIHdpbGwgYmUgYWZmZWN0ZWQgYnkgdGhpcworICogb3B0aW9uLiBL ZWVwaW5nIGRhdGEgcG9ydCBjb2hlcmVuY3kgaGFzIGEgcGVyZm9ybWFuY2UgY29zdCwgYW5kIHRo ZXJlZm9yZQorICogaXQgaXMgYnkgZGVmYXVsdCBkaXNhYmxlZCAoc2VlIFdhRm9yY2VFbmFibGVO b25Db2hlcmVudCkuCisgKi8KKyNkZWZpbmUgSTkxNV9DT05URVhUX1BBUkFNX0RBVEFfUE9SVF9D T0hFUkVOQ1kJMHg3CiAJX191NjQgdmFsdWU7CiB9OwogCi0tIAoyLjcuNAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==