From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH v2 1/3] drm/atomic-helper: Implement drm_atomic_helper_duplicate_state() Date: Wed, 12 Aug 2015 16:37:28 +0200 Message-ID: <1439390250-1402-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-pd0-f172.google.com (mail-pd0-f172.google.com [209.85.192.172]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9C08B6EB7A for ; Wed, 12 Aug 2015 07:38:25 -0700 (PDT) Received: by pdco4 with SMTP id o4so8122072pdc.3 for ; Wed, 12 Aug 2015 07:38:25 -0700 (PDT) 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: Daniel Vetter List-Id: dri-devel@lists.freedesktop.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KClRoaXMgZnVuY3Rpb24g Y2FuIGJlIHVzZWQgdG8gZHVwbGljYXRlIGFuIGF0b21pYyBzdGF0ZSBvYmplY3QuIFRoaXMgaXMK dXNlZnVsIGZvciBleGFtcGxlIHRvIGltcGxlbWVudCBzdXNwZW5kL3Jlc3VtZSwgd2hlcmUgdGhl IHN0YXRlIGJlZm9yZQpzdXNwZW5kIGNhbiBiZSBzYXZlZCBhbmQgcmVzdG9yZWQgdXBvbiByZXN1 bWUuCgp2MjogbW92ZSBsb2NraW5nIHRvIGNhbGxlciwgYmUgbW9yZSBleHBsaWNpdCBhYm91dCBw cmVyZXF1aXNpdGVzCgpTaWduZWQtb2ZmLWJ5OiBUaGllcnJ5IFJlZGluZyA8dHJlZGluZ0Budmlk aWEuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIHwgODAgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX2F0b21p Y19oZWxwZXIuaCAgICAgfCAgMiArCiAyIGZpbGVzIGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKykK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCmluZGV4IGZkMDY1OTVjMmVlNS4uMWY4NGRm M2IwYTVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwpAQCAtMjM1OCw2ICsyMzU4 LDg2IEBAIGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxw ZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZSk7CiAKIC8qKgorICogZHJtX2F0b21pY19oZWxw ZXJfZHVwbGljYXRlX3N0YXRlIC0gZHVwbGljYXRlIGFuIGF0b21pYyBzdGF0ZSBvYmplY3QKKyAq IEBkZXY6IERSTSBkZXZpY2UKKyAqCisgKiBNYWtlcyBhIGNvcHkgb2YgdGhlIGN1cnJlbnQgYXRv bWljIHN0YXRlIGJ5IGxvb3Bpbmcgb3ZlciBhbGwgb2JqZWN0cyBhbmQKKyAqIGR1cGxpY2F0aW5n IHRoZWlyIHJlc3BlY3RpdmUgc3RhdGVzLiBUaGlzIGlzIHVzZWQgZm9yIGV4YW1wbGUgYnkgc3Vz cGVuZC8KKyAqIHJlc3VtZSBzdXBwb3J0IGNvZGUgdG8gc2F2ZSB0aGUgc3RhdGUgcHJpb3IgdG8g c3VzcGVuZCBzdWNoIHRoYXQgaXQgY2FuCisgKiBiZSByZXN0b3JlZCB1cG9uIHJlc3VtZS4KKyAq CisgKiBOb3RlIHRoYXQgdGhpcyB0cmVhdHMgYXRvbWljIHN0YXRlIGFzIHBlcnNpc3RlbnQgYmV0 d2VlbiBzYXZlIGFuZCByZXN0b3JlLgorICogRHJpdmVycyBtdXN0IG1ha2Ugc3VyZSB0aGF0IHRo aXMgaXMgZ3VhcmFudGVlZC4KKyAqCisgKiBDYWxscyB0byB0aGlzIGZ1bmN0aW9uIG11c3QgYmUg Z3VhcmRlZCBieSBkcm1fbW9kZXNldF9sb2NrX2FsbCgpIGFuZAorICogZHJtX21vZGVzZXRfdW5s b2NrX2FsbCgpLgorICoKKyAqIFJldHVybnM6CisgKiBBIHBvaW50ZXIgdG8gdGhlIGNvcHkgb2Yg dGhlIGF0b21pYyBzdGF0ZSBvYmplY3Qgb24gc3VjY2VzcyBvciBhbgorICogRVJSX1BUUigpLWVu Y29kZWQgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgorICovCitzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqCitkcm1fYXRvbWljX2hlbHBlcl9kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKK3sKKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7CisJc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm47CisJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7CisJc3RydWN0IGRybV9j cnRjICpjcnRjOworCWludCBlcnIgPSAwOworCisJaWYgKFdBUk5fT04oIWRldi0+bW9kZV9jb25m aWcuYWNxdWlyZV9jdHgpKQorCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKKworCXN0YXRlID0g ZHJtX2F0b21pY19zdGF0ZV9hbGxvYyhkZXYpOworCWlmICghc3RhdGUpCisJCXJldHVybiBFUlJf UFRSKC1FTk9NRU0pOworCisJc3RhdGUtPmFjcXVpcmVfY3R4ID0gZGV2LT5tb2RlX2NvbmZpZy5h Y3F1aXJlX2N0eDsKKworCWRybV9mb3JfZWFjaF9jcnRjKGNydGMsIGRldikgeworCQlzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7CisKKwkJY3J0Y19zdGF0ZSA9IGRybV9hdG9taWNf Z2V0X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOworCQlpZiAoSVNfRVJSKGNydGNfc3RhdGUpKSB7 CisJCQllcnIgPSBQVFJfRVJSKGNydGNfc3RhdGUpOworCQkJZ290byBmcmVlOworCQl9CisJfQor CisJZHJtX2Zvcl9lYWNoX3BsYW5lKHBsYW5lLCBkZXYpIHsKKwkJc3RydWN0IGRybV9wbGFuZV9z dGF0ZSAqcGxhbmVfc3RhdGU7CisKKwkJcGxhbmVfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9wbGFu ZV9zdGF0ZShzdGF0ZSwgcGxhbmUpOworCQlpZiAoSVNfRVJSKHBsYW5lX3N0YXRlKSkgeworCQkJ ZXJyID0gUFRSX0VSUihwbGFuZV9zdGF0ZSk7CisJCQlnb3RvIGZyZWU7CisJCX0KKwl9CisKKwlk cm1fZm9yX2VhY2hfY29ubmVjdG9yKGNvbm4sIGRldikgeworCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rv cl9zdGF0ZSAqY29ubl9zdGF0ZTsKKworCQljb25uX3N0YXRlID0gZHJtX2F0b21pY19nZXRfY29u bmVjdG9yX3N0YXRlKHN0YXRlLCBjb25uKTsKKwkJaWYgKElTX0VSUihjb25uX3N0YXRlKSkgewor CQkJZXJyID0gUFRSX0VSUihjb25uX3N0YXRlKTsKKwkJCWdvdG8gZnJlZTsKKwkJfQorCX0KKwor CS8qIGNsZWFyIHRoZSBhY3F1aXJlIGNvbnRleHQgc28gdGhhdCBpdCBpc24ndCBhY2NpZGVudGFs bHkgcmV1c2VkICovCisJc3RhdGUtPmFjcXVpcmVfY3R4ID0gTlVMTDsKKworZnJlZToKKwlpZiAo ZXJyIDwgMCkgeworCQlkcm1fYXRvbWljX3N0YXRlX2ZyZWUoc3RhdGUpOworCQlzdGF0ZSA9IEVS Ul9QVFIoZXJyKTsKKwl9CisKKwlyZXR1cm4gc3RhdGU7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9h dG9taWNfaGVscGVyX2R1cGxpY2F0ZV9zdGF0ZSk7CisKKy8qKgogICogX19kcm1fYXRvbWljX2hl bHBlcl9jb25uZWN0b3JfZGVzdHJveV9zdGF0ZSAtIHJlbGVhc2UgY29ubmVjdG9yIHN0YXRlCiAg KiBAY29ubmVjdG9yOiBjb25uZWN0b3Igb2JqZWN0CiAgKiBAc3RhdGU6IGNvbm5lY3RvciBzdGF0 ZSBvYmplY3QgdG8gcmVsZWFzZQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19o ZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmgKaW5kZXggNGZmZTlkY2Ew N2M0Li41ZDI3NjEyOTk3Y2UgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVs cGVyLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19oZWxwZXIuaApAQCAtMTE4LDYgKzEx OCw4IEBAIF9fZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJCQkgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rv cl9zdGF0ZSAqc3RhdGUpOwogc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKgogZHJtX2F0b21p Y19oZWxwZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKTsKK3N0cnVjdCBkcm1fYXRvbWljX3N0YXRlICoKK2RybV9hdG9taWNfaGVscGVy X2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQKIF9fZHJtX2F0 b21pY19oZWxwZXJfY29ubmVjdG9yX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvciwKIAkJCQkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZSk7 Ci0tIAoyLjQuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK