From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 58D666E3F0 for ; Mon, 3 Feb 2020 16:34:39 +0000 (UTC) From: Ville Syrjala Date: Mon, 3 Feb 2020 18:34:36 +0200 Message-Id: <20200203163436.22192-1-ville.syrjala@linux.intel.com> In-Reply-To: <20200130151229.984-1-ville.syrjala@linux.intel.com> References: <20200130151229.984-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v2 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 ZCBhIHNtYWxsIHN0ZDo6dmVjdG9yIGxvb2thbGlrZSB3aGljaCBncm93cyBhcyBuZWVkZWQuCgp2 MjogUmVvcmdhbml6ZSB0aGluZ3MgaW50byBpZ3RfdmVjX2dyb3coKSAoQ2hyaXMpCiAgICBUcnVz dCB0aGF0IG1lbW1vdmUoLi4uLCAwKSB3b3JrcyAoQ2hyaXMpCgpSZXZpZXdlZC1ieTogQ2hyaXMg V2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5 cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogbGliL01ha2VmaWxl LnNvdXJjZXMgfCAgMiArCiBsaWIvaWd0X3ZlYy5jICAgICAgICB8IDg5ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBsaWIvaWd0X3ZlYy5oICAgICAgICB8IDQw ICsrKysrKysrKysrKysrKysrKysrCiBsaWIvbWVzb24uYnVpbGQgICAgICB8ICAxICsKIDQgZmls ZXMgY2hhbmdlZCwgMTMyIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvaWd0 X3ZlYy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL2lndF92ZWMuaAoKZGlmZiAtLWdpdCBhL2xp Yi9NYWtlZmlsZS5zb3VyY2VzIGIvbGliL01ha2VmaWxlLnNvdXJjZXMKaW5kZXggNjMxZDY3MTRl NWNlLi4zZTU3M2YyNjdlMTUgMTAwNjQ0Ci0tLSBhL2xpYi9NYWtlZmlsZS5zb3VyY2VzCisrKyBi L2xpYi9NYWtlZmlsZS5zb3VyY2VzCkBAIC02Miw2ICs2Miw4IEBAIGxpYl9zb3VyY2VfbGlzdCA9 CSAJXAogCWlndF9zeXNycS5oCQlcCiAJaWd0X3g4Ni5oCQlcCiAJaWd0X3g4Ni5jCQlcCisJaWd0 X3ZlYy5jCQlcCisJaWd0X3ZlYy5oCQlcCiAJaWd0X3ZnZW0uYwkJXAogCWlndF92Z2VtLmgJCVwK IAlpbnN0ZG9uZS5jCQlcCmRpZmYgLS1naXQgYS9saWIvaWd0X3ZlYy5jIGIvbGliL2lndF92ZWMu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjU5MWU1NmZhMzkzYQot LS0gL2Rldi9udWxsCisrKyBiL2xpYi9pZ3RfdmVjLmMKQEAgLTAsMCArMSw4OSBAQAorLyoKKyAq IENvcHlyaWdodCDCqSAyMDIwIEludGVsIENvcnBvcmF0aW9uCisgKgorICogUGVybWlzc2lvbiBp cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n IGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9u IGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRo b3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmln aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3Vi bGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBw ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRv IHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJv dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5n IHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMg b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUg U09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO RCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU SEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAq IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlN LCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G IENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9S IElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM SU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNp bmNsdWRlIDxzdHJpbmcuaD4KKworI2luY2x1ZGUgImlndF9jb3JlLmgiCisjaW5jbHVkZSAiaWd0 X3ZlYy5oIgorCit2b2lkIGlndF92ZWNfaW5pdChzdHJ1Y3QgaWd0X3ZlYyAqdmVjLCBpbnQgZWxl bV9zaXplKQoreworCW1lbXNldCh2ZWMsIDAsIHNpemVvZigqdmVjKSk7CisJdmVjLT5lbGVtX3Np emUgPSBlbGVtX3NpemU7Cit9CisKK3ZvaWQgaWd0X3ZlY19maW5pKHN0cnVjdCBpZ3RfdmVjICp2 ZWMpCit7CisJZnJlZSh2ZWMtPmVsZW1zKTsKKwltZW1zZXQodmVjLCAwLCBzaXplb2YoKnZlYykp OworfQorCit2b2lkICppZ3RfdmVjX2VsZW0oY29uc3Qgc3RydWN0IGlndF92ZWMgKnZlYywgaW50 IGlkeCkKK3sKKwlpZ3RfYXNzZXJ0KGlkeCA8IHZlYy0+bGVuKTsKKworCXJldHVybiB2ZWMtPmVs ZW1zICsgaWR4ICogdmVjLT5lbGVtX3NpemU7Cit9CisKK3N0YXRpYyB2b2lkICppZ3RfdmVjX2dy b3coc3RydWN0IGlndF92ZWMgKnZlYykKK3sKKwlpZiAodmVjLT5sZW4rKyA+PSB2ZWMtPnNpemUp IHsKKwkJdmVjLT5zaXplID0gdmVjLT5zaXplID8gdmVjLT5zaXplICogMiA6IDg7CisJCXZlYy0+ ZWxlbXMgPSByZWFsbG9jKHZlYy0+ZWxlbXMsIHZlYy0+c2l6ZSAqIHZlYy0+ZWxlbV9zaXplKTsK KwkJaWd0X2Fzc2VydCh2ZWMtPmVsZW1zKTsKKwl9CisKKwlyZXR1cm4gaWd0X3ZlY19lbGVtKHZl YywgdmVjLT5sZW4gLSAxKTsKK30KKwordm9pZCBpZ3RfdmVjX3B1c2goc3RydWN0IGlndF92ZWMg KnZlYywgdm9pZCAqZWxlbSkKK3sKKwltZW1jcHkoaWd0X3ZlY19ncm93KHZlYyksIGVsZW0sIHZl Yy0+ZWxlbV9zaXplKTsKK30KKworaW50IGlndF92ZWNfbGVuZ3RoKGNvbnN0IHN0cnVjdCBpZ3Rf dmVjICp2ZWMpCit7CisJcmV0dXJuIHZlYy0+bGVuOworfQorCitpbnQgaWd0X3ZlY19pbmRleChj b25zdCBzdHJ1Y3QgaWd0X3ZlYyAqdmVjLCB2b2lkICplbGVtKQoreworCWZvciAoaW50IGkgPSAw OyBpIDwgdmVjLT5sZW47IGkrKykgeworCQlpZiAoIW1lbWNtcChpZ3RfdmVjX2VsZW0odmVjLCBp KSwgZWxlbSwgdmVjLT5lbGVtX3NpemUpKQorCQkJcmV0dXJuIGk7CisJfQorCisJcmV0dXJuIC0x OworfQorCit2b2lkIGlndF92ZWNfcmVtb3ZlKHN0cnVjdCBpZ3RfdmVjICp2ZWMsIGludCBpZHgp Cit7CisJaWd0X2Fzc2VydChpZHggPCB2ZWMtPmxlbik7CisKKwltZW1tb3ZlKGlndF92ZWNfZWxl bSh2ZWMsIGlkeCksCisJCWlndF92ZWNfZWxlbSh2ZWMsIGlkeCArIDEpLAorCQkodmVjLT5sZW4g LSAxIC0gaWR4KSAqIHZlYy0+ZWxlbV9zaXplKTsKKworCXZlYy0+bGVuLS07Cit9CmRpZmYgLS1n aXQgYS9saWIvaWd0X3ZlYy5oIGIvbGliL2lndF92ZWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLmRlMjU0OWE0NTg0MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9p Z3RfdmVjLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDIwIEludGVs IENvcnBvcmF0aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBv ZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0 d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiks CisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRp bmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5 LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxs IGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo ZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xs b3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg dGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgp IHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg b2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFT IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElF RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFO VEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G UklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdI VCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBM SUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVS V0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUg U09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJF LgorICovCisKKyNpZm5kZWYgX19JR1RfVkVDX0hfXworI2RlZmluZSBfX0lHVF9WRUNfSF9fCisK K3N0cnVjdCBpZ3RfdmVjIHsKKwl2b2lkICplbGVtczsKKwlpbnQgZWxlbV9zaXplLCBzaXplLCBs ZW47Cit9OworCit2b2lkIGlndF92ZWNfaW5pdChzdHJ1Y3QgaWd0X3ZlYyAqdmVjLCBpbnQgZWxl bV9zaXplKTsKK3ZvaWQgaWd0X3ZlY19maW5pKHN0cnVjdCBpZ3RfdmVjICp2ZWMpOwordm9pZCBp Z3RfdmVjX3B1c2goc3RydWN0IGlndF92ZWMgKnZlYywgdm9pZCAqZWxlbSk7CitpbnQgaWd0X3Zl Y19sZW5ndGgoY29uc3Qgc3RydWN0IGlndF92ZWMgKnZlYyk7Cit2b2lkICppZ3RfdmVjX2VsZW0o Y29uc3Qgc3RydWN0IGlndF92ZWMgKnZlYywgaW50IGlkeCk7CitpbnQgaWd0X3ZlY19pbmRleChj b25zdCBzdHJ1Y3QgaWd0X3ZlYyAqdmVjLCB2b2lkICplbGVtKTsKK3ZvaWQgaWd0X3ZlY19yZW1v dmUoc3RydWN0IGlndF92ZWMgKnZlYywgaW50IGlkeCk7CisKKyNlbmRpZiAvKiBfX0lHVF9WRUNf SF9fICovCmRpZmYgLS1naXQgYS9saWIvbWVzb24uYnVpbGQgYi9saWIvbWVzb24uYnVpbGQKaW5k ZXggZDg3NTQ2MTg1YWRlLi5lODdlNTgwMzYxMGYgMTAwNjQ0Ci0tLSBhL2xpYi9tZXNvbi5idWls ZAorKysgYi9saWIvbWVzb24uYnVpbGQKQEAgLTI0LDYgKzI0LDcgQEAgbGliX3NvdXJjZXMgPSBb CiAJJ2lndF9zeW5jb2JqLmMnLAogCSdpZ3Rfc3lzZnMuYycsCiAJJ2lndF9zeXNycS5jJywKKwkn aWd0X3ZlYy5jJywKIAknaWd0X3ZnZW0uYycsCiAJJ2lndF94ODYuYycsCiAJJ2luc3Rkb25lLmMn LAotLSAKMi4yNC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK