From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: [PATCH v3 5/9] drm/crtc: Add a generic infrastructure to fake VBLANK events Date: Mon, 2 Jul 2018 14:20:16 +0200 Message-ID: <20180702122020.5921-6-boris.brezillon@bootlin.com> References: <20180702122020.5921-1-boris.brezillon@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.bootlin.com (mail.bootlin.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id 3AAF06E41A for ; Mon, 2 Jul 2018 12:20:45 +0000 (UTC) In-Reply-To: <20180702122020.5921-1-boris.brezillon@bootlin.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: David Airlie , Daniel Vetter , dri-devel@lists.freedesktop.org Cc: Liviu Dudau , Dan Carpenter , Boris Brezillon List-Id: dri-devel@lists.freedesktop.org SW4gc29tZSBjYXNlcyBDUlRDcyBhcmUgYWN0aXZlIGJ1dCBhcmUgbm90IGFibGUgdG8gZ2VuZXJh dGluZyBldmVudHMsIGF0CmxlYXN0IG5vdCBhdCBldmVyeSBmcmFtZSBhdCBpdCdzIGV4cGVjdGVk IHRvLgpUaGlzIGlzIHR5cGljYWxseSB0aGUgY2FzZSB3aGVuIHRoZSBDUlRDIGlzIGZlZWRpbmcg YSB3cml0ZWJhY2sgY29ubmVjdG9yCnRoYXQgaGFzIG5vIGpvYiBxdWV1ZWQuIEluIHRoaXMgc2l0 dWF0aW9uIHRoZSBDUlRDIGlzIHVzdWFsbHkgc3RvcHBlZAp1bnRpbCBhIG5ldyBqb2IgaXMgcXVl dWVkLCBhbmQgdGhpcyBjYW4gbGVhZCB0byB0aW1lb3V0cyB3aGVuIHBhcnQgb2YKdGhlIHBpcGVs aW5lIGlzIHVwZGF0ZWQgYnV0IG5vIG5ldyBqb2JzIGFyZSBxdWV1ZWQgdG8gdGhlIGFjdGl2ZQp3 cml0ZWJhY2sgY29ubmVjdG9yLgoKSW4gb3JkZXIgdG8gc29sdmUgdGhhdCwgd2UgYWRkIGEgLT5u b192YmxhbmsgZmxhZyB0byBkcm1fY3J0Y19zdGF0ZQphbmQgYXNrIHRoZSBDUlRDIGRyaXZlcnMg dG8gc2V0IGl0IHRvIHRydWUgd2hlbiB0aGV5IGtub3cgdGhleSdyZSBub3QKYWJsZSB0byBnZW5l cmF0ZSBWQkxBTksgZXZlbnRzLiBUaGUgY29yZSBkcm1fYXRvbWljX2hlbHBlcl9mYWtlX3ZibGFu aygpCmhlbHBlciBjYW4gdGhlbiBiZSB1c2VkIHRvIGZha2UgVkJMQU5LcyBhdCBjb21taXQgdGlt ZS4KClNpZ25lZC1vZmYtYnk6IEJvcmlzIEJyZXppbGxvbiA8Ym9yaXMuYnJlemlsbG9uQGJvb3Rs aW4uY29tPgpSZXZpZXdlZC1ieTogTGl2aXUgRHVkYXUgPGxpdml1LmR1ZGF1QGFybS5jb20+ClJl dmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgotLS0KQ2hh bmdlcyBpbiB2MzoKLSBVc2UgaW5saW5lIGRvYyBmb3IgQG5vX3ZibGFuawotIEZpeCBkcm1fYXRv bWljX2hlbHBlcl9mYWtlX3ZibGFuaygpIHRvIG9ubHkgY2hlY2sKICBuZXdfY3J0Y19zdGF0ZS0+ bm9fdmJsYW5rCi0gQWRkIFItYiB0YWdzCgpDaGFuZ2VzIGluIHYyOgotIE5ldyBwYXRjaAotLS0K IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIHwgMzkgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX2F0b21pY19oZWxwZXIuaCAg ICAgfCAgMSArCiBpbmNsdWRlL2RybS9kcm1fY3J0Yy5oICAgICAgICAgICAgICB8IDIzICsrKysr KysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKaW5kZXggZWExOWZjYzI1MmRjLi5mYzVhNGFkMWUz YjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCkBAIC0yMDUzLDYgKzIwNTMsNDUg QEAgdm9pZCBkcm1fYXRvbWljX2hlbHBlcl93YWl0X2Zvcl9kZXBlbmRlbmNpZXMoc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19o ZWxwZXJfd2FpdF9mb3JfZGVwZW5kZW5jaWVzKTsKIAorLyoqCisgKiBkcm1fYXRvbWljX2hlbHBl cl9mYWtlX3ZibGFuayAtIGZha2UgVkJMQU5LIGV2ZW50cyBpZiBuZWVkZWQKKyAqIEBvbGRfc3Rh dGU6IGF0b21pYyBzdGF0ZSBvYmplY3Qgd2l0aCBvbGQgc3RhdGUgc3RydWN0dXJlcworICoKKyAq IFRoaXMgZnVuY3Rpb24gd2Fsa3MgYWxsIENSVENzIGFuZCBmYWtlIFZCTEFOSyBldmVudHMgb24g dGhvc2Ugd2l0aAorICogJmRybV9jcnRjX3N0YXRlLm5vX3ZibGFuayBzZXQgdG8gdHJ1ZSBhbmQg JmRybV9jcnRjX3N0YXRlLmV2ZW50ICE9IE5VTEwuCisgKiBUaGUgcHJpbWFyeSB1c2Ugb2YgdGhp cyBmdW5jdGlvbiBpcyB3cml0ZWJhY2sgY29ubmVjdG9ycyB3b3JraW5nIGluIG9uZXNob3QKKyAq IG1vZGUgYW5kIGZha2luZyBWQkxBTksgZXZlbnRzLiBJbiB0aGlzIGNhc2UgdGhleSBvbmx5IGZh a2UgdGhlIFZCTEFOSyBldmVudAorICogd2hlbiBhIGpvYiBpcyBxdWV1ZWQsIGFuZCBhbnkgY2hh bmdlIHRvIHRoZSBwaXBlbGluZSB0aGF0IGRvZXMgbm90IHRvdWNoIHRoZQorICogY29ubmVjdG9y IGlzIGxlYWRpbmcgdG8gdGltZW91dHMgd2hlbiBjYWxsaW5nCisgKiBkcm1fYXRvbWljX2hlbHBl cl93YWl0X2Zvcl92YmxhbmtzKCkgb3IKKyAqIGRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9yX2Zs aXBfZG9uZSgpLgorICoKKyAqIFRoaXMgaXMgcGFydCBvZiB0aGUgYXRvbWljIGhlbHBlciBzdXBw b3J0IGZvciBub25ibG9ja2luZyBjb21taXRzLCBzZWUKKyAqIGRybV9hdG9taWNfaGVscGVyX3Nl dHVwX2NvbW1pdCgpIGZvciBhbiBvdmVydmlldy4KKyAqLwordm9pZCBkcm1fYXRvbWljX2hlbHBl cl9mYWtlX3ZibGFuayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQoreworCXN0 cnVjdCBkcm1fY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGU7CisJc3RydWN0IGRybV9jcnRjICpj cnRjOworCWludCBpOworCisJZm9yX2VhY2hfbmV3X2NydGNfaW5fc3RhdGUob2xkX3N0YXRlLCBj cnRjLCBuZXdfY3J0Y19zdGF0ZSwgaSkgeworCQl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJCWlm ICghbmV3X2NydGNfc3RhdGUtPm5vX3ZibGFuaykKKwkJCWNvbnRpbnVlOworCisJCXNwaW5fbG9j a19pcnFzYXZlKCZvbGRfc3RhdGUtPmRldi0+ZXZlbnRfbG9jaywgZmxhZ3MpOworCQlpZiAobmV3 X2NydGNfc3RhdGUtPmV2ZW50KSB7CisJCQlkcm1fY3J0Y19zZW5kX3ZibGFua19ldmVudChjcnRj LAorCQkJCQkJICAgbmV3X2NydGNfc3RhdGUtPmV2ZW50KTsKKwkJCW5ld19jcnRjX3N0YXRlLT5l dmVudCA9IE5VTEw7CisJCX0KKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmb2xkX3N0YXRlLT5k ZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsKKwl9Cit9CitFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNf aGVscGVyX2Zha2VfdmJsYW5rKTsKKwogLyoqCiAgKiBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRf aHdfZG9uZSAtIHNldHVwIHBvc3NpYmxlIG5vbmJsb2NraW5nIGNvbW1pdAogICogQG9sZF9zdGF0 ZTogYXRvbWljIHN0YXRlIG9iamVjdCB3aXRoIG9sZCBzdGF0ZSBzdHJ1Y3R1cmVzCmRpZmYgLS1n aXQgYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljX2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0 b21pY19oZWxwZXIuaAppbmRleCAyNmFhYmE1OGQ2Y2UuLjk5ZTJhNTI5N2M2OSAxMDA2NDQKLS0t IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19oZWxwZXIuaAorKysgYi9pbmNsdWRlL2RybS9kcm1f YXRvbWljX2hlbHBlci5oCkBAIC0xMDAsNiArMTAwLDcgQEAgaW50IF9fbXVzdF9jaGVjayBkcm1f YXRvbWljX2hlbHBlcl9zd2FwX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwK IGludCBkcm1fYXRvbWljX2hlbHBlcl9zZXR1cF9jb21taXQoc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlLAogCQkJCSAgIGJvb2wgbm9uYmxvY2spOwogdm9pZCBkcm1fYXRvbWljX2hlbHBl cl93YWl0X2Zvcl9kZXBlbmRlbmNpZXMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsK K3ZvaWQgZHJtX2F0b21pY19oZWxwZXJfZmFrZV92Ymxhbmsoc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlKTsKIHZvaWQgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2h3X2RvbmUoc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKIHZvaWQgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0 X2NsZWFudXBfZG9uZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwogCmRpZmYgLS1n aXQgYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAppbmRl eCAyM2VkZGJjY2FiMTAuLjE3ZjRmOTMzNDBiOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJt X2NydGMuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCkBAIC0xMTksNiArMTE5LDI5IEBA IHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSB7CiAJYm9vbCB6cG9zX2NoYW5nZWQgOiAxOwogCWJvb2wg Y29sb3JfbWdtdF9jaGFuZ2VkIDogMTsKIAorCS8qKgorCSAqIEBub192Ymxhbms6CisJICoKKwkg KiBSZWZsZWN0cyB0aGUgYWJpbGl0eSBvZiBhIENSVEMgdG8gc2VuZCBWQkxBTksgZXZlbnRzLiBU aGlzIHN0YXRlCisJICogdXN1YWxseSBkZXBlbmRzIG9uIHRoZSBwaXBlbGluZSBjb25maWd1cmF0 aW9uLCBhbmQgdGhlIG1haW4gdXN1YWdlCisJICogaXMgQ1JUQ3MgZmVlZGluZyBhIHdyaXRlYmFj ayBjb25uZWN0b3Igb3BlcmF0aW5nIGluIG9uZXNob3QgbW9kZS4KKwkgKiBJbiB0aGlzIGNhc2Ug dGhlIFZCTEFOSyBldmVudCBpcyBvbmx5IGdlbmVyYXRlZCB3aGVuIGEgam9iIGlzIHF1ZXVlZAor CSAqIHRvIHRoZSB3cml0ZWJhY2sgY29ubmVjdG9yLCBhbmQgd2Ugd2FudCB0aGUgY29yZSB0byBm YWtlIFZCTEFOSworCSAqIGV2ZW50cyB3aGVuIHRoaXMgcGFydCBvZiB0aGUgcGlwZWxpbmUgaGFz bid0IGNoYW5nZWQgYnV0IG90aGVycyBoYWQKKwkgKiBvciB3aGVuIHRoZSBDUlRDIGFuZCBjb25u ZWN0b3JzIGFyZSBiZWluZyBkaXNhYmxlZC4KKwkgKgorCSAqIF9fZHJtX2F0b21pY19oZWxwZXJf Y3J0Y19kdXBsaWNhdGVfc3RhdGUoKSB3aWxsIG5vdCByZXNldCB0aGUgdmFsdWUKKwkgKiBmcm9t IHRoZSBjdXJyZW50IHN0YXRlLCB0aGUgQ1JUQyBkcml2ZXIgaXMgdGhlbiByZXNwb25zaWJsZSBm b3IKKwkgKiB1cGRhdGluZyB0aGlzIGZpZWxkIHdoZW4gbmVlZGVkLgorCSAqCisJICogTm90ZSB0 aGF0IHRoZSBjb21iaW5hdGlvbiBvZiAmZHJtX2NydGNfc3RhdGUuZXZlbnQgPT0gTlVMTCBhbmQK KwkgKiAmZHJtX2NydGNfc3RhdGUubm9fYmxhbmsgPT0gdHJ1ZSBpcyB2YWxpZCBhbmQgdXN1YWxs eSB1c2VkIHdoZW4gdGhlCisJICogd3JpdGViYWNrIGNvbm5lY3RvciBhdHRhY2hlZCB0byB0aGUg Q1JUQyBoYXMgYSBuZXcgam9iIHF1ZXVlZC4gSW4KKwkgKiB0aGlzIGNhc2UgdGhlIGRyaXZlciB3 aWxsIHNlbmQgdGhlIFZCTEFOSyBldmVudCBvbiBpdHMgb3duIHdoZW4gdGhlCisJICogd3JpdGVi YWNrIGpvYiBpcyBjb21wbGV0ZS4KKwkgKi8KKwlib29sIG5vX3ZibGFuayA6IDE7CisKIAkvKiBh dHRhY2hlZCBwbGFuZXMgYml0bWFzazoKIAkgKiBXQVJOSU5HOiB0cmFuc2l0aW9uYWwgaGVscGVy cyBkbyBub3QgbWFpbnRhaW4gcGxhbmVfbWFzayBzbwogCSAqIGRyaXZlcnMgbm90IGNvbnZlcnRl ZCBvdmVyIHRvIGF0b21pYyBoZWxwZXJzIHNob3VsZCBub3QgcmVseQotLSAKMi4xNC4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK