From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v2 2/3] drm/i915: Lock signaler timeline while navigating Date: Thu, 19 Sep 2019 12:19:11 +0100 Message-ID: <20190919111912.21631-2-chris@chris-wilson.co.uk> References: <20190919111912.21631-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 A7F606FA37 for ; Thu, 19 Sep 2019 11:19:26 +0000 (UTC) In-Reply-To: <20190919111912.21631-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 QXMgd2UgbmVlZCB0byB0YWtlIGEgd2FsayBiYWNrIGFsb25nIHRoZSBzaWduYWxlciB0aW1lbGlu ZSB0byBmaW5kIHRoZQpmZW5jZSBiZWZvcmUgdXBvbiB3aGljaCB3ZSB3YW50IHRvIHdhaXQsIHdl IG5lZWQgdG8gbG9jayB0aGF0IHRpbWVsaW5lCnRvIHByZXZlbnQgaXQgYmVpbmcgbW9kaWZpZWQg YXMgd2Ugd2Fsay4gU2ltaWxhcmx5LCB3ZSBhbHNvIG5lZWQgdG8KYWNxdWlyZSBhIHJlZmVyZW5j ZSB0byB0aGUgZWFybGllciBmZW5jZSB3aGlsZSBpdCBzdGlsbCBleGlzdHMhCgpUaG91Z2ggd2Ug bGFjayB0aGUgY29ycmVjdCBsb2NraW5nIHRvZGF5LCB3ZSBhcmUgc2F2ZWQgYnkgdGhlCm92ZXJh cmNoaW5nIHN0cnVjdF9tdXRleCAtLSBidXQgdGhhdCBwcm90ZWN0aW9uIGlzIGJlaW5nIHJlbW92 ZWQuCgp2MjogVHZydGtvIG1hZGUgbWUgcmVhbGlzZSBJIHdhcyBiZWluZyBsYXggYW5kIHVzaW5n IGFubm90YXRpb25zIHRvCmlnbm9yZSB0aGUgQUItQkEgZGVhZGxvY2sgZnJvbSB0aGUgdGltZWxp bmUgb3ZlcmxhcC4gQXMgaXQgd291bGQgYmUKcG9zc2libGUgdG8gY29uc3RydWN0IGEgc2Vjb25k IHJlcXVlc3QgdGhhdCB3YXMgdXNpbmcgYSBzZW1hcGhvcmUgZnJvbSB0aGUKc2FtZSB0aW1lbGlu ZSBhcyBvdXJzZWx2ZXMsIHdlIGNvdWxkIHF1aXRlIGVhc2lseSBlbmQgdXAgaW4gYSBzaXR1YXRp b24Kd2hlcmUgd2UgZGVhZGxvY2tlZCBpbiBvdXIgbXV0ZXggd2FpdHMuIEF2b2lkIHRoYXQgYnkg dXNpbmcgYSB0cnlsb2NrCmFuZCBmYWxsaW5nIGJhY2sgdG8gYSBub3JtYWwgZG1hLWZlbmNlIGF3 YWl0IGlmIGNvbnRlbmRlZC4KCnYzOiBFZWssIHRoZSBzaWduYWwtPnRpbWVsaW5lIGlzIHZvbGF0 aWxlIGFuZCBtdXN0IGJlIGNhcmVmdWxseQpkZXJlZmVyZW5jZWQgdG8gZW5zdXJlIGl0IGlzIHZh bGlkLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28u dWs+CkNjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AbGludXguaW50ZWwuY29tPgpS ZXZpZXdlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYyB8IDY4ICsrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgMjIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYwppbmRleCBmYjZmMjFjNDE5 MzQuLjliZDg1MzhiMTkwNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZXF1ZXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMKQEAgLTc2 OCwxNyArNzY4LDQzIEBAIGk5MTVfcmVxdWVzdF9jcmVhdGUoc3RydWN0IGludGVsX2NvbnRleHQg KmNlKQogc3RhdGljIGludAogaTkxNV9yZXF1ZXN0X2F3YWl0X3N0YXJ0KHN0cnVjdCBpOTE1X3Jl cXVlc3QgKnJxLCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpzaWduYWwpCiB7Ci0JaWYgKGxpc3RfaXNf Zmlyc3QoJnNpZ25hbC0+bGluaywgJnNpZ25hbC0+dGltZWxpbmUtPnJlcXVlc3RzKSkKLQkJcmV0 dXJuIDA7CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0bDsKKwlzdHJ1Y3QgZG1hX2ZlbmNlICpm ZW5jZTsKKwlpbnQgZXJyOworCisJR0VNX0JVR19PTihpOTE1X3JlcXVlc3RfdGltZWxpbmUocnEp ID09CisJCSAgIHJjdV9hY2Nlc3NfcG9pbnRlcihzaWduYWwtPnRpbWVsaW5lKSk7CiAKLQlzaWdu YWwgPSBsaXN0X3ByZXZfZW50cnkoc2lnbmFsLCBsaW5rKTsKLQlpZiAoaW50ZWxfdGltZWxpbmVf c3luY19pc19sYXRlcihpOTE1X3JlcXVlc3RfdGltZWxpbmUocnEpLAotCQkJCQkgJnNpZ25hbC0+ ZmVuY2UpKQorCXJjdV9yZWFkX2xvY2soKTsKKwl0bCA9IHJjdV9kZXJlZmVyZW5jZShzaWduYWwt PnRpbWVsaW5lKTsKKwlpZiAoaTkxNV9yZXF1ZXN0X3N0YXJ0ZWQoc2lnbmFsKSB8fCAha3JlZl9n ZXRfdW5sZXNzX3plcm8oJnRsLT5rcmVmKSkKKwkJdGwgPSBOVUxMOworCXJjdV9yZWFkX3VubG9j aygpOworCWlmICghdGwpIC8qIGFscmVhZHkgc3RhcnRlZCBvciBtYXliZSBldmVuIGNvbXBsZXRl ZCAqLwogCQlyZXR1cm4gMDsKIAotCXJldHVybiBpOTE1X3N3X2ZlbmNlX2F3YWl0X2RtYV9mZW5j ZSgmcnEtPnN1Ym1pdCwKLQkJCQkJICAgICAmc2lnbmFsLT5mZW5jZSwgMCwKLQkJCQkJICAgICBJ OTE1X0ZFTkNFX0dGUCk7CisJZmVuY2UgPSBFUlJfUFRSKC1FQlVTWSk7CisJaWYgKG11dGV4X3Ry eWxvY2soJnRsLT5tdXRleCkpIHsKKwkJZmVuY2UgPSBOVUxMOworCQlpZiAoIWk5MTVfcmVxdWVz dF9zdGFydGVkKHNpZ25hbCkgJiYKKwkJICAgICFsaXN0X2lzX2ZpcnN0KCZzaWduYWwtPmxpbmss ICZ0bC0+cmVxdWVzdHMpKSB7CisJCQlzaWduYWwgPSBsaXN0X3ByZXZfZW50cnkoc2lnbmFsLCBs aW5rKTsKKwkJCWZlbmNlID0gZG1hX2ZlbmNlX2dldCgmc2lnbmFsLT5mZW5jZSk7CisJCX0KKwkJ bXV0ZXhfdW5sb2NrKCZ0bC0+bXV0ZXgpOworCX0KKwlpbnRlbF90aW1lbGluZV9wdXQodGwpOwor CWlmIChJU19FUlJfT1JfTlVMTChmZW5jZSkpCisJCXJldHVybiBQVFJfRVJSX09SX1pFUk8oZmVu Y2UpOworCisJZXJyID0gMDsKKwlpZiAoaW50ZWxfdGltZWxpbmVfc3luY19pc19sYXRlcihpOTE1 X3JlcXVlc3RfdGltZWxpbmUocnEpLCBmZW5jZSkpCisJCWVyciA9IGk5MTVfc3dfZmVuY2VfYXdh aXRfZG1hX2ZlbmNlKCZycS0+c3VibWl0LAorCQkJCQkJICAgIGZlbmNlLCAwLAorCQkJCQkJICAg IEk5MTVfRkVOQ0VfR0ZQKTsKKwlkbWFfZmVuY2VfcHV0KGZlbmNlKTsKKworCXJldHVybiBlcnI7 CiB9CiAKIHN0YXRpYyBpbnRlbF9lbmdpbmVfbWFza190CkBAIC04MDgsMzAgKzgzNCwyMyBAQCBl bWl0X3NlbWFwaG9yZV93YWl0KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnRvLAogCXUzMiBod3NwX29m ZnNldDsKIAlpbnQgbGVuOwogCXUzMiAqY3M7Ci0JaW50IGVycjsKIAotCUdFTV9CVUdfT04oIWZy b20tPnRpbWVsaW5lLT5oYXNfaW5pdGlhbF9icmVhZGNydW1iKTsKIAlHRU1fQlVHX09OKElOVEVM X0dFTih0by0+aTkxNSkgPCA4KTsKIAogCS8qIEp1c3QgZW1pdCB0aGUgZmlyc3Qgc2VtYXBob3Jl IHdlIHNlZSBhcyByZXF1ZXN0IHNwYWNlIGlzIGxpbWl0ZWQuICovCiAJaWYgKGFscmVhZHlfYnVz eXdhaXRpbmcodG8pICYgZnJvbS0+ZW5naW5lLT5tYXNrKQotCQlyZXR1cm4gaTkxNV9zd19mZW5j ZV9hd2FpdF9kbWFfZmVuY2UoJnRvLT5zdWJtaXQsCi0JCQkJCQkgICAgICZmcm9tLT5mZW5jZSwg MCwKLQkJCQkJCSAgICAgSTkxNV9GRU5DRV9HRlApOworCQlnb3RvIGF3YWl0X2ZlbmNlOwogCi0J ZXJyID0gaTkxNV9yZXF1ZXN0X2F3YWl0X3N0YXJ0KHRvLCBmcm9tKTsKLQlpZiAoZXJyIDwgMCkK LQkJcmV0dXJuIGVycjsKKwlpZiAoaTkxNV9yZXF1ZXN0X2F3YWl0X3N0YXJ0KHRvLCBmcm9tKSA8 IDApCisJCWdvdG8gYXdhaXRfZmVuY2U7CiAKIAkvKiBPbmx5IHN1Ym1pdCBvdXIgc3Bpbm5lciBh ZnRlciB0aGUgc2lnbmFsZXIgaXMgcnVubmluZyEgKi8KLQllcnIgPSBfX2k5MTVfcmVxdWVzdF9h d2FpdF9leGVjdXRpb24odG8sIGZyb20sIE5VTEwsIGdmcCk7Ci0JaWYgKGVycikKLQkJcmV0dXJu IGVycjsKKwlpZiAoX19pOTE1X3JlcXVlc3RfYXdhaXRfZXhlY3V0aW9uKHRvLCBmcm9tLCBOVUxM LCBnZnApKQorCQlnb3RvIGF3YWl0X2ZlbmNlOwogCiAJLyogV2UgbmVlZCB0byBwaW4gdGhlIHNp Z25hbGVyJ3MgSFdTUCB1bnRpbCB3ZSBhcmUgZmluaXNoZWQgcmVhZGluZy4gKi8KLQllcnIgPSBp bnRlbF90aW1lbGluZV9yZWFkX2h3c3AoZnJvbSwgdG8sICZod3NwX29mZnNldCk7Ci0JaWYgKGVy cikKLQkJcmV0dXJuIGVycjsKKwlpZiAoaW50ZWxfdGltZWxpbmVfcmVhZF9od3NwKGZyb20sIHRv LCAmaHdzcF9vZmZzZXQpKQorCQlnb3RvIGF3YWl0X2ZlbmNlOwogCiAJbGVuID0gNDsKIAlpZiAo aGFzX3Rva2VuKQpAQCAtODY2LDYgKzg4NSwxMSBAQCBlbWl0X3NlbWFwaG9yZV93YWl0KHN0cnVj dCBpOTE1X3JlcXVlc3QgKnRvLAogCXRvLT5zY2hlZC5zZW1hcGhvcmVzIHw9IGZyb20tPmVuZ2lu ZS0+bWFzazsKIAl0by0+c2NoZWQuZmxhZ3MgfD0gSTkxNV9TQ0hFRF9IQVNfU0VNQVBIT1JFX0NI QUlOOwogCXJldHVybiAwOworCithd2FpdF9mZW5jZToKKwlyZXR1cm4gaTkxNV9zd19mZW5jZV9h d2FpdF9kbWFfZmVuY2UoJnRvLT5zdWJtaXQsCisJCQkJCSAgICAgJmZyb20tPmZlbmNlLCAwLAor CQkJCQkgICAgIEk5MTVfRkVOQ0VfR0ZQKTsKIH0KIAogc3RhdGljIGludAotLSAKMi4yMy4wCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=