1. 08 10月, 2020 2 次提交
  2. 01 10月, 2020 2 次提交
  3. 30 9月, 2020 1 次提交
  4. 28 9月, 2020 2 次提交
  5. 24 9月, 2020 2 次提交
  6. 27 8月, 2020 1 次提交
  7. 24 8月, 2020 1 次提交
  8. 22 8月, 2020 1 次提交
  9. 20 8月, 2020 4 次提交
  10. 17 8月, 2020 1 次提交
    • S
      dmaengine: dw: Add DMA-channels mask cell support · e8ee6c8c
      Serge Semin 提交于
      DW DMA IP-core provides a way to synthesize the DMA controller with
      channels having different parameters like maximum burst-length,
      multi-block support, maximum data width, etc. Those parameters both
      explicitly and implicitly affect the channels performance. Since DMA slave
      devices might be very demanding to the DMA performance, let's provide a
      functionality for the slaves to be assigned with DW DMA channels, which
      performance according to the platform engineer fulfill their requirements.
      After this patch is applied it can be done by passing the mask of suitable
      DMA-channels either directly in the dw_dma_slave structure instance or as
      a fifth cell of the DMA DT-property. If mask is zero or not provided, then
      there is no limitation on the channels allocation.
      
      For instance Baikal-T1 SoC is equipped with a DW DMAC engine, which first
      two channels are synthesized with max burst length of 16, while the rest
      of the channels have been created with max-burst-len=4. It would seem that
      the first two channels must be faster than the others and should be more
      preferable for the time-critical DMA slave devices. In practice it turned
      out that the situation is quite the opposite. The channels with
      max-burst-len=4 demonstrated a better performance than the channels with
      max-burst-len=16 even when they both had been initialized with the same
      settings. The performance drop of the first two DMA-channels made them
      unsuitable for the DW APB SSI slave device. No matter what settings they
      are configured with, full-duplex SPI transfers occasionally experience the
      Rx FIFO overflow. It means that the DMA-engine doesn't keep up with
      incoming data pace even though the SPI-bus is enabled with speed of 25MHz
      while the DW DMA controller is clocked with 50MHz signal. There is no such
      problem has been noticed for the channels synthesized with
      max-burst-len=4.
      Signed-off-by: NSerge Semin <Sergey.Semin@baikalelectronics.ru>
      Link: https://lore.kernel.org/r/20200731200826.9292-6-Sergey.Semin@baikalelectronics.ruSigned-off-by: NVinod Koul <vkoul@kernel.org>
      e8ee6c8c
  11. 13 8月, 2020 1 次提交
  12. 08 8月, 2020 2 次提交
  13. 06 8月, 2020 1 次提交
  14. 27 7月, 2020 4 次提交
  15. 23 7月, 2020 1 次提交
  16. 22 7月, 2020 1 次提交
  17. 20 7月, 2020 1 次提交
  18. 15 7月, 2020 2 次提交
  19. 14 7月, 2020 1 次提交
    • L
      spi: imx/fsl-lpspi: Convert to GPIO descriptors · 8cdcd8ae
      Linus Walleij 提交于
      This converts the two Freescale i.MX SPI drivers
      Freescale i.MX (CONFIG_SPI_IMX) and Freescale i.MX LPSPI
      (CONFIG_SPI_FSL_LPSPI) to use GPIO descriptors handled in
      the SPI core for GPIO chip selects whether defined in
      the device tree or a board file.
      
      The reason why both are converted at the same time is
      that they were both using the same platform data and
      platform device population helpers when using
      board files intertwining the code so this gives a cleaner
      cut.
      
      The platform device creation was passing a platform data
      container from each boardfile down to the driver using
      struct spi_imx_master from <linux/platform_data/spi-imx.h>,
      but this was only conveying the number of chipselects and
      an int * array of the chipselect GPIO numbers.
      
      The imx27 and imx31 platforms had code passing the
      now-unused platform data when creating the platform devices,
      this has been repurposed to pass around GPIO descriptor
      tables. The platform data struct that was just passing an
      array of integers and number of chip selects for the GPIO
      lines has been removed.
      
      The number of chipselects used to be passed from the board
      file, because this number also limits the number of native
      chipselects that the platform can use. To deal with this we
      just augment the i.MX (CONFIG_SPI_IMX) driver to support 3
      chipselects if the platform does not define "num-cs" as a
      device property (such as from the device tree). This covers
      all the legacy boards as these use <= 3 native chip selects
      (or GPIO lines, and in that case the number of chip selects
      is determined by the core from the number of available
      GPIO lines). Any new boards should use device tree, so
      this is a reasonable simplification to cover all old
      boards.
      
      The LPSPI driver never assigned the number of chipselects
      and thus always fall back to the core default of 1 chip
      select if no GPIOs are defined in the device tree.
      
      The Freescale i.MX driver was already partly utilizing
      the SPI core to obtain the GPIO numbers from the device tree,
      so this completes the transtion to let the core handle all
      of it.
      
      All board files and the core i.MX boardfile registration
      code is augmented to account for these changes.
      
      This has been compile-tested with the imx_v4_v5_defconfig
      and the imx_v6_v7_defconfig.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Acked-by: NShawn Guo <shawnguo@kernel.org>
      Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Cc: Robin Gong <yibin.gong@nxp.com>
      Cc: Trent Piepho <tpiepho@impinj.com>
      Cc: Clark Wang <xiaoning.wang@nxp.com>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
      Cc: Fabio Estevam <festevam@gmail.com>
      Cc: NXP Linux Team <linux-imx@nxp.com>
      Link: https://lore.kernel.org/r/20200625200252.207614-1-linus.walleij@linaro.orgSigned-off-by: NMark Brown <broonie@kernel.org>
      8cdcd8ae
  20. 13 7月, 2020 1 次提交
  21. 12 7月, 2020 1 次提交
  22. 09 7月, 2020 1 次提交
  23. 04 7月, 2020 1 次提交
  24. 01 7月, 2020 2 次提交
  25. 25 6月, 2020 1 次提交
  26. 20 6月, 2020 1 次提交
  27. 16 6月, 2020 1 次提交