From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Hoath Subject: [PATCH] drm/i915: Change context lifecycle Date: Tue, 24 Nov 2015 16:23:56 +0000 Message-ID: <1448382236-36551-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id BEA746E948 for ; Tue, 24 Nov 2015 08:24:00 -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 cXVlc3RzLgpUaGlzIGlzIHRvIHNvbHZlIGEgaGFuZyB3aXRoIEd1QyBzdWJtaXNzaW9uLCBhbmQg YSB0aGVvcmV0aWNhbAppc3N1ZSB3aXRoIGV4ZWNsaXN0IHN1Ym1pc3Npb24uCgp2MjogTW92ZWQg dGhlIG5ldyBwaW4gdG8gY292ZXIgR3VDIHN1Ym1pc3Npb24gKEFsZXggRGFpKQogICAgTW92ZWQg dGhlIG5ldyB1bnBpbiB0byByZXF1ZXN0X3JldGlyZSB0byBmaXggY292ZXJhZ2UgbGVhawp2Mzog QWRkZWQgc3dpdGNoIHRvIGRlZmF1bHQgY29udGV4dCBpZiBmcmVlaW5nIGEgc3RpbGwgcGlubmVk CiAgICBjb250ZXh0IGp1c3QgaW4gY2FzZSB0aGUgaHcgd2FzIGFjdHVhbGx5IHN0aWxsIHVzaW5n IGl0CnY0OiBVbndyYXBwZWQgY29udGV4dCB1bnBpbiB0byBhbGxvdyBjYWxsaW5nIHdpdGhvdXQg YSByZXF1ZXN0CgpTaWduZWQtb2ZmLWJ5OiBOaWNrIEhvYXRoIDxuaWNob2xhcy5ob2F0aEBpbnRl bC5jb20+Cklzc3VlOiBWSVotNDI3NwpDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBm ZndsbC5jaD4KQ2M6IERhdmlkIEdvcmRvbiA8ZGF2aWQucy5nb3Jkb25AaW50ZWwuY29tPgpDYzog Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBBbGV4IERhaSA8eXUu ZGFpQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICB8ICAx ICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgIHwgIDkgKysrKy0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIHwgNzMgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggfCAgMSArCiA0 IGZpbGVzIGNoYW5nZWQsIDY1IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCmluZGV4IGQ1Y2YzMGIuLjRkMmY0NGMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaApAQCAtODg5LDYgKzg4OSw3IEBAIHN0cnVjdCBpbnRlbF9jb250ZXh0IHsKIAlzdHJ1 Y3QgewogCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqc3RhdGU7CiAJCXN0cnVjdCBpbnRl bF9yaW5nYnVmZmVyICpyaW5nYnVmOworCQlib29sIHVuc2F2ZWQ7CiAJCWludCBwaW5fY291bnQ7 CiAJfSBlbmdpbmVbSTkxNV9OVU1fUklOR1NdOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRl eCBlOTU1NDk5Li42ZmVlNDczIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTEzNTQsNiAr MTM1NCwxNCBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV9yZXF1ZXN0X3JldGlyZShzdHJ1Y3QgZHJt X2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCiB7CiAJdHJhY2VfaTkxNV9nZW1fcmVxdWVzdF9y ZXRpcmUocmVxdWVzdCk7CiAKKwlpZiAoaTkxNS5lbmFibGVfZXhlY2xpc3RzKSB7CisJCXVuc2ln bmVkIGxvbmcgZmxhZ3M7CisKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnJlcXVlc3QtPnJpbmctPmV4 ZWNsaXN0X2xvY2ssIGZsYWdzKTsKKwkJaW50ZWxfbHJfY29udGV4dF9jb21wbGV0ZV9jaGVjayhy ZXF1ZXN0KTsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmVxdWVzdC0+cmluZy0+ZXhlY2xp c3RfbG9jaywgZmxhZ3MpOworCX0KKwogCS8qIFdlIGtub3cgdGhlIEdQVSBtdXN0IGhhdmUgcmVh ZCB0aGUgcmVxdWVzdCB0byBoYXZlCiAJICogc2VudCB1cyB0aGUgc2Vxbm8gKyBpbnRlcnJ1cHQs IHNvIHVzZSB0aGUgcG9zaXRpb24KIAkgKiBvZiB0YWlsIG9mIHRoZSByZXF1ZXN0IHRvIHVwZGF0 ZSB0aGUgbGFzdCBrbm93biBwb3NpdGlvbgpAQCAtMTM4NCw3ICsxMzkyLDYgQEAgX19pOTE1X2dl bV9yZXF1ZXN0X3JldGlyZV9fdXB0byhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkK IAlkbyB7CiAJCXRtcCA9IGxpc3RfZmlyc3RfZW50cnkoJmVuZ2luZS0+cmVxdWVzdF9saXN0LAog CQkJCSAgICAgICB0eXBlb2YoKnRtcCksIGxpc3QpOwotCiAJCWk5MTVfZ2VtX3JlcXVlc3RfcmV0 aXJlKHRtcCk7CiAJfSB3aGlsZSAodG1wICE9IHJlcSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmMKaW5kZXggMDYxODBkYy4uYTUyN2MyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAg LTU2Niw5ICs1NjYsNiBAQCBzdGF0aWMgaW50IGV4ZWNsaXN0c19jb250ZXh0X3F1ZXVlKHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKmN1cnNvcjsKIAlpbnQgbnVtX2VsZW1lbnRzID0gMDsKIAotCWlmIChyZXF1ZXN0LT5j dHggIT0gcmluZy0+ZGVmYXVsdF9jb250ZXh0KQotCQlpbnRlbF9scl9jb250ZXh0X3BpbihyZXF1 ZXN0KTsKLQogCWk5MTVfZ2VtX3JlcXVlc3RfcmVmZXJlbmNlKHJlcXVlc3QpOwogCiAJc3Bpbl9s b2NrX2lycSgmcmluZy0+ZXhlY2xpc3RfbG9jayk7CkBAIC03MjgsMTAgKzcyNSwxNiBAQCBpbnRl bF9sb2dpY2FsX3JpbmdfYWR2YW5jZV9hbmRfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxdWVzdCkKIAlpbnRlbF9sb2dpY2FsX3JpbmdfYWR2YW5jZShyZXF1ZXN0LT5yaW5n YnVmKTsKIAogCXJlcXVlc3QtPnRhaWwgPSByZXF1ZXN0LT5yaW5nYnVmLT50YWlsOwotCiAJaWYg KGludGVsX3Jpbmdfc3RvcHBlZChyaW5nKSkKIAkJcmV0dXJuOwogCisJaWYgKHJlcXVlc3QtPmN0 eCAhPSByaW5nLT5kZWZhdWx0X2NvbnRleHQpIHsKKwkJaWYgKCFyZXF1ZXN0LT5jdHgtPmVuZ2lu ZVtyaW5nLT5pZF0udW5zYXZlZCkgeworCQkJaW50ZWxfbHJfY29udGV4dF9waW4ocmVxdWVzdCk7 CisJCQlyZXF1ZXN0LT5jdHgtPmVuZ2luZVtyaW5nLT5pZF0udW5zYXZlZCA9IHRydWU7CisJCX0K Kwl9CisKIAlpZiAoZGV2X3ByaXYtPmd1Yy5leGVjYnVmX2NsaWVudCkKIAkJaTkxNV9ndWNfc3Vi bWl0KGRldl9wcml2LT5ndWMuZXhlY2J1Zl9jbGllbnQsIHJlcXVlc3QpOwogCWVsc2UKQEAgLTk1 OCwxMiArOTYxLDYgQEAgdm9pZCBpbnRlbF9leGVjbGlzdHNfcmV0aXJlX3JlcXVlc3RzKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJc3Bpbl91bmxvY2tfaXJxKCZyaW5nLT5leGVjbGlz dF9sb2NrKTsKIAogCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShyZXEsIHRtcCwgJnJldGlyZWRf bGlzdCwgZXhlY2xpc3RfbGluaykgewotCQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4ID0gcmVx LT5jdHg7Ci0JCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2JqID0KLQkJCQljdHgt PmVuZ2luZVtyaW5nLT5pZF0uc3RhdGU7Ci0KLQkJaWYgKGN0eF9vYmogJiYgKGN0eCAhPSByaW5n LT5kZWZhdWx0X2NvbnRleHQpKQotCQkJaW50ZWxfbHJfY29udGV4dF91bnBpbihyZXEpOwogCQls aXN0X2RlbCgmcmVxLT5leGVjbGlzdF9saW5rKTsKIAkJaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVy ZW5jZShyZXEpOwogCX0KQEAgLTEwNTgsMjEgKzEwNTUsNDEgQEAgcmVzZXRfcGluX2NvdW50Ogog CXJldHVybiByZXQ7CiB9CiAKLXZvaWQgaW50ZWxfbHJfY29udGV4dF91bnBpbihzdHJ1Y3QgZHJt X2k5MTVfZ2VtX3JlcXVlc3QgKnJxKQorc3RhdGljIHZvaWQgaW50ZWxfbHJfY29udGV4dF91bnBp bl9ub19yZXEoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKKwkJc3RydWN0IGludGVsX2Nv bnRleHQgKmN0eCkKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcnEtPnJpbmc7 Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmogPSBycS0+Y3R4LT5lbmdpbmVb cmluZy0+aWRdLnN0YXRlOwotCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmID0gcnEt PnJpbmdidWY7Ci0KKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X29iaiA9IGN0eC0+ ZW5naW5lW3JpbmctPmlkXS5zdGF0ZTsKKwlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1 ZiA9IGN0eC0+ZW5naW5lW3JpbmctPmlkXS5yaW5nYnVmOwogCWlmIChjdHhfb2JqKSB7CiAJCVdB Uk5fT04oIW11dGV4X2lzX2xvY2tlZCgmcmluZy0+ZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKLQkJaWYg KC0tcnEtPmN0eC0+ZW5naW5lW3JpbmctPmlkXS5waW5fY291bnQgPT0gMCkgeworCQlpZiAoLS1j dHgtPmVuZ2luZVtyaW5nLT5pZF0ucGluX2NvdW50ID09IDApIHsKIAkJCWludGVsX3VucGluX3Jp bmdidWZmZXJfb2JqKHJpbmdidWYpOwogCQkJaTkxNV9nZW1fb2JqZWN0X2dndHRfdW5waW4oY3R4 X29iaik7CiAJCX0KIAl9CiB9CiAKK3ZvaWQgaW50ZWxfbHJfY29udGV4dF91bnBpbihzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxKQoreworCWludGVsX2xyX2NvbnRleHRfdW5waW5fbm9f cmVxKHJxLT5yaW5nLCBycS0+Y3R4KTsKK30KKwordm9pZCBpbnRlbF9scl9jb250ZXh0X2NvbXBs ZXRlX2NoZWNrKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKnJpbmcgPSByZXEtPnJpbmc7CisKKwlhc3NlcnRfc3Bpbl9sb2NrZWQo JnJpbmctPmV4ZWNsaXN0X2xvY2spOworCisJaWYgKHJpbmctPmxhc3RfY29udGV4dCAmJiByaW5n LT5sYXN0X2NvbnRleHQgIT0gcmVxLT5jdHggJiYKKwkJCXJpbmctPmxhc3RfY29udGV4dC0+ZW5n aW5lW3JpbmctPmlkXS51bnNhdmVkKSB7CisJCWludGVsX2xyX2NvbnRleHRfdW5waW5fbm9fcmVx KAorCQkJCXJpbmcsCisJCQkJcmluZy0+bGFzdF9jb250ZXh0KTsKKwkJcmluZy0+bGFzdF9jb250 ZXh0LT5lbmdpbmVbcmluZy0+aWRdLnVuc2F2ZWQgPSBmYWxzZTsKKwl9CisJcmluZy0+bGFzdF9j b250ZXh0ID0gcmVxLT5jdHg7Cit9CisKIHN0YXRpYyBpbnQgaW50ZWxfbG9naWNhbF9yaW5nX3dv cmthcm91bmRzX2VtaXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiB7CiAJaW50 IHJldCwgaTsKQEAgLTIzNzgsNyArMjM5NSw3IEBAIHZvaWQgaW50ZWxfbHJfY29udGV4dF9mcmVl KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgpCiB7CiAJaW50IGk7CiAKLQlmb3IgKGkgPSAwOyBp IDwgSTkxNV9OVU1fUklOR1M7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBJOTE1X05VTV9SSU5H UzsgKytpKSB7CiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2JqID0gY3R4LT5l bmdpbmVbaV0uc3RhdGU7CiAKIAkJaWYgKGN0eF9vYmopIHsKQEAgLTIzOTAsNyArMjQwNywyMCBA QCB2b2lkIGludGVsX2xyX2NvbnRleHRfZnJlZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4KQog CQkJCWludGVsX3VucGluX3JpbmdidWZmZXJfb2JqKHJpbmdidWYpOwogCQkJCWk5MTVfZ2VtX29i amVjdF9nZ3R0X3VucGluKGN0eF9vYmopOwogCQkJfQotCQkJV0FSTl9PTihjdHgtPmVuZ2luZVty aW5nLT5pZF0ucGluX2NvdW50KTsKKworCQkJaWYgKGN0eC0+ZW5naW5lW3JpbmctPmlkXS51bnNh dmVkKSB7CisJCQkJaW50IHJldDsKKwkJCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cTsKKworCQkJCXJldCA9IGk5MTVfZ2VtX3JlcXVlc3RfYWxsb2MocmluZywKKwkJCQkJcmluZy0+ ZGVmYXVsdF9jb250ZXh0LCAmcmVxKTsKKwkJCQlpZiAoIXJldCkgeworCQkJCQlpOTE1X2FkZF9y ZXF1ZXN0KHJlcSk7CisJCQkJCWk5MTVfd2FpdF9yZXF1ZXN0KHJlcSk7CisJCQkJfQorCQkJfQor CisJCQlXQVJOX09OKGN0eC0+ZW5naW5lW2ldLnBpbl9jb3VudCk7CiAJCQlpbnRlbF9yaW5nYnVm ZmVyX2ZyZWUocmluZ2J1Zik7CiAJCQlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZSgmY3R4X29i ai0+YmFzZSk7CiAJCX0KQEAgLTI1NTQsNSArMjU4NCwxMiBAQCB2b2lkIGludGVsX2xyX2NvbnRl eHRfcmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCQlyaW5nYnVmLT5oZWFkID0gMDsK IAkJcmluZ2J1Zi0+dGFpbCA9IDA7CisKKwkJaWYgKGN0eC0+ZW5naW5lW3JpbmctPmlkXS51bnNh dmVkKSB7CisJCQlpbnRlbF9scl9jb250ZXh0X3VucGluX25vX3JlcSgKKwkJCQkJcmluZywKKwkJ CQkJY3R4KTsKKwkJCWN0eC0+ZW5naW5lW3JpbmctPmlkXS51bnNhdmVkID0gZmFsc2U7CisJCX0K IAl9CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCmluZGV4IDRlNjBkNTQuLmNiYzQyYjggMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCkBAIC04Niw2ICs4Niw3IEBAIHZvaWQgaW50ZWxfbHJf Y29udGV4dF9yZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJc3RydWN0IGludGVsX2Nv bnRleHQgKmN0eCk7CiB1aW50NjRfdCBpbnRlbF9scl9jb250ZXh0X2Rlc2NyaXB0b3Ioc3RydWN0 IGludGVsX2NvbnRleHQgKmN0eCwKIAkJCQkgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcpOwordm9pZCBpbnRlbF9scl9jb250ZXh0X2NvbXBsZXRlX2NoZWNrKHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcmVxKTsKIAogLyogRXhlY2xpc3RzICovCiBpbnQgaW50ZWxfc2FuaXRp emVfZW5hYmxlX2V4ZWNsaXN0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgZW5hYmxlX2V4 ZWNsaXN0cyk7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK