From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: [PATCH v2 3/7] drm/panfrost: Restructure the GEM object creation Date: Wed, 24 Jul 2019 19:09:59 -0600 Message-ID: <20190725011003.30837-4-robh@kernel.org> References: <20190725011003.30837-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-f66.google.com (mail-io1-f66.google.com [209.85.166.66]) by gabe.freedesktop.org (Postfix) with ESMTPS id CD18B6E2D1 for ; Thu, 25 Jul 2019 01:10:10 +0000 (UTC) Received: by mail-io1-f66.google.com with SMTP id s7so93526115iob.11 for ; Wed, 24 Jul 2019 18:10:10 -0700 (PDT) In-Reply-To: <20190725011003.30837-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 PgpDYzogUm9iaW4gTXVycGh5IDxyb2Jpbi5tdXJwaHlAYXJtLmNvbT4KQ2M6IFN0ZXZlbiBQcmlj ZSA8c3RldmVuLnByaWNlQGFybS5jb20+CkNjOiBBbHlzc2EgUm9zZW56d2VpZyA8YWx5c3NhLnJv c2VuendlaWdAY29sbGFib3JhLmNvbT4KU2lnbmVkLW9mZi1ieTogUm9iIEhlcnJpbmcgPHJvYmhA a2VybmVsLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3RfZHJ2LmMg fCAyMSArKystLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9nZW0uYyB8 IDU4ICsrKysrKysrKysrKysrKysrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9w YW5mcm9zdF9nZW0uaCB8ICA1ICsrKwogMyBmaWxlcyBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCsp LCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3Qv cGFuZnJvc3RfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3RfZHJ2LmMK aW5kZXggY2I0M2ZmNGViZjRhLi5kMzU0YjkyOTY0ZDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZnJv c3QvcGFuZnJvc3RfZHJ2LmMKQEAgLTQ2LDI5ICs0NiwyMCBAQCBzdGF0aWMgaW50IHBhbmZyb3N0 X2lvY3RsX2dldF9wYXJhbShzdHJ1Y3QgZHJtX2RldmljZSAqZGRldiwgdm9pZCAqZGF0YSwgc3Ry dWN0CiBzdGF0aWMgaW50IHBhbmZyb3N0X2lvY3RsX2NyZWF0ZV9ibyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB2b2lkICpkYXRhLAogCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCiB7Ci0JaW50IHJl dDsKLQlzdHJ1Y3QgZHJtX2dlbV9zaG1lbV9vYmplY3QgKnNobWVtOworCXN0cnVjdCBwYW5mcm9z dF9nZW1fb2JqZWN0ICpibzsKIAlzdHJ1Y3QgZHJtX3BhbmZyb3N0X2NyZWF0ZV9ibyAqYXJncyA9 IGRhdGE7CiAKIAlpZiAoIWFyZ3MtPnNpemUgfHwgYXJncy0+ZmxhZ3MgfHwgYXJncy0+cGFkKQog CQlyZXR1cm4gLUVJTlZBTDsKIAotCXNobWVtID0gZHJtX2dlbV9zaG1lbV9jcmVhdGVfd2l0aF9o YW5kbGUoZmlsZSwgZGV2LCBhcmdzLT5zaXplLAotCQkJCQkJICZhcmdzLT5oYW5kbGUpOwotCWlm IChJU19FUlIoc2htZW0pKQotCQlyZXR1cm4gUFRSX0VSUihzaG1lbSk7Ci0KLQlyZXQgPSBwYW5m cm9zdF9tbXVfbWFwKHRvX3BhbmZyb3N0X2JvKCZzaG1lbS0+YmFzZSkpOwotCWlmIChyZXQpCi0J CWdvdG8gZXJyX2ZyZWU7CisJYm8gPSBwYW5mcm9zdF9nZW1fY3JlYXRlX3dpdGhfaGFuZGxlKGZp bGUsIGRldiwgYXJncy0+c2l6ZSwgYXJncy0+ZmxhZ3MsCisJCQkJCSAgICAgJmFyZ3MtPmhhbmRs ZSk7CisJaWYgKElTX0VSUihibykpCisJCXJldHVybiBQVFJfRVJSKGJvKTsKIAotCWFyZ3MtPm9m ZnNldCA9IHRvX3BhbmZyb3N0X2JvKCZzaG1lbS0+YmFzZSktPm5vZGUuc3RhcnQgPDwgUEFHRV9T SElGVDsKKwlhcmdzLT5vZmZzZXQgPSBiby0+bm9kZS5zdGFydCA8PCBQQUdFX1NISUZUOwogCiAJ cmV0dXJuIDA7Ci0KLWVycl9mcmVlOgotCWRybV9nZW1faGFuZGxlX2RlbGV0ZShmaWxlLCBhcmdz LT5oYW5kbGUpOwotCXJldHVybiByZXQ7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0 L3BhbmZyb3N0X2dlbS5jCmluZGV4IDU0M2FiMWI4MWJkNS4uZGY3MGRjZjNjYjJmIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3RfZ2VtLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2dlbS5jCkBAIC0yMyw3ICsyMyw4IEBAIHN0YXRp YyB2b2lkIHBhbmZyb3N0X2dlbV9mcmVlX29iamVjdChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9i aikKIAkJcGFuZnJvc3RfbW11X3VubWFwKGJvKTsKIAogCXNwaW5fbG9jaygmcGZkZXYtPm1tX2xv Y2spOwotCWRybV9tbV9yZW1vdmVfbm9kZSgmYm8tPm5vZGUpOworCWlmIChkcm1fbW1fbm9kZV9h bGxvY2F0ZWQoJmJvLT5ub2RlKSkKKwkJZHJtX21tX3JlbW92ZV9ub2RlKCZiby0+bm9kZSk7CiAJ c3Bpbl91bmxvY2soJnBmZGV2LT5tbV9sb2NrKTsKIAogCWRybV9nZW1fc2htZW1fZnJlZV9vYmpl Y3Qob2JqKTsKQEAgLTUwLDEwICs1MSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2dlbV9v YmplY3RfZnVuY3MgcGFuZnJvc3RfZ2VtX2Z1bmNzID0gewogICovCiBzdHJ1Y3QgZHJtX2dlbV9v YmplY3QgKnBhbmZyb3N0X2dlbV9jcmVhdGVfb2JqZWN0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHNpemVfdCBzaXplKQogewotCWludCByZXQ7Ci0Jc3RydWN0IHBhbmZyb3N0X2RldmljZSAqcGZk ZXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBwYW5mcm9zdF9nZW1fb2JqZWN0ICpvYmo7 Ci0JdTY0IGFsaWduOwogCiAJb2JqID0ga3phbGxvYyhzaXplb2YoKm9iaiksIEdGUF9LRVJORUwp OwogCWlmICghb2JqKQpAQCAtNjEsMjAgKzU5LDUyIEBAIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq cGFuZnJvc3RfZ2VtX2NyZWF0ZV9vYmplY3Qoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc2l6ZV90 CiAKIAlvYmotPmJhc2UuYmFzZS5mdW5jcyA9ICZwYW5mcm9zdF9nZW1fZnVuY3M7CiAKLQlzaXpl ID0gcm91bmR1cChzaXplLCBQQUdFX1NJWkUpOwotCWFsaWduID0gc2l6ZSA+PSBTWl8yTSA/IFNa XzJNID4+IFBBR0VfU0hJRlQgOiAwOworCXJldHVybiAmb2JqLT5iYXNlLmJhc2U7Cit9CisKK3N0 YXRpYyBpbnQgcGFuZnJvc3RfZ2VtX21hcChzdHJ1Y3QgcGFuZnJvc3RfZGV2aWNlICpwZmRldiwg c3RydWN0IHBhbmZyb3N0X2dlbV9vYmplY3QgKmJvKQoreworCWludCByZXQ7CisJc2l6ZV90IHNp emUgPSBiby0+YmFzZS5iYXNlLnNpemU7CisJdTY0IGFsaWduID0gc2l6ZSA+PSBTWl8yTSA/IFNa XzJNID4+IFBBR0VfU0hJRlQgOiAwOwogCiAJc3Bpbl9sb2NrKCZwZmRldi0+bW1fbG9jayk7Ci0J cmV0ID0gZHJtX21tX2luc2VydF9ub2RlX2dlbmVyaWMoJnBmZGV2LT5tbSwgJm9iai0+bm9kZSwK KwlyZXQgPSBkcm1fbW1faW5zZXJ0X25vZGVfZ2VuZXJpYygmcGZkZXYtPm1tLCAmYm8tPm5vZGUs CiAJCQkJCSBzaXplID4+IFBBR0VfU0hJRlQsIGFsaWduLCAwLCAwKTsKIAlzcGluX3VubG9jaygm cGZkZXYtPm1tX2xvY2spOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwlyZXR1cm4gcGFu ZnJvc3RfbW11X21hcChibyk7Cit9CisKK3N0cnVjdCBwYW5mcm9zdF9nZW1fb2JqZWN0ICoKK3Bh bmZyb3N0X2dlbV9jcmVhdGVfd2l0aF9oYW5kbGUoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYs CisJCQkJIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHNpemVfdCBzaXplLAorCQkJCSB1MzIgZmxh Z3MsCisJCQkJIHVpbnQzMl90ICpoYW5kbGUpCit7CisJaW50IHJldDsKKwlzdHJ1Y3QgcGFuZnJv c3RfZGV2aWNlICpwZmRldiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9nZW1fc2ht ZW1fb2JqZWN0ICpzaG1lbTsKKwlzdHJ1Y3QgcGFuZnJvc3RfZ2VtX29iamVjdCAqYm87CisKKwlz aXplID0gcm91bmR1cChzaXplLCBQQUdFX1NJWkUpOworCisJc2htZW0gPSBkcm1fZ2VtX3NobWVt X2NyZWF0ZV93aXRoX2hhbmRsZShmaWxlX3ByaXYsIGRldiwgc2l6ZSwgaGFuZGxlKTsKKwlpZiAo SVNfRVJSKHNobWVtKSkKKwkJcmV0dXJuIEVSUl9DQVNUKHNobWVtKTsKKworCWJvID0gdG9fcGFu ZnJvc3RfYm8oJnNobWVtLT5iYXNlKTsKKworCXJldCA9IHBhbmZyb3N0X2dlbV9tYXAocGZkZXYs IGJvKTsKIAlpZiAocmV0KQogCQlnb3RvIGZyZWVfb2JqOwogCi0JcmV0dXJuICZvYmotPmJhc2Uu YmFzZTsKKwlyZXR1cm4gYm87CiAKIGZyZWVfb2JqOgotCWtmcmVlKG9iaik7CisJZHJtX2dlbV9o YW5kbGVfZGVsZXRlKGZpbGVfcHJpdiwgKmhhbmRsZSk7CiAJcmV0dXJuIEVSUl9QVFIocmV0KTsK IH0KIApAQCAtODMsOCArMTEzLDEwIEBAIHBhbmZyb3N0X2dlbV9wcmltZV9pbXBvcnRfc2dfdGFi bGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgICBzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2ht ZW50ICphdHRhY2gsCiAJCQkJICAgc3RydWN0IHNnX3RhYmxlICpzZ3QpCiB7CisJaW50IHJldDsK IAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iajsKIAlzdHJ1Y3QgcGFuZnJvc3RfZ2VtX29iamVj dCAqcG9iajsKKwlzdHJ1Y3QgcGFuZnJvc3RfZGV2aWNlICpwZmRldiA9IGRldi0+ZGV2X3ByaXZh dGU7CiAKIAlvYmogPSBkcm1fZ2VtX3NobWVtX3ByaW1lX2ltcG9ydF9zZ190YWJsZShkZXYsIGF0 dGFjaCwgc2d0KTsKIAlpZiAoSVNfRVJSKG9iaikpCkBAIC05Miw3ICsxMjQsMTMgQEAgcGFuZnJv c3RfZ2VtX3ByaW1lX2ltcG9ydF9zZ190YWJsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCiAJ cG9iaiA9IHRvX3BhbmZyb3N0X2JvKG9iaik7CiAKLQlwYW5mcm9zdF9tbXVfbWFwKHBvYmopOwor CXJldCA9IHBhbmZyb3N0X2dlbV9tYXAocGZkZXYsIHBvYmopOworCWlmIChyZXQpCisJCWdvdG8g ZnJlZV9vYmo7CiAKIAlyZXR1cm4gb2JqOworCitmcmVlX29iajoKKwlkcm1fZ2VtX29iamVjdF9w dXRfdW5sb2NrZWQob2JqKTsKKwlyZXR1cm4gRVJSX1BUUihyZXQpOwogfQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2dlbS5oIGIvZHJpdmVycy9ncHUvZHJt L3BhbmZyb3N0L3BhbmZyb3N0X2dlbS5oCmluZGV4IDZkYmNhYmEwMjBmYy4uY2UwNjUyNzA3MjBi IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3RfZ2VtLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2dlbS5oCkBAIC0yMiw2ICsyMiwx MSBAQCBzdHJ1Y3QgIHBhbmZyb3N0X2dlbV9vYmplY3QgKnRvX3BhbmZyb3N0X2JvKHN0cnVjdCBk cm1fZ2VtX29iamVjdCAqb2JqKQogCiBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKnBhbmZyb3N0X2dl bV9jcmVhdGVfb2JqZWN0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHNpemVfdCBzaXplKTsKIAor c3RydWN0IHBhbmZyb3N0X2dlbV9vYmplY3QgKgorcGFuZnJvc3RfZ2VtX2NyZWF0ZV93aXRoX2hh bmRsZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKKwkJCQlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBzaXplX3Qgc2l6ZSwgdTMyIGZsYWdzLAorCQkJCXVpbnQzMl90ICpoYW5kbGUpOworCiBz dHJ1Y3QgZHJtX2dlbV9vYmplY3QgKgogcGFuZnJvc3RfZ2VtX3ByaW1lX2ltcG9ydF9zZ190YWJs ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCSAgIHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1l bnQgKmF0dGFjaCwKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVs