From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH v2 07/37] drm/i915: support creating LMEM objects Date: Thu, 27 Jun 2019 21:56:03 +0100 Message-ID: <20190627205633.1143-8-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 459D56E825 for ; Thu, 27 Jun 2019 20:56:45 +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 V2UgY3VycmVudGx5IGRlZmluZSBMTUVNLCBvciBsb2NhbCBtZW1vcnksIGFzIGp1c3QgYW5vdGhl ciBtZW1vcnkKcmVnaW9uLCBsaWtlIHN5c3RlbSBtZW1vcnkgb3Igc3RvbGVuLCB3aGljaCB3ZSBj YW4gZXhwb3NlIHRvIHVzZXJzcGFjZQphbmQgY2FuIGJlIG1hcHBlZCB0byB0aGUgQ1BVIHZpYSBz b21lIEJBUi4KClNpZ25lZC1vZmYtYnk6IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGludGVs LmNvbT4KQ2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNv bT4KQ2M6IEFiZGllbCBKYW51bGd1ZSA8YWJkaWVsLmphbnVsZ3VlQGxpbnV4LmludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgfCAgMSAr CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgICAgfCAgNSArKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX2xtZW0uYyAgICAgIHwgNjYgKysrKysr KysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX2xtZW0uaCAg ICAgIHwgMTYgKysrKysKIC4uLi9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9saXZlX3NlbGZ0ZXN0 cy5oICB8ICAxICsKIC4uLi9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfbWVtb3J5X3JlZ2lvbi5j ICB8IDQzICsrKysrKysrKysrKwogNiBmaWxlcyBjaGFuZ2VkLCAxMzIgaW5zZXJ0aW9ucygrKQog Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl9sbWVt LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25f bG1lbS5oCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQppbmRleCAyOGZhYzE5ZjdiMDQuLmU3ODJmN2QxMDUy NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKQEAgLTEzMiw2ICsxMzIsNyBAQCBpOTE1LXkgKz0gXAog CSAgaTkxNV9zY2hlZHVsZXIubyBcCiAJICBpOTE1X3RyYWNlX3BvaW50cy5vIFwKIAkgIGk5MTVf dm1hLm8gXAorCSAgaW50ZWxfcmVnaW9uX2xtZW0ubyBcCiAJICBpbnRlbF93b3BjbS5vCiAKICMg Z2VuZXJhbC1wdXJwb3NlIG1pY3JvY29udHJvbGxlciAoR3VDKSBzdXBwb3J0CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAppbmRleCA4MzhhNzk2ZDljNTUuLjdjYmRmZmUzZjEyOSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCkBAIC05Myw2ICs5Myw4IEBACiAjaW5jbHVkZSAiZ3QvaW50ZWxfdGltZWxp bmUuaCIKICNpbmNsdWRlICJpOTE1X3ZtYS5oIgogCisjaW5jbHVkZSAiaW50ZWxfcmVnaW9uX2xt ZW0uaCIKKwogI2luY2x1ZGUgImludGVsX2d2dC5oIgogCiAvKiBHZW5lcmFsIGN1c3RvbWl6YXRp b246CkBAIC0xMzQxLDYgKzEzNDMsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7CiAJICov CiAJcmVzb3VyY2Vfc2l6ZV90IHN0b2xlbl91c2FibGVfc2l6ZTsJLyogVG90YWwgc2l6ZSBtaW51 cyByZXNlcnZlZCByYW5nZXMgKi8KIAorCXN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICpyZWdp b25zW0FSUkFZX1NJWkUoaW50ZWxfcmVnaW9uX21hcCldOworCiAJc3RydWN0IGludGVsX3VuY29y ZSB1bmNvcmU7CiAKIAlzdHJ1Y3QgaTkxNV92aXJ0dWFsX2dwdSB2Z3B1OwpAQCAtMjI4OSw2ICsy MjkzLDcgQEAgSVNfU1VCUExBVEZPUk0oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUsCiAjZGVmaW5lIEhBU19JUEMoZGV2X3ByaXYpCQkgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5k aXNwbGF5Lmhhc19pcGMpCiAKICNkZWZpbmUgSEFTX1JFR0lPTihpOTE1LCBpKSAoSU5URUxfSU5G TyhpOTE1KS0+bWVtb3J5X3JlZ2lvbnMgJiAoaSkpCisjZGVmaW5lIEhBU19MTUVNKGk5MTUpIEhB U19SRUdJT04oaTkxNSwgUkVHSU9OX0xNRU0pCiAKIC8qCiAgKiBGb3Igbm93LCBhbnl0aGluZyB3 aXRoIGEgR3VDIHJlcXVpcmVzIHVDb2RlIGxvYWRpbmcsIGFuZCB0aGVuIHN1cHBvcnRzCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fbG1lbS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX2xtZW0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLmM0YjVhODg2MjdhMwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl9sbWVtLmMKQEAgLTAsMCArMSw2NiBAQAorLy8g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDE5IElu dGVsIENvcnBvcmF0aW9uCisgKi8KKworI2luY2x1ZGUgImk5MTVfZHJ2LmgiCisjaW5jbHVkZSAi aW50ZWxfbWVtb3J5X3JlZ2lvbi5oIgorI2luY2x1ZGUgImludGVsX3JlZ2lvbl9sbWVtLmgiCisK K3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9vcHMgcmVnaW9uX2xtZW1f b2JqX29wcyA9IHsKKwkuZ2V0X3BhZ2VzID0gaTkxNV9tZW1vcnlfcmVnaW9uX2dldF9wYWdlc19i dWRkeSwKKwkucHV0X3BhZ2VzID0gaTkxNV9tZW1vcnlfcmVnaW9uX3B1dF9wYWdlc19idWRkeSwK KwkucmVsZWFzZSA9IGk5MTVfZ2VtX29iamVjdF9yZWxlYXNlX21lbW9yeV9yZWdpb24sCit9Owor CitzdGF0aWMgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgorbG1lbV9jcmVhdGVfb2JqZWN0 KHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCisJCSAgIHJlc291cmNlX3NpemVfdCBz aXplLAorCQkgICB1bnNpZ25lZCBpbnQgZmxhZ3MpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUgPSBtZW0tPmk5MTU7CisJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsK Kwl1bnNpZ25lZCBpbnQgY2FjaGVfbGV2ZWw7CisKKwlpZiAoZmxhZ3MgJiBJOTE1X0JPX0FMTE9D X0NPTlRJR1VPVVMpCisJCXNpemUgPSByb3VuZHVwX3Bvd19vZl90d28oc2l6ZSk7CisKKwlpZiAo c2l6ZSA+IEJJVChtZW0tPm1tLm1heF9vcmRlcikgKiBtZW0tPm1tLm1pbl9zaXplKQorCQlyZXR1 cm4gRVJSX1BUUigtRTJCSUcpOworCisJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2FsbG9jKCk7CisJ aWYgKCFvYmopCisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOworCisJZHJtX2dlbV9wcml2YXRl X29iamVjdF9pbml0KCZpOTE1LT5kcm0sICZvYmotPmJhc2UsIHNpemUpOworCWk5MTVfZ2VtX29i amVjdF9pbml0KG9iaiwgJnJlZ2lvbl9sbWVtX29ial9vcHMpOworCisJb2JqLT5yZWFkX2RvbWFp bnMgPSBJOTE1X0dFTV9ET01BSU5fQ1BVIHwgSTkxNV9HRU1fRE9NQUlOX0dUVDsKKworCWNhY2hl X2xldmVsID0gSEFTX0xMQyhpOTE1KSA/IEk5MTVfQ0FDSEVfTExDIDogSTkxNV9DQUNIRV9OT05F OworCWk5MTVfZ2VtX29iamVjdF9zZXRfY2FjaGVfY29oZXJlbmN5KG9iaiwgY2FjaGVfbGV2ZWwp OworCisJcmV0dXJuIG9iajsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9tZW1vcnlf cmVnaW9uX29wcyByZWdpb25fbG1lbV9vcHMgPSB7CisJLmluaXQgPSBpOTE1X21lbW9yeV9yZWdp b25faW5pdF9idWRkeSwKKwkucmVsZWFzZSA9IGk5MTVfbWVtb3J5X3JlZ2lvbl9yZWxlYXNlX2J1 ZGR5LAorCS5jcmVhdGVfb2JqZWN0ID0gbG1lbV9jcmVhdGVfb2JqZWN0LAorfTsKKworYm9vbCBp OTE1X2dlbV9vYmplY3RfaXNfbG1lbShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQor eworCXN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICpyZWdpb24gPSBvYmotPm1lbW9yeV9yZWdp b247CisKKwlyZXR1cm4gcmVnaW9uICYmIHJlZ2lvbi0+dHlwZSA9PSBJTlRFTF9MTUVNOworfQor CitzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCitpOTE1X2dlbV9vYmplY3RfY3JlYXRlX2xt ZW0oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJCQkgICAgcmVzb3VyY2Vfc2l6ZV90 IHNpemUsCisJCQkgICAgdW5zaWduZWQgaW50IGZsYWdzKQoreworCXJldHVybiBpOTE1X2dlbV9v YmplY3RfY3JlYXRlX3JlZ2lvbihpOTE1LT5yZWdpb25zW0lOVEVMX01FTU9SWV9MTUVNXSwKKwkJ CQkJICAgICBzaXplLCBmbGFncyk7Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9yZWdpb25fbG1lbS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9u X2xtZW0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjBmMGE2MjQ5 ZDViOQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lv bl9sbWVtLmgKQEAgLTAsMCArMSwxNiBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1J VCAqLworLyoKKyAqIENvcHlyaWdodCDCqSAyMDE5IEludGVsIENvcnBvcmF0aW9uCisgKi8KKwor I2lmbmRlZiBfX0lOVEVMX1JFR0lPTl9MTUVNX0gKKyNkZWZpbmUgX19JTlRFTF9SRUdJT05fTE1F TV9ICisKK2Jvb2wgaTkxNV9nZW1fb2JqZWN0X2lzX2xtZW0oc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaik7CisKK3N0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKK2k5MTVfZ2VtX29i amVjdF9jcmVhdGVfbG1lbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKKwkJCSAgICBy ZXNvdXJjZV9zaXplX3Qgc2l6ZSwKKwkJCSAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpOworCisjZW5k aWYgLyogIV9fSU5URUxfUkVHSU9OX0xNRU1fSCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbGl2ZV9zZWxmdGVzdHMuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2xpdmVfc2VsZnRlc3RzLmgKaW5kZXggMmIzMWE0ZWUwYjRj Li4xYjc2YzJjMTJjYTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0 cy9pOTE1X2xpdmVfc2VsZnRlc3RzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2k5MTVfbGl2ZV9zZWxmdGVzdHMuaApAQCAtMjgsNiArMjgsNyBAQCBzZWxmdGVzdChjb250 ZXh0cywgaTkxNV9nZW1fY29udGV4dF9saXZlX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KGJsdCwgaTkx NV9nZW1fb2JqZWN0X2JsdF9saXZlX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KGNsaWVudCwgaTkxNV9n ZW1fY2xpZW50X2JsdF9saXZlX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KHJlc2V0LCBpbnRlbF9yZXNl dF9saXZlX3NlbGZ0ZXN0cykKK3NlbGZ0ZXN0KG1lbW9yeV9yZWdpb24sIGludGVsX21lbW9yeV9y ZWdpb25fbGl2ZV9zZWxmdGVzdHMpCiBzZWxmdGVzdChoYW5nY2hlY2ssIGludGVsX2hhbmdjaGVj a19saXZlX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KGV4ZWNsaXN0cywgaW50ZWxfZXhlY2xpc3RzX2xp dmVfc2VsZnRlc3RzKQogc2VsZnRlc3QoZ3VjLCBpbnRlbF9ndWNfbGl2ZV9zZWxmdGVzdCkKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9tZW1vcnlfcmVn aW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfbWVtb3J5X3JlZ2lv bi5jCmluZGV4IGJkZjA0NGU0NzgxZC4uM2FjMzIwYjI4ZWYxIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9tZW1vcnlfcmVnaW9uLmMKQEAgLTM0NCw2 ICszNDQsMjcgQEAgc3RhdGljIGludCBpZ3RfbW9ja192b2xhdGlsZSh2b2lkICphcmcpCiAJcmV0 dXJuIGVycjsKIH0KIAorc3RhdGljIGludCBpZ3RfbG1lbV9jcmVhdGUodm9pZCAqYXJnKQorewor CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gYXJnOworCXN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmo7CisJaW50IGVyciA9IDA7CisKKwlvYmogPSBpOTE1X2dlbV9vYmplY3Rf Y3JlYXRlX2xtZW0oaTkxNSwgUEFHRV9TSVpFLCAwKTsKKwlpZiAoSVNfRVJSKG9iaikpCisJCXJl dHVybiBQVFJfRVJSKG9iaik7CisKKwllcnIgPSBpOTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzKG9i aik7CisJaWYgKGVycikKKwkJZ290byBvdXRfcHV0OworCisJaTkxNV9nZW1fb2JqZWN0X3VucGlu X3BhZ2VzKG9iaik7CitvdXRfcHV0OgorCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKKworCXJl dHVybiBlcnI7Cit9CisKIGludCBpbnRlbF9tZW1vcnlfcmVnaW9uX21vY2tfc2VsZnRlc3RzKHZv aWQpCiB7CiAJc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3N1YnRlc3QgdGVzdHNbXSA9IHsKQEAg LTM4MCwzICs0MDEsMjUgQEAgaW50IGludGVsX21lbW9yeV9yZWdpb25fbW9ja19zZWxmdGVzdHMo dm9pZCkKIAogCXJldHVybiBlcnI7CiB9CisKK2ludCBpbnRlbF9tZW1vcnlfcmVnaW9uX2xpdmVf c2VsZnRlc3RzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQoreworCXN0YXRpYyBjb25z dCBzdHJ1Y3QgaTkxNV9zdWJ0ZXN0IHRlc3RzW10gPSB7CisJCVNVQlRFU1QoaWd0X2xtZW1fY3Jl YXRlKSwKKwl9OworCWludCBlcnI7CisKKwlpZiAoIUhBU19MTUVNKGk5MTUpKSB7CisJCXByX2lu Zm8oImRldmljZSBsYWNrcyBMTUVNIHN1cHBvcnQsIHNraXBwaW5nXG4iKTsKKwkJcmV0dXJuIDA7 CisJfQorCisJaWYgKGk5MTVfdGVybWluYWxseV93ZWRnZWQoaTkxNSkpCisJCXJldHVybiAwOwor CisJbXV0ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CisJZXJyID0gaTkxNV9zdWJ0 ZXN0cyh0ZXN0cywgaTkxNSk7CisJbXV0ZXhfdW5sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4 KTsKKworCXJldHVybiBlcnI7Cit9Ci0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeA==