From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: [PATCH 3/9] drm/vc4: Add create and map BO ioctls. Date: Tue, 1 Dec 2015 12:35:52 -0800 Message-ID: <1449002158-19156-3-git-send-email-eric@anholt.net> References: <1449002158-19156-1-git-send-email-eric@anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1449002158-19156-1-git-send-email-eric@anholt.net> 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 Cc: linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org V2hpbGUgdGhlcmUgZXhpc3QgZHVtYiBBUElzIGZvciBjcmVhdGluZyBhbmQgbWFwcGluZyBCT3Ms IG9uZSBvZiB0aGUKcnVsZXMgaXMgdGhhdCBkcml2ZXJzIGRvaW5nIDNEIGFjY2VsZXJhdGlvbiBo YXZlIHRvIHByb3ZpZGUgdGhlaXIgb3duCkFQSXMgZm9yIGJ1ZmZlciBhbGxvY2F0aW9uIChiZXNp ZGVzLCB0aGUgcGl0Y2gvaGVpZ2h0IHBhcmFtZXRlcnMgb2YKdGhlIGR1bWIgYWxsb2MgZG9uJ3Qg cmVhbGx5IG1ha2Ugc2Vuc2UgZm9yIGEgbG90IG9mIDNEIGFsbG9jYXRpb25zKS4KClNpZ25lZC1v ZmYtYnk6IEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+Ci0tLQogZHJpdmVycy9ncHUvZHJt L3ZjNC92YzRfYm8uYyAgfCA0MSArKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9n cHUvZHJtL3ZjNC92YzRfZHJ2LmMgfCAgMyArKwogZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHJ2 LmggfCAgNCArKysKIGluY2x1ZGUvdWFwaS9kcm0vS2J1aWxkICAgICAgIHwgIDEgKwogaW5jbHVk ZS91YXBpL2RybS92YzRfZHJtLmggICAgfCA2OCArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDExNyBpbnNlcnRpb25zKCspCiBjcmVh dGUgbW9kZSAxMDA2NDQgaW5jbHVkZS91YXBpL2RybS92YzRfZHJtLmgKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9iby5jIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfYm8u YwppbmRleCAxOGZhYTViLi4wNmNiYTI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0 L3ZjNF9iby5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2JvLmMKQEAgLTE5LDYgKzE5 LDcgQEAKICAqLwogCiAjaW5jbHVkZSAidmM0X2Rydi5oIgorI2luY2x1ZGUgInVhcGkvZHJtL3Zj NF9kcm0uaCIKIAogc3RhdGljIHZvaWQgdmM0X2JvX3N0YXRzX2R1bXAoc3RydWN0IHZjNF9kZXYg KnZjNCkKIHsKQEAgLTM0Niw2ICszNDcsNDYgQEAgc3RhdGljIHZvaWQgdmM0X2JvX2NhY2hlX3Rp bWVfdGltZXIodW5zaWduZWQgbG9uZyBkYXRhKQogCXNjaGVkdWxlX3dvcmsoJnZjNC0+Ym9fY2Fj aGUudGltZV93b3JrKTsKIH0KIAoraW50IHZjNF9jcmVhdGVfYm9faW9jdGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKKwkJCXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQor eworCXN0cnVjdCBkcm1fdmM0X2NyZWF0ZV9ibyAqYXJncyA9IGRhdGE7CisJc3RydWN0IHZjNF9i byAqYm8gPSBOVUxMOworCWludCByZXQ7CisKKwkvKgorCSAqIFdlIGNhbid0IGFsbG9jYXRlIGZy b20gdGhlIEJPIGNhY2hlLCBiZWNhdXNlIHRoZSBCT3MgZG9uJ3QKKwkgKiBnZXQgemVyb2VkLCBh bmQgdGhhdCBtaWdodCBsZWFrIGRhdGEgYmV0d2VlbiB1c2Vycy4KKwkgKi8KKwlibyA9IHZjNF9i b19jcmVhdGUoZGV2LCBhcmdzLT5zaXplLCBmYWxzZSk7CisJaWYgKCFibykKKwkJcmV0dXJuIC1F Tk9NRU07CisKKwlyZXQgPSBkcm1fZ2VtX2hhbmRsZV9jcmVhdGUoZmlsZV9wcml2LCAmYm8tPmJh c2UuYmFzZSwgJmFyZ3MtPmhhbmRsZSk7CisJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2VfdW5s b2NrZWQoJmJvLT5iYXNlLmJhc2UpOworCisJcmV0dXJuIHJldDsKK30KKworaW50IHZjNF9tbWFw X2JvX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCisJCSAgICAgIHN0 cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQoreworCXN0cnVjdCBkcm1fdmM0X21tYXBfYm8gKmFy Z3MgPSBkYXRhOworCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtX29iajsKKworCWdlbV9vYmog PSBkcm1fZ2VtX29iamVjdF9sb29rdXAoZGV2LCBmaWxlX3ByaXYsIGFyZ3MtPmhhbmRsZSk7CisJ aWYgKCFnZW1fb2JqKSB7CisJCURSTV9FUlJPUigiRmFpbGVkIHRvIGxvb2sgdXAgR0VNIEJPICVk XG4iLCBhcmdzLT5oYW5kbGUpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiBUaGUgbW1h cCBvZmZzZXQgd2FzIHNldCB1cCBhdCBCTyBhbGxvY2F0aW9uIHRpbWUuICovCisJYXJncy0+b2Zm c2V0ID0gZHJtX3ZtYV9ub2RlX29mZnNldF9hZGRyKCZnZW1fb2JqLT52bWFfbm9kZSk7CisKKwlk cm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZV91bmxvY2tlZChnZW1fb2JqKTsKKwlyZXR1cm4gMDsK K30KKwogdm9pZCB2YzRfYm9fY2FjaGVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewog CXN0cnVjdCB2YzRfZGV2ICp2YzQgPSB0b192YzRfZGV2KGRldik7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5j CmluZGV4IGRhMDQxZmEuLjVmYTQ2ODggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQv dmM0X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5jCkBAIC0xNiw2ICsx Niw3IEBACiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSAiZHJt X2ZiX2NtYV9oZWxwZXIuaCIKIAorI2luY2x1ZGUgInVhcGkvZHJtL3ZjNF9kcm0uaCIKICNpbmNs dWRlICJ2YzRfZHJ2LmgiCiAjaW5jbHVkZSAidmM0X3JlZ3MuaCIKIApAQCAtNzMsNiArNzQsOCBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB2YzRfZHJtX2ZvcHMgPSB7CiB9 OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pb2N0bF9kZXNjIHZjNF9kcm1faW9jdGxzW10g PSB7CisJRFJNX0lPQ1RMX0RFRl9EUlYoVkM0X0NSRUFURV9CTywgdmM0X2NyZWF0ZV9ib19pb2N0 bCwgMCksCisJRFJNX0lPQ1RMX0RFRl9EUlYoVkM0X01NQVBfQk8sIHZjNF9tbWFwX2JvX2lvY3Rs LCAwKSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciB2YzRfZHJtX2RyaXZlciA9IHsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL3ZjNC92YzRfZHJ2LmgKaW5kZXggMzlhMWZmNS4uZmRkYjBhMCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3ZjNC92YzRfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRf ZHJ2LmgKQEAgLTE1NSw2ICsxNTUsMTAgQEAgaW50IHZjNF9kdW1iX2NyZWF0ZShzdHJ1Y3QgZHJt X2ZpbGUgKmZpbGVfcHJpdiwKIAkJICAgIHN0cnVjdCBkcm1fbW9kZV9jcmVhdGVfZHVtYiAqYXJn cyk7CiBzdHJ1Y3QgZG1hX2J1ZiAqdmM0X3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAogCQkJCSBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgaW50IGZsYWdzKTsKK2ludCB2 YzRfY3JlYXRlX2JvX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCisJ CQlzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7CitpbnQgdmM0X21tYXBfYm9faW9jdGwoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKKwkJICAgICAgc3RydWN0IGRybV9maWxl ICpmaWxlX3ByaXYpOwogdm9pZCB2YzRfYm9fY2FjaGVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KTsKIHZvaWQgdmM0X2JvX2NhY2hlX2Rlc3Ryb3koc3RydWN0IGRybV9kZXZpY2UgKmRldik7 CiBpbnQgdmM0X2JvX3N0YXRzX2RlYnVnZnMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICphcmcp OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9LYnVpbGQgYi9pbmNsdWRlL3VhcGkvZHJt L0tidWlsZAppbmRleCAzOGQ0MzcwLi45NzRmY2Q1IDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkv ZHJtL0tidWlsZAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL0tidWlsZApAQCAtMTcsNCArMTcsNSBA QCBoZWFkZXIteSArPSB0ZWdyYV9kcm0uaAogaGVhZGVyLXkgKz0gdmlhX2RybS5oCiBoZWFkZXIt eSArPSB2bXdnZnhfZHJtLmgKIGhlYWRlci15ICs9IG1zbV9kcm0uaAoraGVhZGVyLXkgKz0gdmM0 X2RybS5oCiBoZWFkZXIteSArPSB2aXJ0Z3B1X2RybS5oCmRpZmYgLS1naXQgYS9pbmNsdWRlL3Vh cGkvZHJtL3ZjNF9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vdmM0X2RybS5oCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2OGFhYjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNs dWRlL3VhcGkvZHJtL3ZjNF9kcm0uaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0 IMKpIDIwMTQtMjAxNSBCcm9hZGNvbQorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50 ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9m IHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJT b2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlv biwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNv cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBh bmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMg dG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0 byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBu b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAorICog cGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs IHBvcnRpb25zIG9mIHRoZQorICogU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBS T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IK KyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg T0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug QU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBP UiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBP VEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9S VCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9O IFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRI RSBTT0ZUV0FSRS4KKyAqLworCisjaWZuZGVmIF9VQVBJX1ZDNF9EUk1fSF8KKyNkZWZpbmUgX1VB UElfVkM0X0RSTV9IXworCisjaW5jbHVkZSA8ZHJtL2RybS5oPgorCisjZGVmaW5lIERSTV9WQzRf Q1JFQVRFX0JPICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMKKyNkZWZpbmUgRFJNX1ZDNF9N TUFQX0JPICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNAorCisjZGVmaW5lIERSTV9JT0NU TF9WQzRfQ1JFQVRFX0JPICAgICAgICAgICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJN X1ZDNF9DUkVBVEVfQk8sIHN0cnVjdCBkcm1fdmM0X2NyZWF0ZV9ibykKKyNkZWZpbmUgRFJNX0lP Q1RMX1ZDNF9NTUFQX0JPICAgICAgICAgICAgIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBE Uk1fVkM0X01NQVBfQk8sIHN0cnVjdCBkcm1fdmM0X21tYXBfYm8pCisKKy8qKgorICogc3RydWN0 IGRybV92YzRfY3JlYXRlX2JvIC0gaW9jdGwgYXJndW1lbnQgZm9yIGNyZWF0aW5nIFZDNCBCT3Mu CisgKgorICogVGhlcmUgYXJlIGN1cnJlbnRseSBubyB2YWx1ZXMgZm9yIHRoZSBmbGFncyBhcmd1 bWVudCwgYnV0IGl0IG1heSBiZQorICogdXNlZCBpbiBhIGZ1dHVyZSBleHRlbnNpb24uCisgKi8K K3N0cnVjdCBkcm1fdmM0X2NyZWF0ZV9ibyB7CisJdWludDMyX3Qgc2l6ZTsKKwl1aW50MzJfdCBm bGFnczsKKwkvKiogUmV0dXJuZWQgR0VNIGhhbmRsZSBmb3IgdGhlIEJPLiAqLworCXVpbnQzMl90 IGhhbmRsZTsKKwl1aW50MzJfdCBwYWQ7Cit9OworCisvKioKKyAqIHN0cnVjdCBkcm1fdmM0X21t YXBfYm8gLSBpb2N0bCBhcmd1bWVudCBmb3IgbWFwcGluZyBWQzQgQk9zLgorICoKKyAqIFRoaXMg ZG9lc24ndCBhY3R1YWxseSBwZXJmb3JtIGFuIG1tYXAuICBJbnN0ZWFkLCBpdCByZXR1cm5zIHRo ZQorICogb2Zmc2V0IHlvdSBuZWVkIHRvIHVzZSBpbiBhbiBtbWFwIG9uIHRoZSBEUk0gZGV2aWNl IG5vZGUuICBUaGlzCisgKiBtZWFucyB0aGF0IHRvb2xzIGxpa2UgdmFsZ3JpbmQgZW5kIHVwIGtu b3dpbmcgYWJvdXQgdGhlIG1hcHBlZAorICogbWVtb3J5LgorICoKKyAqIFRoZXJlIGFyZSBjdXJy ZW50bHkgbm8gdmFsdWVzIGZvciB0aGUgZmxhZ3MgYXJndW1lbnQsIGJ1dCBpdCBtYXkgYmUKKyAq IHVzZWQgaW4gYSBmdXR1cmUgZXh0ZW5zaW9uLgorICovCitzdHJ1Y3QgZHJtX3ZjNF9tbWFwX2Jv IHsKKwkvKiogSGFuZGxlIGZvciB0aGUgb2JqZWN0IGJlaW5nIG1hcHBlZC4gKi8KKwl1aW50MzJf dCBoYW5kbGU7CisJdWludDMyX3QgZmxhZ3M7CisJLyoqIG9mZnNldCBpbnRvIHRoZSBkcm0gbm9k ZSB0byB1c2UgZm9yIHN1YnNlcXVlbnQgbW1hcCBjYWxsLiAqLworCXVpbnQ2NF90IG9mZnNldDsK K307CisKKyNlbmRpZiAvKiBfVUFQSV9WQzRfRFJNX0hfICovCi0tIAoyLjYuMgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK