| /kernel/linux/linux-6.6/Documentation/ABI/stable/ |
| D | sysfs-driver-firmware-zynqmp | 1 What: /sys/devices/platform/firmware\:zynqmp-firmware/ggs* 17 # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 18 # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 22 # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 23 # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 27 What: /sys/devices/platform/firmware\:zynqmp-firmware/pggs* 46 # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 47 # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 51 # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 52 # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 [all …]
|
| /kernel/linux/linux-6.6/drivers/base/firmware_loader/ |
| D | Kconfig | 2 menu "Firmware loader" 5 tristate "Firmware loading facility" if EXPERT 10 This enables the firmware loading facility in the kernel. The kernel 11 will first look for built-in firmware, if it has any. Next, it will 12 look for the requested firmware in a series of filesystem paths: 15 o /lib/firmware/updates/UTS_RELEASE 16 o /lib/firmware/updates 17 o /lib/firmware/UTS_RELEASE 18 o /lib/firmware 22 need firmware. [all …]
|
| D | main.c | 3 * main.c - Multi purpose firmware loading support 7 * Please see Documentation/driver-api/firmware/ for more information. 26 #include <linux/firmware.h> 44 #include "firmware.h" 48 MODULE_DESCRIPTION("Multi purpose firmware loading support"); 59 * Names of firmware images which have been cached successfully 61 * helper can trace which firmware images have been cached 166 /* Returns 1 for batching firmware requests with the same name */ 307 * ZSTD-compressed firmware support 371 * XZ-compressed firmware support [all …]
|
| /kernel/linux/linux-5.10/drivers/base/firmware_loader/ |
| D | Kconfig | 2 menu "Firmware loader" 5 tristate "Firmware loading facility" if EXPERT 8 This enables the firmware loading facility in the kernel. The kernel 9 will first look for built-in firmware, if it has any. Next, it will 10 look for the requested firmware in a series of filesystem paths: 13 o /lib/firmware/updates/UTS_RELEASE 14 o /lib/firmware/updates 15 o /lib/firmware/UTS_RELEASE 16 o /lib/firmware 20 need firmware. [all …]
|
| D | main.c | 3 * main.c - Multi purpose firmware loading support 7 * Please see Documentation/driver-api/firmware/ for more information. 25 #include <linux/firmware.h> 42 #include "firmware.h" 46 MODULE_DESCRIPTION("Multi purpose firmware loading support"); 57 * Names of firmware images which have been cached successfully 59 * helper can trace which firmware images have been cached 95 /* Builtin firmware support */ 102 static bool fw_copy_to_prealloc_buf(struct firmware *fw, in fw_copy_to_prealloc_buf() 113 static bool fw_get_builtin_firmware(struct firmware *fw, const char *name, in fw_get_builtin_firmware() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/tegra/ |
| D | falcon.c | 8 #include <linux/firmware.h> 52 * Use second DMA context (i.e. the one for firmware). Strictly in falcon_copy_chunk() 53 * speaking, at this point both DMA contexts point to the firmware in falcon_copy_chunk() 54 * stream ID, but this register's value will be reused by the firmware in falcon_copy_chunk() 67 const struct firmware *firmware) in falcon_copy_firmware_image() argument 69 u32 *virt = falcon->firmware.virt; in falcon_copy_firmware_image() 73 for (i = 0; i < firmware->size / sizeof(u32); i++) in falcon_copy_firmware_image() 74 virt[i] = le32_to_cpu(((__le32 *)firmware->data)[i]); in falcon_copy_firmware_image() 79 struct falcon_fw_bin_header_v1 *bin = (void *)falcon->firmware.virt; in falcon_parse_firmware_image() 84 dev_err(falcon->dev, "incorrect firmware magic\n"); in falcon_parse_firmware_image() [all …]
|
| /kernel/linux/linux-5.10/Documentation/ABI/stable/ |
| D | sysfs-driver-firmware-zynqmp | 1 What: /sys/devices/platform/firmware\:zynqmp-firmware/ggs* 17 # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 18 # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 22 # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 23 # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 27 What: /sys/devices/platform/firmware\:zynqmp-firmware/pggs* 46 # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 47 # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 51 # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 52 # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 [all …]
|
| /kernel/linux/linux-6.6/Documentation/driver-api/nvdimm/ |
| D | firmware-activate.rst | 4 NVDIMM Runtime Firmware Activation 7 Some persistent memory devices run a firmware locally on the device / 9 and health monitoring. The process of updating that firmware typically 13 DSM specification [1], has added support for activating firmware at 17 to advertise and control their local runtime firmware activation 20 The libnvdimm bus object, ndbusX, implements an ndbusX/firmware/activate 21 attribute that shows the state of the firmware activation as one of 'idle', 25 No devices are set / armed to activate firmware 37 activation. In that scenario the potential for firmware activation to 40 The 'ndbusX/firmware/activate' property can be written with a value of [all …]
|
| /kernel/linux/linux-5.10/Documentation/driver-api/nvdimm/ |
| D | firmware-activate.rst | 4 NVDIMM Runtime Firmware Activation 7 Some persistent memory devices run a firmware locally on the device / 9 and health monitoring. The process of updating that firmware typically 13 DSM specification [1], has added support for activating firmware at 17 to advertise and control their local runtime firmware activation 20 The libnvdimm bus object, ndbusX, implements an ndbusX/firmware/activate 21 attribute that shows the state of the firmware activation as one of 'idle', 25 No devices are set / armed to activate firmware 37 activation. In that scenario the potential for firmware activation to 40 The 'ndbusX/firmware/activate' property can be written with a value of [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/tegra/ |
| D | falcon.c | 8 #include <linux/firmware.h> 59 const struct firmware *firmware) in falcon_copy_firmware_image() argument 61 u32 *virt = falcon->firmware.virt; in falcon_copy_firmware_image() 65 for (i = 0; i < firmware->size / sizeof(u32); i++) in falcon_copy_firmware_image() 66 virt[i] = le32_to_cpu(((u32 *)firmware->data)[i]); in falcon_copy_firmware_image() 71 struct falcon_fw_bin_header_v1 *bin = (void *)falcon->firmware.virt; in falcon_parse_firmware_image() 76 dev_err(falcon->dev, "incorrect firmware magic\n"); in falcon_parse_firmware_image() 82 dev_err(falcon->dev, "unsupported firmware version\n"); in falcon_parse_firmware_image() 86 /* check that the firmware size is consistent */ in falcon_parse_firmware_image() 87 if (bin->size > falcon->firmware.size) { in falcon_parse_firmware_image() [all …]
|
| /kernel/linux/linux-5.10/Documentation/driver-api/firmware/ |
| D | firmware_cache.rst | 2 Firmware cache 5 When Linux resumes from suspend some device drivers require firmware lookups to 7 firmware lookups are not possible, during this short period of time firmware 9 the root filesystem for firmware delays user experience with device 10 functionality. In order to support these requirements the firmware 11 infrastructure implements a firmware cache for device drivers for most API 14 The firmware cache makes using certain firmware API calls safe during a device 16 the firmware by themselves for dealing with firmware loss during system resume. 18 The firmware cache works by requesting for firmware prior to suspend and 19 caching it in memory. Upon resume device drivers using the firmware API will [all …]
|
| D | fallback-mechanisms.rst | 6 filesystem lookup on the root filesystem or when the firmware simply cannot be 8 configuration options related to supporting the firmware fallback mechanism are: 10 * CONFIG_FW_LOADER_USER_HELPER: enables building the firmware fallback 15 enable the kobject uevent fallback mechanism on all firmware API calls 21 manually load the firmware. Read below for more details. 31 Justifying the firmware fallback mechanism 40 * Races upon resume from suspend. This is resolved by the firmware cache, but 41 the firmware cache is only supported if you use uevents, and its not 44 * Firmware is not accessible through typical means: 47 * The firmware provides very unique device specific data tailored for [all …]
|
| D | built-in-fw.rst | 2 Built-in firmware 5 Firmware can be built-in to the kernel, this means building the firmware 6 into vmlinux directly, to enable avoiding having to look for firmware from 7 the filesystem. Instead, firmware can be looked for inside the kernel 8 directly. You can enable built-in firmware using the kernel configuration 14 There are a few reasons why you might want to consider building your firmware 18 * Firmware is needed for accessing the boot device, and the user doesn't 19 want to stuff the firmware into the boot initramfs. 22 able to make use of built-in firmware: 24 * Legalese - firmware is non-GPL compatible [all …]
|
| /kernel/linux/linux-6.6/Documentation/driver-api/firmware/ |
| D | firmware_cache.rst | 2 Firmware cache 5 When Linux resumes from suspend some device drivers require firmware lookups to 7 firmware lookups are not possible, during this short period of time firmware 9 the root filesystem for firmware delays user experience with device 10 functionality. In order to support these requirements the firmware 11 infrastructure implements a firmware cache for device drivers for most API 14 The firmware cache makes using certain firmware API calls safe during a device 16 the firmware by themselves for dealing with firmware loss during system resume. 18 The firmware cache works by requesting for firmware prior to suspend and 19 caching it in memory. Upon resume device drivers using the firmware API will [all …]
|
| D | fallback-mechanisms.rst | 6 filesystem lookup on the root filesystem or when the firmware simply cannot be 8 configuration options related to supporting the firmware fallback mechanism are: 10 * CONFIG_FW_LOADER_USER_HELPER: enables building the firmware fallback 15 enable the kobject uevent fallback mechanism on all firmware API calls 21 manually load the firmware. Read below for more details. 31 Justifying the firmware fallback mechanism 40 * Races upon resume from suspend. This is resolved by the firmware cache, but 41 the firmware cache is only supported if you use uevents, and its not 44 * Firmware is not accessible through typical means: 47 * The firmware provides very unique device specific data tailored for [all …]
|
| D | firmware-usage-guidelines.rst | 2 Firmware Guidelines 6 firmware files to keep their hardware working. At the same time updated 7 firmware files must not cause any regressions for users of older kernel 10 Drivers that use firmware from linux-firmware should follow the rules in 11 this guide. (Where there is limited control of the firmware, 15 * Firmware files shall be designed in a way that it allows checking for 16 firmware ABI version changes. It is recommended that firmware files be 18 the firmware files in linux-firmware be named with some device 19 specific name, and just the major version. The firmware version should 20 be stored in the firmware header, or as an exception, as part of the [all …]
|
| D | built-in-fw.rst | 2 Built-in firmware 5 Firmware can be built-in to the kernel, this means building the firmware 6 into vmlinux directly, to enable avoiding having to look for firmware from 7 the filesystem. Instead, firmware can be looked for inside the kernel 8 directly. You can enable built-in firmware using the kernel configuration 14 There are a few reasons why you might want to consider building your firmware 18 * Firmware is needed for accessing the boot device, and the user doesn't 19 want to stuff the firmware into the boot initramfs. 22 able to make use of built-in firmware: 24 * Legalese - firmware is non-GPL compatible [all …]
|
| /kernel/linux/linux-6.6/Documentation/ABI/testing/ |
| D | sysfs-class-firmware | 1 What: /sys/class/firmware/.../data 5 Description: The data sysfs file is used for firmware-fallback and for 6 firmware uploads. Cat a firmware image to this sysfs file 7 after you echo 1 to the loading sysfs file. When the firmware 9 sequence will signal the completion of the firmware write and 10 signal the lower-level driver that the firmware data is 13 What: /sys/class/firmware/.../cancel 17 Description: Write-only. For firmware uploads, write a "1" to this file to 18 request that the transfer of firmware data to the lower-level 21 progress) or (ENODEV) if there is no firmware update in progress. [all …]
|
| D | sysfs-firmware-efi-esrt | 1 What: /sys/firmware/efi/esrt/ 5 (ESRT), a catalog of firmware for which can be updated with 10 What: /sys/firmware/efi/esrt/fw_resource_count 15 What: /sys/firmware/efi/esrt/fw_resource_count_max 20 really only useful to the system firmware itself. 22 What: /sys/firmware/efi/esrt/fw_resource_version 25 Description: The version of the ESRT structure provided by the firmware. 27 What: /sys/firmware/efi/esrt/entries/entry<N>/ 32 example: /sys/firmware/efi/esrt/entries/entry0/ 34 What: /sys/firmware/efi/esrt/entries/entry<N>/fw_type [all …]
|
| /kernel/linux/linux-5.10/drivers/net/wireless/marvell/libertas/ |
| D | firmware.c | 3 * Firmware loading and handling functions. 7 #include <linux/firmware.h> 16 const struct firmware *helper, const struct firmware *mainfw) in lbs_fw_loaded() 20 lbs_deb_fw("firmware load complete, code %d\n", ret); in lbs_fw_loaded() 32 void (*cb)(const struct firmware *fw, void *context)) in do_load_firmware() 45 static void main_firmware_cb(const struct firmware *firmware, void *context) in main_firmware_cb() argument 49 if (!firmware) { in main_firmware_cb() 50 /* Failed to find firmware: try next table entry */ in main_firmware_cb() 55 /* Firmware found! */ in main_firmware_cb() 56 lbs_fw_loaded(priv, 0, priv->helper_fw, firmware); in main_firmware_cb() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/wireless/marvell/libertas/ |
| D | firmware.c | 3 * Firmware loading and handling functions. 7 #include <linux/firmware.h> 16 const struct firmware *helper, const struct firmware *mainfw) in lbs_fw_loaded() 20 lbs_deb_fw("firmware load complete, code %d\n", ret); in lbs_fw_loaded() 32 void (*cb)(const struct firmware *fw, void *context)) in do_load_firmware() 45 static void main_firmware_cb(const struct firmware *firmware, void *context) in main_firmware_cb() argument 49 if (!firmware) { in main_firmware_cb() 50 /* Failed to find firmware: try next table entry */ in main_firmware_cb() 55 /* Firmware found! */ in main_firmware_cb() 56 lbs_fw_loaded(priv, 0, priv->helper_fw, firmware); in main_firmware_cb() [all …]
|
| /kernel/linux/linux-5.10/Documentation/networking/device_drivers/ethernet/netronome/ |
| D | nfp.rst | 13 - `Acquiring Firmware`_ 24 Acquiring Firmware 27 The NFP4000 and NFP6000 devices require application specific firmware 28 to function. Application firmware can be located either on the host file system 29 or in the device flash (if supported by management firmware). 31 Firmware files on the host filesystem contain card type (`AMDA-*` string), media 32 config etc. They should be placed in `/lib/firmware/netronome` directory to 33 load firmware from the host file system. 35 Firmware for basic NIC operation is available in the upstream 36 `linux-firmware.git` repository. [all …]
|
| /kernel/linux/linux-5.10/Documentation/ABI/testing/ |
| D | sysfs-firmware-efi-esrt | 1 What: /sys/firmware/efi/esrt/ 5 (ESRT), a catalog of firmware for which can be updated with 10 What: /sys/firmware/efi/esrt/fw_resource_count 15 What: /sys/firmware/efi/esrt/fw_resource_count_max 20 really only useful to the system firmware itself. 22 What: /sys/firmware/efi/esrt/fw_resource_version 25 Description: The version of the ESRT structure provided by the firmware. 27 What: /sys/firmware/efi/esrt/entries/entry$N/ 32 example: /sys/firmware/efi/esrt/entries/entry0/ 34 What: /sys/firmware/efi/esrt/entries/entry$N/fw_type [all …]
|
| /kernel/linux/linux-6.6/drivers/base/firmware_loader/builtin/ |
| D | main.c | 2 /* Builtin firmware support */ 4 #include <linux/firmware.h> 5 #include "../firmware.h" 19 static bool fw_copy_to_prealloc_buf(struct firmware *fw, in fw_copy_to_prealloc_buf() 31 * firmware_request_builtin() - load builtin firmware 32 * @fw: pointer to firmware struct 33 * @name: name of firmware file 38 * if the firmware was built-in and if so use it right away. This can be used 41 * This looks for the firmware in the built-in kernel. Only if the kernel was 42 * built-in with the firmware you are looking for will this return successfully. [all …]
|
| /kernel/linux/linux-5.10/drivers/media/usb/as102/ |
| D | as102_fw.c | 11 #include <linux/firmware.h> 38 * Parse INTEL HEX firmware file to extract address and data. 48 pr_err("invalid firmware file\n"); in parse_hex_line() 93 const struct firmware *firmware) { in as102_firmware_upload() argument 104 for (total_read_bytes = 0; total_read_bytes < firmware->size; ) { in as102_firmware_upload() 109 (u8 *) (firmware->data + total_read_bytes), in as102_firmware_upload() 120 if (total_read_bytes == firmware->size) { in as102_firmware_upload() 158 const struct firmware *firmware = NULL; in as102_fw_upload() local 172 /* allocate buffer to store firmware upload command and data */ in as102_fw_upload() 179 /* request kernel to locate firmware file: part1 */ in as102_fw_upload() [all …]
|