From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sagar Arun Kamble Subject: [PATCH v7 3/8] drm/i915: Create uC runtime and system suspend/resume helpers Date: Sat, 23 Sep 2017 17:53:04 +0530 Message-ID: <1506169389-6239-4-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 BF8CB6E0BA for ; Sat, 23 Sep 2017 12:19:52 +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 List-Id: intel-gfx@lists.freedesktop.org UHJlcGFyZWQgZ2VuZXJpYyBoZWxwZXJzIGludGVsX3VjX3N1c3BlbmQsIGludGVsX3VjX3Jlc3Vt ZSwKaW50ZWxfdWNfcnVudGltZV9zdXNwZW5kLCBpbnRlbF91Y19ydW50aW1lX3Jlc3VtZS4gVGhl c2UgYXJlCmNhbGxlZCBmcm9tIHJlc3BlY3RpdmUgR0VNIGZ1bmN0aW9ucy4KCnYyOiBSZWJhc2Ug dy5yLnQgcmVtb3ZhbCBvZiBHdUMgY29kZSByZXN0cnVjdHVyaW5nLgoKdjM6IENhbGxpbmcgaW50 ZWxfdWNfcmVzdW1lIGZyb20gaTkxNV9nZW1fcmVzdW1lIHBvc3QgcmVzdW1pbmcKaTkxNSBnZW0g c2V0dXAuIFRoaXMgaXMgc3ltbWV0cmljYWwgd2l0aCBpOTE1X2dlbV9zdXNwZW5kLgpSZW1vdmVk IGVycm9yIG1lc3NhZ2VzIGZyb20gaTkxNSBzdXNwZW5kL3Jlc3VtZSByb3V0aW5lcyBhcwp1QyBz dXNwZW5kL3Jlc3VtZSByb3V0aW5lcyB3aWxsIGhhdmUgdGhvc2UuIChNaWNoYWwgV2FqZGVjemtv KQpEZWNsYXJlIHdlZGdlZCBvbiB1Y19zdXNwZW5kIGZhaWx1cmUgYW5kIHVjX3Jlc3VtZSBmYWls dXJlLgooTWljaGHFgiBXaW5pYXJza2kpCkFkZGVkIERSTV9ERUJVRyBtZXNzYWdlIGFib3V0IHNr aXBwaW5nIGNoYW5nZXMgaW4gaW50ZWxfdWNfcmVzdW1lLgpLZWVwaW5nIHRoZSB1QyBzdXNwZW5k L3Jlc3VtZSBmdW5jdGlvbiBkZWZpbml0aW9ucyBjbG9zZSB0byBvdGhlcgp1QyBmdW5jdGlvbnMu CgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBNaWNoYWwg V2FqZGVjemtvIDxtaWNoYWwud2FqZGVjemtvQGludGVsLmNvbT4KQ2M6IE1pY2hhxYIgV2luaWFy c2tpIDxtaWNoYWwud2luaWFyc2tpQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogU2FnYXIgQXJ1 biBLYW1ibGUgPHNhZ2FyLmEua2FtYmxlQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5jIHwgIDEgLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyB8 IDMyICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF91Yy5jIHwgMjIgKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfdWMuaCB8ICA0ICsrKysKIDQgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9u cygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggYWE3MDE0 Mi4uYmQ3MDQ0NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC0yNTE4LDcgKzI1MTgsNiBA QCBzdGF0aWMgaW50IGludGVsX3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICprZGV2KQog CQlEUk1fRVJST1IoIlJ1bnRpbWUgc3VzcGVuZCBmYWlsZWQsIGRpc2FibGluZyBpdCAoJWQpXG4i LCByZXQpOwogCQlpbnRlbF9ydW50aW1lX3BtX2VuYWJsZV9pbnRlcnJ1cHRzKGRldl9wcml2KTsK IAotCQlpbnRlbF9ndWNfcmVzdW1lKGRldl9wcml2KTsKIAkJaTkxNV9nZW1fcnVudGltZV9yZXN1 bWUoZGV2X3ByaXYpOwogCQllbmFibGVfcnBtX3dha2VyZWZfYXNzZXJ0cyhkZXZfcHJpdik7CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IGZmMTEzMWMuLjU4MWYzYTQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uYwpAQCAtMjAzNCw5ICsyMDM0LDExIEBAIGludCBpOTE1X2dlbV9mYXVsdChz dHJ1Y3Qgdm1fZmF1bHQgKnZtZikKIGludCBpOTE1X2dlbV9ydW50aW1lX3N1c3BlbmQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmosICpvbjsKLQlpbnQgaTsKKwlpbnQgaSwgcmV0OwogCi0JaW50ZWxfZ3VjX3N1c3Bl bmQoZGV2X3ByaXYpOworCXJldCA9IGludGVsX3VjX3J1bnRpbWVfc3VzcGVuZChkZXZfcHJpdik7 CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKIAogCS8qCiAJICogT25seSBjYWxsZWQgZHVyaW5n IFJQTSBzdXNwZW5kLiBBbGwgdXNlcnMgb2YgdGhlIHVzZXJmYXVsdF9saXN0CkBAIC0yMDc3LDcg KzIwNzksNyBAQCBpbnQgaTkxNV9nZW1fcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKIAkJcmVnLT5kaXJ0eSA9IHRydWU7CiAJfQogCi0JcmV0dXJuIDA7 CisJcmV0dXJuIHJldDsKIH0KIAogLyoqCkBAIC0yMDk3LDkgKzIwOTksNyBAQCBpbnQgaTkxNV9n ZW1fcnVudGltZV9yZXN1bWUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWk5 MTVfZ2VtX2luaXRfc3dpenpsaW5nKGRldl9wcml2KTsKIAlpOTE1X2dlbV9yZXN0b3JlX2ZlbmNl cyhkZXZfcHJpdik7CiAKLQlpbnRlbF9ndWNfcmVzdW1lKGRldl9wcml2KTsKLQotCXJldHVybiAw OworCXJldHVybiBpbnRlbF91Y19ydW50aW1lX3Jlc3VtZShkZXZfcHJpdik7CiB9CiAKIHN0YXRp YyBpbnQgaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9tbWFwX29mZnNldChzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqKQpAQCAtNDYwMCw3ICs0NjAwLDkgQEAgaW50IGk5MTVfZ2VtX3N1c3Bl bmQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWlmIChXQVJOX09OKCFpbnRl bF9lbmdpbmVzX2FyZV9pZGxlKGRldl9wcml2KSkpCiAJCWk5MTVfZ2VtX3NldF93ZWRnZWQoZGV2 X3ByaXYpOyAvKiBubyBob3BlLCBkaXNjYXJkIGV2ZXJ5dGhpbmcgKi8KIAotCWludGVsX2d1Y19z dXNwZW5kKGRldl9wcml2KTsKKwlyZXQgPSBpbnRlbF91Y19zdXNwZW5kKGRldl9wcml2KTsKKwlp ZiAocmV0KQorCQlpOTE1X2dlbV9zZXRfd2VkZ2VkKGRldl9wcml2KTsgLyogbm8gaG9wZSwgZGlz Y2FyZCBldmVyeXRoaW5nICovCiAKIAkvKgogCSAqIE5laXRoZXIgdGhlIEJJT1MsIG91cnNlbHZl cyBvciBhbnkgb3RoZXIga2VybmVsCkBAIC00NjQ0LDYgKzQ2NDYsNyBAQCBpbnQgaTkxNV9nZW1f c3VzcGVuZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiBpbnQgaTkxNV9nZW1f cmVzdW1lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gJmRldl9wcml2LT5kcm07CisJaW50IHJldDsKIAogCVdBUk5fT04oZGV2 X3ByaXYtPmd0LmF3YWtlKTsKIApAQCAtNDY1NiwxMCArNDY1OSwyMSBAQCBpbnQgaTkxNV9nZW1f cmVzdW1lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkgKiBpdCBhbmQgc3Rh cnQgYWdhaW4uCiAJICovCiAJZGV2X3ByaXYtPmd0LnJlc3VtZShkZXZfcHJpdik7Ci0JaW50ZWxf Z3VjX3Jlc3VtZShkZXZfcHJpdik7CisKKwkvKgorCSAqIE5COiBGdWxsIGdlbSByZWluaXRpYWxp emF0aW9uIGlzIGJlaW5nIGRvbmUgaW4gaTkxNV9kcm1fcmVzdW1lCisJICogYWZ0ZXIgZ2VtX3Jl c3VtZSwgc28gY3VycmVudGx5IGludGVsX3VjX3Jlc3VtZSB3aWxsIGJlIG9mIG5vIHVzZS4KKwkg KiBIZW5jZSwgaW50ZWxfdWNfcmVzdW1lIGlzIG5vcCBjdXJyZW50bHkuIElmIGZ1bGwgcmVpbml0 aWFsaXphdGlvbiBpcworCSAqIHJlbW92ZWQsIHdpbGwgbmVlZCB0byBwdXQgZnVuY3Rpb25hbGl0 eSB0byByZXN1bWUgZnJvbSBzbGVlcCBpbgorCSAqIGludGVsX3VjX3Jlc3VtZS4KKwkgKi8KKwly ZXQgPSBpbnRlbF91Y19yZXN1bWUoZGV2X3ByaXYpOworCWlmIChyZXQpCisJCWk5MTVfZ2VtX3Nl dF93ZWRnZWQoZGV2X3ByaXYpOworCiAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7 CiAKLQlyZXR1cm4gMDsKKwlyZXR1cm4gcmV0OwogfQogCiB2b2lkIGk5MTVfZ2VtX2luaXRfc3dp enpsaW5nKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF91Yy5jCmluZGV4IDkwMTg1NDAuLmMzZTk0NzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3VjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYwpA QCAtNDYwLDYgKzQ2MCwyOCBAQCB2b2lkIGludGVsX3VjX2ZpbmlfaHcoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQogCWk5MTVfZ2d0dF9kaXNhYmxlX2d1YyhkZXZfcHJpdik7CiB9 CiAKK2ludCBpbnRlbF91Y19ydW50aW1lX3N1c3BlbmQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQoreworCXJldHVybiBpbnRlbF9ndWNfc3VzcGVuZChkZXZfcHJpdik7Cit9CisK K2ludCBpbnRlbF91Y19ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCit7CisJcmV0dXJuIGludGVsX2d1Y19yZXN1bWUoZGV2X3ByaXYpOworfQorCitpbnQg aW50ZWxfdWNfc3VzcGVuZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJ cmV0dXJuIGludGVsX2d1Y19zdXNwZW5kKGRldl9wcml2KTsKK30KKworaW50IGludGVsX3VjX3Jl c3VtZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJRFJNX0RFQlVHX0RS SVZFUigidUMgcmVzdW1lIGRvZXMgbm90aGluZyBhcyBmdWxsIHJlaW5pdCBpcyBkb25lXG4iKTsK KworCXJldHVybiAwOworfQorCiBpbnQgaW50ZWxfZ3VjX3NlbmRfbm9wKHN0cnVjdCBpbnRlbF9n dWMgKmd1YywgY29uc3QgdTMyICphY3Rpb24sIHUzMiBsZW4pCiB7CiAJV0FSTigxLCAiVW5leHBl Y3RlZCBzZW5kOiBhY3Rpb249JSN4XG4iLCAqYWN0aW9uKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3VjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5o CmluZGV4IDc3MDNjOWEuLjNkMzNhNTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3VjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuaApAQCAtMjA4 LDYgKzIwOCwxMCBAQCBzdHJ1Y3QgaW50ZWxfaHVjIHsKIHZvaWQgaW50ZWxfdWNfZmluaV9mdyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogaW50IGludGVsX3VjX2luaXRfaHco c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgaW50ZWxfdWNfZmluaV9o dyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOworaW50IGludGVsX3VjX3J1bnRp bWVfc3VzcGVuZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOworaW50IGludGVs X3VjX3J1bnRpbWVfcmVzdW1lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Citp bnQgaW50ZWxfdWNfc3VzcGVuZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwor aW50IGludGVsX3VjX3Jlc3VtZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwog aW50IGludGVsX2d1Y19zYW1wbGVfZm9yY2V3YWtlKHN0cnVjdCBpbnRlbF9ndWMgKmd1Yyk7CiBp bnQgaW50ZWxfZ3VjX3NlbmRfbm9wKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgY29uc3QgdTMyICph Y3Rpb24sIHUzMiBsZW4pOwogaW50IGludGVsX2d1Y19zZW5kX21taW8oc3RydWN0IGludGVsX2d1 YyAqZ3VjLCBjb25zdCB1MzIgKmFjdGlvbiwgdTMyIGxlbik7Ci0tIAoxLjkuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==