From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH v2 02/10] drm/i915: Have FBC keep references to the fb Date: Thu, 21 Nov 2013 13:09:36 +0200 Message-ID: <1385032176-12151-1-git-send-email-ville.syrjala@linux.intel.com> References: <1383771745-22463-3-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 28986FD2A0 for ; Thu, 21 Nov 2013 03:09:40 -0800 (PST) In-Reply-To: <1383771745-22463-3-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCklu IG9yZGVyIHRvIGRvIHRoZSBGQkMgdHJhY2tpbmcgcHJvcGVybHkgZm9yIGV4ZWNidWZmZXIsIHdl IG5lZWQgdG8KZmlndXJlIG91dCBpZiB0aGUgb2JqZWN0IGJlaW5nIHJlbmRlcmVkIHRvIGlzIHRo ZSBjdXJyZW50IGZyb250IGJ1ZmZlci4KSG93ZXZlciBpbiBvcmRlciB0byBkbyB0aGF0IHB1cmVs eSBiYXNlZCBvbiB0aGUgY3J0Yywgd2UnZCBuZWVkIHRvCmdyYWIgY3J0Yy0+bXV0ZXgsIGJ1dCB3 ZSBjYW4ndCBzaW5jZSB3ZSdyZSBhbHJlYWR5IGhvbGRpbmcgc3RydWN0X211dGV4LgoKU28gbGV0 J3Mga2VlcCB0aGUgY3VycmVudCBmYiBhcm91bmQgaW4gZGV2X3ByaXYtPmZiYy5mYiBhbmQgY29u c3VsdCB0aGF0Cm9uZS4gV2UncmUgaG9sZGluZyBhIHJlZmVyZW5jZSB0byBpdCBmb3IgdGhlIGVu dGlyZSB0aW1lIEZCQyBpcyBlbmFibGVkLApzbyB0aGVyZSdzIG5vIGRhbmdlciBvZiBpdCBkaXNh cHBlYXJpbmcgd2hpbGUgd2UncmUgbG9va2luZyBhdCBpdC4KQXNzdW1pbmcgRkJDIHVwZGF0ZXMg YWx3YXlzIGhhcHBlbnMgd2hpbGUgaG9sZGluZyBzdHJ1Y3RfbXV0ZXggdGhhdCBpcy4KCkFsc28g Y2hhbmdlIHRoZSBkZWxheWVkIGVuYWJsZSBtZWNoYW5pc20gdG8gZ3JhYiBhIHJlZmVyZW5jZSB0 byB0aGUgZmIuCgp2MjogRml4IGZiIHJlZmNvdW50aW5nIGluIGludGVsX3NldHVwX2ZiYygpCgpT aWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggfCAgNiArKy0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIHwgNjMgKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgMjIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMTRmMjUwYS4uYmVjYzk1 ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0zNzEsNyArMzcxLDkgQEAgc3RydWN0IGRw bGw7CiAKIHN0cnVjdCBkcm1faTkxNV9kaXNwbGF5X2Z1bmNzIHsKIAlib29sICgqZmJjX2VuYWJs ZWQpKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwotCXZvaWQgKCplbmFibGVfZmJjKShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsIHVuc2lnbmVkIGxvbmcgaW50ZXJ2YWwpOworCXZvaWQgKCplbmFibGVf ZmJjKShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCisJCQkgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy ICpmYiwKKwkJCSAgIHVuc2lnbmVkIGxvbmcgaW50ZXJ2YWwpOwogCXZvaWQgKCpkaXNhYmxlX2Zi Yykoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiAJaW50ICgqZ2V0X2Rpc3BsYXlfY2xvY2tfc3Bl ZWQpKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogCWludCAoKmdldF9maWZvX3NpemUpKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIGludCBwbGFuZSk7CkBAIC02NzgsNyArNjgwLDcgQEAgc3RydWN0 IGk5MTVfaHdfY29udGV4dCB7CiAKIHN0cnVjdCBpOTE1X2ZiYyB7CiAJdW5zaWduZWQgbG9uZyBz aXplOwotCXVuc2lnbmVkIGludCBmYl9pZDsKKwlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsK IAllbnVtIHBsYW5lIHBsYW5lOwogCWludCB5OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRl eCAwNGU5ODYzLi4yZDI2YzkzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKQEAgLTg2LDExICs4 NiwxMiBAQCBzdGF0aWMgdm9pZCBpOHh4X2Rpc2FibGVfZmJjKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCiAJRFJNX0RFQlVHX0tNUygiZGlzYWJsZWQgRkJDXG4iKTsKIH0KIAotc3RhdGljIHZvaWQg aTh4eF9lbmFibGVfZmJjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdW5zaWduZWQgbG9uZyBpbnRl cnZhbCkKK3N0YXRpYyB2b2lkIGk4eHhfZW5hYmxlX2ZiYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMs CisJCQkgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCisJCQkgICAgdW5zaWduZWQgbG9u ZyBpbnRlcnZhbCkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBjcnRjLT5mYjsKIAlzdHJ1Y3QgaW50ZWxfZnJhbWVi dWZmZXIgKmludGVsX2ZiID0gdG9faW50ZWxfZnJhbWVidWZmZXIoZmIpOwogCXN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9mYi0+b2JqOwogCXN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKQEAgLTEzNiwxMSArMTM3LDEyIEBA IHN0YXRpYyBib29sIGk4eHhfZmJjX2VuYWJsZWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAly ZXR1cm4gSTkxNV9SRUFEKEZCQ19DT05UUk9MKSAmIEZCQ19DVExfRU47CiB9CiAKLXN0YXRpYyB2 b2lkIGc0eF9lbmFibGVfZmJjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdW5zaWduZWQgbG9uZyBp bnRlcnZhbCkKK3N0YXRpYyB2b2lkIGc0eF9lbmFibGVfZmJjKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKKwkJCSAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAorCQkJICAgdW5zaWduZWQgbG9u ZyBpbnRlcnZhbCkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBjcnRjLT5mYjsKIAlzdHJ1Y3QgaW50ZWxfZnJhbWVi dWZmZXIgKmludGVsX2ZiID0gdG9faW50ZWxfZnJhbWVidWZmZXIoZmIpOwogCXN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9mYi0+b2JqOwogCXN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKQEAgLTIwNSwxMSArMjA3LDEyIEBA IHN0YXRpYyB2b2lkIHNhbmR5YnJpZGdlX2JsaXRfZmJjX3VwZGF0ZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQogCWdlbjZfZ3RfZm9yY2Vfd2FrZV9wdXQoZGV2X3ByaXYpOwogfQogCi1zdGF0aWMg dm9pZCBpcm9ubGFrZV9lbmFibGVfZmJjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdW5zaWduZWQg bG9uZyBpbnRlcnZhbCkKK3N0YXRpYyB2b2lkIGlyb25sYWtlX2VuYWJsZV9mYmMoc3RydWN0IGRy bV9jcnRjICpjcnRjLAorCQkJCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAorCQkJCXVuc2ln bmVkIGxvbmcgaW50ZXJ2YWwpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRl djsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl OwotCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gY3J0Yy0+ZmI7CiAJc3RydWN0IGludGVs X2ZyYW1lYnVmZmVyICppbnRlbF9mYiA9IHRvX2ludGVsX2ZyYW1lYnVmZmVyKGZiKTsKIAlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gaW50ZWxfZmItPm9iajsKIAlzdHJ1Y3QgaW50 ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CkBAIC0yNjUsMTEgKzI2 OCwxMiBAQCBzdGF0aWMgYm9vbCBpcm9ubGFrZV9mYmNfZW5hYmxlZChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQogCXJldHVybiBJOTE1X1JFQUQoSUxLX0RQRkNfQ09OVFJPTCkgJiBEUEZDX0NUTF9F TjsKIH0KIAotc3RhdGljIHZvaWQgZ2VuN19lbmFibGVfZmJjKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywgdW5zaWduZWQgbG9uZyBpbnRlcnZhbCkKK3N0YXRpYyB2b2lkIGdlbjdfZW5hYmxlX2ZiYyhz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCisJCQkgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIs CisJCQkgICAgdW5zaWduZWQgbG9uZyBpbnRlcnZhbCkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY3J0Yy0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl di0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBjcnRjLT5mYjsK IAlzdHJ1Y3QgaW50ZWxfZnJhbWVidWZmZXIgKmludGVsX2ZiID0gdG9faW50ZWxfZnJhbWVidWZm ZXIoZmIpOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9mYi0+b2Jq OwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsK QEAgLTMwOCw2ICszMTIsMjIgQEAgYm9vbCBpbnRlbF9mYmNfZW5hYmxlZChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogCXJldHVybiBkZXZfcHJpdi0+ZGlzcGxheS5mYmNfZW5hYmxlZChkZXYpOwog fQogCitzdGF0aWMgdm9pZCBpbnRlbF9zZXR1cF9mYmMoc3RydWN0IGRybV9jcnRjICpjcnRjLAor CQkJICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAorCQkJICAgIHVuc2lnbmVkIGxvbmcg aW50ZXJ2YWwpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY3J0Yy0+ ZGV2LT5kZXZfcHJpdmF0ZTsKKworCWRldl9wcml2LT5kaXNwbGF5LmVuYWJsZV9mYmMoY3J0Yywg ZmIsIGludGVydmFsKTsKKworCWRldl9wcml2LT5mYmMucGxhbmUgPSB0b19pbnRlbF9jcnRjKGNy dGMpLT5wbGFuZTsKKwlkcm1fZnJhbWVidWZmZXJfcmVmZXJlbmNlKGZiKTsKKwlpZiAoZGV2X3By aXYtPmZiYy5mYikKKwkJZHJtX2ZyYW1lYnVmZmVyX3VucmVmZXJlbmNlKGRldl9wcml2LT5mYmMu ZmIpOworCWRldl9wcml2LT5mYmMuZmIgPSBmYjsKKwlkZXZfcHJpdi0+ZmJjLnkgPSBjcnRjLT55 OworfQorCiBzdGF0aWMgdm9pZCBpbnRlbF9mYmNfd29ya19mbihzdHJ1Y3Qgd29ya19zdHJ1Y3Qg Kl9fd29yaykKIHsKIAlzdHJ1Y3QgaW50ZWxfZmJjX3dvcmsgKndvcmsgPQpAQCAtMzIxLDE5ICsz NDEsMTQgQEAgc3RhdGljIHZvaWQgaW50ZWxfZmJjX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0 ICpfX3dvcmspCiAJCS8qIERvdWJsZSBjaGVjayB0aGF0IHdlIGhhdmVuJ3Qgc3dpdGNoZWQgZmIg d2l0aG91dCBjYW5jZWxsaW5nCiAJCSAqIHRoZSBwcmlvciB3b3JrLgogCQkgKi8KLQkJaWYgKHdv cmstPmNydGMtPmZiID09IHdvcmstPmZiKSB7Ci0JCQlkZXZfcHJpdi0+ZGlzcGxheS5lbmFibGVf ZmJjKHdvcmstPmNydGMsCi0JCQkJCQkgICAgIHdvcmstPmludGVydmFsKTsKLQotCQkJZGV2X3By aXYtPmZiYy5wbGFuZSA9IHRvX2ludGVsX2NydGMod29yay0+Y3J0YyktPnBsYW5lOwotCQkJZGV2 X3ByaXYtPmZiYy5mYl9pZCA9IHdvcmstPmNydGMtPmZiLT5iYXNlLmlkOwotCQkJZGV2X3ByaXYt PmZiYy55ID0gd29yay0+Y3J0Yy0+eTsKLQkJfQotCisJCWlmICh3b3JrLT5jcnRjLT5mYiA9PSB3 b3JrLT5mYikKKwkJCWludGVsX3NldHVwX2ZiYyh3b3JrLT5jcnRjLCB3b3JrLT5mYiwgd29yay0+ aW50ZXJ2YWwpOwogCQlkZXZfcHJpdi0+ZmJjLmZiY193b3JrID0gTlVMTDsKIAl9CiAJbXV0ZXhf dW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CiAKKwlkcm1fZnJhbWVidWZmZXJfdW5yZWZlcmVu Y2Uod29yay0+ZmIpOworCiAJa2ZyZWUod29yayk7CiB9CiAKQEAgLTM0OCw5ICszNjMsMTEgQEAg c3RhdGljIHZvaWQgaW50ZWxfY2FuY2VsX2ZiY193b3JrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKIAkgKiBkZXZfcHJpdi0+ZmJjLmZiY193b3JrLCBzbyB3ZSBjYW4gcGVyZm9y bSB0aGUgY2FuY2VsbGF0aW9uCiAJICogZW50aXJlbHkgYXN5bmNocm9ub3VzbHkuCiAJICovCi0J aWYgKGNhbmNlbF9kZWxheWVkX3dvcmsoJmRldl9wcml2LT5mYmMuZmJjX3dvcmstPndvcmspKQor CWlmIChjYW5jZWxfZGVsYXllZF93b3JrKCZkZXZfcHJpdi0+ZmJjLmZiY193b3JrLT53b3JrKSkg ewogCQkvKiB0YXNrbGV0IHdhcyBraWxsZWQgYmVmb3JlIGJlaW5nIHJ1biwgY2xlYW4gdXAgKi8K KwkJZHJtX2ZyYW1lYnVmZmVyX3VucmVmZXJlbmNlKGRldl9wcml2LT5mYmMuZmJjX3dvcmstPmZi KTsKIAkJa2ZyZWUoZGV2X3ByaXYtPmZiYy5mYmNfd29yayk7CisJfQogCiAJLyogTWFyayB0aGUg d29yayBhcyBubyBsb25nZXIgd2FudGVkIHNvIHRoYXQgaWYgaXQgZG9lcwogCSAqIHdha2UtdXAg KGJlY2F1c2UgdGhlIHdvcmsgd2FzIGFscmVhZHkgcnVubmluZyBhbmQgd2FpdGluZwpAQCAtMzc0 LDcgKzM5MSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9mYmMoc3RydWN0IGRybV9jcnRj ICpjcnRjLCB1bnNpZ25lZCBsb25nIGludGVydmFsKQogCXdvcmsgPSBremFsbG9jKHNpemVvZigq d29yayksIEdGUF9LRVJORUwpOwogCWlmICh3b3JrID09IE5VTEwpIHsKIAkJRFJNX0VSUk9SKCJG YWlsZWQgdG8gYWxsb2NhdGUgRkJDIHdvcmsgc3RydWN0dXJlXG4iKTsKLQkJZGV2X3ByaXYtPmRp c3BsYXkuZW5hYmxlX2ZiYyhjcnRjLCBpbnRlcnZhbCk7CisJCWludGVsX3NldHVwX2ZiYyhjcnRj LCBjcnRjLT5mYiwgaW50ZXJ2YWwpOwogCQlyZXR1cm47CiAJfQogCkBAIC0zODMsNiArNDAwLDgg QEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2ZiYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHVu c2lnbmVkIGxvbmcgaW50ZXJ2YWwpCiAJd29yay0+aW50ZXJ2YWwgPSBpbnRlcnZhbDsKIAlJTklU X0RFTEFZRURfV09SSygmd29yay0+d29yaywgaW50ZWxfZmJjX3dvcmtfZm4pOwogCisJZHJtX2Zy YW1lYnVmZmVyX3JlZmVyZW5jZSh3b3JrLT5mYik7CisKIAlkZXZfcHJpdi0+ZmJjLmZiY193b3Jr ID0gd29yazsKIAogCS8qIERlbGF5IHRoZSBhY3R1YWwgZW5hYmxpbmcgdG8gbGV0IHBhZ2VmbGlw cGluZyBjZWFzZSBhbmQgdGhlCkBAIC00MTIsNiArNDMxLDEwIEBAIHZvaWQgaW50ZWxfZGlzYWJs ZV9mYmMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAogCWRldl9wcml2LT5kaXNwbGF5LmRpc2Fi bGVfZmJjKGRldik7CiAJZGV2X3ByaXYtPmZiYy5wbGFuZSA9IC0xOworCWlmIChkZXZfcHJpdi0+ ZmJjLmZiKSB7CisJCWRybV9mcmFtZWJ1ZmZlcl91bnJlZmVyZW5jZShkZXZfcHJpdi0+ZmJjLmZi KTsKKwkJZGV2X3ByaXYtPmZiYy5mYiA9IE5VTEw7CisJfQogfQogCiBzdGF0aWMgYm9vbCBzZXRf bm9fZmJjX3JlYXNvbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCkBAIC01NjMs NyArNTg2LDcgQEAgdm9pZCBpbnRlbF91cGRhdGVfZmJjKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp CiAJICogd2l0aG91dCBmaXJzdCBiZWluZyBkZWNvdXBsZWQgZnJvbSB0aGUgc2Nhbm91dCBhbmQg RkJDIGRpc2FibGVkLgogCSAqLwogCWlmIChkZXZfcHJpdi0+ZmJjLnBsYW5lID09IGludGVsX2Ny dGMtPnBsYW5lICYmCi0JICAgIGRldl9wcml2LT5mYmMuZmJfaWQgPT0gZmItPmJhc2UuaWQgJiYK KwkgICAgZGV2X3ByaXYtPmZiYy5mYiA9PSBmYiAmJgogCSAgICBkZXZfcHJpdi0+ZmJjLnkgPT0g Y3J0Yy0+eSkKIAkJcmV0dXJuOwogCi0tIAoxLjguMy4yCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=