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 51224C433EF for ; Thu, 16 Dec 2021 08:36:22 +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=YM0V1dyxnBVoN0SU4QhT8DANMq1ijwFsgX7gGRhKb0A=; b=rPiBXlL0mvE/kb mqqC3SyC1IGrBad21XrIo/OjKhLCyQME1nljkHkL3/whJp2JnEhHPgQwh3hKfJwGcSjuaVM2SDQVJ qi3bO1SssWmAJ0wvzLwDGrzxbQjRGzOmDSuVyQq7Y+zruJy0Lqyk0yStt5zjEz4qijzE5qz0+stNV DRRDRiPzjS5W18nmxIN91y0QlvIoYbWoiL7sfVUMqAA8H/c9RRQMz3I7qIiCUUnlrXhB4a3I/bBUL kUg9Pgw6H93TcVWpUNgHR/rapBXoQPYCXMlxwUtpSO4gtADBbZzOTC8Y3Yuf0g0L0PWTU/frvNiO2 y6XPxgRgE+w24K/G/niw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mxmEo-0048Od-3u; Thu, 16 Dec 2021 08:35:42 +0000 Received: from mail-lf1-x131.google.com ([2a00:1450:4864:20::131]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mxmDk-00483u-Fr for linux-mtd@lists.infradead.org; Thu, 16 Dec 2021 08:34:38 +0000 Received: by mail-lf1-x131.google.com with SMTP id m6so36400567lfu.1 for ; Thu, 16 Dec 2021 00:34:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kempniu.pl; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qWY7bmF5KfvvTmKVPoBmn26utRfpp8Gr9eRTtSxe1EU=; b=M8fc62CKtWF+BhetBdh/PC9vPFQKrI92A6jr3NT0Zf1dcdCW4vei2ngeFOlSQtQL8I 6trNOMda/yDrPa/CGMT4ZQJFZW/TG0PKgA2RTOwUgqCf8UTPnd8klzWPu6yU6SwF4jxZ 0745abnUw7aCAjwTXQamrfHZ8O2oY/4CtyaHo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qWY7bmF5KfvvTmKVPoBmn26utRfpp8Gr9eRTtSxe1EU=; b=K736ywb4m9tPdSMmdzfUaxHH2b99A0avCHHc1BhpM4PlCnresInaZZlZwc7o/E4SGb HoXQomIfR+kco/TBVEXFiVZB8HL0swO8dgBpOlFPLxkCN6DCR/oizgGiShEgFa484UXh 6lC9wzADd4esU6lS4jlMeJM5ozJtxLd7pLvMpeUb8D9hro0Odx3qF9ZOUBnXes3INwRv Rn7QJIvmDdTFet8xX5hBeYDI91vHVSCboKbDsAbC9192goIzcgaUmXQ4Y9RqYIiB/who ySZfj1yZulGHoHSOWSPEaH3KZ3b3FnjQvblsokCYqXEcIxTco2mTvgUqTYq3GLC6BvgA R0lg== X-Gm-Message-State: AOAM531D7HIKshj5mkotXwmlvmh5skC+XKxNr1fDAIAhD0mXWVBSWeLS WhYHA8Lwfvk7AH/IwPqezZWIow== X-Google-Smtp-Source: ABdhPJyciHXuVAMopTawY2pAJBPB8FoixP34x2dQX4Hgwqp7YeN4g6i18LolcbOv15PdxW6uXWDinw== X-Received: by 2002:ac2:5df6:: with SMTP id z22mr13450497lfq.230.1639643674512; Thu, 16 Dec 2021 00:34:34 -0800 (PST) Received: from larwa.hq.kempniu.pl ([2001:470:64df:111::e02]) by smtp.gmail.com with ESMTPSA id c2sm985679ljf.50.2021.12.16.00.34.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Dec 2021 00:34:34 -0800 (PST) From: =?UTF-8?q?Micha=C5=82=20K=C4=99pie=C5=84?= To: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra Cc: Boris Brezillon , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 4/5] mtd: add ECC error accounting for each read request Date: Thu, 16 Dec 2021 09:34:17 +0100 Message-Id: <20211216083418.13512-5-kernel@kempniu.pl> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20211216083418.13512-1-kernel@kempniu.pl> References: <20211216083418.13512-1-kernel@kempniu.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211216_003436_571359_D68D7B54 X-CRM114-Status: GOOD ( 20.73 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org RXh0ZW5kIHN0cnVjdCBtdGRfcmVxX3N0YXRzIHdpdGggdHdvIG5ldyBmaWVsZHMgaG9sZGluZyB0 aGUgbnVtYmVyIG9mCmNvcnJlY3RlZCBiaXRmbGlwcyBhbmQgdW5jb3JyZWN0YWJsZSBlcnJvcnMg ZGV0ZWN0ZWQgZHVyaW5nIGEgcmVhZApvcGVyYXRpb24uICBUaGlzIGlzIGEgcHJlcmVxdWlzaXRl IGZvciB1bHRpbWF0ZWx5IHBhc3NpbmcgdGhvc2UgY291bnRlcnMKdG8gdXNlciBzcGFjZSwgd2hl cmUgdGhleSBjYW4gYmUgdXNlZnVsIHRvIGFwcGxpY2F0aW9ucyBmb3IgbWFraW5nCmJldHRlci1p bmZvcm1lZCBjaG9pY2VzIGFib3V0IG1vdmluZyBkYXRhIGFyb3VuZC4gIE1haW50YWluaW5nIHRo ZXNlCmNvdW50ZXJzIGlzIGFsc28gbmVjZXNzYXJ5IGZvciB0aGUgdmFsdWUgcmV0dXJuZWQgYnkg bXRkY2hhcidzIE1FTVJFQUQKaW9jdGwgdG8gYmUgZGV0ZXJtaW5lZCBjb3JyZWN0bHkuCgpVbmxp a2UgJ21heF9iaXRmbGlwcycgKHdoaWNoIGlzIHNldCAtIGluIGEgY29tbW9uIGNvZGUgcGF0aCAt IHRvIHRoZQpyZXR1cm4gdmFsdWUgb2YgYSBmdW5jdGlvbiBjYWxsZWQgd2hpbGUgdGhlIE1URCBk ZXZpY2UncyBtdXRleCBpcyBoZWxkKSwKdGhlc2UgY291bnRlcnMgaGF2ZSB0byBiZSBtYWludGFp bmVkIGluIGVhY2ggTVREIGRyaXZlciB3aGljaCBkZWZpbmVzCnRoZSAnX3JlYWRfb29iJyBjYWxs YmFjayBiZWNhdXNlIHRoZSBzdGF0aXN0aWNzIG5lZWQgdG8gYmUgY2FsY3VsYXRlZAp3aGlsZSB0 aGUgTVREIGRldmljZSdzIG11dGV4IGlzIGhlbGQuCgpTdWdnZXN0ZWQtYnk6IEJvcmlzIEJyZXpp bGxvbiA8Ym9yaXMuYnJlemlsbG9uQGNvbGxhYm9yYS5jb20+ClNpZ25lZC1vZmYtYnk6IE1pY2hh xYIgS8SZcGllxYQgPGtlcm5lbEBrZW1wbml1LnBsPgotLS0KIGRyaXZlcnMvbXRkL2RldmljZXMv ZG9jZzMuYyAgICAgICAgICAgICB8ICA4ICsrKysrKysrCiBkcml2ZXJzL210ZC9uYW5kL29uZW5h bmQvb25lbmFuZF9iYXNlLmMgfCAxMiArKysrKysrKysrKysKIGRyaXZlcnMvbXRkL25hbmQvcmF3 L25hbmRfYmFzZS5jICAgICAgICB8IDEwICsrKysrKysrKysKIGRyaXZlcnMvbXRkL25hbmQvc3Bp L2NvcmUuYyAgICAgICAgICAgICB8IDEwICsrKysrKysrKysKIGluY2x1ZGUvbGludXgvbXRkL210 ZC5oICAgICAgICAgICAgICAgICB8ICAyICsrCiA1IGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9kZXZpY2VzL2RvY2czLmMgYi9kcml2ZXJz L210ZC9kZXZpY2VzL2RvY2czLmMKaW5kZXggNWIwYWU1ZGRhZDc0Li4zNzgzYWU1YzZkMjMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbXRkL2RldmljZXMvZG9jZzMuYworKysgYi9kcml2ZXJzL210ZC9k ZXZpY2VzL2RvY2czLmMKQEAgLTg3MSw2ICs4NzEsNyBAQCBzdGF0aWMgaW50IGRvY19yZWFkX29v YihzdHJ1Y3QgbXRkX2luZm8gKm10ZCwgbG9mZl90IGZyb20sCiAJdTggKmJ1ZiA9IG9wcy0+ZGF0 YnVmOwogCXNpemVfdCBsZW4sIG9vYmxlbiwgbmJkYXRhLCBuYm9vYjsKIAl1OCBod2VjY1tET0Nf RUNDX0JDSF9TSVpFXSwgZWNjY29uZjE7CisJc3RydWN0IG10ZF9lY2Nfc3RhdHMgb2xkX3N0YXRz OwogCWludCBtYXhfYml0ZmxpcHMgPSAwOwogCiAJaWYgKGJ1ZikKQEAgLTg5NSw2ICs4OTYsNyBA QCBzdGF0aWMgaW50IGRvY19yZWFkX29vYihzdHJ1Y3QgbXRkX2luZm8gKm10ZCwgbG9mZl90IGZy b20sCiAJcmV0ID0gMDsKIAlza2lwID0gZnJvbSAlIERPQ19MQVlPVVRfUEFHRV9TSVpFOwogCW11 dGV4X2xvY2soJmRvY2czLT5jYXNjYWRlLT5sb2NrKTsKKwlvbGRfc3RhdHMgPSBtdGQtPmVjY19z dGF0czsKIAl3aGlsZSAocmV0ID49IDAgJiYgKGxlbiA+IDAgfHwgb29ibGVuID4gMCkpIHsKIAkJ Y2FsY19ibG9ja19zZWN0b3IoZnJvbSAtIHNraXAsICZibG9jazAsICZibG9jazEsICZwYWdlLCAm b2ZzLAogCQkJZG9jZzMtPnJlbGlhYmxlKTsKQEAgLTk2Niw2ICs5NjgsMTIgQEAgc3RhdGljIGlu dCBkb2NfcmVhZF9vb2Ioc3RydWN0IG10ZF9pbmZvICptdGQsIGxvZmZfdCBmcm9tLAogCX0KIAog b3V0OgorCWlmIChvcHMtPnN0YXRzKSB7CisJCW9wcy0+c3RhdHMtPnVuY29ycmVjdGFibGVfZXJy b3JzICs9CisJCQltdGQtPmVjY19zdGF0cy5mYWlsZWQgLSBvbGRfc3RhdHMuZmFpbGVkOworCQlv cHMtPnN0YXRzLT5jb3JyZWN0ZWRfYml0ZmxpcHMgKz0KKwkJCW10ZC0+ZWNjX3N0YXRzLmNvcnJl Y3RlZCAtIG9sZF9zdGF0cy5jb3JyZWN0ZWQ7CisJfQogCW11dGV4X3VubG9jaygmZG9jZzMtPmNh c2NhZGUtPmxvY2spOwogCXJldHVybiByZXQ7CiBlcnJfaW5fcmVhZDoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbXRkL25hbmQvb25lbmFuZC9vbmVuYW5kX2Jhc2UuYyBiL2RyaXZlcnMvbXRkL25hbmQv b25lbmFuZC9vbmVuYW5kX2Jhc2UuYwppbmRleCA1ODEwMTA0NDIwYTIuLmY2NjM4NWZhZjYzMSAx MDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvbmFuZC9vbmVuYW5kL29uZW5hbmRfYmFzZS5jCisrKyBi L2RyaXZlcnMvbXRkL25hbmQvb25lbmFuZC9vbmVuYW5kX2Jhc2UuYwpAQCAtMTQ0MCw2ICsxNDQw LDcgQEAgc3RhdGljIGludCBvbmVuYW5kX3JlYWRfb29iKHN0cnVjdCBtdGRfaW5mbyAqbXRkLCBs b2ZmX3QgZnJvbSwKIAkJCSAgICBzdHJ1Y3QgbXRkX29vYl9vcHMgKm9wcykKIHsKIAlzdHJ1Y3Qg b25lbmFuZF9jaGlwICp0aGlzID0gbXRkLT5wcml2OworCXN0cnVjdCBtdGRfZWNjX3N0YXRzIG9s ZF9zdGF0czsKIAlpbnQgcmV0OwogCiAJc3dpdGNoIChvcHMtPm1vZGUpIHsKQEAgLTE0NTMsMTIg KzE0NTQsMjMgQEAgc3RhdGljIGludCBvbmVuYW5kX3JlYWRfb29iKHN0cnVjdCBtdGRfaW5mbyAq bXRkLCBsb2ZmX3QgZnJvbSwKIAl9CiAKIAlvbmVuYW5kX2dldF9kZXZpY2UobXRkLCBGTF9SRUFE SU5HKTsKKworCW9sZF9zdGF0cyA9IG10ZC0+ZWNjX3N0YXRzOworCiAJaWYgKG9wcy0+ZGF0YnVm KQogCQlyZXQgPSBPTkVOQU5EX0lTXzRLQl9QQUdFKHRoaXMpID8KIAkJCW9uZW5hbmRfbWxjX3Jl YWRfb3BzX25vbG9jayhtdGQsIGZyb20sIG9wcykgOgogCQkJb25lbmFuZF9yZWFkX29wc19ub2xv Y2sobXRkLCBmcm9tLCBvcHMpOwogCWVsc2UKIAkJcmV0ID0gb25lbmFuZF9yZWFkX29vYl9ub2xv Y2sobXRkLCBmcm9tLCBvcHMpOworCisJaWYgKG9wcy0+c3RhdHMpIHsKKwkJb3BzLT5zdGF0cy0+ dW5jb3JyZWN0YWJsZV9lcnJvcnMgKz0KKwkJCW10ZC0+ZWNjX3N0YXRzLmZhaWxlZCAtIG9sZF9z dGF0cy5mYWlsZWQ7CisJCW9wcy0+c3RhdHMtPmNvcnJlY3RlZF9iaXRmbGlwcyArPQorCQkJbXRk LT5lY2Nfc3RhdHMuY29ycmVjdGVkIC0gb2xkX3N0YXRzLmNvcnJlY3RlZDsKKwl9CisKIAlvbmVu YW5kX3JlbGVhc2VfZGV2aWNlKG10ZCk7CiAKIAlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9tdGQvbmFuZC9yYXcvbmFuZF9iYXNlLmMgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9uYW5k X2Jhc2UuYwppbmRleCBiM2E5YmMwOGI0YmIuLjkwMmE4OGE0Y2FhZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9tdGQvbmFuZC9yYXcvbmFuZF9iYXNlLmMKKysrIGIvZHJpdmVycy9tdGQvbmFuZC9yYXcv bmFuZF9iYXNlLmMKQEAgLTM3NTAsNiArMzc1MCw3IEBAIHN0YXRpYyBpbnQgbmFuZF9yZWFkX29v YihzdHJ1Y3QgbXRkX2luZm8gKm10ZCwgbG9mZl90IGZyb20sCiAJCQkgc3RydWN0IG10ZF9vb2Jf b3BzICpvcHMpCiB7CiAJc3RydWN0IG5hbmRfY2hpcCAqY2hpcCA9IG10ZF90b19uYW5kKG10ZCk7 CisJc3RydWN0IG10ZF9lY2Nfc3RhdHMgb2xkX3N0YXRzOwogCWludCByZXQ7CiAKIAlvcHMtPnJl dGxlbiA9IDA7CkBAIC0zNzYzLDExICszNzY0LDIwIEBAIHN0YXRpYyBpbnQgbmFuZF9yZWFkX29v YihzdHJ1Y3QgbXRkX2luZm8gKm10ZCwgbG9mZl90IGZyb20sCiAJaWYgKHJldCkKIAkJcmV0dXJu IHJldDsKIAorCW9sZF9zdGF0cyA9IG10ZC0+ZWNjX3N0YXRzOworCiAJaWYgKCFvcHMtPmRhdGJ1 ZikKIAkJcmV0ID0gbmFuZF9kb19yZWFkX29vYihjaGlwLCBmcm9tLCBvcHMpOwogCWVsc2UKIAkJ cmV0ID0gbmFuZF9kb19yZWFkX29wcyhjaGlwLCBmcm9tLCBvcHMpOwogCisJaWYgKG9wcy0+c3Rh dHMpIHsKKwkJb3BzLT5zdGF0cy0+dW5jb3JyZWN0YWJsZV9lcnJvcnMgKz0KKwkJCW10ZC0+ZWNj X3N0YXRzLmZhaWxlZCAtIG9sZF9zdGF0cy5mYWlsZWQ7CisJCW9wcy0+c3RhdHMtPmNvcnJlY3Rl ZF9iaXRmbGlwcyArPQorCQkJbXRkLT5lY2Nfc3RhdHMuY29ycmVjdGVkIC0gb2xkX3N0YXRzLmNv cnJlY3RlZDsKKwl9CisKIAluYW5kX3JlbGVhc2VfZGV2aWNlKGNoaXApOwogCXJldHVybiByZXQ7 CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9uYW5kL3NwaS9jb3JlLmMgYi9kcml2ZXJzL210 ZC9uYW5kL3NwaS9jb3JlLmMKaW5kZXggMmM4Njg1ZjFmMmZhLi41Yzk1NmM4Y2FlOWYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbXRkL25hbmQvc3BpL2NvcmUuYworKysgYi9kcml2ZXJzL210ZC9uYW5k L3NwaS9jb3JlLmMKQEAgLTYyOSw2ICs2MjksNyBAQCBzdGF0aWMgaW50IHNwaW5hbmRfbXRkX3Jl YWQoc3RydWN0IG10ZF9pbmZvICptdGQsIGxvZmZfdCBmcm9tLAogewogCXN0cnVjdCBzcGluYW5k X2RldmljZSAqc3BpbmFuZCA9IG10ZF90b19zcGluYW5kKG10ZCk7CiAJc3RydWN0IG5hbmRfZGV2 aWNlICpuYW5kID0gbXRkX3RvX25hbmRkZXYobXRkKTsKKwlzdHJ1Y3QgbXRkX2VjY19zdGF0cyBv bGRfc3RhdHM7CiAJdW5zaWduZWQgaW50IG1heF9iaXRmbGlwcyA9IDA7CiAJc3RydWN0IG5hbmRf aW9faXRlciBpdGVyOwogCWJvb2wgZGlzYWJsZV9lY2MgPSBmYWxzZTsKQEAgLTY0MCw2ICs2NDEs OCBAQCBzdGF0aWMgaW50IHNwaW5hbmRfbXRkX3JlYWQoc3RydWN0IG10ZF9pbmZvICptdGQsIGxv ZmZfdCBmcm9tLAogCiAJbXV0ZXhfbG9jaygmc3BpbmFuZC0+bG9jayk7CiAKKwlvbGRfc3RhdHMg PSBtdGQtPmVjY19zdGF0czsKKwogCW5hbmRkZXZfaW9fZm9yX2VhY2hfcGFnZShuYW5kLCBOQU5E X1BBR0VfUkVBRCwgZnJvbSwgb3BzLCAmaXRlcikgewogCQlpZiAoZGlzYWJsZV9lY2MpCiAJCQlp dGVyLnJlcS5tb2RlID0gTVREX09QU19SQVc7CkBAIC02NjIsNiArNjY1LDEzIEBAIHN0YXRpYyBp bnQgc3BpbmFuZF9tdGRfcmVhZChzdHJ1Y3QgbXRkX2luZm8gKm10ZCwgbG9mZl90IGZyb20sCiAJ CW9wcy0+b29icmV0bGVuICs9IGl0ZXIucmVxLm9vYmxlbjsKIAl9CiAKKwlpZiAob3BzLT5zdGF0 cykgeworCQlvcHMtPnN0YXRzLT51bmNvcnJlY3RhYmxlX2Vycm9ycyArPQorCQkJbXRkLT5lY2Nf c3RhdHMuZmFpbGVkIC0gb2xkX3N0YXRzLmZhaWxlZDsKKwkJb3BzLT5zdGF0cy0+Y29ycmVjdGVk X2JpdGZsaXBzICs9CisJCQltdGQtPmVjY19zdGF0cy5jb3JyZWN0ZWQgLSBvbGRfc3RhdHMuY29y cmVjdGVkOworCX0KKwogCW11dGV4X3VubG9jaygmc3BpbmFuZC0+bG9jayk7CiAKIAlpZiAoZWNj X2ZhaWxlZCAmJiAhcmV0KQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tdGQvbXRkLmggYi9p bmNsdWRlL2xpbnV4L210ZC9tdGQuaAppbmRleCBmOTc2YWFiY2IzNzguLjQ1YTBjMjAzMDViMCAx MDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9tdGQvbXRkLmgKKysrIGIvaW5jbHVkZS9saW51eC9t dGQvbXRkLmgKQEAgLTQxLDYgKzQxLDggQEAgc3RydWN0IG10ZF9lcmFzZV9yZWdpb25faW5mbyB7 CiB9OwogCiBzdHJ1Y3QgbXRkX3JlcV9zdGF0cyB7CisJdW5zaWduZWQgaW50IHVuY29ycmVjdGFi bGVfZXJyb3JzOworCXVuc2lnbmVkIGludCBjb3JyZWN0ZWRfYml0ZmxpcHM7CiAJdW5zaWduZWQg aW50IG1heF9iaXRmbGlwczsKIH07CiAKLS0gCjIuMzQuMQoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eCBNVEQgZGlzY3Vzc2lvbiBt YWlsaW5nIGxpc3QKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s aW51eC1tdGQvCg==