14 Jun, 2020

1 commit

  • Since commit 84af7a6194e4 ("checkpatch: kconfig: prefer 'help' over
    '---help---'"), the number of '---help---' has been gradually
    decreasing, but there are still more than 2400 instances.

    This commit finishes the conversion. While I touched the lines,
    I also fixed the indentation.

    There are a variety of indentation styles found.

    a) 4 spaces + '---help---'
    b) 7 spaces + '---help---'
    c) 8 spaces + '---help---'
    d) 1 space + 1 tab + '---help---'
    e) 1 tab + '---help---' (correct indentation)
    f) 1 tab + 1 space + '---help---'
    g) 1 tab + 2 spaces + '---help---'

    In order to convert all of them to 1 tab + 'help', I ran the
    following commend:

    $ find . -name 'Kconfig*' | xargs sed -i 's/^[[:space:]]*---help---/\thelp/'

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

11 Feb, 2020

1 commit

  • Currently CONFIG_FSI_MASTER_ASPEED=y implicitly depends on
    CONFIG_HAS_IOMEM=y; consequently, on architectures without IOMEM we get
    the following build error:

    ld: drivers/fsi/fsi-master-aspeed.o: in function `fsi_master_aspeed_probe':
    drivers/fsi/fsi-master-aspeed.c:436: undefined reference to `devm_ioremap_resource'

    Fix the build error by adding the unspecified dependency.

    Fixes: 606397d67f41 ("fsi: Add ast2600 master driver")
    Cc: stable@vger.kernel.org
    Reported-by: Brendan Higgins
    Signed-off-by: Brendan Higgins
    Reviewed-by: Joel Stanley
    Signed-off-by: Joel Stanley
    Link: https://lore.kernel.org/r/20200131034832.294268-1-joel@jms.id.au
    Signed-off-by: Greg Kroah-Hartman

    Brendan Higgins
     

08 Nov, 2019

1 commit

  • The ast2600 BMC has a pair of FSI masters in it, behind an AHB to OPB
    bridge.

    The master driver supports reads and writes of full words, half word and
    byte accesses to remote CFAMs. It can perform very basic error recovery
    through resetting of the FSI port when an error is detected, and the
    issuing of breaks and terms.

    Signed-off-by: Joel Stanley
    Acked-by: Alistair Popple
    --
    v2:
    - remove debugging
    - squash in fixes
    Link: https://lore.kernel.org/r/20191108051945.7109-10-joel@jms.id.au
    Signed-off-by: Greg Kroah-Hartman

    Joel Stanley
     

21 May, 2019

1 commit


03 Dec, 2018

1 commit

  • The OCC is a device embedded on a POWER processor that collects and
    aggregates sensor data from the processor and system. The OCC can
    provide the raw sensor data as well as perform thermal and power
    management on the system.

    This driver provides an atomic communications channel between a service
    processor (e.g. a BMC) and the OCC. The driver is dependent on the FSI
    SBEFIFO driver to get hardware access through the SBE to the OCC SRAM.
    Commands are issued to the SBE to send or fetch data to the SRAM.

    Signed-off-by: Eddie James
    Signed-off-by: Andrew Jeffery
    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Joel Stanley
    Signed-off-by: Guenter Roeck

    Eddie James
     

26 Nov, 2018

1 commit

  • In randconfig builds without CONFIG_GENERIC_ALLOCATOR, this driver
    fails to link:

    ERROR: "gen_pool_alloc_algo" [drivers/fsi/fsi-master-ast-cf.ko] undefined!
    ERROR: "gen_pool_fixed_alloc" [drivers/fsi/fsi-master-ast-cf.ko] undefined!
    ERROR: "of_gen_pool_get" [drivers/fsi/fsi-master-ast-cf.ko] undefined!
    ERROR: "gen_pool_free" [drivers/fsi/fsi-master-ast-cf.ko] undefined!

    Select the dependency as all other users do.

    Fixes: 6a794a27daca ("fsi: master-ast-cf: Add new FSI master using Aspeed ColdFire")
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Benjamin Herrenschmidt

    Arnd Bergmann
     

27 Jul, 2018

1 commit

  • The various FSI devices (sbefifo, occ, scom, more to come)
    currently use misc devices.

    This is problematic as the minor device space for misc is
    limited and there can be a lot of them. Also it limits our
    ability to move them to a dedicated /dev/fsi directory or
    to be smart about device naming and numbering.

    It also means we have IDAs on every single of these drivers

    This creates a common fsi "device_type" for the optional
    /dev/fsi grouping and a dev_t allocator for all FSI devices.

    "Legacy" devices get to use a backward compatible numbering
    scheme (as long as chip id

    Benjamin Herrenschmidt
     

23 Jul, 2018

1 commit

  • The Aspeed AST2x00 can contain a ColdFire v1 coprocessor which
    is currently unused on OpenPower systems.

    This adds an alternative to the fsi-master-gpio driver that
    uses that coprocessor instead of bit banging from the ARM
    core itself. The end result is about 4 times faster.

    The firmware for the coprocessor and its source code can be
    found at https://github.com/ozbenh/cf-fsi and is system specific.

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     

12 Jul, 2018

1 commit

  • The driver calls of_platform_device_create() which is only available
    if OF_ADDRESS is enabled. When building sparc64 images, this results
    in

    ERROR: "of_platform_device_create" [drivers/fsi/fsi-sbefifo.ko] undefined!

    Fixes: 9f4a8a2d7f9d ("fsi/sbefifo: Add driver for the SBE FIFO")
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Guenter Roeck
    Signed-off-by: Benjamin Herrenschmidt

    Guenter Roeck
     

12 Jun, 2018

1 commit

  • This driver provides an in-kernel and a user API for accessing
    the command FIFO of the SBE (Self Boot Engine) of the POWER9
    processor, via the FSI bus.

    It provides an in-kernel interface to submit command and receive
    responses, along with a helper to locate and analyse the response
    status block. It's a simple synchronous submit() type API.

    The user interface uses the write/read interface that an earlier
    version of this driver already provided, however it has some
    specific limitations in order to keep the driver simple and
    avoid using up a lot of kernel memory:

    - The user should perform a single write() with the command and
    a single read() to get the response (with a buffer big enough
    to hold the entire response).

    - On a write() the command is simply "stored" into a kernel buffer,
    it is submitted as one operation on the subsequent read(). This
    allows to have the code write directly from the FIFO into the user
    buffer and avoid hogging the SBE between the write() and read()
    syscall as it's critical that the SBE be freed asap to respond
    to the host. An extra write() will simply replace the previously
    written command.

    - A write of a single 4 bytes containing the value 0x52534554
    in big endian will trigger a reset request. No read is necessary,
    the write() call will return when the reset has been acknowledged
    or times out.

    - The command is limited to 4K bytes.

    Signed-off-by: Benjamin Herrenschmidt
    Tested-by: Joel Stanley
    ---

    Benjamin Herrenschmidt
     

15 Mar, 2018

1 commit

  • This change populates device tree nodes for scanned FSI slaves and
    engines. If the master populates ->of_node of the FSI master device,
    we'll look for matching slaves, and under those slaves we'll look for
    matching engines.

    This means that FSI drivers will have their ->of_node pointer populated
    if there's a corresponding DT node, which they can use for further
    device discover.

    Presence of device tree nodes is optional, and only required for
    fsi device drivers that need extra properties, or subordinate devices,
    to be enumerated.

    Signed-off-by: Jeremy Kerr
    Signed-off-by: Joel Stanley
    Signed-off-by: Greg Kroah-Hartman

    Jeremy Kerr
     

08 Dec, 2017

1 commit


09 Jun, 2017

4 commits

  • Add an engine driver to expose a "hub" FSI master - which has a set of
    control registers in the engine address space, and uses a chunk of the
    slave address space for actual FSI communication.

    Additional changes from Jeremy Kerr .

    Signed-off-by: Christopher Bostic
    Signed-off-by: Jeremy Kerr
    Signed-off-by: Joel Stanley
    Signed-off-by: Greg Kroah-Hartman

    Christopher Bostic
     
  • Create a simple SCOM engine device driver that reads and writes
    its control registers via an FSI bus.

    Includes changes from Edward A. James .

    Signed-off-by: Christopher Bostic
    Signed-off-by: Joel Stanley
    Signed-off-by: Edward A. James
    Signed-off-by: Jeremy Kerr
    Signed-off-by: Greg Kroah-Hartman

    Christopher Bostic
     
  • Implement a FSI master using GPIO. Will generate FSI protocol for
    read and write commands to particular addresses. Sends master command
    and waits for and decodes a slave response.

    Includes changes from Edward A. James and Jeremy
    Kerr .

    Signed-off-by: Edward A. James
    Signed-off-by: Jeremy Kerr
    Signed-off-by: Christopher Bostic
    Signed-off-by: Joel Stanley
    Signed-off-by: Greg Kroah-Hartman

    Christopher Bostic
     
  • Implement fsi_slave_init: if we can read a chip ID, create fsi_slave
    devices and register with the driver core.

    Includes changes from Christopher Bostic .

    Signed-off-by: Jeremy Kerr
    Signed-off-by: Christopher Bostic
    Signed-off-by: Joel Stanley
    Signed-off-by: Greg Kroah-Hartman

    Jeremy Kerr
     

10 Feb, 2017

1 commit