From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 22/41] drm/i915: Acquire the backing storage outside of struct_mutex in set-domain Date: Fri, 14 Oct 2016 13:18:14 +0100 Message-ID: <20161014121833.439-23-chris@chris-wilson.co.uk> References: <20161014121833.439-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 mail-lf0-x243.google.com (mail-lf0-x243.google.com [IPv6:2a00:1450:4010:c07::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id D3BE66EC27 for ; Fri, 14 Oct 2016 12:19:04 +0000 (UTC) Received: by mail-lf0-x243.google.com with SMTP id x23so12174720lfi.1 for ; Fri, 14 Oct 2016 05:19:04 -0700 (PDT) In-Reply-To: <20161014121833.439-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 QXMgd2UgY2FuIGxvY2tsZXNzbHkgKHdlbGwgc3RydWN0X211dGV4LWxlc3NseSkgYWNxdWlyZSB0 aGUgYmFja2luZwpzdG9yYWdlLCBkbyBzbyBpbiBzZXQtZG9tYWluLWlvY3RsIHRvIHJlZHVjZSB0 aGUgY29udGVudGlvbiBvbiB0aGUKc3RydWN0X211dGV4LgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMg V2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClJldmlld2VkLWJ5OiBKb29uYXMgTGFo dGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYyB8IDk5ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNjEgaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggNWQ4MDUyZmJjZTE3Li5mMjUwZDViZjAz NDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMTQ2MCw2ICsxNDYwLDMwIEBAIHdyaXRl X29yaWdpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCB1bnNpZ25lZCBkb21haW4p CiAJCW9iai0+ZnJvbnRidWZmZXJfZ2d0dF9vcmlnaW4gOiBPUklHSU5fQ1BVKTsKIH0KIAorc3Rh dGljIHZvaWQgaTkxNV9nZW1fb2JqZWN0X2J1bXBfaW5hY3RpdmVfZ2d0dChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1Owor CXN0cnVjdCBsaXN0X2hlYWQgKmxpc3Q7CisJc3RydWN0IGk5MTVfdm1hICp2bWE7CisKKwlsaXN0 X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKSB7CisJCWlmICgh aTkxNV92bWFfaXNfZ2d0dCh2bWEpKQorCQkJY29udGludWU7CisKKwkJaWYgKGk5MTVfdm1hX2lz X2FjdGl2ZSh2bWEpKQorCQkJY29udGludWU7CisKKwkJaWYgKCFkcm1fbW1fbm9kZV9hbGxvY2F0 ZWQoJnZtYS0+bm9kZSkpCisJCQljb250aW51ZTsKKworCQlsaXN0X21vdmVfdGFpbCgmdm1hLT52 bV9saW5rLCAmdm1hLT52bS0+aW5hY3RpdmVfbGlzdCk7CisJfQorCisJaTkxNSA9IHRvX2k5MTUo b2JqLT5iYXNlLmRldik7CisJbGlzdCA9IG9iai0+YmluZF9jb3VudCA/ICZpOTE1LT5tbS5ib3Vu ZF9saXN0IDogJmk5MTUtPm1tLnVuYm91bmRfbGlzdDsKKwlsaXN0X21vdmVfdGFpbCgmb2JqLT5n bG9iYWxfbGlzdCwgbGlzdCk7Cit9CisKIC8qKgogICogQ2FsbGVkIHdoZW4gdXNlciBzcGFjZSBw cmVwYXJlcyB0byB1c2UgYW4gb2JqZWN0IHdpdGggdGhlIENQVSwgZWl0aGVyCiAgKiB0aHJvdWdo IHRoZSBtbWFwIGlvY3RsJ3MgbWFwcGluZyBvciBhIEdUVCBtYXBwaW5nLgpAQCAtMTQ3NSw3ICsx NDk5LDcgQEAgaTkxNV9nZW1fc2V0X2RvbWFpbl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAJdWludDMy X3QgcmVhZF9kb21haW5zID0gYXJncy0+cmVhZF9kb21haW5zOwogCXVpbnQzMl90IHdyaXRlX2Rv bWFpbiA9IGFyZ3MtPndyaXRlX2RvbWFpbjsKLQlpbnQgcmV0OworCWludCBlcnI7CiAKIAkvKiBP bmx5IGhhbmRsZSBzZXR0aW5nIGRvbWFpbnMgdG8gdHlwZXMgdXNlZCBieSB0aGUgQ1BVLiAqLwog CWlmICgod3JpdGVfZG9tYWluIHwgcmVhZF9kb21haW5zKSAmIEk5MTVfR0VNX0dQVV9ET01BSU5T KQpAQCAtMTQ5NSwzMyArMTUxOSw0OCBAQCBpOTE1X2dlbV9zZXRfZG9tYWluX2lvY3RsKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJICogV2Ugd2lsbCByZXBlYXQgdGhlIGZs dXNoIGhvbGRpbmcgdGhlIGxvY2sgaW4gdGhlIG5vcm1hbCBtYW5uZXIKIAkgKiB0byBjYXRjaCBj YXNlcyB3aGVyZSB3ZSBhcmUgZ2F6dW1wZWQuCiAJICovCi0JcmV0ID0gaTkxNV9nZW1fb2JqZWN0 X3dhaXQob2JqLAorCWVyciA9IGk5MTVfZ2VtX29iamVjdF93YWl0KG9iaiwKIAkJCQkgICBJOTE1 X1dBSVRfSU5URVJSVVBUSUJMRSB8CiAJCQkJICAgKHdyaXRlX2RvbWFpbiA/IEk5MTVfV0FJVF9B TEwgOiAwKSwKIAkJCQkgICBNQVhfU0NIRURVTEVfVElNRU9VVCwKIAkJCQkgICB0b19ycHNfY2xp ZW50KGZpbGUpKTsKLQlpZiAocmV0KQotCQlnb3RvIGVycjsKKwlpZiAoZXJyKQorCQlnb3RvIG91 dF91bmxvY2tlZDsKIAotCXJldCA9IGk5MTVfbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKGRldik7 Ci0JaWYgKHJldCkKLQkJZ290byBlcnI7CisJLyogRmx1c2ggYW5kIGFjcXVpcmUgb2JqLT5wYWdl cyBzbyB0aGF0IHdlIGFyZSBjb2hlcmVudCB0aHJvdWdoCisJICogZGlyZWN0IGFjY2VzcyBpbiBt ZW1vcnkgd2l0aCBwcmV2aW91cyBjYWNoZWQgd3JpdGVzIHRocm91Z2gKKwkgKiBzaG1lbWZzIGFu ZCB0aGF0IG91ciBjYWNoZSBkb21haW4gdHJhY2tpbmcgcmVtYWlucyB2YWxpZC4KKwkgKiBGb3Ig ZXhhbXBsZSwgaWYgdGhlIG9iai0+ZmlscCB3YXMgbW92ZWQgdG8gc3dhcCB3aXRob3V0IHVzCisJ ICogYmVpbmcgbm90aWZpZWQgYW5kIHJlbGVhc2luZyB0aGUgcGFnZXMsIHdlIHdvdWxkIG1pc3Rh a2VubHkKKwkgKiBjb250aW51ZSB0byBhc3N1bWUgdGhhdCB0aGUgb2JqIHJlbWFpbmVkIG91dCBv ZiB0aGUgQ1BVIGNhY2hlZAorCSAqIGRvbWFpbi4KKwkgKi8KKwllcnIgPSBpOTE1X2dlbV9vYmpl Y3RfcGluX3BhZ2VzKG9iaik7CisJaWYgKGVycikKKwkJZ290byBvdXRfdW5sb2NrZWQ7CisKKwll cnIgPSBpOTE1X211dGV4X2xvY2tfaW50ZXJydXB0aWJsZShkZXYpOworCWlmIChlcnIpCisJCWdv dG8gb3V0X3BhZ2VzOwogCiAJaWYgKHJlYWRfZG9tYWlucyAmIEk5MTVfR0VNX0RPTUFJTl9HVFQp Ci0JCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zZXRfdG9fZ3R0X2RvbWFpbihvYmosIHdyaXRlX2Rv bWFpbiAhPSAwKTsKKwkJZXJyID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b19ndHRfZG9tYWluKG9i aiwgd3JpdGVfZG9tYWluICE9IDApOwogCWVsc2UKLQkJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3Nl dF90b19jcHVfZG9tYWluKG9iaiwgd3JpdGVfZG9tYWluICE9IDApOworCQllcnIgPSBpOTE1X2dl bV9vYmplY3Rfc2V0X3RvX2NwdV9kb21haW4ob2JqLCB3cml0ZV9kb21haW4gIT0gMCk7CiAKLQlp ZiAod3JpdGVfZG9tYWluICE9IDApCi0JCWludGVsX2ZiX29ial9pbnZhbGlkYXRlKG9iaiwgd3Jp dGVfb3JpZ2luKG9iaiwgd3JpdGVfZG9tYWluKSk7CisJLyogQW5kIGJ1bXAgdGhlIExSVSBmb3Ig dGhpcyBhY2Nlc3MgKi8KKwlpOTE1X2dlbV9vYmplY3RfYnVtcF9pbmFjdGl2ZV9nZ3R0KG9iaik7 CiAKLQlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CiAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVj dF9tdXRleCk7Ci0JcmV0dXJuIHJldDsKIAotZXJyOgorCWlmICh3cml0ZV9kb21haW4gIT0gMCkK KwkJaW50ZWxfZmJfb2JqX2ludmFsaWRhdGUob2JqLCB3cml0ZV9vcmlnaW4ob2JqLCB3cml0ZV9k b21haW4pKTsKKworb3V0X3BhZ2VzOgorCWk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcyhvYmop Oworb3V0X3VubG9ja2VkOgogCWk5MTVfZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQob2JqKTsKLQly ZXR1cm4gcmV0OworCXJldHVybiBlcnI7CiB9CiAKIC8qKgpAQCAtMTc0Miw2ICsxNzgxLDEwIEBA IGludCBpOTE1X2dlbV9mYXVsdChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKmFyZWEsIHN0cnVjdCB2 bV9mYXVsdCAqdm1mKQogCWlmIChyZXQpCiAJCWdvdG8gZXJyOwogCisJcmV0ID0gaTkxNV9nZW1f b2JqZWN0X3Bpbl9wYWdlcyhvYmopOworCWlmIChyZXQpCisJCWdvdG8gZXJyOworCiAJaW50ZWxf cnVudGltZV9wbV9nZXQoZGV2X3ByaXYpOwogCiAJcmV0ID0gaTkxNV9tdXRleF9sb2NrX2ludGVy cnVwdGlibGUoZGV2KTsKQEAgLTE4MjQsNiArMTg2Nyw3IEBAIGVycl91bmxvY2s6CiAJbXV0ZXhf dW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CiBlcnJfcnBtOgogCWludGVsX3J1bnRpbWVfcG1f cHV0KGRldl9wcml2KTsKKwlpOTE1X2dlbV9vYmplY3RfdW5waW5fcGFnZXMob2JqKTsKIGVycjoK IAlzd2l0Y2ggKHJldCkgewogCWNhc2UgLUVJTzoKQEAgLTMyODEsMjQgKzMzMjUsNiBAQCBpOTE1 X2dlbV9vYmplY3RfZmx1c2hfY3B1X3dyaXRlX2RvbWFpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqKQogCQkJCQkgICAgSTkxNV9HRU1fRE9NQUlOX0NQVSk7CiB9CiAKLXN0YXRpYyB2 b2lkIGk5MTVfZ2VtX29iamVjdF9idW1wX2luYWN0aXZlX2dndHQoc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaikKLXsKLQlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKLQotCWxpc3RfZm9yX2Vh Y2hfZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgb2JqX2xpbmspIHsKLQkJaWYgKCFpOTE1X3Zt YV9pc19nZ3R0KHZtYSkpCi0JCQljb250aW51ZTsKLQotCQlpZiAoaTkxNV92bWFfaXNfYWN0aXZl KHZtYSkpCi0JCQljb250aW51ZTsKLQotCQlpZiAoIWRybV9tbV9ub2RlX2FsbG9jYXRlZCgmdm1h LT5ub2RlKSkKLQkJCWNvbnRpbnVlOwotCi0JCWxpc3RfbW92ZV90YWlsKCZ2bWEtPnZtX2xpbmss ICZ2bWEtPnZtLT5pbmFjdGl2ZV9saXN0KTsKLQl9Ci19Ci0KIC8qKgogICogTW92ZXMgYSBzaW5n bGUgb2JqZWN0IHRvIHRoZSBHVFQgcmVhZCwgYW5kIHBvc3NpYmx5IHdyaXRlIGRvbWFpbi4KICAq IEBvYmo6IG9iamVjdCB0byBhY3Qgb24KQEAgLTMzNTQsNyArMzM4MCw3IEBAIGk5MTVfZ2VtX29i amVjdF9zZXRfdG9fZ3R0X2RvbWFpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCBi b29sIHdyaXRlKQogCS8qIEl0IHNob3VsZCBub3cgYmUgb3V0IG9mIGFueSBvdGhlciB3cml0ZSBk b21haW5zLCBhbmQgd2UgY2FuIHVwZGF0ZQogCSAqIHRoZSBkb21haW4gdmFsdWVzIGZvciBvdXIg Y2hhbmdlcy4KIAkgKi8KLQlCVUdfT04oKG9iai0+YmFzZS53cml0ZV9kb21haW4gJiB+STkxNV9H RU1fRE9NQUlOX0dUVCkgIT0gMCk7CisJR0VNX0JVR19PTigob2JqLT5iYXNlLndyaXRlX2RvbWFp biAmIH5JOTE1X0dFTV9ET01BSU5fR1RUKSAhPSAwKTsKIAlvYmotPmJhc2UucmVhZF9kb21haW5z IHw9IEk5MTVfR0VNX0RPTUFJTl9HVFQ7CiAJaWYgKHdyaXRlKSB7CiAJCW9iai0+YmFzZS5yZWFk X2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5fR1RUOwpAQCAtMzM2NiwxMCArMzM5Miw3IEBAIGk5 MTVfZ2VtX29iamVjdF9zZXRfdG9fZ3R0X2RvbWFpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqLCBib29sIHdyaXRlKQogCQkJCQkgICAgb2xkX3JlYWRfZG9tYWlucywKIAkJCQkJICAg IG9sZF93cml0ZV9kb21haW4pOwogCi0JLyogQW5kIGJ1bXAgdGhlIExSVSBmb3IgdGhpcyBhY2Nl c3MgKi8KLQlpOTE1X2dlbV9vYmplY3RfYnVtcF9pbmFjdGl2ZV9nZ3R0KG9iaik7CiAJaTkxNV9n ZW1fb2JqZWN0X3VucGluX3BhZ2VzKG9iaik7Ci0KIAlyZXR1cm4gMDsKIH0KIApAQCAtMzcyOCw3 ICszNzUxLDcgQEAgaTkxNV9nZW1fb2JqZWN0X3NldF90b19jcHVfZG9tYWluKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosIGJvb2wgd3JpdGUpCiAJLyogSXQgc2hvdWxkIG5vdyBiZSBv dXQgb2YgYW55IG90aGVyIHdyaXRlIGRvbWFpbnMsIGFuZCB3ZSBjYW4gdXBkYXRlCiAJICogdGhl IGRvbWFpbiB2YWx1ZXMgZm9yIG91ciBjaGFuZ2VzLgogCSAqLwotCUJVR19PTigob2JqLT5iYXNl LndyaXRlX2RvbWFpbiAmIH5JOTE1X0dFTV9ET01BSU5fQ1BVKSAhPSAwKTsKKwlHRU1fQlVHX09O KChvYmotPmJhc2Uud3JpdGVfZG9tYWluICYgfkk5MTVfR0VNX0RPTUFJTl9DUFUpICE9IDApOwog CiAJLyogSWYgd2UncmUgd3JpdGluZyB0aHJvdWdoIHRoZSBDUFUsIHRoZW4gdGhlIEdQVSByZWFk IGRvbWFpbnMgd2lsbAogCSAqIG5lZWQgdG8gYmUgaW52YWxpZGF0ZWQgYXQgbmV4dCB1c2UuCi0t IAoyLjkuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==