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 A221D89BF8 for ; Thu, 19 Nov 2020 07:41:50 +0000 (UTC) From: =?UTF-8?q?Zbigniew=20Kempczy=C5=84ski?= Date: Thu, 19 Nov 2020 08:41:37 +0100 Message-Id: <20201119074139.12803-1-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v5 1/3] lib/igt_device_scan: Remember vendor/device for pci devices 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 Cc: Petri Latvala , Tvrtko Ursulin List-ID: SWYgd2Ugd2FudCB0byB1c2UgcGNpIGRldmljZSBpZCBmb3Igbm90IG9wZW5lZCBkZXZpY2Ugd2Ug bmVlZCB0bwprZWVwIGl0IGluIGNhcmQgc3RydWN0dXJlLgoKRXhwb3J0IGlndF9kZXZpY2VfZ2V0 X3ByZXR0eV9uYW1lKCkgZnVuY3Rpb24gdG8gdGhlIGNhbGxlciB0bwphbGxvdyByZXR1cm4gcHJl dHR5IG5hbWUgKGZvciBsc2dwdSwgaW50ZWxfZ3B1X3RvcCBhbmQgb3RoZXJzKS4KClNpZ25lZC1v ZmYtYnk6IFpiaWduaWV3IEtlbXBjennFhHNraSA8emJpZ25pZXcua2VtcGN6eW5za2lAaW50ZWwu Y29tPgpDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KQ2M6IFBl dHJpIExhdHZhbGEgPHBldHJpLmxhdHZhbGFAaW50ZWwuY29tPgotLS0KIGxpYi9pZ3RfZGV2aWNl X3NjYW4uYyB8IDE0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0K IGxpYi9pZ3RfZGV2aWNlX3NjYW4uaCB8ICAgMyArCiAyIGZpbGVzIGNoYW5nZWQsIDEzOSBpbnNl cnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvaWd0X2RldmljZV9z Y2FuLmMgYi9saWIvaWd0X2RldmljZV9zY2FuLmMKaW5kZXggZTk3ZjcxNjMuLjIwOWEwOWJjIDEw MDY0NAotLS0gYS9saWIvaWd0X2RldmljZV9zY2FuLmMKKysrIGIvbGliL2lndF9kZXZpY2Vfc2Nh bi5jCkBAIC0yNSw3ICsyNSw5IEBACiAjaW5jbHVkZSAiaWd0X2NvcmUuaCIKICNpbmNsdWRlICJp Z3RfZGV2aWNlX3NjYW4uaCIKICNpbmNsdWRlICJpZ3RfbGlzdC5oIgorI2luY2x1ZGUgImludGVs X2NoaXBzZXQuaCIKIAorI2luY2x1ZGUgPGN0eXBlLmg+CiAjaW5jbHVkZSA8ZGlyZW50Lmg+CiAj aW5jbHVkZSA8ZmNudGwuaD4KICNpbmNsdWRlIDxnbGliLmg+CkBAIC0xNzgsMTIgKzE4MCw0MyBA QCBzdGF0aWMgc3RydWN0IHsKIAlib29sIGRldnNfc2Nhbm5lZDsKIH0gaWd0X2RldnM7CiAKK3R5 cGVkZWYgY2hhciAqKCpkZXZuYW1lX2ZuKSh1aW50MTZfdCwgdWludDE2X3QpOworCitzdGF0aWMg Y2hhciAqZGV2bmFtZV9oZXgodWludDE2X3QgdmVuZG9yLCB1aW50MTZfdCBkZXZpY2UpCit7CisJ Y2hhciAqczsKKworCWlndF9hc3NlcnQoYXNwcmludGYoJnMsICIlMDR4OiUwNHgiLCB2ZW5kb3Is IGRldmljZSkgPT0gOSk7CisKKwlyZXR1cm4gczsKK30KKworc3RhdGljIGNoYXIgKmRldm5hbWVf aW50ZWwodWludDE2X3QgdmVuZG9yLCB1aW50MTZfdCBkZXZpY2UpCit7CisJY29uc3Qgc3RydWN0 IGludGVsX2RldmljZV9pbmZvICppbmZvID0gaW50ZWxfZ2V0X2RldmljZV9pbmZvKGRldmljZSk7 CisJY2hhciAqZGV2bmFtZSwgKnM7CisKKwlpZiAoaW5mby0+Y29kZW5hbWUpIHsKKwkJZGV2bmFt ZSA9IHN0cmR1cChpbmZvLT5jb2RlbmFtZSk7CisJCWRldm5hbWVbMF0gPSB0b3VwcGVyKGRldm5h bWVbMF0pOworCQlhc3ByaW50ZigmcywgIkludGVsICVzIChHZW4ldSkiLCBkZXZuYW1lLCBmZnMo aW5mby0+Z2VuKSk7CisJfSBlbHNlIHsKKwkJZGV2bmFtZSA9IGRldm5hbWVfaGV4KHZlbmRvciwg ZGV2aWNlKTsKKwkJYXNwcmludGYoJnMsICJJbnRlbCAlcyIsIGRldm5hbWUpOworCX0KKworCWZy ZWUoZGV2bmFtZSk7CisKKwlyZXR1cm4gczsKK30KKwogc3RhdGljIHN0cnVjdCB7CiAJY29uc3Qg Y2hhciAqbmFtZTsKIAljb25zdCBjaGFyICp2ZW5kb3JfaWQ7CisJZGV2bmFtZV9mbiBkZXZuYW1l OwogfSBwY2lfdmVuZG9yX21hcHBpbmdbXSA9IHsKLQl7ICJpbnRlbCIsICI4MDg2IiB9LAotCXsg ImFtZCIsICIxMDAyIiB9LAorCXsgImludGVsIiwgIjgwODYiLCBkZXZuYW1lX2ludGVsIH0sCisJ eyAiYW1kIiwgIjEwMDIiLCBkZXZuYW1lX2hleCB9LAogCXsgTlVMTCwgfSwKIH07CiAKQEAgLTE5 OCw2ICsyMzEsNDIgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmdldF9wY2lfdmVuZG9yX2lkX2J5X25h bWUoY29uc3QgY2hhciAqbmFtZSkKIAlyZXR1cm4gTlVMTDsKIH0KIAorc3RhdGljIGRldm5hbWVf Zm4gZ2V0X3BjaV92ZW5kb3JfZGV2aWNlX2ZuKHVpbnQxNl90IHZlbmRvcikKK3sKKwljaGFyIHZl bmRvcnN0cls1XTsKKworCXNucHJpbnRmKHZlbmRvcnN0ciwgc2l6ZW9mKHZlbmRvcnN0ciksICIl MDR4IiwgdmVuZG9yKTsKKworCWZvciAodHlwZW9mKCpwY2lfdmVuZG9yX21hcHBpbmcpICp2bSA9 IHBjaV92ZW5kb3JfbWFwcGluZzsgdm0tPm5hbWU7IHZtKyspIHsKKwkJaWYgKCFzdHJjYXNlY21w KHZlbmRvcnN0ciwgdm0tPnZlbmRvcl9pZCkpCisJCQlyZXR1cm4gdm0tPmRldm5hbWU7CisJfQor CisJcmV0dXJuIGRldm5hbWVfaGV4OworfQorCitzdGF0aWMgdm9pZCBnZXRfcGNpX3ZlbmRvcl9k ZXZpY2UoY29uc3Qgc3RydWN0IGlndF9kZXZpY2UgKmRldiwKKwkJCQkgIHVpbnQxNl90ICp2ZW5k b3JwLCB1aW50MTZfdCAqZGV2aWNlcCkKK3sKKwlpZ3RfYXNzZXJ0KGRldiAmJiBkZXYtPnZlbmRv ciAmJiBkZXYtPmRldmljZSk7CisJaWd0X2Fzc2VydCh2ZW5kb3JwICYmIGRldmljZXApOworCisJ aWd0X2Fzc2VydChzc2NhbmYoZGV2LT52ZW5kb3IsICIlaHgiLCB2ZW5kb3JwKSA9PSAxKTsKKwlp Z3RfYXNzZXJ0KHNzY2FuZihkZXYtPmRldmljZSwgIiVoeCIsIGRldmljZXApID09IDEpOworfQor CitzdGF0aWMgY2hhciAqX19wY2lfcHJldHR5X25hbWUodWludDE2X3QgdmVuZG9yLCB1aW50MTZf dCBkZXZpY2UsIGJvb2wgbnVtZXJpYykKK3sKKwlkZXZuYW1lX2ZuIGZuOworCisJaWYgKCFudW1l cmljKQorCQlmbiA9IGdldF9wY2lfdmVuZG9yX2RldmljZV9mbih2ZW5kb3IpOworCWVsc2UKKwkJ Zm4gPSBkZXZuYW1lX2hleDsKKworCXJldHVybiBmbih2ZW5kb3IsIGRldmljZSk7Cit9CisKIC8q IFJlYWRpbmcgc3lzYXR0ciB2YWx1ZXMgY2FuIHRha2UgdGltZSAoZXZlbiBzZWNvbmRzKSwKICAq IHdlIHdhbnQgdG8gYXZvaWQgcmVhZGluZyBzdWNoIGtleXMuCiAgKi8KQEAgLTQ0NiwyMyArNTE1 LDQ0IEBAIHN0YXRpYyBib29sIGlzX3ZlbmRvcl9tYXRjaGVkKHN0cnVjdCBpZ3RfZGV2aWNlICpk ZXYsIGNvbnN0IGNoYXIgKnZlbmRvcikKIAlyZXR1cm4gIXN0cmNhc2VjbXAoZGV2LT52ZW5kb3Is IHZlbmRvcl9pZCk7CiB9CiAKK3N0YXRpYyBjaGFyICpzYWZlX3N0cm5jcHkoY2hhciAqZHN0LCBj b25zdCBjaGFyICpzcmMsIGludCBuKQoreworCWNoYXIgKnM7CisKKwlpZ3RfYXNzZXJ0KG4gPiAw KTsKKwlpZ3RfYXNzZXJ0KGRzdCAmJiBzcmMpOworCisJcyA9IHN0cm5jcHkoZHN0LCBzcmMsIG4g LSAxKTsKKwlzW24gLSAxXSA9ICdcMCc7CisKKwlyZXR1cm4gczsKK30KKwogc3RhdGljIHZvaWQK IF9fY29weV9kZXZfdG9fY2FyZChzdHJ1Y3QgaWd0X2RldmljZSAqZGV2LCBzdHJ1Y3QgaWd0X2Rl dmljZV9jYXJkICpjYXJkKQogewogCWlmIChkZXYtPnN1YnN5c3RlbSAhPSBOVUxMKQotCQlzdHJu Y3B5KGNhcmQtPnN1YnN5c3RlbSwgZGV2LT5zdWJzeXN0ZW0sCi0JCQlzaXplb2YoY2FyZC0+c3Vi c3lzdGVtKSAtIDEpOworCQlzYWZlX3N0cm5jcHkoY2FyZC0+c3Vic3lzdGVtLCBkZXYtPnN1YnN5 c3RlbSwKKwkJCSAgICAgc2l6ZW9mKGNhcmQtPnN1YnN5c3RlbSkpOwogCiAJaWYgKGRldi0+ZHJt X2NhcmQgIT0gTlVMTCkKLQkJc3RybmNweShjYXJkLT5jYXJkLCBkZXYtPmRybV9jYXJkLCBzaXpl b2YoY2FyZC0+Y2FyZCkgLSAxKTsKKwkJc2FmZV9zdHJuY3B5KGNhcmQtPmNhcmQsIGRldi0+ZHJt X2NhcmQsIHNpemVvZihjYXJkLT5jYXJkKSk7CiAKIAlpZiAoZGV2LT5kcm1fcmVuZGVyICE9IE5V TEwpCi0JCXN0cm5jcHkoY2FyZC0+cmVuZGVyLCBkZXYtPmRybV9yZW5kZXIsCi0JCQlzaXplb2Yo Y2FyZC0+cmVuZGVyKSAtIDEpOworCQlzYWZlX3N0cm5jcHkoY2FyZC0+cmVuZGVyLCBkZXYtPmRy bV9yZW5kZXIsCisJCQkgICAgIHNpemVvZihjYXJkLT5yZW5kZXIpKTsKIAogCWlmIChkZXYtPnBj aV9zbG90X25hbWUgIT0gTlVMTCkKLQkJc3RybmNweShjYXJkLT5wY2lfc2xvdF9uYW1lLCBkZXYt PnBjaV9zbG90X25hbWUsCi0JCQlQQ0lfU0xPVF9OQU1FX1NJWkUgKyAxKTsKKwkJc2FmZV9zdHJu Y3B5KGNhcmQtPnBjaV9zbG90X25hbWUsIGRldi0+cGNpX3Nsb3RfbmFtZSwKKwkJCSAgICAgc2l6 ZW9mKGNhcmQtPnBjaV9zbG90X25hbWUpKTsKKworCWlmIChkZXYtPnZlbmRvciAhPSBOVUxMKQor CQlpZiAoc3NjYW5mKGRldi0+dmVuZG9yLCAiJWh4IiwgJmNhcmQtPnBjaV92ZW5kb3IpICE9IDEp CisJCQljYXJkLT5wY2lfdmVuZG9yID0gMDsKKworCWlmIChkZXYtPmRldmljZSAhPSBOVUxMKQor CQlpZiAoc3NjYW5mKGRldi0+ZGV2aWNlLCAiJWh4IiwgJmNhcmQtPnBjaV9kZXZpY2UpICE9IDEp CisJCQljYXJkLT5wY2lfZGV2aWNlID0gMDsKIH0KIAogLyoKQEAgLTg1Miw2ICs5NDIsNyBAQCBz dGF0aWMgdm9pZCBfX3ByaW50X2ZpbHRlcihjaGFyICpidWYsIGludCBsZW4sCiAJfTsKIH0KIAor I2RlZmluZSBWRU5ET1JfU0laRSAzMAogc3RhdGljIHZvaWQKIGlndF9kZXZzX3ByaW50X3VzZXIo c3RydWN0IGlndF9saXN0X2hlYWQgKnZpZXcsCiAJCSAgICBjb25zdCBzdHJ1Y3QgaWd0X2Rldmlj ZXNfcHJpbnRfZm9ybWF0ICpmbXQpCkBAIC04ODMsMTEgKzk3NCwxOSBAQCBpZ3RfZGV2c19wcmlu dF91c2VyKHN0cnVjdCBpZ3RfbGlzdF9oZWFkICp2aWV3LAogCQkJY29udGludWU7CiAKIAkJaWYg KHBjaV9kZXYpIHsKKwkJCXVpbnQxNl90IHZlbmRvciwgZGV2aWNlOworCQkJY2hhciAqZGV2bmFt ZTsKKworCQkJZ2V0X3BjaV92ZW5kb3JfZGV2aWNlKHBjaV9kZXYsICZ2ZW5kb3IsICZkZXZpY2Up OworCQkJZGV2bmFtZSA9IF9fcGNpX3ByZXR0eV9uYW1lKHZlbmRvciwgZGV2aWNlLCBmbXQtPm51 bWVyaWMpOworCiAJCQlfX3ByaW50X2ZpbHRlcihmaWx0ZXIsIHNpemVvZihmaWx0ZXIpLCBmbXQs IHBjaV9kZXYsCiAJCQkJICAgICAgIGZhbHNlKTsKLQkJCXByaW50ZigiJS0yNHMlNHM6JTRzICAg ICVzXG4iLAotCQkJICAgICAgIGRybV9uYW1lLCBwY2lfZGV2LT52ZW5kb3IsIHBjaV9kZXYtPmRl dmljZSwKLQkJCSAgICAgICBmaWx0ZXIpOworCisJCQlwcmludGYoIiUtMjRzICUtKnMgICAgJXNc biIsCisJCQkgICAgICAgZHJtX25hbWUsIFZFTkRPUl9TSVpFLCBkZXZuYW1lLCBmaWx0ZXIpOwor CisJCQlmcmVlKGRldm5hbWUpOwogCQl9IGVsc2UgewogCQkJX19wcmludF9maWx0ZXIoZmlsdGVy LCBzaXplb2YoZmlsdGVyKSwgZm10LCBkZXYsIGZhbHNlKTsKIAkJCXByaW50ZigiJS0yNHMgICAg ICAgICAgICAgJXNcbiIsIGRybV9uYW1lLCBmaWx0ZXIpOwpAQCAtOTE5LDcgKzEwMTgsNyBAQCBp Z3RfZGV2c19wcmludF91c2VyKHN0cnVjdCBpZ3RfbGlzdF9oZWFkICp2aWV3LAogCQkJaWYgKGZt dC0+b3B0aW9uICE9IElHVF9QUklOVF9QQ0kpIHsKIAkJCQlfX3ByaW50X2ZpbHRlcihmaWx0ZXIs IHNpemVvZihmaWx0ZXIpLCBmbXQsCiAJCQkJCSAgICAgICBkZXYyLCB0cnVlKTsKLQkJCQlwcmlu dGYoIiAgICAgICAgICAgICAlc1xuIiwgZmlsdGVyKTsKKwkJCQlwcmludGYoIiUtKnMgICAgICVz XG4iLCBWRU5ET1JfU0laRSwgIiIsIGZpbHRlcik7CiAJCQl9IGVsc2UgewogCQkJCXByaW50Zigi XG4iKTsKIAkJCX0KQEAgLTE0NzksNiArMTU3OCwzMCBAQCBib29sIGlndF9kZXZpY2VfY2FyZF9t YXRjaF9wY2koY29uc3QgY2hhciAqZmlsdGVyLAogICAgICAgIHJldHVybiBfX2lndF9kZXZpY2Vf Y2FyZF9tYXRjaChmaWx0ZXIsIGNhcmQsIHRydWUpOwogfQogCisvKioKKyAqIGlndF9kZXZpY2Vf Z2V0X3ByZXR0eV9uYW1lCisgKiBAY2FyZDogcG9pbnRlciB0byBpZ3RfZGV2aWNlX2NhcmQgc3Ry dWN0CisgKgorICogRm9yIGNhcmQgZnVuY3Rpb24gcmV0dXJucyBhbGxvY2F0ZWQgc3RyaW5nIGhh dmluZyBwcmV0dHkgbmFtZQorICogb3IgdmVuZG9yOmRldmljZSBhcyBoZXggaWYgbm8gYmFja2Vu ZCBwcmV0dHktcmVzb2x2ZXIgaXMgaW1wbGVtZW50ZWQuCisgKgorICogUmV0dXJuczogbmV3bHkg YWxsb2NhdGVkIHN0cmluZy4KKyAqLworY2hhciAqaWd0X2RldmljZV9nZXRfcHJldHR5X25hbWUo c3RydWN0IGlndF9kZXZpY2VfY2FyZCAqY2FyZCwgYm9vbCBudW1lcmljKQoreworCWNoYXIgKmRl dm5hbWU7CisKKwlpZ3RfYXNzZXJ0KGNhcmQpOworCisJaWYgKHN0cmxlbihjYXJkLT5wY2lfc2xv dF9uYW1lKSkKKwkJZGV2bmFtZSA9IF9fcGNpX3ByZXR0eV9uYW1lKGNhcmQtPnBjaV92ZW5kb3Is IGNhcmQtPnBjaV9kZXZpY2UsCisJCQkJCSAgICBudW1lcmljKTsKKwllbHNlCisJCWRldm5hbWUg PSBzdHJkdXAoY2FyZC0+c3Vic3lzdGVtKTsKKworCXJldHVybiBkZXZuYW1lOworfQorCiAvKioK ICAqIGlndF9vcGVuX2NhcmQ6CiAgKiBAY2FyZDogcG9pbnRlciB0byBpZ3RfZGV2aWNlX2NhcmQg c3RydWN0dXJlCmRpZmYgLS1naXQgYS9saWIvaWd0X2RldmljZV9zY2FuLmggYi9saWIvaWd0X2Rl dmljZV9zY2FuLmgKaW5kZXggYmI0YmU3MjMuLjVmNTgzYTA2IDEwMDY0NAotLS0gYS9saWIvaWd0 X2RldmljZV9zY2FuLmgKKysrIGIvbGliL2lndF9kZXZpY2Vfc2Nhbi5oCkBAIC00OSw2ICs0OSw3 IEBAIGVudW0gaWd0X2RldmljZXNfcHJpbnRfb3B0aW9uIHsKIHN0cnVjdCBpZ3RfZGV2aWNlc19w cmludF9mb3JtYXQgewogCWVudW0gaWd0X2RldmljZXNfcHJpbnRfdHlwZSAgIHR5cGU7CiAJZW51 bSBpZ3RfZGV2aWNlc19wcmludF9vcHRpb24gb3B0aW9uOworCWJvb2wgbnVtZXJpYzsKIH07CiAK ICNkZWZpbmUgSU5URUdSQVRFRF9JOTE1X0dQVV9QQ0lfSUQgIjAwMDA6MDA6MDIuMCIKQEAgLTU4 LDYgKzU5LDcgQEAgc3RydWN0IGlndF9kZXZpY2VfY2FyZCB7CiAJY2hhciBjYXJkW05BTUVfTUFY XTsKIAljaGFyIHJlbmRlcltOQU1FX01BWF07CiAJY2hhciBwY2lfc2xvdF9uYW1lW1BDSV9TTE9U X05BTUVfU0laRSsxXTsKKwl1aW50MTZfdCBwY2lfdmVuZG9yLCBwY2lfZGV2aWNlOwogfTsKIAog dm9pZCBpZ3RfZGV2aWNlc19zY2FuKGJvb2wgZm9yY2UpOwpAQCAtODQsNiArODYsNyBAQCBib29s IGlndF9kZXZpY2VfY2FyZF9tYXRjaF9wY2koY29uc3QgY2hhciAqZmlsdGVyLAogCXN0cnVjdCBp Z3RfZGV2aWNlX2NhcmQgKmNhcmQpOwogYm9vbCBpZ3RfZGV2aWNlX2ZpbmRfZmlyc3RfaTkxNV9k aXNjcmV0ZV9jYXJkKHN0cnVjdCBpZ3RfZGV2aWNlX2NhcmQgKmNhcmQpOwogYm9vbCBpZ3RfZGV2 aWNlX2ZpbmRfaW50ZWdyYXRlZF9jYXJkKHN0cnVjdCBpZ3RfZGV2aWNlX2NhcmQgKmNhcmQpOwor Y2hhciAqaWd0X2RldmljZV9nZXRfcHJldHR5X25hbWUoc3RydWN0IGlndF9kZXZpY2VfY2FyZCAq Y2FyZCwgYm9vbCBudW1lcmljKTsKIGludCBpZ3Rfb3Blbl9jYXJkKHN0cnVjdCBpZ3RfZGV2aWNl X2NhcmQgKmNhcmQpOwogaW50IGlndF9vcGVuX3JlbmRlcihzdHJ1Y3QgaWd0X2RldmljZV9jYXJk ICpjYXJkKTsKIAotLSAKMi4yNi4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ln dC1kZXYK