kernel - PF SMP work - fix RDR rules

* Use the global state table for all global-flagged state.  RDR
  rules can apparently cause PF_SK_WIRE/PF_SK_STACK to be
  reversed so our global state table tests which only used
  PF_SK_WIRE for GLOBAL-flagged translations were not sufficient.

* Fixes issues with the reverse packet direction for a rdr
  rule not finding the reverse state.

* Note that RDR rules will not be SMP-optimal.

* Adds a bit more overhead for NAT translations which are not
  SMP optimal (however, most NAT translations select a port
  that will be SMP optimal).

Reported-by: alexh
tools/udpecho: Add option to disable echo; just sink
tools/kq_connect_client: Add option to create UDP socket before connect

And do connect and send 18B datagram before closing the UDP socket.  This
simulates DNS resolving, though this UDP socket does not receive a reply.
drm/i915: Fix display corruption issues on Haswell

* The mid-level cache is setup differently on Haswell

* Haswell's PTE encoding has also changed; we have to know what
  GPU generation we're running on to write the correct attributes
  to the Graphics Translation Tables
bsd-family-tree: Sync with FreeBSD.
smb - Increase max block size from 32 to 1024

* The SMB API can be used for I2C transactions.  Do not impose the
  SMB2.0 block size limit on transfers.
drm/i915: Sync i915_gem_execbuffer.c with Linux 3.8.13

* Simpler code and more consistent performance

* Implement a workaround for a Sandy-Bridge hardware issue
drm/i915: Fix multiple off-by-one errors in intel_i2c

* the i2c pin numbers are 1 based as per intel spec but
  we used the unit number as pin number, which is 0 based
* the gmbus array is 0 based, but the port number is 1 based
  accesses into the port array are therefore off-by-one and this
  only worked by chance before.
drm/i915: Use intel_gmbus_get_adapter instead of dev_priv->gmbus array
drm/i915: grab the config log on hardware init
atmel_mxt - Add atmel MXT touchscreen driver (Acer c720p)

* Implements the communications infrastructure on the hardware backend and
  emulates an elographics tablet on the frontend.

* X Configuration is:

    Section "InputDevice"
	    Identifier  "TouchScreen0"
	    Driver      "elographics"
	    Option      "Device" "/dev/atmel1-4a"
    #       Option      "ZAxisMapping" "4 5 6 7"
    EndSection

* System configuration is (in /boot/loader.conf):

    ig4_load="YES"
    atmel_mxt_load="YES"

* Currently only tested and only likely to work with the Acer c720p.
  Can do basic touchscreen operations... hold-move-and-release for
  button-1.  Can move or resize windows (you may want to make your resize
  widgets bigger).  Can hit buttons and hotlinks in browsers.  Cannot
  scroll a browser window on its own.

* Noise issues.  I've noticed that both my chromebooks have a lot of mouse
  pointer jitter with both the trackpad and the touchscreen, more than
  I can actually fix.  I've noticed some complaints on the linux forums too
  so it aint just us.

  The jitter is reduced if you put the laptop on your lap, and appears to
  go away entirely if the laptop is on your lap AND the power is disconnected
  (i.e. running on battery).
drm/i915: Only build on amd64/x86_64 machines

This driver now requires a direct memory map.
smbus - Add SMB_TRANS_NOREPORT

* Add a flag to tell subsystems not to report errors (during probing).
ig4 - Fix rxdata shift error and add debugging

* Fix a bug where the rx fifo can wind up with spurious data that never
  clears because later commands are always one-ahead of it.

* Report rx data failures and spurious rx fifo data, except when the
  NOREPORT flag has been specified.
atmel - Add automatic recalibration

* Add automatic recalibration every 30 seconds when idle.  I'm really not
  sure if this is necessary or not but for now we do it.

* Interval can be adjusted with sysctl debug.atmel_mxt_autocalibrate,
  set to 0 to disable.
Update the pciconf(8) database.

August 10, 2014 snapshot from http://pciids.sourceforge.net/
kernel - Reduce ig4 receive errors

* The timeout code now checks the FIFO and register status at least once
  before testing whether the timeout has been exceeded, and at least once
  more after waiting the timeout period.

  Previously the code would check, see that no data was present, then delay
  a little and check whether a timeout occurred after the delay without
  again testing whether data is present.

* Appears to fix receive timeouts reported by cyapa and atmel_mxt.