From: Tomasz Lis Subject: [PATCH v4] drm/i915: Add IOCTL Param to control data port coherency. Date: Mon, 9 Jul 2018 15:20:57 +0200 Message-ID: <1531142457-4232-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 197556E174 for ; Mon, 9 Jul 2018 13:21:00 +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 cmUuCgpDYzogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29t PgpDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KQ2M6IENocmlz IFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogTWljaGFsIFdpbmlhcnNraSA8 bWljaGFsLndpbmlhcnNraUBpbnRlbC5jb20+CgpCc3BlYzogMTE0MTkKU2lnbmVkLW9mZi1ieTog VG9tYXN6IExpcyA8dG9tYXN6Lmxpc0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fY29udGV4dC5jIHwgNDEgKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmggfCAgNiArKysrCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYyAgICAgICAgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oICAgICAgICB8ICA0ICsrKwog aW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oICAgICAgICAgICAgIHwgIDYgKysrKwogNiBmaWxl cyBjaGFuZ2VkLCAxMDcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4 IDA5YWIxMjQuLjdkNGJiZDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjUyNCw2ICsy NTI0LDcgQEAgaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCiAjZGVmaW5lIEhBU19FRFJBTShkZXZfcHJpdikJKCEhKChkZXZfcHJpdiktPmVkcmFtX2Nh cCAmIEVEUkFNX0VOQUJMRUQpKQogI2RlZmluZSBIQVNfV1QoZGV2X3ByaXYpCSgoSVNfSEFTV0VM TChkZXZfcHJpdikgfHwgXAogCQkJCSBJU19CUk9BRFdFTEwoZGV2X3ByaXYpKSAmJiBIQVNfRURS QU0oZGV2X3ByaXYpKQorI2RlZmluZSBIQVNfREFUQV9QT1JUX0NPSEVSRU5DWShkZXZfcHJpdikJ KElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKIAogI2RlZmluZSBIV1NfTkVFRFNfUEhZU0lDQUwo ZGV2X3ByaXYpCSgoZGV2X3ByaXYpLT5pbmZvLmh3c19uZWVkc19waHlzaWNhbCkKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCmluZGV4IGIxMDc3MGMuLjZkYjM1MmUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKQEAgLTcxMSw2ICs3MTEsMjYg QEAgc3RhdGljIGJvb2wgY2xpZW50X2lzX2Jhbm5lZChzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2 YXRlICpmaWxlX3ByaXYpCiAJcmV0dXJuIGF0b21pY19yZWFkKCZmaWxlX3ByaXYtPmJhbl9zY29y ZSkgPj0gSTkxNV9DTElFTlRfU0NPUkVfQkFOTkVEOwogfQogCitzdGF0aWMgaW50IGk5MTVfZ2Vt X2NvbnRleHRfc2V0X2RhdGFfcG9ydF9jb2hlcmVudChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAq Y3R4KQoreworCWludCByZXQ7CisKKwlyZXQgPSBpbnRlbF9scl9jb250ZXh0X21vZGlmeV9kYXRh X3BvcnRfY29oZXJlbmN5KGN0eCwgdHJ1ZSk7CisJaWYgKCFyZXQpCisJCV9fc2V0X2JpdChDT05U RVhUX0RBVEFfUE9SVF9DT0hFUkVOVCwgJmN0eC0+ZmxhZ3MpOworCXJldHVybiByZXQ7Cit9CisK K3N0YXRpYyBpbnQgaTkxNV9nZW1fY29udGV4dF9jbGVhcl9kYXRhX3BvcnRfY29oZXJlbnQoc3Ry dWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gaW50ZWxf bHJfY29udGV4dF9tb2RpZnlfZGF0YV9wb3J0X2NvaGVyZW5jeShjdHgsIGZhbHNlKTsKKwlpZiAo IXJldCkKKwkJX19jbGVhcl9iaXQoQ09OVEVYVF9EQVRBX1BPUlRfQ09IRVJFTlQsICZjdHgtPmZs YWdzKTsKKwlyZXR1cm4gcmV0OworfQorCiBpbnQgaTkxNV9nZW1fY29udGV4dF9jcmVhdGVfaW9j dGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCQkgIHN0cnVjdCBkcm1f ZmlsZSAqZmlsZSkKIHsKQEAgLTc4NCw2ICs4MDQsNyBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9k ZXN0cm95X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiBpbnQgaTkx NV9nZW1fY29udGV4dF9nZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lk ICpkYXRhLAogCQkJCSAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCiB7CisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCBkcm1faTkxNV9m aWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9IGZpbGUtPmRyaXZlcl9wcml2OwogCXN0cnVjdCBkcm1f aTkxNV9nZW1fY29udGV4dF9wYXJhbSAqYXJncyA9IGRhdGE7CiAJc3RydWN0IGk5MTVfZ2VtX2Nv bnRleHQgKmN0eDsKQEAgLTgxOCw2ICs4MzksMTIgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRfZ2V0 cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAljYXNlIEk5 MTVfQ09OVEVYVF9QQVJBTV9QUklPUklUWToKIAkJYXJncy0+dmFsdWUgPSBjdHgtPnNjaGVkLnBy aW9yaXR5OwogCQlicmVhazsKKwljYXNlIEk5MTVfQ09OVEVYVF9QQVJBTV9EQVRBX1BPUlRfQ09I RVJFTkNZOgorCQlpZiAoIUhBU19EQVRBX1BPUlRfQ09IRVJFTkNZKGRldl9wcml2KSkKKwkJCXJl dCA9IC1FTk9ERVY7CisJCWVsc2UKKwkJCWFyZ3MtPnZhbHVlID0gaTkxNV9nZW1fY29udGV4dF9p c19kYXRhX3BvcnRfY29oZXJlbnQoY3R4KTsKKwkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJcmV0ID0g LUVJTlZBTDsKIAkJYnJlYWs7CkBAIC04MzAsNiArODU3LDcgQEAgaW50IGk5MTVfZ2VtX2NvbnRl eHRfZ2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIGlu dCBpOTE1X2dlbV9jb250ZXh0X3NldHBhcmFtX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsCiAJCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIHsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IGRybV9p OTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2ID0gZmlsZS0+ZHJpdmVyX3ByaXY7CiAJc3RydWN0 IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtICphcmdzID0gZGF0YTsKIAlzdHJ1Y3QgaTkxNV9n ZW1fY29udGV4dCAqY3R4OwpAQCAtODkzLDYgKzkyMSwxOSBAQCBpbnQgaTkxNV9nZW1fY29udGV4 dF9zZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQl9 CiAJCWJyZWFrOwogCisJY2FzZSBJOTE1X0NPTlRFWFRfUEFSQU1fREFUQV9QT1JUX0NPSEVSRU5D WToKKwkJaWYgKGFyZ3MtPnNpemUpCisJCQlyZXQgPSAtRUlOVkFMOworCQllbHNlIGlmICghSEFT X0RBVEFfUE9SVF9DT0hFUkVOQ1koZGV2X3ByaXYpKQorCQkJcmV0ID0gLUVOT0RFVjsKKwkJZWxz ZSBpZiAoYXJncy0+dmFsdWUgPT0gMSkKKwkJCXJldCA9IGk5MTVfZ2VtX2NvbnRleHRfc2V0X2Rh dGFfcG9ydF9jb2hlcmVudChjdHgpOworCQllbHNlIGlmIChhcmdzLT52YWx1ZSA9PSAwKQorCQkJ cmV0ID0gaTkxNV9nZW1fY29udGV4dF9jbGVhcl9kYXRhX3BvcnRfY29oZXJlbnQoY3R4KTsKKwkJ ZWxzZQorCQkJcmV0ID0gLUVJTlZBTDsKKwkJYnJlYWs7CisKIAlkZWZhdWx0OgogCQlyZXQgPSAt RUlOVkFMOwogCQlicmVhazsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2NvbnRleHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuaApp bmRleCBiMTE2ZTQ5Li5lOGNjYjcwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9jb250ZXh0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29u dGV4dC5oCkBAIC0xMjYsNiArMTI2LDcgQEAgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgewogI2Rl ZmluZSBDT05URVhUX0JBTk5BQkxFCQkzCiAjZGVmaW5lIENPTlRFWFRfQkFOTkVECQkJNAogI2Rl ZmluZSBDT05URVhUX0ZPUkNFX1NJTkdMRV9TVUJNSVNTSU9OCTUKKyNkZWZpbmUgQ09OVEVYVF9E QVRBX1BPUlRfQ09IRVJFTlQJNgogCiAJLyoqCiAJICogQGh3X2lkOiAtIHVuaXF1ZSBpZGVudGlm aWVyIGZvciB0aGUgY29udGV4dApAQCAtMjU3LDYgKzI1OCwxMSBAQCBzdGF0aWMgaW5saW5lIHZv aWQgaTkxNV9nZW1fY29udGV4dF9zZXRfZm9yY2Vfc2luZ2xlX3N1Ym1pc3Npb24oc3RydWN0IGk5 MTVfZ2VtXwogCV9fc2V0X2JpdChDT05URVhUX0ZPUkNFX1NJTkdMRV9TVUJNSVNTSU9OLCAmY3R4 LT5mbGFncyk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBpOTE1X2dlbV9jb250ZXh0X2lzX2Rh dGFfcG9ydF9jb2hlcmVudChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQoreworCXJldHVy biB0ZXN0X2JpdChDT05URVhUX0RBVEFfUE9SVF9DT0hFUkVOVCwgJmN0eC0+ZmxhZ3MpOworfQor CiBzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9nZW1fY29udGV4dF9pc19kZWZhdWx0KGNvbnN0IHN0 cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjKQogewogCXJldHVybiBjLT51c2VyX2hhbmRsZSA9PSBE RUZBVUxUX0NPTlRFWFRfSEFORExFOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCBhYjg5 ZGFiLi4xZjAzN2UzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMjU5LDYgKzI1OSw1 NSBAQCBpbnRlbF9scl9jb250ZXh0X2Rlc2NyaXB0b3JfdXBkYXRlKHN0cnVjdCBpOTE1X2dlbV9j b250ZXh0ICpjdHgsCiAJY2UtPmxyY19kZXNjID0gZGVzYzsKIH0KIAorc3RhdGljIGludCBlbWl0 X3NldF9kYXRhX3BvcnRfY29oZXJlbmN5KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJlcSwgYm9vbCBl bmFibGUpCit7CisJdTMyICpjczsKKwlpOTE1X3JlZ190IHJlZzsKKworCUdFTV9CVUdfT04ocmVx LT5lbmdpbmUtPmNsYXNzICE9IFJFTkRFUl9DTEFTUyk7CisJR0VNX0JVR19PTihJTlRFTF9HRU4o cmVxLT5pOTE1KSA8IDkpOworCisJY3MgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgNCk7CisJaWYg KElTX0VSUihjcykpCisJCXJldHVybiBQVFJfRVJSKGNzKTsKKworCWlmIChJTlRFTF9HRU4ocmVx LT5pOTE1KSA+PSAxMCkKKwkJcmVnID0gQ05MX0hEQ19DSElDS0VOMDsKKwllbHNlCisJCXJlZyA9 IEhEQ19DSElDS0VOMDsKKworCSpjcysrID0gTUlfTE9BRF9SRUdJU1RFUl9JTU0oMSk7CisJKmNz KysgPSBpOTE1X21taW9fcmVnX29mZnNldChyZWcpOworCS8qIEVuYWJsaW5nIGNvaGVyZW5jeSBt ZWFucyBkaXNhYmxpbmcgdGhlIGJpdCB3aGljaCBmb3JjZXMgaXQgb2ZmICovCisJaWYgKGVuYWJs ZSkKKwkJKmNzKysgPSBfTUFTS0VEX0JJVF9ESVNBQkxFKEhEQ19GT1JDRV9OT05fQ09IRVJFTlQp OworCWVsc2UKKwkJKmNzKysgPSBfTUFTS0VEX0JJVF9FTkFCTEUoSERDX0ZPUkNFX05PTl9DT0hF UkVOVCk7CisJKmNzKysgPSBNSV9OT09QOworCisJaW50ZWxfcmluZ19hZHZhbmNlKHJlcSwgY3Mp OworCisJcmV0dXJuIDA7Cit9CisKK2ludAoraW50ZWxfbHJfY29udGV4dF9tb2RpZnlfZGF0YV9w b3J0X2NvaGVyZW5jeShzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAorCQkJCQkgICAgYm9v bCBlbmFibGUpCit7CisJc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxOworCWludCByZXQ7CisKKwly ZXEgPSBpOTE1X3JlcXVlc3RfYWxsb2MoY3R4LT5pOTE1LT5lbmdpbmVbUkNTXSwgY3R4KTsKKwlp ZiAoSVNfRVJSKHJlcSkpCisJCXJldHVybiBQVFJfRVJSKHJlcSk7CisKKwlyZXQgPSBlbWl0X3Nl dF9kYXRhX3BvcnRfY29oZXJlbmN5KHJlcSwgZW5hYmxlKTsKKworCWk5MTVfcmVxdWVzdF9hZGQo cmVxKTsKKworCXJldHVybiByZXQ7Cit9CisKIHN0YXRpYyBzdHJ1Y3QgaTkxNV9wcmlvbGlzdCAq CiBsb29rdXBfcHJpb2xpc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCBpbnQgcHJp bykKIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKaW5kZXggMTU5MzE5NC4uZjY5NjVhZSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKQEAgLTEwNCw0ICsxMDQsOCBAQCBzdHJ1Y3QgaTkxNV9n ZW1fY29udGV4dDsKIAogdm9pZCBpbnRlbF9scl9jb250ZXh0X3Jlc3VtZShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogCitpbnQKK2ludGVsX2xyX2NvbnRleHRfbW9kaWZ5X2Rh dGFfcG9ydF9jb2hlcmVuY3koc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKKwkJCQkJICAg IGJvb2wgZW5hYmxlKTsKKwogI2VuZGlmIC8qIF9JTlRFTF9MUkNfSF8gKi8KZGlmZiAtLWdpdCBh L2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0u aAppbmRleCA3ZjU2MzRjLi5lNjc3YmVhIDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2k5 MTVfZHJtLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCkBAIC0xNDU2LDYgKzE0 NTYsMTIgQEAgc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtIHsKICNkZWZpbmUgICBJ OTE1X0NPTlRFWFRfTUFYX1VTRVJfUFJJT1JJVFkJMTAyMyAvKiBpbmNsdXNpdmUgKi8KICNkZWZp bmUgICBJOTE1X0NPTlRFWFRfREVGQVVMVF9QUklPUklUWQkJMAogI2RlZmluZSAgIEk5MTVfQ09O VEVYVF9NSU5fVVNFUl9QUklPUklUWQktMTAyMyAvKiBpbmNsdXNpdmUgKi8KKy8qCisgKiBXaGVu IGRhdGEgcG9ydCBsZXZlbCBjb2hlcmVuY3kgaXMgZW5hYmxlZCwgdGhlIEdQVSB3aWxsIHVwZGF0 ZSBtZW1vcnkKKyAqIGJ1ZmZlcnMgc2hhcmVkIHdpdGggQ1BVLCBieSBmb3JjaW5nIGludGVybmFs IGNhY2hlIHVuaXRzIHRvIHNlbmQgbWVtb3J5CisgKiB3cml0ZXMgdG8gcmVhbCBSQU0gZmFzdGVy LiBLZWVwaW5nIHN1Y2ggY29oZXJlbmN5IGhhcyBwZXJmb3JtYW5jZSBjb3N0LgorICovCisjZGVm aW5lIEk5MTVfQ09OVEVYVF9QQVJBTV9EQVRBX1BPUlRfQ09IRVJFTkNZCTB4NwogCV9fdTY0IHZh bHVlOwogfTsKIAotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=