From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v4 05/13] drm/i915: Store the final plane stride in plane_state Date: Tue, 11 Sep 2018 18:01:39 +0300 Message-ID: <20180911150139.23922-1-ville.syrjala@linux.intel.com> References: <20180907152413.15761-6-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 371ED6E3A0 for ; Tue, 11 Sep 2018 15:03:29 +0000 (UTC) In-Reply-To: <20180907152413.15761-6-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 bW1pdCBtc2cgKEpvc8OpKQp2NDogQ2hlY2sgY29sb3JfcGxhbmVbMF0uc3RyaWRlIGluc3RlYWQg b2YgZmItPnBpdGNoZXNbMF0gaW4KICAgIHRoZSBza2xfY2hlY2tfbWFpbl9zdXJmYWNlKCkgWC10 aWxpbmcga2x1ZGdlCgpSZXZpZXdlZC1ieTogSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5z b3V6YUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3ly amFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jIHwgNDcgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAxMCArKysrKystLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgIHwgMTIgKysrKy0tLS0tCiAzIGZpbGVzIGNoYW5nZWQs IDQ2IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwppbmRleCBjMGRkNjJhNjE3ZTMuLmVlNjA5MGM0YjdmMCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMjIwMyw3ICsyMjAzLDcgQEAgdTMyIGludGVsX2Zi X3h5X3RvX2xpbmVhcihpbnQgeCwgaW50IHksCiB7CiAJY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1 ZmZlciAqZmIgPSBzdGF0ZS0+YmFzZS5mYjsKIAl1bnNpZ25lZCBpbnQgY3BwID0gZmItPmZvcm1h dC0+Y3BwW3BsYW5lXTsKLQl1bnNpZ25lZCBpbnQgcGl0Y2ggPSBmYi0+cGl0Y2hlc1twbGFuZV07 CisJdW5zaWduZWQgaW50IHBpdGNoID0gc3RhdGUtPmNvbG9yX3BsYW5lW3BsYW5lXS5zdHJpZGU7 CiAKIAlyZXR1cm4geSAqIHBpdGNoICsgeCAqIGNwcDsKIH0KQEAgLTIyNjAsMTEgKzIyNjAsMTEg QEAgc3RhdGljIHUzMiBpbnRlbF9hZGp1c3RfdGlsZV9vZmZzZXQoaW50ICp4LCBpbnQgKnksCiBz dGF0aWMgdTMyIGludGVsX2FkanVzdF9hbGlnbmVkX29mZnNldChpbnQgKngsIGludCAqeSwKIAkJ CQkgICAgICAgY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBwbGFuZSwKIAkJ CQkgICAgICAgdW5zaWduZWQgaW50IHJvdGF0aW9uLAorCQkJCSAgICAgICB1bnNpZ25lZCBpbnQg cGl0Y2gsCiAJCQkJICAgICAgIHUzMiBvbGRfb2Zmc2V0LCB1MzIgbmV3X29mZnNldCkKIHsKIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGZiLT5kZXYpOwogCXVu c2lnbmVkIGludCBjcHAgPSBmYi0+Zm9ybWF0LT5jcHBbcGxhbmVdOwotCXVuc2lnbmVkIGludCBw aXRjaCA9IGludGVsX2ZiX3BpdGNoKGZiLCBwbGFuZSwgcm90YXRpb24pOwogCiAJV0FSTl9PTihu ZXdfb2Zmc2V0ID4gb2xkX29mZnNldCk7CiAKQEAgLTIzMDYsNiArMjMwNiw3IEBAIHN0YXRpYyB1 MzIgaW50ZWxfcGxhbmVfYWRqdXN0X2FsaWduZWRfb2Zmc2V0KGludCAqeCwgaW50ICp5LAogewog CXJldHVybiBpbnRlbF9hZGp1c3RfYWxpZ25lZF9vZmZzZXQoeCwgeSwgc3RhdGUtPmJhc2UuZmIs IHBsYW5lLAogCQkJCQkgICBzdGF0ZS0+YmFzZS5yb3RhdGlvbiwKKwkJCQkJICAgc3RhdGUtPmNv bG9yX3BsYW5lW3BsYW5lXS5zdHJpZGUsCiAJCQkJCSAgIG9sZF9vZmZzZXQsIG5ld19vZmZzZXQp OwogfQogCkBAIC0yMzgyLDcgKzIzODMsNyBAQCBzdGF0aWMgdTMyIGludGVsX3BsYW5lX2NvbXB1 dGVfYWxpZ25lZF9vZmZzZXQoaW50ICp4LCBpbnQgKnksCiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9wbGFuZS0+YmFzZS5kZXYpOwogCWNvbnN0IHN0 cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gc3RhdGUtPmJhc2UuZmI7CiAJdW5zaWduZWQgaW50 IHJvdGF0aW9uID0gc3RhdGUtPmJhc2Uucm90YXRpb247Ci0JaW50IHBpdGNoID0gaW50ZWxfZmJf cGl0Y2goZmIsIHBsYW5lLCByb3RhdGlvbik7CisJaW50IHBpdGNoID0gc3RhdGUtPmNvbG9yX3Bs YW5lW3BsYW5lXS5zdHJpZGU7CiAJdTMyIGFsaWdubWVudDsKIAogCWlmIChpbnRlbF9wbGFuZS0+ aWQgPT0gUExBTkVfQ1VSU09SKQpAQCAtMjQwOSw2ICsyNDEwLDcgQEAgc3RhdGljIGludCBpbnRl bF9mYl9vZmZzZXRfdG9feHkoaW50ICp4LCBpbnQgKnksCiAKIAlpbnRlbF9hZGp1c3RfYWxpZ25l ZF9vZmZzZXQoeCwgeSwKIAkJCQkgICAgZmIsIHBsYW5lLCBEUk1fTU9ERV9ST1RBVEVfMCwKKwkJ CQkgICAgZmItPnBpdGNoZXNbMF0sCiAJCQkJICAgIGZiLT5vZmZzZXRzW3BsYW5lXSwgMCk7CiAK IAlyZXR1cm4gMDsKQEAgLTI4NTUsNiArMjg1Nyw5IEBAIGludGVsX2ZpbmRfaW5pdGlhbF9wbGFu ZV9vYmooc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCiAJcmV0dXJuOwogCiB2YWxpZF9m YjoKKwlpbnRlbF9zdGF0ZS0+Y29sb3JfcGxhbmVbMF0uc3RyaWRlID0KKwkJaW50ZWxfZmJfcGl0 Y2goZmIsIDAsIGludGVsX3N0YXRlLT5iYXNlLnJvdGF0aW9uKTsKKwogCW11dGV4X2xvY2soJmRl di0+c3RydWN0X211dGV4KTsKIAlpbnRlbF9zdGF0ZS0+dm1hID0KIAkJaW50ZWxfcGluX2FuZF9m ZW5jZV9mYl9vYmooZmIsCkBAIC0zMDQ4LDcgKzMwNTMsNyBAQCBzdGF0aWMgaW50IHNrbF9jaGVj a19tYWluX3N1cmZhY2UoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs CiAJaWYgKGZiLT5tb2RpZmllciA9PSBJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRCkgewogCQlpbnQg Y3BwID0gZmItPmZvcm1hdC0+Y3BwWzBdOwogCi0JCXdoaWxlICgoeCArIHcpICogY3BwID4gZmIt PnBpdGNoZXNbMF0pIHsKKwkJd2hpbGUgKCh4ICsgdykgKiBjcHAgPiBwbGFuZV9zdGF0ZS0+Y29s b3JfcGxhbmVbMF0uc3RyaWRlKSB7CiAJCQlpZiAob2Zmc2V0ID09IDApIHsKIAkJCQlEUk1fREVC VUdfS01TKCJVbmFibGUgdG8gZmluZCBzdWl0YWJsZSBkaXNwbGF5IHN1cmZhY2Ugb2Zmc2V0IGR1 ZSB0byBYLXRpbGluZ1xuIik7CiAJCQkJcmV0dXJuIC1FSU5WQUw7CkBAIC0zMTcxLDYgKzMxNzYs OSBAQCBpbnQgc2tsX2NoZWNrX3BsYW5lX3N1cmZhY2UoY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCiAJdW5zaWduZWQgaW50IHJvdGF0aW9uID0gcGxhbmVfc3RhdGUt PmJhc2Uucm90YXRpb247CiAJaW50IHJldDsKIAorCXBsYW5lX3N0YXRlLT5jb2xvcl9wbGFuZVsw XS5zdHJpZGUgPSBpbnRlbF9mYl9waXRjaChmYiwgMCwgcm90YXRpb24pOworCXBsYW5lX3N0YXRl LT5jb2xvcl9wbGFuZVsxXS5zdHJpZGUgPSBpbnRlbF9mYl9waXRjaChmYiwgMSwgcm90YXRpb24p OworCiAJaWYgKHJvdGF0aW9uICYgRFJNX01PREVfUkVGTEVDVF9YICYmCiAJICAgIGZiLT5tb2Rp ZmllciA9PSBEUk1fRk9STUFUX01PRF9MSU5FQVIpIHsKIAkJRFJNX0RFQlVHX0tNUygiaG9yaXpv bnRhbCBmbGlwIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBsaW5lYXIgc3VyZmFjZSBmb3JtYXRzXG4i KTsKQEAgLTMzMDcsMTAgKzMzMTUsMTQgQEAgaW50IGk5eHhfY2hlY2tfcGxhbmVfc3VyZmFjZShz dHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogewogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9CiAJCXRvX2k5MTUocGxhbmVfc3RhdGUtPmJhc2UucGxhbmUt PmRldik7CisJY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFuZV9zdGF0ZS0+ YmFzZS5mYjsKKwl1bnNpZ25lZCBpbnQgcm90YXRpb24gPSBwbGFuZV9zdGF0ZS0+YmFzZS5yb3Rh dGlvbjsKIAlpbnQgc3JjX3ggPSBwbGFuZV9zdGF0ZS0+YmFzZS5zcmMueDEgPj4gMTY7CiAJaW50 IHNyY195ID0gcGxhbmVfc3RhdGUtPmJhc2Uuc3JjLnkxID4+IDE2OwogCXUzMiBvZmZzZXQ7CiAK KwlwbGFuZV9zdGF0ZS0+Y29sb3JfcGxhbmVbMF0uc3RyaWRlID0gaW50ZWxfZmJfcGl0Y2goZmIs IDAsIHJvdGF0aW9uKTsKKwogCWludGVsX2FkZF9mYl9vZmZzZXRzKCZzcmNfeCwgJnNyY195LCBw bGFuZV9zdGF0ZSwgMCk7CiAKIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA0KQpAQCAtMzMy MSw3ICszMzMzLDYgQEAgaW50IGk5eHhfY2hlY2tfcGxhbmVfc3VyZmFjZShzdHJ1Y3QgaW50ZWxf cGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogCiAJLyogSFNXL0JEVyBkbyB0aGlzIGF1dG9tYWdp Y2FsbHkgaW4gaGFyZHdhcmUgKi8KIAlpZiAoIUlTX0hBU1dFTEwoZGV2X3ByaXYpICYmICFJU19C Uk9BRFdFTEwoZGV2X3ByaXYpKSB7Ci0JCXVuc2lnbmVkIGludCByb3RhdGlvbiA9IHBsYW5lX3N0 YXRlLT5iYXNlLnJvdGF0aW9uOwogCQlpbnQgc3JjX3cgPSBkcm1fcmVjdF93aWR0aCgmcGxhbmVf c3RhdGUtPmJhc2Uuc3JjKSA+PiAxNjsKIAkJaW50IHNyY19oID0gZHJtX3JlY3RfaGVpZ2h0KCZw bGFuZV9zdGF0ZS0+YmFzZS5zcmMpID4+IDE2OwogCkBAIC0zMzQ1LDcgKzMzNTYsNiBAQCBzdGF0 aWMgdm9pZCBpOXh4X3VwZGF0ZV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogCQkJ ICAgICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKIHsKIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHBsYW5lLT5iYXNlLmRl dik7Ci0JY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFuZV9zdGF0ZS0+YmFz ZS5mYjsKIAllbnVtIGk5eHhfcGxhbmVfaWQgaTl4eF9wbGFuZSA9IHBsYW5lLT5pOXh4X3BsYW5l OwogCXUzMiBsaW5lYXJfb2Zmc2V0OwogCXUzMiBkc3BjbnRyID0gcGxhbmVfc3RhdGUtPmN0bDsK QEAgLTMzODIsNyArMzM5Miw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX3BsYW5lKHN0cnVj dCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAKIAlJOTE1X1dSSVRFX0ZXKHJlZywgZHNwY250cik7CiAK LQlJOTE1X1dSSVRFX0ZXKERTUFNUUklERShpOXh4X3BsYW5lKSwgZmItPnBpdGNoZXNbMF0pOwor CUk5MTVfV1JJVEVfRlcoRFNQU1RSSURFKGk5eHhfcGxhbmUpLCBwbGFuZV9zdGF0ZS0+Y29sb3Jf cGxhbmVbMF0uc3RyaWRlKTsKIAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwgSVNfQlJPQURX RUxMKGRldl9wcml2KSkgewogCQlJOTE1X1dSSVRFX0ZXKERTUFNVUkYoaTl4eF9wbGFuZSksCiAJ CQkgICAgICBpbnRlbF9wbGFuZV9nZ3R0X29mZnNldChwbGFuZV9zdGF0ZSkgKwpAQCAtMzQ5Miwx NiArMzUwMiwxNiBAQCBzdGF0aWMgdm9pZCBza2xfZGV0YWNoX3NjYWxlcnMoc3RydWN0IGludGVs X2NydGMgKmludGVsX2NydGMpCiAJfQogfQogCi11MzIgc2tsX3BsYW5lX3N0cmlkZShjb25zdCBz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwgaW50IHBsYW5lLAotCQkgICAgIHVuc2lnbmVkIGlu dCByb3RhdGlvbikKK3UzMiBza2xfcGxhbmVfc3RyaWRlKGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFu ZV9zdGF0ZSAqcGxhbmVfc3RhdGUsCisJCSAgICAgaW50IHBsYW5lKQogewotCXUzMiBzdHJpZGU7 CisJY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFuZV9zdGF0ZS0+YmFzZS5m YjsKKwl1bnNpZ25lZCBpbnQgcm90YXRpb24gPSBwbGFuZV9zdGF0ZS0+YmFzZS5yb3RhdGlvbjsK Kwl1MzIgc3RyaWRlID0gcGxhbmVfc3RhdGUtPmNvbG9yX3BsYW5lW3BsYW5lXS5zdHJpZGU7CiAK IAlpZiAocGxhbmUgPj0gZmItPmZvcm1hdC0+bnVtX3BsYW5lcykKIAkJcmV0dXJuIDA7CiAKLQlz dHJpZGUgPSBpbnRlbF9mYl9waXRjaChmYiwgcGxhbmUsIHJvdGF0aW9uKTsKLQogCS8qCiAJICog VGhlIHN0cmlkZSBpcyBlaXRoZXIgZXhwcmVzc2VkIGFzIGEgbXVsdGlwbGUgb2YgNjQgYnl0ZXMg Y2h1bmtzIGZvcgogCSAqIGxpbmVhciBidWZmZXJzIG9yIGluIG51bWJlciBvZiB0aWxlcyBmb3Ig dGlsZWQgYnVmZmVycy4KQEAgLTk2NzIsNiArOTY4Miw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfY2hl Y2tfY3Vyc29yKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICAgICAg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKIHsKIAljb25zdCBzdHJ1Y3Qg ZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5lX3N0YXRlLT5iYXNlLmZiOworCXVuc2lnbmVkIGlu dCByb3RhdGlvbiA9IHBsYW5lX3N0YXRlLT5iYXNlLnJvdGF0aW9uOwogCWludCBzcmNfeCwgc3Jj X3k7CiAJdTMyIG9mZnNldDsKIAlpbnQgcmV0OwpAQCAtOTY5Miw2ICs5NzAzLDggQEAgc3RhdGlj IGludCBpbnRlbF9jaGVja19jdXJzb3Ioc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUsCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAorCXBsYW5lX3N0YXRlLT5jb2xvcl9wbGFuZVsw XS5zdHJpZGUgPSBpbnRlbF9mYl9waXRjaChmYiwgMCwgcm90YXRpb24pOworCiAJc3JjX3ggPSBw bGFuZV9zdGF0ZS0+YmFzZS5zcmNfeCA+PiAxNjsKIAlzcmNfeSA9IHBsYW5lX3N0YXRlLT5iYXNl LnNyY195ID4+IDE2OwogCkBAIC05NzIwLDEyICs5NzMzLDEwIEBAIGk4NDVfY3Vyc29yX21heF9z dHJpZGUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIHN0YXRpYyB1MzIgaTg0NV9jdXJzb3Jf Y3RsKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICAgY29u c3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKIHsKLQljb25zdCBzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5lX3N0YXRlLT5iYXNlLmZiOwotCiAJcmV0dXJu IENVUlNPUl9FTkFCTEUgfAogCQlDVVJTT1JfR0FNTUFfRU5BQkxFIHwKIAkJQ1VSU09SX0ZPUk1B VF9BUkdCIHwKLQkJQ1VSU09SX1NUUklERShmYi0+cGl0Y2hlc1swXSk7CisJCUNVUlNPUl9TVFJJ REUocGxhbmVfc3RhdGUtPmNvbG9yX3BsYW5lWzBdLnN0cmlkZSk7CiB9CiAKIHN0YXRpYyBib29s IGk4NDVfY3Vyc29yX3NpemVfb2soY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFu ZV9zdGF0ZSkKQEAgLTk3NjEsNiArOTc3Miw5IEBAIHN0YXRpYyBpbnQgaTg0NV9jaGVja19jdXJz b3Ioc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCXJldHVybiAtRUlOVkFM OwogCX0KIAorCVdBUk5fT04ocGxhbmVfc3RhdGUtPmJhc2UudmlzaWJsZSAmJgorCQlwbGFuZV9z dGF0ZS0+Y29sb3JfcGxhbmVbMF0uc3RyaWRlICE9IGZiLT5waXRjaGVzWzBdKTsKKwogCXN3aXRj aCAoZmItPnBpdGNoZXNbMF0pIHsKIAljYXNlIDI1NjoKIAljYXNlIDUxMjoKQEAgLTk5NjIsNiAr OTk3Niw5IEBAIHN0YXRpYyBpbnQgaTl4eF9jaGVja19jdXJzb3Ioc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAorCVdBUk5fT04ocGxh bmVfc3RhdGUtPmJhc2UudmlzaWJsZSAmJgorCQlwbGFuZV9zdGF0ZS0+Y29sb3JfcGxhbmVbMF0u c3RyaWRlICE9IGZiLT5waXRjaGVzWzBdKTsKKwogCWlmIChmYi0+cGl0Y2hlc1swXSAhPSBwbGFu ZV9zdGF0ZS0+YmFzZS5jcnRjX3cgKiBmYi0+Zm9ybWF0LT5jcHBbMF0pIHsKIAkJRFJNX0RFQlVH X0tNUygiSW52YWxpZCBjdXJzb3Igc3RyaWRlICgldSkgKGN1cnNvciB3aWR0aCAlZClcbiIsCiAJ CQkgICAgICBmYi0+cGl0Y2hlc1swXSwgcGxhbmVfc3RhdGUtPmJhc2UuY3J0Y193KTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggOWUxNmJkY2ZmYzg0Li5mMTdjMmJiOGM0ZWYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC01MDMsNiArNTAzLDEyIEBAIHN0cnVjdCBpbnRlbF9w bGFuZV9zdGF0ZSB7CiAKIAlzdHJ1Y3QgewogCQl1MzIgb2Zmc2V0OworCQkvKgorCQkgKiBQbGFu ZSBzdHJpZGUgaW46CisJCSAqIGJ5dGVzIGZvciAwLzE4MCBkZWdyZWUgcm90YXRpb24KKwkJICog cGl4ZWxzIGZvciA5MC8yNzAgZGVncmVlIHJvdGF0aW9uCisJCSAqLworCQl1MzIgc3RyaWRlOwog CQlpbnQgeCwgeTsKIAl9IGNvbG9yX3BsYW5lWzJdOwogCkBAIC0xNjU1LDggKzE2NjEsOCBAQCB1 MzIgZ2xrX3BsYW5lX2NvbG9yX2N0bChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwKIHUzMiBza2xfcGxhbmVfY3RsKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlLAogCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVf c3RhdGUpOwogdTMyIGdsa19jb2xvcl9jdGwoY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRl ICpwbGFuZV9zdGF0ZSk7Ci11MzIgc2tsX3BsYW5lX3N0cmlkZShjb25zdCBzdHJ1Y3QgZHJtX2Zy YW1lYnVmZmVyICpmYiwgaW50IHBsYW5lLAotCQkgICAgIHVuc2lnbmVkIGludCByb3RhdGlvbik7 Cit1MzIgc2tsX3BsYW5lX3N0cmlkZShjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBs YW5lX3N0YXRlLAorCQkgICAgIGludCBwbGFuZSk7CiBpbnQgc2tsX2NoZWNrX3BsYW5lX3N1cmZh Y2UoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICAgc3Ry dWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSk7CiBpbnQgaTl4eF9jaGVja19wbGFu ZV9zdXJmYWNlKHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9zcHJpdGUuYwppbmRleCBkZjBjZjNkMmVhOTguLmVlOThjN2JjMmY5ZCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKQEAgLTI1OSw5ICsyNTksOCBAQCBza2xf dXBkYXRlX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJdTMyIHBsYW5lX2N0bCA9 IHBsYW5lX3N0YXRlLT5jdGw7CiAJY29uc3Qgc3RydWN0IGRybV9pbnRlbF9zcHJpdGVfY29sb3Jr ZXkgKmtleSA9ICZwbGFuZV9zdGF0ZS0+Y2tleTsKIAl1MzIgc3VyZl9hZGRyID0gcGxhbmVfc3Rh dGUtPmNvbG9yX3BsYW5lWzBdLm9mZnNldDsKLQl1bnNpZ25lZCBpbnQgcm90YXRpb24gPSBwbGFu ZV9zdGF0ZS0+YmFzZS5yb3RhdGlvbjsKLQl1MzIgc3RyaWRlID0gc2tsX3BsYW5lX3N0cmlkZShm YiwgMCwgcm90YXRpb24pOwotCXUzMiBhdXhfc3RyaWRlID0gc2tsX3BsYW5lX3N0cmlkZShmYiwg MSwgcm90YXRpb24pOworCXUzMiBzdHJpZGUgPSBza2xfcGxhbmVfc3RyaWRlKHBsYW5lX3N0YXRl LCAwKTsKKwl1MzIgYXV4X3N0cmlkZSA9IHNrbF9wbGFuZV9zdHJpZGUocGxhbmVfc3RhdGUsIDEp OwogCWludCBjcnRjX3ggPSBwbGFuZV9zdGF0ZS0+YmFzZS5kc3QueDE7CiAJaW50IGNydGNfeSA9 IHBsYW5lX3N0YXRlLT5iYXNlLmRzdC55MTsKIAl1aW50MzJfdCBjcnRjX3cgPSBkcm1fcmVjdF93 aWR0aCgmcGxhbmVfc3RhdGUtPmJhc2UuZHN0KTsKQEAgLTU5Miw3ICs1OTEsOCBAQCB2bHZfdXBk YXRlX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJCUk5MTVfV1JJVEVfRlcoU1BL RVlNQVhWQUwocGlwZSwgcGxhbmVfaWQpLCBrZXktPm1heF92YWx1ZSk7CiAJCUk5MTVfV1JJVEVf RlcoU1BLRVlNU0socGlwZSwgcGxhbmVfaWQpLCBrZXktPmNoYW5uZWxfbWFzayk7CiAJfQotCUk5 MTVfV1JJVEVfRlcoU1BTVFJJREUocGlwZSwgcGxhbmVfaWQpLCBmYi0+cGl0Y2hlc1swXSk7CisJ STkxNV9XUklURV9GVyhTUFNUUklERShwaXBlLCBwbGFuZV9pZCksCisJCSAgICAgIHBsYW5lX3N0 YXRlLT5jb2xvcl9wbGFuZVswXS5zdHJpZGUpOwogCUk5MTVfV1JJVEVfRlcoU1BQT1MocGlwZSwg cGxhbmVfaWQpLCAoY3J0Y195IDw8IDE2KSB8IGNydGNfeCk7CiAKIAlpZiAoZmItPm1vZGlmaWVy ID09IEk5MTVfRk9STUFUX01PRF9YX1RJTEVEKQpAQCAtNzU0LDcgKzc1NCw3IEBAIGl2Yl91cGRh dGVfcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAkJSTkxNV9XUklURV9GVyhTUFJL RVlNU0socGlwZSksIGtleS0+Y2hhbm5lbF9tYXNrKTsKIAl9CiAKLQlJOTE1X1dSSVRFX0ZXKFNQ UlNUUklERShwaXBlKSwgZmItPnBpdGNoZXNbMF0pOworCUk5MTVfV1JJVEVfRlcoU1BSU1RSSURF KHBpcGUpLCBwbGFuZV9zdGF0ZS0+Y29sb3JfcGxhbmVbMF0uc3RyaWRlKTsKIAlJOTE1X1dSSVRF X0ZXKFNQUlBPUyhwaXBlKSwgKGNydGNfeSA8PCAxNikgfCBjcnRjX3gpOwogCiAJLyogSFNXIGNv bnNvbGlkYXRlcyBTUFJUSUxFT0ZGIGFuZCBTUFJMSU5PRkYgaW50byBhIHNpbmdsZSBTUFJPRkZT RVQKQEAgLTkyNiw3ICs5MjYsNyBAQCBnNHhfdXBkYXRlX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFu ZSAqcGxhbmUsCiAJCUk5MTVfV1JJVEVfRlcoRFZTS0VZTVNLKHBpcGUpLCBrZXktPmNoYW5uZWxf bWFzayk7CiAJfQogCi0JSTkxNV9XUklURV9GVyhEVlNTVFJJREUocGlwZSksIGZiLT5waXRjaGVz WzBdKTsKKwlJOTE1X1dSSVRFX0ZXKERWU1NUUklERShwaXBlKSwgcGxhbmVfc3RhdGUtPmNvbG9y X3BsYW5lWzBdLnN0cmlkZSk7CiAJSTkxNV9XUklURV9GVyhEVlNQT1MocGlwZSksIChjcnRjX3kg PDwgMTYpIHwgY3J0Y194KTsKIAogCWlmIChmYi0+bW9kaWZpZXIgPT0gSTkxNV9GT1JNQVRfTU9E X1hfVElMRUQpCi0tIAoyLjE2LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=