From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH v2 4/8] drm/cma: Introduce drm_gem_cma_dumb_create_internal() Date: Thu, 6 Nov 2014 16:49:17 +0100 Message-ID: <1415288961-14464-5-git-send-email-thierry.reding@gmail.com> References: <1415193919-1687-1-git-send-email-thierry.reding@gmail.com> <1415288961-14464-1-git-send-email-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-f54.google.com (mail-pa0-f54.google.com [209.85.220.54]) by gabe.freedesktop.org (Postfix) with ESMTP id 0D1866ECC4 for ; Thu, 6 Nov 2014 07:49:59 -0800 (PST) Received: by mail-pa0-f54.google.com with SMTP id rd3so1495401pab.13 for ; Thu, 06 Nov 2014 07:49:58 -0800 (PST) In-Reply-To: <1415288961-14464-1-git-send-email-thierry.reding@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Dave Airlie Cc: Benjamin Gaignard , Daniel Vetter , dri-devel@lists.freedesktop.org, Tomi Valkeinen , Laurent Pinchart , Russell King List-Id: dri-devel@lists.freedesktop.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KClRoaXMgZnVuY3Rpb24g aXMgc2ltaWxhciB0byBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0ZSgpIGJ1dCB0YXJnZXR0ZWQgYXQK a2VybmVsIGludGVybmFsIHVzZXJzIHNvIHRoYXQgdGhleSBjYW4gb3ZlcnJpZGUgdGhlIHBpdGNo IGFuZCBzaXplCnJlcXVpcmVtZW50cyBvZiB0aGUgZHVtYiBidWZmZXIuCgpJdCBpcyBpbXBvcnRh bnQgdG8gbWFrZSB0aGlzIGRpZmZlcmVuY2UgYmVjYXVzZSB0aGUgSU9DVEwgc2F5cyB0aGF0IHRo ZQpwaXRjaCBhbmQgc2l6ZSBmaWVsZHMgYXJlIHRvIGJlIGNvbnNpZGVyZWQgb3V0cHV0cyBhbmQg dGhlcmVmb3JlIHNob3VsZApub3QgYmUgdXNlZCBpbiBjb21wdXRhdGlvbnMgb2YgdGhlIGZyYW1l YnVmZmVyIHNpemUuIEludGVybmFsIHVzZXJzIG1heQpzdGlsbCB3YW50IHRvIHVzZSB0aGlzIGNv ZGUgdG8gYXZvaWQgZHVwbGljYXRpb24gYW5kIGF0IHRoZSBzYW1lIHRpbWUKcGFzcyBvbiBhZGRp dGlvbmFsLCBkcml2ZXItc3BlY2lmaWMgcmVzdHJpY3Rpb25zIG9uIHRoZSBwaXRjaCBhbmQgc2l6 ZS4KCldoaWxlIGF0IGl0LCBjb252ZXJ0IHRoZSBSLUNhciBEVSBkcml2ZXIsIHRoZSBzaW5nbGUg dXNlciB0aGF0IG92ZXJyaWRlcwp0aGUgcGl0Y2gsIHRvIHVzZSB0aGUgbmV3IGludGVybmFsIGhl bHBlci4KClJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNo PgpTaWduZWQtb2ZmLWJ5OiBUaGllcnJ5IFJlZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPgotLS0K Q2hhbmdlcyBpbiB2MjoKLSBwcm92aWRlIGJldHRlciBkb2N1bWVudGF0aW9uIGFuZCB1c2UtY2Fz ZXMgZm9yIHRoZSBoZWxwZXIKLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2dlbV9jbWFfaGVscGVy LmMgIHwgNDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9yY2FyLWR1L3JjYXJfZHVfa21zLmMgfCAgMiArLQogaW5jbHVkZS9kcm0vZHJtX2dlbV9j bWFfaGVscGVyLmggICAgICB8ICA1ICsrKysKIDMgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9u cygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2dl bV9jbWFfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2dlbV9jbWFfaGVscGVyLmMKaW5k ZXggN2Y5ODZkN2I4ZTIyLi44NjRiMDg2M2QwNDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZ2VtX2NtYV9oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2dlbV9jbWFf aGVscGVyLmMKQEAgLTIwNSw2ICsyMDUsMzkgQEAgdm9pZCBkcm1fZ2VtX2NtYV9mcmVlX29iamVj dChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbV9vYmopCiBFWFBPUlRfU1lNQk9MX0dQTChkcm1f Z2VtX2NtYV9mcmVlX29iamVjdCk7CiAKIC8qKgorICogZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVf aW50ZXJuYWwgLSBjcmVhdGUgYSBkdW1iIGJ1ZmZlciBvYmplY3QKKyAqIEBmaWxlX3ByaXY6IERS TSBmaWxlLXByaXZhdGUgc3RydWN0dXJlIHRvIGNyZWF0ZSB0aGUgZHVtYiBidWZmZXIgZm9yCisg KiBAZHJtOiBEUk0gZGV2aWNlCisgKiBAYXJnczogSU9DVEwgZGF0YQorICoKKyAqIFRoaXMgYWxp Z25zIHRoZSBwaXRjaCBhbmQgc2l6ZSBhcmd1bWVudHMgdG8gdGhlIG1pbmltdW0gcmVxdWlyZWQu IFRoaXMgaXMKKyAqIGFuIGludGVybmFsIGhlbHBlciB0aGF0IGNhbiBiZSB3cmFwcGVkIGJ5IGEg ZHJpdmVyIHRvIGFjY291bnQgZm9yIGhhcmR3YXJlCisgKiB3aXRoIG1vcmUgc3BlY2lmaWMgYWxp Z25tZW50IHJlcXVpcmVtZW50cy4gSXQgc2hvdWxkIG5vdCBiZSB1c2VkIGRpcmVjdGx5CisgKiBh cyB0aGUgLT5kdW1iX2NyZWF0ZSgpIGNhbGxiYWNrIGluIGEgRFJNIGRyaXZlci4KKyAqCisgKiBS ZXR1cm5zOgorICogMCBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWls dXJlLgorICovCitpbnQgZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50ZXJuYWwoc3RydWN0IGRy bV9maWxlICpmaWxlX3ByaXYsCisJCQkJICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAorCQkJ CSAgICAgc3RydWN0IGRybV9tb2RlX2NyZWF0ZV9kdW1iICphcmdzKQoreworCXVuc2lnbmVkIGlu dCBtaW5fcGl0Y2ggPSBESVZfUk9VTkRfVVAoYXJncy0+d2lkdGggKiBhcmdzLT5icHAsIDgpOwor CXN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3QgKmNtYV9vYmo7CisKKwlpZiAoYXJncy0+cGl0Y2gg PCBtaW5fcGl0Y2gpCisJCWFyZ3MtPnBpdGNoID0gbWluX3BpdGNoOworCisJaWYgKGFyZ3MtPnNp emUgPCBhcmdzLT5waXRjaCAqIGFyZ3MtPmhlaWdodCkKKwkJYXJncy0+c2l6ZSA9IGFyZ3MtPnBp dGNoICogYXJncy0+aGVpZ2h0OworCisJY21hX29iaiA9IGRybV9nZW1fY21hX2NyZWF0ZV93aXRo X2hhbmRsZShmaWxlX3ByaXYsIGRybSwgYXJncy0+c2l6ZSwKKwkJCQkJCSAmYXJncy0+aGFuZGxl KTsKKwlyZXR1cm4gUFRSX0VSUl9PUl9aRVJPKGNtYV9vYmopOworfQorRVhQT1JUX1NZTUJPTF9H UEwoZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50ZXJuYWwpOworCisvKioKICAqIGRybV9nZW1f Y21hX2R1bWJfY3JlYXRlIC0gY3JlYXRlIGEgZHVtYiBidWZmZXIgb2JqZWN0CiAgKiBAZmlsZV9w cml2OiBEUk0gZmlsZS1wcml2YXRlIHN0cnVjdHVyZSB0byBjcmVhdGUgdGhlIGR1bWIgYnVmZmVy IGZvcgogICogQGRybTogRFJNIGRldmljZQpAQCAtMjE1LDYgKzI0OCwxMCBAQCBFWFBPUlRfU1lN Qk9MX0dQTChkcm1fZ2VtX2NtYV9mcmVlX29iamVjdCk7CiAgKiBhbnkgYWRkaXRpb25hbCByZXN0 cmljdGlvbnMgb24gdGhlIHBpdGNoIGNhbiBkaXJlY3RseSB1c2UgdGhpcyBmdW5jdGlvbiBhcwog ICogdGhlaXIgLT5kdW1iX2NyZWF0ZSgpIGNhbGxiYWNrLgogICoKKyAqIEZvciBoYXJkd2FyZSB3 aXRoIGFkZGl0aW9uYWwgcmVzdHJpY3Rpb25zLCBkcml2ZXJzIGNhbiBhZGp1c3QgdGhlIGZpZWxk cworICogc2V0IHVwIGJ5IHVzZXJzcGFjZSBhbmQgcGFzcyB0aGUgSU9DVEwgZGF0YSBhbG9uZyB0 byB0aGUKKyAqIGRybV9nZW1fY21hX2R1bWJfY3JlYXRlX2ludGVybmFsKCkgZnVuY3Rpb24uCisg KgogICogUmV0dXJuczoKICAqIDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIGVycm9yIGNvZGUg b24gZmFpbHVyZS4KICAqLwpAQCAtMjIzLDEzICsyNjAsOSBAQCBpbnQgZHJtX2dlbV9jbWFfZHVt Yl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCiAJCQkgICAgc3RydWN0IGRybV9t b2RlX2NyZWF0ZV9kdW1iICphcmdzKQogewogCXN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3QgKmNt YV9vYmo7Ci0JaW50IG1pbl9waXRjaCA9IERJVl9ST1VORF9VUChhcmdzLT53aWR0aCAqIGFyZ3Mt PmJwcCwgOCk7CiAKLQlpZiAoYXJncy0+cGl0Y2ggPCBtaW5fcGl0Y2gpCi0JCWFyZ3MtPnBpdGNo ID0gbWluX3BpdGNoOwotCi0JaWYgKGFyZ3MtPnNpemUgPCBhcmdzLT5waXRjaCAqIGFyZ3MtPmhl aWdodCkKLQkJYXJncy0+c2l6ZSA9IGFyZ3MtPnBpdGNoICogYXJncy0+aGVpZ2h0OworCWFyZ3Mt PnBpdGNoID0gRElWX1JPVU5EX1VQKGFyZ3MtPndpZHRoICogYXJncy0+YnBwLCA4KTsKKwlhcmdz LT5zaXplID0gYXJncy0+cGl0Y2ggKiBhcmdzLT5oZWlnaHQ7CiAKIAljbWFfb2JqID0gZHJtX2dl bV9jbWFfY3JlYXRlX3dpdGhfaGFuZGxlKGZpbGVfcHJpdiwgZHJtLCBhcmdzLT5zaXplLAogCQkJ CQkJICZhcmdzLT5oYW5kbGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUv cmNhcl9kdV9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfa21zLmMKaW5k ZXggNmMyNGFkN2QwM2VmLi41MzI5NDkxZTMyYzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9yY2FyLWR1L3JjYXJfZHVfa21zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNh cl9kdV9rbXMuYwpAQCAtMTI4LDcgKzEyOCw3IEBAIGludCByY2FyX2R1X2R1bWJfY3JlYXRlKHN0 cnVjdCBkcm1fZmlsZSAqZmlsZSwgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCWFyZ3MtPnBp dGNoID0gcm91bmR1cChtYXgoYXJncy0+cGl0Y2gsIG1pbl9waXRjaCksIGFsaWduKTsKIAotCXJl dHVybiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0ZShmaWxlLCBkZXYsIGFyZ3MpOworCXJldHVybiBk cm1fZ2VtX2NtYV9kdW1iX2NyZWF0ZV9pbnRlcm5hbChmaWxlLCBkZXYsIGFyZ3MpOwogfQogCiBz dGF0aWMgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9k cm1fZ2VtX2NtYV9oZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9nZW1fY21hX2hlbHBlci5oCmlu ZGV4IDg3M2Q0ZWI3ZjEyNS4uYWNkNmFmOGE4ZTY3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9k cm1fZ2VtX2NtYV9oZWxwZXIuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fZ2VtX2NtYV9oZWxwZXIu aApAQCAtMzAsNiArMzAsMTEgQEAgdG9fZHJtX2dlbV9jbWFfb2JqKHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqZ2VtX29iaikKIHZvaWQgZHJtX2dlbV9jbWFfZnJlZV9vYmplY3Qoc3RydWN0IGRybV9n ZW1fb2JqZWN0ICpnZW1fb2JqKTsKIAogLyogY3JlYXRlIG1lbW9yeSByZWdpb24gZm9yIERSTSBm cmFtZWJ1ZmZlciAqLworaW50IGRybV9nZW1fY21hX2R1bWJfY3JlYXRlX2ludGVybmFsKHN0cnVj dCBkcm1fZmlsZSAqZmlsZV9wcml2LAorCQkJCSAgICAgc3RydWN0IGRybV9kZXZpY2UgKmRybSwK KwkJCQkgICAgIHN0cnVjdCBkcm1fbW9kZV9jcmVhdGVfZHVtYiAqYXJncyk7CisKKy8qIGNyZWF0 ZSBtZW1vcnkgcmVnaW9uIGZvciBEUk0gZnJhbWVidWZmZXIgKi8KIGludCBkcm1fZ2VtX2NtYV9k dW1iX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKIAkJCSAgICBzdHJ1Y3QgZHJt X2RldmljZSAqZHJtLAogCQkJICAgIHN0cnVjdCBkcm1fbW9kZV9jcmVhdGVfZHVtYiAqYXJncyk7 Ci0tIAoyLjEuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK