From mboxrd@z Thu Jan 1 00:00:00 1970 From: Qiang Yu Subject: [PATCH RFC 19/24] drm/lima: add buffer object functions Date: Fri, 18 May 2018 17:28:10 +0800 Message-ID: <20180518092815.25280-20-yuq825@gmail.com> References: <20180518092815.25280-1-yuq825@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180518092815.25280-1-yuq825@gmail.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, devicetree@vger.kernel.org Cc: Simon Shields , Marek Vasut , Connor Abbott , Neil Armstrong , Andrei Paulau <7134956@gmail.com>, Vasily Khoruzhick , Qiang Yu , Erico Nunes List-Id: devicetree@vger.kernel.org U2lnbmVkLW9mZi1ieTogUWlhbmcgWXUgPHl1cTgyNUBnbWFpbC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2xpbWEvbGltYV9vYmplY3QuYyB8IDEyMCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogZHJpdmVycy9ncHUvZHJtL2xpbWEvbGltYV9vYmplY3QuaCB8ICA4NyArKysrKysrKysr KysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMjA3IGluc2VydGlvbnMoKykKIGNyZWF0ZSBt b2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vbGltYS9saW1hX29iamVjdC5jCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2xpbWEvbGltYV9vYmplY3QuaAoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9saW1hL2xpbWFfb2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vbGlt YS9saW1hX29iamVjdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u NWEyMmIyMzU2MjZiCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2xpbWEvbGlt YV9vYmplY3QuYwpAQCAtMCwwICsxLDEyMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNy0y MDE4IExpbWEgUHJvamVjdAorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMg c29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2Fy ZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5j bHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v ZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Ig c2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hv bSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUg Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBj b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRI RSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL SU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP IFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAor ICogVEhFIENPUFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5Z IENMQUlNLCBEQU1BR0VTIE9SCisgKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNU SU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwKKyAqIEFSSVNJTkcgRlJPTSwgT1VU IE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUgorICog T1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlIDxkcm0vZHJt X3ByaW1lLmg+CisKKyNpbmNsdWRlICJsaW1hX29iamVjdC5oIgorCitzdGF0aWMgdm9pZCBsaW1h X2JvX2luaXRfcGxhY2VtZW50KHN0cnVjdCBsaW1hX2JvICpibykKK3sKKwlzdHJ1Y3QgdHRtX3Bs YWNlbWVudCAqcGxhY2VtZW50ID0gJmJvLT5wbGFjZW1lbnQ7CisJc3RydWN0IHR0bV9wbGFjZSAq cGxhY2UgPSAmYm8tPnBsYWNlOworCisJcGxhY2UtPmZwZm4gPSAwOworCXBsYWNlLT5scGZuID0g MDsKKwlwbGFjZS0+ZmxhZ3MgPSBUVE1fUExfRkxBR19UVCB8IFRUTV9QTF9GTEFHX1dDOworCisJ LyogcGluIGFsbCBibyBmb3Igbm93ICovCisJcGxhY2UtPmZsYWdzIHw9IFRUTV9QTF9GTEFHX05P X0VWSUNUOworCisJcGxhY2VtZW50LT5udW1fcGxhY2VtZW50ID0gMTsKKwlwbGFjZW1lbnQtPnBs YWNlbWVudCA9IHBsYWNlOworCisJcGxhY2VtZW50LT5udW1fYnVzeV9wbGFjZW1lbnQgPSAxOwor CXBsYWNlbWVudC0+YnVzeV9wbGFjZW1lbnQgPSBwbGFjZTsKK30KKworc3RhdGljIHZvaWQgbGlt YV9ib19kZXN0cm95KHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqdGJvKQoreworCXN0cnVjdCBs aW1hX2JvICpibyA9IHR0bV90b19saW1hX2JvKHRibyk7CisKKwlpZiAoYm8tPmdlbS5pbXBvcnRf YXR0YWNoKQorCQlkcm1fcHJpbWVfZ2VtX2Rlc3Ryb3koJmJvLT5nZW0sIGJvLT50Ym8uc2cpOwor CWRybV9nZW1fb2JqZWN0X3JlbGVhc2UoJmJvLT5nZW0pOworCWtmcmVlKGJvKTsKK30KKworc3Ry dWN0IGxpbWFfYm8gKmxpbWFfYm9fY3JlYXRlKHN0cnVjdCBsaW1hX2RldmljZSAqZGV2LCB1NjQg c2l6ZSwKKwkJCSAgICAgICB1MzIgZmxhZ3MsIGVudW0gdHRtX2JvX3R5cGUgdHlwZSwKKwkJCSAg ICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnNnLAorCQkJICAgICAgIHN0cnVjdCByZXNlcnZhdGlvbl9v YmplY3QgKnJlc3YpCit7CisJc3RydWN0IGxpbWFfYm8gKmJvOworCXN0cnVjdCB0dG1fbWVtX3R5 cGVfbWFuYWdlciAqbWFuOworCXNpemVfdCBhY2Nfc2l6ZTsKKwlpbnQgZXJyOworCisJc2l6ZSA9 IFBBR0VfQUxJR04oc2l6ZSk7CisJbWFuID0gZGV2LT5tbWFuLmJkZXYubWFuICsgVFRNX1BMX1RU OworCWlmIChzaXplID49IChtYW4tPnNpemUgPDwgUEFHRV9TSElGVCkpCisJCXJldHVybiBFUlJf UFRSKC1FTk9NRU0pOworCisJYWNjX3NpemUgPSB0dG1fYm9fZG1hX2FjY19zaXplKCZkZXYtPm1t YW4uYmRldiwgc2l6ZSwKKwkJCQkgICAgICAgc2l6ZW9mKHN0cnVjdCBsaW1hX2JvKSk7CisKKwli byA9IGt6YWxsb2Moc2l6ZW9mKCpibyksIEdGUF9LRVJORUwpOworCWlmICghYm8pCisJCXJldHVy biBFUlJfUFRSKC1FTk9NRU0pOworCisJZHJtX2dlbV9wcml2YXRlX29iamVjdF9pbml0KGRldi0+ ZGRldiwgJmJvLT5nZW0sIHNpemUpOworCisJSU5JVF9MSVNUX0hFQUQoJmJvLT52YSk7CisKKwli by0+dGJvLmJkZXYgPSAmZGV2LT5tbWFuLmJkZXY7CisKKwlsaW1hX2JvX2luaXRfcGxhY2VtZW50 KGJvKTsKKworCWVyciA9IHR0bV9ib19pbml0KCZkZXYtPm1tYW4uYmRldiwgJmJvLT50Ym8sIHNp emUsIHR5cGUsCisJCQkgICZiby0+cGxhY2VtZW50LCAwLCB0eXBlICE9IHR0bV9ib190eXBlX2tl cm5lbCwKKwkJCSAgYWNjX3NpemUsIHNnLCByZXN2LCAmbGltYV9ib19kZXN0cm95KTsKKwlpZiAo ZXJyKQorCQlnb3RvIGVycl9vdXQ7CisKKwlyZXR1cm4gYm87CisKK2Vycl9vdXQ6CisJa2ZyZWUo Ym8pOworCXJldHVybiBFUlJfUFRSKGVycik7Cit9CisKK2RtYV9hZGRyX3QgKmxpbWFfYm9fZ2V0 X3BhZ2VzKHN0cnVjdCBsaW1hX2JvICpibykKK3sKKwlzdHJ1Y3QgbGltYV90dG1fdHQgKnR0bSA9 ICh2b2lkICopYm8tPnRiby50dG07CisJcmV0dXJuIHR0bS0+dHRtLmRtYV9hZGRyZXNzOworfQor Cit2b2lkICpsaW1hX2JvX2ttYXAoc3RydWN0IGxpbWFfYm8gKmJvKQoreworCWJvb2wgaXNfaW9t ZW07CisJdm9pZCAqcmV0OworCWludCBlcnI7CisKKwlyZXQgPSB0dG1fa21hcF9vYmpfdmlydHVh bCgmYm8tPmttYXAsICZpc19pb21lbSk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCWVy ciA9IHR0bV9ib19rbWFwKCZiby0+dGJvLCAwLCBiby0+dGJvLm51bV9wYWdlcywgJmJvLT5rbWFw KTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gRVJSX1BUUihlcnIpOworCisJcmV0dXJuIHR0bV9rbWFw X29ial92aXJ0dWFsKCZiby0+a21hcCwgJmlzX2lvbWVtKTsKK30KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9saW1hL2xpbWFfb2JqZWN0LmggYi9kcml2ZXJzL2dwdS9kcm0vbGltYS9saW1h X29iamVjdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMmI4Yjhm Y2I5MDYzCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2xpbWEvbGltYV9vYmpl Y3QuaApAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTggTGlt YSBQcm9qZWN0CisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy ZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisg KiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcg d2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt ZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNv cGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQor ICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dp bmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBv ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRX QVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVY UFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdB UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUg Q09QWVJJR0hUIEhPTERFUihTKSBPUiBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0s IERBTUFHRVMgT1IKKyAqIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg Q09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAorICogQVJJU0lORyBGUk9NLCBPVVQgT0YgT1Ig SU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SCisgKiBPVEhFUiBE RUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKi8KKyNpZm5kZWYgX19MSU1BX09CSkVDVF9IX18K KyNkZWZpbmUgX19MSU1BX09CSkVDVF9IX18KKworI2luY2x1ZGUgPGRybS9kcm1fZ2VtLmg+Cisj aW5jbHVkZSA8ZHJtL3R0bS90dG1fcGxhY2VtZW50Lmg+CisjaW5jbHVkZSA8ZHJtL3R0bS90dG1f Ym9fYXBpLmg+CisKKyNpbmNsdWRlICJsaW1hX2RldmljZS5oIgorCitzdHJ1Y3QgbGltYV9ibyB7 CisJc3RydWN0IGRybV9nZW1fb2JqZWN0IGdlbTsKKworCXN0cnVjdCB0dG1fcGxhY2UgcGxhY2U7 CisJc3RydWN0IHR0bV9wbGFjZW1lbnQgcGxhY2VtZW50OworCXN0cnVjdCB0dG1fYnVmZmVyX29i amVjdCB0Ym87CisJc3RydWN0IHR0bV9ib19rbWFwX29iaiBrbWFwOworCisJc3RydWN0IGxpc3Rf aGVhZCB2YTsKK307CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGxpbWFfYm8gKgordG9fbGltYV9i byhzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaikKK3sKKwlyZXR1cm4gY29udGFpbmVyX29mKG9i aiwgc3RydWN0IGxpbWFfYm8sIGdlbSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGxpbWFf Ym8gKgordHRtX3RvX2xpbWFfYm8oc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICp0Ym8pCit7CisJ cmV0dXJuIGNvbnRhaW5lcl9vZih0Ym8sIHN0cnVjdCBsaW1hX2JvLCB0Ym8pOworfQorCitzdGF0 aWMgaW5saW5lIGludCBsaW1hX2JvX3Jlc2VydmUoc3RydWN0IGxpbWFfYm8gKmJvLCBib29sIGlu dHIpCit7CisJc3RydWN0IGxpbWFfZGV2aWNlICpkZXYgPSB0dG1fdG9fbGltYV9kZXYoYm8tPnRi by5iZGV2KTsKKwlpbnQgcjsKKworCXIgPSB0dG1fYm9fcmVzZXJ2ZSgmYm8tPnRibywgaW50ciwg ZmFsc2UsIE5VTEwpOworCWlmICh1bmxpa2VseShyICE9IDApKSB7CisJCWlmIChyICE9IC1FUkVT VEFSVFNZUykKKwkJCWRldl9lcnIoZGV2LT5kZXYsICIlcCByZXNlcnZlIGZhaWxlZFxuIiwgYm8p OworCQlyZXR1cm4gcjsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBs aW1hX2JvX3VucmVzZXJ2ZShzdHJ1Y3QgbGltYV9ibyAqYm8pCit7CisJdHRtX2JvX3VucmVzZXJ2 ZSgmYm8tPnRibyk7Cit9CisKK3N0cnVjdCBsaW1hX2JvICpsaW1hX2JvX2NyZWF0ZShzdHJ1Y3Qg bGltYV9kZXZpY2UgKmRldiwgdTY0IHNpemUsCisJCQkgICAgICAgdTMyIGZsYWdzLCBlbnVtIHR0 bV9ib190eXBlIHR5cGUsCisJCQkgICAgICAgc3RydWN0IHNnX3RhYmxlICpzZywKKwkJCSAgICAg ICBzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICpyZXN2KTsKKworc3RhdGljIGlubGluZSB2b2lk IGxpbWFfYm9fdW5yZWYoc3RydWN0IGxpbWFfYm8gKmJvKQoreworCXN0cnVjdCB0dG1fYnVmZmVy X29iamVjdCAqdGJvID0gJmJvLT50Ym87CisJdHRtX2JvX3VucmVmKCZ0Ym8pOworfQorCitkbWFf YWRkcl90ICpsaW1hX2JvX2dldF9wYWdlcyhzdHJ1Y3QgbGltYV9ibyAqYm8pOwordm9pZCAqbGlt YV9ib19rbWFwKHN0cnVjdCBsaW1hX2JvICpibyk7CisKKyNlbmRpZgotLSAKMi4xNy4wCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK