From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: [PATCH 08/12] drm/i915/bdw: Generalize PTE writing for GEN8 PPGTT Date: Fri, 20 Feb 2015 17:46:02 +0000 Message-ID: <1424454366-19006-9-git-send-email-michel.thierry@intel.com> References: <1424454366-19006-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 72FCD6E6FA for ; Fri, 20 Feb 2015 09:46:14 -0800 (PST) In-Reply-To: <1424454366-19006-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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQmVuIFdpZGF3c2t5IDxiZW5qYW1pbi53aWRhd3NreUBpbnRlbC5jb20+CgpUaGUgaW5z ZXJ0X2VudHJpZXMgZnVuY3Rpb24gd2FzIHRoZSBmdW5jdGlvbiB1c2VkIHRvIHdyaXRlIFBURXMu IEZvciB0aGUKUFBHVFQgaXQgd2FzICJoYXJkY29kZWQiIHRvIG9ubHkgdW5kZXJzdGFuZCB0d28g bGV2ZWwgcGFnZSB0YWJsZXMsIHdoaWNoCndhcyB0aGUgY2FzZSBmb3IgR0VONy4gV2UgY2FuIHJl dXNlIHRoaXMgZm9yIDQgbGV2ZWwgcGFnZSB0YWJsZXMsIGFuZApyZW1vdmUgdGhlIGNvbmNlcHQg b2YgaW5zZXJ0X2VudHJpZXMsIHdoaWNoIHdhcyBuZXZlciB2aWFibGUgcGFzdCAyCmxldmVsIHBh Z2UgdGFibGVzIGFueXdheSwgYnV0IGl0IHJlcXVpcmVzIGEgYml0IG9mIHJld29yayB0byBtYWtl IHRoZQpmdW5jdGlvbiBhIGJpdCBtb3JlIGdlbmVyaWMuCgpUaGlzIHBhdGNoIGJlZ2lucyB0aGUg Z2VuZXJhbGl6YXRpb24gd29yaywgYW5kIGl0IHdpbGwgYmUgaGVhdmlseSB1c2VkCnVwb24gd2hl biB0aGUgNDhiIGNvZGUgaXMgY29tcGxldGUuIFRoZSBwYXRjaCBzZXJpZXMgYXR0ZW1wdHMgdG8g bWFrZQplYWNoIGZ1bmN0aW9uIHdoaWNoIHRvdWNoZXMgYSBwYXJ0IG9mIGNvZGUgc3BlY2lmaWMg dG8gdGhlIHBhZ2UgdGFibGUKbGV2ZWwgYW5kIGhlcmUgaXMgbm8gZXhjZXB0aW9uLiBIYXZpbmcg ZXh0cmEgdmFyaWFibGVzIChzdWNoIGFzIHRoZQpQUEdUVCkgZGlzdHJhY3RzIGFuZCBwcm92aWRl cyByb29tIHRvIGFkZCBidWdzIHNpbmNlIHRoZSBmdW5jdGlvbgpzaG91bGRuJ3QgYmUgdG91Y2hp bmcgYW55dGhpbmcgaW4gdGhlIGhpZ2hlciBvcmRlciBwYWdlIHRhYmxlcy4KClNpZ25lZC1vZmYt Ynk6IEJlbiBXaWRhd3NreSA8YmVuQGJ3aWRhd3NrLm5ldD4KU2lnbmVkLW9mZi1ieTogTWljaGVs IFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuYyB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCmluZGV4IGZiMDZmNjcuLmZjZmNiMDAgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC02MTksMjMgKzYxOSwxOSBAQCBzdGF0 aWMgaW50IGdlbjhfNDhiX21tX3N3aXRjaChzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQsCiAJ cmV0dXJuIGdlbjhfd3JpdGVfcGRwKHJpbmcsIDAsIHBwZ3R0LT5wbWw0LmRhZGRyKTsKIH0KIAot c3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9jbGVhcl9yYW5nZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3Nw YWNlICp2bSwKLQkJCQkgICB1aW50NjRfdCBzdGFydCwKLQkJCQkgICB1aW50NjRfdCBsZW5ndGgs Ci0JCQkJICAgYm9vbCB1c2Vfc2NyYXRjaCkKK3N0YXRpYyB2b2lkIGdlbjhfcHBndHRfY2xlYXJf cHRlX3JhbmdlKHN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5X3BvaW50ZXJfZW50cnkgKnBkcCwK KwkJCQkgICAgICAgdWludDY0X3Qgc3RhcnQsCisJCQkJICAgICAgIHVpbnQ2NF90IGxlbmd0aCwK KwkJCQkgICAgICAgZ2VuOF9ndHRfcHRlX3Qgc2NyYXRjaF9wdGUsCisJCQkJICAgICAgIGNvbnN0 IGJvb2wgZmx1c2gpCiB7Ci0Jc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0ID0KLQkJY29udGFp bmVyX29mKHZtLCBzdHJ1Y3QgaTkxNV9od19wcGd0dCwgYmFzZSk7Ci0Jc3RydWN0IGk5MTVfcGFn ZV9kaXJlY3RvcnlfcG9pbnRlcl9lbnRyeSAqcGRwID0gJnBwZ3R0LT5wZHA7IC8qIEZJWE1FOiA0 OGIgKi8KLQlnZW44X2d0dF9wdGVfdCAqcHRfdmFkZHIsIHNjcmF0Y2hfcHRlOworCWdlbjhfZ3R0 X3B0ZV90ICpwdF92YWRkcjsKIAl1bnNpZ25lZCBwZHBlID0gc3RhcnQgPj4gR0VOOF9QRFBFX1NI SUZUICYgR0VOOF9QRFBFX01BU0s7CiAJdW5zaWduZWQgcGRlID0gc3RhcnQgPj4gR0VOOF9QREVf U0hJRlQgJiBHRU44X1BERV9NQVNLOwogCXVuc2lnbmVkIHB0ZSA9IHN0YXJ0ID4+IEdFTjhfUFRF X1NISUZUICYgR0VOOF9QVEVfTUFTSzsKIAl1bnNpZ25lZCBudW1fZW50cmllcyA9IGxlbmd0aCA+ PiBQQUdFX1NISUZUOwogCXVuc2lnbmVkIGxhc3RfcHRlLCBpOwogCi0Jc2NyYXRjaF9wdGUgPSBn ZW44X3B0ZV9lbmNvZGUocHBndHQtPmJhc2Uuc2NyYXRjaC5hZGRyLAotCQkJCSAgICAgIEk5MTVf Q0FDSEVfTExDLCB1c2Vfc2NyYXRjaCk7CiAKIAl3aGlsZSAobnVtX2VudHJpZXMpIHsKIAkJc3Ry dWN0IGk5MTVfcGFnZV9kaXJlY3RvcnlfZW50cnkgKnBkOwpAQCAtNjY4LDcgKzY2NCw3IEBAIHN0 YXRpYyB2b2lkIGdlbjhfcHBndHRfY2xlYXJfcmFuZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFj ZSAqdm0sCiAJCQludW1fZW50cmllcy0tOwogCQl9CiAKLQkJaWYgKCFIQVNfTExDKHBwZ3R0LT5i YXNlLmRldikpCisJCWlmIChmbHVzaCkKIAkJCWRybV9jbGZsdXNoX3ZpcnRfcmFuZ2UocHRfdmFk ZHIsIFBBR0VfU0laRSk7CiAJCWt1bm1hcF9hdG9taWMocHRfdmFkZHIpOwogCkBAIC02ODAsMTQg KzY3NiwyNyBAQCBzdGF0aWMgdm9pZCBnZW44X3BwZ3R0X2NsZWFyX3JhbmdlKHN0cnVjdCBpOTE1 X2FkZHJlc3Nfc3BhY2UgKnZtLAogCX0KIH0KIAotc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9pbnNl cnRfZW50cmllcyhzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKLQkJCQkgICAgICBzdHJ1 Y3Qgc2dfdGFibGUgKnBhZ2VzLAotCQkJCSAgICAgIHVpbnQ2NF90IHN0YXJ0LAotCQkJCSAgICAg IGVudW0gaTkxNV9jYWNoZV9sZXZlbCBjYWNoZV9sZXZlbCwgdTMyIHVudXNlZCkKK3N0YXRpYyB2 b2lkIGdlbjhfcHBndHRfY2xlYXJfcmFuZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0s CisJCQkJICAgdWludDY0X3Qgc3RhcnQsCisJCQkJICAgdWludDY0X3QgbGVuZ3RoLAorCQkJCSAg IGJvb2wgdXNlX3NjcmF0Y2gpCiB7CiAJc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0ID0KIAkJ Y29udGFpbmVyX29mKHZtLCBzdHJ1Y3QgaTkxNV9od19wcGd0dCwgYmFzZSk7CiAJc3RydWN0IGk5 MTVfcGFnZV9kaXJlY3RvcnlfcG9pbnRlcl9lbnRyeSAqcGRwID0gJnBwZ3R0LT5wZHA7IC8qIEZJ WE1FOiA0OGIgKi8KKworCWdlbjhfZ3R0X3B0ZV90IHNjcmF0Y2hfcHRlID0gZ2VuOF9wdGVfZW5j b2RlKHBwZ3R0LT5iYXNlLnNjcmF0Y2guYWRkciwKKwkJCQkJCSAgICAgSTkxNV9DQUNIRV9MTEMs IHVzZV9zY3JhdGNoKTsKKworCWdlbjhfcHBndHRfY2xlYXJfcHRlX3JhbmdlKHBkcCwgc3RhcnQs IGxlbmd0aCwgc2NyYXRjaF9wdGUsICFIQVNfTExDKHZtLT5kZXYpKTsKK30KKworc3RhdGljIHZv aWQgZ2VuOF9wcGd0dF9pbnNlcnRfcHRlX2VudHJpZXMoc3RydWN0IGk5MTVfcGFnZV9kaXJlY3Rv cnlfcG9pbnRlcl9lbnRyeSAqcGRwLAorCQkJCQkgIHN0cnVjdCBzZ190YWJsZSAqcGFnZXMsCisJ CQkJCSAgdWludDY0X3Qgc3RhcnQsCisJCQkJCSAgZW51bSBpOTE1X2NhY2hlX2xldmVsIGNhY2hl X2xldmVsLAorCQkJCQkgIGNvbnN0IGJvb2wgZmx1c2gpCit7CiAJZ2VuOF9ndHRfcHRlX3QgKnB0 X3ZhZGRyOwogCXVuc2lnbmVkIHBkcGUgPSBzdGFydCA+PiBHRU44X1BEUEVfU0hJRlQgJiBHRU44 X1BEUEVfTUFTSzsKIAl1bnNpZ25lZCBwZGUgPSBzdGFydCA+PiBHRU44X1BERV9TSElGVCAmIEdF TjhfUERFX01BU0s7CkBAIC03MDksNyArNzE4LDcgQEAgc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9p bnNlcnRfZW50cmllcyhzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJCWdlbjhfcHRl X2VuY29kZShzZ19wYWdlX2l0ZXJfZG1hX2FkZHJlc3MoJnNnX2l0ZXIpLAogCQkJCQljYWNoZV9s ZXZlbCwgdHJ1ZSk7CiAJCWlmICgrK3B0ZSA9PSBHRU44X1BURVNfUEVSX1BBR0UpIHsKLQkJCWlm ICghSEFTX0xMQyhwcGd0dC0+YmFzZS5kZXYpKQorCQkJaWYgKGZsdXNoKQogCQkJCWRybV9jbGZs dXNoX3ZpcnRfcmFuZ2UocHRfdmFkZHIsIFBBR0VfU0laRSk7CiAJCQlrdW5tYXBfYXRvbWljKHB0 X3ZhZGRyKTsKIAkJCXB0X3ZhZGRyID0gTlVMTDsKQEAgLTcyMSwxMiArNzMwLDI0IEBAIHN0YXRp YyB2b2lkIGdlbjhfcHBndHRfaW5zZXJ0X2VudHJpZXMoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFj ZSAqdm0sCiAJCX0KIAl9CiAJaWYgKHB0X3ZhZGRyKSB7Ci0JCWlmICghSEFTX0xMQyhwcGd0dC0+ YmFzZS5kZXYpKQorCQlpZiAoZmx1c2gpCiAJCQlkcm1fY2xmbHVzaF92aXJ0X3JhbmdlKHB0X3Zh ZGRyLCBQQUdFX1NJWkUpOwogCQlrdW5tYXBfYXRvbWljKHB0X3ZhZGRyKTsKIAl9CiB9CiAKK3N0 YXRpYyB2b2lkIGdlbjhfcHBndHRfaW5zZXJ0X2VudHJpZXMoc3RydWN0IGk5MTVfYWRkcmVzc19z cGFjZSAqdm0sCisJCQkJICAgICAgc3RydWN0IHNnX3RhYmxlICpwYWdlcywKKwkJCQkgICAgICB1 aW50NjRfdCBzdGFydCwKKwkJCQkgICAgICBlbnVtIGk5MTVfY2FjaGVfbGV2ZWwgY2FjaGVfbGV2 ZWwsCisJCQkJICAgICAgdTMyIHVudXNlZCkKK3sKKwlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBn dHQgPSBjb250YWluZXJfb2Yodm0sIHN0cnVjdCBpOTE1X2h3X3BwZ3R0LCBiYXNlKTsKKwlzdHJ1 Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeV9wb2ludGVyX2VudHJ5ICpwZHAgPSAmcHBndHQtPnBkcDsg LyogRklYTUU6IDQ4YiAqLworCisJZ2VuOF9wcGd0dF9pbnNlcnRfcHRlX2VudHJpZXMocGRwLCBw YWdlcywgc3RhcnQsIGNhY2hlX2xldmVsLCAhSEFTX0xMQyh2bS0+ZGV2KSk7Cit9CisKIHN0YXRp YyB2b2lkIF9fZ2VuOF9kb19tYXBfcHQoZ2VuOF9wcGd0dF9wZGVfdCAqIGNvbnN0IHBkZSwKIAkJ CSAgICAgc3RydWN0IGk5MTVfcGFnZV90YWJsZV9lbnRyeSAqcHQsCiAJCQkgICAgIHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCi0tIAoyLjEuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK