From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Micha=C5=82=20Winiarski?= Subject: [CI 3/3] drm/i915/gtt: Free unused lower-level page tables Date: Tue, 11 Oct 2016 16:05:55 +0200 Message-ID: <1476194755-4711-3-git-send-email-michal.winiarski@intel.com> References: <1476194755-4711-1-git-send-email-michal.winiarski@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id E1A356E68E for ; Tue, 11 Oct 2016 14:06:20 +0000 (UTC) In-Reply-To: <1476194755-4711-1-git-send-email-michal.winiarski@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 U2luY2UgIkR5bmFtaWMgcGFnZSB0YWJsZSBhbGxvY2F0aW9ucyIgd2VyZSBpbnRyb2R1Y2VkLCBv dXIgcGFnZSB0YWJsZXMKY2FuIGdyb3cgKGJlaW5nIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCkgd2l0 aCBhZGRyZXNzIHNwYWNlIHJhbmdlIHVzYWdlLgpVbmZvcnR1bmF0ZWx5LCB0aGVpciBsaWZldGlt ZSBpcyBib3VuZCB0byB2bS4gVGhpcyBpcyBub3QgYSBodWdlIHByb2JsZW0Kd2hlbiB3ZSdyZSBu b3QgdXNpbmcgc29mdHBpbiAtIGRybV9tbSBpcyBjcmVhdGluZyBhbiB1cHBlciBib3VuZCBvbiB1 c2VkCnJhbmdlIGJ5IGNhdXNpbmcgYWRkcmVzc2VzIGZvciBvdXIgVk1BcyB0byBldmVudHVhbGx5 IGJlIHJldXNlZC4KCldpdGggc29mdHBpbiwgbG9uZyBsaXZlZCBjb250ZXh0cyBjYW4gZHJhaW4g dGhlIHN5c3RlbSBvdXQgb2YgbWVtb3J5CmV2ZW4gd2l0aCBhIHNpbmdsZSAic21hbGwiIG9iamVj dC4gRm9yIGV4YW1wbGU6CgpibyA9IGJvX2FsbG9jKHNpemUpOwp3aGlsZSh0cnVlKQogICAgb2Zm c2V0ICs9IHNpemU7CiAgICBleGVjKGJvLCBvZmZzZXQpOwoKV2lsbCBjYXVzZSB1cyB0byBjcmVh dGUgbmV3IGFsbG9jYXRpb25zIHVudGlsIGFsbCBtZW1vcnkgaW4gdGhlIHN5c3RlbQppcyB1c2Vk IGZvciB0cmFja2luZyBHUFUgcGFnZXMgKGV2ZW4gdGhvdWdoIGFsbW9zdCBhbGwgUFRFcyBpbiB0 aGlzIHZtCmFyZSBwb2ludGluZyB0byBzY3JhdGNoKS4KCkxldCdzIGZyZWUgdW51c2VkIHBhZ2Ug dGFibGVzIGluIGNsZWFyX3JhbmdlIHRvIHByZXZlbnQgdGhpcyAtIGlmIG5vCmVudHJpZXMgYXJl IHVzZWQsIHdlIGNhbiBzYWZlbHkgZnJlZSBpdCBhbmQgcmV0dXJuIHRoaXMgaW5mb3JtYXRpb24g dG8KdGhlIGNhbGxlciAoc28gdGhhdCBoaWdoZXItbGV2ZWwgZW50cnkgaXMgcG9pbnRpbmcgdG8g c2NyYXRjaCkuCgp2MjogRG9jdW1lbnQgcmV0dXJuIHZhbHVlIGFuZCBmcmVlIHNlbWFudGljcyAo Sm9vbmFzKQp2MzogTm8gbmV3bGluZXMgaW4gdmFycyBibG9jayAoSm9vbmFzKQp2NDogRHJvcCBy ZWR1bmRhbnQgbG9jYWwgJ3JlZHVjZScgdmFyaWFibGUKCkNjOiBNaWNoZWwgVGhpZXJyeSA8bWlj aGVsLnRoaWVycnlAaW50ZWwuY29tPgpDYzogTWlrYSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBp bnRlbC5jb20+ClJldmlld2VkLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5j by51az4KUmV2aWV3ZWQtYnk6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4 LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWljaGHFgiBXaW5pYXJza2kgPG1pY2hhbC53aW5p YXJza2lAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5j IHwgNzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDY3IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuYwppbmRleCBhZGFiZjU4Li5jNThhZTk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuYwpAQCAtNzA0LDEzICs3MDQsMTQgQEAgc3RhdGljIGludCBnZW44XzQ4Yl9tbV9z d2l0Y2goc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0LAogCXJldHVybiBnZW44X3dyaXRlX3Bk cChyZXEsIDAsIHB4X2RtYSgmcHBndHQtPnBtbDQpKTsKIH0KIAotc3RhdGljIHZvaWQgZ2VuOF9w cGd0dF9jbGVhcl9wdChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKKy8qIFJlbW92ZXMg ZW50cmllcyBmcm9tIGEgc2luZ2xlIHBhZ2UgdGFibGUsIHJlbGVhc2luZyBpdCBpZiBpdCdzIGVt cHR5LgorICogQ2FsbGVyIGNhbiB1c2UgdGhlIHJldHVybiB2YWx1ZSB0byB1cGRhdGUgaGlnaGVy LWxldmVsIGVudHJpZXMgKi8KK3N0YXRpYyBib29sIGdlbjhfcHBndHRfY2xlYXJfcHQoc3RydWN0 IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCQkJc3RydWN0IGk5MTVfcGFnZV90YWJsZSAqcHQs CiAJCQkJdWludDY0X3Qgc3RhcnQsCiAJCQkJdWludDY0X3QgbGVuZ3RoKQogewogCXN0cnVjdCBp OTE1X2h3X3BwZ3R0ICpwcGd0dCA9IGk5MTVfdm1fdG9fcHBndHQodm0pOwotCiAJdW5zaWduZWQg aW50IHB0ZV9zdGFydCA9IGdlbjhfcHRlX2luZGV4KHN0YXJ0KTsKIAl1bnNpZ25lZCBpbnQgbnVt X2VudHJpZXMgPSBnZW44X3B0ZV9jb3VudChzdGFydCwgbGVuZ3RoKTsKIAl1aW50NjRfdCBwdGU7 CkBAIC03MTksNjMgKzcyMCwxMjEgQEAgc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9jbGVhcl9wdChz dHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJCQkJCSBJOTE1X0NBQ0hFX0xMQyk7CiAK IAlpZiAoV0FSTl9PTighcHhfcGFnZShwdCkpKQotCQlyZXR1cm47CisJCXJldHVybiBmYWxzZTsK IAogCWJpdG1hcF9jbGVhcihwdC0+dXNlZF9wdGVzLCBwdGVfc3RhcnQsIG51bV9lbnRyaWVzKTsK IAorCWlmIChiaXRtYXBfZW1wdHkocHQtPnVzZWRfcHRlcywgR0VOOF9QVEVTKSkgeworCQlmcmVl X3B0KHZtLT5kZXYsIHB0KTsKKwkJcmV0dXJuIHRydWU7CisJfQorCiAJcHRfdmFkZHIgPSBrbWFw X3B4KHB0KTsKIAogCWZvciAocHRlID0gcHRlX3N0YXJ0OyBwdGUgPCBudW1fZW50cmllczsgcHRl KyspCiAJCXB0X3ZhZGRyW3B0ZV0gPSBzY3JhdGNoX3B0ZTsKIAogCWt1bm1hcF9weChwcGd0dCwg cHRfdmFkZHIpOworCisJcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgdm9pZCBnZW44X3BwZ3R0 X2NsZWFyX3BkKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAorLyogUmVtb3ZlcyBlbnRy aWVzIGZyb20gYSBzaW5nbGUgcGFnZSBkaXIsIHJlbGVhc2luZyBpdCBpZiBpdCdzIGVtcHR5Lgor ICogQ2FsbGVyIGNhbiB1c2UgdGhlIHJldHVybiB2YWx1ZSB0byB1cGRhdGUgaGlnaGVyLWxldmVs IGVudHJpZXMKKyAqLworc3RhdGljIGJvb2wgZ2VuOF9wcGd0dF9jbGVhcl9wZChzdHJ1Y3QgaTkx NV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJCQlzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSAqcGQs CiAJCQkJdWludDY0X3Qgc3RhcnQsCiAJCQkJdWludDY0X3QgbGVuZ3RoKQogeworCXN0cnVjdCBp OTE1X2h3X3BwZ3R0ICpwcGd0dCA9IGk5MTVfdm1fdG9fcHBndHQodm0pOwogCXN0cnVjdCBpOTE1 X3BhZ2VfdGFibGUgKnB0OwogCXVpbnQ2NF90IHBkZTsKKwlnZW44X3BkZV90ICpwZGVfdmFkZHI7 CisJZ2VuOF9wZGVfdCBzY3JhdGNoX3BkZSA9IGdlbjhfcGRlX2VuY29kZShweF9kbWEodm0tPnNj cmF0Y2hfcHQpLAorCQkJCQkJIEk5MTVfQ0FDSEVfTExDKTsKIAogCWdlbjhfZm9yX2VhY2hfcGRl KHB0LCBwZCwgc3RhcnQsIGxlbmd0aCwgcGRlKSB7CiAJCWlmIChXQVJOX09OKCFwZC0+cGFnZV90 YWJsZVtwZGVdKSkKIAkJCWJyZWFrOwogCi0JCWdlbjhfcHBndHRfY2xlYXJfcHQodm0sIHB0LCBz dGFydCwgbGVuZ3RoKTsKKwkJaWYgKGdlbjhfcHBndHRfY2xlYXJfcHQodm0sIHB0LCBzdGFydCwg bGVuZ3RoKSkgeworCQkJX19jbGVhcl9iaXQocGRlLCBwZC0+dXNlZF9wZGVzKTsKKwkJCXBkZV92 YWRkciA9IGttYXBfcHgocGQpOworCQkJcGRlX3ZhZGRyW3BkZV0gPSBzY3JhdGNoX3BkZTsKKwkJ CWt1bm1hcF9weChwcGd0dCwgcGRlX3ZhZGRyKTsKKwkJfQogCX0KKworCWlmIChiaXRtYXBfZW1w dHkocGQtPnVzZWRfcGRlcywgSTkxNV9QREVTKSkgeworCQlmcmVlX3BkKHZtLT5kZXYsIHBkKTsK KwkJcmV0dXJuIHRydWU7CisJfQorCisJcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgdm9pZCBn ZW44X3BwZ3R0X2NsZWFyX3BkcChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKKy8qIFJl bW92ZXMgZW50cmllcyBmcm9tIGEgc2luZ2xlIHBhZ2UgZGlyIHBvaW50ZXIsIHJlbGVhc2luZyBp dCBpZiBpdCdzIGVtcHR5LgorICogQ2FsbGVyIGNhbiB1c2UgdGhlIHJldHVybiB2YWx1ZSB0byB1 cGRhdGUgaGlnaGVyLWxldmVsIGVudHJpZXMKKyAqLworc3RhdGljIGJvb2wgZ2VuOF9wcGd0dF9j bGVhcl9wZHAoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCQkJIHN0cnVjdCBpOTE1 X3BhZ2VfZGlyZWN0b3J5X3BvaW50ZXIgKnBkcCwKIAkJCQkgdWludDY0X3Qgc3RhcnQsCiAJCQkJ IHVpbnQ2NF90IGxlbmd0aCkKIHsKKwlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPSBpOTE1 X3ZtX3RvX3BwZ3R0KHZtKTsKIAlzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSAqcGQ7CiAJdWlu dDY0X3QgcGRwZTsKKwlnZW44X3BwZ3R0X3BkcGVfdCAqcGRwZV92YWRkcjsKKwlnZW44X3BwZ3R0 X3BkcGVfdCBzY3JhdGNoX3BkcGUgPQorCQlnZW44X3BkcGVfZW5jb2RlKHB4X2RtYSh2bS0+c2Ny YXRjaF9wZCksIEk5MTVfQ0FDSEVfTExDKTsKIAogCWdlbjhfZm9yX2VhY2hfcGRwZShwZCwgcGRw LCBzdGFydCwgbGVuZ3RoLCBwZHBlKSB7CiAJCWlmIChXQVJOX09OKCFwZHAtPnBhZ2VfZGlyZWN0 b3J5W3BkcGVdKSkKIAkJCWJyZWFrOwogCi0JCWdlbjhfcHBndHRfY2xlYXJfcGQodm0sIHBkLCBz dGFydCwgbGVuZ3RoKTsKKwkJaWYgKGdlbjhfcHBndHRfY2xlYXJfcGQodm0sIHBkLCBzdGFydCwg bGVuZ3RoKSkgeworCQkJX19jbGVhcl9iaXQocGRwZSwgcGRwLT51c2VkX3BkcGVzKTsKKwkJCXBk cGVfdmFkZHIgPSBrbWFwX3B4KHBkcCk7CisJCQlwZHBlX3ZhZGRyW3BkcGVdID0gc2NyYXRjaF9w ZHBlOworCQkJa3VubWFwX3B4KHBwZ3R0LCBwZHBlX3ZhZGRyKTsKKwkJfQorCX0KKworCWlmIChi aXRtYXBfZW1wdHkocGRwLT51c2VkX3BkcGVzLCBJOTE1X1BEUEVTX1BFUl9QRFAodm0tPmRldikp KSB7CisJCWZyZWVfcGRwKHZtLT5kZXYsIHBkcCk7CisJCXJldHVybiB0cnVlOwogCX0KKworCXJl dHVybiBmYWxzZTsKIH0KIAorLyogUmVtb3ZlcyBlbnRyaWVzIGZyb20gYSBzaW5nbGUgcG1sNC4K KyAqIFRoaXMgaXMgdGhlIHRvcC1sZXZlbCBzdHJ1Y3R1cmUgaW4gNC1sZXZlbCBwYWdlIHRhYmxl cyB1c2VkIG9uIGdlbjgrLgorICogRW1wdHkgZW50cmllcyBhcmUgYWx3YXlzIHNjcmF0Y2ggcG1s NGUuCisgKi8KIHN0YXRpYyB2b2lkIGdlbjhfcHBndHRfY2xlYXJfcG1sNChzdHJ1Y3QgaTkxNV9h ZGRyZXNzX3NwYWNlICp2bSwKIAkJCQkgIHN0cnVjdCBpOTE1X3BtbDQgKnBtbDQsCiAJCQkJICB1 aW50NjRfdCBzdGFydCwKIAkJCQkgIHVpbnQ2NF90IGxlbmd0aCkKIHsKKwlzdHJ1Y3QgaTkxNV9o d19wcGd0dCAqcHBndHQgPSBpOTE1X3ZtX3RvX3BwZ3R0KHZtKTsKIAlzdHJ1Y3QgaTkxNV9wYWdl X2RpcmVjdG9yeV9wb2ludGVyICpwZHA7CiAJdWludDY0X3QgcG1sNGU7CisJZ2VuOF9wcGd0dF9w bWw0ZV90ICpwbWw0ZV92YWRkcjsKKwlnZW44X3BwZ3R0X3BtbDRlX3Qgc2NyYXRjaF9wbWw0ZSA9 CisJCWdlbjhfcG1sNGVfZW5jb2RlKHB4X2RtYSh2bS0+c2NyYXRjaF9wZHApLCBJOTE1X0NBQ0hF X0xMQyk7CiAKIAlnZW44X2Zvcl9lYWNoX3BtbDRlKHBkcCwgcG1sNCwgc3RhcnQsIGxlbmd0aCwg cG1sNGUpIHsKIAkJaWYgKFdBUk5fT04oIXBtbDQtPnBkcHNbcG1sNGVdKSkKIAkJCWJyZWFrOwog Ci0JCWdlbjhfcHBndHRfY2xlYXJfcGRwKHZtLCBwZHAsIHN0YXJ0LCBsZW5ndGgpOworCQlpZiAo Z2VuOF9wcGd0dF9jbGVhcl9wZHAodm0sIHBkcCwgc3RhcnQsIGxlbmd0aCkpIHsKKwkJCV9fY2xl YXJfYml0KHBtbDRlLCBwbWw0LT51c2VkX3BtbDRlcyk7CisJCQlwbWw0ZV92YWRkciA9IGttYXBf cHgocG1sNCk7CisJCQlwbWw0ZV92YWRkcltwbWw0ZV0gPSBzY3JhdGNoX3BtbDRlOworCQkJa3Vu bWFwX3B4KHBwZ3R0LCBwbWw0ZV92YWRkcik7CisJCX0KIAl9CiB9CiAKLS0gCjIuNy40CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK