From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Subject: [PATCH v2 01/10] drm/i915/skl: Move per-pipe ddb allocations into crtc states Date: Fri, 7 Oct 2016 20:11:25 -0400 Message-ID: <1475885497-6094-2-git-send-email-cpaul@redhat.com> References: <1475885497-6094-1-git-send-email-cpaul@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1475885497-6094-1-git-send-email-cpaul@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org Cc: Paulo Zanoni , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Daniel Vetter , Lyude List-Id: dri-devel@lists.freedesktop.org Rmlyc3QgcGFydCBvZiBjbGVhbmluZyB1cCBhbGwgb2YgdGhlIHNrbCB3YXRlcm1hcmsgY29kZS4g VGhpcyBtb3ZlcyB0aGUKc3RydWN0dXJlcyBmb3Igc3RvcmluZyB0aGUgZGRiIGFsbG9jYXRpb25z IG9mIGVhY2ggcGlwZSBpbnRvCmludGVsX2NydGNfc3RhdGUsIGFsb25nIHdpdGggbW92aW5nIHRo ZSBzdHJ1Y3R1cmVzIGZvciBzdG9yaW5nIHRoZQpjdXJyZW50IGRkYiBhbGxvY2F0aW9ucyBhY3Rp dmUgb24gaGFyZHdhcmUgaW50byBpbnRlbF9jcnRjLgoKQ2hhbmdlcyBzaW5jZSB2MToKLSBEb24n dCByZXBsYWNlIGFsbG9jLT5zdGFydCA9IGFsbG9jLT5lbmQgPSAwOwoKU2lnbmVkLW9mZi1ieTog THl1ZGUgPGNwYXVsQHJlZGhhdC5jb20+ClJldmlld2VkLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8 bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgpDYzogVmlsbGUgU3lyasOkbMOkIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56 YW5vbmlAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAg ICB8ICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDE2ICsrKysr KysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgIDggKysr KystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICB8IDQwICsrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRp b25zKCspLCAzNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBhMjE5 YTM1Li5iYjJkZThkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE2MzcsNyArMTYzNyw2 IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBza2xfZGRiX2VudHJ5X2VxdWFsKGNvbnN0IHN0cnVjdCBz a2xfZGRiX2VudHJ5ICplMSwKIH0KIAogc3RydWN0IHNrbF9kZGJfYWxsb2NhdGlvbiB7Ci0Jc3Ry dWN0IHNrbF9kZGJfZW50cnkgcGlwZVtJOTE1X01BWF9QSVBFU107CiAJc3RydWN0IHNrbF9kZGJf ZW50cnkgcGxhbmVbSTkxNV9NQVhfUElQRVNdW0k5MTVfTUFYX1BMQU5FU107IC8qIHBhY2tlZC91 diAqLwogCXN0cnVjdCBza2xfZGRiX2VudHJ5IHlfcGxhbmVbSTkxNV9NQVhfUElQRVNdW0k5MTVf TUFYX1BMQU5FU107CiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IGEz NjY2NTYuLjE3NzMzYWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTE0 MjM1LDEyICsxNDIzNSwxMSBAQCBzdGF0aWMgdm9pZCBza2xfdXBkYXRlX2NydGNzKHN0cnVjdCBk cm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJCSAgICAgdW5zaWduZWQgaW50ICpjcnRjX3ZibGFu a19tYXNrKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBzdGF0ZS0+ZGV2OwotCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIAlzdHJ1Y3QgaW50 ZWxfYXRvbWljX3N0YXRlICppbnRlbF9zdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShzdGF0 ZSk7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjOworCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjOwogCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGU7Ci0Jc3RydWN0IHNr bF9kZGJfYWxsb2NhdGlvbiAqbmV3X2RkYiA9ICZpbnRlbF9zdGF0ZS0+d21fcmVzdWx0cy5kZGI7 Ci0Jc3RydWN0IHNrbF9kZGJfYWxsb2NhdGlvbiAqY3VyX2RkYiA9ICZkZXZfcHJpdi0+d20uc2ts X2h3LmRkYjsKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlOwogCXVuc2lnbmVkIGlu dCB1cGRhdGVkID0gMDsKIAlib29sIHByb2dyZXNzOwogCWVudW0gcGlwZSBwaXBlOwpAQCAtMTQy NTgsMTIgKzE0MjU3LDE0IEBAIHN0YXRpYyB2b2lkIHNrbF91cGRhdGVfY3J0Y3Moc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQlmb3JfZWFjaF9jcnRjX2luX3N0YXRlKHN0YXRlLCBj cnRjLCBvbGRfY3J0Y19zdGF0ZSwgaSkgewogCQkJYm9vbCB2Ymxfd2FpdCA9IGZhbHNlOwogCQkJ dW5zaWduZWQgaW50IGNtYXNrID0gZHJtX2NydGNfbWFzayhjcnRjKTsKLQkJCXBpcGUgPSB0b19p bnRlbF9jcnRjKGNydGMpLT5waXBlOworCisJCQlpbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjKTsKKwkJCWNzdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOworCQkJ cGlwZSA9IGludGVsX2NydGMtPnBpcGU7CiAKIAkJCWlmICh1cGRhdGVkICYgY21hc2sgfHwgIWNy dGMtPnN0YXRlLT5hY3RpdmUpCiAJCQkJY29udGludWU7Ci0JCQlpZiAoc2tsX2RkYl9hbGxvY2F0 aW9uX292ZXJsYXBzKHN0YXRlLCBjdXJfZGRiLCBuZXdfZGRiLAotCQkJCQkJCXBpcGUpKQorCQkJ aWYgKHNrbF9kZGJfYWxsb2NhdGlvbl9vdmVybGFwcyhzdGF0ZSwgaW50ZWxfY3J0YykpCiAJCQkJ Y29udGludWU7CiAKIAkJCXVwZGF0ZWQgfD0gY21hc2s7CkBAIC0xNDI3NCw3ICsxNDI3NSw4IEBA IHN0YXRpYyB2b2lkIHNrbF91cGRhdGVfY3J0Y3Moc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0 YXRlLAogCQkJICogdGhlbiB3ZSBuZWVkIHRvIHdhaXQgZm9yIGEgdmJsYW5rIHRvIHBhc3MgZm9y IHRoZQogCQkJICogbmV3IGRkYiBhbGxvY2F0aW9uIHRvIHRha2UgZWZmZWN0LgogCQkJICovCi0J CQlpZiAoIXNrbF9kZGJfYWxsb2NhdGlvbl9lcXVhbHMoY3VyX2RkYiwgbmV3X2RkYiwgcGlwZSkg JiYKKwkJCWlmICghc2tsX2RkYl9lbnRyeV9lcXVhbCgmY3N0YXRlLT53bS5za2wuZGRiLAorCQkJ CQkJICZpbnRlbF9jcnRjLT5od19kZGIpICYmCiAJCQkgICAgIWNydGMtPnN0YXRlLT5hY3RpdmVf Y2hhbmdlZCAmJgogCQkJICAgIGludGVsX3N0YXRlLT53bV9yZXN1bHRzLmRpcnR5X3BpcGVzICE9 IHVwZGF0ZWQpCiAJCQkJdmJsX3dhaXQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApp bmRleCBmNDhlNzlhLi4zNWJhMjgyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtNDk2 LDYgKzQ5Niw3IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3dtX3N0YXRlIHsKIAkJc3RydWN0IHsKIAkJ CS8qIGdlbjkrIG9ubHkgbmVlZHMgMS1zdGVwIHdtIHByb2dyYW1taW5nICovCiAJCQlzdHJ1Y3Qg c2tsX3BpcGVfd20gb3B0aW1hbDsKKwkJCXN0cnVjdCBza2xfZGRiX2VudHJ5IGRkYjsKIAogCQkJ LyogY2FjaGVkIHBsYW5lIGRhdGEgcmF0ZSAqLwogCQkJdW5zaWduZWQgcGxhbmVfZGF0YV9yYXRl W0k5MTVfTUFYX1BMQU5FU107CkBAIC03MzMsNiArNzM0LDkgQEAgc3RydWN0IGludGVsX2NydGMg ewogCQlib29sIGN4c3JfYWxsb3dlZDsKIAl9IHdtOwogCisJLyogZ2VuOSs6IGRkYiBhbGxvY2F0 aW9uIGN1cnJlbnRseSBiZWluZyB1c2VkICovCisJc3RydWN0IHNrbF9kZGJfZW50cnkgaHdfZGRi OworCiAJaW50IHNjYW5saW5lX29mZnNldDsKIAogCXN0cnVjdCB7CkBAIC0xNzU1LDkgKzE3NTks NyBAQCBib29sIHNrbF9kZGJfYWxsb2NhdGlvbl9lcXVhbHMoY29uc3Qgc3RydWN0IHNrbF9kZGJf YWxsb2NhdGlvbiAqb2xkLAogCQkJICAgICAgIGNvbnN0IHN0cnVjdCBza2xfZGRiX2FsbG9jYXRp b24gKm5ldywKIAkJCSAgICAgICBlbnVtIHBpcGUgcGlwZSk7CiBib29sIHNrbF9kZGJfYWxsb2Nh dGlvbl9vdmVybGFwcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCi0JCQkJIGNvbnN0 IHN0cnVjdCBza2xfZGRiX2FsbG9jYXRpb24gKm9sZCwKLQkJCQkgY29uc3Qgc3RydWN0IHNrbF9k ZGJfYWxsb2NhdGlvbiAqbmV3LAotCQkJCSBlbnVtIHBpcGUgcGlwZSk7CisJCQkJIHN0cnVjdCBp bnRlbF9jcnRjICppbnRlbF9jcnRjKTsKIHZvaWQgc2tsX3dyaXRlX2N1cnNvcl93bShzdHJ1Y3Qg aW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKIAkJCSBjb25zdCBzdHJ1Y3Qgc2tsX3dtX3ZhbHVlcyAq d20pOwogdm9pZCBza2xfd3JpdGVfcGxhbmVfd20oc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRleCBmZTZjMWM2Li42ODM1NWIwIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BtLmMKQEAgLTMwNTgsNyArMzA1OCw2IEBAIHNrbF9kZGJfZ2V0X3BpcGVf YWxsb2NhdGlvbl9saW1pdHMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlzdHJ1Y3QgZHJtX2Ny dGMgKmZvcl9jcnRjID0gY3N0YXRlLT5iYXNlLmNydGM7CiAJdW5zaWduZWQgaW50IHBpcGVfc2l6 ZSwgZGRiX3NpemU7CiAJaW50IG50aF9hY3RpdmVfcGlwZTsKLQlpbnQgcGlwZSA9IHRvX2ludGVs X2NydGMoZm9yX2NydGMpLT5waXBlOwogCiAJaWYgKFdBUk5fT04oIXN0YXRlKSB8fCAhY3N0YXRl LT5iYXNlLmFjdGl2ZSkgewogCQlhbGxvYy0+c3RhcnQgPSAwOwpAQCAtMzA4Niw3ICszMDg1LDcg QEAgc2tsX2RkYl9nZXRfcGlwZV9hbGxvY2F0aW9uX2xpbWl0cyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAogCSAqIHdlIGN1cnJlbnRseSBob2xkLgogCSAqLwogCWlmICghaW50ZWxfc3RhdGUtPmFj dGl2ZV9waXBlX2NoYW5nZXMpIHsKLQkJKmFsbG9jID0gZGV2X3ByaXYtPndtLnNrbF9ody5kZGIu cGlwZVtwaXBlXTsKKwkJKmFsbG9jID0gdG9faW50ZWxfY3J0Yyhmb3JfY3J0YyktPmh3X2RkYjsK IAkJcmV0dXJuOwogCX0KIApAQCAtMzM1NCw3ICszMzUzLDcgQEAgc2tsX2FsbG9jYXRlX3BpcGVf ZGRiKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCiAJc3RydWN0IGRybV9wbGFuZSAq cGxhbmU7CiAJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcHN0YXRlOwogCWVudW0gcGlwZSBwaXBl ID0gaW50ZWxfY3J0Yy0+cGlwZTsKLQlzdHJ1Y3Qgc2tsX2RkYl9lbnRyeSAqYWxsb2MgPSAmZGRi LT5waXBlW3BpcGVdOworCXN0cnVjdCBza2xfZGRiX2VudHJ5ICphbGxvYyA9ICZjc3RhdGUtPndt LnNrbC5kZGI7CiAJdWludDE2X3QgYWxsb2Nfc2l6ZSwgc3RhcnQsIGN1cnNvcl9ibG9ja3M7CiAJ dWludDE2X3QgKm1pbmltdW0gPSBjc3RhdGUtPndtLnNrbC5taW5pbXVtX2Jsb2NrczsKIAl1aW50 MTZfdCAqeV9taW5pbXVtID0gY3N0YXRlLT53bS5za2wubWluaW11bV95X2Jsb2NrczsKQEAgLTMz NzAsNyArMzM2OSw3IEBAIHNrbF9hbGxvY2F0ZV9waXBlX2RkYihzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3N0YXRlLAogCQlyZXR1cm4gMDsKIAogCWlmICghY3N0YXRlLT5iYXNlLmFjdGl2ZSkg ewotCQlkZGItPnBpcGVbcGlwZV0uc3RhcnQgPSBkZGItPnBpcGVbcGlwZV0uZW5kID0gMDsKKwkJ YWxsb2MtPnN0YXJ0ID0gYWxsb2MtPmVuZCA9IDA7CiAJCXJldHVybiAwOwogCX0KIApAQCAtMzg5 NywxNCArMzg5Niw2IEBAIHZvaWQgc2tsX3dyaXRlX2N1cnNvcl93bShzdHJ1Y3QgaW50ZWxfY3J0 YyAqaW50ZWxfY3J0YywKIAkJCSAgICAmd20tPmRkYi5wbGFuZVtwaXBlXVtQTEFORV9DVVJTT1Jd KTsKIH0KIAotYm9vbCBza2xfZGRiX2FsbG9jYXRpb25fZXF1YWxzKGNvbnN0IHN0cnVjdCBza2xf ZGRiX2FsbG9jYXRpb24gKm9sZCwKLQkJCSAgICAgICBjb25zdCBzdHJ1Y3Qgc2tsX2RkYl9hbGxv Y2F0aW9uICpuZXcsCi0JCQkgICAgICAgZW51bSBwaXBlIHBpcGUpCi17Ci0JcmV0dXJuIG5ldy0+ cGlwZVtwaXBlXS5zdGFydCA9PSBvbGQtPnBpcGVbcGlwZV0uc3RhcnQgJiYKLQkgICAgICAgbmV3 LT5waXBlW3BpcGVdLmVuZCA9PSBvbGQtPnBpcGVbcGlwZV0uZW5kOwotfQotCiBzdGF0aWMgaW5s aW5lIGJvb2wgc2tsX2RkYl9lbnRyaWVzX292ZXJsYXAoY29uc3Qgc3RydWN0IHNrbF9kZGJfZW50 cnkgKmEsCiAJCQkJCSAgIGNvbnN0IHN0cnVjdCBza2xfZGRiX2VudHJ5ICpiKQogewpAQCAtMzkx MiwyMiArMzkwMywyMiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2tsX2RkYl9lbnRyaWVzX292ZXJs YXAoY29uc3Qgc3RydWN0IHNrbF9kZGJfZW50cnkgKmEsCiB9CiAKIGJvb2wgc2tsX2RkYl9hbGxv Y2F0aW9uX292ZXJsYXBzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKLQkJCQkgY29u c3Qgc3RydWN0IHNrbF9kZGJfYWxsb2NhdGlvbiAqb2xkLAotCQkJCSBjb25zdCBzdHJ1Y3Qgc2ts X2RkYl9hbGxvY2F0aW9uICpuZXcsCi0JCQkJIGVudW0gcGlwZSBwaXBlKQorCQkJCSBzdHJ1Y3Qg aW50ZWxfY3J0YyAqaW50ZWxfY3J0YykKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gc3Rh dGUtPmRldjsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YzsKLQllbnVtIHBpcGUgb3Ro ZXJwOworCXN0cnVjdCBkcm1fY3J0YyAqb3RoZXJfY3J0YzsKKwlzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgKm90aGVyX2NzdGF0ZTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqb3RoZXJfaW50ZWxfY3J0YzsK Kwljb25zdCBzdHJ1Y3Qgc2tsX2RkYl9lbnRyeSAqZGRiID0KKwkJJnRvX2ludGVsX2NydGNfc3Rh dGUoaW50ZWxfY3J0Yy0+YmFzZS5zdGF0ZSktPndtLnNrbC5kZGI7CisJaW50IGk7CiAKLQlmb3Jf ZWFjaF9pbnRlbF9jcnRjKGRldiwgaW50ZWxfY3J0YykgewotCQlvdGhlcnAgPSBpbnRlbF9jcnRj LT5waXBlOworCWZvcl9lYWNoX2NydGNfaW5fc3RhdGUoc3RhdGUsIG90aGVyX2NydGMsIG90aGVy X2NzdGF0ZSwgaSkgeworCQlvdGhlcl9pbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhvdGhlcl9j cnRjKTsKIAotCQlpZiAob3RoZXJwID09IHBpcGUpCisJCWlmIChvdGhlcl9pbnRlbF9jcnRjID09 IGludGVsX2NydGMpCiAJCQljb250aW51ZTsKIAotCQlpZiAoc2tsX2RkYl9lbnRyaWVzX292ZXJs YXAoJm5ldy0+cGlwZVtwaXBlXSwKLQkJCQkJICAgICZvbGQtPnBpcGVbb3RoZXJwXSkpCisJCWlm IChza2xfZGRiX2VudHJpZXNfb3ZlcmxhcChkZGIsICZvdGhlcl9pbnRlbF9jcnRjLT5od19kZGIp KQogCQkJcmV0dXJuIHRydWU7CiAJfQogCkBAIC00MDkyLDcgKzQwODMsNiBAQCBza2xfY29weV93 bV9mb3JfcGlwZShzdHJ1Y3Qgc2tsX3dtX3ZhbHVlcyAqZHN0LAogCW1lbWNweShkc3QtPnBsYW5l X3RyYW5zW3BpcGVdLCBzcmMtPnBsYW5lX3RyYW5zW3BpcGVdLAogCSAgICAgICBzaXplb2YoZHN0 LT5wbGFuZV90cmFuc1twaXBlXSkpOwogCi0JZHN0LT5kZGIucGlwZVtwaXBlXSA9IHNyYy0+ZGRi LnBpcGVbcGlwZV07CiAJbWVtY3B5KGRzdC0+ZGRiLnlfcGxhbmVbcGlwZV0sIHNyYy0+ZGRiLnlf cGxhbmVbcGlwZV0sCiAJICAgICAgIHNpemVvZihkc3QtPmRkYi55X3BsYW5lW3BpcGVdKSk7CiAJ bWVtY3B5KGRzdC0+ZGRiLnBsYW5lW3BpcGVdLCBzcmMtPmRkYi5wbGFuZVtwaXBlXSwKQEAgLTQy MDAsNiArNDE5MCw4IEBAIHN0YXRpYyB2b2lkIHNrbF91cGRhdGVfd20oc3RydWN0IGRybV9jcnRj ICpjcnRjKQogCiAJc2tsX2NvcHlfd21fZm9yX3BpcGUoaHdfdmFscywgcmVzdWx0cywgcGlwZSk7 CiAKKwlpbnRlbF9jcnRjLT5od19kZGIgPSBjc3RhdGUtPndtLnNrbC5kZGI7CisKIAltdXRleF91 bmxvY2soJmRldl9wcml2LT53bS53bV9tdXRleCk7CiB9CiAKLS0gCjIuNy40CgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK