From mboxrd@z Thu Jan 1 00:00:00 1970 From: Emil Velikov Subject: [PATCH libdrm 05/10] xf86drm: introduce a get_real_pci_path() helper Date: Mon, 25 Jun 2018 18:36:21 +0100 Message-ID: <20180625173626.8046-5-emil.l.velikov@gmail.com> References: <20180625173626.8046-1-emil.l.velikov@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr0-x230.google.com (mail-wr0-x230.google.com [IPv6:2a00:1450:400c:c0c::230]) by gabe.freedesktop.org (Postfix) with ESMTPS id 34B916E369 for ; Mon, 25 Jun 2018 17:38:33 +0000 (UTC) Received: by mail-wr0-x230.google.com with SMTP id k16-v6so14540469wro.0 for ; Mon, 25 Jun 2018 10:38:33 -0700 (PDT) In-Reply-To: <20180625173626.8046-1-emil.l.velikov@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: emil.l.velikov@gmail.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogRW1pbCBWZWxpa292IDxlbWlsLnZlbGlrb3ZAY29sbGFib3JhLmNvbT4KCkludHJvZHVj ZSBhIGhlbHBlciB3aGljaCBnZXRzIHRoZSByZWFsIHN5c2ZzIHBhdGggZm9yIHRoZSBnaXZlbiBw Y2kKZGV2aWNlLgoKSW4gb3RoZXIgd29yZHMsIGluc3RlYWQgb3BlbmluZyB0aGUgL3N5cy9kZXYv Y2hhci8qL2RldmljZSBzeW1saW5rLCB3ZQpvcHQgZm9yIHRoZSBhY3R1YWwgL3N5cy9kZXZpY2Vz L3BjaSovKi8KCkl0IGZvbGRzIHRocmVlIChuZWFybHkgaWRlbnRpY2FsKSBzbnByaW50ZidzIGFu ZCBwYXZlcyB0aGUgd2F5IG9mIGFkZGluZwpleHRyYSBkZXZpY2VzIChzZWUgbmV4dCBwYXRjaCkg YSBwaWVjZSBvZiBwaWUuCgpTaWduZWQtb2ZmLWJ5OiBFbWlsIFZlbGlrb3YgPGVtaWwudmVsaWtv dkBjb2xsYWJvcmEuY29tPgotLS0KIHhmODZkcm0uYyB8IDYyICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1MCBp bnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94Zjg2ZHJtLmMgYi94 Zjg2ZHJtLmMKaW5kZXggZDQ4MTA3NDAuLjhjY2Q1MjhmIDEwMDY0NAotLS0gYS94Zjg2ZHJtLmMK KysrIGIveGY4NmRybS5jCkBAIC0yOTkyLDE2ICsyOTkyLDM3IEBAIHN0YXRpYyBpbnQgZHJtUGFy c2VTdWJzeXN0ZW1UeXBlKGludCBtYWosIGludCBtaW4pCiAjZW5kaWYKIH0KIAorc3RhdGljIGNo YXIgKgorZ2V0X3JlYWxfcGNpX3BhdGgoaW50IG1haiwgaW50IG1pbikKK3sKKyAgICBjaGFyIHBh dGhbUEFUSF9NQVggKyAxXTsKKyAgICBjaGFyICpyZWFsX3BhdGggPSBtYWxsb2MoUEFUSF9NQVgp OworCisgICAgaWYgKCFyZWFsX3BhdGgpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgc25w cmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAiL3N5cy9kZXYvY2hhci8lZDolZC9kZXZpY2UiLCBt YWosIG1pbik7CisgICAgaWYgKCFyZWFscGF0aChwYXRoLCByZWFsX3BhdGgpKSB7CisgICAgICAg IGZyZWUocmVhbF9wYXRoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmV0 dXJuIHJlYWxfcGF0aDsKK30KKwogc3RhdGljIGludCBkcm1QYXJzZVBjaUJ1c0luZm8oaW50IG1h aiwgaW50IG1pbiwgZHJtUGNpQnVzSW5mb1B0ciBpbmZvKQogewogI2lmZGVmIF9fbGludXhfXwog ICAgIHVuc2lnbmVkIGludCBkb21haW4sIGJ1cywgZGV2LCBmdW5jOwotICAgIGNoYXIgcGF0aFtQ QVRIX01BWCArIDFdLCAqdmFsdWU7CisgICAgY2hhciAqcmVhbF9wYXRoLCAqdmFsdWU7CiAgICAg aW50IG51bTsKIAotICAgIHNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIi9zeXMvZGV2L2No YXIvJWQ6JWQvZGV2aWNlIiwgbWFqLCBtaW4pOworICAgIHJlYWxfcGF0aCA9IGdldF9yZWFsX3Bj aV9wYXRoKG1haiwgbWluKTsKKyAgICBpZiAoIXJlYWxfcGF0aCkKKyAgICAgICAgcmV0dXJuIC1F Tk9FTlQ7CiAKLSAgICB2YWx1ZSA9IHN5c2ZzX3VldmVudF9nZXQocGF0aCwgIlBDSV9TTE9UX05B TUUiKTsKKyAgICB2YWx1ZSA9IHN5c2ZzX3VldmVudF9nZXQocmVhbF9wYXRoLCAiUENJX1NMT1Rf TkFNRSIpOworICAgIGZyZWUocmVhbF9wYXRoKTsKICAgICBpZiAoIXZhbHVlKQogICAgICAgICBy ZXR1cm4gLUVOT0VOVDsKIApAQCAtMzExNCwyNCArMzEzNSwzMiBAQCBzdGF0aWMgaW50IHBhcnNl X3NlcGFyYXRlX3N5c2ZzX2ZpbGVzKGludCBtYWosIGludCBtaW4sCiAgICAgICAic3Vic3lzdGVt X3ZlbmRvciIsCiAgICAgICAic3Vic3lzdGVtX2RldmljZSIsCiAgICAgfTsKLSAgICBjaGFyIHBh dGhbUEFUSF9NQVggKyAxXTsKKyAgICBjaGFyIHBhdGhbUEFUSF9NQVggKyAxXSwgKnJlYWxfcGF0 aDsKICAgICB1bnNpZ25lZCBpbnQgZGF0YVtBUlJBWV9TSVpFKGF0dHJzKV07CiAgICAgRklMRSAq ZnA7CiAgICAgaW50IHJldDsKIAorICAgIHJlYWxfcGF0aCA9IGdldF9yZWFsX3BjaV9wYXRoKG1h aiwgbWluKTsKKyAgICBpZiAoIXJlYWxfcGF0aCkKKyAgICAgICAgcmV0dXJuIC1FTk9FTlQ7CisK ICAgICBmb3IgKHVuc2lnbmVkIGkgPSBpZ25vcmVfcmV2aXNpb24gPyAxIDogMDsgaSA8IEFSUkFZ X1NJWkUoYXR0cnMpOyBpKyspIHsKLSAgICAgICAgc25wcmludGYocGF0aCwgUEFUSF9NQVgsICIv c3lzL2Rldi9jaGFyLyVkOiVkL2RldmljZS8lcyIsIG1haiwgbWluLAotICAgICAgICAgICAgICAg ICBhdHRyc1tpXSk7CisgICAgICAgIHNucHJpbnRmKHBhdGgsIFBBVEhfTUFYLCAiJXMvJXMiLCBy ZWFsX3BhdGgsIGF0dHJzW2ldKTsKICAgICAgICAgZnAgPSBmb3BlbihwYXRoLCAiciIpOwotICAg ICAgICBpZiAoIWZwKQorICAgICAgICBpZiAoIWZwKSB7CisgICAgICAgICAgICBmcmVlKHJlYWxf cGF0aCk7CiAgICAgICAgICAgICByZXR1cm4gLWVycm5vOworICAgICAgICB9CiAKICAgICAgICAg cmV0ID0gZnNjYW5mKGZwLCAiJXgiLCAmZGF0YVtpXSk7CiAgICAgICAgIGZjbG9zZShmcCk7Ci0g ICAgICAgIGlmIChyZXQgIT0gMSkKKyAgICAgICAgaWYgKHJldCAhPSAxKSB7CisgICAgICAgICAg ICBmcmVlKHJlYWxfcGF0aCk7CiAgICAgICAgICAgICByZXR1cm4gLWVycm5vOworICAgICAgICB9 CiAKICAgICB9CisgICAgZnJlZShyZWFsX3BhdGgpOwogCiAgICAgZGV2aWNlLT5yZXZpc2lvbl9p ZCA9IGlnbm9yZV9yZXZpc2lvbiA/IDB4ZmYgOiBkYXRhWzBdICYgMHhmZjsKICAgICBkZXZpY2Ut PnZlbmRvcl9pZCA9IGRhdGFbMV0gJiAweGZmZmY7CkBAIC0zMTQ1LDE5ICszMTc0LDI4IEBAIHN0 YXRpYyBpbnQgcGFyc2Vfc2VwYXJhdGVfc3lzZnNfZmlsZXMoaW50IG1haiwgaW50IG1pbiwKIHN0 YXRpYyBpbnQgcGFyc2VfY29uZmlnX3N5c2ZzX2ZpbGUoaW50IG1haiwgaW50IG1pbiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJtUGNpRGV2aWNlSW5mb1B0ciBkZXZpY2Up CiB7Ci0gICAgY2hhciBwYXRoW1BBVEhfTUFYICsgMV07CisgICAgY2hhciBwYXRoW1BBVEhfTUFY ICsgMV0sICpyZWFsX3BhdGg7CiAgICAgdW5zaWduZWQgY2hhciBjb25maWdbNjRdOwogICAgIGlu dCBmZCwgcmV0OwogCi0gICAgc25wcmludGYocGF0aCwgUEFUSF9NQVgsICIvc3lzL2Rldi9jaGFy LyVkOiVkL2RldmljZS9jb25maWciLCBtYWosIG1pbik7CisgICAgcmVhbF9wYXRoID0gZ2V0X3Jl YWxfcGNpX3BhdGgobWFqLCBtaW4pOworICAgIGlmICghcmVhbF9wYXRoKQorICAgICAgICByZXR1 cm4gLUVOT0VOVDsKKworICAgIHNucHJpbnRmKHBhdGgsIFBBVEhfTUFYLCAiJXMvY29uZmlnIiwg cmVhbF9wYXRoKTsKICAgICBmZCA9IG9wZW4ocGF0aCwgT19SRE9OTFkpOwotICAgIGlmIChmZCA8 IDApCisgICAgaWYgKGZkIDwgMCkgeworICAgICAgICBmcmVlKHJlYWxfcGF0aCk7CiAgICAgICAg IHJldHVybiAtZXJybm87CisgICAgfQogCiAgICAgcmV0ID0gcmVhZChmZCwgY29uZmlnLCBzaXpl b2YoY29uZmlnKSk7CiAgICAgY2xvc2UoZmQpOwotICAgIGlmIChyZXQgPCAwKQorICAgIGlmIChy ZXQgPCAwKSB7CisgICAgICAgIGZyZWUocmVhbF9wYXRoKTsKICAgICAgICAgcmV0dXJuIC1lcnJu bzsKKyAgICB9CisgICAgZnJlZShyZWFsX3BhdGgpOwogCiAgICAgZGV2aWNlLT52ZW5kb3JfaWQg PSBjb25maWdbMF0gfCAoY29uZmlnWzFdIDw8IDgpOwogICAgIGRldmljZS0+ZGV2aWNlX2lkID0g Y29uZmlnWzJdIHwgKGNvbmZpZ1szXSA8PCA4KTsKLS0gCjIuMTguMAoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==