From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 628096E953 for ; Sat, 1 Sep 2018 04:18:08 +0000 (UTC) From: Rodrigo Vivi Date: Fri, 31 Aug 2018 21:18:03 -0700 Message-Id: <20180901041806.2627-3-rodrigo.vivi@intel.com> In-Reply-To: <20180901041806.2627-1-rodrigo.vivi@intel.com> References: <20180901041806.2627-1-rodrigo.vivi@intel.com> Subject: [igt-dev] [PATCH i-g-t 3/6] tools/dpcd_reg: Unify file handling. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 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: Dhinakaran Pandiyan , Rodrigo Vivi List-ID: QmVzaWRlcyByZW1vdmluZyBmZXcgY29kZSBkdXBsaWNhdGlvbiB0aGlzIHdpbGwKYWxsb3cgdXMg dG8gcmVhZCBtdWx0aXBsZSByZWdzIHdpdGhvdXQgaGF2aW5nCnRvIGtlZXAgY2xvc2luZyBhbmQg b3BlbmluZyB0aGUgZmlsZSBmb3IgZXZlcnkKcmVhZC4KCkNjOiBUYXJ1biBWeWFzIDx0YXJ1bi52 eWFzQGludGVsLmNvbT4KQ2M6IERoaW5ha2FyYW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5 YW5AaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBp bnRlbC5jb20+Ci0tLQogdG9vbHMvZHBjZF9yZWcuYyB8IDk4ICsrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU1IGluc2VydGlv bnMoKyksIDQzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2RwY2RfcmVnLmMgYi90 b29scy9kcGNkX3JlZy5jCmluZGV4IGQxMzkwMDdjLi4wOWRhNDEwOSAxMDA2NDQKLS0tIGEvdG9v bHMvZHBjZF9yZWcuYworKysgYi90b29scy9kcGNkX3JlZy5jCkBAIC01Myw2MSArNTMsNTYgQEAg c3RhdGljIHZvaWQgcHJpbnRfdXNhZ2UoY2hhciAqdG9vbCwgaW50IGhlbHApCiAJZXhpdCgoaGVs cCA9PSAxKT8gRVhJVF9TVUNDRVNTIDogRVhJVF9GQUlMVVJFKTsKIH0KIAotc3RhdGljIGludCBk cGNkX3JlYWQoY2hhciAqZGV2aWNlLCBjb25zdCB1aW50MzJfdCBvZmZzZXQsIHNpemVfdCBjb3Vu dCkKK3N0YXRpYyBpbnQgZHBjZF9yZWFkKGludCBmZCwgY29uc3QgdWludDMyX3Qgb2Zmc2V0LCBz aXplX3QgY291bnQpCiB7Ci0JaW50IGZkLCByZXQsIGk7CisJaW50IHJldCwgaTsKIAl2b2lkICpi dWYgPSBtYWxsb2Moc2l6ZW9mKHVpbnQ4X3QpICogY291bnQpOwogCisJcmV0ID0gbHNlZWsoZmQs IG9mZnNldCwgU0VFS19TRVQpOworCWlmIChyZXQgPCAwKSB7CisJCWlndF93YXJuKCJsc2VlayB0 byAlMDR4IGZhaWxlZCFcbiIsIG9mZnNldCk7CisJCXJldHVybiByZXQ7CisJfQorCiAJaWYgKE5V TEwgIT0gYnVmKQogCQltZW1zZXQoYnVmLCAwLCBzaXplb2YodWludDhfdCkgKiBjb3VudCk7CiAJ ZWxzZSB7CiAJCWlndF93YXJuKCJDYW4ndCBhbGxvY2F0ZSByZWFkIGJ1ZmZlclxuIik7Ci0JCXJl dHVybiBFWElUX0ZBSUxVUkU7CisJCXJldHVybiAtMTsKIAl9CiAKLQlmZCA9IG9wZW4oZGV2aWNl LCBPX1JET05MWSk7Ci0JaWYgKGZkID4gMCkgewotCQlyZXQgPSBwcmVhZChmZCwgYnVmLCBjb3Vu dCwgb2Zmc2V0KTsKLQkJY2xvc2UoZmQpOwotCQlpZiAocmV0ICE9IGNvdW50KSB7Ci0JCQlpZ3Rf d2FybigiRmFpbGVkIHRvIHJlYWQgZnJvbSAlcyBhdXggZGV2aWNlIC0gZXJyb3IgJXNcbiIsIGRl dmljZSwgc3RyZXJyb3IoZXJybm8pKTsKLQkJCXJldCA9IEVYSVRfRkFJTFVSRTsKLQkJCWdvdG8g b3V0OwotCQl9Ci0KLQkJaWd0X2luZm8oIiUwNHg6Iiwgb2Zmc2V0KTsKLQkJZm9yIChpID0gMDsg aSA8IGNvdW50OyBpKyspCi0JCQlpZ3RfaW5mbygiICUwMngiLCAqKCgodWludDhfdCAqKShidWYp KSArIGkpKTsKLQkJaWd0X2luZm8oIlxuIik7Ci0JfQotCWVsc2UgewotCQlpZ3Rfd2FybigiRmFp bGVkIHRvIG9wZW4gJXMgYXV4IGRldmljZSAtIGVycm9yOiAlc1xuIiwgZGV2aWNlLCBzdHJlcnJv cihlcnJubykpOwotCQlyZXQgPSBFWElUX0ZBSUxVUkU7CisJcmV0ID0gcmVhZChmZCwgYnVmLCBj b3VudCk7CisJaWYgKHJldCAhPSBjb3VudCkgeworCQlpZ3Rfd2FybigiRmFpbGVkIHRvIHJlYWQg LSBlcnJvciAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsKKwkJZ290byBvdXQ7CiAJfQorCisJaWd0 X2luZm8oIiUwNHg6Iiwgb2Zmc2V0KTsKKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykKKwkJ aWd0X2luZm8oIiAlMDJ4IiwgKigoKHVpbnQ4X3QgKikoYnVmKSkgKyBpKSk7CisJaWd0X2luZm8o IlxuIik7CisKIG91dDoKIAlmcmVlKGJ1Zik7CiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGlu dCBkcGNkX3dyaXRlKGNoYXIgKmRldmljZSwgY29uc3QgdWludDMyX3Qgb2Zmc2V0LCBjb25zdCB1 aW50OF90ICp2YWwpCitzdGF0aWMgaW50IGRwY2Rfd3JpdGUoaW50IGZkLCBjb25zdCB1aW50MzJf dCBvZmZzZXQsIGNvbnN0IHVpbnQ4X3QgKnZhbCkKIHsKLQlpbnQgZmQsIHJldDsKLQotCWZkID0g b3BlbihkZXZpY2UsIE9fUkRXUik7Ci0JaWYgKGZkID4gMCkgewotCQlyZXQgPSBwd3JpdGUoZmQs IChjb25zdCB2b2lkICopdmFsLCBzaXplb2YodWludDhfdCksIG9mZnNldCk7Ci0JCWNsb3NlKGZk KTsKLQkJaWYgKHJldCA8IDApIHsKLQkJCWlndF93YXJuKCJGYWlsZWQgdG8gd3JpdGUgdG8gJXMg YXV4IGRldmljZSAtIGVycm9yICVzXG4iLCBkZXZpY2UsIHN0cmVycm9yKGVycm5vKSk7Ci0JCQly ZXQgPSBFWElUX0ZBSUxVUkU7Ci0JCQlnb3RvIG91dDsKLQkJfQotCQlyZXQgPSBkcGNkX3JlYWQo ZGV2aWNlLCBvZmZzZXQsIHNpemVvZih1aW50OF90KSk7CisJaW50IHJldDsKKworCXJldCA9IGxz ZWVrKGZkLCBvZmZzZXQsIFNFRUtfU0VUKTsKKwlpZiAocmV0IDwgMCkgeworCQlpZ3Rfd2Fybigi bHNlZWsgdG8gJTA0eCBmYWlsZWQhXG4iLCBvZmZzZXQpOworCQlyZXR1cm4gcmV0OwogCX0KLQll bHNlIHsKLQkJaWd0X3dhcm4oIkZhaWxlZCB0byBvcGVuICVzIGF1eCBkZXZpY2UgLSBlcnJvcjog JXNcbiIsIGRldmljZSwgc3RyZXJyb3IoZXJybm8pKTsKLQkJcmV0ID0gRVhJVF9GQUlMVVJFOwor CisJcmV0ID0gd3JpdGUoZmQsIChjb25zdCB2b2lkICopdmFsLCBzaXplb2YodWludDhfdCkpOwor CWlmIChyZXQgPCAwKSB7CisJCWlndF93YXJuKCJGYWlsZWQgdG8gd3JpdGUgLSBlcnJvciAlc1xu Iiwgc3RyZXJyb3IoZXJybm8pKTsKKwkJZ290byBvdXQ7CiAJfQorCXJldCA9IGRwY2RfcmVhZChm ZCwgb2Zmc2V0LCBzaXplb2YodWludDhfdCkpOwogb3V0OgogCXJldHVybiByZXQ7CiB9CkBAIC0x MTUsMTAgKzExMCwxMSBAQCBvdXQ6CiBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiB7 CiAJY2hhciBkZXZfbmFtZVsyMF07Ci0JaW50IHJldCwgZGV2aWQsIGhlbHBfZmxnOworCWludCBm ZCwgcmV0LCBkZXZpZCwgaGVscF9mbGc7CiAJdWludDMyX3Qgb2Zmc2V0OwogCXVpbnQ4X3QgdmFs OwogCXNpemVfdCBjb3VudDsKKwlpbnQgZmlsZV9vcCA9IE9fUkRPTkxZOwogCiAJZW51bSBjb21t YW5kIHsKIAkJSU5WID0gLTEsCkBAIC0xNTcsMTEgKzE1MywxMiBAQCBpbnQgbWFpbihpbnQgYXJn YywgY2hhciAqKmFyZ3YpCiAJCQlicmVhazsKIAkJLyogQ29tbWFuZCBwYXJzaW5nICovCiAJCWNh c2UgMToKLQkJCWlmIChzdHJjbXAob3B0YXJnLCAicmVhZCIpID09IDApCisJCQlpZiAoc3RyY21w KG9wdGFyZywgInJlYWQiKSA9PSAwKSB7CiAJCQkJY21kID0gUkVBRDsKLQkJCWVsc2UgaWYgKHN0 cmNtcChvcHRhcmcsICJ3cml0ZSIpID09IDApCisJCQl9IGVsc2UgaWYgKHN0cmNtcChvcHRhcmcs ICJ3cml0ZSIpID09IDApIHsKIAkJCQljbWQgPSBXUklURTsKLQkJCWJyZWFrOworCQkJCWZpbGVf b3AgPSBPX1JEV1I7CisJCQl9IGJyZWFrOwogCQljYXNlICc6JzoKIAkJCWlndF93YXJuKCJUaGUg LSVjIG9wdGlvbiBvZiAlcyByZXF1aXJlcyBhbiBhcmd1bWVudFxuIiwKIAkJCQkgb3B0b3B0LCBh cmd2WzBdKTsKQEAgLTE4NSwyMCArMTgyLDMzIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoq YXJndikKIAltZW1zZXQoZGV2X25hbWUsICdcMCcsIDIwKTsKIAlzbnByaW50ZihkZXZfbmFtZSwg c2l6ZW9mKGF1eF9kZXYpICsgMiwgIiVzJWQiLCBhdXhfZGV2LCBkZXZpZCk7CiAKKwlmZCA9IG9w ZW4oZGV2X25hbWUsIGZpbGVfb3ApOworCWlmIChmZCA8IDApIHsKKwkJaWd0X3dhcm4oIkZhaWxl ZCB0byBvcGVuICVzIGF1eCBkZXZpY2UgLSBlcnJvcjogJXNcbiIsIGRldl9uYW1lLAorCQkJIHN0 cmVycm9yKGVycm5vKSk7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCiAJc3dpdGNoIChj bWQpIHsKIAljYXNlIFJFQUQ6CiAJCWlmIChjb3VudCA9PSBJTlZBTElEKSB7CiAJCQlpZ3Rfd2Fy bigiUGxlYXNlIHNwZWNpZnkgdGhlIGNvdW50IGluIGJ5dGVzXG4iKTsKIAkJCXByaW50X3VzYWdl KGFyZ3ZbMF0sIDApOwogCQl9Ci0JCXJldCA9IGRwY2RfcmVhZChkZXZfbmFtZSwgb2Zmc2V0LCBj b3VudCk7CisJCXJldCA9IGRwY2RfcmVhZChmZCwgb2Zmc2V0LCBjb3VudCk7CisJCWlmIChyZXQg IT0gY291bnQpCisJCQlpZ3Rfd2FybigiRmFpbGVkIHRvIHJlYWQgZnJvbSAlcyBhdXggZGV2aWNl XG4iLAorCQkJCSBkZXZfbmFtZSk7CiAJCWJyZWFrOwogCWNhc2UgV1JJVEU6CiAJCWlmICh2YWwg PT0gSU5WQUxJRCkgewogCQkJaWd0X3dhcm4oIldyaXRlIHZhbHVlIGlzIG1pc3NpbmdcbiIpOwog CQkJcHJpbnRfdXNhZ2UoYXJndlswXSwgMCk7CiAJCX0KLQkJcmV0ID0gZHBjZF93cml0ZShkZXZf bmFtZSwgb2Zmc2V0LCAmdmFsKTsKKwkJcmV0ID0gZHBjZF93cml0ZShmZCwgb2Zmc2V0LCAmdmFs KTsKKwkJaWYgKHJldCA8IDApCisJCQlpZ3Rfd2FybigiRmFpbGVkIHRvIHdyaXRlIHRvICVzIGF1 eCBkZXZpY2VcbiIsCisJCQkJIGRldl9uYW1lKTsKIAkJYnJlYWs7CiAJY2FzZSBJTlY6CiAJZGVm YXVsdDoKQEAgLTIwNiw1ICsyMTYsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3Yp CiAJCXByaW50X3VzYWdlKGFyZ3ZbMF0sIDApOwogCX0KIAorCWNsb3NlKGZkKTsKKwogCXJldHVy biByZXQ7CiB9Ci0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0 LWRldgo=