From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Liviu Dudau Date: Tue, 15 Jan 2019 17:47:42 +0000 Message-Id: <20190115174747.3138-2-liviu.dudau@arm.com> In-Reply-To: <20190115174747.3138-1-liviu.dudau@arm.com> References: <20190115174747.3138-1-liviu.dudau@arm.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v5 1/6] lib/igt_kms: Add writeback support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Brian Starkey Cc: Boris Brezillon , Petri Latvala , Intel GFX ML , IGT GPU Tools , Daniel Vetter List-ID: RnJvbTogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3RhcmtleUBhcm0uY29tPgoKQWRkIHN1cHBvcnQg aW4gaWd0X2ttcyBmb3Igd3JpdGViYWNrIGNvbm5lY3RvcnMsIHdpdGggdGhlIGFiaWxpdHkKdG8g YXR0YWNoIGZyYW1lYnVmZmVycy4KClNpZ25lZC1vZmYtYnk6IEJyaWFuIFN0YXJrZXkgPGJyaWFu LnN0YXJrZXlAYXJtLmNvbT4KW3JlYmFzZWQgYW5kIHVwZGF0ZWQgdG8gdGhlIGxhdGVzdCBpZ3Qg c3R5bGVdClNpZ25lZC1vZmYtYnk6IExpdml1IER1ZGF1IDxsaXZpdS5kdWRhdUBhcm0uY29tPgot LS0KIGxpYi9pZ3Rfa21zLmMgfCA1NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIGxpYi9pZ3Rfa21zLmggfCAgNiArKysrKysKIDIgZmlsZXMgY2hh bmdlZCwgNjMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYi9pZ3Rfa21zLmMgYi9saWIv aWd0X2ttcy5jCmluZGV4IDY4NGE1OTljYS4uMGJjMjk5NmNkIDEwMDY0NAotLS0gYS9saWIvaWd0 X2ttcy5jCisrKyBiL2xpYi9pZ3Rfa21zLmMKQEAgLTE5Nyw2ICsxOTcsOSBAQCBjb25zdCBjaGFy ICogY29uc3QgaWd0X2Nvbm5lY3Rvcl9wcm9wX25hbWVzW0lHVF9OVU1fQ09OTkVDVE9SX1BST1BT XSA9IHsKIAlbSUdUX0NPTk5FQ1RPUl9EUE1TXSA9ICJEUE1TIiwKIAlbSUdUX0NPTk5FQ1RPUl9C Uk9BRENBU1RfUkdCXSA9ICJCcm9hZGNhc3QgUkdCIiwKIAlbSUdUX0NPTk5FQ1RPUl9DT05URU5U X1BST1RFQ1RJT05dID0gIkNvbnRlbnQgUHJvdGVjdGlvbiIsCisJW0lHVF9DT05ORUNUT1JfV1JJ VEVCQUNLX1BJWEVMX0ZPUk1BVFNdID0gIldSSVRFQkFDS19QSVhFTF9GT1JNQVRTIiwKKwlbSUdU X0NPTk5FQ1RPUl9XUklURUJBQ0tfRkJfSURdID0gIldSSVRFQkFDS19GQl9JRCIsCisJW0lHVF9D T05ORUNUT1JfV1JJVEVCQUNLX09VVF9GRU5DRV9QVFJdID0gIldSSVRFQkFDS19PVVRfRkVOQ0Vf UFRSIiwKIH07CiAKIC8qCkBAIC00NTMsNiArNDU2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0 eXBlX25hbWUgY29ubmVjdG9yX3R5cGVfbmFtZXNbXSA9IHsKIAl7IERSTV9NT0RFX0NPTk5FQ1RP Ul9WSVJUVUFMLCAiVmlydHVhbCIgfSwKIAl7IERSTV9NT0RFX0NPTk5FQ1RPUl9EU0ksICJEU0ki IH0sCiAJeyBEUk1fTU9ERV9DT05ORUNUT1JfRFBJLCAiRFBJIiB9LAorCXsgRFJNX01PREVfQ09O TkVDVE9SX1dSSVRFQkFDSywgIldyaXRlYmFjayIgfSwKIAl7fQogfTsKIApAQCAtMTgwMiw2ICsx ODA2LDEyIEBAIHN0YXRpYyB2b2lkIGlndF9vdXRwdXRfcmVzZXQoaWd0X291dHB1dF90ICpvdXRw dXQpCiAJaWYgKGlndF9vdXRwdXRfaGFzX3Byb3Aob3V0cHV0LCBJR1RfQ09OTkVDVE9SX0JST0FE Q0FTVF9SR0IpKQogCQlpZ3Rfb3V0cHV0X3NldF9wcm9wX3ZhbHVlKG91dHB1dCwgSUdUX0NPTk5F Q1RPUl9CUk9BRENBU1RfUkdCLAogCQkJCQkgIEJST0FEQ0FTVF9SR0JfRlVMTCk7CisJaWYgKGln dF9vdXRwdXRfaGFzX3Byb3Aob3V0cHV0LCBJR1RfQ09OTkVDVE9SX1dSSVRFQkFDS19GQl9JRCkp CisJCWlndF9vdXRwdXRfc2V0X3Byb3BfdmFsdWUob3V0cHV0LCBJR1RfQ09OTkVDVE9SX1dSSVRF QkFDS19GQl9JRCwgMCk7CisJaWYgKGlndF9vdXRwdXRfaGFzX3Byb3Aob3V0cHV0LCBJR1RfQ09O TkVDVE9SX1dSSVRFQkFDS19PVVRfRkVOQ0VfUFRSKSkgeworCQlpZ3Rfb3V0cHV0X2NsZWFyX3By b3BfY2hhbmdlZChvdXRwdXQsIElHVF9DT05ORUNUT1JfV1JJVEVCQUNLX09VVF9GRU5DRV9QVFIp OworCQlvdXRwdXQtPndyaXRlYmFja19vdXRfZmVuY2VfZmQgPSAtMTsKKwl9CiB9CiAKIC8qKgpA QCAtMTgxNCw2ICsxODI0LDggQEAgc3RhdGljIHZvaWQgaWd0X291dHB1dF9yZXNldChpZ3Rfb3V0 cHV0X3QgKm91dHB1dCkKICAqIEZvciBvdXRwdXRzOgogICogLSAlSUdUX0NPTk5FQ1RPUl9DUlRD X0lECiAgKiAtICVJR1RfQ09OTkVDVE9SX0JST0FEQ0FTVF9SR0IgKGlmIGFwcGxpY2FibGUpCisg KiAtICVJR1RfQ09OTkVDVE9SX1dSSVRFQkFDS19GQl9JRAorICogLSAlSUdUX0NPTk5FQ1RPUl9X UklURUJBQ0tfT1VUX0ZFTkNFX1BUUgogICogLSBpZ3Rfb3V0cHV0X292ZXJyaWRlX21vZGUoKSB0 byBkZWZhdWx0LgogICoKICAqIEZvciBwaXBlczoKQEAgLTE4OTksNiArMTkxMSw4IEBAIHZvaWQg aWd0X2Rpc3BsYXlfcmVxdWlyZShpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBpbnQgZHJtX2ZkKQog CWlmIChkcm1TZXRDbGllbnRDYXAoZHJtX2ZkLCBEUk1fQ0xJRU5UX0NBUF9BVE9NSUMsIDEpID09 IDApCiAJCWRpc3BsYXktPmlzX2F0b21pYyA9IDE7CiAKKwlkcm1TZXRDbGllbnRDYXAoZHJtX2Zk LCBEUk1fQ0xJRU5UX0NBUF9XUklURUJBQ0tfQ09OTkVDVE9SUywgMSk7CisKIAlwbGFuZV9yZXNv dXJjZXMgPSBkcm1Nb2RlR2V0UGxhbmVSZXNvdXJjZXMoZGlzcGxheS0+ZHJtX2ZkKTsKIAlpZ3Rf YXNzZXJ0KHBsYW5lX3Jlc291cmNlcyk7CiAKQEAgLTIxNDcsNiArMjE2MSwxMSBAQCBzdGF0aWMg dm9pZCBpZ3Rfb3V0cHV0X2ZpbmkoaWd0X291dHB1dF90ICpvdXRwdXQpCiAJa21zdGVzdF9mcmVl X2Nvbm5lY3Rvcl9jb25maWcoJm91dHB1dC0+Y29uZmlnKTsKIAlmcmVlKG91dHB1dC0+bmFtZSk7 CiAJb3V0cHV0LT5uYW1lID0gTlVMTDsKKworCWlmIChvdXRwdXQtPndyaXRlYmFja19vdXRfZmVu Y2VfZmQgIT0gLTEpIHsKKwkJY2xvc2Uob3V0cHV0LT53cml0ZWJhY2tfb3V0X2ZlbmNlX2ZkKTsK KwkJb3V0cHV0LT53cml0ZWJhY2tfb3V0X2ZlbmNlX2ZkID0gLTE7CisJfQogfQogCiAvKioKQEAg LTMxNDQsNiArMzE2MywxMSBAQCBzdGF0aWMgdm9pZCBpZ3RfYXRvbWljX3ByZXBhcmVfY29ubmVj dG9yX2NvbW1pdChpZ3Rfb3V0cHV0X3QgKm91dHB1dCwgZHJtTW9kZUF0bwogCQkJCQkgIG91dHB1 dC0+cHJvcHNbaV0sCiAJCQkJCSAgb3V0cHV0LT52YWx1ZXNbaV0pKTsKIAl9CisKKwlpZiAob3V0 cHV0LT53cml0ZWJhY2tfb3V0X2ZlbmNlX2ZkICE9IC0xKSB7CisJCWNsb3NlKG91dHB1dC0+d3Jp dGViYWNrX291dF9mZW5jZV9mZCk7CisJCW91dHB1dC0+d3JpdGViYWNrX291dF9mZW5jZV9mZCA9 IC0xOworCX0KIH0KIAogLyoKQEAgLTMyNjQsNiArMzI4OCwxNiBAQCBkaXNwbGF5X2NvbW1pdF9j aGFuZ2VkKGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIGVudW0gaWd0X2NvbW1pdF9zdHlsZSBzKQog CQllbHNlCiAJCQkvKiBubyBtb2Rlc2V0IGluIHVuaXZlcnNhbCBjb21taXQsIG5vIGNoYW5nZSB0 byBjcnRjLiAqLwogCQkJb3V0cHV0LT5jaGFuZ2VkICY9IDEgPDwgSUdUX0NPTk5FQ1RPUl9DUlRD X0lEOworCisJCWlmIChzID09IENPTU1JVF9BVE9NSUMpIHsKKwkJCWlmIChpZ3Rfb3V0cHV0X2lz X3Byb3BfY2hhbmdlZChvdXRwdXQsIElHVF9DT05ORUNUT1JfV1JJVEVCQUNLX09VVF9GRU5DRV9Q VFIpKQorCQkJCWlndF9hc3NlcnQob3V0cHV0LT53cml0ZWJhY2tfb3V0X2ZlbmNlX2ZkID49IDAp OworCisJCQlvdXRwdXQtPnZhbHVlc1tJR1RfQ09OTkVDVE9SX1dSSVRFQkFDS19PVVRfRkVOQ0Vf UFRSXSA9IDA7CisJCQlvdXRwdXQtPnZhbHVlc1tJR1RfQ09OTkVDVE9SX1dSSVRFQkFDS19GQl9J RF0gPSAwOworCQkJaWd0X291dHB1dF9jbGVhcl9wcm9wX2NoYW5nZWQob3V0cHV0LCBJR1RfQ09O TkVDVE9SX1dSSVRFQkFDS19GQl9JRCk7CisJCQlpZ3Rfb3V0cHV0X2NsZWFyX3Byb3BfY2hhbmdl ZChvdXRwdXQsIElHVF9DT05ORUNUT1JfV1JJVEVCQUNLX09VVF9GRU5DRV9QVFIpOworCQl9CiAJ fQogCiAJaWYgKGRpc3BsYXktPmZpcnN0X2NvbW1pdCkgewpAQCAtMzg4NCw2ICszOTE4LDI5IEBA IHZvaWQgaWd0X3BpcGVfcmVxdWVzdF9vdXRfZmVuY2UoaWd0X3BpcGVfdCAqcGlwZSkKIAlpZ3Rf cGlwZV9vYmpfc2V0X3Byb3BfdmFsdWUocGlwZSwgSUdUX0NSVENfT1VUX0ZFTkNFX1BUUiwgKHB0 cmRpZmZfdCkmcGlwZS0+b3V0X2ZlbmNlX2ZkKTsKIH0KIAorLyoqCisgKiBpZ3Rfb3V0cHV0X3Nl dF93cml0ZWJhY2tfZmI6CisgKiBAb3V0cHV0OiBUYXJnZXQgb3V0cHV0CisgKiBAZmI6IFRhcmdl dCBmcmFtZWJ1ZmZlcgorICoKKyAqIFRoaXMgZnVuY3Rpb24gc2V0cyB0aGUgZ2l2ZW4gQGZiIHRv IGJlIHVzZWQgYXMgdGhlIHRhcmdldCBmcmFtZWJ1ZmZlciBmb3IgdGhlCisgKiB3cml0ZWJhY2sg ZW5naW5lIGF0IHRoZSBuZXh0IGF0b21pYyBjb21taXQuIEl0IHdpbGwgYWxzbyByZXF1ZXN0IGEg d3JpdGViYWNrCisgKiBvdXQgZmVuY2UgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIGZkIG51bWJlciBv ZiB0aGUgb3V0IGZlbmNlIGNyZWF0ZWQgYnkgS01TIGlmCisgKiB0aGUgZ2l2ZW4gQGZiIGlzIHZh bGlkLgorICovCit2b2lkIGlndF9vdXRwdXRfc2V0X3dyaXRlYmFja19mYihpZ3Rfb3V0cHV0X3Qg Km91dHB1dCwgc3RydWN0IGlndF9mYiAqZmIpCit7CisJaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSA9 IG91dHB1dC0+ZGlzcGxheTsKKworCUxPRyhkaXNwbGF5LCAiJXM6IG91dHB1dF9zZXRfd3JpdGVi YWNrX2ZiKCVkKVxuIiwgb3V0cHV0LT5uYW1lLCBmYiA/IGZiLT5mYl9pZCA6IDApOworCisJaWd0 X291dHB1dF9zZXRfcHJvcF92YWx1ZShvdXRwdXQsIElHVF9DT05ORUNUT1JfV1JJVEVCQUNLX0ZC X0lELCBmYiA/IGZiLT5mYl9pZCA6IDApOworCS8qIG9ubHkgcmVxdWVzdCBhIHdyaXRlYmFjayBv dXQgZmVuY2UgaWYgdGhlIGZyYW1lYnVmZmVyIGlzIHZhbGlkICovCisJaWYgKGZiKQorCQlpZ3Rf b3V0cHV0X3NldF9wcm9wX3ZhbHVlKG91dHB1dCwgSUdUX0NPTk5FQ1RPUl9XUklURUJBQ0tfT1VU X0ZFTkNFX1BUUiwKKwkJCQkJICAocHRyZGlmZl90KSZvdXRwdXQtPndyaXRlYmFja19vdXRfZmVu Y2VfZmQpOworfQorCiAvKioKICAqIGlndF93YWl0X2Zvcl92YmxhbmtfY291bnQ6CiAgKiBAZHJt X2ZkOiBBIGRybSBmaWxlIGRlc2NyaXB0b3IKZGlmZiAtLWdpdCBhL2xpYi9pZ3Rfa21zLmggYi9s aWIvaWd0X2ttcy5oCmluZGV4IDRhN2MzYzk3OS4uMTNkM2E5Y2ViIDEwMDY0NAotLS0gYS9saWIv aWd0X2ttcy5oCisrKyBiL2xpYi9pZ3Rfa21zLmgKQEAgLTEyMSw2ICsxMjEsOSBAQCBlbnVtIGln dF9hdG9taWNfY29ubmVjdG9yX3Byb3BlcnRpZXMgewogICAgICAgIElHVF9DT05ORUNUT1JfRFBN UywKICAgICAgICBJR1RfQ09OTkVDVE9SX0JST0FEQ0FTVF9SR0IsCiAgICAgICAgSUdUX0NPTk5F Q1RPUl9DT05URU5UX1BST1RFQ1RJT04sCisgICAgICAgSUdUX0NPTk5FQ1RPUl9XUklURUJBQ0tf UElYRUxfRk9STUFUUywKKyAgICAgICBJR1RfQ09OTkVDVE9SX1dSSVRFQkFDS19GQl9JRCwKKyAg ICAgICBJR1RfQ09OTkVDVE9SX1dSSVRFQkFDS19PVVRfRkVOQ0VfUFRSLAogICAgICAgIElHVF9O VU1fQ09OTkVDVE9SX1BST1BTCiB9OwogCkBAIC0zNTksNiArMzYyLDggQEAgdHlwZWRlZiBzdHJ1 Y3QgewogCWJvb2wgdXNlX292ZXJyaWRlX21vZGU7CiAJZHJtTW9kZU1vZGVJbmZvIG92ZXJyaWRl X21vZGU7CiAKKwlpbnQzMl90IHdyaXRlYmFja19vdXRfZmVuY2VfZmQ7CisKIAkvKiBiaXRtYXNr IG9mIGNoYW5nZWQgcHJvcGVydGllcyAqLwogCXVpbnQ2NF90IGNoYW5nZWQ7CiAKQEAgLTQwMyw2 ICs0MDgsNyBAQCBpZ3RfcGxhbmVfdCAqaWd0X291dHB1dF9nZXRfcGxhbmUoaWd0X291dHB1dF90 ICpvdXRwdXQsIGludCBwbGFuZV9pZHgpOwogaWd0X3BsYW5lX3QgKmlndF9vdXRwdXRfZ2V0X3Bs YW5lX3R5cGUoaWd0X291dHB1dF90ICpvdXRwdXQsIGludCBwbGFuZV90eXBlKTsKIGlndF9vdXRw dXRfdCAqaWd0X291dHB1dF9mcm9tX2Nvbm5lY3RvcihpZ3RfZGlzcGxheV90ICpkaXNwbGF5LAog ICAgIGRybU1vZGVDb25uZWN0b3IgKmNvbm5lY3Rvcik7Cit2b2lkIGlndF9vdXRwdXRfc2V0X3dy aXRlYmFja19mYihpZ3Rfb3V0cHV0X3QgKm91dHB1dCwgc3RydWN0IGlndF9mYiAqZmIpOwogCiBp Z3RfcGxhbmVfdCAqaWd0X3BpcGVfZ2V0X3BsYW5lX3R5cGUoaWd0X3BpcGVfdCAqcGlwZSwgaW50 IHBsYW5lX3R5cGUpOwogaWd0X291dHB1dF90ICppZ3RfZ2V0X3NpbmdsZV9vdXRwdXRfZm9yX3Bp cGUoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51bSBwaXBlIHBpcGUpOwotLSAKMi4yMC4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1h aWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK