From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 03560C433EF for ; Fri, 11 Feb 2022 19:15:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=unlOF3PDrz/ktq3ywr9M9t1ks4GpeQXA6wJtzREGYkY=; b=vQL/1Am6S6mWYX UOM+5p0otKiY6affVaYDdG/XH/MCgmOpizQndpP+As7aUvdpas2lkK3yDaUky1GFCECkX9/ZW+xlT /3zuTFJdy7KRCW+0mjof/M6lhMr+lhZsKCuhKIijbTJnncTH+d0cPNPn3+LPEoyPiEpG+vtQjApd1 F1zwQ6YsX46KcWAwWYX7vGgKkTe+nVQyXy8QrSedz7Ax241W2Os6vGTIEAnbo3rfFIJPO0z/jf+Lg DgCLLquEO9SLjfSkWhoyvYMyDkzG/2Pquh5cmqYFNw3sBMiItaRmNmdjTaPqbCIbggyiH/06mfVO4 j4y6USi+pETvNa0sNMeg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nIbMf-008X2O-UN; Fri, 11 Feb 2022 19:13:54 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nIbLr-008Wgh-6m for linux-arm-kernel@lists.infradead.org; Fri, 11 Feb 2022 19:13:06 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 9869061F3B; Fri, 11 Feb 2022 19:12:58 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 086E8C340E9; Fri, 11 Feb 2022 19:12:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1644606778; bh=+AeaotqsM8rM5bOHFOpDOXMyO/XVaJ+vOedzjI39y7Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kEgi6NKeSbfB0okv7KmfDi7SnjYOstpC5RNvMQPPMsPXv03xkosCy08F5z0aiMY5N LpaDMbXLDcM+JJD4deyrCmdZDZQnCLto/jqY4UEeubuWHyVqWictP8/FsfT8xzDHhD G6CdSmZT0DaFDWjCdZhkHLdSAhv1gy5oDYvdzdv7Vk/KMK2XykSLq1JRoX+47i/4W5 8CkvA2Tto4GJzBQPqSa8klzf0VlXv9egGzhUtJypAc7jTw4BS3x9gf3/svZjUbUdP3 rsP0wA/eOl2a9IOKZpezr07l/1GBBWwOo85yktNCsWarLrtcO1lWY1HAELak50o0y2 FLOKdTJhOKDCQ== From: =?UTF-8?q?Marek=20Beh=C3=BAn?= To: Stephen Boyd , Michael Turquette , Greg Kroah-Hartman , Gregory Clement Cc: =?UTF-8?q?Pali=20Roh=C3=A1r?= , linux-clk@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Marek=20Beh=C3=BAn?= Subject: [PATCH v8 6/6] serial: mvebu-uart: implement support for baudrates higher than 230400 Bd Date: Fri, 11 Feb 2022 20:12:38 +0100 Message-Id: <20220211191238.2142-7-kabel@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220211191238.2142-1-kabel@kernel.org> References: <20220211191238.2142-1-kabel@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220211_111303_421401_50E2CBF3 X-CRM114-Status: GOOD ( 26.16 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org RnJvbTogUGFsaSBSb2jDoXIgPHBhbGlAa2VybmVsLm9yZz4KCkltcGxlbWVudCBzaW1wbGUgdXNh Z2Ugb2YgZnJhY3Rpb25hbCBkaXZpc29yLiBXaGVuIG1haW4gZGl2aXNvciBEIGlzIHRvbwpsYXJn ZSB0byByZXByZXNlbnQgcmVxdWVzdGVkIGJhdWRyYXRlIHRoZW4gdXNlIGRpdmlzb3IgTSBmcm9t IHRoZQpmcmFjdGlvbmFsIGRpdmlzb3IgZmVhdHVyZS4gQWxsIHRoZSBNIHByZXNjYWxlcnMgYXJl IHNldCB0byB0aGUgc2FtZSBhbmQKbWF4aW1hbCB2YWx1ZSA2Mywgc28gdGhlIGZyYWN0aW9uYWwg cGFydCBvZiB0aGUgZnJhY3Rpb25hbCBkaXZpc29yIGlzIG5vdAp1c2VkIGF0IGFsbC4gV2UgYWxz byBkZXRlcm1pbmUgdXBwZXIgbGltaXQgZm9yIHBvc3NpYmxlIGJhdWRyYXRlcy4KCkV4cGVyaW1l bnRzIHNob3cgdGhhdCBVQVJUIGF0IGJhdWRyYXRlIDE1MDAwMDAgQmQgd2l0aCB0aGlzIGNvbmZp Z3VyYXRpb24KaXMgc3RhYmxlLiBTbyB0aGVyZSBpcyBubyBuZWVkIHRvIGltcGxlbWVudCBjb21w bGljYXRlZCBjYWxjdWxhdGlvbiBvZgpmcmFjdGlvbmFsIGNvZWZmaWNpZW50cyB5ZXQuCgpUbyB1 c2UgdGhpcyBmZWF0dXJlIHdpdGggaGlnaGVyIGJhdWRyYXRlcywgaXQgaXMgcmVxdWlyZWQgdG8g dXNlIFVBUlQgY2xvY2sKcHJvdmlkZWQgYnkgVUFSVCBjbG9jayBkcml2ZXIuIERlZmF1bHQgYm9v dCB4dGFsIGNsb2NrIGlzIG5vdCBjYXBhYmxlIG9mCmhpZ2hlciBiYXVkcmF0ZXMuCgpTaWduZWQt b2ZmLWJ5OiBQYWxpIFJvaMOhciA8cGFsaUBrZXJuZWwub3JnPgpSZXZpZXdlZC1ieTogTWFyZWsg QmVow7puIDxrYWJlbEBrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBNYXJlayBCZWjDum4gPGth YmVsQGtlcm5lbC5vcmc+Ci0tLQpDaGFuZ2VzIHNpbmNlIHY3OgotIGNoYW5nZSBjb21taXQgbWVz c2FnZSBhIGxpdHRsZQotIGZpeGVkIGluZGVudGF0aW9uIGF0IHNvbWUgcGxhY2VzCi0gYWRkZWQg TWFyZWsncyBSZXZpZXdlZC1ieSB0YWcKLS0tCiBkcml2ZXJzL3R0eS9zZXJpYWwvbXZlYnUtdWFy dC5jIHwgODMgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgNjUgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy90dHkvc2VyaWFsL212ZWJ1LXVhcnQuYyBiL2RyaXZlcnMvdHR5L3NlcmlhbC9tdmVidS11YXJ0 LmMKaW5kZXggNTYyNzhiMjlmNWY1Li45NzU2M2EyYjlmNzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv dHR5L3NlcmlhbC9tdmVidS11YXJ0LmMKKysrIGIvZHJpdmVycy90dHkvc2VyaWFsL212ZWJ1LXVh cnQuYwpAQCAtOTksNiArOTksNyBAQAogI2RlZmluZSBVQVJUX09TQU1QCQkweDE0CiAjZGVmaW5l ICBPU0FNUF9ERUZBVUxUX0RJVklTT1IJMTYKICNkZWZpbmUgIE9TQU1QX0RJVklTT1JTX01BU0sJ MHgzRjNGM0YzRgorI2RlZmluZSAgT1NBTVBfTUFYX0RJVklTT1IJNjMKIAogI2RlZmluZSBNVkVC VV9OUl9VQVJUUwkJMgogCkBAIC00NzksMTggKzQ4MCw2MCBAQCBzdGF0aWMgaW50IG12ZWJ1X3Vh cnRfYmF1ZF9yYXRlX3NldChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCB1bnNpZ25lZCBpbnQgYmF1 ZCkKIAkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCiAJLyoKLQkgKiBUaGUgYmF1ZHJhdGUgaXMgZGVy aXZlZCBmcm9tIHRoZSBVQVJUIGNsb2NrIHRoYW5rcyB0byB0d28gZGl2aXNvcnM6Ci0JICogICA+ IEQgKCJiYXVkIGdlbmVyYXRvciIpOiBjYW4gZGl2aWRlIHRoZSBjbG9jayBmcm9tIDIgdG8gMl4x MCAtIDEuCi0JICogICA+IE0gKCJmcmFjdGlvbmFsIGRpdmlzb3IiKTogYWxsb3dzIGEgYmV0dGVy IGFjY3VyYWN5IGZvcgotCSAqICAgICBiYXVkcmF0ZXMgaGlnaGVyIHRoYW4gMjMwNDAwLgorCSAq IFRoZSBiYXVkcmF0ZSBpcyBkZXJpdmVkIGZyb20gdGhlIFVBUlQgY2xvY2sgdGhhbmtzIHRvIGRp dmlzb3JzOgorCSAqICAgPiBkMSAqIGQyICgiVEJHIGRpdmlzb3JzIik6IGNhbiBkaXZpZGUgb25s eSBUQkcgY2xvY2sgZnJvbSAxIHRvIDYKKwkgKiAgID4gRCAoImJhdWQgZ2VuZXJhdG9yIik6IGNh biBkaXZpZGUgdGhlIGNsb2NrIGZyb20gMSB0byAxMDIzCisJICogICA+IE0gKCJmcmFjdGlvbmFs IGRpdmlzb3IiKTogYWxsb3dzIGEgYmV0dGVyIGFjY3VyYWN5IChmcm9tIDEgdG8gNjMpCiAJICoK LQkgKiBBcyB0aGUgZGVyaXZhdGlvbiBvZiBNIGlzIHJhdGhlciBjb21wbGljYXRlZCwgdGhlIGNv ZGUgc3RpY2tzIHRvIGl0cwotCSAqIGRlZmF1bHQgdmFsdWUgKHgxNikgd2hlbiBhbGwgdGhlIHBy ZXNjYWxlcnMgYXJlIHplcm9lZCwgYW5kIG9ubHkKLQkgKiBtYWtlcyB1c2Ugb2YgRCB0byBjb25m aWd1cmUgdGhlIGRlc2lyZWQgYmF1ZHJhdGUuCisJICogRXhhY3QgZm9ybXVsYXMgZm9yIGNhbGN1 bGF0aW5nIGJhdWRyYXRlOgorCSAqCisJICogd2l0aCBkZWZhdWx0IHgxNiBzY2hlbWU6CisJICog ICBiYXVkcmF0ZSA9IHh0YWwgLyAoZCAqIDE2KQorCSAqICAgYmF1ZHJhdGUgPSB0YmcgLyAoZDEg KiBkMiAqIGQgKiAxNikKKwkgKgorCSAqIHdpdGggZnJhY3Rpb25hbCBkaXZpc29yOgorCSAqICAg YmF1ZHJhdGUgPSAxMCAqIHh0YWwgLyAoZCAqICgzICogKG0xICsgbTIpICsgMiAqIChtMyArIG00 KSkpCisJICogICBiYXVkcmF0ZSA9IDEwICogdGJnIC8gKGQxKmQyICogZCAqICgzICogKG0xICsg bTIpICsgMiAqIChtMyArIG00KSkpCisJICoKKwkgKiBPdmVyc2FtcGxpbmcgdmFsdWU6CisJICog ICBvc2FtcCA9IChtMSA8PCAwKSB8IChtMiA8PCA4KSB8IChtMyA8PCAxNikgfCAobTQgPDwgMjQp OworCSAqCisJICogV2hlcmUgbTEgY29udHJvbHMgbnVtYmVyIG9mIGNsb2NrIGN5Y2xlcyBwZXIg Yml0IGZvciBiaXRzIDEsMiwzOworCSAqIG0yIGZvciBiaXRzIDQsNSw2OyBtMyBmb3IgYml0cyA3 LDggYW5kIG00IGZvciBiaXRzIDksMTAuCisJICoKKwkgKiBUbyBzaW1wbGlmeSBiYXVkcmF0ZSBz ZXR1cCBzZXQgYWxsIHRoZSBNIHByZXNjYWxlcnMgdG8gdGhlIHNhbWUKKwkgKiB2YWx1ZS4gRm9y IGJhdWRyYXRlcyA5NjAwIEJkIGFuZCBoaWdoZXIsIGl0IGlzIGVub3VnaCB0byB1c2UgdGhlCisJ ICogZGVmYXVsdCAoeDE2KSBkaXZpc29yIG9yIGZyYWN0aW9uYWwgZGl2aXNvciB3aXRoIE0gPSA2 Mywgc28gdGhlcmUKKwkgKiBpcyBubyBuZWVkIHRvIHVzZSByZWFsIGZyYWN0aW9uYWwgc3VwcG9y dCAod2hlcmUgdGhlIE0gcHJlc2NhbGVycworCSAqIGFyZSBub3QgZXF1YWwpLgorCSAqCisJICog V2hlbiBhbGwgdGhlIE0gcHJlc2NhbGVycyBhcmUgemVyb2VkIHRoZW4gZGVmYXVsdCAoeDE2KSBk aXZpc29yIGlzCisJICogdXNlZC4gRGVmYXVsdCB4MTYgc2NoZW1lIGlzIG1vcmUgc3RhYmxlIHRo YW4gTSAoZnJhY3Rpb25hbCBkaXZpc29yKSwKKwkgKiBzbyB1c2UgTSBvbmx5IHdoZW4gRCBkaXZp c29yIGlzIG5vdCBlbm91Z2ggdG8gZGVyaXZlIGJhdWRyYXRlLgorCSAqCisJICogTWVtYmVyIHBv cnQtPnVhcnRjbGsgaXMgZWl0aGVyIHh0YWwgY2xvY2sgcmF0ZSBvciBUQkcgY2xvY2sgcmF0ZQor CSAqIGRpdmlkZWQgYnkgKGQxICogZDIpLiBTbyBkMSBhbmQgZDIgYXJlIGFscmVhZHkgc2V0IGJ5 IHRoZSBVQVJUIGNsb2NrCisJICogZHJpdmVyIChhbmQgVUFSVCBkcml2ZXIgaXRzZWxmIGNhbm5v dCBjaGFuZ2UgdGhlbSkuIE1vcmVvdmVyIHRoZXkgYXJlCisJICogc2hhcmVkIGJldHdlZW4gYm90 aCBVQVJUcy4KIAkgKi8KKwogCW1fZGl2aXNvciA9IE9TQU1QX0RFRkFVTFRfRElWSVNPUjsKIAlk X2Rpdmlzb3IgPSBESVZfUk9VTkRfQ0xPU0VTVChwb3J0LT51YXJ0Y2xrLCBiYXVkICogbV9kaXZp c29yKTsKIAorCWlmIChkX2Rpdmlzb3IgPiBCUkRWX0JBVURfTUFYKSB7CisJCS8qCisJCSAqIEV4 cGVyaW1lbnRzIHNob3cgdGhhdCBzbWFsbCBNIGRpdmlzb3JzIGFyZSB1bnN0YWJsZS4KKwkJICog VXNlIG1heGltYWwgcG9zc2libGUgTSA9IDYzIGFuZCBjYWxjdWxhdGUgRCBkaXZpc29yLgorCQkg Ki8KKwkJbV9kaXZpc29yID0gT1NBTVBfTUFYX0RJVklTT1I7CisJCWRfZGl2aXNvciA9IERJVl9S T1VORF9DTE9TRVNUKHBvcnQtPnVhcnRjbGssIGJhdWQgKiBtX2Rpdmlzb3IpOworCX0KKworCWlm IChkX2Rpdmlzb3IgPCAxKQorCQlkX2Rpdmlzb3IgPSAxOworCWVsc2UgaWYgKGRfZGl2aXNvciA+ IEJSRFZfQkFVRF9NQVgpCisJCWRfZGl2aXNvciA9IEJSRFZfQkFVRF9NQVg7CisKIAlzcGluX2xv Y2tfaXJxc2F2ZSgmbXZlYnVfdWFydF9sb2NrLCBmbGFncyk7CiAJYnJkdiA9IHJlYWRsKHBvcnQt Pm1lbWJhc2UgKyBVQVJUX0JSRFYpOwogCWJyZHYgJj0gfkJSRFZfQkFVRF9NQVNLOwpAQCAtNTAw LDYgKzU0Myw5IEBAIHN0YXRpYyBpbnQgbXZlYnVfdWFydF9iYXVkX3JhdGVfc2V0KHN0cnVjdCB1 YXJ0X3BvcnQgKnBvcnQsIHVuc2lnbmVkIGludCBiYXVkKQogCiAJb3NhbXAgPSByZWFkbChwb3J0 LT5tZW1iYXNlICsgVUFSVF9PU0FNUCk7CiAJb3NhbXAgJj0gfk9TQU1QX0RJVklTT1JTX01BU0s7 CisJaWYgKG1fZGl2aXNvciAhPSBPU0FNUF9ERUZBVUxUX0RJVklTT1IpCisJCW9zYW1wIHw9ICht X2Rpdmlzb3IgPDwgMCkgfCAobV9kaXZpc29yIDw8IDgpIHwKKwkJCShtX2Rpdmlzb3IgPDwgMTYp IHwgKG1fZGl2aXNvciA8PCAyNCk7CiAJd3JpdGVsKG9zYW1wLCBwb3J0LT5tZW1iYXNlICsgVUFS VF9PU0FNUCk7CiAKIAlyZXR1cm4gMDsKQEAgLTUyOSwxNCArNTc1LDE2IEBAIHN0YXRpYyB2b2lk IG12ZWJ1X3VhcnRfc2V0X3Rlcm1pb3Moc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKIAkJcG9ydC0+ aWdub3JlX3N0YXR1c19tYXNrIHw9IFNUQVRfUlhfUkRZKHBvcnQpIHwgU1RBVF9CUktfRVJSOwog CiAJLyoKLQkgKiBNYXhpbWFsIGRpdmlzb3IgaXMgMTAyMyAqIDE2IHdoZW4gdXNpbmcgZGVmYXVs dCAoeDE2KSBzY2hlbWUuCi0JICogTWF4aW11bSBhY2hpZXZhYmxlIGZyZXF1ZW5jeSB3aXRoIHNp bXBsZSBiYXVkcmF0ZSBkaXZpc29yIGlzIDIzMDQwMC4KLQkgKiBTaW5jZSB0aGUgZXJyb3IgcGVy IGJpdCBmcmFtZSB3b3VsZCBiZSBvZiBtb3JlIHRoYW4gMTUlLCBhY2hpZXZpbmcKLQkgKiBoaWdo ZXIgZnJlcXVlbmNpZXMgd291bGQgcmVxdWlyZSB0byBpbXBsZW1lbnQgdGhlIGZyYWN0aW9uYWwg ZGl2aXNvcgotCSAqIGZlYXR1cmUuCisJICogTWF4aW1hbCBkaXZpc29yIGlzIDEwMjMgYW5kIG1h eGltYWwgZnJhY3Rpb25hbCBkaXZpc29yIGlzIDYzLiBBbmQKKwkgKiBleHBlcmltZW50cyBzaG93 IHRoYXQgYmF1ZHJhdGVzIGFib3ZlIDEvODAgb2YgcGFyZW50IGNsb2NrIHJhdGUgYXJlCisJICog bm90IHN0YWJsZS4gU28gZGlzYWxsb3cgYmF1ZHJhdGVzIGFib3ZlIDEvODAgb2YgdGhlIHBhcmVu dCBjbG9jaworCSAqIHJhdGUuIElmIHBvcnQtPnVhcnRjbGsgaXMgbm90IGF2YWlsYWJsZSwgdGhl bgorCSAqIG12ZWJ1X3VhcnRfYmF1ZF9yYXRlX3NldCgpIGZhaWxzLCBzbyB2YWx1ZXMgbWluX2Jh dWQgYW5kIG1heF9iYXVkCisJICogaW4gdGhpcyBjYXNlIGRvIG5vdCBtYXR0ZXIuCiAJICovCi0J bWluX2JhdWQgPSBESVZfUk9VTkRfVVAocG9ydC0+dWFydGNsaywgMTAyMyAqIDE2KTsKLQltYXhf YmF1ZCA9IDIzMDQwMDsKKwltaW5fYmF1ZCA9IERJVl9ST1VORF9VUChwb3J0LT51YXJ0Y2xrLCBC UkRWX0JBVURfTUFYICoKKwkJCQlPU0FNUF9NQVhfRElWSVNPUik7CisJbWF4X2JhdWQgPSBwb3J0 LT51YXJ0Y2xrIC8gODA7CiAKIAliYXVkID0gdWFydF9nZXRfYmF1ZF9yYXRlKHBvcnQsIHRlcm1p b3MsIG9sZCwgbWluX2JhdWQsIG1heF9iYXVkKTsKIAlpZiAobXZlYnVfdWFydF9iYXVkX3JhdGVf c2V0KHBvcnQsIGJhdWQpKSB7CkBAIC0xMzk1LDE0ICsxNDQzLDE0IEBAIHN0YXRpYyBpbnQgbXZl YnVfdWFydF9jbG9ja19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCQkJICog Q2FsY3VsYXRlIHRoZSBzbWFsbGVzdCBUQkcgZDEgYW5kIGQyIGRpdmlzb3JzIHRoYXQKIAkJCSAq IHN0aWxsIGNhbiBwcm92aWRlIDk2MDAgYmF1ZHJhdGUuCiAJCQkgKi8KLQkJCWQxID0gRElWX1JP VU5EX1VQKHJhdGUsIDk2MDAgKiBPU0FNUF9ERUZBVUxUX0RJVklTT1IgKgorCQkJZDEgPSBESVZf Uk9VTkRfVVAocmF0ZSwgOTYwMCAqIE9TQU1QX01BWF9ESVZJU09SICoKIAkJCQkJICBCUkRWX0JB VURfTUFYKTsKIAkJCWlmIChkMSA8IDEpCiAJCQkJZDEgPSAxOwogCQkJZWxzZSBpZiAoZDEgPiBD TEtfVEJHX0RJVjFfTUFYKQogCQkJCWQxID0gQ0xLX1RCR19ESVYxX01BWDsKIAotCQkJZDIgPSBE SVZfUk9VTkRfVVAocmF0ZSwgOTYwMCAqIE9TQU1QX0RFRkFVTFRfRElWSVNPUiAqCisJCQlkMiA9 IERJVl9ST1VORF9VUChyYXRlLCA5NjAwICogT1NBTVBfTUFYX0RJVklTT1IgKgogCQkJCQkgIEJS RFZfQkFVRF9NQVggKiBkMSk7CiAJCQlpZiAoZDIgPCAxKQogCQkJCWQyID0gMTsKQEAgLTE0MTcs OCArMTQ2NSw3IEBAIHN0YXRpYyBpbnQgbXZlYnVfdWFydF9jbG9ja19wcm9iZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQogCQl9CiAKIAkJLyogU2tpcCBjbG9jayBzb3VyY2Ugd2hpY2gg Y2Fubm90IHByb3ZpZGUgOTYwMCBiYXVkcmF0ZSAqLwotCQlpZiAocmF0ZSA+IDk2MDAgKiBPU0FN UF9ERUZBVUxUX0RJVklTT1IgKiBCUkRWX0JBVURfTUFYICogZDEgKgotCQkJICAgZDIpCisJCWlm IChyYXRlID4gOTYwMCAqIE9TQU1QX01BWF9ESVZJU09SICogQlJEVl9CQVVEX01BWCAqIGQxICog ZDIpCiAJCQljb250aW51ZTsKIAogCQkvKgotLSAKMi4zNC4xCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxp c3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=