From mboxrd@z Thu Jan 1 00:00:00 1970 From: Todd Previte Subject: [PATCH 06/13] drm: Add supporting structure for Displayport Link CTS test 4.2.2.6 Date: Fri, 10 Apr 2015 10:38:54 -0700 Message-ID: <1428687534-27064-1-git-send-email-tprevite@gmail.com> References: <1428682372-21586-7-git-send-email-tprevite@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1428682372-21586-7-git-send-email-tprevite@gmail.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 Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RGlzcGxheXBvcnQgY29tcGxpYW5jZSB0ZXN0IDQuMi4yLjYgcmVxdWlyZXMgdGhhdCBhIHNvdXJj ZSBkZXZpY2UgYmUgY2FwYWJsZSBvZgpkZXRlY3RpbmcgYSBjb3JydXB0IEVESUQuIFRoZSB0ZXN0 IHNwZWNpZmljYXRpb24gc3RhdGVzIHRoYXQgdGhlIHNpbmsgZGV2aWNlCnNldHMgdXAgdGhlIEVE SUQgd2l0aCBhbiBpbnZhbGlkIGNoZWNrc3VtLiBUbyBkbyB0aGlzLCB0aGUgc2luayBzZXRzIHVw IGFuCmludmFsaWQgRURJRCBoZWFkZXIsIGV4cGVjdGluZyB0aGUgc291cmNlIGRldmljZSB0byBn ZW5lcmF0ZSB0aGUgY2hlY2tzdW0gYW5kCmNvbXBhcmUgaXQgdG8gdGhlIHZhbHVlIHN0b3JlZCBp biB0aGUgbGFzdCBieXRlIG9mIHRoZSBibG9jayBkYXRhLgoKVW5mb3J0dW5hdGVseSwgdGhlIERS TSBFRElEIHJlYWRpbmcgYW5kIHBhcnNpbmcgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSB0b28gZ29v ZAppbiB0aGlzIGNhc2U7IHRoZSBoZWFkZXIgaXMgZml4ZWQgYmVmb3JlIHRoZSBjaGVja3N1bSBp cyBjb21wdXRlZCBhbmQgdGh1cyB0aGUKY29kZSBuZXZlciBzZWVzIHRoZSBpbnZhbGlkIGNoZWNr c3VtLiBUaGlzIHJlc3VsdHMgaW4gYSBmYWlsdXJlIHRvIHBhc3MgdGhlCmNvbXBsaWFuY2UgdGVz dC4KClRvIGNvcnJlY3QgdGhpcyBpc3N1ZSwgYSBjaGVja3N1bSBpcyBnZW5lcmF0ZWQgd2hlbiB0 aGUgRURJRCBoZWFkZXIgaXMgZGV0ZWN0ZWQKYXMgY29ycnVwdGVkLiBJZiB0aGUgY2hlY2tzdW0g aXMgaW52YWxpZCwgaXQgc2V0cyB0aGUgaGVhZGVyX2NvcnJ1cHQgZmxhZyBhbmQKbG9ncyB0aGUg ZXJyb3JzLiBJbiB0aGUgY2FzZSBvZiBhIG1vcmUgc2VyaW91c2x5IGRhbWFnZWQgaGVhZGVyIChm aXh1cCBzY29yZQpsZXNzIHRoYW4gdGhlIHRocmVzaG9sZCkgdGhlIGNvZGUgZG9lcyBub3QgZ2Vu ZXJhdGUgdGhlIGNoZWNrc3VtIGJ1dCBkb2VzIHNldAp0aGUgaGVhZGVyX2NvcnJ1cHQgZmxhZy4K ClYyOgotIFJlbW92ZWQgdGhlIHN0YXRpYyBib29sIGdsb2JhbAotIEFkZGVkIGEgYm9vbCB0byB0 aGUgZHJtX2Nvbm5lY3RvciBzdHJ1Y3QgdG8gcmVhcGxjZSB0aGUgc3RhdGljIG9uZSBmb3IKICBo b2xkaW5nIHRoZSBzdGF0dXMgb2YgcmF3IGVkaWQgaGVhZGVyIGNvcnJ1cHRpb24gZGV0ZWN0aW9u Ci0gTW9kaWZpZWQgdGhlIGZ1bmN0aW9uIHNpZ25hdHVyZSBvZiB0aGUgaXNfdmFsaWQgZnVuY3Rp b24gdG8gdGFrZSBhbgogIGFkZGl0aW9uYWwgcGFyYW1ldGVyIHRvIHN0b3JlIHRoZSBjb3JydXB0 aW9uIGRldGVjdGVkIHZhbHVlCi0gRml4ZWQgdGhlIG90aGVyIGNhbGxlcnMgb2YgdGhlIGFib3Zl IGlzX3ZhbGlkIGZ1bmN0aW9uClYzOgotIFVwZGF0ZWQgdGhlIGNvbW1pdCBtZXNzYWdlIHRvIGJl IG1vcmUgY2xlYXIgYWJvdXQgd2hhdCBhbmQgd2h5IHRoaXMKICBwYXRjaCBkb2VzIHdoYXQgaXQg ZG9lcy4KLSBBZGRlZCBjb21tZW50IGluIGNvZGUgdG8gY2xhcmlmeSB0aGUgb3BlcmF0aW9ucyB0 aGVyZQotIFJlbW92ZWQgY29tcGxpYW5jZSB2YXJpYWJsZSBhbmQgY2hlY2tfbGlua19zdGF0dXMg dXBkYXRlOyB0aG9zZQogIGhhdmUgYmVlbiBtb3ZlZCB0byBhIGxhdGVyIHBhdGNoCi0gUmVtb3Zl ZCB2YXJpYWJsZSBhc3NpZ25tZW50IGZyb20gdGhlIGJvdHRvbSBvZiB0aGUgdGVzdCBoYW5kbGVy ClY0OgotIFJlbW92ZWQgaTkxNSB0YWcgZnJvbSBzdWJqZWN0IGxpbmUgYXMgdGhlIHBhdGNoIGlz IG5vdCBpOTE1LXNwZWNpZmljCgpTaWduZWQtb2ZmLWJ5OiBUb2RkIFByZXZpdGUgPHRwcmV2aXRl QGdtYWlsLmNvbT4KQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKLS0tCiBkcml2 ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyAgICAgICAgfCAzMSArKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWRfbG9hZC5jICAgfCAgNyArKysrKy0t CiBkcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMgfCAgNCArKy0tCiBpbmNsdWRlL2Ry bS9kcm1fY3J0Yy5oICAgICAgICAgICAgfCAgOCArKysrKysrLQogNCBmaWxlcyBjaGFuZ2VkLCA0 MCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCmluZGV4IDUzYmM3 YTYuLjEyZTViZTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCkBAIC0xMDA1LDcgKzEwMDUsNiBAQCBpbnQgZHJt X2VkaWRfaGVhZGVyX2lzX3ZhbGlkKGNvbnN0IHU4ICpyYXdfZWRpZCkKIAlmb3IgKGkgPSAwOyBp IDwgc2l6ZW9mKGVkaWRfaGVhZGVyKTsgaSsrKQogCQlpZiAocmF3X2VkaWRbaV0gPT0gZWRpZF9o ZWFkZXJbaV0pCiAJCQlzY29yZSsrOwotCiAJcmV0dXJuIHNjb3JlOwogfQogRVhQT1JUX1NZTUJP TChkcm1fZWRpZF9oZWFkZXJfaXNfdmFsaWQpOwpAQCAtMTA0Nyw3ICsxMDQ2LDggQEAgc3RhdGlj IGJvb2wgZHJtX2VkaWRfaXNfemVybyhjb25zdCB1OCAqaW5fZWRpZCwgaW50IGxlbmd0aCkKICAq CiAgKiBSZXR1cm46IFRydWUgaWYgdGhlIGJsb2NrIGlzIHZhbGlkLCBmYWxzZSBvdGhlcndpc2Uu CiAgKi8KLWJvb2wgZHJtX2VkaWRfYmxvY2tfdmFsaWQodTggKnJhd19lZGlkLCBpbnQgYmxvY2ss IGJvb2wgcHJpbnRfYmFkX2VkaWQpCitib29sIGRybV9lZGlkX2Jsb2NrX3ZhbGlkKHU4ICpyYXdf ZWRpZCwgaW50IGJsb2NrLCBib29sIHByaW50X2JhZF9lZGlkLAorCQkJICBib29sICpoZWFkZXJf Y29ycnVwdCkKIHsKIAl1OCBjc3VtOwogCXN0cnVjdCBlZGlkICplZGlkID0gKHN0cnVjdCBlZGlk ICopcmF3X2VkaWQ7CkBAIC0xMDYyLDkgKzEwNjIsMjcgQEAgYm9vbCBkcm1fZWRpZF9ibG9ja192 YWxpZCh1OCAqcmF3X2VkaWQsIGludCBibG9jaywgYm9vbCBwcmludF9iYWRfZWRpZCkKIAkJaW50 IHNjb3JlID0gZHJtX2VkaWRfaGVhZGVyX2lzX3ZhbGlkKHJhd19lZGlkKTsKIAkJaWYgKHNjb3Jl ID09IDgpIDsKIAkJZWxzZSBpZiAoc2NvcmUgPj0gZWRpZF9maXh1cCkgeworCQkJLyogRGlzcGxh eXBvcnQgTGluayBDVFMgQ29yZSAxLjIgcmV2MS4xIHRlc3QgNC4yLjIuNgorCQkJICogSW4gb3Jk ZXIgdG8gcHJvcGVybHkgZ2VuZXJhdGUgdGhlIGludmFsaWQgY2hlY2tzdW0KKwkJCSAqIHJlcXVp cmVkIGZvciB0aGlzIHRlc3QsIGl0IG11c3QgYmUgZ2VuZXJhdGVkIHVzaW5nCisJCQkgKiB0aGUg cmF3IEVESUQgZGF0YS4gT3RoZXJ3aXNlLCB0aGUgZml4LXVwIGNvZGUgaGVyZQorCQkJICogd2ls bCBjb3JyZWN0IHRoZSBwcm9ibGVtLCB0aGUgY2hlY2tzdW0gaXMgdGhlbiBjb3JyZWN0CisJCQkg KiBhbmQgdGhlIHRlc3QgZmFpbHMKKwkJCSAqLworCQkJY3N1bSA9IGRybV9lZGlkX2Jsb2NrX2No ZWNrc3VtKHJhd19lZGlkKTsKKwkJCWlmIChjc3VtKSB7CisJCQkJRFJNX0RFQlVHX0RSSVZFUigi SW52YWxpZCBFRElEIGhlYWRlciwgc2NvcmUgPSAlZFxuIiwgc2NvcmUpOworCQkJCURSTV9ERUJV R19EUklWRVIoIkludmFsaWQgRURJRCBjaGVja3N1bSAlZFxuIiwgY3N1bSk7CisJCQkJaWYgKGhl YWRlcl9jb3JydXB0KQorCQkJCQkqaGVhZGVyX2NvcnJ1cHQgPSAxOworCQkJfQogCQkJRFJNX0RF QlVHKCJGaXhpbmcgRURJRCBoZWFkZXIsIHlvdXIgaGFyZHdhcmUgbWF5IGJlIGZhaWxpbmdcbiIp OwogCQkJbWVtY3B5KHJhd19lZGlkLCBlZGlkX2hlYWRlciwgc2l6ZW9mKGVkaWRfaGVhZGVyKSk7 CiAJCX0gZWxzZSB7CisJCQlpZiAoaGVhZGVyX2NvcnJ1cHQpIHsKKwkJCQlEUk1fREVCVUdfRFJJ VkVSKCJJbnZhbGlkIEVESUQgaGVhZGVyXG4iKTsKKwkJCQkqaGVhZGVyX2NvcnJ1cHQgPSAxOwor CQkJfQogCQkJZ290byBiYWQ7CiAJCX0KIAl9CkBAIC0xMTI5LDcgKzExNDcsNyBAQCBib29sIGRy bV9lZGlkX2lzX3ZhbGlkKHN0cnVjdCBlZGlkICplZGlkKQogCQlyZXR1cm4gZmFsc2U7CiAKIAlm b3IgKGkgPSAwOyBpIDw9IGVkaWQtPmV4dGVuc2lvbnM7IGkrKykKLQkJaWYgKCFkcm1fZWRpZF9i bG9ja192YWxpZChyYXcgKyBpICogRURJRF9MRU5HVEgsIGksIHRydWUpKQorCQlpZiAoIWRybV9l ZGlkX2Jsb2NrX3ZhbGlkKHJhdyArIGkgKiBFRElEX0xFTkdUSCwgaSwgdHJ1ZSwgTlVMTCkpCiAJ CQlyZXR1cm4gZmFsc2U7CiAKIAlyZXR1cm4gdHJ1ZTsKQEAgLTEyMzIsNyArMTI1MCw4IEBAIHN0 cnVjdCBlZGlkICpkcm1fZG9fZ2V0X2VkaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKIAlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7CiAJCWlmIChnZXRfZWRpZF9ibG9jayhkYXRh LCBibG9jaywgMCwgRURJRF9MRU5HVEgpKQogCQkJZ290byBvdXQ7Ci0JCWlmIChkcm1fZWRpZF9i bG9ja192YWxpZChibG9jaywgMCwgcHJpbnRfYmFkX2VkaWQpKQorCQlpZiAoZHJtX2VkaWRfYmxv Y2tfdmFsaWQoYmxvY2ssIDAsIHByaW50X2JhZF9lZGlkLAorCQkJCQkgJmNvbm5lY3Rvci0+ZWRp ZF9oZWFkZXJfY29ycnVwdCkpCiAJCQlicmVhazsKIAkJaWYgKGkgPT0gMCAmJiBkcm1fZWRpZF9p c196ZXJvKGJsb2NrLCBFRElEX0xFTkdUSCkpIHsKIAkJCWNvbm5lY3Rvci0+bnVsbF9lZGlkX2Nv dW50ZXIrKzsKQEAgLTEyNTcsNyArMTI3Niw5IEBAIHN0cnVjdCBlZGlkICpkcm1fZG9fZ2V0X2Vk aWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCQkgIGJsb2NrICsgKHZhbGlk X2V4dGVuc2lvbnMgKyAxKSAqIEVESURfTEVOR1RILAogCQkJCSAgaiwgRURJRF9MRU5HVEgpKQog CQkJCWdvdG8gb3V0OwotCQkJaWYgKGRybV9lZGlkX2Jsb2NrX3ZhbGlkKGJsb2NrICsgKHZhbGlk X2V4dGVuc2lvbnMgKyAxKSAqIEVESURfTEVOR1RILCBqLCBwcmludF9iYWRfZWRpZCkpIHsKKwkJ CWlmIChkcm1fZWRpZF9ibG9ja192YWxpZChibG9jayArICh2YWxpZF9leHRlbnNpb25zICsgMSkg KiBFRElEX0xFTkdUSCwgaiwKKwkJCQkJCSBwcmludF9iYWRfZWRpZCwKKwkJCQkJCSAmY29ubmVj dG9yLT5lZGlkX2hlYWRlcl9jb3JydXB0KSkgewogCQkJCXZhbGlkX2V4dGVuc2lvbnMrKzsKIAkJ CQlicmVhazsKIAkJCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZF9sb2Fk LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWRfbG9hZC5jCmluZGV4IDczMmNiNmYuLjE1MDU0 OTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZF9sb2FkLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9lZGlkX2xvYWQuYwpAQCAtMjE2LDcgKzIxNiw4IEBAIHN0YXRpYyB2 b2lkICplZGlkX2xvYWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgY29uc3QgY2hh ciAqbmFtZSwKIAkJZ290byBvdXQ7CiAJfQogCi0JaWYgKCFkcm1fZWRpZF9ibG9ja192YWxpZChl ZGlkLCAwLCBwcmludF9iYWRfZWRpZCkpIHsKKwlpZiAoIWRybV9lZGlkX2Jsb2NrX3ZhbGlkKGVk aWQsIDAsIHByaW50X2JhZF9lZGlkLAorCQkJCSAgJmNvbm5lY3Rvci0+ZWRpZF9oZWFkZXJfY29y cnVwdCkpIHsKIAkJY29ubmVjdG9yLT5iYWRfZWRpZF9jb3VudGVyKys7CiAJCURSTV9FUlJPUigi QmFzZSBibG9jayBvZiBFRElEIGZpcm13YXJlIFwiJXNcIiBpcyBpbnZhbGlkICIsCiAJCSAgICBu YW1lKTsKQEAgLTIyOSw3ICsyMzAsOSBAQCBzdGF0aWMgdm9pZCAqZWRpZF9sb2FkKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGNvbnN0IGNoYXIgKm5hbWUsCiAJCWlmIChpICE9IHZh bGlkX2V4dGVuc2lvbnMgKyAxKQogCQkJbWVtY3B5KGVkaWQgKyAodmFsaWRfZXh0ZW5zaW9ucyAr IDEpICogRURJRF9MRU5HVEgsCiAJCQkgICAgZWRpZCArIGkgKiBFRElEX0xFTkdUSCwgRURJRF9M RU5HVEgpOwotCQlpZiAoZHJtX2VkaWRfYmxvY2tfdmFsaWQoZWRpZCArIGkgKiBFRElEX0xFTkdU SCwgaSwgcHJpbnRfYmFkX2VkaWQpKQorCQlpZiAoZHJtX2VkaWRfYmxvY2tfdmFsaWQoZWRpZCAr IGkgKiBFRElEX0xFTkdUSCwgaSwgCisJCQkJCSBwcmludF9iYWRfZWRpZCwKKwkJCQkJICZjb25u ZWN0b3ItPmVkaWRfaGVhZGVyX2NvcnJ1cHQpKQogCQkJdmFsaWRfZXh0ZW5zaW9ucysrOwogCX0K IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jIGIvZHJpdmVy cy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jCmluZGV4IGE5MDQxZDEuLjljM2Q2YjMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMKQEAgLTExMDYsNyArMTEwNiw3IEBAIHN0YXRpYyB1aW50 OF90ICpkb19nZXRfZWRpZChzdHJ1Y3QgdGRhOTk4eF9wcml2ICpwcml2KQogCWlmIChyZWFkX2Vk aWRfYmxvY2socHJpdiwgYmxvY2ssIDApKQogCQlnb3RvIGZhaWw7CiAKLQlpZiAoIWRybV9lZGlk X2Jsb2NrX3ZhbGlkKGJsb2NrLCAwLCBwcmludF9iYWRfZWRpZCkpCisJaWYgKCFkcm1fZWRpZF9i bG9ja192YWxpZChibG9jaywgMCwgcHJpbnRfYmFkX2VkaWQsIE5VTEwpKQogCQlnb3RvIGZhaWw7 CiAKIAkvKiBpZiB0aGVyZSdzIG5vIGV4dGVuc2lvbnMsIHdlJ3JlIGRvbmUgKi8KQEAgLTExMjMs NyArMTEyMyw3IEBAIHN0YXRpYyB1aW50OF90ICpkb19nZXRfZWRpZChzdHJ1Y3QgdGRhOTk4eF9w cml2ICpwcml2KQogCQlpZiAocmVhZF9lZGlkX2Jsb2NrKHByaXYsIGV4dF9ibG9jaywgaikpCiAJ CQlnb3RvIGZhaWw7CiAKLQkJaWYgKCFkcm1fZWRpZF9ibG9ja192YWxpZChleHRfYmxvY2ssIGos IHByaW50X2JhZF9lZGlkKSkKKwkJaWYgKCFkcm1fZWRpZF9ibG9ja192YWxpZChleHRfYmxvY2ss IGosIHByaW50X2JhZF9lZGlkLCBOVUxMKSkKIAkJCWdvdG8gZmFpbDsKIAogCQl2YWxpZF9leHRl bnNpb25zKys7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oIGIvaW5jbHVkZS9k cm0vZHJtX2NydGMuaAppbmRleCAwMjYxNDE3Li5lMzFhNGIzIDEwMDY0NAotLS0gYS9pbmNsdWRl L2RybS9kcm1fY3J0Yy5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKQEAgLTcxOSw2ICs3 MTksMTEgQEAgc3RydWN0IGRybV9jb25uZWN0b3IgewogCWludCBudWxsX2VkaWRfY291bnRlcjsg LyogbmVlZGVkIHRvIHdvcmthcm91bmQgc29tZSBIVyBidWdzIHdoZXJlIHdlIGdldCBhbGwgMHMg Ki8KIAl1bnNpZ25lZCBiYWRfZWRpZF9jb3VudGVyOwogCisJLyogRmxhZyBmb3IgcmF3IEVESUQg aGVhZGVyIGNvcnJ1cHRpb24gLSB1c2VkIGluIERpc3BsYXlwb3J0IGNvbXBsaWFuY2UgdGVzdGlu ZworCSAqIERpc3BsYXlwb3J0IExpbmsgQ1RTIENvcmUgMS4yIHJldjEuMSA0LjIuMi42CisJICov CisJYm9vbCBlZGlkX2hlYWRlcl9jb3JydXB0OworCiAJc3RydWN0IGRlbnRyeSAqZGVidWdmc19l bnRyeTsKIAogCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZTsKQEAgLTE0MzYsNyAr MTQ0MSw4IEBAIGV4dGVybiB2b2lkIGRybV9zZXRfcHJlZmVycmVkX21vZGUoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCQkgICBpbnQgaHByZWYsIGludCB2cHJlZik7CiAKIGV4 dGVybiBpbnQgZHJtX2VkaWRfaGVhZGVyX2lzX3ZhbGlkKGNvbnN0IHU4ICpyYXdfZWRpZCk7Ci1l eHRlcm4gYm9vbCBkcm1fZWRpZF9ibG9ja192YWxpZCh1OCAqcmF3X2VkaWQsIGludCBibG9jaywg Ym9vbCBwcmludF9iYWRfZWRpZCk7CitleHRlcm4gYm9vbCBkcm1fZWRpZF9ibG9ja192YWxpZCh1 OCAqcmF3X2VkaWQsIGludCBibG9jaywgYm9vbCBwcmludF9iYWRfZWRpZCwgYm9vbCAqaGVhZGVy X2NvcnJ1cHQpOworCiBleHRlcm4gYm9vbCBkcm1fZWRpZF9pc192YWxpZChzdHJ1Y3QgZWRpZCAq ZWRpZCk7CiAKIGV4dGVybiBzdHJ1Y3QgZHJtX3RpbGVfZ3JvdXAgKmRybV9tb2RlX2NyZWF0ZV90 aWxlX2dyb3VwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCi0tIAoxLjkuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK