From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: [PATCH 2/2] drm/i915: Defer late hardware initialisation until first open Date: Tue, 30 Jun 2015 16:01:11 +0100 Message-ID: <1435676471-30925-2-git-send-email-david.s.gordon@intel.com> References: <1435676471-30925-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id B65CD6E99C for ; Tue, 30 Jun 2015 08:01:23 -0700 (PDT) In-Reply-To: <1435676471-30925-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 V2UgY2FuIGRvIGxlc3Mgd29yayBkdXJpbmcgZHJpdmVyIGxvYWQgYnkgZGVmZXJyaW5nIHNvbWUg b2YgaXQgdW50aWwKdGhlIGZpcnN0IHRpbWUgdGhlIGRldmljZSBpcyBvcGVuZWQ7IGluIHBhcnRp Y3VsYXIsIHRoZSBmdW5jdGlvbgppOTE1X2dlbV9pbml0X2h3X2xhdGUoKSBpbnRyb2R1Y2VkIGJ5 IHRoZSBwcmV2aW91cyBwYXRjaC4gVGhpcyBzaG91bGQKYWxsb3cgdGhlIHN5c3RlbSB0byBnZXQg b3V0IG9mIHRoZSBlYXJseSBzaW5nbGUtdGhyZWFkZWQgcGhhc2Ugb2YKc3lzdGVtIGluaXRpYWxp c2F0aW9uIGFuZCBpbnRvIGZ1bGwgbXVsdGktdXNlciBtb2RlIHNvbWV3aGF0IHF1aWNrZXIuCgpJ biBhZGRpdGlvbiwgd2UgZXhwZWN0IHRoYXQgYnkgdGhlIHRpbWUgb2YgdGhlIGZpcnN0IG9wZW4s IG5vdCBvbmx5CnRoZSBkcml2ZXIncyBzb2Z0d2FyZSBzdHJ1Y3R1cmVzIGJ1dCBhbHNvIHN5c3Rl bS1zcGVjaWZpYyBpdGVtcyBzdWNoCmFzIGZpbGVzeXN0ZW0gbW91bnRpbmcgaGF2ZSBiZWVuIGZ1 bGx5IGluaXRpYWxpc2VkLCBtZWFuaW5nIHRoYXQgdGhlCmxhdGUgaW5pdGlhbGlzYXRpb24gY29k ZSBjYW4gcnVuIGluIGEgbXVjaCBtb3JlIGNvbXBsZXRlIGVudmlyb25tZW50CnRoYW4gdGhlIGRy aXZlcl9sb2FkIHN0YWdlIHByZXNlbnRzLiBUaGlzIGNhbiBiZSBpbXBvcnRhbnQgZm9yCmVtYmVk ZGVkIHByb2dyYW1tYWJsZSBkZXZpY2VzIHRoYXQgbmVlZCBmaXJtd2FyZSBsb2FkZWQgZnJvbSBh IGZpbGUKYmVmb3JlIHRoZXkgY2FuIGJlIHVzZWQuCgpTaWduZWQtb2ZmLWJ5OiBEYXZlIEdvcmRv biA8ZGF2aWQucy5nb3Jkb25AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggICAgICAgICB8ICAgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0u YyAgICAgICAgIHwgICAgNCArKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250 ZXh0LmMgfCAgIDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIDMgZmlsZXMgY2hh bmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAppbmRleCBiYzdjNTEwLi5iYTYzODA0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAg LTE4NDUsNiArMTg0NSw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAkvKiBoZGEvaTkx NSBhdWRpbyBjb21wb25lbnQgKi8KIAlib29sIGF1ZGlvX2NvbXBvbmVudF9yZWdpc3RlcmVkOwog CisJYm9vbCBjb250ZXh0c19yZWFkeTsKIAl1aW50MzJfdCBod19jb250ZXh0X3NpemU7CiAJc3Ry dWN0IGxpc3RfaGVhZCBjb250ZXh0X2xpc3Q7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4 IDE4ODdlNjAuLjBjYjk2MmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtNTA3Myw3ICs1 MDczLDkgQEAgaTkxNV9nZW1faW5pdF9odyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQkJZ290 byBvdXQ7CiAJfQogCi0JcmV0ID0gaTkxNV9nZW1faW5pdF9od19sYXRlKGRldik7CisJLyogRG9u J3QgZG8gbGF0ZSBpbml0IG9uIHRoZSBmaXJzdCB0aW1lIHRocm91Z2ggaGVyZSAqLworCWlmIChk ZXZfcHJpdi0+Y29udGV4dHNfcmVhZHkpCisJCXJldCA9IGk5MTVfZ2VtX2luaXRfaHdfbGF0ZShk ZXYpOwogCiBvdXQ6CiAJaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9wdXQoZGV2X3ByaXYsIEZPUkNF V0FLRV9BTEwpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29u dGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCmluZGV4IGE3 ZTU4YTguLjkxN2M4NjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2NvbnRleHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMK QEAgLTQzOCwyMyArNDM4LDQ1IEBAIHN0YXRpYyBpbnQgY29udGV4dF9pZHJfY2xlYW51cChpbnQg aWQsIHZvaWQgKnAsIHZvaWQgKmRhdGEpCiAJcmV0dXJuIDA7CiB9CiAKKy8qIENvbXBsZXRlIGFu eSBsYXRlIGluaXRpYWxpc2F0aW9uIGhlcmUgKi8KK3N0YXRpYyBpbnQgaTkxNV9nZW1fY29udGV4 dF9maXJzdF9vcGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlpbnQgcmV0OworCisJcmV0 ID0gaTkxNV9nZW1faW5pdF9od19sYXRlKGRldik7CisJaWYgKHJldCA9PSAwKQorCQlkZXZfcHJp di0+Y29udGV4dHNfcmVhZHkgPSB0cnVlOworCisJcmV0dXJuIHJldDsKK30KKwogaW50IGk5MTVf Z2VtX2NvbnRleHRfb3BlbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUg KmZpbGUpCiB7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXYgPSBmaWxl LT5kcml2ZXJfcHJpdjsKIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4OworCWludCByZXQgPSAw OwogCiAJaWRyX2luaXQoJmZpbGVfcHJpdi0+Y29udGV4dF9pZHIpOwogCiAJbXV0ZXhfbG9jaygm ZGV2LT5zdHJ1Y3RfbXV0ZXgpOwotCWN0eCA9IGk5MTVfZ2VtX2NyZWF0ZV9jb250ZXh0KGRldiwg ZmlsZV9wcml2KTsKKworCWlmICghZGV2X3ByaXYtPmNvbnRleHRzX3JlYWR5KQorCQlyZXQgPSBp OTE1X2dlbV9jb250ZXh0X2ZpcnN0X29wZW4oZGV2KTsKKworCWlmIChyZXQgPT0gMCkgeworCQlj dHggPSBpOTE1X2dlbV9jcmVhdGVfY29udGV4dChkZXYsIGZpbGVfcHJpdik7CisJCWlmIChJU19F UlIoY3R4KSkKKwkJCXJldCA9IFBUUl9FUlIoY3R4KTsKKwl9CisKIAltdXRleF91bmxvY2soJmRl di0+c3RydWN0X211dGV4KTsKIAotCWlmIChJU19FUlIoY3R4KSkgeworCWlmIChyZXQpCiAJCWlk cl9kZXN0cm95KCZmaWxlX3ByaXYtPmNvbnRleHRfaWRyKTsKLQkJcmV0dXJuIFBUUl9FUlIoY3R4 KTsKLQl9CiAKLQlyZXR1cm4gMDsKKwlyZXR1cm4gcmV0OwogfQogCiB2b2lkIGk5MTVfZ2VtX2Nv bnRleHRfY2xvc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxl KQotLSAKMS43LjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK