From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 05/13] drm/i915: Store the final plane stride in plane_state Date: Fri, 7 Sep 2018 18:24:05 +0300 Message-ID: <20180907152413.15761-6-ville.syrjala@linux.intel.com> References: <20180907152413.15761-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5311B6E97D for ; Fri, 7 Sep 2018 15:24:31 +0000 (UTC) In-Reply-To: <20180907152413.15761-1-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkxl dCdzIHN0b3JlIHRoZSBmaW5hbCBwbGFuZSBzdHJpZGUgaW4gdGhlIHBsYW5lIHN0YXRlLiBUaGlz IGF2b2lkcwpoYXZpbmcgdG8gcGljayBiZXR3ZWVuIHRoZSBub3JtYWwgdnMuIHJvdGF0ZWQgc3Ry aWRlIGR1cmluZyBoYXJkd2FyZQpwcm9ncmFtbWluZy4gQW5kIG9uY2Ugd2UgZ2V0IEdUVCByZW1h cHBpbmcgdGhlIHBsYW5lIHN0cmlkZSB3aWxsCm5vIGxvbmdlciBtYXRjaCB0aGUgZmIgc3RyaWRl IHNvIHdlJ2xsIG5lZWQgYSBwbGFjZSB0byBzdG9yZSBpdAphbnl3YXkuCgp2MjogS2VlcCBjaGVj a2luZyBmYi0+cGl0Y2hlc1swXSBmb3IgY3Vyc29yIGFzIGxhdGVyIG9uIHdlIHdvbid0CiAgICBw b3B1bGF0ZSBwbGFuZV9zdGF0ZS0+Y29sb3JfcGxhbmVbMF0uc3RyaWRlIGZvciBpbnZpc2libGUg cGxhbmVzCiAgICBhbmQgd2UgaGF2ZSBiZWVuIGNoZWNraW5nIHRoZSBjdXJzb3IgZmIgc3RyaWRl IGV2ZW4gZm9yIGludmlzaWJsZQogICAgcGxhbmVzCnYzOiBzL2JldHdlbi9iZXR3ZWVuIGluIGNv bW1pdCBtc2cgKEpvc8OpKQoKUmV2aWV3ZWQtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpv c2Uuc291emFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxl LnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgMTAgKysrKysrLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jICB8IDEyICsrKysrLS0tLS0KIDMgZmlsZXMgY2hh bmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCmluZGV4IDk4YzMwYTQwMDc4ZS4uMGRjNDBjYmRlNDdlIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0yMjAyLDcgKzIyMDIsNyBAQCB1MzIgaW50 ZWxfZmJfeHlfdG9fbGluZWFyKGludCB4LCBpbnQgeSwKIHsKIAljb25zdCBzdHJ1Y3QgZHJtX2Zy YW1lYnVmZmVyICpmYiA9IHN0YXRlLT5iYXNlLmZiOwogCXVuc2lnbmVkIGludCBjcHAgPSBmYi0+ Zm9ybWF0LT5jcHBbcGxhbmVdOwotCXVuc2lnbmVkIGludCBwaXRjaCA9IGZiLT5waXRjaGVzW3Bs YW5lXTsKKwl1bnNpZ25lZCBpbnQgcGl0Y2ggPSBzdGF0ZS0+Y29sb3JfcGxhbmVbcGxhbmVdLnN0 cmlkZTsKIAogCXJldHVybiB5ICogcGl0Y2ggKyB4ICogY3BwOwogfQpAQCAtMjI1OSwxMSArMjI1 OSwxMSBAQCBzdGF0aWMgdTMyIGludGVsX2FkanVzdF90aWxlX29mZnNldChpbnQgKngsIGludCAq eSwKIHN0YXRpYyB1MzIgaW50ZWxfYWRqdXN0X2FsaWduZWRfb2Zmc2V0KGludCAqeCwgaW50ICp5 LAogCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwgaW50IHBsYW5l LAogCQkJCSAgICAgICB1bnNpZ25lZCBpbnQgcm90YXRpb24sCisJCQkJICAgICAgIHVuc2lnbmVk IGludCBwaXRjaCwKIAkJCQkgICAgICAgdTMyIG9sZF9vZmZzZXQsIHUzMiBuZXdfb2Zmc2V0KQog ewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZmItPmRldik7 CiAJdW5zaWduZWQgaW50IGNwcCA9IGZiLT5mb3JtYXQtPmNwcFtwbGFuZV07Ci0JdW5zaWduZWQg aW50IHBpdGNoID0gaW50ZWxfZmJfcGl0Y2goZmIsIHBsYW5lLCByb3RhdGlvbik7CiAKIAlXQVJO X09OKG5ld19vZmZzZXQgPiBvbGRfb2Zmc2V0KTsKIApAQCAtMjMwNSw2ICsyMzA1LDcgQEAgc3Rh dGljIHUzMiBpbnRlbF9wbGFuZV9hZGp1c3RfYWxpZ25lZF9vZmZzZXQoaW50ICp4LCBpbnQgKnks CiB7CiAJcmV0dXJuIGludGVsX2FkanVzdF9hbGlnbmVkX29mZnNldCh4LCB5LCBzdGF0ZS0+YmFz ZS5mYiwgcGxhbmUsCiAJCQkJCSAgIHN0YXRlLT5iYXNlLnJvdGF0aW9uLAorCQkJCQkgICBzdGF0 ZS0+Y29sb3JfcGxhbmVbcGxhbmVdLnN0cmlkZSwKIAkJCQkJICAgb2xkX29mZnNldCwgbmV3X29m ZnNldCk7CiB9CiAKQEAgLTIzODEsNyArMjM4Miw3IEBAIHN0YXRpYyB1MzIgaW50ZWxfcGxhbmVf Y29tcHV0ZV9hbGlnbmVkX29mZnNldChpbnQgKngsIGludCAqeSwKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX3BsYW5lLT5iYXNlLmRldik7CiAJY29u c3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBzdGF0ZS0+YmFzZS5mYjsKIAl1bnNpZ25l ZCBpbnQgcm90YXRpb24gPSBzdGF0ZS0+YmFzZS5yb3RhdGlvbjsKLQlpbnQgcGl0Y2ggPSBpbnRl bF9mYl9waXRjaChmYiwgcGxhbmUsIHJvdGF0aW9uKTsKKwlpbnQgcGl0Y2ggPSBzdGF0ZS0+Y29s b3JfcGxhbmVbcGxhbmVdLnN0cmlkZTsKIAl1MzIgYWxpZ25tZW50OwogCiAJaWYgKGludGVsX3Bs YW5lLT5pZCA9PSBQTEFORV9DVVJTT1IpCkBAIC0yNDA4LDYgKzI0MDksNyBAQCBzdGF0aWMgaW50 IGludGVsX2ZiX29mZnNldF90b194eShpbnQgKngsIGludCAqeSwKIAogCWludGVsX2FkanVzdF9h bGlnbmVkX29mZnNldCh4LCB5LAogCQkJCSAgICBmYiwgcGxhbmUsIERSTV9NT0RFX1JPVEFURV8w LAorCQkJCSAgICBmYi0+cGl0Y2hlc1swXSwKIAkJCQkgICAgZmItPm9mZnNldHNbcGxhbmVdLCAw KTsKIAogCXJldHVybiAwOwpAQCAtMjg1NCw2ICsyODU2LDkgQEAgaW50ZWxfZmluZF9pbml0aWFs X3BsYW5lX29iaihzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKIAlyZXR1cm47CiAKIHZh bGlkX2ZiOgorCWludGVsX3N0YXRlLT5jb2xvcl9wbGFuZVswXS5zdHJpZGUgPQorCQlpbnRlbF9m Yl9waXRjaChmYiwgMCwgaW50ZWxfc3RhdGUtPmJhc2Uucm90YXRpb24pOworCiAJbXV0ZXhfbG9j aygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCWludGVsX3N0YXRlLT52bWEgPQogCQlpbnRlbF9waW5f YW5kX2ZlbmNlX2ZiX29iaihmYiwKQEAgLTMxNzAsNiArMzE3NSw5IEBAIGludCBza2xfY2hlY2tf cGxhbmVfc3VyZmFjZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwK IAl1bnNpZ25lZCBpbnQgcm90YXRpb24gPSBwbGFuZV9zdGF0ZS0+YmFzZS5yb3RhdGlvbjsKIAlp bnQgcmV0OwogCisJcGxhbmVfc3RhdGUtPmNvbG9yX3BsYW5lWzBdLnN0cmlkZSA9IGludGVsX2Zi X3BpdGNoKGZiLCAwLCByb3RhdGlvbik7CisJcGxhbmVfc3RhdGUtPmNvbG9yX3BsYW5lWzFdLnN0 cmlkZSA9IGludGVsX2ZiX3BpdGNoKGZiLCAxLCByb3RhdGlvbik7CisKIAlpZiAocm90YXRpb24g JiBEUk1fTU9ERV9SRUZMRUNUX1ggJiYKIAkgICAgZmItPm1vZGlmaWVyID09IERSTV9GT1JNQVRf TU9EX0xJTkVBUikgewogCQlEUk1fREVCVUdfS01TKCJob3Jpem9udGFsIGZsaXAgaXMgbm90IHN1 cHBvcnRlZCB3aXRoIGxpbmVhciBzdXJmYWNlIGZvcm1hdHNcbiIpOwpAQCAtMzMwNiwxMCArMzMx NCwxNCBAQCBpbnQgaTl4eF9jaGVja19wbGFuZV9zdXJmYWNlKHN0cnVjdCBpbnRlbF9wbGFuZV9z dGF0ZSAqcGxhbmVfc3RhdGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0KIAkJdG9faTkxNShwbGFuZV9zdGF0ZS0+YmFzZS5wbGFuZS0+ZGV2KTsKKwljb25zdCBzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5lX3N0YXRlLT5iYXNlLmZiOworCXVuc2lnbmVk IGludCByb3RhdGlvbiA9IHBsYW5lX3N0YXRlLT5iYXNlLnJvdGF0aW9uOwogCWludCBzcmNfeCA9 IHBsYW5lX3N0YXRlLT5iYXNlLnNyYy54MSA+PiAxNjsKIAlpbnQgc3JjX3kgPSBwbGFuZV9zdGF0 ZS0+YmFzZS5zcmMueTEgPj4gMTY7CiAJdTMyIG9mZnNldDsKIAorCXBsYW5lX3N0YXRlLT5jb2xv cl9wbGFuZVswXS5zdHJpZGUgPSBpbnRlbF9mYl9waXRjaChmYiwgMCwgcm90YXRpb24pOworCiAJ aW50ZWxfYWRkX2ZiX29mZnNldHMoJnNyY194LCAmc3JjX3ksIHBsYW5lX3N0YXRlLCAwKTsKIAog CWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDQpCkBAIC0zMzIwLDcgKzMzMzIsNiBAQCBpbnQg aTl4eF9jaGVja19wbGFuZV9zdXJmYWNlKHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVf c3RhdGUpCiAKIAkvKiBIU1cvQkRXIGRvIHRoaXMgYXV0b21hZ2ljYWxseSBpbiBoYXJkd2FyZSAq LwogCWlmICghSVNfSEFTV0VMTChkZXZfcHJpdikgJiYgIUlTX0JST0FEV0VMTChkZXZfcHJpdikp IHsKLQkJdW5zaWduZWQgaW50IHJvdGF0aW9uID0gcGxhbmVfc3RhdGUtPmJhc2Uucm90YXRpb247 CiAJCWludCBzcmNfdyA9IGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+YmFzZS5zcmMpID4+ IDE2OwogCQlpbnQgc3JjX2ggPSBkcm1fcmVjdF9oZWlnaHQoJnBsYW5lX3N0YXRlLT5iYXNlLnNy YykgPj4gMTY7CiAKQEAgLTMzNDQsNyArMzM1NSw2IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRl X3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJCQkgICAgICBjb25zdCBzdHJ1Y3Qg aW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUocGxhbmUtPmJhc2UuZGV2KTsKLQljb25zdCBzdHJ1Y3Qg ZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5lX3N0YXRlLT5iYXNlLmZiOwogCWVudW0gaTl4eF9w bGFuZV9pZCBpOXh4X3BsYW5lID0gcGxhbmUtPmk5eHhfcGxhbmU7CiAJdTMyIGxpbmVhcl9vZmZz ZXQ7CiAJdTMyIGRzcGNudHIgPSBwbGFuZV9zdGF0ZS0+Y3RsOwpAQCAtMzM4MSw3ICszMzkxLDcg QEAgc3RhdGljIHZvaWQgaTl4eF91cGRhdGVfcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFu ZSwKIAogCUk5MTVfV1JJVEVfRlcocmVnLCBkc3BjbnRyKTsKIAotCUk5MTVfV1JJVEVfRlcoRFNQ U1RSSURFKGk5eHhfcGxhbmUpLCBmYi0+cGl0Y2hlc1swXSk7CisJSTkxNV9XUklURV9GVyhEU1BT VFJJREUoaTl4eF9wbGFuZSksIHBsYW5lX3N0YXRlLT5jb2xvcl9wbGFuZVswXS5zdHJpZGUpOwog CWlmIChJU19IQVNXRUxMKGRldl9wcml2KSB8fCBJU19CUk9BRFdFTEwoZGV2X3ByaXYpKSB7CiAJ CUk5MTVfV1JJVEVfRlcoRFNQU1VSRihpOXh4X3BsYW5lKSwKIAkJCSAgICAgIGludGVsX3BsYW5l X2dndHRfb2Zmc2V0KHBsYW5lX3N0YXRlKSArCkBAIC0zNDkxLDE2ICszNTAxLDE2IEBAIHN0YXRp YyB2b2lkIHNrbF9kZXRhY2hfc2NhbGVycyhzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YykK IAl9CiB9CiAKLXUzMiBza2xfcGxhbmVfc3RyaWRlKGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZm ZXIgKmZiLCBpbnQgcGxhbmUsCi0JCSAgICAgdW5zaWduZWQgaW50IHJvdGF0aW9uKQordTMyIHNr bF9wbGFuZV9zdHJpZGUoY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0 ZSwKKwkJICAgICBpbnQgcGxhbmUpCiB7Ci0JdTMyIHN0cmlkZTsKKwljb25zdCBzdHJ1Y3QgZHJt X2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5lX3N0YXRlLT5iYXNlLmZiOworCXVuc2lnbmVkIGludCBy b3RhdGlvbiA9IHBsYW5lX3N0YXRlLT5iYXNlLnJvdGF0aW9uOworCXUzMiBzdHJpZGUgPSBwbGFu ZV9zdGF0ZS0+Y29sb3JfcGxhbmVbcGxhbmVdLnN0cmlkZTsKIAogCWlmIChwbGFuZSA+PSBmYi0+ Zm9ybWF0LT5udW1fcGxhbmVzKQogCQlyZXR1cm4gMDsKIAotCXN0cmlkZSA9IGludGVsX2ZiX3Bp dGNoKGZiLCBwbGFuZSwgcm90YXRpb24pOwotCiAJLyoKIAkgKiBUaGUgc3RyaWRlIGlzIGVpdGhl ciBleHByZXNzZWQgYXMgYSBtdWx0aXBsZSBvZiA2NCBieXRlcyBjaHVua3MgZm9yCiAJICogbGlu ZWFyIGJ1ZmZlcnMgb3IgaW4gbnVtYmVyIG9mIHRpbGVzIGZvciB0aWxlZCBidWZmZXJzLgpAQCAt OTY2OSw2ICs5Njc5LDcgQEAgc3RhdGljIGludCBpbnRlbF9jaGVja19jdXJzb3Ioc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICAgICBzdHJ1Y3QgaW50ZWxfcGxhbmVf c3RhdGUgKnBsYW5lX3N0YXRlKQogewogCWNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZi ID0gcGxhbmVfc3RhdGUtPmJhc2UuZmI7CisJdW5zaWduZWQgaW50IHJvdGF0aW9uID0gcGxhbmVf c3RhdGUtPmJhc2Uucm90YXRpb247CiAJaW50IHNyY194LCBzcmNfeTsKIAl1MzIgb2Zmc2V0Owog CWludCByZXQ7CkBAIC05Njg5LDYgKzk3MDAsOCBAQCBzdGF0aWMgaW50IGludGVsX2NoZWNrX2N1 cnNvcihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJcmV0dXJuIC1FSU5W QUw7CiAJfQogCisJcGxhbmVfc3RhdGUtPmNvbG9yX3BsYW5lWzBdLnN0cmlkZSA9IGludGVsX2Zi X3BpdGNoKGZiLCAwLCByb3RhdGlvbik7CisKIAlzcmNfeCA9IHBsYW5lX3N0YXRlLT5iYXNlLnNy Y194ID4+IDE2OwogCXNyY195ID0gcGxhbmVfc3RhdGUtPmJhc2Uuc3JjX3kgPj4gMTY7CiAKQEAg LTk3MTcsMTIgKzk3MzAsMTAgQEAgaTg0NV9jdXJzb3JfbWF4X3N0cmlkZShzdHJ1Y3QgaW50ZWxf cGxhbmUgKnBsYW5lLAogc3RhdGljIHUzMiBpODQ1X2N1cnNvcl9jdGwoY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxh bmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogewotCWNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIg KmZiID0gcGxhbmVfc3RhdGUtPmJhc2UuZmI7Ci0KIAlyZXR1cm4gQ1VSU09SX0VOQUJMRSB8CiAJ CUNVUlNPUl9HQU1NQV9FTkFCTEUgfAogCQlDVVJTT1JfRk9STUFUX0FSR0IgfAotCQlDVVJTT1Jf U1RSSURFKGZiLT5waXRjaGVzWzBdKTsKKwkJQ1VSU09SX1NUUklERShwbGFuZV9zdGF0ZS0+Y29s b3JfcGxhbmVbMF0uc3RyaWRlKTsKIH0KIAogc3RhdGljIGJvb2wgaTg0NV9jdXJzb3Jfc2l6ZV9v ayhjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQpAQCAtOTc1OCw2 ICs5NzY5LDkgQEAgc3RhdGljIGludCBpODQ1X2NoZWNrX2N1cnNvcihzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCisJV0FSTl9PTihw bGFuZV9zdGF0ZS0+YmFzZS52aXNpYmxlICYmCisJCXBsYW5lX3N0YXRlLT5jb2xvcl9wbGFuZVsw XS5zdHJpZGUgIT0gZmItPnBpdGNoZXNbMF0pOworCiAJc3dpdGNoIChmYi0+cGl0Y2hlc1swXSkg ewogCWNhc2UgMjU2OgogCWNhc2UgNTEyOgpAQCAtOTk1OSw2ICs5OTczLDkgQEAgc3RhdGljIGlu dCBpOXh4X2NoZWNrX2N1cnNvcihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwK IAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCisJV0FSTl9PTihwbGFuZV9zdGF0ZS0+YmFzZS52aXNp YmxlICYmCisJCXBsYW5lX3N0YXRlLT5jb2xvcl9wbGFuZVswXS5zdHJpZGUgIT0gZmItPnBpdGNo ZXNbMF0pOworCiAJaWYgKGZiLT5waXRjaGVzWzBdICE9IHBsYW5lX3N0YXRlLT5iYXNlLmNydGNf dyAqIGZiLT5mb3JtYXQtPmNwcFswXSkgewogCQlEUk1fREVCVUdfS01TKCJJbnZhbGlkIGN1cnNv ciBzdHJpZGUgKCV1KSAoY3Vyc29yIHdpZHRoICVkKVxuIiwKIAkJCSAgICAgIGZiLT5waXRjaGVz WzBdLCBwbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX3cpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApp bmRleCA5ZTE2YmRjZmZjODQuLmYxN2MyYmI4YzRlZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKQEAgLTUwMyw2ICs1MDMsMTIgQEAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlIHsKIAogCXN0 cnVjdCB7CiAJCXUzMiBvZmZzZXQ7CisJCS8qCisJCSAqIFBsYW5lIHN0cmlkZSBpbjoKKwkJICog Ynl0ZXMgZm9yIDAvMTgwIGRlZ3JlZSByb3RhdGlvbgorCQkgKiBwaXhlbHMgZm9yIDkwLzI3MCBk ZWdyZWUgcm90YXRpb24KKwkJICovCisJCXUzMiBzdHJpZGU7CiAJCWludCB4LCB5OwogCX0gY29s b3JfcGxhbmVbMl07CiAKQEAgLTE2NTUsOCArMTY2MSw4IEBAIHUzMiBnbGtfcGxhbmVfY29sb3Jf Y3RsKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogdTMyIHNrbF9w bGFuZV9jdGwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCSAg Y29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSk7CiB1MzIgZ2xrX2Nv bG9yX2N0bChjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKTsKLXUz MiBza2xfcGxhbmVfc3RyaWRlKGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLCBpbnQg cGxhbmUsCi0JCSAgICAgdW5zaWduZWQgaW50IHJvdGF0aW9uKTsKK3UzMiBza2xfcGxhbmVfc3Ry aWRlKGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUsCisJCSAgICAg aW50IHBsYW5lKTsKIGludCBza2xfY2hlY2tfcGxhbmVfc3VyZmFjZShjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgICBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3Rh dGUgKnBsYW5lX3N0YXRlKTsKIGludCBpOXh4X2NoZWNrX3BsYW5lX3N1cmZhY2Uoc3RydWN0IGlu dGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0 ZS5jCmluZGV4IGRmMGNmM2QyZWE5OC4uZWU5OGM3YmMyZjlkIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zcHJpdGUuYwpAQCAtMjU5LDkgKzI1OSw4IEBAIHNrbF91cGRhdGVfcGxhbmUoc3RydWN0 IGludGVsX3BsYW5lICpwbGFuZSwKIAl1MzIgcGxhbmVfY3RsID0gcGxhbmVfc3RhdGUtPmN0bDsK IAljb25zdCBzdHJ1Y3QgZHJtX2ludGVsX3Nwcml0ZV9jb2xvcmtleSAqa2V5ID0gJnBsYW5lX3N0 YXRlLT5ja2V5OwogCXUzMiBzdXJmX2FkZHIgPSBwbGFuZV9zdGF0ZS0+Y29sb3JfcGxhbmVbMF0u b2Zmc2V0OwotCXVuc2lnbmVkIGludCByb3RhdGlvbiA9IHBsYW5lX3N0YXRlLT5iYXNlLnJvdGF0 aW9uOwotCXUzMiBzdHJpZGUgPSBza2xfcGxhbmVfc3RyaWRlKGZiLCAwLCByb3RhdGlvbik7Ci0J dTMyIGF1eF9zdHJpZGUgPSBza2xfcGxhbmVfc3RyaWRlKGZiLCAxLCByb3RhdGlvbik7CisJdTMy IHN0cmlkZSA9IHNrbF9wbGFuZV9zdHJpZGUocGxhbmVfc3RhdGUsIDApOworCXUzMiBhdXhfc3Ry aWRlID0gc2tsX3BsYW5lX3N0cmlkZShwbGFuZV9zdGF0ZSwgMSk7CiAJaW50IGNydGNfeCA9IHBs YW5lX3N0YXRlLT5iYXNlLmRzdC54MTsKIAlpbnQgY3J0Y195ID0gcGxhbmVfc3RhdGUtPmJhc2Uu ZHN0LnkxOwogCXVpbnQzMl90IGNydGNfdyA9IGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+ YmFzZS5kc3QpOwpAQCAtNTkyLDcgKzU5MSw4IEBAIHZsdl91cGRhdGVfcGxhbmUoc3RydWN0IGlu dGVsX3BsYW5lICpwbGFuZSwKIAkJSTkxNV9XUklURV9GVyhTUEtFWU1BWFZBTChwaXBlLCBwbGFu ZV9pZCksIGtleS0+bWF4X3ZhbHVlKTsKIAkJSTkxNV9XUklURV9GVyhTUEtFWU1TSyhwaXBlLCBw bGFuZV9pZCksIGtleS0+Y2hhbm5lbF9tYXNrKTsKIAl9Ci0JSTkxNV9XUklURV9GVyhTUFNUUklE RShwaXBlLCBwbGFuZV9pZCksIGZiLT5waXRjaGVzWzBdKTsKKwlJOTE1X1dSSVRFX0ZXKFNQU1RS SURFKHBpcGUsIHBsYW5lX2lkKSwKKwkJICAgICAgcGxhbmVfc3RhdGUtPmNvbG9yX3BsYW5lWzBd LnN0cmlkZSk7CiAJSTkxNV9XUklURV9GVyhTUFBPUyhwaXBlLCBwbGFuZV9pZCksIChjcnRjX3kg PDwgMTYpIHwgY3J0Y194KTsKIAogCWlmIChmYi0+bW9kaWZpZXIgPT0gSTkxNV9GT1JNQVRfTU9E X1hfVElMRUQpCkBAIC03NTQsNyArNzU0LDcgQEAgaXZiX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgaW50 ZWxfcGxhbmUgKnBsYW5lLAogCQlJOTE1X1dSSVRFX0ZXKFNQUktFWU1TSyhwaXBlKSwga2V5LT5j aGFubmVsX21hc2spOwogCX0KIAotCUk5MTVfV1JJVEVfRlcoU1BSU1RSSURFKHBpcGUpLCBmYi0+ cGl0Y2hlc1swXSk7CisJSTkxNV9XUklURV9GVyhTUFJTVFJJREUocGlwZSksIHBsYW5lX3N0YXRl LT5jb2xvcl9wbGFuZVswXS5zdHJpZGUpOwogCUk5MTVfV1JJVEVfRlcoU1BSUE9TKHBpcGUpLCAo Y3J0Y195IDw8IDE2KSB8IGNydGNfeCk7CiAKIAkvKiBIU1cgY29uc29saWRhdGVzIFNQUlRJTEVP RkYgYW5kIFNQUkxJTk9GRiBpbnRvIGEgc2luZ2xlIFNQUk9GRlNFVApAQCAtOTI2LDcgKzkyNiw3 IEBAIGc0eF91cGRhdGVfcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAkJSTkxNV9X UklURV9GVyhEVlNLRVlNU0socGlwZSksIGtleS0+Y2hhbm5lbF9tYXNrKTsKIAl9CiAKLQlJOTE1 X1dSSVRFX0ZXKERWU1NUUklERShwaXBlKSwgZmItPnBpdGNoZXNbMF0pOworCUk5MTVfV1JJVEVf RlcoRFZTU1RSSURFKHBpcGUpLCBwbGFuZV9zdGF0ZS0+Y29sb3JfcGxhbmVbMF0uc3RyaWRlKTsK IAlJOTE1X1dSSVRFX0ZXKERWU1BPUyhwaXBlKSwgKGNydGNfeSA8PCAxNikgfCBjcnRjX3gpOwog CiAJaWYgKGZiLT5tb2RpZmllciA9PSBJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRCkKLS0gCjIuMTYu NAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==