Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1352784

[RFC/PATCH 0/4] request_firmware() on memory constrained devices

From Stephen Boyd <stephen.boyd@linaro.org>
Newsgroups linux.kernel
Subject [RFC/PATCH 0/4] request_firmware() on memory constrained devices
Date 2016-03-08 10:30 +0100
Message-ID <ram7L-7oJ-5@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


Some systems are memory constrained but they need to load very
large firmwares. The firmware subsystem allows drivers to request
this firmware be loaded from the filesystem, but this requires
that the entire firmware be loaded into kernel memory first
before it's provided to the driver. This can lead to a situation
where we map the firmware twice, once to load the firmware into
kernel memory and once to copy the firmware into the final
resting place.

This design creates needless memory pressure and delays loading
because we have to copy from kernel memory to somewhere else.
This patch sets adds support to the request firmware and DMA APIs
to map DMA buffers a page at a time and load the firmware directly
into those pages, skipping the intermediate copying step and
alleviating memory pressure during firmware loading. The drawback
is that we can't use the firmware caching feature because the
memory for the firmware cache is never allocated.

Patches based on v4.5-rc1.

Laura Abbott (1):
  dma-mapping: Add dma_remap() APIs

Stephen Boyd (2):
  ARM64: dma: Add support for NO_KERNEL_MAPPING attribute
  firmware: Support requesting firmware directly into DMA memory

Vikram Mulukutla (1):
  firmware_class: Provide infrastructure to make fw caching optional

 arch/arm64/mm/dma-mapping.c   |  78 +++++++++++--
 drivers/base/firmware_class.c | 263 ++++++++++++++++++++++++++++++++----------
 include/linux/dma-mapping.h   |  35 ++++++
 include/linux/firmware.h      |  13 +++
 4 files changed, 316 insertions(+), 73 deletions(-)

-- 
2.7.0.25.gfc10eb5

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[RFC/PATCH 0/4] request_firmware() on memory constrained devices Stephen Boyd <stephen.boyd@linaro.org> - 2016-03-08 10:30 +0100
  [RFC/PATCH 4/4] firmware: Support requesting firmware directly into DMA memory Stephen Boyd <stephen.boyd@linaro.org> - 2016-03-08 10:30 +0100
    Re: [RFC/PATCH 4/4] firmware: Support requesting firmware directly  into DMA memory Mimi Zohar <zohar@linux.vnet.ibm.com> - 2016-03-08 13:10 +0100
    Re: [RFC/PATCH 4/4] firmware: Support requesting firmware directly  into DMA memory Ming Lei <tom.leiming@gmail.com> - 2016-03-08 14:50 +0100
      Re: [RFC/PATCH 4/4] firmware: Support requesting firmware directly  into DMA memory Mark Brown <broonie@kernel.org> - 2016-03-09 03:30 +0100
  [PATCH 1/4] ARM64: dma: Add support for NO_KERNEL_MAPPING attribute Stephen Boyd <stephen.boyd@linaro.org> - 2016-03-08 10:30 +0100
    Re: [PATCH 1/4] ARM64: dma: Add support for NO_KERNEL_MAPPING  attribute Robin Murphy <robin.murphy@arm.com> - 2016-03-08 15:00 +0100
  [RFC/PATCH 2/4] dma-mapping: Add dma_remap() APIs Stephen Boyd <stephen.boyd@linaro.org> - 2016-03-08 10:30 +0100
  [RFC/PATCH 3/4] firmware_class: Provide infrastructure to make fw caching optional Stephen Boyd <stephen.boyd@linaro.org> - 2016-03-08 10:30 +0100
  Re: [RFC/PATCH 0/4] request_firmware() on memory constrained devices Alexander Stein <alexander.stein@systec-electronic.com> - 2016-03-08 10:40 +0100
    Re: [RFC/PATCH 0/4] request_firmware() on memory constrained devices Stephen Boyd <stephen.boyd@linaro.org> - 2016-03-08 11:10 +0100

csiph-web