From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752501AbdLLQgS (ORCPT ); Tue, 12 Dec 2017 11:36:18 -0500 Received: from mailout2.w1.samsung.com ([210.118.77.12]:40502 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751609AbdLLQgN (ORCPT ); Tue, 12 Dec 2017 11:36:13 -0500 DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20171212163611euoutp0247caaad97d36f4b5750c0c7e4779a66b~-mVCUGCm-3187731877euoutp02V X-AuditID: cbfec7ef-f79ee6d000003120-1e-5a3005791c17 MIME-version: 1.0 Content-transfer-encoding: 8BIT Content-type: text/plain; charset="UTF-8" From: =?UTF-8?q?=C5=81ukasz=20Stelmach?= To: Krzysztof Kozlowski , robh+dt@kernel.org, Stephan Mueller , Herbert Xu , "David S . Miller" , Kukjin Kim , linux-crypto@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org Cc: =?UTF-8?q?=C5=81ukasz=20Stelmach?= , Marek Szyprowski , Bartlomiej Zolnierkiewicz Subject: [PATCH v3 0/4] Assorted changes for Exynos PRNG driver Date: Tue, 12 Dec 2017 17:36:03 +0100 Message-id: <20171212163607.2985-1-l.stelmach@samsung.com> X-Mailer: git-send-email 2.11.0 In-reply-to: <20171211140623.7673-1-l.stelmach@samsung.com> Organization: Samsung R&D Institute Poland X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrDKsWRmVeSWpSXmKPExsWy7djPc7pVrAZRBu/yLDbOWM9qMed8C4tF 9ysZi/7Hr5ktzp/fwG5x89AKRov7934yWVzeNYfNYsb5fUwWa4/cZbdo3XuE3WLq6bUsDjwe n65cYfLYsvImk8e2A6oem1Z1snn0bVnF6PF5k1wAWxSXTUpqTmZZapG+XQJXRufGNywF+wQq LrVtYGxgnMrbxcjJISFgInHh4Wc2CFtM4sK99WC2kMAyRolp2/O6GLmA7M+MEjuf7WLpYuQA azh8sBoiDlRz5ONCdpAGXgFBiR+T74HVMAvISxy5lA0SZhbQlNi6ez07RP0XRolNu3cxgyTY BBwl+peeYAVJiAjsY5J4PHEqI4jDDDL14LaTYGcIC9hL7O6AOI9FQFXiVhNIEcg2K4nNjceY Ic6Wl9jVdpEVxOYUsJboPN4OVs8voCWxpuk6C8hQCYH/bBJ35uxjgmhwkZjbf54RwhaWeHV8 CzuELSNxeXI3VEM/o8Th+d+hElMYJRYvdICwrSX+rJrIBvEcn8SkbdOZIeHCK9HRJgRR4iHx dNtbVgjbUeLF2R1MEP/3Ac1ccZltAqP8LKQgm4UIsllIQbaAkXkVo0hqaXFuemqxoV5xYm5x aV66XnJ+7iZGYBo6/e/4+x2MT5tDDjEKcDAq8fA+eKAfJcSaWFZcmXuIUYKDWUmEt7sJKMSb klhZlVqUH19UmpNafIhRmoNFSZzXNqotUkggPbEkNTs1tSC1CCbLxMEp1cAY8Crxo+21HdK/ T75zvbtgw70J//hMzKZm5Qmtfr/g99bweY9ufFx3dM7HiG0vWwqn9c3Z//HqgszTN1595ndl 3hy57zNj9S811mtbb6zMc2PuX/BfvO752twAb1cTBa6jlfMLtkWemaBdeELdrqXQJuP84Yxu 47+BZx8LfVsSOaN23qK1K/6IpyixFGckGmoxFxUnAgBzAgQ6PwMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpikeLIzCtJLcpLzFFi42I5/e/4Fd1KVoMog77vUhYbZ6xntZhzvoXF ovuVjEX/49fMFufPb2C3uHloBaPF/Xs/mSwu75rDZjHj/D4mi7VH7rJbtO49wm4x9fRaFgce j09XrjB5bFl5k8lj2wFVj02rOtk8+rasYvT4vEkugC2KyyYlNSezLLVI3y6BK6Nz4xuWgn0C FZfaNjA2ME7l7WLk4JAQMJE4fLC6i5ETyBSTuHBvPVsXIxeHkMASRonvGw8ygSR4BQQlfky+ xwJSzywgL3HkUjZImFlAXWLSvEXMEPXfGCV6f+5jAUmwCThK9C89wQqSEBE4wCTR0LMEbCqz wDJGiT89rWwgVcIC9hK7Oz6D2SwCqhK3mqYyQmyzktjceIwZ4iR5iV1tF1lBbE4Ba4nO4+1g 9UJANet/r2MHsfkFtCTWNF1nmcAoOAvJsbMQjp2F5NgFjMyrGEVSS4tz03OLjfSKE3OLS/PS 9ZLzczcxAmNm27GfW3Ywdr0LPsQowMGoxMP74IF+lBBrYllxZe4hRgkOZiUR3u4moBBvSmJl VWpRfnxRaU5q8SFGaQ4WJXHe3j2rI4UE0hNLUrNTUwtSi2CyTBycUg2M837zVP+4+cqfM/Y4 o9Pp/VI+PsYKX25V6OQ+l1kyd6748a+6FlPXFVUI1RRJv+1nnmAheFI9U+GPzctHgQc/q3y4 U96yRdu4a29jYpfbPrGEN7s9N2s9Fih3irmcdnHT62fyJZfX/N7qWNxsdX/bphfvxAojF4QU de33rTH5OnFFmnWPxO9AJZbijERDLeai4kQAfYbw55UCAAA= X-CMS-MailID: 20171212163609eucas1p2aaee0a21276b66f4cb492a4502f66756 X-Msg-Generator: CA CMS-TYPE: 201P X-CMS-RootMailID: 20171212163609eucas1p2aaee0a21276b66f4cb492a4502f66756 X-RootMTR: 20171212163609eucas1p2aaee0a21276b66f4cb492a4502f66756 References: <20171211140623.7673-1-l.stelmach@samsung.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, This is a series of patches for exynos-rng driver I've decided to create after adding support for Exynos5250+ chips. They do not strictly depend on each other, but I think it is better to send them as a single patch-set. The driver requires appropriate DT configuration introduced in https://patchwork.kernel.org/patch/10106797/ Patch #1 Add support for PRNG in Exynos5250+ SoCs Patch #2 Improve output performance by using memcpy() rather than a custom function to retrieve random bytes from registers. Rearrange the loop for polling the hardware. Patch #3 Reseed the PRNG after reading 2^16 bytes. Simmilar approach is implemented in DRBG. (Thanks Stephan Mueller) Patch #4 Introduce locking to prevent simultaneous access to the hardware from more than one thread/process. Changes since v2: - Remove changes in the loop polling the status register in exynos_rng_get_random(). Thanks Krzysztof Kozłowski. - Remove the check for valid values of rng->type from exynos_rng_probe(). The function wouldn't be called with values other than mentioned in exynos_rng_dt_match array. - Applied changes to the commit message of patch #3 requested by Stephan Mueller. Changes since v1: - Added Patch #4. - Extended commit message for patch #3. - Changed exynos_prng_type enum and a define according to Krzysztof Kozłowski's recommendations. - Brought back cpu_relax() in a rearranged loop in exynos_rng_get_random(). - Moved an assignment of the read valuea away from an error path. - Removed dev_info() reporting hardware presence from exynos_rng_probe(). Łukasz Stelmach (4): crypto: exynos - Support Exynos5250+ SoCs crypto: exynos - Improve performance of PRNG crypto: exynos - Reseed PRNG after generating 2^16 random bytes crypto: exynos - Introduce mutex to prevent concurrent access to hardware .../bindings/crypto/samsung,exynos-rng4.txt | 4 +- drivers/crypto/exynos-rng.c | 94 ++++++++++++++-------- 2 files changed, 62 insertions(+), 36 deletions(-) -- 2.11.0