From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Conselvan De Oliveira, Ander" Subject: Re: [PATCH 01/13] drm/i915: Eliminate usage of plane_wm_parameters from ILK-style WM code Date: Wed, 26 Aug 2015 12:45:32 +0000 Message-ID: <1440593132.2519.1.camel@intel.com> References: <1440119524-13867-1-git-send-email-matthew.d.roper@intel.com> <1440119524-13867-2-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 9A7F36EAB1 for ; Wed, 26 Aug 2015 05:45:38 -0700 (PDT) In-Reply-To: <1440119524-13867-2-git-send-email-matthew.d.roper@intel.com> Content-Language: en-US Content-ID: <412A6BC88E1170469617A99BE28F87E1@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Roper, Matthew D" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE1LTA4LTIwIGF0IDE4OjExIC0wNzAwLCBNYXR0IFJvcGVyIHdyb3RlOg0KPiBK dXN0IHB1bGwgdGhlIGluZm8gb3V0IG9mIHRoZSBwbGFuZSBzdGF0ZSBzdHJ1Y3R1cmUgcmF0aGVy IHRoYW4gc3RhZ2luZw0KPiBpdCBpbiBhbiBhZGRpdGlvbmFsIHN0cnVjdHVyZS4NCj4gDQo+IFNp Z25lZC1vZmYtYnk6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5yb3BlckBpbnRlbC5jb20+DQoNClJl dmlld2VkLWJ5OiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVpcmEgPGNvbnNlbHZhbjJAZ21haWwu Y29tPg0KDQo+IC0tLQ0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyB8IDEzMyAr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICAxIGZpbGUgY2hhbmdl ZCwgNzAgaW5zZXJ0aW9ucygrKSwgNjMgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3BtLmMNCj4gaW5kZXggZmZmMGMyMi4uYzljZjdjZiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wbS5jDQo+IEBAIC0xNzkxLDkgKzE3OTEsNiBAQCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFy YW1ldGVycyB7DQo+ICAJYm9vbCBhY3RpdmU7DQo+ICAJdWludDMyX3QgcGlwZV9odG90YWw7DQo+ ICAJdWludDMyX3QgcGl4ZWxfcmF0ZTsNCj4gLQlzdHJ1Y3QgaW50ZWxfcGxhbmVfd21fcGFyYW1l dGVycyBwcmk7DQo+IC0Jc3RydWN0IGludGVsX3BsYW5lX3dtX3BhcmFtZXRlcnMgc3ByOw0KPiAt CXN0cnVjdCBpbnRlbF9wbGFuZV93bV9wYXJhbWV0ZXJzIGN1cjsNCj4gIH07DQo+ICANCj4gIHN0 cnVjdCBpbGtfd21fbWF4aW11bXMgew0KPiBAQCAtMTgxNSwyNSArMTgxMiwyNSBAQCBzdHJ1Y3Qg aW50ZWxfd21fY29uZmlnIHsNCj4gICAqIG1lbV92YWx1ZSBtdXN0IGJlIGluIDAuMXVzIHVuaXRz Lg0KPiAgICovDQo+ICBzdGF0aWMgdWludDMyX3QgaWxrX2NvbXB1dGVfcHJpX3dtKGNvbnN0IHN0 cnVjdCBpbGtfcGlwZV93bV9wYXJhbWV0ZXJzICpwYXJhbXMsDQo+ICsJCQkJICAgY29uc3Qgc3Ry dWN0IGludGVsX3BsYW5lX3N0YXRlICpwc3RhdGUsDQo+ICAJCQkJICAgdWludDMyX3QgbWVtX3Zh bHVlLA0KPiAgCQkJCSAgIGJvb2wgaXNfbHApDQo+ICB7DQo+ICsJaW50IGJwcCA9IHBzdGF0ZS0+ YmFzZS5mYiA/IHBzdGF0ZS0+YmFzZS5mYi0+Yml0c19wZXJfcGl4ZWwgLyA4IDogMDsNCj4gIAl1 aW50MzJfdCBtZXRob2QxLCBtZXRob2QyOw0KPiAgDQo+IC0JaWYgKCFwYXJhbXMtPmFjdGl2ZSB8 fCAhcGFyYW1zLT5wcmkuZW5hYmxlZCkNCj4gKwlpZiAoIXBhcmFtcy0+YWN0aXZlIHx8ICFwc3Rh dGUtPnZpc2libGUpDQo+ICAJCXJldHVybiAwOw0KPiAgDQo+IC0JbWV0aG9kMSA9IGlsa193bV9t ZXRob2QxKHBhcmFtcy0+cGl4ZWxfcmF0ZSwNCj4gLQkJCQkgcGFyYW1zLT5wcmkuYnl0ZXNfcGVy X3BpeGVsLA0KPiAtCQkJCSBtZW1fdmFsdWUpOw0KPiArCW1ldGhvZDEgPSBpbGtfd21fbWV0aG9k MShwYXJhbXMtPnBpeGVsX3JhdGUsIGJwcCwgbWVtX3ZhbHVlKTsNCj4gIA0KPiAgCWlmICghaXNf bHApDQo+ICAJCXJldHVybiBtZXRob2QxOw0KPiAgDQo+ICAJbWV0aG9kMiA9IGlsa193bV9tZXRo b2QyKHBhcmFtcy0+cGl4ZWxfcmF0ZSwNCj4gIAkJCQkgcGFyYW1zLT5waXBlX2h0b3RhbCwNCj4g LQkJCQkgcGFyYW1zLT5wcmkuaG9yaXpfcGl4ZWxzLA0KPiAtCQkJCSBwYXJhbXMtPnByaS5ieXRl c19wZXJfcGl4ZWwsDQo+ICsJCQkJIGRybV9yZWN0X3dpZHRoKCZwc3RhdGUtPmRzdCksDQo+ICsJ CQkJIGJwcCwNCj4gIAkJCQkgbWVtX3ZhbHVlKTsNCj4gIA0KPiAgCXJldHVybiBtaW4obWV0aG9k MSwgbWV0aG9kMik7DQo+IEBAIC0xODQ0LDIwICsxODQxLDIwIEBAIHN0YXRpYyB1aW50MzJfdCBp bGtfY29tcHV0ZV9wcmlfd20oY29uc3Qgc3RydWN0IGlsa19waXBlX3dtX3BhcmFtZXRlcnMgDQo+ ICpwYXJhbXMsDQo+ICAgKiBtZW1fdmFsdWUgbXVzdCBiZSBpbiAwLjF1cyB1bml0cy4NCj4gICAq Lw0KPiAgc3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX3Nwcl93bShjb25zdCBzdHJ1Y3QgaWxr X3BpcGVfd21fcGFyYW1ldGVycyAqcGFyYW1zLA0KPiArCQkJCSAgIGNvbnN0IHN0cnVjdCBpbnRl bF9wbGFuZV9zdGF0ZSAqcHN0YXRlLA0KPiAgCQkJCSAgIHVpbnQzMl90IG1lbV92YWx1ZSkNCj4g IHsNCj4gKwlpbnQgYnBwID0gcHN0YXRlLT5iYXNlLmZiID8gcHN0YXRlLT5iYXNlLmZiLT5iaXRz X3Blcl9waXhlbCAvIDggOiAwOw0KPiAgCXVpbnQzMl90IG1ldGhvZDEsIG1ldGhvZDI7DQo+ICAN Cj4gLQlpZiAoIXBhcmFtcy0+YWN0aXZlIHx8ICFwYXJhbXMtPnNwci5lbmFibGVkKQ0KPiArCWlm ICghcGFyYW1zLT5hY3RpdmUgfHwgIXBzdGF0ZS0+dmlzaWJsZSkNCj4gIAkJcmV0dXJuIDA7DQo+ ICANCj4gLQltZXRob2QxID0gaWxrX3dtX21ldGhvZDEocGFyYW1zLT5waXhlbF9yYXRlLA0KPiAt CQkJCSBwYXJhbXMtPnNwci5ieXRlc19wZXJfcGl4ZWwsDQo+IC0JCQkJIG1lbV92YWx1ZSk7DQo+ ICsJbWV0aG9kMSA9IGlsa193bV9tZXRob2QxKHBhcmFtcy0+cGl4ZWxfcmF0ZSwgYnBwLCBtZW1f dmFsdWUpOw0KPiAgCW1ldGhvZDIgPSBpbGtfd21fbWV0aG9kMihwYXJhbXMtPnBpeGVsX3JhdGUs DQo+ICAJCQkJIHBhcmFtcy0+cGlwZV9odG90YWwsDQo+IC0JCQkJIHBhcmFtcy0+c3ByLmhvcml6 X3BpeGVscywNCj4gLQkJCQkgcGFyYW1zLT5zcHIuYnl0ZXNfcGVyX3BpeGVsLA0KPiArCQkJCSBk cm1fcmVjdF93aWR0aCgmcHN0YXRlLT5kc3QpLA0KPiArCQkJCSBicHAsDQo+ICAJCQkJIG1lbV92 YWx1ZSk7DQo+ICAJcmV0dXJuIG1pbihtZXRob2QxLCBtZXRob2QyKTsNCj4gIH0NCj4gQEAgLTE4 NjcsMjggKzE4NjQsMzIgQEAgc3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX3Nwcl93bShjb25z dCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyANCj4gKnBhcmFtcywNCj4gICAqIG1lbV92 YWx1ZSBtdXN0IGJlIGluIDAuMXVzIHVuaXRzLg0KPiAgICovDQo+ICBzdGF0aWMgdWludDMyX3Qg aWxrX2NvbXB1dGVfY3VyX3dtKGNvbnN0IHN0cnVjdCBpbGtfcGlwZV93bV9wYXJhbWV0ZXJzICpw YXJhbXMsDQo+ICsJCQkJICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwc3RhdGUs DQo+ICAJCQkJICAgdWludDMyX3QgbWVtX3ZhbHVlKQ0KPiAgew0KPiAtCWlmICghcGFyYW1zLT5h Y3RpdmUgfHwgIXBhcmFtcy0+Y3VyLmVuYWJsZWQpDQo+ICsJaW50IGJwcCA9IHBzdGF0ZS0+YmFz ZS5mYiA/IHBzdGF0ZS0+YmFzZS5mYi0+Yml0c19wZXJfcGl4ZWwgLyA4IDogMDsNCj4gKw0KPiAr CWlmICghcGFyYW1zLT5hY3RpdmUgfHwgIXBzdGF0ZS0+dmlzaWJsZSkNCj4gIAkJcmV0dXJuIDA7 DQo+ICANCj4gIAlyZXR1cm4gaWxrX3dtX21ldGhvZDIocGFyYW1zLT5waXhlbF9yYXRlLA0KPiAg CQkJICAgICAgcGFyYW1zLT5waXBlX2h0b3RhbCwNCj4gLQkJCSAgICAgIHBhcmFtcy0+Y3VyLmhv cml6X3BpeGVscywNCj4gLQkJCSAgICAgIHBhcmFtcy0+Y3VyLmJ5dGVzX3Blcl9waXhlbCwNCj4g KwkJCSAgICAgIGRybV9yZWN0X3dpZHRoKCZwc3RhdGUtPmRzdCksDQo+ICsJCQkgICAgICBicHAs DQo+ICAJCQkgICAgICBtZW1fdmFsdWUpOw0KPiAgfQ0KPiAgDQo+ICAvKiBPbmx5IGZvciBXTV9M UC4gKi8NCj4gIHN0YXRpYyB1aW50MzJfdCBpbGtfY29tcHV0ZV9mYmNfd20oY29uc3Qgc3RydWN0 IGlsa19waXBlX3dtX3BhcmFtZXRlcnMgKnBhcmFtcywNCj4gKwkJCQkgICBjb25zdCBzdHJ1Y3Qg aW50ZWxfcGxhbmVfc3RhdGUgKnBzdGF0ZSwNCj4gIAkJCQkgICB1aW50MzJfdCBwcmlfdmFsKQ0K PiAgew0KPiAtCWlmICghcGFyYW1zLT5hY3RpdmUgfHwgIXBhcmFtcy0+cHJpLmVuYWJsZWQpDQo+ ICsJaW50IGJwcCA9IHBzdGF0ZS0+YmFzZS5mYiA/IHBzdGF0ZS0+YmFzZS5mYi0+Yml0c19wZXJf cGl4ZWwgLyA4IDogMDsNCj4gKw0KPiArCWlmICghcGFyYW1zLT5hY3RpdmUgfHwgIXBzdGF0ZS0+ dmlzaWJsZSkNCj4gIAkJcmV0dXJuIDA7DQo+ICANCj4gLQlyZXR1cm4gaWxrX3dtX2ZiYyhwcmlf dmFsLA0KPiAtCQkJICBwYXJhbXMtPnByaS5ob3Jpel9waXhlbHMsDQo+IC0JCQkgIHBhcmFtcy0+ cHJpLmJ5dGVzX3Blcl9waXhlbCk7DQo+ICsJcmV0dXJuIGlsa193bV9mYmMocHJpX3ZhbCwgZHJt X3JlY3Rfd2lkdGgoJnBzdGF0ZS0+ZHN0KSwgYnBwKTsNCj4gIH0NCj4gIA0KPiAgc3RhdGljIHVu c2lnbmVkIGludCBpbGtfZGlzcGxheV9maWZvX3NpemUoY29uc3Qgc3RydWN0IGRybV9kZXZpY2Ug KmRldikNCj4gQEAgLTIwNTMsMTAgKzIwNTQsMTIgQEAgc3RhdGljIGJvb2wgaWxrX3ZhbGlkYXRl X3dtX2xldmVsKGludCBsZXZlbCwNCj4gIH0NCj4gIA0KPiAgc3RhdGljIHZvaWQgaWxrX2NvbXB1 dGVfd21fbGV2ZWwoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LA0KPiAr CQkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywNCj4gIAkJCQkgaW50IGxl dmVsLA0KPiAgCQkJCSBjb25zdCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcCwNCj4g IAkJCQkgc3RydWN0IGludGVsX3dtX2xldmVsICpyZXN1bHQpDQo+ICB7DQo+ICsJc3RydWN0IGlu dGVsX3BsYW5lICppbnRlbF9wbGFuZTsNCj4gIAl1aW50MTZfdCBwcmlfbGF0ZW5jeSA9IGRldl9w cml2LT53bS5wcmlfbGF0ZW5jeVtsZXZlbF07DQo+ICAJdWludDE2X3Qgc3ByX2xhdGVuY3kgPSBk ZXZfcHJpdi0+d20uc3ByX2xhdGVuY3lbbGV2ZWxdOw0KPiAgCXVpbnQxNl90IGN1cl9sYXRlbmN5 ID0gZGV2X3ByaXYtPndtLmN1cl9sYXRlbmN5W2xldmVsXTsNCj4gQEAgLTIwNjgsMTAgKzIwNzEs MjkgQEAgc3RhdGljIHZvaWQgaWxrX2NvbXB1dGVfd21fbGV2ZWwoY29uc3Qgc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LA0KPiAgCQljdXJfbGF0ZW5jeSAqPSA1Ow0KPiAgCX0NCj4g IA0KPiAtCXJlc3VsdC0+cHJpX3ZhbCA9IGlsa19jb21wdXRlX3ByaV93bShwLCBwcmlfbGF0ZW5j eSwgbGV2ZWwpOw0KPiAtCXJlc3VsdC0+c3ByX3ZhbCA9IGlsa19jb21wdXRlX3Nwcl93bShwLCBz cHJfbGF0ZW5jeSk7DQo+IC0JcmVzdWx0LT5jdXJfdmFsID0gaWxrX2NvbXB1dGVfY3VyX3dtKHAs IGN1cl9sYXRlbmN5KTsNCj4gLQlyZXN1bHQtPmZiY192YWwgPSBpbGtfY29tcHV0ZV9mYmNfd20o cCwgcmVzdWx0LT5wcmlfdmFsKTsNCj4gKwlmb3JfZWFjaF9pbnRlbF9wbGFuZV9vbl9jcnRjKGRl dl9wcml2LT5kZXYsIGludGVsX2NydGMsIGludGVsX3BsYW5lKSB7DQo+ICsJCXN0cnVjdCBpbnRl bF9wbGFuZV9zdGF0ZSAqcHN0YXRlID0NCj4gKwkJCXRvX2ludGVsX3BsYW5lX3N0YXRlKGludGVs X3BsYW5lLT5iYXNlLnN0YXRlKTsNCj4gKw0KPiArCQlzd2l0Y2ggKGludGVsX3BsYW5lLT5iYXNl LnR5cGUpIHsNCj4gKwkJY2FzZSBEUk1fUExBTkVfVFlQRV9QUklNQVJZOg0KPiArCQkJcmVzdWx0 LT5wcmlfdmFsID0gaWxrX2NvbXB1dGVfcHJpX3dtKHAsIHBzdGF0ZSwNCj4gKwkJCQkJCQkgICAg IHByaV9sYXRlbmN5LA0KPiArCQkJCQkJCSAgICAgbGV2ZWwpOw0KPiArCQkJcmVzdWx0LT5mYmNf dmFsID0gaWxrX2NvbXB1dGVfZmJjX3dtKHAsIHBzdGF0ZSwNCj4gKwkJCQkJCQkgICAgIHJlc3Vs dC0+cHJpX3ZhbCk7DQo+ICsJCQlicmVhazsNCj4gKwkJY2FzZSBEUk1fUExBTkVfVFlQRV9PVkVS TEFZOg0KPiArCQkJcmVzdWx0LT5zcHJfdmFsID0gaWxrX2NvbXB1dGVfc3ByX3dtKHAsIHBzdGF0 ZSwNCj4gKwkJCQkJCQkgICAgIHNwcl9sYXRlbmN5KTsNCj4gKwkJCWJyZWFrOw0KPiArCQljYXNl IERSTV9QTEFORV9UWVBFX0NVUlNPUjoNCj4gKwkJCXJlc3VsdC0+Y3VyX3ZhbCA9IGlsa19jb21w dXRlX2N1cl93bShwLCBwc3RhdGUsDQo+ICsJCQkJCQkJICAgICBjdXJfbGF0ZW5jeSk7DQo+ICsJ CQlicmVhazsNCj4gKwkJfQ0KPiArCX0NCj4gKw0KPiAgCXJlc3VsdC0+ZW5hYmxlID0gdHJ1ZTsN Cj4gIH0NCj4gIA0KPiBAQCAtMjMzMywxMCArMjM1NSw3IEBAIHN0YXRpYyB2b2lkIHNrbF9zZXR1 cF93bV9sYXRlbmN5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpDQo+ICBzdGF0aWMgdm9pZCBpbGtf Y29tcHV0ZV93bV9wYXJhbWV0ZXJzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywNCj4gIAkJCQkgICAg ICBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcCkNCj4gIHsNCj4gLQlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Ow0KPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsNCj4gLQllbnVtIHBpcGUgcGlwZSA9IGludGVsX2Ny dGMtPnBpcGU7DQo+IC0Jc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7DQo+ICANCj4gIAlpZiAoIWlu dGVsX2NydGMtPmFjdGl2ZSkNCj4gIAkJcmV0dXJuOw0KPiBAQCAtMjM0NCwzMiArMjM2Myw2IEBA IHN0YXRpYyB2b2lkIGlsa19jb21wdXRlX3dtX3BhcmFtZXRlcnMoc3RydWN0IGRybV9jcnRjICpj cnRjLA0KPiAgCXAtPmFjdGl2ZSA9IHRydWU7DQo+ICAJcC0+cGlwZV9odG90YWwgPSBpbnRlbF9j cnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2h0b3RhbDsNCj4gIAlwLT5waXhl bF9yYXRlID0gaWxrX3BpcGVfcGl4ZWxfcmF0ZShpbnRlbF9jcnRjLT5jb25maWcpOw0KPiAtDQo+ IC0JaWYgKGNydGMtPnByaW1hcnktPnN0YXRlLT5mYikNCj4gLQkJcC0+cHJpLmJ5dGVzX3Blcl9w aXhlbCA9DQo+IC0JCQljcnRjLT5wcmltYXJ5LT5zdGF0ZS0+ZmItPmJpdHNfcGVyX3BpeGVsIC8g ODsNCj4gLQllbHNlDQo+IC0JCXAtPnByaS5ieXRlc19wZXJfcGl4ZWwgPSA0Ow0KPiAtDQo+IC0J cC0+Y3VyLmJ5dGVzX3Blcl9waXhlbCA9IDQ7DQo+IC0JLyoNCj4gLQkgKiBUT0RPOiBmb3Igbm93 LCBhc3N1bWUgcHJpbWFyeSBhbmQgY3Vyc29yIHBsYW5lcyBhcmUgYWx3YXlzIGVuYWJsZWQuDQo+ IC0JICogU2V0dGluZyB0aGVtIHRvIGZhbHNlIG1ha2VzIHRoZSBzY3JlZW4gZmxpY2tlci4NCj4g LQkgKi8NCj4gLQlwLT5wcmkuZW5hYmxlZCA9IHRydWU7DQo+IC0JcC0+Y3VyLmVuYWJsZWQgPSB0 cnVlOw0KPiAtDQo+IC0JcC0+cHJpLmhvcml6X3BpeGVscyA9IGludGVsX2NydGMtPmNvbmZpZy0+ cGlwZV9zcmNfdzsNCj4gLQlwLT5jdXIuaG9yaXpfcGl4ZWxzID0gaW50ZWxfY3J0Yy0+YmFzZS5j dXJzb3ItPnN0YXRlLT5jcnRjX3c7DQo+IC0NCj4gLQlkcm1fZm9yX2VhY2hfbGVnYWN5X3BsYW5l KHBsYW5lLCBkZXYpIHsNCj4gLQkJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRv X2ludGVsX3BsYW5lKHBsYW5lKTsNCj4gLQ0KPiAtCQlpZiAoaW50ZWxfcGxhbmUtPnBpcGUgPT0g cGlwZSkgew0KPiAtCQkJcC0+c3ByID0gaW50ZWxfcGxhbmUtPndtOw0KPiAtCQkJYnJlYWs7DQo+ IC0JCX0NCj4gLQl9DQo+ICB9DQo+ICANCj4gIHN0YXRpYyB2b2lkIGlsa19jb21wdXRlX3dtX2Nv bmZpZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LA0KPiBAQCAtMjM5NywyOCArMjM5MCw0MiBAQCBz dGF0aWMgYm9vbCBpbnRlbF9jb21wdXRlX3BpcGVfd20oc3RydWN0IGRybV9jcnRjICpjcnRjLA0K PiAgew0KPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7DQo+ICAJY29uc3Qg c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsNCj4g KwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7DQo+ ICsJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZTsNCj4gKwlzdHJ1Y3QgaW50ZWxfcGxh bmVfc3RhdGUgKnNwcnN0YXRlID0gTlVMTDsNCj4gIAlpbnQgbGV2ZWwsIG1heF9sZXZlbCA9IGls a193bV9tYXhfbGV2ZWwoZGV2KTsNCj4gIAkvKiBMUDAgd2F0ZXJtYXJrIG1heGltdW1zIGRlcGVu ZCBvbiB0aGlzIHBpcGUgYWxvbmUgKi8NCj4gIAlzdHJ1Y3QgaW50ZWxfd21fY29uZmlnIGNvbmZp ZyA9IHsNCj4gIAkJLm51bV9waXBlc19hY3RpdmUgPSAxLA0KPiAtCQkuc3ByaXRlc19lbmFibGVk ID0gcGFyYW1zLT5zcHIuZW5hYmxlZCwNCj4gLQkJLnNwcml0ZXNfc2NhbGVkID0gcGFyYW1zLT5z cHIuc2NhbGVkLA0KPiAgCX07DQo+ICAJc3RydWN0IGlsa193bV9tYXhpbXVtcyBtYXg7DQo+ICAN Cj4gKwlmb3JfZWFjaF9pbnRlbF9wbGFuZV9vbl9jcnRjKGRldiwgaW50ZWxfY3J0YywgaW50ZWxf cGxhbmUpIHsNCj4gKwkJaWYgKGludGVsX3BsYW5lLT5iYXNlLnR5cGUgPT0gRFJNX1BMQU5FX1RZ UEVfT1ZFUkxBWSkgew0KPiArCQkJc3Byc3RhdGUgPSB0b19pbnRlbF9wbGFuZV9zdGF0ZShpbnRl bF9wbGFuZS0+YmFzZS5zdGF0ZSk7DQo+ICsJCQlicmVhazsNCj4gKwkJfQ0KPiArCX0NCj4gKw0K PiArCWNvbmZpZy5zcHJpdGVzX2VuYWJsZWQgPSBzcHJzdGF0ZS0+dmlzaWJsZTsNCj4gKwljb25m aWcuc3ByaXRlc19zY2FsZWQgPQ0KPiArCQlkcm1fcmVjdF93aWR0aCgmc3Byc3RhdGUtPmRzdCkg IT0gZHJtX3JlY3Rfd2lkdGgoJnNwcnN0YXRlLT5zcmMpID4+IDE2IHx8DQo+ICsJCWRybV9yZWN0 X2hlaWdodCgmc3Byc3RhdGUtPmRzdCkgIT0gZHJtX3JlY3RfaGVpZ2h0KCZzcHJzdGF0ZS0+c3Jj KSA+PiAxNjsNCj4gKw0KPiArDQo+ICAJcGlwZV93bS0+cGlwZV9lbmFibGVkID0gcGFyYW1zLT5h Y3RpdmU7DQo+IC0JcGlwZV93bS0+c3ByaXRlc19lbmFibGVkID0gcGFyYW1zLT5zcHIuZW5hYmxl ZDsNCj4gLQlwaXBlX3dtLT5zcHJpdGVzX3NjYWxlZCA9IHBhcmFtcy0+c3ByLnNjYWxlZDsNCj4g KwlwaXBlX3dtLT5zcHJpdGVzX2VuYWJsZWQgPSBzcHJzdGF0ZS0+dmlzaWJsZTsNCj4gKwlwaXBl X3dtLT5zcHJpdGVzX3NjYWxlZCA9IGNvbmZpZy5zcHJpdGVzX3NjYWxlZDsNCj4gIA0KPiAgCS8q IElMSy9TTkI6IExQMisgd2F0ZXJtYXJrcyBvbmx5IHcvbyBzcHJpdGVzICovDQo+IC0JaWYgKElO VEVMX0lORk8oZGV2KS0+Z2VuIDw9IDYgJiYgcGFyYW1zLT5zcHIuZW5hYmxlZCkNCj4gKwlpZiAo SU5URUxfSU5GTyhkZXYpLT5nZW4gPD0gNiAmJiBzcHJzdGF0ZS0+dmlzaWJsZSkNCj4gIAkJbWF4 X2xldmVsID0gMTsNCj4gIA0KPiAgCS8qIElMSy9TTkIvSVZCOiBMUDErIHdhdGVybWFya3Mgb25s eSB3L28gc2NhbGluZyAqLw0KPiAtCWlmIChwYXJhbXMtPnNwci5zY2FsZWQpDQo+ICsJaWYgKGNv bmZpZy5zcHJpdGVzX3NjYWxlZCkNCj4gIAkJbWF4X2xldmVsID0gMDsNCj4gIA0KPiAtCWlsa19j b21wdXRlX3dtX2xldmVsKGRldl9wcml2LCAwLCBwYXJhbXMsICZwaXBlX3dtLT53bVswXSk7DQo+ ICsJaWxrX2NvbXB1dGVfd21fbGV2ZWwoZGV2X3ByaXYsIGludGVsX2NydGMsIDAsIHBhcmFtcywg JnBpcGVfd20tPndtWzBdKTsNCj4gIA0KPiAgCWlmIChJU19IQVNXRUxMKGRldikgfHwgSVNfQlJP QURXRUxMKGRldikpDQo+ICAJCXBpcGVfd20tPmxpbmV0aW1lID0gaHN3X2NvbXB1dGVfbGluZXRp bWVfd20oZGV2LCBjcnRjKTsNCj4gQEAgLTI0MzUsNyArMjQ0Miw3IEBAIHN0YXRpYyBib29sIGlu dGVsX2NvbXB1dGVfcGlwZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsDQo+ICAJZm9yIChsZXZl bCA9IDE7IGxldmVsIDw9IG1heF9sZXZlbDsgbGV2ZWwrKykgew0KPiAgCQlzdHJ1Y3QgaW50ZWxf d21fbGV2ZWwgd20gPSB7fTsNCj4gIA0KPiAtCQlpbGtfY29tcHV0ZV93bV9sZXZlbChkZXZfcHJp diwgbGV2ZWwsIHBhcmFtcywgJndtKTsNCj4gKwkJaWxrX2NvbXB1dGVfd21fbGV2ZWwoZGV2X3By aXYsIGludGVsX2NydGMsIGxldmVsLCBwYXJhbXMsICZ3bSk7DQo+ICANCj4gIAkJLyoNCj4gIAkJ ICogRGlzYWJsZSBhbnkgd2F0ZXJtYXJrIGxldmVsIHRoYXQgZXhjZWVkcyB0aGUKLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCkludGVsIEZpbmxhbmQgT3kKUmVnaXN0ZXJlZCBBZGRyZXNzOiBQTCAyODEsIDAwMTgxIEhl bHNpbmtpIApCdXNpbmVzcyBJZGVudGl0eSBDb2RlOiAwMzU3NjA2IC0gNCAKRG9taWNpbGVkIGlu IEhlbHNpbmtpIAoKVGhpcyBlLW1haWwgYW5kIGFueSBhdHRhY2htZW50cyBtYXkgY29udGFpbiBj b25maWRlbnRpYWwgbWF0ZXJpYWwgZm9yCnRoZSBzb2xlIHVzZSBvZiB0aGUgaW50ZW5kZWQgcmVj aXBpZW50KHMpLiBBbnkgcmV2aWV3IG9yIGRpc3RyaWJ1dGlvbgpieSBvdGhlcnMgaXMgc3RyaWN0 bHkgcHJvaGliaXRlZC4gSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkCnJlY2lwaWVudCwgcGxl YXNlIGNvbnRhY3QgdGhlIHNlbmRlciBhbmQgZGVsZXRlIGFsbCBjb3BpZXMuCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==