hptiop(4): Add some more PCI IDs.

The following adapters were added:

RocketRAID 4210
RocketRAID 4211
RocketRAID 4310
RocketRAID 4311
RocketRAID 3530
RocketRAID 3560

This commit also adds a cam(4) dependency.

Taken-from: FreeBSD
hptmv(4): Use cam_calc_geometry().

Also add a dependency on cam(4).

Taken-from: FreeBSD
kernel/dsched: Add a version parameter to the DSCHED_POLICY_MODULE macro.
mpt(4): Fix a porting mistake I did in 6d259fc1.

I left in both the code of the "#if __FreeBSD_version" as well as that of
its "#else". This caused the geometry to be calculated twice.
arcmsr(4): Use cam_calc_geometry().
ncurses: Fix pkgsrc check and use of ncurses

Without the macro SET_NEED_WCHAR_H defined, the ncurses header will not
include wchar.h which is where the wint_t type is defined.  This breaks
any program loading ncurses.h without defining this macro because several
functions use the wint_t type.

Define wint_t as int if wchar.h isn't included.  This fixes the ncurses
check on several pkgsrc configuration checks and allows the package to
build with the system ncurses.
alc: Stablize this driver and fix various porting overlooks

- Use ifnet serializer to protect driver data.  This should fix the
  various panics that were observed on the network output path.
- Fix busdma setup.
- Always allocate the descriptor rings and status blocks at the lower
  4GB.  The original way will require the RX/TX bufs to be located at
  the lower 4GB, which is a great waste of bounce buffers, cpu cycles
  and memory bandwidth.
- Don't mess up M_PKTHDR on RX path.
- Allocate mbuf w/ MB_WAIT on initialization path.
- Enable MSI by default.
igb: Make sure that mbuf is changed before busdma sync

This should not be problem for igb, since it does not have any
busdma constraint thus no effective busdma sync will happen.
emx: Make sure that mbuf is changed before busdma sync

This should not be problem for emx, since it does not have any
busdma constraint thus no effective busdma sync will happen.
emx: Increase spare TX descriprors to 33 incorporate TSO segment
em/emx: Fix up detach path

- We could release management control only if PCI BAR is mapped
- Release multicase array memory
emx: emx_timer() only requires main serializer
bnx: Increase spare TX descriptors to 33 to incorporate TSO segment
bnx: Rearrange the code to check the spare TX descripors first

While im here, remove the useless fragmentation checksum code, which
is never supported by this driver
bnx: Correct debug messages
bnx: Allow TX/RX max coalesce BDs to be 0; mainly for debugging
bnx: Disable RX max BDs based interrupt moderation

The RX max coalesce BDs is limited to 255, which means that the chip will
generate ~5800 interrupts/s when it sinks 1.48Mpps tiny packets.  However,
interrupt rate at 4000Hz is already enough for the chip to sink 1.48Mpps
tiny packets, so ticks based RX interrupt moderation should be prefered.
Add the hpt27xx(4) driver for HighPoint RocketRAID 27xx SAS controllers.

The manual page mentions the following adapters to be supported:

* RocketRAID 271x
* RocketRAID 272x
* RocketRAID 274x
* RocketRAID 276x
* RocketRAID 278x

I have tested it with a RocketRAID 2720.

Taken-from: FreeBSD
hpt27xx(4): Use NULL for pointers.
cut: Sync with FreeBSD

Addresses:
http://bugs.dragonflybsd.org/issues/2385
reported-by: Tim Darby