From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: [PATCH v7 04/19] drm/i915/gen8: Generalize PTE writing for GEN8 PPGTT Date: Thu, 30 Jul 2015 11:02:49 +0100 Message-ID: <1438250569-22618-1-git-send-email-michel.thierry@intel.com> References: <1438187043-34267-5-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id B90E27A11C for ; Thu, 30 Jul 2015 03:02:51 -0700 (PDT) In-Reply-To: <1438187043-34267-5-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 List-Id: intel-gfx@lists.freedesktop.org VGhlIGluc2VydF9lbnRyaWVzIGZ1bmN0aW9uIHdhcyB0aGUgZnVuY3Rpb24gdXNlZCB0byB3cml0 ZSBQVEVzLiBGb3IgdGhlClBQR1RUIGl0IHdhcyAiaGFyZGNvZGVkIiB0byBvbmx5IHVuZGVyc3Rh bmQgdHdvIGxldmVsIHBhZ2UgdGFibGVzLCB3aGljaAp3YXMgdGhlIGNhc2UgZm9yIEdFTjcuIFdl IGNhbiByZXVzZSB0aGlzIGZvciA0IGxldmVsIHBhZ2UgdGFibGVzLCBhbmQKcmVtb3ZlIHRoZSBj b25jZXB0IG9mIGluc2VydF9lbnRyaWVzLCB3aGljaCB3YXMgbmV2ZXIgdmlhYmxlIHBhc3QgMgps ZXZlbCBwYWdlIHRhYmxlcyBhbnl3YXksIGJ1dCBpdCByZXF1aXJlcyBhIGJpdCBvZiByZXdvcmsg dG8gbWFrZSB0aGUKZnVuY3Rpb24gYSBiaXQgbW9yZSBnZW5lcmljLgoKdjI6IFJlYmFzZSBhZnRl ciBNaWthJ3MgcHBndHQgY2xlYW51cCAvIHNjcmF0Y2ggbWVyZ2UgcGF0Y2ggc2VyaWVzLgp2Mzog UmViYXNlIGFmdGVyIGZpbmFsIG1lcmdlZCB2ZXJzaW9uIG9mIE1pa2EncyBwcGd0dC9zY3JhdGNo IHBhdGNoZXMuCnY0OiBDaGVjayBhbmQgd2FybiBmb3IgTlVMTCB2YWx1ZSBvZiBwZHAgcG9pbnRl ciAoQWthc2gpLgoKQ2M6IEFrYXNoIEdvZWwgPGFrYXNoLmdvZWxAaW50ZWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBCZW4gV2lkYXdza3kgPGJlbkBid2lkYXdzay5uZXQ+ClNpZ25lZC1vZmYtYnk6IE1p Y2hlbCBUaGllcnJ5IDxtaWNoZWwudGhpZXJyeUBpbnRlbC5jb20+ICh2MikKLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyB8IDUzICsrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCAxMiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCmluZGV4IGJkNTY5NzkuLjc0 MGFkNWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC02MDAsMjMgKzYwMCwy MyBAQCBzdGF0aWMgaW50IGdlbjhfbW1fc3dpdGNoKHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0 dCwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9jbGVhcl9yYW5nZShz dHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKLQkJCQkgICB1aW50NjRfdCBzdGFydCwKLQkJ CQkgICB1aW50NjRfdCBsZW5ndGgsCi0JCQkJICAgYm9vbCB1c2Vfc2NyYXRjaCkKK3N0YXRpYyB2 b2lkIGdlbjhfcHBndHRfY2xlYXJfcHRlX3JhbmdlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2Ug KnZtLAorCQkJCSAgICAgICBzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeV9wb2ludGVyICpwZHAs CisJCQkJICAgICAgIHVpbnQ2NF90IHN0YXJ0LAorCQkJCSAgICAgICB1aW50NjRfdCBsZW5ndGgs CisJCQkJICAgICAgIGdlbjhfcHRlX3Qgc2NyYXRjaF9wdGUpCiB7CiAJc3RydWN0IGk5MTVfaHdf cHBndHQgKnBwZ3R0ID0KIAkJY29udGFpbmVyX29mKHZtLCBzdHJ1Y3QgaTkxNV9od19wcGd0dCwg YmFzZSk7Ci0Jc3RydWN0IGk5MTVfcGFnZV9kaXJlY3RvcnlfcG9pbnRlciAqcGRwID0gJnBwZ3R0 LT5wZHA7IC8qIEZJWE1FOiA0OGIgKi8KLQlnZW44X3B0ZV90ICpwdF92YWRkciwgc2NyYXRjaF9w dGU7CisJZ2VuOF9wdGVfdCAqcHRfdmFkZHI7CiAJdW5zaWduZWQgcGRwZSA9IHN0YXJ0ID4+IEdF TjhfUERQRV9TSElGVCAmIEdFTjhfUERQRV9NQVNLOwogCXVuc2lnbmVkIHBkZSA9IHN0YXJ0ID4+ IEdFTjhfUERFX1NISUZUICYgR0VOOF9QREVfTUFTSzsKIAl1bnNpZ25lZCBwdGUgPSBzdGFydCA+ PiBHRU44X1BURV9TSElGVCAmIEdFTjhfUFRFX01BU0s7CiAJdW5zaWduZWQgbnVtX2VudHJpZXMg PSBsZW5ndGggPj4gUEFHRV9TSElGVDsKIAl1bnNpZ25lZCBsYXN0X3B0ZSwgaTsKIAotCXNjcmF0 Y2hfcHRlID0gZ2VuOF9wdGVfZW5jb2RlKHB4X2RtYShwcGd0dC0+YmFzZS5zY3JhdGNoX3BhZ2Up LAotCQkJCSAgICAgIEk5MTVfQ0FDSEVfTExDLCB1c2Vfc2NyYXRjaCk7CisJaWYgKFdBUk5fT04o IXBkcCkpCisJCXJldHVybjsKIAogCXdoaWxlIChudW1fZW50cmllcykgewogCQlzdHJ1Y3QgaTkx NV9wYWdlX2RpcmVjdG9yeSAqcGQ7CkBAIC02NTYsMTQgKzY1NiwzMCBAQCBzdGF0aWMgdm9pZCBn ZW44X3BwZ3R0X2NsZWFyX3JhbmdlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCX0K IH0KIAotc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9pbnNlcnRfZW50cmllcyhzdHJ1Y3QgaTkxNV9h ZGRyZXNzX3NwYWNlICp2bSwKLQkJCQkgICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzLAotCQkJ CSAgICAgIHVpbnQ2NF90IHN0YXJ0LAotCQkJCSAgICAgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBj YWNoZV9sZXZlbCwgdTMyIHVudXNlZCkKK3N0YXRpYyB2b2lkIGdlbjhfcHBndHRfY2xlYXJfcmFu Z2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCisJCQkJICAgdWludDY0X3Qgc3RhcnQs CisJCQkJICAgdWludDY0X3QgbGVuZ3RoLAorCQkJCSAgIGJvb2wgdXNlX3NjcmF0Y2gpCiB7CiAJ c3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0ID0KIAkJY29udGFpbmVyX29mKHZtLCBzdHJ1Y3Qg aTkxNV9od19wcGd0dCwgYmFzZSk7CiAJc3RydWN0IGk5MTVfcGFnZV9kaXJlY3RvcnlfcG9pbnRl ciAqcGRwID0gJnBwZ3R0LT5wZHA7IC8qIEZJWE1FOiA0OGIgKi8KKworCWdlbjhfcHRlX3Qgc2Ny YXRjaF9wdGUgPSBnZW44X3B0ZV9lbmNvZGUocHhfZG1hKHZtLT5zY3JhdGNoX3BhZ2UpLAorCQkJ CQkJIEk5MTVfQ0FDSEVfTExDLCB1c2Vfc2NyYXRjaCk7CisKKwlnZW44X3BwZ3R0X2NsZWFyX3B0 ZV9yYW5nZSh2bSwgcGRwLCBzdGFydCwgbGVuZ3RoLCBzY3JhdGNoX3B0ZSk7Cit9CisKK3N0YXRp YyB2b2lkCitnZW44X3BwZ3R0X2luc2VydF9wdGVfZW50cmllcyhzdHJ1Y3QgaTkxNV9hZGRyZXNz X3NwYWNlICp2bSwKKwkJCSAgICAgIHN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5X3BvaW50ZXIg KnBkcCwKKwkJCSAgICAgIHN0cnVjdCBzZ190YWJsZSAqcGFnZXMsCisJCQkgICAgICB1aW50NjRf dCBzdGFydCwKKwkJCSAgICAgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBjYWNoZV9sZXZlbCkKK3sK KwlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPQorCQljb250YWluZXJfb2Yodm0sIHN0cnVj dCBpOTE1X2h3X3BwZ3R0LCBiYXNlKTsKIAlnZW44X3B0ZV90ICpwdF92YWRkcjsKIAl1bnNpZ25l ZCBwZHBlID0gc3RhcnQgPj4gR0VOOF9QRFBFX1NISUZUICYgR0VOOF9QRFBFX01BU0s7CiAJdW5z aWduZWQgcGRlID0gc3RhcnQgPj4gR0VOOF9QREVfU0hJRlQgJiBHRU44X1BERV9NQVNLOwpAQCAt NzAwLDYgKzcxNiwxOSBAQCBzdGF0aWMgdm9pZCBnZW44X3BwZ3R0X2luc2VydF9lbnRyaWVzKHN0 cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCQlrdW5tYXBfcHgocHBndHQsIHB0X3ZhZGRy KTsKIH0KIAorc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9pbnNlcnRfZW50cmllcyhzdHJ1Y3QgaTkx NV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJCQkgICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzLAor CQkJCSAgICAgIHVpbnQ2NF90IHN0YXJ0LAorCQkJCSAgICAgIGVudW0gaTkxNV9jYWNoZV9sZXZl bCBjYWNoZV9sZXZlbCwKKwkJCQkgICAgICB1MzIgdW51c2VkKQoreworCXN0cnVjdCBpOTE1X2h3 X3BwZ3R0ICpwcGd0dCA9CisJCWNvbnRhaW5lcl9vZih2bSwgc3RydWN0IGk5MTVfaHdfcHBndHQs IGJhc2UpOworCXN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5X3BvaW50ZXIgKnBkcCA9ICZwcGd0 dC0+cGRwOyAvKiBGSVhNRTogNDhiICovCisKKwlnZW44X3BwZ3R0X2luc2VydF9wdGVfZW50cmll cyh2bSwgcGRwLCBwYWdlcywgc3RhcnQsIGNhY2hlX2xldmVsKTsKK30KKwogc3RhdGljIHZvaWQg Z2VuOF9mcmVlX3BhZ2VfdGFibGVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJICBzdHJ1 Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSAqcGQpCiB7Ci0tIAoyLjUuMAoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK