From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC PATCH 04/11] drm: Add __drm_framebuffer_remove_atomic Date: Tue, 11 Oct 2016 17:51:36 +0200 Message-ID: <20161011155136.GG20761@phenom.ffwll.local> References: <1476197648-24918-1-git-send-email-brian.starkey@arm.com> <1476197648-24918-5-git-send-email-brian.starkey@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qk0-x244.google.com (mail-qk0-x244.google.com [IPv6:2607:f8b0:400d:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id BE8B76E6BF for ; Tue, 11 Oct 2016 15:51:41 +0000 (UTC) Received: by mail-qk0-x244.google.com with SMTP id v138so1735417qka.2 for ; Tue, 11 Oct 2016 08:51:41 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1476197648-24918-5-git-send-email-brian.starkey@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Brian Starkey Cc: liviu.dudau@arm.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, hverkuil@xs4all.nl, linux-media@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBPY3QgMTEsIDIwMTYgYXQgMDM6NTQ6MDFQTSArMDEwMCwgQnJpYW4gU3RhcmtleSB3 cm90ZToKPiBJbXBsZW1lbnQgdGhlIENSVEMvUGxhbmUgZGlzYWJsZSBmdW5jdGlvbmFsaXR5IG9m IGRybV9mcmFtZWJ1ZmZlcl9yZW1vdmUKPiB1c2luZyB0aGUgYXRvbWljIEFQSSwgYW5kIHVzZSBp dCBpZiBwb3NzaWJsZS4KPiAKPiBGb3IgYXRvbWljIGRyaXZlcnMsIHRoaXMgcmVtb3ZlcyB0aGUg cG9zc2liaWxpdHkgb2Ygc2V2ZXJhbCBjb21taXRzIHdoZW4KPiBhIGZyYW1lYnVmZmVyIGlzIGlu IHVzZSBieSBtb3JlIHRoYW4gb25lIENSVEMvcGxhbmUuCj4gCj4gQWRkaXRpb25hbGx5LCB0aGlz IHdpbGwgcHJvdmlkZSBhIHN1aXRhYmxlIHBsYWNlIHRvIHN1cHBvcnQgdGhlIHJlbW92YWwKPiBv ZiBhIGZyYW1lYnVmZmVyIGZyb20gYSB3cml0ZWJhY2sgY29ubmVjdG9yLCBpbiB0aGUgY2FzZSB0 aGF0IGEKPiB3cml0ZWJhY2sgY29ubmVjdG9yIGlzIHN0aWxsIGFjdGl2ZWx5IHVzaW5nIGEgZnJh bWVidWZmZXIgd2hlbiBpdCBpcwo+IHJlbW92ZWQgYnkgdXNlcnNwYWNlLgo+IAo+IFNpZ25lZC1v ZmYtYnk6IEJyaWFuIFN0YXJrZXkgPGJyaWFuLnN0YXJrZXlAYXJtLmNvbT4KCkp1c3QgdGhlIHNt YWxsIGNvbW1lbnQgaGVyZTogTGFzdCB0aW1lIGFyb3VuZCBJIHdhbnRlZCB0b2xhbmQgYW4gYXRv bWljCmRpc2FibGUgZnVuY3Rpb24gZm9yIGZiIHJlbW92ZSBjb2RlIGl0IGJsZXcgdXAuIE5lZWQg dG8gY2hlY2sgb3V0IGdpdApoaXN0b3J5IHRvIG1ha2Ugc3VyZSB3ZSd2ZSBhZGRyZXNzZWQgdGhv c2UgaXNzZXMuICBDYXZlYXQgZW1wZXJvciA7LSkKLURhbmllbAoKPiAtLS0KPiAgZHJpdmVycy9n cHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jIHwgIDE1NCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystCj4gIDEgZmlsZSBjaGFuZ2VkLCAxNTIgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZl ci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jCj4gaW5kZXggNTI4Zjc1ZC4u YjAyY2Y3MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMKPiBAQCAtMjIsNiArMjIs NyBAQAo+ICAKPiAgI2luY2x1ZGUgPGxpbnV4L2V4cG9ydC5oPgo+ICAjaW5jbHVkZSA8ZHJtL2Ry bVAuaD4KPiArI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJt X2F1dGguaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fZnJhbWVidWZmZXIuaD4KPiAgCj4gQEAgLTc5 NSw2ICs3OTYsMTQ4IEBAIHZvaWQgZHJtX2ZyYW1lYnVmZmVyX2NsZWFudXAoc3RydWN0IGRybV9m cmFtZWJ1ZmZlciAqZmIpCj4gIEVYUE9SVF9TWU1CT0woZHJtX2ZyYW1lYnVmZmVyX2NsZWFudXAp Owo+ICAKPiAgLyoqCj4gKyAqIF9fZHJtX2ZyYW1lYnVmZmVyX3JlbW92ZV9hdG9taWMgLSBhdG9t aWMgdmVyc2lvbiBvZiBfX2RybV9mcmFtZWJ1ZmZlcl9yZW1vdmUKPiArICogQGRldjogZHJtIGRl dmljZQo+ICsgKiBAZmI6IGZyYW1lYnVmZmVyIHRvIHJlbW92ZQo+ICsgKgo+ICsgKiBJZiB0aGUg ZHJpdmVyIGltcGxlbWVudHMgdGhlIGF0b21pYyBBUEksIHdlIGNhbiBoYW5kbGUgdGhlIGRpc2Fi bGluZyBvZiBhbGwKPiArICogQ1JUQ3MvcGxhbmVzIHdoaWNoIHVzZSBhIGZyYW1lYnVmZmVyIHdo aWNoIGlzIGdvaW5nIGF3YXkgaW4gYSBzaW5nbGUgYXRvbWljCj4gKyAqIGNvbW1pdC4KPiArICoK PiArICogVGhpcyBzY2FucyBhbGwgQ1JUQ3MgYW5kIHBsYW5lcyBpbiBAZGV2J3MgbW9kZV9jb25m aWcuIElmIHRoZXkncmUgdXNpbmcgQGZiLAo+ICsgKiBpdCBpcyByZW1vdmVkIGFuZCB0aGUgQ1JU Qy9wbGFuZSBkaXNhYmxlZC4KPiArICogVGhlIGxlZ2FjeSByZWZlcmVuY2VzIGFyZSBkcm9wcGVk IGFuZCB0aGUgLT5mYiBwb2ludGVycyBzZXQgdG8gTlVMTAo+ICsgKiBhY2NvcmRpbmdseS4KPiAr ICoKPiArICogUmV0dXJuczoKPiArICogdHJ1ZSBpZiB0aGUgZnJhbWVidWZmZXIgd2FzIHN1Y2Nl c3NmdWxseSByZW1vdmVkIGZyb20gdXNlCj4gKyAqLwo+ICtzdGF0aWMgYm9vbCBfX2RybV9mcmFt ZWJ1ZmZlcl9yZW1vdmVfYXRvbWljKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gKwkJc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqZmIpCj4gK3sKPiArCXN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJl X2N0eCBjdHg7Cj4gKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gKwlzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZTsKPiArCXN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3I7Cj4gKwlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKPiArCXN0cnVjdCBkcm1f Y3J0YyAqY3J0YzsKPiArCXVuc2lnbmVkIHBsYW5lX21hc2s7Cj4gKwlpbnQgaSwgcmV0Owo+ICsK PiArCWRybV9tb2Rlc2V0X2FjcXVpcmVfaW5pdCgmY3R4LCAwKTsKPiArCj4gKwlzdGF0ZSA9IGRy bV9hdG9taWNfc3RhdGVfYWxsb2MoZGV2KTsKPiArCWlmICghc3RhdGUpCj4gKwkJcmV0dXJuIGZh bHNlOwo+ICsKPiArCXN0YXRlLT5hY3F1aXJlX2N0eCA9ICZjdHg7Cj4gKwo+ICtyZXRyeToKPiAr CWRybV9mb3JfZWFjaF9jcnRjKGNydGMsIGRldikgewo+ICsJCXN0cnVjdCBkcm1fcGxhbmVfc3Rh dGUgKnByaW1hcnlfc3RhdGU7Cj4gKwkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRl Owo+ICsKPiArCQlwcmltYXJ5X3N0YXRlID0gZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoc3Rh dGUsIGNydGMtPnByaW1hcnkpOwo+ICsJCWlmIChJU19FUlIocHJpbWFyeV9zdGF0ZSkpIHsKPiAr CQkJcmV0ID0gUFRSX0VSUihwcmltYXJ5X3N0YXRlKTsKPiArCQkJZ290byBmYWlsOwo+ICsJCX0K PiArCj4gKwkJaWYgKHByaW1hcnlfc3RhdGUtPmZiICE9IGZiKQo+ICsJCQljb250aW51ZTsKPiAr Cj4gKwkJY3J0Y19zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X2NydGNfc3RhdGUoc3RhdGUsIGNydGMp Owo+ICsJCWlmIChJU19FUlIoY3J0Y19zdGF0ZSkpIHsKPiArCQkJcmV0ID0gUFRSX0VSUihjcnRj X3N0YXRlKTsKPiArCQkJZ290byBmYWlsOwo+ICsJCX0KPiArCj4gKwkJLyogT25seSBoYW5kbGUg dGhlIENSVEMgaXRzZWxmIGhlcmUsIGhhbmRsZSB0aGUgcGxhbmUgbGF0ZXIgKi8KPiArCQlyZXQg PSBkcm1fYXRvbWljX3NldF9tb2RlX2Zvcl9jcnRjKGNydGNfc3RhdGUsIE5VTEwpOwo+ICsJCWlm IChyZXQgIT0gMCkKPiArCQkJZ290byBmYWlsOwo+ICsKPiArCQljcnRjX3N0YXRlLT5hY3RpdmUg PSBmYWxzZTsKPiArCj4gKwkJLyogR2V0IHRoZSBjb25uZWN0b3JzIGluIG9yZGVyIHRvIGRpc2Fi bGUgdGhlbSAqLwo+ICsJCXJldCA9IGRybV9hdG9taWNfYWRkX2FmZmVjdGVkX2Nvbm5lY3RvcnMo c3RhdGUsIGNydGMpOwo+ICsJCWlmIChyZXQpCj4gKwkJCWdvdG8gZmFpbDsKPiArCX0KPiArCj4g KwlwbGFuZV9tYXNrID0gMDsKPiArCWRybV9mb3JfZWFjaF9wbGFuZShwbGFuZSwgZGV2KSB7Cj4g KwkJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7Cj4gKwo+ICsJCXBsYW5lX3N0 YXRlID0gZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoc3RhdGUsIHBsYW5lKTsKPiArCQlpZiAo SVNfRVJSKHBsYW5lX3N0YXRlKSkgewo+ICsJCQlyZXQgPSBQVFJfRVJSKHBsYW5lX3N0YXRlKTsK PiArCQkJZ290byBmYWlsOwo+ICsJCX0KPiArCj4gKwkJaWYgKHBsYW5lX3N0YXRlLT5mYiAhPSBm YikKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCXBsYW5lLT5vbGRfZmIgPSBwbGFuZS0+ZmI7Cj4g KwkJcGxhbmVfbWFzayB8PSAxIDw8IGRybV9wbGFuZV9pbmRleChwbGFuZSk7Cj4gKwo+ICsJCS8q Cj4gKwkJICogT3Blbi1jb2RlZCBjb3B5IG9mIF9fZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9w bGFuZSB0byBhdm9pZAo+ICsJCSAqIGEgZGVwZW5kZW5jeSBvbiBhdG9taWMtaGVscGVyCj4gKwkJ ICovCj4gKwkJcmV0ID0gZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfcGxhbmUocGxhbmVfc3RhdGUs IE5VTEwpOwo+ICsJCWlmIChyZXQgIT0gMCkKPiArCQkJZ290byBmYWlsOwo+ICsKPiArCQlkcm1f YXRvbWljX3NldF9mYl9mb3JfcGxhbmUocGxhbmVfc3RhdGUsIE5VTEwpOwo+ICsJCXBsYW5lX3N0 YXRlLT5jcnRjX3ggPSAwOwo+ICsJCXBsYW5lX3N0YXRlLT5jcnRjX3kgPSAwOwo+ICsJCXBsYW5l X3N0YXRlLT5jcnRjX3cgPSAwOwo+ICsJCXBsYW5lX3N0YXRlLT5jcnRjX2ggPSAwOwo+ICsJCXBs YW5lX3N0YXRlLT5zcmNfeCA9IDA7Cj4gKwkJcGxhbmVfc3RhdGUtPnNyY195ID0gMDsKPiArCQlw bGFuZV9zdGF0ZS0+c3JjX3cgPSAwOwo+ICsJCXBsYW5lX3N0YXRlLT5zcmNfaCA9IDA7Cj4gKwl9 Cj4gKwo+ICsJLyogQWxsIG9mIHRoZSBjb25uZWN0b3JzIGluIHN0YXRlIG5lZWQgZGlzYWJsaW5n ICovCj4gKwlmb3JfZWFjaF9jb25uZWN0b3JfaW5fc3RhdGUoc3RhdGUsIGNvbm5lY3RvciwgY29u bl9zdGF0ZSwgaSkgewo+ICsJCXJldCA9IGRybV9hdG9taWNfc2V0X2NydGNfZm9yX2Nvbm5lY3Rv cihjb25uX3N0YXRlLAo+ICsJCQkJCQkJTlVMTCk7Cj4gKwkJaWYgKHJldCkKPiArCQkJZ290byBm YWlsOwo+ICsJfQo+ICsKPiArCWlmIChXQVJOX09OKCFwbGFuZV9tYXNrKSkgewo+ICsJCURSTV9F UlJPUigiQ291bGRuJ3QgZmluZCBhbnkgdXNhZ2Ugb2YgW0ZCOiVkXVxuIiwgZmItPmJhc2UuaWQp Owo+ICsJCXJldCA9IC1FTk9FTlQ7Cj4gKwkJZ290byBmYWlsOwo+ICsJfQo+ICsKPiArCXJldCA9 IGRybV9hdG9taWNfY29tbWl0KHN0YXRlKTsKPiArCj4gK2ZhaWw6Cj4gKwlkcm1fYXRvbWljX2Ns ZWFuX29sZF9mYihkZXYsIHBsYW5lX21hc2ssIHJldCk7Cj4gKwo+ICsJaWYgKHJldCA9PSAtRURF QURMSykKPiArCQlnb3RvIGJhY2tvZmY7Cj4gKwo+ICsJaWYgKHJldCAhPSAwKQo+ICsJCWRybV9h dG9taWNfc3RhdGVfZnJlZShzdGF0ZSk7Cj4gKwo+ICsJZHJtX21vZGVzZXRfZHJvcF9sb2Nrcygm Y3R4KTsKPiArCWRybV9tb2Rlc2V0X2FjcXVpcmVfZmluaSgmY3R4KTsKPiArCj4gKwlyZXR1cm4g cmV0ID8gZmFsc2UgOiB0cnVlOwo+ICsKPiArYmFja29mZjoKPiArCWRybV9hdG9taWNfc3RhdGVf Y2xlYXIoc3RhdGUpOwo+ICsJZHJtX21vZGVzZXRfYmFja29mZigmY3R4KTsKPiArCj4gKwlnb3Rv IHJldHJ5Owo+ICt9Cj4gKwo+ICsvKioKPiAgICogX19kcm1fZnJhbWVidWZmZXJfcmVtb3ZlIC0g cmVtb3ZlIGFsbCB1c2FnZSBvZiBhIGZyYW1lYnVmZmVyIG9iamVjdAo+ICAgKiBAZGV2OiBkcm0g ZGV2aWNlCj4gICAqIEBmYjogZnJhbWVidWZmZXIgdG8gcmVtb3ZlCj4gQEAgLTg2OSw5ICsxMDEy LDE2IEBAIHZvaWQgZHJtX2ZyYW1lYnVmZmVyX3JlbW92ZShzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy ICpmYikKPiAgCSAqIGluLXVzZSBmYiB3aXRoIGZiLWlkID09IDAuIFVzZXJzcGFjZSBpcyBhbGxv d2VkIHRvIHNob290IGl0cyBvd24gZm9vdAo+ICAJICogaW4gdGhpcyBtYW5uZXIuCj4gIAkgKi8K PiAtCWlmIChkcm1fZnJhbWVidWZmZXJfcmVhZF9yZWZjb3VudChmYikgPiAxKQo+IC0JCWlmICgh X19kcm1fZnJhbWVidWZmZXJfcmVtb3ZlKGRldiwgZmIpKQo+ICsJaWYgKGRybV9mcmFtZWJ1ZmZl cl9yZWFkX3JlZmNvdW50KGZiKSA+IDEpIHsKPiArCQlib29sIHJlbW92ZWQ7Cj4gKwkJaWYgKGRl di0+bW9kZV9jb25maWcuZnVuY3MtPmF0b21pY19jb21taXQpCj4gKwkJCXJlbW92ZWQgPSBfX2Ry bV9mcmFtZWJ1ZmZlcl9yZW1vdmVfYXRvbWljKGRldiwgZmIpOwo+ICsJCWVsc2UKPiArCQkJcmVt b3ZlZCA9IF9fZHJtX2ZyYW1lYnVmZmVyX3JlbW92ZShkZXYsIGZiKTsKPiArCj4gKwkJaWYgKCFy ZW1vdmVkKQo+ICAJCQlEUk1fRVJST1IoImZhaWxlZCB0byByZW1vdmUgZmIgZnJvbSBhY3RpdmUg dXNhZ2VcbiIpOwo+ICsJfQo+ICAKPiAgCWRybV9mcmFtZWJ1ZmZlcl91bnJlZmVyZW5jZShmYik7 Cj4gIH0KPiAtLSAKPiAxLjcuOS41Cj4gCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdp bmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==