From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: [RFC 0/7+1] Add in-kernel vblank delaying mechanism Date: Wed, 19 Nov 2014 17:47:07 -0200 Message-ID: <1416426435-2237-1-git-send-email-przanoni@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org, Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org RnJvbTogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+CgpIaQoKLS0tClRM O0RSIHN1bW1hcnk6Ckkgd3JvdGUgcGF0Y2hlcy4gSGVscCBtZSBjaG9vc2UgdGhlIGJlc3QgaW1w bGVtZW50YXRpb24gYW5kIGludGVyZmFjZS4KLS0tCgpTbyB0aGUgaTkxNS5rbyBkcml2ZXIgY291 bGQgdXNlIHNvbWUgbWVjaGFuaXNtIHRvIHJ1biBmdW5jdGlvbnMgYWZ0ZXIgYSBnaXZlbgpudW1i ZXIgb2YgdmJsYW5rcy4gSW1wbGVtZW50YXRpb25zIGZvciB0aGlzIG1lY2hhbmlzbSB3ZXJlIGFs cmVhZHkgcHJvcG9zZWQgaW4KdGhlIHBhc3QgKGJ5IENocmlzIFdpbHNvbiBhbmQgb3RoZXJzKSwg YnV0IHRoZXkgd2VyZSBpOTE1LXNwZWNpZmljIGluc3RlYWQgb2YgYQpnZW5lcmljIGRybS5rbyBp bXBsZW1lbnRhdGlvbi4gV2UgZXZlbiBoYWQgcGF0Y2hlcyB0aGF0IG1ha2UgdXNlIG9mIHRoaXMg bmV3Cm1lY2hhbmlzbS4KClNpbmNlIHRoaXMgaXMgdmVyeSBzaW1pbGFyIHRvIHRoZSB2Ymxhbmsg SU9DVEwgd2UgY3VycmVudGx5IGhhdmUsIGJ1dCB3aXRoIHRoZQpjYWxsZXIgYmVpbmcgYSBLZXJu ZWwgbW9kdWxlIGluc3RlYWQgb2YgdXNlciBzcGFjZSwgSSBkZWNpZGVkIHRvIHdyaXRlIGFuCmlt cGxlbWVudGF0aW9uIHRoYXQgdHJpZXMgdG8gcmV1c2UgdGhlIGN1cnJlbnQgSU9DVEwgaW5mcmFz dHJ1Y3R1cmUuCgpJbiB0aGUgZmlyc3QgcGF0Y2ggd2UgYWRkIGFsbCB0aGUgbmVjZXNzYXJ5IGNv ZGUgdG8gYWxsb3cgdGhlIG1vZHVsZXMgdG8gY2FsbAp0aGUgdmJsYW5rIGlvY3RsIGZyb20gS2Vy bmVsIHNwYWNlOiB0aGV5IHByb3ZpZGUgYSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IGlzCmdvaW5n IHRvIGJlIGNhbGxlZCBpbnN0ZWFkIG9mIHRoZSB0cmFkaXRpb25hbCBzZW5kX3ZibGFua19ldmVu dCgpLCB3aGljaCBtZWFucwp0aGUgS2VybmVsIGNhbGxlcnMgZG9uJ3QgaGF2ZSB0byBkZWFsIHdp dGggdGhlIGZpbGUgZGVzY3JpcHRvcnMgYW5kIERSTSBldmVudHMuCgpJbiB0aGUgc2Vjb25kIHBh dGNoIHdlIGFkZCBhIHNpbXBsZSBleHRlbnNpb24gb2YgdGhlIGZlYXR1cmUsIHRvIGFsbG93IHRo ZQpkcml2ZXJzIHRvIGhhdmUgdGhlaXIgY2FsbGJhY2tzIGNhbGxlZCBpbiBhIG5vbi1hdG9taWMg Y29udGV4dC4KCkluIGFsbCB0aGUgb3RoZXIgc3Vic2VxdWVudCBwYXRjaGVzIHdlIHJld29yayB0 aGUgdW5kZXJseWluZyBjb2RlIHNvIHRoYXQKdGhlIGNvbW1vbiBhc3BlY3RzIGJldHdlZW4gdGhl IHVzZXIgc3BhY2UgdmJsYW5rIElPQ1RMIGFuZCB0aGUgS2VybmVsIGludGVyZmFjZQphcmUgYWxs IHN0b3JlZCBpbiBhIHNpbmdsZSBzdHJ1Y3R1cmUgKHN0cnVjdCBkcm1fdmJsYW5rX3dhaXRfaXRl bSksIGFuZCB0aGVuCmFueXRoaW5nIHRoYXQgaXMgc3BlY2lmaWMgdG8gdGhlIGRpZmZlcmVudCB1 c2VycyBpcyBzdG9yZWQgaW4gYSBzdHJ1Y3R1cmUgdGhhdApjb250YWlucyBzdHJ1Y3QgZHJtX3Zi bGFua193YWl0X2l0ZW0uIFRoaXMgd2F5LCBtb3N0IG9mIHRoZSBkcm0ua28gY29kZSBvbmx5Cm5l ZWRzIHRvIGRlYWwgd2l0aCBzdHJ1Y3QgZHJtX3ZibGFua193YWl0X2l0ZW0sIG5vdCByZWFsbHkg a25vd2luZyBob3cgaXQgaXMKd3JhcHBlZC4gVGhlIGFkdmFudGFnZSBvZiB0aGlzIHJld29yayBp cyB0aGF0IGl0IHJlZHVjZXMgdGhlIG51bWJlciBvZiBtZW1vcnkKYWxsb2NhdGlvbnMgbmVlZGVk IGluIHNvbWUgY2FzZXMgKGZyb20gMiB0byAxKSBhbmQgaXQgYWxzbyByZWR1Y2VzIHRoZSBhbW91 bnQgb2YKbWVtb3J5IHVzZWQgb24gZWFjaCBhbGxvY2F0aW9uLgoKQnV0IHdoaWxlIHRoaXMgYWxs IHNvdW5kcyBuaWNlIGluIHRoZSBhYm92ZSBkZXNjcmlwdGlvbiwgSSBoYWQgdGhlIGZlZWxpbmcg dGhhdAp0aGlzIGFkZHMgYSBsb3Qgb2YgY29tcGxleGl0eSBhbmQgbWFrZXMgdGhlIGNvZGUgbm90 LXNvLWJlYXV0aWZ1bC4gSWYgd2UgZXZlcgpuZWVkIG1vcmUgZXh0ZW5zaW9ucy9vcHRpb25zIHRv IHRoaXMgZmVhdHVyZSwgd2UncmUgZ29pbmcgdG8gaGF2ZSB0byB1bnRhbmdsZQp0aGUgY29kZSBl dmVuIG1vcmUgZnJvbSB0aGUgSU9DVEwgcGFydC4gV2UgYWxzbyBoYXZlIGEgc21hbGwgImFic3Ry YWN0aW9uIGJyZWFrIgppbiBjaGFuZ2UgaW50cm9kdWNlZCBpbiBwYXRjaCA2LiBBbmQgdGhlcmUn cyB0aGUgcmlzayB0aGF0IHNvbWUgb2YgdGhlIHJld29ya3MKbWF5IGhhdmUgYWRkZWQgYSByZWdy ZXNzaW9uIHNvbWV3aGVyZS4KCkJhc2VkIG9uIHRoYXQsIEkgZGVjaWRlZCB0byBhbHNvIHByb3Zp ZGUgYW4gYWx0ZXJuYXRpdmUgaW1wbGVtZW50YXRpb24uIEluIHRoaXMKaW1wbGVtZW50YXRpb24g d2UgYWRkIGEgbmV3IGRldi0+dmJsYW5rX2tlcm5lbF9saXN0IGluc3RlYWQgb2YgcmV1c2luZwpk ZXYtPnZibGFua19ldmVudF9saXN0LCBhbmQgYWRkIG5ldyBjb2RlIHRvIGhhbmRsZSB0aGF0IHRo aXMuIFRoaXMgbmV3IGNvZGUgaXMKY29tcGxldGVseSBiYXNlZCBvbiB0aGUgY29kZSB0aGF0IGhh bmRsZXMgZGV2LT52Ymxhbmtfa2VybmVsX2xpc3QsIHNvIHRoZXJlJ3MKc29tZSBkdXBsaWNhdGlv biBoZXJlLiBPbiB0aGUgb3RoZXIgaGFuZCwgc2luY2UgdGhlIGluLUtlcm5lbCBpbmZyYXN0cnVj dHVyZSBpcwpub3QgdGllZCB0byB0aGUgSU9DVEwgc3RydWN0dXJlLCB3ZSBjYW4gdmVyeSBlYXNp bHkgZ3JvdyBhbmQgYWRhcHQgdGhlIEtlcm5lbApjb2RlIHdpdGhvdXQgaGF2aW5nIHRvIGZpZ2h0 IGFnYWluc3QgdGhlIElPQ1RMIGNvZGUuIEFuZCB0aGUgcmlzayBvZiByZWdyZXNzaW9ucwppcyBn cmVhdGx5IHJlZHVjZWQuCgpUaGUgc2Vjb25kIGRpZmZlcmVuY2Ugb2YgdGhpcyBhbHRlcm5hdGl2 ZSBpbXBsZW1lbnRhdGlvbiBpcyB0aGUgc2lnbmF0dXJlIG9mIHRoZQpkcm1fd2FpdF92Ymxhbmtf a2VybmVsKCkgZnVuY3Rpb24uIFdoaWxlIGl0IGNvdWxkIGJlIGV4YWN0bHkgdGhlIHNhbWUgYXMg dGhlIG9uZQp1c2VkIGluIHRoZSBvdGhlciBzZXJpZXMsIEkgZGVjaWRlZCB0byBtYWtlIGl0IGRp ZmZlcmVudCBzbyB3ZSBjYW4gYWxzbyBjaG9vc2UKd2hpY2ggb25lIHRvIHVzZS4gSW4gdGhlIDct cGF0Y2ggc2VyaWVzIGltcGxlbWVudGF0aW9uLCBhbGwgdGhlIHVzZXIgbmVlZHMgdG8gZG8KaXMg dG8gYWxsb2NhdGUgdGhlIHN0cnVjdHVyZSwgYW5kIGNhbGwgdGhlIGZ1bmN0aW9uLCBwcm9wZXJs eSBzZXR0aW5nIGFsbCBpdHMKYXJndW1lbnRzLiBUaGVuIHRoZSBmdW5jdGlvbiBpcyByZXNwb25z aWJsZSBmb3IgcGFyc2luZyB0aGUgYXJndW1lbnRzIGFuZApwb3B1bGF0aW5nIHRoZSBzdHJ1Y3R1 cmUgYmFzZWQgb24gdGhhdC4gT24gdGhlIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9uLCB0aGUK dXNlciBoYXMgdG8gZmlsbCB0aGUgc3RydWN0dXJlIHdpdGggdGhlIGFwcHJvcHJpYXRlIGFyZ3Vt ZW50cywgYW5kIHRoZW4gY2FsbApkcm1fd2FpdF92Ymxhbmtfa2VybmVsKCkgcGFzc2luZyBqdXN0 IHRoZSBhbGxvY2F0ZWQgc3RydWN0dXJlIGFzIGFuIGFyZ3VtZW50LgoKSWYgeW91IG5vdGljZSwg eW91IHdpbGwgc2VlIHRoYXQgdGhlc2UgcGF0Y2hlcyBhZGQgYSBuZXcgZGVidWdmcyBmaWxlIHRv Cmk5MTUua28uIFRoaXMgZmlsZSBpcyBqdXN0IGEgdmVyeSBzaW1wbGUgZXhhbXBsZSB1c2VyIG9m IHRoZSBuZXcgaW50ZXJmYWNlLAp3aGljaCBJIHVzZWQgd2hpbGUgZGV2ZWxvcGluZy4gSWYgeW91 IGhhdmUgZGlmZmljdWx0eSB1bmRlcnN0YW5kaW5nIHRoZSBuZXcKaW50ZXJmYWNlLCBwbGVhc2Ug YWxzbyBsb29rIGF0IHRoZSBpOTE1L2k5MTVfZGVidWdmcy5jIGRpZmYuIE9mIGNvdXJzZSwgSSBw bGFuCnRvIGV4Y2x1ZGUgdGhpcyBkZWJ1Z2ZzIGludGVyZmFjZSBmcm9tIHRoZSBmaW5hbCB0by1i ZS1tZXJnZWQgcGF0Y2hlcy4KClNvLCBpbiBzdW1tYXJ5LCB3ZSBoYXZlIGEgZmV3IHRoaW5ncyB3 ZSBuZWVkIHRvIGRpc2N1c3M6CgogMS4gV2hpY2ggaW1wbGVtZW50YXRpb24gdG8gdXNlPwoKICAg YS4gSnVzdCB0aGUgMiBmaXJzdCBwYXRjaGVzIG9mIHRoZSA3LXBhdGNoIHNlcmllcz8KICAgICAg UHJvczoKICAgICAgICAtIHRoZSBLZXJuZWwgdXNlcnMgYmFzaWNhbGx5IGNhbGwgdGhlIHZibGFu ayBJT0NUTAogICAgICAgIC0gdGhlIGNvZGUgY2hhbmdlcyBhcmUgbWluaW1hbAogICAgIENvbnM6 CiAgICAgICAgLSBUaGUgYW1vdW50IG9mIG1lbW9yeSBhbGxvY2F0aW9ucyBhbmQgbWVtb3J5IHNw YWNlIGNvbnN1bWVkIGlzIG5vdAogICAgICAgICAgb3B0aW1hbAoKICAgYi4gVGhlIGZ1bGwgNy1w YXRjaCBzZXJpZXM/CiAgICAgIFByb3M6CiAgICAgICAgLSBUaGUgc2FtZSBiYWNrZW5kIGlzIHVz ZWQgZm9yIGJvdGggdGhlIEtlcm5lbCBhbmQgSU9DVEwuCiAgICAgIENvbnM6CiAgICAgICAgLSBU aGUgY29kZSBnZXRzIG1vcmUgY29tcGxleC4KICAgICAgICAtIEV4dGVuZGluZyB0aGUgS2VybmVs IGludGVyZmFjZSBjYW4gZ2V0IGNvbXBsaWNhdGVkIGR1ZSB0byB0aGUgZmFjdAogICAgICAgICAg dGhhdCBpdCBzaGFyZXMgY29kZSB3aXRoIHRoZSBJT0NUTCBpbnRlcmZhY2UuCiAgICAgICAgLSBJ IGRpZG4ndCByZWFsbHkgbGlrZSB0aGlzIHNvbHV0aW9uLgoKICAgYy4gVGhlIGFsdGVybmF0aXZl IGltcGxlbWVudGF0aW9uIEkgd3JvdGU/CiAgICAgIFByb3M6CiAgICAgICAgLSBJdCdzIGluZGVw ZW5kZW50IGZyb20gdGhlIElPQ1RMIGNvZGUsIG1ha2luZyBmdXJ0aGVyIHBhdGNoZXMgZWFzaWVy LgogICAgICBDb25zOgogICAgICAgIC0gVGhlcmUgaXMgc29tZSBkdXBsaWNhdGVkIGNvZGUuCgog ICBkLiBTb21ldGhpbmcgdG90YWxseSBkaWZmZXJlbnQgZnJvbSB0aGVzZSBhbHRlcm5hdGl2ZXM/ CgogMi4gSG93IHNob3VsZCB0aGUgZHJpdmVyIGludGVyZmFjZSBsb29rIGxpa2U/CgogICBhLiBB bGwgdGhlIHBvc3NpYmlsaXRpZXMgYXJlIHBhc3NlZCB0aHJvdWdoIHRoZSBmdW5jdGlvbiBjYWxs LCBzbyB0aGUgZHJtLmtvCiAgICAgIGNvZGUgbmVlZHMgdG8gc2V0IHRoZSBzdHJ1Y3QgbWVtYmVy cyBpdHNlbGYuCiAgIGIuIFRoZSBjYWxsZXIgYWxyZWFkeSBzZXRzIHRoZSBzdHJ1Y3QgbWVtYmVy cyBpbnN0ZWFkIG9mIHBhc3NpbmcgdGhlbSBhcwogICAgICBwYXJhbWV0ZXJzIHRvIHRoZSBmdW5j dGlvbi4KICAgYy4gU29tZXRoaW5nIGRpZmZlcmVudD8KCkFsbCB0aGVzZSBwYXRjaGVzIGFyZSBi YXNlZCBvbiB0b3Agb2YgRGFuaWVsIFZldHRlcidzIGRybS1pbnRlbC1uaWdodGx5IHRyZWUuCkl0 J3MgYWxsIGp1c3QgYW4gUkZDLCBzbyBkb24ndCBleHBlY3Qgc29tZXRoaW5nIHZlcnkgd2VsbCB0 ZXN0ZWQuCgpGbGFtZXdhcnMgYW5kIGJpa2VzaGVkZGluZyBhcmUgd2VsY29tZSEKClRoYW5rcywK UGF1bG8KClBhdWxvIFphbm9uaSAoNyk6CgogIC0gRmlyc3QgaW1wbGVtZW50YXRpb246CiAgZHJt OiBhbGxvdyB0aGUgZHJpdmVycyB0byBjYWxsIHRoZSB2YmxhbmsgSU9DVEwgaW50ZXJuYWxseQog IGRybTogYWxsb3cgZHJtX3dhaXRfdmJsYW5rX2tlcm5lbCgpIGNhbGxiYWNrIGZyb20gd29ya3F1 ZXVlcwogIGRybTogaW50cm9kdWNlIHN0cnVjdCBkcm1fdmJsYW5rX3dhaXRfaXRlbQogIGRybTog YWRkIHdhbnRlZF9zZXEgdG8gZHJtX3ZibGFua193YWl0X2l0ZW0KICBkcm06IGNoYW5nZSB0aGUg ZHJtIHZibGFuayBjYWxsYmFjayBpdGVtIHR5cGUKICBkcm06IG1ha2UgdmJsYW5rX2V2ZW50X2xp c3QgaGFuZGxlIGRybV92Ymxhbmtfd2FpdF9pdGVtIHR5cGVzCiAgZHJtOiBtYWtlIHRoZSBjYWxs ZXJzIG9mIGRybV93YWl0X3ZibGFuaygpIGFsbG9jYXRlIHRoZSBtZW1vcnkKCiAgLSBBbHRlcm5h dGl2ZSBpbXBsZW1lbnRhdGlvbjoKICBkcm06IGFkZCBhIG1lY2hhbmlzbSBmb3IgZHJpdmVycyB0 byBzY2hlZHVsZSB2YmxhbmsgY2FsbGJhY2tzCgpTdGF0cyBmb3Igb25seSB0aGUgZmlyc3QgaW1w bGVtZW50YXRpb246CgogZHJpdmVycy9ncHUvZHJtL2RybV9mb3BzLmMgICAgICAgICAgfCAgMTUg KystCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMgICAgICAgICB8ICAgMiArLQogZHJpdmVy cy9ncHUvZHJtL2RybV9pcnEuYyAgICAgICAgICAgfCAxNzggKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyB8ICA5 MCArKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvZHJtL2RybVAuaCAgICAgICAgICAgICAgICAg IHwgIDM1ICsrKysrKy0KIDUgZmlsZXMgY2hhbmdlZCwgMjY0IGluc2VydGlvbnMoKyksIDU2IGRl bGV0aW9ucygtKQoKLS0gCjIuMS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=