From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anson Huang Subject: [PATCH V2 3/4] watchdog: imx_sc: Add pretimeout support Date: Sun, 28 Apr 2019 03:27:11 +0000 Message-ID: <1556421727-7401-3-git-send-email-Anson.Huang@nxp.com> References: <1556421727-7401-1-git-send-email-Anson.Huang@nxp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1556421727-7401-1-git-send-email-Anson.Huang@nxp.com> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: "robh+dt@kernel.org" , "mark.rutland@arm.com" , "wim@linux-watchdog.org" , "linux@roeck-us.net" , "shawnguo@kernel.org" , "s.hauer@pengutronix.de" , "kernel@pengutronix.de" , "festevam@gmail.com" , Aisheng Dong , "ulf.hansson@linaro.org" , Peng Fan , Daniel Baluta , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-watchdog@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" Cc: dl-linux-imx List-Id: devicetree@vger.kernel.org aS5NWCBzeXN0ZW0gY29udHJvbGxlciB3YXRjaGRvZyBjYW4gc3VwcG9ydCBwcmV0aW1lb3V0IElS UQ0KdmlhIGdlbmVyYWwgU0NVIE1VIElSUSwgaXQgZGVwZW5kcyBvbiBJTVhfU0NVIGFuZCBkcml2 ZXIgTVVTVA0KYmUgcHJvYmVkIGFmdGVyIFNDVSBJUEMgcmVhZHksIHRoZW4gZW5hYmxlIGNvcnJl c3BvbmRpbmcgU0NVDQpJUlEgZ3JvdXAgYW5kIHJlZ2lzdGVyIFNDVSBJUlEgbm90aWZpZXIsIHdo ZW4gd2F0Y2hkb2cgcHJldGltZW91dA0KSVJRIGZpcmVzLCBTQ1UgTVUgSVJRIHdpbGwgYmUgaGFu ZGxlZCBhbmQgd2F0Y2hkb2cgcHJldGltZW91dA0Kbm90aWZpZXIgd2lsbCBiZSBjYWxsZWQgdG8g aGFuZGxlIHRoZSBldmVudC4NCg0KU2lnbmVkLW9mZi1ieTogQW5zb24gSHVhbmcgPEFuc29uLkh1 YW5nQG54cC5jb20+DQotLS0NCkNoYW5nZXMgc2luY2UgVjE6DQogICAgICAgIC0gaW1wcm92ZSBp bXhfc2Nfd2R0X3NldF9wcmV0aW1lb3V0KCkgcmV0dXJuIHZhbHVlIGFuZCBhc3NpZ25tZW50IHNl cXVlbmNlOw0KICAgICAgICAtIGltcHJvdmUgY29kaW5nIGFuZCBsb2dpYyBvZiBpbXhfc2Nfd2R0 X25vdGlmeSgpIGZ1bmN0aW9uOw0KICAgICAgICAtIHVzZSBkZXZtX2FkZF9hY3Rpb24oKSBpbnN0 ZWFkIG9mIC5yZW1vdmU7DQogICAgICAgIC0gYWRkIGxvY2FsIGRhdGEgc3RydWN0dXJlIHRvIGlu Y2x1ZGUgbm90aWZpZXIgYmxvY2s7DQogICAgICAgIC0gcmVtb3ZlIHRoZSBkZWZlciBwcm9iZSBj aGVjayBzaW5jZSB0aGUgd2F0Y2hkb2cgbm9kZSBpcyBub3cgbW92ZWQgaW50byBTQ1Ugbm9kZTsN CiAgICAgICAgLSBPTkxZIGVuYWJsZSBwcmV0aW1lb3V0IGZ1bmN0aW9uIGFmdGVyIGV2ZXJ5dGhp bmcgYWJvdXQgSVJRIGFyZSBzdWNjZXNzZnVsbHkuDQotLS0NCiBkcml2ZXJzL3dhdGNoZG9nL0tj b25maWcgICAgICB8ICAgMSArDQogZHJpdmVycy93YXRjaGRvZy9pbXhfc2Nfd2R0LmMgfCAxMTQg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tDQogMiBmaWxlcyBjaGFu Z2VkLCA5NSBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvd2F0Y2hkb2cvS2NvbmZpZyBiL2RyaXZlcnMvd2F0Y2hkb2cvS2NvbmZpZw0KaW5kZXgg NDRhMzE1OC4uZjJjMmMxYSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvd2F0Y2hkb2cvS2NvbmZpZw0K KysrIGIvZHJpdmVycy93YXRjaGRvZy9LY29uZmlnDQpAQCAtNjQ0LDYgKzY0NCw3IEBAIGNvbmZp ZyBJTVgyX1dEVA0KIGNvbmZpZyBJTVhfU0NfV0RUDQogCXRyaXN0YXRlICJJTVggU0MgV2F0Y2hk b2ciDQogCWRlcGVuZHMgb24gSEFWRV9BUk1fU01DQ0MNCisJZGVwZW5kcyBvbiBJTVhfU0NVDQog CXNlbGVjdCBXQVRDSERPR19DT1JFDQogCWhlbHANCiAJICBUaGlzIGlzIHRoZSBkcml2ZXIgZm9y IHRoZSBzeXN0ZW0gY29udHJvbGxlciB3YXRjaGRvZw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvd2F0 Y2hkb2cvaW14X3NjX3dkdC5jIGIvZHJpdmVycy93YXRjaGRvZy9pbXhfc2Nfd2R0LmMNCmluZGV4 IDQ5ODQ4YjYuLmQ4NDkzYTMgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3dhdGNoZG9nL2lteF9zY193 ZHQuYw0KKysrIGIvZHJpdmVycy93YXRjaGRvZy9pbXhfc2Nfd2R0LmMNCkBAIC00LDYgKzQsNyBA QA0KICAqLw0KIA0KICNpbmNsdWRlIDxsaW51eC9hcm0tc21jY2MuaD4NCisjaW5jbHVkZSA8bGlu dXgvZmlybXdhcmUvaW14L3NjaS5oPg0KICNpbmNsdWRlIDxsaW51eC9pby5oPg0KICNpbmNsdWRl IDxsaW51eC9pbml0Lmg+DQogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPg0KQEAgLTMzLDExICsz NCwxOSBAQA0KIA0KICNkZWZpbmUgU0NfVElNRVJfV0RPR19BQ1RJT05fUEFSVElUSU9OCTANCiAN CisjZGVmaW5lIFNDX0lSUV9XRE9HCQkJMQ0KKyNkZWZpbmUgU0NfSVJRX0dST1VQX1dET0cJCTEN CisNCiBzdGF0aWMgYm9vbCBub3dheW91dCA9IFdBVENIRE9HX05PV0FZT1VUOw0KIG1vZHVsZV9w YXJhbShub3dheW91dCwgYm9vbCwgMDAwMCk7DQogTU9EVUxFX1BBUk1fREVTQyhub3dheW91dCwg IldhdGNoZG9nIGNhbm5vdCBiZSBzdG9wcGVkIG9uY2Ugc3RhcnRlZCAoZGVmYXVsdD0iDQogCQkg X19NT0RVTEVfU1RSSU5HKFdBVENIRE9HX05PV0FZT1VUKSAiKSIpOw0KIA0KK3N0cnVjdCBpbXhf c2Nfd2R0X2RldmljZSB7DQorCXN0cnVjdCB3YXRjaGRvZ19kZXZpY2Ugd2RkOw0KKwlzdHJ1Y3Qg bm90aWZpZXJfYmxvY2sgd2R0X25vdGlmaWVyOw0KK307DQorDQogc3RhdGljIGludCBpbXhfc2Nf d2R0X3Bpbmcoc3RydWN0IHdhdGNoZG9nX2RldmljZSAqd2RvZykNCiB7DQogCXN0cnVjdCBhcm1f c21jY2NfcmVzIHJlczsNCkBAIC04NSwyNCArOTQsNjYgQEAgc3RhdGljIGludCBpbXhfc2Nfd2R0 X3NldF90aW1lb3V0KHN0cnVjdCB3YXRjaGRvZ19kZXZpY2UgKndkb2csDQogCXJldHVybiByZXMu YTAgPyAtRUFDQ0VTIDogMDsNCiB9DQogDQorc3RhdGljIGludCBpbXhfc2Nfd2R0X3NldF9wcmV0 aW1lb3V0KHN0cnVjdCB3YXRjaGRvZ19kZXZpY2UgKndkb2csDQorCQkJCSAgICAgdW5zaWduZWQg aW50IHByZXRpbWVvdXQpDQorew0KKwlzdHJ1Y3QgYXJtX3NtY2NjX3JlcyByZXM7DQorDQorCWFy bV9zbWNjY19zbWMoSU1YX1NJUF9USU1FUiwgSU1YX1NJUF9USU1FUl9TRVRfUFJFVElNRV9XRE9H LA0KKwkJICAgICAgcHJldGltZW91dCAqIDEwMDAsIDAsIDAsIDAsIDAsIDAsICZyZXMpOw0KKwlp ZiAocmVzLmEwKQ0KKwkJcmV0dXJuIC1FQUNDRVM7DQorDQorCXdkb2ctPnByZXRpbWVvdXQgPSBw cmV0aW1lb3V0Ow0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBpbXhfc2Nfd2R0 X25vdGlmeShzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLA0KKwkJCSAgICAgdW5zaWduZWQgbG9u ZyBldmVudCwgdm9pZCAqZ3JvdXApDQorew0KKwlzdHJ1Y3QgaW14X3NjX3dkdF9kZXZpY2UgKmlt eF9zY193ZGQgPQ0KKwkJCQkgY29udGFpbmVyX29mKG5iLA0KKwkJCQkJICAgICAgc3RydWN0IGlt eF9zY193ZHRfZGV2aWNlLA0KKwkJCQkJICAgICAgd2R0X25vdGlmaWVyKTsNCisNCisJaWYgKGV2 ZW50ICYgU0NfSVJRX1dET0cgJiYNCisJICAgICoodTggKilncm91cCA9PSBTQ19JUlFfR1JPVVBf V0RPRykNCisJCXdhdGNoZG9nX25vdGlmeV9wcmV0aW1lb3V0KCZpbXhfc2Nfd2RkLT53ZGQpOw0K Kw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIHZvaWQgaW14X3NjX3dkdF9hY3Rpb24odm9p ZCAqZGF0YSkNCit7DQorCXN0cnVjdCBub3RpZmllcl9ibG9jayAqd2R0X25vdGlmaWVyID0gZGF0 YTsNCisNCisJaW14X3NjdV9pcnFfdW5yZWdpc3Rlcl9ub3RpZmllcih3ZHRfbm90aWZpZXIpOw0K KwlpbXhfc2N1X2lycV9ncm91cF9lbmFibGUoU0NfSVJRX0dST1VQX1dET0csDQorCQkJCSBTQ19J UlFfV0RPRywNCisJCQkJIGZhbHNlKTsNCit9DQorDQogc3RhdGljIGNvbnN0IHN0cnVjdCB3YXRj aGRvZ19vcHMgaW14X3NjX3dkdF9vcHMgPSB7DQogCS5vd25lciA9IFRISVNfTU9EVUxFLA0KIAku c3RhcnQgPSBpbXhfc2Nfd2R0X3N0YXJ0LA0KIAkuc3RvcCAgPSBpbXhfc2Nfd2R0X3N0b3AsDQog CS5waW5nICA9IGlteF9zY193ZHRfcGluZywNCiAJLnNldF90aW1lb3V0ID0gaW14X3NjX3dkdF9z ZXRfdGltZW91dCwNCisJLnNldF9wcmV0aW1lb3V0ID0gaW14X3NjX3dkdF9zZXRfcHJldGltZW91 dCwNCiB9Ow0KIA0KLXN0YXRpYyBjb25zdCBzdHJ1Y3Qgd2F0Y2hkb2dfaW5mbyBpbXhfc2Nfd2R0 X2luZm8gPSB7DQorc3RhdGljIHN0cnVjdCB3YXRjaGRvZ19pbmZvIGlteF9zY193ZHRfaW5mbyA9 IHsNCiAJLmlkZW50aXR5CT0gImkuTVggU0Mgd2F0Y2hkb2cgdGltZXIiLA0KIAkub3B0aW9ucwk9 IFdESU9GX1NFVFRJTUVPVVQgfCBXRElPRl9LRUVQQUxJVkVQSU5HIHwNCi0JCQkgIFdESU9GX01B R0lDQ0xPU0UgfCBXRElPRl9QUkVUSU1FT1VULA0KKwkJCSAgV0RJT0ZfTUFHSUNDTE9TRSwNCiB9 Ow0KIA0KIHN0YXRpYyBpbnQgaW14X3NjX3dkdF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQ0KIHsNCisJc3RydWN0IGlteF9zY193ZHRfZGV2aWNlICppbXhfc2Nfd2RkOw0KKwlz dHJ1Y3Qgd2F0Y2hkb2dfZGV2aWNlICp3ZG9nOw0KIAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRl di0+ZGV2Ow0KLQlzdHJ1Y3Qgd2F0Y2hkb2dfZGV2aWNlICppbXhfc2Nfd2RkOw0KIAlpbnQgcmV0 Ow0KIA0KIAlpbXhfc2Nfd2RkID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCppbXhfc2Nfd2Rk KSwgR0ZQX0tFUk5FTCk7DQpAQCAtMTExLDQyICsxNjIsNjUgQEAgc3RhdGljIGludCBpbXhfc2Nf d2R0X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogDQogCXBsYXRmb3JtX3Nl dF9kcnZkYXRhKHBkZXYsIGlteF9zY193ZGQpOw0KIA0KLQlpbXhfc2Nfd2RkLT5pbmZvID0gJmlt eF9zY193ZHRfaW5mbzsNCi0JaW14X3NjX3dkZC0+b3BzID0gJmlteF9zY193ZHRfb3BzOw0KLQlp bXhfc2Nfd2RkLT5taW5fdGltZW91dCA9IDE7DQotCWlteF9zY193ZGQtPm1heF90aW1lb3V0ID0g TUFYX1RJTUVPVVQ7DQotCWlteF9zY193ZGQtPnBhcmVudCA9IGRldjsNCi0JaW14X3NjX3dkZC0+ dGltZW91dCA9IERFRkFVTFRfVElNRU9VVDsNCisJd2RvZyA9ICZpbXhfc2Nfd2RkLT53ZGQ7DQor CXdkb2ctPmluZm8gPSAmaW14X3NjX3dkdF9pbmZvOw0KKwl3ZG9nLT5vcHMgPSAmaW14X3NjX3dk dF9vcHM7DQorCXdkb2ctPm1pbl90aW1lb3V0ID0gMTsNCisJd2RvZy0+bWF4X3RpbWVvdXQgPSBN QVhfVElNRU9VVDsNCisJd2RvZy0+cGFyZW50ID0gZGV2Ow0KKwl3ZG9nLT50aW1lb3V0ID0gREVG QVVMVF9USU1FT1VUOw0KIA0KLQl3YXRjaGRvZ19pbml0X3RpbWVvdXQoaW14X3NjX3dkZCwgMCwg ZGV2KTsNCi0Jd2F0Y2hkb2dfc3RvcF9vbl9yZWJvb3QoaW14X3NjX3dkZCk7DQotCXdhdGNoZG9n X3N0b3Bfb25fdW5yZWdpc3RlcihpbXhfc2Nfd2RkKTsNCisJd2F0Y2hkb2dfaW5pdF90aW1lb3V0 KHdkb2csIDAsIGRldik7DQorCXdhdGNoZG9nX3N0b3Bfb25fcmVib290KHdkb2cpOw0KKwl3YXRj aGRvZ19zdG9wX29uX3VucmVnaXN0ZXIod2RvZyk7DQogDQotCXJldCA9IGRldm1fd2F0Y2hkb2df cmVnaXN0ZXJfZGV2aWNlKGRldiwgaW14X3NjX3dkZCk7DQorCXJldCA9IGRldm1fd2F0Y2hkb2df cmVnaXN0ZXJfZGV2aWNlKGRldiwgd2RvZyk7DQogCWlmIChyZXQpIHsNCiAJCWRldl9lcnIoZGV2 LCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHdhdGNoZG9nIGRldmljZVxuIik7DQogCQlyZXR1cm4gcmV0 Ow0KIAl9DQogDQotCXJldHVybiAwOw0KKwlyZXQgPSBpbXhfc2N1X2lycV9ncm91cF9lbmFibGUo U0NfSVJRX0dST1VQX1dET0csDQorCQkJCSAgICAgICBTQ19JUlFfV0RPRywNCisJCQkJICAgICAg IHRydWUpOw0KKwlpZiAocmV0KSB7DQorCQlkZXZfd2FybihkZXYsICJFbmFibGUgaXJxIGZhaWxl ZCwgcHJldGltZW91dCBOT1Qgc3VwcG9ydGVkXG4iKTsNCisJCXJldHVybiAwOw0KKwl9DQorDQor CWlteF9zY193ZGQtPndkdF9ub3RpZmllci5ub3RpZmllcl9jYWxsID0gaW14X3NjX3dkdF9ub3Rp Znk7DQorCXJldCA9IGlteF9zY3VfaXJxX3JlZ2lzdGVyX25vdGlmaWVyKCZpbXhfc2Nfd2RkLT53 ZHRfbm90aWZpZXIpOw0KKwlpZiAocmV0KSB7DQorCQlpbXhfc2N1X2lycV9ncm91cF9lbmFibGUo U0NfSVJRX0dST1VQX1dET0csDQorCQkJCQkgU0NfSVJRX1dET0csDQorCQkJCQkgZmFsc2UpOw0K KwkJZGV2X3dhcm4oZGV2LA0KKwkJCSAiUmVnaXN0ZXIgaXJxIG5vdGlmaWVyIGZhaWxlZCwgcHJl dGltZW91dCBOT1Qgc3VwcG9ydGVkXG4iKTsNCisJCXJldHVybiAwOw0KKwl9DQorDQorCWlteF9z Y193ZHRfaW5mby5vcHRpb25zIHw9IFdESU9GX1BSRVRJTUVPVVQ7DQorCXJldCA9IGRldm1fYWRk X2FjdGlvbihkZXYsIGlteF9zY193ZHRfYWN0aW9uLA0KKwkJCSAgICAgICZpbXhfc2Nfd2RkLT53 ZHRfbm90aWZpZXIpOw0KKwlyZXR1cm4gcmV0Ow0KIH0NCiANCiBzdGF0aWMgaW50IF9fbWF5YmVf dW51c2VkIGlteF9zY193ZHRfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpDQogew0KLQlzdHJ1 Y3Qgd2F0Y2hkb2dfZGV2aWNlICppbXhfc2Nfd2RkID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQor CXN0cnVjdCBpbXhfc2Nfd2R0X2RldmljZSAqaW14X3NjX3dkZCA9IGRldl9nZXRfZHJ2ZGF0YShk ZXYpOw0KIA0KLQlpZiAod2F0Y2hkb2dfYWN0aXZlKGlteF9zY193ZGQpKQ0KLQkJaW14X3NjX3dk dF9zdG9wKGlteF9zY193ZGQpOw0KKwlpZiAod2F0Y2hkb2dfYWN0aXZlKCZpbXhfc2Nfd2RkLT53 ZGQpKQ0KKwkJaW14X3NjX3dkdF9zdG9wKCZpbXhfc2Nfd2RkLT53ZGQpOw0KIA0KIAlyZXR1cm4g MDsNCiB9DQogDQogc3RhdGljIGludCBfX21heWJlX3VudXNlZCBpbXhfc2Nfd2R0X3Jlc3VtZShz dHJ1Y3QgZGV2aWNlICpkZXYpDQogew0KLQlzdHJ1Y3Qgd2F0Y2hkb2dfZGV2aWNlICppbXhfc2Nf d2RkID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQorCXN0cnVjdCBpbXhfc2Nfd2R0X2RldmljZSAq aW14X3NjX3dkZCA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KIA0KLQlpZiAod2F0Y2hkb2dfYWN0 aXZlKGlteF9zY193ZGQpKQ0KLQkJaW14X3NjX3dkdF9zdGFydChpbXhfc2Nfd2RkKTsNCisJaWYg KHdhdGNoZG9nX2FjdGl2ZSgmaW14X3NjX3dkZC0+d2RkKSkNCisJCWlteF9zY193ZHRfc3RhcnQo JmlteF9zY193ZGQtPndkZCk7DQogDQogCXJldHVybiAwOw0KIH0NCi0tIA0KMi43LjQNCg0K