freebsd-nq/sys/dev
Pyun YongHyeon 29b44b096f Implement workaround for BCM5719/BCM5720 TX hang.
The read DMA request logic operation is based on having sufficient
available space in the transmit data buffer (TXMBUF) before a read
DMA can be requested.  There are four read DMA channels that use
the TXMBUF, and the logic checks if the available free space in the
TXMBUF is large enough for all the data in the four Send Buffers
for which buffer descriptors have been fetched.  The Enable_Request
signal is asserted only if the free TXMBUF space is larger than the
sum of the four DMA length registers.  The power-up default value
of BGE_RDMA_LSO_CRPTEN_CTRL register bit 25 (bit 21 on BCM5720) is
zero, which selects the DMA length registers to connect to the
input of the adder block.  The DMA length registers are
asynchronously reset following BCM5719/BCM5720 power-up, and due to
the lack of synchronous deassertion of the length registers reset
signal these resisters may contain uninitialized values following
the reset deassertion.
In the case of the failure the uninitialized DMA length register
values added up to more than the TXMBUF size, which prevented the
assertion of the Enable_Request signal and any subsequent read DMA
to start.  This lockup condition is the root cause of failing to
generate any transmit traffic.

To workaround the issue, select alternate output of multiplexers
and transmit the first four Ethernet frames. This overwrites the
DMA length registers with valid values.

Reported by:	Geans Pin <geanspin@broadcom.com>
Reviewed by:	Geans Pin <geanspin@broadcom.com>
2013-07-17 04:53:53 +00:00
..
aac Allow unmapped I/O via aacd(4). It shouldn't be too hard to add the 2013-05-30 00:22:07 +00:00
aacraid Unbreak ia64 tinderbox: 64-bit support was made conditional upon 2013-05-26 22:11:13 +00:00
acpi_support Consistently cast ACPICA 64-bit integer types when we print them. 2013-06-26 23:52:10 +00:00
acpica Workaround some broken BIOSes that specify edge-sensitive but active-low 2013-07-16 14:42:16 +00:00
adb Use uiomove return value instead of returning 0. 2012-11-13 06:03:43 +00:00
adlink Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays 2013-01-30 18:01:20 +00:00
advansys Reform the busdma API so that new types may be added without modifying 2013-02-12 16:57:20 +00:00
ae Avoid magic constant. 2013-07-17 01:34:25 +00:00
age Be sure to actually decrement the "count" parameter for each processed 2013-06-17 22:59:47 +00:00
agp Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
aha Reform the busdma API so that new types may be added without modifying 2013-02-12 16:57:20 +00:00
ahb Reform the busdma API so that new types may be added without modifying 2013-02-12 16:57:20 +00:00
ahci Add ID for Marvell 88SE9215 AHCI SATA controller. 2013-07-09 08:49:17 +00:00
aic Reform the busdma API so that new types may be added without modifying 2013-02-12 16:57:20 +00:00
aic7xxx Fxi a bunch of typos. 2013-05-10 16:41:26 +00:00
alc Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
ale Make sure to stop both TX and RX MACs in ale_stop_mac(). Previously 2012-12-17 06:01:57 +00:00
altera Partial MFC of change 228122: 2013-04-30 18:29:05 +00:00
amdsbwd Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays 2013-01-30 18:01:20 +00:00
amdtemp Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays 2013-01-30 18:01:20 +00:00
amr Reform the busdma API so that new types may be added without modifying 2013-02-12 16:57:20 +00:00
an Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
arcmsr Refresh vendor driver version which fixes command queue 2013-07-06 01:46:58 +00:00
asmc Give device_printf format string to pacify clang warning. 2012-11-09 14:58:26 +00:00
asr
ata Add test for SATA registers writability and skip using them if it failed. 2013-06-25 09:15:49 +00:00
ath Don't log anything if npkts == 0. 2013-06-29 19:57:57 +00:00
atkbdc Remove a bogus re-assignment. 2013-05-13 20:03:59 +00:00
auxio Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays 2013-01-30 18:01:20 +00:00
bce Fix triggering false watchdog timeout when controller is in PAUSE 2013-06-30 05:12:18 +00:00
bfe Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
bge Implement workaround for BCM5719/BCM5720 TX hang. 2013-07-17 04:53:53 +00:00
bktr Pass a format string to kproc_create() [1] and thus fix the build with 2013-04-30 05:08:17 +00:00
bm Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
buslogic Reform the busdma API so that new types may be added without modifying 2013-02-12 16:57:20 +00:00
bvm Probe for existence of the bvm debug port instead of just assuming that it is 2012-10-27 22:54:23 +00:00
bwi Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
bwn Fixing a clang warning about using uninitialized variable. 2013-05-06 21:57:44 +00:00
bxe This fixes a out-of-order problem with several 2013-02-07 15:20:54 +00:00
cadence Bring copyright changes with the agreement of Thomas Skibo. 2013-04-28 07:00:36 +00:00
cardbus
cas - Correct mispellings of the word necessary 2013-04-17 11:42:40 +00:00
ce Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays 2013-01-30 18:01:20 +00:00
cesa Move initialization of CESA decoding windows from common section 2013-05-06 13:34:36 +00:00
cfe
cfi Use direct custom implementations instead of g_handleattr() for CFI and NAND 2013-06-12 12:51:43 +00:00
ciss The controller does not zero this data structure, ever. 2013-04-28 20:46:32 +00:00
cm Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
cmx
coretemp Mark the coretemp(4) sysctls as MPSAFE, ensuring that Giant won't be held 2013-02-18 22:47:16 +00:00
cp Fxi a bunch of typos. 2013-05-10 16:41:26 +00:00
cpuctl Increase the microcode max size to 16K to accomodate more recent Intel 2013-07-03 20:29:15 +00:00
cpufreq Add a quirk to disable this driver for certain older laptops with an ICH2 2013-02-26 18:30:47 +00:00
cs Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
ct Use ANSI prototype to fix build with clang. 2012-11-10 14:58:06 +00:00
ctau Fxi a bunch of typos. 2013-05-10 16:41:26 +00:00
cx Fxi a bunch of typos. 2013-05-10 16:41:26 +00:00
cxgb Remove unnecessary #include's. 2013-06-02 18:10:16 +00:00
cxgbe Specify a timeout for the PL block. 2013-07-17 02:37:40 +00:00
cy
dc Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
dcons MFcalloutng: 2013-02-19 18:22:25 +00:00
de Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
digi Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays 2013-01-30 18:01:20 +00:00
dpms
dpt options DPT_HANDLE_TIMEOUTS hasn't worked since dpt(4) was converted to CAM 2013-04-10 23:20:09 +00:00
drm Fix white spaces. 2013-04-23 18:30:33 +00:00
drm2 Remove unneeded page lock around vm_page_insert(). 2013-07-06 04:46:42 +00:00
e1000 Change the E1000 driver option header handling to match the 2013-07-12 22:36:26 +00:00
ed Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
eisa
en Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
ep Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays 2013-01-30 18:01:20 +00:00
esp
et Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
etherswitch Bring in a basic ethernet switch driver for the IP17x series of 2013-05-08 20:58:41 +00:00
ex Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
exca
fatm Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
fb Limit the amount of video memory we map for the driver to the maximum value. 2013-03-27 18:06:28 +00:00
fdc Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays 2013-01-30 18:01:20 +00:00
fdt Add basic support for FDT to i386 & amd64. This change includes: 2013-05-21 03:05:49 +00:00
fe Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
filemon Build fix: Only <sys/cdefs.h> should be included before __FBSDID(). 2013-06-04 15:35:37 +00:00
firewire MFprojects/camlock r248982: 2013-04-14 09:55:48 +00:00
flash Add support for two new winbond SPI flash parts. 2013-06-08 20:12:14 +00:00
fxp Avoid unnecessary controller reinitialization by checking driver 2013-06-10 07:31:49 +00:00
gem Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
glxiic This isn't functionally identical. In some cases a hint to disable 2012-10-22 13:06:09 +00:00
glxsb
gpio Style fixes 2012-11-23 19:20:38 +00:00
gxemul Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
hatm Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
hifn Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
hme Avoid controller reinitialization which could be triggered by 2013-07-10 06:46:46 +00:00
hpt27xx Import HighPoint DC Series Data Center HBA (DC7280 and R750) driver. 2013-07-06 07:49:41 +00:00
hptiop Add PCI IDs for HighPoint RocketRAID 4521, 3620, 3622 and 3640 2013-07-05 23:10:02 +00:00
hptmv Fxi a bunch of typos. 2013-05-10 16:41:26 +00:00
hptnr Merge from hpt27xx, r249468 (mav): 2013-07-12 21:36:29 +00:00
hptrr Silence warning from clang: 2013-04-28 20:55:45 +00:00
hwpmc Relax the vm object locking. Use a read lock. 2013-06-05 17:00:10 +00:00
ic Add support for A10 uart. 2013-03-01 01:42:31 +00:00
ichsmb Add Intel Lynx Point PCH SMBus Device IDs 2013-01-02 22:01:26 +00:00
ichwd Don't log a message when the watchdog is reloaded. It's not useful to do so 2013-03-09 15:04:44 +00:00
ida
ie Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
ieee488
if_ndis Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
iicbus Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
iir Reform the busdma API so that new types may be added without modifying 2013-02-12 16:57:20 +00:00
io
ipmi Unlock IPMI sc while performing requests via KCS and SMIC interfaces. 2013-03-25 14:30:34 +00:00
ips Improving r249461 by providing a better way to handle the clang warning. 2013-04-17 21:21:27 +00:00
ipw Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
isci For ATA_PASSTHROUGH commands, pretend isci(4) supports multiword DMA 2013-06-26 22:08:45 +00:00
iscsi/initiator MFprojects/camlock r248982: 2013-04-14 09:55:48 +00:00
isf Merge Perforce changeset 219952 to head: 2013-01-13 16:57:11 +00:00
isp When fiddling with options of which registers to copy out for 2013-07-13 21:24:25 +00:00
ispfw
iwi Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
iwn Implement basic 802.11n awareness in the PHY and AMRR rate control code. 2013-07-04 21:16:49 +00:00
ixgb Remove redundant definitions to appease tinderbox. 2013-07-09 18:15:59 +00:00
ixgbe Opps, need to change the VF code as well. 2013-07-12 21:21:15 +00:00
jme Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
joy
kbd
kbdmux This isn't functionally identical. In some cases a hint to disable 2012-10-22 13:06:09 +00:00
ksyms
le Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
led MFcalloutng: 2013-02-19 19:25:50 +00:00
lge Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
lindev
lmc Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
malo Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
mbox Add a mailbox interface. 2013-07-07 19:47:22 +00:00
mc146818
mca
mcd The other giant locked storage drivers have removed splbio(), for the 2013-02-21 02:34:04 +00:00
md Fix the data corruption on the swap-backed md. 2013-05-24 09:48:42 +00:00
mem Add new privileges, PRIV_KMEM_READ and PRIV_KMEM_WRITE, used in opening 2013-07-05 21:31:16 +00:00
mfi Remove forced timeout of in-flight commands from mfi_timeout. 2013-07-01 17:57:22 +00:00
mge Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
mii For RTL8211B or later PHYs, enable crossover detection and 2013-03-20 05:31:34 +00:00
mk48txx
mlx Remove FreeBSD 4.x compat shims. Verified by md5. 2012-09-26 14:17:14 +00:00
mly MFprojects/camlock r248982: 2013-04-14 09:55:48 +00:00
mmc Use meaningful names when creating mmc/sd threads. 2013-07-09 03:00:06 +00:00
mn Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays 2013-01-30 18:01:20 +00:00
mps sys/dev/mps/mps.c 2013-06-04 22:32:33 +00:00
mpt Flag mpt(4) as supporting unmapped I/O; all necessary conversion actually 2013-06-24 21:27:15 +00:00
mse
msk - Merge from r249476: Ensure that PCI bus BUS_GET_DMA_TAG() method sees 2013-05-30 12:16:55 +00:00
mvs Replicate r242422 from ata(4) to mvs(4): 2013-06-12 18:08:11 +00:00
mwl Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
mxge - Correct mispellings of word resource 2013-04-17 11:47:32 +00:00
my Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays 2013-01-30 18:01:20 +00:00
nand Use direct custom implementations instead of g_handleattr() for CFI and NAND 2013-06-12 12:51:43 +00:00
ncv
netmap - fix a bug in the previous commit that was dropping the last packet 2013-06-05 17:27:59 +00:00
nfe Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
nge Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
nmdm
nsp Fxi a bunch of typos. 2013-05-10 16:41:26 +00:00
ntb Add a new driver to support the Intel Non-Transparent Bridge(NTB). 2013-04-29 22:48:53 +00:00
null Provide a device name in the sysctl tree for programs to query the 2012-11-01 17:01:05 +00:00
nvd Update copyright dates. 2013-07-09 21:22:17 +00:00
nve Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
nvme Fix a poorly worded comment in nvme(4). 2013-07-11 15:02:38 +00:00
nvram
nvram2env Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays 2013-01-30 18:01:20 +00:00
nxge Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays 2013-01-30 18:01:20 +00:00
oce Update driver with recent vendor improvements, most notably support 2013-07-06 08:30:45 +00:00
ofw
patm Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
pbio
pccard
pccbb
pcf
pci - As it turns out, not only MSI-X is broken for devices passed through by 2013-07-09 23:12:26 +00:00
pcn Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
pdq Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
powermac_nvram
ppbus Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
ppc Fix build. 2013-02-21 12:40:52 +00:00
pst
pty
puc Clean up -Wheader-guard warnings. 2013-06-17 20:11:04 +00:00
qlxgb No need to set if_mtu since it automatically updated by ether_ifattach(). 2013-05-08 18:25:46 +00:00
qlxgbe Port 0 needs to wait for ACK only if it issued the RESET. 2013-07-03 17:57:35 +00:00
qlxge Add Qlogic 10Gb Ethernet Driver for Qlogic 8100 Series CNA Adapter 2013-06-25 17:50:22 +00:00
quicc
ral Implement basic 802.11n awareness in the PHY and AMRR rate control code. 2013-07-04 21:16:49 +00:00
random Refactor random_systat to be a *random_systat. This avoids unnecessary 2013-07-09 23:47:28 +00:00
rc
re Correct comment typos. 2013-06-28 14:41:06 +00:00
rndtest - Correct mispellings of the word occurrence 2013-04-17 11:40:10 +00:00
rp
rt - Use the consistenly PHY-specific reset routine PHY_RESET() rather than 2013-06-14 05:36:47 +00:00
safe Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
sbni Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
scc
scd
sdhci Add Xilinx Zynq ARM/FPGA SoC support to FreeBSD/arm port. 2013-04-27 22:38:29 +00:00
sec
sf Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
sfxge Fxi a bunch of typos. 2013-05-10 16:41:26 +00:00
sge Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
si Remove incorrect comment about splsoftclock. 2013-02-21 07:19:50 +00:00
siba
siis Make siis(4) and mvs(4) send bus_get_dma_tag() requests to parent buses 2013-04-18 12:43:06 +00:00
sio Add support for CIR1000 - Cirrus Logic V34 to the sio driver 2012-11-13 20:38:55 +00:00
sis r119712 introduced SIS_TYPE_83816 but it was not actually set in 2013-03-18 04:46:17 +00:00
sk - Merge from r249476: Ensure that PCI bus BUS_GET_DMA_TAG() method sees 2013-05-30 12:16:55 +00:00
smbus
smc Disable interrupts in filter in order to avoid interrupt storm and 2012-12-13 03:33:01 +00:00
sn Fxi a bunch of typos. 2013-05-10 16:41:26 +00:00
snc Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
snp
sound Add quirk to configure headphones redirection on ASUS UX31A laptop. 2013-07-08 15:28:09 +00:00
speaker
spibus
ste Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
stg Fxi a bunch of typos. 2013-05-10 16:41:26 +00:00
stge Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
streams Revert previous commit... 2012-10-10 08:36:38 +00:00
sym - Flag sym(4) as supporting unmapped I/O; all necessary conversion actually 2013-06-05 01:22:59 +00:00
syscons On some generations of the Intel GPU, disabling of the VGA Display 2013-06-18 20:19:09 +00:00
tdfx Revert previous commit... 2012-10-10 08:36:38 +00:00
terasic Merge Perforce changeset 219952 to head: 2013-01-13 16:57:11 +00:00
ti Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
tl Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
tpm
trm Reform the busdma API so that new types may be added without modifying 2013-02-12 16:57:20 +00:00
tsec Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
twa MFprojects/camlock r248982: 2013-04-14 09:55:48 +00:00
twe
tws Fix typo in the definition of the TWS_DATA_CCB. 2013-05-23 16:37:43 +00:00
tx Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
txp Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
uart Protect against broken hardware. In this particular case, protect against 2013-07-10 17:42:20 +00:00
ubsec Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
usb Add a tunable to force disable MSI use for xhci(4). 2013-07-16 20:14:23 +00:00
utopia Revert previous commit... 2012-10-10 08:36:38 +00:00
vge Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
viawd
virtio Merge virtio_scsi change from projects/virtio 2013-07-04 18:00:27 +00:00
vkbd
vr Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
vte Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
vx Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays 2013-01-30 18:01:20 +00:00
vxge Clean up -Wheader-guard warnings. 2013-06-17 20:11:04 +00:00
watchdog watchdogd(8) and watchdog(4) enhancements. 2013-02-27 19:03:31 +00:00
wb Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
wbwd Add ID for Nuvoton WPCM450RA0BX found on Supermicro X9SCA-F motherboards. 2013-01-11 10:22:09 +00:00
wds Reform the busdma API so that new types may be added without modifying 2013-02-12 16:57:20 +00:00
wi Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
wl Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
wpi Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
wtap wtap should not set the IEEE80211_F_DATAPAD flag; 2012-12-18 16:15:20 +00:00
xe Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00
xen In the Xen block front driver, take advantage of backends that 2013-06-26 20:39:07 +00:00
xl Mechanically substitute flags from historic mbuf allocator with 2012-12-04 09:32:43 +00:00