From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/i915: Asynchronously initialise the GPU state Date: Wed, 1 Jul 2015 15:07:18 +0200 Message-ID: <20150701130718.GG23343@phenom.ffwll.local> References: <20150630150841.GH1381@nuc-i3427.alporthouse.com> <1435742841-28454-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wg0-f43.google.com (mail-wg0-f43.google.com [74.125.82.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id D61E289B01 for ; Wed, 1 Jul 2015 06:04:33 -0700 (PDT) Received: by wgck11 with SMTP id k11so36350272wgc.0 for ; Wed, 01 Jul 2015 06:04:32 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1435742841-28454-1-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBKdWwgMDEsIDIwMTUgYXQgMTA6Mjc6MjFBTSArMDEwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IERhdmUgR29yZG9uIG1hZGUgdGhlIGdvb2Qgc3VnZ2VzdGlvbiB0aGF0IG9uY2UgdGhl IHJpbmdidWZmZXJzIHdlcmUKPiBzZXR1cCwgdGhlIGFjdHVhbCBxdWV1aW5nIG9mIGNvbW1hbmRz IHRvIHByb2dyYW0gdGhlIGluaXRpYWwgR1BVIHN0YXRlCj4gY291bGQgYmUgZGVmZXJyZWQuIFNp bmNlIHRoYXQgaW5pdGlhbCBzdGF0ZSBjb250YWlucyBpbnN0cnVjdGlvbnMgZm9yCj4gc2V0dGlu ZyB1cCB0aGUgZmlyc3QgcG93ZXIgY29udGV4dCwgd2Ugd2FudCB0byBleGVjdXRlIHRoYXQgYXMg ZWFybGllcgo+IGFzIHBvc3NpYmxlLCBwcmVmZXJyYWJseSBpbiB0aGUgYmFja2dyb3VuZCB0byB1 c2Vyc3BhY2UuIFRoZW4gd2hlbgo+IHVzZXJzcGFjZSBkb2VzIHdha2UgdXAsIHRoZSBmaXJzdCB0 aW1lIGl0IG9wZW5zIHRoZSBkZXZpY2Ugd2UganVzdCBuZWVkCj4gdG8gZmx1c2ggdGhlIHdvcmsg dG8gYmUgc3VyZSB0aGF0IG91ciBjb21tYW5kcyBhcmUgcXVldWVkIGJlZm9yZSBhbnkgb2YKPiB1 c2Vyc3BhY2Uncy4gKEhvb2tpbmcgaW50byB0aGUgZGV2aWNlIG9wZW4gc2hvdWxkIG1lYW4gd2Ug aGF2ZSB0byBjaGVjawo+IGxlc3Mgb2Z0ZW4gdGhhbiBzYXkgaG9va2luZyBpbnRvIGV4ZWNidWZm ZXIuKQo+IAo+IFN1Z2dlc3RlZC1ieTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVs LmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5j by51az4KPiBDYzogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4KCkp1c3Qg YmVmb3JlIHRoaXMgZ2V0cyBhIGJpdCBvdXQgb2YgaGFuZCB3aXRoIHZhcmlvdXMgcGF0Y2hlcyBm bG9hdGluZwphcm91bmQgLi4uIEkgcmVhbGx5IG1lYW50IGl0IHdoZW4gSSBzYWlkIHRoYXQgd2Ug c2hvdWxkIGhhdmUgYSBwcm9wZXIKZGVzaWduIGRpc2N1c3Npb24gYWJvdXQgdGhpcyBpbiBKZXNz ZSdzIG1lZXRpbmcgZmlyc3QuCgpMb29raW5nIGF0IGFsbCB0aGUgaWRlYXMgYmV0d2VlbiB5b3Us IERhdmUgJiBtZSBJIGNvdW50IGFib3V0IDMtNAphcHByb2FjaGVzIHRvIGFzeW5jIGdlbSBpbml0 LCBhbmQgYWxsIGhhdmUgdXBzaWRlcyBhbmQgZG93bnNpZGVzLgoKQXNpZGUgZnJvbSB0aGF0IEkg Y29uY3VyIHRoYXQgaWYgd2UgZG8gYXN5bmMgZ2VtIGluaXQgdGhlbiBpdCBiZXR0ZXIgYmUgYQp3 b3JrZXIgYW5kIG5vdCByZWx5aW5nIG9uIHNvbWUgYWJpdHJhcnkgdXNlcnNwYWNlIGlvY3RsL3N5 c2NhbGwuIE9mIGNvdXJzZQp3ZSdkIHN0aWxsIG5lZWQgdG8gcGxhY2UgcHJvcGVyIHN5bmNocm9u aXphdGlvbiBwb2ludHMgYXQgYSBnb29kIHBsYWNlCihmbHVzaF93b3JrIGluIGdlbV9vcGVuIGZv ciBEYXZlJ3MgZGVzaWduKSwgYnV0IHRoYXQncyByZWFsbHkgb3J0aG9nb25hbAp0byBydW5uaW5n IGl0IGluIGEgd29ya2VyIGltby4KLURhbmllbAoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaCB8ICAgMiArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMg fCAxMTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQo+ICAyIGZpbGVz IGNoYW5nZWQsIDc5IGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAo+IGluZGV4IDNlYTFmZThkYjYzZS4uZDQwMDNkZWE5N2ViIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTE5MzgsNiArMTkzOCw4IEBAIHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlIHsKPiAgCj4gIAlib29sIGVkcF9sb3dfdnN3aW5nOwo+ICAKPiArCXN0cnVj dCB3b3JrX3N0cnVjdCBpbml0X2h3X2xhdGU7Cj4gKwo+ICAJLyoKPiAgCSAqIE5PVEU6IFRoaXMg aXMgdGhlIGRyaTEvdW1zIGR1bmdlb24sIGRvbid0IGFkZCBzdHVmZiBoZXJlLiBZb3VyIHBhdGNo Cj4gIAkgKiB3aWxsIGJlIHJlamVjdGVkLiBJbnN0ZWFkIGxvb2sgZm9yIGEgYmV0dGVyIHBsYWNl Lgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IGluZGV4IDJmMGZlZDFiOWRkNy4uN2VmYTcxZjhl ZGQ3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gQEAgLTUxNDAsMTIgKzUxNDAsNzYg QEAgY2xlYW51cF9yZW5kZXJfcmluZzoKPiAgCXJldHVybiByZXQ7Cj4gIH0KPiAgCj4gK3N0YXRp YyBpbnQKPiAraTkxNV9nZW1faW5pdF9od19sYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKPiArewo+ICsJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZzsKPiArCWludCBp LCBqOwo+ICsKPiArCWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3ByaXYsIGkpIHsKPiArCQlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcTsKPiArCQlpbnQgcmV0Owo+ICsKPiArCQlpZiAo V0FSTl9PTighcmluZy0+ZGVmYXVsdF9jb250ZXh0KSkgewo+ICsJCQlyZXQgPSAtRU5PREVWOwo+ ICsJCQlnb3RvIGVycjsKPiArCQl9Cj4gKwo+ICsJCXJlcSA9IGk5MTVfZ2VtX3JlcXVlc3RfYWxs b2MocmluZywgcmluZy0+ZGVmYXVsdF9jb250ZXh0KTsKPiArCQlpZiAoSVNfRVJSKHJlcSkpIHsK PiArCQkJcmV0ID0gUFRSX0VSUihyZXEpOwo+ICsJCQlnb3RvIGVycjsKPiArCQl9Cj4gKwo+ICsJ CWlmIChyaW5nLT5pZCA9PSBSQ1MpIHsKPiArCQkJZm9yIChqID0gMDsgaiA8IE5VTV9MM19TTElD RVMoZGV2X3ByaXYpOyBqKyspCj4gKwkJCQlpOTE1X2dlbV9sM19yZW1hcChyZXEsIGopOwo+ICsJ CX0KPiArCj4gKwkJcmV0ID0gaTkxNV9wcGd0dF9pbml0X3JpbmcocmVxKTsKPiArCQlpZiAocmV0 KSB7Cj4gKwkJCURSTV9FUlJPUigiUFBHVFQgZW5hYmxlIHJpbmcgIyVkIGZhaWxlZCAlZFxuIiwg aSwgcmV0KTsKPiArCQkJZ290byBlcnJfcmVxOwo+ICsJCX0KPiArCj4gKwkJcmV0ID0gaTkxNV9n ZW1fY29udGV4dF9lbmFibGUocmVxKTsKPiArCQlpZiAocmV0KSB7Cj4gKwkJCURSTV9FUlJPUigi Q29udGV4dCBlbmFibGUgcmluZyAjJWQgZmFpbGVkICVkXG4iLCBpLCByZXQpOwo+ICsJCQlnb3Rv IGVycl9yZXE7Cj4gKwkJfQo+ICsKPiArCQlpOTE1X2FkZF9yZXF1ZXN0X25vX2ZsdXNoKHJlcSk7 Cj4gKwkJY29udGludWU7Cj4gKwo+ICtlcnJfcmVxOgo+ICsJCWk5MTVfZ2VtX3JlcXVlc3RfY2Fu Y2VsKHJlcSk7Cj4gK2VycjoKPiArCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICsKPiArCXJldHVybiAw Owo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZAo+ICtpOTE1X2dlbV9pbml0X2h3X3dvcmtlcihzdHJ1 Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9Cj4gKwkJY29udGFpbmVyX29mKHdvcmssIHR5cGVvZigqZGV2X3ByaXYpLCBpbml0 X2h3X2xhdGUpOwo+ICsJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRldi0+c3RydWN0X211dGV4KTsK PiArCWlmIChpOTE1X2dlbV9pbml0X2h3X2xhdGUoZGV2X3ByaXYpKSB7Cj4gKwkJRFJNX0VSUk9S KCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBHUFUsIGRlY2xhcmluZyBpdCB3ZWRnZWRcbiIpOwo+ICsJ CWF0b21pY19zZXRfbWFzayhJOTE1X1dFREdFRCwKPiArCQkJCSZkZXZfcHJpdi0+Z3B1X2Vycm9y LnJlc2V0X2NvdW50ZXIpOwo+ICsJfQo+ICsJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZGV2LT5z dHJ1Y3RfbXV0ZXgpOwo+ICt9Cj4gKwo+ICBpbnQKPiAgaTkxNV9nZW1faW5pdF9odyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZzsK PiAtCWludCByZXQsIGksIGo7Cj4gKwlpbnQgcmV0LCBpOwo+ICAKPiAgCWlmIChJTlRFTF9JTkZP KGRldiktPmdlbiA8IDYgJiYgIWludGVsX2VuYWJsZV9ndHQoKSkKPiAgCQlyZXR1cm4gLUVJTzsK PiBAQCAtNTE5OCw0MSArNTI2MiwxMCBAQCBpOTE1X2dlbV9pbml0X2h3KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCj4gIAl9Cj4gIAo+ICAJLyogTm93IGl0IGlzIHNhZmUgdG8gZ28gYmFjayByb3Vu ZCBhbmQgZG8gZXZlcnl0aGluZyBlbHNlOiAqLwo+IC0JZm9yX2VhY2hfcmluZyhyaW5nLCBkZXZf cHJpdiwgaSkgewo+IC0JCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxOwo+IC0KPiAt CQlXQVJOX09OKCFyaW5nLT5kZWZhdWx0X2NvbnRleHQpOwo+IC0KPiAtCQlyZXEgPSBpOTE1X2dl bV9yZXF1ZXN0X2FsbG9jKHJpbmcsIHJpbmctPmRlZmF1bHRfY29udGV4dCk7Cj4gLQkJaWYgKElT X0VSUihyZXEpKSB7Cj4gLQkJCXJldCA9IFBUUl9FUlIocmVxKTsKPiAtCQkJaTkxNV9nZW1fY2xl YW51cF9yaW5nYnVmZmVyKGRldik7Cj4gLQkJCWdvdG8gb3V0Owo+IC0JCX0KPiAtCj4gLQkJaWYg KHJpbmctPmlkID09IFJDUykgewo+IC0JCQlmb3IgKGogPSAwOyBqIDwgTlVNX0wzX1NMSUNFUyhk ZXYpOyBqKyspCj4gLQkJCQlpOTE1X2dlbV9sM19yZW1hcChyZXEsIGopOwo+IC0JCX0KPiAtCj4g LQkJcmV0ID0gaTkxNV9wcGd0dF9pbml0X3JpbmcocmVxKTsKPiAtCQlpZiAocmV0ICYmIHJldCAh PSAtRUlPKSB7Cj4gLQkJCURSTV9FUlJPUigiUFBHVFQgZW5hYmxlIHJpbmcgIyVkIGZhaWxlZCAl ZFxuIiwgaSwgcmV0KTsKPiAtCQkJaTkxNV9nZW1fcmVxdWVzdF9jYW5jZWwocmVxKTsKPiAtCQkJ aTkxNV9nZW1fY2xlYW51cF9yaW5nYnVmZmVyKGRldik7Cj4gLQkJCWdvdG8gb3V0Owo+IC0JCX0K PiAtCj4gLQkJcmV0ID0gaTkxNV9nZW1fY29udGV4dF9lbmFibGUocmVxKTsKPiAtCQlpZiAocmV0 ICYmIHJldCAhPSAtRUlPKSB7Cj4gLQkJCURSTV9FUlJPUigiQ29udGV4dCBlbmFibGUgcmluZyAj JWQgZmFpbGVkICVkXG4iLCBpLCByZXQpOwo+IC0JCQlpOTE1X2dlbV9yZXF1ZXN0X2NhbmNlbChy ZXEpOwo+IC0JCQlpOTE1X2dlbV9jbGVhbnVwX3JpbmdidWZmZXIoZGV2KTsKPiAtCQkJZ290byBv dXQ7Cj4gLQkJfQo+IC0KPiAtCQlpOTE1X2FkZF9yZXF1ZXN0X25vX2ZsdXNoKHJlcSk7Cj4gLQl9 Cj4gKwlpZiAoZGV2LT5vcGVuX2NvdW50ID09IDApIC8qIHVuY29udGVzdGVkIHdpdGggdXNlcnNw YWNlLCBpLmUuIGJvb3QgKi8KPiArCQlxdWV1ZV93b3JrKGRldl9wcml2LT53cSwgJmRldl9wcml2 LT5pbml0X2h3X2xhdGUpOwo+ICsJZWxzZQo+ICsJCXJldCA9IGk5MTVfZ2VtX2luaXRfaHdfbGF0 ZShkZXZfcHJpdik7Cj4gIAo+ICBvdXQ6Cj4gIAlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3B1dChk ZXZfcHJpdiwgRk9SQ0VXQUtFX0FMTCk7Cj4gQEAgLTUzNzksNiArNTQxMiw3IEBAIGk5MTVfZ2Vt X2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQlpbml0X3JpbmdfbGlzdHMoJmRldl9w cml2LT5yaW5nW2ldKTsKPiAgCWZvciAoaSA9IDA7IGkgPCBJOTE1X01BWF9OVU1fRkVOQ0VTOyBp KyspCj4gIAkJSU5JVF9MSVNUX0hFQUQoJmRldl9wcml2LT5mZW5jZV9yZWdzW2ldLmxydV9saXN0 KTsKPiArCUlOSVRfV09SSygmZGV2X3ByaXYtPmluaXRfaHdfbGF0ZSwgaTkxNV9nZW1faW5pdF9o d193b3JrZXIpOwo+ICAJSU5JVF9ERUxBWUVEX1dPUksoJmRldl9wcml2LT5tbS5yZXRpcmVfd29y aywKPiAgCQkJICBpOTE1X2dlbV9yZXRpcmVfd29ya19oYW5kbGVyKTsKPiAgCUlOSVRfREVMQVlF RF9XT1JLKCZkZXZfcHJpdi0+bW0uaWRsZV93b3JrLAo+IEBAIC01NDQyLDExICs1NDc2LDE4IEBA IHZvaWQgaTkxNV9nZW1fcmVsZWFzZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJt X2ZpbGUgKmZpbGUpCj4gIAo+ICBpbnQgaTkxNV9nZW1fb3BlbihzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCj4gIHsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAgCXN0cnVjdCBkcm1faTkxNV9maWxlX3By aXZhdGUgKmZpbGVfcHJpdjsKPiAgCWludCByZXQ7Cj4gIAo+ICAJRFJNX0RFQlVHX0RSSVZFUigi XG4iKTsKPiAgCj4gKwkvKiBGbHVzaCByaW5nIGluaXRpYWxpc2F0aW9uIGJlZm9yZSB1c2Vyc3Bh Y2UgY2FuIHN1Ym1pdCBpdHMgb3duCj4gKwkgKiBiYXRjaGVzLCBzbyB0aGUgaGFyZHdhcmUgaW5p dGlhbGlzYXRpb24gY29tbWFuZHMgYXJlIHF1ZXVlZAo+ICsJICogZmlyc3QuCj4gKwkgKi8KPiAr CWZsdXNoX3dvcmsoJmRldl9wcml2LT5pbml0X2h3X2xhdGUpOwo+ICsKPiAgCWZpbGVfcHJpdiA9 IGt6YWxsb2Moc2l6ZW9mKCpmaWxlX3ByaXYpLCBHRlBfS0VSTkVMKTsKPiAgCWlmICghZmlsZV9w cml2KQo+ICAJCXJldHVybiAtRU5PTUVNOwo+IC0tIAo+IDIuMS40Cj4gCj4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBs aXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApEYW5pZWwgVmV0dGVy ClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5j aApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=