From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sagar Arun Kamble Subject: [PATCH v7 1/8] drm/i915: Create GEM runtime resume helper and handle GEM suspend/resume errors Date: Sat, 23 Sep 2017 17:53:02 +0530 Message-ID: <1506169389-6239-2-git-send-email-sagar.a.kamble@intel.com> References: <1506169389-6239-1-git-send-email-sagar.a.kamble@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 ESMTPS id B24B76E0B0 for ; Sat, 23 Sep 2017 12:19:48 +0000 (UTC) In-Reply-To: <1506169389-6239-1-git-send-email-sagar.a.kamble@intel.com> 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: Paulo Zanoni , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org UHJlcGFyZWQgaGVscGVyIGk5MTVfZ2VtX3J1bnRpbWVfcmVzdW1lIHRvIHJlY3JlYXRlIGdlbSBz ZXR1cC4KUmV0dXJuaW5nIHN0YXR1cyBmcm9tIGk5MTVfZ2VtX3J1bnRpbWVfc3VzcGVuZCBhbmQg aTkxNV9nZW1fcmVzdW1lLgpUaGlzIHdpbGwgYmUgcGxhY2Vob2xkZXIgZm9yIGhhbmRsaW5nIGFu eSBlcnJvcnMgZnJvbSB1QyBzdXNwZW5kL3Jlc3VtZQppbiB1cGNvbWluZyBwYXRjaGVzLiBSZXN0 cnVjdHVyZWQgdGhlIHN1c3BlbmQvcmVzdW1lIHJvdXRpbmVzIHcuci50IHNldHVwCmNyZWF0aW9u IGFuZCByb2xsYmFjayBvcmRlci4KVGhpcyBhbHNvIGZpeGVzIGlzc3VlIG9mIG9yZGVyaW5nIG9m IGk5MTVfZ2VtX3J1bnRpbWVfcmVzdW1lIHdpdGgKaW50ZWxfcnVudGltZV9wbV9lbmFibGVfaW50 ZXJydXB0cy4KCkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6 IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KQ2M6IFBhdWxvIFphbm9uaSA8cGF1bG8u ci56YW5vbmlAaW50ZWwuY29tPgpDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwu Y29tPgpDYzogTWljaGFsIFdhamRlY3prbyA8bWljaGFsLndhamRlY3prb0BpbnRlbC5jb20+CkNj OiBNaWNoYcWCIFdpbmlhcnNraSA8bWljaGFsLndpbmlhcnNraUBpbnRlbC5jb20+ClNpZ25lZC1v ZmYtYnk6IFNhZ2FyIEFydW4gS2FtYmxlIDxzYWdhci5hLmthbWJsZUBpbnRlbC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyB8IDMzICsrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCB8ICA1ICsrKy0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIHwgMjAgKysrKysrKysrKysrKysrKysr LS0KIDMgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggNzA1NmJiMi4uMTVlNmM1NiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5jCkBAIC0xNjU1LDYgKzE2NTUsNyBAQCBzdGF0aWMgaW50IGk5MTVfc3VzcGVu ZF9zd2l0Y2hlcm9vKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkK IHN0YXRpYyBpbnQgaTkxNV9kcm1fcmVzdW1lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOworCXN0cnVj dCBwY2lfZGV2ICpwZGV2ID0gZGV2X3ByaXYtPmRybS5wZGV2OwogCWludCByZXQ7CiAKIAlkaXNh YmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoZGV2X3ByaXYpOwpAQCAtMTY2Niw3ICsxNjY3LDkgQEAg c3RhdGljIGludCBpOTE1X2RybV9yZXN1bWUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAogCWlu dGVsX2Nzcl91Y29kZV9yZXN1bWUoZGV2X3ByaXYpOwogCi0JaTkxNV9nZW1fcmVzdW1lKGRldl9w cml2KTsKKwlyZXQgPSBpOTE1X2dlbV9yZXN1bWUoZGV2X3ByaXYpOworCWlmIChyZXQpCisJCWRl dl9lcnIoJnBkZXYtPmRldiwgIkdFTSByZXN1bWUgZmFpbGVkXG4iKTsKIAogCWk5MTVfcmVzdG9y ZV9zdGF0ZShkZXZfcHJpdik7CiAJaW50ZWxfcHBzX3VubG9ja19yZWdzX3dhKGRldl9wcml2KTsK QEAgLTI0OTUsNyArMjQ5OCwxMSBAQCBzdGF0aWMgaW50IGludGVsX3J1bnRpbWVfc3VzcGVuZChz dHJ1Y3QgZGV2aWNlICprZGV2KQogCSAqIFdlIGFyZSBzYWZlIGhlcmUgYWdhaW5zdCByZS1mYXVs dHMsIHNpbmNlIHRoZSBmYXVsdCBoYW5kbGVyIHRha2VzCiAJICogYW4gUlBNIHJlZmVyZW5jZS4K IAkgKi8KLQlpOTE1X2dlbV9ydW50aW1lX3N1c3BlbmQoZGV2X3ByaXYpOworCXJldCA9IGk5MTVf Z2VtX3J1bnRpbWVfc3VzcGVuZChkZXZfcHJpdik7CisJaWYgKHJldCkgeworCQllbmFibGVfcnBt X3dha2VyZWZfYXNzZXJ0cyhkZXZfcHJpdik7CisJCXJldHVybiByZXQ7CisJfQogCiAJaW50ZWxf Z3VjX3N1c3BlbmQoZGV2X3ByaXYpOwogCkBAIC0yNTE1LDYgKzI1MjIsOCBAQCBzdGF0aWMgaW50 IGludGVsX3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICprZGV2KQogCQlEUk1fRVJST1Io IlJ1bnRpbWUgc3VzcGVuZCBmYWlsZWQsIGRpc2FibGluZyBpdCAoJWQpXG4iLCByZXQpOwogCQlp bnRlbF9ydW50aW1lX3BtX2VuYWJsZV9pbnRlcnJ1cHRzKGRldl9wcml2KTsKIAorCQlpbnRlbF9n dWNfcmVzdW1lKGRldl9wcml2KTsKKwkJaTkxNV9nZW1fcnVudGltZV9yZXN1bWUoZGV2X3ByaXYp OwogCQllbmFibGVfcnBtX3dha2VyZWZfYXNzZXJ0cyhkZXZfcHJpdik7CiAKIAkJcmV0dXJuIHJl dDsKQEAgLTI1NjcsNyArMjU3Niw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfcnVudGltZV9yZXN1bWUo c3RydWN0IGRldmljZSAqa2RldikKIAlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9IHRvX3BjaV9kZXYo a2Rldik7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBjaV9nZXRfZHJ2ZGF0YShwZGV2KTsK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Ci0JaW50 IHJldCA9IDA7CisJaW50IHJldDEgPSAwLCByZXQyOwogCiAJaWYgKFdBUk5fT05fT05DRSghSEFT X1JVTlRJTUVfUE0oZGV2X3ByaXYpKSkKIAkJcmV0dXJuIC1FTk9ERVY7CkBAIC0yNTkzLDE2ICsy NjAyLDkgQEAgc3RhdGljIGludCBpbnRlbF9ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpr ZGV2KQogCX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwgSVNfQlJPQURXRUxMKGRl dl9wcml2KSkgewogCQloc3dfZGlzYWJsZV9wYzgoZGV2X3ByaXYpOwogCX0gZWxzZSBpZiAoSVNf VkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpIHsKLQkJcmV0 ID0gdmx2X3Jlc3VtZV9wcmVwYXJlKGRldl9wcml2LCB0cnVlKTsKKwkJcmV0MSA9IHZsdl9yZXN1 bWVfcHJlcGFyZShkZXZfcHJpdiwgdHJ1ZSk7CiAJfQogCi0JLyoKLQkgKiBObyBwb2ludCBvZiBy b2xsaW5nIGJhY2sgdGhpbmdzIGluIGNhc2Ugb2YgYW4gZXJyb3IsIGFzIHRoZSBiZXN0Ci0JICog d2UgY2FuIGRvIGlzIHRvIGhvcGUgdGhhdCB0aGluZ3Mgd2lsbCBzdGlsbCB3b3JrIChhbmQgZGlz YWJsZSBSUE0pLgotCSAqLwotCWk5MTVfZ2VtX2luaXRfc3dpenpsaW5nKGRldl9wcml2KTsKLQlp OTE1X2dlbV9yZXN0b3JlX2ZlbmNlcyhkZXZfcHJpdik7Ci0KIAlpbnRlbF9ydW50aW1lX3BtX2Vu YWJsZV9pbnRlcnJ1cHRzKGRldl9wcml2KTsKIAogCS8qCkBAIC0yNjE1LDE0ICsyNjE3LDE3IEBA IHN0YXRpYyBpbnQgaW50ZWxfcnVudGltZV9yZXN1bWUoc3RydWN0IGRldmljZSAqa2RldikKIAog CWludGVsX2VuYWJsZV9pcGMoZGV2X3ByaXYpOwogCisJcmV0MiA9IGk5MTVfZ2VtX3J1bnRpbWVf cmVzdW1lKGRldl9wcml2KTsKKwogCWVuYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKGRldl9wcml2 KTsKIAotCWlmIChyZXQpCi0JCURSTV9FUlJPUigiUnVudGltZSByZXN1bWUgZmFpbGVkLCBkaXNh YmxpbmcgaXQgKCVkKVxuIiwgcmV0KTsKKwlpZiAocmV0MSB8fCByZXQyKQorCQlEUk1fRVJST1Io IlJ1bnRpbWUgcmVzdW1lIGZhaWxlZCwgZGlzYWJsaW5nIGl0ICglZClcbiIsCisJCQkgIHJldDEg PzogcmV0Mik7CiAJZWxzZQogCQlEUk1fREVCVUdfS01TKCJEZXZpY2UgcmVzdW1lZFxuIik7CiAK LQlyZXR1cm4gcmV0OworCXJldHVybiByZXQxID86IHJldDI7CiB9CiAKIGNvbnN0IHN0cnVjdCBk ZXZfcG1fb3BzIGk5MTVfcG1fb3BzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZjVk MGU4MS4uZjAxMWM5MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0zNDY4LDcgKzM0Njgs OCBAQCBzdHJ1Y3QgaTkxNV92bWEgKiBfX211c3RfY2hlY2sKIGludCBpOTE1X2dlbV9vYmplY3Rf dW5iaW5kKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOwogdm9pZCBpOTE1X2dlbV9y ZWxlYXNlX21tYXAoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7CiAKLXZvaWQgaTkx NV9nZW1fcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7 CitpbnQgaTkxNV9nZW1fcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdik7CitpbnQgaTkxNV9nZW1fcnVudGltZV9yZXN1bWUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KTsKIAogc3RhdGljIGlubGluZSBpbnQgX19zZ19wYWdlX2NvdW50KGNv bnN0IHN0cnVjdCBzY2F0dGVybGlzdCAqc2cpCiB7CkBAIC0zNjcxLDcgKzM2NzIsNyBAQCB2b2lk IGk5MTVfZ2VtX3Jlc2V0X2VuZ2luZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiBp bnQgaTkxNV9nZW1fd2FpdF9mb3JfaWRsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJCQkgICB1bnNpZ25lZCBpbnQgZmxhZ3MpOwogaW50IF9fbXVzdF9jaGVjayBpOTE1X2dl bV9zdXNwZW5kKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Ci12b2lkIGk5MTVf Z2VtX3Jlc3VtZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOworaW50IGk5MTVf Z2VtX3Jlc3VtZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogaW50IGk5MTVf Z2VtX2ZhdWx0KHN0cnVjdCB2bV9mYXVsdCAqdm1mKTsKIGludCBpOTE1X2dlbV9vYmplY3Rfd2Fp dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJIHVuc2lnbmVkIGludCBmbGFn cywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDJhNjUwZjkuLjA1MzgxYjMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYwpAQCAtMjAyMiw3ICsyMDIyLDcgQEAgaW50IGk5MTVfZ2VtX2ZhdWx0 KHN0cnVjdCB2bV9mYXVsdCAqdm1mKQogCWludGVsX3J1bnRpbWVfcG1fcHV0KGk5MTUpOwogfQog Ci12b2lkIGk5MTVfZ2VtX3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCitpbnQgaTkxNV9nZW1fcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCAq b247CiAJaW50IGk7CkBAIC0yMDY1LDYgKzIwNjUsMjAgQEAgdm9pZCBpOTE1X2dlbV9ydW50aW1l X3N1c3BlbmQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQlHRU1fQlVHX09O KCFsaXN0X2VtcHR5KCZyZWctPnZtYS0+b2JqLT51c2VyZmF1bHRfbGluaykpOwogCQlyZWctPmRp cnR5ID0gdHJ1ZTsKIAl9CisKKwlyZXR1cm4gMDsKK30KKworaW50IGk5MTVfZ2VtX3J1bnRpbWVf cmVzdW1lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwkvKgorCSAqIE5v IHBvaW50IG9mIHJvbGxpbmcgYmFjayB0aGluZ3MgaW4gY2FzZSBvZiBhbiBlcnJvciwgYXMgdGhl IGJlc3QKKwkgKiB3ZSBjYW4gZG8gaXMgdG8gaG9wZSB0aGF0IHRoaW5ncyB3aWxsIHN0aWxsIHdv cmsgKGFuZCBkaXNhYmxlIFJQTSkuCisJICovCisJaTkxNV9nZW1faW5pdF9zd2l6emxpbmcoZGV2 X3ByaXYpOworCWk5MTVfZ2VtX3Jlc3RvcmVfZmVuY2VzKGRldl9wcml2KTsKKworCXJldHVybiAw OwogfQogCiBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfbW1hcF9vZmZzZXQoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKQEAgLTQ1ODcsNyArNDYwMSw3IEBAIGludCBp OTE1X2dlbV9zdXNwZW5kKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlyZXR1 cm4gcmV0OwogfQogCi12b2lkIGk5MTVfZ2VtX3Jlc3VtZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCitpbnQgaTkxNV9nZW1fcmVzdW1lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gJmRldl9wcml2LT5kcm07 CiAKQEAgLTQ2MDMsNiArNDYxNyw4IEBAIHZvaWQgaTkxNV9nZW1fcmVzdW1lKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlkZXZfcHJpdi0+Z3QucmVzdW1lKGRldl9wcml2KTsK IAogCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOworCisJcmV0dXJuIDA7CiB9CiAK IHZvaWQgaTkxNV9nZW1faW5pdF9zd2l6emxpbmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=