From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 05/15] drm/i915: Make shrink/unshrink be atomic Date: Fri, 23 Aug 2019 14:26:50 +0100 Message-ID: <20190823132700.25286-6-chris@chris-wilson.co.uk> References: <20190823132700.25286-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1AE0C6EC94 for ; Fri, 23 Aug 2019 13:27:12 +0000 (UTC) In-Reply-To: <20190823132700.25286-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org QWRkIGFuIGF0b21pYyBjb3VudGVyIGFuZCBhbHdheXMgdGFrZSB0aGUgc3BpbmxvY2sgYXJvdW5k IHRoZSBwaW4vdW5waW4KZXZlbnRzLCBzbyB0aGF0IHdlIGNhbiBwZXJmb3JtIHRoZSBsaXN0IG1h bmlwdWxhdGlvbiBjb25jdXJyZW50bHkuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNo cmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fZG9tYWluLmMgICAgfCAgMyArLQogLi4uL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f b2JqZWN0X3R5cGVzLmggIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2Vt X3BhZ2VzLmMgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3No cmlua2VyLmMgIHwgMzYgKysrKysrKysrKystLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfY29udGV4dC5jICAgICAgIHwgIDIgKy0KIDUgZmlsZXMgY2hhbmdlZCwgMjYgaW5z ZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL2k5MTVfZ2VtX2RvbWFpbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX2RvbWFpbi5jCmluZGV4IDljNThlOGZhYzFkOS4uZWYzMzAwMWU4ZGRiIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG9tYWluLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2RvbWFpbi5jCkBAIC01MDAsNyArNTAwLDgg QEAgc3RhdGljIHZvaWQgaTkxNV9nZW1fb2JqZWN0X2J1bXBfaW5hY3RpdmVfZ2d0dChzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCiAJCXNwaW5fbG9ja19pcnFzYXZlKCZpOTE1LT5t bS5vYmpfbG9jaywgZmxhZ3MpOwogCi0JCWlmIChvYmotPm1tLm1hZHYgPT0gSTkxNV9NQURWX1dJ TExORUVEKQorCQlpZiAob2JqLT5tbS5tYWR2ID09IEk5MTVfTUFEVl9XSUxMTkVFRCAmJgorCQkg ICAgIWF0b21pY19yZWFkKCZvYmotPm1tLnNocmlua19waW4pKQogCQkJbGlzdF9tb3ZlX3RhaWwo Jm9iai0+bW0ubGluaywgJmk5MTUtPm1tLnNocmlua19saXN0KTsKIAogCQlzcGluX3VubG9ja19p cnFyZXN0b3JlKCZpOTE1LT5tbS5vYmpfbG9jaywgZmxhZ3MpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdF90eXBlcy5oCmluZGV4IGVkZTBlYjQyMThhOC4u NTExZmNlNzkxM2VjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1fb2JqZWN0X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2Vt X29iamVjdF90eXBlcy5oCkBAIC0xNTgsNiArMTU4LDcgQEAgc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgewogCXN0cnVjdCB7CiAJCXN0cnVjdCBtdXRleCBsb2NrOyAvKiBwcm90ZWN0cyB0aGUg cGFnZXMgYW5kIHRoZWlyIHVzZSAqLwogCQlhdG9taWNfdCBwYWdlc19waW5fY291bnQ7CisJCWF0 b21pY190IHNocmlua19waW47CiAKIAkJc3RydWN0IHNnX3RhYmxlICpwYWdlczsKIAkJdm9pZCAq bWFwcGluZzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9w YWdlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BhZ2VzLmMKaW5kZXgg MThmMGNlMDEzNWMxLi4yZTk0MWYwOTNhMjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9wYWdlcy5jCkBAIC03MSw2ICs3MSw3IEBAIHZvaWQgX19pOTE1X2dlbV9vYmplY3Rf c2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQlsaXN0ID0gJmk5 MTUtPm1tLnNocmlua19saXN0OwogCQlsaXN0X2FkZF90YWlsKCZvYmotPm1tLmxpbmssIGxpc3Qp OwogCisJCWF0b21pY19zZXQoJm9iai0+bW0uc2hyaW5rX3BpbiwgMCk7CiAJCXNwaW5fdW5sb2Nr X2lycXJlc3RvcmUoJmk5MTUtPm1tLm9ial9sb2NrLCBmbGFncyk7CiAJfQogfQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3Nocmlua2VyLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2hyaW5rZXIuYwppbmRleCBlZGQyMWQxNGU2NGYu Ljk0OTcwZjYwZDdmNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX3Nocmlua2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3No cmlua2VyLmMKQEAgLTUyMyw0NiArNTIzLDUyIEBAIHZvaWQgaTkxNV9nZW1fc2hyaW5rZXJfdGFp bnRzX211dGV4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCiB2b2lkIGk5MTVfZ2Vt X29iamVjdF9tYWtlX3Vuc2hyaW5rYWJsZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq KQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gb2JqX3RvX2k5MTUob2JqKTsK Kwl1bnNpZ25lZCBsb25nIGZsYWdzOworCiAJLyoKIAkgKiBXZSBjYW4gb25seSBiZSBjYWxsZWQg d2hpbGUgdGhlIHBhZ2VzIGFyZSBwaW5uZWQgb3Igd2hlbgogCSAqIHRoZSBwYWdlcyBhcmUgcmVs ZWFzZWQuIElmIHBpbm5lZCwgd2Ugc2hvdWxkIG9ubHkgYmUgY2FsbGVkCiAJICogZnJvbSBhIHNp bmdsZSBjYWxsZXIgdW5kZXIgY29udHJvbGxlZCBjb25kaXRpb25zOyBhbmQgb24gcmVsZWFzZQog CSAqIG9ubHkgb25lIGNhbGxlciBtYXkgcmVsZWFzZSB1cy4gTmVpdGhlciB0aGUgdHdvIG1heSBj cm9zcy4KIAkgKi8KLQlpZiAoIWxpc3RfZW1wdHkoJm9iai0+bW0ubGluaykpIHsgLyogcGlubmVk IGJ5IGNhbGxlciAqLwotCQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IG9ial90b19p OTE1KG9iaik7Ci0JCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQkJc3Bpbl9sb2NrX2lycXNhdmUo Jmk5MTUtPm1tLm9ial9sb2NrLCBmbGFncyk7Ci0JCUdFTV9CVUdfT04obGlzdF9lbXB0eSgmb2Jq LT5tbS5saW5rKSk7CisJaWYgKGF0b21pY19hZGRfdW5sZXNzKCZvYmotPm1tLnNocmlua19waW4s IDEsIDApKQorCQlyZXR1cm47CiAKKwlzcGluX2xvY2tfaXJxc2F2ZSgmaTkxNS0+bW0ub2JqX2xv Y2ssIGZsYWdzKTsKKwlpZiAoIWF0b21pY19mZXRjaF9pbmMoJm9iai0+bW0uc2hyaW5rX3Bpbikg JiYKKwkgICAgIWxpc3RfZW1wdHkoJm9iai0+bW0ubGluaykpIHsKIAkJbGlzdF9kZWxfaW5pdCgm b2JqLT5tbS5saW5rKTsKIAkJaTkxNS0+bW0uc2hyaW5rX2NvdW50LS07CiAJCWk5MTUtPm1tLnNo cmlua19tZW1vcnkgLT0gb2JqLT5iYXNlLnNpemU7Ci0KLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9y ZSgmaTkxNS0+bW0ub2JqX2xvY2ssIGZsYWdzKTsKIAl9CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9y ZSgmaTkxNS0+bW0ub2JqX2xvY2ssIGZsYWdzKTsKIH0KIAogc3RhdGljIHZvaWQgX19pOTE1X2dl bV9vYmplY3RfbWFrZV9zaHJpbmthYmxlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmos CiAJCQkJCSAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQpCiB7CisJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUgPSBvYmpfdG9faTkxNShvYmopOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7 CisKIAlHRU1fQlVHX09OKCFpOTE1X2dlbV9vYmplY3RfaGFzX3BhZ2VzKG9iaikpOwotCUdFTV9C VUdfT04oIWxpc3RfZW1wdHkoJm9iai0+bW0ubGluaykpOworCWlmICghaTkxNV9nZW1fb2JqZWN0 X2lzX3Nocmlua2FibGUob2JqKSkKKwkJcmV0dXJuOwogCi0JaWYgKGk5MTVfZ2VtX29iamVjdF9p c19zaHJpbmthYmxlKG9iaikpIHsKLQkJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBv YmpfdG9faTkxNShvYmopOwotCQl1bnNpZ25lZCBsb25nIGZsYWdzOworCWlmIChhdG9taWNfYWRk X3VubGVzcygmb2JqLT5tbS5zaHJpbmtfcGluLCAtMSwgMSkpCisJCXJldHVybjsKIAotCQlzcGlu X2xvY2tfaXJxc2F2ZSgmaTkxNS0+bW0ub2JqX2xvY2ssIGZsYWdzKTsKLQkJR0VNX0JVR19PTigh a3JlZl9yZWFkKCZvYmotPmJhc2UucmVmY291bnQpKTsKKwlzcGluX2xvY2tfaXJxc2F2ZSgmaTkx NS0+bW0ub2JqX2xvY2ssIGZsYWdzKTsKKwlHRU1fQlVHX09OKCFrcmVmX3JlYWQoJm9iai0+YmFz ZS5yZWZjb3VudCkpOworCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZvYmotPm1tLnNocmlua19w aW4pKSB7CisJCUdFTV9CVUdfT04oIWxpc3RfZW1wdHkoJm9iai0+bW0ubGluaykpOwogCiAJCWxp c3RfYWRkX3RhaWwoJm9iai0+bW0ubGluaywgaGVhZCk7CiAJCWk5MTUtPm1tLnNocmlua19jb3Vu dCsrOwogCQlpOTE1LT5tbS5zaHJpbmtfbWVtb3J5ICs9IG9iai0+YmFzZS5zaXplOwogCi0JCXNw aW5fdW5sb2NrX2lycXJlc3RvcmUoJmk5MTUtPm1tLm9ial9sb2NrLCBmbGFncyk7CiAJfQorCXNw aW5fdW5sb2NrX2lycXJlc3RvcmUoJmk5MTUtPm1tLm9ial9sb2NrLCBmbGFncyk7CiB9CiAKIHZv aWQgaTkxNV9nZW1fb2JqZWN0X21ha2Vfc2hyaW5rYWJsZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29u dGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29udGV4dC5jCmluZGV4IGY1 NTY5MWQxNTFhZS4uYzA0OTU4MTFmNDkzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9jb250ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf Y29udGV4dC5jCkBAIC0xMzQsOCArMTM0LDggQEAgc3RhdGljIGludCBfX2NvbnRleHRfcGluX3N0 YXRlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQogCiBzdGF0aWMgdm9pZCBfX2NvbnRleHRfdW5waW5f c3RhdGUoc3RydWN0IGk5MTVfdm1hICp2bWEpCiB7Ci0JX19pOTE1X3ZtYV91bnBpbih2bWEpOwog CWk5MTVfdm1hX21ha2Vfc2hyaW5rYWJsZSh2bWEpOworCV9faTkxNV92bWFfdW5waW4odm1hKTsK IH0KIAogc3RhdGljIHZvaWQgX19pbnRlbF9jb250ZXh0X3JldGlyZShzdHJ1Y3QgaTkxNV9hY3Rp dmUgKmFjdGl2ZSkKLS0gCjIuMjMuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4