From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH v4 38/38] drm/i915: Allow scheduler to manage inter-ring object synchronisation Date: Mon, 11 Jan 2016 18:43:07 +0000 Message-ID: <1452537788-32136-39-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 8AEFD6E517 for ; Mon, 11 Jan 2016 10:43:48 -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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZSBzY2hl ZHVsZXIgaGFzIGFsd2F5cyB0cmFja2VkIGJhdGNoIGJ1ZmZlciBkZXBlbmRlbmNpZXMgYmFzZWQg b24KRFJNIG9iamVjdCB1c2FnZS4gVGhpcyBtZWFucyB0aGF0IGl0IHdpbGwgbm90IHN1Ym1pdCBh IGJhdGNoIG9uIG9uZQpyaW5nIHRoYXQgaGFzIG91dHN0YW5kaW5nIGRlcGVuZGVuY2llcyBzdGls bCBleGVjdXRpbmcgb24gb3RoZXIgcmluZ3MuClRoaXMgaXMgZXhhY3RseSB0aGUgc2FtZSBzeW5j aHJvbmlzYXRpb24gcGVyZm9ybWVkIGJ5Cmk5MTVfZ2VtX29iamVjdF9zeW5jKCkgdXNpbmcgaGFy ZHdhcmUgc2VtYXBob3JlcyB3aGVyZSBhdmFpbGFibGUgYW5kCkNQVSBzdGFsbHMgd2hlcmUgbm90 IChlLmcuIGluIGV4ZWNsaXN0IG1vZGUgYW5kL29yIG9uIEdlbjggaGFyZHdhcmUpLgoKVW5mb3J0 dW5hdGVseSwgd2hlbiBhIGJhdGNoIGJ1ZmZlciBpcyBzdWJtaXR0ZWQgdG8gdGhlIGRyaXZlciB0 aGUKX29iamVjdF9zeW5jKCkgY2FsbCBoYXBwZW5zIGZpcnN0LiBUaHVzIGluIGNhc2Ugd2hlcmUg aGFyZHdhcmUKc2VtYXBob3JlcyBhcmUgZGlzYWJsZWQsIHRoZSBkcml2ZXIgaGFzIGFscmVhZHkg c3RhbGxlZCB1bnRpbCB0aGUKZGVwZW5kZW5jeSBoYXMgYmVlbiByZXNvbHZlZC4KClRoaXMgcGF0 Y2ggYWRkcyBhbiBvcHRpbWlzYXRpb24gdG8gX29iamVjdF9zeW5jKCkgdG8gaWdub3JlIHRoZQpz eW5jaHJvbmlzYXRpb24gaW4gdGhlIGNhc2Ugd2hlcmUgaXQgd2lsbCBzdWJzZXF1ZW50bHkgYmUg aGFuZGxlZCBieQp0aGUgc2NoZWR1bGVyLiBUaGlzIHJlbW92ZXMgdGhlIGRyaXZlciBzdGFsbCBh bmQgKGluIHRoZSBzaW5nbGUKYXBwbGljYXRpb24gY2FzZSkgcHJvdmlkZXMgbmVhciBoYXJkd2Fy ZSBzZW1hcGhvcmUgcGVyZm9ybWFuY2UgZXZlbgp3aGVuIGhhcmR3YXJlIHNlbWFwaG9yZXMgYXJl IGRpc2FibGVkLiBJbiBhIGJ1c3kgc3lzdGVtIHdoZXJlIHRoZXJlIGlzCm90aGVyIHdvcmsgdGhh dCBjYW4gYmUgZXhlY3V0ZWQgb24gdGhlIHN0YWxsaW5nIHJpbmcsIGl0IHByb3ZpZGVzCmJldHRl ciB0aGFuIGhhcmR3YXJlIHNlbWFwaG9yZSBwZXJmb3JtYW5jZSBhcyBpdCByZW1vdmVzIHRoZSBz dGFsbApmcm9tIGJvdGggdGhlIGRyaXZlciBhbmQgZnJvbSB0aGUgaGFyZHdhcmUuIFRoZXJlIGlz IGFsc28gYSB0aGVvcnkKdGhhdCB0aGlzIG1ldGhvZCBzaG91bGQgaW1wcm92ZSBwb3dlciB1c2Fn ZSBhcyBoYXJkd2FyZSBzZW1hcGhvcmVzIGFyZQphcHBhcmVudGx5IG5vdCB2ZXJ5IHBvd2VyIGVm ZmljaWVudCAtIHRoZSBzdGFsbGVkIHJpbmcgZG9lcyBub3QgZ28KaW50byBhcyBsb3cgYSBwb3dl ciBhIHN0YXRlIGFzIHdoZW4gaXQgaXMgZ2VudWluZWx5IGlkbGUuCgpUaGUgb3B0aW1pc2F0aW9u IGlzIHRvIGNoZWNrIHdoZXRoZXIgYm90aCBlbmRzIG9mIHRoZSBzeW5jaHJvbmlzYXRpb24KYXJl IGJhdGNoIGJ1ZmZlciByZXF1ZXN0cy4gSWYgdGhleSBhcmUsIHRoZW4gdGhlIHNjaGVkdWxlciB3 aWxsIGhhdmUKdGhlIGludGVyLWRlcGVuZGVuY3kgdHJhY2tlZCBhbmQgbWFuYWdlZC4gSWYgb25l IG9yIG90aGVyIGVuZCBpcyBub3QgYQpiYXRjaCBidWZmZXIgcmVxdWVzdCAoZS5nLiBhIHBhZ2Ug ZmxpcCkgdGhlbiB0aGUgY29kZSBmYWxscyBiYWNrIHRvCnRoZSBDUFUgc3RhbGwgb3IgaGFyZHdh cmUgc2VtYXBob3JlIGFzIGFwcHJvcHJpYXRlLgoKVG8gY2hlY2sgd2hldGhlciB0aGUgZXhpc3Rp bmcgdXNhZ2UgaXMgYSBiYXRjaCBidWZmZXIsIHRoZSBjb2RlIHNpbXBseQpjYWxscyB0aGUgJ2Fy ZSB5b3UgdHJhY2tpbmcgdGhpcyByZXF1ZXN0JyBmdW5jdGlvbiBvZiB0aGUgc2NoZWR1bGVyIG9u CnRoZSBvYmplY3QncyBsYXN0X3JlYWRfcmVxIG1lbWJlci4gVG8gY2hlY2sgd2hldGhlciB0aGUg bmV3IHVzYWdlIGlzIGEKYmF0Y2ggYnVmZmVyLCBhIGZsYWcgaXMgcGFzc2VkIGluIGZyb20gdGhl IGNhbGxlci4KCklzc3VlOiBWSVotNTU2NgpTaWduZWQtb2ZmLWJ5OiBKb2huIEhhcnJpc29uIDxK b2huLkMuSGFycmlzb25ASW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j ICAgICAgICAgICAgfCAxNyArKysrKysrKysrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu YyAgICAgICAgICAgfCAgMiArLQogNSBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCA3 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGY3Y2Q5ZGMuLjIwYzhh MDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjk2Miw3ICsyOTYyLDcgQEAgaW50IF9f bXVzdF9jaGVjayBpOTE1X211dGV4X2xvY2tfaW50ZXJydXB0aWJsZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KTsKICNlbmRpZgogaW50IGk5MTVfZ2VtX29iamVjdF9zeW5jKHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmosCiAJCQkgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqdG8sCi0JCQkg c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICoqdG9fcmVxKTsKKwkJCSBzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKip0b19yZXEsIGJvb2wgdG9fYmF0Y2gpOwogdm9pZCBpOTE1X3ZtYV9t b3ZlX3RvX2FjdGl2ZShzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKIAkJCSAgICAgc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0ICpyZXEpOwogaW50IGk5MTVfZ2VtX2R1bWJfY3JlYXRlKHN0cnVjdCBk cm1fZmlsZSAqZmlsZV9wcml2LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggYjM3ZGJkNy4u MDVmNTVkYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0zNTIyLDcgKzM1MjIsNyBAQCBz dGF0aWMgaW50CiBfX2k5MTVfZ2VtX29iamVjdF9zeW5jKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmosCiAJCSAgICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICp0bywKIAkJICAgICAg IHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqZnJvbV9yZXEsCi0JCSAgICAgICBzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKip0b19yZXEpCisJCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKip0b19yZXEsIGJvb2wgdG9fYmF0Y2gpCiB7CiAJc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZnJvbTsKIAlpbnQgcmV0OwpAQCAtMzUzNCw2ICszNTM0LDE1IEBAIF9faTkxNV9n ZW1fb2JqZWN0X3N5bmMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlpZiAoaTkx NV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQoZnJvbV9yZXEpKQogCQlyZXR1cm4gMDsKIAorCS8qCisJ ICogVGhlIHNjaGVkdWxlciB3aWxsIG1hbmFnZSBpbnRlci1yaW5nIG9iamVjdCBkZXBlbmRlbmNp ZXMKKwkgKiBhcyBsb25nIGFzIGJvdGggdG8gYW5kIGZyb20gcmVxdWVzdHMgYXJlIHNjaGVkdWxl ciBtYW5hZ2VkCisJICogKGkuZS4gYmF0Y2ggYnVmZmVycykuCisJICovCisJaWYgKHRvX2JhdGNo ICYmCisJICAgIGk5MTVfc2NoZWR1bGVyX2lzX3JlcXVlc3RfdHJhY2tlZChmcm9tX3JlcSwgTlVM TCwgTlVMTCkpCisJCXJldHVybiAwOworCiAJaWYgKCFpOTE1X3NlbWFwaG9yZV9pc19lbmFibGVk KG9iai0+YmFzZS5kZXYpKSB7CiAJCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9f aTkxNShvYmotPmJhc2UuZGV2KTsKIAkJcmV0ID0gX19pOTE1X3dhaXRfcmVxdWVzdChmcm9tX3Jl cSwKQEAgLTM1ODQsNiArMzU5Myw4IEBAIF9faTkxNV9nZW1fb2JqZWN0X3N5bmMoc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKICAqIEB0b19yZXE6IHJlcXVlc3Qgd2Ugd2lzaCB0byB1 c2UgdGhlIG9iamVjdCBmb3IuIFNlZSBiZWxvdy4KICAqICAgICAgICAgIFRoaXMgd2lsbCBiZSBh bGxvY2F0ZWQgYW5kIHJldHVybmVkIGlmIGEgcmVxdWVzdCBpcwogICogICAgICAgICAgcmVxdWly ZWQgYnV0IG5vdCBwYXNzZWQgaW4uCisgKiBAdG9fYmF0Y2g6IGlzIHRoZSBzeW5jIHJlcXVlc3Qg b24gYmVoYWxmIG9mIGJhdGNoIGJ1ZmZlciBzdWJtaXNzaW9uPworICogSWYgc28gdGhlbiB0aGUg c2NoZWR1bGVyIGNhbiAocG90ZW50aWFsbHkpIG1hbmFnZSB0aGUgc3luY2hyb25pc2F0aW9uLgog ICoKICAqIFRoaXMgY29kZSBpcyBtZWFudCB0byBhYnN0cmFjdCBvYmplY3Qgc3luY2hyb25pemF0 aW9uIHdpdGggdGhlIEdQVS4KICAqIENhbGxpbmcgd2l0aCBOVUxMIGltcGxpZXMgc3luY2hyb25p emluZyB0aGUgb2JqZWN0IHdpdGggdGhlIENQVQpAQCAtMzYxNCw3ICszNjI1LDcgQEAgX19pOTE1 X2dlbV9vYmplY3Rfc3luYyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogaW50CiBp OTE1X2dlbV9vYmplY3Rfc3luYyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkg ICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnRvLAotCQkgICAgIHN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqKnRvX3JlcSkKKwkJICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg Kip0b19yZXEsIGJvb2wgdG9fYmF0Y2gpCiB7CiAJY29uc3QgYm9vbCByZWFkb25seSA9IG9iai0+ YmFzZS5wZW5kaW5nX3dyaXRlX2RvbWFpbiA9PSAwOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxW0k5MTVfTlVNX1JJTkdTXTsKQEAgLTM2MzYsNyArMzY0Nyw3IEBAIGk5MTVfZ2Vt X29iamVjdF9zeW5jKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkJcmVxW24r K10gPSBvYmotPmxhc3RfcmVhZF9yZXFbaV07CiAJfQogCWZvciAoaSA9IDA7IGkgPCBuOyBpKysp IHsKLQkJcmV0ID0gX19pOTE1X2dlbV9vYmplY3Rfc3luYyhvYmosIHRvLCByZXFbaV0sIHRvX3Jl cSk7CisJCXJldCA9IF9faTkxNV9nZW1fb2JqZWN0X3N5bmMob2JqLCB0bywgcmVxW2ldLCB0b19y ZXEsIHRvX2JhdGNoKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CiAJfQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCmluZGV4IGNiMDc2ZTEuLjMwNTk0NzUg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKQEAgLTkxNyw3 ICs5MTcsNyBAQCBpOTE1X2dlbV9leGVjYnVmZmVyX21vdmVfdG9fZ3B1KHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcmVxLAogCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0g dm1hLT5vYmo7CiAKIAkJaWYgKG9iai0+YWN0aXZlICYgb3RoZXJfcmluZ3MpIHsKLQkJCXJldCA9 IGk5MTVfZ2VtX29iamVjdF9zeW5jKG9iaiwgcmVxLT5yaW5nLCAmcmVxKTsKKwkJCXJldCA9IGk5 MTVfZ2VtX29iamVjdF9zeW5jKG9iaiwgcmVxLT5yaW5nLCAmcmVxLCB0cnVlKTsKIAkJCWlmIChy ZXQpCiAJCQkJcmV0dXJuIHJldDsKIAkJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j CmluZGV4IDU4YzQ2NGYuLjM2MTI1NjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKQEAgLTExNDg3LDcgKzExNDg3LDcgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX3BhZ2VfZmxp cChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJICogaW50byB0aGUgZGlzcGxheSBwbGFuZSBhbmQg c2tpcCBhbnkgd2FpdHMuCiAJICovCiAJaWYgKCFtbWlvX2ZsaXApIHsKLQkJcmV0ID0gaTkxNV9n ZW1fb2JqZWN0X3N5bmMob2JqLCByaW5nLCAmcmVxdWVzdCk7CisJCXJldCA9IGk5MTVfZ2VtX29i amVjdF9zeW5jKG9iaiwgcmluZywgJnJlcXVlc3QsIGZhbHNlKTsKIAkJaWYgKHJldCkKIAkJCWdv dG8gY2xlYW51cF9wZW5kaW5nOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggYjI4 NjFhYS4uOGE2NTgzZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTY1NSw3ICs2NTUs NyBAQCBzdGF0aWMgaW50IGV4ZWNsaXN0c19tb3ZlX3RvX2dwdShzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSwKIAkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IHZtYS0+ b2JqOwogCiAJCWlmIChvYmotPmFjdGl2ZSAmIG90aGVyX3JpbmdzKSB7Ci0JCQlyZXQgPSBpOTE1 X2dlbV9vYmplY3Rfc3luYyhvYmosIHJlcS0+cmluZywgJnJlcSk7CisJCQlyZXQgPSBpOTE1X2dl bV9vYmplY3Rfc3luYyhvYmosIHJlcS0+cmluZywgJnJlcSwgdHJ1ZSk7CiAJCQlpZiAocmV0KQog CQkJCXJldHVybiByZXQ7CiAJCX0KLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=