From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: [PATCH v2 3/9] drm/vc4: Add create and map BO ioctls. Date: Tue, 8 Dec 2015 10:30:12 -0800 Message-ID: <1449599418-20780-4-git-send-email-eric@anholt.net> References: <1449599418-20780-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: <1449599418-20780-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+Ci0tLQoKdjI6IFVzZSBfX3UzMi1z dHlsZSB0eXBlcywgdXNlICJkcm0uaCIgaW5zdGVhZCBvZiA8ZHJtL2RybS5oPi4KCiBkcml2ZXJz L2dwdS9kcm0vdmM0L3ZjNF9iby5jICB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrCiBk cml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuYyB8ICAzICsrCiBkcml2ZXJzL2dwdS9kcm0vdmM0 L3ZjNF9kcnYuaCB8ICA0ICsrKwogaW5jbHVkZS91YXBpL2RybS9LYnVpbGQgICAgICAgfCAgMSAr CiBpbmNsdWRlL3VhcGkvZHJtL3ZjNF9kcm0uaCAgICB8IDY4ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgMTE3IGluc2VydGlvbnMo KykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL3VhcGkvZHJtL3ZjNF9kcm0uaAoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2JvLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0 L3ZjNF9iby5jCmluZGV4IDE4ZmFhNWIuLjA2Y2JhMjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS92YzQvdmM0X2JvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfYm8uYwpAQCAt MTksNiArMTksNyBAQAogICovCiAKICNpbmNsdWRlICJ2YzRfZHJ2LmgiCisjaW5jbHVkZSAidWFw aS9kcm0vdmM0X2RybS5oIgogCiBzdGF0aWMgdm9pZCB2YzRfYm9fc3RhdHNfZHVtcChzdHJ1Y3Qg dmM0X2RldiAqdmM0KQogewpAQCAtMzQ2LDYgKzM0Nyw0NiBAQCBzdGF0aWMgdm9pZCB2YzRfYm9f Y2FjaGVfdGltZV90aW1lcih1bnNpZ25lZCBsb25nIGRhdGEpCiAJc2NoZWR1bGVfd29yaygmdmM0 LT5ib19jYWNoZS50aW1lX3dvcmspOwogfQogCitpbnQgdmM0X2NyZWF0ZV9ib19pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAorCQkJc3RydWN0IGRybV9maWxlICpmaWxl X3ByaXYpCit7CisJc3RydWN0IGRybV92YzRfY3JlYXRlX2JvICphcmdzID0gZGF0YTsKKwlzdHJ1 Y3QgdmM0X2JvICpibyA9IE5VTEw7CisJaW50IHJldDsKKworCS8qCisJICogV2UgY2FuJ3QgYWxs b2NhdGUgZnJvbSB0aGUgQk8gY2FjaGUsIGJlY2F1c2UgdGhlIEJPcyBkb24ndAorCSAqIGdldCB6 ZXJvZWQsIGFuZCB0aGF0IG1pZ2h0IGxlYWsgZGF0YSBiZXR3ZWVuIHVzZXJzLgorCSAqLworCWJv ID0gdmM0X2JvX2NyZWF0ZShkZXYsIGFyZ3MtPnNpemUsIGZhbHNlKTsKKwlpZiAoIWJvKQorCQly ZXR1cm4gLUVOT01FTTsKKworCXJldCA9IGRybV9nZW1faGFuZGxlX2NyZWF0ZShmaWxlX3ByaXYs ICZiby0+YmFzZS5iYXNlLCAmYXJncy0+aGFuZGxlKTsKKwlkcm1fZ2VtX29iamVjdF91bnJlZmVy ZW5jZV91bmxvY2tlZCgmYm8tPmJhc2UuYmFzZSk7CisKKwlyZXR1cm4gcmV0OworfQorCitpbnQg dmM0X21tYXBfYm9faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKKwkJ ICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCit7CisJc3RydWN0IGRybV92YzRfbW1h cF9ibyAqYXJncyA9IGRhdGE7CisJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnZW1fb2JqOworCisJ Z2VtX29iaiA9IGRybV9nZW1fb2JqZWN0X2xvb2t1cChkZXYsIGZpbGVfcHJpdiwgYXJncy0+aGFu ZGxlKTsKKwlpZiAoIWdlbV9vYmopIHsKKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gbG9vayB1cCBH RU0gQk8gJWRcbiIsIGFyZ3MtPmhhbmRsZSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8q IFRoZSBtbWFwIG9mZnNldCB3YXMgc2V0IHVwIGF0IEJPIGFsbG9jYXRpb24gdGltZS4gKi8KKwlh cmdzLT5vZmZzZXQgPSBkcm1fdm1hX25vZGVfb2Zmc2V0X2FkZHIoJmdlbV9vYmotPnZtYV9ub2Rl KTsKKworCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlX3VubG9ja2VkKGdlbV9vYmopOworCXJl dHVybiAwOworfQorCiB2b2lkIHZjNF9ib19jYWNoZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCiB7CiAJc3RydWN0IHZjNF9kZXYgKnZjNCA9IHRvX3ZjNF9kZXYoZGV2KTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92 YzRfZHJ2LmMKaW5kZXggZGEwNDFmYS4uNWZhNDY4OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3ZjNC92YzRfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHJ2LmMKQEAg LTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNs dWRlICJkcm1fZmJfY21hX2hlbHBlci5oIgogCisjaW5jbHVkZSAidWFwaS9kcm0vdmM0X2RybS5o IgogI2luY2x1ZGUgInZjNF9kcnYuaCIKICNpbmNsdWRlICJ2YzRfcmVncy5oIgogCkBAIC03Myw2 ICs3NCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHZjNF9kcm1fZm9w cyA9IHsKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2lvY3RsX2Rlc2MgdmM0X2RybV9p b2N0bHNbXSA9IHsKKwlEUk1fSU9DVExfREVGX0RSVihWQzRfQ1JFQVRFX0JPLCB2YzRfY3JlYXRl X2JvX2lvY3RsLCAwKSwKKwlEUk1fSU9DVExfREVGX0RSVihWQzRfTU1BUF9CTywgdmM0X21tYXBf Ym9faW9jdGwsIDApLAogfTsKIAogc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVyIHZjNF9kcm1fZHJp dmVyID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHJ2LmggYi9kcml2 ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuaAppbmRleCAzOWExZmY1Li5mZGRiMGEwIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v dmM0L3ZjNF9kcnYuaApAQCAtMTU1LDYgKzE1NSwxMCBAQCBpbnQgdmM0X2R1bWJfY3JlYXRlKHN0 cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAogCQkgICAgc3RydWN0IGRybV9tb2RlX2NyZWF0ZV9k dW1iICphcmdzKTsKIHN0cnVjdCBkbWFfYnVmICp2YzRfcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCiAJCQkJIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCBpbnQgZmxhZ3Mp OworaW50IHZjNF9jcmVhdGVfYm9faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKKwkJCXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKK2ludCB2YzRfbW1hcF9ib19p b2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAorCQkgICAgICBzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGVfcHJpdik7CiB2b2lkIHZjNF9ib19jYWNoZV9pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpOwogdm9pZCB2YzRfYm9fY2FjaGVfZGVzdHJveShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KTsKIGludCB2YzRfYm9fc3RhdHNfZGVidWdmcyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZv aWQgKmFyZyk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL0tidWlsZCBiL2luY2x1ZGUv dWFwaS9kcm0vS2J1aWxkCmluZGV4IDM4ZDQzNzAuLjk3NGZjZDUgMTAwNjQ0Ci0tLSBhL2luY2x1 ZGUvdWFwaS9kcm0vS2J1aWxkCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vS2J1aWxkCkBAIC0xNyw0 ICsxNyw1IEBAIGhlYWRlci15ICs9IHRlZ3JhX2RybS5oCiBoZWFkZXIteSArPSB2aWFfZHJtLmgK IGhlYWRlci15ICs9IHZtd2dmeF9kcm0uaAogaGVhZGVyLXkgKz0gbXNtX2RybS5oCitoZWFkZXIt eSArPSB2YzRfZHJtLmgKIGhlYWRlci15ICs9IHZpcnRncHVfZHJtLmgKZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvdWFwaS9kcm0vdmM0X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS92YzRfZHJtLmgKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjE5ZDM0YwotLS0gL2Rldi9udWxsCisr KyBiL2luY2x1ZGUvdWFwaS9kcm0vdmM0X2RybS5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBD b3B5cmlnaHQgwqkgMjAxNC0yMDE1IEJyb2FkY29tCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJl YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAq IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz ICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJl c3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRv IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5z ZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQg cGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBz dWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29w eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBu ZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vi c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdB UkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQ UkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FS UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBB VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1B R0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS QUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENP Tk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUwor ICogSU4gVEhFIFNPRlRXQVJFLgorICovCisKKyNpZm5kZWYgX1VBUElfVkM0X0RSTV9IXworI2Rl ZmluZSBfVUFQSV9WQzRfRFJNX0hfCisKKyNpbmNsdWRlICJkcm0uaCIKKworI2RlZmluZSBEUk1f VkM0X0NSRUFURV9CTyAgICAgICAgICAgICAgICAgICAgICAgICAweDAzCisjZGVmaW5lIERSTV9W QzRfTU1BUF9CTyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQKKworI2RlZmluZSBEUk1f SU9DVExfVkM0X0NSRUFURV9CTyAgICAgICAgICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSAr IERSTV9WQzRfQ1JFQVRFX0JPLCBzdHJ1Y3QgZHJtX3ZjNF9jcmVhdGVfYm8pCisjZGVmaW5lIERS TV9JT0NUTF9WQzRfTU1BUF9CTyAgICAgICAgICAgICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNF ICsgRFJNX1ZDNF9NTUFQX0JPLCBzdHJ1Y3QgZHJtX3ZjNF9tbWFwX2JvKQorCisvKioKKyAqIHN0 cnVjdCBkcm1fdmM0X2NyZWF0ZV9ibyAtIGlvY3RsIGFyZ3VtZW50IGZvciBjcmVhdGluZyBWQzQg Qk9zLgorICoKKyAqIFRoZXJlIGFyZSBjdXJyZW50bHkgbm8gdmFsdWVzIGZvciB0aGUgZmxhZ3Mg YXJndW1lbnQsIGJ1dCBpdCBtYXkgYmUKKyAqIHVzZWQgaW4gYSBmdXR1cmUgZXh0ZW5zaW9uLgor ICovCitzdHJ1Y3QgZHJtX3ZjNF9jcmVhdGVfYm8geworCV9fdTMyIHNpemU7CisJX191MzIgZmxh Z3M7CisJLyoqIFJldHVybmVkIEdFTSBoYW5kbGUgZm9yIHRoZSBCTy4gKi8KKwlfX3UzMiBoYW5k bGU7CisJX191MzIgcGFkOworfTsKKworLyoqCisgKiBzdHJ1Y3QgZHJtX3ZjNF9tbWFwX2JvIC0g aW9jdGwgYXJndW1lbnQgZm9yIG1hcHBpbmcgVkM0IEJPcy4KKyAqCisgKiBUaGlzIGRvZXNuJ3Qg YWN0dWFsbHkgcGVyZm9ybSBhbiBtbWFwLiAgSW5zdGVhZCwgaXQgcmV0dXJucyB0aGUKKyAqIG9m ZnNldCB5b3UgbmVlZCB0byB1c2UgaW4gYW4gbW1hcCBvbiB0aGUgRFJNIGRldmljZSBub2RlLiAg VGhpcworICogbWVhbnMgdGhhdCB0b29scyBsaWtlIHZhbGdyaW5kIGVuZCB1cCBrbm93aW5nIGFi b3V0IHRoZSBtYXBwZWQKKyAqIG1lbW9yeS4KKyAqCisgKiBUaGVyZSBhcmUgY3VycmVudGx5IG5v IHZhbHVlcyBmb3IgdGhlIGZsYWdzIGFyZ3VtZW50LCBidXQgaXQgbWF5IGJlCisgKiB1c2VkIGlu IGEgZnV0dXJlIGV4dGVuc2lvbi4KKyAqLworc3RydWN0IGRybV92YzRfbW1hcF9ibyB7CisJLyoq IEhhbmRsZSBmb3IgdGhlIG9iamVjdCBiZWluZyBtYXBwZWQuICovCisJX191MzIgaGFuZGxlOwor CV9fdTMyIGZsYWdzOworCS8qKiBvZmZzZXQgaW50byB0aGUgZHJtIG5vZGUgdG8gdXNlIGZvciBz dWJzZXF1ZW50IG1tYXAgY2FsbC4gKi8KKwlfX3U2NCBvZmZzZXQ7Cit9OworCisjZW5kaWYgLyog X1VBUElfVkM0X0RSTV9IXyAqLwotLSAKMi42LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==