summaryrefslogtreecommitdiff
path: root/sys/dev/pci/hifn7751.c
AgeCommit message (Collapse)Author
2003-02-17whitespace, typos, and compression structure defnsJason Wright
2003-02-15kill the remaining typedefs (These are about the last trace of InvertexJason Wright
save for the copyright message).
2002-11-26Whitespace diff; from FreeBSDJason Wright
2002-11-21From Angelos:Jason Wright
- simplistic load balancing across multiple cards - simplified registration process - a few style nits.
2002-11-19Add a simplistic table driven lookup routine and use it where appropriate.Jason Wright
2002-08-01whoops, last write tracker should be updated on every write to avoid the ↵Jason Wright
burst write problem on 7811.
2002-07-29hifn isn't sure if the burst write problem applies to the 7811 rev 1 or not, ↵Jason Wright
so play it safe and apply the workaround on all 7811's.
2002-07-25house cleaning, also fix a couple of incorrect bit definitions in theJason Wright
(currently unused) pk engine
2002-07-23from reading sam@errno.com's code:Jason Wright
- TRDY and RETRY register definitions were backwards - move TRDY/RETRY setup into its own function
2002-07-23Don't use a magic constantJason Wright
2002-07-23Turn READ/WRITE into function calls (driver was getting too bloated withJason Wright
inline macro's; if hifn wanted to make it possible to write a very efficient driver they would have fixed the bugs in the chips). Also, invalidate the burst write checks when a read is executed.
2002-07-22uninitialized variable; pointed out by sam@errno.comJason Wright
2002-07-21Flip on the LEDs on a 7811 when each of the rings is active (and turn themJason Wright
off when not), I should really get a life.
2002-07-21Deal with the fact that one of the 7811 revisions cannot correctly handleJason Wright
burst writes (bridges may coalesce sequential writes into a burst) by inserting a read (I know, icky!) in between sequential writes. Thanks to sam@errno.com, GTGI, and Hifn for helping track this one down.
2002-07-16Two fixes from sam@errno.com:Jason Wright
- fix a reference after free on the src mbuf in hifn_callback() - prevent a mbuf leak on error in hifn_crypto()
2002-07-05Never call crp_callback directly, use crypto_done() insteadJason Wright
2002-07-05KNF (no space after casts)Jason Wright
2002-05-17simplify dmesg printout (all models have all crypto)Theo de Raadt
2002-05-077811 needs a short pause before setting up the DMA CSR during reset or itJason Wright
will hang during the first DMA operation on some machines.
2002-04-30- increase sample size from 1 byte to 4 bytes so that we can detectJason Wright
alias's > 4MB - remove extra initialization loop (cut/pasto) based on private email from Henric Jungheim <henric@henric.info>
2002-04-29Rework memory detection (again) based on code from Henric Jungheim ↵Jason Wright
<henric@henric.info> Also, while here, improve memory detection speed (poll for valid bit to be reset and exit as soon as it is or we timeout).
2002-04-08Credit DARPA/USAF appropriately.Jason Wright
2002-03-14First round of __P removal in sysTodd C. Miller
2002-01-31Whoops! Add back matching of 7951; Matthias Bauer ↵Jason Wright
<bauerm@immd1.informatik.uni-erlangen.de>
2002-01-23Add defn for MIPS reset register and use it.Jason Wright
2002-01-09o There's no such thing as a source overrun, remove the definitionJason Wright
o enable illegal read/write interrupts on 7811 (mainly for debugging)
2002-01-08Add support for the Hifn 7811 (Thanks to GTGI for donating the card).Jason Wright
While here, avoid resetting the card so often during the ram probe [speeds up autoconf and simplifies the driver a bit]. Also, add a missing argument to a debugging printf() (no longer ever called because the abort timers are disabled =)
2001-11-14- Sprinkle more htole16/htole32s so that this thing has a chance of workingJason Wright
on big endian machines. (Unfortunately I can't verify this really works on sparc64 because of crazy psycho(4) interrupt problems). - use htole32() on constants instead of letoh32() on variables and hope for better optimization. - In several places use the unswizzled shadows to see what kind of operation has been queued instead of the (now) swizzled versions. - hifn provides some BE/LE assist, but it seems to vary depending on revision and chip number, perhaps it's worth investigating?
2001-11-12Sprinkle with htole32, add a garnish of htole16 and finish off with aJason Wright
bit of letoh16 and letoh32 then let simmer while sparc64 gets through the ram test correctly.
2001-11-12Don't abuse bus_dma(9) API by using dmamap->dm_* to hold results fromJason Wright
bus_dmamem_* operations; instead, store them in softc. This allows the driver to get through autoconf on sparc64 (ok, well it fails the ram test because of endian issues... but it's a start).
2001-11-09be way more sure that software cannot be usedTheo de Raadt
2001-11-06Replace inclusion of <vm/foo.h> with the correct <uvm/bar.h> when necessary.Miod Vallat
(Look ma, I might have broken the tree)
2001-11-05Switch everything to the new bus_dmamap_sync API.Artur Grabowski
Most work by Wilbern Cobb <vedge@csoft.org> with some fixes from me, mickey@ and drahn@.
2001-11-047751 has two registers in config space (0x40 - RETRY_TIMEOUT and 0x41,Jason Wright
TRDY_TIMEOUT). These registers must be initialized to zero to disable these timers or 7751 will get PCI aborts on its descriptor rings on certain chipsets. These timers were removed because they were unneeded in the 7951. I'm not sure how I missed this in the datasheet, but there it is plain as day on page 24. Thanks go to Hifn for pointing this out. Upshot: PCI abort problem on 7751 appears to be solved.
2001-09-06Rewrite interrupt handler a bit... ack interrupts sooner.Jason Wright
2001-08-28an attempt at deuglification of the previous commit (It's still ugly, tho)Jason Wright
2001-08-28Relax restriction on buffer length being % 4 = 0 for the last entry in theJason Wright
chain. This allows us to avoid mbuf copies (and EINVAL on iov's) for packets of non "nice" length. Do this by adding a pad u_int32_t to catch the (possible) overflow and detecting when it's necessary. Also, do a bit of cleaning that ben pointed out.
2001-08-27Deal with __HAS_NEW_BUS_DMAMAP_SYNC and try to sync partial maps when possible.Jason Wright
2001-08-27initial support for non-HMAC md5/sha1 (work by ben@ and myself)Jason Wright
2001-08-25Change pci_intr_map to take pci_attach_args as an argument.Artur Grabowski
All callers actually took all arguments to pci_intr_map from pci_attach_args structs, so this simplifies code. This also allows more complicated interrupt assignment schemes like the one on sparc64. This makes sparc64 pci interrupts work. Inspired by the same change in NetBSD.
2001-08-22rename hs_flags -> hs_state and use #defines for the state names.Jason Wright
2001-08-22better error handling (a merge of ben's stuff and mine)Jason Wright
2001-08-22Better error catching (badly aligned iov's are EINVAL not ENOMEM)Jason Wright
2001-08-17Add RC4 support.ben
2001-08-15- Attempt to recover from PCI aborts. This is a heavy handed approach whichJason Wright
involves running down what's in the queue and resetting the chip. - remove a DELAY() from reset and just wait for the proc unit to come out of reset. - never set the LAST bit in a JUMP descriptor - use lengths from each map (not just source map) for total_*_length in command [This does not fix problems with net4501, but may address problems with CA810]
2001-08-12remove redundant vm includesMichael Shalayeff
2001-08-11move hifn_stats definition to headerJason Wright
2001-08-08leave the dma engines polling for a bit after the last descriptor has beenJason Wright
passed through. After a few seconds (5 currently) of no activity, stop them completely.
2001-08-08Initial support for RC4 operations (This probably won't work yet asJason Wright
the caller of *_process() doesn't seem to initialize crd_klen correctly; it has a zero value... still debugging...).
2001-07-21- Clear all interrupts during initialization (shouldn't be necessary, butJason Wright
doesn't hurt). - Turn the dma queues on and off as needed. This results in fewer PCI aborts on 7751.