From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: BOUGH CHEN Subject: [PATCH v2 2/3] mmc: sdhci-esdhc-imx: add pm_qos to interact with cpuidle Date: Mon, 29 Apr 2019 08:55:37 +0000 Message-ID: <20190429090310.25484-3-haibo.chen@nxp.com> References: <20190429090310.25484-1-haibo.chen@nxp.com> In-Reply-To: <20190429090310.25484-1-haibo.chen@nxp.com> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 To: "ulf.hansson@linaro.org" , "adrian.hunter@intel.com" , "robh+dt@kernel.org" , "mark.rutland@arm.com" , "shawnguo@kernel.org" , "s.hauer@pengutronix.de" Cc: "kernel@pengutronix.de" , dl-linux-imx , "linux-mmc@vger.kernel.org" , "devicetree@vger.kernel.org" List-ID: T24gc29tZSBTb0NzIHN1Y2ggYXMgaS5NWDdVTFAsIHRoZXJlIGlzIG5vIGJ1c2ZyZXENCmRyaXZl ciwgYnV0IGNwdWlkbGUgaGFzIHNvbWUgbGV2ZWxzIHdoaWNoIG1heSBkaXNhYmxlDQpzeXN0ZW0v YnVzIGNsb2Nrcywgc28gbmVlZCB0byBhZGQgcG1fcW9zIHRvIHByZXZlbnQNCmNwdWlkbGUgZnJv bSBlbnRlcmluZyBsb3cgbGV2ZWwgaWRsZXMgYW5kIG1ha2Ugc3VyZQ0Kc3lzdGVtL2J1cyBjbG9j a3MgYXJlIGVuYWJsZWQgd2hlbiB1c2RoYyBpcyBhY3RpdmUuDQoNClNpZ25lZC1vZmYtYnk6IEFu c29uIEh1YW5nIDxBbnNvbi5IdWFuZ0BueHAuY29tPg0KU2lnbmVkLW9mZi1ieTogSGFpYm8gQ2hl biA8aGFpYm8uY2hlbkBueHAuY29tPg0KLS0tDQogZHJpdmVycy9tbWMvaG9zdC9zZGhjaS1lc2Ro Yy1pbXguYyB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQ0KIDEgZmlsZSBjaGFu Z2VkLCAzMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2 ZXJzL21tYy9ob3N0L3NkaGNpLWVzZGhjLWlteC5jIGIvZHJpdmVycy9tbWMvaG9zdC9zZGhjaS1l c2RoYy1pbXguYw0KaW5kZXggOGRiYmMxZjYyYjcwLi4wNTNlODU4NmQ1NTcgMTAwNjQ0DQotLS0g YS9kcml2ZXJzL21tYy9ob3N0L3NkaGNpLWVzZGhjLWlteC5jDQorKysgYi9kcml2ZXJzL21tYy9o b3N0L3NkaGNpLWVzZGhjLWlteC5jDQpAQCAtMTQsNiArMTQsNyBAQA0KICNpbmNsdWRlIDxsaW51 eC9jbGsuaD4NCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+DQogI2luY2x1ZGUgPGxpbnV4L3Ns YWIuaD4NCisjaW5jbHVkZSA8bGludXgvcG1fcW9zLmg+DQogI2luY2x1ZGUgPGxpbnV4L21tYy9o b3N0Lmg+DQogI2luY2x1ZGUgPGxpbnV4L21tYy9tbWMuaD4NCiAjaW5jbHVkZSA8bGludXgvbW1j L3NkaW8uaD4NCkBAIC0xNTYsNiArMTU3LDggQEANCiAjZGVmaW5lIEVTREhDX0ZMQUdfSFM0MDBf RVMJCUJJVCgxMSkNCiAvKiBUaGUgSVAgaGFzIEhvc3QgQ29udHJvbGxlciBJbnRlcmZhY2UgZm9y IENvbW1hbmQgUXVldWluZyAqLw0KICNkZWZpbmUgRVNESENfRkxBR19DUUhDSQkJQklUKDEyKQ0K Ky8qIG5lZWQgcmVxdWVzdCBwbXFvcyBkdXJpbmcgbG93IHBvd2VyICovDQorI2RlZmluZSBFU0RI Q19GTEFHX1BNUU9TCQlCSVQoMTMpDQogDQogc3RydWN0IGVzZGhjX3NvY19kYXRhIHsNCiAJdTMy IGZsYWdzOw0KQEAgLTIwNCw2ICsyMDcsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBlc2RoY19z b2NfZGF0YSB1c2RoY19pbXg3ZF9kYXRhID0gew0KIAkJCXwgRVNESENfRkxBR19IUzQwMCwNCiB9 Ow0KIA0KK3N0YXRpYyBzdHJ1Y3QgZXNkaGNfc29jX2RhdGEgdXNkaGNfaW14N3VscF9kYXRhID0g ew0KKwkuZmxhZ3MgPSBFU0RIQ19GTEFHX1VTREhDIHwgRVNESENfRkxBR19TVERfVFVOSU5HDQor CQkJfCBFU0RIQ19GTEFHX0hBVkVfQ0FQMSB8IEVTREhDX0ZMQUdfSFMyMDANCisJCQl8IEVTREhD X0ZMQUdfUE1RT1MsDQorfTsNCisNCiBzdGF0aWMgc3RydWN0IGVzZGhjX3NvY19kYXRhIHVzZGhj X2lteDhxeHBfZGF0YSA9IHsNCiAJLmZsYWdzID0gRVNESENfRkxBR19VU0RIQyB8IEVTREhDX0ZM QUdfU1REX1RVTklORw0KIAkJCXwgRVNESENfRkxBR19IQVZFX0NBUDEgfCBFU0RIQ19GTEFHX0hT MjAwDQpAQCAtMjI5LDYgKzIzOCw3IEBAIHN0cnVjdCBwbHRmbV9pbXhfZGF0YSB7DQogCQlXQUlU X0ZPUl9JTlQsICAgICAgICAvKiBzZW50IENNRDEyLCB3YWl0aW5nIGZvciByZXNwb25zZSBJTlQg Ki8NCiAJfSBtdWx0aWJsb2NrX3N0YXR1czsNCiAJdTMyIGlzX2RkcjsNCisJc3RydWN0IHBtX3Fv c19yZXF1ZXN0IHBtX3Fvc19yZXE7DQogfTsNCiANCiBzdGF0aWMgY29uc3Qgc3RydWN0IHBsYXRm b3JtX2RldmljZV9pZCBpbXhfZXNkaGNfZGV2dHlwZVtdID0gew0KQEAgLTI1Nyw2ICsyNjcsNyBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBpbXhfZXNkaGNfZHRfaWRzW10gPSB7 DQogCXsgLmNvbXBhdGlibGUgPSAiZnNsLGlteDZxLXVzZGhjIiwgLmRhdGEgPSAmdXNkaGNfaW14 NnFfZGF0YSwgfSwNCiAJeyAuY29tcGF0aWJsZSA9ICJmc2wsaW14NnVsbC11c2RoYyIsIC5kYXRh ID0gJnVzZGhjX2lteDZ1bGxfZGF0YSwgfSwNCiAJeyAuY29tcGF0aWJsZSA9ICJmc2wsaW14N2Qt dXNkaGMiLCAuZGF0YSA9ICZ1c2RoY19pbXg3ZF9kYXRhLCB9LA0KKwl7IC5jb21wYXRpYmxlID0g ImZzbCxpbXg3dWxwLXVzZGhjIiwgLmRhdGEgPSAmdXNkaGNfaW14N3VscF9kYXRhLCB9LA0KIAl7 IC5jb21wYXRpYmxlID0gImZzbCxpbXg4cXhwLXVzZGhjIiwgLmRhdGEgPSAmdXNkaGNfaW14OHF4 cF9kYXRhLCB9LA0KIAl7IC8qIHNlbnRpbmVsICovIH0NCiB9Ow0KQEAgLTE0MzYsNiArMTQ0Nywx MCBAQCBzdGF0aWMgaW50IHNkaGNpX2VzZGhjX2lteF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQ0KIAlpbXhfZGF0YS0+c29jZGF0YSA9IG9mX2lkID8gb2ZfaWQtPmRhdGEgOiAo c3RydWN0IGVzZGhjX3NvY19kYXRhICopDQogCQkJCQkJICBwZGV2LT5pZF9lbnRyeS0+ZHJpdmVy X2RhdGE7DQogDQorCWlmIChpbXhfZGF0YS0+c29jZGF0YS0+ZmxhZ3MgJiBFU0RIQ19GTEFHX1BN UU9TKQ0KKwkJcG1fcW9zX2FkZF9yZXF1ZXN0KCZpbXhfZGF0YS0+cG1fcW9zX3JlcSwNCisJCQlQ TV9RT1NfQ1BVX0RNQV9MQVRFTkNZLCAwKTsNCisNCiAJaW14X2RhdGEtPmNsa19pcGcgPSBkZXZt X2Nsa19nZXQoJnBkZXYtPmRldiwgImlwZyIpOw0KIAlpZiAoSVNfRVJSKGlteF9kYXRhLT5jbGtf aXBnKSkgew0KIAkJZXJyID0gUFRSX0VSUihpbXhfZGF0YS0+Y2xrX2lwZyk7DQpAQCAtMTU1Nyw2 ICsxNTcyLDggQEAgc3RhdGljIGludCBzZGhjaV9lc2RoY19pbXhfcHJvYmUoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikNCiBkaXNhYmxlX3Blcl9jbGs6DQogCWNsa19kaXNhYmxlX3VucHJl cGFyZShpbXhfZGF0YS0+Y2xrX3Blcik7DQogZnJlZV9zZGhjaToNCisJaWYgKGlteF9kYXRhLT5z b2NkYXRhLT5mbGFncyAmIEVTREhDX0ZMQUdfUE1RT1MpDQorCQlwbV9xb3NfcmVtb3ZlX3JlcXVl c3QoJmlteF9kYXRhLT5wbV9xb3NfcmVxKTsNCiAJc2RoY2lfcGx0Zm1fZnJlZShwZGV2KTsNCiAJ cmV0dXJuIGVycjsNCiB9DQpAQCAtMTU3OCw2ICsxNTk1LDkgQEAgc3RhdGljIGludCBzZGhjaV9l c2RoY19pbXhfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogCWNsa19kaXNh YmxlX3VucHJlcGFyZShpbXhfZGF0YS0+Y2xrX2lwZyk7DQogCWNsa19kaXNhYmxlX3VucHJlcGFy ZShpbXhfZGF0YS0+Y2xrX2FoYik7DQogDQorCWlmIChpbXhfZGF0YS0+c29jZGF0YS0+ZmxhZ3Mg JiBFU0RIQ19GTEFHX1BNUU9TKQ0KKwkJcG1fcW9zX3JlbW92ZV9yZXF1ZXN0KCZpbXhfZGF0YS0+ cG1fcW9zX3JlcSk7DQorDQogCXNkaGNpX3BsdGZtX2ZyZWUocGRldik7DQogDQogCXJldHVybiAw Ow0KQEAgLTE2NDksNiArMTY2OSw5IEBAIHN0YXRpYyBpbnQgc2RoY2lfZXNkaGNfcnVudGltZV9z dXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikNCiAJfQ0KIAljbGtfZGlzYWJsZV91bnByZXBhcmUo aW14X2RhdGEtPmNsa19haGIpOw0KIA0KKwlpZiAoaW14X2RhdGEtPnNvY2RhdGEtPmZsYWdzICYg RVNESENfRkxBR19QTVFPUykNCisJCXBtX3Fvc19yZW1vdmVfcmVxdWVzdCgmaW14X2RhdGEtPnBt X3Fvc19yZXEpOw0KKw0KIAlyZXR1cm4gcmV0Ow0KIH0NCiANCkBAIC0xNjU5LDkgKzE2ODIsMTMg QEAgc3RhdGljIGludCBzZGhjaV9lc2RoY19ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpk ZXYpDQogCXN0cnVjdCBwbHRmbV9pbXhfZGF0YSAqaW14X2RhdGEgPSBzZGhjaV9wbHRmbV9wcml2 KHBsdGZtX2hvc3QpOw0KIAlpbnQgZXJyOw0KIA0KKwlpZiAoaW14X2RhdGEtPnNvY2RhdGEtPmZs YWdzICYgRVNESENfRkxBR19QTVFPUykNCisJCXBtX3Fvc19hZGRfcmVxdWVzdCgmaW14X2RhdGEt PnBtX3Fvc19yZXEsDQorCQkJUE1fUU9TX0NQVV9ETUFfTEFURU5DWSwgMCk7DQorDQogCWVyciA9 IGNsa19wcmVwYXJlX2VuYWJsZShpbXhfZGF0YS0+Y2xrX2FoYik7DQogCWlmIChlcnIpDQotCQly ZXR1cm4gZXJyOw0KKwkJZ290byByZW1vdmVfcG1fcW9zX3JlcXVlc3Q7DQogDQogCWlmICghc2Ro Y2lfc2Rpb19pcnFfZW5hYmxlZChob3N0KSkgew0KIAkJZXJyID0gY2xrX3ByZXBhcmVfZW5hYmxl KGlteF9kYXRhLT5jbGtfcGVyKTsNCkBAIC0xNjkwLDYgKzE3MTcsOSBAQCBzdGF0aWMgaW50IHNk aGNpX2VzZGhjX3J1bnRpbWVfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikNCiAJCWNsa19kaXNh YmxlX3VucHJlcGFyZShpbXhfZGF0YS0+Y2xrX3Blcik7DQogZGlzYWJsZV9haGJfY2xrOg0KIAlj bGtfZGlzYWJsZV91bnByZXBhcmUoaW14X2RhdGEtPmNsa19haGIpOw0KK3JlbW92ZV9wbV9xb3Nf cmVxdWVzdDoNCisJaWYgKGlteF9kYXRhLT5zb2NkYXRhLT5mbGFncyAmIEVTREhDX0ZMQUdfUE1R T1MpDQorCQlwbV9xb3NfcmVtb3ZlX3JlcXVlc3QoJmlteF9kYXRhLT5wbV9xb3NfcmVxKTsNCiAJ cmV0dXJuIGVycjsNCiB9DQogI2VuZGlmDQotLSANCjIuMTcuMQ0KDQo=