From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757433AbcEEPeU (ORCPT ); Thu, 5 May 2016 11:34:20 -0400 Received: from mail-bn1bon0054.outbound.protection.outlook.com ([157.56.111.54]:15296 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754642AbcEEPeQ (ORCPT ); Thu, 5 May 2016 11:34:16 -0400 X-Greylist: delayed 80264 seconds by postgrey-1.27 at vger.kernel.org; Thu, 05 May 2016 11:34:16 EDT Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=nxp.com; From: =?UTF-8?q?Horia=20Geant=C4=83?= To: Herbert Xu , Arnd Bergmann , Catalin Marinas , Will Deacon , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Rob Herring , Olof Johansson CC: , , "David S. Miller" , Cristian Stoica , Scott Wood , Alexandru Porosanu , Tudor Ambarus Subject: [PATCH v2 0/8] crypto: caam - add support for LS1043A SoC Date: Thu, 5 May 2016 18:33:55 +0300 Message-ID: <1462462435-27403-1-git-send-email-horia.geanta@nxp.com> X-Mailer: git-send-email 2.4.4 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131069360533302964;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(87936001)(8936002)(19580395003)(19580405001)(86362001)(50466002)(85426001)(50986999)(586003)(4326007)(33646002)(81166005)(5008740100001)(6806005)(11100500001)(92566002)(2870700001)(23676002)(47776003)(77096005)(50226002)(104016004)(106466001)(229853001)(5001770100001)(105606002)(1220700001)(15975445007)(5820100001)(36756003)(2906002)(189998001)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:DM2PR0301MB0719;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;MLV:sfv;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD006;1:OS/sJbqlYidSKDGo72yj0DyFKz8aInxYLHDS5Q5Q7V4uWydiLgPtpO+Zz/Jo7kygLMXZt+yxszXdqY1uiJFB/oXYMfWg5PcBokHZzaawXeZAwDKPIk0BzSwPcihpRDFsGHSSC0wHMZJ/S0kBkexRLZrpY7RGeEwN7/0nR5qoS5NonR2fD0yYcssdONRe4/BfpoYQJ+aILIhSpNaZ+/U5Tidd8XbHi7HCYL5mZuk2Jyj7ooJh9gTT9betmi8O53NUshhYN57N8+0aWi/R6Whr4XiPXRnb9aMlKNjsNzFHk572QLn5rzWaN2e6WnTVdegYSz6bQ7ukXE7KIz0B1eBezlvSDPEHSCO5ZVvKK5oewfJNaFeGitv3b4iK9reg7EKRMRUVsGfewbhhiFIMvaYe8VSlht2NEuTuWvdhgVHAjk2qy8pEMKAxQxwWSfldA4bRLG5Js6D6IK3EN1YLJ2EYrLtHuVlvxsnCOtG8ZcyUwziV2m6jqBXw1dFrCEwxCukjlLdLrRcKYkDvfo/LF7x0SRDdOFrGV240uIPBhsV0GMzYqlcg1XgubAglBGucdZB/7TKLYa6KJZVJH+vr8m2Ki6+UnPqXzj9zXFA6dASVHVf1k65INKuku4nswfUJrN8jD7ZkHUAKcPZFJTJF/7snVQjipdeQ4/moQRNF4Huln+5GJNgqdpewsAqE/ny27uEk0ik40lV2LEAhvEceF/8WZ6kjldvKfLYqwZI7SUK/sx4= X-MS-Office365-Filtering-Correlation-Id: 118b7b59-5a80-426d-63ac-08d374fab5ea X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0719;2:MrB4DZeO8eitBN0FajMa5XSd8MIvzV+GDDKOe/+D/IjjoVSMae/gdvWgA9oMQNUV7walLq58IN7D4kyRfKFITGm239kmzIS0gekW6rfiDt7+F6sFgKNmHjeB/5xUZJdT4RS48AQEvL41NLmseWn5h2tAcZHOjd5HPupe5ghsEt3bFkySHwDdtNqP6XFup1hO;3:fnEu9a29bIK9eD1+2F2AZ0IoyJ2WhDIJmxRIHOfhMZbjKHpcuKGvOWmJDr8s5K4Jzzok12LUoZbCgWbsOkpZ+ZJRooyPnJ+zwuPnGZj6JBUK490FDACE+BGHiHNAD0J2lFetZsmBCnmCVrEaZcjapqjtQmyLvXr/XBJUrXkKYsPVbZSid3Who8dQeYSLjY7KSOEc0gCaJVuFpv9mSBYnJ8kXVv23+qq0mEVpny9Lyfo=;25:tC/prJccBaDwLsKHLBiO7b7E64O0DNsWmS7ssZ8pekR4apmb3qOXOsPPY/qNalPz8dwObeY7O8/KMShd5YQd7qVlS2CWErsF0wlmmJdE4bMcSOPu0b2izmC33ZvNDLENX9PdV84DMqYoesNnTcLcckI0jGyPBrKLoLVZHgiEmS+vRS7ZQAAPylNLTe4b9fP2gl2Votm5ysHN+w4yROudnoB9/dznAmw7HYgdCWLbTIiZMmAL3UNVFzrKJq4Gl+3T2a8SsZ0jiNHCE1AbIhTv6gy/xK/ymHwAr+GvHVF9gNzbpXuOO+FUhg1FBN0N/TS1YbHFkyQ0j2OVF32wyFtBzsH9re+ST/qnzWblrgROZWeaSyiaHFgacXcUqc9uN9UJb0Xn5n4gxKgGdvjwxPiA0wFYwdovU+PrD8k3aR2iUKS/grqjNtjyiwRDLIZE7RVr X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB0719; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(13023025)(8121501046)(13017025)(13018025)(5005006)(13015025)(13024025)(10201501046)(3002001)(6055026);SRVR:DM2PR0301MB0719;BCL:0;PCL:0;RULEID:(400006);SRVR:DM2PR0301MB0719; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0719;4:4p6544YxlMtcnJZLaQ+J2DVAIXa4dGVDzi3YUQqX+Rycb4qfN6H+g+7YKF/1qS1SkDaaY3UGXUmQZHaqoSI1A8uhBCv/dtJmNZH4+G8QCopPt69YWJpdNMMOf/nO+hIJfARFkbLfehxHf8PpLcnJkBdNk0PrXRG9hcbnfEbJsCOTNggufSFULVd5lQNdawoGeqD/iNj7AoqQOwuALAduf+s8Y7PNC+KLbXDOxjZwPTeNXLhZfWyQs3pyuagb6PrA3OrXX4NgZu8iE2otAXiVUC/3usjDNMP4lZjkFLOZODuLZNlxqTM4+3Uqyj19jbEDYD8L1mwjxyD6ddJonffn0olyuGIp+3AHCiYgJ6O03+d4h1nSUYCB5ydoMk4PGzB659H2hHv0nL1MLTSDnZyzhq6E9Q+ug3e7aw5z7CyW0ysXEnYlNFV460a6ECtm/hxZ8F695KaEOLuyPYkM3bw6lhvwvdkvNLzbTMo+ujIikt4= X-Forefront-PRVS: 0933E9FD8D X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTJQUjAzMDFNQjA3MTk7MjM6blg0aFFYM2VlU05iR1RaTUNwWU9nNmZp?= =?utf-8?B?ZWRrRWdsNUIvL3daVXdSL0t6YmlnRTAwZEpDRFVtTmwxbzdCZG1DRXpVRVR3?= =?utf-8?B?dGhLbndyRTVXSjR3djZ5YjBwOTZDRXJXU09YRnhUckRobXc2VHVkZWlmd1Av?= =?utf-8?B?TE9uOUZBaTNscU9hamthc3c3cFRKVjlhVkdYRTVQNEhhNGpCWThDWVB4c0xu?= =?utf-8?B?RE83a0tXOVU0L2wxbEdERnQ5eW5sVHEvSHlTSy80N2tVZi9ZQmtXd00xR0E5?= =?utf-8?B?QWhabEl1UDZSRlhBRHZESVdHUmV6QmZpTHQwdlpjUlNJOHNMRW55TXFWUEhV?= =?utf-8?B?aXFDbVVjY2dzMHlSYzh5L2oxTkNIcENiR0hFSlhjam81T2JSVkV0QzEvZFJD?= =?utf-8?B?dWZFcHIwZnN3TmJldTFaSERTK2VsT3pFZGJJSmJHblpOUHh4amlSOHlqdC8v?= =?utf-8?B?N3BtajYrMFZ3MU8vU3dMZlRZZGZRdW1CMC82UFROaW5DZzJkbmxvcE90N1Rs?= =?utf-8?B?V1orMzc3YW5LbEcyejlLOWpNaWV6VWxKV3hWUkRCOTFjdit2VkFETUlUVjU4?= =?utf-8?B?YWVZQ3VkOHBlbStXVEc1ZlJITWpVeUR3L2pLM2tGMGZYM0s3S3NUV0JsQUJh?= =?utf-8?B?OE5kelVLOFZQd0hLbElBdk52SHFFSXZNajNBdGk2MVNZYWtvUXNYL2lHMUpX?= =?utf-8?B?VTN2dlAwMlc2c2FySlY4WXRRM1hzQmpHQndiVytJeHlyOG5qbUVNL1pKZ1Q5?= =?utf-8?B?d2JnYUd6Ti9KYmVINzJ0ZHJFR1B4UlAyZHNtbk9RY0tLV3RDb3RkMWk0ejVP?= =?utf-8?B?WlhYWUNZTHdDMzAzeVkxbnJiK1hWY041Y2tTcXVvVVJzUDcxKzBnS1pVYnl2?= =?utf-8?B?SWQwK1RkWlJCN0xvdTVJM3p3c0g5RG9XV3o4WjJqZlYwYjg0NFRnWUsvbVJ2?= =?utf-8?B?VnlWM0pGMUttdWdRVVdoMWV4NlY5Z1RXZjVJUVR0eTNWZDhKUlhtaWgydjVV?= =?utf-8?B?U1c3N2h1am44YWthNERGOFplNENDZStRUWRPZzNJK3dDNWRHYWkwRHVIZUhB?= =?utf-8?B?YndCck9HRE9oM3NpRnBVNHRHZHVOVlB0YTZHYUFzVzBuWmJoQ3FzdTY5RUxF?= =?utf-8?B?OXYzOUdQZUs5Y29lMFFSMjZGaHFKcnplL2lzaUQ4blRJdUdaZWRvSlJaZk1o?= =?utf-8?B?M3loN3hHUlJqSVZsZEVkdVFvR2hnNmMxSnA1VHZVR29VYnYvQ0c0NXBzc1Q4?= =?utf-8?B?OEFQTWdVQzhwWTNWNEg0TWIwSVFYSWxvZjdpZVdkR25yUGpqQmc0Y0dUUmY1?= =?utf-8?B?TDBIekV4VW5oWVN3c0dEcFJlUEY2blhtK3VOL1dEY3R5ZjFaTDZ2NVUxRGZY?= =?utf-8?B?d1VLaFlkNjlEL2xJemRFby9qTmxoMXJvL1Y3OUFONGdCYlVNc1VGUjNCc3B1?= =?utf-8?Q?F7Tvef7Y=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0719;5:7OdQkfZTttMdXPIKdDKsaoriyHe5UwP0LuKFyXOFbSj41C1kD76jS3/ihuq4Ctmr+eZVJNUaa9Mf6wFlNmPcV3gyAF6dGuJ+TTOlpkv4Q5ci5XUPCt5rcIYdnM7CSk+ugq0SEzvytKM4fadQidw3lNefMfYSK1zrRy90lQmyN/k=;24:9N2nYNKX9NgsMxtjEgFaMIrdo3+3q61thTS1EARahnuL+QwNsDrBHivUjQDDMotsF3i0u2YYMEyGNesvFJnndFO/O3ZwrZOzUkjut1lEX4Q=;7:4vDFymzkZV2/Bu/0whu3X5O7DBUKAjbIqsrNqa0ELVSFtCwyP3hs8sFW7ngZNcz3W68hQfz7Qby+hvsKh6QugpiCyQy77qWYTAnR6fo2XupGrz80zquxVCCTypyBK0RaVhR8gaISH3tEpI3lmpoQ3iEMTh8uIfhCNHnZR0VeqJkQz6Aipf3eibOeRPO1HFEs SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2016 15:34:12.9402 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0301MB0719 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org v2: As suggested by Arnd, patch 1 fixes io{read,write}{16,32}be accessors to prevent the case when {read,write}{w,l} are overriden by arch-specific ones having barriers, while the BE accessors previously mentioned are not (thus behaving differently, having no barriers). Hi, [Patches 2-4 add io{read,write}64[be] accessors (generic, arm64, ppc64), such that CAAM's accessors in regs.h are simplified a bit. Patch 8 adds crypto node for LS1043A platform. Let me know if it's ok to go with these through the cryptodev-2.6 tree.] This is a follow-up on the following RFC patch set: crypto: caam - Revamp I/O accessors https://www.mail-archive.com/linux-crypto@vger.kernel.org/msg15878.html There are platforms such as LS1043A (or LS1012A) where core endianness does not match CAAM/SEC endianness (LE vs. BE). Add support in caam driver for these cases. Current patch set detects device endianness at runtime (as opposed to compile-time endianness), in order to support multiplatform kernels. Detection of device endianness is not device-tree based. Instead, SSTA ("SEC STAtus") register has a property such that reading it in any endianness and masking it properly, it's possible to deduce device endianness. The performance drop due to the runtime detection is < 1.0%. (An alternative implementation using function pointers has been tried, but lead to a bigger performance drop.) Thanks, Horia Cristian Stoica (1): crypto: caam - fix offset field in hw sg entries Horia Geantă (7): asm-generic/io.h: allow barriers in io{read,write}{16,32}be asm-generic/io.h: add io{read,write}64 accessors arm64: add io{read,write}64be accessors powerpc: add io{read,write}64 accessors crypto: caam - handle core endianness != caam endianness crypto: caam - add ARCH_LAYERSCAPE to supported architectures arm64: dts: ls1043a: add crypto node arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts | 4 + arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 43 ++++++ arch/arm64/include/asm/io.h | 4 +- arch/powerpc/kernel/iomap.c | 24 ++++ drivers/crypto/caam/Kconfig | 6 +- drivers/crypto/caam/caamhash.c | 5 +- drivers/crypto/caam/ctrl.c | 125 +++++++++++------- drivers/crypto/caam/desc.h | 9 +- drivers/crypto/caam/desc_constr.h | 44 ++++--- drivers/crypto/caam/jr.c | 22 ++-- drivers/crypto/caam/pdb.h | 137 +++++++++++++++----- drivers/crypto/caam/regs.h | 151 +++++++++++++++------- drivers/crypto/caam/sg_sw_sec4.h | 17 +-- include/asm-generic/io.h | 71 +++++++++- include/asm-generic/iomap.h | 8 ++ 15 files changed, 494 insertions(+), 176 deletions(-) -- 2.4.4