From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH 08/18] drm/i915: s/int plane/int color_plane/ Date: Wed, 22 Aug 2018 18:14:18 -0700 Message-ID: <20180823011418.GS2340@intel.com> References: <20180719182214.4323-1-ville.syrjala@linux.intel.com> <20180719182214.4323-9-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 344746E0C7 for ; Thu, 23 Aug 2018 01:14:20 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180719182214.4323-9-ville.syrjala@linux.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 Syrjala Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKdWwgMTksIDIwMTggYXQgMDk6MjI6MDRQTSArMDMwMCwgVmlsbGUgU3lyamFsYSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IFRvIHJlZHVjZSB0aGUgY29uZnVzaW9uIGJldHdlZW4gYSBkcm0gcGxhbmUgYW5k IHRoZSBwbGFuZXMgb2YKPiBmcmFtZWJ1ZmZlcnMgbGV0J3MgZGVzaWdpbmF0ZSB0aGUgbGF0dGVy IGFzICJjb2xvciBwbGFuZSIuCgoKd2hhdCBhYm91dCBmYl9wbGFuZSBpbnN0ZWFkIG9mIGNvbG9y PwoKCj4gCj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jIHwgMTA2ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAgMiArLQo+ICAyIGZpbGVzIGNoYW5nZWQs IDU2IGluc2VydGlvbnMoKyksIDUyIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKPiBpbmRleCBlNmNiODIzOGYyNTcuLmJjMmE3MTIzMTFiYSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTkxNiwxMCArMTkxNiwxMCBA QCBzdGF0aWMgdW5zaWduZWQgaW50IGludGVsX3RpbGVfc2l6ZShjb25zdCBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIH0KPiAgCj4gIHN0YXRpYyB1bnNpZ25lZCBpbnQKPiAt aW50ZWxfdGlsZV93aWR0aF9ieXRlcyhjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwg aW50IHBsYW5lKQo+ICtpbnRlbF90aWxlX3dpZHRoX2J5dGVzKGNvbnN0IHN0cnVjdCBkcm1fZnJh bWVidWZmZXIgKmZiLCBpbnQgY29sb3JfcGxhbmUpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZmItPmRldik7Cj4gLQl1bnNpZ25lZCBpbnQgY3Bw ID0gZmItPmZvcm1hdC0+Y3BwW3BsYW5lXTsKPiArCXVuc2lnbmVkIGludCBjcHAgPSBmYi0+Zm9y bWF0LT5jcHBbY29sb3JfcGxhbmVdOwo+ICAKPiAgCXN3aXRjaCAoZmItPm1vZGlmaWVyKSB7Cj4g IAljYXNlIERSTV9GT1JNQVRfTU9EX0xJTkVBUjoKPiBAQCAtMTkzMCw3ICsxOTMwLDcgQEAgaW50 ZWxfdGlsZV93aWR0aF9ieXRlcyhjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwgaW50 IHBsYW5lKQo+ICAJCWVsc2UKPiAgCQkJcmV0dXJuIDUxMjsKPiAgCWNhc2UgSTkxNV9GT1JNQVRf TU9EX1lfVElMRURfQ0NTOgo+IC0JCWlmIChwbGFuZSA9PSAxKQo+ICsJCWlmIChjb2xvcl9wbGFu ZSA9PSAxKQo+ICAJCQlyZXR1cm4gMTI4Owo+ICAJCS8qIGZhbGwgdGhyb3VnaCAqLwo+ICAJY2Fz ZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRDoKPiBAQCAtMTkzOSw3ICsxOTM5LDcgQEAgaW50ZWxf dGlsZV93aWR0aF9ieXRlcyhjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwgaW50IHBs YW5lKQo+ICAJCWVsc2UKPiAgCQkJcmV0dXJuIDUxMjsKPiAgCWNhc2UgSTkxNV9GT1JNQVRfTU9E X1lmX1RJTEVEX0NDUzoKPiAtCQlpZiAocGxhbmUgPT0gMSkKPiArCQlpZiAoY29sb3JfcGxhbmUg PT0gMSkKPiAgCQkJcmV0dXJuIDEyODsKPiAgCQkvKiBmYWxsIHRocm91Z2ggKi8KPiAgCWNhc2Ug STkxNV9GT1JNQVRfTU9EX1lmX1RJTEVEOgo+IEBAIC0xOTY0LDIyICsxOTY0LDIyIEBAIGludGVs X3RpbGVfd2lkdGhfYnl0ZXMoY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBw bGFuZSkKPiAgfQo+ICAKPiAgc3RhdGljIHVuc2lnbmVkIGludAo+IC1pbnRlbF90aWxlX2hlaWdo dChjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwgaW50IHBsYW5lKQo+ICtpbnRlbF90 aWxlX2hlaWdodChjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwgaW50IGNvbG9yX3Bs YW5lKQo+ICB7Cj4gIAlpZiAoZmItPm1vZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0xJTkVBUikK PiAgCQlyZXR1cm4gMTsKPiAgCWVsc2UKPiAgCQlyZXR1cm4gaW50ZWxfdGlsZV9zaXplKHRvX2k5 MTUoZmItPmRldikpIC8KPiAtCQkJaW50ZWxfdGlsZV93aWR0aF9ieXRlcyhmYiwgcGxhbmUpOwo+ ICsJCQlpbnRlbF90aWxlX3dpZHRoX2J5dGVzKGZiLCBjb2xvcl9wbGFuZSk7Cj4gIH0KPiAgCj4g IC8qIFJldHVybiB0aGUgdGlsZSBkaW1lbnNpb25zIGluIHBpeGVsIHVuaXRzICovCj4gLXN0YXRp YyB2b2lkIGludGVsX3RpbGVfZGltcyhjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwg aW50IHBsYW5lLAo+ICtzdGF0aWMgdm9pZCBpbnRlbF90aWxlX2RpbXMoY29uc3Qgc3RydWN0IGRy bV9mcmFtZWJ1ZmZlciAqZmIsIGludCBjb2xvcl9wbGFuZSwKPiAgCQkJICAgIHVuc2lnbmVkIGlu dCAqdGlsZV93aWR0aCwKPiAgCQkJICAgIHVuc2lnbmVkIGludCAqdGlsZV9oZWlnaHQpCj4gIHsK PiAtCXVuc2lnbmVkIGludCB0aWxlX3dpZHRoX2J5dGVzID0gaW50ZWxfdGlsZV93aWR0aF9ieXRl cyhmYiwgcGxhbmUpOwo+IC0JdW5zaWduZWQgaW50IGNwcCA9IGZiLT5mb3JtYXQtPmNwcFtwbGFu ZV07Cj4gKwl1bnNpZ25lZCBpbnQgdGlsZV93aWR0aF9ieXRlcyA9IGludGVsX3RpbGVfd2lkdGhf Ynl0ZXMoZmIsIGNvbG9yX3BsYW5lKTsKPiArCXVuc2lnbmVkIGludCBjcHAgPSBmYi0+Zm9ybWF0 LT5jcHBbY29sb3JfcGxhbmVdOwo+ICAKPiAgCSp0aWxlX3dpZHRoID0gdGlsZV93aWR0aF9ieXRl cyAvIGNwcDsKPiAgCSp0aWxlX2hlaWdodCA9IGludGVsX3RpbGVfc2l6ZSh0b19pOTE1KGZiLT5k ZXYpKSAvIHRpbGVfd2lkdGhfYnl0ZXM7Cj4gQEAgLTE5ODcsOSArMTk4Nyw5IEBAIHN0YXRpYyB2 b2lkIGludGVsX3RpbGVfZGltcyhjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwgaW50 IHBsYW5lLAo+ICAKPiAgdW5zaWduZWQgaW50Cj4gIGludGVsX2ZiX2FsaWduX2hlaWdodChjb25z dCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKPiAtCQkgICAgICBpbnQgcGxhbmUsIHVuc2ln bmVkIGludCBoZWlnaHQpCj4gKwkJICAgICAgaW50IGNvbG9yX3BsYW5lLCB1bnNpZ25lZCBpbnQg aGVpZ2h0KQo+ICB7Cj4gLQl1bnNpZ25lZCBpbnQgdGlsZV9oZWlnaHQgPSBpbnRlbF90aWxlX2hl aWdodChmYiwgcGxhbmUpOwo+ICsJdW5zaWduZWQgaW50IHRpbGVfaGVpZ2h0ID0gaW50ZWxfdGls ZV9oZWlnaHQoZmIsIGNvbG9yX3BsYW5lKTsKPiAgCj4gIAlyZXR1cm4gQUxJR04oaGVpZ2h0LCB0 aWxlX2hlaWdodCk7Cj4gIH0KPiBAQCAtMjA0MywxMiArMjA0MywxMiBAQCBzdGF0aWMgdW5zaWdu ZWQgaW50IGludGVsX2xpbmVhcl9hbGlnbm1lbnQoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcgo+ICB9Cj4gIAo+ICBzdGF0aWMgdW5zaWduZWQgaW50IGludGVsX3N1cmZfYWxp Z25tZW50KGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+IC0JCQkJCSBpbnQgcGxh bmUpCj4gKwkJCQkJIGludCBjb2xvcl9wbGFuZSkKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShmYi0+ZGV2KTsKPiAgCj4gIAkvKiBBVVhfRElTVCBu ZWVkcyBvbmx5IDRLIGFsaWdubWVudCAqLwo+IC0JaWYgKHBsYW5lID09IDEpCj4gKwlpZiAoY29s b3JfcGxhbmUgPT0gMSkKPiAgCQlyZXR1cm4gNDA5NjsKPiAgCj4gIAlzd2l0Y2ggKGZiLT5tb2Rp Zmllcikgewo+IEBAIC0yMTc4LDEzICsyMTc4LDEzIEBAIHZvaWQgaW50ZWxfdW5waW5fZmJfdm1h KHN0cnVjdCBpOTE1X3ZtYSAqdm1hLCB1bnNpZ25lZCBsb25nIGZsYWdzKQo+ICAJaTkxNV92bWFf cHV0KHZtYSk7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgaW50ZWxfZmJfcGl0Y2goY29uc3Qgc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBwbGFuZSwKPiArc3RhdGljIGludCBpbnRlbF9m Yl9waXRjaChjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwgaW50IGNvbG9yX3BsYW5l LAo+ICAJCQkgIHVuc2lnbmVkIGludCByb3RhdGlvbikKPiAgewo+ICAJaWYgKGRybV9yb3RhdGlv bl85MF9vcl8yNzAocm90YXRpb24pKQo+IC0JCXJldHVybiB0b19pbnRlbF9mcmFtZWJ1ZmZlcihm YiktPnJvdGF0ZWRbcGxhbmVdLnBpdGNoOwo+ICsJCXJldHVybiB0b19pbnRlbF9mcmFtZWJ1ZmZl cihmYiktPnJvdGF0ZWRbY29sb3JfcGxhbmVdLnBpdGNoOwo+ICAJZWxzZQo+IC0JCXJldHVybiBm Yi0+cGl0Y2hlc1twbGFuZV07Cj4gKwkJcmV0dXJuIGZiLT5waXRjaGVzW2NvbG9yX3BsYW5lXTsK PiAgfQo+ICAKPiAgLyoKPiBAQCAtMjE5NSwxMSArMjE5NSwxMSBAQCBzdGF0aWMgaW50IGludGVs X2ZiX3BpdGNoKGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLCBpbnQgcGxhbmUsCj4g ICAqLwo+ICB1MzIgaW50ZWxfZmJfeHlfdG9fbGluZWFyKGludCB4LCBpbnQgeSwKPiAgCQkJICBj b25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlLAo+IC0JCQkgIGludCBwbGFuZSkK PiArCQkJICBpbnQgY29sb3JfcGxhbmUpCj4gIHsKPiAgCWNvbnN0IHN0cnVjdCBkcm1fZnJhbWVi dWZmZXIgKmZiID0gc3RhdGUtPmJhc2UuZmI7Cj4gLQl1bnNpZ25lZCBpbnQgY3BwID0gZmItPmZv cm1hdC0+Y3BwW3BsYW5lXTsKPiAtCXVuc2lnbmVkIGludCBwaXRjaCA9IHN0YXRlLT5jb2xvcl9w bGFuZVtwbGFuZV0uc3RyaWRlOwo+ICsJdW5zaWduZWQgaW50IGNwcCA9IGZiLT5mb3JtYXQtPmNw cFtjb2xvcl9wbGFuZV07Cj4gKwl1bnNpZ25lZCBpbnQgcGl0Y2ggPSBzdGF0ZS0+Y29sb3JfcGxh bmVbY29sb3JfcGxhbmVdLnN0cmlkZTsKPiAgCj4gIAlyZXR1cm4geSAqIHBpdGNoICsgeCAqIGNw cDsKPiAgfQo+IEBAIC0yMjExLDE4ICsyMjExLDE4IEBAIHUzMiBpbnRlbF9mYl94eV90b19saW5l YXIoaW50IHgsIGludCB5LAo+ICAgKi8KPiAgdm9pZCBpbnRlbF9hZGRfZmJfb2Zmc2V0cyhpbnQg KngsIGludCAqeSwKPiAgCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRl LAo+IC0JCQkgIGludCBwbGFuZSkKPiArCQkJICBpbnQgY29sb3JfcGxhbmUpCj4gIAo+ICB7Cj4g IAljb25zdCBzdHJ1Y3QgaW50ZWxfZnJhbWVidWZmZXIgKmludGVsX2ZiID0gdG9faW50ZWxfZnJh bWVidWZmZXIoc3RhdGUtPmJhc2UuZmIpOwo+ICAJdW5zaWduZWQgaW50IHJvdGF0aW9uID0gc3Rh dGUtPmJhc2Uucm90YXRpb247Cj4gIAo+ICAJaWYgKGRybV9yb3RhdGlvbl85MF9vcl8yNzAocm90 YXRpb24pKSB7Cj4gLQkJKnggKz0gaW50ZWxfZmItPnJvdGF0ZWRbcGxhbmVdLng7Cj4gLQkJKnkg Kz0gaW50ZWxfZmItPnJvdGF0ZWRbcGxhbmVdLnk7Cj4gKwkJKnggKz0gaW50ZWxfZmItPnJvdGF0 ZWRbY29sb3JfcGxhbmVdLng7Cj4gKwkJKnkgKz0gaW50ZWxfZmItPnJvdGF0ZWRbY29sb3JfcGxh bmVdLnk7Cj4gIAl9IGVsc2Ugewo+IC0JCSp4ICs9IGludGVsX2ZiLT5ub3JtYWxbcGxhbmVdLng7 Cj4gLQkJKnkgKz0gaW50ZWxfZmItPm5vcm1hbFtwbGFuZV0ueTsKPiArCQkqeCArPSBpbnRlbF9m Yi0+bm9ybWFsW2NvbG9yX3BsYW5lXS54Owo+ICsJCSp5ICs9IGludGVsX2ZiLT5ub3JtYWxbY29s b3JfcGxhbmVdLnk7Cj4gIAl9Cj4gIH0KPiAgCj4gQEAgLTIyNTQsMTMgKzIyNTQsMTQgQEAgc3Rh dGljIHUzMiBpbnRlbF9hZGp1c3RfdGlsZV9vZmZzZXQoaW50ICp4LCBpbnQgKnksCj4gIH0KPiAg Cj4gIHN0YXRpYyB1MzIgaW50ZWxfYWRqdXN0X2FsaWduZWRfb2Zmc2V0KGludCAqeCwgaW50ICp5 LAo+IC0JCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLCBpbnQgcGxh bmUsCj4gKwkJCQkgICAgICAgY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCj4gKwkJ CQkgICAgICAgaW50IGNvbG9yX3BsYW5lLAo+ICAJCQkJICAgICAgIHVuc2lnbmVkIGludCByb3Rh dGlvbiwKPiAgCQkJCSAgICAgICB1bnNpZ25lZCBpbnQgcGl0Y2gsCj4gIAkJCQkgICAgICAgdTMy IG9sZF9vZmZzZXQsIHUzMiBuZXdfb2Zmc2V0KQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGZiLT5kZXYpOwo+IC0JdW5zaWduZWQgaW50IGNwcCA9 IGZiLT5mb3JtYXQtPmNwcFtwbGFuZV07Cj4gKwl1bnNpZ25lZCBpbnQgY3BwID0gZmItPmZvcm1h dC0+Y3BwW2NvbG9yX3BsYW5lXTsKPiAgCj4gIAlXQVJOX09OKG5ld19vZmZzZXQgPiBvbGRfb2Zm c2V0KTsKPiAgCj4gQEAgLTIyNjksNyArMjI3MCw3IEBAIHN0YXRpYyB1MzIgaW50ZWxfYWRqdXN0 X2FsaWduZWRfb2Zmc2V0KGludCAqeCwgaW50ICp5LAo+ICAJCXVuc2lnbmVkIGludCBwaXRjaF90 aWxlczsKPiAgCj4gIAkJdGlsZV9zaXplID0gaW50ZWxfdGlsZV9zaXplKGRldl9wcml2KTsKPiAt CQlpbnRlbF90aWxlX2RpbXMoZmIsIHBsYW5lLCAmdGlsZV93aWR0aCwgJnRpbGVfaGVpZ2h0KTsK PiArCQlpbnRlbF90aWxlX2RpbXMoZmIsIGNvbG9yX3BsYW5lLCAmdGlsZV93aWR0aCwgJnRpbGVf aGVpZ2h0KTsKPiAgCj4gIAkJaWYgKGRybV9yb3RhdGlvbl85MF9vcl8yNzAocm90YXRpb24pKSB7 Cj4gIAkJCXBpdGNoX3RpbGVzID0gcGl0Y2ggLyB0aWxlX2hlaWdodDsKPiBAQCAtMjI5NywxMiAr MjI5OCwxMiBAQCBzdGF0aWMgdTMyIGludGVsX2FkanVzdF9hbGlnbmVkX29mZnNldChpbnQgKngs IGludCAqeSwKPiAgICovCj4gIHN0YXRpYyB1MzIgaW50ZWxfcGxhbmVfYWRqdXN0X2FsaWduZWRf b2Zmc2V0KGludCAqeCwgaW50ICp5LAo+ICAJCQkJCSAgICAgY29uc3Qgc3RydWN0IGludGVsX3Bs YW5lX3N0YXRlICpzdGF0ZSwKPiAtCQkJCQkgICAgIGludCBwbGFuZSwKPiArCQkJCQkgICAgIGlu dCBjb2xvcl9wbGFuZSwKPiAgCQkJCQkgICAgIHUzMiBvbGRfb2Zmc2V0LCB1MzIgbmV3X29mZnNl dCkKPiAgewo+IC0JcmV0dXJuIGludGVsX2FkanVzdF9hbGlnbmVkX29mZnNldCh4LCB5LCBzdGF0 ZS0+YmFzZS5mYiwgcGxhbmUsCj4gKwlyZXR1cm4gaW50ZWxfYWRqdXN0X2FsaWduZWRfb2Zmc2V0 KHgsIHksIHN0YXRlLT5iYXNlLmZiLCBjb2xvcl9wbGFuZSwKPiAgCQkJCQkgICBzdGF0ZS0+YmFz ZS5yb3RhdGlvbiwKPiAtCQkJCQkgICBzdGF0ZS0+Y29sb3JfcGxhbmVbcGxhbmVdLnN0cmlkZSwK PiArCQkJCQkgICBzdGF0ZS0+Y29sb3JfcGxhbmVbY29sb3JfcGxhbmVdLnN0cmlkZSwKPiAgCQkJ CQkgICBvbGRfb2Zmc2V0LCBuZXdfb2Zmc2V0KTsKPiAgfQo+ICAKPiBAQCAtMjMyMiwxMyArMjMy MywxNCBAQCBzdGF0aWMgdTMyIGludGVsX3BsYW5lX2FkanVzdF9hbGlnbmVkX29mZnNldChpbnQg KngsIGludCAqeSwKPiAgICovCj4gIHN0YXRpYyB1MzIgaW50ZWxfY29tcHV0ZV9hbGlnbmVkX29m ZnNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCQkJaW50ICp4LCBp bnQgKnksCj4gLQkJCQkJY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBwbGFu ZSwKPiArCQkJCQljb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKPiArCQkJCQlpbnQg Y29sb3JfcGxhbmUsCj4gIAkJCQkJdW5zaWduZWQgaW50IHBpdGNoLAo+ICAJCQkJCXVuc2lnbmVk IGludCByb3RhdGlvbiwKPiAgCQkJCQl1MzIgYWxpZ25tZW50KQo+ICB7Cj4gIAl1aW50NjRfdCBm Yl9tb2RpZmllciA9IGZiLT5tb2RpZmllcjsKPiAtCXVuc2lnbmVkIGludCBjcHAgPSBmYi0+Zm9y bWF0LT5jcHBbcGxhbmVdOwo+ICsJdW5zaWduZWQgaW50IGNwcCA9IGZiLT5mb3JtYXQtPmNwcFtj b2xvcl9wbGFuZV07Cj4gIAl1MzIgb2Zmc2V0LCBvZmZzZXRfYWxpZ25lZDsKPiAgCj4gIAlpZiAo YWxpZ25tZW50KQo+IEBAIC0yMzM5LDcgKzIzNDEsNyBAQCBzdGF0aWMgdTMyIGludGVsX2NvbXB1 dGVfYWxpZ25lZF9vZmZzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJ CXVuc2lnbmVkIGludCB0aWxlX3Jvd3MsIHRpbGVzLCBwaXRjaF90aWxlczsKPiAgCj4gIAkJdGls ZV9zaXplID0gaW50ZWxfdGlsZV9zaXplKGRldl9wcml2KTsKPiAtCQlpbnRlbF90aWxlX2RpbXMo ZmIsIHBsYW5lLCAmdGlsZV93aWR0aCwgJnRpbGVfaGVpZ2h0KTsKPiArCQlpbnRlbF90aWxlX2Rp bXMoZmIsIGNvbG9yX3BsYW5lLCAmdGlsZV93aWR0aCwgJnRpbGVfaGVpZ2h0KTsKPiAgCj4gIAkJ aWYgKGRybV9yb3RhdGlvbl85MF9vcl8yNzAocm90YXRpb24pKSB7Cj4gIAkJCXBpdGNoX3RpbGVz ID0gcGl0Y2ggLyB0aWxlX2hlaWdodDsKPiBAQCAtMjM3Myw0MSArMjM3NSw0MiBAQCBzdGF0aWMg dTMyIGludGVsX2NvbXB1dGVfYWxpZ25lZF9vZmZzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAo+ICAKPiAgc3RhdGljIHUzMiBpbnRlbF9wbGFuZV9jb21wdXRlX2FsaWduZWRf b2Zmc2V0KGludCAqeCwgaW50ICp5LAo+ICAJCQkJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9w bGFuZV9zdGF0ZSAqc3RhdGUsCj4gLQkJCQkJICAgICAgaW50IHBsYW5lKQo+ICsJCQkJCSAgICAg IGludCBjb2xvcl9wbGFuZSkKPiAgewo+ICAJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFu ZSA9IHRvX2ludGVsX3BsYW5lKHN0YXRlLT5iYXNlLnBsYW5lKTsKPiAgCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfcGxhbmUtPmJhc2UuZGV2KTsKPiAg CWNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gc3RhdGUtPmJhc2UuZmI7Cj4gIAl1 bnNpZ25lZCBpbnQgcm90YXRpb24gPSBzdGF0ZS0+YmFzZS5yb3RhdGlvbjsKPiAtCWludCBwaXRj aCA9IHN0YXRlLT5jb2xvcl9wbGFuZVtwbGFuZV0uc3RyaWRlOwo+ICsJaW50IHBpdGNoID0gc3Rh dGUtPmNvbG9yX3BsYW5lW2NvbG9yX3BsYW5lXS5zdHJpZGU7Cj4gIAl1MzIgYWxpZ25tZW50Owo+ ICAKPiAgCWlmIChpbnRlbF9wbGFuZS0+aWQgPT0gUExBTkVfQ1VSU09SKQo+ICAJCWFsaWdubWVu dCA9IGludGVsX2N1cnNvcl9hbGlnbm1lbnQoZGV2X3ByaXYpOwo+ICAJZWxzZQo+IC0JCWFsaWdu bWVudCA9IGludGVsX3N1cmZfYWxpZ25tZW50KGZiLCBwbGFuZSk7Cj4gKwkJYWxpZ25tZW50ID0g aW50ZWxfc3VyZl9hbGlnbm1lbnQoZmIsIGNvbG9yX3BsYW5lKTsKPiAgCj4gLQlyZXR1cm4gaW50 ZWxfY29tcHV0ZV9hbGlnbmVkX29mZnNldChkZXZfcHJpdiwgeCwgeSwgZmIsIHBsYW5lLAo+ICsJ cmV0dXJuIGludGVsX2NvbXB1dGVfYWxpZ25lZF9vZmZzZXQoZGV2X3ByaXYsIHgsIHksIGZiLCBj b2xvcl9wbGFuZSwKPiAgCQkJCQkgICAgcGl0Y2gsIHJvdGF0aW9uLCBhbGlnbm1lbnQpOwo+ICB9 Cj4gIAo+ICAvKiBDb252ZXJ0IHRoZSBmYi0+b2Zmc2V0W10gaW50byB4L3kgb2Zmc2V0cyAqLwo+ ICBzdGF0aWMgaW50IGludGVsX2ZiX29mZnNldF90b194eShpbnQgKngsIGludCAqeSwKPiAtCQkJ CSBjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwgaW50IHBsYW5lKQo+ICsJCQkJIGNv bnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+ICsJCQkJIGludCBjb2xvcl9wbGFuZSkK PiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShmYi0+ ZGV2KTsKPiAgCj4gIAlpZiAoZmItPm1vZGlmaWVyICE9IERSTV9GT1JNQVRfTU9EX0xJTkVBUiAm Jgo+IC0JICAgIGZiLT5vZmZzZXRzW3BsYW5lXSAlIGludGVsX3RpbGVfc2l6ZShkZXZfcHJpdikp Cj4gKwkgICAgZmItPm9mZnNldHNbY29sb3JfcGxhbmVdICUgaW50ZWxfdGlsZV9zaXplKGRldl9w cml2KSkKPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgCj4gIAkqeCA9IDA7Cj4gIAkqeSA9IDA7Cj4g IAo+ICAJaW50ZWxfYWRqdXN0X2FsaWduZWRfb2Zmc2V0KHgsIHksCj4gLQkJCQkgICAgZmIsIHBs YW5lLCBEUk1fTU9ERV9ST1RBVEVfMCwKPiAtCQkJCSAgICBmYi0+cGl0Y2hlc1swXSwKPiAtCQkJ CSAgICBmYi0+b2Zmc2V0c1twbGFuZV0sIDApOwo+ICsJCQkJICAgIGZiLCBjb2xvcl9wbGFuZSwg RFJNX01PREVfUk9UQVRFXzAsCj4gKwkJCQkgICAgZmItPnBpdGNoZXNbY29sb3JfcGxhbmVdLAo+ ICsJCQkJICAgIGZiLT5vZmZzZXRzW2NvbG9yX3BsYW5lXSwgMCk7Cj4gIAo+ICAJcmV0dXJuIDA7 Cj4gIH0KPiBAQCAtMjg5OSwxMCArMjkwMiwxMSBAQCBpbnRlbF9maW5kX2luaXRpYWxfcGxhbmVf b2JqKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ICAJCSAgJm9iai0+ZnJvbnRidWZm ZXJfYml0cyk7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgc2tsX21heF9wbGFuZV93aWR0aChjb25z dCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwgaW50IHBsYW5lLAo+ICtzdGF0aWMgaW50IHNr bF9tYXhfcGxhbmVfd2lkdGgoY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCj4gKwkJ CSAgICAgICBpbnQgY29sb3JfcGxhbmUsCj4gIAkJCSAgICAgICB1bnNpZ25lZCBpbnQgcm90YXRp b24pCj4gIHsKPiAtCWludCBjcHAgPSBmYi0+Zm9ybWF0LT5jcHBbcGxhbmVdOwo+ICsJaW50IGNw cCA9IGZiLT5mb3JtYXQtPmNwcFtjb2xvcl9wbGFuZV07Cj4gIAo+ICAJc3dpdGNoIChmYi0+bW9k aWZpZXIpIHsKPiAgCWNhc2UgRFJNX0ZPUk1BVF9NT0RfTElORUFSOgo+IEBAIC0zNDYyLDEyICsz NDY2LDEyIEBAIHN0YXRpYyBib29sIGk5eHhfcGxhbmVfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRl bF9wbGFuZSAqcGxhbmUsCj4gIH0KPiAgCj4gIHN0YXRpYyB1MzIKPiAtaW50ZWxfZmJfc3RyaWRl X2FsaWdubWVudChjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwgaW50IHBsYW5lKQo+ ICtpbnRlbF9mYl9zdHJpZGVfYWxpZ25tZW50KGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIg KmZiLCBpbnQgY29sb3JfcGxhbmUpCj4gIHsKPiAgCWlmIChmYi0+bW9kaWZpZXIgPT0gRFJNX0ZP Uk1BVF9NT0RfTElORUFSKQo+ICAJCXJldHVybiA2NDsKPiAgCWVsc2UKPiAtCQlyZXR1cm4gaW50 ZWxfdGlsZV93aWR0aF9ieXRlcyhmYiwgcGxhbmUpOwo+ICsJCXJldHVybiBpbnRlbF90aWxlX3dp ZHRoX2J5dGVzKGZiLCBjb2xvcl9wbGFuZSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIHNrbF9k ZXRhY2hfc2NhbGVyKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLCBpbnQgaWQpCj4gQEAg LTM0OTgsMTMgKzM1MDIsMTMgQEAgc3RhdGljIHZvaWQgc2tsX2RldGFjaF9zY2FsZXJzKHN0cnVj dCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQo+ICB9Cj4gIAo+ICB1MzIgc2tsX3BsYW5lX3N0cmlk ZShjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlLAo+IC0JCSAgICAg aW50IHBsYW5lKQo+ICsJCSAgICAgaW50IGNvbG9yX3BsYW5lKQo+ICB7Cj4gIAljb25zdCBzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5lX3N0YXRlLT5iYXNlLmZiOwo+ICAJdW5zaWdu ZWQgaW50IHJvdGF0aW9uID0gcGxhbmVfc3RhdGUtPmJhc2Uucm90YXRpb247Cj4gLQl1MzIgc3Ry aWRlID0gcGxhbmVfc3RhdGUtPmNvbG9yX3BsYW5lW3BsYW5lXS5zdHJpZGU7Cj4gKwl1MzIgc3Ry aWRlID0gcGxhbmVfc3RhdGUtPmNvbG9yX3BsYW5lW2NvbG9yX3BsYW5lXS5zdHJpZGU7Cj4gIAo+ IC0JaWYgKHBsYW5lID49IGZiLT5mb3JtYXQtPm51bV9wbGFuZXMpCj4gKwlpZiAoY29sb3JfcGxh bmUgPj0gZmItPmZvcm1hdC0+bnVtX3BsYW5lcykKPiAgCQlyZXR1cm4gMDsKPiAgCj4gIAkvKgo+ IEBAIC0zNTEyLDkgKzM1MTYsOSBAQCB1MzIgc2tsX3BsYW5lX3N0cmlkZShjb25zdCBzdHJ1Y3Qg aW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlLAo+ICAJICogbGluZWFyIGJ1ZmZlcnMgb3Ig aW4gbnVtYmVyIG9mIHRpbGVzIGZvciB0aWxlZCBidWZmZXJzLgo+ICAJICovCj4gIAlpZiAoZHJt X3JvdGF0aW9uXzkwX29yXzI3MChyb3RhdGlvbikpCj4gLQkJc3RyaWRlIC89IGludGVsX3RpbGVf aGVpZ2h0KGZiLCBwbGFuZSk7Cj4gKwkJc3RyaWRlIC89IGludGVsX3RpbGVfaGVpZ2h0KGZiLCBj b2xvcl9wbGFuZSk7Cj4gIAllbHNlCj4gLQkJc3RyaWRlIC89IGludGVsX2ZiX3N0cmlkZV9hbGln bm1lbnQoZmIsIHBsYW5lKTsKPiArCQlzdHJpZGUgLz0gaW50ZWxfZmJfc3RyaWRlX2FsaWdubWVu dChmYiwgY29sb3JfcGxhbmUpOwo+ICAKPiAgCXJldHVybiBzdHJpZGU7Cj4gIH0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IGQ3MDI3NmZmM2QwZS4uY2MzODFmNjgwMzM4IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtMTQzOCw3ICsxNDM4LDcgQEAgdm9pZCBp Y2xfdW5tYXBfcGxsc190b19wb3J0cyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJCSAgICAg c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSk7Cj4gIAo+ICB1bnNpZ25lZCBpbnQg aW50ZWxfZmJfYWxpZ25faGVpZ2h0KGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+ IC0JCQkJICAgaW50IHBsYW5lLCB1bnNpZ25lZCBpbnQgaGVpZ2h0KTsKPiArCQkJCSAgIGludCBj b2xvcl9wbGFuZSwgdW5zaWduZWQgaW50IGhlaWdodCk7Cj4gIAo+ICAvKiBpbnRlbF9hdWRpby5j ICovCj4gIHZvaWQgaW50ZWxfaW5pdF9hdWRpb19ob29rcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpOwo+IC0tIAo+IDIuMTYuNAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK