From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 1/3] drm/atomic-helper: Implement drm_atomic_helper_duplicate_state() Date: Wed, 12 Aug 2015 17:02:23 +0200 Message-ID: <20150812150223.GD17734@phenom.ffwll.local> References: <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-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) by gabe.freedesktop.org (Postfix) with ESMTPS id B65B66EB97 for ; Wed, 12 Aug 2015 08:02:27 -0700 (PDT) Received: by wicne3 with SMTP id ne3so222251343wic.1 for ; Wed, 12 Aug 2015 08:02:26 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1439390250-1402-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: Thierry Reding Cc: Daniel Vetter , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBBdWcgMTIsIDIwMTUgYXQgMDQ6Mzc6MjhQTSArMDIwMCwgVGhpZXJyeSBSZWRpbmcg d3JvdGU6Cj4gRnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KPiAKPiBU aGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGR1cGxpY2F0ZSBhbiBhdG9taWMgc3RhdGUgb2Jq ZWN0LiBUaGlzIGlzCj4gdXNlZnVsIGZvciBleGFtcGxlIHRvIGltcGxlbWVudCBzdXNwZW5kL3Jl c3VtZSwgd2hlcmUgdGhlIHN0YXRlIGJlZm9yZQo+IHN1c3BlbmQgY2FuIGJlIHNhdmVkIGFuZCBy ZXN0b3JlZCB1cG9uIHJlc3VtZS4KPiAKPiB2MjogbW92ZSBsb2NraW5nIHRvIGNhbGxlciwgYmUg bW9yZSBleHBsaWNpdCBhYm91dCBwcmVyZXF1aXNpdGVzCj4gCj4gU2lnbmVkLW9mZi1ieTogVGhp ZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWNfaGVscGVyLmMgfCA4MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCj4gIGluY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmggICAgIHwgIDIgKwo+ICAy IGZpbGVzIGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Y19oZWxwZXIuYwo+IGluZGV4IGZkMDY1OTVjMmVlNS4uMWY4NGRmM2IwYTVkIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBAQCAtMjM1OCw2ICsyMzU4LDg2IEBAIGRybV9h dG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPiAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0 b3JfZHVwbGljYXRlX3N0YXRlKTsKPiAgCj4gIC8qKgo+ICsgKiBkcm1fYXRvbWljX2hlbHBlcl9k dXBsaWNhdGVfc3RhdGUgLSBkdXBsaWNhdGUgYW4gYXRvbWljIHN0YXRlIG9iamVjdAo+ICsgKiBA ZGV2OiBEUk0gZGV2aWNlCj4gKyAqCj4gKyAqIE1ha2VzIGEgY29weSBvZiB0aGUgY3VycmVudCBh dG9taWMgc3RhdGUgYnkgbG9vcGluZyBvdmVyIGFsbCBvYmplY3RzIGFuZAo+ICsgKiBkdXBsaWNh dGluZyB0aGVpciByZXNwZWN0aXZlIHN0YXRlcy4gVGhpcyBpcyB1c2VkIGZvciBleGFtcGxlIGJ5 IHN1c3BlbmQvCj4gKyAqIHJlc3VtZSBzdXBwb3J0IGNvZGUgdG8gc2F2ZSB0aGUgc3RhdGUgcHJp b3IgdG8gc3VzcGVuZCBzdWNoIHRoYXQgaXQgY2FuCj4gKyAqIGJlIHJlc3RvcmVkIHVwb24gcmVz dW1lLgo+ICsgKgo+ICsgKiBOb3RlIHRoYXQgdGhpcyB0cmVhdHMgYXRvbWljIHN0YXRlIGFzIHBl cnNpc3RlbnQgYmV0d2VlbiBzYXZlIGFuZCByZXN0b3JlLgo+ICsgKiBEcml2ZXJzIG11c3QgbWFr ZSBzdXJlIHRoYXQgdGhpcyBpcyBndWFyYW50ZWVkLgoKcy9ndWFyYW50ZWVkL2lzIHBvc3NpYmxl IGFuZCB3b24ndCByZXN1bHQgaW4gY29uZnVzaW9uLyBtYXliZT8KCj4gKyAqCj4gKyAqIENhbGxz IHRvIHRoaXMgZnVuY3Rpb24gbXVzdCBiZSBndWFyZGVkIGJ5IGRybV9tb2Rlc2V0X2xvY2tfYWxs KCkgYW5kCj4gKyAqIGRybV9tb2Rlc2V0X3VubG9ja19hbGwoKS4KCklmIHlvdSBwYXNzIGluIHRo ZSBhY3F1aXJlIGN0eCBleHBsaWNpdGx5IHRoaXMgaXNuJ3Qgc3RyaWN0bHkgdHJ1ZSBzaW5jZQp5 b3UncmUgdXNpbmcgdGhlIGdldF8qX3N0YXRlIGZ1bmN0aW9ucywgd2hpY2ggbWlnaHQgcmV0dXJu IC1FREVBRExLLiBTbwptYXliZSBpbnN0ZWFkOgoKIk5vdGUgdGhhdCBpZiBjYWxsZXJzIGhhdmVu J3QgYWxyZWFkeSBhY3F1aXJlZCBhbGwgbW9kZXNldCBsb2NrcyB0aGlzCm1pZ2h0IHJldHVybiAt RURFQURMSywgd2hpY2ggbXVzdCBiZSBoYW5kbGVkIGJ5IHRoZSBjYWxsZXIgdXNpbmcKcm1fbW9k ZXNldF9iYWNrb2ZmKCkuIgoKPiArICoKPiArICogUmV0dXJuczoKPiArICogQSBwb2ludGVyIHRv IHRoZSBjb3B5IG9mIHRoZSBhdG9taWMgc3RhdGUgb2JqZWN0IG9uIHN1Y2Nlc3Mgb3IgYW4KPiAr ICogRVJSX1BUUigpLWVuY29kZWQgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgo+ICsgKi8KPiArc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKgo+ICtkcm1fYXRvbWljX2hlbHBlcl9kdXBsaWNhdGVfc3Rh dGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiArewo+ICsJc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlOwo+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm47Cj4gKwlzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZTsKPiArCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiArCWludCBlcnIgPSAw Owo+ICsKPiArCWlmIChXQVJOX09OKCFkZXYtPm1vZGVfY29uZmlnLmFjcXVpcmVfY3R4KSkKPiAr CQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKPiArCj4gKwlzdGF0ZSA9IGRybV9hdG9taWNfc3Rh dGVfYWxsb2MoZGV2KTsKPiArCWlmICghc3RhdGUpCj4gKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01F TSk7Cj4gKwo+ICsJc3RhdGUtPmFjcXVpcmVfY3R4ID0gZGV2LT5tb2RlX2NvbmZpZy5hY3F1aXJl X2N0eDsKClRoZSBoaWRkZW4gYWNxdWlyZV9jdHggd2FzIGp1c3QgYSBoYWNrIHRvIGF2b2lkIG5l ZWRpbmcgdG8gcmVkbyBfYWxsXwpkcml2ZXIgZW50cnkgcG9pbnRzIGJ5IGFkZGluZyBhIGN0eCBw YXJhbWV0ZXIuIEkgd2FudCB0byByZW1vdmUgdGhpcwpsb25nLXRlcm0sIHNvIHBsZWFzZSBkb24n dCBzcHJlYWQgaXQgYW5kIGluc3RlYWQganVzdCBhZGQgYSBjdHggcGFyYW1ldGVyCnRvIHRoaXMg ZnVuY3Rpb24uCgpEaWRuJ3Qgc3BvdCBhbnl0aGluZyBlbHNlLgotRGFuaWVsCgo+ICsKPiArCWRy bV9mb3JfZWFjaF9jcnRjKGNydGMsIGRldikgewo+ICsJCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZTsKPiArCj4gKwkJY3J0Y19zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X2NydGNfc3Rh dGUoc3RhdGUsIGNydGMpOwo+ICsJCWlmIChJU19FUlIoY3J0Y19zdGF0ZSkpIHsKPiArCQkJZXJy ID0gUFRSX0VSUihjcnRjX3N0YXRlKTsKPiArCQkJZ290byBmcmVlOwo+ICsJCX0KPiArCX0KPiAr Cj4gKwlkcm1fZm9yX2VhY2hfcGxhbmUocGxhbmUsIGRldikgewo+ICsJCXN0cnVjdCBkcm1fcGxh bmVfc3RhdGUgKnBsYW5lX3N0YXRlOwo+ICsKPiArCQlwbGFuZV9zdGF0ZSA9IGRybV9hdG9taWNf Z2V0X3BsYW5lX3N0YXRlKHN0YXRlLCBwbGFuZSk7Cj4gKwkJaWYgKElTX0VSUihwbGFuZV9zdGF0 ZSkpIHsKPiArCQkJZXJyID0gUFRSX0VSUihwbGFuZV9zdGF0ZSk7Cj4gKwkJCWdvdG8gZnJlZTsK PiArCQl9Cj4gKwl9Cj4gKwo+ICsJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcihjb25uLCBkZXYpIHsK PiArCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZTsKPiArCj4gKwkJY29u bl9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29ubik7Cj4g KwkJaWYgKElTX0VSUihjb25uX3N0YXRlKSkgewo+ICsJCQllcnIgPSBQVFJfRVJSKGNvbm5fc3Rh dGUpOwo+ICsJCQlnb3RvIGZyZWU7Cj4gKwkJfQo+ICsJfQo+ICsKPiArCS8qIGNsZWFyIHRoZSBh Y3F1aXJlIGNvbnRleHQgc28gdGhhdCBpdCBpc24ndCBhY2NpZGVudGFsbHkgcmV1c2VkICovCj4g KwlzdGF0ZS0+YWNxdWlyZV9jdHggPSBOVUxMOwo+ICsKPiArZnJlZToKPiArCWlmIChlcnIgPCAw KSB7Cj4gKwkJZHJtX2F0b21pY19zdGF0ZV9mcmVlKHN0YXRlKTsKPiArCQlzdGF0ZSA9IEVSUl9Q VFIoZXJyKTsKPiArCX0KPiArCj4gKwlyZXR1cm4gc3RhdGU7Cj4gK30KPiArRVhQT1JUX1NZTUJP TChkcm1fYXRvbWljX2hlbHBlcl9kdXBsaWNhdGVfc3RhdGUpOwo+ICsKPiArLyoqCj4gICAqIF9f ZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2Rlc3Ryb3lfc3RhdGUgLSByZWxlYXNlIGNvbm5l Y3RvciBzdGF0ZQo+ICAgKiBAY29ubmVjdG9yOiBjb25uZWN0b3Igb2JqZWN0Cj4gICAqIEBzdGF0 ZTogY29ubmVjdG9yIHN0YXRlIG9iamVjdCB0byByZWxlYXNlCj4gZGlmZiAtLWdpdCBhL2luY2x1 ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljX2hlbHBl ci5oCj4gaW5kZXggNGZmZTlkY2EwN2M0Li41ZDI3NjEyOTk3Y2UgMTAwNjQ0Cj4gLS0tIGEvaW5j bHVkZS9kcm0vZHJtX2F0b21pY19oZWxwZXIuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9hdG9t aWNfaGVscGVyLmgKPiBAQCAtMTE4LDYgKzExOCw4IEBAIF9fZHJtX2F0b21pY19oZWxwZXJfY29u bmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ ICAJCQkJCSAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZSk7Cj4gIHN0cnVjdCBk cm1fY29ubmVjdG9yX3N0YXRlICoKPiAgZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2R1cGxp Y2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiArc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKgo+ICtkcm1fYXRvbWljX2hlbHBlcl9kdXBsaWNhdGVfc3RhdGUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldik7Cj4gIHZvaWQKPiAgX19kcm1fYXRvbWljX2hlbHBlcl9jb25u ZWN0b3JfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJ CQkJCSAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqc3RhdGUpOwo+IC0tIAo+IDIuNC41 Cj4gCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRp b24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWwK