From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: [PATCH 07/15] drm/i915: Defer default hardware context initialisation until first open Date: Mon, 15 Jun 2015 19:36:25 +0100 Message-ID: <1434393394-21002-8-git-send-email-david.s.gordon@intel.com> References: <1434393394-21002-1-git-send-email-david.s.gordon@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 52BDD6E894 for ; Mon, 15 Jun 2015 11:38:13 -0700 (PDT) In-Reply-To: <1434393394-21002-1-git-send-email-david.s.gordon@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 SW4gb3JkZXIgdG8gZnVsbHkgaW5pdGlhbGlzZSB0aGUgZGVmYXVsdCBjb250ZXh0cywgd2UgaGF2 ZSB0byBleGVjdXRlCmJhdGNoYnVmZmVyIGNvbW1hbmRzIG9uIHRoZSBHUFUgZW5naW5lcy4gQnV0 IGluIHRoZSBjYXNlIG9mIEd1Qy1iYXNlZApiYXRjaCBzdWJtaXNzaW9uLCB3ZSBjYW4ndCBkbyB0 aGF0IHVudGlsIGFueSByZXF1aXJlZCBmaXJtd2FyZSBoYXMKYmVlbiBsb2FkZWQsIHdoaWNoIG1h eSBub3QgYmUgcG9zc2libGUgZHVyaW5nIGRyaXZlciBsb2FkLCBiZWNhdXNlIHRoZQpmaWxlc3lz dGVtKHMpIGNvbnRhaW5pbmcgdGhlIGZpcm13YXJlIG1heSBub3QgYmUgbW91bnRlZCB1bnRpbCBs YXRlci4KClRoZXJlZm9yZSwgd2Ugbm93IGFsbG93IHRoZSBmaXJzdCBjYWxsIHRvIHRoZSBmaXJt d2FyZS1sb2FkaW5nIGNvZGUgdG8KcmV0dXJuIC1FQUdBSU4gdG8gaW5kaWNhdGUgdGhhdCBpdCdz IG5vdCB5ZXQgcmVhZHksIGFuZCB0aGF0IGl0IHNob3VsZApiZSByZXRyaWVkIHdoZW4gdGhlIGRl dmljZSBpcyBmaXJzdCBvcGVuZWQgZnJvbSB1c2VyIGNvZGUsIGJ5IHdoaWNoCnRpbWUgd2UgZXhw ZWN0IHRoYXQgYWxsIHJlcXVpcmVkIGZpbGVzeXN0ZW1zIHdpbGwgaGF2ZSBiZWVuIG1vdW50ZWQu ClRoZSBsYXRlLXJldHJ5IGNvZGUgd2lsbCB0aGVuIHJlLWF0dGVtcHQgdG8gbG9hZCB0aGUgZmly bXdhcmUgaWYgdGhlCmVhcmx5IGF0dGVtcHQgZmFpbGVkLgoKSWYgdGhlIGxhdGUgcmV0cnkgZmFp bHMsIHRoZSBjdXJyZW50IG9wZW4taW4tcHJvZ3Jlc3Mgd2lsbCBmYWlsLCBidXQKdGhlIHJlY292 ZXJ5IGNvZGUgd2lsbCBkaXNhYmxlIEd1QyBzdWJtaXNzaW9uIGFuZCByZXNldCB0aGUgR1BVIGFu ZApkcml2ZXIuIFRoZSBuZXh0IG9wZW4gd2lsbCB0aGVyZWZvcmUgYmUgaW4gbm9uLUd1QyBtb2Rl LCBhbmQgd2lsbCBiZQphbGxvd2VkIHRvIGNvbXBsZXRlIGV2ZW4gaWYgdGhlIEd1QyBjYW5ub3Qg YmUgbG9hZGVkIG9yIHVzZWQuCgpJc3N1ZTogVklaLTQ4ODQKU2lnbmVkLW9mZi1ieTogRGF2ZSBH b3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQWxleCBEYWkg PHl1LmRhaUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAg ICAgICAgIHwgICAgMiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAg IHwgICAgOSArKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyB8 ICAgNTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9pcnEuYyAgICAgICAgIHwgICA0OCArKysrKysrKysrKysrKysrKysrKysrKysrKysr CiA0IGZpbGVzIGNoYW5nZWQsIDEwNSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGY0N2NkZTcuLmExZmMyNzggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaApAQCAtMTgzNyw2ICsxODM3LDcgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg ewogCS8qIGhkYS9pOTE1IGF1ZGlvIGNvbXBvbmVudCAqLwogCWJvb2wgYXVkaW9fY29tcG9uZW50 X3JlZ2lzdGVyZWQ7CiAKKwlib29sIGNvbnRleHRzX3JlYWR5OwogCXVpbnQzMl90IGh3X2NvbnRl eHRfc2l6ZTsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGNvbnRleHRfbGlzdDsKIApAQCAtMjYxNCw2ICsy NjE1LDcgQEAgdm9pZCBpOTE1X3F1ZXVlX2hhbmdjaGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KTsKIF9fcHJpbnRmKDMsIDQpCiB2b2lkIGk5MTVfaGFuZGxlX2Vycm9yKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIGJvb2wgd2VkZ2VkLAogCQkgICAgICAgY29uc3QgY2hhciAqZm10LCAuLi4pOwor dm9pZCBpOTE1X2hhbmRsZV9ndWNfZXJyb3Ioc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGVy cik7CiAKIGV4dGVybiB2b2lkIGludGVsX2lycV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdik7CiBleHRlcm4gdm9pZCBpbnRlbF9ocGRfaW5pdChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggY2Q0YTg2NS4u ZDFhODg2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC01MDI1LDggKzUwMjUsMTUgQEAg aTkxNV9nZW1faW5pdF9odyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJLyogV2UgY2FuJ3Qg ZW5hYmxlIGNvbnRleHRzIHVudGlsIGFsbCBmaXJtd2FyZSBpcyBsb2FkZWQgKi8KIAlyZXQgPSBp bnRlbF9ndWNfdWNvZGVfbG9hZChkZXYsIGZhbHNlKTsKKwlpZiAocmV0ID09IC1FQUdBSU4pIHsK KwkJcmV0ID0gMDsKKwkJZ290byBvdXQ7CQkvKiB0b28gZWFybHkgKi8KKwl9CisKIAlyZXQgPSBp OTE1X2dlbV9jb250ZXh0X2VuYWJsZShkZXZfcHJpdik7Ci0JaWYgKHJldCAmJiByZXQgIT0gLUVJ TykgeworCWlmIChyZXQgPT0gMCkgeworCQlkZXZfcHJpdi0+Y29udGV4dHNfcmVhZHkgPSB0cnVl OworCX0gZWxzZSBpZiAocmV0ICYmIHJldCAhPSAtRUlPKSB7CiAJCURSTV9FUlJPUigiQ29udGV4 dCBlbmFibGUgZmFpbGVkICVkXG4iLCByZXQpOwogCQlpOTE1X2dlbV9jbGVhbnVwX3JpbmdidWZm ZXIoZGV2KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29u dGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCmluZGV4IDEz M2FmY2YuLmRlYmJmYzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2NvbnRleHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMK QEAgLTQ0NywyMyArNDQ3LDY1IEBAIHN0YXRpYyBpbnQgY29udGV4dF9pZHJfY2xlYW51cChpbnQg aWQsIHZvaWQgKnAsIHZvaWQgKmRhdGEpCiAJcmV0dXJuIDA7CiB9CiAKKy8qIENvbXBsZXRlIGFu eSBsYXRlIGluaXRpYWxpc2F0aW9uIGhlcmUgKi8KK3N0YXRpYyBpbnQgaTkxNV9nZW1fY29udGV4 dF9maXJzdF9vcGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlpbnQgcmV0OworCisJLyoK KwkgKiBXZSBjYW4ndCBlbmFibGUgY29udGV4dHMgdW50aWwgYWxsIGZpcm13YXJlIGlzIGxvYWRl ZC4gVGhpcworCSAqIGNhbGwgc2hvdWxkbid0IHJldHVybiAtRUFHQUlOIGJlY2F1c2Ugd2UgcGFz cyB3YWl0PXRydWUsIGJ1dAorCSAqIGl0IGNhbiBzdGlsbCBmYWlsIHdpdGggY29kZSAtRUlPIGlm IHRoZSBHdUMgZG9lc24ndCByZXNwb25kLAorCSAqIG9yIC1FTk9FWEVDIGlmIHRoZSBHdUMgZmly bXdhcmUgaW1hZ2UgaXMgaW52YWxpZC4KKwkgKi8KKwlyZXQgPSBpbnRlbF9ndWNfdWNvZGVfbG9h ZChkZXYsIHRydWUpOworCVdBUk5fT04ocmV0ID09IC1FQUdBSU4pOworCisJLyoKKwkgKiBJZiBh biBlcnJvciBvY2N1cnJlZCBhbmQgR3VDIHN1Ym1pc3Npb24gaGFzIGJlZW4gcmVxdWVzdGVkLCB3 ZSBjYW4KKwkgKiBhdHRlbXB0IHJlY292ZXJ5IGJ5IGRpc2FibGluZyBHdUMgc3VibWlzc2lvbiBh bmQgcmVpbml0aWFsaXNpbmcKKwkgKiB0aGUgR1BVIGFuZCBkcml2ZXIuIFdlIHRoZW4gZmFpbCB0 aGlzIG9wZW4oKSBhbnl3YXksIGJ1dCB0aGUgbmV4dAorCSAqIGF0dGVtcHQgd2lsbCBmaW5kIHRo YXQgR3VDIHN1Ym1pc3Npb24gaXMgYWxyZWFkeSBkaXNhYmxlZCwgYW5kIHNvCisJICogcHJvY2Vl ZCB0byBjb21wbGV0ZSBjb250ZXh0IGluaXRpYWxpc2F0aW9uIGluIG5vbi1HdUMgbW9kZSBpbnN0 ZWFkLgorCSAqLworCWlmIChyZXQgJiYgaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24pIHsKKwkJ aTkxNV9oYW5kbGVfZ3VjX2Vycm9yKGRldiwgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwly ZXQgPSBpOTE1X2dlbV9jb250ZXh0X2VuYWJsZShkZXZfcHJpdik7CisJaWYgKHJldCA9PSAwKQor CQlkZXZfcHJpdi0+Y29udGV4dHNfcmVhZHkgPSB0cnVlOworCXJldHVybiByZXQ7Cit9CisKIGlu dCBpOTE1X2dlbV9jb250ZXh0X29wZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRy bV9maWxlICpmaWxlKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl di0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2 ID0gZmlsZS0+ZHJpdmVyX3ByaXY7CiAJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eDsKKwlpbnQg cmV0ID0gMDsKIAogCWlkcl9pbml0KCZmaWxlX3ByaXYtPmNvbnRleHRfaWRyKTsKIAogCW11dGV4 X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKLQljdHggPSBpOTE1X2dlbV9jcmVhdGVfY29udGV4 dChkZXYsIGZpbGVfcHJpdik7CisKKwlpZiAoIWRldl9wcml2LT5jb250ZXh0c19yZWFkeSkKKwkJ cmV0ID0gaTkxNV9nZW1fY29udGV4dF9maXJzdF9vcGVuKGRldik7CisKKwlpZiAocmV0ID09IDAp IHsKKwkJY3R4ID0gaTkxNV9nZW1fY3JlYXRlX2NvbnRleHQoZGV2LCBmaWxlX3ByaXYpOworCQlp ZiAoSVNfRVJSKGN0eCkpCisJCQlyZXQgPSBQVFJfRVJSKGN0eCk7CisJfQorCiAJbXV0ZXhfdW5s b2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CiAKLQlpZiAoSVNfRVJSKGN0eCkpIHsKKwlpZiAocmV0 KQogCQlpZHJfZGVzdHJveSgmZmlsZV9wcml2LT5jb250ZXh0X2lkcik7Ci0JCXJldHVybiBQVFJf RVJSKGN0eCk7Ci0JfQogCi0JcmV0dXJuIDA7CisJcmV0dXJuIHJldDsKIH0KIAogdm9pZCBpOTE1 X2dlbV9jb250ZXh0X2Nsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmls ZSAqZmlsZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCmluZGV4IDU2ZGI5ZTc0Li5mN2RjZjhkIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKQEAgLTI2NjUsNiArMjY2NSw1NCBAQCB2b2lkIGk5MTVf aGFuZGxlX2Vycm9yKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgd2VkZ2VkLAogCWk5MTVf cmVzZXRfYW5kX3dha2V1cChkZXYpOwogfQogCisvKioKKyAqIGk5MTVfaGFuZGxlX2Vycm9yIC0g aGFuZGxlIGEgR3VDIGVycm9yCisgKiBAZGV2OiBkcm0gZGV2aWNlCisgKgorICogSWYgdGhlIEd1 QyBjYW4ndCBiZSAocmUtKWluaXRpYWxpc2VkLCBkaXNhYmxlIEd1QyBzdWJtaXNzaW9uIGFuZAor ICogdGhlbiByZXNldCBhbmQgcmVpbml0aWFsaXNlIHRoZSByZXN0IG9mIHRoZSBHUFUsIHNvIHRo YXQgd2UgY2FuCisgKiBmYWxsIGJhY2sgdG8gb3BlcmF0aW5nIGluIEVMU1AgbW9kZS4gRG9uJ3Qg Ym90aGVyIGNhcHR1cmluZyBlcnJvcgorICogc3RhdGUsIGJlY2F1c2UgaXQgcHJvYmFibHkgaXNu J3QgcmVsZXZhbnQgaGVyZS4KKyAqCisgKiBVbmxpa2UgaTkxNV9oYW5kbGVfZXJyb3IoKSBhYm92 ZSwgdGhpcyBpcyBjYWxsZWQgd2l0aCB0aGUgZ2xvYmFsCisgKiBzdHJ1Y3RfbXV0ZXggaGVsZCwg c28gd2UgbmVlZCB0byByZWxlYXNlIGl0IGFmdGVyIHNldHRpbmcgdGhlCisgKiByZXNldC1pbi1w cm9ncmVzcyBiaXQgc28gdGhhdCBvdGhlciB0aHJlYWRzIGNhbiBtYWtlIHByb2dyZXNzLAorICog YW5kIHJlYWNxdWlyZSBpdCBhZnRlciB0aGUgcmVzZXQgaXMgY29tcGxldGUuCisgKi8KK3ZvaWQg aTkxNV9oYW5kbGVfZ3VjX2Vycm9yKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBlcnIpCit7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK KworCURSTV9FUlJPUigiR3VDIGZhaWx1cmUgJWQsIGRpc2FibGluZyBHdUMgc3VibWlzc2lvblxu IiwgZXJyKTsKKwlpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbiA9IGZhbHNlOworCisJaTkxNV9y ZXBvcnRfYW5kX2NsZWFyX2VpcihkZXYpOwkvKiB1bmxpa2VseT8gKi8KKworCWF0b21pY19zZXRf bWFzayhJOTE1X1JFU0VUX0lOX1BST0dSRVNTX0ZMQUcsCisJCQkmZGV2X3ByaXYtPmdwdV9lcnJv ci5yZXNldF9jb3VudGVyKTsKKworCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwor CisJLyoKKwkgKiBXYWtldXAgd2FpdGluZyBwcm9jZXNzZXMgc28gdGhhdCB0aGUgcmVzZXQgZnVu Y3Rpb24KKwkgKiBpOTE1X3Jlc2V0X2FuZF93YWtldXAgZG9lc24ndCBkZWFkbG9jayB0cnlpbmcg dG8gZ3JhYgorCSAqIHZhcmlvdXMgbG9ja3MuIEJ5IGJ1bXBpbmcgdGhlIHJlc2V0IGNvdW50ZXIg Zmlyc3QsIHRoZSB3b2tlbgorCSAqIHByb2Nlc3NlcyB3aWxsIHNlZSBhIHJlc2V0IGluIHByb2dy ZXNzIGFuZCBiYWNrIG9mZiwKKwkgKiByZWxlYXNpbmcgdGhlaXIgbG9ja3MgYW5kIHRoZW4gd2Fp dCBmb3IgdGhlIHJlc2V0IGNvbXBsZXRpb24uCisJICogV2UgbXVzdCBkbyB0aGlzIGZvciBfYWxs XyBncHUgd2FpdGVycyB0aGF0IG1pZ2h0IGhvbGQgbG9ja3MKKwkgKiB0aGF0IHRoZSByZXNldCB3 b3JrIG5lZWRzIHRvIGFjcXVpcmUuCisJICoKKwkgKiBOb3RlOiBUaGUgd2FrZV91cCBzZXJ2ZXMg YXMgdGhlIHJlcXVpcmVkIG1lbW9yeSBiYXJyaWVyIHRvCisJICogZW5zdXJlIHRoYXQgdGhlIHdh aXRlcnMgc2VlIHRoZSB1cGRhdGVkIHZhbHVlIG9mIHRoZSByZXNldAorCSAqIGNvdW50ZXIgYXRv bWljX3QuCisJICovCisJaTkxNV9lcnJvcl93YWtlX3VwKGRldl9wcml2LCBmYWxzZSk7CisKKwlp OTE1X3Jlc2V0X2FuZF93YWtldXAoZGV2KTsKKworCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211 dGV4KTsKK30KKwogLyogQ2FsbGVkIGZyb20gZHJtIGdlbmVyaWMgY29kZSwgcGFzc2VkICdjcnRj JyB3aGljaAogICogd2UgdXNlIGFzIGEgcGlwZSBpbmRleAogICovCi0tIAoxLjcuOS41CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=