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: Wed, 11 Mar 2015 11:27:52 +0200 Message-ID: <20150311092752.GM11371@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> <54FFCE0B.3050209@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 6808A6E7E2 for ; Wed, 11 Mar 2015 02:27:56 -0700 (PDT) Content-Disposition: inline In-Reply-To: <54FFCE0B.3050209@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: sonika Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBNYXIgMTEsIDIwMTUgYXQgMTA6Mzk6MzFBTSArMDUzMCwgc29uaWthIHdyb3RlOgo+ IAo+IE9uIFR1ZXNkYXkgMTAgTWFyY2ggMjAxNSAwNDo0NSBQTSwgdmlsbGUuc3lyamFsYUBsaW51 eC5pbnRlbC5jb20gd3JvdGU6Cj4gPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tPgo+ID4KPiA+IEluIHByZXBhcmF0aW9uIHRvIG1vdmFibGUvcmVz aXphYmxlIHByaW1hcnkgcGxhbmVzIHBhc3MgdGhlIGNsaXBwZWQKPiA+IHBsYW5lIHNpemUgdG8g LnVwZGF0ZV9wcmltYXJ5X3BsYW5lKCkuCj4gPgo+ID4gQ2M6IFNvbmlrYSBKaW5kYWwgPHNvbmlr YS5qaW5kYWxAaW50ZWwuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+IC0tLQo+ID4gICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgMyArLQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgfCA2MyArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0KPiA+ICAgMiBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMo LSkKPiA+Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+IGluZGV4IGIxNmMwYTcuLmU5OWVl ZjAgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiBAQCAtNTc4LDcgKzU3OCw4 IEBAIHN0cnVjdCBkcm1faTkxNV9kaXNwbGF5X2Z1bmNzIHsKPiA+ICAgCQkJICB1aW50MzJfdCBm bGFncyk7Cj4gPiAgIAl2b2lkICgqdXBkYXRlX3ByaW1hcnlfcGxhbmUpKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YywKPiA+ICAgCQkJCSAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCj4gPiAt CQkJCSAgICAgaW50IHgsIGludCB5KTsKPiA+ICsJCQkJICAgICBpbnQgeCwgaW50IHksCj4gPiAr CQkJCSAgICAgaW50IGNydGNfdywgaW50IGNydGNfaCk7Cj4gPiAgIAl2b2lkICgqaHBkX2lycV9z ZXR1cCkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPiAgIAkvKiBjbG9jayB1cGRhdGVzIGZv ciBtb2RlIHNldCAqLwo+ID4gICAJLyogY3Vyc29yIHVwZGF0ZXMgKi8KPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+IGluZGV4IGZkYzgzZjEuLjFhNzg5ZjAgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gQEAgLTI0ODIsNyArMjQ4Miw4 IEBAIGludGVsX2ZpbmRfcGxhbmVfb2JqKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ ID4gICAKPiA+ICAgc3RhdGljIHZvaWQgaTl4eF91cGRhdGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCj4gPiAgIAkJCQkgICAgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpm YiwKPiA+IC0JCQkJICAgICAgaW50IHgsIGludCB5KQo+ID4gKwkJCQkgICAgICBpbnQgeCwgaW50 IHksCj4gPiArCQkJCSAgICAgIGludCBjcnRjX3csIGludCBjcnRjX2gpCj4gPiAgIHsKPiA+ICAg CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gPiAgIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ID4gQEAgLTI1MTcsMjAg KzI1MTgsMTYgQEAgc3RhdGljIHZvaWQgaTl4eF91cGRhdGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCj4gPiAgIAlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPCA0KSB7Cj4g PiAgIAkJaWYgKGludGVsX2NydGMtPnBpcGUgPT0gUElQRV9CKQo+ID4gICAJCQlkc3BjbnRyIHw9 IERJU1BQTEFORV9TRUxfUElQRV9COwo+ID4gLQo+ID4gLQkJLyogcGlwZXNyYyBhbmQgZHNwc2l6 ZSBjb250cm9sIHRoZSBzaXplIHRoYXQgaXMgc2NhbGVkIGZyb20sCj4gPiAtCQkgKiB3aGljaCBz aG91bGQgYWx3YXlzIGJlIHRoZSB1c2VyJ3MgcmVxdWVzdGVkIHNpemUuCj4gPiAtCQkgKi8KPiA+ IC0JCUk5MTVfV1JJVEUoRFNQU0laRShwbGFuZSksCj4gPiAtCQkJICAgKChpbnRlbF9jcnRjLT5j b25maWctPnBpcGVfc3JjX2ggLSAxKSA8PCAxNikgfAo+ID4gLQkJCSAgIChpbnRlbF9jcnRjLT5j b25maWctPnBpcGVfc3JjX3cgLSAxKSk7Cj4gPiArCQlJOTE1X1dSSVRFKERTUFNJWkUocGxhbmUp LCAoKGNydGNfaCAtIDEpIDw8IDE2KSB8IChjcnRjX3cgLSAxKSk7Cj4gPiAgIAkJSTkxNV9XUklU RShEU1BQT1MocGxhbmUpLCAwKTsKPiA+ICAgCX0gZWxzZSBpZiAoSVNfQ0hFUlJZVklFVyhkZXYp ICYmIHBsYW5lID09IFBMQU5FX0IpIHsKPiA+IC0JCUk5MTVfV1JJVEUoUFJJTVNJWkUocGxhbmUp LAo+ID4gLQkJCSAgICgoaW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY19oIC0gMSkgPDwgMTYp IHwKPiA+IC0JCQkgICAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY193IC0gMSkpOwo+ID4g KwkJSTkxNV9XUklURShQUklNU0laRShwbGFuZSksICgoY3J0Y19oIC0gMSkgPDwgMTYpIHwgKGNy dGNfdyAtIDEpKTsKPiA+ICAgCQlJOTE1X1dSSVRFKFBSSU1QT1MocGxhbmUpLCAwKTsKPiA+ICAg CQlJOTE1X1dSSVRFKFBSSU1DTlNUQUxQSEEocGxhbmUpLCAwKTsKPiA+ICsJfSBlbHNlIHsKPiA+ ICsJCVdBUk5fT05DRShjcnRjX3cgIT0gaW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY193IHx8 Cj4gPiArCQkJICBjcnRjX2ggIT0gaW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY19oLAo+ID4g KwkJCSAgInByaW1hcnkgcGxhbmUgc2l6ZSBkb2Vzbid0IG1hdGNoIHBpcGUgc2l6ZVxuIik7Cj4g PiAgIAl9Cj4gPiAgIAo+ID4gICAJc3dpdGNoIChmYi0+cGl4ZWxfZm9ybWF0KSB7Cj4gPiBAQCAt MjU4NiwxNCArMjU4MywxNCBAQCBzdGF0aWMgdm9pZCBpOXh4X3VwZGF0ZV9wcmltYXJ5X3BsYW5l KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ICAgCWlmIChjcnRjLT5wcmltYXJ5LT5zdGF0ZS0+ cm90YXRpb24gPT0gQklUKERSTV9ST1RBVEVfMTgwKSkgewo+ID4gICAJCWRzcGNudHIgfD0gRElT UFBMQU5FX1JPVEFURV8xODA7Cj4gPiAgIAo+ID4gLQkJeCArPSAoaW50ZWxfY3J0Yy0+Y29uZmln LT5waXBlX3NyY193IC0gMSk7Cj4gPiAtCQl5ICs9IChpbnRlbF9jcnRjLT5jb25maWctPnBpcGVf c3JjX2ggLSAxKTsKPiA+ICsJCXggKz0gKGNydGNfdyAtIDEpOwo+ID4gKwkJeSArPSAoY3J0Y19o IC0gMSk7Cj4gPiAgIAo+ID4gICAJCS8qIEZpbmRpbmcgdGhlIGxhc3QgcGl4ZWwgb2YgdGhlIGxh c3QgbGluZSBvZiB0aGUgZGlzcGxheQo+ID4gICAJCWRhdGEgYW5kIGFkZGluZyB0byBsaW5lYXJf b2Zmc2V0Ki8KPiA+ICAgCQlsaW5lYXJfb2Zmc2V0ICs9Cj4gPiAtCQkJKGludGVsX2NydGMtPmNv bmZpZy0+cGlwZV9zcmNfaCAtIDEpICogZmItPnBpdGNoZXNbMF0gKwo+ID4gLQkJCShpbnRlbF9j cnRjLT5jb25maWctPnBpcGVfc3JjX3cgLSAxKSAqIHBpeGVsX3NpemU7Cj4gPiArCQkJKGNydGNf aCAtIDEpICogZmItPnBpdGNoZXNbMF0gKwo+ID4gKwkJCShjcnRjX3cgLSAxKSAqIHBpeGVsX3Np emU7Cj4gPiAgIAl9Cj4gPiAgIAo+ID4gICAJSTkxNV9XUklURShyZWcsIGRzcGNudHIpOwo+ID4g QEAgLTI2MTEsNyArMjYwOCw4IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX3ByaW1hcnlfcGxh bmUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gICAKPiA+ICAgc3RhdGljIHZvaWQgaXJvbmxh a2VfdXBkYXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gICAJCQkJ CSAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCj4gPiAtCQkJCQkgIGludCB4LCBpbnQgeSkK PiA+ICsJCQkJCSAgaW50IHgsIGludCB5LAo+ID4gKwkJCQkJICBpbnQgY3J0Y193LCBpbnQgY3J0 Y19oKQo+ID4gICB7Cj4gPiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+ ID4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKPiA+IEBAIC0yNjQzLDYgKzI2NDEsMTAgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfdXBkYXRl X3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gICAJaWYgKElTX0hBU1dF TEwoZGV2KSB8fCBJU19CUk9BRFdFTEwoZGV2KSkKPiA+ICAgCQlkc3BjbnRyIHw9IERJU1BQTEFO RV9QSVBFX0NTQ19FTkFCTEU7Cj4gPiAgIAo+ID4gKwlXQVJOX09OQ0UoY3J0Y193ICE9IGludGVs X2NydGMtPmNvbmZpZy0+cGlwZV9zcmNfdyB8fAo+ID4gKwkJICBjcnRjX2ggIT0gaW50ZWxfY3J0 Yy0+Y29uZmlnLT5waXBlX3NyY19oLAo+ID4gKwkJICAicHJpbWFyeSBwbGFuZSBzaXplIGRvZXNu J3QgbWF0Y2ggcGlwZSBzaXplXG4iKTsKPiA+ICsKPiA+ICAgCXN3aXRjaCAoZmItPnBpeGVsX2Zv cm1hdCkgewo+ID4gICAJY2FzZSBEUk1fRk9STUFUX0M4Ogo+ID4gICAJCWRzcGNudHIgfD0gRElT UFBMQU5FXzhCUFA7Cj4gPiBAQCAtMjY4NiwxNCArMjY4OCwxNCBAQCBzdGF0aWMgdm9pZCBpcm9u bGFrZV91cGRhdGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiAgIAkJ ZHNwY250ciB8PSBESVNQUExBTkVfUk9UQVRFXzE4MDsKPiA+ICAgCj4gPiAgIAkJaWYgKCFJU19I QVNXRUxMKGRldikgJiYgIUlTX0JST0FEV0VMTChkZXYpKSB7Cj4gPiAtCQkJeCArPSAoaW50ZWxf Y3J0Yy0+Y29uZmlnLT5waXBlX3NyY193IC0gMSk7Cj4gPiAtCQkJeSArPSAoaW50ZWxfY3J0Yy0+ Y29uZmlnLT5waXBlX3NyY19oIC0gMSk7Cj4gPiArCQkJeCArPSAoY3J0Y193IC0gMSk7Cj4gPiAr CQkJeSArPSAoY3J0Y19oIC0gMSk7Cj4gPiAgIAo+ID4gICAJCQkvKiBGaW5kaW5nIHRoZSBsYXN0 IHBpeGVsIG9mIHRoZSBsYXN0IGxpbmUgb2YgdGhlIGRpc3BsYXkKPiA+ICAgCQkJZGF0YSBhbmQg YWRkaW5nIHRvIGxpbmVhcl9vZmZzZXQqLwo+ID4gICAJCQlsaW5lYXJfb2Zmc2V0ICs9Cj4gPiAt CQkJCShpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX2ggLSAxKSAqIGZiLT5waXRjaGVzWzBd ICsKPiA+IC0JCQkJKGludGVsX2NydGMtPmNvbmZpZy0+cGlwZV9zcmNfdyAtIDEpICogcGl4ZWxf c2l6ZTsKPiA+ICsJCQkJKGNydGNfaCAtIDEpICogZmItPnBpdGNoZXNbMF0gKwo+ID4gKwkJCQko Y3J0Y193IC0gMSkgKiBwaXhlbF9zaXplOwo+ID4gICAJCX0KPiA+ICAgCX0KPiA+ICAgCj4gPiBA QCAtMjc0Nyw3ICsyNzQ5LDggQEAgdTMyIGludGVsX2ZiX3N0cmlkZV9hbGlnbm1lbnQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdWludDY0X3QgZmJfbW9kaWZpZXIsCj4gPiAgIAo+ID4gICBzdGF0 aWMgdm9pZCBza3lsYWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKPiA+ICAgCQkJCQkgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCj4gPiAtCQkJCQkgaW50 IHgsIGludCB5KQo+ID4gKwkJCQkJIGludCB4LCBpbnQgeSwKPiA+ICsJCQkJCSBpbnQgY3J0Y193 LCBpbnQgY3J0Y19oKQo+ID4gICB7Cj4gPiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0 Yy0+ZGV2Owo+ID4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKPiA+IEBAIC0yODI2LDkgKzI4MjksNyBAQCBzdGF0aWMgdm9pZCBza3lsYWtl X3VwZGF0ZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ICAgCj4gPiAg IAlJOTE1X1dSSVRFKFBMQU5FX1BPUyhwaXBlLCAwKSwgMCk7Cj4gPiAgIAlJOTE1X1dSSVRFKFBM QU5FX09GRlNFVChwaXBlLCAwKSwgKHkgPDwgMTYpIHwgeCk7Cj4gPiAtCUk5MTVfV1JJVEUoUExB TkVfU0laRShwaXBlLCAwKSwKPiA+IC0JCSAgIChpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3Jj X2ggLSAxKSA8PCAxNiB8Cj4gPiAtCQkgICAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY193 IC0gMSkpOwo+IFNob3VsZG4ndCB0aGlzIGJlIHgsIHkgaW5zdGVhZCBvZiBjcnRjX2ggYW5kIGNy dGNfdz8KPiBCZWNhdXNlIGFzIHlvdSBleHBsYWluZWQgZWFybGllciAob24gb25lIG9mIG15IHBh dGNoZXMpIHBsYW5lX3NpemUgCj4gcmVwcmVzZW50cyB0aGUgc2l6ZSBvZiBzY2FubmVkIG91dCBh cmVhIGZyb20gdGhlIGZiLgoKTGV0IG1lIGRpZyB1cCB0aGUgc3BlYyBhZ2Fpbi4uLiBZb3UncmUg cmlnaHQsIFBMQU5FX1NJWkUgaXMgdGhlIGlucHV0CnNpemUuIEJ1dCBpbiB0aGlzIGNhc2UgaXQg ZG9lc24ndCBhY3R1YWxseSBtYXR0ZXIgYXMgdGhlcmUncyBubyBzY2FsaW5nCnNvIGlucHV0IGFu ZCBvdXRwdXQgc2l6ZSBhcmUgdGhlIHNhbWUuCgpCdXQgeWVhaCwgaXQgd291bGQgYmUgbW9yZSBj b3JyZWN0IHRvIHBhc3MgYWxzbyB0aGUgc3JjIHNpemUgaGVyZSBhbmQKdXNlIHRoYXQgd2hlcmUg YXBwcm9wcmlhdGUuIFRoYXQgd2lsbCBtYWtlIHRoZSBwYXJhbWV0ZXIgbGlzdCBsb29rCmFsbW9z dCBsaWtlIHRoZSBzcHJpdGUgLnVwZGF0ZV9wbGFuZSgpIGZ1bmN0aW9uLCB3aGljaCBpcyBhY3R1 YWxseSBhCmdvb2QgdGhpbmcuIFdlIHNob3VsZCB0cnkgdG8gcmVtdm9lIHRoZSBwcmltYXJ5IHBs YW5lIHNwZWNpZmljIGZ1bmN0aW9ucwphbmQganVzdCBoYXZlIG9uZSBwbGFuZSB1cGRhdGUgZnVu Y3Rpb24gZm9yIGVhY2ggcGxhbmUgInZhcmlhbnQiLiBSaWdodApub3cgb24gU0tMIHdlJ3JlIGR1 cGxpY2F0aW5nIGJhc2ljYWxseSB0aGUgc2FtZSBjb2RlIGJldHdlZW4Kc2tsX3VwZGF0ZV9wcmlt YXJ5X3BsYW5lKCkgYW5kIHNrbF91cGRhdGVfcGxhbmUoKS4KCk9uZSBleHRyYSBjb21wbGljYXRp b24gaXMgdGhlIHByaW1hcnlfZW5hYmxlZCBmbGFnLiBUaGF0IG5lZWRzIHRvIGJlCnNvcnRlZCBv dXQgc29tZWhvdyBiZWZvcmUgd2UgY2FuIHVuaWZ5IHRoZSBwcmltYXJ5L3Nwcml0ZSBjb2RlIGlu IHRoaXMKd2F5LgoKSW4gYW55IGNhc2UsIEknbGwgcmVzcGluIHRoaXMgYW5kIHBhc3MgdGhlIHNy YyBzaXplIGluIHRoZXJlIGFzIHdlbGwuCgo+ID4gKwlJOTE1X1dSSVRFKFBMQU5FX1NJWkUocGlw ZSwgMCksICgoY3J0Y19oIC0gMSkgPDwgMTYpIHwgKGNydGNfdyAtIDEpKTsKPiA+ICAgCUk5MTVf V1JJVEUoUExBTkVfU1RSSURFKHBpcGUsIDApLCBmYi0+cGl0Y2hlc1swXSAvIHN0cmlkZV9kaXYp Owo+ID4gICAJSTkxNV9XUklURShQTEFORV9TVVJGKHBpcGUsIDApLCBpOTE1X2dlbV9vYmpfZ2d0 dF9vZmZzZXQob2JqKSk7Cj4gPiAgIAo+ID4gQEAgLTI4NDUsMTIgKzI4NDYsMTYgQEAgaW50ZWxf cGlwZV9zZXRfYmFzZV9hdG9taWMoc3RydWN0IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QgZHJtX2Zy YW1lYnVmZmVyICpmYiwKPiA+ICAgewo+ID4gICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNy dGMtPmRldjsKPiA+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7Cj4gPiArCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjKTsKPiA+ICAgCj4gPiAgIAlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuZGlzYWJs ZV9mYmMpCj4gPiAgIAkJZGV2X3ByaXYtPmRpc3BsYXkuZGlzYWJsZV9mYmMoZGV2KTsKPiA+ICAg Cj4gPiArCS8qIEZJWE1FOiB0aGlzIHdpbGwgZ28gYmFkbHkgaWYgdGhlIGZiIGlzbid0IGJpZyBl bm91Z2ggKi8KPiA+ICAgCXRvX2ludGVsX2NydGMoY3J0YyktPnByaW1hcnlfZW5hYmxlZCA9IHRy dWU7Cj4gPiAtCWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV9wcmltYXJ5X3BsYW5lKGNydGMsIGZi LCB4LCB5KTsKPiA+ICsJZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX3ByaW1hcnlfcGxhbmUoY3J0 YywgZmIsIHgsIHksCj4gPiArCQkJCQkgICAgICAgaW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3Ny Y193LAo+ID4gKwkJCQkJICAgICAgIGludGVsX2NydGMtPmNvbmZpZy0+cGlwZV9zcmNfaCk7Cj4g PiAgIAo+ID4gICAJcmV0dXJuIDA7Cj4gPiAgIH0KPiA+IEBAIC0yODg1LDcgKzI4OTAsOSBAQCBz dGF0aWMgdm9pZCBpbnRlbF91cGRhdGVfcHJpbWFyeV9wbGFuZXMoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKPiA+ICAgCQkJZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX3ByaW1hcnlfcGxhbmUoY3J0 YywKPiA+ICAgCQkJCQkJCSAgICAgICBzdGF0ZS0+YmFzZS5mYiwKPiA+ICAgCQkJCQkJCSAgICAg ICBzdGF0ZS0+c3JjLngxID4+IDE2LAo+ID4gLQkJCQkJCQkgICAgICAgc3RhdGUtPnNyYy55MSA+ PiAxNik7Cj4gPiArCQkJCQkJCSAgICAgICBzdGF0ZS0+c3JjLnkxID4+IDE2LAo+ID4gKwkJCQkJ CQkgICAgICAgZHJtX3JlY3Rfd2lkdGgoJnN0YXRlLT5kc3QpLAo+ID4gKwkJCQkJCQkgICAgICAg ZHJtX3JlY3RfaGVpZ2h0KCZzdGF0ZS0+ZHN0KSk7Cj4gPiAgIAkJfQo+ID4gICAKPiA+ICAgCQlk cm1fbW9kZXNldF91bmxvY2soJmNydGMtPm11dGV4KTsKPiA+IEBAIC0xMjAxOSw3ICsxMjAyNiw5 IEBAIGludGVsX2NvbW1pdF9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ ID4gICAJCWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV9wcmltYXJ5X3BsYW5lKGNydGMsCj4gPiAg IAkJCQkJCSAgICAgICBzdGF0ZS0+YmFzZS5mYiwKPiA+ICAgCQkJCQkJICAgICAgIHN0YXRlLT5z cmMueDEgPj4gMTYsCj4gPiAtCQkJCQkJICAgICAgIHN0YXRlLT5zcmMueTEgPj4gMTYpOwo+ID4g KwkJCQkJCSAgICAgICBzdGF0ZS0+c3JjLnkxID4+IDE2LAo+ID4gKwkJCQkJCSAgICAgICBkcm1f cmVjdF93aWR0aCgmc3RhdGUtPmRzdCksCj4gPiArCQkJCQkJICAgICAgIGRybV9yZWN0X2hlaWdo dCgmc3RhdGUtPmRzdCkpOwo+ID4gICAJfQo+ID4gICB9Cj4gPiAgIAoKLS0gClZpbGxlIFN5cmrD pGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK