From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Clean up intel_plane->plane usage Date: Fri, 18 Sep 2015 11:48:30 +0300 Message-ID: <20150918084830.GS26517@intel.com> References: <1442541321-23813-1-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id E2B4A6ED70 for ; Fri, 18 Sep 2015 01:48:34 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1442541321-23813-1-git-send-email-matthew.d.roper@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matt Roper Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBTZXAgMTcsIDIwMTUgYXQgMDY6NTU6MjFQTSAtMDcwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBpbnRlbF9wbGFuZS0+cGxhbmUgaGFzIGluY29uc2lzdGVudCBtZWFuaW5ncyBhY3Jvc3Mg dGhlIGRyaXZlcjoKPiAgKiBGb3IgcHJpbWFyeSBwbGFuZXMsIGludGVsX3BsYW5lLT5wbGFuZSBp cyB1c3VhbGx5IHRoZSBwaXBlIG51bWJlcgo+ICAgIChleGNlcHQgZm9yIG9sZCBwbGF0Zm9ybXMg d2hlcmUgaXQgaGFkIHRvIGJlIHN3YXBwZWQgZm9yIEZCQwo+ICAgIHJlYXNvbnMpLgo+ICAqIEZv ciBzcHJpdGUgcGxhbmVzLCBpbnRlbF9wbGFuZS0+cGxhbmUgcmVwcmVzZW50cyB0aGUgc3ByaXRl IGluZGV4IGZvcgo+ICAgIHRoZSBzcGVjaWZpYyBDUlRDIHRoZSBzcHJpdGUgYmVsb25ncyB0byAo MCwgMSwgMiwgLi4uKQo+ICAqIEZvciBjdXJzb3IgcGxhbmVzLCBpbnRlbF9wbGFuZS0+cGxhbmUg aXMgYWdhaW4gdGhlIHBpcGUgbnVtYmVyLAo+ICAgIGJ1dCB3aXRob3V0IHRoZSBGQkMgc3dhcHBp bmcgb24gb2xkIHBsYXRmb3Jtcy4KPiAKPiBUaGlzIG92ZXJsb2FkaW5nIG9mIHRoZSBmaWVsZCBj YW4gYmUgcXVpdGUgY29uZnVzaW5nIGFuZCBlYXNpbHkgbGVhZHMgdG8KPiBidWdzIGR1ZSB0byBk aWZmZXJlbmNlcyBpbiBob3cgdGhlIGhhcmR3YXJlIGFjdHVhbGx5IGdldHMgcHJvZ3JhbW1lZAo+ IChlLmcuLCBTS0wgY29kZSBuZWVkcyB0byB1c2UgcC0+cGxhbmUgKyAxIGJlY2F1c2UgdGhlIGhh cmR3YXJlIGV4cGVjdHMKPiB1bml2ZXJzYWwgcGxhbmUgSUQncyB0aGF0IGluY2x1ZGUgdGhlIHBy aW1hcnksIHdoZXJlYXMgVkxWIGNvZGUgbmVlZHMgdG8KPiB1c2UganVzdCBwLT5wbGFuZSBiZWNh dXNlIGhhcmR3YXJlIGV4cGVjdHMgYSBzcHJpdGUgaW5kZXggdGhhdCBkb2VzIG5vdAo+IGluY2x1 ZGUgdGhlIHByaW1hcnkpLgo+IAo+IExldCdzIHRyeSB0byBjbGVhbiB1cCB0aGlzIHNpdHVhdGlv biBieSBnaXZpbmcgaW50ZWxfcGxhbmUtPnBsYW5lIGEKPiBjb25zaXN0ZW50IG1lYW5pbmcgYWNy b3NzIGFsbCBwbGFuZSB0eXBlcywgYW5kIHRoZW4gdXBkYXRlIGFsbCB1c2VzCj4gYWNyb3NzIGRy aXZlciBjb2RlIHRvIHVzZSBtYWNyb3MgdG8gaW50ZXJwcmV0IGl0IHByb3Blcmx5LiAgVGhlCj4g Zm9sbG93aW5nIG1hY3JvcyBzaG91bGQgYmUgdXNlZCBpbiB0aGUgY29kZSB3aGVyZSB3ZSBwcmV2 aW91c2x5IGFjY2Vzc2VkCj4gcC0+cGxhbmUgYW5kIHdpbGwgZG8gYWRkaXRpb25hbCBwbGFuZSB0 eXBlIGNoZWNraW5nIHRvIGhlbHAgcHJldmVudAo+IG1pc3VzZToKPiAgKiBJOTE1X1VOSVZFUlNB TF9OVU0ocCkgLS0tIFVuaXZlcnNhbCBwbGFuZSBJRCAocHJpbWFyeSA9IDAsIHNwcml0ZXMKPiAg ICBzdGFydCBmcm9tIDEpOyBpbnRlbmRlZCBmb3IgdXNlIGluIGdlbjkrIGNvZGUuCj4gICogSTkx NV9JOTE1X1BSSU1BUllfTlVNKHApIC0tLSBQcmltYXJ5IHBsYW5lIElEIGZvciBwcmUtZ2VuOSBw bGF0Zm9ybXM7Cj4gICAgZGV0ZXJtaW5lcyB3aGV0aGVyIEZCQy1yZWxhdGVkIHN3YXBwaW5nIGlz IG5lZWRlZCBvciBub3QuCj4gICogSTkxNV9TUFJJVEVfTlVNKHApIC0tLSBTcHJpdGUgcGxhbmUg SUQgKGZpcnN0IHNwcml0ZSA9IDApOyBpbnRlbmRlZAo+ICAgIGZvciB1c2UgaW4gcHJlLWdlbjkg Y29kZS4KPiAKPiBDYzogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4 LmludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJA aW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAg fCAyNCArKysrKysrKysrKysrKysrKystLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jIHwgMTIgKysrKy0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3BtLmMgICAgICB8IDEwICsrKysrLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfc3ByaXRlLmMgIHwgMTMgKysrKysrKy0tLS0tLQo+ICA0IGZpbGVzIGNoYW5nZWQsIDM0IGlu c2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ IGluZGV4IDNiZjhhOWIuLjEzMmZlNTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBA QCAtMTMxLDIyICsxMzEsMzQgQEAgZW51bSB0cmFuc2NvZGVyIHsKPiAgI2RlZmluZSB0cmFuc2Nv ZGVyX25hbWUodCkgKCh0KSArICdBJykKPiAgCj4gIC8qCj4gLSAqIFRoaXMgaXMgdGhlIG1heGlt dW0gKGFjcm9zcyBhbGwgcGxhdGZvcm1zKSBudW1iZXIgb2YgcGxhbmVzIChwcmltYXJ5ICsKPiAt ICogc3ByaXRlcykgdGhhdCBjYW4gYmUgYWN0aXZlIGF0IHRoZSBzYW1lIHRpbWUgb24gb25lIHBp cGUuCj4gLSAqCj4gLSAqIFRoaXMgdmFsdWUgZG9lc24ndCBjb3VudCB0aGUgY3Vyc29yIHBsYW5l Lgo+ICsgKiBJOTE1X01BWF9QTEFORVMgaW4gdGhlIGVudW0gYmVsb3cgaXMgdGhlIG1heGltdW0g KGFjcm9zcyBhbGwgcGxhdGZvcm1zKQo+ICsgKiBudW1iZXIgb2YgcGxhbmVzIHBlciBDUlRDLiAg Tm90IGFsbCBwbGF0Zm9ybXMgcmVhbGx5IGhhdmUgdGhpcyBtYW55IHBsYW5lcywKPiArICogd2hp Y2ggbWVhbnMgc29tZSBhcnJheXMgb2Ygc2l6ZSBJOTE1X01BWF9QTEFORVMgbWF5IGhhdmUgdW51 c2VkIGVudHJpZXMKPiArICogYmV0d2VlbiB0aGUgdG9wbW9zdCBzcHJpdGUgcGxhbmUgYW5kIHRo ZSBjdXJzb3IgcGxhbmUuCj4gICAqLwo+IC0jZGVmaW5lIEk5MTVfTUFYX1BMQU5FUwk0Cj4gLQo+ ICBlbnVtIHBsYW5lIHsKPiAgCVBMQU5FX0EgPSAwLAo+ICsJUExBTkVfUFJJTUFSWSA9IFBMQU5F X0EsCj4gIAlQTEFORV9CLAo+ICAJUExBTkVfQywKPiArCVBMQU5FX0NVUlNPUiwKPiArCUk5MTVf TUFYX1BMQU5FUywKPiAgfTsKCklmIHdlJ3JlIHJlYWxseSBnb2luZyB0byByZWRlZmluZSB0aGlz IGFzIGEgcGVyLXBpcGUgdGhpbmcsIHRoZW4gSQp0aGluayB3ZSdkIG5lZWQgdG8gcmVuYW1lIGl0 LiBBLEIsQyBoYXZlIGEgZGVmaW5pdGUgbWVhbmluZyBvbiBtb3N0IG9mCm91ciBoYXJkd2FyZSwg c28gdXNpbmcgaXQgZm9yIHNvbWV0aGluZyBlbHNlIGlzIGNvbmZ1c2luZy4KCkkga25vdyB0aGF0 IGxvb2tpbmcgZm9yIGVudW0gcGxhbmUgaW4gdGhlIGNvZGUgcHJvYmFibHkgd29uJ3QgZ2l2ZSB5 b3UKYSBsb3Qgb2YgaGl0cywgYnV0IHRoYXQncyBqdXN0IGJlY2F1c2Ugd2Ugc3VjayBhbmQgdXN1 YWxseSB1c2UgaW50IG9yCnNvbWV0aGluZy4gSSBoYXZlIGEgcGF0Y2ggc2VyaWVzIGluIGEgYnJh bmNoIHNvbWV3aGVyZSB0byBjbGVhbiB0aGF0CnN0dWZmIHVwLCBidXQgSSBkb24ndCB0aGluayBJ IHBvc3RlZCBpdCB0byB0aGUgbGlzdCBzbyBmYXIuCgpJIHRoaW5rIGl0IHdvdWxkIGJlIGJldHRl ciB0byBoYXZlIGEgc2VwYXJhdGUgcGVyLXBpcGUgcGxhbmUgZW51bS4KZW51bSBwbGFuZV9pZCBv ciBzb21ldGhpbmc/IEFuZCBtYXliZSBzdG9yZSBpdCBhcyBwbGFuZS0+aWQuCgo+ICAjZGVmaW5l IHBsYW5lX25hbWUocCkgKChwKSArICdBJykKPiAgCj4gICNkZWZpbmUgc3ByaXRlX25hbWUocCwg cykgKChwKSAqIElOVEVMX0lORk8oZGV2KS0+bnVtX3Nwcml0ZXNbKHApXSArIChzKSArICdBJykK PiAgCj4gKyNkZWZpbmUgSTkxNV9VTklWRVJTQUxfTlVNKHApICggXAo+ICsJV0FSTl9PTihwLT5i YXNlLnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SKSwgXAoKSSBkb24ndCB0aGluayB0aGF0 J2xsIGZseSB3aXRoIFNLTC4gVGhlIGN1cnNvciBpcyBqdXN0IGFub3RoZXIgdW5pdmVyc2FsCnBs YW5lLCBvciB3ZWxsLCB3aWxsIGJlLiBJIHRoaW5rIHRoZSBwYXRjaCB0byBkbyB0aGF0IGNoYW5n ZSBnb3Qgc3R1Y2sKaW4gcmV2aWV3IG9yIHNvbWV0aGluZy4KCkkgZ3Vlc3MgdGhhdCBzaG91bGQg YmUgZWFzaWx5IGZpeGFibGUgYnkgdG9zc2luZyBpbiBhICFJU19TS0wmJiBvbmNlCnRoYXQgcGF0 Y2ggbGFuZHMuCgo+ICsJcC0+cGxhbmUpCj4gKyNkZWZpbmUgSTkxNV9QUklNQVJZX05VTShwKSAo IFwKPiArCVdBUk5fT04ocC0+YmFzZS50eXBlICE9IERSTV9QTEFORV9UWVBFX1BSSU1BUlkpLCBc Cj4gKwkoSEFTX0ZCQyhkZXYpICYmIElOVEVMX0lORk8oZGV2KS0+Z2VuIDwgNCkgPyBcCj4gKwkJ CSAgICAgICFwLT5waXBlIDogcC0+cGlwZSkKCkknbSBub3Qgc3VyZSB3ZSB3YW50IHRvIGRvIHRo aXMgc3dhcHBpbmcgaGVyZS4KCk1heWJlIHdlJ2xsIGp1c3Qgd2FudCBhIHNvbWUga2luZCBvZgpl bnVtIHBsYW5lIHBsYW5lX2lkX3RvX3BsYW5lKGNydGMsIGVudW0gcGxhbmVfaWQpIGZ1bmN0aW9u LgpPciB3ZSBjb3VsZCBqdXN0IHN0b3JlIHRoZSBlbnVtIHBsYW5lIGFsb25nc2lkZSB0aGUgcGxh bmVfaWQgaW4gdGhlCnBsYW5lLCBhbmQgbWFrZSBpdCBjbGVhciB0aGF0IGl0IHNob3VsZCBvbmx5 IGJlIHVzZWQgYnkgcHJlLVNLTApwbGF0Zm9ybXMuIEluIHRoZW9yeSB3ZSBjb3VsZCBsaW1pdCBp dCB0byBwcmUtZ2VuNCwgb3IganVzdCBnbWNoLCBidXQKSSB0aGluayB3ZSBwcm9iYWJseSB3YW50 IHRvIHNoYXJlIGEgYnVuY2ggb2YgdGhlIHByaW1hcnkgcGxhbmUgY29kZQphbGwgdGhlIHdheSB1 cCB0byBCRFcsIHNvIGFsbG93aW5nIGl0J3MgdXNlIHRoZXJlIHNlZW1zIHNhbmUgdG8gbWUuCgo+ ICsjZGVmaW5lIEk5MTVfU1BSSVRFX05VTShwKSAoIFwKPiArCVdBUk5fT04ocC0+YmFzZS50eXBl ICE9IERSTV9QTEFORV9UWVBFX09WRVJMQVkpLCBcCj4gKwlwLT5wbGFuZSAtIDEpCj4gKwo+ICBl bnVtIHBvcnQgewo+ICAJUE9SVF9BID0gMCwKPiAgCVBPUlRfQiwKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCj4gaW5kZXggZmMwMDg2Ny4uZGFiMGI3MSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTE5NzYsMTYgKzExOTc2LDE0IEBAIHN0YXRp YyB2b2lkIGludGVsX2R1bXBfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4g IAkJCURSTV9ERUJVR19LTVMoIiVzIFBMQU5FOiVkIHBsYW5lOiAldS4ldSBpZHg6ICVkICIKPiAg CQkJCSJkaXNhYmxlZCwgc2NhbGVyX2lkID0gJWRcbiIsCj4gIAkJCQlwbGFuZS0+dHlwZSA9PSBE Uk1fUExBTkVfVFlQRV9DVVJTT1IgPyAiQ1VSU09SIiA6ICJTVEFOREFSRCIsCj4gLQkJCQlwbGFu ZS0+YmFzZS5pZCwgaW50ZWxfcGxhbmUtPnBpcGUsCj4gLQkJCQkoY3J0Yy0+YmFzZS5wcmltYXJ5 ID09IHBsYW5lKSA/IDAgOiBpbnRlbF9wbGFuZS0+cGxhbmUgKyAxLAo+ICsJCQkJcGxhbmUtPmJh c2UuaWQsIGludGVsX3BsYW5lLT5waXBlLCBpbnRlbF9wbGFuZS0+cGxhbmUsCj4gIAkJCQlkcm1f cGxhbmVfaW5kZXgocGxhbmUpLCBzdGF0ZS0+c2NhbGVyX2lkKTsKPiAgCQkJY29udGludWU7Cj4g IAkJfQo+ICAKPiAgCQlEUk1fREVCVUdfS01TKCIlcyBQTEFORTolZCBwbGFuZTogJXUuJXUgaWR4 OiAlZCBlbmFibGVkIiwKPiAgCQkJcGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09S ID8gIkNVUlNPUiIgOiAiU1RBTkRBUkQiLAo+IC0JCQlwbGFuZS0+YmFzZS5pZCwgaW50ZWxfcGxh bmUtPnBpcGUsCj4gLQkJCWNydGMtPmJhc2UucHJpbWFyeSA9PSBwbGFuZSA/IDAgOiBpbnRlbF9w bGFuZS0+cGxhbmUgKyAxLAo+ICsJCQlwbGFuZS0+YmFzZS5pZCwgaW50ZWxfcGxhbmUtPnBpcGUs IGludGVsX3BsYW5lLT5wbGFuZSwKPiAgCQkJZHJtX3BsYW5lX2luZGV4KHBsYW5lKSk7Cj4gIAkJ RFJNX0RFQlVHX0tNUygiXHRGQjolZCwgZmIgPSAldXgldSBmb3JtYXQgPSAweCV4IiwKPiAgCQkJ ZmItPmJhc2UuaWQsIGZiLT53aWR0aCwgZmItPmhlaWdodCwgZmItPnBpeGVsX2Zvcm1hdCk7Cj4g QEAgLTEzNTQ3LDEzICsxMzU0NSwxMSBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqaW50ZWxf cHJpbWFyeV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQlzdGF0ZS0+ c2NhbGVyX2lkID0gLTE7Cj4gIAl9Cj4gIAlwcmltYXJ5LT5waXBlID0gcGlwZTsKPiAtCXByaW1h cnktPnBsYW5lID0gcGlwZTsKPiArCXByaW1hcnktPnBsYW5lID0gMDsKPiAgCXByaW1hcnktPmZy b250YnVmZmVyX2JpdCA9IElOVEVMX0ZST05UQlVGRkVSX1BSSU1BUlkocGlwZSk7Cj4gIAlwcmlt YXJ5LT5jaGVja19wbGFuZSA9IGludGVsX2NoZWNrX3ByaW1hcnlfcGxhbmU7Cj4gIAlwcmltYXJ5 LT5jb21taXRfcGxhbmUgPSBpbnRlbF9jb21taXRfcHJpbWFyeV9wbGFuZTsKPiAgCXByaW1hcnkt PmRpc2FibGVfcGxhbmUgPSBpbnRlbF9kaXNhYmxlX3ByaW1hcnlfcGxhbmU7Cj4gLQlpZiAoSEFT X0ZCQyhkZXYpICYmIElOVEVMX0lORk8oZGV2KS0+Z2VuIDwgNCkKPiAtCQlwcmltYXJ5LT5wbGFu ZSA9ICFwaXBlOwo+ICAKPiAgCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5KSB7Cj4gIAkJ aW50ZWxfcHJpbWFyeV9mb3JtYXRzID0gc2tsX3ByaW1hcnlfZm9ybWF0czsKPiBAQCAtMTM2OTks NyArMTM2OTUsNyBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqaW50ZWxfY3Vyc29yX3BsYW5l X2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJY3Vyc29yLT5jYW5fc2NhbGUgPSBm YWxzZTsKPiAgCWN1cnNvci0+bWF4X2Rvd25zY2FsZSA9IDE7Cj4gIAljdXJzb3ItPnBpcGUgPSBw aXBlOwo+IC0JY3Vyc29yLT5wbGFuZSA9IHBpcGU7Cj4gKwljdXJzb3ItPnBsYW5lID0gUExBTkVf Q1VSU09SOwo+ICAJY3Vyc29yLT5mcm9udGJ1ZmZlcl9iaXQgPSBJTlRFTF9GUk9OVEJVRkZFUl9D VVJTT1IocGlwZSk7Cj4gIAljdXJzb3ItPmNoZWNrX3BsYW5lID0gaW50ZWxfY2hlY2tfY3Vyc29y X3BsYW5lOwo+ICAJY3Vyc29yLT5jb21taXRfcGxhbmUgPSBpbnRlbF9jb21taXRfY3Vyc29yX3Bs YW5lOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IGluZGV4IDYyZGU5N2UuLjlkYjE5ZjIgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBAQCAtMTEzMSw3ICsxMTMxLDcgQEAgc3RhdGlj IHZvaWQgdmx2X2ludmVydF93bXMoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIAkJCQkJd21f c3RhdGUtPndtW2xldmVsXS5wcmltYXJ5Owo+ICAJCQkJYnJlYWs7Cj4gIAkJCWNhc2UgRFJNX1BM QU5FX1RZUEVfT1ZFUkxBWToKPiAtCQkJCXNwcml0ZSA9IHBsYW5lLT5wbGFuZTsKPiArCQkJCXNw cml0ZSA9IEk5MTVfU1BSSVRFX05VTShwbGFuZSk7Cj4gIAkJCQl3bV9zdGF0ZS0+d21bbGV2ZWxd LnNwcml0ZVtzcHJpdGVdID0gcGxhbmUtPndtLmZpZm9fc2l6ZSAtCj4gIAkJCQkJd21fc3RhdGUt PndtW2xldmVsXS5zcHJpdGVbc3ByaXRlXTsKPiAgCQkJCWJyZWFrOwo+IEBAIC0xMTk1LDcgKzEx OTUsNyBAQCBzdGF0aWMgdm9pZCB2bHZfY29tcHV0ZV93bShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YykKPiAgCQkJCXdtX3N0YXRlLT53bVtsZXZlbF0ucHJpbWFyeSA9IHdtOwo+ICAJCQkJYnJlYWs7 Cj4gIAkJCWNhc2UgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWToKPiAtCQkJCXNwcml0ZSA9IHBsYW5l LT5wbGFuZTsKPiArCQkJCXNwcml0ZSA9IEk5MTVfU1BSSVRFX05VTShwbGFuZSk7Cj4gIAkJCQl3 bV9zdGF0ZS0+d21bbGV2ZWxdLnNwcml0ZVtzcHJpdGVdID0gd207Cj4gIAkJCQlicmVhazsKPiAg CQkJfQo+IEBAIC0xMjIxLDcgKzEyMjEsNyBAQCBzdGF0aWMgdm9pZCB2bHZfY29tcHV0ZV93bShz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgCQkJCQkgICAgd21fc3RhdGUtPndtW2xldmVsXS5w cmltYXJ5KTsKPiAgCQkJYnJlYWs7Cj4gIAkJY2FzZSBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOgo+ IC0JCQlzcHJpdGUgPSBwbGFuZS0+cGxhbmU7Cj4gKwkJCXNwcml0ZSA9IEk5MTVfU1BSSVRFX05V TShwbGFuZSk7Cj4gIAkJCWZvciAobGV2ZWwgPSAwOyBsZXZlbCA8IHdtX3N0YXRlLT5udW1fbGV2 ZWxzOyBsZXZlbCsrKQo+ICAJCQkJd21fc3RhdGUtPnNyW2xldmVsXS5wbGFuZSA9Cj4gIAkJCQkJ bWluKHdtX3N0YXRlLT5zcltsZXZlbF0ucGxhbmUsCj4gQEAgLTEyNTcsNyArMTI1Nyw3IEBAIHN0 YXRpYyB2b2lkIHZsdl9waXBlX3NldF9maWZvX3NpemUoc3RydWN0IGludGVsX2NydGMgKmNydGMp Cj4gIAo+ICAJCWlmIChwbGFuZS0+YmFzZS50eXBlID09IERSTV9QTEFORV9UWVBFX1BSSU1BUlkp Cj4gIAkJCXNwcml0ZTBfc3RhcnQgPSBwbGFuZS0+d20uZmlmb19zaXplOwo+IC0JCWVsc2UgaWYg KHBsYW5lLT5wbGFuZSA9PSAwKQo+ICsJCWVsc2UgaWYgKEk5MTVfU1BSSVRFX05VTShwbGFuZSkg PT0gMCkKPiAgCQkJc3ByaXRlMV9zdGFydCA9IHNwcml0ZTBfc3RhcnQgKyBwbGFuZS0+d20uZmlm b19zaXplOwo+ICAJCWVsc2UKPiAgCQkJZmlmb19zaXplID0gc3ByaXRlMV9zdGFydCArIHBsYW5l LT53bS5maWZvX3NpemU7Cj4gQEAgLTQwNzYsNyArNDA3Niw3IEBAIHZvaWQgdmx2X3dtX2dldF9o d19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCQlwbGFuZS0+d20uZmlmb19zaXpl ID0gdmx2X2dldF9maWZvX3NpemUoZGV2LCBwbGFuZS0+cGlwZSwgMCk7Cj4gIAkJCWJyZWFrOwo+ ICAJCWNhc2UgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWToKPiAtCQkJc3ByaXRlID0gcGxhbmUtPnBs YW5lOwo+ICsJCQlzcHJpdGUgPSBJOTE1X1NQUklURV9OVU0ocGxhbmUpOwo+ICAJCQlwbGFuZS0+ d20uZmlmb19zaXplID0gdmx2X2dldF9maWZvX3NpemUoZGV2LCBwbGFuZS0+cGlwZSwgc3ByaXRl ICsgMSk7Cj4gIAkJCWJyZWFrOwo+ICAJCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUu Ywo+IGluZGV4IDRkMjcyNDMuLjExY2E0MGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc3ByaXRlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9z cHJpdGUuYwo+IEBAIC0xODAsNyArMTgwLDcgQEAgc2tsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJt X3BsYW5lICpkcm1fcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCXN0cnVjdCBpbnRl bF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShkcm1fcGxhbmUpOwo+ICAJc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2ZiX29iaihmYik7Cj4gIAljb25z dCBpbnQgcGlwZSA9IGludGVsX3BsYW5lLT5waXBlOwo+IC0JY29uc3QgaW50IHBsYW5lID0gaW50 ZWxfcGxhbmUtPnBsYW5lICsgMTsKPiArCWNvbnN0IGludCBwbGFuZSA9IEk5MTVfVU5JVkVSU0FM X05VTShpbnRlbF9wbGFuZSk7Cj4gIAl1MzIgcGxhbmVfY3RsLCBzdHJpZGVfZGl2LCBzdHJpZGU7 Cj4gIAlpbnQgcGl4ZWxfc2l6ZSA9IGRybV9mb3JtYXRfcGxhbmVfY3BwKGZiLT5waXhlbF9mb3Jt YXQsIDApOwo+ICAJY29uc3Qgc3RydWN0IGRybV9pbnRlbF9zcHJpdGVfY29sb3JrZXkgKmtleSA9 Cj4gQEAgLTI4MCw3ICsyODAsNyBAQCBza2xfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5l ICpkcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfcGxhbmUg KmludGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUoZHBsYW5lKTsKPiAgCWNvbnN0IGludCBwaXBl ID0gaW50ZWxfcGxhbmUtPnBpcGU7Cj4gLQljb25zdCBpbnQgcGxhbmUgPSBpbnRlbF9wbGFuZS0+ cGxhbmUgKyAxOwo+ICsJY29uc3QgaW50IHBsYW5lID0gSTkxNV9VTklWRVJTQUxfTlVNKGludGVs X3BsYW5lKTsKPiAgCj4gIAlJOTE1X1dSSVRFKFBMQU5FX0NUTChwaXBlLCBwbGFuZSksIDApOwo+ ICAKPiBAQCAtMjk0LDcgKzI5NCw3IEBAIHN0YXRpYyB2b2lkCj4gIGNodl91cGRhdGVfY3NjKHN0 cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUsIHVpbnQzMl90IGZvcm1hdCkKPiAgewo+ICAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gaW50ZWxfcGxhbmUtPmJhc2UuZGV2 LT5kZXZfcHJpdmF0ZTsKPiAtCWludCBwbGFuZSA9IGludGVsX3BsYW5lLT5wbGFuZTsKPiArCWlu dCBwbGFuZSA9IEk5MTVfU1BSSVRFX05VTShpbnRlbF9wbGFuZSk7Cj4gIAo+ICAJLyogU2VlbXMg UkdCIGRhdGEgYnlwYXNzZXMgdGhlIENTQyBhbHdheXMgKi8KPiAgCWlmICghZm9ybWF0X2lzX3l1 dihmb3JtYXQpKQo+IEBAIC0zNDIsNyArMzQyLDcgQEAgdmx2X3VwZGF0ZV9wbGFuZShzdHJ1Y3Qg ZHJtX3BsYW5lICpkcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCXN0cnVjdCBpbnRl bF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShkcGxhbmUpOwo+ICAJc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2ZiX29iaihmYik7Cj4gIAlpbnQgcGlw ZSA9IGludGVsX3BsYW5lLT5waXBlOwo+IC0JaW50IHBsYW5lID0gaW50ZWxfcGxhbmUtPnBsYW5l Owo+ICsJaW50IHBsYW5lID0gSTkxNV9TUFJJVEVfTlVNKGludGVsX3BsYW5lKTsKPiAgCXUzMiBz cHJjdGw7Cj4gIAl1bnNpZ25lZCBsb25nIHNwcnN1cmZfb2Zmc2V0LCBsaW5lYXJfb2Zmc2V0Owo+ ICAJaW50IHBpeGVsX3NpemUgPSBkcm1fZm9ybWF0X3BsYW5lX2NwcChmYi0+cGl4ZWxfZm9ybWF0 LCAwKTsKPiBAQCAtNDYxLDcgKzQ2MSw3IEBAIHZsdl9kaXNhYmxlX3BsYW5lKHN0cnVjdCBkcm1f cGxhbmUgKmRwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRlbF9w bGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShkcGxhbmUpOwo+ICAJaW50IHBpcGUg PSBpbnRlbF9wbGFuZS0+cGlwZTsKPiAtCWludCBwbGFuZSA9IGludGVsX3BsYW5lLT5wbGFuZTsK PiArCWludCBwbGFuZSA9IEk5MTVfU1BSSVRFX05VTShpbnRlbF9wbGFuZSk7Cj4gIAo+ICAJSTkx NV9XUklURShTUENOVFIocGlwZSwgcGxhbmUpLCAwKTsKPiAgCj4gQEAgLTExMjEsOCArMTEyMSw5 IEBAIGludGVsX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBwaXBlIHBp cGUsIGludCBwbGFuZSkKPiAgCQlyZXR1cm4gLUVOT0RFVjsKPiAgCX0KPiAgCj4gKwkvKiBwcmlt YXJ5ID0gMCwgc3ByaXRlcyBzdGFydCBmcm9tIDEgKi8KPiArCWludGVsX3BsYW5lLT5wbGFuZSA9 IHBsYW5lICsgMTsKPiAgCWludGVsX3BsYW5lLT5waXBlID0gcGlwZTsKPiAtCWludGVsX3BsYW5l LT5wbGFuZSA9IHBsYW5lOwo+ICAJaW50ZWxfcGxhbmUtPmZyb250YnVmZmVyX2JpdCA9IElOVEVM X0ZST05UQlVGRkVSX1NQUklURShwaXBlLCBwbGFuZSk7Cj4gIAlpbnRlbF9wbGFuZS0+Y2hlY2tf cGxhbmUgPSBpbnRlbF9jaGVja19zcHJpdGVfcGxhbmU7Cj4gIAlpbnRlbF9wbGFuZS0+Y29tbWl0 X3BsYW5lID0gaW50ZWxfY29tbWl0X3Nwcml0ZV9wbGFuZTsKPiAtLSAKPiAyLjEuNAo+IAo+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKVmls bGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=