From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id C50766F9E2 for ; Fri, 8 Nov 2019 15:57:12 +0000 (UTC) From: Ville Syrjala Date: Fri, 8 Nov 2019 17:57:04 +0200 Message-Id: <20191108155704.31802-3-ville.syrjala@linux.intel.com> In-Reply-To: <20191108155704.31802-1-ville.syrjala@linux.intel.com> References: <20191108155704.31802-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 3/3] lib/igt_kms: Remove fragile display_info debugfs 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 List-ID: RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClJl bHlpbmcgb24gdGhlIHNwZWNpZmljIGxheW91dCBvZiB0aGUgZGlzcGxheV9pbmZvIGRlYnVnZnMK ZmlsZSBpcyBmcmFnaWxlLiBBbnkgY2hhbmdlIGluIHRoZSBmaWxlIGxheW91dCB3aWxsIGxpa2Vs eQpyZXN1bHQgaW4gdGVzdCBmYWlsdXJlLiBMZXQncyBqdXN0IGdldCByaWQgb2YgaXQuCgpTaWdu ZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t PgotLS0KIGxpYi9pZ3Rfa21zLmMgfCAxNDEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KIGxpYi9pZ3Rfa21zLmggfCAgIDEgLQogMiBmaWxlcyBjaGFu Z2VkLCAxNDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9rbXMuYyBiL2xpYi9p Z3Rfa21zLmMKaW5kZXggZTliODBiOWJjYjgxLi43MDk1ZDgyNTIyNjIgMTAwNjQ0Ci0tLSBhL2xp Yi9pZ3Rfa21zLmMKKysrIGIvbGliL2lndF9rbXMuYwpAQCAtMTUyMCwxNDcgKzE1MjAsNiBAQCB2 b2lkIGttc3Rlc3Rfd2FpdF9mb3JfcGFnZWZsaXAoaW50IGZkKQogCWlndF9hc3NlcnQoZHJtSGFu ZGxlRXZlbnQoZmQsICZldmN0eCkgPT0gMCk7CiB9CiAKLXN0YXRpYyB2b2lkIGdldF9wbGFuZShj aGFyICpzdHIsIGludCB0eXBlLCBzdHJ1Y3Qga21zdGVzdF9wbGFuZSAqcGxhbmUpCi17Ci0JaW50 IHJldDsKLQljaGFyIGJ1ZlsyNTZdOwotCi0JcGxhbmUtPnR5cGUgPSB0eXBlOwotCXJldCA9IHNz Y2FuZihzdHIgKyAxMiwgIiVkJSpjICUqcyAlW15uXXMiLAotCQkgICAgICZwbGFuZS0+aWQsCi0J CSAgICAgYnVmKTsKLQlpZ3RfYXNzZXJ0X2VxKHJldCwgMik7Ci0KLQlyZXQgPSBzc2NhbmYoYnVm ICsgOSwgIiU0ZCUqYyU0ZCUqYyIsICZwbGFuZS0+cG9zX3gsICZwbGFuZS0+cG9zX3kpOwotCWln dF9hc3NlcnRfZXEocmV0LCAyKTsKLQotCXJldCA9IHNzY2FuZihidWYgKyAzMCwgIiU0ZCUqYyU0 ZCUqYyIsICZwbGFuZS0+d2lkdGgsICZwbGFuZS0+aGVpZ2h0KTsKLQlpZ3RfYXNzZXJ0X2VxKHJl dCwgMik7Ci19Ci0KLXN0YXRpYyBpbnQgcGFyc2VfcGxhbmVzKEZJTEUgKmZpZCwgc3RydWN0IGtt c3Rlc3RfcGxhbmUgKnBsYW5lcykKLXsKLQljaGFyIHRtcFsyNTZdOwotCWludCBuX3BsYW5lczsK LQotCW5fcGxhbmVzID0gMDsKLQl3aGlsZSAoZmdldHModG1wLCAyNTYsIGZpZCkgIT0gTlVMTCkg ewotCQlpZiAoc3Ryc3RyKHRtcCwgInR5cGU9UFJJIikgIT0gTlVMTCkgewotCQkJaWYgKHBsYW5l cykgewotCQkJCWdldF9wbGFuZSh0bXAsIERSTV9QTEFORV9UWVBFX1BSSU1BUlksICZwbGFuZXNb bl9wbGFuZXNdKTsKLQkJCQlwbGFuZXNbbl9wbGFuZXNdLmluZGV4ID0gbl9wbGFuZXM7Ci0JCQl9 Ci0JCQluX3BsYW5lcysrOwotCQl9IGVsc2UgaWYgKHN0cnN0cih0bXAsICJ0eXBlPU9WTCIpICE9 IE5VTEwpIHsKLQkJCWlmIChwbGFuZXMpIHsKLQkJCQlnZXRfcGxhbmUodG1wLCBEUk1fUExBTkVf VFlQRV9PVkVSTEFZLCAmcGxhbmVzW25fcGxhbmVzXSk7Ci0JCQkJcGxhbmVzW25fcGxhbmVzXS5p bmRleCA9IG5fcGxhbmVzOwotCQkJfQotCQkJbl9wbGFuZXMrKzsKLQkJfSBlbHNlIGlmIChzdHJz dHIodG1wLCAidHlwZT1DVVIiKSAhPSBOVUxMKSB7Ci0JCQlpZiAocGxhbmVzKSB7Ci0JCQkJZ2V0 X3BsYW5lKHRtcCwgRFJNX1BMQU5FX1RZUEVfQ1VSU09SLCAmcGxhbmVzW25fcGxhbmVzXSk7Ci0J CQkJcGxhbmVzW25fcGxhbmVzXS5pbmRleCA9IG5fcGxhbmVzOwotCQkJfQotCQkJbl9wbGFuZXMr KzsKLQkJCWJyZWFrOwotCQl9Ci0JfQotCi0JcmV0dXJuIG5fcGxhbmVzOwotfQotCi1zdGF0aWMg dm9pZCBwYXJzZV9jcnRjKGNoYXIgKmluZm8sIHN0cnVjdCBrbXN0ZXN0X2NydGMgKmNydGMpCi17 Ci0JY2hhciBidWZbMjU2XTsKLQlpbnQgcmV0OwotCWNoYXIgcGlwZTsKLQotCXJldCA9IHNzY2Fu ZihpbmZvICsgNCwgIiVkJSpjICUqcyAlYyUqYyAlKnMgJXMlKmMiLAotCQkgICAgICZjcnRjLT5p ZCwgJnBpcGUsIGJ1Zik7Ci0JaWd0X2Fzc2VydF9lcShyZXQsIDMpOwotCi0JY3J0Yy0+cGlwZSA9 IGttc3Rlc3RfcGlwZV90b19pbmRleChwaXBlKTsKLQlpZ3RfYXNzZXJ0KGNydGMtPnBpcGUgPj0g MCk7Ci0KLQlyZXQgPSBzc2NhbmYoYnVmICsgNiwgIiVkJSpjJWQlKmMiLAotCQkgICAgICZjcnRj LT53aWR0aCwgJmNydGMtPmhlaWdodCk7Ci0JaWd0X2Fzc2VydF9lcShyZXQsIDIpOwotfQotCi1z dGF0aWMgdm9pZCBrbXN0ZXN0X2dldF9jcnRjKGludCBkZXZpY2UsIGVudW0gcGlwZSBwaXBlLCBz dHJ1Y3Qga21zdGVzdF9jcnRjICpjcnRjKQotewotCWNoYXIgdG1wWzI1Nl07Ci0JRklMRSAqZmls ZTsKLQlpbnQgbmNydGM7Ci0JaW50IGxpbmU7Ci0JbG9uZyBpbnQgbjsKLQlpbnQgZmQ7Ci0KLQlm ZCA9IGlndF9kZWJ1Z2ZzX29wZW4oZGV2aWNlLCAiaTkxNV9kaXNwbGF5X2luZm8iLCBPX1JET05M WSk7Ci0JZmlsZSA9IGZkb3BlbihmZCwgInIiKTsKLQlpZ3Rfc2tpcF9vbihmaWxlID09IE5VTEwp OwotCi0JbmNydGMgPSAwOwotCWxpbmUgPSAwOwotCXdoaWxlIChmZ2V0cyh0bXAsIDI1NiwgZmls ZSkgIT0gTlVMTCkgewotCQlpZiAoKHN0cnN0cih0bXAsICJDUlRDIikgIT0gTlVMTCkgJiYgKGxp bmUgPiAwKSkgewotCQkJaWYgKHN0cnN0cih0bXAsICJhY3RpdmU9eWVzIikgIT0gTlVMTCkgewot CQkJCWNydGMtPmFjdGl2ZSA9IHRydWU7Ci0JCQkJcGFyc2VfY3J0Yyh0bXAsIGNydGMpOwotCi0J CQkJbiA9IGZ0ZWxsKGZpbGUpOwotCQkJCWNydGMtPm5fcGxhbmVzID0gcGFyc2VfcGxhbmVzKGZp bGUsIE5VTEwpOwotCQkJCWlndF9hc3NlcnRfbHQoMCwgY3J0Yy0+bl9wbGFuZXMpOwotCQkJCWNy dGMtPnBsYW5lcyA9IGNhbGxvYyhjcnRjLT5uX3BsYW5lcywgc2l6ZW9mKCpjcnRjLT5wbGFuZXMp KTsKLQkJCQlpZ3RfYXNzZXJ0X2YoY3J0Yy0+cGxhbmVzLCAiRmFpbGVkIHRvIGFsbG9jYXRlIG1l bW9yeSBmb3IgJWQgcGxhbmVzXG4iLCBjcnRjLT5uX3BsYW5lcyk7Ci0KLQkJCQlmc2VlayhmaWxl LCBuLCBTRUVLX1NFVCk7Ci0JCQkJcGFyc2VfcGxhbmVzKGZpbGUsIGNydGMtPnBsYW5lcyk7Ci0K LQkJCQlpZiAoY3J0Yy0+cGlwZSAhPSBwaXBlKSB7Ci0JCQkJCWZyZWUoY3J0Yy0+cGxhbmVzKTsK LQkJCQl9IGVsc2UgewotCQkJCQluY3J0YysrOwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQl9Ci0J CX0KLQotCQlsaW5lKys7Ci0JfQotCi0JZmNsb3NlKGZpbGUpOwotCWNsb3NlKGZkKTsKLQotCWln dF9hc3NlcnQobmNydGMgPT0gMSk7Ci19Ci0KLS8qKgotICogaWd0X2Fzc2VydF9wbGFuZV92aXNp YmxlOgotICogQGZkOiBPcGVuZWQgZmlsZSBkZXNjcmlwdG9yCi0gKiBAcGlwZTogRGlzcGxheSBw aXBlCi0gKiBAdmlzaWJpbGl0eTogQm9vbGVhbiBwYXJhbWV0ZXIgdG8gdGVzdCBhZ2FpbnN0IHRo ZSBwbGFuZSdzIGN1cnJlbnQgdmlzaWJpbGl0eSBzdGF0ZQotICoKLSAqIEFzc2VydHMgb25seSBp ZiB0aGUgcGxhbmUncyB2aXNpYmlsaXR5IHN0YXRlIG1hdGNoZXMgdGhlIHN0YXR1cyBiZWluZyBw YXNzZWQgYnkgQHZpc2liaWxpdHkKLSAqLwotdm9pZCBpZ3RfYXNzZXJ0X3BsYW5lX3Zpc2libGUo aW50IGZkLCBlbnVtIHBpcGUgcGlwZSwgaW50IHBsYW5lX2luZGV4LCBib29sIHZpc2liaWxpdHkp Ci17Ci0Jc3RydWN0IGttc3Rlc3RfY3J0YyBjcnRjOwotCWJvb2wgdmlzaWJsZSA9IHRydWU7Ci0K LQlrbXN0ZXN0X2dldF9jcnRjKGZkLCBwaXBlLCAmY3J0Yyk7Ci0KLQlpZ3RfYXNzZXJ0KHBsYW5l X2luZGV4IDwgY3J0Yy5uX3BsYW5lcyk7Ci0KLQlpZiAoY3J0Yy5wbGFuZXNbcGxhbmVfaW5kZXhd LnBvc194ID4gY3J0Yy53aWR0aCB8fAotCSAgICBjcnRjLnBsYW5lc1twbGFuZV9pbmRleF0ucG9z X3kgPiBjcnRjLmhlaWdodCkKLQkJdmlzaWJsZSA9IGZhbHNlOwotCi0JZnJlZShjcnRjLnBsYW5l cyk7Ci0JaWd0X2Fzc2VydF9lcSh2aXNpYmxlLCB2aXNpYmlsaXR5KTsKLX0KLQogLyoqCiAgKiBr bXNfaGFzX3ZibGFuazoKICAqIEBmZDogRFJNIGZkCmRpZmYgLS1naXQgYS9saWIvaWd0X2ttcy5o IGIvbGliL2lndF9rbXMuaAppbmRleCA3MTkzZjlhNTBlYTIuLjNmNzk4MzkyZjhhMCAxMDA2NDQK LS0tIGEvbGliL2lndF9rbXMuaAorKysgYi9saWIvaWd0X2ttcy5oCkBAIC0yMjgsNyArMjI4LDYg QEAgdm9pZCAqa21zdGVzdF9kdW1iX21hcF9idWZmZXIoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUs IHVpbnQ2NF90IHNpemUsCiB2b2lkIGttc3Rlc3RfZHVtYl9kZXN0cm95KGludCBmZCwgdWludDMy X3QgaGFuZGxlKTsKIHZvaWQga21zdGVzdF93YWl0X2Zvcl9wYWdlZmxpcChpbnQgZmQpOwogdW5z aWduZWQgaW50IGttc3Rlc3RfZ2V0X3ZibGFuayhpbnQgZmQsIGludCBwaXBlLCB1bnNpZ25lZCBp bnQgZmxhZ3MpOwotdm9pZCBpZ3RfYXNzZXJ0X3BsYW5lX3Zpc2libGUoaW50IGZkLCBlbnVtIHBp cGUgcGlwZSwgaW50IHBsYW5lX2luZGV4LCBib29sIHZpc2liaWxpdHkpOwogCiBib29sIGttc19o YXNfdmJsYW5rKGludCBmZCk7CiAKLS0gCjIuMjMuMAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pZ3QtZGV2