summaryrefslogtreecommitdiff
path: root/sys/dev/pci/hifn7751.c
AgeCommit message (Collapse)Author
2000-10-26shadow the dmaier to avoid an additional pci read in the interrupt pathJason Wright
if mastering isn't enabled, scream document netsec rev A workaround
2000-10-24Duh, C_WAIT will always be set if the card is inactive, but that interruptJason Wright
isn't always enabled. (CSR & IER) == 0, means not to claim the intr. deraadt ok
2000-10-23unreset takes time too, and you notice this on a p3/933Theo de Raadt
2000-10-13delays that permit more machines to work; itojunTheo de Raadt
2000-10-11printf format string typo in HIFN_DEBUG section.Jun-ichiro itojun Hagino
size_t on printf (cast to u_long and use %lu)
2000-08-15- deallocate all resources grabbed during hifn_attach() when an error occurs.Jason Wright
- temporary workaround for netsec hifn7751 rev A: half the amount of memory because two of the address lines were left floating (better memory check coming soon).
2000-08-13indentTheo de Raadt
2000-07-28Use the correct bits for determining which session to delete. Some style fixes.Jason Wright
2000-06-20call crypto_done()Jason Wright
2000-06-17knfJason Wright
2000-06-13use the source length to calculate the output length instead of relying onJason Wright
the length in the descriptors (which is sometimes 0!).
2000-06-13Be more careful when setting up the mbufs for destination buffersJason Wright
(similiar to what's in ubsec)
2000-06-02callback is always staticTheo de Raadt
2000-05-04fixed context memory sizingJason Wright
2000-04-25if we have to allocate a new mbuf, don't forget to copy the header info fromJason Wright
the original packet.
2000-04-25fixing the frontend means fixing the backend too... add a countdown whenJason Wright
computing the length of a destination buffer in the callback since hifn always writes in multiples of 4 bytes (and AH can produce non-nice packets)
2000-04-25use the size of the allocation, not the minimum of what was requested andJason Wright
the allocation size to determine the length of a destination buffer
2000-04-23freesession takes u_int64_tAngelos D. Keromytis
2000-04-19split out mbuf scatter gather functionTheo de Raadt
2000-04-13- let hifn_process() compute the mask bits for the command descriptorsJason Wright
(falls under the category of compute it once and use it). - just copy the computed masks in hifn_write_command() - remove the now unnecessary flags field from hifn_command
2000-04-13- complete rewrite of hifn_write_command() to avoid copies by removing theJason Wright
hifn_build_command() middle layer for building the command descriptor - remove an unnecessary assignment in hifn_process()
2000-04-13match netsec 7751 card, and oh golly gee, will ya look at that, it'sTheo de Raadt
unlock secret is all 0's as well, my, what a coincidence!
2000-04-11- add support for buffers that are not aligned (or end on a non 4byte boundary)Jason Wright
- recompute destination length from destination descriptors and reclaim the destination ring there.
2000-04-11- Don't bother with PCI_COMMAND_IO_ENABLE, the card doesn't support it.Jason Wright
- remove some debugging code - fix arguments to last call to crypto_register() - for sram boards, only check 1mb of ram - when the rings are full, call the crp->callback with crp->crp_etype == ENOMEM so it can clean up, then return 0 - some KNF
2000-04-10- Add back code from the original aeon driver to handle missed interrupts byJason Wright
enabling interrupts when the command queue has more than one entry. - fix comment on hifn_newsession to reflect reality - allocate session structure in softc - compute a random IV when a session is created and try to chain from a software kept IV for subsequent packets - add handling of CRD_F_EXPLICIT
2000-04-05run at splnet() instead of splimp()Jason Wright
2000-04-05maintain state about keys, upload them to context ram once (and avoid theJason Wright
300 clock penalty on key upload) XXX hifn_freesession should probably zot the keys from context ram but XXX does not yet.
2000-04-04add mac result pointer to the callback routineJason Wright
register as supporting MD5_HMAC96 and SHA1_HMAC96 use the correct bit (HIFN_MAC_CMD_NEW_KEY) when checking the mac_cmd mask don't append the mac result to the dest buffer, add it to the result buffer remove incorrect source count calculation involving mac length add order checking to hifn_process so that we can verify the request is possible given the ordering of processing units within the hifn. correct hifn_callback()'s handling of mac checking and copy the computed mac into the right place in the mbuf.
2000-03-31Remove the timeout and print_stats functions (debugging code)Jason Wright
Make sure to skip over zero length mbufs when building the pa/len array Correct some of the comments to reflect reality Fix sanity checking of the device based on the 'sid'
2000-03-30document hook functionsJason Wright
2000-03-30instrument bad crp's and bad crp callbacks, tooJason Wright
2000-03-30add some instrumentation for tracking input (commands/bytes) and outputJason Wright
(results/bytes) as well as "ring full" and "other" errors rework hifn_process so that in the event of a ring full or other error, the error type is set in the descriptor and the callback is executed.
2000-03-29- update copyrightsJason Wright
- remove all ability to block (no more tsleep/wakeup)
2000-03-29remove round-robin use of the boards. We're depending on the upper layerJason Wright
being more intelligent about allocation in the future.
2000-03-29Long over due checkpoint:Jason Wright
o register the hifn as handling DES and 3DES (no md5 or sha1 yet) depending on whether the board is unlocked (none, half, or full) o Fix many KNF nits o print the amount of memory correctly and don't print the number of sessions o set command and result buffer sizes correctly o reclaim the descriptor rings so new commands and buffers can be added o remove some bogus checks on the command buffer o add new variables mac_process_len and crypt_process_len to hifn_command_t o fix calculation in hifn_mbuf to generate the pa/len array for src/dst o simplify the code for setting up the jump descriptor o rework the hifn_intr routine to interrupt at IPL_IMP and simplify it's results processing o more to come...
2000-03-22fix arguments to failure printf's (correct numbers and types)Jason Wright
2000-03-22Oops... catch up with variable renaming in header fileJason Wright
2000-03-18cap the maximum sessions at 2048 since that's all that is available inJason Wright
the result descriptor (the command descriptor has an extra bit, but it gets blown away in transit).
2000-03-17Be sure to mask out the chip stepping when examining the chip levelJason Wright
For round robin requests, use one static variable and hifn_cd to decide the next device to use.
2000-03-17Fix some space->\tJason Wright
Attempt to figure out how much context ram is on the board (known to work with sram boards). From the amount of ram & other configuration, figure out how many sessions are available for storage.
2000-03-16document that other vendors use the hifn pci id tooTheo de Raadt
2000-03-16move aeon to hifn7751Theo de Raadt
2000-03-15Bring in bit definitions from the datasheet and allow shared interrupts.Jason Wright
2000-03-10repair ramcfg whacking code; mickeyTheo de Raadt
2000-03-10unlock cryptography functions on Hi/fn 7751 cryptography card. Based on ↵Michael Shalayeff
reverse engineering of an unlock binary provided by Invertex, for their AEON card, which uses the chip
2000-01-10sync pcidevs and let the aeon driver match the Hi/Fn 7751Jason Wright
(Invertex's aeon used the Hi/Fn 7751 reference design)
1999-12-15nuke *vm_alloc_page_contig, use bus_dmaJason Wright
1999-12-06Make this work for uvm.Artur Grabowski
1999-02-24handle scatter-gather, seperate src/dst mbuf, etcTheo de Raadt
1999-02-21use src/dst descriptor chaining out of an mbufTheo de Raadt