From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Wajdeczko Subject: [PATCH v2 1/2] drm/i915/uc: Introduce intel_uc_suspend|resume Date: Fri, 2 Mar 2018 11:15:49 +0000 Message-ID: <20180302111550.21328-1-michal.wajdeczko@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 69F636EE2C for ; Fri, 2 Mar 2018 11:44:24 +0000 (UTC) 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 V2Ugd2FudCB0byB1c2UgaGlnaGVyIGxldmVsICd1YycgZnVuY3Rpb25zIGFzIHRoZSBtYWluIGVu dHJ5IHBvaW50cyB0bwp0aGUgR3VDL0h1QyBjb2RlIHRvIGhpZGUgc29tZSBkZXRhaWxzIGFuZCBr ZWVwIGNvZGUgbGF5ZXJlZC4KCldoaWxlIGhlcmUsIG1vdmUgY2FsbCB0byBkaXNhYmxlX2d1Y19p bnRlcnJ1cHRzIGFmdGVyIHNlbmRpbmcgc3VzcGVuZAphY3Rpb24gdG8gdGhlIEd1QyB0byBhbGxv dyBpdCB3b3JrIGFsc28gd2l0aCBDVEIgYXMgY29tbSBtZWNoYW5pc20uCgp2MjogdXBkYXRlIGNv bW1pdCBtc2cgKFNhZ2FyKQoKU2lnbmVkLW9mZi1ieTogTWljaGFsIFdhamRlY3prbyA8bWljaGFs LndhamRlY3prb0BpbnRlbC5jb20+CkNjOiBTYWdhciBBcnVuIEthbWJsZSA8c2FnYXIuYS5rYW1i bGVAaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ ClJldmlld2VkLWJ5OiBTYWdhciBBcnVuIEthbWJsZSA8c2FnYXIuYS5rYW1ibGVAaW50ZWwuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgIHwgIDYgKysrLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Yy5jIHwgNDIgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggfCAgNCArKy0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF91Yy5jICB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmggIHwgIDIgKysKIDYg ZmlsZXMgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmMKaW5kZXggYWFhODYxYi4uZDYxYjUxYyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jCkBAIC0yNTc1LDcgKzI1NzUsNyBAQCBzdGF0aWMgaW50IGludGVsX3J1bnRpbWVfc3Vz cGVuZChzdHJ1Y3QgZGV2aWNlICprZGV2KQogCSAqLwogCWk5MTVfZ2VtX3J1bnRpbWVfc3VzcGVu ZChkZXZfcHJpdik7CiAKLQlpbnRlbF9ndWNfc3VzcGVuZChkZXZfcHJpdik7CisJaW50ZWxfdWNf c3VzcGVuZChkZXZfcHJpdik7CiAKIAlpbnRlbF9ydW50aW1lX3BtX2Rpc2FibGVfaW50ZXJydXB0 cyhkZXZfcHJpdik7CiAKQEAgLTI1OTcsNyArMjU5Nyw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfcnVu dGltZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmtkZXYpCiAKIAkJaW50ZWxfcnVudGltZV9wbV9l bmFibGVfaW50ZXJydXB0cyhkZXZfcHJpdik7CiAKLQkJaW50ZWxfZ3VjX3Jlc3VtZShkZXZfcHJp dik7CisJCWludGVsX3VjX3Jlc3VtZShkZXZfcHJpdik7CiAKIAkJaTkxNV9nZW1faW5pdF9zd2l6 emxpbmcoZGV2X3ByaXYpOwogCQlpOTE1X2dlbV9yZXN0b3JlX2ZlbmNlcyhkZXZfcHJpdik7CkBA IC0yNjgzLDcgKzI2ODMsNyBAQCBzdGF0aWMgaW50IGludGVsX3J1bnRpbWVfcmVzdW1lKHN0cnVj dCBkZXZpY2UgKmtkZXYpCiAKIAlpbnRlbF9ydW50aW1lX3BtX2VuYWJsZV9pbnRlcnJ1cHRzKGRl dl9wcml2KTsKIAotCWludGVsX2d1Y19yZXN1bWUoZGV2X3ByaXYpOworCWludGVsX3VjX3Jlc3Vt ZShkZXZfcHJpdik7CiAKIAkvKgogCSAqIE5vIHBvaW50IG9mIHJvbGxpbmcgYmFjayB0aGluZ3Mg aW4gY2FzZSBvZiBhbiBlcnJvciwgYXMgdGhlIGJlc3QKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmlu ZGV4IGMyOWIxYTEuLjhkMTA3ZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtNDkxNiw3 ICs0OTE2LDcgQEAgaW50IGk5MTVfZ2VtX3N1c3BlbmQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQogCWk5MTVfZ2VtX2NvbnRleHRzX2xvc3QoZGV2X3ByaXYpOwogCW11dGV4X3Vu bG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCi0JaW50ZWxfZ3VjX3N1c3BlbmQoZGV2X3ByaXYp OworCWludGVsX3VjX3N1c3BlbmQoZGV2X3ByaXYpOwogCiAJY2FuY2VsX2RlbGF5ZWRfd29ya19z eW5jKCZkZXZfcHJpdi0+Z3B1X2Vycm9yLmhhbmdjaGVja193b3JrKTsKIAljYW5jZWxfZGVsYXll ZF93b3JrX3N5bmMoJmRldl9wcml2LT5ndC5yZXRpcmVfd29yayk7CkBAIC00OTgzLDcgKzQ5ODMs NyBAQCB2b2lkIGk5MTVfZ2VtX3Jlc3VtZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkK IAlpZiAoaTkxNV9nZW1faW5pdF9odyhpOTE1KSkKIAkJZ290byBlcnJfd2VkZ2VkOwogCi0JaW50 ZWxfZ3VjX3Jlc3VtZShpOTE1KTsKKwlpbnRlbF91Y19yZXN1bWUoaTkxNSk7CiAKIAkvKiBBbHdh eXMgcmVsb2FkIGEgY29udGV4dCBmb3IgcG93ZXJzYXZpbmcuICovCiAJaWYgKGk5MTVfZ2VtX3N3 aXRjaF90b19rZXJuZWxfY29udGV4dChpOTE1KSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2d1Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMKaW5k ZXggZTY1MTJjYy4uZmYwOGVhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZ3VjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMKQEAgLTQwMywy MiArNDAzLDE1IEBAIGludCBpbnRlbF9ndWNfYXV0aF9odWMoc3RydWN0IGludGVsX2d1YyAqZ3Vj LCB1MzIgcnNhX29mZnNldCkKIAogLyoqCiAgKiBpbnRlbF9ndWNfc3VzcGVuZCgpIC0gbm90aWZ5 IEd1QyBlbnRlcmluZyBzdXNwZW5kIHN0YXRlCi0gKiBAZGV2X3ByaXY6CWk5MTUgZGV2aWNlIHBy aXZhdGUKKyAqIEBndWM6CXRoZSBndWMKICAqLwotaW50IGludGVsX2d1Y19zdXNwZW5kKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK2ludCBpbnRlbF9ndWNfc3VzcGVuZChzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMpCiB7Ci0Jc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmRldl9wcml2 LT5ndWM7Ci0JdTMyIGRhdGFbM107Ci0KLQlpZiAoZ3VjLT5mdy5sb2FkX3N0YXR1cyAhPSBJTlRF TF9VQ19GSVJNV0FSRV9TVUNDRVNTKQotCQlyZXR1cm4gMDsKLQotCWdlbjlfZGlzYWJsZV9ndWNf aW50ZXJydXB0cyhkZXZfcHJpdik7Ci0KLQlkYXRhWzBdID0gSU5URUxfR1VDX0FDVElPTl9FTlRF Ul9TX1NUQVRFOwotCS8qIGFueSB2YWx1ZSBncmVhdGVyIHRoYW4gR1VDX1BPV0VSX0QwICovCi0J ZGF0YVsxXSA9IEdVQ19QT1dFUl9EMTsKLQlkYXRhWzJdID0gZ3VjX2dndHRfb2Zmc2V0KGd1Yy0+ c2hhcmVkX2RhdGEpOworCXUzMiBkYXRhW10gPSB7CisJCUlOVEVMX0dVQ19BQ1RJT05fRU5URVJf U19TVEFURSwKKwkJR1VDX1BPV0VSX0QxLCAvKiBhbnkgdmFsdWUgZ3JlYXRlciB0aGFuIEdVQ19Q T1dFUl9EMCAqLworCQlndWNfZ2d0dF9vZmZzZXQoZ3VjLT5zaGFyZWRfZGF0YSkKKwl9OwogCiAJ cmV0dXJuIGludGVsX2d1Y19zZW5kKGd1YywgZGF0YSwgQVJSQVlfU0laRShkYXRhKSk7CiB9CkBA IC00NDgsMjIgKzQ0MSwxNSBAQCBpbnQgaW50ZWxfZ3VjX3Jlc2V0X2VuZ2luZShzdHJ1Y3QgaW50 ZWxfZ3VjICpndWMsCiAKIC8qKgogICogaW50ZWxfZ3VjX3Jlc3VtZSgpIC0gbm90aWZ5IEd1QyBy ZXN1bWluZyBmcm9tIHN1c3BlbmQgc3RhdGUKLSAqIEBkZXZfcHJpdjoJaTkxNSBkZXZpY2UgcHJp dmF0ZQorICogQGd1YzoJdGhlIGd1YwogICovCi1pbnQgaW50ZWxfZ3VjX3Jlc3VtZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCitpbnQgaW50ZWxfZ3VjX3Jlc3VtZShzdHJ1Y3Qg aW50ZWxfZ3VjICpndWMpCiB7Ci0Jc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmRldl9wcml2LT5n dWM7Ci0JdTMyIGRhdGFbM107Ci0KLQlpZiAoZ3VjLT5mdy5sb2FkX3N0YXR1cyAhPSBJTlRFTF9V Q19GSVJNV0FSRV9TVUNDRVNTKQotCQlyZXR1cm4gMDsKLQotCWlmIChpOTE1X21vZHBhcmFtcy5n dWNfbG9nX2xldmVsKQotCQlnZW45X2VuYWJsZV9ndWNfaW50ZXJydXB0cyhkZXZfcHJpdik7Ci0K LQlkYXRhWzBdID0gSU5URUxfR1VDX0FDVElPTl9FWElUX1NfU1RBVEU7Ci0JZGF0YVsxXSA9IEdV Q19QT1dFUl9EMDsKLQlkYXRhWzJdID0gZ3VjX2dndHRfb2Zmc2V0KGd1Yy0+c2hhcmVkX2RhdGEp OworCXUzMiBkYXRhW10gPSB7CisJCUlOVEVMX0dVQ19BQ1RJT05fRVhJVF9TX1NUQVRFLAorCQlH VUNfUE9XRVJfRDAsCisJCWd1Y19nZ3R0X29mZnNldChndWMtPnNoYXJlZF9kYXRhKQorCX07CiAK IAlyZXR1cm4gaW50ZWxfZ3VjX3NlbmQoZ3VjLCBkYXRhLCBBUlJBWV9TSVpFKGRhdGEpKTsKIH0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKaW5kZXggNTI4NTZhOS4uYjk0MjRhYyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZ3VjLmgKQEAgLTEyNyw4ICsxMjcsOCBAQCBzdGF0aWMgaW5saW5lIHUzMiBn dWNfZ2d0dF9vZmZzZXQoc3RydWN0IGk5MTVfdm1hICp2bWEpCiBpbnQgaW50ZWxfZ3VjX3NlbmRf bW1pbyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsIGNvbnN0IHUzMiAqYWN0aW9uLCB1MzIgbGVuKTsK IGludCBpbnRlbF9ndWNfc2FtcGxlX2ZvcmNld2FrZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwog aW50IGludGVsX2d1Y19hdXRoX2h1YyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsIHUzMiByc2Ffb2Zm c2V0KTsKLWludCBpbnRlbF9ndWNfc3VzcGVuZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpOwotaW50IGludGVsX2d1Y19yZXN1bWUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KTsKK2ludCBpbnRlbF9ndWNfc3VzcGVuZChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwor aW50IGludGVsX2d1Y19yZXN1bWUoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKIHN0cnVjdCBpOTE1 X3ZtYSAqaW50ZWxfZ3VjX2FsbG9jYXRlX3ZtYShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsIHUzMiBz aXplKTsKIHUzMiBpbnRlbF9ndWNfd29wY21fc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYwppbmRleCA4ZTI1NDc0Li5lNWJmMGQz IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmMKQEAgLTQ0NSwzICs0NDUsNDggQEAgdm9pZCBpbnRl bF91Y19maW5pX2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpZiAoVVNF U19HVUNfU1VCTUlTU0lPTihkZXZfcHJpdikpCiAJCWdlbjlfZGlzYWJsZV9ndWNfaW50ZXJydXB0 cyhkZXZfcHJpdik7CiB9CisKK2ludCBpbnRlbF91Y19zdXNwZW5kKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1KQoreworCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZpOTE1LT5ndWM7CisJ aW50IGVycjsKKworCWlmICghVVNFU19HVUMoaTkxNSkpCisJCXJldHVybiAwOworCisJaWYgKGd1 Yy0+ZncubG9hZF9zdGF0dXMgIT0gSU5URUxfVUNfRklSTVdBUkVfU1VDQ0VTUykKKwkJcmV0dXJu IDA7CisKKwllcnIgPSBpbnRlbF9ndWNfc3VzcGVuZChndWMpOworCWlmIChlcnIpIHsKKwkJRFJN X0RFQlVHX0RSSVZFUigiRmFpbGVkIHRvIHN1c3BlbmQgR3VDLCBlcnI9JWQiLCBlcnIpOworCQly ZXR1cm4gZXJyOworCX0KKworCWdlbjlfZGlzYWJsZV9ndWNfaW50ZXJydXB0cyhpOTE1KTsKKwor CXJldHVybiAwOworfQorCitpbnQgaW50ZWxfdWNfcmVzdW1lKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1KQoreworCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZpOTE1LT5ndWM7CisJaW50 IGVycjsKKworCWlmICghVVNFU19HVUMoaTkxNSkpCisJCXJldHVybiAwOworCisJaWYgKGd1Yy0+ ZncubG9hZF9zdGF0dXMgIT0gSU5URUxfVUNfRklSTVdBUkVfU1VDQ0VTUykKKwkJcmV0dXJuIDA7 CisKKwlpZiAoaTkxNV9tb2RwYXJhbXMuZ3VjX2xvZ19sZXZlbCkKKwkJZ2VuOV9lbmFibGVfZ3Vj X2ludGVycnVwdHMoaTkxNSk7CisKKwllcnIgPSBpbnRlbF9ndWNfcmVzdW1lKGd1Yyk7CisJaWYg KGVycikgeworCQlEUk1fREVCVUdfRFJJVkVSKCJGYWlsZWQgdG8gcmVzdW1lIEd1QywgZXJyPSVk IiwgZXJyKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF91Yy5oCmluZGV4IGYyOTg0ZTAuLmY3NmQ1MWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3VjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMu aApAQCAtMzksNiArMzksOCBAQAogdm9pZCBpbnRlbF91Y19maW5pX2h3KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdik7CiBpbnQgaW50ZWxfdWNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpOwogdm9pZCBpbnRlbF91Y19maW5pKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdik7CitpbnQgaW50ZWxfdWNfc3VzcGVuZChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpOworaW50IGludGVsX3VjX3Jlc3VtZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpOwogCiBzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfdWNfaXNfdXNp bmdfZ3VjKHZvaWQpCiB7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==