From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [RFC PATCH 07/42] drm/i915/region: support volatile objects Date: Thu, 14 Feb 2019 14:57:05 +0000 Message-ID: <20190214145740.14521-8-matthew.auld@intel.com> References: <20190214145740.14521-1-matthew.auld@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 ESMTPS id CFF0C6E90E for ; Thu, 14 Feb 2019 14:57:51 +0000 (UTC) In-Reply-To: <20190214145740.14521-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 Vm9sYXRpbGUgb2JqZWN0cyBhcmUgbWFya2VkIGFzIERPTlRORUVEIHdoaWxlIHBpbm5lZCwgdGhl cmVmb3JlIG9uY2UKdW5waW5uZWQgdGhlIGJhY2tpbmcgc3RvcmUgY2FuIGJlIGRpc2NhcmRlZC4K ClNpZ25lZC1vZmYtYnk6IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGludGVsLmNvbT4KQ2M6 IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IEFi ZGllbCBKYW51bGd1ZSA8YWJkaWVsLmphbnVsZ3VlQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9vYmplY3QuaCAgICAgICAgfCAgMyArLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jICAgIHwgMTAgKysrLQogLi4uL2Ry bS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9tZW1vcnlfcmVnaW9uLmMgIHwgNTQgKysrKysrKysrKysr KysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA2NSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX29iamVjdC5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fb2JqZWN0LmgKaW5kZXggZWZjMjNmYzJiMWRm Li4wZGZlOTYwM2UzY2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X29iamVjdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX29iamVjdC5oCkBA IC0xNjQsNyArMTY0LDggQEAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgewogCSAqLwogI2Rl ZmluZSBJOTE1X0JPX0FDVElWRV9SRUYgMAogI2RlZmluZSBJOTE1X0JPX0FMTE9DX0NPTlRJR1VP VVMgKDE8PDEpCi0jZGVmaW5lIEk5MTVfQk9fQUxMT0NfRkxBR1MgKEk5MTVfQk9fQUxMT0NfQ09O VElHVU9VUykKKyNkZWZpbmUgSTkxNV9CT19BTExPQ19WT0xBVElMRSAgICgxPDwyKQorI2RlZmlu ZSBJOTE1X0JPX0FMTE9DX0ZMQUdTIChJOTE1X0JPX0FMTE9DX0NPTlRJR1VPVVMgfCBJOTE1X0JP X0FMTE9DX1ZPTEFUSUxFKQogCiAJLyoKIAkgKiBJcyB0aGUgb2JqZWN0IHRvIGJlIG1hcHBlZCBh cyByZWFkLW9ubHkgdG8gdGhlIEdQVQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbWVtb3J5X3JlZ2lvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5 X3JlZ2lvbi5jCmluZGV4IGVkMzc1OTljNzc4NC4uNTUzMWVkOTRiZGFiIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jCkBAIC0xNDgsNiArMTQ4LDkgQEAgaTkx NV9tZW1vcnlfcmVnaW9uX2dldF9wYWdlc19idWRkeShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqKQogCiAJaTkxNV9zZ190cmltKHN0KTsKIAorCWlmIChmbGFncyAmIEk5MTVfQk9fQUxM T0NfVk9MQVRJTEUpCisJCW9iai0+bW0ubWFkdiA9IEk5MTVfTUFEVl9ET05UTkVFRDsKKwogCV9f aTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHN0LCBzZ19wYWdlX3NpemVzKTsKIAogCXJl dHVybiAwOwpAQCAtMjA5LDcgKzIxMiwxMiBAQCBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3JlZ2lv bihzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogCW9iai0+ZmxhZ3MgPSBmbGFnczsK IAogCW11dGV4X2xvY2soJm1lbS0+b2JqX2xvY2spOwotCWxpc3RfYWRkKCZvYmotPnJlZ2lvbl9s aW5rLCAmbWVtLT5vYmplY3RzKTsKKworCWlmIChmbGFncyAmIEk5MTVfQk9fQUxMT0NfVk9MQVRJ TEUpCisJCWxpc3RfYWRkKCZvYmotPnJlZ2lvbl9saW5rLCAmbWVtLT5wdXJnZWFibGUpOworCWVs c2UKKwkJbGlzdF9hZGQoJm9iai0+cmVnaW9uX2xpbmssICZtZW0tPm9iamVjdHMpOworCiAJbXV0 ZXhfdW5sb2NrKCZtZW0tPm9ial9sb2NrKTsKIAogCWk5MTVfZ2VtX29iamVjdF9zZXRfY2FjaGVf Y29oZXJlbmN5KG9iaiwgb2JqLT5jYWNoZV9sZXZlbCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX21lbW9yeV9yZWdpb24uYwppbmRleCBmYmIxNDk3ZDBm ODIuLjBmNjQzMmEyYTRjNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2ludGVsX21lbW9yeV9yZWdpb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxm dGVzdHMvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jCkBAIC0zMDksMTIgKzMwOSw2NiBAQCBzdGF0aWMg aW50IGlndF9tb2NrX2NvbnRpbnVvdXModm9pZCAqYXJnKQogCXJldHVybiBlcnI7CiB9CiAKK3N0 YXRpYyBpbnQgaWd0X21vY2tfdm9sYXRpbGUodm9pZCAqYXJnKQoreworCXN0cnVjdCBpbnRlbF9t ZW1vcnlfcmVnaW9uICptZW0gPSBhcmc7CisJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i ajsKKwlpbnQgZXJyOworCisJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9yZWdpb24obWVt LCBQQUdFX1NJWkUsIDApOworCWlmIChJU19FUlIob2JqKSkKKwkJcmV0dXJuIFBUUl9FUlIob2Jq KTsKKworCWVyciA9IGk5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMob2JqKTsKKwlpZiAoZXJyKQor CQlnb3RvIGVycl9wdXQ7CisKKwlpOTE1X2dlbV9vYmplY3RfdW5waW5fcGFnZXMob2JqKTsKKwor CWVyciA9IGk5MTVfZ2VtX3Nocmlua19tZW1vcnlfcmVnaW9uKG1lbSwgUEFHRV9TSVpFKTsKKwlp ZiAoZXJyICE9IC1FTk9TUEMpIHsKKwkJcHJfZXJyKCJzaHJpbmsgbWVtb3J5IHJlZ2lvblxuIik7 CisJCWdvdG8gZXJyX3B1dDsKKwl9CisKKwlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3Jl Z2lvbihtZW0sIFBBR0VfU0laRSwgSTkxNV9CT19BTExPQ19WT0xBVElMRSk7CisJaWYgKElTX0VS UihvYmopKQorCQlyZXR1cm4gUFRSX0VSUihvYmopOworCisJaWYgKCEob2JqLT5mbGFncyAmIEk5 MTVfQk9fQUxMT0NfVk9MQVRJTEUpKSB7CisJCXByX2VycigibWlzc2luZyBmbGFnc1xuIik7CisJ CWdvdG8gZXJyX3B1dDsKKwl9CisKKwllcnIgPSBpOTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzKG9i aik7CisJaWYgKGVycikKKwkJZ290byBlcnJfcHV0OworCisJaTkxNV9nZW1fb2JqZWN0X3VucGlu X3BhZ2VzKG9iaik7CisKKwllcnIgPSBpOTE1X2dlbV9zaHJpbmtfbWVtb3J5X3JlZ2lvbihtZW0s IFBBR0VfU0laRSk7CisJaWYgKGVycikgeworCQlwcl9lcnIoImZhaWxlZCB0byBzaHJpbmsgbWVt b3J5XG4iKTsKKwkJZ290byBlcnJfcHV0OworCX0KKworCWlmIChpOTE1X2dlbV9vYmplY3RfaGFz X3BhZ2VzKG9iaikpIHsKKwkJcHJfZXJyKCJvYmplY3QgcGFnZXMgbm90IGRpc2NhcmRlZFxuIik7 CisJCWVyciA9IC1FSU5WQUw7CisJfQorCitlcnJfcHV0OgorCWk5MTVfZ2VtX29iamVjdF9wdXQo b2JqKTsKKwlyZXR1cm4gZXJyOworfQorCiBpbnQgaW50ZWxfbWVtb3J5X3JlZ2lvbl9tb2NrX3Nl bGZ0ZXN0cyh2b2lkKQogewogCXN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9zdWJ0ZXN0IHRlc3Rz W10gPSB7CiAJCVNVQlRFU1QoaWd0X21vY2tfZmlsbCksCiAJCVNVQlRFU1QoaWd0X21vY2tfc2hy aW5rKSwKIAkJU1VCVEVTVChpZ3RfbW9ja19jb250aW51b3VzKSwKKwkJU1VCVEVTVChpZ3RfbW9j a192b2xhdGlsZSksCiAJfTsKIAlzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtOwogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1OwotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=