From: Lyude Subject: [PATCH v3 01/10] drm/i915/skl: Move per-pipe ddb allocations into crtc states Date: Fri, 14 Oct 2016 17:31:49 -0400 Message-ID: <1476480722-13015-2-git-send-email-cpaul@redhat.com> References: <1476480722-13015-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: <1476480722-13015-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 bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogUGF1bG8gWmFu b25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+CkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxl LnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVy QGludGVsLmNvbQpDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgIHwgIDEgLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMTYgKysrKysrKystLS0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgOCArKysrKy0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgIHwgNDAgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGZlODc1YjIuLmFjNDI4N2Y5OSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0xNjQxLDcgKzE2NDEsNiBAQCBzdGF0aWMgaW5saW5l IGJvb2wgc2tsX2RkYl9lbnRyeV9lcXVhbChjb25zdCBzdHJ1Y3Qgc2tsX2RkYl9lbnRyeSAqZTEs CiB9CiAKIHN0cnVjdCBza2xfZGRiX2FsbG9jYXRpb24gewotCXN0cnVjdCBza2xfZGRiX2VudHJ5 IHBpcGVbSTkxNV9NQVhfUElQRVNdOwogCXN0cnVjdCBza2xfZGRiX2VudHJ5IHBsYW5lW0k5MTVf TUFYX1BJUEVTXVtJOTE1X01BWF9QTEFORVNdOyAvKiBwYWNrZWQvdXYgKi8KIAlzdHJ1Y3Qgc2ts X2RkYl9lbnRyeSB5X3BsYW5lW0k5MTVfTUFYX1BJUEVTXVtJOTE1X01BWF9QTEFORVNdOwogfTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCA2MGM2OTllLi43YTY4Y2MzIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0xNDI0NiwxMiArMTQyNDYsMTEg QEAgc3RhdGljIHZvaWQgc2tsX3VwZGF0ZV9jcnRjcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUsCiAJCQkgICAgIHVuc2lnbmVkIGludCAqY3J0Y192YmxhbmtfbWFzaykKIHsKIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gc3RhdGUtPmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq aW50ZWxfc3RhdGUgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpOwogCXN0cnVjdCBkcm1f Y3J0YyAqY3J0YzsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YzsKIAlzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlOwotCXN0cnVjdCBza2xfZGRiX2FsbG9jYXRpb24g Km5ld19kZGIgPSAmaW50ZWxfc3RhdGUtPndtX3Jlc3VsdHMuZGRiOwotCXN0cnVjdCBza2xfZGRi X2FsbG9jYXRpb24gKmN1cl9kZGIgPSAmZGV2X3ByaXYtPndtLnNrbF9ody5kZGI7CisJc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZTsKIAl1bnNpZ25lZCBpbnQgdXBkYXRlZCA9IDA7CiAJ Ym9vbCBwcm9ncmVzczsKIAllbnVtIHBpcGUgcGlwZTsKQEAgLTE0MjY5LDEyICsxNDI2OCwxNCBA QCBzdGF0aWMgdm9pZCBza2xfdXBkYXRlX2NydGNzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSwKIAkJZm9yX2VhY2hfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3Rh dGUsIGkpIHsKIAkJCWJvb2wgdmJsX3dhaXQgPSBmYWxzZTsKIAkJCXVuc2lnbmVkIGludCBjbWFz ayA9IGRybV9jcnRjX21hc2soY3J0Yyk7Ci0JCQlwaXBlID0gdG9faW50ZWxfY3J0YyhjcnRjKS0+ cGlwZTsKKworCQkJaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CisJCQljc3RhdGUg PSB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKKwkJCXBpcGUgPSBpbnRlbF9jcnRj LT5waXBlOwogCiAJCQlpZiAodXBkYXRlZCAmIGNtYXNrIHx8ICFjcnRjLT5zdGF0ZS0+YWN0aXZl KQogCQkJCWNvbnRpbnVlOwotCQkJaWYgKHNrbF9kZGJfYWxsb2NhdGlvbl9vdmVybGFwcyhzdGF0 ZSwgY3VyX2RkYiwgbmV3X2RkYiwKLQkJCQkJCQlwaXBlKSkKKwkJCWlmIChza2xfZGRiX2FsbG9j YXRpb25fb3ZlcmxhcHMoc3RhdGUsIGludGVsX2NydGMpKQogCQkJCWNvbnRpbnVlOwogCiAJCQl1 cGRhdGVkIHw9IGNtYXNrOwpAQCAtMTQyODUsNyArMTQyODYsOCBAQCBzdGF0aWMgdm9pZCBza2xf dXBkYXRlX2NydGNzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJCSAqIHRoZW4g d2UgbmVlZCB0byB3YWl0IGZvciBhIHZibGFuayB0byBwYXNzIGZvciB0aGUKIAkJCSAqIG5ldyBk ZGIgYWxsb2NhdGlvbiB0byB0YWtlIGVmZmVjdC4KIAkJCSAqLwotCQkJaWYgKCFza2xfZGRiX2Fs bG9jYXRpb25fZXF1YWxzKGN1cl9kZGIsIG5ld19kZGIsIHBpcGUpICYmCisJCQlpZiAoIXNrbF9k ZGJfZW50cnlfZXF1YWwoJmNzdGF0ZS0+d20uc2tsLmRkYiwKKwkJCQkJCSAmaW50ZWxfY3J0Yy0+ aHdfZGRiKSAmJgogCQkJICAgICFjcnRjLT5zdGF0ZS0+YWN0aXZlX2NoYW5nZWQgJiYKIAkJCSAg ICBpbnRlbF9zdGF0ZS0+d21fcmVzdWx0cy5kaXJ0eV9waXBlcyAhPSB1cGRhdGVkKQogCQkJCXZi bF93YWl0ID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggNWJjMTE1NC4uMTBh MGNmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTQ5Niw2ICs0OTYsNyBAQCBzdHJ1 Y3QgaW50ZWxfY3J0Y193bV9zdGF0ZSB7CiAJCXN0cnVjdCB7CiAJCQkvKiBnZW45KyBvbmx5IG5l ZWRzIDEtc3RlcCB3bSBwcm9ncmFtbWluZyAqLwogCQkJc3RydWN0IHNrbF9waXBlX3dtIG9wdGlt YWw7CisJCQlzdHJ1Y3Qgc2tsX2RkYl9lbnRyeSBkZGI7CiAKIAkJCS8qIGNhY2hlZCBwbGFuZSBk YXRhIHJhdGUgKi8KIAkJCXVuc2lnbmVkIHBsYW5lX2RhdGFfcmF0ZVtJOTE1X01BWF9QTEFORVNd OwpAQCAtNzMzLDYgKzczNCw5IEBAIHN0cnVjdCBpbnRlbF9jcnRjIHsKIAkJYm9vbCBjeHNyX2Fs bG93ZWQ7CiAJfSB3bTsKIAorCS8qIGdlbjkrOiBkZGIgYWxsb2NhdGlvbiBjdXJyZW50bHkgYmVp bmcgdXNlZCAqLworCXN0cnVjdCBza2xfZGRiX2VudHJ5IGh3X2RkYjsKKwogCWludCBzY2FubGlu ZV9vZmZzZXQ7CiAKIAlzdHJ1Y3QgewpAQCAtMTc1NSw5ICsxNzU5LDcgQEAgYm9vbCBza2xfZGRi X2FsbG9jYXRpb25fZXF1YWxzKGNvbnN0IHN0cnVjdCBza2xfZGRiX2FsbG9jYXRpb24gKm9sZCwK IAkJCSAgICAgICBjb25zdCBzdHJ1Y3Qgc2tsX2RkYl9hbGxvY2F0aW9uICpuZXcsCiAJCQkgICAg ICAgZW51bSBwaXBlIHBpcGUpOwogYm9vbCBza2xfZGRiX2FsbG9jYXRpb25fb3ZlcmxhcHMoc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAotCQkJCSBjb25zdCBzdHJ1Y3Qgc2tsX2RkYl9h bGxvY2F0aW9uICpvbGQsCi0JCQkJIGNvbnN0IHN0cnVjdCBza2xfZGRiX2FsbG9jYXRpb24gKm5l dywKLQkJCQkgZW51bSBwaXBlIHBpcGUpOworCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxf Y3J0Yyk7CiB2b2lkIHNrbF93cml0ZV9jdXJzb3Jfd20oc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMsCiAJCQkgY29uc3Qgc3RydWN0IHNrbF93bV92YWx1ZXMgKndtKTsKIHZvaWQgc2tsX3dy aXRlX3BsYW5lX3dtKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3BtLmMKaW5kZXggNDhiMzkwNC4uNjY1ODZhZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5j CkBAIC0zMDYyLDcgKzMwNjIsNiBAQCBza2xfZGRiX2dldF9waXBlX2FsbG9jYXRpb25fbGltaXRz KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJc3RydWN0IGRybV9jcnRjICpmb3JfY3J0YyA9IGNz dGF0ZS0+YmFzZS5jcnRjOwogCXVuc2lnbmVkIGludCBwaXBlX3NpemUsIGRkYl9zaXplOwogCWlu dCBudGhfYWN0aXZlX3BpcGU7Ci0JaW50IHBpcGUgPSB0b19pbnRlbF9jcnRjKGZvcl9jcnRjKS0+ cGlwZTsKIAogCWlmIChXQVJOX09OKCFzdGF0ZSkgfHwgIWNzdGF0ZS0+YmFzZS5hY3RpdmUpIHsK IAkJYWxsb2MtPnN0YXJ0ID0gMDsKQEAgLTMwOTAsNyArMzA4OSw3IEBAIHNrbF9kZGJfZ2V0X3Bp cGVfYWxsb2NhdGlvbl9saW1pdHMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkgKiB3ZSBjdXJy ZW50bHkgaG9sZC4KIAkgKi8KIAlpZiAoIWludGVsX3N0YXRlLT5hY3RpdmVfcGlwZV9jaGFuZ2Vz KSB7Ci0JCSphbGxvYyA9IGRldl9wcml2LT53bS5za2xfaHcuZGRiLnBpcGVbcGlwZV07CisJCSph bGxvYyA9IHRvX2ludGVsX2NydGMoZm9yX2NydGMpLT5od19kZGI7CiAJCXJldHVybjsKIAl9CiAK QEAgLTMzNTgsNyArMzM1Nyw3IEBAIHNrbF9hbGxvY2F0ZV9waXBlX2RkYihzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3N0YXRlLAogCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOwogCXN0cnVjdCBk cm1fcGxhbmVfc3RhdGUgKnBzdGF0ZTsKIAllbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMtPnBp cGU7Ci0Jc3RydWN0IHNrbF9kZGJfZW50cnkgKmFsbG9jID0gJmRkYi0+cGlwZVtwaXBlXTsKKwlz dHJ1Y3Qgc2tsX2RkYl9lbnRyeSAqYWxsb2MgPSAmY3N0YXRlLT53bS5za2wuZGRiOwogCXVpbnQx Nl90IGFsbG9jX3NpemUsIHN0YXJ0LCBjdXJzb3JfYmxvY2tzOwogCXVpbnQxNl90ICptaW5pbXVt ID0gY3N0YXRlLT53bS5za2wubWluaW11bV9ibG9ja3M7CiAJdWludDE2X3QgKnlfbWluaW11bSA9 IGNzdGF0ZS0+d20uc2tsLm1pbmltdW1feV9ibG9ja3M7CkBAIC0zMzc0LDcgKzMzNzMsNyBAQCBz a2xfYWxsb2NhdGVfcGlwZV9kZGIoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKIAkJ cmV0dXJuIDA7CiAKIAlpZiAoIWNzdGF0ZS0+YmFzZS5hY3RpdmUpIHsKLQkJZGRiLT5waXBlW3Bp cGVdLnN0YXJ0ID0gZGRiLT5waXBlW3BpcGVdLmVuZCA9IDA7CisJCWFsbG9jLT5zdGFydCA9IGFs bG9jLT5lbmQgPSAwOwogCQlyZXR1cm4gMDsKIAl9CiAKQEAgLTM5MDEsMTQgKzM5MDAsNiBAQCB2 b2lkIHNrbF93cml0ZV9jdXJzb3Jfd20oc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCiAJ CQkgICAgJndtLT5kZGIucGxhbmVbcGlwZV1bUExBTkVfQ1VSU09SXSk7CiB9CiAKLWJvb2wgc2ts X2RkYl9hbGxvY2F0aW9uX2VxdWFscyhjb25zdCBzdHJ1Y3Qgc2tsX2RkYl9hbGxvY2F0aW9uICpv bGQsCi0JCQkgICAgICAgY29uc3Qgc3RydWN0IHNrbF9kZGJfYWxsb2NhdGlvbiAqbmV3LAotCQkJ ICAgICAgIGVudW0gcGlwZSBwaXBlKQotewotCXJldHVybiBuZXctPnBpcGVbcGlwZV0uc3RhcnQg PT0gb2xkLT5waXBlW3BpcGVdLnN0YXJ0ICYmCi0JICAgICAgIG5ldy0+cGlwZVtwaXBlXS5lbmQg PT0gb2xkLT5waXBlW3BpcGVdLmVuZDsKLX0KLQogc3RhdGljIGlubGluZSBib29sIHNrbF9kZGJf ZW50cmllc19vdmVybGFwKGNvbnN0IHN0cnVjdCBza2xfZGRiX2VudHJ5ICphLAogCQkJCQkgICBj b25zdCBzdHJ1Y3Qgc2tsX2RkYl9lbnRyeSAqYikKIHsKQEAgLTM5MTYsMjIgKzM5MDcsMjIgQEAg c3RhdGljIGlubGluZSBib29sIHNrbF9kZGJfZW50cmllc19vdmVybGFwKGNvbnN0IHN0cnVjdCBz a2xfZGRiX2VudHJ5ICphLAogfQogCiBib29sIHNrbF9kZGJfYWxsb2NhdGlvbl9vdmVybGFwcyhz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCi0JCQkJIGNvbnN0IHN0cnVjdCBza2xfZGRi X2FsbG9jYXRpb24gKm9sZCwKLQkJCQkgY29uc3Qgc3RydWN0IHNrbF9kZGJfYWxsb2NhdGlvbiAq bmV3LAotCQkJCSBlbnVtIHBpcGUgcGlwZSkKKwkJCQkgc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHN0YXRlLT5kZXY7Ci0Jc3RydWN0 IGludGVsX2NydGMgKmludGVsX2NydGM7Ci0JZW51bSBwaXBlIG90aGVycDsKKwlzdHJ1Y3QgZHJt X2NydGMgKm90aGVyX2NydGM7CisJc3RydWN0IGRybV9jcnRjX3N0YXRlICpvdGhlcl9jc3RhdGU7 CisJc3RydWN0IGludGVsX2NydGMgKm90aGVyX2ludGVsX2NydGM7CisJY29uc3Qgc3RydWN0IHNr bF9kZGJfZW50cnkgKmRkYiA9CisJCSZ0b19pbnRlbF9jcnRjX3N0YXRlKGludGVsX2NydGMtPmJh c2Uuc3RhdGUpLT53bS5za2wuZGRiOworCWludCBpOwogCi0JZm9yX2VhY2hfaW50ZWxfY3J0Yyhk ZXYsIGludGVsX2NydGMpIHsKLQkJb3RoZXJwID0gaW50ZWxfY3J0Yy0+cGlwZTsKKwlmb3JfZWFj aF9jcnRjX2luX3N0YXRlKHN0YXRlLCBvdGhlcl9jcnRjLCBvdGhlcl9jc3RhdGUsIGkpIHsKKwkJ b3RoZXJfaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMob3RoZXJfY3J0Yyk7CiAKLQkJaWYgKG90 aGVycCA9PSBwaXBlKQorCQlpZiAob3RoZXJfaW50ZWxfY3J0YyA9PSBpbnRlbF9jcnRjKQogCQkJ Y29udGludWU7CiAKLQkJaWYgKHNrbF9kZGJfZW50cmllc19vdmVybGFwKCZuZXctPnBpcGVbcGlw ZV0sCi0JCQkJCSAgICAmb2xkLT5waXBlW290aGVycF0pKQorCQlpZiAoc2tsX2RkYl9lbnRyaWVz X292ZXJsYXAoZGRiLCAmb3RoZXJfaW50ZWxfY3J0Yy0+aHdfZGRiKSkKIAkJCXJldHVybiB0cnVl OwogCX0KIApAQCAtNDA5Niw3ICs0MDg3LDYgQEAgc2tsX2NvcHlfd21fZm9yX3BpcGUoc3RydWN0 IHNrbF93bV92YWx1ZXMgKmRzdCwKIAltZW1jcHkoZHN0LT5wbGFuZV90cmFuc1twaXBlXSwgc3Jj LT5wbGFuZV90cmFuc1twaXBlXSwKIAkgICAgICAgc2l6ZW9mKGRzdC0+cGxhbmVfdHJhbnNbcGlw ZV0pKTsKIAotCWRzdC0+ZGRiLnBpcGVbcGlwZV0gPSBzcmMtPmRkYi5waXBlW3BpcGVdOwogCW1l bWNweShkc3QtPmRkYi55X3BsYW5lW3BpcGVdLCBzcmMtPmRkYi55X3BsYW5lW3BpcGVdLAogCSAg ICAgICBzaXplb2YoZHN0LT5kZGIueV9wbGFuZVtwaXBlXSkpOwogCW1lbWNweShkc3QtPmRkYi5w bGFuZVtwaXBlXSwgc3JjLT5kZGIucGxhbmVbcGlwZV0sCkBAIC00MjA0LDYgKzQxOTQsOCBAQCBz dGF0aWMgdm9pZCBza2xfdXBkYXRlX3dtKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAogCXNrbF9j b3B5X3dtX2Zvcl9waXBlKGh3X3ZhbHMsIHJlc3VsdHMsIHBpcGUpOwogCisJaW50ZWxfY3J0Yy0+ aHdfZGRiID0gY3N0YXRlLT53bS5za2wuZGRiOworCiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ d20ud21fbXV0ZXgpOwogfQogCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==