From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: [PATCH v6 04/19] drm/i915/gen8: Generalize PTE writing for GEN8 PPGTT Date: Wed, 29 Jul 2015 17:23:48 +0100 Message-ID: <1438187043-34267-5-git-send-email-michel.thierry@intel.com> References: <1438187043-34267-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 4C5256EC1F for ; Wed, 29 Jul 2015 09:24:10 -0700 (PDT) In-Reply-To: <1438187043-34267-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 NS9pOTE1X2dlbV9ndHQuYwppbmRleCBiZDU2OTc5Li5mMzM4YTEzIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9ndHQuYwpAQCAtNjAwLDI0ICs2MDAsMjEgQEAgc3RhdGljIGludCBnZW44X21t X3N3aXRjaChzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQsCiAJcmV0dXJuIDA7CiB9CiAKLXN0 YXRpYyB2b2lkIGdlbjhfcHBndHRfY2xlYXJfcmFuZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFj ZSAqdm0sCi0JCQkJICAgdWludDY0X3Qgc3RhcnQsCi0JCQkJICAgdWludDY0X3QgbGVuZ3RoLAot CQkJCSAgIGJvb2wgdXNlX3NjcmF0Y2gpCitzdGF0aWMgdm9pZCBnZW44X3BwZ3R0X2NsZWFyX3B0 ZV9yYW5nZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJCQkgICAgICAgc3RydWN0 IGk5MTVfcGFnZV9kaXJlY3RvcnlfcG9pbnRlciAqcGRwLAorCQkJCSAgICAgICB1aW50NjRfdCBz dGFydCwKKwkJCQkgICAgICAgdWludDY0X3QgbGVuZ3RoLAorCQkJCSAgICAgICBnZW44X3B0ZV90 IHNjcmF0Y2hfcHRlKQogewogCXN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCA9CiAJCWNvbnRh aW5lcl9vZih2bSwgc3RydWN0IGk5MTVfaHdfcHBndHQsIGJhc2UpOwotCXN0cnVjdCBpOTE1X3Bh Z2VfZGlyZWN0b3J5X3BvaW50ZXIgKnBkcCA9ICZwcGd0dC0+cGRwOyAvKiBGSVhNRTogNDhiICov Ci0JZ2VuOF9wdGVfdCAqcHRfdmFkZHIsIHNjcmF0Y2hfcHRlOworCWdlbjhfcHRlX3QgKnB0X3Zh ZGRyOwogCXVuc2lnbmVkIHBkcGUgPSBzdGFydCA+PiBHRU44X1BEUEVfU0hJRlQgJiBHRU44X1BE UEVfTUFTSzsKIAl1bnNpZ25lZCBwZGUgPSBzdGFydCA+PiBHRU44X1BERV9TSElGVCAmIEdFTjhf UERFX01BU0s7CiAJdW5zaWduZWQgcHRlID0gc3RhcnQgPj4gR0VOOF9QVEVfU0hJRlQgJiBHRU44 X1BURV9NQVNLOwogCXVuc2lnbmVkIG51bV9lbnRyaWVzID0gbGVuZ3RoID4+IFBBR0VfU0hJRlQ7 CiAJdW5zaWduZWQgbGFzdF9wdGUsIGk7CiAKLQlzY3JhdGNoX3B0ZSA9IGdlbjhfcHRlX2VuY29k ZShweF9kbWEocHBndHQtPmJhc2Uuc2NyYXRjaF9wYWdlKSwKLQkJCQkgICAgICBJOTE1X0NBQ0hF X0xMQywgdXNlX3NjcmF0Y2gpOwotCiAJd2hpbGUgKG51bV9lbnRyaWVzKSB7CiAJCXN0cnVjdCBp OTE1X3BhZ2VfZGlyZWN0b3J5ICpwZDsKIAkJc3RydWN0IGk5MTVfcGFnZV90YWJsZSAqcHQ7CkBA IC02NTYsMTQgKzY1MywzMCBAQCBzdGF0aWMgdm9pZCBnZW44X3BwZ3R0X2NsZWFyX3JhbmdlKHN0 cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCX0KIH0KIAotc3RhdGljIHZvaWQgZ2VuOF9w cGd0dF9pbnNlcnRfZW50cmllcyhzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKLQkJCQkg ICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzLAotCQkJCSAgICAgIHVpbnQ2NF90IHN0YXJ0LAot CQkJCSAgICAgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBjYWNoZV9sZXZlbCwgdTMyIHVudXNlZCkK K3N0YXRpYyB2b2lkIGdlbjhfcHBndHRfY2xlYXJfcmFuZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19z cGFjZSAqdm0sCisJCQkJICAgdWludDY0X3Qgc3RhcnQsCisJCQkJICAgdWludDY0X3QgbGVuZ3Ro LAorCQkJCSAgIGJvb2wgdXNlX3NjcmF0Y2gpCiB7CiAJc3RydWN0IGk5MTVfaHdfcHBndHQgKnBw Z3R0ID0KIAkJY29udGFpbmVyX29mKHZtLCBzdHJ1Y3QgaTkxNV9od19wcGd0dCwgYmFzZSk7CiAJ c3RydWN0IGk5MTVfcGFnZV9kaXJlY3RvcnlfcG9pbnRlciAqcGRwID0gJnBwZ3R0LT5wZHA7IC8q IEZJWE1FOiA0OGIgKi8KKworCWdlbjhfcHRlX3Qgc2NyYXRjaF9wdGUgPSBnZW44X3B0ZV9lbmNv ZGUocHhfZG1hKHZtLT5zY3JhdGNoX3BhZ2UpLAorCQkJCQkJIEk5MTVfQ0FDSEVfTExDLCB1c2Vf c2NyYXRjaCk7CisKKwlnZW44X3BwZ3R0X2NsZWFyX3B0ZV9yYW5nZSh2bSwgcGRwLCBzdGFydCwg bGVuZ3RoLCBzY3JhdGNoX3B0ZSk7Cit9CisKK3N0YXRpYyB2b2lkCitnZW44X3BwZ3R0X2luc2Vy dF9wdGVfZW50cmllcyhzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJCSAgICAgIHN0 cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5X3BvaW50ZXIgKnBkcCwKKwkJCSAgICAgIHN0cnVjdCBz Z190YWJsZSAqcGFnZXMsCisJCQkgICAgICB1aW50NjRfdCBzdGFydCwKKwkJCSAgICAgIGVudW0g aTkxNV9jYWNoZV9sZXZlbCBjYWNoZV9sZXZlbCkKK3sKKwlzdHJ1Y3QgaTkxNV9od19wcGd0dCAq cHBndHQgPQorCQljb250YWluZXJfb2Yodm0sIHN0cnVjdCBpOTE1X2h3X3BwZ3R0LCBiYXNlKTsK IAlnZW44X3B0ZV90ICpwdF92YWRkcjsKIAl1bnNpZ25lZCBwZHBlID0gc3RhcnQgPj4gR0VOOF9Q RFBFX1NISUZUICYgR0VOOF9QRFBFX01BU0s7CiAJdW5zaWduZWQgcGRlID0gc3RhcnQgPj4gR0VO OF9QREVfU0hJRlQgJiBHRU44X1BERV9NQVNLOwpAQCAtNzAwLDYgKzcxMywxOSBAQCBzdGF0aWMg dm9pZCBnZW44X3BwZ3R0X2luc2VydF9lbnRyaWVzKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2Ug KnZtLAogCQlrdW5tYXBfcHgocHBndHQsIHB0X3ZhZGRyKTsKIH0KIAorc3RhdGljIHZvaWQgZ2Vu OF9wcGd0dF9pbnNlcnRfZW50cmllcyhzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJ CQkgICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzLAorCQkJCSAgICAgIHVpbnQ2NF90IHN0YXJ0 LAorCQkJCSAgICAgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBjYWNoZV9sZXZlbCwKKwkJCQkgICAg ICB1MzIgdW51c2VkKQoreworCXN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCA9CisJCWNvbnRh aW5lcl9vZih2bSwgc3RydWN0IGk5MTVfaHdfcHBndHQsIGJhc2UpOworCXN0cnVjdCBpOTE1X3Bh Z2VfZGlyZWN0b3J5X3BvaW50ZXIgKnBkcCA9ICZwcGd0dC0+cGRwOyAvKiBGSVhNRTogNDhiICov CisKKwlnZW44X3BwZ3R0X2luc2VydF9wdGVfZW50cmllcyh2bSwgcGRwLCBwYWdlcywgc3RhcnQs IGNhY2hlX2xldmVsKTsKK30KKwogc3RhdGljIHZvaWQgZ2VuOF9mcmVlX3BhZ2VfdGFibGVzKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJICBzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSAq cGQpCiB7Ci0tIAoyLjQuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK