From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 384E76E5C6 for ; Wed, 17 Mar 2021 14:46:37 +0000 (UTC) From: =?UTF-8?q?Zbigniew=20Kempczy=C5=84ski?= Date: Wed, 17 Mar 2021 15:45:37 +0100 Message-Id: <20210317144610.108372-3-zbigniew.kempczynski@intel.com> In-Reply-To: <20210317144610.108372-1-zbigniew.kempczynski@intel.com> References: <20210317144610.108372-1-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v26 02/35] lib/igt_list: igt_hlist implementation. 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: RnJvbTogRG9taW5payBHcnplZ29yemVrIDxkb21pbmlrLmdyemVnb3J6ZWtAaW50ZWwuY29tPgoK RG91YmxlIGxpbmtlZCBsaXN0cyB3aXRoIGEgc2luZ2xlIHBvaW50ZXIgbGlzdCBoZWFkIGltcGxl bWVudGF0aW9uLApiYXNlZCBvbiBzaW1pbGFyIGluIHRoZSBrZXJuZWwuCgpTaWduZWQtb2ZmLWJ5 OiBEb21pbmlrIEdyemVnb3J6ZWsgPGRvbWluaWsuZ3J6ZWdvcnpla0BpbnRlbC5jb20+CkNjOiBa YmlnbmlldyBLZW1wY3p5xYRza2kgPHpiaWduaWV3LmtlbXBjenluc2tpQGludGVsLmNvbT4KQ2M6 IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpBY2tlZC1ieTogRGFuaWVs IFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KLS0tCiBsaWIvaWd0X2xpc3QuYyB8IDcy ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBsaWIv aWd0X2xpc3QuaCB8IDUwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAyIGZp bGVzIGNoYW5nZWQsIDEyMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2xpYi9pZ3RfbGlzdC5jIGIvbGliL2lndF9saXN0LmMKaW5kZXggMzdhZTEzOWM0Li40MzIw MGY5YjMgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfbGlzdC5jCisrKyBiL2xpYi9pZ3RfbGlzdC5jCkBA IC0yMiw2ICsyMiw3IEBACiAgKgogICovCiAKKyNpbmNsdWRlICJhc3NlcnQuaCIKICNpbmNsdWRl ICJpZ3RfbGlzdC5oIgogCiB2b2lkIElHVF9JTklUX0xJU1RfSEVBRChzdHJ1Y3QgaWd0X2xpc3Rf aGVhZCAqbGlzdCkKQEAgLTgxLDMgKzgyLDc0IEBAIGJvb2wgaWd0X2xpc3RfZW1wdHkoY29uc3Qg c3RydWN0IGlndF9saXN0X2hlYWQgKmhlYWQpCiB7CiAJcmV0dXJuIGhlYWQtPm5leHQgPT0gaGVh ZDsKIH0KKwordm9pZCBpZ3RfaGxpc3RfaW5pdChzdHJ1Y3QgaWd0X2hsaXN0X25vZGUgKmgpCit7 CisJaC0+bmV4dCA9IE5VTEw7CisJaC0+cHByZXYgPSBOVUxMOworfQorCitpbnQgaWd0X2hsaXN0 X3VuaGFzaGVkKGNvbnN0IHN0cnVjdCBpZ3RfaGxpc3Rfbm9kZSAqaCkKK3sKKwlyZXR1cm4gIWgt PnBwcmV2OworfQorCitpbnQgaWd0X2hsaXN0X2VtcHR5KGNvbnN0IHN0cnVjdCBpZ3RfaGxpc3Rf aGVhZCAqaCkKK3sKKwlyZXR1cm4gIWgtPmZpcnN0OworfQorCitzdGF0aWMgdm9pZCBfX2lndF9o bGlzdF9kZWwoc3RydWN0IGlndF9obGlzdF9ub2RlICpuKQoreworCXN0cnVjdCBpZ3RfaGxpc3Rf bm9kZSAqbmV4dCA9IG4tPm5leHQ7CisJc3RydWN0IGlndF9obGlzdF9ub2RlICoqcHByZXYgPSBu LT5wcHJldjsKKworCSpwcHJldiA9IG5leHQ7CisJaWYgKG5leHQpCisJCW5leHQtPnBwcmV2ID0g cHByZXY7Cit9CisKK3ZvaWQgaWd0X2hsaXN0X2RlbChzdHJ1Y3QgaWd0X2hsaXN0X25vZGUgKm4p Cit7CisJX19pZ3RfaGxpc3RfZGVsKG4pOworCW4tPm5leHQgPSBOVUxMOworCW4tPnBwcmV2ID0g TlVMTDsKK30KKwordm9pZCBpZ3RfaGxpc3RfZGVsX2luaXQoc3RydWN0IGlndF9obGlzdF9ub2Rl ICpuKQoreworCWlmICghaWd0X2hsaXN0X3VuaGFzaGVkKG4pKSB7CisJCV9faWd0X2hsaXN0X2Rl bChuKTsKKwkJaWd0X2hsaXN0X2luaXQobik7CisJfQorfQorCit2b2lkIGlndF9obGlzdF9hZGRf aGVhZChzdHJ1Y3QgaWd0X2hsaXN0X25vZGUgKm4sIHN0cnVjdCBpZ3RfaGxpc3RfaGVhZCAqaCkK K3sKKwlzdHJ1Y3QgaWd0X2hsaXN0X25vZGUgKmZpcnN0ID0gaC0+Zmlyc3Q7CisKKwluLT5uZXh0 ID0gZmlyc3Q7CisJaWYgKGZpcnN0KQorCQlmaXJzdC0+cHByZXYgPSAmbi0+bmV4dDsKKwloLT5m aXJzdCA9IG47CisJbi0+cHByZXYgPSAmaC0+Zmlyc3Q7Cit9CisKK3ZvaWQgaWd0X2hsaXN0X2Fk ZF9iZWZvcmUoc3RydWN0IGlndF9obGlzdF9ub2RlICpuLCBzdHJ1Y3QgaWd0X2hsaXN0X25vZGUg Km5leHQpCit7CisJYXNzZXJ0KG5leHQpOworCW4tPnBwcmV2ID0gbmV4dC0+cHByZXY7CisJbi0+ bmV4dCA9IG5leHQ7CisJbmV4dC0+cHByZXYgPSAmbi0+bmV4dDsKKwkqKG4tPnBwcmV2KSA9IG47 Cit9CisKK3ZvaWQgaWd0X2hsaXN0X2FkZF9iZWhpbmQoc3RydWN0IGlndF9obGlzdF9ub2RlICpu LCBzdHJ1Y3QgaWd0X2hsaXN0X25vZGUgKnByZXYpCit7CisJbi0+bmV4dCA9IHByZXYtPm5leHQ7 CisJcHJldi0+bmV4dCA9IG47CisJbi0+cHByZXYgPSAmcHJldi0+bmV4dDsKKworCWlmIChuLT5u ZXh0KQorCQluLT5uZXh0LT5wcHJldiAgPSAmbi0+bmV4dDsKK30KZGlmZiAtLWdpdCBhL2xpYi9p Z3RfbGlzdC5oIGIvbGliL2lndF9saXN0LmgKaW5kZXggY2M5M2Q3YTBkLi43OGU3NjFlMDUgMTAw NjQ0Ci0tLSBhL2xpYi9pZ3RfbGlzdC5oCisrKyBiL2xpYi9pZ3RfbGlzdC5oCkBAIC00MCw2ICs0 MCwxMCBAQAogICogaWd0X2xpc3QgaXMgYSBkb3VibHktbGlua2VkIGxpc3Qgd2hlcmUgYW4gaW5z dGFuY2Ugb2YgaWd0X2xpc3RfaGVhZCBpcyBhCiAgKiBoZWFkIHNlbnRpbmVsIGFuZCBoYXMgdG8g YmUgaW5pdGlhbGl6ZWQuCiAgKgorICogaWd0X2hpc3QgaXMgYWxzbyBhbiBkb3VibGUgbGlua2Vk IGxpc3RzLCBidXQgd2l0aCBhIHNpbmdsZSBwb2ludGVyIGxpc3QgaGVhZC4KKyAqIE1vc3RseSB1 c2VmdWwgZm9yIGhhc2ggdGFibGVzIHdoZXJlIHRoZSB0d28gcG9pbnRlciBsaXN0IGhlYWQgaXMK KyAqIHRvbyB3YXN0ZWZ1bC4gWW91IGxvc2UgdGhlIGFiaWxpdHkgdG8gYWNjZXNzIHRoZSB0YWls IGluIE8oMSkuCisgKgogICogRXhhbXBsZSB1c2FnZToKICAqCiAgKiB8WzwhLS0gbGFuZ3VhZ2U9 IkMiIC0tPgpAQCAtNzEsNiArNzUsMTMgQEAgc3RydWN0IGlndF9saXN0X2hlYWQgewogCXN0cnVj dCBpZ3RfbGlzdF9oZWFkICpuZXh0OwogfTsKIAorc3RydWN0IGlndF9obGlzdF9oZWFkIHsKKwlz dHJ1Y3QgaWd0X2hsaXN0X25vZGUgKmZpcnN0OworfTsKKworc3RydWN0IGlndF9obGlzdF9ub2Rl IHsKKwlzdHJ1Y3QgaWd0X2hsaXN0X25vZGUgKm5leHQsICoqcHByZXY7Cit9OwogCiB2b2lkIElH VF9JTklUX0xJU1RfSEVBRChzdHJ1Y3QgaWd0X2xpc3RfaGVhZCAqaGVhZCk7CiB2b2lkIGlndF9s aXN0X2FkZChzdHJ1Y3QgaWd0X2xpc3RfaGVhZCAqZWxlbSwgc3RydWN0IGlndF9saXN0X2hlYWQg KmhlYWQpOwpAQCAtODEsNiArOTIsMTcgQEAgdm9pZCBpZ3RfbGlzdF9tb3ZlX3RhaWwoc3RydWN0 IGlndF9saXN0X2hlYWQgKmVsZW0sIHN0cnVjdCBpZ3RfbGlzdF9oZWFkICpsaXN0KTsKIGludCBp Z3RfbGlzdF9sZW5ndGgoY29uc3Qgc3RydWN0IGlndF9saXN0X2hlYWQgKmhlYWQpOwogYm9vbCBp Z3RfbGlzdF9lbXB0eShjb25zdCBzdHJ1Y3QgaWd0X2xpc3RfaGVhZCAqaGVhZCk7CiAKK3ZvaWQg aWd0X2hsaXN0X2luaXQoc3RydWN0IGlndF9obGlzdF9ub2RlICpoKTsKK2ludCBpZ3RfaGxpc3Rf dW5oYXNoZWQoY29uc3Qgc3RydWN0IGlndF9obGlzdF9ub2RlICpoKTsKK2ludCBpZ3RfaGxpc3Rf ZW1wdHkoY29uc3Qgc3RydWN0IGlndF9obGlzdF9oZWFkICpoKTsKK3ZvaWQgaWd0X2hsaXN0X2Rl bChzdHJ1Y3QgaWd0X2hsaXN0X25vZGUgKm4pOwordm9pZCBpZ3RfaGxpc3RfZGVsX2luaXQoc3Ry dWN0IGlndF9obGlzdF9ub2RlICpuKTsKK3ZvaWQgaWd0X2hsaXN0X2FkZF9oZWFkKHN0cnVjdCBp Z3RfaGxpc3Rfbm9kZSAqbiwgc3RydWN0IGlndF9obGlzdF9oZWFkICpoKTsKK3ZvaWQgaWd0X2hs aXN0X2FkZF9iZWZvcmUoc3RydWN0IGlndF9obGlzdF9ub2RlICpuLAorCQkJICBzdHJ1Y3QgaWd0 X2hsaXN0X25vZGUgKm5leHQpOwordm9pZCBpZ3RfaGxpc3RfYWRkX2JlaGluZChzdHJ1Y3QgaWd0 X2hsaXN0X25vZGUgKm4sCisJCQkgIHN0cnVjdCBpZ3RfaGxpc3Rfbm9kZSAqcHJldik7CisKICNk ZWZpbmUgaWd0X2NvbnRhaW5lcl9vZihwdHIsIHNhbXBsZSwgbWVtYmVyKQkJCQlcCiAJKF9fdHlw ZW9mX18oc2FtcGxlKSkoKGNoYXIgKikocHRyKSAtCQkJCVwKIAkJCQlvZmZzZXRvZihfX3R5cGVv Zl9fKCpzYW1wbGUpLCBtZW1iZXIpKQpAQCAtOTYsOSArMTE4LDEwIEBAIGJvb2wgaWd0X2xpc3Rf ZW1wdHkoY29uc3Qgc3RydWN0IGlndF9saXN0X2hlYWQgKmhlYWQpOwogICogU2FmZSBhZ2FpbnN0 IHJlbW92ZWwgb2YgdGhlICpjdXJyZW50KiBsaXN0IGVsZW1lbnQuIFRvIGFjaGl2ZSB0aGlzIGl0 CiAgKiByZXF1aXJlcyBhbiBleHRyYSBoZWxwZXIgdmFyaWFibGUgYHRtcGAgd2l0aCB0aGUgc2Ft ZSB0eXBlIGFzIGBwb3NgLgogICovCi0jZGVmaW5lIGlndF9saXN0X2Zvcl9lYWNoX2VudHJ5X3Nh ZmUocG9zLCB0bXAsIGhlYWQsIG1lbWJlcikJCQlcCisKKyNkZWZpbmUgaWd0X2xpc3RfZm9yX2Vh Y2hfZW50cnlfc2FmZShwb3MsIHRtcCwgaGVhZCwgbWVtYmVyKQkJXAogCWZvciAocG9zID0gaWd0 X2NvbnRhaW5lcl9vZigoaGVhZCktPm5leHQsIHBvcywgbWVtYmVyKSwJCVwKLQkgICAgIHRtcCA9 IGlndF9jb250YWluZXJfb2YoKHBvcyktPm1lbWJlci5uZXh0LCB0bXAsIG1lbWJlcik7IAlcCisJ ICAgICB0bXAgPSBpZ3RfY29udGFpbmVyX29mKChwb3MpLT5tZW1iZXIubmV4dCwgdG1wLCBtZW1i ZXIpOwlcCiAJICAgICAmcG9zLT5tZW1iZXIgIT0gKGhlYWQpOwkJCQkJXAogCSAgICAgcG9zID0g dG1wLAkJCQkJCQlcCiAJICAgICB0bXAgPSBpZ3RfY29udGFpbmVyX29mKChwb3MpLT5tZW1iZXIu bmV4dCwgdG1wLCBtZW1iZXIpKQpAQCAtMTA4LDYgKzEzMSwyNyBAQCBib29sIGlndF9saXN0X2Vt cHR5KGNvbnN0IHN0cnVjdCBpZ3RfbGlzdF9oZWFkICpoZWFkKTsKIAkgICAgICZwb3MtPm1lbWJl ciAhPSAoaGVhZCk7CQkJCQlcCiAJICAgICBwb3MgPSBpZ3RfY29udGFpbmVyX29mKChwb3MpLT5t ZW1iZXIucHJldiwgcG9zLCBtZW1iZXIpKQogCisjZGVmaW5lIGlndF9saXN0X2Zvcl9lYWNoX2Vu dHJ5X3NhZmVfcmV2ZXJzZShwb3MsIHRtcCwgaGVhZCwgbWVtYmVyKQkJXAorCWZvciAocG9zID0g aWd0X2NvbnRhaW5lcl9vZigoaGVhZCktPnByZXYsIHBvcywgbWVtYmVyKSwJCVwKKwkgICAgIHRt cCA9IGlndF9jb250YWluZXJfb2YoKHBvcyktPm1lbWJlci5wcmV2LCB0bXAsIG1lbWJlcik7CVwK KwkgICAgICZwb3MtPm1lbWJlciAhPSAoaGVhZCk7CQkJCQlcCisJICAgICBwb3MgPSB0bXAsCQkJ CQkJCVwKKwkgICAgIHRtcCA9IGlndF9jb250YWluZXJfb2YoKHBvcyktPm1lbWJlci5wcmV2LCB0 bXAsIG1lbWJlcikpCisKKyNkZWZpbmUgaWd0X2hsaXN0X2VudHJ5X3NhZmUocHRyLCBzYW1wbGUs IG1lbWJlcikgXAorCSh7IHR5cGVvZihwdHIpIF9fX19wdHIgPSAocHRyKTsgXAorCSAgIF9fX19w dHIgPyBpZ3RfY29udGFpbmVyX29mKF9fX19wdHIsIHNhbXBsZSwgbWVtYmVyKSA6IE5VTEw7IFwK Kwl9KQorCisjZGVmaW5lIGlndF9obGlzdF9mb3JfZWFjaF9lbnRyeShwb3MsIGhlYWQsIG1lbWJl cikJCQlcCisJZm9yIChwb3MgPSBpZ3RfaGxpc3RfZW50cnlfc2FmZSgoaGVhZCktPmZpcnN0LCBw b3MsIG1lbWJlcik7CVwKKwkgICAgIHBvczsJCQkJCQkJXAorCSAgICAgcG9zID0gaWd0X2hsaXN0 X2VudHJ5X3NhZmUoKHBvcyktPm1lbWJlci5uZXh0LCBwb3MsIG1lbWJlcikpCisKKyNkZWZpbmUg aWd0X2hsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocG9zLCBuLCBoZWFkLCBtZW1iZXIpCQlcCisJ Zm9yIChwb3MgPSBpZ3RfaGxpc3RfZW50cnlfc2FmZSgoaGVhZCktPmZpcnN0LCBwb3MsIG1lbWJl cik7CVwKKwkgICAgIHBvcyAmJiAoeyBuID0gcG9zLT5tZW1iZXIubmV4dDsgMTsgfSk7CQkJXAor CSAgICAgcG9zID0gaWd0X2hsaXN0X2VudHJ5X3NhZmUobiwgcG9zLCBtZW1iZXIpKQogCiAvKiBJ R1QgY3VzdG9tIGhlbHBlcnMgKi8KIApAQCAtMTI3LDQgKzE3MSw2IEBAIGJvb2wgaWd0X2xpc3Rf ZW1wdHkoY29uc3Qgc3RydWN0IGlndF9saXN0X2hlYWQgKmhlYWQpOwogI2RlZmluZSBpZ3RfbGlz dF9sYXN0X2VudHJ5KGhlYWQsIHR5cGUsIG1lbWJlcikgXAogCWlndF9jb250YWluZXJfb2YoKGhl YWQpLT5wcmV2LCAodHlwZSksIG1lbWJlcikKIAorI2RlZmluZSBJR1RfSU5JVF9ITElTVF9IRUFE KHB0cikgKChwdHIpLT5maXJzdCA9IE5VTEwpCisKICNlbmRpZiAvKiBJR1RfTElTVF9IICovCi0t IAoyLjI2LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=