From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Stultz Subject: [PATCH v7 3/5] dma-buf: heaps: Add system heap to dmabuf heaps Date: Wed, 24 Jul 2019 00:36:54 +0000 Message-ID: <20190724003656.59780-4-john.stultz@linaro.org> References: <20190724003656.59780-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-pl1-x643.google.com (mail-pl1-x643.google.com [IPv6:2607:f8b0:4864:20::643]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6B7C16E40A for ; Wed, 24 Jul 2019 00:37:09 +0000 (UTC) Received: by mail-pl1-x643.google.com with SMTP id b3so21258762plr.4 for ; Tue, 23 Jul 2019 17:37:09 -0700 (PDT) In-Reply-To: <20190724003656.59780-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: Sudipto Paul , 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 aWR5YUBnb29nbGUuY29tPgpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpSZXZp ZXdlZC1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+ ClNpZ25lZC1vZmYtYnk6IEpvaG4gU3R1bHR6IDxqb2huLnN0dWx0ekBsaW5hcm8ub3JnPgotLS0K djI6CiogU3dpdGNoIGFsbG9jYXRlIHRvIHJldHVybiBkbWFidWYgZmQKKiBTaW1wbGlmeSBpbml0 IGNvZGUKKiBDaGVja3BhdGNoIGZpeHVwcwoqIERyb3BlZCBkZWFkIHN5c3RlbS1jb250aWcgY29k ZQp2MzoKKiBXaGl0ZXNwYWNlIGZpeHVwcyBmcm9tIEJlbmphbWluCiogTWFrZSBzdXJlIHdlJ3Jl IHplcm9pbmcgdGhlIGFsbG9jYXRlZCBwYWdlcyAoZnJvbSBMaWFtKQoqIFVzZSBQQUdFX0FMSUdO KCkgY29uc2lzdGVudGx5IChzdWdnZXN0ZWQgYnkgQnJpYW4pCiogRm9sZCBpbiBuZXcgcmVnaXN0 cmF0aW9uIHN0eWxlIGZyb20gQW5kcmV3CiogQXZvaWQgbmVlZGxlc3MgZHluYW1pYyBhbGxvY2F0 aW9uIG9mIHN5c19oZWFwIChzdWdnZXN0ZWQgYnkKICBDaHJpc3RvcGgpCiogTWlub3IgY2xlYW51 cHMKKiBGb2xkZWQgaW4gY2hhbmdlcyBmcm9tIEFuZHJldyB0byB1c2Ugc2ltcGxpZmllZCBwYWdl IGxpc3QKICBmcm9tIHRoZSBoZWFwIGhlbHBlcnMKdjQ6CiogT3B0aW1pemF0aW9uIHRvIGFsbG9j YXRlIHBhZ2VzIGluIGNodW5rcywgc2ltaWxhciB0byBvbGQKICBwYWdlcG9vbCBjb2RlCiogVXNl IGZkX2ZsYWdzIHdoZW4gY3JlYXRpbmcgZG1hYnVmIGZkIChTdWdnZXN0ZWQgYnkgQmVuamFtaW4p CnY1OgoqIEJhY2sgb3V0IGxhcmdlIG9yZGVyIHBhZ2UgYWxsb2NhdGlvbnMgKHdhcyBsZWFraW5n IG1lbW9yeSwKICBhcyB0aGUgcGFnZSBhcnJheSBkaWRuJ3QgcHJvcGVybHkgdHJhY2sgb3JkZXIg c2l6ZSkKdjY6CiogTWlub3Igd2hpdGVzcGFjZSBjaGFuZ2Ugc3VnZ2VzdGVkIGJ5IEJyaWFuCiog UmVtb3ZlIHVudXNlZCB2YXJpYWJsZQp2NzoKKiBVc2UgbmV3bHkgbG93ZXItY2FzZWQgaW5pdF9o ZWFwX2hlbHBlcl9idWZmZXIgaGVscGVyCiogQWRkIHN5c3RlbSBoZWFwIERPUyBhdm9pZGFuY2Ug c3VnZ2VzdGVkIGJ5IExhdXJhIGZyb20gSU9OIGNvZGUKKiBVc2UgbmV3IGRtYWJ1ZiBleHBvcnQg aGVscGVyCi0tLQogZHJpdmVycy9kbWEtYnVmL0tjb25maWcgICAgICAgICAgICAgfCAgIDIgKwog ZHJpdmVycy9kbWEtYnVmL2hlYXBzL0tjb25maWcgICAgICAgfCAgIDYgKysKIGRyaXZlcnMvZG1h LWJ1Zi9oZWFwcy9NYWtlZmlsZSAgICAgIHwgICAxICsKIGRyaXZlcnMvZG1hLWJ1Zi9oZWFwcy9z eXN0ZW1faGVhcC5jIHwgMTIzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDQgZmlsZXMg Y2hhbmdlZCwgMTMyIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Rt YS1idWYvaGVhcHMvS2NvbmZpZwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZG1hLWJ1Zi9o ZWFwcy9zeXN0ZW1faGVhcC5jCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEtYnVmL0tjb25maWcg Yi9kcml2ZXJzL2RtYS1idWYvS2NvbmZpZwppbmRleCAxNjJlMjRlMWU0MjkuLjY1N2NlNzQzYWJk YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9kbWEtYnVmL0tjb25maWcKKysrIGIvZHJpdmVycy9kbWEt YnVmL0tjb25maWcKQEAgLTQ4LDQgKzQ4LDYgQEAgbWVudWNvbmZpZyBETUFCVUZfSEVBUFMKIAkg IGFsbG93cyB1c2Vyc3BhY2UgdG8gdXNlIHRvIGFsbG9jYXRlIGRtYS1idWZzIHRoYXQgY2FuIGJl IHNoYXJlZAogCSAgYmV0d2VlbiBkcml2ZXJzLgogCitzb3VyY2UgImRyaXZlcnMvZG1hLWJ1Zi9o ZWFwcy9LY29uZmlnIgorCiBlbmRtZW51CmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvaGVh cHMvS2NvbmZpZyBiL2RyaXZlcnMvZG1hLWJ1Zi9oZWFwcy9LY29uZmlnCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMjA1MDUyNzQ0MTY5Ci0tLSAvZGV2L251bGwKKysr IGIvZHJpdmVycy9kbWEtYnVmL2hlYXBzL0tjb25maWcKQEAgLTAsMCArMSw2IEBACitjb25maWcg RE1BQlVGX0hFQVBTX1NZU1RFTQorCWJvb2wgIkRNQS1CVUYgU3lzdGVtIEhlYXAiCisJZGVwZW5k cyBvbiBETUFCVUZfSEVBUFMKKwloZWxwCisJICBDaG9vc2UgdGhpcyBvcHRpb24gdG8gZW5hYmxl IHRoZSBzeXN0ZW0gZG1hYnVmIGhlYXAuIFRoZSBzeXN0ZW0gaGVhcAorCSAgaXMgYmFja2VkIGJ5 IHBhZ2VzIGZyb20gdGhlIGJ1ZGR5IGFsbG9jYXRvci4gSWYgaW4gZG91YnQsIHNheSBZLgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9kbWEtYnVmL2hlYXBzL01ha2VmaWxlIGIvZHJpdmVycy9kbWEtYnVm L2hlYXBzL01ha2VmaWxlCmluZGV4IGRlNDk4OTgxMTJkYi4uZDE4MDhlY2EyNTgxIDEwMDY0NAot LS0gYS9kcml2ZXJzL2RtYS1idWYvaGVhcHMvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9kbWEtYnVm L2hlYXBzL01ha2VmaWxlCkBAIC0xLDIgKzEsMyBAQAogIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMAogb2JqLXkJCQkJCSs9IGhlYXAtaGVscGVycy5vCitvYmotJChDT05GSUdfRE1B QlVGX0hFQVBTX1NZU1RFTSkJKz0gc3lzdGVtX2hlYXAubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9k bWEtYnVmL2hlYXBzL3N5c3RlbV9oZWFwLmMgYi9kcml2ZXJzL2RtYS1idWYvaGVhcHMvc3lzdGVt X2hlYXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjVlM2ViMWZi M2JjZAotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZG1hLWJ1Zi9oZWFwcy9zeXN0ZW1faGVh cC5jCkBAIC0wLDAgKzEsMTIzIEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MAorLyoKKyAqIERNQUJVRiBTeXN0ZW0gaGVhcCBleHBvcnRlcgorICoKKyAqIENvcHlyaWdodCAo QykgMjAxMSBHb29nbGUsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAxOSBMaW5hcm8gTHRkLgor ICovCisKKyNpbmNsdWRlIDxhc20vcGFnZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1idWYuaD4K KyNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1oZWFw Lmg+CisjaW5jbHVkZSA8bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgor I2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KKyNp bmNsdWRlIDxsaW51eC9zbGFiLmg+CisKKyNpbmNsdWRlICJoZWFwLWhlbHBlcnMuaCIKKworc3Ry dWN0IHN5c3RlbV9oZWFwIHsKKwlzdHJ1Y3QgZG1hX2hlYXAgKmhlYXA7Cit9IHN5c19oZWFwOwor CitzdGF0aWMgdm9pZCBzeXN0ZW1faGVhcF9mcmVlKHN0cnVjdCBoZWFwX2hlbHBlcl9idWZmZXIg KmJ1ZmZlcikKK3sKKwlwZ29mZl90IHBnOworCisJZm9yIChwZyA9IDA7IHBnIDwgYnVmZmVyLT5w YWdlY291bnQ7IHBnKyspCisJCV9fZnJlZV9wYWdlKGJ1ZmZlci0+cGFnZXNbcGddKTsKKwlrZnJl ZShidWZmZXItPnBhZ2VzKTsKKwlrZnJlZShidWZmZXIpOworfQorCitzdGF0aWMgaW50IHN5c3Rl bV9oZWFwX2FsbG9jYXRlKHN0cnVjdCBkbWFfaGVhcCAqaGVhcCwKKwkJCQl1bnNpZ25lZCBsb25n IGxlbiwKKwkJCQl1bnNpZ25lZCBsb25nIGZkX2ZsYWdzLAorCQkJCXVuc2lnbmVkIGxvbmcgaGVh cF9mbGFncykKK3sKKwlzdHJ1Y3QgaGVhcF9oZWxwZXJfYnVmZmVyICpoZWxwZXJfYnVmZmVyOwor CXN0cnVjdCBkbWFfYnVmICpkbWFidWY7CisJaW50IHJldCA9IC1FTk9NRU07CisJcGdvZmZfdCBw ZzsKKworCWhlbHBlcl9idWZmZXIgPSBremFsbG9jKHNpemVvZigqaGVscGVyX2J1ZmZlciksIEdG UF9LRVJORUwpOworCWlmICghaGVscGVyX2J1ZmZlcikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlp bml0X2hlYXBfaGVscGVyX2J1ZmZlcihoZWxwZXJfYnVmZmVyLCBzeXN0ZW1faGVhcF9mcmVlKTsK KwloZWxwZXJfYnVmZmVyLT5oZWFwX2J1ZmZlci5mbGFncyA9IGhlYXBfZmxhZ3M7CisJaGVscGVy X2J1ZmZlci0+aGVhcF9idWZmZXIuaGVhcCA9IGhlYXA7CisJaGVscGVyX2J1ZmZlci0+aGVhcF9i dWZmZXIuc2l6ZSA9IGxlbjsKKworCWhlbHBlcl9idWZmZXItPnBhZ2Vjb3VudCA9IGxlbiAvIFBB R0VfU0laRTsKKwloZWxwZXJfYnVmZmVyLT5wYWdlcyA9IGttYWxsb2NfYXJyYXkoaGVscGVyX2J1 ZmZlci0+cGFnZWNvdW50LAorCQkJCQkgICAgIHNpemVvZigqaGVscGVyX2J1ZmZlci0+cGFnZXMp LAorCQkJCQkgICAgIEdGUF9LRVJORUwpOworCWlmICghaGVscGVyX2J1ZmZlci0+cGFnZXMpIHsK KwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBlcnIwOworCX0KKworCWZvciAocGcgPSAwOyBwZyA8 IGhlbHBlcl9idWZmZXItPnBhZ2Vjb3VudDsgcGcrKykgeworCQkvKgorCQkgKiBBdm9pZCB0cnlp bmcgdG8gYWxsb2NhdGUgbWVtb3J5IGlmIHRoZSBwcm9jZXNzCisJCSAqIGhhcyBiZWVuIGtpbGxl ZCBieSBieSBTSUdLSUxMCisJCSAqLworCQlpZiAoZmF0YWxfc2lnbmFsX3BlbmRpbmcoY3VycmVu dCkpCisJCQlnb3RvIGVycjE7CisKKwkJaGVscGVyX2J1ZmZlci0+cGFnZXNbcGddID0gYWxsb2Nf cGFnZShHRlBfS0VSTkVMIHwgX19HRlBfWkVSTyk7CisJCWlmICghaGVscGVyX2J1ZmZlci0+cGFn ZXNbcGddKQorCQkJZ290byBlcnIxOworCX0KKworCS8qIGNyZWF0ZSB0aGUgZG1hYnVmICovCisJ ZG1hYnVmID0gaGVhcF9oZWxwZXJfZXhwb3J0X2RtYWJ1ZihoZWxwZXJfYnVmZmVyLCBmZF9mbGFn cyk7CisJaWYgKElTX0VSUihkbWFidWYpKSB7CisJCXJldCA9IFBUUl9FUlIoZG1hYnVmKTsKKwkJ Z290byBlcnIxOworCX0KKworCWhlbHBlcl9idWZmZXItPmhlYXBfYnVmZmVyLmRtYWJ1ZiA9IGRt YWJ1ZjsKKworCXJldCA9IGRtYV9idWZfZmQoZG1hYnVmLCBmZF9mbGFncyk7CisJaWYgKHJldCA8 IDApIHsKKwkJZG1hX2J1Zl9wdXQoZG1hYnVmKTsKKwkJLyoganVzdCByZXR1cm4sIGFzIHB1dCB3 aWxsIGNhbGwgcmVsZWFzZSBhbmQgdGhhdCB3aWxsIGZyZWUgKi8KKwkJcmV0dXJuIHJldDsKKwl9 CisKKwlyZXR1cm4gcmV0OworCitlcnIxOgorCXdoaWxlIChwZyA+IDApCisJCV9fZnJlZV9wYWdl KGhlbHBlcl9idWZmZXItPnBhZ2VzWy0tcGddKTsKKwlrZnJlZShoZWxwZXJfYnVmZmVyLT5wYWdl cyk7CitlcnIwOgorCWtmcmVlKGhlbHBlcl9idWZmZXIpOworCisJcmV0dXJuIC1FTk9NRU07Cit9 CisKK3N0YXRpYyBzdHJ1Y3QgZG1hX2hlYXBfb3BzIHN5c3RlbV9oZWFwX29wcyA9IHsKKwkuYWxs b2NhdGUgPSBzeXN0ZW1faGVhcF9hbGxvY2F0ZSwKK307CisKK3N0YXRpYyBpbnQgc3lzdGVtX2hl YXBfY3JlYXRlKHZvaWQpCit7CisJc3RydWN0IGRtYV9oZWFwX2V4cG9ydF9pbmZvIGV4cF9pbmZv OworCWludCByZXQgPSAwOworCisJZXhwX2luZm8ubmFtZSA9ICJzeXN0ZW1faGVhcCI7CisJZXhw X2luZm8ub3BzID0gJnN5c3RlbV9oZWFwX29wczsKKwlleHBfaW5mby5wcml2ID0gJnN5c19oZWFw OworCisJc3lzX2hlYXAuaGVhcCA9IGRtYV9oZWFwX2FkZCgmZXhwX2luZm8pOworCWlmIChJU19F UlIoc3lzX2hlYXAuaGVhcCkpCisJCXJldCA9IFBUUl9FUlIoc3lzX2hlYXAuaGVhcCk7CisKKwly ZXR1cm4gcmV0OworfQorZGV2aWNlX2luaXRjYWxsKHN5c3RlbV9oZWFwX2NyZWF0ZSk7Ci0tIAoy LjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==