From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 5/9] drm/i915: Pass primary plane size to .update_primary_plane() Date: Tue, 10 Mar 2015 13:57:09 -0700 Message-ID: <20150310205709.GN27526@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> <20150310175915.GK11371@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 4698F6E74F for ; Tue, 10 Mar 2015 13:57:55 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20150310175915.GK11371@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBNYXIgMTAsIDIwMTUgYXQgMDc6NTk6MTVQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFR1ZSwgTWFyIDEwLCAyMDE1IGF0IDEwOjEwOjQwQU0gLTA3MDAsIE1hdHQg Um9wZXIgd3JvdGU6Cj4gPiBPbiBUdWUsIE1hciAxMCwgMjAxNSBhdCAwMToxNToyNVBNICswMjAw LCB2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbSB3cm90ZToKPiA+ID4gRnJvbTogVmlsbGUg U3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+ID4gCj4gPiA+IElu IHByZXBhcmF0aW9uIHRvIG1vdmFibGUvcmVzaXphYmxlIHByaW1hcnkgcGxhbmVzIHBhc3MgdGhl IGNsaXBwZWQKPiA+ID4gcGxhbmUgc2l6ZSB0byAudXBkYXRlX3ByaW1hcnlfcGxhbmUoKS4KPiA+ IAo+ID4gUGVyc29uYWxseSBJIGZlZWwgbGlrZSBpdCB3b3VsZCBtYWtlIG1vcmUgc2Vuc2UgdG8g anVzdCBjb21wbGV0ZWx5IGtpbGwKPiA+IG9mZiAudXBkYXRlX3ByaW1hcnlfcGxhbmUoKSBub3cg cmF0aGVyIHRoYW4gdHJ5aW5nIHRvIGV2b2x2ZSBpdC4gIFdlCj4gPiBhbHJlYWR5IGhhdmUgYW4g aW50ZWxfcGxhbmUtPnVwZGF0ZV9wbGFuZSgpIGZ1bmN0aW9uIHBvaW50ZXIgd2hpY2ggaXMKPiA+ IG5ldmVyIHNldCBvciBjYWxsZWQgZm9yIG5vbi1zcHJpdGVzIGF0IHRoZSBtb21lbnQuICBXZSBj b3VsZCB1bmlmeSB0aGUKPiA+IGhhbmRsaW5nIG9mIGxvdy1sZXZlbCBwbGFuZSBwcm9ncmFtbWlu ZyBieSBqdXN0IHVzaW5nIHRoYXQgZnVuY3Rpb24KPiA+IHBvaW50ZXIgZm9yIHByaW1hcnkgcGxh bmVzIGFzIHdlbGwuCj4gCj4gSSB3YW50IHRvIGtpbGwgaXQgb2ZmIGFzIHdlbGwsIGJ1dCB0aGF0 IG1lYW5zIGVpdGhlciBraWxsaW5nIG9mZgo+IHNldF9iYXNlX2F0b21pYygpIG9yIG1ha2luZyBp dCB1c2UgdGhlIHBsYW5lIGNvbW1pdCBob29rLiBJIHN1cHBvc2Ugd2UKPiBjb3VsZCBoYW5kIGNy YWZ0IGEgc3VpdGFibGUgcGxhbmUgc3RhdGUgZm9yIGl0IGFuZCBqdXN0IGNvbW1pdCB0aGF0Cj4g d2l0aG91dCBhbnkgY2hlY2tzIG9yIGFueXRoaW5nPwoKSSdtIG5vdCBzdXJlIEkgZm9sbG93IHlv dXIgY29uY2VybiBhYm91dCBzZXRfYmFzZV9hdG9taWMoKS4gIEFmdGVyIHlvdXIKcGF0Y2ggc2Vy aWVzLCBpdCdsbCBiZSBjYWxsaW5nCgogICBkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfcHJpbWFy eV9wbGFuZShjcnRjLCBmYiwgeCwgeSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGludGVsX2NydGMtPmNvbmZpZy0+cGlwZV9zcmNfdywgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRl bF9jcnRjLT5jb25maWctPnBpcGVfc3JjX2gpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCndoaWNoIGJhc2lj YWxseSBkaXJlY3RseSBwcm9ncmFtcyB0aGUgaGFyZHdhcmUgZm9yIHRoZSBwcmltYXJ5IHBsYW5l IGFuZApkb2Vzbid0IGRvIGFueXRoaW5nIHN0YXRlLXJlbGF0ZWQuCgpJdCBzZWVtcyB0byBtZSB0 aGF0IGp1c3QgbWFraW5nIHRoYXQgbG93LWxldmVsIGNhbGwgYmU6CgogICBpbnRlbF9wbGFuZSA9 IHRvX2ludGVsX3BsYW5lKGNydGMtPnByaW1hcnkpOwogICBpbnRlbF9zdGF0ZSA9IHRvX2ludGVs X3BsYW5lX3N0YXRlKGNydGMtPnByaW1hcnktPnN0YXRlKTsKCiAgIGludGVsX3BsYW5lLT51cGRh dGVfcGxhbmUoY3J0Yy0+cHJpbWFyeSwgY3J0YywgZmIsIGludGVsX2ZiX29iaihmYiksCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX3csCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY19oLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHgsIHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJtX3JlY3Rfd2lk dGgoaW50ZWxfc3RhdGUtPnNyYyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJtX3Jl Y3RfaGVpZ2h0KGludGVsX3N0YXRlLT5zcmMpKTsKCnNob3VsZG4ndCBtYWtlIGEgZGlmZmVyZW5j ZTsgdGhlIGltcGxlbWVudGF0aW9uIG9mCmludGVsX3BsYW5lLT51cGRhdGVfcGxhbmUoKSB3b3Vs ZCBzdGlsbCBiZSB0aGUgc2FtZSBsb3ctbGV2ZWwgcmVnaXN0ZXIKcHJvZ3JhbW1pbmcgd2l0aG91 dCBhbnkgc3RhdGUgbWFuaXB1bGF0aW9uLCB0aGUgb25seSBkaWZmZXJlbmNlIGJlaW5nCnRoYXQg d2UgZ2V0IGFuIGV4dHJhIHBhaXIgb2YgcGFyYW1ldGVycyBjb250YWluaW5nIHNvdXJjZSByZWN0 CndpZHRoL2hlaWdodC4KClRoaXMgd291bGQgYWxzbyBhbGxvdyB1cyB0byBwb2ludCBib3RoIHBy aW1hcnkgYW5kIHNwcml0ZSBwbGFuZXMgYXQgdGhlCnNhbWUgZnVuY3Rpb24gb24gU0tMLCB3aGlj aCBoYXMgdHdvIG5lYXJseS1pZGVudGljYWwgZnVuY3Rpb25zIGF0IHRoZQptb21lbnQgZm9yIHRo ZSBsb3dlc3QtbGV2ZWwgcGxhbmUgaGFyZHdhcmUgcHJvZ3JhbW1pbmcuCgoKTWF0dAoKPiAKPiA+ IAo+ID4gSSB3b3VsZG4ndCBtaW5kIGFsc28gc2VlaW5nIHRoZSBuYW1lIG9mIHRoYXQgbG93LWxl dmVsIGVudHJ5cG9pbnQKPiA+IHJlbmFtZWQgdG8gc29tZXRoaW5nIGxpa2UgJ3VwZGF0ZV9od19w bGFuZScgdG8gYXZvaWQgY29uZnVzaW9uIHdpdGggdGhlCj4gPiBkcm1fcGxhbmUgZW50cnlwb2lu dC4uLgo+ID4gCj4gPiAKPiA+IE1hdHQKPiA+IAo+ID4gPiAKPiA+ID4gQ2M6IFNvbmlrYSBKaW5k YWwgPHNvbmlrYS5qaW5kYWxAaW50ZWwuY29tPgo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBT eXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gPiAtLS0KPiA+ID4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICAzICstCj4gPiA+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA2MyArKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygr KSwgMjggZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ ID4gaW5kZXggYjE2YzBhNy4uZTk5ZWVmMCAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCj4gPiA+IEBAIC01NzgsNyArNTc4LDggQEAgc3RydWN0IGRybV9pOTE1X2Rpc3BsYXlf ZnVuY3Mgewo+ID4gPiAgCQkJICB1aW50MzJfdCBmbGFncyk7Cj4gPiA+ICAJdm9pZCAoKnVwZGF0 ZV9wcmltYXJ5X3BsYW5lKShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiA+ICAJCQkJICAgICBz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKPiA+ID4gLQkJCQkgICAgIGludCB4LCBpbnQgeSk7 Cj4gPiA+ICsJCQkJICAgICBpbnQgeCwgaW50IHksCj4gPiA+ICsJCQkJICAgICBpbnQgY3J0Y193 LCBpbnQgY3J0Y19oKTsKPiA+ID4gIAl2b2lkICgqaHBkX2lycV9zZXR1cCkoc3RydWN0IGRybV9k ZXZpY2UgKmRldik7Cj4gPiA+ICAJLyogY2xvY2sgdXBkYXRlcyBmb3IgbW9kZSBzZXQgKi8KPiA+ ID4gIAkvKiBjdXJzb3IgdXBkYXRlcyAqLwo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4gPiA+IGluZGV4IGZkYzgzZjEuLjFhNzg5ZjAgMTAwNjQ0Cj4gPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gQEAgLTI0ODIsNyArMjQ4Miw4IEBAIGlu dGVsX2ZpbmRfcGxhbmVfb2JqKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ID4gPiAg Cj4gPiA+ICBzdGF0aWMgdm9pZCBpOXh4X3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKPiA+ID4gIAkJCQkgICAgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwK PiA+ID4gLQkJCQkgICAgICBpbnQgeCwgaW50IHkpCj4gPiA+ICsJCQkJICAgICAgaW50IHgsIGlu dCB5LAo+ID4gPiArCQkJCSAgICAgIGludCBjcnRjX3csIGludCBjcnRjX2gpCj4gPiA+ICB7Cj4g PiA+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiA+ID4gIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ID4gPiBAQCAt MjUxNywyMCArMjUxOCwxNiBAQCBzdGF0aWMgdm9pZCBpOXh4X3VwZGF0ZV9wcmltYXJ5X3BsYW5l KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gIAlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4g PCA0KSB7Cj4gPiA+ICAJCWlmIChpbnRlbF9jcnRjLT5waXBlID09IFBJUEVfQikKPiA+ID4gIAkJ CWRzcGNudHIgfD0gRElTUFBMQU5FX1NFTF9QSVBFX0I7Cj4gPiA+IC0KPiA+ID4gLQkJLyogcGlw ZXNyYyBhbmQgZHNwc2l6ZSBjb250cm9sIHRoZSBzaXplIHRoYXQgaXMgc2NhbGVkIGZyb20sCj4g PiA+IC0JCSAqIHdoaWNoIHNob3VsZCBhbHdheXMgYmUgdGhlIHVzZXIncyByZXF1ZXN0ZWQgc2l6 ZS4KPiA+ID4gLQkJICovCj4gPiA+IC0JCUk5MTVfV1JJVEUoRFNQU0laRShwbGFuZSksCj4gPiA+ IC0JCQkgICAoKGludGVsX2NydGMtPmNvbmZpZy0+cGlwZV9zcmNfaCAtIDEpIDw8IDE2KSB8Cj4g PiA+IC0JCQkgICAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY193IC0gMSkpOwo+ID4gPiAr CQlJOTE1X1dSSVRFKERTUFNJWkUocGxhbmUpLCAoKGNydGNfaCAtIDEpIDw8IDE2KSB8IChjcnRj X3cgLSAxKSk7Cj4gPiA+ICAJCUk5MTVfV1JJVEUoRFNQUE9TKHBsYW5lKSwgMCk7Cj4gPiA+ICAJ fSBlbHNlIGlmIChJU19DSEVSUllWSUVXKGRldikgJiYgcGxhbmUgPT0gUExBTkVfQikgewo+ID4g PiAtCQlJOTE1X1dSSVRFKFBSSU1TSVpFKHBsYW5lKSwKPiA+ID4gLQkJCSAgICgoaW50ZWxfY3J0 Yy0+Y29uZmlnLT5waXBlX3NyY19oIC0gMSkgPDwgMTYpIHwKPiA+ID4gLQkJCSAgIChpbnRlbF9j cnRjLT5jb25maWctPnBpcGVfc3JjX3cgLSAxKSk7Cj4gPiA+ICsJCUk5MTVfV1JJVEUoUFJJTVNJ WkUocGxhbmUpLCAoKGNydGNfaCAtIDEpIDw8IDE2KSB8IChjcnRjX3cgLSAxKSk7Cj4gPiA+ICAJ CUk5MTVfV1JJVEUoUFJJTVBPUyhwbGFuZSksIDApOwo+ID4gPiAgCQlJOTE1X1dSSVRFKFBSSU1D TlNUQUxQSEEocGxhbmUpLCAwKTsKPiA+ID4gKwl9IGVsc2Ugewo+ID4gPiArCQlXQVJOX09OQ0Uo Y3J0Y193ICE9IGludGVsX2NydGMtPmNvbmZpZy0+cGlwZV9zcmNfdyB8fAo+ID4gPiArCQkJICBj cnRjX2ggIT0gaW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY19oLAo+ID4gPiArCQkJICAicHJp bWFyeSBwbGFuZSBzaXplIGRvZXNuJ3QgbWF0Y2ggcGlwZSBzaXplXG4iKTsKPiA+ID4gIAl9Cj4g PiA+ICAKPiA+ID4gIAlzd2l0Y2ggKGZiLT5waXhlbF9mb3JtYXQpIHsKPiA+ID4gQEAgLTI1ODYs MTQgKzI1ODMsMTQgQEAgc3RhdGljIHZvaWQgaTl4eF91cGRhdGVfcHJpbWFyeV9wbGFuZShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCj4gPiA+ICAJaWYgKGNydGMtPnByaW1hcnktPnN0YXRlLT5yb3Rh dGlvbiA9PSBCSVQoRFJNX1JPVEFURV8xODApKSB7Cj4gPiA+ICAJCWRzcGNudHIgfD0gRElTUFBM QU5FX1JPVEFURV8xODA7Cj4gPiA+ICAKPiA+ID4gLQkJeCArPSAoaW50ZWxfY3J0Yy0+Y29uZmln LT5waXBlX3NyY193IC0gMSk7Cj4gPiA+IC0JCXkgKz0gKGludGVsX2NydGMtPmNvbmZpZy0+cGlw ZV9zcmNfaCAtIDEpOwo+ID4gPiArCQl4ICs9IChjcnRjX3cgLSAxKTsKPiA+ID4gKwkJeSArPSAo Y3J0Y19oIC0gMSk7Cj4gPiA+ICAKPiA+ID4gIAkJLyogRmluZGluZyB0aGUgbGFzdCBwaXhlbCBv ZiB0aGUgbGFzdCBsaW5lIG9mIHRoZSBkaXNwbGF5Cj4gPiA+ICAJCWRhdGEgYW5kIGFkZGluZyB0 byBsaW5lYXJfb2Zmc2V0Ki8KPiA+ID4gIAkJbGluZWFyX29mZnNldCArPQo+ID4gPiAtCQkJKGlu dGVsX2NydGMtPmNvbmZpZy0+cGlwZV9zcmNfaCAtIDEpICogZmItPnBpdGNoZXNbMF0gKwo+ID4g PiAtCQkJKGludGVsX2NydGMtPmNvbmZpZy0+cGlwZV9zcmNfdyAtIDEpICogcGl4ZWxfc2l6ZTsK PiA+ID4gKwkJCShjcnRjX2ggLSAxKSAqIGZiLT5waXRjaGVzWzBdICsKPiA+ID4gKwkJCShjcnRj X3cgLSAxKSAqIHBpeGVsX3NpemU7Cj4gPiA+ICAJfQo+ID4gPiAgCj4gPiA+ICAJSTkxNV9XUklU RShyZWcsIGRzcGNudHIpOwo+ID4gPiBAQCAtMjYxMSw3ICsyNjA4LDggQEAgc3RhdGljIHZvaWQg aTl4eF91cGRhdGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiA+ICAK PiA+ID4gIHN0YXRpYyB2b2lkIGlyb25sYWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKPiA+ID4gIAkJCQkJICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwK PiA+ID4gLQkJCQkJICBpbnQgeCwgaW50IHkpCj4gPiA+ICsJCQkJCSAgaW50IHgsIGludCB5LAo+ ID4gPiArCQkJCQkgIGludCBjcnRjX3csIGludCBjcnRjX2gpCj4gPiA+ICB7Cj4gPiA+ICAJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiA+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ID4gPiBAQCAtMjY0Myw2ICsy NjQxLDEwIEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gIAlpZiAoSVNfSEFTV0VMTChkZXYpIHx8IElTX0JST0FE V0VMTChkZXYpKQo+ID4gPiAgCQlkc3BjbnRyIHw9IERJU1BQTEFORV9QSVBFX0NTQ19FTkFCTEU7 Cj4gPiA+ICAKPiA+ID4gKwlXQVJOX09OQ0UoY3J0Y193ICE9IGludGVsX2NydGMtPmNvbmZpZy0+ cGlwZV9zcmNfdyB8fAo+ID4gPiArCQkgIGNydGNfaCAhPSBpbnRlbF9jcnRjLT5jb25maWctPnBp cGVfc3JjX2gsCj4gPiA+ICsJCSAgInByaW1hcnkgcGxhbmUgc2l6ZSBkb2Vzbid0IG1hdGNoIHBp cGUgc2l6ZVxuIik7Cj4gPiA+ICsKPiA+ID4gIAlzd2l0Y2ggKGZiLT5waXhlbF9mb3JtYXQpIHsK PiA+ID4gIAljYXNlIERSTV9GT1JNQVRfQzg6Cj4gPiA+ICAJCWRzcGNudHIgfD0gRElTUFBMQU5F XzhCUFA7Cj4gPiA+IEBAIC0yNjg2LDE0ICsyNjg4LDE0IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtl X3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gIAkJZHNw Y250ciB8PSBESVNQUExBTkVfUk9UQVRFXzE4MDsKPiA+ID4gIAo+ID4gPiAgCQlpZiAoIUlTX0hB U1dFTEwoZGV2KSAmJiAhSVNfQlJPQURXRUxMKGRldikpIHsKPiA+ID4gLQkJCXggKz0gKGludGVs X2NydGMtPmNvbmZpZy0+cGlwZV9zcmNfdyAtIDEpOwo+ID4gPiAtCQkJeSArPSAoaW50ZWxfY3J0 Yy0+Y29uZmlnLT5waXBlX3NyY19oIC0gMSk7Cj4gPiA+ICsJCQl4ICs9IChjcnRjX3cgLSAxKTsK PiA+ID4gKwkJCXkgKz0gKGNydGNfaCAtIDEpOwo+ID4gPiAgCj4gPiA+ICAJCQkvKiBGaW5kaW5n IHRoZSBsYXN0IHBpeGVsIG9mIHRoZSBsYXN0IGxpbmUgb2YgdGhlIGRpc3BsYXkKPiA+ID4gIAkJ CWRhdGEgYW5kIGFkZGluZyB0byBsaW5lYXJfb2Zmc2V0Ki8KPiA+ID4gIAkJCWxpbmVhcl9vZmZz ZXQgKz0KPiA+ID4gLQkJCQkoaW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY19oIC0gMSkgKiBm Yi0+cGl0Y2hlc1swXSArCj4gPiA+IC0JCQkJKGludGVsX2NydGMtPmNvbmZpZy0+cGlwZV9zcmNf dyAtIDEpICogcGl4ZWxfc2l6ZTsKPiA+ID4gKwkJCQkoY3J0Y19oIC0gMSkgKiBmYi0+cGl0Y2hl c1swXSArCj4gPiA+ICsJCQkJKGNydGNfdyAtIDEpICogcGl4ZWxfc2l6ZTsKPiA+ID4gIAkJfQo+ ID4gPiAgCX0KPiA+ID4gIAo+ID4gPiBAQCAtMjc0Nyw3ICsyNzQ5LDggQEAgdTMyIGludGVsX2Zi X3N0cmlkZV9hbGlnbm1lbnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdWludDY0X3QgZmJfbW9k aWZpZXIsCj4gPiA+ICAKPiA+ID4gIHN0YXRpYyB2b2lkIHNreWxha2VfdXBkYXRlX3ByaW1hcnlf cGxhbmUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gPiAgCQkJCQkgc3RydWN0IGRybV9mcmFt ZWJ1ZmZlciAqZmIsCj4gPiA+IC0JCQkJCSBpbnQgeCwgaW50IHkpCj4gPiA+ICsJCQkJCSBpbnQg eCwgaW50IHksCj4gPiA+ICsJCQkJCSBpbnQgY3J0Y193LCBpbnQgY3J0Y19oKQo+ID4gPiAgewo+ ID4gPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gPiA+ICAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiA+ID4gQEAg LTI4MjYsOSArMjgyOSw3IEBAIHN0YXRpYyB2b2lkIHNreWxha2VfdXBkYXRlX3ByaW1hcnlfcGxh bmUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gPiAgCj4gPiA+ICAJSTkxNV9XUklURShQTEFO RV9QT1MocGlwZSwgMCksIDApOwo+ID4gPiAgCUk5MTVfV1JJVEUoUExBTkVfT0ZGU0VUKHBpcGUs IDApLCAoeSA8PCAxNikgfCB4KTsKPiA+ID4gLQlJOTE1X1dSSVRFKFBMQU5FX1NJWkUocGlwZSwg MCksCj4gPiA+IC0JCSAgIChpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX2ggLSAxKSA8PCAx NiB8Cj4gPiA+IC0JCSAgIChpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX3cgLSAxKSk7Cj4g PiA+ICsJSTkxNV9XUklURShQTEFORV9TSVpFKHBpcGUsIDApLCAoKGNydGNfaCAtIDEpIDw8IDE2 KSB8IChjcnRjX3cgLSAxKSk7Cj4gPiA+ICAJSTkxNV9XUklURShQTEFORV9TVFJJREUocGlwZSwg MCksIGZiLT5waXRjaGVzWzBdIC8gc3RyaWRlX2Rpdik7Cj4gPiA+ICAJSTkxNV9XUklURShQTEFO RV9TVVJGKHBpcGUsIDApLCBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQob2JqKSk7Cj4gPiA+ICAK PiA+ID4gQEAgLTI4NDUsMTIgKzI4NDYsMTYgQEAgaW50ZWxfcGlwZV9zZXRfYmFzZV9hdG9taWMo c3RydWN0IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKPiA+ID4g IHsKPiA+ID4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+ID4gPiAgCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gPiA+ ICsJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+ ID4gPiAgCj4gPiA+ICAJaWYgKGRldl9wcml2LT5kaXNwbGF5LmRpc2FibGVfZmJjKQo+ID4gPiAg CQlkZXZfcHJpdi0+ZGlzcGxheS5kaXNhYmxlX2ZiYyhkZXYpOwo+ID4gPiAgCj4gPiA+ICsJLyog RklYTUU6IHRoaXMgd2lsbCBnbyBiYWRseSBpZiB0aGUgZmIgaXNuJ3QgYmlnIGVub3VnaCAqLwo+ ID4gPiAgCXRvX2ludGVsX2NydGMoY3J0YyktPnByaW1hcnlfZW5hYmxlZCA9IHRydWU7Cj4gPiA+ IC0JZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX3ByaW1hcnlfcGxhbmUoY3J0YywgZmIsIHgsIHkp Owo+ID4gPiArCWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV9wcmltYXJ5X3BsYW5lKGNydGMsIGZi LCB4LCB5LAo+ID4gPiArCQkJCQkgICAgICAgaW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY193 LAo+ID4gPiArCQkJCQkgICAgICAgaW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY19oKTsKPiA+ ID4gIAo+ID4gPiAgCXJldHVybiAwOwo+ID4gPiAgfQo+ID4gPiBAQCAtMjg4NSw3ICsyODkwLDkg QEAgc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX3ByaW1hcnlfcGxhbmVzKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCj4gPiA+ICAJCQlkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfcHJpbWFyeV9wbGFu ZShjcnRjLAo+ID4gPiAgCQkJCQkJCSAgICAgICBzdGF0ZS0+YmFzZS5mYiwKPiA+ID4gIAkJCQkJ CQkgICAgICAgc3RhdGUtPnNyYy54MSA+PiAxNiwKPiA+ID4gLQkJCQkJCQkgICAgICAgc3RhdGUt PnNyYy55MSA+PiAxNik7Cj4gPiA+ICsJCQkJCQkJICAgICAgIHN0YXRlLT5zcmMueTEgPj4gMTYs Cj4gPiA+ICsJCQkJCQkJICAgICAgIGRybV9yZWN0X3dpZHRoKCZzdGF0ZS0+ZHN0KSwKPiA+ID4g KwkJCQkJCQkgICAgICAgZHJtX3JlY3RfaGVpZ2h0KCZzdGF0ZS0+ZHN0KSk7Cj4gPiA+ICAJCX0K PiA+ID4gIAo+ID4gPiAgCQlkcm1fbW9kZXNldF91bmxvY2soJmNydGMtPm11dGV4KTsKPiA+ID4g QEAgLTEyMDE5LDcgKzEyMDI2LDkgQEAgaW50ZWxfY29tbWl0X3ByaW1hcnlfcGxhbmUoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCj4gPiA+ICAJCWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV9wcmlt YXJ5X3BsYW5lKGNydGMsCj4gPiA+ICAJCQkJCQkgICAgICAgc3RhdGUtPmJhc2UuZmIsCj4gPiA+ ICAJCQkJCQkgICAgICAgc3RhdGUtPnNyYy54MSA+PiAxNiwKPiA+ID4gLQkJCQkJCSAgICAgICBz dGF0ZS0+c3JjLnkxID4+IDE2KTsKPiA+ID4gKwkJCQkJCSAgICAgICBzdGF0ZS0+c3JjLnkxID4+ IDE2LAo+ID4gPiArCQkJCQkJICAgICAgIGRybV9yZWN0X3dpZHRoKCZzdGF0ZS0+ZHN0KSwKPiA+ ID4gKwkJCQkJCSAgICAgICBkcm1fcmVjdF9oZWlnaHQoJnN0YXRlLT5kc3QpKTsKPiA+ID4gIAl9 Cj4gPiA+ICB9Cj4gPiA+ICAKPiA+ID4gLS0gCj4gPiA+IDIuMC41Cj4gPiA+IAo+ID4gPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gPiBJbnRlbC1n ZnggbWFpbGluZyBsaXN0Cj4gPiA+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+ ID4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo+ID4gCj4gPiAtLSAKPiA+IE1hdHQgUm9wZXIKPiA+IEdyYXBoaWNzIFNvZnR3YXJlIEVuZ2lu ZWVyCj4gPiBJb1RHIFBsYXRmb3JtIEVuYWJsaW5nICYgRGV2ZWxvcG1lbnQKPiA+IEludGVsIENv cnBvcmF0aW9uCj4gPiAoOTE2KSAzNTYtMjc5NQo+IAo+IC0tIAo+IFZpbGxlIFN5cmrDpGzDpAo+ IEludGVsIE9UQwoKLS0gCk1hdHQgUm9wZXIKR3JhcGhpY3MgU29mdHdhcmUgRW5naW5lZXIKSW9U RyBQbGF0Zm9ybSBFbmFibGluZyAmIERldmVsb3BtZW50CkludGVsIENvcnBvcmF0aW9uCig5MTYp IDM1Ni0yNzk1Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==