From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v4 34/38] drm: Wrap drm_mm_node.hole_follows Date: Thu, 22 Dec 2016 08:36:37 +0000 Message-ID: <20161222083641.2691-35-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 SW5zdWxhdGUgdXNlcnMgZnJvbSBjaGFuZ2VzIHRvIHRoZSBpbnRlcm5hbCBob2xlIHRyYWNraW5n IHdpdGhpbgpzdHJ1Y3QgZHJtX21tX25vZGUgYnkgdXNpbmcgYW4gYWNjZXNzb3IgZm9yIGhvbGVf Zm9sbG93cy4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29u LmNvLnVrPgpSZXZpZXdlZC1ieTogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGlu dXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fbW0uYyAgICAgICAgICAgICAg ICB8IDEyICsrKysrKy0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuYyAgICAg ICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5jIHwg MTggKysrKysrKysrKy0tLS0tLS0tCiBpbmNsdWRlL2RybS9kcm1fbW0uaCAgICAgICAgICAgICAg ICAgICAgfCAyMiArKysrKysrKysrKysrKysrKysrLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDM3IGlu c2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fbW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW0uYwppbmRleCBiNTk5NzhmZTRjNmUu LmMwMDI0NzE5ZjMyYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9tbS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fbW0uYwpAQCAtMzIzLDcgKzMyMyw3IEBAIGludCBkcm1fbW1f cmVzZXJ2ZV9ub2RlKHN0cnVjdCBkcm1fbW0gKm1tLCBzdHJ1Y3QgZHJtX21tX25vZGUgKm5vZGUp CiAJfQogCiAJaG9sZSA9IGxpc3RfbGFzdF9lbnRyeSgmaG9sZS0+bm9kZV9saXN0LCB0eXBlb2Yo KmhvbGUpLCBub2RlX2xpc3QpOwotCWlmICghaG9sZS0+aG9sZV9mb2xsb3dzKQorCWlmICghZHJt X21tX2hvbGVfZm9sbG93cyhob2xlKSkKIAkJcmV0dXJuIC1FTk9TUEM7CiAKIAlhZGpfc3RhcnQg PSBob2xlX3N0YXJ0ID0gX19kcm1fbW1faG9sZV9ub2RlX3N0YXJ0KGhvbGUpOwpAQCAtNDA4LDcg KzQwOCw3IEBAIHN0YXRpYyB2b2lkIGRybV9tbV9pbnNlcnRfaGVscGVyX3JhbmdlKHN0cnVjdCBk cm1fbW1fbm9kZSAqaG9sZV9ub2RlLAogCXU2NCBhZGpfc3RhcnQgPSBob2xlX3N0YXJ0OwogCXU2 NCBhZGpfZW5kID0gaG9sZV9lbmQ7CiAKLQlEUk1fTU1fQlVHX09OKCFob2xlX25vZGUtPmhvbGVf Zm9sbG93cyB8fCBub2RlLT5hbGxvY2F0ZWQpOworCURSTV9NTV9CVUdfT04oIWRybV9tbV9ob2xl X2ZvbGxvd3MoaG9sZV9ub2RlKSB8fCBub2RlLT5hbGxvY2F0ZWQpOwogCiAJaWYgKGFkal9zdGFy dCA8IHN0YXJ0KQogCQlhZGpfc3RhcnQgPSBzdGFydDsKQEAgLTUyMywxNiArNTIzLDE2IEBAIHZv aWQgZHJtX21tX3JlbW92ZV9ub2RlKHN0cnVjdCBkcm1fbW1fbm9kZSAqbm9kZSkKIAlwcmV2X25v ZGUgPQogCSAgICBsaXN0X2VudHJ5KG5vZGUtPm5vZGVfbGlzdC5wcmV2LCBzdHJ1Y3QgZHJtX21t X25vZGUsIG5vZGVfbGlzdCk7CiAKLQlpZiAobm9kZS0+aG9sZV9mb2xsb3dzKSB7CisJaWYgKGRy bV9tbV9ob2xlX2ZvbGxvd3Mobm9kZSkpIHsKIAkJRFJNX01NX0JVR19PTihfX2RybV9tbV9ob2xl X25vZGVfc3RhcnQobm9kZSkgPT0KIAkJCSAgICAgIF9fZHJtX21tX2hvbGVfbm9kZV9lbmQobm9k ZSkpOwogCQlsaXN0X2RlbCgmbm9kZS0+aG9sZV9zdGFjayk7Ci0JfSBlbHNlCisJfSBlbHNlIHsK IAkJRFJNX01NX0JVR19PTihfX2RybV9tbV9ob2xlX25vZGVfc3RhcnQobm9kZSkgIT0KIAkJCSAg ICAgIF9fZHJtX21tX2hvbGVfbm9kZV9lbmQobm9kZSkpOworCX0KIAotCi0JaWYgKCFwcmV2X25v ZGUtPmhvbGVfZm9sbG93cykgeworCWlmICghZHJtX21tX2hvbGVfZm9sbG93cyhwcmV2X25vZGUp KSB7CiAJCXByZXZfbm9kZS0+aG9sZV9mb2xsb3dzID0gMTsKIAkJbGlzdF9hZGQoJnByZXZfbm9k ZS0+aG9sZV9zdGFjaywgJm1tLT5ob2xlX3N0YWNrKTsKIAl9IGVsc2UKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3ZtYS5jCmluZGV4IDYwODAwOGQyZDk5OS4uY2ZlYzQyMjJiMDRlIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfdm1hLmMKQEAgLTMyNywxMSArMzI3LDExIEBAIGJvb2wgaTkxNV9nZW1fdmFsaWRfZ3R0X3Nw YWNlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLCB1bnNpZ25lZCBsb25nIGNhY2hlX2xldmVsKQogCUdF TV9CVUdfT04obGlzdF9lbXB0eSgmbm9kZS0+bm9kZV9saXN0KSk7CiAKIAlvdGhlciA9IGxpc3Rf cHJldl9lbnRyeShub2RlLCBub2RlX2xpc3QpOwotCWlmIChjb2xvcl9kaWZmZXJzKG90aGVyLCBj YWNoZV9sZXZlbCkgJiYgIW90aGVyLT5ob2xlX2ZvbGxvd3MpCisJaWYgKGNvbG9yX2RpZmZlcnMo b3RoZXIsIGNhY2hlX2xldmVsKSAmJiAhZHJtX21tX2hvbGVfZm9sbG93cyhvdGhlcikpCiAJCXJl dHVybiBmYWxzZTsKIAogCW90aGVyID0gbGlzdF9uZXh0X2VudHJ5KG5vZGUsIG5vZGVfbGlzdCk7 Ci0JaWYgKGNvbG9yX2RpZmZlcnMob3RoZXIsIGNhY2hlX2xldmVsKSAmJiAhbm9kZS0+aG9sZV9m b2xsb3dzKQorCWlmIChjb2xvcl9kaWZmZXJzKG90aGVyLCBjYWNoZV9sZXZlbCkgJiYgIWRybV9t bV9ob2xlX2ZvbGxvd3Mobm9kZSkpCiAJCXJldHVybiBmYWxzZTsKIAogCXJldHVybiB0cnVlOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5jIGIvZHJp dmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5jCmluZGV4IGY2MDllNGYxZWVhZi4u MmNlOTJmNGRjZmM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3Qt ZHJtX21tLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5jCkBA IC02Myw3ICs2Myw3IEBAIHN0YXRpYyBib29sIGFzc2VydF9ub19ob2xlcyhjb25zdCBzdHJ1Y3Qg ZHJtX21tICptbSkKIAl9CiAKIAlkcm1fbW1fZm9yX2VhY2hfbm9kZShob2xlLCBtbSkgewotCQlp ZiAoaG9sZS0+aG9sZV9mb2xsb3dzKSB7CisJCWlmIChkcm1fbW1faG9sZV9mb2xsb3dzKGhvbGUp KSB7CiAJCQlwcl9lcnIoIkhvbGUgZm9sbG93cyBub2RlLCBleHBlY3RlZCBub25lIVxuIik7CiAJ CQlyZXR1cm4gZmFsc2U7CiAJCX0KQEAgLTEyNSw3ICsxMjUsNyBAQCBzdGF0aWMgYm9vbCBhc3Nl cnRfY29udGludW91cyhjb25zdCBzdHJ1Y3QgZHJtX21tICptbSwgdTY0IHNpemUpCiAJCQlyZXR1 cm4gZmFsc2U7CiAJCX0KIAotCQlpZiAobm9kZS0+aG9sZV9mb2xsb3dzKSB7CisJCWlmIChkcm1f bW1faG9sZV9mb2xsb3dzKG5vZGUpKSB7CiAJCQlwcl9lcnIoIm5vZGVbJWxkXSBpcyBmb2xsb3dl ZCBieSBhIGhvbGUhXG4iLCBuKTsKIAkJCXJldHVybiBmYWxzZTsKIAkJfQpAQCAtODI4LDcgKzgy OCw4IEBAIHN0YXRpYyBib29sIGFzc2VydF9jb250aWd1b3VzX2luX3JhbmdlKHN0cnVjdCBkcm1f bW0gKm1tLAogCQkJcmV0dXJuIGZhbHNlOwogCQl9CiAKLQkJaWYgKG5vZGUtPmhvbGVfZm9sbG93 cyAmJiBkcm1fbW1faG9sZV9ub2RlX2VuZChub2RlKSA8IGVuZCkgeworCQlpZiAoZHJtX21tX2hv bGVfZm9sbG93cyhub2RlKSAmJgorCQkgICAgZHJtX21tX2hvbGVfbm9kZV9lbmQobm9kZSkgPCBl bmQpIHsKIAkJCXByX2Vycigibm9kZSAlZCBpcyBmb2xsb3dlZCBieSBhIGhvbGUhXG4iLCBuKTsK IAkJCXJldHVybiBmYWxzZTsKIAkJfQpAQCAtMTMzNywxMSArMTMzOCwxMiBAQCBzdGF0aWMgaW50 IGV2aWN0X3NvbWV0aGluZyhzdHJ1Y3QgZHJtX21tICptbSwKIAkJZXJyID0gLUVJTlZBTDsKIAl9 CiAKLQlpZiAoIWFzc2VydF9ub2RlKCZ0bXAsIG1tLCBzaXplLCBhbGlnbm1lbnQsIDApIHx8IHRt cC5ob2xlX2ZvbGxvd3MpIHsKKwlpZiAoIWFzc2VydF9ub2RlKCZ0bXAsIG1tLCBzaXplLCBhbGln bm1lbnQsIDApIHx8CisJICAgIGRybV9tbV9ob2xlX2ZvbGxvd3MoJnRtcCkpIHsKIAkJcHJfZXJy KCJJbnNlcnRlZCBkaWQgbm90IGZpbGwgdGhlIGV2aWN0aW9uIGhvbGU6IHNpemU9JWxsZCBbJWRd LCBhbGlnbj0lZCBbcmVtPSVsbGRdLCBzdGFydD0lbGx4LCBob2xlLWZvbGxvd3M/PSVkXG4iLAog CQkgICAgICAgdG1wLnNpemUsIHNpemUsCiAJCSAgICAgICBhbGlnbm1lbnQsIG1pc2FsaWdubWVu dCgmdG1wLCBhbGlnbm1lbnQpLAotCQkgICAgICAgdG1wLnN0YXJ0LCB0bXAuaG9sZV9mb2xsb3dz KTsKKwkJICAgICAgIHRtcC5zdGFydCwgZHJtX21tX2hvbGVfZm9sbG93cygmdG1wKSk7CiAJCWVy ciA9IC1FSU5WQUw7CiAJfQogCkBAIC0xNjE4LDcgKzE2MjAsNyBAQCBzdGF0aWMgaW50IGlndF90 b3Bkb3duKHZvaWQgKmlnbm9yZWQpCiAJCQkJZ290byBvdXQ7CiAJCQl9CiAKLQkJCWlmIChub2Rl c1tuXS5ob2xlX2ZvbGxvd3MpIHsKKwkJCWlmIChkcm1fbW1faG9sZV9mb2xsb3dzKCZub2Rlc1tu XSkpIHsKIAkJCQlwcl9lcnIoImhvbGUgYWZ0ZXIgdG9wZG93biBpbnNlcnQgJWQsIHN0YXJ0PSVs bHhcbiwgc2l6ZT0ldSIsCiAJCQkJICAgICAgIG4sIG5vZGVzW25dLnN0YXJ0LCBzaXplKTsKIAkJ CQlnb3RvIG91dDsKQEAgLTE2NTAsNyArMTY1Miw3IEBAIHN0YXRpYyBpbnQgaWd0X3RvcGRvd24o dm9pZCAqaWdub3JlZCkKIAkJCQkJZ290byBvdXQ7CiAJCQkJfQogCi0JCQkJaWYgKG5vZGUtPmhv bGVfZm9sbG93cykgeworCQkJCWlmIChkcm1fbW1faG9sZV9mb2xsb3dzKG5vZGUpKSB7CiAJCQkJ CXByX2VycigiaG9sZSBhZnRlciB0b3Bkb3duIGluc2VydCAlZC8lZCwgc3RhcnQ9JWxseFxuIiwK IAkJCQkJICAgICAgIG0sIG4sIG5vZGUtPnN0YXJ0KTsKIAkJCQkJZ290byBvdXQ7CkBAIC0xNzA1 LDcgKzE3MDcsNyBAQCBzdGF0aWMgdm9pZCBzZXBhcmF0ZV9hZGphY2VudF9jb2xvcnMoY29uc3Qg c3RydWN0IGRybV9tbV9ub2RlICpub2RlLAogCiBzdGF0aWMgYm9vbCBjb2xvcnNfYWJ1dHQoY29u c3Qgc3RydWN0IGRybV9tbV9ub2RlICpub2RlKQogewotCWlmICghbm9kZS0+aG9sZV9mb2xsb3dz ICYmCisJaWYgKCFkcm1fbW1faG9sZV9mb2xsb3dzKG5vZGUpICYmCiAJICAgIGxpc3RfbmV4dF9l bnRyeShub2RlLCBub2RlX2xpc3QpLT5hbGxvY2F0ZWQpIHsKIAkJcHJfZXJyKCJjb2xvcnMgYWJ1 dHQ7ICVsZCBbJWxseCArICVsbHhdIGlzIG5leHQgdG8gJWxkIFslbGx4ICsgJWxseF0hXG4iLAog CQkgICAgICAgbm9kZS0+Y29sb3IsIG5vZGUtPnN0YXJ0LCBub2RlLT5zaXplLApkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9kcm0vZHJtX21tLmggYi9pbmNsdWRlL2RybS9kcm1fbW0uaAppbmRleCBhZWQ5 M2NiYzRiZGUuLjdkYTdhMTcxZDZkNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX21tLmgK KysrIGIvaW5jbHVkZS9kcm0vZHJtX21tLmgKQEAgLTE1NSw2ICsxNTUsMjIgQEAgc3RhdGljIGlu bGluZSBib29sIGRybV9tbV9pbml0aWFsaXplZChjb25zdCBzdHJ1Y3QgZHJtX21tICptbSkKIAly ZXR1cm4gbW0tPmhvbGVfc3RhY2submV4dDsKIH0KIAorLyoqCisgKiBkcm1fbW1faG9sZV9mb2xs b3dzIC0gY2hlY2tzIHdoZXRoZXIgYSBob2xlIGZvbGxvd3MgdGhpcyBub2RlCisgKiBAbm9kZTog ZHJtX21tX25vZGUgdG8gY2hlY2sKKyAqCisgKiBIb2xlcyBhcmUgZW1iZWRkZWQgaW50byB0aGUg ZHJtX21tIHVzaW5nIHRoZSB0YWlsIG9mIGEgZHJtX21tX25vZGUuCisgKiBJZiB5b3Ugd2lzaCB0 byBrbm93IHdoZXRoZXIgYSBob2xlIGZvbGxvd3MgdGhpcyBwYXJ0aWN1bGFyIG5vZGUsCisgKiBx dWVyeSB0aGlzIGZ1bmN0aW9uLgorICoKKyAqIFJldHVybnM6CisgKiBUcnVlIGlmIGEgaG9sZSBm b2xsb3dzIHRoZSBAbm9kZS4KKyAqLworc3RhdGljIGlubGluZSBib29sIGRybV9tbV9ob2xlX2Zv bGxvd3MoY29uc3Qgc3RydWN0IGRybV9tbV9ub2RlICpub2RlKQoreworCXJldHVybiBub2RlLT5o b2xlX2ZvbGxvd3M7Cit9CisKIHN0YXRpYyBpbmxpbmUgdTY0IF9fZHJtX21tX2hvbGVfbm9kZV9z dGFydChjb25zdCBzdHJ1Y3QgZHJtX21tX25vZGUgKmhvbGVfbm9kZSkKIHsKIAlyZXR1cm4gaG9s ZV9ub2RlLT5zdGFydCArIGhvbGVfbm9kZS0+c2l6ZTsKQEAgLTE2NiwxNCArMTgyLDE0IEBAIHN0 YXRpYyBpbmxpbmUgdTY0IF9fZHJtX21tX2hvbGVfbm9kZV9zdGFydChjb25zdCBzdHJ1Y3QgZHJt X21tX25vZGUgKmhvbGVfbm9kZSkKICAqCiAgKiBUaGlzIGlzIHVzZWZ1bCBmb3IgZHJpdmVyLXNw ZWNpZmljIGRlYnVnIGR1bXBlcnMuIE90aGVyd2lzZSBkcml2ZXJzIHNob3VsZAogICogbm90IGlu c3BlY3QgaG9sZXMgdGhlbXNlbHZlcy4gRHJpdmVycyBtdXN0IGNoZWNrIGZpcnN0IHdoZXRoZXIg YSBob2xlIGluZGVlZAotICogZm9sbG93cyBieSBsb29raW5nIGF0IG5vZGUtPmhvbGVfZm9sbG93 cy4KKyAqIGZvbGxvd3MgYnkgbG9va2luZyBhdCBkcm1fbW1faG9sZV9mb2xsb3dzKCkKICAqCiAg KiBSZXR1cm5zOgogICogU3RhcnQgb2YgdGhlIHN1YnNlcXVlbnQgaG9sZS4KICAqLwogc3RhdGlj IGlubGluZSB1NjQgZHJtX21tX2hvbGVfbm9kZV9zdGFydChjb25zdCBzdHJ1Y3QgZHJtX21tX25v ZGUgKmhvbGVfbm9kZSkKIHsKLQlEUk1fTU1fQlVHX09OKCFob2xlX25vZGUtPmhvbGVfZm9sbG93 cyk7CisJRFJNX01NX0JVR19PTighZHJtX21tX2hvbGVfZm9sbG93cyhob2xlX25vZGUpKTsKIAly ZXR1cm4gX19kcm1fbW1faG9sZV9ub2RlX3N0YXJ0KGhvbGVfbm9kZSk7CiB9CiAKQEAgLTE4OCw3 ICsyMDQsNyBAQCBzdGF0aWMgaW5saW5lIHU2NCBfX2RybV9tbV9ob2xlX25vZGVfZW5kKGNvbnN0 IHN0cnVjdCBkcm1fbW1fbm9kZSAqaG9sZV9ub2RlKQogICoKICAqIFRoaXMgaXMgdXNlZnVsIGZv ciBkcml2ZXItc3BlY2lmaWMgZGVidWcgZHVtcGVycy4gT3RoZXJ3aXNlIGRyaXZlcnMgc2hvdWxk CiAgKiBub3QgaW5zcGVjdCBob2xlcyB0aGVtc2VsdmVzLiBEcml2ZXJzIG11c3QgY2hlY2sgZmly c3Qgd2hldGhlciBhIGhvbGUgaW5kZWVkCi0gKiBmb2xsb3dzIGJ5IGxvb2tpbmcgYXQgbm9kZS0+ aG9sZV9mb2xsb3dzLgorICogZm9sbG93cyBieSBsb29raW5nIGF0IGRybV9tbV9ob2xlX2ZvbGxv d3MoKS4KICAqCiAgKiBSZXR1cm5zOgogICogRW5kIG9mIHRoZSBzdWJzZXF1ZW50IGhvbGUuCi0t IAoyLjExLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=