busdma - Remove filter functionality- Remove filtfunc and filtarg arguments from bus_dma_tag_create() and fix all callers. All callers use NULL today for both filterfunc and filterarg with one
busdma - Remove filter functionality- Remove filtfunc and filtarg arguments from bus_dma_tag_create() and fix all callers. All callers use NULL today for both filterfunc and filterarg with one exception: if_jme.- Remove filter functionality internally and parent tag tracking. Without filter functions, we do not need to keep track of tag ancestry. All inheritance of the parent tag's parameters occurs when creating the new child tag.- rename run_filter() to addr_needs_bounce().- FreeBSD keeps the filtfunc and filtarg arguments but requires them to be NULL.- Drop filterfunc usage from if_jme. In case of "JMC260 chip full mask revision 2", which has a hardware bug when it comes to DMA transfers crossing the 4 GB bounday, the parent buffer tag already limits DMA memory to 32bit address space. As such it should be safe to drop the filterfunc. The filterfunc was checking if the lower 32bits of the physical address used for DMA are all 0. In case of a 32bit address space, the only address where all lower 32-bits are all zero is 0 itself and I am here assuming that the physical address 0 is not used for DMA transfers!Mainly obtained from: FreeBSD (commits 7cb028de, 900907f4, 1228b93b, 3933ff56)
show more ...
world/kernel: Use the rounddown() macro in various places.Tested-by: zrj
Fix a couple of NULL dereferences in error paths.
kernel - Change callout in struct ccb_hdr* Change the callout declaration in struct ccb_hdr from an embedded structure to a pointer, add padding to get the whole structure to its original size
kernel - Change callout in struct ccb_hdr* Change the callout declaration in struct ccb_hdr from an embedded structure to a pointer, add padding to get the whole structure to its original size (prior to the recent callout patch).* This removes an improper ABI dependency on the kernel struct callout structure which was causing 'camcontrol', and 'smartctl' (from smartmontools) to fail.Testing: dillon, tuxillo
kernel: Change CFLAGS -> KCFLAGS also in commented out Makefile lines.
kernel: Remove unused *.h files from SRCS in kernel module Makefiles.They were found by checking the preprocessed code of the filesin SRCS to see if the header was included at some point.After r
kernel: Remove unused *.h files from SRCS in kernel module Makefiles.They were found by checking the preprocessed code of the filesin SRCS to see if the header was included at some point.After removal, the preprocessed source of a build with the oldMakefiles was compared against one with the changes (for variouskernel configurations and when building just from /usr/src) toverify that the commit leads to no functional change.
kernel/mrsas: Fix a double assignment.This code is in an ioctl path that is not used in DragonFly.Taken-from: FreeBSD
mrsas(4): Remove wrong extra arg from MR_LdBlockSizeGet().Reported-by: zrj
kernel/mrsas: Simplify redundant conditions and remove never used variableReported-by: dcb
mrsas - release devq before freeing the sim.* Release the devq before freeing the sim.
drm - Fix major stalls by fixing an improper taskqueue priority* drm was creating task queues with a LWKT priority of 0, which is lower than the priority of a running user thread.* Fix all case
drm - Fix major stalls by fixing an improper taskqueue priority* drm was creating task queues with a LWKT priority of 0, which is lower than the priority of a running user thread.* Fix all cases where improper priorities are passed to taskqueue_start_threads(). This fixes major video stalls and glitches that occur when other things might be running on the system cpu-bound.* taskqueue_start_threads() now asserts if the priority passed to it is illegal.
kernel/mrsas: Fix -Wundef.
kernel: Use the new auto-created sysctl ctx/tree in various drivers.Everywhere where we formerly rolled a hw.fooX.* per-device ctx/treeourselves.This commit switches it to dev.foo.X.*
kernel/spinlock: Add a description to struct spinlock.And add it to spin_init() and SPINLOCK_INITIALIZER().Submitted-by: dclink (see <http://bugs.dragonflybsd.org/issues/2714>)OK'd-by: dill
kernel/spinlock: Add a description to struct spinlock.And add it to spin_init() and SPINLOCK_INITIALIZER().Submitted-by: dclink (see <http://bugs.dragonflybsd.org/issues/2714>)OK'd-by: dillon
kernel: Add D_MPSAFE to the ops of mfi(4), mrsas(4) and twa(4).I overlooked it when I ported them.
"Normalize" some types, s/long unsigned/unsigned long/ etc.Just like the rest of our tree is doing it.
kernel: Switch to mrsas(4) as the default for 'Thunderbird' series cards.
kernel: Use NULL for pointers.
kernel/mrsas: Fix memset() size.
kernel: Add the mrsas(4) RAID driver for LSI Thunderbolt and newer series.Specifically, it adds support for Thunderbolt (6 Gb/s), Invader (12 Gb/s)and Fury (12 Gb/s) series.Note that Thunderbolt
kernel: Add the mrsas(4) RAID driver for LSI Thunderbolt and newer series.Specifically, it adds support for Thunderbolt (6 Gb/s), Invader (12 Gb/s)and Fury (12 Gb/s) series.Note that Thunderbolt controllers are supported by mfi(4) too. When bothdrivers are loaded, the default is to attach via mfi(4). This can bechanged by either not loading or compiling in the mfi(4) driver at allor by setting hw.mfi.mrsas_enable=1 in /boot/loader.conf. It might bethat we change this default to giving precedence to mrsas(4) before thenext release, but for now, until it gets some more testing, we takeFreeBSD's default (giving mfi(4) precedence).That said, the driver works without any issues here with anIntel RS25DB080 card (which is really an LSI MegaRAID SAS 9265).mrsas(4) should (at least) support the following adapters:Thunderbolt:LSI MegaRAID SAS 9265LSI MegaRAID SAS 9266LSI MegaRAID SAS 9267LSI MegaRAID SAS 9270LSI MegaRAID SAS 9271LSI MegaRAID SAS 9272LSI MegaRAID SAS 9285LSI MegaRAID SAS 9286DELL PERC H810DELL PERC H710/PInvader/Fury:LSI MegaRAID SAS 9380LSI MegaRAID SAS 9361LSI MegaRAID SAS 9341DELL PERC H830DELL PERC H730/PDELL PERC H330Taken-from: FreeBSD