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:57:29 +0000 Message-ID: <1561103814-864-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 EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70045.outbound.protection.outlook.com [40.107.7.45]) by gabe.freedesktop.org (Postfix) with ESMTPS id E49F86E822 for ; Fri, 21 Jun 2019 07:57:32 +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 ZXMvNjAwODMvDQotIGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9zZXJpZXMvNjE2 NDcvDQoNCkNoYW5nZXMgc2luY2UgdjE6DQpTaW5jZSB3ZSBoYXZlIHVuaWZpZWQgbWNsay9wY2xr L3BpcGVsaW5lLT5hY2xrIHRvIG9uZSBtY2xrLCB3aGljaCB3aWxsDQpiZSB0dXJuZWQgb24vb2Zm IHdoZW4gY3J0YyBhdG9taWMgZW5hYmxlL2Rpc2FibGUsIHJlbW92ZWQgcnVudGltZSBwb3dlcg0K bWFuYWdlbWVudC4NCkFkZHMgdG8gZGlzYWJsZSB0aGUgYWNsayB3aGVuIHJlZ2lzdGVyIGFjY2Vz cyBmaW5pc2hlZC4NCg0KQ2hhbmdlcyBzaW5jZSB2MjoNClJlbW92ZXMgcnVuIHRpbWUgZ2V0L3B1 dCByZWxhdGVkIGZsb3cuDQoNClNpZ25lZC1vZmYtYnk6IExvd3J5IExpIChBcm0gVGVjaG5vbG9n eSBDaGluYSkgPGxvd3J5LmxpQGFybS5jb20+DQotLS0NCiBkcml2ZXJzL2dwdS9kcm0vYXJtL2Rp c3BsYXkva29tZWRhL2tvbWVkYV9jcnRjLmMgfCAgMSAtDQogZHJpdmVycy9ncHUvZHJtL2FybS9k aXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmMgIHwgNjMgKysrKysrKysrKysrKysrKysrKysrLS0t DQogZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmggIHwgIDIg Kw0KIGRyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rydi5jICB8IDM1 ICsrKysrKysrKysrLS0NCiA0IGZpbGVzIGNoYW5nZWQsIDkxIGluc2VydGlvbnMoKyksIDEwIGRl bGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tv bWVkYS9rb21lZGFfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9r b21lZGFfY3J0Yy5jDQppbmRleCBjYWZiNDQ1Li5kMTRlN2YzIDEwMDY0NA0KLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfY3J0Yy5jDQorKysgYi9kcml2ZXJz L2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9jcnRjLmMNCkBAIC01LDcgKzUsNiBA QA0KICAqDQogICovDQogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPg0KLSNpbmNsdWRlIDxsaW51eC9w bV9ydW50aW1lLmg+DQogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+DQogDQogI2luY2x1ZGUg PGRybS9kcm1fYXRvbWljLmg+DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfZGV2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29t ZWRhL2tvbWVkYV9kZXYuYw0KaW5kZXggZTFhYTU4ZS4uYzk4MzdkYyAxMDA2NDQNCi0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rldi5jDQorKysgYi9kcml2 ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kZXYuYw0KQEAgLTIwOSw3ICsy MDksNyBAQCBzdHJ1Y3Qga29tZWRhX2RldiAqa29tZWRhX2Rldl9jcmVhdGUoc3RydWN0IGRldmlj ZSAqZGV2KQ0KIAkJCSAgcHJvZHVjdC0+cHJvZHVjdF9pZCwNCiAJCQkgIE1BTElEUF9DT1JFX0lE X1BST0RVQ1RfSUQobWRldi0+Y2hpcC5jb3JlX2lkKSk7DQogCQllcnIgPSAtRU5PREVWOw0KLQkJ Z290byBlcnJfY2xlYW51cDsNCisJCWdvdG8gZGlzYWJsZV9jbGs7DQogCX0NCiANCiAJRFJNX0lO Rk8oIkZvdW5kIEFSTSBNYWxpLUQleCB2ZXJzaW9uIHIlZHAlZFxuIiwNCkBAIC0yMjIsMTkgKzIy MiwxOSBAQCBzdHJ1Y3Qga29tZWRhX2RldiAqa29tZWRhX2Rldl9jcmVhdGUoc3RydWN0IGRldmlj ZSAqZGV2KQ0KIAllcnIgPSBtZGV2LT5mdW5jcy0+ZW51bV9yZXNvdXJjZXMobWRldik7DQogCWlm IChlcnIpIHsNCiAJCURSTV9FUlJPUigiZW51bWVyYXRlIGRpc3BsYXkgcmVzb3VyY2UgZmFpbGVk LlxuIik7DQotCQlnb3RvIGVycl9jbGVhbnVwOw0KKwkJZ290byBkaXNhYmxlX2NsazsNCiAJfQ0K IA0KIAllcnIgPSBrb21lZGFfcGFyc2VfZHQoZGV2LCBtZGV2KTsNCiAJaWYgKGVycikgew0KIAkJ RFJNX0VSUk9SKCJwYXJzZSBkZXZpY2UgdHJlZSBmYWlsZWQuXG4iKTsNCi0JCWdvdG8gZXJyX2Ns ZWFudXA7DQorCQlnb3RvIGRpc2FibGVfY2xrOw0KIAl9DQogDQogCWVyciA9IGtvbWVkYV9hc3Nl bWJsZV9waXBlbGluZXMobWRldik7DQogCWlmIChlcnIpIHsNCiAJCURSTV9FUlJPUigiYXNzZW1i bGUgZGlzcGxheSBwaXBlbGluZXMgZmFpbGVkLlxuIik7DQotCQlnb3RvIGVycl9jbGVhbnVwOw0K KwkJZ290byBkaXNhYmxlX2NsazsNCiAJfQ0KIA0KIAlkZXYtPmRtYV9wYXJtcyA9ICZtZGV2LT5k bWFfcGFybXM7DQpAQCAtMjQ3LDExICsyNDcsMTMgQEAgc3RydWN0IGtvbWVkYV9kZXYgKmtvbWVk YV9kZXZfY3JlYXRlKHN0cnVjdCBkZXZpY2UgKmRldikNCiAJaWYgKG1kZXYtPmlvbW11ICYmIG1k ZXYtPmZ1bmNzLT5jb25uZWN0X2lvbW11KSB7DQogCQllcnIgPSBtZGV2LT5mdW5jcy0+Y29ubmVj dF9pb21tdShtZGV2KTsNCiAJCWlmIChlcnIpIHsNCi0JCQltZGV2LT5pb21tdSA9IE5VTEw7DQot CQkJZ290byBlcnJfY2xlYW51cDsNCisJCQlEUk1fRVJST1IoImNvbm5lY3QgaW9tbXUgZmFpbGVk LlxuIik7DQorCQkJZ290byBkaXNhYmxlX2NsazsNCiAJCX0NCiAJfQ0KIA0KKwljbGtfZGlzYWJs ZV91bnByZXBhcmUobWRldi0+YWNsayk7DQorDQogCWVyciA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgm ZGV2LT5rb2JqLCAma29tZWRhX3N5c2ZzX2F0dHJfZ3JvdXApOw0KIAlpZiAoZXJyKSB7DQogCQlE Uk1fRVJST1IoImNyZWF0ZSBzeXNmcyBncm91cCBmYWlsZWQuXG4iKTsNCkBAIC0yNjQsNiArMjY2 LDggQEAgc3RydWN0IGtvbWVkYV9kZXYgKmtvbWVkYV9kZXZfY3JlYXRlKHN0cnVjdCBkZXZpY2Ug KmRldikNCiANCiAJcmV0dXJuIG1kZXY7DQogDQorZGlzYWJsZV9jbGs6DQorCWNsa19kaXNhYmxl X3VucHJlcGFyZShtZGV2LT5hY2xrKTsNCiBlcnJfY2xlYW51cDoNCiAJa29tZWRhX2Rldl9kZXN0 cm95KG1kZXYpOw0KIAlyZXR1cm4gRVJSX1BUUihlcnIpOw0KQEAgLTI4MSw2ICsyODUsOSBAQCB2 b2lkIGtvbWVkYV9kZXZfZGVzdHJveShzdHJ1Y3Qga29tZWRhX2RldiAqbWRldikNCiAJZGVidWdm c19yZW1vdmVfcmVjdXJzaXZlKG1kZXYtPmRlYnVnZnNfcm9vdCk7DQogI2VuZGlmDQogDQorCWlm IChtZGV2LT5hY2xrKQ0KKwkJY2xrX3ByZXBhcmVfZW5hYmxlKG1kZXYtPmFjbGspOw0KKw0KIAlp ZiAobWRldi0+aW9tbXUgJiYgbWRldi0+ZnVuY3MtPmRpc2Nvbm5lY3RfaW9tbXUpDQogCQltZGV2 LT5mdW5jcy0+ZGlzY29ubmVjdF9pb21tdShtZGV2KTsNCiAJbWRldi0+aW9tbXUgPSBOVUxMOw0K QEAgLTMwOCwzICszMTUsNDcgQEAgdm9pZCBrb21lZGFfZGV2X2Rlc3Ryb3koc3RydWN0IGtvbWVk YV9kZXYgKm1kZXYpDQogDQogCWRldm1fa2ZyZWUoZGV2LCBtZGV2KTsNCiB9DQorDQoraW50IGtv bWVkYV9kZXZfcmVzdW1lKHN0cnVjdCBrb21lZGFfZGV2ICptZGV2KQ0KK3sNCisJaW50IHJldCA9 IDA7DQorDQorCWNsa19wcmVwYXJlX2VuYWJsZShtZGV2LT5hY2xrKTsNCisNCisJaWYgKG1kZXYt PmlvbW11ICYmIG1kZXYtPmZ1bmNzLT5jb25uZWN0X2lvbW11KSB7DQorCQlyZXQgPSBtZGV2LT5m dW5jcy0+Y29ubmVjdF9pb21tdShtZGV2KTsNCisJCWlmIChyZXQgPCAwKSB7DQorCQkJRFJNX0VS Uk9SKCJjb25uZWN0IGlvbW11IGZhaWxlZC5cbiIpOw0KKwkJCWdvdG8gZGlzYWJsZV9jbGs7DQor CQl9DQorCX0NCisNCisJcmV0ID0gbWRldi0+ZnVuY3MtPmVuYWJsZV9pcnEobWRldik7DQorDQor ZGlzYWJsZV9jbGs6DQorCWNsa19kaXNhYmxlX3VucHJlcGFyZShtZGV2LT5hY2xrKTsNCisNCisJ cmV0dXJuIHJldDsNCit9DQorDQoraW50IGtvbWVkYV9kZXZfc3VzcGVuZChzdHJ1Y3Qga29tZWRh X2RldiAqbWRldikNCit7DQorCWludCByZXQgPSAwOw0KKw0KKwljbGtfcHJlcGFyZV9lbmFibGUo bWRldi0+YWNsayk7DQorDQorCWlmIChtZGV2LT5pb21tdSAmJiBtZGV2LT5mdW5jcy0+ZGlzY29u bmVjdF9pb21tdSkgew0KKwkJcmV0ID0gbWRldi0+ZnVuY3MtPmRpc2Nvbm5lY3RfaW9tbXUobWRl dik7DQorCQlpZiAocmV0IDwgMCkgew0KKwkJCURSTV9FUlJPUigiZGlzY29ubmVjdCBpb21tdSBm YWlsZWQuXG4iKTsNCisJCQlnb3RvIGRpc2FibGVfY2xrOw0KKwkJfQ0KKwl9DQorDQorCXJldCA9 IG1kZXYtPmZ1bmNzLT5kaXNhYmxlX2lycShtZGV2KTsNCisNCitkaXNhYmxlX2NsazoNCisJY2xr X2Rpc2FibGVfdW5wcmVwYXJlKG1kZXYtPmFjbGspOw0KKw0KKwlyZXR1cm4gcmV0Ow0KK30NCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kZXYu aCBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rldi5oDQppbmRl eCBkMWM4NmI2Li4wOTZmOWY3IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfZGV2LmgNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxh eS9rb21lZGEva29tZWRhX2Rldi5oDQpAQCAtMjA3LDQgKzIwNyw2IEBAIHN0cnVjdCBrb21lZGFf ZGV2IHsNCiANCiBzdHJ1Y3Qga29tZWRhX2RldiAqZGV2X3RvX21kZXYoc3RydWN0IGRldmljZSAq ZGV2KTsNCiANCitpbnQga29tZWRhX2Rldl9yZXN1bWUoc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYp Ow0KK2ludCBrb21lZGFfZGV2X3N1c3BlbmQoc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYpOw0KICNl bmRpZiAvKl9LT01FREFfREVWX0hfKi8NCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJt L2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxh eS9rb21lZGEva29tZWRhX2Rydi5jDQppbmRleCBjZmE1MDY4Li41MmIyYTk0IDEwMDY0NA0KLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZHJ2LmMNCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rydi5jDQpAQCAtMzIs NiArMzIsNyBAQCBzdGF0aWMgdm9pZCBrb21lZGFfdW5iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikN CiAJCXJldHVybjsNCiANCiAJa29tZWRhX2ttc19kZXRhY2gobWRydi0+a21zKTsNCisNCiAJa29t ZWRhX2Rldl9kZXN0cm95KG1kcnYtPm1kZXYpOw0KIA0KIAlkZXZfc2V0X2RydmRhdGEoZGV2LCBO VUxMKTsNCkBAIC01Miw2ICs1Myw3IEBAIHN0YXRpYyBpbnQga29tZWRhX2JpbmQoc3RydWN0IGRl dmljZSAqZGV2KQ0KIAkJZXJyID0gUFRSX0VSUihtZHJ2LT5tZGV2KTsNCiAJCWdvdG8gZnJlZV9t ZHJ2Ow0KIAl9DQorCWRldl9zZXRfZHJ2ZGF0YShkZXYsIG1kcnYpOw0KIA0KIAltZHJ2LT5rbXMg PSBrb21lZGFfa21zX2F0dGFjaChtZHJ2LT5tZGV2KTsNCiAJaWYgKElTX0VSUihtZHJ2LT5rbXMp KSB7DQpAQCAtNTksOCArNjEsNiBAQCBzdGF0aWMgaW50IGtvbWVkYV9iaW5kKHN0cnVjdCBkZXZp Y2UgKmRldikNCiAJCWdvdG8gZGVzdHJveV9tZGV2Ow0KIAl9DQogDQotCWRldl9zZXRfZHJ2ZGF0 YShkZXYsIG1kcnYpOw0KLQ0KIAlyZXR1cm4gMDsNCiANCiBkZXN0cm95X21kZXY6DQpAQCAtMTM0 LDEzICsxMzQsNDIgQEAgc3RhdGljIGludCBrb21lZGFfcGxhdGZvcm1fcmVtb3ZlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogDQogTU9EVUxFX0RFVklDRV9UQUJMRShvZiwga29tZWRh X29mX21hdGNoKTsNCiANCitzdGF0aWMgaW50IF9fbWF5YmVfdW51c2VkIGtvbWVkYV9wbV9zdXNw ZW5kKHN0cnVjdCBkZXZpY2UgKmRldikNCit7DQorCXN0cnVjdCBrb21lZGFfZHJ2ICptZHJ2ID0g ZGV2X2dldF9kcnZkYXRhKGRldik7DQorCXN0cnVjdCBkcm1fZGV2aWNlICpkcm0gPSAmbWRydi0+ a21zLT5iYXNlOw0KKwlpbnQgcmVzOw0KKw0KKwlkZXZfaW5mbyhkZXYsICIlc1xuIiwgX19mdW5j X18pOw0KKwlyZXMgPSBkcm1fbW9kZV9jb25maWdfaGVscGVyX3N1c3BlbmQoZHJtKTsNCisNCisJ a29tZWRhX2Rldl9zdXNwZW5kKG1kcnYtPm1kZXYpOw0KKw0KKwlyZXR1cm4gcmVzOw0KK30NCisN CitzdGF0aWMgaW50IF9fbWF5YmVfdW51c2VkIGtvbWVkYV9wbV9yZXN1bWUoc3RydWN0IGRldmlj ZSAqZGV2KQ0KK3sNCisJc3RydWN0IGtvbWVkYV9kcnYgKm1kcnYgPSBkZXZfZ2V0X2RydmRhdGEo ZGV2KTsNCisJc3RydWN0IGRybV9kZXZpY2UgKmRybSA9ICZtZHJ2LT5rbXMtPmJhc2U7DQorDQor CWRldl9pbmZvKGRldiwgIiVzXG4iLCBfX2Z1bmNfXyk7DQorCWtvbWVkYV9kZXZfcmVzdW1lKG1k cnYtPm1kZXYpOw0KKw0KKwlyZXR1cm4gZHJtX21vZGVfY29uZmlnX2hlbHBlcl9yZXN1bWUoZHJt KTsNCit9DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZfcG1fb3BzIGtvbWVkYV9wbV9vcHMg PSB7DQorCVNFVF9TWVNURU1fU0xFRVBfUE1fT1BTKGtvbWVkYV9wbV9zdXNwZW5kLCBrb21lZGFf cG1fcmVzdW1lKQ0KK307DQorDQogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIga29tZWRh X3BsYXRmb3JtX2RyaXZlciA9IHsNCiAJLnByb2JlCT0ga29tZWRhX3BsYXRmb3JtX3Byb2JlLA0K IAkucmVtb3ZlCT0ga29tZWRhX3BsYXRmb3JtX3JlbW92ZSwNCiAJLmRyaXZlcgk9IHsNCiAJCS5u YW1lID0gImtvbWVkYSIsDQogCQkub2ZfbWF0Y2hfdGFibGUJPSBrb21lZGFfb2ZfbWF0Y2gsDQot CQkucG0gPSBOVUxMLA0KKwkJLnBtID0gJmtvbWVkYV9wbV9vcHMsDQogCX0sDQogfTsNCiANCi0t IA0KMS45LjENCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs