From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mahesh Kumar Subject: [PATCH 3/9] drm/i915: cleanup fixed-point wrappers naming Date: Tue, 13 Jun 2017 18:41:56 +0530 Message-ID: <20170613131202.4492-4-mahesh1.kumar@intel.com> References: <20170613131202.4492-1-mahesh1.kumar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 628576E2E4 for ; Tue, 13 Jun 2017 13:08:19 +0000 (UTC) In-Reply-To: <20170613131202.4492-1-mahesh1.kumar@intel.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: paulo.r.zanoni@intel.com, maarten.lankhorst@intel.com List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBtYWtlIG5hbWluZyBvZiBmaXhlZC1wb2ludCB3cmFwcGVycyBjb25zaXN0ZW50 Cm9wZXJhdGlvbl88YW55X3Bvc3Rfb3BlcmF0aW9uPl88MXN0IG9wZXJhbmQ+XzwybmQgb3BlcmFu ZD4KYWxzbyBzaG9ydGVuIHRoZSBuYW1lIGZvciBmaXhlZF8xNl8xNiB0byBmaXhlZDE2CgpzL3Uz Ml90b19maXhlZF8xNl8xNi91MzJfdG9fZml4ZWQxNgpzL2ZpeGVkXzE2XzE2X3RvX3UzMi9maXhl ZDE2X3RvX3UzMgpzL2ZpeGVkXzE2XzE2X3RvX3UzMl9yb3VuZF91cC9maXhlZDE2X3RvX3UzMl9y b3VuZF91cApzL21pbl9maXhlZF8xNl8xNi9taW5fZml4ZWQxNgpzL21heF9maXhlZF8xNl8xNi9t YXhfZml4ZWQxNgpzL211bF91MzJfZml4ZWRfMTZfMTYvbXVsX3UzMl9maXhlZDE2CnMvZml4ZWRf MTZfMTZfZGl2L2Rpdl9maXhlZDE2CgpDaGFuZ2VzIFNpbmNlIFYxOgogLSBTcGxpdCB0aGUgcGF0 Y2ggaW4gbW9yZSBsb2dpY2FsIHBhdGNoZXMgKE1hYXJ0ZW4pCgpTaWduZWQtb2ZmLWJ5OiBNYWhl c2ggS3VtYXIgPG1haGVzaDEua3VtYXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggfCAxNCArKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wbS5jIHwgNTkgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIg ZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKaW5kZXggMjFlNzdiMGU1ZWEyLi5kMDY5OGMyOTBjYmEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaApAQCAtMTIyLDcgKzEyMiw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBp c19maXhlZDE2X3plcm8odWludF9maXhlZF8xNl8xNl90IHZhbCkKIAlyZXR1cm4gZmFsc2U7CiB9 CiAKLXN0YXRpYyBpbmxpbmUgdWludF9maXhlZF8xNl8xNl90IHUzMl90b19maXhlZF8xNl8xNih1 aW50MzJfdCB2YWwpCitzdGF0aWMgaW5saW5lIHVpbnRfZml4ZWRfMTZfMTZfdCB1MzJfdG9fZml4 ZWQxNih1aW50MzJfdCB2YWwpCiB7CiAJdWludF9maXhlZF8xNl8xNl90IGZwOwogCkBAIC0xMzIs MTcgKzEzMiwxNyBAQCBzdGF0aWMgaW5saW5lIHVpbnRfZml4ZWRfMTZfMTZfdCB1MzJfdG9fZml4 ZWRfMTZfMTYodWludDMyX3QgdmFsKQogCXJldHVybiBmcDsKIH0KIAotc3RhdGljIGlubGluZSB1 aW50MzJfdCBmaXhlZF8xNl8xNl90b191MzJfcm91bmRfdXAodWludF9maXhlZF8xNl8xNl90IGZw KQorc3RhdGljIGlubGluZSB1aW50MzJfdCBmaXhlZDE2X3RvX3UzMl9yb3VuZF91cCh1aW50X2Zp eGVkXzE2XzE2X3QgZnApCiB7CiAJcmV0dXJuIERJVl9ST1VORF9VUChmcC52YWwsIDEgPDwgMTYp OwogfQogCi1zdGF0aWMgaW5saW5lIHVpbnQzMl90IGZpeGVkXzE2XzE2X3RvX3UzMih1aW50X2Zp eGVkXzE2XzE2X3QgZnApCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IGZpeGVkMTZfdG9fdTMyKHVp bnRfZml4ZWRfMTZfMTZfdCBmcCkKIHsKIAlyZXR1cm4gZnAudmFsID4+IDE2OwogfQogCi1zdGF0 aWMgaW5saW5lIHVpbnRfZml4ZWRfMTZfMTZfdCBtaW5fZml4ZWRfMTZfMTYodWludF9maXhlZF8x Nl8xNl90IG1pbjEsCitzdGF0aWMgaW5saW5lIHVpbnRfZml4ZWRfMTZfMTZfdCBtaW5fZml4ZWQx Nih1aW50X2ZpeGVkXzE2XzE2X3QgbWluMSwKIAkJCQkJCSB1aW50X2ZpeGVkXzE2XzE2X3QgbWlu MikKIHsKIAl1aW50X2ZpeGVkXzE2XzE2X3QgbWluOwpAQCAtMTUxLDcgKzE1MSw3IEBAIHN0YXRp YyBpbmxpbmUgdWludF9maXhlZF8xNl8xNl90IG1pbl9maXhlZF8xNl8xNih1aW50X2ZpeGVkXzE2 XzE2X3QgbWluMSwKIAlyZXR1cm4gbWluOwogfQogCi1zdGF0aWMgaW5saW5lIHVpbnRfZml4ZWRf MTZfMTZfdCBtYXhfZml4ZWRfMTZfMTYodWludF9maXhlZF8xNl8xNl90IG1heDEsCitzdGF0aWMg aW5saW5lIHVpbnRfZml4ZWRfMTZfMTZfdCBtYXhfZml4ZWQxNih1aW50X2ZpeGVkXzE2XzE2X3Qg bWF4MSwKIAkJCQkJCSB1aW50X2ZpeGVkXzE2XzE2X3QgbWF4MikKIHsKIAl1aW50X2ZpeGVkXzE2 XzE2X3QgbWF4OwpAQCAtMTk1LDcgKzE5NSw3IEBAIHN0YXRpYyBpbmxpbmUgdWludF9maXhlZF8x Nl8xNl90IG11bF9maXhlZDE2KHVpbnRfZml4ZWRfMTZfMTZfdCB2YWwsCiAJcmV0dXJuIGNsYW1w X3U2NF90b19maXhlZDE2KGludGVybWVkaWF0ZV92YWwpOwogfQogCi1zdGF0aWMgaW5saW5lIHVp bnRfZml4ZWRfMTZfMTZfdCBmaXhlZF8xNl8xNl9kaXYodWludDMyX3QgdmFsLCB1aW50MzJfdCBk KQorc3RhdGljIGlubGluZSB1aW50X2ZpeGVkXzE2XzE2X3QgZGl2X2ZpeGVkMTYodWludDMyX3Qg dmFsLCB1aW50MzJfdCBkKQogewogCXVpbnQ2NF90IGludGVybV92YWw7CiAKQEAgLTIxNSw3ICsy MTUsNyBAQCBzdGF0aWMgaW5saW5lIHVpbnQzMl90IGRpdl9yb3VuZF91cF91MzJfZml4ZWQxNih1 aW50MzJfdCB2YWwsCiAJcmV0dXJuIGNsYW1wX3QodWludDMyX3QsIGludGVybV92YWwsIDAsIH4w KTsKIH0KIAotc3RhdGljIGlubGluZSB1aW50X2ZpeGVkXzE2XzE2X3QgbXVsX3UzMl9maXhlZF8x Nl8xNih1aW50MzJfdCB2YWwsCitzdGF0aWMgaW5saW5lIHVpbnRfZml4ZWRfMTZfMTZfdCBtdWxf dTMyX2ZpeGVkMTYodWludDMyX3QgdmFsLAogCQkJCQkJICAgICB1aW50X2ZpeGVkXzE2XzE2X3Qg bXVsKQogewogCXVpbnQ2NF90IGludGVybWVkaWF0ZV92YWw7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u YwppbmRleCAwNDgzZTkxMTBjZjYuLjE1NWY1NGExZjUxNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w bS5jCkBAIC0zODM3LDcgKzM4MzcsNyBAQCBza2xfcGxhbmVfZG93bnNjYWxlX2Ftb3VudChjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlLAogCXVpbnRfZml4ZWRfMTZfMTZfdCBk b3duc2NhbGVfaCwgZG93bnNjYWxlX3c7CiAKIAlpZiAoV0FSTl9PTighaW50ZWxfd21fcGxhbmVf dmlzaWJsZShjc3RhdGUsIHBzdGF0ZSkpKQotCQlyZXR1cm4gdTMyX3RvX2ZpeGVkXzE2XzE2KDAp OworCQlyZXR1cm4gdTMyX3RvX2ZpeGVkMTYoMCk7CiAKIAkvKiBuLmIuLCBzcmMgaXMgMTYuMTYg Zml4ZWQgcG9pbnQsIGRzdCBpcyB3aG9sZSBpbnRlZ2VyICovCiAJaWYgKHBsYW5lLT5pZCA9PSBQ TEFORV9DVVJTT1IpIHsKQEAgLTM4NjEsMTAgKzM4NjEsMTAgQEAgc2tsX3BsYW5lX2Rvd25zY2Fs ZV9hbW91bnQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKIAkJZHN0X2gg PSBkcm1fcmVjdF9oZWlnaHQoJnBzdGF0ZS0+YmFzZS5kc3QpOwogCX0KIAotCWZwX3dfcmF0aW8g PSBmaXhlZF8xNl8xNl9kaXYoc3JjX3csIGRzdF93KTsKLQlmcF9oX3JhdGlvID0gZml4ZWRfMTZf MTZfZGl2KHNyY19oLCBkc3RfaCk7Ci0JZG93bnNjYWxlX3cgPSBtYXhfZml4ZWRfMTZfMTYoZnBf d19yYXRpbywgdTMyX3RvX2ZpeGVkXzE2XzE2KDEpKTsKLQlkb3duc2NhbGVfaCA9IG1heF9maXhl ZF8xNl8xNihmcF9oX3JhdGlvLCB1MzJfdG9fZml4ZWRfMTZfMTYoMSkpOworCWZwX3dfcmF0aW8g PSBkaXZfZml4ZWQxNihzcmNfdywgZHN0X3cpOworCWZwX2hfcmF0aW8gPSBkaXZfZml4ZWQxNihz cmNfaCwgZHN0X2gpOworCWRvd25zY2FsZV93ID0gbWF4X2ZpeGVkMTYoZnBfd19yYXRpbywgdTMy X3RvX2ZpeGVkMTYoMSkpOworCWRvd25zY2FsZV9oID0gbWF4X2ZpeGVkMTYoZnBfaF9yYXRpbywg dTMyX3RvX2ZpeGVkMTYoMSkpOwogCiAJcmV0dXJuIG11bF9maXhlZDE2KGRvd25zY2FsZV93LCBk b3duc2NhbGVfaCk7CiB9CkBAIC0zODcyLDcgKzM4NzIsNyBAQCBza2xfcGxhbmVfZG93bnNjYWxl X2Ftb3VudChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlLAogc3RhdGljIHVp bnRfZml4ZWRfMTZfMTZfdAogc2tsX3BpcGVfZG93bnNjYWxlX2Ftb3VudChjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQl1aW50X2ZpeGVkXzE2XzE2X3QgcGlw ZV9kb3duc2NhbGUgPSB1MzJfdG9fZml4ZWRfMTZfMTYoMSk7CisJdWludF9maXhlZF8xNl8xNl90 IHBpcGVfZG93bnNjYWxlID0gdTMyX3RvX2ZpeGVkMTYoMSk7CiAKIAlpZiAoIWNydGNfc3RhdGUt PmJhc2UuZW5hYmxlKQogCQlyZXR1cm4gcGlwZV9kb3duc2NhbGU7CkBAIC0zODkxLDEwICszODkx LDEwIEBAIHNrbF9waXBlX2Rvd25zY2FsZV9hbW91bnQoY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUpCiAJCWlmICghZHN0X3cgfHwgIWRzdF9oKQogCQkJcmV0dXJuIHBp cGVfZG93bnNjYWxlOwogCi0JCWZwX3dfcmF0aW8gPSBmaXhlZF8xNl8xNl9kaXYoc3JjX3csIGRz dF93KTsKLQkJZnBfaF9yYXRpbyA9IGZpeGVkXzE2XzE2X2RpdihzcmNfaCwgZHN0X2gpOwotCQlk b3duc2NhbGVfdyA9IG1heF9maXhlZF8xNl8xNihmcF93X3JhdGlvLCB1MzJfdG9fZml4ZWRfMTZf MTYoMSkpOwotCQlkb3duc2NhbGVfaCA9IG1heF9maXhlZF8xNl8xNihmcF9oX3JhdGlvLCB1MzJf dG9fZml4ZWRfMTZfMTYoMSkpOworCQlmcF93X3JhdGlvID0gZGl2X2ZpeGVkMTYoc3JjX3csIGRz dF93KTsKKwkJZnBfaF9yYXRpbyA9IGRpdl9maXhlZDE2KHNyY19oLCBkc3RfaCk7CisJCWRvd25z Y2FsZV93ID0gbWF4X2ZpeGVkMTYoZnBfd19yYXRpbywgdTMyX3RvX2ZpeGVkMTYoMSkpOworCQlk b3duc2NhbGVfaCA9IG1heF9maXhlZDE2KGZwX2hfcmF0aW8sIHUzMl90b19maXhlZDE2KDEpKTsK IAogCQlwaXBlX2Rvd25zY2FsZSA9IG11bF9maXhlZDE2KGRvd25zY2FsZV93LCBkb3duc2NhbGVf aCk7CiAJfQpAQCAtMzkxMywxNCArMzkxMywxNCBAQCBpbnQgc2tsX2NoZWNrX3BpcGVfbWF4X3Bp eGVsX3JhdGUoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCiAJaW50IGNydGNfY2xvY2ss IGRvdGNsazsKIAl1aW50MzJfdCBwaXBlX21heF9waXhlbF9yYXRlOwogCXVpbnRfZml4ZWRfMTZf MTZfdCBwaXBlX2Rvd25zY2FsZTsKLQl1aW50X2ZpeGVkXzE2XzE2X3QgbWF4X2Rvd25zY2FsZSA9 IHUzMl90b19maXhlZF8xNl8xNigxKTsKKwl1aW50X2ZpeGVkXzE2XzE2X3QgbWF4X2Rvd25zY2Fs ZSA9IHUzMl90b19maXhlZDE2KDEpOwogCiAJaWYgKCFjc3RhdGUtPmJhc2UuZW5hYmxlKQogCQly ZXR1cm4gMDsKIAogCWRybV9hdG9taWNfY3J0Y19zdGF0ZV9mb3JfZWFjaF9wbGFuZV9zdGF0ZShw bGFuZSwgcHN0YXRlLCBjcnRjX3N0YXRlKSB7CiAJCXVpbnRfZml4ZWRfMTZfMTZfdCBwbGFuZV9k b3duc2NhbGU7Ci0JCXVpbnRfZml4ZWRfMTZfMTZfdCBmcF85X2Rpdl84ID0gZml4ZWRfMTZfMTZf ZGl2KDksIDgpOworCQl1aW50X2ZpeGVkXzE2XzE2X3QgZnBfOV9kaXZfOCA9IGRpdl9maXhlZDE2 KDksIDgpOwogCQlpbnQgYnBwOwogCiAJCWlmICghaW50ZWxfd21fcGxhbmVfdmlzaWJsZShjc3Rh dGUsCkBAIC0zOTM4LDcgKzM5MzgsNyBAQCBpbnQgc2tsX2NoZWNrX3BpcGVfbWF4X3BpeGVsX3Jh dGUoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCiAJCQlwbGFuZV9kb3duc2NhbGUgPSBt dWxfZml4ZWQxNihwbGFuZV9kb3duc2NhbGUsCiAJCQkJCQkgICAgICBmcF85X2Rpdl84KTsKIAot CQltYXhfZG93bnNjYWxlID0gbWF4X2ZpeGVkXzE2XzE2KHBsYW5lX2Rvd25zY2FsZSwgbWF4X2Rv d25zY2FsZSk7CisJCW1heF9kb3duc2NhbGUgPSBtYXhfZml4ZWQxNihwbGFuZV9kb3duc2NhbGUs IG1heF9kb3duc2NhbGUpOwogCX0KIAlwaXBlX2Rvd25zY2FsZSA9IHNrbF9waXBlX2Rvd25zY2Fs ZV9hbW91bnQoY3N0YXRlKTsKIApAQCAtNDM1OSw3ICs0MzU5LDcgQEAgc3RhdGljIHVpbnRfZml4 ZWRfMTZfMTZfdCBza2xfd21fbWV0aG9kMSh1aW50MzJfdCBwaXhlbF9yYXRlLCB1aW50OF90IGNw cCwKIAkJcmV0dXJuIEZQXzE2XzE2X01BWDsKIAogCXdtX2ludGVybWVkaWF0ZV92YWwgPSBsYXRl bmN5ICogcGl4ZWxfcmF0ZSAqIGNwcDsKLQlyZXQgPSBmaXhlZF8xNl8xNl9kaXYod21faW50ZXJt ZWRpYXRlX3ZhbCwgMTAwMCAqIDUxMik7CisJcmV0ID0gZGl2X2ZpeGVkMTYod21faW50ZXJtZWRp YXRlX3ZhbCwgMTAwMCAqIDUxMik7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtNDM3Nyw3ICs0Mzc3 LDcgQEAgc3RhdGljIHVpbnRfZml4ZWRfMTZfMTZfdCBza2xfd21fbWV0aG9kMih1aW50MzJfdCBw aXhlbF9yYXRlLAogCXdtX2ludGVybWVkaWF0ZV92YWwgPSBsYXRlbmN5ICogcGl4ZWxfcmF0ZTsK IAl3bV9pbnRlcm1lZGlhdGVfdmFsID0gRElWX1JPVU5EX1VQKHdtX2ludGVybWVkaWF0ZV92YWws CiAJCQkJCSAgIHBpcGVfaHRvdGFsICogMTAwMCk7Ci0JcmV0ID0gbXVsX3UzMl9maXhlZF8xNl8x Nih3bV9pbnRlcm1lZGlhdGVfdmFsLCBwbGFuZV9ibG9ja3NfcGVyX2xpbmUpOworCXJldCA9IG11 bF91MzJfZml4ZWQxNih3bV9pbnRlcm1lZGlhdGVfdmFsLCBwbGFuZV9ibG9ja3NfcGVyX2xpbmUp OwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTQzODksMTUgKzQzODksMTUgQEAgaW50ZWxfZ2V0X2xp bmV0aW1lX3VzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpCiAJdWludF9maXhlZF8x Nl8xNl90IGxpbmV0aW1lX3VzOwogCiAJaWYgKCFjc3RhdGUtPmJhc2UuYWN0aXZlKQotCQlyZXR1 cm4gdTMyX3RvX2ZpeGVkXzE2XzE2KDApOworCQlyZXR1cm4gdTMyX3RvX2ZpeGVkMTYoMCk7CiAK IAlwaXhlbF9yYXRlID0gY3N0YXRlLT5waXhlbF9yYXRlOwogCiAJaWYgKFdBUk5fT04ocGl4ZWxf cmF0ZSA9PSAwKSkKLQkJcmV0dXJuIHUzMl90b19maXhlZF8xNl8xNigwKTsKKwkJcmV0dXJuIHUz Ml90b19maXhlZDE2KDApOwogCiAJY3J0Y19odG90YWwgPSBjc3RhdGUtPmJhc2UuYWRqdXN0ZWRf bW9kZS5jcnRjX2h0b3RhbDsKLQlsaW5ldGltZV91cyA9IGZpeGVkXzE2XzE2X2RpdihjcnRjX2h0 b3RhbCAqIDEwMDAsIHBpeGVsX3JhdGUpOworCWxpbmV0aW1lX3VzID0gZGl2X2ZpeGVkMTYoY3J0 Y19odG90YWwgKiAxMDAwLCBwaXhlbF9yYXRlKTsKIAogCXJldHVybiBsaW5ldGltZV91czsKIH0K QEAgLTQ1MTMsMTQgKzQ1MTMsMTQgQEAgc3RhdGljIGludCBza2xfY29tcHV0ZV9wbGFuZV93bShj b25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJaWYgKHlfdGlsZWQpIHsK IAkJaW50ZXJtX3BicGwgPSBESVZfUk9VTkRfVVAocGxhbmVfYnl0ZXNfcGVyX2xpbmUgKgogCQkJ CQkgICB5X21pbl9zY2FubGluZXMsIDUxMik7Ci0JCXBsYW5lX2Jsb2Nrc19wZXJfbGluZSA9IGZp eGVkXzE2XzE2X2RpdihpbnRlcm1fcGJwbCwKKwkJcGxhbmVfYmxvY2tzX3Blcl9saW5lID0gZGl2 X2ZpeGVkMTYoaW50ZXJtX3BicGwsCiAJCQkJCQkJeV9taW5fc2NhbmxpbmVzKTsKIAl9IGVsc2Ug aWYgKHhfdGlsZWQpIHsKIAkJaW50ZXJtX3BicGwgPSBESVZfUk9VTkRfVVAocGxhbmVfYnl0ZXNf cGVyX2xpbmUsIDUxMik7Ci0JCXBsYW5lX2Jsb2Nrc19wZXJfbGluZSA9IHUzMl90b19maXhlZF8x Nl8xNihpbnRlcm1fcGJwbCk7CisJCXBsYW5lX2Jsb2Nrc19wZXJfbGluZSA9IHUzMl90b19maXhl ZDE2KGludGVybV9wYnBsKTsKIAl9IGVsc2UgewogCQlpbnRlcm1fcGJwbCA9IERJVl9ST1VORF9V UChwbGFuZV9ieXRlc19wZXJfbGluZSwgNTEyKSArIDE7Ci0JCXBsYW5lX2Jsb2Nrc19wZXJfbGlu ZSA9IHUzMl90b19maXhlZF8xNl8xNihpbnRlcm1fcGJwbCk7CisJCXBsYW5lX2Jsb2Nrc19wZXJf bGluZSA9IHUzMl90b19maXhlZDE2KGludGVybV9wYnBsKTsKIAl9CiAKIAltZXRob2QxID0gc2ts X3dtX21ldGhvZDEocGxhbmVfcGl4ZWxfcmF0ZSwgY3BwLCBsYXRlbmN5KTsKQEAgLTQ1MjksMzIg KzQ1MjksMzIgQEAgc3RhdGljIGludCBza2xfY29tcHV0ZV9wbGFuZV93bShjb25zdCBzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJIGxhdGVuY3ksCiAJCQkJIHBsYW5lX2Js b2Nrc19wZXJfbGluZSk7CiAKLQl5X3RpbGVfbWluaW11bSA9IG11bF91MzJfZml4ZWRfMTZfMTYo eV9taW5fc2NhbmxpbmVzLAotCQkJCQkgICAgIHBsYW5lX2Jsb2Nrc19wZXJfbGluZSk7CisJeV90 aWxlX21pbmltdW0gPSBtdWxfdTMyX2ZpeGVkMTYoeV9taW5fc2NhbmxpbmVzLAorCQkJCQkgcGxh bmVfYmxvY2tzX3Blcl9saW5lKTsKIAogCWlmICh5X3RpbGVkKSB7Ci0JCXNlbGVjdGVkX3Jlc3Vs dCA9IG1heF9maXhlZF8xNl8xNihtZXRob2QyLCB5X3RpbGVfbWluaW11bSk7CisJCXNlbGVjdGVk X3Jlc3VsdCA9IG1heF9maXhlZDE2KG1ldGhvZDIsIHlfdGlsZV9taW5pbXVtKTsKIAl9IGVsc2Ug ewogCQl1aW50MzJfdCBsaW5ldGltZV91czsKIAotCQlsaW5ldGltZV91cyA9IGZpeGVkXzE2XzE2 X3RvX3UzMl9yb3VuZF91cCgKKwkJbGluZXRpbWVfdXMgPSBmaXhlZDE2X3RvX3UzMl9yb3VuZF91 cCgKIAkJCQlpbnRlbF9nZXRfbGluZXRpbWVfdXMoY3N0YXRlKSk7CiAJCWlmICgoY3BwICogY3N0 YXRlLT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y19odG90YWwgLyA1MTIgPCAxKSAmJgogCQkgICAg KHBsYW5lX2J5dGVzX3Blcl9saW5lIC8gNTEyIDwgMSkpCiAJCQlzZWxlY3RlZF9yZXN1bHQgPSBt ZXRob2QyOwogCQllbHNlIGlmIChsYXRlbmN5ID49IGxpbmV0aW1lX3VzKQotCQkJc2VsZWN0ZWRf cmVzdWx0ID0gbWluX2ZpeGVkXzE2XzE2KG1ldGhvZDEsIG1ldGhvZDIpOworCQkJc2VsZWN0ZWRf cmVzdWx0ID0gbWluX2ZpeGVkMTYobWV0aG9kMSwgbWV0aG9kMik7CiAJCWVsc2UKIAkJCXNlbGVj dGVkX3Jlc3VsdCA9IG1ldGhvZDE7CiAJfQogCi0JcmVzX2Jsb2NrcyA9IGZpeGVkXzE2XzE2X3Rv X3UzMl9yb3VuZF91cChzZWxlY3RlZF9yZXN1bHQpICsgMTsKKwlyZXNfYmxvY2tzID0gZml4ZWQx Nl90b191MzJfcm91bmRfdXAoc2VsZWN0ZWRfcmVzdWx0KSArIDE7CiAJcmVzX2xpbmVzID0gZGl2 X3JvdW5kX3VwX2ZpeGVkMTYoc2VsZWN0ZWRfcmVzdWx0LAogCQkJCQkgcGxhbmVfYmxvY2tzX3Bl cl9saW5lKTsKIAogCWlmIChsZXZlbCA+PSAxICYmIGxldmVsIDw9IDcpIHsKIAkJaWYgKHlfdGls ZWQpIHsKLQkJCXJlc19ibG9ja3MgKz0gZml4ZWRfMTZfMTZfdG9fdTMyX3JvdW5kX3VwKHlfdGls ZV9taW5pbXVtKTsKKwkJCXJlc19ibG9ja3MgKz0gZml4ZWQxNl90b191MzJfcm91bmRfdXAoeV90 aWxlX21pbmltdW0pOwogCQkJcmVzX2xpbmVzICs9IHlfbWluX3NjYW5saW5lczsKIAkJfSBlbHNl IHsKIAkJCXJlc19ibG9ja3MrKzsKQEAgLTQ2MTcsOCArNDYxNyw3IEBAIHNrbF9jb21wdXRlX2xp bmV0aW1lX3dtKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpCiAJaWYgKGlzX2ZpeGVk MTZfemVybyhsaW5ldGltZV91cykpCiAJCXJldHVybiAwOwogCi0JbGluZXRpbWVfd20gPSBmaXhl ZF8xNl8xNl90b191MzJfcm91bmRfdXAobXVsX3UzMl9maXhlZF8xNl8xNig4LAotCQkJCWxpbmV0 aW1lX3VzKSk7CisJbGluZXRpbWVfd20gPSBmaXhlZDE2X3RvX3UzMl9yb3VuZF91cChtdWxfdTMy X2ZpeGVkMTYoOCwgbGluZXRpbWVfdXMpKTsKIAogCS8qIERpc3BsYXkgV0EgIzExMzU6IGJ4dC4g Ki8KIAlpZiAoSVNfQlJPWFRPTihkZXZfcHJpdikgJiYgZGV2X3ByaXYtPmlwY19lbmFibGVkKQot LSAKMi4xMy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK