From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Hoath Subject: [PATCH] drm/i915: Change context lifecycle Date: Mon, 9 Nov 2015 16:18:20 +0000 Message-ID: <1447085900-29407-1-git-send-email-nicholas.hoath@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 98F026E5B8 for ; Mon, 9 Nov 2015 08:19:13 -0800 (PST) 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 Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org VXNlIHRoZSBmaXJzdCByZXRpcmVkIHJlcXVlc3Qgb24gYSBuZXcgY29udGV4dCB0byB1bnBpbgp0 aGUgb2xkIGNvbnRleHQuIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBodyBjb250ZXh0IHJlbWFpbnMK Ym91bmQgdW50aWwgaXQgaGFzIGJlZW4gc2F2ZWQuCk5vdyB0aGF0IHRoZSBjb250ZXh0IGlzIHBp bm5lZCB1bnRpbCBsYXRlciBpbiB0aGUgcmVxdWVzdC9jb250ZXh0CmxpZmVjeWNsZSwgaXQgbm8g bG9uZ2VyIG5lZWRzIHRvIGJlIHBpbm5lZCBmcm9tIGNvbnRleHRfcXVldWUgdG8KcmV0aXJlX3Jl cXVlc3RzLgpUaGUgcmVmY291bnQgb24gdGhlIGNvbnRleHQgYWxzbyBoYXMgdG8gYmUgZXh0ZW5k ZWQgdG8gY292ZXIgdGhpcwpuZXcgbG9uZ2VyIHBlcmlvZC4KClNpZ25lZC1vZmYtYnk6IE5pY2sg SG9hdGggPG5pY2hvbGFzLmhvYXRoQGludGVsLmNvbT4KSXNzdWU6IFZJWi00Mjc3CkNjOiBEYW5p ZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgpDYzogRGF2aWQgR29yZG9uIDxkYXZp ZC5zLmdvcmRvbkBpbnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNv bi5jby51az4KQ2M6IEFsZXggRGFpIDx5dS5kYWlAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYyAgfCAgNyArKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgfCA1OCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuaCB8ICAxICsKIDQgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygr KSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMjBjZDZkOC4u Nzc4YjE0YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC04ODQsNiArODg0LDcgQEAgc3Ry dWN0IGludGVsX2NvbnRleHQgewogCXN0cnVjdCB7CiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpzdGF0ZTsKIAkJc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWY7CisJCWJvb2wg dW5zYXZlZDsKIAkJaW50IHBpbl9jb3VudDsKIAl9IGVuZ2luZVtJOTE1X05VTV9SSU5HU107CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IGYxZTNmZGUuLjI3Mzk0NmQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uYwpAQCAtMTM4NSw2ICsxMzg1LDEzIEBAIF9faTkxNV9nZW1fcmVxdWVzdF9y ZXRpcmVfX3VwdG8oc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiAJCXRtcCA9IGxp c3RfZmlyc3RfZW50cnkoJmVuZ2luZS0+cmVxdWVzdF9saXN0LAogCQkJCSAgICAgICB0eXBlb2Yo KnRtcCksIGxpc3QpOwogCisJCWlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMpIHsKKwkJCXVuc2ln bmVkIGxvbmcgZmxhZ3M7CisKKwkJCXNwaW5fbG9ja19pcnFzYXZlKCZlbmdpbmUtPmV4ZWNsaXN0 X2xvY2ssIGZsYWdzKTsKKwkJCWludGVsX2xyX2NvbnRleHRfY29tcGxldGVfY2hlY2sodG1wKTsK KwkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmVuZ2luZS0+ZXhlY2xpc3RfbG9jaywgZmxhZ3Mp OworCQl9CiAJCWk5MTVfZ2VtX3JlcXVlc3RfcmV0aXJlKHRtcCk7CiAJfSB3aGlsZSAodG1wICE9 IHJlcSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggMDYxODBkYy4uZDgyZTkwMyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTU2NiwxMyArNTY2LDE3IEBAIHN0YXRpYyBp bnQgZXhlY2xpc3RzX2NvbnRleHRfcXVldWUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXF1ZXN0KQogCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqY3Vyc29yOwogCWludCBudW1f ZWxlbWVudHMgPSAwOwogCi0JaWYgKHJlcXVlc3QtPmN0eCAhPSByaW5nLT5kZWZhdWx0X2NvbnRl eHQpCi0JCWludGVsX2xyX2NvbnRleHRfcGluKHJlcXVlc3QpOwotCiAJaTkxNV9nZW1fcmVxdWVz dF9yZWZlcmVuY2UocmVxdWVzdCk7CiAKIAlzcGluX2xvY2tfaXJxKCZyaW5nLT5leGVjbGlzdF9s b2NrKTsKIAorCWlmIChyZXF1ZXN0LT5jdHggIT0gcmluZy0+ZGVmYXVsdF9jb250ZXh0KSB7CisJ CWlmICghcmVxdWVzdC0+Y3R4LT5lbmdpbmVbcmluZy0+aWRdLnVuc2F2ZWQpIHsKKwkJCWludGVs X2xyX2NvbnRleHRfcGluKHJlcXVlc3QpOworCQkJcmVxdWVzdC0+Y3R4LT5lbmdpbmVbcmluZy0+ aWRdLnVuc2F2ZWQgPSB0cnVlOworCQl9CisJfQorCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShjdXJz b3IsICZyaW5nLT5leGVjbGlzdF9xdWV1ZSwgZXhlY2xpc3RfbGluaykKIAkJaWYgKCsrbnVtX2Vs ZW1lbnRzID4gMikKIAkJCWJyZWFrOwpAQCAtOTU4LDEyICs5NjIsNiBAQCB2b2lkIGludGVsX2V4 ZWNsaXN0c19yZXRpcmVfcmVxdWVzdHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIAlz cGluX3VubG9ja19pcnEoJnJpbmctPmV4ZWNsaXN0X2xvY2spOwogCiAJbGlzdF9mb3JfZWFjaF9l bnRyeV9zYWZlKHJlcSwgdG1wLCAmcmV0aXJlZF9saXN0LCBleGVjbGlzdF9saW5rKSB7Ci0JCXN0 cnVjdCBpbnRlbF9jb250ZXh0ICpjdHggPSByZXEtPmN0eDsKLQkJc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKmN0eF9vYmogPQotCQkJCWN0eC0+ZW5naW5lW3JpbmctPmlkXS5zdGF0ZTsKLQot CQlpZiAoY3R4X29iaiAmJiAoY3R4ICE9IHJpbmctPmRlZmF1bHRfY29udGV4dCkpCi0JCQlpbnRl bF9scl9jb250ZXh0X3VucGluKHJlcSk7CiAJCWxpc3RfZGVsKCZyZXEtPmV4ZWNsaXN0X2xpbmsp OwogCQlpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKHJlcSk7CiAJfQpAQCAtMTA3Myw2ICsx MDcxLDMxIEBAIHZvaWQgaW50ZWxfbHJfY29udGV4dF91bnBpbihzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJxKQogCX0KIH0KIAordm9pZCBpbnRlbF9scl9jb250ZXh0X2NvbXBsZXRlX2No ZWNrKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKnJpbmcgPSByZXEtPnJpbmc7CisKKwlhc3NlcnRfc3Bpbl9sb2NrZWQoJnJpbmct PmV4ZWNsaXN0X2xvY2spOworCisJaWYgKHJpbmctPmxhc3RfY29udGV4dCAmJiByaW5nLT5sYXN0 X2NvbnRleHQgIT0gcmVxLT5jdHgpIHsKKwkJaWYgKHJlcS0+Y3R4ICE9IHJpbmctPmRlZmF1bHRf Y29udGV4dAorCQkJJiYgcmluZy0+bGFzdF9jb250ZXh0LT5lbmdpbmVbcmluZy0+aWRdLnVuc2F2 ZWQpIHsKKwkJCS8qIENyZWF0ZSBmYWtlIHJlcXVlc3QgZm9yIHVucGlubmluZyB0aGUgb2xkIGNv bnRleHQgKi8KKwkJCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCB0bXA7CisKKwkJCXRtcC5y aW5nID0gcmluZzsKKwkJCXRtcC5jdHggPSByaW5nLT5sYXN0X2NvbnRleHQ7CisJCQl0bXAucmlu Z2J1ZiA9CisJCQkJcmluZy0+bGFzdF9jb250ZXh0LT5lbmdpbmVbcmluZy0+aWRdLnJpbmdidWY7 CisKKwkJCWludGVsX2xyX2NvbnRleHRfdW5waW4oJnRtcCk7CisJCQlyaW5nLT5sYXN0X2NvbnRl eHQtPmVuZ2luZVtyaW5nLT5pZF0udW5zYXZlZCA9IGZhbHNlOworCQkJcmluZy0+bGFzdF9jb250 ZXh0ID0gTlVMTDsKKwkJfQorCX0KKwlyaW5nLT5sYXN0X2NvbnRleHQgPSByZXEtPmN0eDsKK30K Kwogc3RhdGljIGludCBpbnRlbF9sb2dpY2FsX3Jpbmdfd29ya2Fyb3VuZHNfZW1pdChzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHsKIAlpbnQgcmV0LCBpOwpAQCAtMjM5MCw3ICsy NDEzLDIyIEBAIHZvaWQgaW50ZWxfbHJfY29udGV4dF9mcmVlKHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjdHgpCiAJCQkJaW50ZWxfdW5waW5fcmluZ2J1ZmZlcl9vYmoocmluZ2J1Zik7CiAJCQkJaTkx NV9nZW1fb2JqZWN0X2dndHRfdW5waW4oY3R4X29iaik7CiAJCQl9Ci0JCQlXQVJOX09OKGN0eC0+ ZW5naW5lW3JpbmctPmlkXS5waW5fY291bnQpOworCisJCQlpZiAoY3R4LT5lbmdpbmVbcmluZy0+ aWRdLnVuc2F2ZWQpIHsKKwkJCQkvKioKKwkJCQkgKiBDcmVhdGUgZmFrZSByZXF1ZXN0IGZvciB1 bnBpbm5pbmcgdGhlIG9sZAorCQkJCSAqIGNvbnRleHQKKwkJCQkgKi8KKwkJCQlzdHJ1Y3QgZHJt X2k5MTVfZ2VtX3JlcXVlc3QgdG1wOworCisJCQkJdG1wLnJpbmcgPSByaW5nOworCQkJCXRtcC5j dHggPSBjdHg7CisJCQkJdG1wLnJpbmdidWYgPSByaW5nYnVmOworCQkJCWludGVsX2xyX2NvbnRl eHRfdW5waW4oJnRtcCk7CisJCQkJY3R4LT5lbmdpbmVbcmluZy0+aWRdLnVuc2F2ZWQgPSBmYWxz ZTsKKwkJCX0KKworCQkJV0FSTl9PTihjdHgtPmVuZ2luZVtpXS5waW5fY291bnQpOwogCQkJaW50 ZWxfcmluZ2J1ZmZlcl9mcmVlKHJpbmdidWYpOwogCQkJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVu Y2UoJmN0eF9vYmotPmJhc2UpOwogCQl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCmluZGV4IDRl NjBkNTQuLmNiYzQyYjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCkBAIC04Niw2ICs4Niw3 IEBAIHZvaWQgaW50ZWxfbHJfY29udGV4dF9yZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CQkJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCk7CiB1aW50NjRfdCBpbnRlbF9scl9jb250ZXh0 X2Rlc2NyaXB0b3Ioc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwKIAkJCQkgICAgIHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKnJpbmcpOwordm9pZCBpbnRlbF9scl9jb250ZXh0X2NvbXBsZXRlX2No ZWNrKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKTsKIAogLyogRXhlY2xpc3RzICov CiBpbnQgaW50ZWxfc2FuaXRpemVfZW5hYmxlX2V4ZWNsaXN0cyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBpbnQgZW5hYmxlX2V4ZWNsaXN0cyk7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK