1. 20 Oct, 2020 2 commits
  2. 28 Nov, 2018 4 commits
    • Anatolij Gustschin's avatar
      fpga-cfg: update module parameter documentation · 8f766996
      Anatolij Gustschin authored
      Separation character of the module parameters has been changed
      to space. Update module parameter documentation accordingly.
      Signed-off-by: Anatolij Gustschin's avatarAnatolij Gustschin <agust@denx.de>
      8f766996
    • Anatolij Gustschin's avatar
      fpga-cfg: README.md: add bigger block size to example commands · f1274b0b
      Anatolij Gustschin authored
      With bigger description files the configuration won't work if
      written as multiple 512 byte blocks. Suggest using max. size
      as block size.
      Signed-off-by: Anatolij Gustschin's avatarAnatolij Gustschin <agust@denx.de>
      f1274b0b
    • Anatolij Gustschin's avatar
      fpga-cfg: update mfd driver parameter passing · aa7ab1e6
      Anatolij Gustschin authored
      Use pci fpga device for managed platform_data parameter buffer
      allocation instead of fpga_cfg device to reduce kernel memory
      usage while fpga reconfigurations (fpga-cfg device is only
      removed when FPP/SPI adapter device is removed or when the
      fpga-cfg driver is unloaded, so when using it for managed buffer
      allocations the memory usage will increase after each fpga
      configuration).
      
      Allocate and pass platform_data parameter buffer only when
      binding to configured mfd driver and add a comment about it
      (for altera-cvp driver we don't need parameter passing but
      currently it happens due to probing this driver before mfd
      driver, so a check for driver name is required to avoid it).
      
      Move platform_data passing out of the pci_device_driver_bind()
      function because with managed platform_data allocations for
      pci fpga device we get kernel warnings with stack trace dump
      during each reconfiguration due to dev->devres_head list empty
      checks in the base driver code. Passing the platform_data in
      pci_bus_event_notify() avoids it. To enable passing in this
      notifier we need to add the configuration instance struct to
      the pci_dev_wait_list before calling pci_device_driver_bind().
      
      Remove mfd module unload, so other already configured pci fpga
      devices can still use the attached mfd driver when another fpga
      is being configured.
      Signed-off-by: Anatolij Gustschin's avatarAnatolij Gustschin <agust@denx.de>
      aa7ab1e6
    • Stefan Roese's avatar
      fpga-cfg: Pass the module parameters per device and not per driver · 1709b404
      Stefan Roese authored
      This patch changes the passing of the module parameters. Until now these
      parameters were passed to the specified driver as module parameters
      while driver loading. This has the disadvantage that different parameters
      can't be used with identical drivers. This patch now changes this by
      passing the module parameters via a newly created platform_data buffer,
      which is then passed to the device in pci_device_driver_bind(). This
      string contains a plain copy of the parameters defined in the config
      file "mfd-driver-param" key. The driver then can parse this string
      with these parameters on a per-device basis. With this change these
      parameters are device specific and we can support different parameters
      for different FPGA's, even then the same device driver is used.
      
      Please note that the module parameters are now not separated by ',' any
      more. Please separate them simply via a space instead, like this:
      
        mfd-driver-param = "mfd_bar_nr=1 mfd_bar_offs=0";
      Signed-off-by: Stefan Roese's avatarStefan Roese <sr@denx.de>
      1709b404
  3. 06 Nov, 2018 10 commits
  4. 21 Jul, 2018 1 commit
  5. 15 Mar, 2018 2 commits
    • Anatolij Gustschin's avatar
      fpga-cfg: cleanup unused variable/function warnings · 65bbb26b
      Anatolij Gustschin authored
      Let pci_bus_rescan() in the code until the hotplug problems
      are solved entirely, but use __maybe_unused to suppress the
      compiler warnings.
      Signed-off-by: Anatolij Gustschin's avatarAnatolij Gustschin <agust@denx.de>
      65bbb26b
    • Anatolij Gustschin's avatar
      fpga-cfg: rework for unique interface path for FPP/SPI · 6d60e18f
      Anatolij Gustschin authored
      With RevB PRAX board the board address string is encoded in the fpga
      manager name. Use this string to create unique path for configuration
      interface. For RevA board without address_sel logic the value
      "fpp_single.N" is used as the directory name for configuration
      interface, for RevB board the value "fpp_right.N" or "fpp_left.N"
      is used, e.g.:
      
        PRAX RevA:
          /sys/kernel/debug/fpga_cfg/fpp_single.1
      
        PRAX RevB:
          /sys/kernel/debug/fpga_cfg/fpp_right.0
          /sys/kernel/debug/fpga_cfg/fpp_left.1
      
      For SPI configuration interfaces the SPI slave name is encoded
      in the fpga manager name. The created directory to the configuration
      interface looks like "spi_spiN.M", where N is the SPI bus number and
      M is the chip select number of assigned to the SPI slave. E.g.:
      
        /sys/kernel/debug/fpga_cfg/spi_spi0.1/
      Signed-off-by: Anatolij Gustschin's avatarAnatolij Gustschin <agust@denx.de>
      6d60e18f
  6. 14 Mar, 2018 1 commit
    • Anatolij Gustschin's avatar
      fpga-cfg: update manager's usb id parsing · a54fa21b
      Anatolij Gustschin authored
      Since commit ID 03a0ee5081 the FPP manager name contains
      board address specifier: "right" or "left" for board revB
      or "single" for board revA. Update the driver to parse the
      address specifier and usb id properly.
      
      We have to create a unique configuration interface path
      depending on the detected address specifier to differentiate
      between the left and right PRAX boards. This needs to be
      addressed in a separate patch.
      Signed-off-by: Anatolij Gustschin's avatarAnatolij Gustschin <agust@denx.de>
      a54fa21b
  7. 08 Mar, 2018 2 commits
  8. 23 Feb, 2018 5 commits
  9. 16 Feb, 2018 1 commit
  10. 07 Dec, 2017 1 commit
  11. 06 Dec, 2017 2 commits
  12. 05 Dec, 2017 5 commits