MFC r283263, r289359, r308187, r311660, r311693, r311727, r311797:
Raise the SDHCI timeout to 10 seconds and add a sysctl to allow changing
this value at runtime.
Add support for the BCM57765 card reader.
Toggle card insert/remove interrupt enable bits on events.
Add a new sdhci interface method, get_card_present().
Now that the PRESENT_STATE register is only used for the inhibit bits loop
in this function, sdhci_start_command(), eliminate the state variable and
restructure the loop to read the register just once at the top of the loop.
Add support for non-removable media, and a quirk to use polling to detect
card insert/remove events on controllers that don't implement the insert
and remove interrupts.
Add sdhci_handle_card_present_locked() that can be called from the interrupt
handler which already holds the mutex, and have sdhci_handle_card_present()
be just a tiny wrapper that does the locking for external callers.
git-svn-id: svn://svn.freebsd.org/base/stable/10@312245
ccf9f872-aa2e-dd11-9fc8-
001c23d0bc1f