From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 05/15] drm/mode: move framebuffer reference into object. Date: Fri, 15 Apr 2016 15:10:36 +1000 Message-ID: <1460697046-23781-6-git-send-email-airlied@gmail.com> References: <1460697046-23781-1-git-send-email-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id EE9376E114 for ; Fri, 15 Apr 2016 05:10:53 +0000 (UTC) Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9467F552D2 for ; Fri, 15 Apr 2016 05:10:53 +0000 (UTC) Received: from dreadlord-bne-redhat-com.bne.redhat.com (dhcp-40-179.bne.redhat.com [10.64.40.179]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u3F5AlYi005176 for ; Fri, 15 Apr 2016 01:10:52 -0400 In-Reply-To: <1460697046-23781-1-git-send-email-airlied@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgaXMgdGhlIGluaXRp YWwgY29kZSB0byBhZGQgcmVmZXJlbmNlcyB0byBzb21lIG1vZGUgb2JqZWN0cy4KSW4gdGhlIGZ1 dHVyZSB3ZSBuZWVkIHRvIHN0YXJ0IHJlZmVyZW5jZSBjb3VudGluZyBjb25uZWN0b3JzIHNvCmZp cnN0bHkgSSB3YW50IHRvIHJlb3JnYW5pc2UgdGhlIGNvZGUgc28gdGhlIGZyYW1lYnVmZmVyIHJl ZiBjb3VudGluZwp1c2VzIHRoZSBzYW1lIHBhdGhzLgoKVGhpcyBwYXRjaCBzaG91bGRuJ3QgY2hh bmdlIGFueSBmdW5jdGlvbmFsaXR5LCBqdXN0IG1vdmVzIHRoZSBrcmVmLgoKU2lnbmVkLW9mZi1i eTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v ZHJtX2NydGMuYyB8IDcyICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KIGluY2x1ZGUvZHJtL2RybV9jcnRjLmggICAgIHwgMjAgKysrKysrKysrKy0tLQogMiBm aWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAzOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0 Yy5jCmluZGV4IDg2MTY3MzcuLjc1YTQ1ZTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCkBAIC0yNzUsNyArMjc1 LDggQEAgRVhQT1JUX1NZTUJPTChkcm1fZ2V0X2Zvcm1hdF9uYW1lKTsKIHN0YXRpYyBpbnQgZHJt X21vZGVfb2JqZWN0X2dldF9yZWcoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgICBzdHJ1 Y3QgZHJtX21vZGVfb2JqZWN0ICpvYmosCiAJCQkJICAgdWludDMyX3Qgb2JqX3R5cGUsCi0JCQkJ ICAgYm9vbCByZWdpc3Rlcl9vYmopCisJCQkJICAgYm9vbCByZWdpc3Rlcl9vYmosCisJCQkJICAg dm9pZCAoKm9ial9mcmVlX2NiKShzdHJ1Y3Qga3JlZiAqa3JlZikpCiB7CiAJaW50IHJldDsKIApA QCAtMjg4LDYgKzI4OSwxMCBAQCBzdGF0aWMgaW50IGRybV9tb2RlX29iamVjdF9nZXRfcmVnKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCSAqLwogCQlvYmotPmlkID0gcmV0OwogCQlvYmotPnR5 cGUgPSBvYmpfdHlwZTsKKwkJaWYgKG9ial9mcmVlX2NiKSB7CisJCQlvYmotPmZyZWVfY2IgPSBv YmpfZnJlZV9jYjsKKwkJCWtyZWZfaW5pdCgmb2JqLT5yZWZjb3VudCk7CisJCX0KIAl9CiAJbXV0 ZXhfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmlnLmlkcl9tdXRleCk7CiAKQEAgLTMxMSw3ICszMTYs NyBAQCBzdGF0aWMgaW50IGRybV9tb2RlX29iamVjdF9nZXRfcmVnKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCiBpbnQgZHJtX21vZGVfb2JqZWN0X2dldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CQkJc3RydWN0IGRybV9tb2RlX29iamVjdCAqb2JqLCB1aW50MzJfdCBvYmpfdHlwZSkKIHsKLQly ZXR1cm4gZHJtX21vZGVfb2JqZWN0X2dldF9yZWcoZGV2LCBvYmosIG9ial90eXBlLCB0cnVlKTsK KwlyZXR1cm4gZHJtX21vZGVfb2JqZWN0X2dldF9yZWcoZGV2LCBvYmosIG9ial90eXBlLCB0cnVl LCBOVUxMKTsKIH0KIAogc3RhdGljIHZvaWQgZHJtX21vZGVfb2JqZWN0X3JlZ2lzdGVyKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCkBAIC0zODksMTAgKzM5NCwzNSBAQCBzdHJ1Y3QgZHJtX21vZGVf b2JqZWN0ICpkcm1fbW9kZV9vYmplY3RfZmluZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogfQog RVhQT1JUX1NZTUJPTChkcm1fbW9kZV9vYmplY3RfZmluZCk7CiAKK3ZvaWQgZHJtX21vZGVfb2Jq ZWN0X3VucmVmZXJlbmNlKHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaikKK3sKKwlpZiAob2Jq LT5mcmVlX2NiKSB7CisJCURSTV9ERUJVRygiT0JKIElEOiAlZCAoJWQpXG4iLCBvYmotPmlkLCBh dG9taWNfcmVhZCgmb2JqLT5yZWZjb3VudC5yZWZjb3VudCkpOworCQlrcmVmX3B1dCgmb2JqLT5y ZWZjb3VudCwgb2JqLT5mcmVlX2NiKTsKKwl9Cit9CitFWFBPUlRfU1lNQk9MKGRybV9tb2RlX29i amVjdF91bnJlZmVyZW5jZSk7CisKKy8qKgorICogZHJtX21vZGVfb2JqZWN0X3JlZmVyZW5jZSAt IGluY3IgdGhlIGZiIHJlZmNudAorICogQG9iajogbW9kZV9vYmplY3QKKyAqCisgKiBUaGlzIGZ1 bmN0aW9uIG9wZXJhdGVzIG9ubHkgb24gcmVmY291bnRlZCBvYmplY3RzLgorICogVGhpcyBmdW5j dGlvbnMgaW5jcmVtZW50cyB0aGUgb2JqZWN0J3MgcmVmY291bnQuCisgKi8KK3ZvaWQgZHJtX21v ZGVfb2JqZWN0X3JlZmVyZW5jZShzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0ICpvYmopCit7CisJaWYg KG9iai0+ZnJlZV9jYikgeworCQlEUk1fREVCVUcoIk9CSiBJRDogJWQgKCVkKVxuIiwgb2JqLT5p ZCwgYXRvbWljX3JlYWQoJm9iai0+cmVmY291bnQucmVmY291bnQpKTsKKwkJa3JlZl9nZXQoJm9i ai0+cmVmY291bnQpOworCX0KK30KK0VYUE9SVF9TWU1CT0woZHJtX21vZGVfb2JqZWN0X3JlZmVy ZW5jZSk7CisKIHN0YXRpYyB2b2lkIGRybV9mcmFtZWJ1ZmZlcl9mcmVlKHN0cnVjdCBrcmVmICpr cmVmKQogewogCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0KLQkJCWNvbnRhaW5lcl9vZihr cmVmLCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyLCByZWZjb3VudCk7CisJCQljb250YWluZXJfb2Yo a3JlZiwgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciwgYmFzZS5yZWZjb3VudCk7CiAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGZiLT5kZXY7CiAKIAkvKgpAQCAtNDMwLDEyICs0NjAsMTIgQEAgaW50 IGRybV9mcmFtZWJ1ZmZlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1f ZnJhbWVidWZmZXIgKmZiLAogCWludCByZXQ7CiAKIAltdXRleF9sb2NrKCZkZXYtPm1vZGVfY29u ZmlnLmZiX2xvY2spOwotCWtyZWZfaW5pdCgmZmItPnJlZmNvdW50KTsKIAlJTklUX0xJU1RfSEVB RCgmZmItPmZpbHBfaGVhZCk7CiAJZmItPmRldiA9IGRldjsKIAlmYi0+ZnVuY3MgPSBmdW5jczsK IAotCXJldCA9IGRybV9tb2RlX29iamVjdF9nZXQoZGV2LCAmZmItPmJhc2UsIERSTV9NT0RFX09C SkVDVF9GQik7CisJcmV0ID0gZHJtX21vZGVfb2JqZWN0X2dldF9yZWcoZGV2LCAmZmItPmJhc2Us IERSTV9NT0RFX09CSkVDVF9GQiwKKwkJCQkgICAgICB0cnVlLCBkcm1fZnJhbWVidWZmZXJfZnJl ZSk7CiAJaWYgKHJldCkKIAkJZ290byBvdXQ7CiAKQEAgLTQ4Miw3ICs1MTIsNyBAQCBzdHJ1Y3Qg ZHJtX2ZyYW1lYnVmZmVyICpkcm1fZnJhbWVidWZmZXJfbG9va3VwKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCiAJbXV0ZXhfbG9jaygmZGV2LT5tb2RlX2NvbmZpZy5mYl9sb2NrKTsKIAlmYiA9IF9f ZHJtX2ZyYW1lYnVmZmVyX2xvb2t1cChkZXYsIGlkKTsKIAlpZiAoZmIpIHsKLQkJaWYgKCFrcmVm X2dldF91bmxlc3NfemVybygmZmItPnJlZmNvdW50KSkKKwkJaWYgKCFrcmVmX2dldF91bmxlc3Nf emVybygmZmItPmJhc2UucmVmY291bnQpKQogCQkJZmIgPSBOVUxMOwogCX0KIAltdXRleF91bmxv Y2soJmRldi0+bW9kZV9jb25maWcuZmJfbG9jayk7CkBAIC00OTIsMzIgKzUyMiw2IEBAIHN0cnVj dCBkcm1fZnJhbWVidWZmZXIgKmRybV9mcmFtZWJ1ZmZlcl9sb29rdXAoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKIEVYUE9SVF9TWU1CT0woZHJtX2ZyYW1lYnVmZmVyX2xvb2t1cCk7CiAKIC8qKgot ICogZHJtX2ZyYW1lYnVmZmVyX3VucmVmZXJlbmNlIC0gdW5yZWYgYSBmcmFtZWJ1ZmZlcgotICog QGZiOiBmcmFtZWJ1ZmZlciB0byB1bnJlZgotICoKLSAqIFRoaXMgZnVuY3Rpb25zIGRlY3JlbWVu dHMgdGhlIGZiJ3MgcmVmY291bnQgYW5kIGZyZWVzIGl0IGlmIGl0IGRyb3BzIHRvIHplcm8uCi0g Ki8KLXZvaWQgZHJtX2ZyYW1lYnVmZmVyX3VucmVmZXJlbmNlKHN0cnVjdCBkcm1fZnJhbWVidWZm ZXIgKmZiKQotewotCURSTV9ERUJVRygiJXA6IEZCIElEOiAlZCAoJWQpXG4iLCBmYiwgZmItPmJh c2UuaWQsIGF0b21pY19yZWFkKCZmYi0+cmVmY291bnQucmVmY291bnQpKTsKLQlrcmVmX3B1dCgm ZmItPnJlZmNvdW50LCBkcm1fZnJhbWVidWZmZXJfZnJlZSk7Ci19Ci1FWFBPUlRfU1lNQk9MKGRy bV9mcmFtZWJ1ZmZlcl91bnJlZmVyZW5jZSk7Ci0KLS8qKgotICogZHJtX2ZyYW1lYnVmZmVyX3Jl ZmVyZW5jZSAtIGluY3IgdGhlIGZiIHJlZmNudAotICogQGZiOiBmcmFtZWJ1ZmZlcgotICoKLSAq IFRoaXMgZnVuY3Rpb25zIGluY3JlbWVudHMgdGhlIGZiJ3MgcmVmY291bnQuCi0gKi8KLXZvaWQg ZHJtX2ZyYW1lYnVmZmVyX3JlZmVyZW5jZShzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYikKLXsK LQlEUk1fREVCVUcoIiVwOiBGQiBJRDogJWQgKCVkKVxuIiwgZmIsIGZiLT5iYXNlLmlkLCBhdG9t aWNfcmVhZCgmZmItPnJlZmNvdW50LnJlZmNvdW50KSk7Ci0Ja3JlZl9nZXQoJmZiLT5yZWZjb3Vu dCk7Ci19Ci1FWFBPUlRfU1lNQk9MKGRybV9mcmFtZWJ1ZmZlcl9yZWZlcmVuY2UpOwotCi0vKioK ICAqIGRybV9mcmFtZWJ1ZmZlcl91bnJlZ2lzdGVyX3ByaXZhdGUgLSB1bnJlZ2lzdGVyIGEgcHJp dmF0ZSBmYiBmcm9tIHRoZSBsb29rdXAgaWRyCiAgKiBAZmI6IGZiIHRvIHVucmVnaXN0ZXIKICAq CkBAIC05MDIsNyArOTA2LDcgQEAgaW50IGRybV9jb25uZWN0b3JfaW5pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCiAJZHJtX21vZGVzZXRfbG9ja19hbGwoZGV2KTsKIAotCXJldCA9IGRybV9t b2RlX29iamVjdF9nZXRfcmVnKGRldiwgJmNvbm5lY3Rvci0+YmFzZSwgRFJNX01PREVfT0JKRUNU X0NPTk5FQ1RPUiwgZmFsc2UpOworCXJldCA9IGRybV9tb2RlX29iamVjdF9nZXRfcmVnKGRldiwg JmNvbm5lY3Rvci0+YmFzZSwgRFJNX01PREVfT0JKRUNUX0NPTk5FQ1RPUiwgZmFsc2UsIE5VTEwp OwogCWlmIChyZXQpCiAJCWdvdG8gb3V0X3VubG9jazsKIApAQCAtNTkyMiw3ICs1OTI2LDcgQEAg dm9pZCBkcm1fbW9kZV9jb25maWdfY2xlYW51cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCSAq LwogCVdBUk5fT04oIWxpc3RfZW1wdHkoJmRldi0+bW9kZV9jb25maWcuZmJfbGlzdCkpOwogCWxp c3RfZm9yX2VhY2hfZW50cnlfc2FmZShmYiwgZmJ0LCAmZGV2LT5tb2RlX2NvbmZpZy5mYl9saXN0 LCBoZWFkKSB7Ci0JCWRybV9mcmFtZWJ1ZmZlcl9mcmVlKCZmYi0+cmVmY291bnQpOworCQlkcm1f ZnJhbWVidWZmZXJfZnJlZSgmZmItPmJhc2UucmVmY291bnQpOwogCX0KIAogCWxpc3RfZm9yX2Vh Y2hfZW50cnlfc2FmZShwbGFuZSwgcGx0LCAmZGV2LT5tb2RlX2NvbmZpZy5wbGFuZV9saXN0LApk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRj LmgKaW5kZXggOTlhMTJmMC4uNTc2ZmFmNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Ny dGMuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCkBAIC01OSw2ICs1OSw4IEBAIHN0cnVj dCBkcm1fbW9kZV9vYmplY3QgewogCXVpbnQzMl90IGlkOwogCXVpbnQzMl90IHR5cGU7CiAJc3Ry dWN0IGRybV9vYmplY3RfcHJvcGVydGllcyAqcHJvcGVydGllczsKKwlzdHJ1Y3Qga3JlZiByZWZj b3VudDsKKwl2b2lkICgqZnJlZV9jYikoc3RydWN0IGtyZWYgKmtyZWYpOwogfTsKIAogI2RlZmlu ZSBEUk1fT0JKRUNUX01BWF9QUk9QRVJUWSAyNApAQCAtMjMzLDggKzIzNSw4IEBAIHN0cnVjdCBk cm1fZnJhbWVidWZmZXIgewogCSAqIHNob3VsZCBiZSBkZWZlcnJlZC4gIEluIGNhc2VzIGxpa2Ug dGhpcywgdGhlIGRyaXZlciB3b3VsZCBsaWtlIHRvCiAJICogaG9sZCBhIHJlZiB0byB0aGUgZmIg ZXZlbiB0aG91Z2ggaXQgaGFzIGFscmVhZHkgYmVlbiByZW1vdmVkIGZyb20KIAkgKiB1c2Vyc3Bh Y2UgcGVyc3BlY3RpdmUuCisJICogVGhlIHJlZmNvdW50IGlzIHN0b3JlZCBpbnNpZGUgdGhlIG1v ZGUgb2JqZWN0LgogCSAqLwotCXN0cnVjdCBrcmVmIHJlZmNvdW50OwogCS8qCiAJICogUGxhY2Ug b24gdGhlIGRldi0+bW9kZV9jb25maWcuZmJfbGlzdCwgYWNjZXNzIHByb3RlY3RlZCBieQogCSAq IGRldi0+bW9kZV9jb25maWcuZmJfbG9jay4KQEAgLTIzODYsOCArMjM4OCw2IEBAIGV4dGVybiBp bnQgZHJtX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQljb25z dCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyX2Z1bmNzICpmdW5jcyk7CiBleHRlcm4gc3RydWN0IGRy bV9mcmFtZWJ1ZmZlciAqZHJtX2ZyYW1lYnVmZmVyX2xvb2t1cChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAogCQkJCQkJICAgICAgdWludDMyX3QgaWQpOwotZXh0ZXJuIHZvaWQgZHJtX2ZyYW1lYnVm ZmVyX3VucmVmZXJlbmNlKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKTsKLWV4dGVybiB2b2lk IGRybV9mcmFtZWJ1ZmZlcl9yZWZlcmVuY2Uoc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpOwog ZXh0ZXJuIHZvaWQgZHJtX2ZyYW1lYnVmZmVyX3JlbW92ZShzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy ICpmYik7CiBleHRlcm4gdm9pZCBkcm1fZnJhbWVidWZmZXJfY2xlYW51cChzdHJ1Y3QgZHJtX2Zy YW1lYnVmZmVyICpmYik7CiBleHRlcm4gdm9pZCBkcm1fZnJhbWVidWZmZXJfdW5yZWdpc3Rlcl9w cml2YXRlKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKTsKQEAgLTI0NDUsNiArMjQ0NSw4IEBA IGV4dGVybiBpbnQgZHJtX21vZGVfY3J0Y19zZXRfZ2FtbWFfc2l6ZShzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCiAJCQkJCSBpbnQgZ2FtbWFfc2l6ZSk7CiBleHRlcm4gc3RydWN0IGRybV9tb2RlX29i amVjdCAqZHJtX21vZGVfb2JqZWN0X2ZpbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJdWlu dDMyX3QgaWQsIHVpbnQzMl90IHR5cGUpOwordm9pZCBkcm1fbW9kZV9vYmplY3RfcmVmZXJlbmNl KHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaik7Cit2b2lkIGRybV9tb2RlX29iamVjdF91bnJl ZmVyZW5jZShzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0ICpvYmopOwogCiAvKiBJT0NUTHMgKi8KIGV4 dGVybiBpbnQgZHJtX21vZGVfZ2V0cmVzb3VyY2VzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCkBA IC0yNjA4LDkgKzI2MTAsMTkgQEAgc3RhdGljIGlubGluZSB1aW50MzJfdCBkcm1fY29sb3JfbHV0 X2V4dHJhY3QodWludDMyX3QgdXNlcl9pbnB1dCwKIAlyZXR1cm4gY2xhbXBfdmFsKHZhbCwgMCwg bWF4KTsKIH0KIAorc3RhdGljIGlubGluZSB2b2lkIGRybV9mcmFtZWJ1ZmZlcl9yZWZlcmVuY2Uo c3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCit7CisJZHJtX21vZGVfb2JqZWN0X3JlZmVyZW5j ZSgmZmItPmJhc2UpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZHJtX2ZyYW1lYnVmZmVyX3Vu cmVmZXJlbmNlKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQoreworCWRybV9tb2RlX29iamVj dF91bnJlZmVyZW5jZSgmZmItPmJhc2UpOworfQorCiBzdGF0aWMgaW5saW5lIHVpbnQzMl90IGRy bV9mcmFtZWJ1ZmZlcl9yZWFkX3JlZmNvdW50KHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQog ewotCXJldHVybiBhdG9taWNfcmVhZCgmZmItPnJlZmNvdW50LnJlZmNvdW50KTsKKwlyZXR1cm4g YXRvbWljX3JlYWQoJmZiLT5iYXNlLnJlZmNvdW50LnJlZmNvdW50KTsKIH0KIAogLyogUGxhbmUg bGlzdCBpdGVyYXRvciBmb3IgbGVnYWN5IChvdmVybGF5IG9ubHkpIHBsYW5lcy4gKi8KLS0gCjIu NS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK