From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Subject: [PATCH 2/4] serial: imx: implement handshaking irq handling for DTE mode Date: Thu, 10 Mar 2016 11:26:07 +0100 Message-ID: <1457605569-7828-3-git-send-email-u.kleine-koenig@pengutronix.de> References: <1457605569-7828-1-git-send-email-u.kleine-koenig@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1457605569-7828-1-git-send-email-u.kleine-koenig@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Greg Kroah-Hartman Cc: Martin Fuzzey , Baruch Siach , linux-arm-kernel@lists.infradead.org, kernel@pengutronix.de, linux-serial@vger.kernel.org List-Id: linux-serial@vger.kernel.org QWx0aG91Z2ggdGhpcyBsb29rcyBsaWtlIGEgZmVhdHVyZSBwYXRjaCB0aGlzIGlzIHJlYWxseSBh IGJ1ZyBmaXguIEluCkRURSBtb2RlIChpLmUuIHdpdGggdGhlIGRldmljZXRyZWUgcHJvcGVydHkg ZnNsLGR0ZS1tb2RlKSB0aGUgaW50ZXJydXB0cwpmb3IgUkkgYW5kIERDRCBhcmUgZW5hYmxlZCBi ZWNhdXNlIHRoYXQncyB0aGUgcmVzZXQgZGVmYXVsdCBvZiB0aGVzZQpiaXRzICh3aGljaCBoYXZl IGEgZGlmZmVyZW50IHNlbWFudGljIGluIERDRSBtb2RlKSBhbmQgdGhlIGRyaXZlciBkaWRuJ3QK dG91Y2ggdGhlc2UgYml0cyBiZWZvcmUuIFRoZSBpcnEgaGFuZGxlciBkaWRuJ3QgaGFuZGxlIHRo ZXNlCnN1YmludGVycnVwdHMgYW5kIGV2ZW4gZmFpbHMgdG8gcmV0dXJuIElSUV9OT05FIGluIHRo aXMgY2FzZSB3aGljaApyZXN1bHRzIGluIHRoZSBtYWNoaW5lIGJlaW5nIHN0dWNrIHdoZW4gdGhl IFJJIG9yIERDRCBwaW4gY2hhbmdlcyBsZXZlbC4KU3RpbGwgd29yc2UsIHdoZW4gdGhlIHJlc3Bl Y3RpdmUgcGlucyBhcmUgcGlubXV4ZWQgZm9yIGEgZGlmZmVyZW50CmZ1bmN0aW9uLCB0aGV5IGlu Y2x1ZGUgKGF0IGxlYXN0IG9uIGkuTVgyNSkgdGhlIFNJT04gYml0LCB3aGljaCBtZWFucwp0aGUg dmFsdWUgYXQgdGhlIHBpbiBpcyByb3V0ZWQgdG8gdGhlIFVBUlQgZXZlbiB0aGVuIHRyaWdnZXJp bmcgdGhlIGlycS4KCkFzIG9mIDQuNS1yYzcgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBzdXBwb3J0 ZWQgbWFjaGluZSB0aGF0IG9wZXJhdGVzIGFuClVBUlQgaW4gRFRFIG1vZGUgYW5kIHRoaXMgVUFS VCBkb2Vzbid0IGhhdmUgdGhlIHJlc3BlY3RpdmUgcGlucywgc28gbm8KaW4tdHJlZS11c2VyIHNo b3VsZCBiZSBhZmZlY3RlZC4KClNpZ25lZC1vZmYtYnk6IFV3ZSBLbGVpbmUtS8O2bmlnIDx1Lmts ZWluZS1rb2VuaWdAcGVuZ3V0cm9uaXguZGU+Ci0tLQpJIGFscmVhZHkgc2VudCBhIHBhdGNoIHRv IGxpbnV4LWFybS1rZXJuZWwgTUwgdGhhdCBkcm9wcyB0aGUgU0lPTiBiaXRzLgoKIGRyaXZlcnMv dHR5L3NlcmlhbC9pbXguYyB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0KIDEgZmlsZSBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdHR5L3NlcmlhbC9pbXguYyBiL2RyaXZlcnMvdHR5L3NlcmlhbC9p bXguYwppbmRleCBmZmE4MWU2MjlhNzkuLjU1ODYyNjAwNTlhYSAxMDA2NDQKLS0tIGEvZHJpdmVy cy90dHkvc2VyaWFsL2lteC5jCisrKyBiL2RyaXZlcnMvdHR5L3NlcmlhbC9pbXguYwpAQCAtMTE0 LDYgKzExNCw3IEBACiAjZGVmaW5lIFVDUjNfUlhEU0VOCSgxPDw2KQkvKiBSZWNlaXZlIHN0YXR1 cyBpbnRlcnJ1cHQgZW5hYmxlICovCiAjZGVmaW5lIFVDUjNfQUlSSU5URU4JKDE8PDUpCS8qIEFz eW5jIElSIHdha2UgaW50ZXJydXB0IGVuYWJsZSAqLwogI2RlZmluZSBVQ1IzX0FXQUtFTgkoMTw8 NCkJLyogQXN5bmMgd2FrZSBpbnRlcnJ1cHQgZW5hYmxlICovCisjZGVmaW5lIFVDUjNfRFRSREVO CSgxPDwzKQkvKiBEYXRhIFRlcm1pbmFsIFJlYWR5IERlbHRhIEVuYWJsZS4gKi8KICNkZWZpbmUg SU1YMjFfVUNSM19SWERNVVhTRUwJKDE8PDIpCS8qIFJYRCBNdXhlZCBJbnB1dCBTZWxlY3QgKi8K ICNkZWZpbmUgVUNSM19JTlZUCSgxPDwxKQkvKiBJbnZlcnRlZCBJbmZyYXJlZCB0cmFuc21pc3Np b24gKi8KICNkZWZpbmUgVUNSM19CUEVOCSgxPDwwKQkvKiBQcmVzZXQgcmVnaXN0ZXJzIGVuYWJs ZSAqLwpAQCAtMTQyLDcgKzE0Myw3IEBACiAjZGVmaW5lIFVTUjFfRlJBTUVSUgkoMTw8MTApIC8q IEZyYW1lIGVycm9yIGludGVycnVwdCBmbGFnICovCiAjZGVmaW5lIFVTUjFfUlJEWQkoMTw8OSkJ IC8qIFJlY2VpdmVyIHJlYWR5IGludGVycnVwdC9kbWEgZmxhZyAqLwogI2RlZmluZSBVU1IxX0FH VElNCSgxPDw4KQkgLyogQWdlaW5nIHRpbWVyIGludGVycnVwdCBmbGFnICovCi0jZGVmaW5lIFVT UjFfVElNRU9VVAkoMTw8NykJIC8qIFJlY2VpdmUgdGltZW91dCBpbnRlcnJ1cHQgc3RhdHVzICov CisjZGVmaW5lIFVTUjFfRFRSRAkoMTw8NykJIC8qIERUUiBEZWx0YSAqLwogI2RlZmluZSBVU1Ix X1JYRFMJICgxPDw2KQkgLyogUmVjZWl2ZXIgaWRsZSBpbnRlcnJ1cHQgZmxhZyAqLwogI2RlZmlu ZSBVU1IxX0FJUklOVAkgKDE8PDUpCSAvKiBBc3luYyBJUiB3YWtlIGludGVycnVwdCBmbGFnICov CiAjZGVmaW5lIFVTUjFfQVdBS0UJICgxPDw0KQkgLyogQXlzbmMgd2FrZSBpbnRlcnJ1cHQgZmxh ZyAqLwpAQCAtMTU0LDYgKzE1NSw3IEBACiAjZGVmaW5lIFVTUjJfUklJTgkgKDE8PDkpCSAvKiBS aW5nIEluZGljYXRvciBJbnB1dCAqLwogI2RlZmluZSBVU1IyX0lSSU5UCSAoMTw8OCkJIC8qIFNl cmlhbCBpbmZyYXJlZCBpbnRlcnJ1cHQgZmxhZyAqLwogI2RlZmluZSBVU1IyX1dBS0UJICgxPDw3 KQkgLyogV2FrZSAqLworI2RlZmluZSBVU1IyX0RDRERFTFQJICgxPDw2KQkgLyogRGF0YSBDYXJy aWVyIERldGVjdCBEZWx0YSAqLwogI2RlZmluZSBVU1IyX0RDRElOCSAoMTw8NSkJIC8qIERhdGEg Q2FycmllciBEZXRlY3QgSW5wdXQgKi8KICNkZWZpbmUgVVNSMl9SVFNGCSAoMTw8NCkJIC8qIFJU UyBlZGdlIGludGVycnVwdCBmbGFnICovCiAjZGVmaW5lIFVTUjJfVFhEQwkgKDE8PDMpCSAvKiBU cmFuc21pdHRlciBjb21wbGV0ZSAqLwpAQCAtODAwLDYgKzgwMiwyMCBAQCBzdGF0aWMgaXJxcmV0 dXJuX3QgaW14X2ludChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiAJICAgICByZWFkbChzcG9ydC0+ cG9ydC5tZW1iYXNlICsgVUNSNCkgJiBVQ1I0X1RDRU4pKQogCQlpbXhfdHhpbnQoaXJxLCBkZXZf aWQpOwogCisJaWYgKChzdHMgJiBVU1IxX0RUUkQpIHx8IChzdHMyICYgKFVTUjJfRENEREVMVCB8 IFVTUjJfUklERUxUKSkpIHsKKwkJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCQlzcGluX2xvY2tf aXJxc2F2ZSgmc3BvcnQtPnBvcnQubG9jaywgZmxhZ3MpOworCQlpbXhfbWN0cmxfY2hlY2soc3Bv cnQpOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzcG9ydC0+cG9ydC5sb2NrLCBmbGFncyk7 CisJCWlmIChzdHMgJiBVU1IxX0RUUkQpCisJCQl3cml0ZWwoVVNSMV9EVFJELCBzcG9ydC0+cG9y dC5tZW1iYXNlICsgVVNSMSk7CisKKwkJaWYgKHN0czIgJiAoVVNSMl9EQ0RERUxUIHwgVVNSMl9S SURFTFQpKQorCQkJd3JpdGVsKHN0czIgJiAoVVNSMl9EQ0RERUxUIHwgVVNSMl9SSURFTFQpLAor CQkJICAgICAgIHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVU1IyKTsKKwl9CisKIAlpZiAoc3RzICYg VVNSMV9SVFNEKQogCQlpbXhfcnRzaW50KGlycSwgZGV2X2lkKTsKIApAQCAtMTE5Myw4ICsxMjA5 LDkgQEAgc3RhdGljIGludCBpbXhfc3RhcnR1cChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQogCS8q CiAJICogRmluYWxseSwgY2xlYXIgYW5kIGVuYWJsZSBpbnRlcnJ1cHRzCiAJICovCi0Jd3JpdGVs KFVTUjFfUlRTRCwgc3BvcnQtPnBvcnQubWVtYmFzZSArIFVTUjEpOwotCXdyaXRlbChVU1IyX09S RSwgc3BvcnQtPnBvcnQubWVtYmFzZSArIFVTUjIpOworCXdyaXRlbChVU1IxX1JUU0QgfCBVU1Ix X0RUUkQsIHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVU1IxKTsKKwl3cml0ZWwoVVNSMl9PUkUgfCBV U1IyX0RDRERFTFQgfCBVU1IyX1JJREVMVCwKKwkgICAgICAgc3BvcnQtPnBvcnQubWVtYmFzZSAr IFVTUjIpOwogCiAJaWYgKHNwb3J0LT5kbWFfaXNfaW5pdGVkICYmICFzcG9ydC0+ZG1hX2lzX2Vu YWJsZWQpCiAJCWlteF9lbmFibGVfZG1hKHNwb3J0KTsKQEAgLTEyMTIsMTEgKzEyMjksMjMgQEAg c3RhdGljIGludCBpbXhfc3RhcnR1cChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQogCXRlbXAgfD0g KFVDUjJfUlhFTiB8IFVDUjJfVFhFTik7CiAJaWYgKCFzcG9ydC0+aGF2ZV9ydHNjdHMpCiAJCXRl bXAgfD0gVUNSMl9JUlRTOworCS8qIGRpc2FibGUgZWRnZSBzZW5zaXRpdmUgUlRTLWlycSwgd2Un cmUgdXNpbmcgUlRTRCBpbnN0ZWFkICovCisJaWYgKCFpc19pbXgxX3VhcnQoc3BvcnQpKQorCQl0 ZW1wICY9IH5VQ1IyX1JUU0VOOwogCXdyaXRlbCh0ZW1wLCBzcG9ydC0+cG9ydC5tZW1iYXNlICsg VUNSMik7CiAKIAlpZiAoIWlzX2lteDFfdWFydChzcG9ydCkpIHsKIAkJdGVtcCA9IHJlYWRsKHNw b3J0LT5wb3J0Lm1lbWJhc2UgKyBVQ1IzKTsKLQkJdGVtcCB8PSBJTVgyMV9VQ1IzX1JYRE1VWFNF TCB8IFVDUjNfQUROSU1QOworCisJCS8qCisJCSAqIFRoZSBlZmZlY3Qgb2YgUkkgYW5kIERDRCBk aWZmZXJzIGRlcGVuZGluZyBvbiB0aGUgVUZDUl9EQ0VEVEUKKwkJICogYml0LiBJbiBEQ0UgbW9k ZSB0aGV5IGNvbnRyb2wgdGhlIG91dHB1dHMsIGluIERURSBtb2RlIHRoZXkKKwkJICogZW5hYmxl IHRoZSByZXNwZWN0aXZlIGlycXMuIEZvciBib3RoIG1vZGVzIGl0J3MgY29ycmVjdCB0bworCQkg KiBzZXQgdGhlbSAod2hpY2ggbWF0Y2hlcyB0aGUgcmVzZXQgZGVmYXVsdCkuCisJCSAqLworCQl0 ZW1wIHw9IElNWDIxX1VDUjNfUlhETVVYU0VMIHwgVUNSM19BRE5JTVAgfAorCQkJVUNSM19EVFJE RU4gfCBVQ1IzX1JJIHwgVUNSM19EQ0Q7CisKIAkJd3JpdGVsKHRlbXAsIHNwb3J0LT5wb3J0Lm1l bWJhc2UgKyBVQ1IzKTsKIAl9CiAKLS0gCjIuNy4wCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGlu dXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQu b3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=