From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id A82C0892ED for ; Fri, 31 May 2019 11:21:54 +0000 (UTC) From: Simon Ser Date: Fri, 31 May 2019 14:21:57 +0300 Message-Id: <20190531112200.22403-3-simon.ser@intel.com> In-Reply-To: <20190531112200.22403-1-simon.ser@intel.com> References: <20190531112200.22403-1-simon.ser@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 2/5] lib/igt_eld: consolidate ELD parsing List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: martin.peres@intel.com List-ID: TWFrZSB0aGUgRUxEIGVudW1lcmF0aW9uIG1vcmUgcm9idXN0LCBhbmQgaW1wbGVtZW50IHByb3Bl ciBwYXJzaW5nIGZvciBFTEQKZmllbGRzLiBUaGlzIHdpbGwgYmVjb21lIHVzZWZ1bCB3aGVuIG90 aGVyIEVMRCBmaWVsZHMgKGZvcm1hdHMsIHNhbXBsZSByYXRlcywKc2FtcGxlIHNpemVzKSB3aWxs IGJlIHBhcnNlZCBhbmQgY2hlY2tlZC4KClNpZ25lZC1vZmYtYnk6IFNpbW9uIFNlciA8c2ltb24u c2VyQGludGVsLmNvbT4KLS0tCiBsaWIvaWd0X2VsZC5jIHwgOTQgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiBsaWIvaWd0X2VsZC5oIHwgIDUgKysr CiAyIGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2xpYi9pZ3RfZWxkLmMgYi9saWIvaWd0X2VsZC5jCmluZGV4IDhlMGRjYzMwNmU4 NS4uYTE5ODAwMWE1NmQ3IDEwMDY0NAotLS0gYS9saWIvaWd0X2VsZC5jCisrKyBiL2xpYi9pZ3Rf ZWxkLmMKQEAgLTMwLDggKzMwLDEyIEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxz dHJpbmcuaD4KIAorI2luY2x1ZGUgImlndF9jb3JlLmgiCiAjaW5jbHVkZSAiaWd0X2VsZC5oIgog CisjZGVmaW5lIEVMRF9QUkVGSVggImVsZCMiCisjZGVmaW5lIEVMRF9ERUxJTSAiIFx0IgorCiAv KioKICAqIEVESUQtTGlrZSBEYXRhIChFTEQpIGlzIG1ldGFkYXRhIHBhcnNlZCBhbmQgZXhwb3Nl ZCBieSBBTFNBIGZvciBIRE1JIGFuZAogICogRGlzcGxheVBvcnQgY29ubmVjdG9ycyBzdXBwb3J0 aW5nIGF1ZGlvLiBUaGlzIGluY2x1ZGVzIHRoZSBtb25pdG9yIG5hbWUgYW5kCkBAIC0zOSwzOSAr NDMsNDkgQEAKICAqIG9uKS4KICAqLwogCi0vKiogZWxkX2VudHJ5X2lzX2lndDogY2hlY2tzIHdo ZXRoZXIgYW4gRUxEIGVudHJ5IGlzIG1hcHBlZCB0byB0aGUgSUdUIEVESUQgKi8KLXN0YXRpYyBi b29sIGVsZF9lbnRyeV9pc19pZ3QoY29uc3QgY2hhciAqcGF0aCkKK3N0YXRpYyBib29sIGVsZF9w YXJzZV9lbnRyeShjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3QgZWxkX2VudHJ5ICplbGQpCiB7Ci0J RklMRSAqaW47CisJRklMRSAqZjsKIAljaGFyIGJ1ZlsxMDI0XTsKLQl1aW50OF90IGVsZF92YWxp ZCA9IDA7Ci0JdWludDhfdCBtb25fdmFsaWQgPSAwOwotCi0JaW4gPSBmb3BlbihwYXRoLCAiciIp OwotCWlmICghaW4pCi0JCXJldHVybiBmYWxzZTsKKwljaGFyICprZXksICp2YWx1ZTsKKwlzaXpl X3QgbGVuOworCWJvb2wgbW9uaXRvcl9wcmVzZW50OwogCi0JbWVtc2V0KGJ1ZiwgMCwgMTAyNCk7 CisJbWVtc2V0KGVsZCwgMCwgc2l6ZW9mKCplbGQpKTsKIAotCXdoaWxlICgoZmdldHMoYnVmLCAx MDI0LCBpbikpICE9IE5VTEwpIHsKLQkJY2hhciAqbGluZSA9IGJ1ZjsKKwlmID0gZm9wZW4ocGF0 aCwgInIiKTsKKwlpZiAoIWYpIHsKKwkJaWd0X2RlYnVnKCJGYWlsZWQgdG8gb3BlbiBFTEQgZmls ZTogJXNcbiIsIHBhdGgpOworCQlyZXR1cm4gZmFsc2U7CisJfQogCi0JCWlmICghc3RybmNhc2Vj bXAobGluZSwgImVsZF92YWxpZCIsIDkpICYmCi0JCQkJc3Ryc3RyKGxpbmUsICIxIikpIHsKLQkJ CWVsZF92YWxpZCsrOwotCQl9CisJd2hpbGUgKChmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmKSkg IT0gTlVMTCkgeworCQlsZW4gPSBzdHJsZW4oYnVmKTsKKwkJaWYgKGJ1ZltsZW4gLSAxXSA9PSAn XG4nKQorCQkJYnVmW2xlbiAtIDFdID0gJ1wwJzsKKworCQlrZXkgPSBzdHJ0b2soYnVmLCBFTERf REVMSU0pOworCQl2YWx1ZSA9IHN0cnRvayhOVUxMLCAiIik7CisJCS8qIFNraXAgd2hpdGVzcGFj ZSBhdCB0aGUgYmVnaW5uaW5nICovCisJCXZhbHVlICs9IHN0cnNwbih2YWx1ZSwgRUxEX0RFTElN KTsKKworCQlpZiAoc3RyY21wKGtleSwgIm1vbml0b3JfcHJlc2VudCIpID09IDApCisJCQltb25p dG9yX3ByZXNlbnQgPSBzdHJjbXAodmFsdWUsICIxIikgPT0gMDsKKwkJZWxzZSBpZiAoc3RyY21w KGtleSwgImVsZF92YWxpZCIpID09IDApCisJCQllbGQtPnZhbGlkID0gc3RyY21wKHZhbHVlLCAi MSIpID09IDA7CisJCWVsc2UgaWYgKHN0cmNtcChrZXksICJtb25pdG9yX25hbWUiKSA9PSAwKQor CQkJc25wcmludGYoZWxkLT5tb25pdG9yX25hbWUsIHNpemVvZihlbGQtPm1vbml0b3JfbmFtZSks CisJCQkJICIlcyIsIHZhbHVlKTsKKwl9CiAKLQkJaWYgKCFzdHJuY2FzZWNtcChsaW5lLCAibW9u aXRvcl9uYW1lIiwgMTIpICYmCi0JCQkJc3Ryc3RyKGxpbmUsICJJR1QiKSkgewotCQkJbW9uX3Zh bGlkKys7Ci0JCX0KKwlpZiAoZmVycm9yKGYpICE9IDApIHsKKwkJaWd0X2RlYnVnKCJGYWlsZWQg dG8gcmVhZCBFTEQgZmlsZTogJWRcbiIsIGZlcnJvcihmKSk7CisJCXJldHVybiBmYWxzZTsKIAl9 CiAKLQlmY2xvc2UoaW4pOwotCWlmIChtb25fdmFsaWQgJiYgZWxkX3ZhbGlkKQotCQlyZXR1cm4g dHJ1ZTsKKwlmY2xvc2UoZik7CiAKLQlyZXR1cm4gZmFsc2U7CisJcmV0dXJuIG1vbml0b3JfcHJl c2VudDsKIH0KIAogLyoqIGVsZF9oYXNfaWd0OiBjaGVjayB3aGV0aGVyIEFMU0EgaGFzIGRldGVj dGVkIHRoZSBhdWRpby1jYXBhYmxlIElHVCBFRElEIGJ5CkBAIC03OSwyNyArOTMsMzUgQEAgc3Rh dGljIGJvb2wgZWxkX2VudHJ5X2lzX2lndChjb25zdCBjaGFyICpwYXRoKQogYm9vbCBlbGRfaGFz X2lndCh2b2lkKQogewogCURJUiAqZGlyOwotCXN0cnVjdCBkaXJlbnQgKnNuZF9oZGE7CisJc3Ry dWN0IGRpcmVudCAqZGlyZW50OwogCWludCBpOworCWNoYXIgY2FyZFs2NF07CisJY2hhciBwYXRo W1BBVEhfTUFYXTsKKwlzdHJ1Y3QgZWxkX2VudHJ5IGVsZDsKIAogCWZvciAoaSA9IDA7IGkgPCA4 OyBpKyspIHsKLQkJY2hhciBjYXJkc1sxMjhdOwotCi0JCXNucHJpbnRmKGNhcmRzLCBzaXplb2Yo Y2FyZHMpLCAiL3Byb2MvYXNvdW5kL2NhcmQlZCIsIGkpOwotCQlkaXIgPSBvcGVuZGlyKGNhcmRz KTsKKwkJc25wcmludGYoY2FyZCwgc2l6ZW9mKGNhcmQpLCAiL3Byb2MvYXNvdW5kL2NhcmQlZCIs IGkpOworCQlkaXIgPSBvcGVuZGlyKGNhcmQpOwogCQlpZiAoIWRpcikKIAkJCWNvbnRpbnVlOwog Ci0JCXdoaWxlICgoc25kX2hkYSA9IHJlYWRkaXIoZGlyKSkpIHsKLQkJCWNoYXIgZnBhdGhbUEFU SF9NQVhdOworCQl3aGlsZSAoKGRpcmVudCA9IHJlYWRkaXIoZGlyKSkpIHsKKwkJCWlmIChzdHJu Y21wKGRpcmVudC0+ZF9uYW1lLCBFTERfUFJFRklYLAorCQkJCSAgICBzdHJsZW4oRUxEX1BSRUZJ WCkpICE9IDApCisJCQkJY29udGludWU7CisKKwkJCXNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRo KSwgIiVzLyVzIiwgY2FyZCwKKwkJCQkgZGlyZW50LT5kX25hbWUpOworCQkJaWYgKCFlbGRfcGFy c2VfZW50cnkocGF0aCwgJmVsZCkpIHsKKwkJCQljb250aW51ZTsKKwkJCX0KIAotCQkJaWYgKCpz bmRfaGRhLT5kX25hbWUgPT0gJy4nIHx8Ci0JCQkgICAgc3Ryc3RyKHNuZF9oZGEtPmRfbmFtZSwg ImVsZCIpID09IDApCisJCQlpZiAoIWVsZC52YWxpZCkgeworCQkJCWlndF9kZWJ1ZygiU2tpcHBp bmcgaW52YWxpZCBFTEQ6ICVzXG4iLCBwYXRoKTsKIAkJCQljb250aW51ZTsKKwkJCX0KIAotCQkJ c25wcmludGYoZnBhdGgsIHNpemVvZihmcGF0aCksICIlcy8lcyIsIGNhcmRzLAotCQkJCSBzbmRf aGRhLT5kX25hbWUpOwotCQkJaWYgKGVsZF9lbnRyeV9pc19pZ3QoZnBhdGgpKSB7CisJCQlpZiAo c3RyY21wKGVsZC5tb25pdG9yX25hbWUsICJJR1QiKSA9PSAwKSB7CiAJCQkJY2xvc2VkaXIoZGly KTsKIAkJCQlyZXR1cm4gdHJ1ZTsKIAkJCX0KZGlmZiAtLWdpdCBhL2xpYi9pZ3RfZWxkLmggYi9s aWIvaWd0X2VsZC5oCmluZGV4IDI3Zjg3NmQ5ZjYzMS4uMjFmZTM1MzdhY2Y5IDEwMDY0NAotLS0g YS9saWIvaWd0X2VsZC5oCisrKyBiL2xpYi9pZ3RfZWxkLmgKQEAgLTMwLDYgKzMwLDExIEBACiAK ICNpbmNsdWRlIDxzdGRib29sLmg+CiAKK3N0cnVjdCBlbGRfZW50cnkgeworCWJvb2wgdmFsaWQ7 CisJY2hhciBtb25pdG9yX25hbWVbMTZdOworfTsKKwogYm9vbCBlbGRfaGFzX2lndCh2b2lkKTsK IAogI2VuZGlmCi0tIAoyLjIxLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0 LWRldg==