From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 09/12] drm/i915/gvt: Stop waiting whilst holding struct_mutex Date: Wed, 19 Oct 2016 11:11:44 +0100 Message-ID: <20161019101147.17342-10-chris@chris-wilson.co.uk> References: <20161019101147.17342-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-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6D3F36E8B0 for ; Wed, 19 Oct 2016 10:12:05 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id g16so3200469wmg.2 for ; Wed, 19 Oct 2016 03:12:05 -0700 (PDT) In-Reply-To: <20161019101147.17342-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 Rm9yIHdoYXRldmVyIHJlYXNvbiwgdGhlIGd2dCBzY2hlZHVsZXIgcnVucyBzeW5jaHJvbm91c2x5 LiBBdCB0aGUgdmVyeQpsZWFzdCwgbGV0cyBydW4gc3luY2hyb25vdXNseSB3aXRob3V0IGhvbGRp bmcgdGhlIHN0cnVjdF9tdXRleC4KCnYyOiBjdXQnbidwYXN0ZSBtdXRleF9sb2NrIGluc3RlYWQg b2YgdW5sb2NrLgpSZXBsYWNlIGxvbmcgaG9sZCBvZiBzdHJ1Y3RfbXV0ZXggd2l0aCBhIG11dGV4 IHRvIHNlcmlhbGlzZSB0aGUgd29ya2VyCnRocmVhZHMuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBX aWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9ndnQvc2NoZWR1bGVyLmMgfCAyMiArKysrKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dnQvc2NoZWR1bGVyLmMKaW5kZXggMzEwNDM1NDk4OTMyLi45OTU3ZDg4MzJjNjMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9zY2hlZHVsZXIuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMKQEAgLTM5MCw2ICszOTAsOCBAQCBzdHJ1Y3Qgd29y a2xvYWRfdGhyZWFkX3BhcmFtIHsKIAlpbnQgcmluZ19pZDsKIH07CiAKK3N0YXRpYyBERUZJTkVf TVVURVgoc2NoZWR1bGVyX211dGV4KTsKKwogc3RhdGljIGludCB3b3JrbG9hZF90aHJlYWQodm9p ZCAqcHJpdikKIHsKIAlzdHJ1Y3Qgd29ya2xvYWRfdGhyZWFkX3BhcmFtICpwID0gKHN0cnVjdCB3 b3JrbG9hZF90aHJlYWRfcGFyYW0gKilwcml2OwpAQCAtNDE0LDE3ICs0MTYsMTQgQEAgc3RhdGlj IGludCB3b3JrbG9hZF90aHJlYWQodm9pZCAqcHJpdikKIAkJaWYgKGt0aHJlYWRfc2hvdWxkX3N0 b3AoKSkKIAkJCWJyZWFrOwogCisJCW11dGV4X2xvY2soJnNjaGVkdWxlcl9tdXRleCk7CisKIAkJ Z3Z0X2RiZ19zY2hlZCgicmluZyBpZCAlZCBuZXh0IHdvcmtsb2FkICVwIHZncHUgJWRcbiIsCiAJ CQkJd29ya2xvYWQtPnJpbmdfaWQsIHdvcmtsb2FkLAogCQkJCXdvcmtsb2FkLT52Z3B1LT5pZCk7 CiAKIAkJaW50ZWxfcnVudGltZV9wbV9nZXQoZ3Z0LT5kZXZfcHJpdik7CiAKLQkJLyoKLQkJICog QWx3YXlzIHRha2UgaTkxNSBiaWcgbG9jayBmaXJzdAotCQkgKi8KLQkJbXV0ZXhfbG9jaygmZ3Z0 LT5kZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7Ci0KIAkJZ3Z0X2RiZ19zY2hlZCgicmluZyBp ZCAlZCB3aWxsIGRpc3BhdGNoIHdvcmtsb2FkICVwXG4iLAogCQkJCXdvcmtsb2FkLT5yaW5nX2lk LCB3b3JrbG9hZCk7CiAKQEAgLTQzMiw3ICs0MzEsMTAgQEAgc3RhdGljIGludCB3b3JrbG9hZF90 aHJlYWQodm9pZCAqcHJpdikKIAkJCWludGVsX3VuY29yZV9mb3JjZXdha2VfZ2V0KGd2dC0+ZGV2 X3ByaXYsCiAJCQkJCUZPUkNFV0FLRV9BTEwpOwogCisJCW11dGV4X2xvY2soJmd2dC0+ZGV2X3By aXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwogCQlyZXQgPSBkaXNwYXRjaF93b3JrbG9hZCh3b3JrbG9h ZCk7CisJCW11dGV4X3VubG9jaygmZ3Z0LT5kZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CisK IAkJaWYgKHJldCkgewogCQkJZ3Z0X2VycigiZmFpbCB0byBkaXNwYXRjaCB3b3JrbG9hZCwgc2tp cFxuIik7CiAJCQlnb3RvIGNvbXBsZXRlOwpAQCAtNDQyLDggKzQ0NCw3IEBAIHN0YXRpYyBpbnQg d29ya2xvYWRfdGhyZWFkKHZvaWQgKnByaXYpCiAJCQkJd29ya2xvYWQtPnJpbmdfaWQsIHdvcmts b2FkKTsKIAogCQl3b3JrbG9hZC0+c3RhdHVzID0gaTkxNV93YWl0X3JlcXVlc3Qod29ya2xvYWQt PnJlcSwKLQkJCQkJCSAgICAgSTkxNV9XQUlUX0xPQ0tFRCwKLQkJCQkJCSAgICAgTlVMTCwgTlVM TCk7CisJCQkJCQkgICAgIDAsIE5VTEwsIE5VTEwpOwogCQlpZiAod29ya2xvYWQtPnN0YXR1cyAh PSAwKQogCQkJZ3Z0X2VycigiZmFpbCB0byB3YWl0IHdvcmtsb2FkLCBza2lwXG4iKTsKIApAQCAt NDUxLDcgKzQ1Miw5IEBAIHN0YXRpYyBpbnQgd29ya2xvYWRfdGhyZWFkKHZvaWQgKnByaXYpCiAJ CWd2dF9kYmdfc2NoZWQoIndpbGwgY29tcGxldGUgd29ya2xvYWQgJXBcbiwgc3RhdHVzOiAlZFxu IiwKIAkJCQl3b3JrbG9hZCwgd29ya2xvYWQtPnN0YXR1cyk7CiAKKwkJbXV0ZXhfbG9jaygmZ3Z0 LT5kZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CiAJCWNvbXBsZXRlX2N1cnJlbnRfd29ya2xv YWQoZ3Z0LCByaW5nX2lkKTsKKwkJbXV0ZXhfdW5sb2NrKCZndnQtPmRldl9wcml2LT5kcm0uc3Ry dWN0X211dGV4KTsKIAogCQlpOTE1X2dlbV9yZXF1ZXN0X3B1dChmZXRjaF9hbmRfemVybygmd29y a2xvYWQtPnJlcSkpOwogCkBAIC00NTksOSArNDYyLDEwIEBAIHN0YXRpYyBpbnQgd29ya2xvYWRf dGhyZWFkKHZvaWQgKnByaXYpCiAJCQlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3B1dChndnQtPmRl dl9wcml2LAogCQkJCQlGT1JDRVdBS0VfQUxMKTsKIAotCQltdXRleF91bmxvY2soJmd2dC0+ZGV2 X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwotCiAJCWludGVsX3J1bnRpbWVfcG1fcHV0KGd2dC0+ ZGV2X3ByaXYpOworCisJCW11dGV4X3VubG9jaygmc2NoZWR1bGVyX211dGV4KTsKKwogCX0KIAly ZXR1cm4gMDsKIH0KLS0gCjIuOS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK