From mboxrd@z Thu Jan 1 00:00:00 1970 From: "=?UTF-8?q?Christian=20K=C3=B6nig?=" Subject: [PATCH 02/12] dma-buf: add explicit buffer pinning v2 Date: Fri, 26 Apr 2019 14:36:28 +0200 Message-ID: <20190426123638.40221-2-christian.koenig@amd.com> References: <20190426123638.40221-1-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by gabe.freedesktop.org (Postfix) with ESMTPS id BDE8C89231 for ; Fri, 26 Apr 2019 12:36:42 +0000 (UTC) Received: by mail-wm1-x344.google.com with SMTP id n25so4184396wmk.4 for ; Fri, 26 Apr 2019 05:36:42 -0700 (PDT) Received: from abel.fritz.box ([2a02:908:1252:fb60:5545:e552:48cc:b52f]) by smtp.gmail.com with ESMTPSA id y125sm37196159wmc.39.2019.04.26.05.36.40 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 26 Apr 2019 05:36:40 -0700 (PDT) In-Reply-To: <20190426123638.40221-1-christian.koenig@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org QWRkIG9wdGlvbmFsIGV4cGxpY2l0IHBpbm5pbmcgY2FsbGJhY2tzIGluc3RlYWQgb2YgaW1wbGlj aXRseSBhc3N1bWUgdGhlCmV4cG9ydGVyIHBpbnMgdGhlIGJ1ZmZlciB3aGVuIGEgbWFwcGluZyBp cyBjcmVhdGVkLgoKdjI6IG1vdmUgaW4gcGF0Y2hzZXQgYW5kIHBpbiB0aGUgZG1hLWJ1ZiBpbiB0 aGUgb2xkIG1hcHBpbmcgY29kZSBwYXRocy4KClNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7Zu aWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2RtYS1idWYvZG1hLWJ1 Zi5jIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBpbmNsdWRl L2xpbnV4L2RtYS1idWYuaCAgIHwgMzggKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiAy IGZpbGVzIGNoYW5nZWQsIDgwIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9kbWEtYnVmL2RtYS1idWYuYyBiL2RyaXZlcnMvZG1hLWJ1Zi9kbWEtYnVm LmMKaW5kZXggNTBiNGM2YWYwNGM3Li4wNjU2ZGNmMjg5YmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv ZG1hLWJ1Zi9kbWEtYnVmLmMKKysrIGIvZHJpdmVycy9kbWEtYnVmL2RtYS1idWYuYwpAQCAtNTI5 LDYgKzUyOSw0MSBAQCB2b2lkIGRtYV9idWZfcHV0KHN0cnVjdCBkbWFfYnVmICpkbWFidWYpCiB9 CiBFWFBPUlRfU1lNQk9MX0dQTChkbWFfYnVmX3B1dCk7CiAKKy8qKgorICogZG1hX2J1Zl9waW4g LSBMb2NrIGRvd24gdGhlIERNQS1idWYKKyAqCisgKiBAZG1hYnVmOglbaW5dCURNQS1idWYgdG8g bG9jayBkb3duLgorICoKKyAqIFJldHVybnM6CisgKiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVy cm9yIGNvZGUgb24gZmFpbHVyZS4KKyAqLworaW50IGRtYV9idWZfcGluKHN0cnVjdCBkbWFfYnVm ICpkbWFidWYpCit7CisJaW50IHJldCA9IDA7CisKKwlyZXNlcnZhdGlvbl9vYmplY3RfYXNzZXJ0 X2hlbGQoZG1hYnVmLT5yZXN2KTsKKworCWlmIChkbWFidWYtPm9wcy0+cGluKQorCQlyZXQgPSBk bWFidWYtPm9wcy0+cGluKGRtYWJ1Zik7CisKKwlyZXR1cm4gcmV0OworfQorRVhQT1JUX1NZTUJP TF9HUEwoZG1hX2J1Zl9waW4pOworCisvKioKKyAqIGRtYV9idWZfdW5waW4gLSBSZW1vdmUgbG9j ayBmcm9tIERNQS1idWYKKyAqCisgKiBAZG1hYnVmOglbaW5dCURNQS1idWYgdG8gdW5sb2NrLgor ICovCit2b2lkIGRtYV9idWZfdW5waW4oc3RydWN0IGRtYV9idWYgKmRtYWJ1ZikKK3sKKwlyZXNl cnZhdGlvbl9vYmplY3RfYXNzZXJ0X2hlbGQoZG1hYnVmLT5yZXN2KTsKKworCWlmIChkbWFidWYt Pm9wcy0+dW5waW4pCisJCWRtYWJ1Zi0+b3BzLT51bnBpbihkbWFidWYpOworfQorRVhQT1JUX1NZ TUJPTF9HUEwoZG1hX2J1Zl91bnBpbik7CisKIC8qKgogICogZG1hX2J1Zl9hdHRhY2ggLSBBZGQg dGhlIGRldmljZSB0byBkbWFfYnVmJ3MgYXR0YWNobWVudHMgbGlzdDsgb3B0aW9uYWxseSwKICAq IGNhbGxzIGF0dGFjaCgpIG9mIGRtYV9idWZfb3BzIHRvIGFsbG93IGRldmljZS1zcGVjaWZpYyBh dHRhY2ggZnVuY3Rpb25hbGl0eQpAQCAtNTQ4LDcgKzU4Myw4IEBAIEVYUE9SVF9TWU1CT0xfR1BM KGRtYV9idWZfcHV0KTsKICAqIGFjY2Vzc2libGUgdG8gQGRldiwgYW5kIGNhbm5vdCBiZSBtb3Zl ZCB0byBhIG1vcmUgc3VpdGFibGUgcGxhY2UuIFRoaXMgaXMKICAqIGluZGljYXRlZCB3aXRoIHRo ZSBlcnJvciBjb2RlIC1FQlVTWS4KICAqLwotc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqZG1h X2J1Zl9hdHRhY2goY29uc3Qgc3RydWN0IGRtYV9idWZfYXR0YWNoX2luZm8gKmluZm8pCitzdHJ1 Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICoKK2RtYV9idWZfYXR0YWNoKGNvbnN0IHN0cnVjdCBkbWFf YnVmX2F0dGFjaF9pbmZvICppbmZvKQogewogCXN0cnVjdCBkbWFfYnVmICpkbWFidWYgPSBpbmZv LT5kbWFidWY7CiAJc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoOwpAQCAtNjI1LDEy ICs2NjEsMTkgQEAgc3RydWN0IHNnX3RhYmxlICpkbWFfYnVmX21hcF9hdHRhY2htZW50KHN0cnVj dCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaCwKIAkJCQkJZW51bSBkbWFfZGF0YV9kaXJlY3Rp b24gZGlyZWN0aW9uKQogewogCXN0cnVjdCBzZ190YWJsZSAqc2dfdGFibGU7CisJaW50IHI7CiAK IAltaWdodF9zbGVlcCgpOwogCiAJaWYgKFdBUk5fT04oIWF0dGFjaCB8fCAhYXR0YWNoLT5kbWFi dWYpKQogCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKIAorCXJlc2VydmF0aW9uX29iamVjdF9s b2NrKGF0dGFjaC0+ZG1hYnVmLT5yZXN2LCBOVUxMKTsKKwlyID0gZG1hX2J1Zl9waW4oYXR0YWNo LT5kbWFidWYpOworCXJlc2VydmF0aW9uX29iamVjdF91bmxvY2soYXR0YWNoLT5kbWFidWYtPnJl c3YpOworCWlmIChyKQorCQlyZXR1cm4gRVJSX1BUUihyKTsKKwogCXNnX3RhYmxlID0gYXR0YWNo LT5kbWFidWYtPm9wcy0+bWFwX2RtYV9idWYoYXR0YWNoLCBkaXJlY3Rpb24pOwogCWlmICghc2df dGFibGUpCiAJCXNnX3RhYmxlID0gRVJSX1BUUigtRU5PTUVNKTsKQEAgLTY2MCw2ICs3MDMsMTAg QEAgdm9pZCBkbWFfYnVmX3VubWFwX2F0dGFjaG1lbnQoc3RydWN0IGRtYV9idWZfYXR0YWNobWVu dCAqYXR0YWNoLAogCiAJYXR0YWNoLT5kbWFidWYtPm9wcy0+dW5tYXBfZG1hX2J1ZihhdHRhY2gs IHNnX3RhYmxlLAogCQkJCQkJZGlyZWN0aW9uKTsKKworCXJlc2VydmF0aW9uX29iamVjdF9sb2Nr KGF0dGFjaC0+ZG1hYnVmLT5yZXN2LCBOVUxMKTsKKwlkbWFfYnVmX3VucGluKGF0dGFjaC0+ZG1h YnVmKTsKKwlyZXNlcnZhdGlvbl9vYmplY3RfdW5sb2NrKGF0dGFjaC0+ZG1hYnVmLT5yZXN2KTsK IH0KIEVYUE9SVF9TWU1CT0xfR1BMKGRtYV9idWZfdW5tYXBfYXR0YWNobWVudCk7CiAKZGlmZiAt LWdpdCBhL2luY2x1ZGUvbGludXgvZG1hLWJ1Zi5oIGIvaW5jbHVkZS9saW51eC9kbWEtYnVmLmgK aW5kZXggMmMzMTJkZmQzMWExLi4wMzIxOTM5YjFjM2QgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGlu dXgvZG1hLWJ1Zi5oCisrKyBiL2luY2x1ZGUvbGludXgvZG1hLWJ1Zi5oCkBAIC01MSw2ICs1MSwz NCBAQCBzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50OwogICogQHZ1bm1hcDogW29wdGlvbmFsXSB1 bm1hcHMgYSB2bWFwIGZyb20gdGhlIGJ1ZmZlcgogICovCiBzdHJ1Y3QgZG1hX2J1Zl9vcHMgewor CS8qKgorCSAqIEBwaW46CisJICoKKwkgKiBUaGlzIGlzIGNhbGxlZCBieSBkbWFfYnVmX3BpbiBh bmQgbGV0cyB0aGUgZXhwb3J0ZXIga25vdyB0aGF0IHRoZQorCSAqIERNQS1idWYgY2FuJ3QgYmUg bW92ZWQgYW55IG1vcmUuCisJICoKKwkgKiBUaGlzIGlzIGNhbGxlZCB3aXRoIHRoZSBkbWFidWYt PnJlc3Ygb2JqZWN0IGxvY2tlZC4KKwkgKgorCSAqIFRoaXMgY2FsbGJhY2sgaXMgb3B0aW9uYWwu CisJICoKKwkgKiBSZXR1cm5zOgorCSAqCisJICogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJv ciBjb2RlIG9uIGZhaWx1cmUuCisJICovCisJaW50ICgqcGluKShzdHJ1Y3QgZG1hX2J1ZiAqKTsK KworCS8qKgorCSAqIEB1bnBpbjoKKwkgKgorCSAqIFRoaXMgaXMgY2FsbGVkIGJ5IGRtYV9idWZf dW5waW4gYW5kIGxldHMgdGhlIGV4cG9ydGVyIGtub3cgdGhhdCB0aGUKKwkgKiBETUEtYnVmIGNh biBiZSBtb3ZlZCBhZ2Fpbi4KKwkgKgorCSAqIFRoaXMgaXMgY2FsbGVkIHdpdGggdGhlIGRtYWJ1 Zi0+cmVzdiBvYmplY3QgbG9ja2VkLgorCSAqCisJICogVGhpcyBjYWxsYmFjayBpcyBvcHRpb25h bC4KKwkgKi8KKwl2b2lkICgqdW5waW4pKHN0cnVjdCBkbWFfYnVmICopOworCiAJLyoqCiAJICog QGF0dGFjaDoKIAkgKgpAQCAtOTUsOSArMTIzLDcgQEAgc3RydWN0IGRtYV9idWZfb3BzIHsKIAkg KgogCSAqIFRoaXMgaXMgY2FsbGVkIGJ5IGRtYV9idWZfbWFwX2F0dGFjaG1lbnQoKSBhbmQgaXMg dXNlZCB0byBtYXAgYQogCSAqIHNoYXJlZCAmZG1hX2J1ZiBpbnRvIGRldmljZSBhZGRyZXNzIHNw YWNlLCBhbmQgaXQgaXMgbWFuZGF0b3J5LiBJdAotCSAqIGNhbiBvbmx5IGJlIGNhbGxlZCBpZiBA YXR0YWNoIGhhcyBiZWVuIGNhbGxlZCBzdWNjZXNzZnVsbHkuIFRoaXMKLQkgKiBlc3NlbnRpYWxs eSBwaW5zIHRoZSBETUEgYnVmZmVyIGludG8gcGxhY2UsIGFuZCBpdCBjYW5ub3QgYmUgbW92ZWQK LQkgKiBhbnkgbW9yZQorCSAqIGNhbiBvbmx5IGJlIGNhbGxlZCBpZiBAYXR0YWNoIGhhcyBiZWVu IGNhbGxlZCBzdWNjZXNzZnVsbHkuCiAJICoKIAkgKiBUaGlzIGNhbGwgbWF5IHNsZWVwLCBlLmcu IHdoZW4gdGhlIGJhY2tpbmcgc3RvcmFnZSBmaXJzdCBuZWVkcyB0byBiZQogCSAqIGFsbG9jYXRl ZCwgb3IgbW92ZWQgdG8gYSBsb2NhdGlvbiBzdWl0YWJsZSBmb3IgYWxsIGN1cnJlbnRseSBhdHRh Y2hlZApAQCAtMTM1LDkgKzE2MSw2IEBAIHN0cnVjdCBkbWFfYnVmX29wcyB7CiAJICoKIAkgKiBU aGlzIGlzIGNhbGxlZCBieSBkbWFfYnVmX3VubWFwX2F0dGFjaG1lbnQoKSBhbmQgc2hvdWxkIHVu bWFwIGFuZAogCSAqIHJlbGVhc2UgdGhlICZzZ190YWJsZSBhbGxvY2F0ZWQgaW4gQG1hcF9kbWFf YnVmLCBhbmQgaXQgaXMgbWFuZGF0b3J5LgotCSAqIEl0IHNob3VsZCBhbHNvIHVucGluIHRoZSBi YWNraW5nIHN0b3JhZ2UgaWYgdGhpcyBpcyB0aGUgbGFzdCBtYXBwaW5nCi0JICogb2YgdGhlIERN QSBidWZmZXIsIGl0IHRoZSBleHBvcnRlciBzdXBwb3J0cyBiYWNraW5nIHN0b3JhZ2UKLQkgKiBt aWdyYXRpb24uCiAJICovCiAJdm9pZCAoKnVubWFwX2RtYV9idWYpKHN0cnVjdCBkbWFfYnVmX2F0 dGFjaG1lbnQgKiwKIAkJCSAgICAgIHN0cnVjdCBzZ190YWJsZSAqLApAQCAtMzg2LDYgKzQwOSw5 IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBnZXRfZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVm KQogCWdldF9maWxlKGRtYWJ1Zi0+ZmlsZSk7CiB9CiAKK2ludCBkbWFfYnVmX3BpbihzdHJ1Y3Qg ZG1hX2J1ZiAqZG1hYnVmKTsKK3ZvaWQgZG1hX2J1Zl91bnBpbihzdHJ1Y3QgZG1hX2J1ZiAqZG1h YnVmKTsKKwogc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqCiBkbWFfYnVmX2F0dGFjaChjb25z dCBzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2hfaW5mbyAqaW5mbyk7CiB2b2lkIGRtYV9idWZfZGV0YWNo KHN0cnVjdCBkbWFfYnVmICpkbWFidWYsCi0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==