From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 03/39] drm/i915: Hold a reference to the active HW context Date: Wed, 13 Mar 2019 14:43:25 +0000 Message-ID: <20190313144401.17735-3-chris@chris-wilson.co.uk> References: <20190313144401.17735-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 95ABE6E0D8 for ; Wed, 13 Mar 2019 14:45:09 +0000 (UTC) In-Reply-To: <20190313144401.17735-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 Rm9yIHZpcnR1YWwgZW5naW5lcywgd2UgbmVlZCB0byBrZWVwIHRoZSBIVyBjb250ZXh0IGFsaXZl IHdoaWxlIGl0CnJlbWFpbnMgaW4gdXNlLiBGb3IgcmVndWxhciBIVyBjb250ZXh0cywgdGhleSBh cmUgY3JlYXRlZCBhbmQga2VwdCBhbGl2ZQp1bnRpbCB0aGUgZW5kIG9mIHRoZSBHRU0gY29udGV4 dC4gRm9yIHNpbXBsaWNpdHksIGdlbmVyYWxpc2UgdGhlCnJlcXVpcmVtZW50cyBhbmQga2VlcCBh biBhY3RpdmUgcmVmZXJlbmNlIHRvIGVhY2ggSFcgY29udGV4dC4KClNpZ25lZC1vZmYtYnk6IENo cmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2NvbnRleHQuYyAgICAgICAgIHwgIDYgKysrKysrCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9jb250ZXh0LmggICAgICAgICB8IDExICsrKysrKysrKysrCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jb250ZXh0X3R5cGVzLmggICB8ICA2ICsrKysrLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgICAgfCAgNCArKystCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgICAgICB8ICA0ICsrKy0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2VuZ2luZS5jIHwgIDcgKysrKysrLQogNyBmaWxlcyBj aGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2NvbnRleHQuYwppbmRleCBiNjM3MDIyNWRjYjUuLjRhZjUxYjY4OWNiZCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtMjMyLDcgKzIzMiw3 IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX2NvbnRleHRfZnJlZShzdHJ1Y3QgaTkxNV9nZW1fY29u dGV4dCAqY3R4KQogCWk5MTVfcHBndHRfcHV0KGN0eC0+cHBndHQpOwogCiAJcmJ0cmVlX3Bvc3Rv cmRlcl9mb3JfZWFjaF9lbnRyeV9zYWZlKGl0LCBuLCAmY3R4LT5od19jb250ZXh0cywgbm9kZSkK LQkJaXQtPm9wcy0+ZGVzdHJveShpdCk7CisJCWludGVsX2NvbnRleHRfcHV0KGl0KTsKIAogCWtm cmVlKGN0eC0+bmFtZSk7CiAJcHV0X3BpZChjdHgtPnBpZCk7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9jb250ZXh0LmMKaW5kZXggMGFiODk0YTA1OGY2Li44OTMxZTBmZWU4NzMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbnRleHQuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9jb250ZXh0LmMKQEAgLTE3Miw2ICsxNzIsNyBAQCBpbnRlbF9jb250ZXh0 X3BpbihzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAogCQlsaXN0X2FkZCgmY2UtPmFjdGl2 ZV9saW5rLCAmY3R4LT5hY3RpdmVfZW5naW5lcyk7CiAJCW11dGV4X3VubG9jaygmY3R4LT5tdXRl eCk7CiAKKwkJaW50ZWxfY29udGV4dF9nZXQoY2UpOwogCQlzbXBfbWJfX2JlZm9yZV9hdG9taWMo KTsgLyogZmx1c2ggcGluIGJlZm9yZSBpdCBpcyB2aXNpYmxlICovCiAJfQogCkBAIC0xOTIsNiAr MTkzLDcgQEAgdm9pZCBpbnRlbF9jb250ZXh0X3VucGluKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpj ZSkKIAkJcmV0dXJuOwogCiAJLyogV2UgbWF5IGJlIGNhbGxlZCBmcm9tIGluc2lkZSBpbnRlbF9j b250ZXh0X3BpbigpIHRvIGV2aWN0IGFub3RoZXIgKi8KKwlpbnRlbF9jb250ZXh0X2dldChjZSk7 CiAJbXV0ZXhfbG9ja19uZXN0ZWQoJmNlLT5waW5fbXV0ZXgsIFNJTkdMRV9ERVBUSF9ORVNUSU5H KTsKIAogCWlmIChsaWtlbHkoYXRvbWljX2RlY19hbmRfdGVzdCgmY2UtPnBpbl9jb3VudCkpKSB7 CkBAIC0yMDIsOSArMjA0LDExIEBAIHZvaWQgaW50ZWxfY29udGV4dF91bnBpbihzdHJ1Y3QgaW50 ZWxfY29udGV4dCAqY2UpCiAJCW11dGV4X3VubG9jaygmY2UtPmdlbV9jb250ZXh0LT5tdXRleCk7 CiAKIAkJaTkxNV9nZW1fY29udGV4dF9wdXQoY2UtPmdlbV9jb250ZXh0KTsKKwkJaW50ZWxfY29u dGV4dF9wdXQoY2UpOwogCX0KIAogCW11dGV4X3VubG9jaygmY2UtPnBpbl9tdXRleCk7CisJaW50 ZWxfY29udGV4dF9wdXQoY2UpOwogfQogCiBzdGF0aWMgdm9pZCBpbnRlbF9jb250ZXh0X3JldGly ZShzdHJ1Y3QgaTkxNV9hY3RpdmVfcmVxdWVzdCAqYWN0aXZlLApAQCAtMjIxLDYgKzIyNSw4IEBA IGludGVsX2NvbnRleHRfaW5pdChzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsCiAJCSAgIHN0cnVj dCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCiAJCSAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSkKIHsKKwlrcmVmX2luaXQoJmNlLT5yZWYpOworCiAJY2UtPmdlbV9jb250ZXh0ID0gY3R4 OwogCWNlLT5lbmdpbmUgPSBlbmdpbmU7CiAJY2UtPm9wcyA9IGVuZ2luZS0+Y29wczsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbnRleHQuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2NvbnRleHQuaAppbmRleCA5NTQ2ZDkzMjQwNmEuLmViYzg2MWIxYTQ5 ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29udGV4dC5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbnRleHQuaApAQCAtNzMsNCArNzMsMTUgQEAg c3RhdGljIGlubGluZSB2b2lkIF9faW50ZWxfY29udGV4dF9waW4oc3RydWN0IGludGVsX2NvbnRl eHQgKmNlKQogCiB2b2lkIGludGVsX2NvbnRleHRfdW5waW4oc3RydWN0IGludGVsX2NvbnRleHQg KmNlKTsKIAorc3RhdGljIGlubGluZSBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqaW50ZWxfY29udGV4 dF9nZXQoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQoreworCWtyZWZfZ2V0KCZjZS0+cmVmKTsK KwlyZXR1cm4gY2U7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9jb250ZXh0X3B1dChz dHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCit7CisJa3JlZl9wdXQoJmNlLT5yZWYsIGNlLT5vcHMt PmRlc3Ryb3kpOworfQorCiAjZW5kaWYgLyogX19JTlRFTF9DT05URVhUX0hfXyAqLwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29udGV4dF90eXBlcy5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY29udGV4dF90eXBlcy5oCmluZGV4IDZkYzliNGI5MDY3Yi4u NjI0NzI5YTM1ODc1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb250 ZXh0X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29udGV4dF90eXBl cy5oCkBAIC03LDYgKzcsNyBAQAogI2lmbmRlZiBfX0lOVEVMX0NPTlRFWFRfVFlQRVNfXwogI2Rl ZmluZSBfX0lOVEVMX0NPTlRFWFRfVFlQRVNfXwogCisjaW5jbHVkZSA8bGludXgva3JlZi5oPgog I2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1 ZGUgPGxpbnV4L3JidHJlZS5oPgpAQCAtMjIsNyArMjMsOCBAQCBzdHJ1Y3QgaW50ZWxfcmluZzsK IHN0cnVjdCBpbnRlbF9jb250ZXh0X29wcyB7CiAJaW50ICgqcGluKShzdHJ1Y3QgaW50ZWxfY29u dGV4dCAqY2UpOwogCXZvaWQgKCp1bnBpbikoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKTsKLQl2 b2lkICgqZGVzdHJveSkoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKTsKKworCXZvaWQgKCpkZXN0 cm95KShzdHJ1Y3Qga3JlZiAqa3JlZik7CiB9OwogCiAvKgpAQCAtMzYsNiArMzgsOCBAQCBzdHJ1 Y3QgaW50ZWxfc3NldSB7CiB9OwogCiBzdHJ1Y3QgaW50ZWxfY29udGV4dCB7CisJc3RydWN0IGty ZWYgcmVmOworCiAJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmdlbV9jb250ZXh0OwogCXN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICphY3Rp dmU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IGUwZmI4ODUzNDc3Yy4uNDRlNzViYzUy MGMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMTI0Miw4ICsxMjQyLDEwIEBAIHN0 YXRpYyB2b2lkIF9fZXhlY2xpc3RzX2NvbnRleHRfZmluaShzdHJ1Y3QgaW50ZWxfY29udGV4dCAq Y2UpCiAJaTkxNV9nZW1fb2JqZWN0X3B1dChjZS0+c3RhdGUtPm9iaik7CiB9CiAKLXN0YXRpYyB2 b2lkIGV4ZWNsaXN0c19jb250ZXh0X2Rlc3Ryb3koc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQor c3RhdGljIHZvaWQgZXhlY2xpc3RzX2NvbnRleHRfZGVzdHJveShzdHJ1Y3Qga3JlZiAqa3JlZikK IHsKKwlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UgPSBjb250YWluZXJfb2Yoa3JlZiwgdHlwZW9m KCpjZSksIHJlZik7CisKIAlHRU1fQlVHX09OKGludGVsX2NvbnRleHRfaXNfcGlubmVkKGNlKSk7 CiAKIAlpZiAoY2UtPnN0YXRlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5j CmluZGV4IDE3NTA3MGVhMGY1MC4uYTAyMWM5NTQ1NjQ5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5jCkBAIC0xMzU0LDggKzEzNTQsMTAgQEAgc3RhdGljIHZvaWQgX19y aW5nX2NvbnRleHRfZmluaShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCiAJaTkxNV9nZW1fb2Jq ZWN0X3B1dChjZS0+c3RhdGUtPm9iaik7CiB9CiAKLXN0YXRpYyB2b2lkIHJpbmdfY29udGV4dF9k ZXN0cm95KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKK3N0YXRpYyB2b2lkIHJpbmdfY29udGV4 dF9kZXN0cm95KHN0cnVjdCBrcmVmICpyZWYpCiB7CisJc3RydWN0IGludGVsX2NvbnRleHQgKmNl ID0gY29udGFpbmVyX29mKHJlZiwgdHlwZW9mKCpjZSksIHJlZik7CisKIAlHRU1fQlVHX09OKGlu dGVsX2NvbnRleHRfaXNfcGlubmVkKGNlKSk7CiAKIAlpZiAoY2UtPnN0YXRlKQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZW5naW5lLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19lbmdpbmUuYwppbmRleCA3NjQxYjc0YWRhOTgu LjYzOWQzNmViOTA0YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3Rz L21vY2tfZW5naW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tf ZW5naW5lLmMKQEAgLTEyOCwxMiArMTI4LDE2IEBAIHN0YXRpYyB2b2lkIG1vY2tfY29udGV4dF91 bnBpbihzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCiAJbW9ja190aW1lbGluZV91bnBpbihjZS0+ cmluZy0+dGltZWxpbmUpOwogfQogCi1zdGF0aWMgdm9pZCBtb2NrX2NvbnRleHRfZGVzdHJveShz dHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCitzdGF0aWMgdm9pZCBtb2NrX2NvbnRleHRfZGVzdHJv eShzdHJ1Y3Qga3JlZiAqcmVmKQogeworCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSA9IGNvbnRh aW5lcl9vZihyZWYsIHR5cGVvZigqY2UpLCByZWYpOworCiAJR0VNX0JVR19PTihpbnRlbF9jb250 ZXh0X2lzX3Bpbm5lZChjZSkpOwogCiAJaWYgKGNlLT5yaW5nKQogCQltb2NrX3JpbmdfZnJlZShj ZS0+cmluZyk7CisKKwlpbnRlbF9jb250ZXh0X2ZyZWUoY2UpOwogfQogCiBzdGF0aWMgaW50IG1v Y2tfY29udGV4dF9waW4oc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQpAQCAtMTUxLDYgKzE1NSw3 IEBAIHN0YXRpYyBpbnQgbW9ja19jb250ZXh0X3BpbihzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2Up CiBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2NvbnRleHRfb3BzIG1vY2tfY29udGV4dF9vcHMg PSB7CiAJLnBpbiA9IG1vY2tfY29udGV4dF9waW4sCiAJLnVucGluID0gbW9ja19jb250ZXh0X3Vu cGluLAorCiAJLmRlc3Ryb3kgPSBtb2NrX2NvbnRleHRfZGVzdHJveSwKIH07CiAKLS0gCjIuMjAu MQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4