1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-11-24 07:40:52 +00:00
freebsd/sys/dev
Kenneth D. Merry 31354813f3 Add an isp(4) tunable to default to ispfw(4) firmware.
ispfw(4) recently gained firmware for Qlogic 27XX and 28XX
FC controllers, and isp(4) now selects the newer of firmware in
flash or in ispfw(4) to load for those controllers.

This differs from the previous behavior (which remains for older
controllers), which was to always load the ispfw(4) firmware if it
is available.

This adds a loader tunable, hint.isp.N.fwload_force to default to
loading the ispfw(4) firmware, whether or not it is newer than the
firmware in flash.  This allows the user to always use the known
firmware version included with the kernel.

Note that there is an existing fwload_disable tunable that tells
the driver to always load the firmware from flash and ignore
ispfw(4).  If fwload_disable is set, fwload_force will be ignored.
So users with existing fwload_disable tunables will have the same
behavior.

If a user specifies both fwload_force and fwload_disable for the
same controller, the isp(4) driver prints a warning message,
and fwload_disable will be honored.

The user can see which firmware is active through the
dev.isp.N.fw_version* sysctl variables.

share/man/man4/isp.4:
	Document the new loader tunable.

sys/dev/isp/isp.c:
	In isp_load_risc_flash(), changet the decision logic to
	also consider ISP_CFG_FWLOAD_ONLY.  Load the flash firmware
	and get the version, so the user knows what it is, but if
	the user set fwload_force, honor that.  If the user didn't
	set fwload_force, the behavior remains to select the newer
	firmware version.

sys/dev/isp/isp_pci.c:
	Add a new fwload_force tunable.  Print out a warning if the
	user sets both fwload_disable and fwload_force.

sys/dev/isp/ispvar.h:
	Add a new ISP_CFG_FWLOAD_FORCE configuration bit.

Reviewed by:	mav
MFC after:	1 week
Sponsored by:	Spectra Logic
Differential Revision:	<https://reviews.freebsd.org/D45688>
2024-06-24 16:47:55 -04:00
..
aac
aacraid
acpi_support acpi: Use device_set_descf() 2024-06-02 19:38:41 -04:00
acpica acpi_timer: remove leftovers from Garbage-collect ACPI-safe timer and friends 2024-06-21 14:06:26 +02:00
adb
adlink
ae
age
agp new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
ahci Add some AMD device IDs. 2024-06-07 13:02:03 -04:00
aic7xxx aic7xxx: use rounddown_pow_of_two 2024-06-24 02:14:55 -05:00
al_eth
alc alc(4): disable MSI-X by default on Killer cards 2024-04-22 22:36:35 -06:00
ale
alpm
altera
amd_ecc_inject
amdgpio
amdpm
amdsbwd amdsbwd: Use device_set_descf() 2024-06-16 16:37:26 -04:00
amdsmb
amdsmn amdsmn: Use device_set_descf() 2024-06-16 16:37:26 -04:00
amdtemp amdsmn(4), amdtemp(4): add support for AMD Family 19h Models 10h-1Fh. 2024-04-14 00:52:08 -07:00
arcmsr arcmsr: Use device_set_descf() 2024-06-16 16:37:25 -04:00
asmc
ata ata: Use device_set_descf() 2024-06-02 19:38:40 -04:00
ath
atkbdc new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
atopcase
axgbe axgbe: Various stability improvements 2024-04-28 19:57:51 -06:00
backlight
bce bce: Use device_set_descf() 2024-06-16 16:37:26 -04:00
beri
bfe
bge bge: Use device_set_descf() 2024-06-16 16:37:26 -04:00
bhnd bhnd: Use device_set_descf() 2024-06-02 19:38:40 -04:00
bnxt LinuxKPI: Add min_not_zero() to linux/minmax.h 2024-06-06 23:42:06 +03:00
bwi
bwn
bxe bxe: Use device_set_descf() 2024-06-16 16:37:26 -04:00
cadence
cardbus
cas
cesa
cfe
cfi cfi: Use device_set_descf() 2024-06-16 16:37:26 -04:00
chromebook_platform
ciss
clk jh7110: Add StarFive JH7110 clock/reset generator drivers 2024-05-07 13:07:36 -03:00
coretemp
cpuctl
cpufreq
cxgb cxgb: use rounddown_pow_of_two 2024-06-24 02:17:02 -05:00
cxgbe cxgbe: use order_base_2 2024-06-24 02:18:42 -05:00
cyapa
dc
dcons
dialog/da9063
dpaa dpaa: uma_zcreate() does not fail 2024-04-24 08:45:24 -04:00
dpaa2 new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
dpms
drm2 log2: move log2 functions from linuxkpi to libkern 2024-06-24 02:00:31 -05:00
dwc dwc: fix DEBUG macro name 2024-02-27 18:10:14 -04:00
dwwdt
e1000
efidev
ena
enetc libkern: add ilog2 macro 2024-06-03 11:37:55 -05:00
enic
eqos
et
etherswitch etherswitch: Use device_set_desc(f)() 2024-06-02 19:38:41 -04:00
evdev
exca new-bus: Remove the 'rid' and 'type' arguments from BUS_*ACTIVATE_RESOURCE 2024-03-13 15:05:54 -07:00
fb
fdc
fdt new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
ffec
filemon
firewire
firmware scmi: Add an SCMI VirtIO transport driver 2024-04-11 09:58:57 +00:00
flash
ftgpio
ftwd
fxp
gem
glxiic
glxsb
goldfish
gpio
gve gve: Make gve_free_qpls idempotent 2024-06-17 23:08:31 -07:00
hdmi
hid hidbus: Use device_set_descf() 2024-06-16 16:37:26 -04:00
hifn
hpt27xx
hptiop
hptmv
hptnr
hptrr
hwpmc dev/hwpmc: Fix the dmc620 MD4 macro 2024-05-22 08:19:49 +00:00
hwreset
hyperv Hyper-V: move memory alloc call for tlb hypercall out of smp_rendezvous 2024-06-15 14:07:58 +00:00
iavf
ic
ice ice(4): Update to 1.39.13-k 2024-04-18 16:21:22 -07:00
ichiic ig4_iic: Warn on NACK 2024-04-19 16:44:57 -06:00
ichsmb
ichwd
ida
igc
iicbus iicbus: Use device_set_descf() 2024-06-16 16:37:26 -04:00
imcsmb
intel
intpm
io
ioat
iommu
ipmi
ips
ipw
irdma irdma: Use round{up,down}_pow_of_two 2024-06-24 02:20:49 -05:00
isci
iscsi
iser
isl
ismt
isp Add an isp(4) tunable to default to ispfw(4) firmware. 2024-06-24 16:47:55 -04:00
ispfw
itwd
iwi
iwm
iwn iwn(4): correct debug message: "not" to "no" 2024-06-05 22:05:12 +00:00
ixgbe
ixl
jedec_dimm jedec_dimm: Use device_set_descf() 2024-06-16 16:37:26 -04:00
jme
kbd
kbdmux
ksyms
kvm_clock
le
led
lge
liquidio liquidio: Use device_set_descf() 2024-06-16 16:37:26 -04:00
mailbox/arm
malo
mana log2: move log2 functions from linuxkpi to libkern 2024-06-24 02:00:31 -05:00
mbox
md md: round-trip the MUSTDEALLOC and RESERVE options 2024-06-01 12:40:19 -06:00
mdio
mem
mfi mfi: correct typo in sysctl/tunable description 2024-06-03 16:32:36 -04:00
mgb
mge
mii mii: Add support for Realtek RTL8211F-VD PHY 2024-05-08 18:17:00 +10:00
mlx
mlx4 mlx4, mlx5: Eliminate redundent NULL check for packet filter 2024-05-28 12:46:04 +08:00
mlx5 mlx5: use roundup_pow_of_two 2024-06-24 02:22:52 -05:00
mlxfw
mmc jh7110: enable MMC driver 2024-05-07 13:02:57 -03:00
mmcnull
mpi3mr mpi3mr: Track IO per target counter during queue poll with local variable 2024-06-06 10:39:16 +00:00
mpr
mps
mpt
mrsas mrsas: don't reference the removed physical disk of RAID1 during IO submission 2024-03-12 09:51:48 +00:00
msk msk: Use device_set_descf() 2024-06-16 16:37:26 -04:00
mthca
mvs mvs: Use device_set_desc(f)() 2024-06-02 19:38:41 -04:00
mwl
mxge
my
nctgpio
ncthwm
neta
netmap netmap: Use device_set_descf() 2024-06-16 16:37:26 -04:00
nfe
nfsmb
nge
nmdm
ntb
null
nvd
nvdimm
nvme nvme: Add Linux copatible ioctls 2024-06-14 16:40:08 -06:00
nvmem
nvmf nvmf: Use device_set_descf() 2024-06-16 16:37:26 -04:00
nvram
oce oce: Use device_set_descf() 2024-06-16 16:37:26 -04:00
ocs_fc
ofw new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
otus
ow
p2sb
pbio
pccard
pccbb new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
pcf
pci iovctl: allow vlan restrictions to be passed to the driver 2024-06-17 10:50:15 +02:00
phy
pms
powermac_nvram
ppbus
ppc new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
proto proto: Use device_set_descf() 2024-06-02 19:38:41 -04:00
psci arm64: Support BTI checking in most of the kernel 2024-06-05 09:23:40 +00:00
pst
pty
puc new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
pwm
qat libkern: add ilog2 macro 2024-06-03 11:37:55 -05:00
qat_c2xxx
qcom_clk
qcom_dwc3
qcom_gcc
qcom_mdio
qcom_qup
qcom_rnd
qcom_tcsr
qcom_tlmm
qlnx log2: move log2 functions from linuxkpi to libkern 2024-06-24 02:00:31 -05:00
qlxgb
qlxgbe qlxgbe: fix debug prints in ql_os.c 2024-05-27 22:32:16 -07:00
qlxge qlxge: replace device_printf with QL_DPRINT2 2024-05-27 22:40:12 -07:00
quicc new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
ral
random
rccgpio
re
regulator
rl
rndtest
rtsx Fix new users of MAXPHYS and hide it from the kernel namespace 2024-04-30 15:29:06 -04:00
rtwn
safe safe(4): Remove a double word in a source code comment 2024-04-20 14:12:23 +02:00
safexcel
sbni
scc new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
sdhci
sdio
sec
sff
sfxge
sge
siis siis: Use device_set_desc(f)() 2024-06-02 19:38:41 -04:00
sis
sk
smartpqi
smbios
smbus
smc
snp
sound sound: Remove outdated comment in dsp_oss_engineinfo() 2024-06-18 15:19:16 +02:00
speaker
spibus
sram
ste
stge
sume
superio superio: Use device_set_descf() 2024-06-16 16:37:26 -04:00
sym
syscon
syscons
tcp_log
tdfx
ti
tpm tpm_if.m: declare bus addresses as bus_size_t not bus_addr_t 2024-05-22 07:55:04 -07:00
tsec
tws
uart uart: Use device_set_descf() 2024-06-02 19:38:41 -04:00
usb Add some AMD device IDs. 2024-06-07 13:02:03 -04:00
veriexec
vge vge(4): Fix a typo in a source code comment 2024-02-27 13:42:10 +01:00
viapm
viawd
video
videomode
virtio p9fs: move NULL check immediately after allocation 2024-06-24 15:36:11 -04:00
vkbd
vmd acpi/pci/vmd: Fix a nit with nested resource mapping requests 2024-06-04 16:51:14 -07:00
vmgenc
vmware vmxnet3: make descriptor count checks more robust 2024-06-10 11:04:47 +02:00
vnic
vr
vt
vte
watchdog
wbwd wbwd: Use device_set_descf() 2024-06-16 16:37:26 -04:00
wdatwd
wg wg: Implement if_transmit unconditionally 2024-06-16 13:33:45 -04:00
wpi
wtap wtap: Fix typos in kernel messages 2024-04-21 09:47:24 +02:00
xdma
xen xen/debug: remove usage of sbuf_{clear,finish}() on drained sbuf 2024-05-09 12:50:08 +02:00
xilinx
xl
xz
zlib