From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 2/3] drm/i915/guc: Keep the execbuf client allocated across reset Date: Thu, 17 Nov 2016 19:41:34 +0000 Message-ID: <20161117194135.27783-2-chris@chris-wilson.co.uk> References: <20161117194135.27783-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-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id BEED06E37C for ; Thu, 17 Nov 2016 19:41:41 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id m203so24325075wma.3 for ; Thu, 17 Nov 2016 11:41:41 -0800 (PST) In-Reply-To: <20161117194135.27783-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 SW4gb3JkZXIgdG8gYXZvaWQgc29tZSBjb21wbGV4aXR5IGluIHRyeWluZyB0byByZWNvbnN0cnVj dCB0aGUKd29ya3F1ZXVlcyBhY3Jvc3MgcmVzZXQsIHJlbWVtYmVyIHRoZW0gaW5zdGVhZC4KClNp Z25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAgICAgICB8ICAyICstCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgfCA3OSArKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oICAgICAg ICAgICB8ICAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDQzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggYjdmNDJjNDQ4YTQ0 Li5hMTBmNDNlM2ZkM2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC0yNDMw LDcgKzI0MzAsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2d1Y19jbGllbnRfaW5mbyhzdHJ1Y3Qgc2Vx X2ZpbGUgKm0sCiAJc2VxX3ByaW50ZihtLCAiXHRQcmlvcml0eSAlZCwgR3VDIGN0eCBpbmRleDog JXUsIFBEIG9mZnNldCAweCV4XG4iLAogCQljbGllbnQtPnByaW9yaXR5LCBjbGllbnQtPmN0eF9p bmRleCwgY2xpZW50LT5wcm9jX2Rlc2Nfb2Zmc2V0KTsKIAlzZXFfcHJpbnRmKG0sICJcdERvb3Ji ZWxsIGlkICVkLCBvZmZzZXQ6IDB4JXgsIGNvb2tpZSAweCV4XG4iLAotCQljbGllbnQtPmRvb3Ji ZWxsX2lkLCBjbGllbnQtPmRvb3JiZWxsX29mZnNldCwgY2xpZW50LT5jb29raWUpOworCQljbGll bnQtPmRvb3JiZWxsX2lkLCBjbGllbnQtPmRvb3JiZWxsX29mZnNldCwgY2xpZW50LT5kb29yYmVs bF9jb29raWUpOwogCXNlcV9wcmludGYobSwgIlx0V1Egc2l6ZSAlZCwgb2Zmc2V0OiAweCV4LCB0 YWlsICVkXG4iLAogCQljbGllbnQtPndxX3NpemUsIGNsaWVudC0+d3Ffb2Zmc2V0LCBjbGllbnQt PndxX3RhaWwpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19z dWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMK aW5kZXggNDQ2MjExMjcyNWVmLi5hNDJjMjdlYzRiYjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKQEAgLTI0NywxOCArMjQ3LDExIEBAIHN0YXRpYyBpbnQg Z3VjX3VwZGF0ZV9kb29yYmVsbF9pZChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsCiAKIAkvKiBBY3Rp dmF0ZSB0aGUgbmV3IGRvb3JiZWxsICovCiAJX19zZXRfYml0KG5ld19pZCwgZG9vcmJlbGxfYml0 bWFwKTsKLQlkb29yYmVsbC0+Y29va2llID0gMDsKIAlkb29yYmVsbC0+ZGJfc3RhdHVzID0gR1VD X0RPT1JCRUxMX0VOQUJMRUQ7CisJZG9vcmJlbGwtPmNvb2tpZSA9IGNsaWVudC0+ZG9vcmJlbGxf Y29va2llOwogCXJldHVybiBob3N0Mmd1Y19hbGxvY2F0ZV9kb29yYmVsbChndWMsIGNsaWVudCk7 CiB9CiAKLXN0YXRpYyBpbnQgZ3VjX2luaXRfZG9vcmJlbGwoc3RydWN0IGludGVsX2d1YyAqZ3Vj LAotCQkJICAgICAgc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqY2xpZW50LAotCQkJICAgICAgdWlu dDE2X3QgZGJfaWQpCi17Ci0JcmV0dXJuIGd1Y191cGRhdGVfZG9vcmJlbGxfaWQoZ3VjLCBjbGll bnQsIGRiX2lkKTsKLX0KLQogc3RhdGljIHZvaWQgZ3VjX2Rpc2FibGVfZG9vcmJlbGwoc3RydWN0 IGludGVsX2d1YyAqZ3VjLAogCQkJCSBzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQpCiB7 CkBAIC01NjcsMTEgKzU2MCwxMSBAQCBzdGF0aWMgaW50IGd1Y19yaW5nX2Rvb3JiZWxsKHN0cnVj dCBpOTE1X2d1Y19jbGllbnQgKmdjKQogCiAJLyogY3VycmVudCBjb29raWUgKi8KIAlkYl9jbXAu ZGJfc3RhdHVzID0gR1VDX0RPT1JCRUxMX0VOQUJMRUQ7Ci0JZGJfY21wLmNvb2tpZSA9IGdjLT5j b29raWU7CisJZGJfY21wLmNvb2tpZSA9IGdjLT5kb29yYmVsbF9jb29raWU7CiAKIAkvKiBjb29r aWUgdG8gYmUgdXBkYXRlZCAqLwogCWRiX2V4Yy5kYl9zdGF0dXMgPSBHVUNfRE9PUkJFTExfRU5B QkxFRDsKLQlkYl9leGMuY29va2llID0gZ2MtPmNvb2tpZSArIDE7CisJZGJfZXhjLmNvb2tpZSA9 IGdjLT5kb29yYmVsbF9jb29raWUgKyAxOwogCWlmIChkYl9leGMuY29va2llID09IDApCiAJCWRi X2V4Yy5jb29raWUgPSAxOwogCkBAIC01ODYsNyArNTc5LDcgQEAgc3RhdGljIGludCBndWNfcmlu Z19kb29yYmVsbChzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpnYykKIAkJLyogaWYgdGhlIGV4Y2hh bmdlIHdhcyBzdWNjZXNzZnVsbHkgZXhlY3V0ZWQgKi8KIAkJaWYgKGRiX3JldC52YWx1ZV9xdyA9 PSBkYl9jbXAudmFsdWVfcXcpIHsKIAkJCS8qIGRiIHdhcyBzdWNjZXNzZnVsbHkgcnVuZyAqLwot CQkJZ2MtPmNvb2tpZSA9IGRiX2V4Yy5jb29raWU7CisJCQlnYy0+ZG9vcmJlbGxfY29va2llID0g ZGJfZXhjLmNvb2tpZTsKIAkJCXJldCA9IDA7CiAJCQlicmVhazsKIAkJfQpAQCAtNzc5LDggKzc3 Miw3IEBAIHN0YXRpYyB2b2lkIGd1Y19pbml0X2Rvb3JiZWxsX2h3KHN0cnVjdCBpbnRlbF9ndWMg Kmd1YykKIAl1aW50MTZfdCBkYl9pZDsKIAlpbnQgaSwgZXJyOwogCi0JLyogU2F2ZSBjbGllbnQn cyBvcmlnaW5hbCBkb29yYmVsbCBzZWxlY3Rpb24gKi8KLQlkYl9pZCA9IGNsaWVudC0+ZG9vcmJl bGxfaWQ7CisJZ3VjX2Rpc2FibGVfZG9vcmJlbGwoZ3VjLCBjbGllbnQpOwogCiAJZm9yIChpID0g MDsgaSA8IEdVQ19NQVhfRE9PUkJFTExTOyArK2kpIHsKIAkJLyogU2tpcCBpZiBkb29yYmVsbCBp cyBPSyAqLwpAQCAtNzkzLDcgKzc4NSw5IEBAIHN0YXRpYyB2b2lkIGd1Y19pbml0X2Rvb3JiZWxs X2h3KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKIAkJCQkJaSwgZXJyKTsKIAl9CiAKLQkvKiBSZXN0 b3JlIHRvIG9yaWdpbmFsIHZhbHVlICovCisJZGJfaWQgPSBzZWxlY3RfZG9vcmJlbGxfcmVnaXN0 ZXIoZ3VjLCBjbGllbnQtPnByaW9yaXR5KTsKKwlXQVJOX09OKGRiX2lkID09IEdVQ19JTlZBTElE X0RPT1JCRUxMX0lEKTsKKwogCWVyciA9IGd1Y191cGRhdGVfZG9vcmJlbGxfaWQoZ3VjLCBjbGll bnQsIGRiX2lkKTsKIAlpZiAoZXJyKQogCQlEUk1fV0FSTigiRmFpbGVkIHRvIHJlc3RvcmUgZG9v cmJlbGwgdG8gJWQsIGVyciAlZFxuIiwKQEAgLTg4Myw4ICs4NzcsMTMgQEAgZ3VjX2NsaWVudF9h bGxvYyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAlndWNfcHJvY19kZXNj X2luaXQoZ3VjLCBjbGllbnQpOwogCWd1Y19jdHhfZGVzY19pbml0KGd1YywgY2xpZW50KTsKLQlp ZiAoZ3VjX2luaXRfZG9vcmJlbGwoZ3VjLCBjbGllbnQsIGRiX2lkKSkKLQkJZ290byBlcnI7CisK KwkvKiBGb3IgcnVudGltZSBjbGllbnQgYWxsb2NhdGlvbiB3ZSBuZWVkIHRvIGVuYWJsZSB0aGUg ZG9vcmJlbGwuIE5vdAorCSAqIHJlcXVpcmVkIHlldCBmb3IgdGhlIHN0YXRpYyBleGVjYnVmX2Ns aWVudCBhcyB0aGlzIHNwZWNpYWwga2VybmVsCisJICogY2xpZW50IGlzIGVuYWJsZWQgZnJvbSBp OTE1X2d1Y19zdWJtaXNzaW9uX2VuYWJsZSgpLgorCSAqCisJICogZ3VjX3VwZGF0ZV9kb29yYmVs bF9pZChndWMsIGNsaWVudCwgZGJfaWQpOworCSAqLwogCiAJRFJNX0RFQlVHX0RSSVZFUigibmV3 IHByaW9yaXR5ICV1IGNsaWVudCAlcCBmb3IgZW5naW5lKHMpIDB4JXg6IGN0eF9pbmRleCAldVxu IiwKIAkJcHJpb3JpdHksIGNsaWVudCwgY2xpZW50LT5lbmdpbmVzLCBjbGllbnQtPmN0eF9pbmRl eCk7CkBAIC0xNTA0LDQyICsxNTAzLDQzIEBAIGludCBpOTE1X2d1Y19zdWJtaXNzaW9uX2luaXQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWd1Y19sb2dfY3JlYXRlKGd1Yyk7 CiAJZ3VjX2FkZG9uX2NyZWF0ZShndWMpOwogCisJZ3VjLT5leGVjYnVmX2NsaWVudCA9IGd1Y19j bGllbnRfYWxsb2MoZGV2X3ByaXYsCisJCQkJCSAgICAgICBJTlRFTF9JTkZPKGRldl9wcml2KS0+ cmluZ19tYXNrLAorCQkJCQkgICAgICAgR1VDX0NUWF9QUklPUklUWV9LTURfTk9STUFMLAorCQkJ CQkgICAgICAgZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0KTsKKwlpZiAoIWd1Yy0+ZXhlY2J1Zl9j bGllbnQpIHsKKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIEd1QyBjbGllbnQgZm9yIGV4 ZWNidWYhXG4iKTsKKwkJZ290byBlcnI7CisJfQorCiAJcmV0dXJuIDA7CisKK2VycjoKKwlpOTE1 X2d1Y19zdWJtaXNzaW9uX2ZpbmkoZGV2X3ByaXYpOworCXJldHVybiAtRU5PTUVNOwogfQogCiBp bnQgaTkxNV9ndWNfc3VibWlzc2lvbl9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogewogCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZkZXZfcHJpdi0+Z3VjOwotCXN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdDsKLQlzdHJ1Y3QgaTkxNV9ndWNfY2xp ZW50ICpjbGllbnQ7CisJc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqY2xpZW50ID0gZ3VjLT5leGVj YnVmX2NsaWVudDsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CiAJZW51bSBpbnRl bF9lbmdpbmVfaWQgaWQ7CiAKLQkvKiBjbGllbnQgZm9yIGV4ZWNidWYgc3VibWlzc2lvbiAqLwot CWNsaWVudCA9IGd1Y19jbGllbnRfYWxsb2MoZGV2X3ByaXYsCi0JCQkJICBJTlRFTF9JTkZPKGRl dl9wcml2KS0+cmluZ19tYXNrLAotCQkJCSAgR1VDX0NUWF9QUklPUklUWV9LTURfTk9STUFMLAot CQkJCSAgZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0KTsKLQlpZiAoIWNsaWVudCkgewotCQlEUk1f RVJST1IoIkZhaWxlZCB0byBjcmVhdGUgbm9ybWFsIEd1QyBjbGllbnQhXG4iKTsKLQkJcmV0dXJu IC1FTk9NRU07Ci0JfQotCi0JZ3VjLT5leGVjYnVmX2NsaWVudCA9IGNsaWVudDsKIAlob3N0Mmd1 Y19zYW1wbGVfZm9yY2V3YWtlKGd1YywgY2xpZW50KTsKIAlndWNfaW5pdF9kb29yYmVsbF9odyhn dWMpOwogCiAJLyogVGFrZSBvdmVyIGZyb20gbWFudWFsIGNvbnRyb2wgb2YgRUxTUCAoZXhlY2xp c3RzKSAqLwogCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGRldl9wcml2LCBpZCkgeworCQlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxOworCiAJCWVuZ2luZS0+c3VibWl0X3JlcXVlc3Qg PSBpOTE1X2d1Y19zdWJtaXQ7CiAJCWVuZ2luZS0+c2NoZWR1bGUgPSBOVUxMOwogCiAJCS8qIFJl cGxheSB0aGUgY3VycmVudCBzZXQgb2YgcHJldmlvdXNseSBzdWJtaXR0ZWQgcmVxdWVzdHMgKi8K LQkJbGlzdF9mb3JfZWFjaF9lbnRyeShyZXF1ZXN0LAotCQkJCSAgICAmZW5naW5lLT50aW1lbGlu ZS0+cmVxdWVzdHMsIGxpbmspIHsKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeShycSwgJmVuZ2luZS0+ dGltZWxpbmUtPnJlcXVlc3RzLCBsaW5rKSB7CiAJCQljbGllbnQtPndxX3JzdmQgKz0gc2l6ZW9m KHN0cnVjdCBndWNfd3FfaXRlbSk7Ci0JCQlpZiAoaTkxNV9zd19mZW5jZV9kb25lKCZyZXF1ZXN0 LT5zdWJtaXQpKQotCQkJCWk5MTVfZ3VjX3N1Ym1pdChyZXF1ZXN0KTsKKwkJCWk5MTVfZ3VjX3N1 Ym1pdChycSk7CiAJCX0KIAl9CiAKQEAgLTE1NDgsMjEgKzE1NDgsMTggQEAgaW50IGk5MTVfZ3Vj X3N1Ym1pc3Npb25fZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAog dm9pZCBpOTE1X2d1Y19zdWJtaXNzaW9uX2Rpc2FibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQogewotCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZkZXZfcHJpdi0+Z3VjOwot Ci0JaWYgKCFndWMtPmV4ZWNidWZfY2xpZW50KQotCQlyZXR1cm47Ci0KIAkvKiBSZXZlcnQgYmFj ayB0byBtYW51YWwgRUxTUCBzdWJtaXNzaW9uICovCiAJaW50ZWxfZXhlY2xpc3RzX2VuYWJsZV9z dWJtaXNzaW9uKGRldl9wcml2KTsKLQotCWd1Y19jbGllbnRfZnJlZShkZXZfcHJpdiwgZ3VjLT5l eGVjYnVmX2NsaWVudCk7Ci0JZ3VjLT5leGVjYnVmX2NsaWVudCA9IE5VTEw7CiB9CiAKIHZvaWQg aTkxNV9ndWNfc3VibWlzc2lvbl9maW5pKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIHsKIAlzdHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSAmZGV2X3ByaXYtPmd1YzsKKwlzdHJ1Y3Qg aTkxNV9ndWNfY2xpZW50ICpnYzsKKworCWdjID0gZmV0Y2hfYW5kX3plcm8oJmd1Yy0+ZXhlY2J1 Zl9jbGllbnQpOworCWlmIChnYykKKwkJZ3VjX2NsaWVudF9mcmVlKGRldl9wcml2LCBnYyk7CiAK IAlpOTE1X3ZtYV91bnBpbl9hbmRfcmVsZWFzZSgmZ3VjLT5hZHNfdm1hKTsKIAlpOTE1X3ZtYV91 bnBpbl9hbmRfcmVsZWFzZSgmZ3VjLT5sb2cudm1hKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2d1Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgK aW5kZXggMDA1MzI1OGUwM2QzLi5kYzU3MGE2ZDYxMmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2d1Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1 Yy5oCkBAIC03NCw3ICs3NCw3IEBAIHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgewogCXVpbnQzMl90 IHByb2NfZGVzY19vZmZzZXQ7CiAKIAl1aW50MzJfdCBkb29yYmVsbF9vZmZzZXQ7Ci0JdWludDMy X3QgY29va2llOworCXVpbnQzMl90IGRvb3JiZWxsX2Nvb2tpZTsKIAl1aW50MTZfdCBkb29yYmVs bF9pZDsKIAl1aW50MTZfdCBwYWRkaW5nWzNdOwkJLyogTWFpbnRhaW4gYWxpZ25tZW50CQkqLwog Ci0tIAoyLjEwLjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=