From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [RFC 08/39] drm/i915: Prepare retire_requests to handle out-of-order seqnos Date: Fri, 17 Jul 2015 15:33:17 +0100 Message-ID: <1437143628-6329-9-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 209956E557 for ; Fri, 17 Jul 2015 07:34:00 -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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KCkEgbWFqb3Ig cG9pbnQgb2YgdGhlIEdQVSBzY2hlZHVsZXIgaXMgdGhhdCBpdCByZS1vcmRlcnMgYmF0Y2ggYnVm ZmVycyBhZnRlciB0aGV5CmhhdmUgYmVlbiBzdWJtaXR0ZWQgdG8gdGhlIGRyaXZlci4gVGhpcyBs ZWFkcyB0byByZXF1ZXN0cyBjb21wbGV0aW5nIG91dCBvZgpvcmRlci4gSW4gdHVybiwgdGhpcyBt ZWFucyB0aGF0IHRoZSByZXRpcmUgcHJvY2Vzc2luZyBjYW4gbm8gbG9uZ2VyIGFzc3VtZSB0aGF0 CmFsbCBjb21wbGV0ZWQgZW50cmllcyBhcmUgYXQgdGhlIGZyb250IG9mIHRoZSBsaXN0LiBSYXRo ZXIgdGhhbiBhdHRlbXB0aW5nIHRvCnJlLW9yZGVyIHRoZSByZXF1ZXN0IGxpc3Qgb24gYSByZWd1 bGFyIGJhc2lzLCBpdCBpcyBiZXR0ZXIgdG8gc2ltcGx5IHNjYW4gdGhlCmVudGlyZSBsaXN0LgoK VGhlcmUgaXMgYWxzbyBhIHByb2JsZW0gd2l0aCBkb2luZyB0aGUgZnJlZSBvZiB0aGUgcmVxdWVz dCBiZWZvcmUgdGhlIG1vdmUgdG8KaW5hY3RpdmUuIFRodXMgdGhlIHJlcXVlc3RzIGFyZSBub3cg bW92ZWQgdG8gYSB0ZW1wb3JhcnkgbGlzdCBmaXJzdCwgdGhlbiB0aGUKb2JqZWN0cyBkZS1hY3Rp dmF0ZWQgYW5kIGZpbmFsbHkgdGhlIHJlcXVlc3RzIG9uIHRoZSB0ZW1wb3JhcnkgbGlzdCBhcmUg ZnJlZWQuCgpDaGFuZ2UtSWQ6IEk3ZWI2NzkzNTgxZDlkMjhlYjgzMmUwZTk0YzExNmI3MjAyZmEx YjI2CkZvcjogVklaLTE1ODcKU2lnbmVkLW9mZi1ieTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhh cnJpc29uQEludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIHwg NTQgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCAzMCBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYwppbmRleCAzZmJjNmVjLi41NjQwNWNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAg LTMxNzEsNiArMzE3MSwxMCBAQCB2b2lkIGk5MTVfZ2VtX3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiB2b2lkCiBpOTE1X2dlbV9yZXRpcmVfcmVxdWVzdHNfcmluZyhzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nKQogeworCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosICpv YmpfbmV4dDsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwgKnJlcV9uZXh0Owor CUxJU1RfSEVBRChkZWZlcnJlZF9yZXF1ZXN0X2ZyZWUpOworCiAJV0FSTl9PTihpOTE1X3Zlcmlm eV9saXN0cyhyaW5nLT5kZXYpKTsKIAogCS8qCkBAIC0zMTgwLDM3ICszMTg0LDMxIEBAIGk5MTVf Z2VtX3JldGlyZV9yZXF1ZXN0c19yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJ ICovCiAJaTkxNV9nZW1fcmVxdWVzdF9ub3RpZnkocmluZyk7CiAKKwkvKgorCSAqIE5vdGUgdGhh dCByZXF1ZXN0IGVudHJpZXMgbWlnaHQgYmUgb3V0IG9mIG9yZGVyIGR1ZSB0byByZXNjaGVkdWxp bmcKKwkgKiBhbmQgcHJlLWVtcHRpb24uIFRodXMgYm90aCBsaXN0cyBtdXN0IGJlIHByb2Nlc3Nl ZCBpbiB0aGVpciBlbnRpcmV0eQorCSAqIHJhdGhlciB0aGFuIHN0b3BwaW5nIGF0IHRoZSBmaXJz dCBub24tY29tcGxldGUgZW50cnkuCisJICovCisKIAkvKiBSZXRpcmUgcmVxdWVzdHMgZmlyc3Qg YXMgd2UgdXNlIGl0IGFib3ZlIGZvciB0aGUgZWFybHkgcmV0dXJuLgogCSAqIElmIHdlIHJldGly ZSByZXF1ZXN0cyBsYXN0LCB3ZSBtYXkgdXNlIGEgbGF0ZXIgc2Vxbm8gYW5kIHNvIGNsZWFyCiAJ ICogdGhlIHJlcXVlc3RzIGxpc3RzIHdpdGhvdXQgY2xlYXJpbmcgdGhlIGFjdGl2ZSBsaXN0LCBs ZWFkaW5nIHRvCiAJICogY29uZnVzaW9uLgogCSAqLwotCXdoaWxlICghbGlzdF9lbXB0eSgmcmlu Zy0+cmVxdWVzdF9saXN0KSkgewotCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVl c3Q7Ci0KLQkJcmVxdWVzdCA9IGxpc3RfZmlyc3RfZW50cnkoJnJpbmctPnJlcXVlc3RfbGlzdCwK LQkJCQkJICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0LAotCQkJCQkgICBsaXN0KTsKLQot CQlpZiAoIWk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKHJlcXVlc3QpKQotCQkJYnJlYWs7CisJ bGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHJlcSwgcmVxX25leHQsICZyaW5nLT5yZXF1ZXN0X2xp c3QsIGxpc3QpIHsKKwkJaWYgKCFpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXEpKQorCQkJ Y29udGludWU7CiAKLQkJaTkxNV9nZW1fcmVxdWVzdF9yZXRpcmUocmVxdWVzdCk7CisJCWxpc3Rf bW92ZV90YWlsKCZyZXEtPmxpc3QsICZkZWZlcnJlZF9yZXF1ZXN0X2ZyZWUpOwogCX0KIAogCS8q IE1vdmUgYW55IGJ1ZmZlcnMgb24gdGhlIGFjdGl2ZSBsaXN0IHRoYXQgYXJlIG5vIGxvbmdlciBy ZWZlcmVuY2VkCiAJICogYnkgdGhlIHJpbmdidWZmZXIgdG8gdGhlIGZsdXNoaW5nL2luYWN0aXZl IGxpc3RzIGFzIGFwcHJvcHJpYXRlLAogCSAqIGJlZm9yZSB3ZSBmcmVlIHRoZSBjb250ZXh0IGFz c29jaWF0ZWQgd2l0aCB0aGUgcmVxdWVzdHMuCiAJICovCi0Jd2hpbGUgKCFsaXN0X2VtcHR5KCZy aW5nLT5hY3RpdmVfbGlzdCkpIHsKLQkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsK LQotCQlvYmogPSBsaXN0X2ZpcnN0X2VudHJ5KCZyaW5nLT5hY3RpdmVfbGlzdCwKLQkJCQkgICAg ICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCwKLQkJCQkgICAgICByaW5nX2xpc3RbcmluZy0+ aWRdKTsKLQorCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShvYmosIG9ial9uZXh0LCAmcmluZy0+ YWN0aXZlX2xpc3QsIHJpbmdfbGlzdFtyaW5nLT5pZF0pIHsKIAkJaWYgKCFsaXN0X2VtcHR5KCZv YmotPmxhc3RfcmVhZF9yZXFbcmluZy0+aWRdLT5saXN0KSkKLQkJCWJyZWFrOworCQkJY29udGlu dWU7CiAKIAkJaTkxNV9nZW1fb2JqZWN0X3JldGlyZV9fcmVhZChvYmosIHJpbmctPmlkKTsKIAl9 CkBAIC0zMjIyLDE4ICszMjIwLDI2IEBAIGk5MTVfZ2VtX3JldGlyZV9yZXF1ZXN0c19yaW5nKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJfQogCiAJd2hpbGUgKCFsaXN0X2VtcHR5KCZy aW5nLT5kZWxheWVkX2ZyZWVfbGlzdCkpIHsKLQkJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXF1ZXN0OwogCQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0JCXJlcXVlc3QgPSBsaXN0X2Zp cnN0X2VudHJ5KCZyaW5nLT5kZWxheWVkX2ZyZWVfbGlzdCwKLQkJCQkJICAgc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0LAotCQkJCQkgICBkZWxheV9mcmVlX2xpc3QpOworCQlyZXEgPSBsaXN0 X2ZpcnN0X2VudHJ5KCZyaW5nLT5kZWxheWVkX2ZyZWVfbGlzdCwKKwkJCQkgICAgICAgc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0LAorCQkJCSAgICAgICBkZWxheV9mcmVlX2xpc3QpOwogCiAJ CXNwaW5fbG9ja19pcnFzYXZlKCZyaW5nLT5kZWxheWVkX2ZyZWVfbG9jaywgZmxhZ3MpOwotCQls aXN0X2RlbCgmcmVxdWVzdC0+ZGVsYXlfZnJlZV9saXN0KTsKKwkJbGlzdF9kZWwoJnJlcS0+ZGVs YXlfZnJlZV9saXN0KTsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmluZy0+ZGVsYXllZF9m cmVlX2xvY2ssIGZsYWdzKTsKIAotCQlpOTE1X2dlbV9yZXF1ZXN0X2ZyZWUocmVxdWVzdCk7CisJ CWk5MTVfZ2VtX3JlcXVlc3RfZnJlZShyZXEpOworCX0KKworCS8qIEl0IHNob3VsZCBub3cgYmUg c2FmZSB0byBhY3R1YWxseSBmcmVlIHRoZSByZXF1ZXN0cyAqLworCXdoaWxlICghbGlzdF9lbXB0 eSgmZGVmZXJyZWRfcmVxdWVzdF9mcmVlKSkgeworCQlyZXEgPSBsaXN0X2ZpcnN0X2VudHJ5KCZk ZWZlcnJlZF9yZXF1ZXN0X2ZyZWUsCisJCQkJICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCwKKwkJCQkgICAgICAgbGlzdCk7CisKKwkJaTkxNV9nZW1fcmVxdWVzdF9yZXRpcmUocmVx KTsKIAl9CiAKIAlXQVJOX09OKGk5MTVfdmVyaWZ5X2xpc3RzKHJpbmctPmRldikpOwotLSAKMS45 LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==