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


Groups > linux.kernel > #1597963

Re: [RFC 0/2] Add streaming API for firmware and FPGA manager

From matthew.gerlach@linux.intel.com
Newsgroups linux.kernel
Subject Re: [RFC 0/2] Add streaming API for firmware and FPGA manager
Date 2017-03-10 18:20 +0100
Message-ID <tjwmS-75R-9@gated-at.bofh.it> (permalink)
References <tjgBr-4eD-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw



On Thu, 9 Mar 2017, yi1.li@linux.intel.com wrote:

> From: Yi Li <yi1.li@linux.intel.com>


Hi Yi,

This functionality is extremely helpful. I am working with a
firmware image of about 90 MBs, and even using scatter-gather instead of a 
continguous piece of memory is a lot of memory.

Matthew Gerlach

>
> As the FPGA hardware advances, the firmware image size grows (hundres
> of MBs or more). It could be an issue for kernel to allocate a big
> buffer to load the whole firmware file.
> Here is an attempt to read the firmware file into a small buffer and
> program the FPGA in a loop (or so call the streaming mode). It should not
> be a performance hit for FPGA programing since the majority of time
> spend is with the FPGA CvP/PR-IP interface.
>
> pseudo code in fpga manager:
> while (size > 0) {
> 	ret = stream_firmware(&fw, image_name, dev, offset, streamsize);
> 	ret = mgr->mops->write(mgr, fw->data, fw->size);
> 	offset += fw->size;
> 	size -= fw->size;
> }
>
> Thanks,
> Yi
>
> Yi Li (2):
>  firmware class: Add stream_firmware API.
>  fpga manager: Add fpga_mgr_firmware_stream API
>
> drivers/base/firmware_class.c | 128 ++++++++++++++++++++++++++++++++++++++++++
> drivers/fpga/fpga-mgr.c       |  77 +++++++++++++++++++++++++
> include/linux/firmware.h      |   2 +
> include/linux/fpga/fpga-mgr.h |   4 ++
> 4 files changed, 211 insertions(+)
>
> -- 
> 2.7.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fpga" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

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


Thread

[RFC 0/2] Add streaming API for firmware and FPGA manager  yi1.li@linux.intel.com - 2017-03-10 01:30 +0100
  [RFC 2/2] fpga manager: Add fpga_mgr_firmware_stream API yi1.li@linux.intel.com - 2017-03-10 01:30 +0100
    Re: [RFC 2/2] fpga manager: Add fpga_mgr_firmware_stream API Alan Tull <delicious.quinoa@gmail.com> - 2017-03-13 19:10 +0100
      Re: [RFC 2/2] fpga manager: Add fpga_mgr_firmware_stream API "Li, Yi" <yi1.li@linux.intel.com> - 2017-03-13 20:10 +0100
  [RFC 1/2] firmware class: Add stream_firmware API. yi1.li@linux.intel.com - 2017-03-10 01:30 +0100
    Re: [RFC 1/2] firmware class: Add stream_firmware API. matthew.gerlach@linux.intel.com - 2017-03-10 18:50 +0100
      Re: [RFC 1/2] firmware class: Add stream_firmware API. "Li, Yi" <yi1.li@linux.intel.com> - 2017-03-10 20:30 +0100
        Re: [RFC 1/2] firmware class: Add stream_firmware API. matthew.gerlach@linux.intel.com - 2017-03-13 22:10 +0100
  Re: [RFC 0/2] Add streaming API for firmware and FPGA manager  matthew.gerlach@linux.intel.com - 2017-03-10 18:20 +0100

csiph-web