summaryrefslogtreecommitdiffstats
path: root/sys/dev/cesa
Commit message (Collapse)AuthorAgeFilesLines
* Remove remaining ifdefs from CESA headerwma2017-09-151-6/+0
| | | | | | | | | | | | | | Commit r312743 ("Use SoC ID - based detection in CESA") resulted in build failing for Marvell armv5 platforms, which don't support the newer version of CESA controller. This patch provides a fix by removing ifdefs around bitfields' definitions, so that they are known to all platforms. Submitted by: Marcin Wojtas <mw@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield (cherry picked from commit 7242a1d9cbe51787ade8e6d6f173c7bf95052b40)
* Fix SHA256 usage on older CESA versionswma2017-09-151-1/+4
| | | | | | | | | | | | | Adding SHA256 support to Marvell crypto driver resulted in regression for older SoC's, not capable of handling this mode in hardware. Submitted by: Emeric Poupon <emeric.poupon@stormshield.eu> Obtained from: Stormshield Sponsored by: Stormshield Reviewed by: zbb Differential revision: https://reviews.freebsd.org/D9215 (cherry picked from commit fdd5dc9c11dd39052099094062e5d9253aee1651)
* Use SoC ID - based detection in CESAwma2017-09-152-33/+49
| | | | | | | | | | | | | | | | | This commit introduces following changes in order to get rid of ifdef's from all around the driver. * Introduce sc_soc_id field in cesa_softc structure - this value is obtained in cesa_attach() anyway, so make use of it. * Replace ifdefs with SoC ID checks. * Perform PM control status only for relevant SoC's. Submitted by: Marcin Wojtas <mw@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Reviewed by: zbb Differential revision: https://reviews.freebsd.org/D9247 (cherry picked from commit 502c029a7943bcfb6235002e301e7f4745414011)
* Add misssing Armada38x ID's in CESA attachwma2017-09-151-0/+2
| | | | | | | | | | | | | | Marvell Armada 38x is supported in 3 variants, so take all into consideration in crypto driver attach routine. Submitted by: Marcin Wojtas <mw@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Reviewed by: zbb Differential revision: https://reviews.freebsd.org/D9248 (cherry picked from commit 45de917a21ddc631d17df77b1c67de277bb40000)
* Increase the preallocated ring of descriptors for CESA.Luiz Souza2017-09-081-2/+2
| | | | | | | Submitted by: mw@semihalf.com Ticket: #216, #197 (cherry picked from commit 74d52e4efe3c6adf7afb45da8fdfb0929a1f50e9)
* Enable proper configuration of CESA MBUS windowswma2017-09-062-61/+0
| | | | | | | | | | | | | | | | For all Marvell devices, MBUS windows configuration is done in a common place. Only CESA was an exception, so move its related code from driver to mv_common.c. This way it uses same proper DRAM information, same as all other interfaces instead of parsing DT /memory node directly. Submitted by: Marcin Wojtas <mw@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Reviewed by: loos Differential revision: https://reviews.freebsd.org/D10723 (cherry picked from commit d2baf237b6e2746345ef05787ad32aa5f4d82fdb)
* Use proper interface for FDT parsing and memory mapping in CESAzbb2016-06-032-12/+13
| | | | | | | | | | Improvements after r301220. Bus space methods are not called so simple pmap_mapdev will suffice. Use OF_getencprop to get buffer with already converted endianess. Pointed out by: ian Submitted by: Michal Stanek <mst@semihalf.com> Obtained from: Semihalf
* Add support for CESA on Armada38xzbb2016-06-021-1/+2
| | | | | | | | | | | | | Changes: - added new SoC ID in CESA attach - allowed crypto driver IDs other than 0 - added CESA nodes to Armada38x .dts files - enabled required devices in kernconf Submitted by: Michal Stanek <mst@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Differential revision: https://reviews.freebsd.org/D6220
* Add HMAC-SHA256 support in CESAzbb2016-06-022-4/+37
| | | | | | | | | | | Only HMAC-SHA256 is added as it is the only SHA-2 variant supported by cryptodev. It is not possible to register hardware support for other algorithms in the family including regular non-keyed SHA256. Submitted by: Michal Stanek <mst@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Differential revision: https://reviews.freebsd.org/D6219
* Truncate HMAC output only if requested by the clientzbb2016-06-022-11/+21
| | | | | | | | | | | | The output of HMAC was previously truncated to 12 bytes. This was only correct in case of one particular crypto client - the new version of IPSEC. Fix by taking into account the cri_mlen field in cryptoini session request filled in by the client. Submitted by: Michal Stanek <mst@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Differential revision: https://reviews.freebsd.org/D6218
* Split CESA memory resource into TDMA and CESA regszbb2016-06-022-40/+50
| | | | | | | | | | | | | | | | TDMA and CESA registers are placed in different ranges of memory. Split memory resource in DTS to reflect that. This change is needed to support multiple CESA nodes as otherwise the ranges of different nodes would overlap. In consequence, CESA_WRITE and CESA_READ macros have been split depending on which range of registers is accessed. Offsets for CESA registers have been modified as the base address has changed. Submitted by: Michal Stanek <mst@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Differential revision: https://reviews.freebsd.org/D6217
* Map CESA SRAM memory in driver attach for Armada38xzbb2016-06-022-30/+52
| | | | | | | | | | | | | | | On other platforms with CESA accelerator the SRAM memory is mapped in early init before driver is attached. This method only works correctly with mappings no smaller than L1 section size (1MB). There may be more SRAM blocks and they may have smaller sizes than 1MB as is the case for Armada38x. Instead, map SRAM memory with bus_space_map() in CESA driver attach. Note that we can no longer assume that VA == PA for the SRAM. Submitted by: Michal Stanek <mst@semihalf.com Obtained from: Semihalf Sponsored by: Stormshield Differential revision: https://reviews.freebsd.org/D6215
* sys/dev: minor spelling fixes.pfg2016-05-031-3/+3
| | | | Most affect comments, very few have user-visible effects.
* Make the fdt_get_mem_regions memsize argument optional. It's only used inandrew2016-03-011-2/+1
| | | | | | by a few callers. Sponsored by: ABT Systems Ltd
* Fix fdt_get_mem_regions() to work with 64-bit addresseswma2016-02-291-1/+2
| | | | | | | | | | | | Use u_long instead of uint32_t variables to avoid overflow in case of PA space bigger than 32-bit. Obtained from: Semihalf Submitted by: Michal Stanek <mst@semihalf.com> Sponsored by: Annapurna Labs Approved by: cognet (mentor) Reviewed by: andrew, br, wma Differential revision: https://reviews.freebsd.org/D5393
* Follow r261352 by updating all drivers which are children of simplebusian2014-02-021-0/+4
| | | | | | | | | | | | | to check the status property in their probe routines. Simplebus used to only instantiate its children whose status="okay" but that was improper behavior, fixed in r261352. Now that it doesn't check anymore and probes all its children; the children all have to do the check because really only the children know how to properly interpret their status property strings. Right now all existing drivers only understand "okay" versus something- that's-not-okay, so they all use the new ofw_bus_status_okay() helper.
* Similar to the (1 << 31) case it is not defined to do (2 << 30).eadler2013-11-301-2/+2
|
* Opps, my kirkwood fix for the dreamplug missed this.rrs2013-10-291-1/+7
|
* Remove all the instances of '#undef DEBUG' from kernel.loos2013-10-251-2/+0
| | | | | Suggested by: rpaulo Approved by: adrian (mentor)
* Move initialization of CESA decoding windows from common sectiongber2013-05-062-4/+71
| | | | | | | | | | | | to driver specific files. - window initialization is done during device attach - CESA TDMA decoding windows values are set based on DTS, not copied from CPU registers - remove unnecessary virtual mapping - update dts file Obtained from: Semihalf
* Add support for Marvell 88F6282.hrs2012-07-281-0/+1
| | | | Sponsored by: Plat'Home, Co.,Ltd.
* Final pass at having devices use their bus parent for dma tags. Thescottl2012-03-121-2/+2
| | | | | | | | | | | | | | | remaining drivers that haven't been converted have various problems or complexities that will be dealt with later. This list includes: hptrr, hptmv, hpt27xx - device aggregation across multiple parents drm - want to talk to the maintainer first tsec, sec - Openfirmware devices, not sure if changes are warranted fatm - Done except for unused testing code usb - want to talk to the maintainer first ce, cp, ctau, cx - Significant driver changes needed to convey parent info There are also devices tucked into architecture subtrees that I'll leave for the respective maintainers to deal with.
* - There's no need to overwrite the default device method with the defaultmarius2011-11-221-5/+1
| | | | | | | | | | one. Interestingly, these are actually the default for quite some time (bus_generic_driver_added(9) since r52045 and bus_generic_print_child(9) since r52045) but even recently added device drivers do this unnecessarily. Discussed with: jhb, marcel - While at it, use DEVMETHOD_END. Discussed with: jhb - Also while at it, use __FBSDID.
* Initial version of cesa(4) driver for Marvell crypto engine and securityraj2011-11-192-0/+1964
accelerator. The following algorithms and schemes are supported: - 3DES, AES, DES - MD5, SHA1 Obtained from: Semihalf Written by: Piotr Ziecik
OpenPOWER on IntegriCloud