From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: [PATCH v6 10/19] drm/i915/gen8: Add 4 level support in insert_entries and clear_range Date: Wed, 29 Jul 2015 17:23:54 +0100 Message-ID: <1438187043-34267-11-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 6F46B6EC22 for ; Wed, 29 Jul 2015 09:24:16 -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 V2hlbiA0OGIgaXMgZW5hYmxlZCwgZ2VuOF9wcGd0dF9pbnNlcnRfZW50cmllcyBuZWVkcyB0byBy ZWFkIHRoZSBQYWdlIE1hcApMZXZlbCA0IChQTUw0KSwgYmVmb3JlIGl0IHNlbGVjdHMgd2hpY2gg UGFnZSBEaXJlY3RvcnkgUG9pbnRlciAoUERQKQppdCB3aWxsIHdyaXRlIHRvLgoKU2ltaWxhcmx5 LCBnZW44X3BwZ3R0X2NsZWFyX3JhbmdlIG5lZWRzIHRvIGdldCB0aGUgY29ycmVjdCBQRFAvUEQg cmFuZ2UuCgpUaGlzIHBhdGNoIHdhcyBpbnNwaXJlZCBieSBCZW4ncyAiRGVwZW5kIGV4Y2x1c2l2 ZWx5IG9uIG1hcCBhbmQKdW5tYXBfdm1hIi4KCnYyOiBSZWJhc2UgYWZ0ZXIgcy9wYWdlX3RhYmxl cy9wYWdlX3RhYmxlLy4KdjM6IFJlbW92ZSB1bm5lY2Vzc2FyeSBwZHBlIGxvb3AgaW4gZ2VuOF9w cGd0dF9jbGVhcl9yYW5nZV80bHZsIGFuZCB1c2UKY2xhbXBfcGRwIGluIGdlbjhfcHBndHRfaW5z ZXJ0X2VudHJpZXMgKEFrYXNoKS4KdjQ6IE1lcmdlIGdlbjhfcHBndHRfY2xlYXJfcmFuZ2VfNGx2 bCBpbnRvIGdlbjhfcHBndHRfY2xlYXJfcmFuZ2UgdG8KbWFpbnRhaW4gc3ltbWV0cnkgd2l0aCBn ZW44X3BwZ3R0X2luc2VydF9lbnRyaWVzIChBa2FzaCkuCnY1OiBEbyBub3QgbWl4IHBhZ2VzIGFu ZCBieXRlcyBpbiBpbnNlcnRfZW50cmllcyAoQWthc2gpLgp2NjogUHJldmVudCBvdmVyZmxvdyBp biBzZ19uZW50cyA8PCBQQUdFX1NISUZULCB3aGVuIGluc2VydGluZyA0R0IgYXQKb25jZS4Kdjc6 IFJlYmFzZSBhZnRlciBNaWthJ3MgcHBndHQgY2xlYW51cCAvIHNjcmF0Y2ggbWVyZ2UgcGF0Y2gg c2VyaWVzLgpVc2UgZ2VuOF9weF9pbmRleCBmdW5jdGlvbnMsIGFuZCByZW1vdmUgdW5uZWNlc3Nh cnkgbnVtYmVyIG9mIHBhZ2VzCnBhcmFtZXRlciBpbiBpbnNlcnRfcHRlX2VudHJpZXMuCnY4OiBD aGFuZ2UgZ2VuOF9wcGd0dF9jbGVhcl9wdGVfcmFuZ2UgdG8gc3RvcCBhdCBQRFAgYm91bmRhcnks IGluc3RlYWQgb2YKYWRkaW5nIGFuZCBleHRyYSBjbGFtcCBmdW5jdGlvbjsgcmVtb3ZlIHVubmVj ZXNzYXJ5IHBkcF9zdGFydC9wZHBfbGVuCnZhcmlhYmxlcyAoQWthc2gpLgp2OTogcGFnZXMtPm9y aWdfbmVudHMgaW5zdGVhZCBvZiBzZ19uZW50cyhwYWdlcy0+c2dsKSB0byBnZXQgdGhlCmxlbmd0 aCAoQWthc2gpLgoKQ2M6IEFrYXNoIEdvZWwgPGFrYXNoLmdvZWxAaW50ZWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBNaWNoZWwgVGhpZXJyeSA8bWljaGVsLnRoaWVycnlAaW50ZWwuY29tPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIHwgNDkgKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDEz IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggN2MwMjRl OTguLjcwNzBkNDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0 dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC02ODcsOSAr Njg3LDkgQEAgc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9jbGVhcl9wdGVfcmFuZ2Uoc3RydWN0IGk5 MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0ID0KIAkJ Y29udGFpbmVyX29mKHZtLCBzdHJ1Y3QgaTkxNV9od19wcGd0dCwgYmFzZSk7CiAJZ2VuOF9wdGVf dCAqcHRfdmFkZHI7Ci0JdW5zaWduZWQgcGRwZSA9IHN0YXJ0ID4+IEdFTjhfUERQRV9TSElGVCAm IEdFTjhfUERQRV9NQVNLOwotCXVuc2lnbmVkIHBkZSA9IHN0YXJ0ID4+IEdFTjhfUERFX1NISUZU ICYgR0VOOF9QREVfTUFTSzsKLQl1bnNpZ25lZCBwdGUgPSBzdGFydCA+PiBHRU44X1BURV9TSElG VCAmIEdFTjhfUFRFX01BU0s7CisJdW5zaWduZWQgcGRwZSA9IGdlbjhfcGRwZV9pbmRleChzdGFy dCk7CisJdW5zaWduZWQgcGRlID0gZ2VuOF9wZGVfaW5kZXgoc3RhcnQpOworCXVuc2lnbmVkIHB0 ZSA9IGdlbjhfcHRlX2luZGV4KHN0YXJ0KTsKIAl1bnNpZ25lZCBudW1fZW50cmllcyA9IGxlbmd0 aCA+PiBQQUdFX1NISUZUOwogCXVuc2lnbmVkIGxhc3RfcHRlLCBpOwogCkBAIC03MjUsNyArNzI1 LDggQEAgc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9jbGVhcl9wdGVfcmFuZ2Uoc3RydWN0IGk5MTVf YWRkcmVzc19zcGFjZSAqdm0sCiAKIAkJcHRlID0gMDsKIAkJaWYgKCsrcGRlID09IEk5MTVfUERF UykgewotCQkJcGRwZSsrOworCQkJaWYgKCsrcGRwZSA9PSBJOTE1X1BEUEVTX1BFUl9QRFAodm0t PmRldikpCisJCQkJYnJlYWs7CiAJCQlwZGUgPSAwOwogCQl9CiAJfQpAQCAtNzM4LDEyICs3Mzks MjEgQEAgc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9jbGVhcl9yYW5nZShzdHJ1Y3QgaTkxNV9hZGRy ZXNzX3NwYWNlICp2bSwKIHsKIAlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPQogCQljb250 YWluZXJfb2Yodm0sIHN0cnVjdCBpOTE1X2h3X3BwZ3R0LCBiYXNlKTsKLQlzdHJ1Y3QgaTkxNV9w YWdlX2RpcmVjdG9yeV9wb2ludGVyICpwZHAgPSAmcHBndHQtPnBkcDsgLyogRklYTUU6IDQ4YiAq LwotCiAJZ2VuOF9wdGVfdCBzY3JhdGNoX3B0ZSA9IGdlbjhfcHRlX2VuY29kZShweF9kbWEodm0t PnNjcmF0Y2hfcGFnZSksCiAJCQkJCQkgSTkxNV9DQUNIRV9MTEMsIHVzZV9zY3JhdGNoKTsKIAot CWdlbjhfcHBndHRfY2xlYXJfcHRlX3JhbmdlKHZtLCBwZHAsIHN0YXJ0LCBsZW5ndGgsIHNjcmF0 Y2hfcHRlKTsKKwlpZiAoIVVTRVNfRlVMTF80OEJJVF9QUEdUVCh2bS0+ZGV2KSkgeworCQlnZW44 X3BwZ3R0X2NsZWFyX3B0ZV9yYW5nZSh2bSwgJnBwZ3R0LT5wZHAsIHN0YXJ0LCBsZW5ndGgsCisJ CQkJCSAgIHNjcmF0Y2hfcHRlKTsKKwl9IGVsc2UgeworCQl1aW50NjRfdCB0ZW1wbDQsIHBtbDRl OworCQlzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeV9wb2ludGVyICpwZHA7CisKKwkJZ2VuOF9m b3JfZWFjaF9wbWw0ZShwZHAsICZwcGd0dC0+cG1sNCwgc3RhcnQsIGxlbmd0aCwgdGVtcGw0LCBw bWw0ZSkgeworCQkJZ2VuOF9wcGd0dF9jbGVhcl9wdGVfcmFuZ2Uodm0sIHBkcCwgc3RhcnQsIGxl bmd0aCwKKwkJCQkJCSAgIHNjcmF0Y2hfcHRlKTsKKwkJfQorCX0KIH0KIAogc3RhdGljIHZvaWQK QEAgLTc1Niw5ICs3NjYsOSBAQCBnZW44X3BwZ3R0X2luc2VydF9wdGVfZW50cmllcyhzdHJ1Y3Qg aTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPQog CQljb250YWluZXJfb2Yodm0sIHN0cnVjdCBpOTE1X2h3X3BwZ3R0LCBiYXNlKTsKIAlnZW44X3B0 ZV90ICpwdF92YWRkcjsKLQl1bnNpZ25lZCBwZHBlID0gc3RhcnQgPj4gR0VOOF9QRFBFX1NISUZU ICYgR0VOOF9QRFBFX01BU0s7Ci0JdW5zaWduZWQgcGRlID0gc3RhcnQgPj4gR0VOOF9QREVfU0hJ RlQgJiBHRU44X1BERV9NQVNLOwotCXVuc2lnbmVkIHB0ZSA9IHN0YXJ0ID4+IEdFTjhfUFRFX1NI SUZUICYgR0VOOF9QVEVfTUFTSzsKKwl1bnNpZ25lZCBwZHBlID0gZ2VuOF9wZHBlX2luZGV4KHN0 YXJ0KTsKKwl1bnNpZ25lZCBwZGUgPSBnZW44X3BkZV9pbmRleChzdGFydCk7CisJdW5zaWduZWQg cHRlID0gZ2VuOF9wdGVfaW5kZXgoc3RhcnQpOwogCiAJcHRfdmFkZHIgPSBOVUxMOwogCkBAIC03 NzYsNyArNzg2LDggQEAgZ2VuOF9wcGd0dF9pbnNlcnRfcHRlX2VudHJpZXMoc3RydWN0IGk5MTVf YWRkcmVzc19zcGFjZSAqdm0sCiAJCQlrdW5tYXBfcHgocHBndHQsIHB0X3ZhZGRyKTsKIAkJCXB0 X3ZhZGRyID0gTlVMTDsKIAkJCWlmICgrK3BkZSA9PSBJOTE1X1BERVMpIHsKLQkJCQlwZHBlKys7 CisJCQkJaWYgKCsrcGRwZSA9PSBJOTE1X1BEUEVTX1BFUl9QRFAodm0tPmRldikpCisJCQkJCWJy ZWFrOwogCQkJCXBkZSA9IDA7CiAJCQl9CiAJCQlwdGUgPSAwOwpAQCAtNzk1LDExICs4MDYsMjMg QEAgc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9pbnNlcnRfZW50cmllcyhzdHJ1Y3QgaTkxNV9hZGRy ZXNzX3NwYWNlICp2bSwKIHsKIAlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPQogCQljb250 YWluZXJfb2Yodm0sIHN0cnVjdCBpOTE1X2h3X3BwZ3R0LCBiYXNlKTsKLQlzdHJ1Y3QgaTkxNV9w YWdlX2RpcmVjdG9yeV9wb2ludGVyICpwZHAgPSAmcHBndHQtPnBkcDsgLyogRklYTUU6IDQ4YiAq LwogCXN0cnVjdCBzZ19wYWdlX2l0ZXIgc2dfaXRlcjsKIAogCV9fc2dfcGFnZV9pdGVyX3N0YXJ0 KCZzZ19pdGVyLCBwYWdlcy0+c2dsLCBzZ19uZW50cyhwYWdlcy0+c2dsKSwgMCk7Ci0JZ2VuOF9w cGd0dF9pbnNlcnRfcHRlX2VudHJpZXModm0sIHBkcCwgJnNnX2l0ZXIsIHN0YXJ0LCBjYWNoZV9s ZXZlbCk7CisKKwlpZiAoIVVTRVNfRlVMTF80OEJJVF9QUEdUVCh2bS0+ZGV2KSkgeworCQlnZW44 X3BwZ3R0X2luc2VydF9wdGVfZW50cmllcyh2bSwgJnBwZ3R0LT5wZHAsICZzZ19pdGVyLCBzdGFy dCwKKwkJCQkJICAgICAgY2FjaGVfbGV2ZWwpOworCX0gZWxzZSB7CisJCXN0cnVjdCBpOTE1X3Bh Z2VfZGlyZWN0b3J5X3BvaW50ZXIgKnBkcDsKKwkJdWludDY0X3QgdGVtcGw0LCBwbWw0ZTsKKwkJ dWludDY0X3QgbGVuZ3RoID0gKHVpbnQ2NF90KXBhZ2VzLT5vcmlnX25lbnRzIDw8IFBBR0VfU0hJ RlQ7CisKKwkJZ2VuOF9mb3JfZWFjaF9wbWw0ZShwZHAsICZwcGd0dC0+cG1sNCwgc3RhcnQsIGxl bmd0aCwgdGVtcGw0LCBwbWw0ZSkgeworCQkJZ2VuOF9wcGd0dF9pbnNlcnRfcHRlX2VudHJpZXMo dm0sIHBkcCwgJnNnX2l0ZXIsCisJCQkJCQkgICAgICBzdGFydCwgY2FjaGVfbGV2ZWwpOworCQl9 CisJfQogfQogCiBzdGF0aWMgdm9pZCBnZW44X2ZyZWVfcGFnZV90YWJsZXMoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKLS0gCjIuNC41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=