From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH igt v5] lib: Attempt to load the module for a missing device Date: Wed, 15 Nov 2017 11:30:43 +0000 Message-ID: <20171115113043.24126-1-chris@chris-wilson.co.uk> References: <20171114131845.29930-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id E13176E43D for ; Wed, 15 Nov 2017 11:30:54 +0000 (UTC) In-Reply-To: <20171114131845.29930-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SWYgd2UgYXNrZWQgdG8gb3BlbiBhIHBhcnRpY3VsYXIgY2hpcHNldCBhbmQgd2UgZmluZCBubyBt YXRjaGluZyBkZXZpY2UsCnRyeSBhZ2FpbiBhZnRlciBhdHRlbXB0aW5nIHRvIGxvYWQgaXRzIG1v ZHVsZS4gUHJldmlvdXNseSB3ZSBvbmx5IGRpZAp0aGlzIGZvciB2Z2VtLCB3aGljaCBpcyBub3Qg YXV0b21hdGljYWxseSBwcm9iZWQgZHVyaW5nIGJvb3QsIGJ1dCBpZiB3ZQp3YW50IHRvIGxlYXZl IHRoZSBtb2R1bGUgdW5sb2FkZWQgd2UgaGF2ZSB0byB0cnkgaGFyZGVyIHdoZW4gd2UgbmVlZCB0 aGUKZGV2aWNlLgoKdjI6IERSSVZFUl8qIGFyZSBhbHJlYWR5IG1hc2tzIChhbmQgbm90IHNoaWZ0 cykuIFVzZSBhIGNvbW1vbgpkcml2ZXJfb3BlbiBmb3IgYm90aCAvZGV2L2RyaS9jYXJkWCBhbmQg L2Rldi9kcmkvcmVuZGVyRFguCnYzOiBCZXdhcmUgbWFraW5nIGxvY2FsIHZhcmlhYmxlcyBhY2Np ZGVudGFsbHkgc3RhdGljIHNjb3BlZC4KdjQ6IEJld2FyZSBtdWx0aXBsZSB0aHJlYWRzIHRyeWlu ZyBhbmQgZmFpbGluZyB0byBvcGVuIGEgZGV2aWNlCnY1OiBGaXhlZCBzcGVsbGluZyBvZiByZW5k ZXIgKFBldHJpKQoKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+CkNjOiBQZXRyaSBMYXR2YWxhIDxwZXRyaS5sYXR2YWxhQGludGVsLmNvbT4KLS0t CiBsaWIvZHJtdGVzdC5jIHwgOTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCsp LCA0MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvZHJtdGVzdC5jIGIvbGliL2RybXRl c3QuYwppbmRleCBlNmJkYmMzNS4uZWYyZjc3MmUgMTAwNjQ0Ci0tLSBhL2xpYi9kcm10ZXN0LmMK KysrIGIvbGliL2RybXRlc3QuYwpAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgPHN5cy9zeXNj YWxsLmg+CiAjaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KICNpbmNsdWRlIDx0ZXJtaW9zLmg+Cisj aW5jbHVkZSA8cHRocmVhZC5oPgogCiAjaW5jbHVkZSAiZHJtdGVzdC5oIgogI2luY2x1ZGUgImk5 MTVfZHJtLmgiCkBAIC0yMzUsMjUgKzIzNiwxOSBAQCBzdGF0aWMgaW50IG1vZHByb2JlKGNvbnN0 IGNoYXIgKmRyaXZlcikKIAlyZXR1cm4gaWd0X2ttb2RfbG9hZChkcml2ZXIsICIiKTsKIH0KIAot LyoqCi0gKiBfX2RybV9vcGVuX2RyaXZlcjoKLSAqIEBjaGlwc2V0OiBPUidkIGZsYWdzIGZvciBl YWNoIGNoaXBzZXQgdG8gc2VhcmNoLCBlZy4gI0RSSVZFUl9JTlRFTAotICoKLSAqIE9wZW4gdGhl IGZpcnN0IERSTSBkZXZpY2Ugd2UgY2FuIGZpbmQsIHNlYXJjaGluZyB1cCB0byAxNiBkZXZpY2Ug bm9kZXMKLSAqCi0gKiBSZXR1cm5zOgotICogQW4gb3BlbiBEUk0gZmQgb3IgLTEgb24gZXJyb3IK LSAqLwotaW50IF9fZHJtX29wZW5fZHJpdmVyKGludCBjaGlwc2V0KQorc3RhdGljIHZvaWQgbW9k cHJvYmVfaTkxNShjb25zdCBjaGFyICpuYW1lKQogewotCWlmIChjaGlwc2V0ICYgRFJJVkVSX1ZH RU0pCi0JCW1vZHByb2JlKCJ2Z2VtIik7CisJLyogV2hlbiBsb2FkaW5nIGk5MTUsIHdlIGFsc28g d2FudCB0byBsb2FkIHNuZC1oZGEgZXQgYWwgKi8KKwlpZ3RfaTkxNV9kcml2ZXJfbG9hZChOVUxM KTsKK30KIAorc3RhdGljIGludCBfX29wZW5fZGV2aWNlKGNvbnN0IGNoYXIgKmJhc2UsIGludCBv ZmZzZXQsIHVuc2lnbmVkIGludCBjaGlwc2V0KQorewogCWZvciAoaW50IGkgPSAwOyBpIDwgMTY7 IGkrKykgewogCQljaGFyIG5hbWVbODBdOwogCQlpbnQgZmQ7CiAKLQkJc3ByaW50ZihuYW1lLCAi L2Rldi9kcmkvY2FyZCV1IiwgaSk7CisJCXNwcmludGYobmFtZSwgIiVzJXUiLCBiYXNlLCBpICsg b2Zmc2V0KTsKIAkJZmQgPSBvcGVuKG5hbWUsIE9fUkRXUik7CiAJCWlmIChmZCA9PSAtMSkKIAkJ CWNvbnRpbnVlOwpAQCAtMjYyLDE2ICsyNTcsMTMgQEAgaW50IF9fZHJtX29wZW5fZHJpdmVyKGlu dCBjaGlwc2V0KQogCQkgICAgaGFzX2tub3duX2ludGVsX2NoaXBzZXQoZmQpKQogCQkJcmV0dXJu IGZkOwogCi0JCWlmIChjaGlwc2V0ICYgRFJJVkVSX1ZDNCAmJgotCQkgICAgaXNfdmM0X2Rldmlj ZShmZCkpCisJCWlmIChjaGlwc2V0ICYgRFJJVkVSX1ZDNCAmJiBpc192YzRfZGV2aWNlKGZkKSkK IAkJCXJldHVybiBmZDsKIAotCQlpZiAoY2hpcHNldCAmIERSSVZFUl9WR0VNICYmCi0JCSAgICBp c192Z2VtX2RldmljZShmZCkpCisJCWlmIChjaGlwc2V0ICYgRFJJVkVSX1ZHRU0gJiYgaXNfdmdl bV9kZXZpY2UoZmQpKQogCQkJcmV0dXJuIGZkOwogCi0JCWlmIChjaGlwc2V0ICYgRFJJVkVSX1ZJ UlRJTyAmJgotCQkgICAgaXNfdmlydGlvX2RldmljZShmZCkpCisJCWlmIChjaGlwc2V0ICYgRFJJ VkVSX1ZJUlRJTyAmJiBpc192aXJ0aW9fZGV2aWNlKGZkKSkKIAkJCXJldHVybiBmZDsKIAogCQlp ZiAoY2hpcHNldCAmIERSSVZFUl9BTURHUFUgJiYgaXNfYW1kX2RldmljZShmZCkpCkBAIC0yODcs MzMgKzI3OSw1OCBAQCBpbnQgX19kcm1fb3Blbl9kcml2ZXIoaW50IGNoaXBzZXQpCiAJcmV0dXJu IC0xOwogfQogCi1zdGF0aWMgaW50IF9fZHJtX29wZW5fZHJpdmVyX3JlbmRlcihpbnQgY2hpcHNl dCkKK3N0YXRpYyBpbnQgX19vcGVuX2RyaXZlcihjb25zdCBjaGFyICpiYXNlLCBpbnQgb2Zmc2V0 LCB1bnNpZ25lZCBpbnQgY2hpcHNldCkKIHsKLQljaGFyICpuYW1lOwotCWludCBpLCBmZDsKLQot CWZvciAoaSA9IDEyODsgaSA8ICgxMjggKyAxNik7IGkrKykgewotCQlpbnQgcmV0OwotCi0JCXJl dCA9IGFzcHJpbnRmKCZuYW1lLCAiL2Rldi9kcmkvcmVuZGVyRCV1IiwgaSk7Ci0JCWlndF9hc3Nl cnQocmV0ICE9IC0xKTsKLQotCQlmZCA9IG9wZW4obmFtZSwgT19SRFdSKTsKLQkJZnJlZShuYW1l KTsKKwlzdGF0aWMgcHRocmVhZF9tdXRleF90IG11dGV4ID0gUFRIUkVBRF9NVVRFWF9JTklUSUFM SVpFUjsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG1vZHVsZSB7CisJCXVuc2lnbmVkIGludCBiaXQ7 CisJCWNvbnN0IGNoYXIgKm1vZHVsZTsKKwkJdm9pZCAoKm1vZHByb2JlKShjb25zdCBjaGFyICpu YW1lKTsKKwl9IG1vZHVsZXNbXSA9IHsKKwkJeyBEUklWRVJfQU1ER1BVLCAiYW1kZ3B1IiB9LAor CQl7IERSSVZFUl9JTlRFTCwgImk5MTUiLCBtb2Rwcm9iZV9pOTE1IH0sCisJCXsgRFJJVkVSX1ZD NCwgInZjNCIgfSwKKwkJeyBEUklWRVJfVkdFTSwgInZnZW0iIH0sCisJCXsgRFJJVkVSX1ZJUlRJ TywgInZpcnRpby1ncHUiIH0sCisJCXt9CisJfTsKKwlpbnQgZmQ7CiAKLQkJaWYgKGZkID09IC0x KQotCQkJY29udGludWU7CisJZmQgPSBfX29wZW5fZGV2aWNlKGJhc2UsIG9mZnNldCwgY2hpcHNl dCk7CisJaWYgKGZkICE9IC0xKQorCQlyZXR1cm4gZmQ7CiAKLQkJaWYgKCFpc19pOTE1X2Rldmlj ZShmZCkgfHwgIWhhc19rbm93bl9pbnRlbF9jaGlwc2V0KGZkKSkgewotCQkJY2xvc2UoZmQpOwot CQkJZmQgPSAtMTsKLQkJCWNvbnRpbnVlOworCXB0aHJlYWRfbXV0ZXhfbG9jaygmbXV0ZXgpOwor CWZvciAoY29uc3Qgc3RydWN0IG1vZHVsZSAqbSA9IG1vZHVsZXM7IG0tPm1vZHVsZTsgbSsrKSB7 CisJCWlmIChjaGlwc2V0ICYgbS0+Yml0KSB7CisJCQlpZiAobS0+bW9kcHJvYmUpCisJCQkJbS0+ bW9kcHJvYmUobS0+bW9kdWxlKTsKKwkJCWVsc2UKKwkJCQltb2Rwcm9iZShtLT5tb2R1bGUpOwog CQl9Ci0KLQkJcmV0dXJuIGZkOwogCX0KKwlwdGhyZWFkX211dGV4X3VubG9jaygmbXV0ZXgpOwog Ci0JcmV0dXJuIGZkOworCXJldHVybiBfX29wZW5fZGV2aWNlKGJhc2UsIG9mZnNldCwgY2hpcHNl dCk7Cit9CisKKy8qKgorICogX19kcm1fb3Blbl9kcml2ZXI6CisgKiBAY2hpcHNldDogT1InZCBm bGFncyBmb3IgZWFjaCBjaGlwc2V0IHRvIHNlYXJjaCwgZWcuICNEUklWRVJfSU5URUwKKyAqCisg KiBPcGVuIHRoZSBmaXJzdCBEUk0gZGV2aWNlIHdlIGNhbiBmaW5kLCBzZWFyY2hpbmcgdXAgdG8g MTYgZGV2aWNlIG5vZGVzCisgKgorICogUmV0dXJuczoKKyAqIEFuIG9wZW4gRFJNIGZkIG9yIC0x IG9uIGVycm9yCisgKi8KK2ludCBfX2RybV9vcGVuX2RyaXZlcihpbnQgY2hpcHNldCkKK3sKKwly ZXR1cm4gX19vcGVuX2RyaXZlcigiL2Rldi9kcmkvY2FyZCIsIDAsIGNoaXBzZXQpOworfQorCitz dGF0aWMgaW50IF9fZHJtX29wZW5fZHJpdmVyX3JlbmRlcihpbnQgY2hpcHNldCkKK3sKKwlyZXR1 cm4gX19vcGVuX2RyaXZlcigiL2Rldi9kcmkvcmVuZGVyRCIsIDEyOCwgY2hpcHNldCk7CiB9CiAK IHN0YXRpYyBpbnQgYXRfZXhpdF9kcm1fZmQgPSAtMTsKLS0gCjIuMTUuMAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==