summaryrefslogtreecommitdiffstats
path: root/sys/dev/hifn/hifn7751.c
Commit message (Collapse)AuthorAgeFilesLines
* shutdown returns an intimp2009-02-051-2/+3
|
* Overhaul driver/subsystem api's:sam2007-03-211-81/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o make all crypto drivers have a device_t; pseudo drivers like the s/w crypto driver synthesize one o change the api between the crypto subsystem and drivers to use kobj; cryptodev_if.m defines this api o use the fact that all crypto drivers now have a device_t to add support for specifying which of several potential devices to use when doing crypto operations o add new ioctls that allow user apps to select a specific crypto device to use (previous ioctls maintained for compatibility) o overhaul crypto subsystem code to eliminate lots of cruft and hide implementation details from drivers o bring in numerous fixes from Michale Richardson/hifn; mostly for 795x parts o add an optional mechanism for mmap'ing the hifn 795x public key h/w to user space for use by openssl (not enabled by default) o update crypto test tools to use new ioctl's and add cmd line options to specify a device to use for tests These changes will also enable much future work on improving the core crypto subsystem; including proper load balancing and interposing code between the core and drivers to dispatch small operations to the s/w driver as appropriate. These changes were instigated by the work of Michael Richardson. Reviewed by: pjd Approved by: re
* o break newbus api: add a new argument of type driver_filter_t topiso2007-02-231-1/+1
| | | | | | | | | | | | | bus_setup_intr() o add an int return code to all fast handlers o retire INTR_FAST/IH_FAST For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current Reviewed by: many Approved by: re@
* Use newly added functions to simplify the code.pjd2006-06-041-37/+16
|
* Fix HMACs handling with uio's by not using crp_mac for storing calculatedpjd2006-05-221-2/+3
| | | | HMAC. crp_mac is going to be removed.
* Honor cri_mlen value.pjd2006-05-171-9/+19
| | | | | | Reviewed by: sam Tested on: hifn(4), ubsec(4) Compile-tested: safe(4)
* Since DELAY() was moved, most <machine/clock.h> #includes have beenphk2006-05-161-1/+0
| | | | unnecessary.
* These registers are saved by pci bus code. Remove from #if 0'd code anywayimp2005-06-051-18/+0
|
* Use BUS_PROBE_DEFAULT for pci probe return valueimp2005-03-051-3/+3
|
* Update support for 795x parts:sam2005-01-191-3/+112
| | | | | | | | | | | | | | | | o rework pll setup code to follow h/w specification o add hint.hifn.X.pllconfig to specify reference clock setup requirements; default is pci66 which means the clock is derived from the PCI bus clock and the card resides in a 66MHz slot Tested on 7955 and 7956 cards; support for 7954 cards not enabled since we have no cards to test against. In collaboration with Poul-Henning Kamp. Reviewed by: phk MFC after: 1 week
* Start each of the license/copyright comments with /*-, minor shuffle of linesimp2005-01-061-1/+1
|
* add missing ';' that didn't show up with INVARIANTS enabledsam2004-10-151-1/+1
|
* Move session state from on-card memory to host memory so we no longer aresam2004-10-151-35/+43
| | | | | | | | | constrained to a small number of sessions by the small on-card memories found in newer devices. This is really a stopgap solution as having session state in main memory incurs a (small but noticeable) performance penalty. The better solution is to manage session state so that it's cached on chip. Obtained from: openbsd
* Consistently use __inline instead of __inline__ as the former is an empty macrostefanf2004-07-041-2/+2
| | | | in <sys/cdefs.h> for compilers without support for inline.
* Add missing <sys/module.h> includesphk2004-05-301-0/+1
|
* Convert callers to the new bus_alloc_resource_any(9) API.njl2004-03-171-6/+6
| | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
* Add CRD_F_KEY_EXPLICIT which allows the key to be changed perphk2004-02-021-0/+2
| | | | | | | | operation, just like it was possible to change the IV. Currently supported on Hifn and software engines only. Approved by: sam@
* NULL falloutsam2003-12-251-4/+4
|
* Add symmetric crypto support for the 7955 and 7956.sam2003-10-081-37/+137
| | | | | | Note performance is currently suboptimal. Submitted by: Rajesh Vaidyanath <RVaidyanath@hifn.com>
* Use PCIR_BAR(x) instead of PCIR_MAPS.jhb2003-09-021-2/+2
| | | | | Glanced over by: imp, gibbs Tested by: i386 LINT
* Use __FBSDID().obrien2003-08-241-2/+3
| | | | Also some minor style cleanups.
* Prefer new location of pci include files (which have only been in theimp2003-08-221-2/+2
| | | | | tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD.
* Change instances of callout_init that specify MPSAFE behaviour tosam2003-08-191-4/+2
| | | | | use CALLOUT_MPSAFE instead of "1" for the second parameter. This does not change the behaviour; it just makes the intent more clear.
* Mega busdma API commit.scottl2003-07-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg. Lockfunc allows a driver to provide a function for managing its locking semantics while using busdma. At the moment, this is used for the asynchronous busdma_swi and callback mechanism. Two lockfunc implementations are provided: busdma_lock_mutex() performs standard mutex operations on the mutex that is specified from lockfuncarg. dftl_lock() is a panic implementation and is defaulted to when NULL, NULL are passed to bus_dma_tag_create(). The only time that NULL, NULL should ever be used is when the driver ensures that bus_dmamap_load() will not be deferred. Drivers that do not provide their own locking can pass busdma_lock_mutex,&Giant args in order to preserve the former behaviour. sparc64 and powerpc do not provide real busdma_swi functions, so this is largely a noop on those platforms. The busdma_swi on is64 is not properly locked yet, so warnings will be emitted on this platform when busdma callback deferrals happen. If anyone gets panics or warnings from dflt_lock() being called, please let me know right away. Reviewed by: tmm, gibbs
* Add support to eliminate a context switch per crypto op when using thesam2003-06-271-1/+1
| | | | | | | | | | | software crypto device: o record crypto device capabilities in each session id o add a capability that indicates if the crypto driver operates synchronously o tag the software crypto driver as operating synchronously This commit also introduces crypto session id macros that cleanup their construction and querying.
* fix typo (how did this get committed?)sam2003-06-041-1/+1
|
* detach RNG test facility on device detachsam2003-06-041-0/+4
|
* Redo locking for better SMP suport:sam2003-06-021-15/+18
| | | | | | | | | | o adding locking to op submission o mark interrupt handler MPSAFE o don't use locking on detach; disabling interrupts should be sufficient o change mutex string names so witness printouts are more meaningful Note: locking is still pretty brute-force but it's probably not worth improving it given the relatively low performance of hifn-based cards.
* o add crypto driver glue for using the new rndtest driver/module; this issam2003-03-111-4/+27
| | | | | | conditional in each driver on foo_RNDTEST being defined_ o bring HIFN_DEBUG and UBSEC_DEBUG out to be visible options; they control the debugging printfs that are set with hw.foo.debug (e.g. hw.hifn.debug)
* gack; revert previous commit; not only did I read things backward butsam2003-03-111-1/+1
| | | | I was in the wrong tree
* sync with current: reduce default maxbatch setting from 5 to 1sam2003-03-111-1/+1
| | | | Reviewed by: re (sort of, consider this part of my previous request)
* Back out M_* changes, per decision of the TRB.imp2003-02-191-6/+6
| | | | Approved by: trb
* Catch more uses of MIN().alfred2003-02-021-2/+0
|
* Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.alfred2003-01-211-6/+6
| | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
* move sysctl's under hw.hifn; change max batching default to 1 (no batching)sam2003-01-201-7/+9
| | | | based on what I learned from the Broadcom h/w
* Correct mbuf packet header propagation. Previously, packet headerssam2002-12-301-3/+4
| | | | | | | | | | | | | | | | | | | | | | were sometimes propagated using M_COPY_PKTHDR which actually did something between a "move" and a "copy" operation. This is replaced by M_MOVE_PKTHDR (which copies the pkthdr contents and "removes" it from the source mbuf) and m_dup_pkthdr which copies the packet header contents including any m_tag chain. This corrects numerous problems whereby mbuf tags could be lost during packet manipulations. These changes also introduce arguments to m_tag_copy and m_tag_copy_chain to specify if the tag copy work should potentially block. This introduces an incompatibility with openbsd which we may want to revisit. Note that move/dup of packet headers does not handle target mbufs that have a cluster bound to them. We may want to support this; for now we watch for it with an assert. Finally, M_COPYFLAGS was updated to include M_FIRSTFRAG|M_LASTFRAG. Supported by: Vernier Networks Reviewed by: Robert Watson <rwatson@FreeBSD.org>
* whitespace/indentation fix from phksam2002-10-161-10/+10
|
* Module-ize the 'core' crypto stuff. This may still need to be compiledmarkm2002-10-161-0/+1
| | | | | | | | | into the kernel by default (if required), but other modules can now depend() on this. Fix inter-module dependancy. Earlier version OK'ed by: sam
* missed additional callout that can run w/o Giant lockedsam2002-10-151-1/+2
|
* No need to hold Giant will harvesting RNG data; change callout_init sosam2002-10-111-1/+2
| | | | this no longer happens for callbacks.
* Crypto device driver for hifn-based cards. Tested with 7951-, and 7811-basedsam2002-10-041-0/+2634
cards. Claimed to support many others. Obtained from: openbsd
OpenPOWER on IntegriCloud