From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH v2 20/37] drm/i915: treat stolen as a region Date: Thu, 27 Jun 2019 21:56:16 +0100 Message-ID: <20190627205633.1143-21-matthew.auld@intel.com> References: <20190627205633.1143-1-matthew.auld@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 76A6A6E843 for ; Thu, 27 Jun 2019 20:57:00 +0000 (UTC) In-Reply-To: <20190627205633.1143-1-matthew.auld@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 Q29udmVydCBzdG9sZW4gbWVtb3J5IG92ZXIgdG8gYSByZWdpb24gb2JqZWN0LiBTdGlsbCBsZWF2 ZXMgb3BlbiB0aGUKcXVlc3Rpb24gd2l0aCB3aGF0IHRvIGRvIHdpdGggcHJlLWFsbG9jYXRlZCBv YmplY3RzLi4uCgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEF1bGQgPG1hdHRoZXcuYXVsZEBpbnRl bC5jb20+CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5j b20+CkNjOiBBYmRpZWwgSmFudWxndWUgPGFiZGllbC5qYW51bGd1ZUBsaW51eC5pbnRlbC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3N0b2xlbi5jIHwgNjYgKysr KysrKysrKysrKysrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAg ICAgICAgIHwgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jICAgICAg ICB8IDE0ICstLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmMg fCAgMiArLQogNCBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc3RvbGVu LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc3RvbGVuLmMKaW5kZXggZGUx ZmFiMjA1OGVjLi5kMGI4OTQ4NTQ5MjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2dlbS9pOTE1X2dlbV9zdG9sZW4uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fc3RvbGVuLmMKQEAgLTE0OSw3ICsxNDksNyBAQCBzdGF0aWMgaW50IGk5MTVfYWRqdXN0 X3N0b2xlbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJcmV0dXJuIDA7CiB9 CiAKLXZvaWQgaTkxNV9nZW1fY2xlYW51cF9zdG9sZW4oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQorc3RhdGljIHZvaWQgaTkxNV9nZW1fY2xlYW51cF9zdG9sZW4oc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCWlmICghZHJtX21tX2luaXRpYWxpemVkKCZk ZXZfcHJpdi0+bW0uc3RvbGVuKSkKIAkJcmV0dXJuOwpAQCAtMzU0LDcgKzM1NCw3IEBAIHN0YXRp YyB2b2lkIGljbF9nZXRfc3RvbGVuX3Jlc2VydmVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1LAogCX0KIH0KIAotaW50IGk5MTVfZ2VtX2luaXRfc3RvbGVuKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKK3N0YXRpYyBpbnQgaTkxNV9nZW1faW5pdF9zdG9sZW4oc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCXJlc291cmNlX3NpemVfdCByZXNlcnZl ZF9iYXNlLCBzdG9sZW5fdG9wOwogCXJlc291cmNlX3NpemVfdCByZXNlcnZlZF90b3RhbCwgcmVz ZXJ2ZWRfc2l6ZTsKQEAgLTUzMyw2ICs1MzMsOSBAQCBpOTE1X2dlbV9vYmplY3RfcmVsZWFzZV9z dG9sZW4oc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAogCWk5MTVfZ2VtX3N0b2xl bl9yZW1vdmVfbm9kZShkZXZfcHJpdiwgc3RvbGVuKTsKIAlrZnJlZShzdG9sZW4pOworCisJaWYg KG9iai0+bWVtb3J5X3JlZ2lvbikKKwkJaTkxNV9nZW1fb2JqZWN0X3JlbGVhc2VfbWVtb3J5X3Jl Z2lvbihvYmopOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rf b3BzIGk5MTVfZ2VtX29iamVjdF9zdG9sZW5fb3BzID0gewpAQCAtNTQyLDggKzU0NSw4IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9vcHMgaTkxNV9nZW1fb2JqZWN0 X3N0b2xlbl9vcHMgPSB7CiB9OwogCiBzdGF0aWMgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg KgotX2k5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKLQkJCSAgICAgICBzdHJ1Y3QgZHJtX21tX25vZGUgKnN0b2xlbikKK19faTkx NV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAorCQkJCXN0cnVjdCBkcm1fbW1fbm9kZSAqc3RvbGVuKQogewogCXN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmo7CiAJdW5zaWduZWQgaW50IGNhY2hlX2xldmVsOwpAQCAtNTcwLDEw ICs1NzMsMTIgQEAgX2k5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKIAlyZXR1cm4gTlVMTDsKIH0KIAotc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKgotaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkJICAgICAgcmVzb3VyY2Vfc2l6ZV90IHNpemUpCitz dGF0aWMgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgorX2k5MTVfZ2VtX29iamVjdF9jcmVh dGVfc3RvbGVuKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCisJCQkgICAgICAgcmVz b3VyY2Vfc2l6ZV90IHNpemUsCisJCQkgICAgICAgdW5zaWduZWQgaW50IGZsYWdzKQogeworCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IG1lbS0+aTkxNTsKIAlzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqOwogCXN0cnVjdCBkcm1fbW1fbm9kZSAqc3RvbGVuOwogCWlu dCByZXQ7CkBAIC01OTQsNyArNTk5LDcgQEAgaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4o c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQlyZXR1cm4gTlVMTDsKIAl9CiAK LQlvYmogPSBfaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oZGV2X3ByaXYsIHN0b2xlbik7 CisJb2JqID0gX19pOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihkZXZfcHJpdiwgc3RvbGVu KTsKIAlpZiAob2JqKQogCQlyZXR1cm4gb2JqOwogCkBAIC02MDMsNiArNjA4LDQ5IEBAIGk5MTVf Z2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKIAlyZXR1cm4gTlVMTDsKIH0KIAorc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgoraTkx NV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAorCQkJICAgICAgcmVzb3VyY2Vfc2l6ZV90IHNpemUpCit7CisJc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iajsKKworCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfcmVnaW9u KGRldl9wcml2LT5yZWdpb25zW0lOVEVMX01FTU9SWV9TVE9MRU5dLAorCQkJCQkgICAgc2l6ZSwg STkxNV9CT19BTExPQ19DT05USUdVT1VTKTsKKwlpZiAoSVNfRVJSKG9iaikpCisJCXJldHVybiBO VUxMOworCisJcmV0dXJuIG9iajsKK30KKworc3RhdGljIGludCBpbml0X3N0b2xlbihzdHJ1Y3Qg aW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtKQoreworCS8qCisJICogSW5pdGlhbGlzZSBzdG9sZW4g ZWFybHkgc28gdGhhdCB3ZSBtYXkgcmVzZXJ2ZSBwcmVhbGxvY2F0ZWQKKwkgKiBvYmplY3RzIGZv ciB0aGUgQklPUyB0byBLTVMgdHJhbnNpdGlvbi4KKwkgKi8KKwlyZXR1cm4gaTkxNV9nZW1faW5p dF9zdG9sZW4obWVtLT5pOTE1KTsKK30KKworc3RhdGljIHZvaWQgcmVsZWFzZV9zdG9sZW4oc3Ry dWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSkKK3sKKwlpOTE1X2dlbV9jbGVhbnVwX3N0b2xl bihtZW0tPmk5MTUpOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX21lbW9yeV9yZWdp b25fb3BzIGk5MTVfcmVnaW9uX3N0b2xlbl9vcHMgPSB7CisJLmluaXQgPSBpbml0X3N0b2xlbiwK KwkucmVsZWFzZSA9IHJlbGVhc2Vfc3RvbGVuLAorCS5jcmVhdGVfb2JqZWN0ID0gX2k5MTVfZ2Vt X29iamVjdF9jcmVhdGVfc3RvbGVuLAorfTsKKworc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24g Kmk5MTVfZ2VtX3N0b2xlbl9zZXR1cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sK KwlyZXR1cm4gaW50ZWxfbWVtb3J5X3JlZ2lvbl9jcmVhdGUoaTkxNSwKKwkJCQkJICBpbnRlbF9n cmFwaGljc19zdG9sZW5fcmVzLnN0YXJ0LAorCQkJCQkgIHJlc291cmNlX3NpemUoJmludGVsX2dy YXBoaWNzX3N0b2xlbl9yZXMpLAorCQkJCQkgIEk5MTVfR1RUX1BBR0VfU0laRV80SywgMCwKKwkJ CQkJICAmaTkxNV9yZWdpb25fc3RvbGVuX29wcyk7Cit9CisKIHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICoKIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuX2Zvcl9wcmVhbGxvY2F0ZWQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCQkgICAgICAgcmVzb3VyY2Vf c2l6ZV90IHN0b2xlbl9vZmZzZXQsCkBAIC02NDQsNyArNjkyLDcgQEAgaTkxNV9nZW1fb2JqZWN0 X2NyZWF0ZV9zdG9sZW5fZm9yX3ByZWFsbG9jYXRlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYKIAkJcmV0dXJuIE5VTEw7CiAJfQogCi0Jb2JqID0gX2k5MTVfZ2VtX29iamVjdF9j cmVhdGVfc3RvbGVuKGRldl9wcml2LCBzdG9sZW4pOworCW9iaiA9IF9faTkxNV9nZW1fb2JqZWN0 X2NyZWF0ZV9zdG9sZW4oZGV2X3ByaXYsIHN0b2xlbik7CiAJaWYgKG9iaiA9PSBOVUxMKSB7CiAJ CURSTV9ERUJVR19EUklWRVIoImZhaWxlZCB0byBhbGxvY2F0ZSBzdG9sZW4gb2JqZWN0XG4iKTsK IAkJaTkxNV9nZW1fc3RvbGVuX3JlbW92ZV9ub2RlKGRldl9wcml2LCBzdG9sZW4pOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKaW5kZXggZThmNDFjMjM1ZTcwLi5hMTI0ZDFiMTc3NzMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaApAQCAtMjYyMiw4ICsyNjIyLDcgQEAgaW50IGk5MTVfZ2VtX3N0b2xl bl9pbnNlcnRfbm9kZV9pbl9yYW5nZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiAJCQkJCSB1NjQgZW5kKTsKIHZvaWQgaTkxNV9nZW1fc3RvbGVuX3JlbW92ZV9ub2RlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkgc3RydWN0IGRybV9tbV9ub2RlICpu b2RlKTsKLWludCBpOTE1X2dlbV9pbml0X3N0b2xlbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpOwotdm9pZCBpOTE1X2dlbV9jbGVhbnVwX3N0b2xlbihzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpOworc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKmk5MTVfZ2Vt X3N0b2xlbl9zZXR1cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CiBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqCiBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkgICAgICByZXNvdXJjZV9zaXplX3Qgc2l6 ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCmluZGV4IDk1OGM2MWU4ODIwMC4uNWI3 ZTQ2ZTQ4N2JmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwpAQCAtMjkwNiw4ICsy OTA2LDYgQEAgdm9pZCBpOTE1X2dlbV9jbGVhbnVwX21lbW9yeV9yZWdpb25zKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1KQogewogCWludCBpOwogCi0JaTkxNV9nZW1fY2xlYW51cF9zdG9s ZW4oaTkxNSk7Ci0KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpOTE1LT5yZWdpb25zKTsg KytpKQl7CiAJCXN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICpyZWdpb24gPSBpOTE1LT5yZWdp b25zW2ldOwogCkBAIC0yOTIzLDE1ICsyOTIxLDYgQEAgaW50IGk5MTVfZ2VtX2luaXRfbWVtb3J5 X3JlZ2lvbnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJLyogQWxsIHBsYXRmb3Jt cyBjdXJyZW50bHkgaGF2ZSBzeXN0ZW0gbWVtb3J5ICovCiAJR0VNX0JVR19PTighSEFTX1JFR0lP TihpOTE1LCBSRUdJT05fU01FTSkpOwogCi0JLyoKLQkgKiBJbml0aWFsaXNlIHN0b2xlbiBlYXJs eSBzbyB0aGF0IHdlIG1heSByZXNlcnZlIHByZWFsbG9jYXRlZAotCSAqIG9iamVjdHMgZm9yIHRo ZSBCSU9TIHRvIEtNUyB0cmFuc2l0aW9uLgotCSAqLwotCS8qIFhYWDogc3RvbGVuIHdpbGwgYmVj b21lIGEgcmVnaW9uIGF0IHNvbWUgcG9pbnQgKi8KLQllcnIgPSBpOTE1X2dlbV9pbml0X3N0b2xl bihpOTE1KTsKLQlpZiAoZXJyKQotCQlyZXR1cm4gZXJyOwotCiAJZm9yIChpID0gMDsgaSA8IEFS UkFZX1NJWkUoaW50ZWxfcmVnaW9uX21hcCk7IGkrKykgewogCQlzdHJ1Y3QgaW50ZWxfbWVtb3J5 X3JlZ2lvbiAqbWVtID0gTlVMTDsKIAkJdTMyIHR5cGU7CkBAIC0yOTQ0LDYgKzI5MzMsOSBAQCBp bnQgaTkxNV9nZW1faW5pdF9tZW1vcnlfcmVnaW9ucyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSkKIAkJY2FzZSBJTlRFTF9TTUVNOgogCQkJbWVtID0gaTkxNV9nZW1fc2htZW1fc2V0dXAo aTkxNSk7CiAJCQlicmVhazsKKwkJY2FzZSBJTlRFTF9TVE9MRU46CisJCQltZW0gPSBpOTE1X2dl bV9zdG9sZW5fc2V0dXAoaTkxNSk7CisJCQlicmVhazsKIAkJfQogCiAJCWlmIChJU19FUlIobWVt KSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lv bi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jCmluZGV4IGU2 YmY0YmMxMjJiZC4uYWI1N2I5NGIyN2E5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9tZW1vcnlfcmVnaW9uLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bWVtb3J5X3JlZ2lvbi5jCkBAIC0yNDgsNyArMjQ4LDcgQEAgaTkxNV9nZW1fb2JqZWN0X2NyZWF0 ZV9yZWdpb24oc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSwKIAkJcmV0dXJuIEVSUl9Q VFIoLUUyQklHKTsKIAogCW9iaiA9IG1lbS0+b3BzLT5jcmVhdGVfb2JqZWN0KG1lbSwgc2l6ZSwg ZmxhZ3MpOwotCWlmIChJU19FUlIob2JqKSkKKwlpZiAoSVNfRVJSX09SX05VTEwob2JqKSkKIAkJ cmV0dXJuIG9iajsKIAogCUlOSVRfTElTVF9IRUFEKCZvYmotPmJsb2Nrcyk7Ci0tIAoyLjIwLjEK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==