From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: [PATCH v4 08/18] drm/i915/gen8: Generalize PTE writing for GEN8 PPGTT Date: Tue, 7 Jul 2015 16:14:53 +0100 Message-ID: <1436282103-5854-9-git-send-email-michel.thierry@intel.com> References: <1436282103-5854-1-git-send-email-michel.thierry@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id A0B146EA43 for ; Tue, 7 Jul 2015 08:15:13 -0700 (PDT) In-Reply-To: <1436282103-5854-1-git-send-email-michel.thierry@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 Cc: akash.goel@intel.com List-Id: intel-gfx@lists.freedesktop.org VGhlIGluc2VydF9lbnRyaWVzIGZ1bmN0aW9uIHdhcyB0aGUgZnVuY3Rpb24gdXNlZCB0byB3cml0 ZSBQVEVzLiBGb3IgdGhlClBQR1RUIGl0IHdhcyAiaGFyZGNvZGVkIiB0byBvbmx5IHVuZGVyc3Rh bmQgdHdvIGxldmVsIHBhZ2UgdGFibGVzLCB3aGljaAp3YXMgdGhlIGNhc2UgZm9yIEdFTjcuIFdl IGNhbiByZXVzZSB0aGlzIGZvciA0IGxldmVsIHBhZ2UgdGFibGVzLCBhbmQKcmVtb3ZlIHRoZSBj b25jZXB0IG9mIGluc2VydF9lbnRyaWVzLCB3aGljaCB3YXMgbmV2ZXIgdmlhYmxlIHBhc3QgMgps ZXZlbCBwYWdlIHRhYmxlcyBhbnl3YXksIGJ1dCBpdCByZXF1aXJlcyBhIGJpdCBvZiByZXdvcmsg dG8gbWFrZSB0aGUKZnVuY3Rpb24gYSBiaXQgbW9yZSBnZW5lcmljLgoKVGhpcyBwYXRjaCBiZWdp bnMgdGhlIGdlbmVyYWxpemF0aW9uIHdvcmssIGFuZCBpdCB3aWxsIGJlIGhlYXZpbHkgdXNlZAp1 cG9uIHdoZW4gdGhlIDQ4YiBjb2RlIGlzIGNvbXBsZXRlLiBUaGUgcGF0Y2ggc2VyaWVzIGF0dGVt cHRzIHRvIG1ha2UKZWFjaCBmdW5jdGlvbiB3aGljaCB0b3VjaGVzIGEgcGFydCBvZiBjb2RlIHNw ZWNpZmljIHRvIHRoZSBwYWdlIHRhYmxlCmxldmVsIGFuZCBoZXJlIGlzIG5vIGV4Y2VwdGlvbi4K CnYyOiBSZWJhc2UgYWZ0ZXIgTWlrYSdzIHBwZ3R0IGNsZWFudXAgLyBzY3JhdGNoIG1lcmdlIHBh dGNoIHNlcmllcy4KdjM6IFJlYmFzZSBhZnRlciBmaW5hbCBtZXJnZWQgdmVyc2lvbiBvZiBNaWth J3MgcHBndHQvc2NyYXRjaCBwYXRjaGVzLgoKU2lnbmVkLW9mZi1ieTogQmVuIFdpZGF3c2t5IDxi ZW5AYndpZGF3c2submV0PgpTaWduZWQtb2ZmLWJ5OiBNaWNoZWwgVGhpZXJyeSA8bWljaGVsLnRo aWVycnlAaW50ZWwuY29tPiAodjIpCi0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmMgfCA1MiArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCiAxIGZpbGUg Y2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9ndHQuYwppbmRleCA4NDRjYTZlLi43YTFkNmY4IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9ndHQuYwpAQCAtNjc5LDI0ICs2NzksMjEgQEAgc3RhdGljIGludCBnZW44XzQ4 Yl9tbV9zd2l0Y2goc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0LAogCXJldHVybiBnZW44X3dy aXRlX3BkcChyZXEsIDAsIHB4X2RtYSgmcHBndHQtPnBtbDQpKTsKIH0KIAotc3RhdGljIHZvaWQg Z2VuOF9wcGd0dF9jbGVhcl9yYW5nZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKLQkJ CQkgICB1aW50NjRfdCBzdGFydCwKLQkJCQkgICB1aW50NjRfdCBsZW5ndGgsCi0JCQkJICAgYm9v bCB1c2Vfc2NyYXRjaCkKK3N0YXRpYyB2b2lkIGdlbjhfcHBndHRfY2xlYXJfcHRlX3JhbmdlKHN0 cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAorCQkJCSAgICAgICBzdHJ1Y3QgaTkxNV9wYWdl X2RpcmVjdG9yeV9wb2ludGVyICpwZHAsCisJCQkJICAgICAgIHVpbnQ2NF90IHN0YXJ0LAorCQkJ CSAgICAgICB1aW50NjRfdCBsZW5ndGgsCisJCQkJICAgICAgIGdlbjhfcHRlX3Qgc2NyYXRjaF9w dGUpCiB7CiAJc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0ID0KIAkJY29udGFpbmVyX29mKHZt LCBzdHJ1Y3QgaTkxNV9od19wcGd0dCwgYmFzZSk7Ci0Jc3RydWN0IGk5MTVfcGFnZV9kaXJlY3Rv cnlfcG9pbnRlciAqcGRwID0gJnBwZ3R0LT5wZHA7IC8qIEZJWE1FOiA0OGIgKi8KLQlnZW44X3B0 ZV90ICpwdF92YWRkciwgc2NyYXRjaF9wdGU7CisJZ2VuOF9wdGVfdCAqcHRfdmFkZHI7CiAJdW5z aWduZWQgcGRwZSA9IHN0YXJ0ID4+IEdFTjhfUERQRV9TSElGVCAmIEdFTjhfUERQRV9NQVNLOwog CXVuc2lnbmVkIHBkZSA9IHN0YXJ0ID4+IEdFTjhfUERFX1NISUZUICYgR0VOOF9QREVfTUFTSzsK IAl1bnNpZ25lZCBwdGUgPSBzdGFydCA+PiBHRU44X1BURV9TSElGVCAmIEdFTjhfUFRFX01BU0s7 CiAJdW5zaWduZWQgbnVtX2VudHJpZXMgPSBsZW5ndGggPj4gUEFHRV9TSElGVDsKIAl1bnNpZ25l ZCBsYXN0X3B0ZSwgaTsKIAotCXNjcmF0Y2hfcHRlID0gZ2VuOF9wdGVfZW5jb2RlKHB4X2RtYShw cGd0dC0+YmFzZS5zY3JhdGNoX3BhZ2UpLAotCQkJCSAgICAgIEk5MTVfQ0FDSEVfTExDLCB1c2Vf c2NyYXRjaCk7Ci0KIAl3aGlsZSAobnVtX2VudHJpZXMpIHsKIAkJc3RydWN0IGk5MTVfcGFnZV9k aXJlY3RvcnkgKnBkOwogCQlzdHJ1Y3QgaTkxNV9wYWdlX3RhYmxlICpwdDsKQEAgLTczNSwxNCAr NzMyLDMwIEBAIHN0YXRpYyB2b2lkIGdlbjhfcHBndHRfY2xlYXJfcmFuZ2Uoc3RydWN0IGk5MTVf YWRkcmVzc19zcGFjZSAqdm0sCiAJfQogfQogCi1zdGF0aWMgdm9pZCBnZW44X3BwZ3R0X2luc2Vy dF9lbnRyaWVzKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAotCQkJCSAgICAgIHN0cnVj dCBzZ190YWJsZSAqcGFnZXMsCi0JCQkJICAgICAgdWludDY0X3Qgc3RhcnQsCi0JCQkJICAgICAg ZW51bSBpOTE1X2NhY2hlX2xldmVsIGNhY2hlX2xldmVsLCB1MzIgdW51c2VkKQorc3RhdGljIHZv aWQgZ2VuOF9wcGd0dF9jbGVhcl9yYW5nZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwK KwkJCQkgICB1aW50NjRfdCBzdGFydCwKKwkJCQkgICB1aW50NjRfdCBsZW5ndGgsCisJCQkJICAg Ym9vbCB1c2Vfc2NyYXRjaCkKIHsKIAlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPQogCQlj b250YWluZXJfb2Yodm0sIHN0cnVjdCBpOTE1X2h3X3BwZ3R0LCBiYXNlKTsKIAlzdHJ1Y3QgaTkx NV9wYWdlX2RpcmVjdG9yeV9wb2ludGVyICpwZHAgPSAmcHBndHQtPnBkcDsgLyogRklYTUU6IDQ4 YiAqLworCisJZ2VuOF9wdGVfdCBzY3JhdGNoX3B0ZSA9IGdlbjhfcHRlX2VuY29kZShweF9kbWEo dm0tPnNjcmF0Y2hfcGFnZSksCisJCQkJCQkgSTkxNV9DQUNIRV9MTEMsIHVzZV9zY3JhdGNoKTsK KworCWdlbjhfcHBndHRfY2xlYXJfcHRlX3JhbmdlKHZtLCBwZHAsIHN0YXJ0LCBsZW5ndGgsIHNj cmF0Y2hfcHRlKTsKK30KKworc3RhdGljIHZvaWQKK2dlbjhfcHBndHRfaW5zZXJ0X3B0ZV9lbnRy aWVzKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAorCQkJICAgICAgc3RydWN0IGk5MTVf cGFnZV9kaXJlY3RvcnlfcG9pbnRlciAqcGRwLAorCQkJICAgICAgc3RydWN0IHNnX3RhYmxlICpw YWdlcywKKwkJCSAgICAgIHVpbnQ2NF90IHN0YXJ0LAorCQkJICAgICAgZW51bSBpOTE1X2NhY2hl X2xldmVsIGNhY2hlX2xldmVsKQoreworCXN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCA9CisJ CWNvbnRhaW5lcl9vZih2bSwgc3RydWN0IGk5MTVfaHdfcHBndHQsIGJhc2UpOwogCWdlbjhfcHRl X3QgKnB0X3ZhZGRyOwogCXVuc2lnbmVkIHBkcGUgPSBzdGFydCA+PiBHRU44X1BEUEVfU0hJRlQg JiBHRU44X1BEUEVfTUFTSzsKIAl1bnNpZ25lZCBwZGUgPSBzdGFydCA+PiBHRU44X1BERV9TSElG VCAmIEdFTjhfUERFX01BU0s7CkBAIC03NzYsNiArNzg5LDE5IEBAIHN0YXRpYyB2b2lkIGdlbjhf cHBndHRfaW5zZXJ0X2VudHJpZXMoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCWt1 bm1hcF9weChwcGd0dCwgcHRfdmFkZHIpOwogfQogCitzdGF0aWMgdm9pZCBnZW44X3BwZ3R0X2lu c2VydF9lbnRyaWVzKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAorCQkJCSAgICAgIHN0 cnVjdCBzZ190YWJsZSAqcGFnZXMsCisJCQkJICAgICAgdWludDY0X3Qgc3RhcnQsCisJCQkJICAg ICAgZW51bSBpOTE1X2NhY2hlX2xldmVsIGNhY2hlX2xldmVsLAorCQkJCSAgICAgIHUzMiB1bnVz ZWQpCit7CisJc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0ID0KKwkJY29udGFpbmVyX29mKHZt LCBzdHJ1Y3QgaTkxNV9od19wcGd0dCwgYmFzZSk7CisJc3RydWN0IGk5MTVfcGFnZV9kaXJlY3Rv cnlfcG9pbnRlciAqcGRwID0gJnBwZ3R0LT5wZHA7IC8qIEZJWE1FOiA0OGIgKi8KKworCWdlbjhf cHBndHRfaW5zZXJ0X3B0ZV9lbnRyaWVzKHZtLCBwZHAsIHBhZ2VzLCBzdGFydCwgY2FjaGVfbGV2 ZWwpOworfQorCiBzdGF0aWMgdm9pZCBnZW44X2ZyZWVfcGFnZV90YWJsZXMoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAkJCQkgIHN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5ICpwZCkKIHsKLS0g CjIuNC41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=