From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 707C66F4A3 for ; Thu, 27 May 2021 19:28:16 +0000 (UTC) From: Andrzej Turko Date: Thu, 27 May 2021 21:27:50 +0200 Message-Id: <20210527192750.6453-4-andrzej.turko@linux.intel.com> In-Reply-To: <20210527192750.6453-1-andrzej.turko@linux.intel.com> References: <20210527192750.6453-1-andrzej.turko@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 3/3] lib/intel_allocator: Add support for regions of allocation 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: RW5hYmxlIGNyZWF0aW5nIGFsbG9jYXRvcnMgbWFuYWdpbmcgb25seSBhIGdpdmVuIGludGVydmFs Cm9mIGF2YWlsYWJsZSBndHQgZm9yIGFsbCBpbXBsZW1lbnRhdGlvbnMsIG5vdCBqdXN0IHRoZQpz aW1wbGUgYWxsb2NhdG9yLiBBZGRpdGluYWxseSwgc2V0IGEgdW5pdmVyc2FsIGxvd2VyCmJvdW5k IG9uIGFsaWdubWVudCB0byA0MDk2LgoKU2lnbmVkLW9mZi1ieTogQW5kcnplaiBUdXJrbyA8YW5k cnplai50dXJrb0BsaW51eC5pbnRlbC5jb20+CkNjOiBaYmlnbmlldyBLZW1wY3p5xYRza2kgPHpi aWduaWV3LmtlbXBjenluc2tpQGludGVsLmNvbT4KLS0tCiBsaWIvaW50ZWxfYWxsb2NhdG9yLmMg ICAgICAgIHwgMTQgKysrKysrKysrLS0tLS0KIGxpYi9pbnRlbF9hbGxvY2F0b3JfcmFuZG9tLmMg fCAzMCArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIGxpYi9pbnRlbF9hbGxvY2F0b3Jf cmVsb2MuYyAgfCAxOCArKysrKysrKysrKystLS0tLS0KIGxpYi9pbnRlbF9hbGxvY2F0b3Jfc2lt cGxlLmMgfCAgMSAtCiA0IGZpbGVzIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDIzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi9pbnRlbF9hbGxvY2F0b3IuYyBiL2xpYi9pbnRlbF9h bGxvY2F0b3IuYwppbmRleCBhNzhhNjYxYjEuLjgyODc1MjI0ZCAxMDA2NDQKLS0tIGEvbGliL2lu dGVsX2FsbG9jYXRvci5jCisrKyBiL2xpYi9pbnRlbF9hbGxvY2F0b3IuYwpAQCAtNjQsOCArNjQs MTAgQEAgc3RydWN0IGhhbmRsZV9lbnRyeSB7CiAJc3RydWN0IGFsbG9jYXRvciAqYWw7CiB9Owog Ci1zdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yICppbnRlbF9hbGxvY2F0b3JfcmVsb2NfY3JlYXRlKGlu dCBmZCwgdWludDY0X3QgZW5kKTsKLXN0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmludGVsX2FsbG9j YXRvcl9yYW5kb21fY3JlYXRlKGludCBmZCwgdWludDY0X3QgZW5kKTsKK3N0cnVjdCBpbnRlbF9h bGxvY2F0b3IgKgoraW50ZWxfYWxsb2NhdG9yX3JlbG9jX2NyZWF0ZShpbnQgZmQsIHVpbnQ2NF90 IHN0YXJ0LCB1aW50NjRfdCBlbmQpOworc3RydWN0IGludGVsX2FsbG9jYXRvciAqCitpbnRlbF9h bGxvY2F0b3JfcmFuZG9tX2NyZWF0ZShpbnQgZmQsIHVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBl bmQpOwogc3RydWN0IGludGVsX2FsbG9jYXRvciAqCiBpbnRlbF9hbGxvY2F0b3Jfc2ltcGxlX2Ny ZWF0ZShpbnQgZmQsIHVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBlbmQsCiAJCQkgICAgICBlbnVt IGFsbG9jYXRvcl9zdHJhdGVneSBzdHJhdGVneSk7CkBAIC0yOTEsMTAgKzI5MywxMCBAQCBzdGF0 aWMgc3RydWN0IGludGVsX2FsbG9jYXRvciAqaW50ZWxfYWxsb2NhdG9yX2NyZWF0ZShpbnQgZmQs CiAJCQkgICAgICJXZSBjYW5ub3QgdXNlIE5PTkUgYWxsb2NhdG9yXG4iKTsKIAkJYnJlYWs7CiAJ Y2FzZSBJTlRFTF9BTExPQ0FUT1JfUkVMT0M6Ci0JCWlhbCA9IGludGVsX2FsbG9jYXRvcl9yZWxv Y19jcmVhdGUoZmQsIGVuZCk7CisJCWlhbCA9IGludGVsX2FsbG9jYXRvcl9yZWxvY19jcmVhdGUo ZmQsIHN0YXJ0LCBlbmQpOwogCQlicmVhazsKIAljYXNlIElOVEVMX0FMTE9DQVRPUl9SQU5ET006 Ci0JCWlhbCA9IGludGVsX2FsbG9jYXRvcl9yYW5kb21fY3JlYXRlKGZkLCBlbmQpOworCQlpYWwg PSBpbnRlbF9hbGxvY2F0b3JfcmFuZG9tX2NyZWF0ZShmZCwgc3RhcnQsIGVuZCk7CiAJCWJyZWFr OwogCWNhc2UgSU5URUxfQUxMT0NBVE9SX1NJTVBMRToKIAkJaWFsID0gaW50ZWxfYWxsb2NhdG9y X3NpbXBsZV9jcmVhdGUoZmQsIHN0YXJ0LCBlbmQsCkBAIC0xMDc4LDEwICsxMDgwLDEyIEBAIHVp bnQ2NF90IF9faW50ZWxfYWxsb2NhdG9yX2FsbG9jKHVpbnQ2NF90IGFsbG9jYXRvcl9oYW5kbGUs IHVpbnQzMl90IGhhbmRsZSwKIAkJCQkgLmFsbG9jYXRvcl9oYW5kbGUgPSBhbGxvY2F0b3JfaGFu ZGxlLAogCQkJCSAuYWxsb2MuaGFuZGxlID0gaGFuZGxlLAogCQkJCSAuYWxsb2Muc2l6ZSA9IHNp emUsCi0JCQkJIC5hbGxvYy5hbGlnbm1lbnQgPSBhbGlnbm1lbnQsCiAJCQkJIC5hbGxvYy5zdHJh dGVneSA9IHN0cmF0ZWd5IH07CiAJc3RydWN0IGFsbG9jX3Jlc3AgcmVzcDsKIAorCWlndF9hc3Nl cnQoKGFsaWdubWVudCAmIChhbGlnbm1lbnQtMSkpID09IDApOworCXJlcS5hbGxvYy5hbGlnbm1l bnQgPSBtYXgoYWxpZ25tZW50LCAxIDw8IDEyKTsKKwogCWlndF9hc3NlcnQoaGFuZGxlX3JlcXVl c3QoJnJlcSwgJnJlc3ApID09IDApOwogCWlndF9hc3NlcnQocmVzcC5yZXNwb25zZV90eXBlID09 IFJFU1BfQUxMT0MpOwogCmRpZmYgLS1naXQgYS9saWIvaW50ZWxfYWxsb2NhdG9yX3JhbmRvbS5j IGIvbGliL2ludGVsX2FsbG9jYXRvcl9yYW5kb20uYwppbmRleCA4NWFjMmNmNGUuLmUyYjJiOTQ3 NCAxMDA2NDQKLS0tIGEvbGliL2ludGVsX2FsbG9jYXRvcl9yYW5kb20uYworKysgYi9saWIvaW50 ZWxfYWxsb2NhdG9yX3JhbmRvbS5jCkBAIC0xMCwxMiArMTAsMTIgQEAKICNpbmNsdWRlICJpZ3Rf cmFuZC5oIgogI2luY2x1ZGUgImludGVsX2FsbG9jYXRvci5oIgogCi1zdHJ1Y3QgaW50ZWxfYWxs b2NhdG9yICppbnRlbF9hbGxvY2F0b3JfcmFuZG9tX2NyZWF0ZShpbnQgZmQsIHVpbnQ2NF90IGVu ZCk7CitzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yICoKK2ludGVsX2FsbG9jYXRvcl9yYW5kb21fY3Jl YXRlKGludCBmZCwgdWludDY0X3Qgc3RhcnQsIHVpbnQ2NF90IGVuZCk7CiAKIHN0cnVjdCBpbnRl bF9hbGxvY2F0b3JfcmFuZG9tIHsKLQl1aW50NjRfdCBiaWFzOwogCXVpbnQzMl90IHBybmc7Ci0J dWludDY0X3QgYWRkcmVzc19tYXNrOworCXVpbnQ2NF90IHNpemVfbWFzazsKIAl1aW50NjRfdCBz dGFydDsKIAl1aW50NjRfdCBlbmQ7CiAKQEAgLTIzLDYgKzIzLDcgQEAgc3RydWN0IGludGVsX2Fs bG9jYXRvcl9yYW5kb20gewogCXVpbnQ2NF90IGFsbG9jYXRlZF9vYmplY3RzOwogfTsKIAorLyog S2VlcCB0aGUgbG93IDI1NmsgY2xlYXIsIGZvciBuZWdhdGl2ZSBkZWx0YXMgKi8KICNkZWZpbmUg QklBUyAyNTYgPDwgMTAKIAogc3RhdGljIHZvaWQgaW50ZWxfYWxsb2NhdG9yX3JhbmRvbV9nZXRf YWRkcmVzc19yYW5nZShzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yICppYWwsCkBAIC00NSwxNiArNDYs MjIgQEAgc3RhdGljIHVpbnQ2NF90IGludGVsX2FsbG9jYXRvcl9yYW5kb21fYWxsb2Moc3RydWN0 IGludGVsX2FsbG9jYXRvciAqaWFsLAogewogCXN0cnVjdCBpbnRlbF9hbGxvY2F0b3JfcmFuZG9t ICppYWxyID0gaWFsLT5wcml2OwogCXVpbnQ2NF90IG9mZnNldDsKKwlpbnQgY250ID0gMDsKIAog CSh2b2lkKSBoYW5kbGU7CiAJKHZvaWQpIHN0cmF0ZWd5OwogCiAJLyogcmFuZG9taXplIHRoZSBh ZGRyZXNzLCB3ZSB0cnkgdG8gYXZvaWQgcmVsb2NhdGlvbnMgKi8KIAlkbyB7CisJCS8qIHRoZSBv YmplY3Qgd29uJ3QgZml0IGluIHRoZSBtYW5hZ2VkIGFkZHJlc3MgcmFuZ2UgKi8KKwkJaWYgKGNu dCA+IDUpIHJldHVybiBBTExPQ19JTlZBTElEX0FERFJFU1M7CisKIAkJb2Zmc2V0ID0gaGFyc19w ZXRydXNrYV9mNTRfMV9yYW5kb202NCgmaWFsci0+cHJuZyk7Ci0JCW9mZnNldCArPSBpYWxyLT5i aWFzOyAvKiBLZWVwIHRoZSBsb3cgMjU2ayBjbGVhciwgZm9yIG5lZ2F0aXZlIGRlbHRhcyAqLwot CQlvZmZzZXQgJj0gaWFsci0+YWRkcmVzc19tYXNrOwotCQlvZmZzZXQgJj0gfihhbGlnbm1lbnQg LSAxKTsKKwkJaWYgKCsrY250ID09IDUpIG9mZnNldCA9IDA7CisKKwkJb2Zmc2V0ICY9IGlhbHIt PnNpemVfbWFzazsKKwkJb2Zmc2V0ICs9IGlhbHItPnN0YXJ0OworCQlvZmZzZXQgPSBBTElHTihv ZmZzZXQsIGFsaWdubWVudCk7CiAJfSB3aGlsZSAob2Zmc2V0ICsgc2l6ZSA+IGlhbHItPmVuZCk7 CiAKIAlpYWxyLT5hbGxvY2F0ZWRfb2JqZWN0cysrOwpAQCAtMTQ1LDcgKzE1Miw4IEBAIHN0YXRp YyBib29sIGludGVsX2FsbG9jYXRvcl9yYW5kb21faXNfZW1wdHkoc3RydWN0IGludGVsX2FsbG9j YXRvciAqaWFsKQogCXJldHVybiAhaWFsci0+YWxsb2NhdGVkX29iamVjdHM7CiB9CiAKLXN0cnVj dCBpbnRlbF9hbGxvY2F0b3IgKmludGVsX2FsbG9jYXRvcl9yYW5kb21fY3JlYXRlKGludCBmZCwg dWludDY0X3QgZW5kKQorc3RydWN0IGludGVsX2FsbG9jYXRvciAqCitpbnRlbF9hbGxvY2F0b3Jf cmFuZG9tX2NyZWF0ZShpbnQgZmQsIHVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBlbmQpCiB7CiAJ c3RydWN0IGludGVsX2FsbG9jYXRvciAqaWFsOwogCXN0cnVjdCBpbnRlbF9hbGxvY2F0b3JfcmFu ZG9tICppYWxyOwpAQCAtMTcwLDEwICsxNzgsMTAgQEAgc3RydWN0IGludGVsX2FsbG9jYXRvciAq aW50ZWxfYWxsb2NhdG9yX3JhbmRvbV9jcmVhdGUoaW50IGZkLCB1aW50NjRfdCBlbmQpCiAJaWd0 X2Fzc2VydChpYWwtPnByaXYpOwogCWlhbHItPnBybmcgPSAodWludDMyX3QpIHRvX3VzZXJfcG9p bnRlcihpYWwpOwogCi0JaWd0X2Fzc2VydChCSUFTIDwgZW5kKTsKLQlpYWxyLT5hZGRyZXNzX21h c2sgPSAoMVVMTCA8PCAoaWd0X2ZscyhlbmQpIC0gMSkpIC0gMTsKLQlpYWxyLT5iaWFzID0gQklB UzsKLQlpYWxyLT5zdGFydCA9IGlhbHItPmJpYXM7CisJc3RhcnQgPSBtYXgoc3RhcnQsIEJJQVMp OworCWlndF9hc3NlcnQoc3RhcnQgPCBlbmQpOworCWlhbHItPnNpemVfbWFzayA9ICgxVUxMIDw8 IChpZ3RfZmxzKHN0YXJ0IC0gZW5kKSAtIDEpKSAtIDE7CisJaWFsci0+c3RhcnQgPSBzdGFydDsK IAlpYWxyLT5lbmQgPSBlbmQ7CiAKIAlpYWxyLT5hbGxvY2F0ZWRfb2JqZWN0cyA9IDA7CmRpZmYg LS1naXQgYS9saWIvaW50ZWxfYWxsb2NhdG9yX3JlbG9jLmMgYi9saWIvaW50ZWxfYWxsb2NhdG9y X3JlbG9jLmMKaW5kZXggNzAzZDA1NGM2Li4yNGIyYWVlYmMgMTAwNjQ0Ci0tLSBhL2xpYi9pbnRl bF9hbGxvY2F0b3JfcmVsb2MuYworKysgYi9saWIvaW50ZWxfYWxsb2NhdG9yX3JlbG9jLmMKQEAg LTEwLDEwICsxMCwxMCBAQAogI2luY2x1ZGUgImlndF9yYW5kLmgiCiAjaW5jbHVkZSAiaW50ZWxf YWxsb2NhdG9yLmgiCiAKLXN0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmludGVsX2FsbG9jYXRvcl9y ZWxvY19jcmVhdGUoaW50IGZkLCB1aW50NjRfdCBlbmQpOworc3RydWN0IGludGVsX2FsbG9jYXRv ciAqCitpbnRlbF9hbGxvY2F0b3JfcmVsb2NfY3JlYXRlKGludCBmZCwgdWludDY0X3Qgc3RhcnQs IHVpbnQ2NF90IGVuZCk7CiAKIHN0cnVjdCBpbnRlbF9hbGxvY2F0b3JfcmVsb2MgewotCXVpbnQ2 NF90IGJpYXM7CiAJdWludDMyX3QgcHJuZzsKIAl1aW50NjRfdCBzdGFydDsKIAl1aW50NjRfdCBl bmQ7CkBAIC0yMyw2ICsyMyw3IEBAIHN0cnVjdCBpbnRlbF9hbGxvY2F0b3JfcmVsb2MgewogCXVp bnQ2NF90IGFsbG9jYXRlZF9vYmplY3RzOwogfTsKIAorLyogS2VlcCB0aGUgbG93IDI1NmsgY2xl YXIsIGZvciBuZWdhdGl2ZSBkZWx0YXMgKi8KICNkZWZpbmUgQklBUyAyNTYgPDwgMTAKIAogc3Rh dGljIHZvaWQgaW50ZWxfYWxsb2NhdG9yX3JlbG9jX2dldF9hZGRyZXNzX3JhbmdlKHN0cnVjdCBp bnRlbF9hbGxvY2F0b3IgKmlhbCwKQEAgLTQ5LDEzICs1MCwxNiBAQCBzdGF0aWMgdWludDY0X3Qg aW50ZWxfYWxsb2NhdG9yX3JlbG9jX2FsbG9jKHN0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmlhbCwK IAkodm9pZCkgaGFuZGxlOwogCSh2b2lkKSBzdHJhdGVneTsKIAotCWFsaWdubWVudCA9IG1heChh bGlnbm1lbnQsIDQwOTYpOwogCWFsaWduZWRfb2Zmc2V0ID0gQUxJR04oaWFsci0+b2Zmc2V0LCBh bGlnbm1lbnQpOwogCiAJLyogQ2hlY2sgd2Ugd29uJ3QgZXhjZWVkIGVuZCAqLwogCWlmIChhbGln bmVkX29mZnNldCArIHNpemUgPiBpYWxyLT5lbmQpCiAJCWFsaWduZWRfb2Zmc2V0ID0gQUxJR04o aWFsci0+c3RhcnQsIGFsaWdubWVudCk7CiAKKwkvKiBDaGVjayB0aGF0IHRoZSBvYmplY3QgZml0 cyBpbiB0aGUgYWRkcmVzcyByYW5nZSAqLworCWlmIChhbGlnbmVkX29mZnNldCArIHNpemUgPiBp YWxyLT5lbmQpCisJCXJldHVybiBBTExPQ19JTlZBTElEX0FERFJFU1M7CisKIAlvZmZzZXQgPSBh bGlnbmVkX29mZnNldDsKIAlpYWxyLT5vZmZzZXQgPSBvZmZzZXQgKyBzaXplOwogCWlhbHItPmFs bG9jYXRlZF9vYmplY3RzKys7CkBAIC0xNDYsNyArMTUwLDggQEAgc3RhdGljIGJvb2wgaW50ZWxf YWxsb2NhdG9yX3JlbG9jX2lzX2VtcHR5KHN0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmlhbCkKIAly ZXR1cm4gIWlhbHItPmFsbG9jYXRlZF9vYmplY3RzOwogfQogCi1zdHJ1Y3QgaW50ZWxfYWxsb2Nh dG9yICppbnRlbF9hbGxvY2F0b3JfcmVsb2NfY3JlYXRlKGludCBmZCwgdWludDY0X3QgZW5kKQor c3RydWN0IGludGVsX2FsbG9jYXRvciAqCitpbnRlbF9hbGxvY2F0b3JfcmVsb2NfY3JlYXRlKGlu dCBmZCwgdWludDY0X3Qgc3RhcnQsIHVpbnQ2NF90IGVuZCkKIHsKIAlzdHJ1Y3QgaW50ZWxfYWxs b2NhdG9yICppYWw7CiAJc3RydWN0IGludGVsX2FsbG9jYXRvcl9yZWxvYyAqaWFscjsKQEAgLTE3 MSw4ICsxNzYsOSBAQCBzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yICppbnRlbF9hbGxvY2F0b3JfcmVs b2NfY3JlYXRlKGludCBmZCwgdWludDY0X3QgZW5kKQogCWlndF9hc3NlcnQoaWFsLT5wcml2KTsK IAlpYWxyLT5wcm5nID0gKHVpbnQzMl90KSB0b191c2VyX3BvaW50ZXIoaWFsKTsKIAotCWlhbHIt PmJpYXMgPSBpYWxyLT5vZmZzZXQgPSBCSUFTOwotCWlhbHItPnN0YXJ0ID0gaWFsci0+YmlhczsK KwlzdGFydCA9IG1heChzdGFydCwgQklBUyk7CisJaWd0X2Fzc2VydChzdGFydCA8IGVuZCk7CisJ aWFsci0+b2Zmc2V0ID0gaWFsci0+c3RhcnQgPSBzdGFydDsKIAlpYWxyLT5lbmQgPSBlbmQ7CiAK IAlpYWxyLT5hbGxvY2F0ZWRfb2JqZWN0cyA9IDA7CmRpZmYgLS1naXQgYS9saWIvaW50ZWxfYWxs b2NhdG9yX3NpbXBsZS5jIGIvbGliL2ludGVsX2FsbG9jYXRvcl9zaW1wbGUuYwppbmRleCA2MDIy ZTgzMmIuLjBlNjc2Mzk2NCAxMDA2NDQKLS0tIGEvbGliL2ludGVsX2FsbG9jYXRvcl9zaW1wbGUu YworKysgYi9saWIvaW50ZWxfYWxsb2NhdG9yX3NpbXBsZS5jCkBAIC00MTksNyArNDE5LDYgQEAg c3RhdGljIHVpbnQ2NF90IGludGVsX2FsbG9jYXRvcl9zaW1wbGVfYWxsb2Moc3RydWN0IGludGVs X2FsbG9jYXRvciAqaWFsLAogCWlhbHMgPSAoc3RydWN0IGludGVsX2FsbG9jYXRvcl9zaW1wbGUg KikgaWFsLT5wcml2OwogCWlndF9hc3NlcnQoaWFscyk7CiAJaWd0X2Fzc2VydChoYW5kbGUpOwot CWFsaWdubWVudCA9IGFsaWdubWVudCA+IDAgPyBhbGlnbm1lbnQgOiAxOwogCiAJcmVjID0gaWd0 X21hcF9zZWFyY2goaWFscy0+b2JqZWN0cywgJmhhbmRsZSk7CiAJaWYgKHJlYykgewotLSAKMi4y NS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3Qt ZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK