From mboxrd@z Thu Jan 1 00:00:00 1970 From: Felix Kuehling Subject: [PATCH 6/6] drm/amdgpu: enable foreign DMA-buf objects v2 Date: Wed, 12 Jul 2017 01:29:27 -0400 Message-ID: <1499837367-8368-7-git-send-email-Felix.Kuehling@amd.com> References: <1499837367-8368-1-git-send-email-Felix.Kuehling@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1499837367-8368-1-git-send-email-Felix.Kuehling-5C7GfCeVMHo@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Felix Kuehling , =?UTF-8?q?Christian=20K=C3=B6nig?= , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKV2Ugc2hv dWxkIGJlIGFibGUgdG8gaGFuZGxlIEJPcyBmcm9tIG90aGVyIGluc3RhbmNlcyBhcyB3ZWxsLgoK djI6CiogQWRkIGEgbW9kdWxlIG9wdGlvbiB0aGF0IGlzIG9mZi1ieS1kZWZhdWx0CiogVXNlIG5l dyBEUk0gaGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIHRoZSBleHBvcnRpbmcgZHJpdmVyCgpTaWdu ZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+ClNp Z25lZC1vZmYtYnk6IEZlbGl4IEt1ZWhsaW5nIDxGZWxpeC5LdWVobGluZ0BhbWQuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oICAgICAgIHwgIDQgKysrCiBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMgICB8ICA2ICsrKy0KIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wcmltZS5jIHwgNjAgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA2OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAppbmRleCA5ZmEzY2VlLi40NmQ5 YWViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaApAQCAtMTI5LDYgKzEyOSw4IEBA CiBleHRlcm4gaW50IGFtZGdwdV9jaWtfc3VwcG9ydDsKICNlbmRpZgogCitleHRlcm4gaW50IGFt ZGdwdV9wMnBfc2hhcmluZzsKKwogI2RlZmluZSBBTURHUFVfREVGQVVMVF9HVFRfU0laRV9NQgkJ MzA3MlVMTCAvKiAzR0IgYnkgZGVmYXVsdCAqLwogI2RlZmluZSBBTURHUFVfV0FJVF9JRExFX1RJ TUVPVVRfSU5fTVMJICAgICAgICAzMDAwCiAjZGVmaW5lIEFNREdQVV9NQVhfVVNFQ19USU1FT1VU CQkJMTAwMDAwCS8qIDEwMCBtcyAqLwpAQCAtNDcxLDYgKzQ3Myw4IEBAIHN0cnVjdCBkcm1fZ2Vt X29iamVjdCAqCiBzdHJ1Y3QgZG1hX2J1ZiAqYW1kZ3B1X2dlbV9wcmltZV9leHBvcnQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIAkJCQkJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnb2JqLAogCQkJ CQlpbnQgZmxhZ3MpOworc3RydWN0IGRybV9nZW1fb2JqZWN0ICphbWRncHVfZ2VtX3ByaW1lX2lt cG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJCQkgICAgICAgc3RydWN0IGRtYV9idWYg KmRtYV9idWYpOwogaW50IGFtZGdwdV9nZW1fcHJpbWVfcGluKHN0cnVjdCBkcm1fZ2VtX29iamVj dCAqb2JqKTsKIHZvaWQgYW1kZ3B1X2dlbV9wcmltZV91bnBpbihzdHJ1Y3QgZHJtX2dlbV9vYmpl Y3QgKm9iaik7CiBzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICphbWRncHVfZ2VtX3ByaW1lX3Jl c19vYmooc3RydWN0IGRybV9nZW1fb2JqZWN0ICopOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2Rydi5jCmluZGV4IDJjZGY4NDQuLmFiMDA4NjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfZHJ2LmMKQEAgLTEyMCw2ICsxMjAsNyBAQAogaW50IGFtZGdwdV9wYXJh bV9idWZfcGVyX3NlID0gMDsKIGludCBhbWRncHVfam9iX2hhbmdfbGltaXQgPSAwOwogaW50IGFt ZGdwdV9sYnB3ID0gLTE7CitpbnQgYW1kZ3B1X3AycF9zaGFyaW5nID0gMDsKIAogTU9EVUxFX1BB Uk1fREVTQyh2cmFtbGltaXQsICJSZXN0cmljdCBWUkFNIGZvciB0ZXN0aW5nLCBpbiBtZWdhYnl0 ZXMiKTsKIG1vZHVsZV9wYXJhbV9uYW1lZCh2cmFtbGltaXQsIGFtZGdwdV92cmFtX2xpbWl0LCBp bnQsIDA2MDApOwpAQCAtMjg5LDYgKzI5MCw5IEBACiBtb2R1bGVfcGFyYW1fbmFtZWQoY2lrX3N1 cHBvcnQsIGFtZGdwdV9jaWtfc3VwcG9ydCwgaW50LCAwNDQ0KTsKICNlbmRpZgogCitNT0RVTEVf UEFSTV9ERVNDKHAycF9zaGFyaW5nLCAiRW5hYmxlIFAyUCBidWZmZXIgc2hhcmluZyAoMSA9IGVu YWJsZWQsIDAgPSBkaXNhYmxlZCAoZGVmYXVsdCkpIik7Cittb2R1bGVfcGFyYW1fbmFtZWQocDJw X3NoYXJpbmcsIGFtZGdwdV9wMnBfc2hhcmluZywgaW50LCAwNDQ0KTsKKwogCiBzdGF0aWMgY29u c3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgcGNpaWRsaXN0W10gPSB7CiAjaWZkZWYgIENPTkZJR19E Uk1fQU1ER1BVX1NJCkBAIC04MzUsNyArODM5LDcgQEAgbG9uZyBhbWRncHVfZHJtX2lvY3RsKHN0 cnVjdCBmaWxlICpmaWxwLAogCS5wcmltZV9oYW5kbGVfdG9fZmQgPSBkcm1fZ2VtX3ByaW1lX2hh bmRsZV90b19mZCwKIAkucHJpbWVfZmRfdG9faGFuZGxlID0gZHJtX2dlbV9wcmltZV9mZF90b19o YW5kbGUsCiAJLmdlbV9wcmltZV9leHBvcnQgPSBhbWRncHVfZ2VtX3ByaW1lX2V4cG9ydCwKLQku Z2VtX3ByaW1lX2ltcG9ydCA9IGRybV9nZW1fcHJpbWVfaW1wb3J0LAorCS5nZW1fcHJpbWVfaW1w b3J0ID0gYW1kZ3B1X2dlbV9wcmltZV9pbXBvcnQsCiAJLmdlbV9wcmltZV9waW4gPSBhbWRncHVf Z2VtX3ByaW1lX3BpbiwKIAkuZ2VtX3ByaW1lX3VucGluID0gYW1kZ3B1X2dlbV9wcmltZV91bnBp biwKIAkuZ2VtX3ByaW1lX3Jlc19vYmogPSBhbWRncHVfZ2VtX3ByaW1lX3Jlc19vYmosCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcHJpbWUuYyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wcmltZS5jCmluZGV4IGI5NDI1ZWQuLjIxYTM0 YmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wcmltZS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wcmltZS5jCkBAIC0xNTks MyArMTU5LDYzIEBAIHN0cnVjdCBkbWFfYnVmICphbWRncHVfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAogCiAJcmV0dXJuIGRybV9nZW1fcHJpbWVfZXhwb3J0KGRldiwg Z29iaiwgZmxhZ3MpOwogfQorCitzdGF0aWMgc3RydWN0IGRybV9nZW1fb2JqZWN0ICoKK2FtZGdw dV9nZW1fcHJpbWVfZm9yZWlnbl9ibyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0 IGFtZGdwdV9ibyAqYm8pCit7CisJc3RydWN0IGFtZGdwdV9nZW1fb2JqZWN0ICpnb2JqOworCWlu dCByOworCisJd3dfbXV0ZXhfbG9jaygmYm8tPnRiby5yZXN2LT5sb2NrLCBOVUxMKTsKKworCWxp c3RfZm9yX2VhY2hfZW50cnkoZ29iaiwgJmJvLT5nZW1fb2JqZWN0cywgbGlzdCkgeworCQlpZiAo Z29iai0+YmFzZS5kZXYgIT0gYWRldi0+ZGRldikKKwkJCWNvbnRpbnVlOworCisJCXd3X211dGV4 X3VubG9jaygmYm8tPnRiby5yZXN2LT5sb2NrKTsKKwkJZHJtX2dlbV9vYmplY3RfcmVmZXJlbmNl KCZnb2JqLT5iYXNlKTsKKwkJcmV0dXJuICZnb2JqLT5iYXNlOworCX0KKworCisJZ29iaiA9IGt6 YWxsb2Moc2l6ZW9mKHN0cnVjdCBhbWRncHVfZ2VtX29iamVjdCksIEdGUF9LRVJORUwpOworCWlm ICh1bmxpa2VseSghZ29iaikpIHsKKwkJd3dfbXV0ZXhfdW5sb2NrKCZiby0+dGJvLnJlc3YtPmxv Y2spOworCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKwl9CisKKwlyID0gZHJtX2dlbV9vYmpl Y3RfaW5pdChhZGV2LT5kZGV2LCAmZ29iai0+YmFzZSwgYW1kZ3B1X2JvX3NpemUoYm8pKTsKKwlp ZiAodW5saWtlbHkocikpIHsKKwkJa2ZyZWUoZ29iaik7CisJCXd3X211dGV4X3VubG9jaygmYm8t PnRiby5yZXN2LT5sb2NrKTsKKwkJcmV0dXJuIEVSUl9QVFIocik7CisJfQorCisJbGlzdF9hZGQo JmdvYmotPmxpc3QsICZiby0+Z2VtX29iamVjdHMpOworCWdvYmotPmJvID0gYW1kZ3B1X2JvX3Jl Zihibyk7CisJYm8tPmZsYWdzIHw9IEFNREdQVV9HRU1fQ1JFQVRFX0NQVV9BQ0NFU1NfUkVRVUlS RUQ7CisKKwl3d19tdXRleF91bmxvY2soJmJvLT50Ym8ucmVzdi0+bG9jayk7CisKKwlyZXR1cm4g JmdvYmotPmJhc2U7Cit9CisKK3N0cnVjdCBkcm1fZ2VtX29iamVjdCAqYW1kZ3B1X2dlbV9wcmlt ZV9pbXBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCQkJICAgICAgIHN0cnVjdCBkbWFf YnVmICpkbWFfYnVmKQoreworCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKKworCWlmIChhbWRncHVfcDJwX3NoYXJpbmcpIHsKKwkJc3RydWN0IGRybV9nZW1f b2JqZWN0ICpvYmogPQorCQkJZHJtX2dlbV9wcmltZV9kbWFidWZfdG9fb2JqZWN0KGRtYV9idWYs IGRldi0+ZHJpdmVyKTsKKworCQlpZiAob2JqICYmIG9iai0+ZGV2ICE9IGRldikgeworCQkJLyog SXQncyBhIGFtZGdwdV9ibyBmcm9tIGEgZGlmZmVyZW50IGRyaXZlciBpbnN0YW5jZSAqLworCQkJ c3RydWN0IGFtZGdwdV9ibyAqYm8gPSBnZW1fdG9fYW1kZ3B1X2JvKG9iaik7CisKKwkJCXJldHVy biBhbWRncHVfZ2VtX3ByaW1lX2ZvcmVpZ25fYm8oYWRldiwgYm8pOworCQl9CisJfQorCisJcmV0 dXJuIGRybV9nZW1fcHJpbWVfaW1wb3J0KGRldiwgZG1hX2J1Zik7Cit9Ci0tIAoxLjkuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWls aW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==