From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: [PATCH v4 10/18] drm/i915/gen8: Add 4 level support in insert_entries and clear_range Date: Tue, 7 Jul 2015 16:14:55 +0100 Message-ID: <1436282103-5854-11-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 C065E6EA49 for ; Tue, 7 Jul 2015 08:15:15 -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 V2hlbiA0OGIgaXMgZW5hYmxlZCwgZ2VuOF9wcGd0dF9pbnNlcnRfZW50cmllcyBuZWVkcyB0byBy ZWFkIHRoZSBQYWdlIE1hcApMZXZlbCA0IChQTUw0KSwgYmVmb3JlIGl0IHNlbGVjdHMgd2hpY2gg UGFnZSBEaXJlY3RvcnkgUG9pbnRlciAoUERQKQppdCB3aWxsIHdyaXRlIHRvLgoKU2ltaWxhcmx5 LCBnZW44X3BwZ3R0X2NsZWFyX3JhbmdlIG5lZWRzIHRvIGdldCB0aGUgY29ycmVjdCBQRFAvUEQg cmFuZ2UuCgpUaGlzIHBhdGNoIHdhcyBpbnNwaXJlZCBieSBCZW4ncyAiRGVwZW5kIGV4Y2x1c2l2 ZWx5IG9uIG1hcCBhbmQKdW5tYXBfdm1hIi4KCnYyOiBSZWJhc2UgYWZ0ZXIgcy9wYWdlX3RhYmxl cy9wYWdlX3RhYmxlLy4KdjM6IFJlbW92ZSB1bm5lY2Vzc2FyeSBwZHBlIGxvb3AgaW4gZ2VuOF9w cGd0dF9jbGVhcl9yYW5nZV80bHZsIGFuZCB1c2UKY2xhbXBfcGRwIGluIGdlbjhfcHBndHRfaW5z ZXJ0X2VudHJpZXMgKEFrYXNoKS4KdjQ6IE1lcmdlIGdlbjhfcHBndHRfY2xlYXJfcmFuZ2VfNGx2 bCBpbnRvIGdlbjhfcHBndHRfY2xlYXJfcmFuZ2UgdG8KbWFpbnRhaW4gc3ltbWV0cnkgd2l0aCBn ZW44X3BwZ3R0X2luc2VydF9lbnRyaWVzIChBa2FzaCkuCnY1OiBEbyBub3QgbWl4IHBhZ2VzIGFu ZCBieXRlcyBpbiBpbnNlcnRfZW50cmllcyAoQWthc2gpLgp2NjogUHJldmVudCBvdmVyZmxvdyBp biBzZ19uZW50cyA8PCBQQUdFX1NISUZULCB3aGVuIGluc2VydGluZyA0R0IgYXQKb25jZS4Kdjc6 IFJlYmFzZSBhZnRlciBNaWthJ3MgcHBndHQgY2xlYW51cCAvIHNjcmF0Y2ggbWVyZ2UgcGF0Y2gg c2VyaWVzLgpVc2UgZ2VuOF9weF9pbmRleCBmdW5jdGlvbnMsIGFuZCByZW1vdmUgdW5uZWNlc3Nh cnkgbnVtYmVyIG9mIHBhZ2VzCnBhcmFtZXRlciBpbiBpbnNlcnRfcHRlX2VudHJpZXMuCnY4OiBD aGFuZ2UgZ2VuOF9wcGd0dF9jbGVhcl9wdGVfcmFuZ2UgdG8gc3RvcCBhdCBQRFAgYm91bmRhcnks IGluc3RlYWQgb2YKYWRkaW5nIGFuZCBleHRyYSBjbGFtcCBmdW5jdGlvbjsgcmVtb3ZlIHVubmVj ZXNzYXJ5IHBkcF9zdGFydC9wZHBfbGVuCnZhcmlhYmxlcyAoQWthc2gpLgoKQ2M6IEFrYXNoIEdv ZWwgPGFrYXNoLmdvZWxAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBNaWNoZWwgVGhpZXJyeSA8 bWljaGVsLnRoaWVycnlAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2d0dC5jIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggMDMwZjY4OC4uZjEyZTJiNiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAgLTY4OCw5ICs2ODgsOSBAQCBzdGF0aWMgdm9pZCBnZW44 X3BwZ3R0X2NsZWFyX3B0ZV9yYW5nZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAlz dHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPQogCQljb250YWluZXJfb2Yodm0sIHN0cnVjdCBp OTE1X2h3X3BwZ3R0LCBiYXNlKTsKIAlnZW44X3B0ZV90ICpwdF92YWRkcjsKLQl1bnNpZ25lZCBw ZHBlID0gc3RhcnQgPj4gR0VOOF9QRFBFX1NISUZUICYgR0VOOF9QRFBFX01BU0s7Ci0JdW5zaWdu ZWQgcGRlID0gc3RhcnQgPj4gR0VOOF9QREVfU0hJRlQgJiBHRU44X1BERV9NQVNLOwotCXVuc2ln bmVkIHB0ZSA9IHN0YXJ0ID4+IEdFTjhfUFRFX1NISUZUICYgR0VOOF9QVEVfTUFTSzsKKwl1bnNp Z25lZCBwZHBlID0gZ2VuOF9wZHBlX2luZGV4KHN0YXJ0KTsKKwl1bnNpZ25lZCBwZGUgPSBnZW44 X3BkZV9pbmRleChzdGFydCk7CisJdW5zaWduZWQgcHRlID0gZ2VuOF9wdGVfaW5kZXgoc3RhcnQp OwogCXVuc2lnbmVkIG51bV9lbnRyaWVzID0gbGVuZ3RoID4+IFBBR0VfU0hJRlQ7CiAJdW5zaWdu ZWQgbGFzdF9wdGUsIGk7CiAKQEAgLTcyNiw3ICs3MjYsOCBAQCBzdGF0aWMgdm9pZCBnZW44X3Bw Z3R0X2NsZWFyX3B0ZV9yYW5nZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAogCQlw dGUgPSAwOwogCQlpZiAoKytwZGUgPT0gSTkxNV9QREVTKSB7Ci0JCQlwZHBlKys7CisJCQlpZiAo KytwZHBlID09IEk5MTVfUERQRVNfUEVSX1BEUCh2bS0+ZGV2KSkKKwkJCQlicmVhazsKIAkJCXBk ZSA9IDA7CiAJCX0KIAl9CkBAIC03MzksMTIgKzc0MCwyMSBAQCBzdGF0aWMgdm9pZCBnZW44X3Bw Z3R0X2NsZWFyX3JhbmdlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogewogCXN0cnVj dCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCA9CiAJCWNvbnRhaW5lcl9vZih2bSwgc3RydWN0IGk5MTVf aHdfcHBndHQsIGJhc2UpOwotCXN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5X3BvaW50ZXIgKnBk cCA9ICZwcGd0dC0+cGRwOyAvKiBGSVhNRTogNDhiICovCi0KIAlnZW44X3B0ZV90IHNjcmF0Y2hf cHRlID0gZ2VuOF9wdGVfZW5jb2RlKHB4X2RtYSh2bS0+c2NyYXRjaF9wYWdlKSwKIAkJCQkJCSBJ OTE1X0NBQ0hFX0xMQywgdXNlX3NjcmF0Y2gpOwogCi0JZ2VuOF9wcGd0dF9jbGVhcl9wdGVfcmFu Z2Uodm0sIHBkcCwgc3RhcnQsIGxlbmd0aCwgc2NyYXRjaF9wdGUpOworCWlmICghVVNFU19GVUxM XzQ4QklUX1BQR1RUKHZtLT5kZXYpKSB7CisJCWdlbjhfcHBndHRfY2xlYXJfcHRlX3JhbmdlKHZt LCAmcHBndHQtPnBkcCwgc3RhcnQsIGxlbmd0aCwKKwkJCQkJICAgc2NyYXRjaF9wdGUpOworCX0g ZWxzZSB7CisJCXVpbnQ2NF90IHRlbXBsNCwgcG1sNGU7CisJCXN0cnVjdCBpOTE1X3BhZ2VfZGly ZWN0b3J5X3BvaW50ZXIgKnBkcDsKKworCQlnZW44X2Zvcl9lYWNoX3BtbDRlKHBkcCwgJnBwZ3R0 LT5wbWw0LCBzdGFydCwgbGVuZ3RoLCB0ZW1wbDQsIHBtbDRlKSB7CisJCQlnZW44X3BwZ3R0X2Ns ZWFyX3B0ZV9yYW5nZSh2bSwgcGRwLCBzdGFydCwgbGVuZ3RoLAorCQkJCQkJICAgc2NyYXRjaF9w dGUpOworCQl9CisJfQogfQogCiBzdGF0aWMgdm9pZApAQCAtNzU3LDkgKzc2Nyw5IEBAIGdlbjhf cHBndHRfaW5zZXJ0X3B0ZV9lbnRyaWVzKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAog CXN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCA9CiAJCWNvbnRhaW5lcl9vZih2bSwgc3RydWN0 IGk5MTVfaHdfcHBndHQsIGJhc2UpOwogCWdlbjhfcHRlX3QgKnB0X3ZhZGRyOwotCXVuc2lnbmVk IHBkcGUgPSBzdGFydCA+PiBHRU44X1BEUEVfU0hJRlQgJiBHRU44X1BEUEVfTUFTSzsKLQl1bnNp Z25lZCBwZGUgPSBzdGFydCA+PiBHRU44X1BERV9TSElGVCAmIEdFTjhfUERFX01BU0s7Ci0JdW5z aWduZWQgcHRlID0gc3RhcnQgPj4gR0VOOF9QVEVfU0hJRlQgJiBHRU44X1BURV9NQVNLOworCXVu c2lnbmVkIHBkcGUgPSBnZW44X3BkcGVfaW5kZXgoc3RhcnQpOworCXVuc2lnbmVkIHBkZSA9IGdl bjhfcGRlX2luZGV4KHN0YXJ0KTsKKwl1bnNpZ25lZCBwdGUgPSBnZW44X3B0ZV9pbmRleChzdGFy dCk7CiAKIAlwdF92YWRkciA9IE5VTEw7CiAKQEAgLTc3Nyw3ICs3ODcsOCBAQCBnZW44X3BwZ3R0 X2luc2VydF9wdGVfZW50cmllcyhzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJCWt1 bm1hcF9weChwcGd0dCwgcHRfdmFkZHIpOwogCQkJcHRfdmFkZHIgPSBOVUxMOwogCQkJaWYgKCsr cGRlID09IEk5MTVfUERFUykgewotCQkJCXBkcGUrKzsKKwkJCQlpZiAoKytwZHBlID09IEk5MTVf UERQRVNfUEVSX1BEUCh2bS0+ZGV2KSkKKwkJCQkJYnJlYWs7CiAJCQkJcGRlID0gMDsKIAkJCX0K IAkJCXB0ZSA9IDA7CkBAIC03OTYsMTEgKzgwNywyMyBAQCBzdGF0aWMgdm9pZCBnZW44X3BwZ3R0 X2luc2VydF9lbnRyaWVzKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogewogCXN0cnVj dCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCA9CiAJCWNvbnRhaW5lcl9vZih2bSwgc3RydWN0IGk5MTVf aHdfcHBndHQsIGJhc2UpOwotCXN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5X3BvaW50ZXIgKnBk cCA9ICZwcGd0dC0+cGRwOyAvKiBGSVhNRTogNDhiICovCiAJc3RydWN0IHNnX3BhZ2VfaXRlciBz Z19pdGVyOwogCiAJX19zZ19wYWdlX2l0ZXJfc3RhcnQoJnNnX2l0ZXIsIHBhZ2VzLT5zZ2wsIHNn X25lbnRzKHBhZ2VzLT5zZ2wpLCAwKTsKLQlnZW44X3BwZ3R0X2luc2VydF9wdGVfZW50cmllcyh2 bSwgcGRwLCAmc2dfaXRlciwgc3RhcnQsIGNhY2hlX2xldmVsKTsKKworCWlmICghVVNFU19GVUxM XzQ4QklUX1BQR1RUKHZtLT5kZXYpKSB7CisJCWdlbjhfcHBndHRfaW5zZXJ0X3B0ZV9lbnRyaWVz KHZtLCAmcHBndHQtPnBkcCwgJnNnX2l0ZXIsIHN0YXJ0LAorCQkJCQkgICAgICBjYWNoZV9sZXZl bCk7CisJfSBlbHNlIHsKKwkJc3RydWN0IGk5MTVfcGFnZV9kaXJlY3RvcnlfcG9pbnRlciAqcGRw OworCQl1aW50NjRfdCB0ZW1wbDQsIHBtbDRlOworCQl1aW50NjRfdCBsZW5ndGggPSAodWludDY0 X3Qpc2dfbmVudHMocGFnZXMtPnNnbCkgPDwgUEFHRV9TSElGVDsKKworCQlnZW44X2Zvcl9lYWNo X3BtbDRlKHBkcCwgJnBwZ3R0LT5wbWw0LCBzdGFydCwgbGVuZ3RoLCB0ZW1wbDQsIHBtbDRlKSB7 CisJCQlnZW44X3BwZ3R0X2luc2VydF9wdGVfZW50cmllcyh2bSwgcGRwLCAmc2dfaXRlciwKKwkJ CQkJCSAgICAgIHN0YXJ0LCBjYWNoZV9sZXZlbCk7CisJCX0KKwl9CiB9CiAKIHN0YXRpYyB2b2lk IGdlbjhfZnJlZV9wYWdlX3RhYmxlcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotLSAKMi40LjUK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==