From mboxrd@z Thu Jan 1 00:00:00 1970 From: yu.dai@intel.com Subject: [PATCH v2 06/18] drm/i915: Defer default hardware context initialisation until first open Date: Fri, 3 Apr 2015 11:08:32 -0700 Message-ID: <1428084524-28437-7-git-send-email-yu.dai@intel.com> References: <1428084524-28437-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id B474A6EBB9 for ; Fri, 3 Apr 2015 11:10:09 -0700 (PDT) In-Reply-To: <1428084524-28437-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 cHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jIHwgMjIgKysrKysrKysrKysrKysrKysrKy0t CiA1IGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggNjk0ZTczNi4uYTMxYTVmOSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCkBAIC0xNzU1LDYgKzE3NTUsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7 CiAJLyogaGRhL2k5MTUgYXVkaW8gY29tcG9uZW50ICovCiAJYm9vbCBhdWRpb19jb21wb25lbnRf cmVnaXN0ZXJlZDsKIAorCWJvb2wgY29udGV4dHNfcmVhZHk7CiAJdWludDMyX3QgaHdfY29udGV4 dF9zaXplOwogCXN0cnVjdCBsaXN0X2hlYWQgY29udGV4dF9saXN0OwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYwppbmRleCA0NDZlOTU4Li5kNTA0ZjIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMK QEAgLTQ4NjQsOCArNDg2NCwxNSBAQCBpOTE1X2dlbV9pbml0X2h3KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiAJCWk5MTVfZ2VtX2NsZWFudXBfcmluZ2J1ZmZlcihkZXYpOwogCX0KIAorCS8qIFdl IGNhbid0IGVuYWJsZSBjb250ZXh0cyB1bnRpbCBhbGwgZmlybXdhcmUgaXMgbG9hZGVkICovCisJ cmV0ID0gaW50ZWxfZ3VjX2xvYWRfdWNvZGUoZGV2LCBmYWxzZSk7CisJaWYgKHJldCA9PSAtRUFH QUlOKQorCQlyZXR1cm4gMDsJCS8qIHRvbyBlYXJseSAqLworCiAJcmV0ID0gaTkxNV9nZW1fY29u dGV4dF9lbmFibGUoZGV2X3ByaXYpOwotCWlmIChyZXQgJiYgcmV0ICE9IC1FSU8pIHsKKwlpZiAo cmV0ID09IDApIHsKKwkJZGV2X3ByaXYtPmNvbnRleHRzX3JlYWR5ID0gdHJ1ZTsKKwl9IGVsc2Ug aWYgKHJldCAmJiByZXQgIT0gLUVJTykgewogCQlEUk1fRVJST1IoIkNvbnRleHQgZW5hYmxlIGZh aWxlZCAlZFxuIiwgcmV0KTsKIAkJaTkxNV9nZW1fY2xlYW51cF9yaW5nYnVmZmVyKGRldik7CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwppbmRleCBmM2U4NGM0Li4yMzUz ZDhmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCkBAIC00NDUsMjMg KzQ0NSw0OCBAQCBzdGF0aWMgaW50IGNvbnRleHRfaWRyX2NsZWFudXAoaW50IGlkLCB2b2lkICpw LCB2b2lkICpkYXRhKQogCXJldHVybiAwOwogfQogCisvKiBDb21wbGV0ZSBhbnkgbGF0ZSBpbml0 aWFsaXNhdGlvbiBoZXJlICovCitzdGF0aWMgaW50IGk5MTVfZ2VtX2NvbnRleHRfZmlyc3Rfb3Bl bihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJaW50IHJldDsKKworCS8qIFdlIGNhbid0IGVu YWJsZSBjb250ZXh0cyB1bnRpbCBhbGwgZmlybXdhcmUgaXMgbG9hZGVkICovCisJcmV0ID0gaW50 ZWxfZ3VjX2xvYWRfdWNvZGUoZGV2LCB0cnVlKTsKKwlXQVJOX09OKHJldCA9PSAtRUFHQUlOKTsK KworCXJldCA9IGk5MTVfZ2VtX2NvbnRleHRfZW5hYmxlKGRldl9wcml2KTsKKwlpZiAocmV0ID09 IDApCisJCWRldl9wcml2LT5jb250ZXh0c19yZWFkeSA9IHRydWU7CisJcmV0dXJuIHJldDsKK30K KwogaW50IGk5MTVfZ2VtX2NvbnRleHRfb3BlbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGUpCiB7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxl X3ByaXYgPSBmaWxlLT5kcml2ZXJfcHJpdjsKIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4Owor CWludCByZXQgPSAwOwogCiAJaWRyX2luaXQoJmZpbGVfcHJpdi0+Y29udGV4dF9pZHIpOwogCiAJ bXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwotCWN0eCA9IGk5MTVfZ2VtX2NyZWF0ZV9j b250ZXh0KGRldiwgZmlsZV9wcml2KTsKKworCWlmICghZGV2X3ByaXYtPmNvbnRleHRzX3JlYWR5 KQorCQlyZXQgPSBpOTE1X2dlbV9jb250ZXh0X2ZpcnN0X29wZW4oZGV2KTsKKworCWlmIChyZXQg PT0gMCkgeworCQljdHggPSBpOTE1X2dlbV9jcmVhdGVfY29udGV4dChkZXYsIGZpbGVfcHJpdik7 CisJCWlmIChJU19FUlIoY3R4KSkKKwkJCXJldCA9IFBUUl9FUlIoY3R4KTsKKwl9CisKIAltdXRl eF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKIAotCWlmIChJU19FUlIoY3R4KSkgeworCWlm IChyZXQpCiAJCWlkcl9kZXN0cm95KCZmaWxlX3ByaXYtPmNvbnRleHRfaWRyKTsKLQkJcmV0dXJu IFBUUl9FUlIoY3R4KTsKLQl9CiAKLQlyZXR1cm4gMDsKKwlyZXR1cm4gcmV0OwogfQogCiB2b2lk IGk5MTVfZ2VtX2NvbnRleHRfY2xvc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRy bV9maWxlICpmaWxlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3Vj LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAppbmRleCA0ZmFmY2VjLi4wYTcz MTIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaApAQCAtOTYsNyArOTYsNyBAQCBzdHJ1Y3Qg aW50ZWxfZ3VjIHsKIAkJCQkgR1VDX0VOQUJMRV9SRUFEX0NBQ0hFX0ZPUl9XT1BDTV9EQVRBKQog CiAvKiBpbnRlbF9ndWNfbG9hZGVyLmMgKi8KLWV4dGVybiBpbnQgaW50ZWxfZ3VjX2xvYWRfdWNv ZGUoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CitleHRlcm4gaW50IGludGVsX2d1Y19sb2FkX3Vj b2RlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgd2FpdCk7CiBleHRlcm4gdm9pZCBpbnRl bF9ndWNfdWNvZGVfZmluaShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIGV4dGVybiB2b2lkIGlu dGVsX2d1Y191Y29kZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMKaW5kZXggOGQxNDFiYS4uNDVkMDk5ZiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYwpAQCAtMjQ2LDI0ICsyNDYsNDIgQEAg b3V0OgogICogaW50ZWxfZ3VjX2xvYWRfdWNvZGUoKSAtIGxvYWQgdWNvZGUgdG8gaHcKICAqCiAg KiBDYWxsZWQgZnJvbSBnZW1faW5pdF9odygpIGR1cmluZyBkcml2ZXIgbG9hZGluZyBhbmQgYWxz byBhZnRlciBhIEdQVSByZXNldC4KKwogICogQ2hlY2sgdGhhdCB0aGUgZmlybXdhcmUgZmV0Y2hp bmcgcHJvY2VzcyBoYXMgc3VjY2VlZGVkLCBhbmQgaWYgc28gdHJhbnNmZXIKICAqIHRoZSBsb2Fk ZWQgaW1hZ2UgdG8gdGhlIGhhcmR3YXJlLgorICoKKyAqIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIGZl dyBjaGVja3MgdG8gZG8gZmlyc3QuIFRoZSB2ZXJ5IGZpcnN0IGNhbGwgc2hvdWxkIGhhdmUKKyAq ICh3YWl0ID09IEZBTFNFKSwgYnV0IHRoZSBmZXRjaF9zdGF0ZSB3aWxsIHN0aWxsIGJlIFBFTkRJ TkcgYXMgdGhlIGZpcm13YXJlIG1heQorICogbm90IGJlIGF2YWlsYWJsZSB0aGF0IGVhcmx5LiBU aGVyZWZvcmUsIG9uIHRoaXMgZmlyc3QgY2FsbCwgd2UganVzdCByZXR1cm4uCisgKgorICogVGhl IHNlY29uZCBjYWxsIHNob3VsZCBjb21lIGZyb20gdGhlIGZpcnN0IG9wZW4gb2YgdGhlIGRldmlj ZSAod2FpdCA9PSBUUlVFKS4KKyAqIFRoaXMgaXMgYSBnb29kIHRpbWUgdG8gbG9hZCB0aGUgZmly bXdhcmUgaW50byB0aGUgZGV2aWNlLCBhcyBieSB0aGlzIHBvaW50IGl0CisgKiBtdXN0IGJlIGF2 YWlsYWJsZS4KKyAqCisgKiBBbnkgc3Vic2VxdWVudCBjYWxscyBhcmUgZXhwZWN0ZWQgdG8gaGF2 ZSB3YWl0ID09IEZBTFNFLCBhbmQgaW5kaWNhdGUgdGhhdCB0aGUKKyAqIGhhcmR3YXJlIGhhcyBi ZWVuIHJlc2V0IGFuZCBzbyB0aGUgZmlybXdhcmUgc2hvdWxkIGJlIHJlbG9hZGVkLgogICovCi1p bnQgaW50ZWxfZ3VjX2xvYWRfdWNvZGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKK2ludCBpbnRl bF9ndWNfbG9hZF91Y29kZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29sIHdhaXQpCiB7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlz dHJ1Y3QgaW50ZWxfdWNfZncgKmd1Y19mdyA9ICZkZXZfcHJpdi0+Z3VjLmd1Y19mdzsKIAlpbnQg ZXJyOwogCisJRFJNX0RFQlVHX0RSSVZFUigiR3VDOiB3YWl0ICVkLCBmZXRjaCBzdGF0dXMgJWQs IGxvYWQgc3RhdHVzICVkXG4iLAorCQl3YWl0LCBndWNfZnctPnVjX2Z3X2ZldGNoX3N0YXR1cywg Z3VjX2Z3LT51Y19md19sb2FkX3N0YXR1cyk7CisKKwlpZiAoZ3VjX2Z3LT51Y19md19mZXRjaF9z dGF0dXMgPT0gSU5URUxfVUNfRklSTVdBUkVfUEVORElORyAmJiAhd2FpdCkKKwkJcmV0dXJuIC1F QUdBSU47CisKIAlndWNfZnctPnVjX2Z3X2xvYWRfc3RhdHVzID0gSU5URUxfVUNfRklSTVdBUkVf Tk9ORTsKIAlpZiAoZ3VjX2Z3LT51Y19md19mZXRjaF9zdGF0dXMgPT0gSU5URUxfVUNfRklSTVdB UkVfTk9ORSkKIAkJcmV0dXJuIDA7CiAKLQlndWNfZnctPnVjX2Z3X2xvYWRfc3RhdHVzID0gSU5U RUxfVUNfRklSTVdBUkVfUEVORElORzsKIAllcnIgPSBpbnRlbF91Y19md19jaGVjayhkZXYsIGd1 Y19mdyk7CiAJaWYgKGVycikKIAkJZ290byBmYWlsOwogCisJZ3VjX2Z3LT51Y19md19sb2FkX3N0 YXR1cyA9IElOVEVMX1VDX0ZJUk1XQVJFX1BFTkRJTkc7CiAJZXJyID0gZ3VjX2xvYWRfdWNvZGUo ZGV2KTsKIAlpZiAoZXJyKQogCQlnb3RvIGZhaWw7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK