From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH v2 05/37] drm/i915/region: support volatile objects Date: Thu, 27 Jun 2019 21:56:01 +0100 Message-ID: <20190627205633.1143-6-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 E626F6E825 for ; Thu, 27 Jun 2019 20:56:42 +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 Cc: CQ Tang List-Id: intel-gfx@lists.freedesktop.org Vm9sYXRpbGUgb2JqZWN0cyBhcmUgbWFya2VkIGFzIERPTlRORUVEIHdoaWxlIHBpbm5lZCwgdGhl cmVmb3JlIG9uY2UKdW5waW5uZWQgdGhlIGJhY2tpbmcgc3RvcmUgY2FuIGJlIGRpc2NhcmRlZC4K ClNpZ25lZC1vZmYtYnk6IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGludGVsLmNvbT4KQ2M6 IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IEFi ZGllbCBKYW51bGd1ZSA8YWJkaWVsLmphbnVsZ3VlQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9m Zi1ieTogQ1EgVGFuZyA8Y3EudGFuZ0BpbnRlbC5jb20+Ci0tLQogLi4uL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmggIHwgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX21lbW9yeV9yZWdpb24uYyAgICB8IDEzICsrKystCiAuLi4vZHJtL2k5MTUvc2VsZnRl c3RzL2ludGVsX21lbW9yeV9yZWdpb24uYyAgfCA1NiArKysrKysrKysrKysrKysrKysrCiAzIGZp bGVzIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5oCmluZGV4IDFjNGI5 OWU1MDdjMy4uODBmZjVhZDliYzA3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX29iamVjdF90eXBlcy5oCkBAIC0xMzUsNyArMTM1LDggQEAgc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgewogCiAJdW5zaWduZWQgbG9uZyBmbGFnczsKICNkZWZpbmUgSTkxNV9C T19BTExPQ19DT05USUdVT1VTICgxPDwwKQotI2RlZmluZSBJOTE1X0JPX0FMTE9DX0ZMQUdTIChJ OTE1X0JPX0FMTE9DX0NPTlRJR1VPVVMpCisjZGVmaW5lIEk5MTVfQk9fQUxMT0NfVk9MQVRJTEUg ICAoMTw8MSkKKyNkZWZpbmUgSTkxNV9CT19BTExPQ19GTEFHUyAoSTkxNV9CT19BTExPQ19DT05U SUdVT1VTIHwgSTkxNV9CT19BTExPQ19WT0xBVElMRSkKIAogCS8qCiAJICogSXMgdGhlIG9iamVj dCB0byBiZSBtYXBwZWQgYXMgcmVhZC1vbmx5IHRvIHRoZSBHUFUKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX21lbW9yeV9yZWdpb24uYwppbmRleCA5YjZhMzJiZmEyMGQuLmNkNDFjMjEyYmMz NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uYwpAQCAtODIs NiArODIsOSBAQCBpOTE1X21lbW9yeV9yZWdpb25fcHV0X3BhZ2VzX2J1ZGR5KHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJbWVtb3J5X3JlZ2lvbl9mcmVlX3BhZ2VzKG9iaiwgcGFn ZXMpOwogCW11dGV4X3VubG9jaygmb2JqLT5tZW1vcnlfcmVnaW9uLT5tbV9sb2NrKTsKIAorCWlm IChvYmotPmZsYWdzICYgSTkxNV9CT19BTExPQ19WT0xBVElMRSkKKwkJb2JqLT5tbS5tYWR2ID0g STkxNV9NQURWX1dJTExORUVEOworCiAJb2JqLT5tbS5kaXJ0eSA9IGZhbHNlOwogfQogCkBAIC0x ODIsNiArMTg1LDkgQEAgaTkxNV9tZW1vcnlfcmVnaW9uX2dldF9wYWdlc19idWRkeShzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCiAJaTkxNV9zZ190cmltKHN0KTsKIAorCWlmIChm bGFncyAmIEk5MTVfQk9fQUxMT0NfVk9MQVRJTEUpCisJCW9iai0+bW0ubWFkdiA9IEk5MTVfTUFE Vl9ET05UTkVFRDsKKwogCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHN0LCBzZ19w YWdlX3NpemVzKTsKIAogCXJldHVybiAwOwpAQCAtMjQzLDcgKzI0OSwxMiBAQCBpOTE1X2dlbV9v YmplY3RfY3JlYXRlX3JlZ2lvbihzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogCW9i ai0+ZmxhZ3MgPSBmbGFnczsKIAogCW11dGV4X2xvY2soJm1lbS0+b2JqX2xvY2spOwotCWxpc3Rf YWRkKCZvYmotPnJlZ2lvbl9saW5rLCAmbWVtLT5vYmplY3RzKTsKKworCWlmIChmbGFncyAmIEk5 MTVfQk9fQUxMT0NfVk9MQVRJTEUpCisJCWxpc3RfYWRkKCZvYmotPnJlZ2lvbl9saW5rLCAmbWVt LT5wdXJnZWFibGUpOworCWVsc2UKKwkJbGlzdF9hZGQoJm9iai0+cmVnaW9uX2xpbmssICZtZW0t Pm9iamVjdHMpOworCiAJbXV0ZXhfdW5sb2NrKCZtZW0tPm9ial9sb2NrKTsKIAogCXJldHVybiBv Ymo7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfbWVt b3J5X3JlZ2lvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX21lbW9y eV9yZWdpb24uYwppbmRleCBjOWRlOGI1MDM5ZTQuLmJkZjA0NGU0NzgxZCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX21lbW9yeV9yZWdpb24uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jCkBA IC0yODksMTIgKzI4OSw2OCBAQCBzdGF0aWMgaW50IGlndF9tb2NrX2NvbnRpbnVvdXModm9pZCAq YXJnKQogCXJldHVybiBlcnI7CiB9CiAKK3N0YXRpYyBpbnQgaWd0X21vY2tfdm9sYXRpbGUodm9p ZCAqYXJnKQoreworCXN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0gPSBhcmc7CisJc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKKwlpbnQgZXJyOworCisJb2JqID0gaTkxNV9n ZW1fb2JqZWN0X2NyZWF0ZV9yZWdpb24obWVtLCBQQUdFX1NJWkUsIDApOworCWlmIChJU19FUlIo b2JqKSkKKwkJcmV0dXJuIFBUUl9FUlIob2JqKTsKKworCWVyciA9IGk5MTVfZ2VtX29iamVjdF9w aW5fcGFnZXMob2JqKTsKKwlpZiAoZXJyKQorCQlnb3RvIGVycl9wdXQ7CisKKwlpOTE1X2dlbV9v YmplY3RfdW5waW5fcGFnZXMob2JqKTsKKworCWVyciA9IGk5MTVfbWVtb3J5X3JlZ2lvbl9ldmlj dChtZW0sIFBBR0VfU0laRSk7CisJaWYgKGVyciAhPSAtRU5PU1BDKSB7CisJCXByX2Vycigic2hy aW5rIG1lbW9yeSByZWdpb25cbiIpOworCQlnb3RvIGVycl9wdXQ7CisJfQorCisJaTkxNV9nZW1f b2JqZWN0X3B1dChvYmopOworCisJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9yZWdpb24o bWVtLCBQQUdFX1NJWkUsIEk5MTVfQk9fQUxMT0NfVk9MQVRJTEUpOworCWlmIChJU19FUlIob2Jq KSkKKwkJcmV0dXJuIFBUUl9FUlIob2JqKTsKKworCWlmICghKG9iai0+ZmxhZ3MgJiBJOTE1X0JP X0FMTE9DX1ZPTEFUSUxFKSkgeworCQlwcl9lcnIoIm1pc3NpbmcgZmxhZ3NcbiIpOworCQlnb3Rv IGVycl9wdXQ7CisJfQorCisJZXJyID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOwor CWlmIChlcnIpCisJCWdvdG8gZXJyX3B1dDsKKworCWk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdl cyhvYmopOworCisJZXJyID0gaTkxNV9tZW1vcnlfcmVnaW9uX2V2aWN0KG1lbSwgUEFHRV9TSVpF KTsKKwlpZiAoZXJyKSB7CisJCXByX2VycigiZmFpbGVkIHRvIHNocmluayBtZW1vcnlcbiIpOwor CQlnb3RvIGVycl9wdXQ7CisJfQorCisJaWYgKGk5MTVfZ2VtX29iamVjdF9oYXNfcGFnZXMob2Jq KSkgeworCQlwcl9lcnIoIm9iamVjdCBwYWdlcyBub3QgZGlzY2FyZGVkXG4iKTsKKwkJZXJyID0g LUVJTlZBTDsKKwl9CisKK2Vycl9wdXQ6CisJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOworCXJl dHVybiBlcnI7Cit9CisKIGludCBpbnRlbF9tZW1vcnlfcmVnaW9uX21vY2tfc2VsZnRlc3RzKHZv aWQpCiB7CiAJc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3N1YnRlc3QgdGVzdHNbXSA9IHsKIAkJ U1VCVEVTVChpZ3RfbW9ja19maWxsKSwKIAkJU1VCVEVTVChpZ3RfbW9ja19ldmljdCksCiAJCVNV QlRFU1QoaWd0X21vY2tfY29udGludW91cyksCisJCVNVQlRFU1QoaWd0X21vY2tfdm9sYXRpbGUp LAogCX07CiAJc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbTsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNTsKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4