From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6E3B98924F for ; Thu, 25 Apr 2019 20:59:40 +0000 (UTC) From: Daniel Mrzyglod Date: Thu, 25 Apr 2019 22:58:17 +0200 Message-Id: <20190425205822.8995-2-daniel.t.mrzyglod@intel.com> In-Reply-To: <20190425205822.8995-1-daniel.t.mrzyglod@intel.com> References: <20190425205822.8995-1-daniel.t.mrzyglod@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v4 1/6] 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 Y2UuaCB8ICAgMiArCiAyIGZpbGVzIGNoYW5nZWQsIDEyNiBpbnNlcnRpb25zKCspCgpkaWZmIC0t 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 CmluZGV4IDlkN2RjMmMzLi44NjBiM2E4YSAxMDA2NDQKLS0tIGEvbGliL2lndF9kZXZpY2UuaAor KysgYi9saWIvaWd0X2RldmljZS5oCkBAIC0yNSw2ICsyNSw3IEBACiAjaWZuZGVmIF9fSUdUX0RF VklDRV9IX18KICNkZWZpbmUgX19JR1RfREVWSUNFX0hfXwogCisjaW5jbHVkZSA8c3RkaW50Lmg+ CiBpbnQgX19pZ3RfZGV2aWNlX3NldF9tYXN0ZXIoaW50IGZkKTsKIHZvaWQgaWd0X2RldmljZV9z ZXRfbWFzdGVyKGludCBmZCk7CiAKQEAgLTMyLDUgKzMzLDYgQEAgaW50IF9faWd0X2RldmljZV9k cm9wX21hc3RlcihpbnQgZmQpOwogdm9pZCBpZ3RfZGV2aWNlX2Ryb3BfbWFzdGVyKGludCBmZCk7 CiAKIGludCBpZ3RfZGV2aWNlX2dldF9jYXJkX2luZGV4KGludCBmZCk7CitzdHJ1Y3QgcGNpX2Rl dmljZSAqaWd0X2RldmljZV9nZXRfcGNpX2RldmljZShpbnQgZmQpOwogCiAjZW5kaWYgLyogX19J R1RfREVWSUNFX0hfXyAqLwotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2lndC1kZXY=