From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Lowry Li (Arm Technology China)" Subject: [PATCH] drm/komeda: Adds system power management support Date: Fri, 21 Jun 2019 07:46:51 +0000 Message-ID: <1561103175-32504-1-git-send-email-lowry.li@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-eopbgr130049.outbound.protection.outlook.com [40.107.13.49]) by gabe.freedesktop.org (Postfix) with ESMTPS id 173016E812 for ; Fri, 21 Jun 2019 07:46:55 +0000 (UTC) Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Liviu Dudau , "james qian wang (Arm Technology China)" , "maarten.lankhorst@linux.intel.com" , "seanpaul@chromium.org" , "airlied@linux.ie" , Brian Starkey Cc: Ayan Halder , "Jonathan Chai (Arm Technology China)" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "Julien Yin (Arm Technology China)" , nd List-Id: dri-devel@lists.freedesktop.org RnJvbTogIkxvd3J5IExpIChBcm0gVGVjaG5vbG9neSBDaGluYSkiIDxMb3dyeS5MaUBhcm0uY29t Pg0KDQpBZGRzIHN5c3RlbSBwb3dlciBtYW5hZ2VtZW50IHN1cHBvcnQgaW4gS01TIGtlcm5lbCBk cml2ZXIuDQoNCkRlcGVuZHMgb246DQotIGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9y Zy9zZXJpZXMvNjE2NTAvDQotIGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9zZXJp ZXMvNjAwODMvDQoNCkNoYW5nZXMgc2luY2UgdjE6DQpTaW5jZSB3ZSBoYXZlIHVuaWZpZWQgbWNs ay9wY2xrL3BpcGVsaW5lLT5hY2xrIHRvIG9uZSBtY2xrLCB3aGljaCB3aWxsDQpiZSB0dXJuZWQg b24vb2ZmIHdoZW4gY3J0YyBhdG9taWMgZW5hYmxlL2Rpc2FibGUsIHJlbW92ZWQgcnVudGltZSBw b3dlcg0KbWFuYWdlbWVudC4NCkFkZHMgdG8gZGlzYWJsZSB0aGUgYWNsayB3aGVuIHJlZ2lzdGVy IGFjY2VzcyBmaW5pc2hlZC4NCg0KU2lnbmVkLW9mZi1ieTogTG93cnkgTGkgKEFybSBUZWNobm9s b2d5IENoaW5hKSA8bG93cnkubGlAYXJtLmNvbT4NCi0tLQ0KIGRyaXZlcnMvZ3B1L2RybS9hcm0v ZGlzcGxheS9rb21lZGEva29tZWRhX2NydGMuYyB8ICAyICsNCiBkcml2ZXJzL2dwdS9kcm0vYXJt L2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kZXYuYyAgfCA2MyArKysrKysrKysrKysrKysrKysrKyst LS0NCiBkcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kZXYuaCAgfCAg MiArDQogZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZHJ2LmMgIHwg MzUgKysrKysrKysrKystLQ0KIDQgZmlsZXMgY2hhbmdlZCwgOTMgaW5zZXJ0aW9ucygrKSwgOSBk ZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9r b21lZGEva29tZWRhX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEv a29tZWRhX2NydGMuYw0KaW5kZXggY2FmYjQ0NS4uODVlY2NkZGEgMTAwNjQ0DQotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9jcnRjLmMNCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2NydGMuYw0KQEAgLTI1Nyw2ICsy NTcsNyBAQCB2b2lkIGtvbWVkYV9jcnRjX2hhbmRsZV9ldmVudChzdHJ1Y3Qga29tZWRhX2NydGMg ICAqa2NydGMsDQoga29tZWRhX2NydGNfYXRvbWljX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsDQogCQkJICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZCkNCiB7DQorCXBtX3J1bnRpbWVf Z2V0X3N5bmMoY3J0Yy0+ZGV2LT5kZXYpOw0KIAlrb21lZGFfY3J0Y19wcmVwYXJlKHRvX2tjcnRj KGNydGMpKTsNCiAJZHJtX2NydGNfdmJsYW5rX29uKGNydGMpOw0KIAlrb21lZGFfY3J0Y19kb19m bHVzaChjcnRjLCBvbGQpOw0KQEAgLTMzMCw2ICszMzEsNyBAQCB2b2lkIGtvbWVkYV9jcnRjX2hh bmRsZV9ldmVudChzdHJ1Y3Qga29tZWRhX2NydGMgICAqa2NydGMsDQogDQogCWRybV9jcnRjX3Zi bGFua19vZmYoY3J0Yyk7DQogCWtvbWVkYV9jcnRjX3VucHJlcGFyZShrY3J0Yyk7DQorCXBtX3J1 bnRpbWVfcHV0KGNydGMtPmRldi0+ZGV2KTsNCiB9DQogDQogc3RhdGljIHZvaWQNCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kZXYuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rldi5jDQppbmRleCBlMWFh NThlLi5jOTgzN2RjIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tv bWVkYS9rb21lZGFfZGV2LmMNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21l ZGEva29tZWRhX2Rldi5jDQpAQCAtMjA5LDcgKzIwOSw3IEBAIHN0cnVjdCBrb21lZGFfZGV2ICpr b21lZGFfZGV2X2NyZWF0ZShzdHJ1Y3QgZGV2aWNlICpkZXYpDQogCQkJICBwcm9kdWN0LT5wcm9k dWN0X2lkLA0KIAkJCSAgTUFMSURQX0NPUkVfSURfUFJPRFVDVF9JRChtZGV2LT5jaGlwLmNvcmVf aWQpKTsNCiAJCWVyciA9IC1FTk9ERVY7DQotCQlnb3RvIGVycl9jbGVhbnVwOw0KKwkJZ290byBk aXNhYmxlX2NsazsNCiAJfQ0KIA0KIAlEUk1fSU5GTygiRm91bmQgQVJNIE1hbGktRCV4IHZlcnNp b24gciVkcCVkXG4iLA0KQEAgLTIyMiwxOSArMjIyLDE5IEBAIHN0cnVjdCBrb21lZGFfZGV2ICpr b21lZGFfZGV2X2NyZWF0ZShzdHJ1Y3QgZGV2aWNlICpkZXYpDQogCWVyciA9IG1kZXYtPmZ1bmNz LT5lbnVtX3Jlc291cmNlcyhtZGV2KTsNCiAJaWYgKGVycikgew0KIAkJRFJNX0VSUk9SKCJlbnVt ZXJhdGUgZGlzcGxheSByZXNvdXJjZSBmYWlsZWQuXG4iKTsNCi0JCWdvdG8gZXJyX2NsZWFudXA7 DQorCQlnb3RvIGRpc2FibGVfY2xrOw0KIAl9DQogDQogCWVyciA9IGtvbWVkYV9wYXJzZV9kdChk ZXYsIG1kZXYpOw0KIAlpZiAoZXJyKSB7DQogCQlEUk1fRVJST1IoInBhcnNlIGRldmljZSB0cmVl IGZhaWxlZC5cbiIpOw0KLQkJZ290byBlcnJfY2xlYW51cDsNCisJCWdvdG8gZGlzYWJsZV9jbGs7 DQogCX0NCiANCiAJZXJyID0ga29tZWRhX2Fzc2VtYmxlX3BpcGVsaW5lcyhtZGV2KTsNCiAJaWYg KGVycikgew0KIAkJRFJNX0VSUk9SKCJhc3NlbWJsZSBkaXNwbGF5IHBpcGVsaW5lcyBmYWlsZWQu XG4iKTsNCi0JCWdvdG8gZXJyX2NsZWFudXA7DQorCQlnb3RvIGRpc2FibGVfY2xrOw0KIAl9DQog DQogCWRldi0+ZG1hX3Bhcm1zID0gJm1kZXYtPmRtYV9wYXJtczsNCkBAIC0yNDcsMTEgKzI0Nywx MyBAQCBzdHJ1Y3Qga29tZWRhX2RldiAqa29tZWRhX2Rldl9jcmVhdGUoc3RydWN0IGRldmljZSAq ZGV2KQ0KIAlpZiAobWRldi0+aW9tbXUgJiYgbWRldi0+ZnVuY3MtPmNvbm5lY3RfaW9tbXUpIHsN CiAJCWVyciA9IG1kZXYtPmZ1bmNzLT5jb25uZWN0X2lvbW11KG1kZXYpOw0KIAkJaWYgKGVycikg ew0KLQkJCW1kZXYtPmlvbW11ID0gTlVMTDsNCi0JCQlnb3RvIGVycl9jbGVhbnVwOw0KKwkJCURS TV9FUlJPUigiY29ubmVjdCBpb21tdSBmYWlsZWQuXG4iKTsNCisJCQlnb3RvIGRpc2FibGVfY2xr Ow0KIAkJfQ0KIAl9DQogDQorCWNsa19kaXNhYmxlX3VucHJlcGFyZShtZGV2LT5hY2xrKTsNCisN CiAJZXJyID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZkZXYtPmtvYmosICZrb21lZGFfc3lzZnNfYXR0 cl9ncm91cCk7DQogCWlmIChlcnIpIHsNCiAJCURSTV9FUlJPUigiY3JlYXRlIHN5c2ZzIGdyb3Vw IGZhaWxlZC5cbiIpOw0KQEAgLTI2NCw2ICsyNjYsOCBAQCBzdHJ1Y3Qga29tZWRhX2RldiAqa29t ZWRhX2Rldl9jcmVhdGUoc3RydWN0IGRldmljZSAqZGV2KQ0KIA0KIAlyZXR1cm4gbWRldjsNCiAN CitkaXNhYmxlX2NsazoNCisJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKG1kZXYtPmFjbGspOw0KIGVy cl9jbGVhbnVwOg0KIAlrb21lZGFfZGV2X2Rlc3Ryb3kobWRldik7DQogCXJldHVybiBFUlJfUFRS KGVycik7DQpAQCAtMjgxLDYgKzI4NSw5IEBAIHZvaWQga29tZWRhX2Rldl9kZXN0cm95KHN0cnVj dCBrb21lZGFfZGV2ICptZGV2KQ0KIAlkZWJ1Z2ZzX3JlbW92ZV9yZWN1cnNpdmUobWRldi0+ZGVi dWdmc19yb290KTsNCiAjZW5kaWYNCiANCisJaWYgKG1kZXYtPmFjbGspDQorCQljbGtfcHJlcGFy ZV9lbmFibGUobWRldi0+YWNsayk7DQorDQogCWlmIChtZGV2LT5pb21tdSAmJiBtZGV2LT5mdW5j cy0+ZGlzY29ubmVjdF9pb21tdSkNCiAJCW1kZXYtPmZ1bmNzLT5kaXNjb25uZWN0X2lvbW11KG1k ZXYpOw0KIAltZGV2LT5pb21tdSA9IE5VTEw7DQpAQCAtMzA4LDMgKzMxNSw0NyBAQCB2b2lkIGtv bWVkYV9kZXZfZGVzdHJveShzdHJ1Y3Qga29tZWRhX2RldiAqbWRldikNCiANCiAJZGV2bV9rZnJl ZShkZXYsIG1kZXYpOw0KIH0NCisNCitpbnQga29tZWRhX2Rldl9yZXN1bWUoc3RydWN0IGtvbWVk YV9kZXYgKm1kZXYpDQorew0KKwlpbnQgcmV0ID0gMDsNCisNCisJY2xrX3ByZXBhcmVfZW5hYmxl KG1kZXYtPmFjbGspOw0KKw0KKwlpZiAobWRldi0+aW9tbXUgJiYgbWRldi0+ZnVuY3MtPmNvbm5l Y3RfaW9tbXUpIHsNCisJCXJldCA9IG1kZXYtPmZ1bmNzLT5jb25uZWN0X2lvbW11KG1kZXYpOw0K KwkJaWYgKHJldCA8IDApIHsNCisJCQlEUk1fRVJST1IoImNvbm5lY3QgaW9tbXUgZmFpbGVkLlxu Iik7DQorCQkJZ290byBkaXNhYmxlX2NsazsNCisJCX0NCisJfQ0KKw0KKwlyZXQgPSBtZGV2LT5m dW5jcy0+ZW5hYmxlX2lycShtZGV2KTsNCisNCitkaXNhYmxlX2NsazoNCisJY2xrX2Rpc2FibGVf dW5wcmVwYXJlKG1kZXYtPmFjbGspOw0KKw0KKwlyZXR1cm4gcmV0Ow0KK30NCisNCitpbnQga29t ZWRhX2Rldl9zdXNwZW5kKHN0cnVjdCBrb21lZGFfZGV2ICptZGV2KQ0KK3sNCisJaW50IHJldCA9 IDA7DQorDQorCWNsa19wcmVwYXJlX2VuYWJsZShtZGV2LT5hY2xrKTsNCisNCisJaWYgKG1kZXYt PmlvbW11ICYmIG1kZXYtPmZ1bmNzLT5kaXNjb25uZWN0X2lvbW11KSB7DQorCQlyZXQgPSBtZGV2 LT5mdW5jcy0+ZGlzY29ubmVjdF9pb21tdShtZGV2KTsNCisJCWlmIChyZXQgPCAwKSB7DQorCQkJ RFJNX0VSUk9SKCJkaXNjb25uZWN0IGlvbW11IGZhaWxlZC5cbiIpOw0KKwkJCWdvdG8gZGlzYWJs ZV9jbGs7DQorCQl9DQorCX0NCisNCisJcmV0ID0gbWRldi0+ZnVuY3MtPmRpc2FibGVfaXJxKG1k ZXYpOw0KKw0KK2Rpc2FibGVfY2xrOg0KKwljbGtfZGlzYWJsZV91bnByZXBhcmUobWRldi0+YWNs ayk7DQorDQorCXJldHVybiByZXQ7DQorfQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h cm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rldi5oIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfZGV2LmgNCmluZGV4IGQxYzg2YjYuLjA5NmY5ZjcgMTAwNjQ0DQot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kZXYuaA0KKysr IGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmgNCkBAIC0y MDcsNCArMjA3LDYgQEAgc3RydWN0IGtvbWVkYV9kZXYgew0KIA0KIHN0cnVjdCBrb21lZGFfZGV2 ICpkZXZfdG9fbWRldihzdHJ1Y3QgZGV2aWNlICpkZXYpOw0KIA0KK2ludCBrb21lZGFfZGV2X3Jl c3VtZShzdHJ1Y3Qga29tZWRhX2RldiAqbWRldik7DQoraW50IGtvbWVkYV9kZXZfc3VzcGVuZChz dHJ1Y3Qga29tZWRhX2RldiAqbWRldik7DQogI2VuZGlmIC8qX0tPTUVEQV9ERVZfSF8qLw0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rydi5j IGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZHJ2LmMNCmluZGV4 IGNmYTUwNjguLjUyYjJhOTQgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2tvbWVkYV9kcnYuYw0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5 L2tvbWVkYS9rb21lZGFfZHJ2LmMNCkBAIC0zMiw2ICszMiw3IEBAIHN0YXRpYyB2b2lkIGtvbWVk YV91bmJpbmQoc3RydWN0IGRldmljZSAqZGV2KQ0KIAkJcmV0dXJuOw0KIA0KIAlrb21lZGFfa21z X2RldGFjaChtZHJ2LT5rbXMpOw0KKw0KIAlrb21lZGFfZGV2X2Rlc3Ryb3kobWRydi0+bWRldik7 DQogDQogCWRldl9zZXRfZHJ2ZGF0YShkZXYsIE5VTEwpOw0KQEAgLTUyLDYgKzUzLDcgQEAgc3Rh dGljIGludCBrb21lZGFfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYpDQogCQllcnIgPSBQVFJfRVJS KG1kcnYtPm1kZXYpOw0KIAkJZ290byBmcmVlX21kcnY7DQogCX0NCisJZGV2X3NldF9kcnZkYXRh KGRldiwgbWRydik7DQogDQogCW1kcnYtPmttcyA9IGtvbWVkYV9rbXNfYXR0YWNoKG1kcnYtPm1k ZXYpOw0KIAlpZiAoSVNfRVJSKG1kcnYtPmttcykpIHsNCkBAIC01OSw4ICs2MSw2IEBAIHN0YXRp YyBpbnQga29tZWRhX2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQ0KIAkJZ290byBkZXN0cm95X21k ZXY7DQogCX0NCiANCi0JZGV2X3NldF9kcnZkYXRhKGRldiwgbWRydik7DQotDQogCXJldHVybiAw Ow0KIA0KIGRlc3Ryb3lfbWRldjoNCkBAIC0xMzQsMTMgKzEzNCw0MiBAQCBzdGF0aWMgaW50IGtv bWVkYV9wbGF0Zm9ybV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCiANCiBN T0RVTEVfREVWSUNFX1RBQkxFKG9mLCBrb21lZGFfb2ZfbWF0Y2gpOw0KIA0KK3N0YXRpYyBpbnQg X19tYXliZV91bnVzZWQga29tZWRhX3BtX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQ0KK3sN CisJc3RydWN0IGtvbWVkYV9kcnYgKm1kcnYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCisJc3Ry dWN0IGRybV9kZXZpY2UgKmRybSA9ICZtZHJ2LT5rbXMtPmJhc2U7DQorCWludCByZXM7DQorDQor CWRldl9pbmZvKGRldiwgIiVzXG4iLCBfX2Z1bmNfXyk7DQorCXJlcyA9IGRybV9tb2RlX2NvbmZp Z19oZWxwZXJfc3VzcGVuZChkcm0pOw0KKw0KKwlrb21lZGFfZGV2X3N1c3BlbmQobWRydi0+bWRl dik7DQorDQorCXJldHVybiByZXM7DQorfQ0KKw0KK3N0YXRpYyBpbnQgX19tYXliZV91bnVzZWQg a29tZWRhX3BtX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpDQorew0KKwlzdHJ1Y3Qga29tZWRh X2RydiAqbWRydiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KKwlzdHJ1Y3QgZHJtX2RldmljZSAq ZHJtID0gJm1kcnYtPmttcy0+YmFzZTsNCisNCisJZGV2X2luZm8oZGV2LCAiJXNcbiIsIF9fZnVu Y19fKTsNCisJa29tZWRhX2Rldl9yZXN1bWUobWRydi0+bWRldik7DQorDQorCXJldHVybiBkcm1f bW9kZV9jb25maWdfaGVscGVyX3Jlc3VtZShkcm0pOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3Ry dWN0IGRldl9wbV9vcHMga29tZWRhX3BtX29wcyA9IHsNCisJU0VUX1NZU1RFTV9TTEVFUF9QTV9P UFMoa29tZWRhX3BtX3N1c3BlbmQsIGtvbWVkYV9wbV9yZXN1bWUpDQorfTsNCisNCiBzdGF0aWMg c3RydWN0IHBsYXRmb3JtX2RyaXZlciBrb21lZGFfcGxhdGZvcm1fZHJpdmVyID0gew0KIAkucHJv YmUJPSBrb21lZGFfcGxhdGZvcm1fcHJvYmUsDQogCS5yZW1vdmUJPSBrb21lZGFfcGxhdGZvcm1f cmVtb3ZlLA0KIAkuZHJpdmVyCT0gew0KIAkJLm5hbWUgPSAia29tZWRhIiwNCiAJCS5vZl9tYXRj aF90YWJsZQk9IGtvbWVkYV9vZl9tYXRjaCwNCi0JCS5wbSA9IE5VTEwsDQorCQkucG0gPSAma29t ZWRhX3BtX29wcywNCiAJfSwNCiB9Ow0KIA0KLS0gDQoxLjkuMQ0KDQpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=