From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Stultz Subject: [PATCH v15 3/5] dma-buf: heaps: Add system heap to dmabuf heaps Date: Wed, 6 Nov 2019 04:22:50 +0000 Message-ID: <20191106042252.72452-4-john.stultz@linaro.org> References: <20191106042252.72452-1-john.stultz@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pf1-x443.google.com (mail-pf1-x443.google.com [IPv6:2607:f8b0:4864:20::443]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6D7FE6EBEA for ; Wed, 6 Nov 2019 04:23:05 +0000 (UTC) Received: by mail-pf1-x443.google.com with SMTP id 193so16545751pfc.13 for ; Tue, 05 Nov 2019 20:23:05 -0800 (PST) In-Reply-To: <20191106042252.72452-1-john.stultz@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: lkml Cc: Hillf Danton , Sudipto Paul , Sandeep Patil , Vincent Donnefort , Chenbo Feng , Alistair Strachan , Liam Mark , Christoph Hellwig , dri-devel@lists.freedesktop.org, "Andrew F . Davis" , Hridya Valsaraju , Pratik Patel List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIHN5c3RlbSBoZWFwIHRvIHRoZSBkbWEtYnVmIGhlYXBzIGZyYW1ld29y ay4KClRoaXMgYWxsb3dzIGFwcGxpY2F0aW9ucyB0byBnZXQgYSBwYWdlLWFsbG9jYXRvciBiYWNr ZWQgZG1hLWJ1Zgpmb3Igbm9uLWNvbnRpZ3VvdXMgbWVtb3J5LgoKVGhpcyBjb2RlIGlzIGFuIGV2 b2x1dGlvbiBvZiB0aGUgQW5kcm9pZCBJT04gaW1wbGVtZW50YXRpb24sIHNvCnRoYW5rcyB0byBp dHMgb3JpZ2luYWwgYXV0aG9ycyBhbmQgbWFpbnRhaW50ZXJzOgogIFJlYmVjY2EgU2NodWx0eiBa YXZpbiwgQ29saW4gQ3Jvc3MsIExhdXJhIEFiYm90dCwgYW5kIG90aGVycyEKCkNjOiBMYXVyYSBB YmJvdHQgPGxhYmJvdHRAcmVkaGF0LmNvbT4KQ2M6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1p bi5nYWlnbmFyZEBsaW5hcm8ub3JnPgpDYzogU3VtaXQgU2Vtd2FsIDxzdW1pdC5zZW13YWxAbGlu YXJvLm9yZz4KQ2M6IExpYW0gTWFyayA8bG1hcmtAY29kZWF1cm9yYS5vcmc+CkNjOiBQcmF0aWsg UGF0ZWwgPHByYXRpa3BAY29kZWF1cm9yYS5vcmc+CkNjOiBCcmlhbiBTdGFya2V5IDxCcmlhbi5T dGFya2V5QGFybS5jb20+CkNjOiBWaW5jZW50IERvbm5lZm9ydCA8VmluY2VudC5Eb25uZWZvcnRA YXJtLmNvbT4KQ2M6IFN1ZGlwdG8gUGF1bCA8U3VkaXB0by5QYXVsQGFybS5jb20+CkNjOiBBbmRy ZXcgRi4gRGF2aXMgPGFmZEB0aS5jb20+CkNjOiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGluZnJh ZGVhZC5vcmc+CkNjOiBDaGVuYm8gRmVuZyA8ZmVuZ2NAZ29vZ2xlLmNvbT4KQ2M6IEFsaXN0YWly IFN0cmFjaGFuIDxhc3RyYWNoYW5AZ29vZ2xlLmNvbT4KQ2M6IEhyaWR5YSBWYWxzYXJhanUgPGhy aWR5YUBnb29nbGUuY29tPgpDYzogU2FuZGVlcCBQYXRpbCA8c3NwYXRpbEBnb29nbGUuY29tPgpD YzogSGlsbGYgRGFudG9uIDxoZGFudG9uQHNpbmEuY29tPgpDYzogRGF2ZSBBaXJsaWUgPGFpcmxp ZWRAZ21haWwuY29tPgpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpSZXZpZXdl ZC1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+ClJl dmlld2VkLWJ5OiBCcmlhbiBTdGFya2V5IDxicmlhbi5zdGFya2V5QGFybS5jb20+CkFja2VkLWJ5 OiBTYW5kZWVwIFBhdGlsIDxzc3BhdGlsQGFuZHJvaWQuY29tPgpBY2tlZC1ieTogTGF1cmEgQWJi b3R0IDxsYWJib3R0QHJlZGhhdC5jb20+ClRlc3RlZC1ieTogQXlhbiBLdW1hciBIYWxkZXIgPGF5 YW4uaGFsZGVyQGFybS5jb20+ClNpZ25lZC1vZmYtYnk6IEpvaG4gU3R1bHR6IDxqb2huLnN0dWx0 ekBsaW5hcm8ub3JnPgotLS0KdjI6CiogU3dpdGNoIGFsbG9jYXRlIHRvIHJldHVybiBkbWFidWYg ZmQKKiBTaW1wbGlmeSBpbml0IGNvZGUKKiBDaGVja3BhdGNoIGZpeHVwcwoqIERyb3BlZCBkZWFk IHN5c3RlbS1jb250aWcgY29kZQp2MzoKKiBXaGl0ZXNwYWNlIGZpeHVwcyBmcm9tIEJlbmphbWlu CiogTWFrZSBzdXJlIHdlJ3JlIHplcm9pbmcgdGhlIGFsbG9jYXRlZCBwYWdlcyAoZnJvbSBMaWFt KQoqIFVzZSBQQUdFX0FMSUdOKCkgY29uc2lzdGVudGx5IChzdWdnZXN0ZWQgYnkgQnJpYW4pCiog Rm9sZCBpbiBuZXcgcmVnaXN0cmF0aW9uIHN0eWxlIGZyb20gQW5kcmV3CiogQXZvaWQgbmVlZGxl c3MgZHluYW1pYyBhbGxvY2F0aW9uIG9mIHN5c19oZWFwIChzdWdnZXN0ZWQgYnkKICBDaHJpc3Rv cGgpCiogTWlub3IgY2xlYW51cHMKKiBGb2xkZWQgaW4gY2hhbmdlcyBmcm9tIEFuZHJldyB0byB1 c2Ugc2ltcGxpZmllZCBwYWdlIGxpc3QKICBmcm9tIHRoZSBoZWFwIGhlbHBlcnMKdjQ6CiogT3B0 aW1pemF0aW9uIHRvIGFsbG9jYXRlIHBhZ2VzIGluIGNodW5rcywgc2ltaWxhciB0byBvbGQKICBw YWdlcG9vbCBjb2RlCiogVXNlIGZkX2ZsYWdzIHdoZW4gY3JlYXRpbmcgZG1hYnVmIGZkIChTdWdn ZXN0ZWQgYnkgQmVuamFtaW4pCnY1OgoqIEJhY2sgb3V0IGxhcmdlIG9yZGVyIHBhZ2UgYWxsb2Nh dGlvbnMgKHdhcyBsZWFraW5nIG1lbW9yeSwKICBhcyB0aGUgcGFnZSBhcnJheSBkaWRuJ3QgcHJv cGVybHkgdHJhY2sgb3JkZXIgc2l6ZSkKdjY6CiogTWlub3Igd2hpdGVzcGFjZSBjaGFuZ2Ugc3Vn Z2VzdGVkIGJ5IEJyaWFuCiogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQp2NzoKKiBVc2UgbmV3bHkg bG93ZXItY2FzZWQgaW5pdF9oZWFwX2hlbHBlcl9idWZmZXIgaGVscGVyCiogQWRkIHN5c3RlbSBo ZWFwIERPUyBhdm9pZGFuY2Ugc3VnZ2VzdGVkIGJ5IExhdXJhIGZyb20gSU9OIGNvZGUKKiBVc2Ug bmV3IGRtYWJ1ZiBleHBvcnQgaGVscGVyCnY4OgoqIE1ha2Ugc3RydWN0IGRtYV9oZWFwX29wcyBj b25zdHMgKHN1Z2dlc3RlZCBieSBDaHJpc3RvcGgpCiogR2V0IHJpZCBvZiBuZWVkbGVzcyBzdHJ1 Y3Qgc3lzdGVtX2hlYXAgKHN1Z2dlc3RlZCBieSBDaHJpc3RvcGgpCiogQ29uZGVuc2UgZG1hX2hl YXBfYnVmZmVyIGFuZCBoZWFwX2hlbHBlcl9idWZmZXIgKHN1Z2dlc3RlZCBieQogIENocmlzdG9w aCkKKiBBZGQgZm9yZ290dGVuIGluY2x1ZGUgZmlsZSB0byBmaXggYnVpbGQgaXNzdWUgb24geDg2 CnYxMjoKKiBNaW5vciB0d2Vha3MgdG8gcHJlcCBsb2FkaW5nIGhlYXAgZnJvbSBtb2R1bGUKdjE0 OgoqIEZpeCAicmVkdW5kYW50IGFzc2lnbm1lbnQgdG8gdmFyaWFibGUgcmV0IiBpc3N1ZSByZXBv cnRlZAogIGJ5IENvbGluIEtpbmcgYW5kIGZpeGVkIGJ5IEFuZHJldyBEYXZpcwp2MTU6CiogRHJv cCB1bnVzZWQgaGVhcCBmbGFnIGZyb20gaGVhcF9oZWxwZXJfYnVmZmVyIGFzIHN1Z2dlc3RlZAog IGJ5IFNhbmRlZXAgUGF0aWwKLS0tCiBkcml2ZXJzL2RtYS1idWYvS2NvbmZpZyAgICAgICAgICAg ICB8ICAgMiArCiBkcml2ZXJzL2RtYS1idWYvaGVhcHMvS2NvbmZpZyAgICAgICB8ICAgNiArKwog ZHJpdmVycy9kbWEtYnVmL2hlYXBzL01ha2VmaWxlICAgICAgfCAgIDEgKwogZHJpdmVycy9kbWEt YnVmL2hlYXBzL3N5c3RlbV9oZWFwLmMgfCAxMjMgKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogNCBmaWxlcyBjaGFuZ2VkLCAxMzIgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvZG1hLWJ1Zi9oZWFwcy9LY29uZmlnCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9kbWEtYnVmL2hlYXBzL3N5c3RlbV9oZWFwLmMKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1i dWYvS2NvbmZpZyBiL2RyaXZlcnMvZG1hLWJ1Zi9LY29uZmlnCmluZGV4IGJmZmE1OGZjM2U2ZS4u MDYxM2JiNzc3MGY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2RtYS1idWYvS2NvbmZpZworKysgYi9k cml2ZXJzL2RtYS1idWYvS2NvbmZpZwpAQCAtNTMsNCArNTMsNiBAQCBtZW51Y29uZmlnIERNQUJV Rl9IRUFQUwogCSAgYWxsb3dzIHVzZXJzcGFjZSB0byBhbGxvY2F0ZSBkbWEtYnVmcyB0aGF0IGNh biBiZSBzaGFyZWQKIAkgIGJldHdlZW4gZHJpdmVycy4KIAorc291cmNlICJkcml2ZXJzL2RtYS1i dWYvaGVhcHMvS2NvbmZpZyIKKwogZW5kbWVudQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEtYnVm L2hlYXBzL0tjb25maWcgYi9kcml2ZXJzL2RtYS1idWYvaGVhcHMvS2NvbmZpZwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjIwNTA1Mjc0NDE2OQotLS0gL2Rldi9udWxs CisrKyBiL2RyaXZlcnMvZG1hLWJ1Zi9oZWFwcy9LY29uZmlnCkBAIC0wLDAgKzEsNiBAQAorY29u ZmlnIERNQUJVRl9IRUFQU19TWVNURU0KKwlib29sICJETUEtQlVGIFN5c3RlbSBIZWFwIgorCWRl cGVuZHMgb24gRE1BQlVGX0hFQVBTCisJaGVscAorCSAgQ2hvb3NlIHRoaXMgb3B0aW9uIHRvIGVu YWJsZSB0aGUgc3lzdGVtIGRtYWJ1ZiBoZWFwLiBUaGUgc3lzdGVtIGhlYXAKKwkgIGlzIGJhY2tl ZCBieSBwYWdlcyBmcm9tIHRoZSBidWRkeSBhbGxvY2F0b3IuIElmIGluIGRvdWJ0LCBzYXkgWS4K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZG1hLWJ1Zi9oZWFwcy9NYWtlZmlsZSBiL2RyaXZlcnMvZG1h LWJ1Zi9oZWFwcy9NYWtlZmlsZQppbmRleCBkZTQ5ODk4MTEyZGIuLmQxODA4ZWNhMjU4MSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9kbWEtYnVmL2hlYXBzL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZG1h LWJ1Zi9oZWFwcy9NYWtlZmlsZQpAQCAtMSwyICsxLDMgQEAKICMgU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAKIG9iai15CQkJCQkrPSBoZWFwLWhlbHBlcnMubworb2JqLSQoQ09ORklH X0RNQUJVRl9IRUFQU19TWVNURU0pCSs9IHN5c3RlbV9oZWFwLm8KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZG1hLWJ1Zi9oZWFwcy9zeXN0ZW1faGVhcC5jIGIvZHJpdmVycy9kbWEtYnVmL2hlYXBzL3N5 c3RlbV9oZWFwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xYWEw MWU5OGM1OTUKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2RtYS1idWYvaGVhcHMvc3lzdGVt X2hlYXAuYwpAQCAtMCwwICsxLDEyMyBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAKKy8qCisgKiBETUFCVUYgU3lzdGVtIGhlYXAgZXhwb3J0ZXIKKyAqCisgKiBDb3B5cmln aHQgKEMpIDIwMTEgR29vZ2xlLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgTGluYXJvIEx0 ZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgvZG1hLWJ1Zi5oPgorI2luY2x1ZGUgPGxpbnV4L2Rt YS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLWhlYXAuaD4KKyNpbmNsdWRlIDxsaW51 eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+CisjaW5jbHVkZSA8bGludXgvbW0u aD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlz dC5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC9zaWdu YWwuaD4KKyNpbmNsdWRlIDxhc20vcGFnZS5oPgorCisjaW5jbHVkZSAiaGVhcC1oZWxwZXJzLmgi CisKK3N0cnVjdCBkbWFfaGVhcCAqc3lzX2hlYXA7CisKK3N0YXRpYyB2b2lkIHN5c3RlbV9oZWFw X2ZyZWUoc3RydWN0IGhlYXBfaGVscGVyX2J1ZmZlciAqYnVmZmVyKQoreworCXBnb2ZmX3QgcGc7 CisKKwlmb3IgKHBnID0gMDsgcGcgPCBidWZmZXItPnBhZ2Vjb3VudDsgcGcrKykKKwkJX19mcmVl X3BhZ2UoYnVmZmVyLT5wYWdlc1twZ10pOworCWtmcmVlKGJ1ZmZlci0+cGFnZXMpOworCWtmcmVl KGJ1ZmZlcik7Cit9CisKK3N0YXRpYyBpbnQgc3lzdGVtX2hlYXBfYWxsb2NhdGUoc3RydWN0IGRt YV9oZWFwICpoZWFwLAorCQkJCXVuc2lnbmVkIGxvbmcgbGVuLAorCQkJCXVuc2lnbmVkIGxvbmcg ZmRfZmxhZ3MsCisJCQkJdW5zaWduZWQgbG9uZyBoZWFwX2ZsYWdzKQoreworCXN0cnVjdCBoZWFw X2hlbHBlcl9idWZmZXIgKmhlbHBlcl9idWZmZXI7CisJc3RydWN0IGRtYV9idWYgKmRtYWJ1ZjsK KwlpbnQgcmV0ID0gLUVOT01FTTsKKwlwZ29mZl90IHBnOworCisJaGVscGVyX2J1ZmZlciA9IGt6 YWxsb2Moc2l6ZW9mKCpoZWxwZXJfYnVmZmVyKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFoZWxwZXJf YnVmZmVyKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWluaXRfaGVhcF9oZWxwZXJfYnVmZmVyKGhl bHBlcl9idWZmZXIsIHN5c3RlbV9oZWFwX2ZyZWUpOworCWhlbHBlcl9idWZmZXItPmhlYXAgPSBo ZWFwOworCWhlbHBlcl9idWZmZXItPnNpemUgPSBsZW47CisKKwloZWxwZXJfYnVmZmVyLT5wYWdl Y291bnQgPSBsZW4gLyBQQUdFX1NJWkU7CisJaGVscGVyX2J1ZmZlci0+cGFnZXMgPSBrbWFsbG9j X2FycmF5KGhlbHBlcl9idWZmZXItPnBhZ2Vjb3VudCwKKwkJCQkJICAgICBzaXplb2YoKmhlbHBl cl9idWZmZXItPnBhZ2VzKSwKKwkJCQkJICAgICBHRlBfS0VSTkVMKTsKKwlpZiAoIWhlbHBlcl9i dWZmZXItPnBhZ2VzKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gZXJyMDsKKwl9CisKKwlm b3IgKHBnID0gMDsgcGcgPCBoZWxwZXJfYnVmZmVyLT5wYWdlY291bnQ7IHBnKyspIHsKKwkJLyoK KwkJICogQXZvaWQgdHJ5aW5nIHRvIGFsbG9jYXRlIG1lbW9yeSBpZiB0aGUgcHJvY2VzcworCQkg KiBoYXMgYmVlbiBraWxsZWQgYnkgYnkgU0lHS0lMTAorCQkgKi8KKwkJaWYgKGZhdGFsX3NpZ25h bF9wZW5kaW5nKGN1cnJlbnQpKQorCQkJZ290byBlcnIxOworCisJCWhlbHBlcl9idWZmZXItPnBh Z2VzW3BnXSA9IGFsbG9jX3BhZ2UoR0ZQX0tFUk5FTCB8IF9fR0ZQX1pFUk8pOworCQlpZiAoIWhl bHBlcl9idWZmZXItPnBhZ2VzW3BnXSkKKwkJCWdvdG8gZXJyMTsKKwl9CisKKwkvKiBjcmVhdGUg dGhlIGRtYWJ1ZiAqLworCWRtYWJ1ZiA9IGhlYXBfaGVscGVyX2V4cG9ydF9kbWFidWYoaGVscGVy X2J1ZmZlciwgZmRfZmxhZ3MpOworCWlmIChJU19FUlIoZG1hYnVmKSkgeworCQlyZXQgPSBQVFJf RVJSKGRtYWJ1Zik7CisJCWdvdG8gZXJyMTsKKwl9CisKKwloZWxwZXJfYnVmZmVyLT5kbWFidWYg PSBkbWFidWY7CisKKwlyZXQgPSBkbWFfYnVmX2ZkKGRtYWJ1ZiwgZmRfZmxhZ3MpOworCWlmIChy ZXQgPCAwKSB7CisJCWRtYV9idWZfcHV0KGRtYWJ1Zik7CisJCS8qIGp1c3QgcmV0dXJuLCBhcyBw dXQgd2lsbCBjYWxsIHJlbGVhc2UgYW5kIHRoYXQgd2lsbCBmcmVlICovCisJCXJldHVybiByZXQ7 CisJfQorCisJcmV0dXJuIHJldDsKKworZXJyMToKKwl3aGlsZSAocGcgPiAwKQorCQlfX2ZyZWVf cGFnZShoZWxwZXJfYnVmZmVyLT5wYWdlc1stLXBnXSk7CisJa2ZyZWUoaGVscGVyX2J1ZmZlci0+ cGFnZXMpOworZXJyMDoKKwlrZnJlZShoZWxwZXJfYnVmZmVyKTsKKworCXJldHVybiByZXQ7Cit9 CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX2hlYXBfb3BzIHN5c3RlbV9oZWFwX29wcyA9IHsK KwkuYWxsb2NhdGUgPSBzeXN0ZW1faGVhcF9hbGxvY2F0ZSwKK307CisKK3N0YXRpYyBpbnQgc3lz dGVtX2hlYXBfY3JlYXRlKHZvaWQpCit7CisJc3RydWN0IGRtYV9oZWFwX2V4cG9ydF9pbmZvIGV4 cF9pbmZvOworCWludCByZXQgPSAwOworCisJZXhwX2luZm8ubmFtZSA9ICJzeXN0ZW1faGVhcCI7 CisJZXhwX2luZm8ub3BzID0gJnN5c3RlbV9oZWFwX29wczsKKwlleHBfaW5mby5wcml2ID0gTlVM TDsKKworCXN5c19oZWFwID0gZG1hX2hlYXBfYWRkKCZleHBfaW5mbyk7CisJaWYgKElTX0VSUihz eXNfaGVhcCkpCisJCXJldCA9IFBUUl9FUlIoc3lzX2hlYXApOworCisJcmV0dXJuIHJldDsKK30K K21vZHVsZV9pbml0KHN5c3RlbV9oZWFwX2NyZWF0ZSk7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYy Iik7Ci0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbA==