From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [RFC 25/39] drm/i915: Defer seqno allocation until actual hardware submission time Date: Fri, 17 Jul 2015 15:33:34 +0100 Message-ID: <1437143628-6329-26-git-send-email-John.C.Harrison@Intel.com> References: <1437143628-6329-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 3AB976ED70 for ; Fri, 17 Jul 2015 07:34:21 -0700 (PDT) In-Reply-To: <1437143628-6329-1-git-send-email-John.C.Harrison@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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZSBzZXFu byB2YWx1ZSBpcyBub3cgb25seSB1c2VkIGZvciB0aGUgZmluYWwgdGVzdCBmb3IgY29tcGxldGlv biBvZiBhIHJlcXVlc3QuCkl0IGlzIG5vIGxvbmdlciB1c2VkIHRvIHRyYWNrIHRoZSByZXF1ZXN0 IHRocm91Z2ggdGhlIHNvZnR3YXJlIHN0YWNrLiBUaHVzIGl0IGlzCm5vIGxvbmdlciBuZWNlc3Nh cnkgdG8gYWxsb2NhdGUgdGhlIHNlcW5vIGltbWVkaWF0ZWx5IHdpdGggdGhlIHJlcXVlc3QuIElu c3RlYWQsCml0IGNhbiBiZSBkb25lIGxhemlseSBhbmQgbGVmdCB1bnRpbCB0aGUgcmVxdWVzdCBp cyBhY3R1YWxseSBzZW50IHRvIHRoZQpoYXJkd2FyZS4gVGhpcyBpcyBwYXJ0aWN1bGFyIGFkdmFu dGFnZW91cyB3aXRoIGEgR1BVIHNjaGVkdWxlciBhcyB0aGUgcmVxdWVzdHMKY2FuIHRoZW4gYmUg cmUtb3JkZXJlZCBiZXR3ZWVuIHRoZWlyIGNyZWF0aW9uIGFuZCB0aGVpciBoYXJkd2FyZSBzdWJt aXNzaW9uCndpdGhvdXQgaGF2aW5nIG91dCBvZiBvcmRlciBzZXFub3MuCgp2MjogaTkxNV9hZGRf cmVxdWVzdCgpIGNhbid0IGZhaWwhCgp2MzogY29tYmluZSB3aXRoICdkcm0vaTkxNTogQXNzaWdu IHNlcW5vIGF0IHN0YXJ0IG9mIGV4ZWNfZmluYWwoKScKVmFyaW91cyBiaXRzIG9mIGNvZGUgZHVy aW5nIHRoZSBleGVjYnVmIGNvZGUgcGF0aCBuZWVkIGEgc2Vxbm8gdmFsdWUgdG8gYmUKYXNzaWdu ZWQgdG8gdGhlIHJlcXVlc3QuIFRoaXMgY2hhbmdlIG1ha2VzIHRoaXMgYXNzaWdubWVudCBleHBs aWNpdCBhdCB0aGUgc3RhcnQKb2Ygc3VibWlzc2lvbl9maW5hbCgpIHJhdGhlciB0aGFuIHJlbHlp bmcgb24gYW4gYXV0by1nZW5lcmF0ZWQgc2Vxbm8gdG8gaGF2ZQpoYXBwZW5lZCBhbHJlYWR5LiBU aGlzIGlzIGluIHByZXBhcmF0aW9uIGZvciBhIGZ1dHVyZSBwYXRjaCB3aGljaCBjaGFuZ2VzIHNl cW5vCnZhbHVlcyB0byBiZSBhc3NpZ25lZCBsYXppbHkgKGR1cmluZyBhZGRfcmVxdWVzdCkuCgpD aGFuZ2UtSWQ6IEkwZDkyMmI4NGM1MTc2MTFhNzlmYTZjMmI5ZTczMGQ0ZmUzNjcxZDZhCkZvcjog VklaLTE1ODcKU2lnbmVkLW9mZi1ieTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQElu dGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAg fCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgICAgfCAyMSAr KysrKysrKysrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNi dWZmZXIuYyB8IDEzICsrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5jICAgICAgICAgICB8IDEzICsrKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgNDcgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDMw NTUyY2MuLjEyYjQ5ODYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjIwMSw2ICsyMjAx LDcgQEAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0IHsKIAogCS8qKiBHRU0gc2VxdWVuY2Ug bnVtYmVyIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlcXVlc3QuICovCiAJdWludDMyX3Qgc2Vxbm87 CisJdWludDMyX3QgcmVzZXJ2ZWRfc2Vxbm87CiAKIAkvKiBVbmlxdWUgaWRlbnRpZmllciB3aGlj aCBjYW4gYmUgdXNlZCBmb3IgdHJhY2UgcG9pbnRzICYgZGVidWcgKi8KIAl1aW50MzJfdCB1bmlx OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggMjBjNjk2Zi4uNzMwODgzOCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCkBAIC0yNTI0LDYgKzI1MjQsOSBAQCBpOTE1X2dlbV9nZXRfc2Vxbm8o c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTMyICpzZXFubykKIAogCS8qIHJlc2VydmUgMCBmb3Ig bm9uLXNlcW5vICovCiAJaWYgKGRldl9wcml2LT5uZXh0X3NlcW5vID09IDApIHsKKwkJLyogV2h5 IGlzIHRoZSBmdWxsIHJlLWluaXRpYWxpc2F0aW9uIHJlcXVpcmVkPyBJcyBpdCBvbmx5IGZvcgor CQkgKiBoYXJkd2FyZSBzZW1hcGhvcmVzPyBJZiBzbywgY291bGQgc2tpcCBpdCBpbiB0aGUgY2Fz ZSB3aGVyZQorCQkgKiBzZW1hcGhvcmVzIGFyZSBkaXNhYmxlZD8gKi8KIAkJaW50IHJldCA9IGk5 MTVfZ2VtX2luaXRfc2Vxbm8oZGV2LCAwKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CkBA IC0yNTgxLDYgKzI1ODQsMTIgQEAgdm9pZCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0LAogCQlXQVJOKHJldCwgIipfcmluZ19mbHVzaF9hbGxf Y2FjaGVzIGZhaWxlZDogJWQhXG4iLCByZXQpOwogCX0KIAorCS8qIE1ha2UgdGhlIHJlcXVlc3Qn cyBzZXFubyAnbGl2ZSc6ICovCisJaWYoIXJlcXVlc3QtPnNlcW5vKSB7CisJCXJlcXVlc3QtPnNl cW5vID0gcmVxdWVzdC0+cmVzZXJ2ZWRfc2Vxbm87CisJCVdBUk5fT04ocmVxdWVzdC0+c2Vxbm8g IT0gZGV2X3ByaXYtPmxhc3Rfc2Vxbm8pOworCX0KKwogCS8qIFJlY29yZCB0aGUgcG9zaXRpb24g b2YgdGhlIHN0YXJ0IG9mIHRoZSByZXF1ZXN0IHNvIHRoYXQKIAkgKiBzaG91bGQgd2UgZGV0ZWN0 IHRoZSB1cGRhdGVkIHNlcW5vIHBhcnQtd2F5IHRocm91Z2ggdGhlCiAJICogR1BVIHByb2Nlc3Np bmcgdGhlIHJlcXVlc3QsIHdlIG5ldmVyIG92ZXItZXN0aW1hdGUgdGhlCkBAIC0yODIxLDYgKzI4 MzAsOSBAQCB2b2lkIGk5MTVfZ2VtX3JlcXVlc3Rfbm90aWZ5KHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcpCiAJCQkJaWYgKCFjb21wbGV0ZSkKIAkJCQkJY29udGludWU7CiAJCQl9IGVsc2Ug eworCQkJCS8qIEhvdyBjYW4gdGhpcyBoYXBwZW4/ICovCisJCQkJV0FSTl9PTihyZXEtPnNlcW5v ID09IDApOworCiAJCQkJaWYgKCFpOTE1X3NlcW5vX3Bhc3NlZChzZXFubywgcmVxLT5zZXFubykp CiAJCQkJCWNvbnRpbnVlOwogCQkJfQpAQCAtMzAwOSw3ICszMDIxLDE0IEBAIGludCBpOTE1X2dl bV9yZXF1ZXN0X2FsbG9jKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJaWYgKHJlcSA9 PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCXJldCA9IGk5MTVfZ2VtX2dldF9zZXFubyhy aW5nLT5kZXYsICZyZXEtPnNlcW5vKTsKKwkvKgorCSAqIEFzc2lnbiBhbiBpZGVudGlmaWVyIHRv IHRyYWNrIHRoaXMgcmVxdWVzdCB0aHJvdWdoIHRoZSBoYXJkd2FyZQorCSAqIGJ1dCBkb24ndCBt YWtlIGl0IGxpdmUgeWV0LiBJdCBjb3VsZCBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSBpZiB0aGlzCisJ ICogcmVxdWVzdCBnZXRzIG92ZXJ0YWtlbi4gSG93ZXZlciwgaXQgc3RpbGwgbmVlZHMgdG8gYmUg YWxsb2NhdGVkCisJICogaW4gYWR2YW5jZSBiZWNhdXNlIHRoZSBwb2ludCBvZiBzdWJtaXNzaW9u IG11c3Qgbm90IGZhaWwgYW5kIHNlcW5vCisJICogYWxsb2NhdGlvbiBjYW4gZmFpbC4KKwkgKi8K KwlyZXQgPSBpOTE1X2dlbV9nZXRfc2Vxbm8ocmluZy0+ZGV2LCAmcmVxLT5yZXNlcnZlZF9zZXFu byk7CiAJaWYgKHJldCkKIAkJZ290byBlcnI7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2V4ZWNidWZmZXIuYwppbmRleCA2MWE1NDk4Li4xNjQyNzAxIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0xMzE3LDYgKzEzMTcsMTkgQEAgaW50 IGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbl9maW5hbChzdHJ1Y3QgaTkxNV9leGVjYnVm ZmVyX3BhcmFtcyAqcGFyYW1zKQogCS8qIFRoZSBtdXRleCBtdXN0IGJlIGFjcXVpcmVkIGJlZm9y ZSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gKi8KIAlCVUdfT04oIW11dGV4X2lzX2xvY2tlZCgmcGFy YW1zLT5kZXYtPnN0cnVjdF9tdXRleCkpOwogCisJLyogTWFrZSBzdXJlIHRoZSByZXF1ZXN0J3Mg c2Vxbm8gaXMgdGhlIGxhdGVzdCBhbmQgZ3JlYXRlc3Q6ICovCisJaWYocGFyYW1zLT5yZXF1ZXN0 LT5yZXNlcnZlZF9zZXFubyAhPSBkZXZfcHJpdi0+bGFzdF9zZXFubykgeworCQlyZXQgPSBpOTE1 X2dlbV9nZXRfc2Vxbm8ocmluZy0+ZGV2LCAmcGFyYW1zLT5yZXF1ZXN0LT5yZXNlcnZlZF9zZXFu byk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCX0KKwkvKgorCSAqIEFuZCBtYWtlIGl0 IGxpdmUgYmVjYXVzZSBzb21lIG9mIHRoZSBleGVjYnVmZiBzdWJtaXNzaW9uIGNvZGUKKwkgKiBy ZXF1aXJlcyB0aGUgc2Vxbm8gdG8gYmUgYXZhaWxhYmxlIHVwIGZyb250LiAqLworCVdBUk5fT04o cGFyYW1zLT5yZXF1ZXN0LT5zZXFubyk7CisJcGFyYW1zLT5yZXF1ZXN0LT5zZXFubyA9IHBhcmFt cy0+cmVxdWVzdC0+cmVzZXJ2ZWRfc2Vxbm87CisJV0FSTl9PTihwYXJhbXMtPnJlcXVlc3QtPnNl cW5vICE9IGRldl9wcml2LT5sYXN0X3NlcW5vKTsKKwogCXJldCA9IGludGVsX3JpbmdfcmVzZXJ2 ZV9zcGFjZShwYXJhbXMtPnJlcXVlc3QpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IGE4MTFkMGIuLmQzZTczOTkgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xyYy5jCkBAIC05MDgsNiArOTA4LDE5IEBAIGludCBpbnRlbF9leGVjbGlzdHNfc3Vi bWlzc2lvbl9maW5hbChzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zKQogCS8q IFRoZSBtdXRleCBtdXN0IGJlIGFjcXVpcmVkIGJlZm9yZSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24g Ki8KIAlCVUdfT04oIW11dGV4X2lzX2xvY2tlZCgmcGFyYW1zLT5kZXYtPnN0cnVjdF9tdXRleCkp OwogCisJLyogTWFrZSBzdXJlIHRoZSByZXF1ZXN0J3Mgc2Vxbm8gaXMgdGhlIGxhdGVzdCBhbmQg Z3JlYXRlc3Q6ICovCisJaWYocGFyYW1zLT5yZXF1ZXN0LT5yZXNlcnZlZF9zZXFubyAhPSBkZXZf cHJpdi0+bGFzdF9zZXFubykgeworCQlyZXQgPSBpOTE1X2dlbV9nZXRfc2Vxbm8ocmluZy0+ZGV2 LCAmcGFyYW1zLT5yZXF1ZXN0LT5yZXNlcnZlZF9zZXFubyk7CisJCWlmIChyZXQpCisJCQlyZXR1 cm4gcmV0OworCX0KKwkvKgorCSAqIEFuZCBtYWtlIGl0IGxpdmUgYmVjYXVzZSBzb21lIG9mIHRo ZSBleGVjYnVmZiBzdWJtaXNzaW9uIGNvZGUKKwkgKiByZXF1aXJlcyB0aGUgc2Vxbm8gdG8gYmUg YXZhaWxhYmxlIHVwIGZyb250LiAqLworCVdBUk5fT04ocGFyYW1zLT5yZXF1ZXN0LT5zZXFubyk7 CisJcGFyYW1zLT5yZXF1ZXN0LT5zZXFubyA9IHBhcmFtcy0+cmVxdWVzdC0+cmVzZXJ2ZWRfc2Vx bm87CisJV0FSTl9PTihwYXJhbXMtPnJlcXVlc3QtPnNlcW5vICE9IGRldl9wcml2LT5sYXN0X3Nl cW5vKTsKKwogCXJldCA9IGludGVsX2xvZ2ljYWxfcmluZ19yZXNlcnZlX3NwYWNlKHBhcmFtcy0+ cmVxdWVzdCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKLS0gCjEuOS4xCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=