From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v2] drm/i915: Split intel_engine allocation and initialisation Date: Mon, 23 Jan 2017 09:26:32 +0000 Message-ID: <20170123092632.7206-1-chris@chris-wilson.co.uk> References: <20170121145045.27351-1-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-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 20B6488071 for ; Mon, 23 Jan 2017 09:26:36 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id r144so24963161wme.0 for ; Mon, 23 Jan 2017 01:26:36 -0800 (PST) In-Reply-To: <20170121145045.27351-1-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SW4gb3JkZXIgdG8gcmVzZXQgdGhlIEdQVSBlYXJseSBvbiBpbiB0aGUgbW9kdWxlIGxvYWQgc2Vx dWVuY2UsIHdlIG5lZWQKdG8gYWxsb2NhdGUgdGhlIGJhc2ljIGVuZ2luZSBzdHJ1Y3RzICh0byBw b3B1bGF0ZSB0aGUgbW1pbyBvZmZzZXRzIGV0YykuCkN1cnJlbnRseSwgdGhlIGVuZ2luZSBpbml0 aWFsaXNhdGlvbiBhbGxvY2F0ZXMgYm90aCB0aGUgYmFzZSBzdHJ1Y3QgYW5kCmFsc28gYWxsb2Nh dGUgYXV4aWxpYXJ5IG9iamVjdHMsIHdoaWNoIGRlcGVuZCB1cG9uIHN0YXRlIHNldHVwIHF1aXRl CmxhdGUgaW4gdGhlIGxvYWQgc2VxdWVuY2UuIFdlIHNwbGl0IG9mZiB0aGUgYWxsb2NhdGlvbiBj YWxsYmFjayBmb3IKbGF0ZXIgYW5kIGFsbG93IG91cnNlbHZlcyB0byBhbGxvY2F0ZSB0aGUgZW5n aW5lIHN0cnVjdHMgdGhlbXNlbHZlcwplYXJseS4KCnYyOiBEaWZmZXJlbnQgcGFpbnQgZm9yIHRo ZSB1bndpbmQgZm9sbG93aW5nIGVycm9yLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxj aHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0 aW5lbkBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu YyAgICAgICAgfCAxOSArKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAg ICAgICAgfCAgMyArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgfCA4 MCArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuaCAgICAgICB8ICAyIC0KIDQgZmlsZXMgY2hhbmdlZCwgODEgaW5zZXJ0aW9u cygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggY2ExNjhi MjJlZTI2Li5mOGQxZmZlY2NjNjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtNzU1LDYg Kzc1NSwxNSBAQCBzdGF0aWMgaW50IGk5MTVfd29ya3F1ZXVlc19pbml0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKIAlyZXR1cm4gLUVOT01FTTsKIH0KIAorc3RhdGljIHZvaWQg aTkxNV9lbmdpbmVzX2NsZWFudXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit7CisJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOworCWVudW0gaW50ZWxfZW5naW5lX2lkIGlk OworCisJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgaTkxNSwgaWQpCisJCWtmcmVlKGVuZ2luZSk7 Cit9CisKIHN0YXRpYyB2b2lkIGk5MTVfd29ya3F1ZXVlc19jbGVhbnVwKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlkZXN0cm95X3dvcmtxdWV1ZShkZXZfcHJpdi0+aG90 cGx1Zy5kcF93cSk7CkBAIC04MTcsMTIgKzgyNiwxNSBAQCBzdGF0aWMgaW50IGk5MTVfZHJpdmVy X2luaXRfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCW11dGV4X2lu aXQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOwogCiAJaW50ZWxfdWNfaW5pdF9lYXJseShkZXZfcHJp dik7Ci0KIAlpOTE1X21lbWNweV9pbml0X2Vhcmx5KGRldl9wcml2KTsKIAorCXJldCA9IGludGVs X2VuZ2luZXNfaW5pdF9lYXJseShkZXZfcHJpdik7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsK KwogCXJldCA9IGk5MTVfd29ya3F1ZXVlc19pbml0KGRldl9wcml2KTsKIAlpZiAocmV0IDwgMCkK LQkJcmV0dXJuIHJldDsKKwkJZ290byBlcnJfZW5naW5lczsKIAogCXJldCA9IGludGVsX2d2dF9p bml0KGRldl9wcml2KTsKIAlpZiAocmV0IDwgMCkKQEAgLTg1Nyw2ICs4NjksOCBAQCBzdGF0aWMg aW50IGk5MTVfZHJpdmVyX2luaXRfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogCWludGVsX2d2dF9jbGVhbnVwKGRldl9wcml2KTsKIGVycl93b3JrcXVldWVzOgogCWk5 MTVfd29ya3F1ZXVlc19jbGVhbnVwKGRldl9wcml2KTsKK2Vycl9lbmdpbmVzOgorCWk5MTVfZW5n aW5lc19jbGVhbnVwKGRldl9wcml2KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC04NjksNiArODgz LDcgQEAgc3RhdGljIHZvaWQgaTkxNV9kcml2ZXJfY2xlYW51cF9lYXJseShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJaTkxNV9wZXJmX2ZpbmkoZGV2X3ByaXYpOwogCWk5MTVf Z2VtX2xvYWRfY2xlYW51cChkZXZfcHJpdik7CiAJaTkxNV93b3JrcXVldWVzX2NsZWFudXAoZGV2 X3ByaXYpOworCWk5MTVfZW5naW5lc19jbGVhbnVwKGRldl9wcml2KTsKIH0KIAogc3RhdGljIGlu dCBpOTE1X21taW9fc2V0dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMjQ0NjI4MDY1Zjk0Li41NWJkMmQyZjhhMGQgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjk0MSw2ICsyOTQxLDkgQEAgZXh0ZXJuIHVuc2lnbmVk IGxvbmcgaTkxNV9nZnhfdmFsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiBl eHRlcm4gdm9pZCBpOTE1X3VwZGF0ZV9nZnhfdmFsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdik7CiBpbnQgdmx2X2ZvcmNlX2dmeF9jbG9jayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsIGJvb2wgb24pOwogCitpbnQgaW50ZWxfZW5naW5lc19pbml0X2Vhcmx5KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CitpbnQgaW50ZWxfZW5naW5lc19pbml0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CisKIC8qIGludGVsX2hvdHBsdWcu YyAqLwogdm9pZCBpbnRlbF9ocGRfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogCQkJICAgdTMyIHBpbl9tYXNrLCB1MzIgbG9uZ19tYXNrKTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKaW5kZXggMzcxYWNmMTA5ZTM0Li42OWE2NDE2ZDEy MjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCkBAIC0xMTAsMjEgKzEx MCwyMCBAQCBpbnRlbF9lbmdpbmVfc2V0dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogfQogCiAvKioKLSAqIGludGVsX2VuZ2luZXNfaW5pdCgpIC0gYWxsb2NhdGUsIHBvcHVs YXRlIGFuZCBpbml0IHRoZSBFbmdpbmUgQ29tbWFuZCBTdHJlYW1lcnMKKyAqIGludGVsX2VuZ2lu ZXNfaW5pdF9lYXJseSgpIC0gYWxsb2NhdGUgdGhlIEVuZ2luZSBDb21tYW5kIFN0cmVhbWVycwog ICogQGRldl9wcml2OiBpOTE1IGRldmljZSBwcml2YXRlCiAgKgogICogUmV0dXJuOiBub24temVy byBpZiB0aGUgaW5pdGlhbGl6YXRpb24gZmFpbGVkLgogICovCi1pbnQgaW50ZWxfZW5naW5lc19p bml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK2ludCBpbnRlbF9lbmdpbmVz X2luaXRfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCXN0cnVj dCBpbnRlbF9kZXZpY2VfaW5mbyAqZGV2aWNlX2luZm8gPSBta3dyaXRlX2RldmljZV9pbmZvKGRl dl9wcml2KTsKIAl1bnNpZ25lZCBpbnQgcmluZ19tYXNrID0gSU5URUxfSU5GTyhkZXZfcHJpdikt PnJpbmdfbWFzazsKIAl1bnNpZ25lZCBpbnQgbWFzayA9IDA7Ci0JaW50ICgqaW5pdCkoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmU7CiAJZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7CiAJdW5zaWduZWQgaW50IGk7Ci0JaW50IHJl dDsKKwlpbnQgZXJyOwogCiAJV0FSTl9PTihyaW5nX21hc2sgPT0gMCk7CiAJV0FSTl9PTihyaW5n X21hc2sgJgpAQCAtMTM0LDIzICsxMzMsNjUgQEAgaW50IGludGVsX2VuZ2luZXNfaW5pdChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCWlmICghSEFTX0VOR0lORShkZXZfcHJp diwgaSkpCiAJCQljb250aW51ZTsKIAorCQllcnIgPSBpbnRlbF9lbmdpbmVfc2V0dXAoZGV2X3By aXYsIGkpOworCQlpZiAoZXJyKQorCQkJZ290byBjbGVhbnVwOworCisJCW1hc2sgfD0gRU5HSU5F X01BU0soaSk7CisJfQorCisJLyoKKwkgKiBDYXRjaCBmYWlsdXJlcyB0byB1cGRhdGUgaW50ZWxf ZW5naW5lcyB0YWJsZSB3aGVuIHRoZSBuZXcgZW5naW5lcworCSAqIGFyZSBhZGRlZCB0byB0aGUg ZHJpdmVyIGJ5IGEgd2FybmluZyBhbmQgZGlzYWJsaW5nIHRoZSBmb3Jnb3R0ZW4KKwkgKiBlbmdp bmVzLgorCSAqLworCWlmIChXQVJOX09OKG1hc2sgIT0gcmluZ19tYXNrKSkKKwkJZGV2aWNlX2lu Zm8tPnJpbmdfbWFzayA9IG1hc2s7CisKKwlkZXZpY2VfaW5mby0+bnVtX3JpbmdzID0gaHdlaWdo dDMyKG1hc2spOworCisJcmV0dXJuIDA7CisKK2NsZWFudXA6CisJZm9yX2VhY2hfZW5naW5lKGVu Z2luZSwgZGV2X3ByaXYsIGlkKQorCQlrZnJlZShlbmdpbmUpOworCXJldHVybiBlcnI7Cit9CisK Ky8qKgorICogaW50ZWxfZW5naW5lc19pbml0KCkgLSBhbGxvY2F0ZSwgcG9wdWxhdGUgYW5kIGlu aXQgdGhlIEVuZ2luZSBDb21tYW5kIFN0cmVhbWVycworICogQGRldl9wcml2OiBpOTE1IGRldmlj ZSBwcml2YXRlCisgKgorICogUmV0dXJuOiBub24temVybyBpZiB0aGUgaW5pdGlhbGl6YXRpb24g ZmFpbGVkLgorICovCitpbnQgaW50ZWxfZW5naW5lc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKK3sKKwlzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKmRldmljZV9pbmZv ID0gbWt3cml0ZV9kZXZpY2VfaW5mbyhkZXZfcHJpdik7CisJc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lOworCWVudW0gaW50ZWxfZW5naW5lX2lkIGlkLCBlcnJfaWQ7CisJdW5zaWduZWQg aW50IG1hc2sgPSAwOworCWludCBlcnIgPSAwOworCisJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwg ZGV2X3ByaXYsIGlkKSB7CisJCWludCAoKmluaXQpKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSk7CisKIAkJaWYgKGk5MTUuZW5hYmxlX2V4ZWNsaXN0cykKLQkJCWluaXQgPSBpbnRlbF9l bmdpbmVzW2ldLmluaXRfZXhlY2xpc3RzOworCQkJaW5pdCA9IGludGVsX2VuZ2luZXNbaWRdLmlu aXRfZXhlY2xpc3RzOwogCQllbHNlCi0JCQlpbml0ID0gaW50ZWxfZW5naW5lc1tpXS5pbml0X2xl Z2FjeTsKLQotCQlpZiAoIWluaXQpCisJCQlpbml0ID0gaW50ZWxfZW5naW5lc1tpZF0uaW5pdF9s ZWdhY3k7CisJCWlmICghaW5pdCkgeworCQkJa2ZyZWUoZW5naW5lKTsKKwkJCWRldl9wcml2LT5l bmdpbmVbaWRdID0gTlVMTDsKIAkJCWNvbnRpbnVlOworCQl9CiAKLQkJcmV0ID0gaW50ZWxfZW5n aW5lX3NldHVwKGRldl9wcml2LCBpKTsKLQkJaWYgKHJldCkKLQkJCWdvdG8gY2xlYW51cDsKLQot CQlyZXQgPSBpbml0KGRldl9wcml2LT5lbmdpbmVbaV0pOwotCQlpZiAocmV0KQorCQllcnIgPSBp bml0KGVuZ2luZSk7CisJCWlmIChlcnIpIHsKKwkJCWVycl9pZCA9IGlkOwogCQkJZ290byBjbGVh bnVwOworCQl9CiAKLQkJbWFzayB8PSBFTkdJTkVfTUFTSyhpKTsKKwkJbWFzayB8PSBFTkdJTkVf TUFTSyhpZCk7CiAJfQogCiAJLyoKQEAgLTE1OCw3ICsxOTksNyBAQCBpbnQgaW50ZWxfZW5naW5l c19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkgKiBhcmUgYWRkZWQg dG8gdGhlIGRyaXZlciBieSBhIHdhcm5pbmcgYW5kIGRpc2FibGluZyB0aGUgZm9yZ290dGVuCiAJ ICogZW5naW5lcy4KIAkgKi8KLQlpZiAoV0FSTl9PTihtYXNrICE9IHJpbmdfbWFzaykpCisJaWYg KFdBUk5fT04obWFzayAhPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+cmluZ19tYXNrKSkKIAkJZGV2 aWNlX2luZm8tPnJpbmdfbWFzayA9IG1hc2s7CiAKIAlkZXZpY2VfaW5mby0+bnVtX3JpbmdzID0g aHdlaWdodDMyKG1hc2spOwpAQCAtMTY3LDEzICsyMDgsMTQgQEAgaW50IGludGVsX2VuZ2luZXNf aW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIGNsZWFudXA6CiAJZm9y X2VhY2hfZW5naW5lKGVuZ2luZSwgZGV2X3ByaXYsIGlkKSB7Ci0JCWlmIChpOTE1LmVuYWJsZV9l eGVjbGlzdHMpCisJCWlmIChpZCA+PSBlcnJfaWQpCisJCQlrZnJlZShlbmdpbmUpOworCQllbHNl IGlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMpCiAJCQlpbnRlbF9sb2dpY2FsX3JpbmdfY2xlYW51 cChlbmdpbmUpOwogCQllbHNlCiAJCQlpbnRlbF9lbmdpbmVfY2xlYW51cChlbmdpbmUpOwogCX0K LQotCXJldHVybiByZXQ7CisJcmV0dXJuIGVycjsKIH0KIAogdm9pZCBpbnRlbF9lbmdpbmVfaW5p dF9nbG9iYWxfc2Vxbm8oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCB1MzIgc2Vxbm8p CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCmluZGV4IDBjODUyYzAyNDIyNy4uYzgwMDljN2JmYmRk IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaApAQCAtNjgsOCArNjgsNiBAQCB2b2lkIGludGVs X2xvZ2ljYWxfcmluZ19jbGVhbnVwKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7CiBp bnQgbG9naWNhbF9yZW5kZXJfcmluZ19pbml0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSk7CiBpbnQgbG9naWNhbF94Y3NfcmluZ19pbml0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSk7CiAKLWludCBpbnRlbF9lbmdpbmVzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKLQogLyogTG9naWNhbCBSaW5nIENvbnRleHRzICovCiAKIC8qIE9uZSBleHRy YSBwYWdlIGlzIGFkZGVkIGJlZm9yZSBMUkMgZm9yIEd1QyBhcyBzaGFyZWQgZGF0YSAqLwotLSAK Mi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK