From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 2/2] drm/i915: Prevent concurrent tiling/framebuffer modifications Date: Tue, 28 Feb 2017 16:22:33 +0000 Message-ID: <20170228162233.8709-2-chris@chris-wilson.co.uk> References: <20170228162233.8709-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-wr0-x241.google.com (mail-wr0-x241.google.com [IPv6:2a00:1450:400c:c0c::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id EA3776E0DC for ; Tue, 28 Feb 2017 16:22:37 +0000 (UTC) Received: by mail-wr0-x241.google.com with SMTP id g10so2247343wrg.0 for ; Tue, 28 Feb 2017 08:22:37 -0800 (PST) In-Reply-To: <20170228162233.8709-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 UmVpbnRyb2R1Y2UgYSBsb2NrIGFyb3VuZCB0aWxpbmcgdnMgZnJhbWVidWZmZXIgY3JlYXRpb24g dG8gcHJldmVudAptb2RpZmljYXRpb24gb2YgdGhlIG9iai0+dGlsaW5nX2FuZF9zdHJpZGUgd2hp bHN0IHRoZSBmcmFtZWJ1ZmZlciBpcwpiZWluZyBjcmVhdGVkLiBSYXRoZXIgdGhhbiB1c2Ugc3Ry dWN0X211dGV4IG9uY2UgYWdhaW4sIHVzZSB0aGUKcGVyLW9iamVjdCBsb2NrIC0gdGhpcyB3aWxs IGFsc28gYmUgcmVxdWlyZWQgaW4gZnV0dXJlIHRvIHByZXZlbnQKY2hhbmdpbmcgdGhlIHRpbGlu ZyB3aGlsc3Qgc3VibWl0dGluZyByZW5kZXJpbmcuCgpGaXhlczogMjRkYmY1MWE1NTE3ICgiZHJt L2k5MTU6IHN0cnVjdF9tdXRleCBpcyBub3QgcmVxdWlyZWQgZm9yIGFsbG9jYXRpbmcgdGhlIGZy YW1lYnVmZmVyIikKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+CkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX29iamVjdC5oICAgfCAxOCAr KysrKysrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Nocmlua2Vy LmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdGlsaW5nLmMgICB8ICA5 ICsrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgICB8IDI1 ICsrKysrKysrKysrKysrKystLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9u cygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fb2JqZWN0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9vYmplY3Qu aAppbmRleCBhZDFiYzBiMWEwYzIuLjhjMDJjOGVjMmEzYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fb2JqZWN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fb2JqZWN0LmgKQEAgLTE2OSw3ICsxNjksNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCB7CiAJc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAqcmVzdjsKIAogCS8qKiBSZWZl cmVuY2VzIGZyb20gZnJhbWVidWZmZXJzLCBsb2NrcyBvdXQgdGlsaW5nIGNoYW5nZXMuICovCi0J YXRvbWljX3QgZnJhbWVidWZmZXJfcmVmZXJlbmNlczsKKwl1bnNpZ25lZCBpbnQgZnJhbWVidWZm ZXJfcmVmZXJlbmNlczsKIAogCS8qKiBSZWNvcmQgb2YgYWRkcmVzcyBiaXQgMTcgb2YgZWFjaCBw YWdlIGF0IGxhc3QgdW5iaW5kLiAqLwogCXVuc2lnbmVkIGxvbmcgKmJpdF8xNzsKQEAgLTI2Myw2 ICsyNjMsMTYgQEAgZXh0ZXJuIHZvaWQgZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2Uoc3RydWN0 IGRybV9nZW1fb2JqZWN0ICopOwogX19kZXByZWNhdGVkCiBleHRlcm4gdm9pZCBkcm1fZ2VtX29i amVjdF91bnJlZmVyZW5jZV91bmxvY2tlZChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKik7CiAKK3N0 YXRpYyBpbmxpbmUgdm9pZCBpOTE1X2dlbV9vYmplY3RfbG9jayhzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqKQoreworCXJlc2VydmF0aW9uX29iamVjdF9sb2NrKG9iai0+cmVzdiwgTlVM TCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X2dlbV9vYmplY3RfdW5sb2NrKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCit7CisJcmVzZXJ2YXRpb25fb2JqZWN0X3VubG9j ayhvYmotPnJlc3YpOworfQorCiBzdGF0aWMgaW5saW5lIGJvb2wKIGk5MTVfZ2VtX29iamVjdF9o YXNfc3RydWN0X3BhZ2UoY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIHsK QEAgLTMwMyw2ICszMTMsMTIgQEAgaTkxNV9nZW1fb2JqZWN0X2NsZWFyX2FjdGl2ZV9yZWZlcmVu Y2Uoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAogdm9pZCBfX2k5MTVfZ2VtX29i amVjdF9yZWxlYXNlX3VubGVzc19hY3RpdmUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aik7CiAKK3N0YXRpYyBpbmxpbmUgYm9vbAoraTkxNV9nZW1fb2JqZWN0X2lzX2ZyYW1lYnVmZmVy KGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCit7CisJcmV0dXJuIFJFQURf T05DRShvYmotPmZyYW1lYnVmZmVyX3JlZmVyZW5jZXMpOworfQorCiBzdGF0aWMgaW5saW5lIHVu c2lnbmVkIGludAogaTkxNV9nZW1fb2JqZWN0X2dldF90aWxpbmcoc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaikKIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX3Nocmlua2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zaHJpbmtlci5j CmluZGV4IDdlM2JiNDhlMDQzZS4uNjMwNjk3MDAxYjM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9zaHJpbmtlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3Nocmlua2VyLmMKQEAgLTIxMCw3ICsyMTAsNyBAQCBpOTE1X2dlbV9zaHJpbmso c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCiAJCQlpZiAoIShmbGFncyAmIEk5 MTVfU0hSSU5LX0FDVElWRSkgJiYKIAkJCSAgICAoaTkxNV9nZW1fb2JqZWN0X2lzX2FjdGl2ZShv YmopIHx8Ci0JCQkgICAgIGF0b21pY19yZWFkKCZvYmotPmZyYW1lYnVmZmVyX3JlZmVyZW5jZXMp KSkKKwkJCSAgICAgaTkxNV9nZW1fb2JqZWN0X2lzX2ZyYW1lYnVmZmVyKG9iaikpKQogCQkJCWNv bnRpbnVlOwogCiAJCQlpZiAoIWNhbl9yZWxlYXNlX3BhZ2VzKG9iaikpCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV90aWxpbmcuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX3RpbGluZy5jCmluZGV4IGMxZDY2OWUzMmY0MS4uYWQ1ZTA1ZjZiODM2IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV90aWxpbmcuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV90aWxpbmcuYwpAQCAtMjM4LDcgKzIzOCw3IEBA IGk5MTVfZ2VtX29iamVjdF9zZXRfdGlsaW5nKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCiAJaWYgKCh0aWxpbmcgfCBzdHJpZGUpID09IG9iai0+dGlsaW5nX2FuZF9zdHJpZGUpCiAJ CXJldHVybiAwOwogCi0JaWYgKGF0b21pY19yZWFkKCZvYmotPmZyYW1lYnVmZmVyX3JlZmVyZW5j ZXMpKQorCWlmIChpOTE1X2dlbV9vYmplY3RfaXNfZnJhbWVidWZmZXIob2JqKSkKIAkJcmV0dXJu IC1FQlVTWTsKIAogCS8qIFdlIG5lZWQgdG8gcmViaW5kIHRoZSBvYmplY3QgaWYgaXRzIGN1cnJl bnQgYWxsb2NhdGlvbgpAQCAtMjU4LDYgKzI1OCwxMiBAQCBpOTE1X2dlbV9vYmplY3Rfc2V0X3Rp bGluZyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCWlmIChlcnIpCiAJCXJldHVy biBlcnI7CiAKKwlpOTE1X2dlbV9vYmplY3RfbG9jayhvYmopOworCWlmIChpOTE1X2dlbV9vYmpl Y3RfaXNfZnJhbWVidWZmZXIob2JqKSkgeworCQlpOTE1X2dlbV9vYmplY3RfdW5sb2NrKG9iaik7 CisJCXJldHVybiAtRUJVU1k7CisJfQorCiAJLyogSWYgdGhlIG1lbW9yeSBoYXMgdW5rbm93biAo aS5lLiB2YXJ5aW5nKSBzd2l6emxpbmcsIHdlIHBpbiB0aGUKIAkgKiBwYWdlcyB0byBwcmV2ZW50 IHRoZW0gYmVpbmcgc3dhcHBlZCBvdXQgYW5kIGNhdXNpbmcgY29ycnVwdGlvbgogCSAqIGR1ZSB0 byB0aGUgY2hhbmdlIGluIHN3aXp6bGluZy4KQEAgLTI5NCw2ICszMDAsNyBAQCBpOTE1X2dlbV9v YmplY3Rfc2V0X3RpbGluZyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCX0KIAog CW9iai0+dGlsaW5nX2FuZF9zdHJpZGUgPSB0aWxpbmcgfCBzdHJpZGU7CisJaTkxNV9nZW1fb2Jq ZWN0X3VubG9jayhvYmopOwogCiAJLyogRm9yY2UgdGhlIGZlbmNlIHRvIGJlIHJlYWNxdWlyZWQg Zm9yIEdUVCBhY2Nlc3MgKi8KIAlpOTE1X2dlbV9yZWxlYXNlX21tYXAob2JqKTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCA3NzkzNmRkZDg2MGEuLjYyYTFlNjI4ZTM5OSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTQyNTUsNyArMTQyNTUsMTAg QEAgc3RhdGljIHZvaWQgaW50ZWxfdXNlcl9mcmFtZWJ1ZmZlcl9kZXN0cm95KHN0cnVjdCBkcm1f ZnJhbWVidWZmZXIgKmZiKQogCiAJZHJtX2ZyYW1lYnVmZmVyX2NsZWFudXAoZmIpOwogCi0JV0FS Tl9PTihhdG9taWNfZGVjX3JldHVybigmaW50ZWxfZmItPm9iai0+ZnJhbWVidWZmZXJfcmVmZXJl bmNlcykgPCAwKTsKKwlpOTE1X2dlbV9vYmplY3RfbG9jayhpbnRlbF9mYi0+b2JqKTsKKwlXQVJO X09OKCFpbnRlbF9mYi0+b2JqLT5mcmFtZWJ1ZmZlcl9yZWZlcmVuY2VzLS0pOworCWk5MTVfZ2Vt X29iamVjdF91bmxvY2soaW50ZWxfZmItPm9iaik7CisKIAlpOTE1X2dlbV9vYmplY3RfcHV0KGlu dGVsX2ZiLT5vYmopOwogCiAJa2ZyZWUoaW50ZWxfZmIpOwpAQCAtMTQzMzIsMTIgKzE0MzM1LDE2 IEBAIHN0YXRpYyBpbnQgaW50ZWxfZnJhbWVidWZmZXJfaW5pdChzdHJ1Y3QgaW50ZWxfZnJhbWVi dWZmZXIgKmludGVsX2ZiLAogCQkJCSAgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21k KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUob2JqLT5i YXNlLmRldik7Ci0JdW5zaWduZWQgaW50IHRpbGluZyA9IGk5MTVfZ2VtX29iamVjdF9nZXRfdGls aW5nKG9iaik7Ci0JdTMyIHBpdGNoX2xpbWl0LCBzdHJpZGVfYWxpZ25tZW50OwogCXN0cnVjdCBk cm1fZm9ybWF0X25hbWVfYnVmIGZvcm1hdF9uYW1lOworCXUzMiBwaXRjaF9saW1pdCwgc3RyaWRl X2FsaWdubWVudDsKKwl1bnNpZ25lZCBpbnQgdGlsaW5nLCBzdHJpZGU7CiAJaW50IHJldCA9IC1F SU5WQUw7CiAKLQlhdG9taWNfaW5jKCZvYmotPmZyYW1lYnVmZmVyX3JlZmVyZW5jZXMpOworCWk5 MTVfZ2VtX29iamVjdF9sb2NrKG9iaik7CisJb2JqLT5mcmFtZWJ1ZmZlcl9yZWZlcmVuY2VzKys7 CisJdGlsaW5nID0gaTkxNV9nZW1fb2JqZWN0X2dldF90aWxpbmcob2JqKTsKKwlzdHJpZGUgPSBp OTE1X2dlbV9vYmplY3RfZ2V0X3N0cmlkZShvYmopOworCWk5MTVfZ2VtX29iamVjdF91bmxvY2so b2JqKTsKIAogCWlmIChtb2RlX2NtZC0+ZmxhZ3MgJiBEUk1fTU9ERV9GQl9NT0RJRklFUlMpIHsK IAkJLyoKQEAgLTE0NDA5LDExICsxNDQxNiw5IEBAIHN0YXRpYyBpbnQgaW50ZWxfZnJhbWVidWZm ZXJfaW5pdChzdHJ1Y3QgaW50ZWxfZnJhbWVidWZmZXIgKmludGVsX2ZiLAogCSAqIElmIHRoZXJl J3MgYSBmZW5jZSwgZW5mb3JjZSB0aGF0CiAJICogdGhlIGZiIHBpdGNoIGFuZCBmZW5jZSBzdHJp ZGUgbWF0Y2guCiAJICovCi0JaWYgKHRpbGluZyAhPSBJOTE1X1RJTElOR19OT05FICYmCi0JICAg IG1vZGVfY21kLT5waXRjaGVzWzBdICE9IGk5MTVfZ2VtX29iamVjdF9nZXRfc3RyaWRlKG9iaikp IHsKKwlpZiAodGlsaW5nICE9IEk5MTVfVElMSU5HX05PTkUgJiYgbW9kZV9jbWQtPnBpdGNoZXNb MF0gIT0gIHN0cmlkZSkgewogCQlEUk1fREVCVUcoInBpdGNoICglZCkgbXVzdCBtYXRjaCB0aWxp bmcgc3RyaWRlICglZClcbiIsCi0JCQkgIG1vZGVfY21kLT5waXRjaGVzWzBdLAotCQkJICBpOTE1 X2dlbV9vYmplY3RfZ2V0X3N0cmlkZShvYmopKTsKKwkJCSAgbW9kZV9jbWQtPnBpdGNoZXNbMF0s IHN0cmlkZSk7CiAJCWdvdG8gZXJyOwogCX0KIApAQCAtMTQ0OTQsNyArMTQ0OTksOSBAQCBzdGF0 aWMgaW50IGludGVsX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0IGludGVsX2ZyYW1lYnVmZmVyICpp bnRlbF9mYiwKIAlyZXR1cm4gMDsKIAogZXJyOgotCWF0b21pY19kZWMoJm9iai0+ZnJhbWVidWZm ZXJfcmVmZXJlbmNlcyk7CisJaTkxNV9nZW1fb2JqZWN0X2xvY2sob2JqKTsKKwlvYmotPmZyYW1l YnVmZmVyX3JlZmVyZW5jZXMtLTsKKwlpOTE1X2dlbV9vYmplY3RfdW5sb2NrKG9iaik7CiAJcmV0 dXJuIHJldDsKIH0KIAotLSAKMi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK