From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: [PATCH v3 3/8] drm/panfrost: Restructure the GEM object creation Date: Fri, 2 Aug 2019 13:51:45 -0600 Message-ID: <20190802195150.23207-4-robh@kernel.org> References: <20190802195150.23207-1-robh@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-io1-f67.google.com (mail-io1-f67.google.com [209.85.166.67]) by gabe.freedesktop.org (Postfix) with ESMTPS id 63A076ED66 for ; Fri, 2 Aug 2019 19:51:57 +0000 (UTC) Received: by mail-io1-f67.google.com with SMTP id s7so154530803iob.11 for ; Fri, 02 Aug 2019 12:51:57 -0700 (PDT) In-Reply-To: <20190802195150.23207-1-robh@kernel.org> 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: Tomeu Vizoso , Maxime Ripard , Sean Paul , Steven Price , David Airlie , Boris Brezillon , Alyssa Rosenzweig , Robin Murphy List-Id: dri-devel@lists.freedesktop.org U2V0dGluZyB0aGUgR1BVIFZBIHdoZW4gY3JlYXRpbmcgdGhlIEdFTSBvYmplY3QgZG9lc24ndCBh bGxvdyBmb3IgYW55CmNvbmRpdGlvbmFsIGFkanVzdG1lbnRzLiBJbiBwcmVwYXJhdGlvbiB0byBz dXBwb3J0IGFkanVzdGluZyB0aGUKbWFwcGluZywgcmVzdHJ1Y3R1cmUgdGhlIEdFTSBvYmplY3Qg Y3JlYXRpb24gdG8gbWFwIHRoZSBHRU0gb2JqZWN0IGFmdGVyCndlJ3ZlIGNyZWF0ZWQgdGhlIGJh c2Ugc2htZW0gb2JqZWN0LgoKQ2M6IFRvbWV1IFZpem9zbyA8dG9tZXUudml6b3NvQGNvbGxhYm9y YS5jb20+CkNjOiBCb3JpcyBCcmV6aWxsb24gPGJvcmlzLmJyZXppbGxvbkBjb2xsYWJvcmEuY29t PgpDYzogUm9iaW4gTXVycGh5IDxyb2Jpbi5tdXJwaHlAYXJtLmNvbT4KUmV2aWV3ZWQtYnk6IFN0 ZXZlbiBQcmljZSA8c3RldmVuLnByaWNlQGFybS5jb20+CkFja2VkLWJ5OiBBbHlzc2EgUm9zZW56 d2VpZyA8YWx5c3NhLnJvc2VuendlaWdAY29sbGFib3JhLmNvbT4KU2lnbmVkLW9mZi1ieTogUm9i IEhlcnJpbmcgPHJvYmhAa2VybmVsLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3Qv cGFuZnJvc3RfZHJ2LmMgfCAyMSArKystLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9w YW5mcm9zdF9nZW0uYyB8IDU4ICsrKysrKysrKysrKysrKysrKysrLS0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9nZW0uaCB8ICA1ICsrKwogMyBmaWxlcyBjaGFuZ2VkLCA1 OSBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcGFuZnJvc3QvcGFuZnJvc3RfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3Qv cGFuZnJvc3RfZHJ2LmMKaW5kZXggY2I0M2ZmNGViZjRhLi5kMzU0YjkyOTY0ZDUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9kcnYuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3RfZHJ2LmMKQEAgLTQ2LDI5ICs0NiwyMCBAQCBzdGF0 aWMgaW50IHBhbmZyb3N0X2lvY3RsX2dldF9wYXJhbShzdHJ1Y3QgZHJtX2RldmljZSAqZGRldiwg dm9pZCAqZGF0YSwgc3RydWN0CiBzdGF0aWMgaW50IHBhbmZyb3N0X2lvY3RsX2NyZWF0ZV9ibyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGUpCiB7Ci0JaW50IHJldDsKLQlzdHJ1Y3QgZHJtX2dlbV9zaG1lbV9vYmplY3QgKnNobWVtOwor CXN0cnVjdCBwYW5mcm9zdF9nZW1fb2JqZWN0ICpibzsKIAlzdHJ1Y3QgZHJtX3BhbmZyb3N0X2Ny ZWF0ZV9ibyAqYXJncyA9IGRhdGE7CiAKIAlpZiAoIWFyZ3MtPnNpemUgfHwgYXJncy0+ZmxhZ3Mg fHwgYXJncy0+cGFkKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCXNobWVtID0gZHJtX2dlbV9zaG1l bV9jcmVhdGVfd2l0aF9oYW5kbGUoZmlsZSwgZGV2LCBhcmdzLT5zaXplLAotCQkJCQkJICZhcmdz LT5oYW5kbGUpOwotCWlmIChJU19FUlIoc2htZW0pKQotCQlyZXR1cm4gUFRSX0VSUihzaG1lbSk7 Ci0KLQlyZXQgPSBwYW5mcm9zdF9tbXVfbWFwKHRvX3BhbmZyb3N0X2JvKCZzaG1lbS0+YmFzZSkp OwotCWlmIChyZXQpCi0JCWdvdG8gZXJyX2ZyZWU7CisJYm8gPSBwYW5mcm9zdF9nZW1fY3JlYXRl X3dpdGhfaGFuZGxlKGZpbGUsIGRldiwgYXJncy0+c2l6ZSwgYXJncy0+ZmxhZ3MsCisJCQkJCSAg ICAgJmFyZ3MtPmhhbmRsZSk7CisJaWYgKElTX0VSUihibykpCisJCXJldHVybiBQVFJfRVJSKGJv KTsKIAotCWFyZ3MtPm9mZnNldCA9IHRvX3BhbmZyb3N0X2JvKCZzaG1lbS0+YmFzZSktPm5vZGUu c3RhcnQgPDwgUEFHRV9TSElGVDsKKwlhcmdzLT5vZmZzZXQgPSBiby0+bm9kZS5zdGFydCA8PCBQ QUdFX1NISUZUOwogCiAJcmV0dXJuIDA7Ci0KLWVycl9mcmVlOgotCWRybV9nZW1faGFuZGxlX2Rl bGV0ZShmaWxlLCBhcmdzLT5oYW5kbGUpOwotCXJldHVybiByZXQ7CiB9CiAKIC8qKgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2dlbS5jIGIvZHJpdmVycy9n cHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2dlbS5jCmluZGV4IDU0M2FiMWI4MWJkNS4uZGY3MGRj ZjNjYjJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3RfZ2Vt LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2dlbS5jCkBAIC0yMyw3 ICsyMyw4IEBAIHN0YXRpYyB2b2lkIHBhbmZyb3N0X2dlbV9mcmVlX29iamVjdChzdHJ1Y3QgZHJt X2dlbV9vYmplY3QgKm9iaikKIAkJcGFuZnJvc3RfbW11X3VubWFwKGJvKTsKIAogCXNwaW5fbG9j aygmcGZkZXYtPm1tX2xvY2spOwotCWRybV9tbV9yZW1vdmVfbm9kZSgmYm8tPm5vZGUpOworCWlm IChkcm1fbW1fbm9kZV9hbGxvY2F0ZWQoJmJvLT5ub2RlKSkKKwkJZHJtX21tX3JlbW92ZV9ub2Rl KCZiby0+bm9kZSk7CiAJc3Bpbl91bmxvY2soJnBmZGV2LT5tbV9sb2NrKTsKIAogCWRybV9nZW1f c2htZW1fZnJlZV9vYmplY3Qob2JqKTsKQEAgLTUwLDEwICs1MSw3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZHJtX2dlbV9vYmplY3RfZnVuY3MgcGFuZnJvc3RfZ2VtX2Z1bmNzID0gewogICovCiBz dHJ1Y3QgZHJtX2dlbV9vYmplY3QgKnBhbmZyb3N0X2dlbV9jcmVhdGVfb2JqZWN0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHNpemVfdCBzaXplKQogewotCWludCByZXQ7Ci0Jc3RydWN0IHBhbmZy b3N0X2RldmljZSAqcGZkZXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBwYW5mcm9zdF9n ZW1fb2JqZWN0ICpvYmo7Ci0JdTY0IGFsaWduOwogCiAJb2JqID0ga3phbGxvYyhzaXplb2YoKm9i aiksIEdGUF9LRVJORUwpOwogCWlmICghb2JqKQpAQCAtNjEsMjAgKzU5LDUyIEBAIHN0cnVjdCBk cm1fZ2VtX29iamVjdCAqcGFuZnJvc3RfZ2VtX2NyZWF0ZV9vYmplY3Qoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgc2l6ZV90CiAKIAlvYmotPmJhc2UuYmFzZS5mdW5jcyA9ICZwYW5mcm9zdF9nZW1f ZnVuY3M7CiAKLQlzaXplID0gcm91bmR1cChzaXplLCBQQUdFX1NJWkUpOwotCWFsaWduID0gc2l6 ZSA+PSBTWl8yTSA/IFNaXzJNID4+IFBBR0VfU0hJRlQgOiAwOworCXJldHVybiAmb2JqLT5iYXNl LmJhc2U7Cit9CisKK3N0YXRpYyBpbnQgcGFuZnJvc3RfZ2VtX21hcChzdHJ1Y3QgcGFuZnJvc3Rf ZGV2aWNlICpwZmRldiwgc3RydWN0IHBhbmZyb3N0X2dlbV9vYmplY3QgKmJvKQoreworCWludCBy ZXQ7CisJc2l6ZV90IHNpemUgPSBiby0+YmFzZS5iYXNlLnNpemU7CisJdTY0IGFsaWduID0gc2l6 ZSA+PSBTWl8yTSA/IFNaXzJNID4+IFBBR0VfU0hJRlQgOiAwOwogCiAJc3Bpbl9sb2NrKCZwZmRl di0+bW1fbG9jayk7Ci0JcmV0ID0gZHJtX21tX2luc2VydF9ub2RlX2dlbmVyaWMoJnBmZGV2LT5t bSwgJm9iai0+bm9kZSwKKwlyZXQgPSBkcm1fbW1faW5zZXJ0X25vZGVfZ2VuZXJpYygmcGZkZXYt Pm1tLCAmYm8tPm5vZGUsCiAJCQkJCSBzaXplID4+IFBBR0VfU0hJRlQsIGFsaWduLCAwLCAwKTsK IAlzcGluX3VubG9jaygmcGZkZXYtPm1tX2xvY2spOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7 CisKKwlyZXR1cm4gcGFuZnJvc3RfbW11X21hcChibyk7Cit9CisKK3N0cnVjdCBwYW5mcm9zdF9n ZW1fb2JqZWN0ICoKK3BhbmZyb3N0X2dlbV9jcmVhdGVfd2l0aF9oYW5kbGUoc3RydWN0IGRybV9m aWxlICpmaWxlX3ByaXYsCisJCQkJIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHNpemVfdCBzaXpl LAorCQkJCSB1MzIgZmxhZ3MsCisJCQkJIHVpbnQzMl90ICpoYW5kbGUpCit7CisJaW50IHJldDsK KwlzdHJ1Y3QgcGFuZnJvc3RfZGV2aWNlICpwZmRldiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3Ry dWN0IGRybV9nZW1fc2htZW1fb2JqZWN0ICpzaG1lbTsKKwlzdHJ1Y3QgcGFuZnJvc3RfZ2VtX29i amVjdCAqYm87CisKKwlzaXplID0gcm91bmR1cChzaXplLCBQQUdFX1NJWkUpOworCisJc2htZW0g PSBkcm1fZ2VtX3NobWVtX2NyZWF0ZV93aXRoX2hhbmRsZShmaWxlX3ByaXYsIGRldiwgc2l6ZSwg aGFuZGxlKTsKKwlpZiAoSVNfRVJSKHNobWVtKSkKKwkJcmV0dXJuIEVSUl9DQVNUKHNobWVtKTsK KworCWJvID0gdG9fcGFuZnJvc3RfYm8oJnNobWVtLT5iYXNlKTsKKworCXJldCA9IHBhbmZyb3N0 X2dlbV9tYXAocGZkZXYsIGJvKTsKIAlpZiAocmV0KQogCQlnb3RvIGZyZWVfb2JqOwogCi0JcmV0 dXJuICZvYmotPmJhc2UuYmFzZTsKKwlyZXR1cm4gYm87CiAKIGZyZWVfb2JqOgotCWtmcmVlKG9i aik7CisJZHJtX2dlbV9oYW5kbGVfZGVsZXRlKGZpbGVfcHJpdiwgKmhhbmRsZSk7CiAJcmV0dXJu IEVSUl9QVFIocmV0KTsKIH0KIApAQCAtODMsOCArMTEzLDEwIEBAIHBhbmZyb3N0X2dlbV9wcmlt ZV9pbXBvcnRfc2dfdGFibGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgICBzdHJ1Y3Qg ZG1hX2J1Zl9hdHRhY2htZW50ICphdHRhY2gsCiAJCQkJICAgc3RydWN0IHNnX3RhYmxlICpzZ3Qp CiB7CisJaW50IHJldDsKIAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iajsKIAlzdHJ1Y3QgcGFu ZnJvc3RfZ2VtX29iamVjdCAqcG9iajsKKwlzdHJ1Y3QgcGFuZnJvc3RfZGV2aWNlICpwZmRldiA9 IGRldi0+ZGV2X3ByaXZhdGU7CiAKIAlvYmogPSBkcm1fZ2VtX3NobWVtX3ByaW1lX2ltcG9ydF9z Z190YWJsZShkZXYsIGF0dGFjaCwgc2d0KTsKIAlpZiAoSVNfRVJSKG9iaikpCkBAIC05Miw3ICsx MjQsMTMgQEAgcGFuZnJvc3RfZ2VtX3ByaW1lX2ltcG9ydF9zZ190YWJsZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCiAJcG9iaiA9IHRvX3BhbmZyb3N0X2JvKG9iaik7CiAKLQlwYW5mcm9zdF9t bXVfbWFwKHBvYmopOworCXJldCA9IHBhbmZyb3N0X2dlbV9tYXAocGZkZXYsIHBvYmopOworCWlm IChyZXQpCisJCWdvdG8gZnJlZV9vYmo7CiAKIAlyZXR1cm4gb2JqOworCitmcmVlX29iajoKKwlk cm1fZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQob2JqKTsKKwlyZXR1cm4gRVJSX1BUUihyZXQpOwog fQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2dlbS5oIGIv ZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2dlbS5oCmluZGV4IDZkYmNhYmEwMjBm Yy4uY2UwNjUyNzA3MjBiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFu ZnJvc3RfZ2VtLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2dlbS5o CkBAIC0yMiw2ICsyMiwxMSBAQCBzdHJ1Y3QgIHBhbmZyb3N0X2dlbV9vYmplY3QgKnRvX3BhbmZy b3N0X2JvKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKQogCiBzdHJ1Y3QgZHJtX2dlbV9vYmpl Y3QgKnBhbmZyb3N0X2dlbV9jcmVhdGVfb2JqZWN0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHNp emVfdCBzaXplKTsKIAorc3RydWN0IHBhbmZyb3N0X2dlbV9vYmplY3QgKgorcGFuZnJvc3RfZ2Vt X2NyZWF0ZV93aXRoX2hhbmRsZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKKwkJCQlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCBzaXplX3Qgc2l6ZSwgdTMyIGZsYWdzLAorCQkJCXVpbnQzMl90 ICpoYW5kbGUpOworCiBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKgogcGFuZnJvc3RfZ2VtX3ByaW1l X2ltcG9ydF9zZ190YWJsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCSAgIHN0cnVjdCBk bWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaCwKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs