From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 3/5] drm/i915: Cache LRCA in the context Date: Tue, 10 Nov 2015 10:59:43 +0000 Message-ID: <1447153185-5404-4-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1447153185-5404-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id DDC176E837 for ; Tue, 10 Nov 2015 02:59:52 -0800 (PST) In-Reply-To: <1447153185-5404-1-git-send-email-tvrtko.ursulin@linux.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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkxSQ0EgaXMg c3RhdGljIHdoaWxlIHRoZSBjb250ZXh0IGlzIHBpbm5lZCBzbyB3ZSBjYW4gYXZvaWQgbG9va2lu Zwp1cCB0aGUgVk1BIGluIHF1ZXN0aW9uIHNldmVyYWwgdGltZXMgcGVyIGludGVycnVwdCBoYW5k bGVkLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyB8IDE1ICsrKysr Ky0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgfCAgMSArCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICB8IDI4ICsrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oICAgIHwgIDMgKyst CiA0IGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggNTY1OWQ0YzZjMmMzLi4yYjE1OThjOGUw MWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC0xOTczLDEyICsxOTczLDEz IEBAIHN0YXRpYyBpbnQgaTkxNV9jb250ZXh0X3N0YXR1cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZv aWQgKnVudXNlZCkKIH0KIAogc3RhdGljIHZvaWQgaTkxNV9kdW1wX2xyY19vYmooc3RydWN0IHNl cV9maWxlICptLAotCQkJICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKLQkJCSAg ICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2JqKQorCQkJICAgICAgc3RydWN0 IGludGVsX2NvbnRleHQgKmN0eCwKKwkJCSAgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcpCiB7CiAJc3RydWN0IHBhZ2UgKnBhZ2U7CiAJdWludDMyX3QgKnJlZ19zdGF0ZTsKIAlpbnQg ajsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X29iaiA9IGN0eC0+ZW5naW5lW3Jp bmctPmlkXS5zdGF0ZTsKIAl1bnNpZ25lZCBsb25nIGdndHRfb2Zmc2V0ID0gMDsKIAogCWlmIChj dHhfb2JqID09IE5VTEwpIHsKQEAgLTE5ODgsNyArMTk4OSw3IEBAIHN0YXRpYyB2b2lkIGk5MTVf ZHVtcF9scmNfb2JqKHN0cnVjdCBzZXFfZmlsZSAqbSwKIAl9CiAKIAlzZXFfcHJpbnRmKG0sICJD T05URVhUOiAlcyAldVxuIiwgcmluZy0+bmFtZSwKLQkJICAgaW50ZWxfZXhlY2xpc3RzX2N0eF9p ZChjdHhfb2JqKSk7CisJCSAgIGludGVsX2V4ZWNsaXN0c19jdHhfaWQoY3R4LCByaW5nKSk7CiAK IAlpZiAoIWk5MTVfZ2VtX29ial9nZ3R0X2JvdW5kKGN0eF9vYmopKQogCQlzZXFfcHV0cyhtLCAi XHROb3QgYm91bmQgaW4gR0dUVFxuIik7CkBAIC0yMDM3LDggKzIwMzgsNyBAQCBzdGF0aWMgaW50 IGk5MTVfZHVtcF9scmMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCiAJbGlzdF9m b3JfZWFjaF9lbnRyeShjdHgsICZkZXZfcHJpdi0+Y29udGV4dF9saXN0LCBsaW5rKSB7CiAJCWZv cl9lYWNoX3JpbmcocmluZywgZGV2X3ByaXYsIGkpIHsKIAkJCWlmIChyaW5nLT5kZWZhdWx0X2Nv bnRleHQgIT0gY3R4KQotCQkJCWk5MTVfZHVtcF9scmNfb2JqKG0sIHJpbmcsCi0JCQkJCQkgIGN0 eC0+ZW5naW5lW2ldLnN0YXRlKTsKKwkJCQlpOTE1X2R1bXBfbHJjX29iaihtLCBjdHgsIHJpbmcp OwogCQl9CiAJfQogCkBAIC0yMTEyLDExICsyMTEyLDggQEAgc3RhdGljIGludCBpOTE1X2V4ZWNs aXN0cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiAKIAkJc2VxX3ByaW50ZihtLCAi XHQlZCByZXF1ZXN0cyBpbiBxdWV1ZVxuIiwgY291bnQpOwogCQlpZiAoaGVhZF9yZXEpIHsKLQkJ CXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2JqOwotCi0JCQljdHhfb2JqID0gaGVh ZF9yZXEtPmN0eC0+ZW5naW5lW3JpbmdfaWRdLnN0YXRlOwogCQkJc2VxX3ByaW50ZihtLCAiXHRI ZWFkIHJlcXVlc3QgaWQ6ICV1XG4iLAotCQkJCSAgIGludGVsX2V4ZWNsaXN0c19jdHhfaWQoY3R4 X29iaikpOworCQkJCSAgIGludGVsX2V4ZWNsaXN0c19jdHhfaWQoaGVhZF9yZXEtPmN0eCwgcmlu ZykpOwogCQkJc2VxX3ByaW50ZihtLCAiXHRIZWFkIHJlcXVlc3QgdGFpbDogJXVcbiIsCiAJCQkJ ICAgaGVhZF9yZXEtPnRhaWwpOwogCQl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBkMmE1 NDZhNjYyMDMuLmY5N2JiNGQyNzk5NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC04ODUs NiArODg1LDcgQEAgc3RydWN0IGludGVsX2NvbnRleHQgewogCQlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqc3RhdGU7CiAJCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmOwogCQlp bnQgcGluX2NvdW50OworCQl1MzIgbHJjYTsKIAl9IGVuZ2luZVtJOTE1X05VTV9SSU5HU107CiAK IAlzdHJ1Y3QgbGlzdF9oZWFkIGxpbms7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDNm OWI5ODFjYzIyNi4uMWY4NTY2YjFmMDcyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAt MjYwLDcgKzI2MCw4IEBAIGludCBpbnRlbF9zYW5pdGl6ZV9lbmFibGVfZXhlY2xpc3RzKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIGludCBlbmFibGVfZXhlY2xpc3RzCiAKIC8qKgogICogaW50ZWxf ZXhlY2xpc3RzX2N0eF9pZCgpIC0gZ2V0IHRoZSBFeGVjbGlzdHMgQ29udGV4dCBJRAotICogQGN0 eF9vYmo6IExvZ2ljYWwgUmluZyBDb250ZXh0IGJhY2tpbmcgb2JqZWN0LgorICogQGN0eDogVXNl ciBjb250ZXh0IHdlIGFyZSBpbnRlcmVzdGVkIGluCisgKiBAcmluZzogRW5naW5lIHRvIGdldCB0 aGUgQ29udGV4dCBJRCBmb3IKICAqCiAgKiBEbyBub3QgY29uZnVzZSB3aXRoIGN0eC0+aWQhIFVu Zm9ydHVuYXRlbHkgd2UgaGF2ZSBhIG5hbWUgb3ZlcmxvYWQKICAqIGhlcmU6IHRoZSBvbGQgY29u dGV4dCBJRCB3ZSBwYXNzIHRvIHVzZXJzcGFjZSBhcyBhIGhhbmRsZXIgc28gdGhhdApAQCAtMjcw LDE0ICsyNzEsMTIgQEAgaW50IGludGVsX3Nhbml0aXplX2VuYWJsZV9leGVjbGlzdHMoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgaW50IGVuYWJsZV9leGVjbGlzdHMKICAqCiAgKiBSZXR1cm46IDIw LWJpdHMgZ2xvYmFsbHkgdW5pcXVlIGNvbnRleHQgSUQuCiAgKi8KLXUzMiBpbnRlbF9leGVjbGlz dHNfY3R4X2lkKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2JqKQordTMyIGludGVs X2V4ZWNsaXN0c19jdHhfaWQoc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwKKwkJCSAgIHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiB7Ci0JdTMyIGxyY2EgPSBpOTE1X2dlbV9vYmpfZ2d0 dF9vZmZzZXQoY3R4X29iaikgKwotCQkJTFJDX1BQSFdTUF9QTiAqIFBBR0VfU0laRTsKLQogCS8q IExSQ0EgaXMgcmVxdWlyZWQgdG8gYmUgNEsgYWxpZ25lZCBzbyB0aGUgbW9yZSBzaWduaWZpY2Fu dCAyMCBiaXRzCiAJICogYXJlIGdsb2JhbGx5IHVuaXF1ZSAqLwotCXJldHVybiBscmNhID4+IDEy OworCXJldHVybiBjdHgtPmVuZ2luZVtyaW5nLT5pZF0ubHJjYSA+PiAxMjsKIH0KIAogc3RhdGlj IGJvb2wgZGlzYWJsZV9saXRlX3Jlc3RvcmVfd2Eoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu ZykKQEAgLTI5MiwxMyArMjkxLDExIEBAIHN0YXRpYyBib29sIGRpc2FibGVfbGl0ZV9yZXN0b3Jl X3dhKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiB1aW50NjRfdCBpbnRlbF9scl9jb250 ZXh0X2Rlc2NyaXB0b3Ioc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwKIAkJCQkgICAgIHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg KmN0eF9vYmogPSBjdHgtPmVuZ2luZVtyaW5nLT5pZF0uc3RhdGU7CiAJdWludDY0X3QgZGVzYyA9 IHJpbmctPmN0eF9kZXNjX3RlbXBsYXRlOwotCXVpbnQ2NF90IGxyY2EgPSBpOTE1X2dlbV9vYmpf Z2d0dF9vZmZzZXQoY3R4X29iaikgKwotCQkJTFJDX1BQSFdTUF9QTiAqIFBBR0VfU0laRTsKKwl1 aW50NjRfdCBscmNhID0gY3R4LT5lbmdpbmVbcmluZy0+aWRdLmxyY2E7CiAKIAlkZXNjIHw9IGxy Y2E7Ci0JZGVzYyB8PSAodTY0KWludGVsX2V4ZWNsaXN0c19jdHhfaWQoY3R4X29iaikgPDwgR0VO OF9DVFhfSURfU0hJRlQ7CisJZGVzYyB8PSAodTY0KWludGVsX2V4ZWNsaXN0c19jdHhfaWQoY3R4 LCByaW5nKSA8PCBHRU44X0NUWF9JRF9TSElGVDsKIAogCXJldHVybiBkZXNjOwogfQpAQCAtNDU3 LDkgKzQ1NCw3IEBAIHN0YXRpYyBib29sIGV4ZWNsaXN0c19jaGVja19yZW1vdmVfcmVxdWVzdChz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCQkJCQkgICAgZXhlY2xpc3RfbGluayk7CiAK IAlpZiAoaGVhZF9yZXEgIT0gTlVMTCkgewotCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq Y3R4X29iaiA9Ci0JCQkJaGVhZF9yZXEtPmN0eC0+ZW5naW5lW3JpbmctPmlkXS5zdGF0ZTsKLQkJ aWYgKGludGVsX2V4ZWNsaXN0c19jdHhfaWQoY3R4X29iaikgPT0gcmVxdWVzdF9pZCkgeworCQlp ZiAoaW50ZWxfZXhlY2xpc3RzX2N0eF9pZChoZWFkX3JlcS0+Y3R4LCByaW5nKSA9PSByZXF1ZXN0 X2lkKSB7CiAJCQlXQVJOKGhlYWRfcmVxLT5lbHNwX3N1Ym1pdHRlZCA9PSAwLAogCQkJICAgICAi TmV2ZXIgc3VibWl0dGVkIGhlYWQgcmVxdWVzdFxuIik7CiAKQEAgLTEwNDEsNiArMTAzNiw4IEBA IHN0YXRpYyBpbnQgaW50ZWxfbHJfY29udGV4dF9waW4oc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICpycSkKIAkJcmV0ID0gaW50ZWxfbHJfY29udGV4dF9kb19waW4ocmluZywgY3R4X29iaiwg cmluZ2J1Zik7CiAJCWlmIChyZXQpCiAJCQlnb3RvIHJlc2V0X3Bpbl9jb3VudDsKKwkJcnEtPmN0 eC0+ZW5naW5lW3JpbmctPmlkXS5scmNhID0KKwkJICBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQo Y3R4X29iaikgKyBMUkNfUFBIV1NQX1BOICogUEFHRV9TSVpFOwogCX0KIAlyZXR1cm4gcmV0Owog CkBAIC0xMDYwLDYgKzEwNTcsNyBAQCB2b2lkIGludGVsX2xyX2NvbnRleHRfdW5waW4oc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSkKIAkJaWYgKC0tcnEtPmN0eC0+ZW5naW5lW3Jpbmct PmlkXS5waW5fY291bnQgPT0gMCkgewogCQkJaW50ZWxfdW5waW5fcmluZ2J1ZmZlcl9vYmoocmlu Z2J1Zik7CiAJCQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihjdHhfb2JqKTsKKwkJCXJxLT5j dHgtPmVuZ2luZVtyaW5nLT5pZF0ubHJjYSA9IDA7CiAJCX0KIAl9CiB9CkBAIC0xOTM5LDYgKzE5 MzcsMTAgQEAgc3RhdGljIGludCBsb2dpY2FsX3JpbmdfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW4KIAkJcmV0dXJuIHJldDsKIAl9CiAKKwly aW5nLT5kZWZhdWx0X2NvbnRleHQtPmVuZ2luZVtyaW5nLT5pZF0ubHJjYSA9CisJCWk5MTVfZ2Vt X29ial9nZ3R0X29mZnNldChyaW5nLT5kZWZhdWx0X2NvbnRleHQtPmVuZ2luZVtyaW5nLT5pZF0u c3RhdGUpCisJCQkJCSArIExSQ19QUEhXU1BfUE4gKiBQQUdFX1NJWkU7CisKIAlyaW5nLT5kaXNh YmxlX2xpdGVfcmVzdG9yZV93YSA9IGRpc2FibGVfbGl0ZV9yZXN0b3JlX3dhKHJpbmcpOwogCiAJ cmluZy0+Y3R4X2Rlc2NfdGVtcGxhdGUgPSBHRU44X0NUWF9WQUxJRDsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmgKaW5kZXggNGU2MGQ1NGJhNjZkLi5jYjY4YmZlOTFlY2QgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xyYy5oCkBAIC04Niw2ICs4Niw4IEBAIHZvaWQgaW50ZWxfbHJfY29udGV4dF9yZXNl dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCk7 CiB1aW50NjRfdCBpbnRlbF9scl9jb250ZXh0X2Rlc2NyaXB0b3Ioc3RydWN0IGludGVsX2NvbnRl eHQgKmN0eCwKIAkJCQkgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOwordTMyIGlu dGVsX2V4ZWNsaXN0c19jdHhfaWQoc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwKKwkJCSAgIHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOwogCiAvKiBFeGVjbGlzdHMgKi8KIGludCBpbnRl bF9zYW5pdGl6ZV9lbmFibGVfZXhlY2xpc3RzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBl bmFibGVfZXhlY2xpc3RzKTsKQEAgLTkzLDcgKzk1LDYgQEAgc3RydWN0IGk5MTVfZXhlY2J1ZmZl cl9wYXJhbXM7CiBpbnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb24oc3RydWN0IGk5MTVfZXhl Y2J1ZmZlcl9wYXJhbXMgKnBhcmFtcywKIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4 ZWNidWZmZXIyICphcmdzLAogCQkJICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKnZtYXMpOwotdTMy IGludGVsX2V4ZWNsaXN0c19jdHhfaWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9v YmopOwogCiB2b2lkIGludGVsX2xyY19pcnFfaGFuZGxlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nKTsKIHZvaWQgaW50ZWxfZXhlY2xpc3RzX3JldGlyZV9yZXF1ZXN0cyhzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICpyaW5nKTsKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=