From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3D3E36E871 for ; Thu, 30 Jan 2020 15:12:33 +0000 (UTC) From: Ville Syrjala Date: Thu, 30 Jan 2020 17:12:27 +0200 Message-Id: <20200130151229.984-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 1/3] lib/vec: Add igt_vec 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: RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkFk ZCBhIHNtYWxsIHN0ZDo6dmVjdG9yIGxvb2thbGlrZSB3aGljaCBncm93cyBhcyBuZWVkZWQuCgpT aWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgotLS0KIGxpYi9NYWtlZmlsZS5zb3VyY2VzIHwgIDIgKysKIGxpYi9pZ3RfdmVjLmMgICAg ICAgIHwgODYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGxp Yi9pZ3RfdmVjLmggICAgICAgIHwgNDAgKysrKysrKysrKysrKysrKysrKysrCiBsaWIvbWVzb24u YnVpbGQgICAgICB8ICAxICsKIDQgZmlsZXMgY2hhbmdlZCwgMTI5IGluc2VydGlvbnMoKykKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBsaWIvaWd0X3ZlYy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL2ln dF92ZWMuaAoKZGlmZiAtLWdpdCBhL2xpYi9NYWtlZmlsZS5zb3VyY2VzIGIvbGliL01ha2VmaWxl LnNvdXJjZXMKaW5kZXggNjMxZDY3MTRlNWNlLi4zZTU3M2YyNjdlMTUgMTAwNjQ0Ci0tLSBhL2xp Yi9NYWtlZmlsZS5zb3VyY2VzCisrKyBiL2xpYi9NYWtlZmlsZS5zb3VyY2VzCkBAIC02Miw2ICs2 Miw4IEBAIGxpYl9zb3VyY2VfbGlzdCA9CSAJXAogCWlndF9zeXNycS5oCQlcCiAJaWd0X3g4Ni5o CQlcCiAJaWd0X3g4Ni5jCQlcCisJaWd0X3ZlYy5jCQlcCisJaWd0X3ZlYy5oCQlcCiAJaWd0X3Zn ZW0uYwkJXAogCWlndF92Z2VtLmgJCVwKIAlpbnN0ZG9uZS5jCQlcCmRpZmYgLS1naXQgYS9saWIv aWd0X3ZlYy5jIGIvbGliL2lndF92ZWMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLmRjNGE2MTcyZmM4ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9pZ3RfdmVjLmMK QEAgLTAsMCArMSw4NiBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDIwIEludGVsIENvcnBvcmF0 aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQg YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBk ZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91 dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg cHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBv ZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29m dHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29u ZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt aXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJl IGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisg KiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lU SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVE SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFks CisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U LiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT IEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFks IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ U0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUg T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICovCisK KyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2luY2x1ZGUgImln dF9jb3JlLmgiCisjaW5jbHVkZSAiaWd0X3ZlYy5oIgorCit2b2lkIGlndF92ZWNfaW5pdChzdHJ1 Y3QgaWd0X3ZlYyAqdmVjLCBpbnQgZWxlbV9zaXplKQoreworCW1lbXNldCh2ZWMsIDAsIHNpemVv ZigqdmVjKSk7CisJdmVjLT5lbGVtX3NpemUgPSBlbGVtX3NpemU7Cit9CisKK3ZvaWQgaWd0X3Zl Y19maW5pKHN0cnVjdCBpZ3RfdmVjICp2ZWMpCit7CisJZnJlZSh2ZWMtPmVsZW1zKTsKKwltZW1z ZXQodmVjLCAwLCBzaXplb2YoKnZlYykpOworfQorCit2b2lkICppZ3RfdmVjX2VsZW0oY29uc3Qg c3RydWN0IGlndF92ZWMgKnZlYywgaW50IGlkeCkKK3sKKwlpZ3RfYXNzZXJ0KGlkeCA8IHZlYy0+ bGVuKTsKKworCXJldHVybiB2ZWMtPmVsZW1zICsgaWR4ICogdmVjLT5lbGVtX3NpemU7Cit9CisK K3ZvaWQgaWd0X3ZlY19wdXNoKHN0cnVjdCBpZ3RfdmVjICp2ZWMsIHZvaWQgKmVsZW0pCit7CisJ aWYgKHZlYy0+bGVuID49IHZlYy0+c2l6ZSkgeworCQl2ZWMtPnNpemUgPSB2ZWMtPnNpemUgPyB2 ZWMtPnNpemUgKiAyIDogODsKKwkJdmVjLT5lbGVtcyA9IHJlYWxsb2ModmVjLT5lbGVtcywgdmVj LT5zaXplICogdmVjLT5lbGVtX3NpemUpOworCQlpZ3RfYXNzZXJ0KHZlYy0+ZWxlbXMpOworCX0K KworCXZlYy0+bGVuKys7CisJbWVtY3B5KGlndF92ZWNfZWxlbSh2ZWMsIHZlYy0+bGVuIC0gMSks IGVsZW0sIHZlYy0+ZWxlbV9zaXplKTsKK30KKworaW50IGlndF92ZWNfbGVuZ3RoKGNvbnN0IHN0 cnVjdCBpZ3RfdmVjICp2ZWMpCit7CisJcmV0dXJuIHZlYy0+bGVuOworfQorCitpbnQgaWd0X3Zl Y19pbmRleChjb25zdCBzdHJ1Y3QgaWd0X3ZlYyAqdmVjLCB2b2lkICplbGVtKQoreworCWZvciAo aW50IGkgPSAwOyBpIDwgdmVjLT5sZW47IGkrKykgeworCQlpZiAoIW1lbWNtcChpZ3RfdmVjX2Vs ZW0odmVjLCBpKSwgZWxlbSwgdmVjLT5lbGVtX3NpemUpKQorCQkJcmV0dXJuIGk7CisJfQorCisJ cmV0dXJuIC0xOworfQorCit2b2lkIGlndF92ZWNfcmVtb3ZlKHN0cnVjdCBpZ3RfdmVjICp2ZWMs IGludCBpZHgpCit7CisJaWd0X2Fzc2VydChpZHggPCB2ZWMtPmxlbik7CisKKwlpZiAoaWR4IDwg dmVjLT5sZW4gLSAxKQorCQltZW1tb3ZlKGlndF92ZWNfZWxlbSh2ZWMsIGlkeCksCisJCQlpZ3Rf dmVjX2VsZW0odmVjLCBpZHggKyAxKSwKKwkJCSh2ZWMtPmxlbiAtIDEgLSBpZHgpICogdmVjLT5l bGVtX3NpemUpOworCisJdmVjLT5sZW4tLTsKK30KZGlmZiAtLWdpdCBhL2xpYi9pZ3RfdmVjLmgg Yi9saWIvaWd0X3ZlYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u ZGUyNTQ5YTQ1ODQxCi0tLSAvZGV2L251bGwKKysrIGIvbGliL2lndF92ZWMuaApAQCAtMCwwICsx LDQwIEBACisvKgorICogQ29weXJpZ2h0IMKpIDIwMjAgSW50ZWwgQ29ycG9yYXRpb24KKyAqCisg KiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBl cnNvbiBvYnRhaW5pbmcgYQorICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVk IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAqIHRvIGRlYWwgaW4gdGhl IFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRp b24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBk aXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0 d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCisgKiBTb2Z0d2FyZSBpcyBm dXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgor ICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90 aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQg aW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKKyAqIFNvZnR3YXJl LgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB TlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBF VkVOVCBTSEFMTAorICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF IEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJ TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBG Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNF IE9SIE9USEVSIERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKi8KKworI2lmbmRlZiBf X0lHVF9WRUNfSF9fCisjZGVmaW5lIF9fSUdUX1ZFQ19IX18KKworc3RydWN0IGlndF92ZWMgewor CXZvaWQgKmVsZW1zOworCWludCBlbGVtX3NpemUsIHNpemUsIGxlbjsKK307CisKK3ZvaWQgaWd0 X3ZlY19pbml0KHN0cnVjdCBpZ3RfdmVjICp2ZWMsIGludCBlbGVtX3NpemUpOwordm9pZCBpZ3Rf dmVjX2Zpbmkoc3RydWN0IGlndF92ZWMgKnZlYyk7Cit2b2lkIGlndF92ZWNfcHVzaChzdHJ1Y3Qg aWd0X3ZlYyAqdmVjLCB2b2lkICplbGVtKTsKK2ludCBpZ3RfdmVjX2xlbmd0aChjb25zdCBzdHJ1 Y3QgaWd0X3ZlYyAqdmVjKTsKK3ZvaWQgKmlndF92ZWNfZWxlbShjb25zdCBzdHJ1Y3QgaWd0X3Zl YyAqdmVjLCBpbnQgaWR4KTsKK2ludCBpZ3RfdmVjX2luZGV4KGNvbnN0IHN0cnVjdCBpZ3RfdmVj ICp2ZWMsIHZvaWQgKmVsZW0pOwordm9pZCBpZ3RfdmVjX3JlbW92ZShzdHJ1Y3QgaWd0X3ZlYyAq dmVjLCBpbnQgaWR4KTsKKworI2VuZGlmIC8qIF9fSUdUX1ZFQ19IX18gKi8KZGlmZiAtLWdpdCBh L2xpYi9tZXNvbi5idWlsZCBiL2xpYi9tZXNvbi5idWlsZAppbmRleCBkODc1NDYxODVhZGUuLmU4 N2U1ODAzNjEwZiAxMDA2NDQKLS0tIGEvbGliL21lc29uLmJ1aWxkCisrKyBiL2xpYi9tZXNvbi5i dWlsZApAQCAtMjQsNiArMjQsNyBAQCBsaWJfc291cmNlcyA9IFsKIAknaWd0X3N5bmNvYmouYycs CiAJJ2lndF9zeXNmcy5jJywKIAknaWd0X3N5c3JxLmMnLAorCSdpZ3RfdmVjLmMnLAogCSdpZ3Rf dmdlbS5jJywKIAknaWd0X3g4Ni5jJywKIAknaW5zdGRvbmUuYycsCi0tIAoyLjI0LjEKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGlu ZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=