summaryrefslogtreecommitdiffstats
path: root/sys/dev
AgeCommit message (Collapse)AuthorFilesLines
2014-01-21Use ARRAY_SIZE() instead of nitems() to reduce diffs with Linux.kettenis3-10/+10
2014-01-21Allow for variable sized work units.jsing4-11/+10
ok krw@
2014-01-21Use a TAILQ for tracking work units, rather than an array. This will allowjsing2-21/+17
for variable size work units. While here, remove some pointless checks. ok krw@
2014-01-21Stop bzeroing the work unit when it is initialised. Rather, only initialisejsing1-5/+9
the specific fields that are either not persistent for the life of the workunit and/or not reinitialised in sr_wu_release_ccbs. This is also necessary for upcoming changes. ok krw@
2014-01-21Add all the Intel KT's which got missed.deraadt1-13/+90
2014-01-21Remove pointless validation - these cases cannot be hit as they havejsing1-9/+8
already been checked in sr_crypto_alloc_resources and sr_validate_io. Also document the known issue with per-block key selection. ok krw@
2014-01-21Factor out and fix the RAID5 write functionality.jsing1-36/+119
In particular, change the parity calculation algorithm so that we do not need to scrub the volume. Also handle the different cases that we can encounter when operating in online and degraded mode. This allows writes to continue to function correctly even when a chunk is lost. ok krw@
2014-01-21Add support for ISP2200 based adapters.jmatthew3-48/+161
This involves a bit of a hack in the interrupt processing path, where we ignore the interrupt status if we're expecting a mailbox command to complete, but we don't have the mailbox semaphore and the response ring hasn't moved. Typically next time through, the interrupt status is the same and we have the semaphore so we can read the results.
2014-01-21The semaphore register does need to be cleared when clearing interrupts,jmatthew1-7/+14
but only for interrupts that return information through mailbox registers.
2014-01-21Stop using 23xx-specific interrupt status codes everywhere. Instead, classifyjmatthew2-25/+42
into one of 4 types in qla_read_isr.
2014-01-20With 2K login firmware, the login option bits are in mbox register 10.jmatthew1-2/+5
These need to be explicitly set to 0, otherwise the firmware might not do the process login and so leave us unable to talk to the device.
2014-01-20call usbd_deactivate() for DVACT_DEACTIVATEjcs1-4/+8
also check usbd_is_dying() when checking sc_status requested by mpi@
2014-01-20add ubcmtp, a USB driver for Broadcom multitouch trackpads found onjcs2-1/+880
newer Apple MacBook laptops enabling two-finger scrolling and other multi-finger gestures with the synaptics(4) driver mostly done at the t2k13 hackathon input from and ok mpi@
2014-01-20define UIPROTO_BOOT_MOUSEjcs1-1/+2
ok mpi@
2014-01-20bcopy to memcpychris1-12/+12
ok mikeb@
2014-01-20bcmp to memcmpchris1-2/+2
ok mikeb@
2014-01-20bzero to memsetchris1-35/+35
ok mikeb@
2014-01-20Return a user friendly error if we ever encounter an unknown cryptojsing1-1/+2
algorithm.
2014-01-20Do the resume work from DVACT_WAKEUP. There is far too much code, and itkettenis1-1/+3
is almost certainly doing tsleeps. ok deraadt@
2014-01-20drm_activate() serves no purpose; ok kettenisderaadt1-14/+2
2014-01-20Convert the softraid work unit workqs to taskqs.jsing2-12/+13
ok dlg@
2014-01-20Store the algorithm and key length in the discipline data structure,jsing2-26/+22
instead of having multiple switch statements in various places. ok mikeb@
2014-01-20Remove unused variable.jsing1-2/+1
2014-01-20Do not bother setting crp_desc to NULL, since it does not really gain usjsing1-10/+1
anything. ok mikeb@
2014-01-20bzero to memsetdlg1-13/+13
2014-01-20bcopy to memcpydlg1-6/+8
2014-01-20Instead of checking sc->sc_revision <= 1 check that theclaudio1-2/+2
fadt->hdr_revision <= 1. This is a better check since it checks the version of the proper descriptor. This allows the alix APU to reboot since those boards have currently a wrong sc->sc_revision. Committing this now so that it can be tested easier. With and OK jsg@ also fine by derradt@
2014-01-20Replace dedicated swu_fake variable with a work unit flag.jsing2-5/+5
ok krw@
2014-01-19Refactor rnd startup so arc4random/arc4random_buf can create a chacha statederaadt2-32/+24
on first call, very early on, from boot-supplied entropy, then feed from that. Later when we have more subsystems ready, the main() can properly initialize the entropy-driven model. Lots of discussion with mikeb. ok kettenis markus mikeb
2014-01-19Assert that a workunit has ccbs if it is being scheduled. Otherwise wejsing1-1/+3
deadlock since nothing will ever come back to tell us that the workunit is completed. ok krw@
2014-01-19white space fixdlg1-2/+2
2014-01-19If the system runs out ouf mbufs, the receive queue of the viobluhm1-8/+29
interface may get emtpy. The driver did not recover from that starvation as it does not get receive interrupts anymore. Fix this by adding a one second receive timeout in that case. OK sf@
2014-01-19Improve some comments and wrap a long line.jsing1-6/+11
2014-01-19Only schedule the read workunit if there are actually I/O ccbs enqueuedjsing1-8/+12
on it. ok krw@
2014-01-19Factor out and improve the block regeneration code.jsing1-26/+58
ok krw@
2014-01-19Better interrupt handler return values. 1 if the chip said it wanted anjmatthew1-14/+8
interrupt, 0 if it didn't. "makes sense" dlg@
2014-01-19introduce fine grained locking around the lists of packet handlersdlg1-20/+51
myx maintains. this moves it away from relying on splnet to protect them.
2014-01-19Introduce qla(4), a new driver for Qlogic fibre channel HBAs (only ISP23xxjmatthew5-1/+2932
so far). Works reasonably well now, so it's going in the tree so others can try it out. with some help and fixes from dlg@, general encouragement from basically everyone
2014-01-19hwflags is never used, so clean it updlg1-3/+1
2014-01-19replace bcmp with memcmpdlg1-4/+4
2014-01-19bcopy to memcpydlg1-3/+3
2014-01-19replace bzero with memset.dlg1-34/+34
2014-01-19all 64bit archs myx runs on support bus_space 8 things because of work idlg1-2/+2
did at n2k13.
2014-01-19With the earlier initialization of the random subsystem, random_hostseed()deraadt2-13/+2
is no longer providing significant value. The random subsystem is in pretty good state, and moments later userland will feed the dmesg. ok jsing
2014-01-19In random_start() we can assume the msg buffer is mapped, all systems doderaadt1-6/+8
it at startup, or in cpu_startup(). Improve comments to explain what is happening here. ok kettenis jsing
2014-01-19scsi has to scrub the ata xfer before using it so its set for the restdlg1-1/+2
of the ata stuff to properly handle. found by dtucker@
2014-01-18move the declaration of ncr53c9x_scsi_cmd into the .c file, its the onlydlg2-3/+3
place that uses it.
2014-01-18replace XS_NO_CCB with an iopool around the ecb_pool.dlg1-39/+21
take advantage of pool_setipl while here.
2014-01-18get rid of a XS_NO_CCB thats caused by a failure to allocate thedlg2-86/+55
thing that stores state for luns. instead of checking and allocating it in the scsi_cmd path, and doing weird things all over the place to free it (eg, there's a timeout that ran every 10m to gc luns), use the scsi_probe and scsi_free things the midlayer calls.
2014-01-18instead of having every bit of glue set up and attach an identicaldlg8-50/+24
scsi_adapter struct, just do it once in the chip code. ok krw@