19 Aug, 2019

1 commit

  • Currently the driver does not handle EPROBE_DEFER for the confd gpio.
    Use devm_gpiod_get_optional() instead of devm_gpiod_get() and return
    error codes from altera_ps_probe().

    Fixes: 5692fae0742d ("fpga manager: Add altera-ps-spi driver for Altera FPGAs")
    Signed-off-by: Phil Reid
    Signed-off-by: Moritz Fischer

    Phil Reid
     

05 Jun, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms and conditions of the gnu general public license
    version 2 as published by the free software foundation

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 101 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190531190113.822954939@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

31 Jan, 2019

1 commit

  • Don't populate the const array dummy on the stack but instead
    make it static. Makes the object code smaller by 26 bytes:

    Before:
    text data bss dec hex filename
    7371 2032 0 9403 24bb drivers/fpga/altera-ps-spi.o

    After:
    text data bss dec hex filename
    7281 2096 0 9377 24a1 drivers/fpga/altera-ps-spi.o

    (gcc version 8.2.0 x86_64)

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

    Colin Ian King
     

27 Nov, 2018

1 commit

  • Driver probing fails on non-dt platforms since of_match_device()
    always returns NULL here. Add spi ids with device names and
    matching driver data as an index of a map array with data for
    supported devices. Add this map array and a function for mapping
    spi ids to driver data. This allows driver binding to dynamically
    added PS-SPI devices (e.g. when added via spi_new_device() after
    hot-plugging).

    Signed-off-by: Anatolij Gustschin
    Acked-by: Alan Tull
    Signed-off-by: Greg Kroah-Hartman

    Anatolij Gustschin
     

16 Oct, 2018

1 commit

  • Add devm_fpga_mgr_create() which is the managed
    version of fpga_mgr_create().

    Change current FPGA manager drivers to use
    devm_fpga_mgr_create()

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

    Alan Tull
     

26 May, 2018

1 commit

  • 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
     

23 Apr, 2018

1 commit

  • If the driver module is loaded when FPGA is configured, the FPGA
    is reset because nconfig is pulled low (low-active gpio inited
    with GPIOD_OUT_HIGH activates the signal which means setting its
    value to low). Init nconfig with GPIOD_OUT_LOW to prevent this.

    Signed-off-by: Anatolij Gustschin
    Acked-by: Alan Tull
    Signed-off-by: Moritz Fischer
    Cc: stable # 4.14+
    Signed-off-by: Greg Kroah-Hartman

    Anatolij Gustschin
     

17 Jul, 2017

2 commits

  • Speed up bit reversal by using hardware bit reversal
    Add extra code to handle less than 4byte remnants, if any

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

    Joshua Clayton
     
  • altera-ps-spi loads FPGA firmware over SPI, using the "passive serial"
    interface on Altera Arria 10, Cyclone V or Stratix V FPGAs.

    This is one of the simpler ways to set up an FPGA at runtime.
    The signal interface is close to unidirectional SPI with lsb first.

    Signed-off-by: Joshua Clayton
    Signed-off-by: Anatolij Gustschin
    Signed-off-by: Alan Tull
    Signed-off-by: Greg Kroah-Hartman

    Joshua Clayton