From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v2 1/3] drm/i915: Make LRC (un)pinning work on context and engine Date: Thu, 21 Jan 2016 10:10:40 +0000 Message-ID: <1453371042-4109-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 81C006E218 for ; Thu, 21 Jan 2016 02:11:05 -0800 (PST) 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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClByZXZpb3Vz bHkgaW50ZWxfbHJfY29udGV4dF8odW4pcGluIHdlcmUgb3BlcmF0aW5nIG9uIHJlcXVlc3RzCndo aWNoIGlzIGluIGNvbmZsaWN0IHdpdGggdGhlaXIgbmFtZXMuCgpJZiB3ZSBtYWtlIHRoZW0gdGFr ZSBhIGNvbnRleHQgYW5kIGFuIGVuZ2luZSwgaXQgbWFrZXMgdGhlIG5hbWVzCm1ha2UgbW9yZSBz ZW5zZSBhbmQgaXQgYWxzbyBtYWtlcyBmdXR1cmUgZml4ZXMgcG9zc2libGUuCgp2MjogUmViYXNl IGZvciBkZWZhdWx0X2NvbnRleHQva2VybmVsX2NvbnRleHQgY2hhbmdlLgoKU2lnbmVkLW9mZi1i eTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6 IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogQ2hyaXMgV2lsc29u IDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBOaWNrIEhvYXRoIDxuaWNob2xhcy5ob2F0 aEBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgfCA0OSArKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu aCB8ICAzICsrLQogMyBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCA2YTNlNGVlN2Y3ZTIuLjg2NGZlMjM4 Mjg3NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0yNjgwLDcgKzI2ODAsNyBAQCB2b2lk IGk5MTVfZ2VtX3JlcXVlc3RfZnJlZShzdHJ1Y3Qga3JlZiAqcmVxX3JlZikKIAogCWlmIChjdHgp IHsKIAkJaWYgKGk5MTUuZW5hYmxlX2V4ZWNsaXN0cyAmJiBjdHggIT0gcmVxLT5pOTE1LT5rZXJu ZWxfY29udGV4dCkKLQkJCWludGVsX2xyX2NvbnRleHRfdW5waW4ocmVxKTsKKwkJCWludGVsX2xy X2NvbnRleHRfdW5waW4oY3R4LCByZXEtPnJpbmcpOwogCiAJCWk5MTVfZ2VtX2NvbnRleHRfdW5y ZWZlcmVuY2UoY3R4KTsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDEzNDM3OWRj NGRkOS4uYzEzNzZmZWQzMGE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMjI1LDcg KzIyNSw4IEBAIGVudW0gewogI2RlZmluZSBHRU44X0NUWF9JRF9TSElGVCAzMgogI2RlZmluZSBD VFhfUkNTX0lORElSRUNUX0NUWF9PRkZTRVRfREVGQVVMVCAgMHgxNwogCi1zdGF0aWMgaW50IGlu dGVsX2xyX2NvbnRleHRfcGluKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnEpOworc3Rh dGljIGludCBpbnRlbF9scl9jb250ZXh0X3BpbihzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAor CQkJCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7CiBzdGF0aWMgdm9pZCBscmNfc2V0 dXBfaGFyZHdhcmVfc3RhdHVzX3BhZ2Uoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAkJ c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmRlZmF1bHRfY3R4X29iaik7CiAKQEAgLTU5OSw3 ICs2MDAsNyBAQCBzdGF0aWMgaW50IGV4ZWNsaXN0c19jb250ZXh0X3F1ZXVlKHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIAlpbnQgbnVtX2VsZW1lbnRzID0gMDsKIAogCWlm IChyZXF1ZXN0LT5jdHggIT0gcmVxdWVzdC0+aTkxNS0+a2VybmVsX2NvbnRleHQpCi0JCWludGVs X2xyX2NvbnRleHRfcGluKHJlcXVlc3QpOworCQlpbnRlbF9scl9jb250ZXh0X3BpbihyZXF1ZXN0 LT5jdHgsIHJpbmcpOwogCiAJaTkxNV9nZW1fcmVxdWVzdF9yZWZlcmVuY2UocmVxdWVzdCk7CiAK QEAgLTcwNCw3ICs3MDUsNyBAQCBpbnQgaW50ZWxfbG9naWNhbF9yaW5nX2FsbG9jX3JlcXVlc3Rf ZXh0cmFzKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdAogCX0KIAogCWlmIChy ZXF1ZXN0LT5jdHggIT0gcmVxdWVzdC0+aTkxNS0+a2VybmVsX2NvbnRleHQpCi0JCXJldCA9IGlu dGVsX2xyX2NvbnRleHRfcGluKHJlcXVlc3QpOworCQlyZXQgPSBpbnRlbF9scl9jb250ZXh0X3Bp bihyZXF1ZXN0LT5jdHgsIHJlcXVlc3QtPnJpbmcpOwogCiAJcmV0dXJuIHJldDsKIH0KQEAgLTEw MDQsNyArMTAwNSw4IEBAIHZvaWQgaW50ZWxfZXhlY2xpc3RzX3JldGlyZV9yZXF1ZXN0cyhzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogCQkJCWN0eC0+ZW5naW5lW3JpbmctPmlkXS5zdGF0 ZTsKIAogCQlpZiAoY3R4X29iaiAmJiAoY3R4ICE9IHJlcS0+aTkxNS0+a2VybmVsX2NvbnRleHQp KQotCQkJaW50ZWxfbHJfY29udGV4dF91bnBpbihyZXEpOworCQkJaW50ZWxfbHJfY29udGV4dF91 bnBpbihjdHgsIHJpbmcpOworCiAJCWxpc3RfZGVsKCZyZXEtPmV4ZWNsaXN0X2xpbmspOwogCQlp OTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKHJlcSk7CiAJfQpAQCAtMTA0OCw4ICsxMDUwLDgg QEAgaW50IGxvZ2ljYWxfcmluZ19mbHVzaF9hbGxfY2FjaGVzKHN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxKQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGludGVsX2xyX2NvbnRl eHRfZG9fcGluKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCi0JCQkJICAgc3RydWN0IGlu dGVsX2NvbnRleHQgKmN0eCkKK3N0YXRpYyBpbnQgaW50ZWxfbHJfY29udGV4dF9kb19waW4oc3Ry dWN0IGludGVsX2NvbnRleHQgKmN0eCwKKwkJCQkgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpy aW5nKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSByaW5nLT5kZXY7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKQEAgLTEwOTIsNDEg KzEwOTQsNDAgQEAgdW5waW5fY3R4X29iajoKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50 IGludGVsX2xyX2NvbnRleHRfcGluKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnEpCitz dGF0aWMgaW50IGludGVsX2xyX2NvbnRleHRfcGluKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgs CisJCQkJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogewogCWludCByZXQgPSAwOwot CXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcgPSBycS0+cmluZzsKIAotCWlmIChycS0+Y3R4 LT5lbmdpbmVbcmluZy0+aWRdLnBpbl9jb3VudCsrID09IDApIHsKLQkJcmV0ID0gaW50ZWxfbHJf Y29udGV4dF9kb19waW4ocmluZywgcnEtPmN0eCk7CisJaWYgKGN0eC0+ZW5naW5lW2VuZ2luZS0+ aWRdLnBpbl9jb3VudCsrID09IDApIHsKKwkJcmV0ID0gaW50ZWxfbHJfY29udGV4dF9kb19waW4o Y3R4LCBlbmdpbmUpOwogCQlpZiAocmV0KQogCQkJZ290byByZXNldF9waW5fY291bnQ7CiAJfQog CXJldHVybiByZXQ7CiAKIHJlc2V0X3Bpbl9jb3VudDoKLQlycS0+Y3R4LT5lbmdpbmVbcmluZy0+ aWRdLnBpbl9jb3VudCA9IDA7CisJY3R4LT5lbmdpbmVbZW5naW5lLT5pZF0ucGluX2NvdW50ID0g MDsKIAlyZXR1cm4gcmV0OwogfQogCi12b2lkIGludGVsX2xyX2NvbnRleHRfdW5waW4oc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSkKK3ZvaWQgaW50ZWxfbHJfY29udGV4dF91bnBpbihz dHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAorCQkJICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcnEtPnJpbmc7Ci0J c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmogPSBycS0+Y3R4LT5lbmdpbmVbcmlu Zy0+aWRdLnN0YXRlOwotCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmID0gcnEtPnJp bmdidWY7CisJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmogPSBjdHgtPmVuZ2lu ZVtlbmdpbmUtPmlkXS5zdGF0ZTsKIAotCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmcmluZy0+ ZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKKwlXQVJOX09OKCFtdXRleF9pc19sb2NrZWQoJmVuZ2luZS0+ ZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKIAotCWlmICghY3R4X29iaikKKwlpZiAoV0FSTl9PTl9PTkNF KCFjdHhfb2JqKSkKIAkJcmV0dXJuOwogCi0JaWYgKC0tcnEtPmN0eC0+ZW5naW5lW3JpbmctPmlk XS5waW5fY291bnQgPT0gMCkgewotCQlrdW5tYXAoa21hcF90b19wYWdlKHJxLT5jdHgtPmVuZ2lu ZVtyaW5nLT5pZF0ubHJjX3JlZ19zdGF0ZSkpOwotCQlpbnRlbF91bnBpbl9yaW5nYnVmZmVyX29i aihyaW5nYnVmKTsKKwlpZiAoLS1jdHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5waW5fY291bnQgPT0g MCkgeworCQlrdW5tYXAoa21hcF90b19wYWdlKGN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdLmxyY19y ZWdfc3RhdGUpKTsKKwkJaW50ZWxfdW5waW5fcmluZ2J1ZmZlcl9vYmooY3R4LT5lbmdpbmVbZW5n aW5lLT5pZF0ucmluZ2J1Zik7CiAJCWk5MTVfZ2VtX29iamVjdF9nZ3R0X3VucGluKGN0eF9vYmop OwotCQlycS0+Y3R4LT5lbmdpbmVbcmluZy0+aWRdLmxyY192bWEgPSBOVUxMOwotCQlycS0+Y3R4 LT5lbmdpbmVbcmluZy0+aWRdLmxyY19kZXNjID0gMDsKLQkJcnEtPmN0eC0+ZW5naW5lW3Jpbmct PmlkXS5scmNfcmVnX3N0YXRlID0gTlVMTDsKKwkJY3R4LT5lbmdpbmVbZW5naW5lLT5pZF0ubHJj X3ZtYSA9IE5VTEw7CisJCWN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdLmxyY19kZXNjID0gMDsKKwkJ Y3R4LT5lbmdpbmVbZW5naW5lLT5pZF0ubHJjX3JlZ19zdGF0ZSA9IE5VTEw7CiAJfQogfQogCkBA IC0yMDMwLDcgKzIwMzEsNyBAQCBsb2dpY2FsX3JpbmdfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogCQlnb3RvIGVycm9yOwogCiAJLyog QXMgdGhpcyBpcyB0aGUgZGVmYXVsdCBjb250ZXh0LCBhbHdheXMgcGluIGl0ICovCi0JcmV0ID0g aW50ZWxfbHJfY29udGV4dF9kb19waW4ocmluZywgZGN0eCk7CisJcmV0ID0gaW50ZWxfbHJfY29u dGV4dF9kb19waW4oZGN0eCwgcmluZyk7CiAJaWYgKHJldCkgewogCQlEUk1fRVJST1IoCiAJCQki RmFpbGVkIHRvIHBpbiBhbmQgbWFwIHJpbmdidWZmZXIgJXM6ICVkXG4iLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmMuaAppbmRleCA0OWFmNjM4ZjYyMTMuLmU2Y2RhM2UyMjVkMCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmgKQEAgLTEwMSw3ICsxMDEsOCBAQCB2b2lkIGludGVsX2xyX2NvbnRleHRf ZnJlZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4KTsKIHVpbnQzMl90IGludGVsX2xyX2NvbnRl eHRfc2l6ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKTsKIGludCBpbnRlbF9scl9jb250 ZXh0X2RlZmVycmVkX2FsbG9jKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCiAJCQkJICAgIHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOwotdm9pZCBpbnRlbF9scl9jb250ZXh0X3VucGlu KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKTsKK3ZvaWQgaW50ZWxfbHJfY29udGV4 dF91bnBpbihzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAorCQkJICAgIHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSk7CiB2b2lkIGludGVsX2xyX2NvbnRleHRfcmVzZXQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKIAkJCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgpOwogdWludDY0X3Qg aW50ZWxfbHJfY29udGV4dF9kZXNjcmlwdG9yKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCi0t IAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK