freebsd-dev/sys/dev/mlx
John Baldwin 0fca6f8bf5 Add locking to mlx(4) to make it MPSAFE along with some other fixes:
- Use callout(9) rather than timeout(9).
- Add a mutex as an I/O lock that protects the adapter and is used
  for the I/O path.
- Add an sx lock as a configuration lock that protects the relationship
  of configured volumes.
- Freeze the request queue when a DMA load is deferred with EINPROGRESS
  and unfreeze the queue when the DMA callback is invoked.
- Explicitly poll the hardware while waiting to submit a command to
  allow completed commands to free up slots in the command ring.
- Remove driver-wide 'initted' variable from mlx_*_fw_handshake() routines.
  That state should be per-controller instead.  Add it as an argument
  since the first caller knows when it is the first caller.
- Remove explicit bus_space tag/handle and use bus_*() rather than
  bus_space_*().
- Move duplicated PCI device ID probing into a  mlx_pci_match() routine.
- Don't check for PCIM_CMD_MEMEN (the PCI bus will enable that when
  allocating the resource) and use pci_enable_busmaster() rather than
  manipulating the register directly.

Tested by:	no one despite multiple requests (hope it works)
2012-09-17 15:27:30 +00:00
..
mlx_compat.h
mlx_disk.c Add locking to mlx(4) to make it MPSAFE along with some other fixes: 2012-09-17 15:27:30 +00:00
mlx_pci.c Add locking to mlx(4) to make it MPSAFE along with some other fixes: 2012-09-17 15:27:30 +00:00
mlx.c Add locking to mlx(4) to make it MPSAFE along with some other fixes: 2012-09-17 15:27:30 +00:00
mlxio.h
mlxreg.h Add locking to mlx(4) to make it MPSAFE along with some other fixes: 2012-09-17 15:27:30 +00:00
mlxvar.h Add locking to mlx(4) to make it MPSAFE along with some other fixes: 2012-09-17 15:27:30 +00:00