From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 23/39] drm/i915: Defer seqno allocation until actual hardware submission time Date: Mon, 23 Nov 2015 11:39:18 +0000 Message-ID: <1448278774-31376-24-git-send-email-John.C.Harrison@Intel.com> References: <1448278774-31376-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id CBB5F721FB for ; Mon, 23 Nov 2015 03:39:58 -0800 (PST) In-Reply-To: <1448278774-31376-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 OTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDVi ODkzYTYuLjE1ZGVlNDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjIyNSw2ICsyMjI1 LDcgQEAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0IHsKIAogCS8qKiBHRU0gc2VxdWVuY2Ug bnVtYmVyIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlcXVlc3QuICovCiAJdWludDMyX3Qgc2Vxbm87 CisJdWludDMyX3QgcmVzZXJ2ZWRfc2Vxbm87CiAKIAkvKiBVbmlxdWUgaWRlbnRpZmllciB3aGlj aCBjYW4gYmUgdXNlZCBmb3IgdHJhY2UgcG9pbnRzICYgZGVidWcgKi8KIAl1aW50MzJfdCB1bmlx OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggZWJiOGUwYy4uOWMwODAzNSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCkBAIC0yNTI5LDYgKzI1MjksOSBAQCBpOTE1X2dlbV9nZXRfc2Vxbm8o c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTMyICpzZXFubykKIAogCS8qIHJlc2VydmUgMCBmb3Ig bm9uLXNlcW5vICovCiAJaWYgKGRldl9wcml2LT5uZXh0X3NlcW5vID09IDApIHsKKwkJLyogV2h5 IGlzIHRoZSBmdWxsIHJlLWluaXRpYWxpc2F0aW9uIHJlcXVpcmVkPyBJcyBpdCBvbmx5IGZvcgor CQkgKiBoYXJkd2FyZSBzZW1hcGhvcmVzPyBJZiBzbywgY291bGQgc2tpcCBpdCBpbiB0aGUgY2Fz ZSB3aGVyZQorCQkgKiBzZW1hcGhvcmVzIGFyZSBkaXNhYmxlZD8gKi8KIAkJaW50IHJldCA9IGk5 MTVfZ2VtX2luaXRfc2Vxbm8oZGV2LCAwKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CkBA IC0yNTg2LDYgKzI1ODksMTIgQEAgdm9pZCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0LAogCQlXQVJOKHJldCwgIipfcmluZ19mbHVzaF9hbGxf Y2FjaGVzIGZhaWxlZDogJWQhXG4iLCByZXQpOwogCX0KIAorCS8qIE1ha2UgdGhlIHJlcXVlc3Qn cyBzZXFubyAnbGl2ZSc6ICovCisJaWYoIXJlcXVlc3QtPnNlcW5vKSB7CisJCXJlcXVlc3QtPnNl cW5vID0gcmVxdWVzdC0+cmVzZXJ2ZWRfc2Vxbm87CisJCVdBUk5fT04ocmVxdWVzdC0+c2Vxbm8g IT0gZGV2X3ByaXYtPmxhc3Rfc2Vxbm8pOworCX0KKwogCS8qIFJlY29yZCB0aGUgcG9zaXRpb24g b2YgdGhlIHN0YXJ0IG9mIHRoZSByZXF1ZXN0IHNvIHRoYXQKIAkgKiBzaG91bGQgd2UgZGV0ZWN0 IHRoZSB1cGRhdGVkIHNlcW5vIHBhcnQtd2F5IHRocm91Z2ggdGhlCiAJICogR1BVIHByb2Nlc3Np bmcgdGhlIHJlcXVlc3QsIHdlIG5ldmVyIG92ZXItZXN0aW1hdGUgdGhlCkBAIC0yODM1LDYgKzI4 NDQsOSBAQCB2b2lkIGk5MTVfZ2VtX3JlcXVlc3Rfbm90aWZ5KHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcsIGJvb2wgZmVuY2VfbG9ja2VkKQogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZl KHJlcSwgcmVxX25leHQsICZyaW5nLT5mZW5jZV9zaWduYWxfbGlzdCwgc2lnbmFsX2xpbmspIHsK IAkJaWYgKCFyZXEtPmNhbmNlbGxlZCkgeworCQkJLyogSG93IGNhbiB0aGlzIGhhcHBlbj8gKi8K KwkJCVdBUk5fT04ocmVxLT5zZXFubyA9PSAwKTsKKwogCQkJaWYgKCFpOTE1X3NlcW5vX3Bhc3Nl ZChzZXFubywgcmVxLT5zZXFubykpCiAJCQkJYnJlYWs7CiAJCX0KQEAgLTMwNTcsNyArMzA2OSwx NCBAQCBpbnQgaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpy aW5nLAogCWlmIChyZXEgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQlyZXQgPSBpOTE1 X2dlbV9nZXRfc2Vxbm8ocmluZy0+ZGV2LCAmcmVxLT5zZXFubyk7CisJLyoKKwkgKiBBc3NpZ24g YW4gaWRlbnRpZmllciB0byB0cmFjayB0aGlzIHJlcXVlc3QgdGhyb3VnaCB0aGUgaGFyZHdhcmUK KwkgKiBidXQgZG9uJ3QgbWFrZSBpdCBsaXZlIHlldC4gSXQgY291bGQgY2hhbmdlIGluIHRoZSBm dXR1cmUgaWYgdGhpcworCSAqIHJlcXVlc3QgZ2V0cyBvdmVydGFrZW4uIEhvd2V2ZXIsIGl0IHN0 aWxsIG5lZWRzIHRvIGJlIGFsbG9jYXRlZAorCSAqIGluIGFkdmFuY2UgYmVjYXVzZSB0aGUgcG9p bnQgb2Ygc3VibWlzc2lvbiBtdXN0IG5vdCBmYWlsIGFuZCBzZXFubworCSAqIGFsbG9jYXRpb24g Y2FuIGZhaWwuCisJICovCisJcmV0ID0gaTkxNV9nZW1fZ2V0X3NlcW5vKHJpbmctPmRldiwgJnJl cS0+cmVzZXJ2ZWRfc2Vxbm8pOwogCWlmIChyZXQpCiAJCWdvdG8gZXJyOwogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKaW5kZXggZmU5MDU3MS4uMWMyNDlkMCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwpAQCAtMTI0OCw2 ICsxMjQ4LDE5IEBAIGludCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb25fZmluYWwoc3Ry dWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcykKIAkvKiBUaGUgbXV0ZXggbXVzdCBi ZSBhY3F1aXJlZCBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uICovCiAJQlVHX09OKCFtdXRl eF9pc19sb2NrZWQoJnBhcmFtcy0+ZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKIAorCS8qIE1ha2Ugc3Vy ZSB0aGUgcmVxdWVzdCdzIHNlcW5vIGlzIHRoZSBsYXRlc3QgYW5kIGdyZWF0ZXN0OiAqLworCWlm KHBhcmFtcy0+cmVxdWVzdC0+cmVzZXJ2ZWRfc2Vxbm8gIT0gZGV2X3ByaXYtPmxhc3Rfc2Vxbm8p IHsKKwkJcmV0ID0gaTkxNV9nZW1fZ2V0X3NlcW5vKHJpbmctPmRldiwgJnBhcmFtcy0+cmVxdWVz dC0+cmVzZXJ2ZWRfc2Vxbm8pOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwl9CisJLyoK KwkgKiBBbmQgbWFrZSBpdCBsaXZlIGJlY2F1c2Ugc29tZSBvZiB0aGUgZXhlY2J1ZmYgc3VibWlz c2lvbiBjb2RlCisJICogcmVxdWlyZXMgdGhlIHNlcW5vIHRvIGJlIGF2YWlsYWJsZSB1cCBmcm9u dC4gKi8KKwlXQVJOX09OKHBhcmFtcy0+cmVxdWVzdC0+c2Vxbm8pOworCXBhcmFtcy0+cmVxdWVz dC0+c2Vxbm8gPSBwYXJhbXMtPnJlcXVlc3QtPnJlc2VydmVkX3NlcW5vOworCVdBUk5fT04ocGFy YW1zLT5yZXF1ZXN0LT5zZXFubyAhPSBkZXZfcHJpdi0+bGFzdF9zZXFubyk7CisKIAlyZXQgPSBp bnRlbF9yaW5nX3Jlc2VydmVfc3BhY2UocGFyYW1zLT5yZXF1ZXN0KTsKIAlpZiAocmV0KQogCQly ZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCAxOTFhMTE4Li40MWUyMGJh IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtOTMyLDYgKzkzMiwxOSBAQCBpbnQgaW50 ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb25fZmluYWwoc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJh bXMgKnBhcmFtcykKIAkvKiBUaGUgbXV0ZXggbXVzdCBiZSBhY3F1aXJlZCBiZWZvcmUgY2FsbGlu ZyB0aGlzIGZ1bmN0aW9uICovCiAJQlVHX09OKCFtdXRleF9pc19sb2NrZWQoJnBhcmFtcy0+ZGV2 LT5zdHJ1Y3RfbXV0ZXgpKTsKIAorCS8qIE1ha2Ugc3VyZSB0aGUgcmVxdWVzdCdzIHNlcW5vIGlz IHRoZSBsYXRlc3QgYW5kIGdyZWF0ZXN0OiAqLworCWlmKHBhcmFtcy0+cmVxdWVzdC0+cmVzZXJ2 ZWRfc2Vxbm8gIT0gZGV2X3ByaXYtPmxhc3Rfc2Vxbm8pIHsKKwkJcmV0ID0gaTkxNV9nZW1fZ2V0 X3NlcW5vKHJpbmctPmRldiwgJnBhcmFtcy0+cmVxdWVzdC0+cmVzZXJ2ZWRfc2Vxbm8pOworCQlp ZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwl9CisJLyoKKwkgKiBBbmQgbWFrZSBpdCBsaXZlIGJl Y2F1c2Ugc29tZSBvZiB0aGUgZXhlY2J1ZmYgc3VibWlzc2lvbiBjb2RlCisJICogcmVxdWlyZXMg dGhlIHNlcW5vIHRvIGJlIGF2YWlsYWJsZSB1cCBmcm9udC4gKi8KKwlXQVJOX09OKHBhcmFtcy0+ cmVxdWVzdC0+c2Vxbm8pOworCXBhcmFtcy0+cmVxdWVzdC0+c2Vxbm8gPSBwYXJhbXMtPnJlcXVl c3QtPnJlc2VydmVkX3NlcW5vOworCVdBUk5fT04ocGFyYW1zLT5yZXF1ZXN0LT5zZXFubyAhPSBk ZXZfcHJpdi0+bGFzdF9zZXFubyk7CisKIAlyZXQgPSBpbnRlbF9sb2dpY2FsX3JpbmdfcmVzZXJ2 ZV9zcGFjZShwYXJhbXMtPnJlcXVlc3QpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7Ci0tIAox LjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK