From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Stultz Subject: [EARLY RFC][PATCH 4/4] dma-buf: pools: Add CMA pool to dmabuf pools Date: Wed, 20 Feb 2019 23:40:30 -0800 Message-ID: <1550734830-23499-5-git-send-email-john.stultz@linaro.org> References: <1550734830-23499-1-git-send-email-john.stultz@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pg1-x541.google.com (mail-pg1-x541.google.com [IPv6:2607:f8b0:4864:20::541]) by gabe.freedesktop.org (Postfix) with ESMTPS id 106508937C for ; Thu, 21 Feb 2019 07:40:41 +0000 (UTC) Received: by mail-pg1-x541.google.com with SMTP id q206so13371822pgq.4 for ; Wed, 20 Feb 2019 23:40:41 -0800 (PST) In-Reply-To: <1550734830-23499-1-git-send-email-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: Laura Abbott Cc: Chenbo Feng , Alistair Strachan , Liam Mark , "Andrew F . Davis" , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhpcyBhZGRzIGEgQ01BIHBvb2wsIHdoaWNoIGFsbG93cyB1c2Vyc3BhY2UgdG8gYWxsb2NhdGUK YSBkbWEtYnVmIG9mIGNvbnRpZ3VvdXMgbWVtb3J5IG91dCBvZiBhIENNQSByZWdpb24uCgpDYzog TGF1cmEgQWJib3R0IDxsYWJib3R0QHJlZGhhdC5jb20+CkNjOiBCZW5qYW1pbiBHYWlnbmFyZCA8 YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KQ2M6IFN1bWl0IFNlbXdhbCA8c3VtaXQuc2Vt d2FsQGxpbmFyby5vcmc+CkNjOiBMaWFtIE1hcmsgPGxtYXJrQGNvZGVhdXJvcmEub3JnPgpDYzog QnJpYW4gU3RhcmtleSA8QnJpYW4uU3RhcmtleUBhcm0uY29tPgpDYzogQW5kcmV3IEYuIERhdmlz IDxhZmRAdGkuY29tPgpDYzogQ2hlbmJvIEZlbmcgPGZlbmdjQGdvb2dsZS5jb20+CkNjOiBBbGlz dGFpciBTdHJhY2hhbiA8YXN0cmFjaGFuQGdvb2dsZS5jb20+CkNjOiBkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnClNpZ25lZC1vZmYtYnk6IEpvaG4gU3R1bHR6IDxqb2huLnN0dWx0ekBs aW5hcm8ub3JnPgotLS0KIGRyaXZlcnMvZG1hLWJ1Zi9wb29scy9LY29uZmlnICAgIHwgICA4ICsr KwogZHJpdmVycy9kbWEtYnVmL3Bvb2xzL01ha2VmaWxlICAgfCAgIDEgKwogZHJpdmVycy9kbWEt YnVmL3Bvb2xzL2NtYV9wb29sLmMgfCAxNDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDE1MiBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9kbWEtYnVmL3Bvb2xzL2NtYV9wb29sLmMKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2RtYS1idWYvcG9vbHMvS2NvbmZpZyBiL2RyaXZlcnMvZG1hLWJ1Zi9wb29scy9LY29u ZmlnCmluZGV4IDc4N2IyYTYuLmU5ODQzMDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZG1hLWJ1Zi9w b29scy9LY29uZmlnCisrKyBiL2RyaXZlcnMvZG1hLWJ1Zi9wb29scy9LY29uZmlnCkBAIC0xNSwz ICsxNSwxMSBAQCBjb25maWcgRE1BQlVGX1BPT0xTX1NZU1RFTQogCWhlbHAKIAkgIENob29zZSB0 aGlzIG9wdGlvbiB0byBlbmFibGUgdGhlIHN5c3RlbSBkbWFidWYgcG9vbC4gVGhlIHN5c3RlbSBw b29sCiAJICBpcyBiYWNrZWQgYnkgcGFnZXMgZnJvbSB0aGUgYnVkZHkgYWxsb2NhdG9yLiBJZiBp biBkb3VidCwgc2F5IFkuCisKK2NvbmZpZyBETUFCVUZfUE9PTFNfQ01BCisJYm9vbCAiRE1BLUJV RiBDTUEgUG9vbCIKKwlkZXBlbmRzIG9uIERNQUJVRl9QT09MUyAmJiBETUFfQ01BCisJaGVscAor CSAgQ2hvb3NlIHRoaXMgb3B0aW9uIHRvIGVuYWJsZSBkbWEtYnVmIENNQSBwb29scy4gVGhpcyBw b29sIGlzIGJhY2tlZAorCSAgYnkgdGhlIENvbnRpZ3VvdXMgTWVtb3J5IEFsbG9jYXRvciAoQ01B KS4gSWYgeW91ciBzeXN0ZW0gaGFzIHRoZXNlCisJICByZWdpb25zLCB5b3Ugc2hvdWxkIHNheSBZ IGhlcmUuCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvcG9vbHMvTWFrZWZpbGUgYi9kcml2 ZXJzL2RtYS1idWYvcG9vbHMvTWFrZWZpbGUKaW5kZXggMmNjZjJhMS4uYWM4YWEyOCAxMDA2NDQK LS0tIGEvZHJpdmVycy9kbWEtYnVmL3Bvb2xzL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZG1hLWJ1 Zi9wb29scy9NYWtlZmlsZQpAQCAtMSwzICsxLDQgQEAKICMgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAKIG9iai0kKENPTkZJR19ETUFCVUZfUE9PTFMpCQkrPSBkbWFidWYtcG9vbHMu byBwb29sLWlvY3RsLm8gcG9vbC1oZWxwZXJzLm8gcGFnZV9wb29sLm8KIG9iai0kKENPTkZJR19E TUFCVUZfUE9PTFNfU1lTVEVNKQkrPSBzeXN0ZW1fcG9vbC5vCitvYmotJChDT05GSUdfRE1BQlVG X1BPT0xTX0NNQSkJCSs9IGNtYV9wb29sLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZG1hLWJ1Zi9w b29scy9jbWFfcG9vbC5jIGIvZHJpdmVycy9kbWEtYnVmL3Bvb2xzL2NtYV9wb29sLmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJkNzgzZgotLS0gL2Rldi9udWxsCisrKyBi L2RyaXZlcnMvZG1hLWJ1Zi9wb29scy9jbWFfcG9vbC5jCkBAIC0wLDAgKzEsMTQzIEBACisvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAorLyoKKyAqIGRyaXZlcnMvZG1hLWJ1Zi9w b29scy9jbWFfcG9vbC5jCisgKgorICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDE5IExpbmFybyBM dGQuCisgKiBBdXRob3I6IDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPiBmb3IgU1QtRXJp Y3Nzb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4 L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5o PgorI2luY2x1ZGUgPGxpbnV4L2NtYS5oPgorI2luY2x1ZGUgPGxpbnV4L3NjYXR0ZXJsaXN0Lmg+ CisjaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgorCisjaW5jbHVkZSAiZG1hYnVmLXBvb2xzLmgi CisKK3N0cnVjdCBjbWFfcG9vbCB7CisJc3RydWN0IGRtYWJ1Zl9wb29sIHBvb2w7CisJc3RydWN0 IGNtYSAqY21hOworfTsKKworI2RlZmluZSB0b19jbWFfcG9vbCh4KSBjb250YWluZXJfb2YoeCwg c3RydWN0IGNtYV9wb29sLCBwb29sKQorCisvKiBkbWFidWYgcG9vbCBDTUEgb3BlcmF0aW9ucyBm dW5jdGlvbnMgKi8KK3N0YXRpYyBpbnQgY21hX3Bvb2xfYWxsb2NhdGUoc3RydWN0IGRtYWJ1Zl9w b29sICpwb29sLAorCQkJICAgICBzdHJ1Y3QgZG1hYnVmX3Bvb2xfYnVmZmVyICpidWZmZXIsCisJ CQkgICAgIHVuc2lnbmVkIGxvbmcgbGVuLAorCQkJICAgICB1bnNpZ25lZCBsb25nIGZsYWdzKQor eworCXN0cnVjdCBjbWFfcG9vbCAqY21hX3Bvb2wgPSB0b19jbWFfcG9vbChwb29sKTsKKwlzdHJ1 Y3Qgc2dfdGFibGUgKnRhYmxlOworCXN0cnVjdCBwYWdlICpwYWdlczsKKwl1bnNpZ25lZCBsb25n IHNpemUgPSBQQUdFX0FMSUdOKGxlbik7CisJdW5zaWduZWQgbG9uZyBucl9wYWdlcyA9IHNpemUg Pj4gUEFHRV9TSElGVDsKKwl1bnNpZ25lZCBsb25nIGFsaWduID0gZ2V0X29yZGVyKHNpemUpOwor CWludCByZXQ7CisKKwlpZiAoYWxpZ24gPiBDT05GSUdfQ01BX0FMSUdOTUVOVCkKKwkJYWxpZ24g PSBDT05GSUdfQ01BX0FMSUdOTUVOVDsKKworCXBhZ2VzID0gY21hX2FsbG9jKGNtYV9wb29sLT5j bWEsIG5yX3BhZ2VzLCBhbGlnbiwgZmFsc2UpOworCWlmICghcGFnZXMpCisJCXJldHVybiAtRU5P TUVNOworCisJaWYgKFBhZ2VIaWdoTWVtKHBhZ2VzKSkgeworCQl1bnNpZ25lZCBsb25nIG5yX2Ns ZWFyX3BhZ2VzID0gbnJfcGFnZXM7CisJCXN0cnVjdCBwYWdlICpwYWdlID0gcGFnZXM7CisKKwkJ d2hpbGUgKG5yX2NsZWFyX3BhZ2VzID4gMCkgeworCQkJdm9pZCAqdmFkZHIgPSBrbWFwX2F0b21p YyhwYWdlKTsKKworCQkJbWVtc2V0KHZhZGRyLCAwLCBQQUdFX1NJWkUpOworCQkJa3VubWFwX2F0 b21pYyh2YWRkcik7CisJCQlwYWdlKys7CisJCQlucl9jbGVhcl9wYWdlcy0tOworCQl9CisJfSBl bHNlIHsKKwkJbWVtc2V0KHBhZ2VfYWRkcmVzcyhwYWdlcyksIDAsIHNpemUpOworCX0KKworCXRh YmxlID0ga21hbGxvYyhzaXplb2YoKnRhYmxlKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCF0YWJsZSkK KwkJZ290byBlcnI7CisKKwlyZXQgPSBzZ19hbGxvY190YWJsZSh0YWJsZSwgMSwgR0ZQX0tFUk5F TCk7CisJaWYgKHJldCkKKwkJZ290byBmcmVlX21lbTsKKworCXNnX3NldF9wYWdlKHRhYmxlLT5z Z2wsIHBhZ2VzLCBzaXplLCAwKTsKKworCWJ1ZmZlci0+cHJpdl92aXJ0ID0gcGFnZXM7CisJYnVm ZmVyLT5zZ190YWJsZSA9IHRhYmxlOworCXJldHVybiAwOworCitmcmVlX21lbToKKwlrZnJlZSh0 YWJsZSk7CitlcnI6CisJY21hX3JlbGVhc2UoY21hX3Bvb2wtPmNtYSwgcGFnZXMsIG5yX3BhZ2Vz KTsKKwlyZXR1cm4gLUVOT01FTTsKK30KKworc3RhdGljIHZvaWQgY21hX3Bvb2xfZnJlZShzdHJ1 Y3QgZG1hYnVmX3Bvb2xfYnVmZmVyICpidWZmZXIpCit7CisJc3RydWN0IGNtYV9wb29sICpjbWFf cG9vbCA9IHRvX2NtYV9wb29sKGJ1ZmZlci0+cG9vbCk7CisJc3RydWN0IHBhZ2UgKnBhZ2VzID0g YnVmZmVyLT5wcml2X3ZpcnQ7CisJdW5zaWduZWQgbG9uZyBucl9wYWdlcyA9IFBBR0VfQUxJR04o YnVmZmVyLT5zaXplKSA+PiBQQUdFX1NISUZUOworCisJLyogcmVsZWFzZSBtZW1vcnkgKi8KKwlj bWFfcmVsZWFzZShjbWFfcG9vbC0+Y21hLCBwYWdlcywgbnJfcGFnZXMpOworCS8qIHJlbGVhc2Ug c2cgdGFibGUgKi8KKwlzZ19mcmVlX3RhYmxlKGJ1ZmZlci0+c2dfdGFibGUpOworCWtmcmVlKGJ1 ZmZlci0+c2dfdGFibGUpOworfQorCitzdGF0aWMgc3RydWN0IGRtYWJ1Zl9wb29sX29wcyBjbWFf cG9vbF9vcHMgPSB7CisJLmFsbG9jYXRlID0gY21hX3Bvb2xfYWxsb2NhdGUsCisJLmZyZWUgPSBj bWFfcG9vbF9mcmVlLAorCS5tYXBfdXNlciA9IGRtYWJ1Zl9wb29sX21hcF91c2VyLAorCS5tYXBf a2VybmVsID0gZG1hYnVmX3Bvb2xfbWFwX2tlcm5lbCwKKwkudW5tYXBfa2VybmVsID0gZG1hYnVm X3Bvb2xfdW5tYXBfa2VybmVsLAorfTsKKworc3RhdGljIHN0cnVjdCBkbWFidWZfcG9vbCAqX19j bWFfcG9vbF9jcmVhdGUoc3RydWN0IGNtYSAqY21hKQoreworCXN0cnVjdCBjbWFfcG9vbCAqY21h X3Bvb2w7CisKKwljbWFfcG9vbCA9IGt6YWxsb2Moc2l6ZW9mKCpjbWFfcG9vbCksIEdGUF9LRVJO RUwpOworCisJaWYgKCFjbWFfcG9vbCkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisKKwlj bWFfcG9vbC0+cG9vbC5vcHMgPSAmY21hX3Bvb2xfb3BzOworCS8qCisJICogZ2V0IGRldmljZSBm cm9tIHByaXZhdGUgcG9vbHMgZGF0YSwgbGF0ZXIgaXQgd2lsbCBiZQorCSAqIHVzZWQgdG8gbWFr ZSB0aGUgbGluayB3aXRoIHJlc2VydmVkIENNQSBtZW1vcnkKKwkgKi8KKwljbWFfcG9vbC0+Y21h ID0gY21hOworCXJldHVybiAmY21hX3Bvb2wtPnBvb2w7Cit9CisKK3N0YXRpYyBpbnQgX19hZGRf Y21hX3Bvb2xzKHN0cnVjdCBjbWEgKmNtYSwgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgZG1hYnVm X3Bvb2wgKnBvb2w7CisKKwlwb29sID0gX19jbWFfcG9vbF9jcmVhdGUoY21hKTsKKwlpZiAoSVNf RVJSKHBvb2wpKQorCQlyZXR1cm4gUFRSX0VSUihwb29sKTsKKworCXBvb2wtPm5hbWUgPSBjbWFf Z2V0X25hbWUoY21hKTsKKworCWRtYWJ1Zl9wb29sX2FkZChwb29sKTsKKworCXJldHVybiAwOwor fQorCitzdGF0aWMgaW50IGFkZF9jbWFfcG9vbHModm9pZCkKK3sKKwljbWFfZm9yX2VhY2hfYXJl YShfX2FkZF9jbWFfcG9vbHMsIE5VTEwpOworCXJldHVybiAwOworfQorZGV2aWNlX2luaXRjYWxs KGFkZF9jbWFfcG9vbHMpOwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbA==