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 A4B126E5C0 for ; Wed, 17 Mar 2021 14:46:44 +0000 (UTC) From: =?UTF-8?q?Zbigniew=20Kempczy=C5=84ski?= Date: Wed, 17 Mar 2021 15:45:41 +0100 Message-Id: <20210317144610.108372-7-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 06/35] lib/intel_allocator_reloc: Add reloc allocator 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: QXMgcmVsb2NhdGlvbnMgd29uJ3QgYmUgYWNjZXNzaWJsZSBvbiBkaXNjcmV0ZSB3ZSBuZWVkIHRv IHN1cHBvcnQKSUdUIHdpdGggYW4gYWxsb2NhdG9yLiBTbyB0ZXN0cyB3aGljaCBoYXZlIHRvIGNv dmVyIGFsbCBnZW5lcmF0aW9ucwpoYXZlIHRvIGRpdmVyZ2UgdGhlIGNvZGUgYW5kIHVzZSBjb25k aXRpb25hbCBjb25zdHJ1Y3RzLgpPbiB0aGUgbG9uZyB0ZXJtIHRoaXMgY2FuIGJlIGN1bWJlcnNv bWUgYW5kIGNvbmZ1c2luZy4gU28gd2UgY2FuCnRyeSB0byBhdm9pZCBzdWNoIGFuZCB1c2UgcHNl dWRvLXJlbG9jIGFsbG9jYXRvciB3aGljaCBtYWluIHRhc2sKaXMgdG8gcmV0dXJuIGluY3JlbWVu dGVkIG9mZnNldHMuIFRoaXMgd2F5IHdlIGNhbiBza2lwIG1lbnRpb25lZApjb25kaXRpb25hbHMg YW5kIGp1c3QgYWNxdWlyZSBvZmZzZXRzIGZyb20gYW4gYWxsb2NhdG9yLgoKU2lnbmVkLW9mZi1i eTogWmJpZ25pZXcgS2VtcGN6ecWEc2tpIDx6Ymlnbmlldy5rZW1wY3p5bnNraUBpbnRlbC5jb20+ ClN1Z2dlc3RlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0t LQogbGliL2ludGVsX2FsbG9jYXRvcl9yZWxvYy5jIHwgMTkwICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDE5MCBpbnNlcnRpb25zKCspCiBjcmVh dGUgbW9kZSAxMDA2NDQgbGliL2ludGVsX2FsbG9jYXRvcl9yZWxvYy5jCgpkaWZmIC0tZ2l0IGEv bGliL2ludGVsX2FsbG9jYXRvcl9yZWxvYy5jIGIvbGliL2ludGVsX2FsbG9jYXRvcl9yZWxvYy5j Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYWJmOWMzMGNkCi0tLSAvZGV2 L251bGwKKysrIGIvbGliL2ludGVsX2FsbG9jYXRvcl9yZWxvYy5jCkBAIC0wLDAgKzEsMTkwIEBA CisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCisvKgorICogQ29weXJpZ2h0IMKpIDIw MjEgSW50ZWwgQ29ycG9yYXRpb24KKyAqLworCisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5j bHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSAiaWd0LmgiCisjaW5jbHVkZSAiaWd0X3g4Ni5oIgor I2luY2x1ZGUgImlndF9yYW5kLmgiCisjaW5jbHVkZSAiaW50ZWxfYWxsb2NhdG9yLmgiCisKK3N0 cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmludGVsX2FsbG9jYXRvcl9yZWxvY19jcmVhdGUoaW50IGZk KTsKKworc3RydWN0IGludGVsX2FsbG9jYXRvcl9yZWxvYyB7CisJdWludDY0X3QgYmlhczsKKwl1 aW50MzJfdCBwcm5nOworCXVpbnQ2NF90IGd0dF9zaXplOworCXVpbnQ2NF90IHN0YXJ0OworCXVp bnQ2NF90IGVuZDsKKwl1aW50NjRfdCBvZmZzZXQ7CisKKwkvKiBzdGF0aXN0aWNzICovCisJdWlu dDY0X3QgYWxsb2NhdGVkX29iamVjdHM7Cit9OworCitzdGF0aWMgdWludDY0X3QgZ2V0X2JpYXMo aW50IGZkKQoreworCSh2b2lkKSBmZDsKKworCXJldHVybiAyNTYgPDwgMTA7Cit9CisKK3N0YXRp YyB2b2lkIGludGVsX2FsbG9jYXRvcl9yZWxvY19nZXRfYWRkcmVzc19yYW5nZShzdHJ1Y3QgaW50 ZWxfYWxsb2NhdG9yICppYWwsCisJCQkJCQkgICAgdWludDY0X3QgKnN0YXJ0cCwKKwkJCQkJCSAg ICB1aW50NjRfdCAqZW5kcCkKK3sKKwlzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yX3JlbG9jICppYWxy ID0gaWFsLT5wcml2OworCisJaWYgKHN0YXJ0cCkKKwkJKnN0YXJ0cCA9IGlhbHItPnN0YXJ0Owor CisJaWYgKGVuZHApCisJCSplbmRwID0gaWFsci0+ZW5kOworfQorCitzdGF0aWMgdWludDY0X3Qg aW50ZWxfYWxsb2NhdG9yX3JlbG9jX2FsbG9jKHN0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmlhbCwK KwkJCQkJICAgIHVpbnQzMl90IGhhbmRsZSwgdWludDY0X3Qgc2l6ZSwKKwkJCQkJICAgIHVpbnQ2 NF90IGFsaWdubWVudCkKK3sKKwlzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yX3JlbG9jICppYWxyID0g aWFsLT5wcml2OworCXVpbnQ2NF90IG9mZnNldCwgYWxpZ25lZF9vZmZzZXQ7CisKKwkodm9pZCkg aGFuZGxlOworCisJYWxpZ25tZW50ID0gbWF4KGFsaWdubWVudCwgNDA5Nik7CisJYWxpZ25lZF9v ZmZzZXQgPSBBTElHTihpYWxyLT5vZmZzZXQsIGFsaWdubWVudCk7CisKKwkvKiBDaGVjayB3ZSB3 b24ndCBleGNlZWQgZW5kICovCisJaWYgKGFsaWduZWRfb2Zmc2V0ICsgc2l6ZSA+IGlhbHItPmVu ZCkKKwkJYWxpZ25lZF9vZmZzZXQgPSBBTElHTihpYWxyLT5zdGFydCwgYWxpZ25tZW50KTsKKwor CW9mZnNldCA9IGFsaWduZWRfb2Zmc2V0OworCWlhbHItPm9mZnNldCA9IG9mZnNldCArIHNpemU7 CisJaWFsci0+YWxsb2NhdGVkX29iamVjdHMrKzsKKworCXJldHVybiBvZmZzZXQ7Cit9CisKK3N0 YXRpYyBib29sIGludGVsX2FsbG9jYXRvcl9yZWxvY19mcmVlKHN0cnVjdCBpbnRlbF9hbGxvY2F0 b3IgKmlhbCwKKwkJCQkgICAgICAgdWludDMyX3QgaGFuZGxlKQoreworCXN0cnVjdCBpbnRlbF9h bGxvY2F0b3JfcmVsb2MgKmlhbHIgPSBpYWwtPnByaXY7CisKKwkodm9pZCkgaGFuZGxlOworCisJ aWFsci0+YWxsb2NhdGVkX29iamVjdHMtLTsKKworCXJldHVybiBmYWxzZTsKK30KKworc3RhdGlj IGJvb2wgaW50ZWxfYWxsb2NhdG9yX3JlbG9jX2lzX2FsbG9jYXRlZChzdHJ1Y3QgaW50ZWxfYWxs b2NhdG9yICppYWwsCisJCQkJCSAgICAgICB1aW50MzJfdCBoYW5kbGUsIHVpbnQ2NF90IHNpemUs CisJCQkJCSAgICAgICB1aW50NjRfdCBvZmZzZXQpCit7CisJKHZvaWQpIGlhbDsKKwkodm9pZCkg aGFuZGxlOworCSh2b2lkKSBzaXplOworCSh2b2lkKSBvZmZzZXQ7CisKKwlyZXR1cm4gZmFsc2U7 Cit9CisKK3N0YXRpYyB2b2lkIGludGVsX2FsbG9jYXRvcl9yZWxvY19kZXN0cm95KHN0cnVjdCBp bnRlbF9hbGxvY2F0b3IgKmlhbCkKK3sKKwlpZ3RfYXNzZXJ0KGlhbCk7CisKKwlmcmVlKGlhbC0+ cHJpdik7CisJZnJlZShpYWwpOworfQorCitzdGF0aWMgYm9vbCBpbnRlbF9hbGxvY2F0b3JfcmVs b2NfcmVzZXJ2ZShzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yICppYWwsCisJCQkJCSAgdWludDMyX3Qg aGFuZGxlLAorCQkJCQkgIHVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBlbmQpCit7CisJKHZvaWQp IGlhbDsKKwkodm9pZCkgaGFuZGxlOworCSh2b2lkKSBzdGFydDsKKwkodm9pZCkgZW5kOworCisJ cmV0dXJuIGZhbHNlOworfQorCitzdGF0aWMgYm9vbCBpbnRlbF9hbGxvY2F0b3JfcmVsb2NfdW5y ZXNlcnZlKHN0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmlhbCwKKwkJCQkJICAgIHVpbnQzMl90IGhh bmRsZSwKKwkJCQkJICAgIHVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBlbmQpCit7CisJKHZvaWQp IGlhbDsKKwkodm9pZCkgaGFuZGxlOworCSh2b2lkKSBzdGFydDsKKwkodm9pZCkgZW5kOworCisJ cmV0dXJuIGZhbHNlOworfQorCitzdGF0aWMgYm9vbCBpbnRlbF9hbGxvY2F0b3JfcmVsb2NfaXNf cmVzZXJ2ZWQoc3RydWN0IGludGVsX2FsbG9jYXRvciAqaWFsLAorCQkJCQkgICAgICB1aW50NjRf dCBzdGFydCwgdWludDY0X3QgZW5kKQoreworCSh2b2lkKSBpYWw7CisJKHZvaWQpIHN0YXJ0Owor CSh2b2lkKSBlbmQ7CisKKwlyZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRpYyB2b2lkIGludGVsX2Fs bG9jYXRvcl9yZWxvY19wcmludChzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yICppYWwsIGJvb2wgZnVs bCkKK3sKKwlzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yX3JlbG9jICppYWxyID0gaWFsLT5wcml2Owor CisJKHZvaWQpIGZ1bGw7CisKKwlpZ3RfaW5mbygiPGlhbDogJXAsIGZkOiAlZD4gYWxsb2NhdGVk IG9iamVjdHM6ICUiIFBSSXg2NCAiXG4iLAorCQkgaWFsLCBpYWwtPmZkLCBpYWxyLT5hbGxvY2F0 ZWRfb2JqZWN0cyk7Cit9CisKK3N0YXRpYyBib29sIGludGVsX2FsbG9jYXRvcl9yZWxvY19pc19l bXB0eShzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yICppYWwpCit7CisJc3RydWN0IGludGVsX2FsbG9j YXRvcl9yZWxvYyAqaWFsciA9IGlhbC0+cHJpdjsKKworCXJldHVybiAhaWFsci0+YWxsb2NhdGVk X29iamVjdHM7Cit9CisKKyNkZWZpbmUgUkVTRVJWRUQgNDA5Ngorc3RydWN0IGludGVsX2FsbG9j YXRvciAqaW50ZWxfYWxsb2NhdG9yX3JlbG9jX2NyZWF0ZShpbnQgZmQpCit7CisJc3RydWN0IGlu dGVsX2FsbG9jYXRvciAqaWFsOworCXN0cnVjdCBpbnRlbF9hbGxvY2F0b3JfcmVsb2MgKmlhbHI7 CisKKwlpZ3RfZGVidWcoIlVzaW5nIHJlbG9jIGFsbG9jYXRvclxuIik7CisJaWFsID0gY2FsbG9j KDEsIHNpemVvZigqaWFsKSk7CisJaWd0X2Fzc2VydChpYWwpOworCisJaWFsLT5mZCA9IGZkOwor CWlhbC0+Z2V0X2FkZHJlc3NfcmFuZ2UgPSBpbnRlbF9hbGxvY2F0b3JfcmVsb2NfZ2V0X2FkZHJl c3NfcmFuZ2U7CisJaWFsLT5hbGxvYyA9IGludGVsX2FsbG9jYXRvcl9yZWxvY19hbGxvYzsKKwlp YWwtPmZyZWUgPSBpbnRlbF9hbGxvY2F0b3JfcmVsb2NfZnJlZTsKKwlpYWwtPmlzX2FsbG9jYXRl ZCA9IGludGVsX2FsbG9jYXRvcl9yZWxvY19pc19hbGxvY2F0ZWQ7CisJaWFsLT5yZXNlcnZlID0g aW50ZWxfYWxsb2NhdG9yX3JlbG9jX3Jlc2VydmU7CisJaWFsLT51bnJlc2VydmUgPSBpbnRlbF9h bGxvY2F0b3JfcmVsb2NfdW5yZXNlcnZlOworCWlhbC0+aXNfcmVzZXJ2ZWQgPSBpbnRlbF9hbGxv Y2F0b3JfcmVsb2NfaXNfcmVzZXJ2ZWQ7CisJaWFsLT5kZXN0cm95ID0gaW50ZWxfYWxsb2NhdG9y X3JlbG9jX2Rlc3Ryb3k7CisJaWFsLT5wcmludCA9IGludGVsX2FsbG9jYXRvcl9yZWxvY19wcmlu dDsKKwlpYWwtPmlzX2VtcHR5ID0gaW50ZWxfYWxsb2NhdG9yX3JlbG9jX2lzX2VtcHR5OworCisJ aWFsciA9IGlhbC0+cHJpdiA9IGNhbGxvYygxLCBzaXplb2YoKmlhbHIpKTsKKwlpZ3RfYXNzZXJ0 KGlhbC0+cHJpdik7CisJaWFsci0+cHJuZyA9ICh1aW50MzJfdCkgdG9fdXNlcl9wb2ludGVyKGlh bCk7CisJaWFsci0+Z3R0X3NpemUgPSBnZW1fYXBlcnR1cmVfc2l6ZShmZCk7CisJaWd0X2RlYnVn KCJHdHQgc2l6ZTogJSIgUFJJZDY0ICJcbiIsIGlhbHItPmd0dF9zaXplKTsKKwlpZiAoIWdlbV91 c2VzX2Z1bGxfcHBndHQoZmQpKQorCQlpYWxyLT5ndHRfc2l6ZSAvPSAyOworCisJaWFsci0+Ymlh cyA9IGlhbHItPm9mZnNldCA9IGdldF9iaWFzKGZkKTsKKwlpYWxyLT5zdGFydCA9IGlhbHItPmJp YXM7CisJaWFsci0+ZW5kID0gaWFsci0+Z3R0X3NpemUgLSBSRVNFUlZFRDsKKworCWlhbHItPmFs bG9jYXRlZF9vYmplY3RzID0gMDsKKworCXJldHVybiBpYWw7Cit9Ci0tIAoyLjI2LjAKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGlu ZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=