From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4DF8F6EA1C for ; Tue, 5 Nov 2019 12:23:40 +0000 (UTC) From: Arkadiusz Hiler Date: Tue, 5 Nov 2019 14:22:59 +0200 Message-ID: <20191105122259.136442-4-arkadiusz.hiler@intel.com> In-Reply-To: <20191105122259.136442-1-arkadiusz.hiler@intel.com> References: <20191105122259.136442-1-arkadiusz.hiler@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 4/4] kms_writeback: Add writeback-check-output 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: RnJvbTogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3RhcmtleUBhcm0uY29tPgoKQWRkIGEgdGVzdCB3 aGljaCBtYWtlcyBjb21taXRzIHVzaW5nIHRoZSB3cml0ZWJhY2sgY29ubmVjdG9yLCBhbmQKY2hl Y2tzIHRoZSBvdXRwdXQgYnVmZmVyIGhhc2ggdG8gbWFrZSBzdXJlIGl0IGlzL2lzbid0IHdyaXR0 ZW4gYXMKYXBwcm9wcmlhdGUuCgpWNjogU2ltb24gU2VyCiAtIEFkZCBpZ3QgZG9jdW1lbnRhdGlv biB3aXRoIGlndF9kZXNjcmliZQogLSBSZXBsYWNlIGludCByZXQgYnkgdW5zaWduZWQgaW50IGZk X2lkIHdoZW4gY2FsbGluZyBpZ3RfY3JlYXRlX2ZiCiAtIEFkZCBhIGRlc2NyaXB0aXZlIGVycm9y IG1lc3NhZ2UgaWYgc3luY19mZW5jZV93YWl0IGZhaWwKIC0gUmVwbGFjZSBjb2xvcl9pZHggdmFy aWFibGUgYnkgaQogLSBVc2UgaW5fZmIgaW5zdGVhZCBvZiBvdXRfZmIgZm9yIGdldHRpbmcgdGhl IGV4cGVjdGVkIENSQwogLSBEcm9wIHVubmVjZXNzYXJ5IHBhcmVudGhlc2VzCiAtIFJlcGxhY2Ug aWd0X2ZiX21vZF90b190aWxpbmcgdG8gRFJNX0ZPUk1BVF9NT0RfTElORUFSCgpTaWduZWQtb2Zm LWJ5OiBCcmlhbiBTdGFya2V5IDxicmlhbi5zdGFya2V5QGFybS5jb20+CltyZWJhc2VkIGFuZCB1 cGRhdGVkIHRoZSBwYXRjaCB0byBhZGRyZXNzIGZlZWRiYWNrXQpTaWduZWQtb2ZmLWJ5OiBSb2Ry aWdvIFNpcXVlaXJhIDxyb2RyaWdvc2lxdWVpcmFtZWxvQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6 IExpdml1IER1ZGF1IDxMaXZpdS5EdWRhdUBhcm0uY29tPgotLS0KIHRlc3RzL2ttc193cml0ZWJh Y2suYyB8IDEyMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEg ZmlsZSBjaGFuZ2VkLCAxMjMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc193 cml0ZWJhY2suYyBiL3Rlc3RzL2ttc193cml0ZWJhY2suYwppbmRleCBhMzczZWM0ZC4uMDY4NTk1 YjkgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ttc193cml0ZWJhY2suYworKysgYi90ZXN0cy9rbXNfd3Jp dGViYWNrLmMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJpZ3QuaCIKICNpbmNsdWRlICJp Z3RfY29yZS5oIgogI2luY2x1ZGUgImlndF9mYi5oIgorI2luY2x1ZGUgInN3X3N5bmMuaCIKIAog SUdUX1RFU1RfREVTQ1JJUFRJT04oIkV4ZXJjaXNlIHdyaXRlYmFjayBmZWF0dXJlLiIpOwogCkBA IC0xOTYsNiArMTk3LDExNSBAQCBzdGF0aWMgdm9pZCB3cml0ZWJhY2tfdGVzdF9mYihpZ3Rfb3V0 cHV0X3QgKm91dHB1dCwgaWd0X2ZiX3QgKnZhbGlkX2ZiLCBpZ3RfZmJfdAogCWlndF9hc3NlcnQo cmV0ID09IC1FSU5WQUwpOwogfQogCitzdGF0aWMgdm9pZCBmaWxsX2ZiKGlndF9mYl90ICpmYiwg ZG91YmxlIGNvbG9yWzNdKQoreworCWNhaXJvX3QgKmNyID0gaWd0X2dldF9jYWlyb19jdHgoZmIt PmZkLCBmYik7CisJaWd0X2Fzc2VydChjcik7CisKKwlpZ3RfcGFpbnRfY29sb3IoY3IsIDAsIDAs IGZiLT53aWR0aCwgZmItPmhlaWdodCwKKwkJCWNvbG9yWzBdLCBjb2xvclsxXSwgY29sb3JbMl0p OworfQorCitzdGF0aWMgdm9pZCBnZXRfYW5kX3dhaXRfb3V0X2ZlbmNlKGlndF9vdXRwdXRfdCAq b3V0cHV0KQoreworCWludCByZXQ7CisKKwlpZ3RfYXNzZXJ0KG91dHB1dC0+d3JpdGViYWNrX291 dF9mZW5jZV9mZCA+PSAwKTsKKworCXJldCA9IHN5bmNfZmVuY2Vfd2FpdChvdXRwdXQtPndyaXRl YmFja19vdXRfZmVuY2VfZmQsIDEwMDApOworCWlndF9hc3NlcnRfZihyZXQgPT0gMCwgInN5bmNf ZmVuY2Vfd2FpdCBmYWlsZWQ6ICVzXG4iLCBzdHJlcnJvcigtcmV0KSk7CisJY2xvc2Uob3V0cHV0 LT53cml0ZWJhY2tfb3V0X2ZlbmNlX2ZkKTsKKwlvdXRwdXQtPndyaXRlYmFja19vdXRfZmVuY2Vf ZmQgPSAtMTsKK30KKworc3RhdGljIHZvaWQgd3JpdGViYWNrX3NlcXVlbmNlKGlndF9vdXRwdXRf dCAqb3V0cHV0LCBpZ3RfcGxhbmVfdCAqcGxhbmUsCisJCQkJaWd0X2ZiX3QgKmluX2ZiLCBpZ3Rf ZmJfdCAqb3V0X2Zic1tdLCBpbnQgbl9jb21taXRzKQoreworCWludCBpOworCWRvdWJsZSBpbl9m Yl9jb2xvcnNbMl1bM10gPSB7CisJCXsgMS4wLCAwLjAsIDAuMCB9LAorCQl7IDAuMCwgMS4wLCAw LjAgfSwKKwl9OworCWRvdWJsZSBjbGVhcl9jb2xvclszXSA9IHsgMS4wLCAxLjAsIDEuMCB9Owor CWlndF9jcmNfdCBjbGVhcmVkX2NyYywgb3V0X2V4cGVjdGVkOworCisJZm9yIChpID0gMDsgaSA8 IG5fY29tbWl0czsgaSsrKSB7CisJCS8qIENoYW5nZSB0aGUgaW5wdXQgY29sb3IgZWFjaCB0aW1l ICovCisJCWZpbGxfZmIoaW5fZmIsIGluX2ZiX2NvbG9yc1tpICUgMl0pOworCisJCWlmIChvdXRf ZmJzW2ldKSB7CisJCQlpZ3RfY3JjX3Qgb3V0X2JlZm9yZTsKKworCQkJLyogR2V0IHRoZSBleHBl Y3RlZCBDUkMgKi8KKwkJCWlndF9mYl9nZXRfY3JjKGluX2ZiLCAmb3V0X2V4cGVjdGVkKTsKKwor CQkJZmlsbF9mYihvdXRfZmJzW2ldLCBjbGVhcl9jb2xvcik7CisJCQlpZiAoaSA9PSAwKQorCQkJ CWlndF9mYl9nZXRfY3JjKG91dF9mYnNbaV0sICZjbGVhcmVkX2NyYyk7CisJCQlpZ3RfZmJfZ2V0 X2NyYyhvdXRfZmJzW2ldLCAmb3V0X2JlZm9yZSk7CisJCQlpZ3RfYXNzZXJ0X2NyY19lcXVhbCgm Y2xlYXJlZF9jcmMsICZvdXRfYmVmb3JlKTsKKwkJfQorCisJCS8qIENvbW1pdCAqLworCQlpZ3Rf cGxhbmVfc2V0X2ZiKHBsYW5lLCBpbl9mYik7CisJCWlndF9vdXRwdXRfc2V0X3dyaXRlYmFja19m YihvdXRwdXQsIG91dF9mYnNbaV0pOworCisJCWlndF9kaXNwbGF5X2NvbW1pdF9hdG9taWMob3V0 cHV0LT5kaXNwbGF5LAorCQkJCQkgIERSTV9NT0RFX0FUT01JQ19BTExPV19NT0RFU0VULAorCQkJ CQkgIE5VTEwpOworCQlpZiAob3V0X2Zic1tpXSkKKwkJCWdldF9hbmRfd2FpdF9vdXRfZmVuY2Uo b3V0cHV0KTsKKworCQkvKiBNYWtlIHN1cmUgdGhlIG9sZCBvdXRwdXQgYnVmZmVyIGlzIHVudG91 Y2hlZCAqLworCQlpZiAoaSA+IDAgJiYgb3V0X2Zic1tpIC0gMV0gJiYgb3V0X2Zic1tpXSAhPSBv dXRfZmJzW2kgLSAxXSkgeworCQkJaWd0X2NyY190IG91dF9wcmV2OworCQkJaWd0X2ZiX2dldF9j cmMob3V0X2Zic1tpIC0gMV0sICZvdXRfcHJldik7CisJCQlpZ3RfYXNzZXJ0X2NyY19lcXVhbCgm Y2xlYXJlZF9jcmMsICZvdXRfcHJldik7CisJCX0KKworCQkvKiBNYWtlIHN1cmUgdGhpcyBvdXRw dXQgYnVmZmVyIGlzIHdyaXR0ZW4gKi8KKwkJaWYgKG91dF9mYnNbaV0pIHsKKwkJCWlndF9jcmNf dCBvdXRfYWZ0ZXI7CisJCQlpZ3RfZmJfZ2V0X2NyYyhvdXRfZmJzW2ldLCAmb3V0X2FmdGVyKTsK KwkJCWlndF9hc3NlcnRfY3JjX2VxdWFsKCZvdXRfZXhwZWN0ZWQsICZvdXRfYWZ0ZXIpOworCisJ CQkvKiBBbmQgY2xlYXIgaXQsIGZvciB0aGUgbmV4dCB0aW1lICovCisJCQlmaWxsX2ZiKG91dF9m YnNbaV0sIGNsZWFyX2NvbG9yKTsKKwkJfQorCX0KK30KKworc3RhdGljIHZvaWQgd3JpdGViYWNr X2NoZWNrX291dHB1dChpZ3Rfb3V0cHV0X3QgKm91dHB1dCwgaWd0X3BsYW5lX3QgKnBsYW5lLAor CQkJCSAgIGlndF9mYl90ICppbnB1dF9mYiwgaWd0X2ZiX3QgKm91dHB1dF9mYikKK3sKKwlpZ3Rf ZmJfdCAqb3V0X2Zic1syXSA9IHsgMCB9OworCWlndF9mYl90IHNlY29uZF9vdXRfZmI7CisJdW5z aWduZWQgaW50IGZiX2lkOworCisJLyogT25lIGNvbW1pdCwgd2l0aCBhIHdyaXRlYmFjay4gKi8K Kwl3cml0ZWJhY2tfc2VxdWVuY2Uob3V0cHV0LCBwbGFuZSwgaW5wdXRfZmIsICZvdXRwdXRfZmIs IDEpOworCisJLyogVHdvIGNvbW1pdHMsIHRoZSBzZWNvbmQgd2l0aCBubyB3cml0ZWJhY2sgKi8K KwlvdXRfZmJzWzBdID0gb3V0cHV0X2ZiOworCXdyaXRlYmFja19zZXF1ZW5jZShvdXRwdXQsIHBs YW5lLCBpbnB1dF9mYiwgb3V0X2ZicywgMik7CisKKwkvKiBUd28gY29tbWl0cywgYm90aCB3aXRo IHdyaXRlYmFjayAqLworCW91dF9mYnNbMV0gPSBvdXRwdXRfZmI7CisJd3JpdGViYWNrX3NlcXVl bmNlKG91dHB1dCwgcGxhbmUsIGlucHV0X2ZiLCBvdXRfZmJzLCAyKTsKKworCWZiX2lkID0gaWd0 X2NyZWF0ZV9mYihvdXRwdXRfZmItPmZkLAorCQkJICAgICAgb3V0cHV0X2ZiLT53aWR0aCwgb3V0 cHV0X2ZiLT5oZWlnaHQsCisJCQkgICAgICBEUk1fRk9STUFUX1hSR0I4ODg4LAorCQkJICAgICAg RFJNX0ZPUk1BVF9NT0RfTElORUFSLCAmc2Vjb25kX291dF9mYik7CisJaWd0X3JlcXVpcmUoZmJf aWQgPiAwKTsKKworCS8qIFR3byBjb21taXRzLCB3aXRoIGRpZmZlcmVudCB3cml0ZWJhY2sgYnVm ZmVycyAqLworCW91dF9mYnNbMV0gPSAmc2Vjb25kX291dF9mYjsKKwl3cml0ZWJhY2tfc2VxdWVu Y2Uob3V0cHV0LCBwbGFuZSwgaW5wdXRfZmIsIG91dF9mYnMsIDIpOworCisJaWd0X3JlbW92ZV9m YihvdXRwdXRfZmItPmZkLCAmc2Vjb25kX291dF9mYik7Cit9CisKIGlndF9tYWluCiB7CiAJaWd0 X2Rpc3BsYXlfdCBkaXNwbGF5OwpAQCAtMjgzLDYgKzM5MywxOSBAQCBpZ3RfbWFpbgogCQlpZ3Rf cmVtb3ZlX2ZiKGRpc3BsYXkuZHJtX2ZkLCAmaW52YWxpZF9mYik7CiAJfQogCisJaWd0X2Rlc2Ny aWJlKCJDaGVjayB3cml0ZWJhY2sgb3V0cHV0IHdpdGggQ1JDIHZhbGlkYXRpb24iKTsKKwlpZ3Rf c3VidGVzdCgid3JpdGViYWNrLWNoZWNrLW91dHB1dCIpIHsKKwkJaWd0X2ZiX3Qgb3V0cHV0X2Zi OworCQlmYl9pZCA9IGlndF9jcmVhdGVfZmIoZGlzcGxheS5kcm1fZmQsIG1vZGUuaGRpc3BsYXks CisJCQkJICAgICAgbW9kZS52ZGlzcGxheSwgRFJNX0ZPUk1BVF9YUkdCODg4OCwKKwkJCQkgICAg ICBEUk1fRk9STUFUX01PRF9MSU5FQVIsICZvdXRwdXRfZmIpOworCQlpZ3RfcmVxdWlyZShmYl9p ZCA+IDApOworCisJCXdyaXRlYmFja19jaGVja19vdXRwdXQob3V0cHV0LCBwbGFuZSwgJmlucHV0 X2ZiLCAmb3V0cHV0X2ZiKTsKKworCQlpZ3RfcmVtb3ZlX2ZiKGRpc3BsYXkuZHJtX2ZkLCAmb3V0 cHV0X2ZiKTsKKwl9CisKIAlpZ3RfZml4dHVyZSB7CiAJCWlndF9yZW1vdmVfZmIoZGlzcGxheS5k cm1fZmQsICZpbnB1dF9mYik7CiAJCWlndF9kaXNwbGF5X2ZpbmkoJmRpc3BsYXkpOwotLSAKMi4y My4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3Qt ZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=