From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 638F889BFE for ; Thu, 9 May 2019 12:39:26 +0000 (UTC) From: Daniel Mrzyglod Date: Thu, 9 May 2019 14:38:05 +0200 Message-Id: <20190509123809.15507-2-daniel.t.mrzyglod@intel.com> In-Reply-To: <20190509123809.15507-1-daniel.t.mrzyglod@intel.com> References: <20190509123809.15507-1-daniel.t.mrzyglod@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v5 1/5] lib/igt_device: add igt_device_get_pci_addr by fd 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: RnJvbTogTWljaGHFgiBXaW5pYXJza2kgPG1pY2hhbC53aW5pYXJza2lAaW50ZWwuY29tPgoKVGhp cyBmdW5jdGlvbiBnZXQgdXMgcGNpIGFkZHJlc3MgYmFzZWQgYnkgZmQuCkl0IGFsbG93cyB1cyB0 byBtYWtlIHRoaW5ncyBhIGxpdHRsZSBiaXQgbW9yZSBnZW5lcmljLgpBbHNvLCB3ZSBub3cgcmVx dWlyZSBmZCByYXRoZXIgdGhhbiBkb2luZyBndWVzc3dvcmsgd2hlbiBpdCBjb21lcyB0byBwY2kg YWRkcmVzcy4KCnY0OiBjbG9zZSBzeXNmcyBmZApTaWduZWQtb2ZmLWJ5OiBNaWNoYcWCIFdpbmlh cnNraSA8bWljaGFsLndpbmlhcnNraUBpbnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlz QGNocmlzLXdpbHNvbi5jby51az4KU2lnbmVkLW9mZi1ieTogRGFuaWVsIE1yenlnbG9kIDxkYW5p ZWwudC5tcnp5Z2xvZEBpbnRlbC5jb20+Ci0tLQogbGliL2lndF9kZXZpY2UuYyB8IDEyNCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGliL2lndF9kZXZp Y2UuaCB8ICAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDEyNSBpbnNlcnRpb25zKCspCgpkaWZmIC0t Z2l0IGEvbGliL2lndF9kZXZpY2UuYyBiL2xpYi9pZ3RfZGV2aWNlLmMKaW5kZXggMDhmMzljOGIu Ljg4ZjM1Y2FkIDEwMDY0NAotLS0gYS9saWIvaWd0X2RldmljZS5jCisrKyBiL2xpYi9pZ3RfZGV2 aWNlLmMKQEAgLTIxLDExICsyMSwxNCBAQAogICogSU4gVEhFIFNPRlRXQVJFLgogICoKICAqLwor I2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CiAKICNpbmNsdWRlIDxz eXMvc3RhdC5oPgogI2luY2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4KICNpbmNsdWRlICJpZ3QuaCIK ICNpbmNsdWRlICJpZ3RfZGV2aWNlLmgiCisjaW5jbHVkZSAiaWd0X3N5c2ZzLmgiCiAKIGludCBf X2lndF9kZXZpY2Vfc2V0X21hc3RlcihpbnQgZmQpCiB7CkBAIC0xMDMsMyArMTA2LDEyNCBAQCBp bnQgaWd0X2RldmljZV9nZXRfY2FyZF9pbmRleChpbnQgZmQpCiAKIAlyZXR1cm4gbWlub3Ioc3Qu c3RfcmRldik7CiB9CisKKyNkZWZpbmUgSUdUX0RFVl9QQVRIX0xFTiA4MAorCitzdGF0aWMgYm9v bCBpZ3RfZGV2aWNlX2lzX3BjaShpbnQgZmQpCit7CisJY2hhciBwYXRoW0lHVF9ERVZfUEFUSF9M RU5dOworCWNoYXIgKnN1YnN5c3RlbTsKKwlpbnQgc3lzZnM7CisJaW50IGxlbjsKKworCXN5c2Zz ID0gaWd0X3N5c2ZzX29wZW4oZmQpOworCWlmIChzeXNmcyA9PSAtMSkKKwkJcmV0dXJuIGZhbHNl OworCisJbGVuID0gcmVhZGxpbmthdChzeXNmcywgImRldmljZS9zdWJzeXN0ZW0iLCBwYXRoLCBz aXplb2YocGF0aCkgLSAxKTsKKwljbG9zZShzeXNmcyk7CisJaWYgKGxlbiA9PSAtMSkKKwkJcmV0 dXJuIGZhbHNlOworCXBhdGhbbGVuXSA9ICdcMCc7CisKKwlzdWJzeXN0ZW0gPSBzdHJyY2hyKHBh dGgsICcvJyk7CisJaWYgKCFzdWJzeXN0ZW0pCisJCXJldHVybiBmYWxzZTsKKworCXJldHVybiBz dHJjbXAoc3Vic3lzdGVtLCAiL3BjaSIpID09IDA7Cit9CisKK3N0cnVjdCBpZ3RfcGNpX2FkZHIg eworCXVuc2lnbmVkIGludCBkb21haW47CisJdW5zaWduZWQgaW50IGJ1czsKKwl1bnNpZ25lZCBp bnQgZGV2aWNlOworCXVuc2lnbmVkIGludCBmdW5jdGlvbjsKK307CisKK3N0YXRpYyBpbnQgaWd0 X2RldmljZV9nZXRfcGNpX2FkZHIoaW50IGZkLCBzdHJ1Y3QgaWd0X3BjaV9hZGRyICpwY2kpCit7 CisJY2hhciBwYXRoW0lHVF9ERVZfUEFUSF9MRU5dOworCWNoYXIgKmJ1ZjsKKwlpbnQgc3lzZnM7 CisJaW50IGxlbjsKKworCWlmICghaWd0X2RldmljZV9pc19wY2koZmQpKQorCQlyZXR1cm4gLUVO T0RFVjsKKworCXN5c2ZzID0gaWd0X3N5c2ZzX29wZW4oZmQpOworCWlmIChzeXNmcyA9PSAtMSkK KwkJcmV0dXJuIC1FTk9FTlQ7CisKKwlsZW4gPSByZWFkbGlua2F0KHN5c2ZzLCAiZGV2aWNlIiwg cGF0aCwgc2l6ZW9mKHBhdGgpIC0gMSk7CisJY2xvc2Uoc3lzZnMpOworCWlmIChsZW4gPT0gLTEp CisJCXJldHVybiAtRU5PRU5UOworCXBhdGhbbGVuXSA9ICdcMCc7CisKKwlidWYgPSBzdHJyY2hy KHBhdGgsICcvJyk7CisJaWYgKCFidWYpCisJCXJldHVybiAtRU5PRU5UOworCisJaWYgKHNzY2Fu ZihidWYsICIvJTR4OiUyeDolMnguJTJ4IiwKKwkJICAgJnBjaS0+ZG9tYWluLCAmcGNpLT5idXMs CisJCSAgICZwY2ktPmRldmljZSwgJnBjaS0+ZnVuY3Rpb24pICE9IDQpIHsKKwkJaWd0X3dhcm4o IlVuYWJsZSB0byBleHRyYWN0IFBDSSBkZXZpY2UgYWRkcmVzcyBmcm9tICclcydcbiIsIGJ1Zik7 CisJCXJldHVybiAtRU5PRU5UOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0 IHBjaV9kZXZpY2UgKl9faWd0X2RldmljZV9nZXRfcGNpX2RldmljZShpbnQgZmQpCit7CisJc3Ry dWN0IGlndF9wY2lfYWRkciBwY2lfYWRkcjsKKwlzdHJ1Y3QgcGNpX2RldmljZSAqcGNpX2RldjsK KworCWlmIChpZ3RfZGV2aWNlX2dldF9wY2lfYWRkcihmZCwgJnBjaV9hZGRyKSkgeworCQlpZ3Rf d2FybigiVW5hYmxlIHRvIGZpbmQgZGV2aWNlIFBDSSBhZGRyZXNzXG4iKTsKKwkJcmV0dXJuIE5V TEw7CisJfQorCisJaWYgKHBjaV9zeXN0ZW1faW5pdCgpKSB7CisJCWlndF93YXJuKCJDb3VsZG4n dCBpbml0aWFsaXplIFBDSSBzeXN0ZW1cbiIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlwY2lf ZGV2ID0gcGNpX2RldmljZV9maW5kX2J5X3Nsb3QocGNpX2FkZHIuZG9tYWluLAorCQkJCQkgIHBj aV9hZGRyLmJ1cywKKwkJCQkJICBwY2lfYWRkci5kZXZpY2UsCisJCQkJCSAgcGNpX2FkZHIuZnVu Y3Rpb24pOworCWlmICghcGNpX2RldikgeworCQlpZ3Rfd2FybigiQ291bGRuJ3QgZmluZCBQQ0kg ZGV2aWNlICUwNHg6JTAyeDolMDJ4OiUwMnhcbiIsCisJCQkgcGNpX2FkZHIuZG9tYWluLCBwY2lf YWRkci5idXMsCisJCQkgcGNpX2FkZHIuZGV2aWNlLCBwY2lfYWRkci5mdW5jdGlvbik7CisJCXJl dHVybiBOVUxMOworCX0KKworCWlmIChwY2lfZGV2aWNlX3Byb2JlKHBjaV9kZXYpKSB7CisJCWln dF93YXJuKCJDb3VsZG4ndCBwcm9iZSBQQ0kgZGV2aWNlXG4iKTsKKwkJcmV0dXJuIE5VTEw7CisJ fQorCisJcmV0dXJuIHBjaV9kZXY7Cit9CisKKy8qKgorICogaWd0X2RldmljZV9nZXRfcGNpX2Rl dmljZToKKyAqCisgKiBAZmQ6IHRoZSBkZXZpY2UKKyAqCisgKiBMb29rcyB1cCB0aGUgbWFpbiBn cmFwaGljcyBwY2kgZGV2aWNlIHVzaW5nIGxpYnBjaWFjY2Vzcy4KKyAqCisgKiBSZXR1cm5zOgor ICogVGhlIHBjaV9kZXZpY2UsIHNraXBzIHRoZSB0ZXN0IG9uIGFueSBmYWlsdXJlcy4KKyAqLwor c3RydWN0IHBjaV9kZXZpY2UgKmlndF9kZXZpY2VfZ2V0X3BjaV9kZXZpY2UoaW50IGZkKQorewor CXN0cnVjdCBwY2lfZGV2aWNlICpwY2lfZGV2OworCisJcGNpX2RldiA9IF9faWd0X2RldmljZV9n ZXRfcGNpX2RldmljZShmZCk7CisJaWd0X3JlcXVpcmUocGNpX2Rldik7CisKKwlyZXR1cm4gcGNp X2RldjsKK30KZGlmZiAtLWdpdCBhL2xpYi9pZ3RfZGV2aWNlLmggYi9saWIvaWd0X2RldmljZS5o CmluZGV4IDlkN2RjMmMzLi4yNzhiYTdhOSAxMDA2NDQKLS0tIGEvbGliL2lndF9kZXZpY2UuaAor KysgYi9saWIvaWd0X2RldmljZS5oCkBAIC0zMiw1ICszMiw2IEBAIGludCBfX2lndF9kZXZpY2Vf ZHJvcF9tYXN0ZXIoaW50IGZkKTsKIHZvaWQgaWd0X2RldmljZV9kcm9wX21hc3RlcihpbnQgZmQp OwogCiBpbnQgaWd0X2RldmljZV9nZXRfY2FyZF9pbmRleChpbnQgZmQpOworc3RydWN0IHBjaV9k ZXZpY2UgKmlndF9kZXZpY2VfZ2V0X3BjaV9kZXZpY2UoaW50IGZkKTsKIAogI2VuZGlmIC8qIF9f SUdUX0RFVklDRV9IX18gKi8KLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pZ3QtZGV2