From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v4 32/38] drm: Simplify drm_mm scan-list manipulation Date: Thu, 22 Dec 2016 08:36:35 +0000 Message-ID: <20161222083641.2691-33-chris@chris-wilson.co.uk> References: <20161222083641.2691-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161222083641.2691-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org U2luY2Ugd2UgbWFuZGF0ZSBhIHN0cmljdCByZXZlcnNlLW9yZGVyIG9mIGRybV9tbV9zY2FuX3Jl bW92ZV9ibG9jaygpCmFmdGVyIGRybV9tbV9zY2FuX2FkZF9ibG9jaygpIHdlIGNhbiBmdXJ0aGVy IHNpbXBsaWZ5IHRoZSBsaXN0Cm1hbmlwdWxhdGlvbnMgd2hlbiBnZW5lcmF0aW5nIHRoZSB0ZW1w b3Jhcnkgc2Nhbi1ob2xlLgoKdjI6IEhpZ2hsaWdodCB0aGUgZ2FtZXMgYmVpbmcgcGxheWVkIHdp dGggdGhlIGxpc3RzIHRvIHRyYWNrIHRoZSBzY2FuCmhvbGVzIHdpdGhvdXQgYWxsb2NhdGlvbi4K ClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpS ZXZpZXdlZC1ieTogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fbW0uYyB8IDM1ICsrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tCiBpbmNsdWRlL2RybS9kcm1fbW0uaCAgICAgfCAgNyArLS0tLS0t CiAyIGZpbGVzIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f bW0uYwppbmRleCAwNDQxZDg0ZmJhNzQuLmNjY2E4ZGFmYjdmYyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9tbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW0uYwpAQCAtNTE4 LDkgKzUxOCw3IEBAIHZvaWQgZHJtX21tX3JlbW92ZV9ub2RlKHN0cnVjdCBkcm1fbW1fbm9kZSAq bm9kZSkKIAlzdHJ1Y3QgZHJtX21tX25vZGUgKnByZXZfbm9kZTsKIAogCURSTV9NTV9CVUdfT04o IW5vZGUtPmFsbG9jYXRlZCk7Ci0JRFJNX01NX0JVR19PTihub2RlLT5zY2FubmVkX2Jsb2NrIHx8 Ci0JCSAgICAgIG5vZGUtPnNjYW5uZWRfcHJldl9mcmVlIHx8Ci0JCSAgICAgIG5vZGUtPnNjYW5u ZWRfbmV4dF9mcmVlKTsKKwlEUk1fTU1fQlVHX09OKG5vZGUtPnNjYW5uZWRfYmxvY2spOwogCiAJ cHJldl9ub2RlID0KIAkgICAgbGlzdF9lbnRyeShub2RlLT5ub2RlX2xpc3QucHJldiwgc3RydWN0 IGRybV9tbV9ub2RlLCBub2RlX2xpc3QpOwpAQCAtNzU3LDggKzc1NSw2IEBAIHZvaWQgZHJtX21t X3NjYW5faW5pdF93aXRoX3JhbmdlKHN0cnVjdCBkcm1fbW1fc2NhbiAqc2NhbiwKIAogCXNjYW4t PmhpdF9zdGFydCA9IFU2NF9NQVg7CiAJc2Nhbi0+aGl0X2VuZCA9IDA7Ci0KLQlzY2FuLT5wcmV2 X3NjYW5uZWRfbm9kZSA9IE5VTEw7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9tbV9zY2FuX2luaXRf d2l0aF9yYW5nZSk7CiAKQEAgLTc4NywxNCArNzgzLDE0IEBAIGJvb2wgZHJtX21tX3NjYW5fYWRk X2Jsb2NrKHN0cnVjdCBkcm1fbW1fc2NhbiAqc2NhbiwKIAlub2RlLT5zY2FubmVkX2Jsb2NrID0g dHJ1ZTsKIAltbS0+c2Nhbl9hY3RpdmUrKzsKIAorCS8qIFJlbW92ZSB0aGlzIGJsb2NrIGZyb20g dGhlIG5vZGVfbGlzdCBzbyB0aGF0IHdlIGVubGFyZ2UgdGhlIGhvbGUKKwkgKiAoZGlzdGFuY2Ug YmV0d2VlbiB0aGUgZW5kIG9mIG91ciBwcmV2aW91cyBub2RlIGFuZCB0aGUgc3RhcnQgb2YKKwkg KiBvciBuZXh0KSwgd2l0aG91dCBwb2lzb25pbmcgdGhlIGxpbmsgc28gdGhhdCB3ZSBjYW4gcmVz dG9yZSBpdAorCSAqIGxhdGVyIGluIGRybV9tbV9zY2FuX3JlbW92ZV9ibG9jaygpLgorCSAqLwog CWhvbGUgPSBsaXN0X3ByZXZfZW50cnkobm9kZSwgbm9kZV9saXN0KTsKLQotCW5vZGUtPnNjYW5u ZWRfcHJlY2VlZHNfaG9sZSA9IGhvbGUtPmhvbGVfZm9sbG93czsKLQlob2xlLT5ob2xlX2ZvbGxv d3MgPSAxOwotCWxpc3RfZGVsKCZub2RlLT5ub2RlX2xpc3QpOwotCW5vZGUtPm5vZGVfbGlzdC5w cmV2ID0gJmhvbGUtPm5vZGVfbGlzdDsKLQlub2RlLT5ub2RlX2xpc3QubmV4dCA9ICZzY2FuLT5w cmV2X3NjYW5uZWRfbm9kZS0+bm9kZV9saXN0OwotCXNjYW4tPnByZXZfc2Nhbm5lZF9ub2RlID0g bm9kZTsKKwlEUk1fTU1fQlVHX09OKGxpc3RfbmV4dF9lbnRyeShob2xlLCBub2RlX2xpc3QpICE9 IG5vZGUpOworCV9fbGlzdF9kZWxfZW50cnkoJm5vZGUtPm5vZGVfbGlzdCk7CiAKIAlob2xlX3N0 YXJ0ID0gX19kcm1fbW1faG9sZV9ub2RlX3N0YXJ0KGhvbGUpOwogCWhvbGVfZW5kID0gX19kcm1f bW1faG9sZV9ub2RlX2VuZChob2xlKTsKQEAgLTg4OCw5ICs4ODQsMTcgQEAgYm9vbCBkcm1fbW1f c2Nhbl9yZW1vdmVfYmxvY2soc3RydWN0IGRybV9tbV9zY2FuICpzY2FuLAogCURSTV9NTV9CVUdf T04oIW5vZGUtPm1tLT5zY2FuX2FjdGl2ZSk7CiAJbm9kZS0+bW0tPnNjYW5fYWN0aXZlLS07CiAK KwkvKiBEdXJpbmcgZHJtX21tX3NjYW5fYWRkX2Jsb2NrKCkgd2UgZGVjb3VwbGVkIHRoaXMgbm9k ZSBsZWF2aW5nCisJICogaXRzIHBvaW50ZXJzIGludGFjdC4gTm93IHRoYXQgdGhlIGNhbGxlciBp cyB3YWxraW5nIGJhY2sgYWxvbmcKKwkgKiB0aGUgZXZpY3Rpb24gbGlzdCB3ZSBjYW4gcmVzdG9y ZSB0aGlzIGJsb2NrIGludG8gaXRzIHJpZ2h0ZnVsCisJICogcGxhY2Ugb24gdGhlIGZ1bGwgbm9k ZV9saXN0LiBUbyBjb25maXJtIHRoYXQgdGhlIGNhbGxlciBpcyB3YWxraW5nCisJICogYmFja3dh cmRzIGNvcnJlY3RseSB3ZSBjaGVjayB0aGF0IHByZXZfbm9kZS0+bmV4dCA9PSBub2RlLT5uZXh0 LAorCSAqIGkuZS4gYm90aCBiZWxpZXZlIHRoZSBzYW1lIG5vZGUgc2hvdWxkIGJlIG9uIHRoZSBv dGhlciBzaWRlIG9mIHRoZQorCSAqIGhvbGUuCisJICovCiAJcHJldl9ub2RlID0gbGlzdF9wcmV2 X2VudHJ5KG5vZGUsIG5vZGVfbGlzdCk7Ci0KLQlwcmV2X25vZGUtPmhvbGVfZm9sbG93cyA9IG5v ZGUtPnNjYW5uZWRfcHJlY2VlZHNfaG9sZTsKKwlEUk1fTU1fQlVHX09OKGxpc3RfbmV4dF9lbnRy eShwcmV2X25vZGUsIG5vZGVfbGlzdCkgIT0KKwkJICAgICAgbGlzdF9uZXh0X2VudHJ5KG5vZGUs IG5vZGVfbGlzdCkpOwogCWxpc3RfYWRkKCZub2RlLT5ub2RlX2xpc3QsICZwcmV2X25vZGUtPm5v ZGVfbGlzdCk7CiAKIAlyZXR1cm4gKG5vZGUtPnN0YXJ0ICsgbm9kZS0+c2l6ZSA+IHNjYW4tPmhp dF9zdGFydCAmJgpAQCAtOTE3LDkgKzkyMSw2IEBAIHZvaWQgZHJtX21tX2luaXQoc3RydWN0IGRy bV9tbSAqbW0sIHU2NCBzdGFydCwgdTY0IHNpemUpCiAJSU5JVF9MSVNUX0hFQUQoJm1tLT5oZWFk X25vZGUubm9kZV9saXN0KTsKIAltbS0+aGVhZF9ub2RlLmFsbG9jYXRlZCA9IDA7CiAJbW0tPmhl YWRfbm9kZS5ob2xlX2ZvbGxvd3MgPSAxOwotCW1tLT5oZWFkX25vZGUuc2Nhbm5lZF9ibG9jayA9 IDA7Ci0JbW0tPmhlYWRfbm9kZS5zY2FubmVkX3ByZXZfZnJlZSA9IDA7Ci0JbW0tPmhlYWRfbm9k ZS5zY2FubmVkX25leHRfZnJlZSA9IDA7CiAJbW0tPmhlYWRfbm9kZS5tbSA9IG1tOwogCW1tLT5o ZWFkX25vZGUuc3RhcnQgPSBzdGFydCArIHNpemU7CiAJbW0tPmhlYWRfbm9kZS5zaXplID0gc3Rh cnQgLSBtbS0+aGVhZF9ub2RlLnN0YXJ0OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX21t LmggYi9pbmNsdWRlL2RybS9kcm1fbW0uaAppbmRleCBkNjcwMWQ1NmVhNzQuLmZmMTIwYjdkMGY4 NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX21tLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJt X21tLmgKQEAgLTc0LDExICs3NCw4IEBAIHN0cnVjdCBkcm1fbW1fbm9kZSB7CiAJc3RydWN0IGxp c3RfaGVhZCBob2xlX3N0YWNrOwogCXN0cnVjdCByYl9ub2RlIHJiOwogCXVuc2lnbmVkIGhvbGVf Zm9sbG93cyA6IDE7Ci0JdW5zaWduZWQgc2Nhbm5lZF9ibG9jayA6IDE7Ci0JdW5zaWduZWQgc2Nh bm5lZF9wcmV2X2ZyZWUgOiAxOwotCXVuc2lnbmVkIHNjYW5uZWRfbmV4dF9mcmVlIDogMTsKLQl1 bnNpZ25lZCBzY2FubmVkX3ByZWNlZWRzX2hvbGUgOiAxOwogCXVuc2lnbmVkIGFsbG9jYXRlZCA6 IDE7CisJYm9vbCBzY2FubmVkX2Jsb2NrIDogMTsKIAl1bnNpZ25lZCBsb25nIGNvbG9yOwogCXU2 NCBzdGFydDsKIAl1NjQgc2l6ZTsKQEAgLTExOCw4ICsxMTUsNiBAQCBzdHJ1Y3QgZHJtX21tX3Nj YW4gewogCXU2NCBoaXRfc3RhcnQ7CiAJdTY0IGhpdF9lbmQ7CiAKLQlzdHJ1Y3QgZHJtX21tX25v ZGUgKnByZXZfc2Nhbm5lZF9ub2RlOwotCiAJdW5zaWduZWQgbG9uZyBjb2xvcjsKIAl1bnNpZ25l ZCBpbnQgZmxhZ3M7CiB9OwotLSAKMi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK