From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH v4 23/38] drm/i915: Defer seqno allocation until actual hardware submission time Date: Mon, 11 Jan 2016 18:42:52 +0000 Message-ID: <1452537788-32136-24-git-send-email-John.C.Harrison@Intel.com> References: <1448278774-31376-1-git-send-email-John.C.Harrison@Intel.com> <1452537788-32136-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 001036E520 for ; Mon, 11 Jan 2016 10:43:33 -0800 (PST) In-Reply-To: <1452537788-32136-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 biBvZgphIHJlcXVlc3QuIEl0IGlzIG5vIGxvbmdlciB1c2VkIHRvIHRyYWNrIHRoZSByZXF1ZXN0 IHRocm91Z2ggdGhlCnNvZnR3YXJlIHN0YWNrLiBUaHVzIGl0IGlzIG5vIGxvbmdlciBuZWNlc3Nh cnkgdG8gYWxsb2NhdGUgdGhlIHNlcW5vCmltbWVkaWF0ZWx5IHdpdGggdGhlIHJlcXVlc3QuIElu c3RlYWQsIGl0IGNhbiBiZSBkb25lIGxhemlseSBhbmQgbGVmdAp1bnRpbCB0aGUgcmVxdWVzdCBp cyBhY3R1YWxseSBzZW50IHRvIHRoZSBoYXJkd2FyZS4gVGhpcyBpcyBwYXJ0aWN1bGFyCmFkdmFu dGFnZW91cyB3aXRoIGEgR1BVIHNjaGVkdWxlciBhcyB0aGUgcmVxdWVzdHMgY2FuIHRoZW4gYmUK cmUtb3JkZXJlZCBiZXR3ZWVuIHRoZWlyIGNyZWF0aW9uIGFuZCB0aGVpciBoYXJkd2FyZSBzdWJt aXNzaW9uCndpdGhvdXQgaGF2aW5nIG91dCBvZiBvcmRlciBzZXFub3MuCgp2MjogaTkxNV9hZGRf cmVxdWVzdCgpIGNhbid0IGZhaWwhCgpDb21iaW5lIHdpdGggJ2RybS9pOTE1OiBBc3NpZ24gc2Vx bm8gYXQgc3RhcnQgb2YgZXhlY19maW5hbCgpJwpWYXJpb3VzIGJpdHMgb2YgY29kZSBkdXJpbmcg dGhlIGV4ZWNidWYgY29kZSBwYXRoIG5lZWQgYSBzZXFubyB2YWx1ZQp0byBiZSBhc3NpZ25lZCB0 byB0aGUgcmVxdWVzdC4gVGhpcyBjaGFuZ2UgbWFrZXMgdGhpcyBhc3NpZ25tZW50CmV4cGxpY2l0 IGF0IHRoZSBzdGFydCBvZiBzdWJtaXNzaW9uX2ZpbmFsKCkgcmF0aGVyIHRoYW4gcmVseWluZyBv biBhbgphdXRvLWdlbmVyYXRlZCBzZXFubyB0byBoYXZlIGhhcHBlbmVkIGFscmVhZHkuIFRoaXMg aXMgaW4gcHJlcGFyYXRpb24KZm9yIGEgZnV0dXJlIHBhdGNoIHdoaWNoIGNoYW5nZXMgc2Vxbm8g dmFsdWVzIHRvIGJlIGFzc2lnbmVkIGxhemlseQooZHVyaW5nIGFkZF9yZXF1ZXN0KS4KCnYzOiBV cGRhdGVkIHRvIHVzZSBsb2NhbGx5IGNhY2hlZCByZXF1ZXN0IHBvaW50ZXIuCgp2NDogQ2hhbmdl ZCBzb21lIHdoaXRlIHNwYWNlIGFuZCBjb21tZW50IGZvcm1hdHRpbmcgdG8ga2VlcCB0aGUgc3R5 bGUKY2hlY2tlciBoYXBweS4KCkZvcjogVklaLTE1ODcKU2lnbmVkLW9mZi1ieTogSm9obiBIYXJy aXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jICAgICAgICAgICAgfCAyMyArKysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwgMTQgKysrKysrKysrKysrKysKIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICAgICB8IDE0ICsrKysrKysrKysr KysrCiA0IGZpbGVzIGNoYW5nZWQsIDUxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA4ZDZkMDdhLi5hMzA0OTE4IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKQEAgLTIyMjUsNiArMjIyNSw3IEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCB7CiAKIAkvKiogR0VNIHNlcXVlbmNlIG51bWJlciBhc3NvY2lhdGVkIHdpdGggdGhpcyBy ZXF1ZXN0LiAqLwogCXVpbnQzMl90IHNlcW5vOworCXVpbnQzMl90IHJlc2VydmVkX3NlcW5vOwog CiAJLyogVW5pcXVlIGlkZW50aWZpZXIgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIHRyYWNlIHBvaW50 cyAmIGRlYnVnICovCiAJdWludDMyX3QgdW5pcTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4 IDA3M2IzMzQuLmIzN2RiZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMjU2Miw2ICsy NTYyLDExIEBAIGk5MTVfZ2VtX2dldF9zZXFubyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIg KnNlcW5vKQogCiAJLyogcmVzZXJ2ZSAwIGZvciBub24tc2Vxbm8gKi8KIAlpZiAoZGV2X3ByaXYt Pm5leHRfc2Vxbm8gPT0gMCkgeworCQkvKgorCQkgKiBXaHkgaXMgdGhlIGZ1bGwgcmUtaW5pdGlh bGlzYXRpb24gcmVxdWlyZWQ/IElzIGl0IG9ubHkgZm9yCisJCSAqIGhhcmR3YXJlIHNlbWFwaG9y ZXM/IElmIHNvLCBjb3VsZCBza2lwIGl0IGluIHRoZSBjYXNlIHdoZXJlCisJCSAqIHNlbWFwaG9y ZXMgYXJlIGRpc2FibGVkPworCQkgKi8KIAkJaW50IHJldCA9IGk5MTVfZ2VtX2luaXRfc2Vxbm8o ZGV2LCAwKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CkBAIC0yNjE5LDYgKzI2MjQsMTIg QEAgdm9pZCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXF1ZXN0LAogCQlXQVJOKHJldCwgIipfcmluZ19mbHVzaF9hbGxfY2FjaGVzIGZhaWxlZDogJWQh XG4iLCByZXQpOwogCX0KIAorCS8qIE1ha2UgdGhlIHJlcXVlc3QncyBzZXFubyAnbGl2ZSc6ICov CisJaWYgKCFyZXF1ZXN0LT5zZXFubykgeworCQlyZXF1ZXN0LT5zZXFubyA9IHJlcXVlc3QtPnJl c2VydmVkX3NlcW5vOworCQlXQVJOX09OKHJlcXVlc3QtPnNlcW5vICE9IGRldl9wcml2LT5sYXN0 X3NlcW5vKTsKKwl9CisKIAkvKiBSZWNvcmQgdGhlIHBvc2l0aW9uIG9mIHRoZSBzdGFydCBvZiB0 aGUgcmVxdWVzdCBzbyB0aGF0CiAJICogc2hvdWxkIHdlIGRldGVjdCB0aGUgdXBkYXRlZCBzZXFu byBwYXJ0LXdheSB0aHJvdWdoIHRoZQogCSAqIEdQVSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LCB3 ZSBuZXZlciBvdmVyLWVzdGltYXRlIHRoZQpAQCAtMjg3NCw2ICsyODg1LDkgQEAgdm9pZCBpOTE1 X2dlbV9yZXF1ZXN0X25vdGlmeShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLCBib29sIGZl bmNlX2xvY2tlZCkKIAogCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShyZXEsIHJlcV9uZXh0LCAm cmluZy0+ZmVuY2Vfc2lnbmFsX2xpc3QsIHNpZ25hbF9saW5rKSB7CiAJCWlmICghcmVxLT5jYW5j ZWxsZWQpIHsKKwkJCS8qIEhvdyBjYW4gdGhpcyBoYXBwZW4/ICovCisJCQlXQVJOX09OKHJlcS0+ c2Vxbm8gPT0gMCk7CisKIAkJCWlmICghaTkxNV9zZXFub19wYXNzZWQoc2Vxbm8sIHJlcS0+c2Vx bm8pKQogCQkJCWJyZWFrOwogCQl9CkBAIC0zMDIzLDcgKzMwMzcsMTQgQEAgaW50IGk5MTVfZ2Vt X3JlcXVlc3RfYWxsb2Moc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAlpZiAocmVxID09 IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JcmV0ID0gaTkxNV9nZW1fZ2V0X3NlcW5vKHJp bmctPmRldiwgJnJlcS0+c2Vxbm8pOworCS8qCisJICogQXNzaWduIGFuIGlkZW50aWZpZXIgdG8g dHJhY2sgdGhpcyByZXF1ZXN0IHRocm91Z2ggdGhlIGhhcmR3YXJlCisJICogYnV0IGRvbid0IG1h a2UgaXQgbGl2ZSB5ZXQuIEl0IGNvdWxkIGNoYW5nZSBpbiB0aGUgZnV0dXJlIGlmIHRoaXMKKwkg KiByZXF1ZXN0IGdldHMgb3ZlcnRha2VuLiBIb3dldmVyLCBpdCBzdGlsbCBuZWVkcyB0byBiZSBh bGxvY2F0ZWQKKwkgKiBpbiBhZHZhbmNlIGJlY2F1c2UgdGhlIHBvaW50IG9mIHN1Ym1pc3Npb24g bXVzdCBub3QgZmFpbCBhbmQgc2Vxbm8KKwkgKiBhbGxvY2F0aW9uIGNhbiBmYWlsLgorCSAqLwor CXJldCA9IGk5MTVfZ2VtX2dldF9zZXFubyhyaW5nLT5kZXYsICZyZXEtPnJlc2VydmVkX3NlcW5v KTsKIAlpZiAocmV0KQogCQlnb3RvIGVycjsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZXhlY2J1ZmZlci5jCmluZGV4IDNjODRiOTcuLjVlMGU3MDcgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKQEAgLTEyNDcsNiArMTI0NywyMCBAQCBpbnQg aTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uX2ZpbmFsKHN0cnVjdCBpOTE1X2V4ZWNidWZm ZXJfcGFyYW1zICpwYXJhbXMpCiAJLyogVGhlIG11dGV4IG11c3QgYmUgYWNxdWlyZWQgYmVmb3Jl IGNhbGxpbmcgdGhpcyBmdW5jdGlvbiAqLwogCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmcGFy YW1zLT5kZXYtPnN0cnVjdF9tdXRleCkpOwogCisJLyogTWFrZSBzdXJlIHRoZSByZXF1ZXN0J3Mg c2Vxbm8gaXMgdGhlIGxhdGVzdCBhbmQgZ3JlYXRlc3Q6ICovCisJaWYgKHJlcS0+cmVzZXJ2ZWRf c2Vxbm8gIT0gZGV2X3ByaXYtPmxhc3Rfc2Vxbm8pIHsKKwkJcmV0ID0gaTkxNV9nZW1fZ2V0X3Nl cW5vKHJpbmctPmRldiwgJnJlcS0+cmVzZXJ2ZWRfc2Vxbm8pOworCQlpZiAocmV0KQorCQkJcmV0 dXJuIHJldDsKKwl9CisJLyoKKwkgKiBBbmQgbWFrZSBpdCBsaXZlIGJlY2F1c2Ugc29tZSBvZiB0 aGUgZXhlY2J1ZmYgc3VibWlzc2lvbiBjb2RlCisJICogcmVxdWlyZXMgdGhlIHNlcW5vIHRvIGJl IGF2YWlsYWJsZSB1cCBmcm9udC4KKwkgKi8KKwlXQVJOX09OKHJlcS0+c2Vxbm8pOworCXJlcS0+ c2Vxbm8gPSByZXEtPnJlc2VydmVkX3NlcW5vOworCVdBUk5fT04ocmVxLT5zZXFubyAhPSBkZXZf cHJpdi0+bGFzdF9zZXFubyk7CisKIAlyZXQgPSBpbnRlbF9yaW5nX3Jlc2VydmVfc3BhY2UocmVx KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRl eCBkOGRkZjE4Li40MDM3MzM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtOTM0LDYg KzkzNCwyMCBAQCBpbnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb25fZmluYWwoc3RydWN0IGk5 MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcykKIAkvKiBUaGUgbXV0ZXggbXVzdCBiZSBhY3F1 aXJlZCBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uICovCiAJV0FSTl9PTighbXV0ZXhfaXNf bG9ja2VkKCZwYXJhbXMtPmRldi0+c3RydWN0X211dGV4KSk7CiAKKwkvKiBNYWtlIHN1cmUgdGhl IHJlcXVlc3QncyBzZXFubyBpcyB0aGUgbGF0ZXN0IGFuZCBncmVhdGVzdDogKi8KKwlpZiAocmVx LT5yZXNlcnZlZF9zZXFubyAhPSBkZXZfcHJpdi0+bGFzdF9zZXFubykgeworCQlyZXQgPSBpOTE1 X2dlbV9nZXRfc2Vxbm8ocmluZy0+ZGV2LCAmcmVxLT5yZXNlcnZlZF9zZXFubyk7CisJCWlmIChy ZXQpCisJCQlyZXR1cm4gcmV0OworCX0KKwkvKgorCSAqIEFuZCBtYWtlIGl0IGxpdmUgYmVjYXVz ZSBzb21lIG9mIHRoZSBleGVjYnVmZiBzdWJtaXNzaW9uIGNvZGUKKwkgKiByZXF1aXJlcyB0aGUg c2Vxbm8gdG8gYmUgYXZhaWxhYmxlIHVwIGZyb250LgorCSAqLworCVdBUk5fT04ocmVxLT5zZXFu byk7CisJcmVxLT5zZXFubyA9IHJlcS0+cmVzZXJ2ZWRfc2Vxbm87CisJV0FSTl9PTihyZXEtPnNl cW5vICE9IGRldl9wcml2LT5sYXN0X3NlcW5vKTsKKwogCXJldCA9IGludGVsX2xvZ2ljYWxfcmlu Z19yZXNlcnZlX3NwYWNlKHJlcSk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKLS0gCjEuOS4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=