From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2582B6E878 for ; Tue, 5 Nov 2019 12:23:13 +0000 (UTC) From: Arkadiusz Hiler Date: Tue, 5 Nov 2019 14:22:56 +0200 Message-ID: <20191105122259.136442-1-arkadiusz.hiler@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 1/4] 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: igt-dev@lists.freedesktop.org List-ID: RnJvbTogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3RhcmtleUBhcm0uY29tPgoKQWRkIHN1cHBvcnQg aW4gaWd0X2ttcyBmb3Igd3JpdGViYWNrIGNvbm5lY3RvcnMsIHdpdGggdGhlIGFiaWxpdHkKdG8g YXR0YWNoIGZyYW1lYnVmZmVycy4KCnY1OiBSZWJhc2UgYW5kIGFkZCBEUk1fQ0xJRU5UX0NBUF9X UklURUJBQ0tfQ09OTkVDVE9SUyBiZWZvcmUKZHJtTW9kZUdldFJlc291cmNlcygpCgpTaWduZWQt b2ZmLWJ5OiBCcmlhbiBTdGFya2V5IDxicmlhbi5zdGFya2V5QGFybS5jb20+CltyZWJhc2VkIGFu ZCB1cGRhdGVkIHRvIHRoZSBsYXRlc3QgaWd0IHN0eWxlXQpTaWduZWQtb2ZmLWJ5OiBMaXZpdSBE dWRhdSA8bGl2aXUuZHVkYXVAYXJtLmNvbT4KU2lnbmVkLW9mZi1ieTogUm9kcmlnbyBTaXF1ZWly YSA8cm9kcmlnb3NpcXVlaXJhbWVsb0BnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBTaW1vbiBTZXIg PGNvbnRhY3RAZW1lcnNpb24uZnI+ClJldmlld2VkLWJ5OiBMaXZpdSBEdWRhdSA8TGl2aXUuRHVk YXVAYXJtLmNvbT4KLS0tCiBsaWIvaWd0X2ttcy5jIHwgNTkgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBsaWIvaWd0X2ttcy5oIHwgIDYgKysrKysr CiAyIGZpbGVzIGNoYW5nZWQsIDY1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWIvaWd0 X2ttcy5jIGIvbGliL2lndF9rbXMuYwppbmRleCBlOWI4MGI5Yi4uMmQ3ZWFiYzYgMTAwNjQ0Ci0t LSBhL2xpYi9pZ3Rfa21zLmMKKysrIGIvbGliL2lndF9rbXMuYwpAQCAtNDEyLDYgKzQxMiw5IEBA IGNvbnN0IGNoYXIgKiBjb25zdCBpZ3RfY29ubmVjdG9yX3Byb3BfbmFtZXNbSUdUX05VTV9DT05O RUNUT1JfUFJPUFNdID0gewogCVtJR1RfQ09OTkVDVE9SX1ZSUl9DQVBBQkxFXSA9ICJ2cnJfY2Fw YWJsZSIsCiAJW0lHVF9DT05ORUNUT1JfSERDUF9DT05URU5UX1RZUEVdID0gIkhEQ1AgQ29udGVu dCBUeXBlIiwKIAlbSUdUX0NPTk5FQ1RPUl9MSU5LX1NUQVRVU10gPSAibGluay1zdGF0dXMiLAor CVtJR1RfQ09OTkVDVE9SX1dSSVRFQkFDS19QSVhFTF9GT1JNQVRTXSA9ICJXUklURUJBQ0tfUElY RUxfRk9STUFUUyIsCisJW0lHVF9DT05ORUNUT1JfV1JJVEVCQUNLX0ZCX0lEXSA9ICJXUklURUJB Q0tfRkJfSUQiLAorCVtJR1RfQ09OTkVDVE9SX1dSSVRFQkFDS19PVVRfRkVOQ0VfUFRSXSA9ICJX UklURUJBQ0tfT1VUX0ZFTkNFX1BUUiIsCiB9OwogCiAvKgpAQCAtNjQ0LDYgKzY0Nyw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgdHlwZV9uYW1lIGNvbm5lY3Rvcl90eXBlX25hbWVzW10gPSB7CiAJ eyBEUk1fTU9ERV9DT05ORUNUT1JfVklSVFVBTCwgIlZpcnR1YWwiIH0sCiAJeyBEUk1fTU9ERV9D T05ORUNUT1JfRFNJLCAiRFNJIiB9LAogCXsgRFJNX01PREVfQ09OTkVDVE9SX0RQSSwgIkRQSSIg fSwKKwl7IERSTV9NT0RFX0NPTk5FQ1RPUl9XUklURUJBQ0ssICJXcml0ZWJhY2siIH0sCiAJe30K IH07CiAKQEAgLTE4NTMsNiArMTg1NywxNCBAQCBzdGF0aWMgdm9pZCBpZ3Rfb3V0cHV0X3Jlc2V0 KGlndF9vdXRwdXRfdCAqb3V0cHV0KQogCWlmIChpZ3Rfb3V0cHV0X2hhc19wcm9wKG91dHB1dCwg SUdUX0NPTk5FQ1RPUl9DT05URU5UX1BST1RFQ1RJT04pKQogCQlpZ3Rfb3V0cHV0X3NldF9wcm9w X2VudW0ob3V0cHV0LCBJR1RfQ09OTkVDVE9SX0NPTlRFTlRfUFJPVEVDVElPTiwKIAkJCQkJICJV bmRlc2lyZWQiKTsKKworCWlmIChpZ3Rfb3V0cHV0X2hhc19wcm9wKG91dHB1dCwgSUdUX0NPTk5F Q1RPUl9XUklURUJBQ0tfRkJfSUQpKQorCQlpZ3Rfb3V0cHV0X3NldF9wcm9wX3ZhbHVlKG91dHB1 dCwgSUdUX0NPTk5FQ1RPUl9XUklURUJBQ0tfRkJfSUQsIDApOworCisJaWYgKGlndF9vdXRwdXRf aGFzX3Byb3Aob3V0cHV0LCBJR1RfQ09OTkVDVE9SX1dSSVRFQkFDS19PVVRfRkVOQ0VfUFRSKSkg eworCQlpZ3Rfb3V0cHV0X2NsZWFyX3Byb3BfY2hhbmdlZChvdXRwdXQsIElHVF9DT05ORUNUT1Jf V1JJVEVCQUNLX09VVF9GRU5DRV9QVFIpOworCQlvdXRwdXQtPndyaXRlYmFja19vdXRfZmVuY2Vf ZmQgPSAtMTsKKwl9CiB9CiAKIC8qKgpAQCAtMTg2Niw2ICsxODc4LDggQEAgc3RhdGljIHZvaWQg aWd0X291dHB1dF9yZXNldChpZ3Rfb3V0cHV0X3QgKm91dHB1dCkKICAqIC0gJUlHVF9DT05ORUNU T1JfQ1JUQ19JRAogICogLSAlSUdUX0NPTk5FQ1RPUl9CUk9BRENBU1RfUkdCIChpZiBhcHBsaWNh YmxlKQogICogICAlSUdUX0NPTk5FQ1RPUl9DT05URU5UX1BST1RFQ1RJT04gKGlmIGFwcGxpY2Fi bGUpCisgKiAtICVJR1RfQ09OTkVDVE9SX1dSSVRFQkFDS19GQl9JRAorICogLSAlSUdUX0NPTk5F Q1RPUl9XUklURUJBQ0tfT1VUX0ZFTkNFX1BUUgogICogLSBpZ3Rfb3V0cHV0X292ZXJyaWRlX21v ZGUoKSB0byBkZWZhdWx0LgogICoKICAqIEZvciBwaXBlczoKQEAgLTE5MzUsNiArMTk0OSw4IEBA IHZvaWQgaWd0X2Rpc3BsYXlfcmVxdWlyZShpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBpbnQgZHJt X2ZkKQogCiAJZGlzcGxheS0+ZHJtX2ZkID0gZHJtX2ZkOwogCisJZHJtU2V0Q2xpZW50Q2FwKGRy bV9mZCwgRFJNX0NMSUVOVF9DQVBfV1JJVEVCQUNLX0NPTk5FQ1RPUlMsIDEpOworCiAJcmVzb3Vy Y2VzID0gZHJtTW9kZUdldFJlc291cmNlcyhkaXNwbGF5LT5kcm1fZmQpOwogCWlmICghcmVzb3Vy Y2VzKQogCQlnb3RvIG91dDsKQEAgLTIyMjgsNiArMjI0NCwxMSBAQCBzdGF0aWMgdm9pZCBpZ3Rf b3V0cHV0X2ZpbmkoaWd0X291dHB1dF90ICpvdXRwdXQpCiAJa21zdGVzdF9mcmVlX2Nvbm5lY3Rv cl9jb25maWcoJm91dHB1dC0+Y29uZmlnKTsKIAlmcmVlKG91dHB1dC0+bmFtZSk7CiAJb3V0cHV0 LT5uYW1lID0gTlVMTDsKKworCWlmIChvdXRwdXQtPndyaXRlYmFja19vdXRfZmVuY2VfZmQgIT0g LTEpIHsKKwkJY2xvc2Uob3V0cHV0LT53cml0ZWJhY2tfb3V0X2ZlbmNlX2ZkKTsKKwkJb3V0cHV0 LT53cml0ZWJhY2tfb3V0X2ZlbmNlX2ZkID0gLTE7CisJfQogfQogCiAvKioKQEAgLTMyOTAsNiAr MzMxMSwxMSBAQCBzdGF0aWMgdm9pZCBpZ3RfYXRvbWljX3ByZXBhcmVfY29ubmVjdG9yX2NvbW1p dChpZ3Rfb3V0cHV0X3QgKm91dHB1dCwgZHJtTW9kZUF0bwogCQkJCQkgIG91dHB1dC0+cHJvcHNb aV0sCiAJCQkJCSAgb3V0cHV0LT52YWx1ZXNbaV0pKTsKIAl9CisKKwlpZiAob3V0cHV0LT53cml0 ZWJhY2tfb3V0X2ZlbmNlX2ZkICE9IC0xKSB7CisJCWNsb3NlKG91dHB1dC0+d3JpdGViYWNrX291 dF9mZW5jZV9mZCk7CisJCW91dHB1dC0+d3JpdGViYWNrX291dF9mZW5jZV9mZCA9IC0xOworCX0K IH0KIAogLyoKQEAgLTM0MTIsNiArMzQzOCwxNiBAQCBkaXNwbGF5X2NvbW1pdF9jaGFuZ2VkKGln dF9kaXNwbGF5X3QgKmRpc3BsYXksIGVudW0gaWd0X2NvbW1pdF9zdHlsZSBzKQogCQllbHNlCiAJ CQkvKiBubyBtb2Rlc2V0IGluIHVuaXZlcnNhbCBjb21taXQsIG5vIGNoYW5nZSB0byBjcnRjLiAq LwogCQkJb3V0cHV0LT5jaGFuZ2VkICY9IDEgPDwgSUdUX0NPTk5FQ1RPUl9DUlRDX0lEOworCisJ CWlmIChzID09IENPTU1JVF9BVE9NSUMpIHsKKwkJCWlmIChpZ3Rfb3V0cHV0X2lzX3Byb3BfY2hh bmdlZChvdXRwdXQsIElHVF9DT05ORUNUT1JfV1JJVEVCQUNLX09VVF9GRU5DRV9QVFIpKQorCQkJ CWlndF9hc3NlcnQob3V0cHV0LT53cml0ZWJhY2tfb3V0X2ZlbmNlX2ZkID49IDApOworCisJCQlv dXRwdXQtPnZhbHVlc1tJR1RfQ09OTkVDVE9SX1dSSVRFQkFDS19PVVRfRkVOQ0VfUFRSXSA9IDA7 CisJCQlvdXRwdXQtPnZhbHVlc1tJR1RfQ09OTkVDVE9SX1dSSVRFQkFDS19GQl9JRF0gPSAwOwor CQkJaWd0X291dHB1dF9jbGVhcl9wcm9wX2NoYW5nZWQob3V0cHV0LCBJR1RfQ09OTkVDVE9SX1dS SVRFQkFDS19GQl9JRCk7CisJCQlpZ3Rfb3V0cHV0X2NsZWFyX3Byb3BfY2hhbmdlZChvdXRwdXQs IElHVF9DT05ORUNUT1JfV1JJVEVCQUNLX09VVF9GRU5DRV9QVFIpOworCQl9CiAJfQogCiAJaWYg KGRpc3BsYXktPmZpcnN0X2NvbW1pdCkgewpAQCAtNDA4NCw2ICs0MTIwLDI5IEBAIHZvaWQgaWd0 X3BpcGVfcmVxdWVzdF9vdXRfZmVuY2UoaWd0X3BpcGVfdCAqcGlwZSkKIAlpZ3RfcGlwZV9vYmpf c2V0X3Byb3BfdmFsdWUocGlwZSwgSUdUX0NSVENfT1VUX0ZFTkNFX1BUUiwgKHB0cmRpZmZfdCkm cGlwZS0+b3V0X2ZlbmNlX2ZkKTsKIH0KIAorLyoqCisgKiBpZ3Rfb3V0cHV0X3NldF93cml0ZWJh Y2tfZmI6CisgKiBAb3V0cHV0OiBUYXJnZXQgb3V0cHV0CisgKiBAZmI6IFRhcmdldCBmcmFtZWJ1 ZmZlcgorICoKKyAqIFRoaXMgZnVuY3Rpb24gc2V0cyB0aGUgZ2l2ZW4gQGZiIHRvIGJlIHVzZWQg YXMgdGhlIHRhcmdldCBmcmFtZWJ1ZmZlciBmb3IgdGhlCisgKiB3cml0ZWJhY2sgZW5naW5lIGF0 IHRoZSBuZXh0IGF0b21pYyBjb21taXQuIEl0IHdpbGwgYWxzbyByZXF1ZXN0IGEgd3JpdGViYWNr CisgKiBvdXQgZmVuY2UgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIGZkIG51bWJlciBvZiB0aGUgb3V0 IGZlbmNlIGNyZWF0ZWQgYnkgS01TIGlmCisgKiB0aGUgZ2l2ZW4gQGZiIGlzIHZhbGlkLgorICov Cit2b2lkIGlndF9vdXRwdXRfc2V0X3dyaXRlYmFja19mYihpZ3Rfb3V0cHV0X3QgKm91dHB1dCwg c3RydWN0IGlndF9mYiAqZmIpCit7CisJaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSA9IG91dHB1dC0+ ZGlzcGxheTsKKworCUxPRyhkaXNwbGF5LCAiJXM6IG91dHB1dF9zZXRfd3JpdGViYWNrX2ZiKCVk KVxuIiwgb3V0cHV0LT5uYW1lLCBmYiA/IGZiLT5mYl9pZCA6IDApOworCisJaWd0X291dHB1dF9z ZXRfcHJvcF92YWx1ZShvdXRwdXQsIElHVF9DT05ORUNUT1JfV1JJVEVCQUNLX0ZCX0lELCBmYiA/ IGZiLT5mYl9pZCA6IDApOworCS8qIG9ubHkgcmVxdWVzdCBhIHdyaXRlYmFjayBvdXQgZmVuY2Ug aWYgdGhlIGZyYW1lYnVmZmVyIGlzIHZhbGlkICovCisJaWYgKGZiKQorCQlpZ3Rfb3V0cHV0X3Nl dF9wcm9wX3ZhbHVlKG91dHB1dCwgSUdUX0NPTk5FQ1RPUl9XUklURUJBQ0tfT1VUX0ZFTkNFX1BU UiwKKwkJCQkJICAocHRyZGlmZl90KSZvdXRwdXQtPndyaXRlYmFja19vdXRfZmVuY2VfZmQpOwor fQorCiAvKioKICAqIGlndF93YWl0X2Zvcl92YmxhbmtfY291bnQ6CiAgKiBAZHJtX2ZkOiBBIGRy bSBmaWxlIGRlc2NyaXB0b3IKZGlmZiAtLWdpdCBhL2xpYi9pZ3Rfa21zLmggYi9saWIvaWd0X2tt cy5oCmluZGV4IDcxOTNmOWE1Li45YmY3MGFjZiAxMDA2NDQKLS0tIGEvbGliL2lndF9rbXMuaAor KysgYi9saWIvaWd0X2ttcy5oCkBAIC0xMjUsNiArMTI1LDkgQEAgZW51bSBpZ3RfYXRvbWljX2Nv bm5lY3Rvcl9wcm9wZXJ0aWVzIHsKICAgICAgICBJR1RfQ09OTkVDVE9SX1ZSUl9DQVBBQkxFLAog ICAgICAgIElHVF9DT05ORUNUT1JfSERDUF9DT05URU5UX1RZUEUsCiAgICAgICAgSUdUX0NPTk5F Q1RPUl9MSU5LX1NUQVRVUywKKyAgICAgICBJR1RfQ09OTkVDVE9SX1dSSVRFQkFDS19QSVhFTF9G T1JNQVRTLAorICAgICAgIElHVF9DT05ORUNUT1JfV1JJVEVCQUNLX0ZCX0lELAorICAgICAgIElH VF9DT05ORUNUT1JfV1JJVEVCQUNLX09VVF9GRU5DRV9QVFIsCiAgICAgICAgSUdUX05VTV9DT05O RUNUT1JfUFJPUFMKIH07CiAKQEAgLTM2NSw2ICszNjgsOCBAQCB0eXBlZGVmIHN0cnVjdCB7CiAJ Ym9vbCB1c2Vfb3ZlcnJpZGVfbW9kZTsKIAlkcm1Nb2RlTW9kZUluZm8gb3ZlcnJpZGVfbW9kZTsK IAorCWludDMyX3Qgd3JpdGViYWNrX291dF9mZW5jZV9mZDsKKwogCS8qIGJpdG1hc2sgb2YgY2hh bmdlZCBwcm9wZXJ0aWVzICovCiAJdWludDY0X3QgY2hhbmdlZDsKIApAQCAtNDIzLDYgKzQyOCw3 IEBAIGlndF9wbGFuZV90ICppZ3Rfb3V0cHV0X2dldF9wbGFuZV90eXBlX2luZGV4KGlndF9vdXRw dXRfdCAqb3V0cHV0LAogaWd0X291dHB1dF90ICppZ3Rfb3V0cHV0X2Zyb21fY29ubmVjdG9yKGln dF9kaXNwbGF5X3QgKmRpc3BsYXksCiAgICAgZHJtTW9kZUNvbm5lY3RvciAqY29ubmVjdG9yKTsK IGNvbnN0IGRybU1vZGVNb2RlSW5mbyAqaWd0X3N0ZF8xMDI0X21vZGVfZ2V0KHZvaWQpOwordm9p ZCBpZ3Rfb3V0cHV0X3NldF93cml0ZWJhY2tfZmIoaWd0X291dHB1dF90ICpvdXRwdXQsIHN0cnVj dCBpZ3RfZmIgKmZiKTsKIAogaWd0X3BsYW5lX3QgKmlndF9waXBlX2dldF9wbGFuZV90eXBlKGln dF9waXBlX3QgKnBpcGUsIGludCBwbGFuZV90eXBlKTsKIGludCBpZ3RfcGlwZV9jb3VudF9wbGFu ZV90eXBlKGlndF9waXBlX3QgKnBpcGUsIGludCBwbGFuZV90eXBlKTsKLS0gCjIuMjMuMAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWls aW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2