22 Jul, 2021

1 commit


09 Jun, 2021

1 commit


28 Mar, 2021

1 commit


15 Jan, 2021

1 commit

  • Commit fa41d10589be ("fpga: dfl-pci: locate DFLs by PCIe vendor specific
    capability") provides documentation to the FPGA Device Feature List (DFL)
    Framework Overview, but introduced new documentation warnings:

    ./Documentation/fpga/dfl.rst:
    505: WARNING: Title underline too short.
    523: WARNING: Unexpected indentation.
    523: WARNING: Blank line required after table.
    524: WARNING: Block quote ends without a blank line; unexpected unindent.

    Rectify ReST formatting in ./Documentation/fpga/dfl.rst.

    Tested-by: Tom Rix
    Acked-by: Moritz Fischer
    Acked-by: Matthew Gerlach
    Signed-off-by: Lukas Bulwahn
    Link: https://lore.kernel.org/r/20210111112113.27242-1-lukas.bulwahn@gmail.com
    Signed-off-by: Greg Kroah-Hartman

    Lukas Bulwahn
     

07 Jan, 2021

1 commit


06 Aug, 2020

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the large set of char and misc and other driver subsystem
    patches for 5.9-rc1. Lots of new driver submissions in here, and
    cleanups and features for existing drivers.

    Highlights are:
    - habanalabs driver updates
    - coresight driver updates
    - nvmem driver updates
    - huge number of "W=1" build warning cleanups from Lee Jones
    - dyndbg updates
    - virtbox driver fixes and updates
    - soundwire driver updates
    - mei driver updates
    - phy driver updates
    - fpga driver updates
    - lots of smaller individual misc/char driver cleanups and fixes

    Full details are in the shortlog.

    All of these have been in linux-next with no reported issues"

    * tag 'char-misc-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (322 commits)
    habanalabs: remove unused but set variable 'ctx_asid'
    nvmem: qcom-spmi-sdam: Enable multiple devices
    dt-bindings: nvmem: SID: add binding for A100's SID controller
    nvmem: update Kconfig description
    nvmem: qfprom: Add fuse blowing support
    dt-bindings: nvmem: Add properties needed for blowing fuses
    dt-bindings: nvmem: qfprom: Convert to yaml
    nvmem: qfprom: use NVMEM_DEVID_AUTO for multiple instances
    nvmem: core: add support to auto devid
    nvmem: core: Add nvmem_cell_read_u8()
    nvmem: core: Grammar fixes for help text
    nvmem: sc27xx: add sc2730 efuse support
    nvmem: Enforce nvmem stride in the sysfs interface
    MAINTAINERS: Add git tree for NVMEM FRAMEWORK
    nvmem: sprd: Fix return value of sprd_efuse_probe()
    drivers: android: Fix the SPDX comment style
    drivers: android: Fix a variable declaration coding style issue
    drivers: android: Remove braces for a single statement if-else block
    drivers: android: Remove the use of else after return
    drivers: android: Fix a variable declaration coding style issue
    ...

    Linus Torvalds
     

13 Jul, 2020

1 commit

  • Drop the doubled word "this".

    Signed-off-by: Randy Dunlap
    Acked-by: Wu Hao
    Cc: Jonathan Corbet
    Cc: linux-doc@vger.kernel.org
    Cc: Wu Hao
    Cc: linux-fpga@vger.kernel.org
    Link: https://lore.kernel.org/r/20200707180414.10467-6-rdunlap@infradead.org
    Signed-off-by: Jonathan Corbet

    Randy Dunlap
     

07 Jul, 2020

1 commit


28 Apr, 2020

1 commit


17 Oct, 2019

1 commit


04 Sep, 2019

1 commit


15 Jul, 2019

1 commit

  • The contents of those directories were orphaned at the documentation
    body.

    While those directories could likely be moved to be inside some guide,
    I'm opting to just adding their indexes to the main one, removing the
    :orphan: and adding the SPDX header.

    For the drivers, the rationale is that the documentation contains
    a mix of Kernelspace, uAPI and admin-guide. So, better to keep them on
    separate directories, as we've be doing with similar subsystem-specific
    docs that were not split yet.

    For the others, well... I'm too lazy to do the move. Also, it
    seems to make sense to keep at least some of those at the main
    dir (like kbuild, for example). In any case, a latter patch
    could do the move.

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Bartlomiej Zolnierkiewicz

    Mauro Carvalho Chehab
     

15 Jun, 2019

1 commit

  • The dfl.txt file is almost there. It needs just a few
    adjustments to be properly parsed.

    The conversion is actually:
    - add blank lines and identation in order to identify paragraphs;
    - fix tables markups;
    - add some lists markups;
    - mark literal blocks;
    - adjust title markups.

    At its new index.rst, let's add a :orphan: while this is not linked to
    the main index.rst file, in order to avoid build warnings.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     

15 Jul, 2018

1 commit


26 May, 2018

5 commits

  • Move Documentation/fpga/fpga-region.txt to
    driver-api/fpga/fpga-region.rst. Including:
    - Add it to driver-api/fpga/index.rst
    - Formatting changes to build cleanly as ReST documentation
    - Some rewrites for better flow as a ReST doc such as moving
    API reference to the end of the doc
    - Rewrite API reference section to refer to kernel-doc
    documentation in fpga-region.c driver code

    Signed-off-by: Alan Tull
    Signed-off-by: Greg Kroah-Hartman

    Alan Tull
     
  • Move Documentation/fpga/fpga-mgr.txt to driver-api/fpga/fpga-mgr.rst
    and:
    - Add to driver-api/fpga/index.rst
    - Format changes so documentation builds cleanly.
    - Minor rewrites that make the doc flow better as ReST documentation.
    - Such as moving API reference to end of doc
    - Change API reference section to refer to kernel-doc documentation in
    fpga-mgr.c driver code rather than statically defining each function.

    Signed-off-by: Alan Tull
    Signed-off-by: Greg Kroah-Hartman

    Alan Tull
     
  • Start of moving Documentation/fpga/*.txt to driver-api, including:
    - Add new directory driver-api/fpga
    - Add new file driver-api/fpga/index.rst
    - Add driver-api/fpga to driver-api/index.rst
    - Move Documentation/fpga/overview.txt to driver-api/fpga/intro.rst
    - Formatting and rewrites so that intro.rst will build cleanly
    and form a good introduction to the rest of the docs to be added.

    Signed-off-by: Alan Tull
    Signed-off-by: Greg Kroah-Hartman

    Alan Tull
     
  • Add fpga_region_create/free API functions.

    Change fpga_region_register to take FPGA region struct as the only
    parameter. Change fpga_region_unregister to return void.

    struct fpga_region *fpga_region_create(struct device *dev,
    struct fpga_manager *mgr,
    int (*get_bridges)(struct fpga_region *));
    void fpga_region_free(struct fpga_region *region);
    int fpga_region_register(struct fpga_region *region);
    void fpga_region_unregister(struct fpga_region *region);

    Remove groups storage from struct fpga_region, it's not
    needed. Callers can just "region->dev.groups = groups;"
    after calling fpga_region_create.

    Update the drivers that call fpga_region_register with the new API.

    Signed-off-by: Alan Tull
    Signed-off-by: Moritz Fischer
    Signed-off-by: Greg Kroah-Hartman

    Alan Tull
     
  • Change fpga_mgr_register to not set or use drvdata. This supports
    the case where a PCIe device has more than one manager.

    Add fpga_mgr_create/free functions. Change fpga_mgr_register and
    fpga_mgr_unregister functions to take the mgr struct as their only
    parameter.

    struct fpga_manager *fpga_mgr_create(struct device *dev,
    const char *name,
    const struct fpga_manager_ops *mops,
    void *priv);
    void fpga_mgr_free(struct fpga_manager *mgr);
    int fpga_mgr_register(struct fpga_manager *mgr);
    void fpga_mgr_unregister(struct fpga_manager *mgr);

    Update the drivers that call fpga_mgr_register with the new API.

    Signed-off-by: Alan Tull
    [Moritz: Fixup whitespace issue]
    Reported-by: Jiuyue Ma
    Signed-off-by: Moritz Fischer
    Signed-off-by: Greg Kroah-Hartman

    Alan Tull
     

28 Nov, 2017

2 commits

  • Previously when the user gets a FPGA manager, it was locked
    and nobody else could use it for programming.

    This commit makes it straightforward to save a reference to an
    FPGA manager and only lock it when programming the FPGA.

    Add functions that get an FPGA manager's mutex for exclusive use:
    * fpga_mgr_lock
    * fpga_mgr_unlock

    The following functions no longer lock an FPGA manager's mutex:
    * of_fpga_mgr_get
    * fpga_mgr_get
    * fpga_mgr_put

    Signed-off-by: Alan Tull
    Acked-by: Moritz Fischer
    Signed-off-by: Greg Kroah-Hartman

    Alan Tull
     
  • fpga-mgr has three methods for programming FPGAs, depending on
    whether the image is in a scatter gather list, a contiguous
    buffer, or a firmware file. This makes it difficult to write
    upper layers as the caller has to assume whether the FPGA image
    is in a sg table, as a single buffer, or a firmware file.
    This commit moves these parameters to struct fpga_image_info
    and adds a single function for programming fpgas.

    New functions:
    * fpga_mgr_load - given fpga manager and struct fpga_image_info,
    program the fpga.

    * fpga_image_info_alloc - alloc a struct fpga_image_info.

    * fpga_image_info_free - free a struct fpga_image_info.

    These three functions are unexported:
    * fpga_mgr_buf_load_sg
    * fpga_mgr_buf_load
    * fpga_mgr_firmware_load

    Also use devm_kstrdup to copy firmware_name so we aren't making
    assumptions about where it comes from when allocing/freeing the
    struct fpga_image_info.

    API documentation has been updated and a new document for
    FPGA region has been added.

    Signed-off-by: Alan Tull
    Acked-by: Moritz Fischer
    Signed-off-by: Greg Kroah-Hartman

    Alan Tull
     

10 Feb, 2017

1 commit

  • Requiring contiguous kernel memory is not a good idea, this is a limited
    resource and allocation can fail under normal work loads.

    This introduces a .write_sg op that supporting drivers can provide
    to DMA directly from dis-contiguous memory and a new entry point
    fpga_mgr_buf_load_sg that users can call to directly provide page
    lists.

    The full matrix of compatibility is provided, either the linear or sg
    interface can be used by the user with a driver supporting either
    interface.

    A notable change for drivers is that the .write op can now be called
    multiple times.

    Signed-off-by: Jason Gunthorpe
    Acked-by: Alan Tull
    Acked-by: Moritz Fischer
    Signed-off-by: Greg Kroah-Hartman

    Jason Gunthorpe
     

30 Nov, 2016

1 commit

  • This interface was designed for streaming, but write_init's buf
    argument has an unclear purpose. Define it to be the first bytes
    of the bitstream. Each driver gets to set how many bytes (at most)
    it wants to see. Short bitstreams will be passed through as-is, while
    long ones will be truncated.

    The intent is to allow drivers to peek at the header before the transfer
    actually starts.

    Signed-off-by: Jason Gunthorpe
    Acked-by: Alan Tull

    Jason Gunthorpe
     

11 Nov, 2016

2 commits

  • This patch adds a minor change in the FPGA Manager API
    to hold information that is specific to an FPGA image
    file. This change is expected to bring little, if any,
    pain.

    An FPGA image file will have particulars that affect how the
    image is programmed to the FPGA. One example is that
    current 'flags' currently has one bit which shows whether the
    FPGA image was built for full reconfiguration or partial
    reconfiguration. Another example is timeout values for
    enabling or disabling the bridges in the FPGA. As the
    complexity of the FPGA design increases, the bridges in the
    FPGA may take longer times to enable or disable.

    This patch documents the change in the FPGA Manager API
    functions, replacing the 'u32 flag' parameter with a pointer
    to struct fpga_image_info.

    Signed-off-by: Alan Tull
    Acked-by: Moritz Fischer
    Signed-off-by: Greg Kroah-Hartman

    Alan Tull
     
  • The intent is to provide a non-DT method of getting
    ahold of a FPGA manager to do some FPGA programming.

    This patch refactors of_fpga_mgr_get() to reuse most of it
    while adding a new method fpga_mgr_get() for getting a
    pointer to a fpga manager struct, given the device.

    Signed-off-by: Alan Tull
    Signed-off-by: Greg Kroah-Hartman

    Alan Tull
     

08 Oct, 2015

1 commit