From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH v2 17/17] drm/i915: Split out load time interface registration Date: Fri, 11 Mar 2016 18:31:42 +0200 Message-ID: <1457713902-2425-18-git-send-email-imre.deak@intel.com> References: <1457713902-2425-1-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 660126EB18 for ; Fri, 11 Mar 2016 16:32:10 +0000 (UTC) In-Reply-To: <1457713902-2425-1-git-send-email-imre.deak@intel.com> 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 QWNjb3JkaW5nIHRvIHRoZSBuZXcgaW5pdCBwaGFzZXMgc2NoZW1lIHdlIHNob3VsZCByZWdpc3Rl ciB0aGUgZGV2aWNlCm1ha2luZyBpdCBhdmFpbGFibGUgdmlhIHNvbWUga2VybmVsIGludGVybmFs IG9yIHVzZXIgc3BhY2UgaW50ZXJmYWNlIGFzCnRoZSBsYXN0IHN0ZXAgaW4gdGhlIGluaXQgc2Vx dWVuY2UsIHNvIG1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgY29kZSB0byBhCnNlcGFyYXRlIGZ1bmN0 aW9uLgoKQWxzbyBhZGQgYSBUT0RPIGNvbW1lbnQgYWJvdXQgY29kZSB0aGF0IHN0aWxsIG5lZWRz IHRvIGJlIG1vdmVkIGFyb3VuZAp0byBvbmUgb2YgdGhlIGluaXQgcGhhc2VzIGZ1bmN0aW9ucyBk ZXBlbmRpbmcgb24gd2hhdCB0aGUgcm9sZSBhbmQgZWZmZWN0Cm9mIHRoYXQgY29kZSBpcy4KCk5v IGZ1bmN0aW9uYWwgY2hhbmdlLCBleGNlcHQgZm9yIHRoZSByZW9yZGVyaW5nIG9mIHRoZSB1bmxv YWQgdGltZQp1bnJlZ2lzdHJhdGlvbiBzdGVwcyBvZiBzeXNmcyB3cnQuIGFjcGkgYW5kIG9wcmVn aW9uLgoKU3VnZ2VzdGVkIGJ5IENocmlzLgoKQ0M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMt d2lsc29uLmNvLnVrPgpTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYyB8IDgzICsrKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTQgaW5zZXJ0 aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKaW5kZXggYWFm MWIxNy4uNDNkY2I1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCkBAIC0xMjA5LDYgKzEyMDks NTMgQEAgc3RhdGljIHZvaWQgaTkxNV9kcml2ZXJfY2xlYW51cF9odyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCiB9CiAKIC8qKgorICogaTkxNV9kcml2ZXJfaW5pdF9yZWdpc3Rl ciAtIHJlZ2lzdGVyIHRoZSBkcml2ZXIgd2l0aCB0aGUgcmVzdCBvZiB0aGUgc3lzdGVtCisgKiBA ZGV2X3ByaXY6IGRldmljZSBwcml2YXRlCisgKgorICogUGVyZm9ybSBhbnkgc3RlcHMgbmVjZXNz YXJ5IHRvIG1ha2UgdGhlIGRyaXZlciBhdmFpbGFibGUgdmlhIGtlcm5lbAorICogaW50ZXJuYWwg b3IgdXNlcnNwYWNlIGludGVyZmFjZXMuCisgKi8KK3N0YXRpYyB2b2lkIGk5MTVfZHJpdmVyX2lu aXRfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBkZXZfcHJpdi0+ZGV2OworCisJaTkxNV9nZW1fc2hyaW5rZXJf aW5pdChkZXZfcHJpdik7CisJLyoKKwkgKiBOb3RpZnkgYSB2YWxpZCBzdXJmYWNlIGFmdGVyIG1v ZGVzZXR0aW5nLAorCSAqIHdoZW4gcnVubmluZyBpbnNpZGUgYSBWTS4KKwkgKi8KKwlpZiAoaW50 ZWxfdmdwdV9hY3RpdmUoZGV2KSkKKwkJSTkxNV9XUklURSh2Z3RpZl9yZWcoZGlzcGxheV9yZWFk eSksIFZHVF9EUlZfRElTUExBWV9SRUFEWSk7CisKKwlpOTE1X3NldHVwX3N5c2ZzKGRldik7CisK KwlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPm51bV9waXBlcykgeworCQkvKiBNdXN0IGJlIGRv bmUgYWZ0ZXIgcHJvYmluZyBvdXRwdXRzICovCisJCWludGVsX29wcmVnaW9uX2luaXQoZGV2KTsK KwkJYWNwaV92aWRlb19yZWdpc3RlcigpOworCX0KKworCWlmIChJU19HRU41KGRldl9wcml2KSkK KwkJaW50ZWxfZ3B1X2lwc19pbml0KGRldl9wcml2KTsKKworCWk5MTVfYXVkaW9fY29tcG9uZW50 X2luaXQoZGV2X3ByaXYpOworfQorCisvKioKKyAqIGk5MTVfZHJpdmVyX2NsZWFudXBfcmVnaXN0 ZXIgLSB1bmRvIHJlZ2lzdHJhdGlvbiBkb25lIGluIGk5MTVfZHJpdmVyX2luaXRfcmVnaXN0ZXIo KQorICogQGRldl9wcml2OiBkZXZpY2UgcHJpdmF0ZQorICovCitzdGF0aWMgdm9pZCBpOTE1X2Ry aXZlcl9jbGVhbnVwX3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK K3sKKwlpOTE1X2F1ZGlvX2NvbXBvbmVudF9jbGVhbnVwKGRldl9wcml2KTsKKwlpbnRlbF9ncHVf aXBzX3RlYXJkb3duKCk7CisJYWNwaV92aWRlb191bnJlZ2lzdGVyKCk7CisJaW50ZWxfb3ByZWdp b25fZmluaShkZXZfcHJpdi0+ZGV2KTsKKwlpOTE1X3RlYXJkb3duX3N5c2ZzKGRldl9wcml2LT5k ZXYpOworCWk5MTVfZ2VtX3Nocmlua2VyX2NsZWFudXAoZGV2X3ByaXYpOworfQorCisvKioKICAq IGk5MTVfZHJpdmVyX2xvYWQgLSBzZXR1cCBjaGlwIGFuZCBjcmVhdGUgYW4gaW5pdGlhbCBjb25m aWcKICAqIEBkZXY6IERSTSBkZXZpY2UKICAqIEBmbGFnczogc3RhcnR1cCBmbGFncwpAQCAtMTI0 Niw2ICsxMjkzLDExIEBAIGludCBpOTE1X2RyaXZlcl9sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiAJaWYgKHJldCA8IDApCiAJCWdvdG8gb3V0X2NsZWFu dXBfbW1pbzsKIAorCS8qCisJICogVE9ETzogbW92ZSB0aGUgdmJsYW5rIGluaXQgYW5kIHBhcnRz IG9mIG1vZGVzZXQgaW5pdCBzdGVwcyBpbnRvIG9uZQorCSAqIG9mIHRoZSBpOTE1X2RyaXZlcl9p bml0XyogZnVuY3Rpb25zIGFjY29yZGluZyB0byB0aGUgcm9sZS9lZmZlY3Qgb2YKKwkgKiB0aGUg Z2l2ZW4gaW5pdCBzdGVwLgorCSAqLwogCWlmIChJTlRFTF9JTkZPKGRldiktPm51bV9waXBlcykg ewogCQlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZGV2LCBJTlRFTF9JTkZPKGRldiktPm51bV9waXBl cyk7CiAJCWlmIChyZXQpCkBAIC0xMjU4LDI2ICsxMzEwLDcgQEAgaW50IGk5MTVfZHJpdmVyX2xv YWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgbG9uZyBmbGFncykKIAkJZ290byBv dXRfcG93ZXJfd2VsbDsKIAl9CiAKLQlpOTE1X2dlbV9zaHJpbmtlcl9pbml0KGRldl9wcml2KTsK LQkvKgotCSAqIE5vdGlmeSBhIHZhbGlkIHN1cmZhY2UgYWZ0ZXIgbW9kZXNldHRpbmcsCi0JICog d2hlbiBydW5uaW5nIGluc2lkZSBhIFZNLgotCSAqLwotCWlmIChpbnRlbF92Z3B1X2FjdGl2ZShk ZXYpKQotCQlJOTE1X1dSSVRFKHZndGlmX3JlZyhkaXNwbGF5X3JlYWR5KSwgVkdUX0RSVl9ESVNQ TEFZX1JFQURZKTsKLQotCWk5MTVfc2V0dXBfc3lzZnMoZGV2KTsKLQotCWlmIChJTlRFTF9JTkZP KGRldiktPm51bV9waXBlcykgewotCQkvKiBNdXN0IGJlIGRvbmUgYWZ0ZXIgcHJvYmluZyBvdXRw dXRzICovCi0JCWludGVsX29wcmVnaW9uX2luaXQoZGV2KTsKLQkJYWNwaV92aWRlb19yZWdpc3Rl cigpOwotCX0KLQotCWlmIChJU19HRU41KGRldikpCi0JCWludGVsX2dwdV9pcHNfaW5pdChkZXZf cHJpdik7Ci0KLQlpOTE1X2F1ZGlvX2NvbXBvbmVudF9pbml0KGRldl9wcml2KTsKKwlpOTE1X2Ry aXZlcl9pbml0X3JlZ2lzdGVyKGRldl9wcml2KTsKIAogCWludGVsX3J1bnRpbWVfcG1fZW5hYmxl KGRldl9wcml2KTsKIApAQCAtMTMxNiwxNSArMTM0OSw3IEBAIGludCBpOTE1X2RyaXZlcl91bmxv YWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAogCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRl dl9wcml2LCBQT1dFUl9ET01BSU5fSU5JVCk7CiAKLQlpOTE1X2F1ZGlvX2NvbXBvbmVudF9jbGVh bnVwKGRldl9wcml2KTsKLQotCWludGVsX2dwdV9pcHNfdGVhcmRvd24oKTsKLQotCWk5MTVfdGVh cmRvd25fc3lzZnMoZGV2KTsKLQotCWFjcGlfdmlkZW9fdW5yZWdpc3RlcigpOwotCWludGVsX29w cmVnaW9uX2ZpbmkoZGV2KTsKLQlpOTE1X2dlbV9zaHJpbmtlcl9jbGVhbnVwKGRldl9wcml2KTsK KwlpOTE1X2RyaXZlcl9jbGVhbnVwX3JlZ2lzdGVyKGRldl9wcml2KTsKIAogCWRybV92Ymxhbmtf Y2xlYW51cChkZXYpOwogCi0tIAoyLjUuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==