Re: [PATCH v3 2/6] drivers: fsi: Add SBEFIFO FSI client device driver

From: Andrew Jeffery
Date: Fri Sep 29 2017 - 16:37:27 EST


Hi Eddie,

On Sat, 23 Sep 2017, at 06:35, Eddie James wrote:
> From: "Edward A. James" <eajames@xxxxxxxxxx>
>
> IBM POWER9 processors contain some embedded hardware and software bits
> collectively referred to as the self boot engine (SBE). One role of
> the SBE is to act as a proxy that provides access to the registers of
> the POWER chip from other (embedded) systems.
>
> The POWER9 chip contains a hardware frontend for communicating with
> the SBE from remote systems called the SBEFIFO. The SBEFIFO logic
> is contained within an FSI CFAM and as such the driver implements an
> FSI bus device.
>
> The SBE expects to communicate using a defined wire protocol; however,
> the driver knows nothing of the protocol and only provides raw access
> to the fifo device to userspace applications wishing to communicate with
> the SBE using the wire protocol.
>
> The SBEFIFO consists of two hardware fifos. The upstream fifo is used
> by the driver to transfer data to the SBE on the POWER chip, from the
> system hosting the driver. The downstream fifo is used by the driver to
> transfer data from the SBE on the power chip to the system hosting the
> driver.
>
> Signed-off-by: Brad Bishop <bradleyb@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Edward A. James <eajames@xxxxxxxxxx>
> ---
> drivers/fsi/Kconfig | 7 +
> drivers/fsi/Makefile | 1 +
> drivers/fsi/fsi-sbefifo.c | 861
> ++++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 869 insertions(+)
> create mode 100644 drivers/fsi/fsi-sbefifo.c

My general feeling is the implementation is too complex by half for what
is required. I may be wrong and the solution genuinely needs the
complexity, but to test that I'll cook up a counter-proposal patch and
we can debate that. I'm away for the next few days, but I hope to send
something by the end of next week.

Cheers,

Andrew