android_kernel_msm-6.1_noth.../Documentation
Jacob Keller 5d5b4128c4 devlink: introduce flash update overwrite mask
Sections of device flash may contain settings or device identifying
information. When performing a flash update, it is generally expected
that these settings and identifiers are not overwritten.

However, it may sometimes be useful to allow overwriting these fields
when performing a flash update. Some examples include, 1) customizing
the initial device config on first programming, such as overwriting
default device identifying information, or 2) reverting a device
configuration to known good state provided in the new firmware image, or
3) in case it is suspected that current firmware logic for managing the
preservation of fields during an update is broken.

Although some devices are able to completely separate these types of
settings and fields into separate components, this is not true for all
hardware.

To support controlling this behavior, a new
DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK is defined. This is an
nla_bitfield32 which will define what subset of fields in a component
should be overwritten during an update.

If no bits are specified, or of the overwrite mask is not provided, then
an update should not overwrite anything, and should maintain the
settings and identifiers as they are in the previous image.

If the overwrite mask has the DEVLINK_FLASH_OVERWRITE_SETTINGS bit set,
then the device should be configured to overwrite any of the settings in
the requested component with settings found in the provided image.

Similarly, if the DEVLINK_FLASH_OVERWRITE_IDENTIFIERS bit is set, the
device should be configured to overwrite any device identifiers in the
requested component with the identifiers from the image.

Multiple overwrite modes may be combined to indicate that a combination
of the set of fields that should be overwritten.

Drivers which support the new overwrite mask must set the
DEVLINK_SUPPORT_FLASH_UPDATE_OVERWRITE_MASK in the
supported_flash_update_params field of their devlink_ops.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-09-25 17:20:57 -07:00
..
ABI powerpc/perf/hv-24x7: Move cpumask file to top folder of hv-24x7 driver 2020-08-21 23:35:27 +10:00
accounting
admin-guide Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-22 16:45:34 -07:00
arm ARM development for 5.9-rc1: 2020-08-06 10:17:00 -07:00
arm64 IOMMU Updates for Linux v5.9 2020-08-11 14:13:24 -07:00
block for-5.9/drivers-20200803 2020-08-05 10:51:40 -07:00
bpf Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-22 16:45:34 -07:00
cdrom A handful of obvious fixes that wandered in during the merge window. 2020-08-13 13:57:45 -07:00
core-api A handful of obvious fixes that wandered in during the merge window. 2020-08-13 13:57:45 -07:00
cpu-freq
crypto It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
dev-tools A handful of obvious fixes that wandered in during the merge window. 2020-08-13 13:57:45 -07:00
devicetree Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-22 16:45:34 -07:00
doc-guide
driver-api drm-misc-fixes for v5.9-rc5: 2020-09-11 09:49:23 +10:00
fault-injection nvme: rename and document nvme_end_request 2020-08-21 17:14:28 -06:00
fb drm next for 5.9-rc1 2020-08-05 19:50:06 -07:00
features powerpc/mm: Remove DEBUG_VM_PGTABLE support on powerpc 2020-09-02 22:14:26 +10:00
filesystems affs: fix basic permission bits to actually work 2020-08-31 12:20:31 +02:00
firmware-guide ACPI: Replace HTTP links with HTTPS ones 2020-07-27 14:47:08 +02:00
firmware_class
fpga Char/Misc driver patches for 5.9-rc1 2020-08-05 11:43:47 -07:00
gpu - Core Frameworks 2020-08-11 13:48:02 -07:00
hid
hwmon Documentation: fix typo for abituguru documentation 2020-08-24 17:19:07 -06:00
i2c Merge branch 'i2c/for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2020-08-13 18:41:00 -07:00
ia64 docs: ia64: correct typo 2020-07-31 11:09:09 -06:00
ide
iio
infiniband
input Input: uinput - fix typo in function name documentation 2020-07-28 18:24:11 -07:00
isdn
kbuild kbuild: Documentation: clean up makefiles.rst 2020-09-03 12:21:22 +09:00
kernel-hacking
leds LEDs changes for 5.9-rc1. 2020-08-05 19:24:27 -07:00
litmus-tests
livepatch
locking Documentation/locking/locktypes: fix local_locks documentation 2020-08-24 17:18:51 -06:00
m68k
maintainer Documentation: add riscv entry in list of existing profiles 2020-08-24 17:19:07 -06:00
mhi
mips It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
misc-devices
netlabel
networking devlink: introduce flash update overwrite mask 2020-09-25 17:20:57 -07:00
nios2
nvdimm
openrisc
parisc
PCI pci-v5.9-changes 2020-08-07 18:48:15 -07:00
pcmcia
power Merge branches 'pm-sleep', 'pm-domains', 'powercap' and 'pm-tools' 2020-08-03 13:12:44 +02:00
powerpc Documentation/powerpc: fix malformed table in syscall64-abi 2020-08-27 17:40:55 +10:00
process docs: Fix function name trailing double-()s 2020-08-24 17:19:07 -06:00
RCU docs: Fix function name trailing double-()s 2020-08-24 17:19:07 -06:00
riscv
s390 It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
scheduler sched/doc: Factorize bits between sched-energy.rst & sched-capacity.rst 2020-08-01 09:19:43 +02:00
scsi
security
sh
sound ALSA: hda: use consistent HDAudio spelling in comments/docs 2020-09-02 19:31:32 +02:00
sparc
sphinx
sphinx-static
spi
staging remoteproc updates for v5.9 2020-08-11 11:17:45 -07:00
target
timers docs: timers: drop documentation about LB_BIAS 2020-07-23 14:32:44 -06:00
trace A handful of obvious fixes that wandered in during the merge window. 2020-08-13 13:57:45 -07:00
translations docs: Fix function name trailing double-()s 2020-08-24 17:19:07 -06:00
usb
userspace-api remoteproc updates for v5.9 2020-08-11 11:17:45 -07:00
virt docs: kvm: add documentation for KVM_CAP_S390_DIAG318 2020-09-14 09:08:10 +02:00
vm mm/vmstat: add events for THP migration without split 2020-08-12 10:57:57 -07:00
w1
watchdog watchdog: add support for adjusting last known HW keepalive time 2020-08-05 18:43:02 +02:00
x86 It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
xtensa
.gitignore
asm-annotations.rst
atomic_bitops.txt
atomic_t.txt
Changes
CodingStyle
conf.py
COPYING-logo
docutils.conf
dontdiff Documentation: dontdiff: Add zstd compressed files 2020-07-31 11:51:10 +02:00
index.rst docs: index.rst: Add watch_queue 2020-07-23 14:13:23 -06:00
Kconfig
logo.gif
Makefile
memory-barriers.txt powerpc updates for 5.9 2020-08-07 10:33:50 -07:00
SubmittingPatches
watch_queue.rst