From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: [PATCH v4 3/9] drm/panfrost: Restructure the GEM object creation Date: Thu, 8 Aug 2019 16:21:54 -0600 Message-ID: <20190808222200.13176-4-robh@kernel.org> References: <20190808222200.13176-1-robh@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ot1-f67.google.com (mail-ot1-f67.google.com [209.85.210.67]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7BA546ECCF for ; Thu, 8 Aug 2019 22:22:07 +0000 (UTC) Received: by mail-ot1-f67.google.com with SMTP id r6so125062371oti.3 for ; Thu, 08 Aug 2019 15:22:07 -0700 (PDT) In-Reply-To: <20190808222200.13176-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 , Robin Murphy , Steven Price , David Airlie , Boris Brezillon , Alyssa Rosenzweig , Sean Paul List-Id: dri-devel@lists.freedesktop.org U2V0dGluZyB0aGUgR1BVIFZBIHdoZW4gY3JlYXRpbmcgdGhlIEdFTSBvYmplY3QgZG9lc24ndCBh bGxvdyBmb3IgYW55CmNvbmRpdGlvbmFsIGFkanVzdG1lbnRzIHRvIHRoZSBtYXBwaW5nLiBJbiBw cmVwYXJhdGlvbiB0byBzdXBwb3J0CmFkanVzdGluZyB0aGUgbWFwcGluZyBhbmQgcGVyIEZEIGFk ZHJlc3Mgc3BhY2VzLCByZXN0cnVjdHVyZSB0aGUgR0VNCm9iamVjdCBjcmVhdGlvbiB0byBtYXAg YW5kIHVubWFwIHRoZSBHRU0gb2JqZWN0IGluIHRoZSBHRU0gb2JqZWN0IC5vcGVuKCkKYW5kIC5j bG9zZSgpIGhvb2tzLgoKV2hpbGUgcGFuZnJvc3RfZ2VtX2ZyZWVfb2JqZWN0KCkgYW5kIHBhbmZy b3N0X2dlbV9wcmltZV9pbXBvcnRfc2dfdGFibGUoKQphcmUgbm90IHJlYWxseSBuZWVkZWQgYWZ0 ZXIgdGhpcyBjb21taXQsIGtlZXAgdGhlbSBhcyB3ZSdsbCBuZWVkIHRoZW0gaW4Kc3Vic2VxdWVu dCBjb21taXRzLgoKQ2M6IFRvbWV1IFZpem9zbyA8dG9tZXUudml6b3NvQGNvbGxhYm9yYS5jb20+ CkNjOiBCb3JpcyBCcmV6aWxsb24gPGJvcmlzLmJyZXppbGxvbkBjb2xsYWJvcmEuY29tPgpDYzog Um9iaW4gTXVycGh5IDxyb2Jpbi5tdXJwaHlAYXJtLmNvbT4KUmV2aWV3ZWQtYnk6IFN0ZXZlbiBQ cmljZSA8c3RldmVuLnByaWNlQGFybS5jb20+CkFja2VkLWJ5OiBBbHlzc2EgUm9zZW56d2VpZyA8 YWx5c3NhLnJvc2VuendlaWdAY29sbGFib3JhLmNvbT4KU2lnbmVkLW9mZi1ieTogUm9iIEhlcnJp bmcgPHJvYmhAa2VybmVsLm9yZz4KLS0tClN0ZXZlbiwgQWx5c3NhLCBJIGtlcHQgeW91ciB0YWdz LCBidXQgcGxlYXNlIHRha2UgYW5vdGhlciBsb29rIGFzIHRoaW5ncwptb3ZlZCBhcm91bmQgYSBi aXQgaGVyZS4KCiBkcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3RfZHJ2LmMgfCAgOSAt LS0tCiBkcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3RfZ2VtLmMgfCA2NyArKysrKysr KysrKysrKy0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDM5 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9wYW5m cm9zdF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9kcnYuYwppbmRl eCA5MjZkMDIxZWUyMDIuLjI4OTRjZmJiY2UyYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L3BhbmZyb3N0L3BhbmZyb3N0X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9w YW5mcm9zdF9kcnYuYwpAQCAtNzgsNyArNzgsNiBAQCBzdGF0aWMgaW50IHBhbmZyb3N0X2lvY3Rs X2dldF9wYXJhbShzdHJ1Y3QgZHJtX2RldmljZSAqZGRldiwgdm9pZCAqZGF0YSwgc3RydWN0CiBz dGF0aWMgaW50IHBhbmZyb3N0X2lvY3RsX2NyZWF0ZV9ibyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAogCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCiB7Ci0JaW50IHJldDsKIAlz dHJ1Y3QgZHJtX2dlbV9zaG1lbV9vYmplY3QgKnNobWVtOwogCXN0cnVjdCBkcm1fcGFuZnJvc3Rf Y3JlYXRlX2JvICphcmdzID0gZGF0YTsKCkBAIC05MCwxNyArODksOSBAQCBzdGF0aWMgaW50IHBh bmZyb3N0X2lvY3RsX2NyZWF0ZV9ibyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRh LAogCWlmIChJU19FUlIoc2htZW0pKQogCQlyZXR1cm4gUFRSX0VSUihzaG1lbSk7CgotCXJldCA9 IHBhbmZyb3N0X21tdV9tYXAodG9fcGFuZnJvc3RfYm8oJnNobWVtLT5iYXNlKSk7Ci0JaWYgKHJl dCkKLQkJZ290byBlcnJfZnJlZTsKLQogCWFyZ3MtPm9mZnNldCA9IHRvX3BhbmZyb3N0X2JvKCZz aG1lbS0+YmFzZSktPm5vZGUuc3RhcnQgPDwgUEFHRV9TSElGVDsKCiAJcmV0dXJuIDA7Ci0KLWVy cl9mcmVlOgotCWRybV9nZW1faGFuZGxlX2RlbGV0ZShmaWxlLCBhcmdzLT5oYW5kbGUpOwotCXJl dHVybiByZXQ7CiB9CgogLyoqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3Qv cGFuZnJvc3RfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3RfZ2VtLmMK aW5kZXggNjdkMzc0MTg0MzQwLi4zOTMzZjgzYmE2YjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZnJv c3QvcGFuZnJvc3RfZ2VtLmMKQEAgLTE1LDYgKzE1LDM5IEBACiAgKiBCTy4KICAqLwogc3RhdGlj IHZvaWQgcGFuZnJvc3RfZ2VtX2ZyZWVfb2JqZWN0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2Jq KQoreworCW11dGV4X2xvY2soJnBmZGV2LT5zaHJpbmtlcl9sb2NrKTsKKwlpZiAoIWxpc3RfZW1w dHkoJmJvLT5iYXNlLm1hZHZfbGlzdCkpCisJCWxpc3RfZGVsKCZiby0+YmFzZS5tYWR2X2xpc3Qp OworCW11dGV4X3VubG9jaygmcGZkZXYtPnNocmlua2VyX2xvY2spOworCisJZHJtX2dlbV9zaG1l bV9mcmVlX29iamVjdChvYmopOworfQorCitzdGF0aWMgaW50IHBhbmZyb3N0X2dlbV9vcGVuKHN0 cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKK3sK KwlpbnQgcmV0OworCXNpemVfdCBzaXplID0gb2JqLT5zaXplOworCXU2NCBhbGlnbiA9IHNpemUg Pj0gU1pfMk0gPyBTWl8yTSA+PiBQQUdFX1NISUZUIDogMDsKKwlzdHJ1Y3QgcGFuZnJvc3RfZ2Vt X29iamVjdCAqYm8gPSB0b19wYW5mcm9zdF9ibyhvYmopOworCXN0cnVjdCBwYW5mcm9zdF9kZXZp Y2UgKnBmZGV2ID0gb2JqLT5kZXYtPmRldl9wcml2YXRlOworCisJc3Bpbl9sb2NrKCZwZmRldi0+ bW1fbG9jayk7CisJcmV0ID0gZHJtX21tX2luc2VydF9ub2RlX2dlbmVyaWMoJnBmZGV2LT5tbSwg JmJvLT5ub2RlLAorCQkJCQkgc2l6ZSA+PiBQQUdFX1NISUZULCBhbGlnbiwgMCwgMCk7CisJaWYg KHJldCkKKwkJZ290byBvdXQ7CisKKwlyZXQgPSBwYW5mcm9zdF9tbXVfbWFwKGJvKTsKKwlpZiAo cmV0KQorCQlkcm1fbW1fcmVtb3ZlX25vZGUoJmJvLT5ub2RlKTsKKworb3V0OgorCXNwaW5fdW5s b2NrKCZwZmRldi0+bW1fbG9jayk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgcGFu ZnJvc3RfZ2VtX2Nsb3NlKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCBzdHJ1Y3QgZHJtX2Zp bGUgKmZpbGVfcHJpdikKIHsKIAlzdHJ1Y3QgcGFuZnJvc3RfZ2VtX29iamVjdCAqYm8gPSB0b19w YW5mcm9zdF9ibyhvYmopOwogCXN0cnVjdCBwYW5mcm9zdF9kZXZpY2UgKnBmZGV2ID0gb2JqLT5k ZXYtPmRldl9wcml2YXRlOwpAQCAtMjMsMTkgKzU2LDE1IEBAIHN0YXRpYyB2b2lkIHBhbmZyb3N0 X2dlbV9mcmVlX29iamVjdChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaikKIAkJcGFuZnJvc3Rf bW11X3VubWFwKGJvKTsKCiAJc3Bpbl9sb2NrKCZwZmRldi0+bW1fbG9jayk7Ci0JZHJtX21tX3Jl bW92ZV9ub2RlKCZiby0+bm9kZSk7CisJaWYgKGRybV9tbV9ub2RlX2FsbG9jYXRlZCgmYm8tPm5v ZGUpKQorCQlkcm1fbW1fcmVtb3ZlX25vZGUoJmJvLT5ub2RlKTsKIAlzcGluX3VubG9jaygmcGZk ZXYtPm1tX2xvY2spOwotCi0JbXV0ZXhfbG9jaygmcGZkZXYtPnNocmlua2VyX2xvY2spOwotCWlm ICghbGlzdF9lbXB0eSgmYm8tPmJhc2UubWFkdl9saXN0KSkKLQkJbGlzdF9kZWwoJmJvLT5iYXNl Lm1hZHZfbGlzdCk7Ci0JbXV0ZXhfdW5sb2NrKCZwZmRldi0+c2hyaW5rZXJfbG9jayk7Ci0KLQlk cm1fZ2VtX3NobWVtX2ZyZWVfb2JqZWN0KG9iaik7CiB9Cgogc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fZ2VtX29iamVjdF9mdW5jcyBwYW5mcm9zdF9nZW1fZnVuY3MgPSB7CiAJLmZyZWUgPSBwYW5m cm9zdF9nZW1fZnJlZV9vYmplY3QsCisJLm9wZW4gPSBwYW5mcm9zdF9nZW1fb3BlbiwKKwkuY2xv c2UgPSBwYW5mcm9zdF9nZW1fY2xvc2UsCiAJLnByaW50X2luZm8gPSBkcm1fZ2VtX3NobWVtX3By aW50X2luZm8sCiAJLnBpbiA9IGRybV9nZW1fc2htZW1fcGluLAogCS51bnBpbiA9IGRybV9nZW1f c2htZW1fdW5waW4sCkBAIC01NSwxMCArODQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9n ZW1fb2JqZWN0X2Z1bmNzIHBhbmZyb3N0X2dlbV9mdW5jcyA9IHsKICAqLwogc3RydWN0IGRybV9n ZW1fb2JqZWN0ICpwYW5mcm9zdF9nZW1fY3JlYXRlX29iamVjdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBzaXplX3Qgc2l6ZSkKIHsKLQlpbnQgcmV0OwotCXN0cnVjdCBwYW5mcm9zdF9kZXZpY2Ug KnBmZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgcGFuZnJvc3RfZ2VtX29iamVjdCAq b2JqOwotCXU2NCBhbGlnbjsKCiAJb2JqID0ga3phbGxvYyhzaXplb2YoKm9iaiksIEdGUF9LRVJO RUwpOwogCWlmICghb2JqKQpAQCAtNjYsMjEgKzkyLDcgQEAgc3RydWN0IGRybV9nZW1fb2JqZWN0 ICpwYW5mcm9zdF9nZW1fY3JlYXRlX29iamVjdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzaXpl X3QKCiAJb2JqLT5iYXNlLmJhc2UuZnVuY3MgPSAmcGFuZnJvc3RfZ2VtX2Z1bmNzOwoKLQlzaXpl ID0gcm91bmR1cChzaXplLCBQQUdFX1NJWkUpOwotCWFsaWduID0gc2l6ZSA+PSBTWl8yTSA/IFNa XzJNID4+IFBBR0VfU0hJRlQgOiAwOwotCi0Jc3Bpbl9sb2NrKCZwZmRldi0+bW1fbG9jayk7Ci0J cmV0ID0gZHJtX21tX2luc2VydF9ub2RlX2dlbmVyaWMoJnBmZGV2LT5tbSwgJm9iai0+bm9kZSwK LQkJCQkJIHNpemUgPj4gUEFHRV9TSElGVCwgYWxpZ24sIDAsIDApOwotCXNwaW5fdW5sb2NrKCZw ZmRldi0+bW1fbG9jayk7Ci0JaWYgKHJldCkKLQkJZ290byBmcmVlX29iajsKLQogCXJldHVybiAm b2JqLT5iYXNlLmJhc2U7Ci0KLWZyZWVfb2JqOgotCWtmcmVlKG9iaik7Ci0JcmV0dXJuIEVSUl9Q VFIocmV0KTsKIH0KCiBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKgpAQCAtODksMTUgKzEwMSwxMCBA QCBwYW5mcm9zdF9nZW1fcHJpbWVfaW1wb3J0X3NnX3RhYmxlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCiAJCQkJICAgc3RydWN0IHNnX3RhYmxlICpzZ3QpCiB7CiAJc3RydWN0IGRybV9nZW1fb2Jq ZWN0ICpvYmo7Ci0Jc3RydWN0IHBhbmZyb3N0X2dlbV9vYmplY3QgKnBvYmo7CgogCW9iaiA9IGRy bV9nZW1fc2htZW1fcHJpbWVfaW1wb3J0X3NnX3RhYmxlKGRldiwgYXR0YWNoLCBzZ3QpOwogCWlm IChJU19FUlIob2JqKSkKIAkJcmV0dXJuIEVSUl9DQVNUKG9iaik7CgotCXBvYmogPSB0b19wYW5m cm9zdF9ibyhvYmopOwotCi0JcGFuZnJvc3RfbW11X21hcChwb2JqKTsKLQogCXJldHVybiBvYmo7 CiB9Ci0tCjIuMjAuMQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWw=