From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukas Wunner Subject: [PATCH v2 1/5] PCI: Recognize Thunderbolt devices Date: Fri, 10 Mar 2017 21:23:45 +0100 Message-ID: <0ab165a4a35c0b60f29d4c306c653ead14fcd8f9.1489145162.git.lukas@wunner.de> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailout2.hostsharing.net (mailout2.hostsharing.net [83.223.90.233]) by gabe.freedesktop.org (Postfix) with ESMTPS id 35FB66EED9 for ; Fri, 10 Mar 2017 20:24:12 +0000 (UTC) In-Reply-To: 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, Daniel Vetter Cc: Bjorn Helgaas List-Id: dri-devel@lists.freedesktop.org RGV0ZWN0IG9uIHByb2JlIHdoZXRoZXIgYSBQQ0kgZGV2aWNlIGlzIHBhcnQgb2YgYSBUaHVuZGVy Ym9sdCBjb250cm9sbGVyLgpJbnRlbCB1c2VzIGEgVmVuZG9yLVNwZWNpZmljIEV4dGVuZGVkIENh cGFiaWxpdHkgKFZTRUMpIHdpdGggSUQgMHgxMjM0Cm9uIHN1Y2ggZGV2aWNlcy4gIERldGVjdCBw cmVzZW5jZSBvZiB0aGlzIFZTRUMgYW5kIGNhY2hlIGl0IGluIGEgbmV3bHkKYWRkZWQgaXNfdGh1 bmRlcmJvbHQgYml0IGluIHN0cnVjdCBwY2lfZGV2LgoKQWxzbywgYWRkIGEgaGVscGVyIHRvIGNo ZWNrIHdoZXRoZXIgYSBnaXZlbiBQQ0kgZGV2aWNlIGlzIHNpdHVhdGVkIG9uIGEKVGh1bmRlcmJv bHQgZGFpc3kgY2hhaW4gKGkuZS4sIGJlbG93IGEgUENJIGRldmljZSB3aXRoIGlzX3RodW5kZXJi b2x0CnNldCkuCgpUaGUgbmVjZXNzaXR5IGFyaXNlcyBmcm9tIHRoZSBmb2xsb3dpbmc6CgoqIElm IGFuIGV4dGVybmFsIFRodW5kZXJib2x0IEdQVSBpcyBjb25uZWN0ZWQgdG8gYSBkdWFsIEdQVSBs YXB0b3AsCiAgdGhhdCBHUFUgaXMgY3VycmVudGx5IHJlZ2lzdGVyZWQgd2l0aCB2Z2Ffc3dpdGNo ZXJvbyBldmVuIHRob3VnaCBpdAogIGNhbiBuZWl0aGVyIGRyaXZlIHRoZSBsYXB0b3AncyBwYW5l bCBub3IgYmUgcG93ZXJlZCBvZmYgYnkgdGhlCiAgcGxhdGZvcm0uICBUbyB2Z2Ffc3dpdGNoZXJv byBpdCB3aWxsIGFwcGVhciBhcyBpZiB0d28gZGlzY3JldGUKICBHUFVzIGFyZSBwcmVzZW50LiAg QXMgYSByZXN1bHQsIHdoZW4gdGhlIGV4dGVybmFsIEdQVSBpcyBydW50aW1lCiAgc3VzcGVuZGVk LCB2Z2Ffc3dpdGNoZXJvbyB3aWxsIGN1dCBwb3dlciB0byB0aGUgaW50ZXJuYWwgZGlzY3JldGUg R1BVCiAgd2hpY2ggbWF5IG5vdCBiZSBydW50aW1lIHN1c3BlbmRlZCBhdCBhbGwgYXQgdGhpcyBt b21lbnQuICBUaGUKICBzb2x1dGlvbiBpcyB0byBub3QgcmVnaXN0ZXIgZXh0ZXJuYWwgR1BVcyB3 aXRoIHZnYV9zd2l0Y2hlcm9vLCB3aGljaAogIG5lY2Vzc2l0YXRlcyBhIHdheSB0byByZWNvZ25p emUgaWYgdGhleSdyZSBvbiBhIFRodW5kZXJib2x0IGRhaXN5CiAgY2hhaW4uCgoqIER1YWwgR1BV IE1hY0Jvb2sgUHJvcyBpbnRyb2R1Y2VkIDIwMTErIGNhbiBubyBsb25nZXIgc3dpdGNoIGV4dGVy bmFsCiAgRGlzcGxheVBvcnQgcG9ydHMgYmV0d2VlbiBHUFVzLiAgKFRoZXkncmUgbm8gbG9uZ2Vy IGp1c3QgdXNlZCBmb3IgRFAKICBidXQgaGF2ZSBiZWNvbWUgY29tYmluZWQgRFAvVGh1bmRlcmJv bHQgcG9ydHMuKSAgVGhlIGRyaXZlciB0byBzd2l0Y2gKICB0aGUgcG9ydHMsIGRyaXZlcnMvcGxh dGZvcm0veDg2L2FwcGxlLWdtdXguYywgbmVlZHMgdG8gZGV0ZWN0IHByZXNlbmNlCiAgb2YgYSBU aHVuZGVyYm9sdCBjb250cm9sbGVyIGFuZCwgaWYgZm91bmQsIGtlZXAgZXh0ZXJuYWwgcG9ydHMK ICBwZXJtYW5lbnRseSBzd2l0Y2hlZCB0byB0aGUgZGlzY3JldGUgR1BVLgoKdjI6IE1ha2Uga2Vy bmVsZG9jIGZvciBwY2lfaXNfdGh1bmRlcmJvbHRfYXR0YWNoZWQoKSBtb3JlIHByZWNpc2UsCiAg ICBkcm9wIHBvcnRpb24gb2YgY29tbWl0IG1lc3NhZ2UgcGVydGFpbmluZyB0byBzZXBhcmF0ZSBz ZXJpZXMuCiAgICAoQmpvcm4gSGVsZ2FhcykKCkNjOiBBbmRyZWFzIE5vZXZlciA8YW5kcmVhcy5u b2V2ZXJAZ21haWwuY29tPgpDYzogTWljaGFlbCBKYW1ldCA8bWljaGFlbC5qYW1ldEBpbnRlbC5j b20+CkNjOiBUb21hcyBXaW5rbGVyIDx0b21hcy53aW5rbGVyQGludGVsLmNvbT4KQ2M6IEFtaXIg TGV2eSA8YW1pci5qZXIubGV2eUBpbnRlbC5jb20+CkFja2VkLWJ5OiBCam9ybiBIZWxnYWFzIDxi aGVsZ2Fhc0Bnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBMdWthcyBXdW5uZXIgPGx1a2FzQHd1 bm5lci5kZT4KLS0tCiBkcml2ZXJzL3BjaS9wY2kuaCAgIHwgIDIgKysKIGRyaXZlcnMvcGNpL3By b2JlLmMgfCAyMSArKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvbGludXgvcGNpLmggfCAy MyArKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvcGNpLmggYi9kcml2ZXJzL3BjaS9wY2kuaApp bmRleCBjYjE3ZGIyNDJmMzAuLjQ1YzJiODE0NDkxMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY2kv cGNpLmgKKysrIGIvZHJpdmVycy9wY2kvcGNpLmgKQEAgLTMsNiArMyw4IEBACiAKICNkZWZpbmUg UENJX0ZJTkRfQ0FQX1RUTAk0OAogCisjZGVmaW5lIFBDSV9WU0VDX0lEX0lOVEVMX1RCVAkweDEy MzQJLyogVGh1bmRlcmJvbHQgKi8KKwogZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGNpZV9s aW5rX3NwZWVkW107CiAKIGJvb2wgcGNpZV9jYXBfaGFzX2xua2N0bChjb25zdCBzdHJ1Y3QgcGNp X2RldiAqZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL3Byb2JlLmMgYi9kcml2ZXJzL3Bj aS9wcm9iZS5jCmluZGV4IDIwNDk2MGU3MDMzMy4uNzk2M2VjYzZkODVmIDEwMDY0NAotLS0gYS9k cml2ZXJzL3BjaS9wcm9iZS5jCisrKyBiL2RyaXZlcnMvcGNpL3Byb2JlLmMKQEAgLTEyMDgsNiAr MTIwOCwyNCBAQCB2b2lkIHNldF9wY2llX2hvdHBsdWdfYnJpZGdlKHN0cnVjdCBwY2lfZGV2ICpw ZGV2KQogCQlwZGV2LT5pc19ob3RwbHVnX2JyaWRnZSA9IDE7CiB9CiAKK3N0YXRpYyB2b2lkIHNl dF9wY2llX3RodW5kZXJib2x0KHN0cnVjdCBwY2lfZGV2ICpkZXYpCit7CisJaW50IHZzZWMgPSAw OworCXUzMiBoZWFkZXI7CisKKwl3aGlsZSAoKHZzZWMgPSBwY2lfZmluZF9uZXh0X2V4dF9jYXBh YmlsaXR5KGRldiwgdnNlYywKKwkJCQkJCSAgICBQQ0lfRVhUX0NBUF9JRF9WTkRSKSkpIHsKKwkJ cGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgdnNlYyArIFBDSV9WTkRSX0hFQURFUiwgJmhlYWRl cik7CisKKwkJLyogSXMgdGhlIGRldmljZSBwYXJ0IG9mIGEgVGh1bmRlcmJvbHQgY29udHJvbGxl cj8gKi8KKwkJaWYgKGRldi0+dmVuZG9yID09IFBDSV9WRU5ET1JfSURfSU5URUwgJiYKKwkJICAg IFBDSV9WTkRSX0hFQURFUl9JRChoZWFkZXIpID09IFBDSV9WU0VDX0lEX0lOVEVMX1RCVCkgewor CQkJZGV2LT5pc190aHVuZGVyYm9sdCA9IDE7CisJCQlyZXR1cm47CisJCX0KKwl9Cit9CisKIC8q KgogICogcGNpX2V4dF9jZmdfaXNfYWxpYXNlZCAtIGlzIGV4dCBjb25maWcgc3BhY2UganVzdCBh biBhbGlhcyBvZiBzdGQgY29uZmlnPwogICogQGRldjogUENJIGRldmljZQpAQCAtMTM2MCw2ICsx Mzc4LDkgQEAgaW50IHBjaV9zZXR1cF9kZXZpY2Uoc3RydWN0IHBjaV9kZXYgKmRldikKIAkvKiBu ZWVkIHRvIGhhdmUgZGV2LT5jbGFzcyByZWFkeSAqLwogCWRldi0+Y2ZnX3NpemUgPSBwY2lfY2Zn X3NwYWNlX3NpemUoZGV2KTsKIAorCS8qIG5lZWQgdG8gaGF2ZSBkZXYtPmNmZ19zaXplIHJlYWR5 ICovCisJc2V0X3BjaWVfdGh1bmRlcmJvbHQoZGV2KTsKKwogCS8qICJVbmtub3duIHBvd2VyIHN0 YXRlIiAqLwogCWRldi0+Y3VycmVudF9zdGF0ZSA9IFBDSV9VTktOT1dOOwogCmRpZmYgLS1naXQg YS9pbmNsdWRlL2xpbnV4L3BjaS5oIGIvaW5jbHVkZS9saW51eC9wY2kuaAppbmRleCBlMmQxYTEy NDIxNmEuLmEzN2VjZDUyYjM1YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9wY2kuaAorKysg Yi9pbmNsdWRlL2xpbnV4L3BjaS5oCkBAIC0zNTgsNiArMzU4LDcgQEAgc3RydWN0IHBjaV9kZXYg ewogCXVuc2lnbmVkIGludAlpc192aXJ0Zm46MTsKIAl1bnNpZ25lZCBpbnQJcmVzZXRfZm46MTsK IAl1bnNpZ25lZCBpbnQgICAgaXNfaG90cGx1Z19icmlkZ2U6MTsKKwl1bnNpZ25lZCBpbnQJaXNf dGh1bmRlcmJvbHQ6MTsgLyogVGh1bmRlcmJvbHQgY29udHJvbGxlciAqLwogCXVuc2lnbmVkIGlu dCAgICBfX2Flcl9maXJtd2FyZV9maXJzdF92YWxpZDoxOwogCXVuc2lnbmVkIGludAlfX2Flcl9m aXJtd2FyZV9maXJzdDoxOwogCXVuc2lnbmVkIGludAlicm9rZW5faW50eF9tYXNraW5nOjE7CkBA IC0yMTcxLDYgKzIxNzIsMjggQEAgc3RhdGljIGlubGluZSBib29sIHBjaV9hcmlfZW5hYmxlZChz dHJ1Y3QgcGNpX2J1cyAqYnVzKQogCXJldHVybiBidXMtPnNlbGYgJiYgYnVzLT5zZWxmLT5hcmlf ZW5hYmxlZDsKIH0KIAorLyoqCisgKiBwY2lfaXNfdGh1bmRlcmJvbHRfYXR0YWNoZWQgLSB3aGV0 aGVyIGRldmljZSBpcyBvbiBhIFRodW5kZXJib2x0IGRhaXN5IGNoYWluCisgKiBAcGRldjogUENJ IGRldmljZSB0byBjaGVjaworICoKKyAqIFdhbGsgdXB3YXJkcyBmcm9tIEBwZGV2IGFuZCBjaGVj ayBmb3IgZWFjaCBlbmNvdW50ZXJlZCBicmlkZ2UgaWYgaXQncyBwYXJ0CisgKiBvZiBhIFRodW5k ZXJib2x0IGNvbnRyb2xsZXIuICBSZWFjaGluZyB0aGUgaG9zdCBicmlkZ2UgbWVhbnMgQHBkZXYg aXMgbm90CisgKiBUaHVuZGVyYm9sdC1hdHRhY2hlZC4gIChCdXQgcmF0aGVyIHNvbGRlcmVkIHRv IHRoZSBtYWluYm9hcmQgdXN1YWxseS4pCisgKi8KK3N0YXRpYyBpbmxpbmUgYm9vbCBwY2lfaXNf dGh1bmRlcmJvbHRfYXR0YWNoZWQoc3RydWN0IHBjaV9kZXYgKnBkZXYpCit7CisJc3RydWN0IHBj aV9kZXYgKnBhcmVudCA9IHBkZXY7CisKKwlpZiAocGRldi0+aXNfdGh1bmRlcmJvbHQpCisJCXJl dHVybiB0cnVlOworCisJd2hpbGUgKChwYXJlbnQgPSBwY2lfdXBzdHJlYW1fYnJpZGdlKHBhcmVu dCkpKQorCQlpZiAocGFyZW50LT5pc190aHVuZGVyYm9sdCkKKwkJCXJldHVybiB0cnVlOworCisJ cmV0dXJuIGZhbHNlOworfQorCiAvKiBwcm92aWRlIHRoZSBsZWdhY3kgcGNpX2RtYV8qIEFQSSAq LwogI2luY2x1ZGUgPGxpbnV4L3BjaS1kbWEtY29tcGF0Lmg+CiAKLS0gCjIuMTEuMAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==