From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id B4AA56E6FE for ; Wed, 21 Feb 2018 23:19:51 +0000 (UTC) From: Antonio Argenziano Date: Wed, 21 Feb 2018 15:19:37 -0800 Message-Id: <20180221231947.4184-1-antonio.argenziano@intel.com> Subject: [igt-dev] [PATCH i-g-t v4 01/11] lib/igt_dummyload: add igt_cork List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 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: RnJvbTogRGFuaWVsZSBDZXJhb2xvIFNwdXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVs LmNvbT4KClRoZSAiY29yayIgYm8gKGltcG9ydGVkIGJvIHdpdGggYXR0YWNoZWQgZmVuY2UpIGFu ZCBmZW5jZSBpcyB1c2VkIGluIHNldmVyYWwKdGVzdHMgdG8gc3RhbGwgZXhlY3V0aW9uLiBNb3Zp bmcgaXQgdG8gYSBjb21tb24gcGxhY2UgbWFrZXMgdGhlIGNvZGViYXNlCmNsZWFuZXIuCgpOb3Rl IHRoYXQgdGhlIGFjdHVhbCB0ZXN0IHVwZGF0ZXMgaXMgZG9uZSBpbiBmb2xsb3cgdXAgcGF0Y2hl cyBhcyBpdCBpcwpzaW1wbGVyIHRvIGRvIGluIG9uZSBnbyBhZnRlciBvbmUgbW9yZSBjb21tb24g ZnVuY3Rpb24gaXMgYWRkZWQgaW4gdGhlCm5leHQgcGF0Y2guCgp2MjogZG9uJ3QgdXNlIG5ldy9m cmVlIG5hbWluZywgZG9uJ3QgdXNlIGR5bmFtaWMgYWxsb2MgKENocmlzKQp2MzogYWRkIHN3X3N5 bmMgY29tbW9uIGZ1bmN0aW9ucy4gKENocmlzKQp2NDogc3F1YXNoIHN3X3N5bmMgYW5kIHZnZW0g Y29yayBzdHJ1Y3RzIGludG8gb25lLiAoQ2hyaXMpCgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWxlIENl cmFvbG8gU3B1cmlvIDxkYW5pZWxlLmNlcmFvbG9zcHVyaW9AaW50ZWwuY29tPgpTaWduZWQtb2Zm LWJ5OiBBbnRvbmlvIEFyZ2Vuemlhbm8gPGFudG9uaW8uYXJnZW56aWFub0BpbnRlbC5jb20+CkNj OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IERhbmllbGUgQ2Vy YW9sbyBTcHVyaW8gPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+Ci0tLQogbGliL2ln dF9kdW1teWxvYWQuYyB8IDEyMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiBsaWIvaWd0X2R1bW15bG9hZC5oIHwgIDMyICsrKysrKysrKysrKysr CiAyIGZpbGVzIGNoYW5nZWQsIDE1MyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliL2ln dF9kdW1teWxvYWQuYyBiL2xpYi9pZ3RfZHVtbXlsb2FkLmMKaW5kZXggMjdlYjQwMmIuLmU5MGVm ZjVmIDEwMDY0NAotLS0gYS9saWIvaWd0X2R1bW15bG9hZC5jCisrKyBiL2xpYi9pZ3RfZHVtbXls b2FkLmMKQEAgLTI5LDEyICsyOSwxNCBAQAogI2luY2x1ZGUgPGk5MTVfZHJtLmg+CiAKICNpbmNs dWRlICJpZ3RfY29yZS5oIgorI2luY2x1ZGUgImRybXRlc3QuaCIKICNpbmNsdWRlICJpZ3RfZHVt bXlsb2FkLmgiCiAjaW5jbHVkZSAiaWd0X2d0LmgiCiAjaW5jbHVkZSAiaW50ZWxfY2hpcHNldC5o IgogI2luY2x1ZGUgImludGVsX3JlZy5oIgogI2luY2x1ZGUgImlvY3RsX3dyYXBwZXJzLmgiCiAj aW5jbHVkZSAic3dfc3luYy5oIgorI2luY2x1ZGUgImlndF92Z2VtLmgiCiAKIC8qKgogICogU0VD VElPTjppZ3RfZHVtbXlsb2FkCkBAIC0zNzEsMyArMzczLDEyMiBAQCB2b2lkIGlndF90ZXJtaW5h dGVfc3Bpbl9iYXRjaGVzKHZvaWQpCiAJCWlndF9zcGluX2JhdGNoX2VuZChpdGVyKTsKIAlwdGhy ZWFkX211dGV4X3VubG9jaygmbGlzdF9sb2NrKTsKIH0KKworc3RhdGljIHVpbnQzMl90IHBsdWdf dmdlbV9oYW5kbGUoc3RydWN0IGlndF9jb3JrICpjb3JrLCBpbnQgZmQpCit7CisJc3RydWN0IHZn ZW1fYm8gYm87CisJaW50IGRtYWJ1ZjsKKwl1aW50MzJfdCBoYW5kbGU7CisJc3RydWN0IGlndF9j b3JrX3ZnZW0gKnZnZW1fY29yayA9ICZjb3JrLT5jb3JrLnZnZW07CisKKwl2Z2VtX2NvcmstPmRl dmljZSA9IGRybV9vcGVuX2RyaXZlcihEUklWRVJfVkdFTSk7CisJaWd0X3JlcXVpcmUodmdlbV9o YXNfZmVuY2VzKHZnZW1fY29yay0+ZGV2aWNlKSk7CisKKwliby53aWR0aCA9IGJvLmhlaWdodCA9 IDE7CisJYm8uYnBwID0gNDsKKwl2Z2VtX2NyZWF0ZSh2Z2VtX2NvcmstPmRldmljZSwgJmJvKTsK Kwl2Z2VtX2NvcmstPmZlbmNlID0gdmdlbV9mZW5jZV9hdHRhY2godmdlbV9jb3JrLT5kZXZpY2Us ICZibywgVkdFTV9GRU5DRV9XUklURSk7CisKKwlkbWFidWYgPSBwcmltZV9oYW5kbGVfdG9fZmQo dmdlbV9jb3JrLT5kZXZpY2UsIGJvLmhhbmRsZSk7CisJaGFuZGxlID0gcHJpbWVfZmRfdG9faGFu ZGxlKGZkLCBkbWFidWYpOworCWNsb3NlKGRtYWJ1Zik7CisKKwlyZXR1cm4gaGFuZGxlOworfQor CitzdGF0aWMgdm9pZCB1bnBsdWdfdmdlbV9oYW5kbGUoc3RydWN0IGlndF9jb3JrICpjb3JrKQor eworCXN0cnVjdCBpZ3RfY29ya192Z2VtICp2Z2VtX2NvcmsgPSAmY29yay0+Y29yay52Z2VtOwor CisJaWd0X2Fzc2VydCh2Z2VtX2NvcmstPmRldmljZSk7CisKKwl2Z2VtX2ZlbmNlX3NpZ25hbCh2 Z2VtX2NvcmstPmRldmljZSwgdmdlbV9jb3JrLT5mZW5jZSk7CisJY2xvc2UodmdlbV9jb3JrLT5k ZXZpY2UpOworCXZnZW1fY29yay0+ZGV2aWNlID0gLTE7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBw bHVnX3N5bmNfZmQoc3RydWN0IGlndF9jb3JrICpjb3JrKQoreworCWludCBmZW5jZTsKKwlzdHJ1 Y3QgaWd0X2Nvcmtfc3dfc3luYyAqc3dfc3luY19jb3JrID0gJmNvcmstPmNvcmsuc3dfc3luYzsK KworCWlndF9yZXF1aXJlX3N3X3N5bmMoKTsKKworCXN3X3N5bmNfY29yay0+dGltZWxpbmUgPSBz d19zeW5jX3RpbWVsaW5lX2NyZWF0ZSgpOworCWZlbmNlID0gc3dfc3luY190aW1lbGluZV9jcmVh dGVfZmVuY2Uoc3dfc3luY19jb3JrLT50aW1lbGluZSwgMSk7CisKKwlyZXR1cm4gZmVuY2U7Cit9 CisKK3N0YXRpYyB2b2lkIHVucGx1Z19zeW5jX2ZkKHN0cnVjdCBpZ3RfY29yayAqY29yaykKK3sK KwlzdHJ1Y3QgaWd0X2Nvcmtfc3dfc3luYyAqc3dfc3luY19jb3JrID0gJmNvcmstPmNvcmsuc3df c3luYzsKKworCXN3X3N5bmNfdGltZWxpbmVfaW5jKHN3X3N5bmNfY29yay0+dGltZWxpbmUsIDEp OworCWNsb3NlKHN3X3N5bmNfY29yay0+dGltZWxpbmUpOworfQorCisvKioKKyAqIGlndF9jb3Jr X3BsdWc6CisgKiBAZmQ6IG9wZW4gZHJtIGZpbGUgZGVzY3JpcHRvcgorICogQG1ldGhvZDogbWV0 aG9kIHRvIHV0aWxpemUgZm9yIGNvcmtpbmcuCisgKiBAY29yazogc3RydWN0dXJlIHRoYXQgd2ls bCBiZSBmaWxsZWQgd2l0aCB0aGUgc3RhdGUgb2YgdGhlIGNvcmsgYm8uCisgKiBOb3RlOiB0aGlz IGhhcyB0byBtYXRjaCB0aGUgY29ya2luZyBtZXRob2QuCisgKgorICogVGhpcyBmdW5jdGlvbiBw cm92aWRlcyBhIG1lY2hhbmlzbSB0byBzdGFsbCBzdWJtaXNzaW9uLiBJdCBwcm92aWRlcyB0d28K KyAqIGJsb2NraW5nIG1ldGhvZHM6CisgKgorICogVkdFTV9CTy4KKyAqIEltcG9ydHMgYSB2Z2Vt IGJvIHdpdGggYSBmZW5jZSBhdHRhY2hlZCB0byBpdC4gVGhpcyBibyBjYW4gYmUgdXNlZCBhcyBh CisgKiBkZXBlbmRlbmN5IGR1cmluZyBzdWJtaXNzaW9uIHRvIHN0YWxsIGV4ZWN1dGlvbiB1bnRp bCB0aGUgZmVuY2UgaXMgc2lnbmFsZWQuCisgKgorICogU1dfU1lOQzoKKyAqIENyZWF0ZXMgYSB0 aW1lbGluZSBhbmQgdGhlbiBhIGZlbmNlIG9uIHRoYXQgdGltZWxpbmUuIFRoZSBmZW5jZSBjYW4g YmUgdXNlZAorICogYXMgYW4gaW5wdXQgZmVuY2UgdG8gYSByZXF1ZXN0LCB0aGUgcmVxdWVzdCB3 aWxsIGJlIHN0YWxsZWQgdW50aWwgdGhlIGZlbmNlCisgKiBpcyBzaWduYWxlZC4KKyAqCisgKiBU aGUgcGFyYW1ldGVycyByZXF1aXJlZCB0byB1bmJsb2NrIHRoZSBleGVjdXRpb24gYW5kIHRvIGNs ZWFudXAgYXJlIHN0b3JlZCBpbgorICogdGhlIHByb3ZpZGVkIGNvcmsgc3RydWN0dXJlLgorICoK KyAqIFJldHVybnM6CisgKiBIYW5kbGUgb2YgdGhlIGltcG9ydGVkIEJPIC8gU3cgc3luYyBmZW5j ZSBGRC4KKyAqLwordWludDMyX3QgaWd0X2NvcmtfcGx1ZyhzdHJ1Y3QgaWd0X2NvcmsgKmNvcmss IGludCBmZCkKK3sKKwlpZ3RfYXNzZXJ0KGNvcmstPmNvcmsuZmQgPT0gLTEpOworCisJc3dpdGNo IChjb3JrLT50eXBlKSB7CisJY2FzZSBDT1JLX1NZTkNfRkQ6CisJCXJldHVybiBwbHVnX3N5bmNf ZmQoY29yayk7CisKKwljYXNlIENPUktfVkdFTV9IQU5ETEU6CisJCXJldHVybiBwbHVnX3ZnZW1f aGFuZGxlKGNvcmssIGZkKTsKKworCWRlZmF1bHQ6CisJCWlndF9hc3NlcnRfZigwLCAiSW52YWxp ZCBjb3JrIHR5cGUhXG4iKTsKKwkJcmV0dXJuIDA7CisJfQorfQorCisvKioKKyAqIGlndF9jb3Jr X3VucGx1ZzoKKyAqIEBtZXRob2Q6IG1ldGhvZCB0byB1dGlsaXplIGZvciBjb3JraW5nLgorICog QGNvcms6IGNvcmsgc3RhdGUgZnJvbSBpZ3RfY29ya19wbHVnKCkKKyAqCisgKiBUaGlzIGZ1bmN0 aW9uIHVuYmxvY2tzIHRoZSBleGVjdXRpb24gYnkgc2lnbmFsaW5nIHRoZSBmZW5jZSBhdHRhY2hl ZCB0byB0aGUKKyAqIGltcG9ydGVkIGJvIGFuZCBkb2VzIHRoZSBuZWNlc3NhcnkgcG9zdC1wcm9j ZXNzaW5nLgorICoKKyAqIE5PVEU6IHRoZSBoYW5kbGUgcmV0dXJuZWQgYnkgaWd0X2NvcmtfcGx1 ZyBpcyBub3QgY2xvc2VkIGR1cmluZyB0aGlzIHBoYXNlLgorICovCit2b2lkIGlndF9jb3JrX3Vu cGx1ZyhzdHJ1Y3QgaWd0X2NvcmsgKmNvcmspCit7CisJc3dpdGNoIChjb3JrLT50eXBlKSB7CisJ Y2FzZSBDT1JLX1NZTkNfRkQ6CisJCXVucGx1Z19zeW5jX2ZkKGNvcmspOworCQlyZXR1cm47CisK KwljYXNlIENPUktfVkdFTV9IQU5ETEU6CisJCXVucGx1Z192Z2VtX2hhbmRsZShjb3JrKTsKKwkJ cmV0dXJuOworCX0KK30KZGlmZiAtLWdpdCBhL2xpYi9pZ3RfZHVtbXlsb2FkLmggYi9saWIvaWd0 X2R1bW15bG9hZC5oCmluZGV4IGZmYTdlMzUxLi5jNzBkMDA5MyAxMDA2NDQKLS0tIGEvbGliL2ln dF9kdW1teWxvYWQuaAorKysgYi9saWIvaWd0X2R1bW15bG9hZC5oCkBAIC02MSw0ICs2MSwzNiBA QCB2b2lkIGlndF9zcGluX2JhdGNoX2ZyZWUoaW50IGZkLCBpZ3Rfc3Bpbl90ICpzcGluKTsKIAog dm9pZCBpZ3RfdGVybWluYXRlX3NwaW5fYmF0Y2hlcyh2b2lkKTsKIAorZW51bSBpZ3RfY29ya190 eXBlIHsKKwlDT1JLX1NZTkNfRkQgPSAxLAorCUNPUktfVkdFTV9IQU5ETEUKK307CisKK3N0cnVj dCBpZ3RfY29ya192Z2VtIHsKKwlpbnQgZGV2aWNlOworCXVpbnQzMl90IGZlbmNlOworfTsKKwor c3RydWN0IGlndF9jb3JrX3N3X3N5bmMgeworCWludCB0aW1lbGluZTsKK307CisKK3N0cnVjdCBp Z3RfY29yayB7CisJZW51bSBpZ3RfY29ya190eXBlIHR5cGU7CisKKwl1bmlvbiBfX2Nvcmsgewor CQlpbnQgZmQ7CisKKwkJc3RydWN0IGlndF9jb3JrX3ZnZW0gdmdlbTsKKwkJc3RydWN0IGlndF9j b3JrX3N3X3N5bmMgc3dfc3luYzsKKwl9IGNvcms7Cit9OworCisjZGVmaW5lIElHVF9DT1JLKG5h bWUsIGNvcmtfdHlwZSkgc3RydWN0IGlndF9jb3JrIG5hbWUgPSB7IC50eXBlID0gY29ya190eXBl LCAuY29yay5mZCA9IC0xfQorI2RlZmluZSBJR1RfQ09SS19IQU5ETEUobmFtZSkgSUdUX0NPUkso bmFtZSwgQ09SS19WR0VNX0hBTkRMRSkKKyNkZWZpbmUgSUdUX0NPUktfRkVOQ0UobmFtZSkgSUdU X0NPUksobmFtZSwgQ09SS19TWU5DX0ZEKQorCit1aW50MzJfdCBpZ3RfY29ya19wbHVnKHN0cnVj dCBpZ3RfY29yayAqY29yaywgaW50IGZkKTsKK3ZvaWQgaWd0X2NvcmtfdW5wbHVnKHN0cnVjdCBp Z3RfY29yayAqY29yayk7CisKICNlbmRpZiAvKiBfX0lHVF9EVU1NWUxPQURfSF9fICovCi0tIAoy LjE0LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmln dC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=