Messages in this thread | | | Date | Wed, 25 Jul 2012 01:08:36 +0800 | Subject | Re: [RFC PATCH 00/13] firmware loader: introduce cache/uncache firmware | From | Ming Lei <> |
| |
On Wed, Jul 25, 2012 at 1:00 AM, Ming Lei <ming.lei@canonical.com> wrote: > Hi, > > In [1][2], the problem below has been discussed for some time: > > device's firmware may be lost during suspend/resume > cycle because device is unplugged and plugged again > or device experiences system power loss in the period. > but during resume path, system is still not ready(process > frozen, rootfs not usable, ...) to complete loading firmware > from user space for the device > > The conclusion is that caching firmware during suspend/resume cycle > is capable of solving the problem. > > This patchset implements cache/uncache firmware mechanism, > and apply the mechnism to cache device's firmware in kernel memory > space automatically during suspend/resume cyclye, so device can > load its firmware easily during resume path. When resume is completed > and system is ready, the cached firmwares will be removed from > kernel memory later.
$git diff --stat drivers/base/devres.c | 42 +++ drivers/base/firmware_class.c | 749 +++++++++++++++++++++++++++++++++++------ include/linux/device.h | 3 + include/linux/firmware.h | 15 + 4 files changed, 705 insertions(+), 104 deletions(-)
Thanks, -- Ming Lei
| |