From mboxrd@z Thu Jan 1 00:00:00 1970 From: yu.dai@intel.com Subject: [PATCH 06/18] drm/i915: Defer default hardware context initialisation until first open Date: Thu, 26 Mar 2015 12:41:13 -0700 Message-ID: <1427398885-31988-7-git-send-email-yu.dai@intel.com> References: <1427398885-31988-1-git-send-email-yu.dai@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 2ACFD6EA9B for ; Thu, 26 Mar 2015 12:44:17 -0700 (PDT) In-Reply-To: <1427398885-31988-1-git-send-email-yu.dai@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 RnJvbTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4KCkluIG9yZGVyIHRv IGZ1bGx5IGluaXRpYWxpc2UgdGhlIGRlZmF1bHQgY29udGV4dHMsIHdlIGhhdmUgdG8gZXhlY3V0 ZQpiYXRjaGJ1ZmZlciBjb21tYW5kcyBvbiB0aGUgR1BVIGVuZ2luZXMuIEJ1dCB3ZSBjYW4ndCBk byB0aGF0IHVudGlsIGFueQpyZXF1aXJlZCBmaXJtd2FyZSBoYXMgYmVlbiBsb2FkZWQsIHdoaWNo IG1heSBub3QgYmUgcG9zc2libGUgZHVyaW5nCmRyaXZlciBsb2FkLCBiZWNhdXNlIHRoZSBmaWxl c3lzdGVtKHMpIGNvbnRhaW5pbmcgdGhlIGZpcm13YXJlIG1heSBub3QKYmUgbW91bnRlZCB1bnRp bCBsYXRlci4KClRoZXJlZm9yZSwgd2Ugbm93IGFsbG93IHRoZSBmaXJzdCBjYWxsIHRvIHRoZSBm aXJtd2FyZS1sb2FkaW5nIGNvZGUgdG8KcmV0dXJuIC1FQUdBSU4gdG8gaW5kaWNhdGUgdGhhdCBp dCdzIG5vdCB5ZXQgcmVhZHksIGFuZCB0aGF0IGl0IHNob3VsZApiZSByZXRyaWVkIHdoZW4gdGhl IGRldmljZSBpcyBmaXJzdCBvcGVuZWQgZnJvbSB1c2VyIGNvZGUsIGJ5IHdoaWNoCnRpbWUgd2Ug ZXhwZWN0IHRoYXQgYWxsIHJlcXVpcmVkIGZpbGVzeXN0ZW1zIHdpbGwgaGF2ZSBiZWVuIG1vdW50 ZWQuClRoZSBsYXRlLXJldHJ5IGNvZGUgd2lsbCB0aGVuIHJlLWF0dGVtcHQgdG8gbG9hZCB0aGUg ZmlybXdhcmUgaWYgdGhlCmVhcmx5IGF0dGVtcHQgZmFpbGVkLgoKSXNzdWU6IFZJWi00ODg0ClNp Z25lZC1vZmYtYnk6IERhdmUgR29yZG9uIDxkYXZpZC5zLmdvcmRvbkBpbnRlbC5jb20+ClNpZ25l ZC1vZmYtYnk6IEFsZXggRGFpIDx5dS5kYWlAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMgICAgICAgICB8ICA5ICsrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fY29udGV4dC5jIHwgMzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaCAgICAgICAgfCAgMiArLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jIHwgMjIgKysrKysrKysrKysrKysrKysrLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Y19sb2FkZXIuYyAgfCAxMiArKysrKysrKyst LQogNiBmaWxlcyBjaGFuZ2VkLCA2OSBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCAxYTYwZjg2Li40NWJkZjMwIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKQEAgLTE3NTUsNiArMTc1NSw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRl IHsKIAkvKiBoZGEvaTkxNSBhdWRpbyBjb21wb25lbnQgKi8KIAlib29sIGF1ZGlvX2NvbXBvbmVu dF9yZWdpc3RlcmVkOwogCisJYm9vbCBjb250ZXh0c19yZWFkeTsKIAl1aW50MzJfdCBod19jb250 ZXh0X3NpemU7CiAJc3RydWN0IGxpc3RfaGVhZCBjb250ZXh0X2xpc3Q7CiAKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jCmluZGV4IDM4ZTQ5ZDkuLjAwMzdjY2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0u YwpAQCAtNDgyOCw4ICs0ODI4LDE1IEBAIGk5MTVfZ2VtX2luaXRfaHcoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKIAkJaTkxNV9nZW1fY2xlYW51cF9yaW5nYnVmZmVyKGRldik7CiAJfQogCisJLyog V2UgY2FuJ3QgZW5hYmxlIGNvbnRleHRzIHVudGlsIGFsbCBmaXJtd2FyZSBpcyBsb2FkZWQgKi8K KwlyZXQgPSBpbnRlbF9ndWNfbG9hZF91Y29kZShkZXYsIGZhbHNlKTsKKwlpZiAocmV0ID09IC1F QUdBSU4pCisJCXJldHVybiAwOwkJLyogdG9vIGVhcmx5ICovCisKIAlyZXQgPSBpOTE1X2dlbV9j b250ZXh0X2VuYWJsZShkZXZfcHJpdik7Ci0JaWYgKHJldCAmJiByZXQgIT0gLUVJTykgeworCWlm IChyZXQgPT0gMCkgeworCQlkZXZfcHJpdi0+Y29udGV4dHNfcmVhZHkgPSB0cnVlOworCX0gZWxz ZSBpZiAocmV0ICYmIHJldCAhPSAtRUlPKSB7CiAJCURSTV9FUlJPUigiQ29udGV4dCBlbmFibGUg ZmFpbGVkICVkXG4iLCByZXQpOwogCQlpOTE1X2dlbV9jbGVhbnVwX3JpbmdidWZmZXIoZGV2KTsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCmluZGV4IGYzZTg0YzQuLjIz NTNkOGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKQEAgLTQ0NSwy MyArNDQ1LDQ4IEBAIHN0YXRpYyBpbnQgY29udGV4dF9pZHJfY2xlYW51cChpbnQgaWQsIHZvaWQg KnAsIHZvaWQgKmRhdGEpCiAJcmV0dXJuIDA7CiB9CiAKKy8qIENvbXBsZXRlIGFueSBsYXRlIGlu aXRpYWxpc2F0aW9uIGhlcmUgKi8KK3N0YXRpYyBpbnQgaTkxNV9nZW1fY29udGV4dF9maXJzdF9v cGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlpbnQgcmV0OworCisJLyogV2UgY2FuJ3Qg ZW5hYmxlIGNvbnRleHRzIHVudGlsIGFsbCBmaXJtd2FyZSBpcyBsb2FkZWQgKi8KKwlyZXQgPSBp bnRlbF9ndWNfbG9hZF91Y29kZShkZXYsIHRydWUpOworCVdBUk5fT04ocmV0ID09IC1FQUdBSU4p OworCisJcmV0ID0gaTkxNV9nZW1fY29udGV4dF9lbmFibGUoZGV2X3ByaXYpOworCWlmIChyZXQg PT0gMCkKKwkJZGV2X3ByaXYtPmNvbnRleHRzX3JlYWR5ID0gdHJ1ZTsKKwlyZXR1cm4gcmV0Owor fQorCiBpbnQgaTkxNV9nZW1fY29udGV4dF9vcGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0 cnVjdCBkcm1fZmlsZSAqZmlsZSkKIHsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZp bGVfcHJpdiA9IGZpbGUtPmRyaXZlcl9wcml2OwogCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHg7 CisJaW50IHJldCA9IDA7CiAKIAlpZHJfaW5pdCgmZmlsZV9wcml2LT5jb250ZXh0X2lkcik7CiAK IAltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Ci0JY3R4ID0gaTkxNV9nZW1fY3JlYXRl X2NvbnRleHQoZGV2LCBmaWxlX3ByaXYpOworCisJaWYgKCFkZXZfcHJpdi0+Y29udGV4dHNfcmVh ZHkpCisJCXJldCA9IGk5MTVfZ2VtX2NvbnRleHRfZmlyc3Rfb3BlbihkZXYpOworCisJaWYgKHJl dCA9PSAwKSB7CisJCWN0eCA9IGk5MTVfZ2VtX2NyZWF0ZV9jb250ZXh0KGRldiwgZmlsZV9wcml2 KTsKKwkJaWYgKElTX0VSUihjdHgpKQorCQkJcmV0ID0gUFRSX0VSUihjdHgpOworCX0KKwogCW11 dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCi0JaWYgKElTX0VSUihjdHgpKSB7CisJ aWYgKHJldCkKIAkJaWRyX2Rlc3Ryb3koJmZpbGVfcHJpdi0+Y29udGV4dF9pZHIpOwotCQlyZXR1 cm4gUFRSX0VSUihjdHgpOwotCX0KIAotCXJldHVybiAwOworCXJldHVybiByZXQ7CiB9CiAKIHZv aWQgaTkxNV9nZW1fY29udGV4dF9jbG9zZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9n dWMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCmluZGV4IGEwNmE3YjMuLmQ4 MjYyY2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCkBAIC04OSw3ICs4OSw3IEBAIHN0cnVj dCBpbnRlbF9ndWMgewogCQkJCSBHVUNfRU5BQkxFX1JFQURfQ0FDSEVfRk9SX1dPUENNX0RBVEEp CiAKIC8qIGludGVsX2d1Y19sb2FkZXIuYyAqLwotZXh0ZXJuIGludCBpbnRlbF9ndWNfbG9hZF91 Y29kZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKK2V4dGVybiBpbnQgaW50ZWxfZ3VjX2xvYWRf dWNvZGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgYm9vbCB3YWl0KTsKIGV4dGVybiB2b2lkIGlu dGVsX2d1Y191Y29kZV9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogZXh0ZXJuIHZvaWQg aW50ZWxfZ3VjX3Vjb2RlX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYwppbmRleCBiOTkyM2I3Li4zMTVlNWQ5IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jCkBAIC0yMTcsMjUgKzIxNyw0MSBA QCBvdXQ6CiB9CiAKIC8qCi0gKiBDYWxsZWQgZnJvbSBnZW1faW5pdF9odygpIGR1cmluZyBkcml2 ZXIgbG9hZGluZyBhbmQgYWxzbyBhZnRlciBhIEdQVSByZXNldC4KICAqIENoZWNrIHRoYXQgdGhl IGZpcm13YXJlIGZldGNoaW5nIHByb2Nlc3MgaGFzIHN1Y2NlZWRlZCwgYW5kIGlmIHNvIHRyYW5z ZmVyCiAgKiB0aGUgbG9hZGVkIGltYWdlIHRvIHRoZSBoYXJkd2FyZS4KKyAqCisgKiBIb3dldmVy LCB0aGVyZSBhcmUgYSBmZXcgY2hlY2tzIHRvIGRvIGZpcnN0LiBUaGUgdmVyeSBmaXJzdCBjYWxs IHNob3VsZCBoYXZlCisgKiAod2FpdCA9PSBGQUxTRSksIGJ1dCB0aGUgZmV0Y2hfc3RhdGUgd2ls bCBzdGlsbCBiZSBQRU5ESU5HIGFzIHRoZSBmaXJtd2FyZSBtYXkKKyAqIG5vdCBiZSBhdmFpbGFi bGUgdGhhdCBlYXJseS4gVGhlcmVmb3JlLCBvbiB0aGlzIGZpcnN0IGNhbGwsIHdlIGp1c3QgcmV0 dXJuLgorICoKKyAqIFRoZSBzZWNvbmQgY2FsbCBzaG91bGQgY29tZSBmcm9tIHRoZSBmaXJzdCBv cGVuIG9mIHRoZSBkZXZpY2UgKHdhaXQgPT0gVFJVRSkuCisgKiBUaGlzIGlzIGEgZ29vZCB0aW1l IHRvIGxvYWQgdGhlIGZpcm13YXJlIGludG8gdGhlIGRldmljZSwgYXMgYnkgdGhpcyBwb2ludCBp dAorICogbXVzdCBiZSBhdmFpbGFibGUuCisgKgorICogQW55IHN1YnNlcXVlbnQgY2FsbHMgYXJl IGV4cGVjdGVkIHRvIGhhdmUgd2FpdCA9PSBGQUxTRSwgYW5kIGluZGljYXRlIHRoYXQgdGhlCisg KiBoYXJkd2FyZSBoYXMgYmVlbiByZXNldCBhbmQgc28gdGhlIGZpcm13YXJlIHNob3VsZCBiZSBy ZWxvYWRlZC4KICAqLwotaW50IGludGVsX2d1Y19sb2FkX3Vjb2RlKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCitpbnQgaW50ZWxfZ3VjX2xvYWRfdWNvZGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg Ym9vbCB3YWl0KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX3VjX2Z3ICpndWNfZncgPSAmZGV2X3ByaXYtPmd1 Yy5ndWNfZnc7CiAJaW50IGVycjsKIAorCURSTV9ERUJVR19EUklWRVIoIkd1Qzogd2FpdCAlZCwg ZmV0Y2ggc3RhdHVzICVkLCBsb2FkIHN0YXR1cyAlZFxuIiwKKwkJd2FpdCwgZ3VjX2Z3LT51Y19m d19mZXRjaF9zdGF0dXMsIGd1Y19mdy0+dWNfZndfbG9hZF9zdGF0dXMpOworCisJaWYgKGd1Y19m dy0+dWNfZndfZmV0Y2hfc3RhdHVzID09IElOVEVMX1VDX0ZJUk1XQVJFX1BFTkRJTkcgJiYgIXdh aXQpCisJCXJldHVybiAtRUFHQUlOOworCiAJZ3VjX2Z3LT51Y19md19sb2FkX3N0YXR1cyA9IElO VEVMX1VDX0ZJUk1XQVJFX05PTkU7CiAJaWYgKGd1Y19mdy0+dWNfZndfZmV0Y2hfc3RhdHVzID09 IElOVEVMX1VDX0ZJUk1XQVJFX05PTkUpCiAJCXJldHVybiAwOwogCi0JZ3VjX2Z3LT51Y19md19s b2FkX3N0YXR1cyA9IElOVEVMX1VDX0ZJUk1XQVJFX1BFTkRJTkc7CiAJZXJyID0gaW50ZWxfdWNf ZndfY2hlY2soZGV2LCBndWNfZncpOwogCWlmIChlcnIpCiAJCWdvdG8gZmFpbDsKIAorCWd1Y19m dy0+dWNfZndfbG9hZF9zdGF0dXMgPSBJTlRFTF9VQ19GSVJNV0FSRV9QRU5ESU5HOwogCWVyciA9 IGd1Y19sb2FkX3Vjb2RlKGRldik7CiAJaWYgKGVycikKIAkJZ290byBmYWlsOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWNfbG9hZGVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF91Y19sb2FkZXIuYwppbmRleCA5ODZkY2YzLi5iYzRiMWU1IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Y19sb2FkZXIuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF91Y19sb2FkZXIuYwpAQCAtNDksOCArNDksMTYgQEAgc3RhdGlj IHZvaWQgdWNfZndfZmluaXNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBpbnRlbF91 Y19mdyAqdWNfZncpCiAJCXVjX2Z3LT51Y19uYW1lLCB1Y19mdy0+dWNfZndfZmV0Y2hfc3RhdHVz LCB1Y19mdy0+dWNfZndfYmxvYik7CiAKIAlmdyA9IHVjX2Z3LT51Y19md19ibG9iOwotCWlmICgh ZncpCi0JCWdvdG8gZmFpbDsKKwlpZiAoIWZ3KSB7CisJCS8qIG5vIGZpcm13YXJlIGZvdW5kOyB0 cnkgYWdhaW4gaW4gY2FzZSBGUyB3YXMgbm90IG1vdW50ZWQgKi8KKwkJRFJNX0RFQlVHX0RSSVZF UigicmV0cnkgZmV0Y2hpbmcgJXMgZncgZnJvbSA8JXM+XG4iLAorCQkJdWNfZnctPnVjX25hbWUs IHVjX2Z3LT51Y19md19wYXRoKTsKKwkJaWYgKHJlcXVlc3RfZmlybXdhcmUoJmZ3LCB1Y19mdy0+ dWNfZndfcGF0aCwgJmRldi0+cGRldi0+ZGV2KSkKKwkJCWdvdG8gZmFpbDsKKwkJRFJNX0RFQlVH X0RSSVZFUigiZmV0Y2ggJXMgZncgZnJvbSA8JXM+IHN1Y2NlZWRlZCwgZncgJXBcbiIsCisJCQl1 Y19mdy0+dWNfbmFtZSwgdWNfZnctPnVjX2Z3X3BhdGgsIGZ3KTsKKwkJdWNfZnctPnVjX2Z3X2Js b2IgPSBmdzsKKwl9CiAKIAlpZiAodWNfZnctPnVjX2Z3X2NoZWNrICYmICF1Y19mdy0+dWNfZndf Y2hlY2sodWNfZncpKQogCQlnb3RvIGZhaWw7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK