Lines Matching full:firmware
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:
46 * The firmware provides very unique device specific data tailored for
64 Firmware sysfs loading facility
67 In order to help device drivers upload firmware using a fallback mechanism
68 the firmware infrastructure creates a sysfs interface to enable userspace
69 to load and indicate when firmware is ready. The sysfs directory is created
71 the firmware requested, and establishes it in the device hierarchy by
76 given that originally the only firmware loading mechanism available was the
82 To load firmware using the sysfs interface we expose a loading indicator,
83 and a file upload firmware into:
88 To upload firmware you will echo 1 onto the loading file to indicate
89 you are loading firmware. You then write the firmware into the data file,
90 and you notify the kernel the firmware is ready by echo'ing 0 onto
93 The firmware device used to help load firmware using sysfs is only created if
94 direct firmware loading fails and if the fallback mechanism is enabled for your
95 firmware request, this is set up with :c:func:`firmware_fallback_sysfs`. It is
103 Will clean any previous partial load at once and make the firmware API
104 return an error. When loading firmware the firmware_class grows a buffer
105 for the firmware in PAGE_SIZE increments to hold the image as it comes in.
116 Firmware kobject uevent fallback mechanism
119 Since a device is created for the sysfs interface to help load firmware as a
122 hierarchy means the fallback mechanism for firmware loading has been initiated.
136 this fallback mechanism. When firmware loading was only possible using the
139 udev, however firmware loading support was removed from udev as of systemd
140 commit be2ea723b1d0 ("udev: remove userspace firmware loading support")
142 not using or taking advantage of the firmware fallback mechanism provided
150 * FIRMWARE=firmware name
157 # Both $DEVPATH and $FIRMWARE are already provided in the environment.
158 MY_FW_DIR=/lib/firmware/
160 cat $MY_FW_DIR/$FIRMWARE > /sys/$DEVPATH/data
163 Firmware custom fallback mechanism
169 was that utilities other than udev might be required to lookup firmware
178 also setup the firmware cache for firmware requests. As documented above,
179 the firmware cache is only set up if uevent is enabled for an API call.
180 Although this can disable the firmware cache for request_firmware_nowait()
183 the uevent flag means you want to opt-in for the firmware fallback mechanism
186 load firmware for you through a custom path.
188 Firmware fallback timeout
191 The firmware fallback mechanism has a timeout. If firmware is not loaded
196 solution will have as much time as it needs to load firmware.
198 You can customize the firmware timeout by echo'ing your desired timeout into
201 * /sys/class/firmware/timeout