Use VM_MEMATTR_UNCACHEABLE for the constant for UC memory rather than
VM_MEMATTR_UNCACHED.  VM_MEMATTR_UNCACHEABLE is the constant other
platforms use.

MFC after:	2 weeks


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233670 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
- Rename VM_MEMATTR_UNCACHED to VM_MEMATTR_WEAK_UNCACHEABLE on x86 to
  be less ambiguous and more clearly identify what it means.  This
  attribute is what Intel refers to as UC-, and it's only difference
  relative to normal UC memory is that a WC MTRR will override a UC-
  PAT entry causing the memory to be treated as WC, whereas a UC PAT
  entry will always override the MTRR.
- Remove the VM_MEMATTR_UNCACHED alias from powerpc.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233671 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Put quotation marks around a string.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233672 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Defer the rescheduling of TID -> TXQ frames in some instances.

Right now ath_txq_sched() is mainly called from the TX ath_tx_processq()
routine, which is (mostly) done as part of the taskqueue.  It shouldn't
be called outside the taskqueue.

But now that I'm about to flip back on BAR TX, I'm going to start
stressing the ath_tx_tid_pause() and ath_tx_tid_resume() paths.
What I don't want to have happen is a reschedule of the TID traffic
_during_ the completion of TX frames.

Ideally I'd like to have a way to flag back up to the processing code
that the current hardware queue should be rechecked for software TID
queue frames.  But for now, this should suffice for the BAR TX case.

I may eventually delete this code once I've brought some further
sanity to the general TX queue/completion path.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233673 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Fix ia64 build after r233655.

MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233674 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Restore proper use of bounce buffers for ISA DMA.  When locking was
added, the call to pmap_kextract() was moved up, and as a result the
code never updated the physical address to use for DMA if a bounce
buffer was used.  Restore the earlier location of pmap_kextract() so
it takes bounce buffers into account.

Tested by:	kargl
MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233675 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Use a more proper fix for enabling HT MSI mapping windows on Host-PCI
bridges.  Rather than blindly enabling the windows on all of them, only
enable the window when an MSI interrupt is enabled for a device behind
the bridge, similar to what already happens for HT PCI-PCI bridges.

To implement this, each x86 Host-PCI bridge driver has to be able to
locate it's actual backing device on bus 0.  For ACPI, use the _ADR
method to find the slot and function of the device.  For the non-ACPI
case, the legacy(4) driver already scans bus 0 looking for Host-PCI
bridge devices.  Now it saves the slot and function of each bridge that
it finds as ivars that the Host-PCI bridge driver can then use in its
pcib_map_msi() method.

This fixes machines where non-MSI interrupts were broken by the previous
round of HT MSI changes.

Tested by:	bapt
MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233676 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revert r233662 and generalize the hack.  Writing zero to BAR actually does
not disable it and it is even harmful as hselasky found out.  Historically,
this code was originated from (OLDCARD) CardBus driver and later leaked into
PCI driver when CardBus was newbus'ified and refactored with PCI driver.
However, it is not really necessary even for CardBus.

Reviewed by:	hselasky, imp, jhb


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233677 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Fix couple of style nits.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233678 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
If hastd is invoked with "-P pidfile" option always create pidfile
regardless of whether -F (foreground) option is set or not.

Also, if -P option is specified, ignore pidfile setting from configuration
not only on start but on reload too. This fixes the issue when for hastd
run with -P option reload caused the pidfile change.

Reviewed by:	pjd
MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233679 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Remove unnecessary Xo/Xc.

Reviewed by:	brueffer


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233680 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Fix typo from last commit.

Noticed by:	brueffer


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233681 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
oops, add a missing lock.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233682 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revert sys/x86/include/endian.h to what it was before r233419, as that
revision has two problems:
- It can produce worse code with both clang and gcc.
- It doesn't fix the actual issue introduced in r232721, which will be
  fixed in the next commit.

Submitted by:	bde, tijl and jh
Pointy hat to:	dim


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233683 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Fix an issue introduced in sys/x86/include/endian.h with r232721.  In
that revision, the bswapXX_const() macros were renamed to bswapXX_gen().

Also, bswap64_gen() was implemented as two calls to bswap32(), and
similarly, bswap32_gen() as two calls to bswap16().  This mainly helps
our base gcc to produce more efficient assembly.

However, the arguments are not properly masked, which results in the
wrong value being calculated in some instances.  For example,
bswap32(0x12345678) returns 0x7c563412, and bswap64(0x123456789abcdef0)
returns 0xfcdefc9a7c563412.

Fix this by appropriately masking the arguments to bswap16() in
bswap32_gen(), and to bswap32() in bswap64_gen().  This should also
silence warnings from clang.

Submitted by:	jh


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233684 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Remove task queue based link state change handler. Driver no longer
needs to defer link state handling.
While I'm here, mark IFF_DRV_RUNNING before changing media.  If
link is established without any delay, that link state change
handling could be lost.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233688 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Do not report current link status if driver is not running.
This change also workarounds dhclient's link state handling bug by
not giving current link status.

Unlike other controllers, ale(4)'s PHY hibernation perfectly works
such that driver does not see a valid link if the controller is not
brought up.  If dhclient(8) runs on ale(4) it will blindly waits
until link UP and then gives up after 10 seconds.  Because
dhclient(8) still thinks interface got a valid link when IFM_AVALID
is not set for selected media,  this change makes dhclient initiate
DHCP without waiting for link UP.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233689 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge umtxq_sleep and umtxq_nanosleep into a single function by using
an abs_timeout structure which describes timeout info.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233690 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Remove trailing space.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233691 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Reenable unsolicited responses on CODEC if hdaa_sense_init() called again.
This fixes jack connection events handling after suspend/resume.

PR:		kern/166382
MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@233692 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f