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 X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7616AC4742C for ; Wed, 4 Nov 2020 03:57:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 215BE22277 for ; Wed, 4 Nov 2020 03:57:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="WQuoUcS/" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729414AbgKDD5a (ORCPT ); Tue, 3 Nov 2020 22:57:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60254 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728551AbgKDD53 (ORCPT ); Tue, 3 Nov 2020 22:57:29 -0500 Received: from mail-lf1-x144.google.com (mail-lf1-x144.google.com [IPv6:2a00:1450:4864:20::144]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 88CD7C0401C1 for ; Tue, 3 Nov 2020 19:57:29 -0800 (PST) Received: by mail-lf1-x144.google.com with SMTP id y184so23303946lfa.12 for ; Tue, 03 Nov 2020 19:57:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=E1VJ7b3W8qM62l1kvWjETzE9rcrSZnPfWF78cZ7XqHc=; b=WQuoUcS/8+RFneJcRcTCkWtO7eY0WffJfcFFmqD+aVegAZnJg3TKGJ97uzSoYkMPXs E8xkxnENpb54yWI0N9EdxBtfDTmA6UWmd9e9K276WJAEW0euhyoGU4tmg52vKl+eFsqT 8D1n57DX1mvkCPjwMxmKZTb1sCPoQb9wjM1Rw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=E1VJ7b3W8qM62l1kvWjETzE9rcrSZnPfWF78cZ7XqHc=; b=cUdW1210TdsltbH5g34uteFJhGcvnIBzMBHWTV3oOKlHVPo2kl/Yr8kikjRU7CcU91 ziqI4Dk2IUU1Vfi7VSeyM074xW5k1HfIpdQQHD1agXxuAsHa90q9hoEYEtVJ7MarwZmX UsiaVdBIMOdwoUf3tEPeSwjUGTzAZp3uRWNvV+COQFHDiGMtx4db7xtnLNMDxJojwmwg +7jYWD1LLPseMjL79yvz6opgHhPB6JaIKnISZirmqiXWuiv3jnIrP6TFZ/nUxbOsgd4X PEvUmVHhnIaWEpBUZtjRSURyJxk0kGPrfTnqMzJB8LaQp/m3tqt4RmU9WYqT76lB/I0/ nYJg== X-Gm-Message-State: AOAM5308TSsIjAHzGQ66vO+RBU8rrOgCAslEmQ/2C6HulGbFFvZWC/fE Qsv3qBiUUfUlT4p90WbZpJ82rzBRG4Y5Kwudw/21CA== X-Google-Smtp-Source: ABdhPJy0KlKHv7n8jvHCRk3WYvhvUrG7sZqZBvezZPpkVKRsk8FaPsUQId11RTWZfCBQN7zpIKMYs7uTBOzHWlmDcY4= X-Received: by 2002:a05:6512:1da:: with SMTP id f26mr9576019lfp.245.1604462247625; Tue, 03 Nov 2020 19:57:27 -0800 (PST) MIME-Version: 1.0 References: <20201102035433.6774-6-rayagonda.kokatanur@broadcom.com> <861d734f-c776-f70b-e414-a4b32c0f991e@gmail.com> In-Reply-To: <861d734f-c776-f70b-e414-a4b32c0f991e@gmail.com> From: Rayagonda Kokatanur Date: Wed, 4 Nov 2020 09:27:16 +0530 Message-ID: Subject: Re: [PATCH v3 5/6] i2c: iproc: handle master read request To: Florian Fainelli Cc: Dhananjay Phadke , Andy Shevchenko , BCM Kernel Feedback , Brendan Higgins , linux-arm Mailing List , linux-i2c , Linux Kernel Mailing List , Lori Hikichi , Ray Jui , Scott Branden , Wolfram Sang Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="0000000000005a6f4305b33ffae3" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --0000000000005a6f4305b33ffae3 Content-Type: text/plain; charset="UTF-8" On Wed, Nov 4, 2020 at 9:05 AM Florian Fainelli wrote: > > > > On 11/2/2020 10:19 PM, Dhananjay Phadke wrote: > > On Mon, 2 Nov 2020 09:24:32 +0530, Rayagonda Kokatanur wrote: > > > >> Handle single or multi byte master read request with or without > >> repeated start. > >> > >> Fixes: c245d94ed106 ("i2c: iproc: Add multi byte read-write support for slave mode") > >> Signed-off-by: Rayagonda Kokatanur > >> --- > >> drivers/i2c/busses/i2c-bcm-iproc.c | 215 +++++++++++++++++++++++------ > >> 1 file changed, 170 insertions(+), 45 deletions(-) > >> > >> diff --git a/drivers/i2c/busses/i2c-bcm-iproc.c b/drivers/i2c/busses/i2c-bcm-iproc.c > >> index 7a235f9f5884..22e04055b447 100644 > >> --- a/drivers/i2c/busses/i2c-bcm-iproc.c > >> +++ b/drivers/i2c/busses/i2c-bcm-iproc.c > >> @@ -160,6 +160,11 @@ > >> > >> #define IE_S_ALL_INTERRUPT_SHIFT 21 > >> #define IE_S_ALL_INTERRUPT_MASK 0x3f > >> +/* > >> + * It takes ~18us to reading 10bytes of data, hence to keep tasklet > >> + * running for less time, max slave read per tasklet is set to 10 bytes. > >> + */ > >> +#define MAX_SLAVE_RX_PER_INT 10 > >> > > > > In patch [3/6], you've enabled IS_S_RX_THLD_SHIFT in slave ISR bitmask, > > however it's not actually used in processing rx events. > > > > Instead of hardcoding this threshold here, it's better to add a > > device-tree knob for rx threshold, program it in controller and handle > > that RX_THLD interrupt. This will give more flexibility to drain the rx > > fifo earlier than - > > (1) waiting for FIFO_FULL interrupt for transactions > 64B. > > (2) waiting for start of read transaction in case of master write-read. Yes this is one way to implement. But do you see any issue in batching 64 bytes at a time in case of transaction > 64 Bytes. I feel batching will be more efficient as it avoids more number of interrupts and hence context switch. > > The Device Tree is really intended to describe the hardware FIFO size, > not watermarks, as those tend to be more of a policy/work load decision. > Maybe this is something that can be added as a module parameter, or > configurable via ioctl() at some point. #define MAX_SLAVE_RX_PER_INT 10 is not hw fifo threshold level, it is a kind of watermark for the tasklet to process the max number of packets in single run. The intention to add the macro is to make sure the tasklet does not run more than 20us. If we keep this as a module parameter or dt parameter then there is a good possibility that the number can be set to higher value. This will make the tasklet run more than 20us and defeat the purpose. This number is constant and not variable to change Please feel free to add your comments. Best regards, Rayagonda > -- > Florian --0000000000005a6f4305b33ffae3 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 xVUYGnc0GLrYeHC2X4wJbUsgi+UFM/rVW0RKe5Sg4xmLXWc/rBhXDBVPeFVdN2dYsk5MyDRM/fXj cAA+xTX+SQGoND8CAwEAAaOCAdcwggHTMA4GA1UdDwEB/wQEAwIFoDCBngYIKwYBBQUHAQEEgZEw gY4wTQYIKwYBBQUHMAKGQWh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L2dzcGVy c29uYWxzaWduMnNoYTJnM29jc3AuY3J0MD0GCCsGAQUFBzABhjFodHRwOi8vb2NzcDIuZ2xvYmFs c2lnbi5jb20vZ3NwZXJzb25hbHNpZ24yc2hhMmczME0GA1UdIARGMEQwQgYKKwYBBAGgMgEoCjA0 MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAJBgNV HRMEAjAAMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20vZ3NwZXJz b25hbHNpZ24yc2hhMmczLmNybDArBgNVHREEJDAigSByYXlhZ29uZGEua29rYXRhbnVyQGJyb2Fk Y29tLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNVHSMEGDAWgBRpcoJiMWeVRIV3kYDEBDZJ nXsLYTAdBgNVHQ4EFgQU1rE7oQJ7FiSTADFOqokePoGwIq4wDQYJKoZIhvcNAQELBQADggEBAD8I VcITGu1E61LQLR1zygqFw8ByKPgiiprMuQB74Viskl7pAZigzYJB8H3Mpd2ljve+GRo8yvbBC76r Gi5WdS06XI5vuImDJ2g6QUt754rj7xEYftM5Gy9ZMslKNvSiPPh1/ACx5w7ecD1ZK0YLMKGATeBD XybduRFIEPZBAjgJ5LOYT2ax3ZesfAkan1XJ97yLA93edgTTO2cbUAADTIMFWm4lI/e14wdGmK0I FtqJWw6DATg5ePiAAn+S0JoIL1xqKsZi2ioNqm02QMFb7RbB3yEGb/7ZLAGcPW666o5GSLsUnPPq YOfL/3X6tVfGeoi3IgfI+z76/lXk8vOQzQQxggJvMIICawIBATBtMF0xCzAJBgNVBAYTAkJFMRkw FwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTMwMQYDVQQDEypHbG9iYWxTaWduIFBlcnNvbmFsU2ln biAyIENBIC0gU0hBMjU2IC0gRzMCDDw+ri+StHzo6PJZ/DANBglghkgBZQMEAgEFAKCB1DAvBgkq hkiG9w0BCQQxIgQguIgJQdoPdON4MJRNk4F8yoCvkyKE0Zah3wDbm3Xu6fcwGAYJKoZIhvcNAQkD MQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjAxMTA0MDM1NzI4WjBpBgkqhkiG9w0BCQ8x XDBaMAsGCWCGSAFlAwQBKjALBglghkgBZQMEARYwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMAsG CSqGSIb3DQEBCjALBgkqhkiG9w0BAQcwCwYJYIZIAWUDBAIBMA0GCSqGSIb3DQEBAQUABIIBAHt1 4SvmJzLo6BpvQ3LeHXmESkQZS5nS0UW0eZ1djH+86BzYaV8M5BpqCSEzeI05YBJ4/B0dD9U4B9MU sHHgMJ4caOPTIzb6Ku0B81Bqlzru8IZD06fKaYN411w9L3c514umqAHCHDe9HKBtt0bQkOl71m2x 0nu9+vsMBna1VxGmxItLOosiBbhlI3AjXSYrgmz4iutfnru0cVDc4YxeKB2q3VxXlOfjkQMC1jr5 X7oJEqTdD906DlEA4JxRsyWhSmi/MltYiu6Fa2s/EV0caIkwTPjx6QEQDtQXZNVJvnpy+PO6jqBw G3DRV7n5b1MuNNSvridsp+VovXopRNS6yjc= --0000000000005a6f4305b33ffae3-- 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 X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D5016C2D0A3 for ; Wed, 4 Nov 2020 03:58:31 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6E4B122277 for ; Wed, 4 Nov 2020 03:58:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="0hBqp8gq"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="aME1mulr" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6E4B122277 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Type:Cc: List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:To: Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=bNSLbX+lSglZ42hWDKqFpdAu30E4EEqBpwYzAELzG6k=; b=0hBqp8gqHzw9hrpMq6cOfLOTT Aama5hyySAImgJ4BHB8JzsaO/gwK7dl19tU1r6ugEp9f1QlkK2BJQgEID2C/aiInwPuMrdRZ3YTcT 40+tLo1yHKPlOaE9PL8ynHOoYWGYRcn1+cPkdYH92zv9VznOlfNxtWm2zjDTJ4JFmCxbEBqJOlw3N qw3DkLD3Ei5CLsLc+jJC6rBn3ykHX7v6gu3mPOIOpAkAy6oStgMuVga1ejMEQzAVOo/SnvjZ8p/Sq wxGVQzuUZE/Oir8l+PKRH97tXa1PzNONV3aC1M4mX2vqM5UIlWVyDTWSbr6NpES/cNV3KGuzffeTQ 3PnMDkDKQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ka9vT-000424-Ic; Wed, 04 Nov 2020 03:57:35 +0000 Received: from mail-lf1-x142.google.com ([2a00:1450:4864:20::142]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1ka9vP-00041P-EC for linux-arm-kernel@lists.infradead.org; Wed, 04 Nov 2020 03:57:33 +0000 Received: by mail-lf1-x142.google.com with SMTP id i6so25294510lfd.1 for ; Tue, 03 Nov 2020 19:57:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WlxMWrccgzDRvWSPJ8twJXXGcsd7Z9NkymksTn991Q4=; b=aME1mulr1NxHlQE9UYaoS48NA1H+AHZsC5FOBSWKBY3mIp+AE2XvrWGJLLD3KJaD4y z7tY2xuVaYyO9BOT1kSlWoLA8G5TGLj2lMRdaVvY9SLMC49yU0UsnJc12UUYjc77wSim IN/2dQ6NnVToGKvTOjjH68JOBEnlVJiIvygSk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WlxMWrccgzDRvWSPJ8twJXXGcsd7Z9NkymksTn991Q4=; b=MpVty/68LHmXXxKgqX4rr5CrWssF3/dVF79CZZjFT5TTbJiiCvV5a3WTMVyMegY46r mwSuQi0hB0pctd/dW8sQdYs3xHttnmJXAG7QKyWazfqzKw2brhE2vQJ52P2ccMRnVVwo eIfCiFpBVwDu1tcXurkMI4rltkcBb0DEka65MdywI+ccQSNwkf1rJ6BQrQZYzoNWrP6A f0orGD2zbfNnqUohAJ+Eganiy8bZRH4yJVSHaEwAz3IaGDf13S+98/bLu3b6Ydm+Xeuw +iUWhxkxuzFsx1NpPHsOHnlbinWLsmNEUzvcEFhP9m2h52aJhFwpNkMqNiEEk5Ln0zSX VokQ== X-Gm-Message-State: AOAM53366pQytbH67e1HUd4xy5R/Vz/DyL72FHLSwIdGj1LWrI+jlJxH xNxWJ7V5GLfMKEheaQDF3G3CXHzQD4i+ZxbZ0wu9HQ== X-Google-Smtp-Source: ABdhPJy0KlKHv7n8jvHCRk3WYvhvUrG7sZqZBvezZPpkVKRsk8FaPsUQId11RTWZfCBQN7zpIKMYs7uTBOzHWlmDcY4= X-Received: by 2002:a05:6512:1da:: with SMTP id f26mr9576019lfp.245.1604462247625; Tue, 03 Nov 2020 19:57:27 -0800 (PST) MIME-Version: 1.0 References: <20201102035433.6774-6-rayagonda.kokatanur@broadcom.com> <861d734f-c776-f70b-e414-a4b32c0f991e@gmail.com> In-Reply-To: <861d734f-c776-f70b-e414-a4b32c0f991e@gmail.com> From: Rayagonda Kokatanur Date: Wed, 4 Nov 2020 09:27:16 +0530 Message-ID: Subject: Re: [PATCH v3 5/6] i2c: iproc: handle master read request To: Florian Fainelli X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201103_225731_782730_3D172A01 X-CRM114-Status: GOOD ( 24.67 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Lori Hikichi , Scott Branden , Ray Jui , Brendan Higgins , Linux Kernel Mailing List , Wolfram Sang , BCM Kernel Feedback , Dhananjay Phadke , Andy Shevchenko , linux-arm Mailing List , linux-i2c Content-Type: multipart/mixed; boundary="===============5125896273747698552==" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org --===============5125896273747698552== Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="0000000000005a65fe05b33ffad5" --0000000000005a65fe05b33ffad5 Content-Type: text/plain; charset="UTF-8" On Wed, Nov 4, 2020 at 9:05 AM Florian Fainelli wrote: > > > > On 11/2/2020 10:19 PM, Dhananjay Phadke wrote: > > On Mon, 2 Nov 2020 09:24:32 +0530, Rayagonda Kokatanur wrote: > > > >> Handle single or multi byte master read request with or without > >> repeated start. > >> > >> Fixes: c245d94ed106 ("i2c: iproc: Add multi byte read-write support for slave mode") > >> Signed-off-by: Rayagonda Kokatanur > >> --- > >> drivers/i2c/busses/i2c-bcm-iproc.c | 215 +++++++++++++++++++++++------ > >> 1 file changed, 170 insertions(+), 45 deletions(-) > >> > >> diff --git a/drivers/i2c/busses/i2c-bcm-iproc.c b/drivers/i2c/busses/i2c-bcm-iproc.c > >> index 7a235f9f5884..22e04055b447 100644 > >> --- a/drivers/i2c/busses/i2c-bcm-iproc.c > >> +++ b/drivers/i2c/busses/i2c-bcm-iproc.c > >> @@ -160,6 +160,11 @@ > >> > >> #define IE_S_ALL_INTERRUPT_SHIFT 21 > >> #define IE_S_ALL_INTERRUPT_MASK 0x3f > >> +/* > >> + * It takes ~18us to reading 10bytes of data, hence to keep tasklet > >> + * running for less time, max slave read per tasklet is set to 10 bytes. > >> + */ > >> +#define MAX_SLAVE_RX_PER_INT 10 > >> > > > > In patch [3/6], you've enabled IS_S_RX_THLD_SHIFT in slave ISR bitmask, > > however it's not actually used in processing rx events. > > > > Instead of hardcoding this threshold here, it's better to add a > > device-tree knob for rx threshold, program it in controller and handle > > that RX_THLD interrupt. This will give more flexibility to drain the rx > > fifo earlier than - > > (1) waiting for FIFO_FULL interrupt for transactions > 64B. > > (2) waiting for start of read transaction in case of master write-read. Yes this is one way to implement. But do you see any issue in batching 64 bytes at a time in case of transaction > 64 Bytes. I feel batching will be more efficient as it avoids more number of interrupts and hence context switch. > > The Device Tree is really intended to describe the hardware FIFO size, > not watermarks, as those tend to be more of a policy/work load decision. > Maybe this is something that can be added as a module parameter, or > configurable via ioctl() at some point. #define MAX_SLAVE_RX_PER_INT 10 is not hw fifo threshold level, it is a kind of watermark for the tasklet to process the max number of packets in single run. The intention to add the macro is to make sure the tasklet does not run more than 20us. If we keep this as a module parameter or dt parameter then there is a good possibility that the number can be set to higher value. This will make the tasklet run more than 20us and defeat the purpose. This number is constant and not variable to change Please feel free to add your comments. Best regards, Rayagonda > -- > Florian --0000000000005a65fe05b33ffad5 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 xVUYGnc0GLrYeHC2X4wJbUsgi+UFM/rVW0RKe5Sg4xmLXWc/rBhXDBVPeFVdN2dYsk5MyDRM/fXj cAA+xTX+SQGoND8CAwEAAaOCAdcwggHTMA4GA1UdDwEB/wQEAwIFoDCBngYIKwYBBQUHAQEEgZEw gY4wTQYIKwYBBQUHMAKGQWh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L2dzcGVy c29uYWxzaWduMnNoYTJnM29jc3AuY3J0MD0GCCsGAQUFBzABhjFodHRwOi8vb2NzcDIuZ2xvYmFs c2lnbi5jb20vZ3NwZXJzb25hbHNpZ24yc2hhMmczME0GA1UdIARGMEQwQgYKKwYBBAGgMgEoCjA0 MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAJBgNV HRMEAjAAMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20vZ3NwZXJz b25hbHNpZ24yc2hhMmczLmNybDArBgNVHREEJDAigSByYXlhZ29uZGEua29rYXRhbnVyQGJyb2Fk Y29tLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNVHSMEGDAWgBRpcoJiMWeVRIV3kYDEBDZJ nXsLYTAdBgNVHQ4EFgQU1rE7oQJ7FiSTADFOqokePoGwIq4wDQYJKoZIhvcNAQELBQADggEBAD8I VcITGu1E61LQLR1zygqFw8ByKPgiiprMuQB74Viskl7pAZigzYJB8H3Mpd2ljve+GRo8yvbBC76r Gi5WdS06XI5vuImDJ2g6QUt754rj7xEYftM5Gy9ZMslKNvSiPPh1/ACx5w7ecD1ZK0YLMKGATeBD XybduRFIEPZBAjgJ5LOYT2ax3ZesfAkan1XJ97yLA93edgTTO2cbUAADTIMFWm4lI/e14wdGmK0I FtqJWw6DATg5ePiAAn+S0JoIL1xqKsZi2ioNqm02QMFb7RbB3yEGb/7ZLAGcPW666o5GSLsUnPPq YOfL/3X6tVfGeoi3IgfI+z76/lXk8vOQzQQxggJvMIICawIBATBtMF0xCzAJBgNVBAYTAkJFMRkw FwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTMwMQYDVQQDEypHbG9iYWxTaWduIFBlcnNvbmFsU2ln biAyIENBIC0gU0hBMjU2IC0gRzMCDDw+ri+StHzo6PJZ/DANBglghkgBZQMEAgEFAKCB1DAvBgkq hkiG9w0BCQQxIgQguIgJQdoPdON4MJRNk4F8yoCvkyKE0Zah3wDbm3Xu6fcwGAYJKoZIhvcNAQkD MQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjAxMTA0MDM1NzI4WjBpBgkqhkiG9w0BCQ8x XDBaMAsGCWCGSAFlAwQBKjALBglghkgBZQMEARYwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMAsG CSqGSIb3DQEBCjALBgkqhkiG9w0BAQcwCwYJYIZIAWUDBAIBMA0GCSqGSIb3DQEBAQUABIIBAHt1 4SvmJzLo6BpvQ3LeHXmESkQZS5nS0UW0eZ1djH+86BzYaV8M5BpqCSEzeI05YBJ4/B0dD9U4B9MU sHHgMJ4caOPTIzb6Ku0B81Bqlzru8IZD06fKaYN411w9L3c514umqAHCHDe9HKBtt0bQkOl71m2x 0nu9+vsMBna1VxGmxItLOosiBbhlI3AjXSYrgmz4iutfnru0cVDc4YxeKB2q3VxXlOfjkQMC1jr5 X7oJEqTdD906DlEA4JxRsyWhSmi/MltYiu6Fa2s/EV0caIkwTPjx6QEQDtQXZNVJvnpy+PO6jqBw G3DRV7n5b1MuNNSvridsp+VovXopRNS6yjc= --0000000000005a65fe05b33ffad5-- --===============5125896273747698552== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel --===============5125896273747698552==--