From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 5/9] drm/i915: Pass primary plane size to .update_primary_plane() Date: Tue, 10 Mar 2015 19:59:15 +0200 Message-ID: <20150310175915.GK11371@intel.com> References: <1425986129-15547-1-git-send-email-ville.syrjala@linux.intel.com> <1425986129-15547-6-git-send-email-ville.syrjala@linux.intel.com> <20150310171040.GI27526@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 20AF06E035 for ; Tue, 10 Mar 2015 10:59:28 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20150310171040.GI27526@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 T24gVHVlLCBNYXIgMTAsIDIwMTUgYXQgMTA6MTA6NDBBTSAtMDcwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBPbiBUdWUsIE1hciAxMCwgMjAxNSBhdCAwMToxNToyNVBNICswMjAwLCB2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbSB3cm90ZToKPiA+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmls bGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiAKPiA+IEluIHByZXBhcmF0aW9uIHRvIG1v dmFibGUvcmVzaXphYmxlIHByaW1hcnkgcGxhbmVzIHBhc3MgdGhlIGNsaXBwZWQKPiA+IHBsYW5l IHNpemUgdG8gLnVwZGF0ZV9wcmltYXJ5X3BsYW5lKCkuCj4gCj4gUGVyc29uYWxseSBJIGZlZWwg bGlrZSBpdCB3b3VsZCBtYWtlIG1vcmUgc2Vuc2UgdG8ganVzdCBjb21wbGV0ZWx5IGtpbGwKPiBv ZmYgLnVwZGF0ZV9wcmltYXJ5X3BsYW5lKCkgbm93IHJhdGhlciB0aGFuIHRyeWluZyB0byBldm9s dmUgaXQuICBXZQo+IGFscmVhZHkgaGF2ZSBhbiBpbnRlbF9wbGFuZS0+dXBkYXRlX3BsYW5lKCkg ZnVuY3Rpb24gcG9pbnRlciB3aGljaCBpcwo+IG5ldmVyIHNldCBvciBjYWxsZWQgZm9yIG5vbi1z cHJpdGVzIGF0IHRoZSBtb21lbnQuICBXZSBjb3VsZCB1bmlmeSB0aGUKPiBoYW5kbGluZyBvZiBs b3ctbGV2ZWwgcGxhbmUgcHJvZ3JhbW1pbmcgYnkganVzdCB1c2luZyB0aGF0IGZ1bmN0aW9uCj4g cG9pbnRlciBmb3IgcHJpbWFyeSBwbGFuZXMgYXMgd2VsbC4KCkkgd2FudCB0byBraWxsIGl0IG9m ZiBhcyB3ZWxsLCBidXQgdGhhdCBtZWFucyBlaXRoZXIga2lsbGluZyBvZmYKc2V0X2Jhc2VfYXRv bWljKCkgb3IgbWFraW5nIGl0IHVzZSB0aGUgcGxhbmUgY29tbWl0IGhvb2suIEkgc3VwcG9zZSB3 ZQpjb3VsZCBoYW5kIGNyYWZ0IGEgc3VpdGFibGUgcGxhbmUgc3RhdGUgZm9yIGl0IGFuZCBqdXN0 IGNvbW1pdCB0aGF0CndpdGhvdXQgYW55IGNoZWNrcyBvciBhbnl0aGluZz8KCj4gCj4gSSB3b3Vs ZG4ndCBtaW5kIGFsc28gc2VlaW5nIHRoZSBuYW1lIG9mIHRoYXQgbG93LWxldmVsIGVudHJ5cG9p bnQKPiByZW5hbWVkIHRvIHNvbWV0aGluZyBsaWtlICd1cGRhdGVfaHdfcGxhbmUnIHRvIGF2b2lk IGNvbmZ1c2lvbiB3aXRoIHRoZQo+IGRybV9wbGFuZSBlbnRyeXBvaW50Li4uCj4gCj4gCj4gTWF0 dAo+IAo+ID4gCj4gPiBDYzogU29uaWthIEppbmRhbCA8c29uaWthLmppbmRhbEBpbnRlbC5jb20+ Cj4gPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAg ICAgIHwgIDMgKy0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA2 MyArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KPiA+ICAyIGZpbGVzIGNoYW5n ZWQsIDM4IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKPiA+IGluZGV4IGIxNmMwYTcuLmU5OWVlZjAgMTAwNjQ0Cj4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCj4gPiBAQCAtNTc4LDcgKzU3OCw4IEBAIHN0cnVjdCBkcm1faTkxNV9k aXNwbGF5X2Z1bmNzIHsKPiA+ICAJCQkgIHVpbnQzMl90IGZsYWdzKTsKPiA+ICAJdm9pZCAoKnVw ZGF0ZV9wcmltYXJ5X3BsYW5lKShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiAgCQkJCSAgICAg c3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCj4gPiAtCQkJCSAgICAgaW50IHgsIGludCB5KTsK PiA+ICsJCQkJICAgICBpbnQgeCwgaW50IHksCj4gPiArCQkJCSAgICAgaW50IGNydGNfdywgaW50 IGNydGNfaCk7Cj4gPiAgCXZvaWQgKCpocGRfaXJxX3NldHVwKShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KTsKPiA+ICAJLyogY2xvY2sgdXBkYXRlcyBmb3IgbW9kZSBzZXQgKi8KPiA+ICAJLyogY3Vy c29yIHVwZGF0ZXMgKi8KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+IGlu ZGV4IGZkYzgzZjEuLjFhNzg5ZjAgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwo+ID4gQEAgLTI0ODIsNyArMjQ4Miw4IEBAIGludGVsX2ZpbmRfcGxhbmVfb2JqKHN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGk5eHhf dXBkYXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gIAkJCQkgICAg ICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKPiA+IC0JCQkJICAgICAgaW50IHgsIGludCB5 KQo+ID4gKwkJCQkgICAgICBpbnQgeCwgaW50IHksCj4gPiArCQkJCSAgICAgIGludCBjcnRjX3cs IGludCBjcnRjX2gpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ ZGV2Owo+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwo+ID4gQEAgLTI1MTcsMjAgKzI1MTgsMTYgQEAgc3RhdGljIHZvaWQgaTl4eF91cGRh dGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiAgCWlmIChJTlRFTF9J TkZPKGRldiktPmdlbiA8IDQpIHsKPiA+ICAJCWlmIChpbnRlbF9jcnRjLT5waXBlID09IFBJUEVf QikKPiA+ICAJCQlkc3BjbnRyIHw9IERJU1BQTEFORV9TRUxfUElQRV9COwo+ID4gLQo+ID4gLQkJ LyogcGlwZXNyYyBhbmQgZHNwc2l6ZSBjb250cm9sIHRoZSBzaXplIHRoYXQgaXMgc2NhbGVkIGZy b20sCj4gPiAtCQkgKiB3aGljaCBzaG91bGQgYWx3YXlzIGJlIHRoZSB1c2VyJ3MgcmVxdWVzdGVk IHNpemUuCj4gPiAtCQkgKi8KPiA+IC0JCUk5MTVfV1JJVEUoRFNQU0laRShwbGFuZSksCj4gPiAt CQkJICAgKChpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX2ggLSAxKSA8PCAxNikgfAo+ID4g LQkJCSAgIChpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX3cgLSAxKSk7Cj4gPiArCQlJOTE1 X1dSSVRFKERTUFNJWkUocGxhbmUpLCAoKGNydGNfaCAtIDEpIDw8IDE2KSB8IChjcnRjX3cgLSAx KSk7Cj4gPiAgCQlJOTE1X1dSSVRFKERTUFBPUyhwbGFuZSksIDApOwo+ID4gIAl9IGVsc2UgaWYg KElTX0NIRVJSWVZJRVcoZGV2KSAmJiBwbGFuZSA9PSBQTEFORV9CKSB7Cj4gPiAtCQlJOTE1X1dS SVRFKFBSSU1TSVpFKHBsYW5lKSwKPiA+IC0JCQkgICAoKGludGVsX2NydGMtPmNvbmZpZy0+cGlw ZV9zcmNfaCAtIDEpIDw8IDE2KSB8Cj4gPiAtCQkJICAgKGludGVsX2NydGMtPmNvbmZpZy0+cGlw ZV9zcmNfdyAtIDEpKTsKPiA+ICsJCUk5MTVfV1JJVEUoUFJJTVNJWkUocGxhbmUpLCAoKGNydGNf aCAtIDEpIDw8IDE2KSB8IChjcnRjX3cgLSAxKSk7Cj4gPiAgCQlJOTE1X1dSSVRFKFBSSU1QT1Mo cGxhbmUpLCAwKTsKPiA+ICAJCUk5MTVfV1JJVEUoUFJJTUNOU1RBTFBIQShwbGFuZSksIDApOwo+ ID4gKwl9IGVsc2Ugewo+ID4gKwkJV0FSTl9PTkNFKGNydGNfdyAhPSBpbnRlbF9jcnRjLT5jb25m aWctPnBpcGVfc3JjX3cgfHwKPiA+ICsJCQkgIGNydGNfaCAhPSBpbnRlbF9jcnRjLT5jb25maWct PnBpcGVfc3JjX2gsCj4gPiArCQkJICAicHJpbWFyeSBwbGFuZSBzaXplIGRvZXNuJ3QgbWF0Y2gg cGlwZSBzaXplXG4iKTsKPiA+ICAJfQo+ID4gIAo+ID4gIAlzd2l0Y2ggKGZiLT5waXhlbF9mb3Jt YXQpIHsKPiA+IEBAIC0yNTg2LDE0ICsyNTgzLDE0IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRl X3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gIAlpZiAoY3J0Yy0+cHJp bWFyeS0+c3RhdGUtPnJvdGF0aW9uID09IEJJVChEUk1fUk9UQVRFXzE4MCkpIHsKPiA+ICAJCWRz cGNudHIgfD0gRElTUFBMQU5FX1JPVEFURV8xODA7Cj4gPiAgCj4gPiAtCQl4ICs9IChpbnRlbF9j cnRjLT5jb25maWctPnBpcGVfc3JjX3cgLSAxKTsKPiA+IC0JCXkgKz0gKGludGVsX2NydGMtPmNv bmZpZy0+cGlwZV9zcmNfaCAtIDEpOwo+ID4gKwkJeCArPSAoY3J0Y193IC0gMSk7Cj4gPiArCQl5 ICs9IChjcnRjX2ggLSAxKTsKPiA+ICAKPiA+ICAJCS8qIEZpbmRpbmcgdGhlIGxhc3QgcGl4ZWwg b2YgdGhlIGxhc3QgbGluZSBvZiB0aGUgZGlzcGxheQo+ID4gIAkJZGF0YSBhbmQgYWRkaW5nIHRv IGxpbmVhcl9vZmZzZXQqLwo+ID4gIAkJbGluZWFyX29mZnNldCArPQo+ID4gLQkJCShpbnRlbF9j cnRjLT5jb25maWctPnBpcGVfc3JjX2ggLSAxKSAqIGZiLT5waXRjaGVzWzBdICsKPiA+IC0JCQko aW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY193IC0gMSkgKiBwaXhlbF9zaXplOwo+ID4gKwkJ CShjcnRjX2ggLSAxKSAqIGZiLT5waXRjaGVzWzBdICsKPiA+ICsJCQkoY3J0Y193IC0gMSkgKiBw aXhlbF9zaXplOwo+ID4gIAl9Cj4gPiAgCj4gPiAgCUk5MTVfV1JJVEUocmVnLCBkc3BjbnRyKTsK PiA+IEBAIC0yNjExLDcgKzI2MDgsOCBAQCBzdGF0aWMgdm9pZCBpOXh4X3VwZGF0ZV9wcmltYXJ5 X3BsYW5lKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ICAKPiA+ICBzdGF0aWMgdm9pZCBpcm9u bGFrZV91cGRhdGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiAgCQkJ CQkgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+ID4gLQkJCQkJICBpbnQgeCwgaW50IHkp Cj4gPiArCQkJCQkgIGludCB4LCBpbnQgeSwKPiA+ICsJCQkJCSAgaW50IGNydGNfdywgaW50IGNy dGNfaCkKPiA+ICB7Cj4gPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4g PiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 Cj4gPiBAQCAtMjY0Myw2ICsyNjQxLDEwIEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX3VwZGF0ZV9w cmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ICAJaWYgKElTX0hBU1dFTEwo ZGV2KSB8fCBJU19CUk9BRFdFTEwoZGV2KSkKPiA+ICAJCWRzcGNudHIgfD0gRElTUFBMQU5FX1BJ UEVfQ1NDX0VOQUJMRTsKPiA+ICAKPiA+ICsJV0FSTl9PTkNFKGNydGNfdyAhPSBpbnRlbF9jcnRj LT5jb25maWctPnBpcGVfc3JjX3cgfHwKPiA+ICsJCSAgY3J0Y19oICE9IGludGVsX2NydGMtPmNv bmZpZy0+cGlwZV9zcmNfaCwKPiA+ICsJCSAgInByaW1hcnkgcGxhbmUgc2l6ZSBkb2Vzbid0IG1h dGNoIHBpcGUgc2l6ZVxuIik7Cj4gPiArCj4gPiAgCXN3aXRjaCAoZmItPnBpeGVsX2Zvcm1hdCkg ewo+ID4gIAljYXNlIERSTV9GT1JNQVRfQzg6Cj4gPiAgCQlkc3BjbnRyIHw9IERJU1BQTEFORV84 QlBQOwo+ID4gQEAgLTI2ODYsMTQgKzI2ODgsMTQgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfdXBk YXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gIAkJZHNwY250ciB8 PSBESVNQUExBTkVfUk9UQVRFXzE4MDsKPiA+ICAKPiA+ICAJCWlmICghSVNfSEFTV0VMTChkZXYp ICYmICFJU19CUk9BRFdFTEwoZGV2KSkgewo+ID4gLQkJCXggKz0gKGludGVsX2NydGMtPmNvbmZp Zy0+cGlwZV9zcmNfdyAtIDEpOwo+ID4gLQkJCXkgKz0gKGludGVsX2NydGMtPmNvbmZpZy0+cGlw ZV9zcmNfaCAtIDEpOwo+ID4gKwkJCXggKz0gKGNydGNfdyAtIDEpOwo+ID4gKwkJCXkgKz0gKGNy dGNfaCAtIDEpOwo+ID4gIAo+ID4gIAkJCS8qIEZpbmRpbmcgdGhlIGxhc3QgcGl4ZWwgb2YgdGhl IGxhc3QgbGluZSBvZiB0aGUgZGlzcGxheQo+ID4gIAkJCWRhdGEgYW5kIGFkZGluZyB0byBsaW5l YXJfb2Zmc2V0Ki8KPiA+ICAJCQlsaW5lYXJfb2Zmc2V0ICs9Cj4gPiAtCQkJCShpbnRlbF9jcnRj LT5jb25maWctPnBpcGVfc3JjX2ggLSAxKSAqIGZiLT5waXRjaGVzWzBdICsKPiA+IC0JCQkJKGlu dGVsX2NydGMtPmNvbmZpZy0+cGlwZV9zcmNfdyAtIDEpICogcGl4ZWxfc2l6ZTsKPiA+ICsJCQkJ KGNydGNfaCAtIDEpICogZmItPnBpdGNoZXNbMF0gKwo+ID4gKwkJCQkoY3J0Y193IC0gMSkgKiBw aXhlbF9zaXplOwo+ID4gIAkJfQo+ID4gIAl9Cj4gPiAgCj4gPiBAQCAtMjc0Nyw3ICsyNzQ5LDgg QEAgdTMyIGludGVsX2ZiX3N0cmlkZV9hbGlnbm1lbnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dWludDY0X3QgZmJfbW9kaWZpZXIsCj4gPiAgCj4gPiAgc3RhdGljIHZvaWQgc2t5bGFrZV91cGRh dGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiAgCQkJCQkgc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqZmIsCj4gPiAtCQkJCQkgaW50IHgsIGludCB5KQo+ID4gKwkJCQkJ IGludCB4LCBpbnQgeSwKPiA+ICsJCQkJCSBpbnQgY3J0Y193LCBpbnQgY3J0Y19oKQo+ID4gIHsK PiA+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiA+ICAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiA+IEBAIC0yODI2 LDkgKzI4MjksNyBAQCBzdGF0aWMgdm9pZCBza3lsYWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ICAKPiA+ICAJSTkxNV9XUklURShQTEFORV9QT1MocGlw ZSwgMCksIDApOwo+ID4gIAlJOTE1X1dSSVRFKFBMQU5FX09GRlNFVChwaXBlLCAwKSwgKHkgPDwg MTYpIHwgeCk7Cj4gPiAtCUk5MTVfV1JJVEUoUExBTkVfU0laRShwaXBlLCAwKSwKPiA+IC0JCSAg IChpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX2ggLSAxKSA8PCAxNiB8Cj4gPiAtCQkgICAo aW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY193IC0gMSkpOwo+ID4gKwlJOTE1X1dSSVRFKFBM QU5FX1NJWkUocGlwZSwgMCksICgoY3J0Y19oIC0gMSkgPDwgMTYpIHwgKGNydGNfdyAtIDEpKTsK PiA+ICAJSTkxNV9XUklURShQTEFORV9TVFJJREUocGlwZSwgMCksIGZiLT5waXRjaGVzWzBdIC8g c3RyaWRlX2Rpdik7Cj4gPiAgCUk5MTVfV1JJVEUoUExBTkVfU1VSRihwaXBlLCAwKSwgaTkxNV9n ZW1fb2JqX2dndHRfb2Zmc2V0KG9iaikpOwo+ID4gIAo+ID4gQEAgLTI4NDUsMTIgKzI4NDYsMTYg QEAgaW50ZWxfcGlwZV9zZXRfYmFzZV9hdG9taWMoc3RydWN0IGRybV9jcnRjICpjcnRjLCBzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKPiA+ICB7Cj4gPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBjcnRjLT5kZXY7Cj4gPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGRldi0+ZGV2X3ByaXZhdGU7Cj4gPiArCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjKTsKPiA+ICAKPiA+ICAJaWYgKGRldl9wcml2LT5kaXNwbGF5LmRp c2FibGVfZmJjKQo+ID4gIAkJZGV2X3ByaXYtPmRpc3BsYXkuZGlzYWJsZV9mYmMoZGV2KTsKPiA+ ICAKPiA+ICsJLyogRklYTUU6IHRoaXMgd2lsbCBnbyBiYWRseSBpZiB0aGUgZmIgaXNuJ3QgYmln IGVub3VnaCAqLwo+ID4gIAl0b19pbnRlbF9jcnRjKGNydGMpLT5wcmltYXJ5X2VuYWJsZWQgPSB0 cnVlOwo+ID4gLQlkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfcHJpbWFyeV9wbGFuZShjcnRjLCBm YiwgeCwgeSk7Cj4gPiArCWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV9wcmltYXJ5X3BsYW5lKGNy dGMsIGZiLCB4LCB5LAo+ID4gKwkJCQkJICAgICAgIGludGVsX2NydGMtPmNvbmZpZy0+cGlwZV9z cmNfdywKPiA+ICsJCQkJCSAgICAgICBpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX2gpOwo+ ID4gIAo+ID4gIAlyZXR1cm4gMDsKPiA+ICB9Cj4gPiBAQCAtMjg4NSw3ICsyODkwLDkgQEAgc3Rh dGljIHZvaWQgaW50ZWxfdXBkYXRlX3ByaW1hcnlfcGxhbmVzKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCj4gPiAgCQkJZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX3ByaW1hcnlfcGxhbmUoY3J0YywK PiA+ICAJCQkJCQkJICAgICAgIHN0YXRlLT5iYXNlLmZiLAo+ID4gIAkJCQkJCQkgICAgICAgc3Rh dGUtPnNyYy54MSA+PiAxNiwKPiA+IC0JCQkJCQkJICAgICAgIHN0YXRlLT5zcmMueTEgPj4gMTYp Owo+ID4gKwkJCQkJCQkgICAgICAgc3RhdGUtPnNyYy55MSA+PiAxNiwKPiA+ICsJCQkJCQkJICAg ICAgIGRybV9yZWN0X3dpZHRoKCZzdGF0ZS0+ZHN0KSwKPiA+ICsJCQkJCQkJICAgICAgIGRybV9y ZWN0X2hlaWdodCgmc3RhdGUtPmRzdCkpOwo+ID4gIAkJfQo+ID4gIAo+ID4gIAkJZHJtX21vZGVz ZXRfdW5sb2NrKCZjcnRjLT5tdXRleCk7Cj4gPiBAQCAtMTIwMTksNyArMTIwMjYsOSBAQCBpbnRl bF9jb21taXRfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiA+ICAJCWRl dl9wcml2LT5kaXNwbGF5LnVwZGF0ZV9wcmltYXJ5X3BsYW5lKGNydGMsCj4gPiAgCQkJCQkJICAg ICAgIHN0YXRlLT5iYXNlLmZiLAo+ID4gIAkJCQkJCSAgICAgICBzdGF0ZS0+c3JjLngxID4+IDE2 LAo+ID4gLQkJCQkJCSAgICAgICBzdGF0ZS0+c3JjLnkxID4+IDE2KTsKPiA+ICsJCQkJCQkgICAg ICAgc3RhdGUtPnNyYy55MSA+PiAxNiwKPiA+ICsJCQkJCQkgICAgICAgZHJtX3JlY3Rfd2lkdGgo JnN0YXRlLT5kc3QpLAo+ID4gKwkJCQkJCSAgICAgICBkcm1fcmVjdF9oZWlnaHQoJnN0YXRlLT5k c3QpKTsKPiA+ICAJfQo+ID4gIH0KPiA+ICAKPiA+IC0tIAo+ID4gMi4wLjUKPiA+IAo+ID4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+IEludGVsLWdm eCBtYWlsaW5nIGxpc3QKPiA+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+IGh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiAK PiAtLSAKPiBNYXR0IFJvcGVyCj4gR3JhcGhpY3MgU29mdHdhcmUgRW5naW5lZXIKPiBJb1RHIFBs YXRmb3JtIEVuYWJsaW5nICYgRGV2ZWxvcG1lbnQKPiBJbnRlbCBDb3Jwb3JhdGlvbgo+ICg5MTYp IDM1Ni0yNzk1CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=