All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christopher Bostic <christopher.lee.bostic@gmail.com>
To: Jeremy Kerr <jk@ozlabs.org>
Cc: OpenBMC Maillist <openbmc@lists.ozlabs.org>,
	xxpetri@de.ibm.com,  Jeremy Kerr <jk@0zlabs.org>,
	zahrens@us.ibm.com
Subject: Re: [PATCH linux v5 15/18] drivers/fsi: Add GPIO FSI master
Date: Sun, 30 Oct 2016 16:29:41 -0500	[thread overview]
Message-ID: <CAA0LjjVhUqySVUPwCGFfHZB24ay_1OSTOoj5RR27zxrL6cP4rw@mail.gmail.com> (raw)
In-Reply-To: <60fa3f67-10c7-8f58-ed43-3e82a4498c57@ozlabs.org>

>
> Say if we have a FSI master with two links, we would have four cells
> for all the *-gpios properties:
>
>      fsi-master {
>          compatible = "ibm,fsi-master", "ibm,fsi-master-gpio";
>          clk-gpios = <&gpio 0 &gpio 6>;
>          data-gpios = <&gpio 1 &gpio 7>;
>      }
>

Hi Jeremy,

One thing I don't understand is the numbering conventions.   What does
6 and 7 represent in this case?
There are five pins total 0-4 for the existing gpio master.  I've
followed the numbering as is listed here
in the latest patch set I'm submitting this afternoon.

> - and the binding would remain as is (just that we should use the plural
> of gpios for the property names, to make this a little more sensible).
>
> This could also be represented as two separate master nodes:
>
>      fsi-master {
>          compatible = "ibm,fsi-master", "ibm,fsi-master-gpio";
>          clk-gpios = <&gpio 0>;
>          data-gpios = <&gpio 1>;
>      }
>
>      fsi-master {
>          compatible = "ibm,fsi-master", "ibm,fsi-master-gpio";
>          clk-gpios = <&gpio 6>;
>          data-gpios = <&gpio 7>;
>      }
>
> Our choice there would depend on the hardware layout. Does is make more
> sense to represent this as two independent masters? Or a single one?
> Would there ever be any shared state between those two masters that a
> driver needs to handle?

Up until now, all available FSI masters in hardware,  FSP, P8 "hub", P8 cascade,
P7 cascade, have all had multiple links controlled by one master.   It would
make sense I think to continue this.

There is no direct sharing of information between masters other than what's
required by the firmware to start at the beginning master in the chain and
walk down each link  and checking 'sub' master states to determine where an
interrupt or error was sourced.

General flow:
Identify on which link interrupt / error was reported.
Look at each CFAM on that link to see if it was reported locally or downstream
if downstream,  Look at the cascaded master's owned links to see which
reported.  Etc..

In my opinion that type of master to master information is better kept separated
as it is in the interests of keep a general design common between real hardware
FSI masters such as the FSP's and the gpio type master implementations.

>
> Once we've settled that, we will need the device tree binding people to
> take a look, which just involves CCing devicetree-discuss@ozlabs.org for
> patches that modify Documentation/devicetree/*.
>
Will keep them off the cc list for now until we all agree which way we go.

Thanks,
Chris

  reply	other threads:[~2016-10-30 21:29 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-19 23:09 [PATCH linux v5 00/18] FSI device driver introduction christopher.lee.bostic
2016-10-19 23:09 ` [PATCH linux v5 01/18] fsi: Add empty fsi bus definitions christopher.lee.bostic
2016-10-19 23:09 ` [PATCH linux v5 02/18] fsi: Add device & driver definitions christopher.lee.bostic
2016-10-19 23:09 ` [PATCH linux v5 03/18] fsi: add driver to device matches christopher.lee.bostic
2016-10-19 23:09 ` [PATCH linux v5 04/18] fsi: Add fsi master definition christopher.lee.bostic
2016-10-19 23:09 ` [PATCH linux v5 05/18] fsi: Add fake master driver christopher.lee.bostic
2016-10-19 23:09 ` [PATCH linux v5 06/18] fsi: enable debug christopher.lee.bostic
2016-10-19 23:09 ` [PATCH linux v5 07/18] fsi: Add slave definition christopher.lee.bostic
2016-10-19 23:09 ` [PATCH linux v5 08/18] fsi: Add empty master scan christopher.lee.bostic
2016-10-19 23:09 ` [PATCH linux v5 09/18] fsi: Add crc4 helpers christopher.lee.bostic
2016-10-19 23:09 ` [PATCH linux v5 10/18] fsi: Implement slave initialisation christopher.lee.bostic
2016-10-19 23:09 ` [PATCH linux v5 11/18] fsi: scan slaves & register devices christopher.lee.bostic
2016-10-19 23:09 ` [PATCH linux v5 12/18] fsi: Add device read/write/peek functions christopher.lee.bostic
2016-10-19 23:09 ` [PATCH linux v5 13/18] drivers/fsi: Set up links for slave communication christopher.lee.bostic
2016-10-19 23:39   ` Jeremy Kerr
2016-10-20  0:10     ` Joel Stanley
2016-10-20 14:16       ` Christopher Bostic
2016-10-21  5:28   ` Jeremy Kerr
2016-10-28 21:07     ` Christopher Bostic
2016-10-19 23:09 ` [PATCH linux v5 14/18] drivers/fsi: Set slave SMODE to init communications christopher.lee.bostic
2016-10-20  0:24   ` Jeremy Kerr
2016-10-19 23:09 ` [PATCH linux v5 15/18] drivers/fsi: Add GPIO FSI master christopher.lee.bostic
2016-10-20  1:26   ` Jeremy Kerr
2016-10-20 15:02     ` Christopher Bostic
2016-10-21  1:26       ` Jeremy Kerr
2016-10-30 21:29         ` Christopher Bostic [this message]
2016-10-31  0:59           ` Jeremy Kerr
2016-10-19 23:09 ` [PATCH linux v5 16/18] drivers/fsi: Add client driver register utilities christopher.lee.bostic
2016-10-20  1:29   ` Jeremy Kerr
2016-10-20 15:07     ` Christopher Bostic
2016-10-19 23:09 ` [PATCH linux v5 17/18] drivers/fsi: Add SCOM FSI client device driver christopher.lee.bostic
2016-10-20  3:27   ` Jeremy Kerr
2016-10-20 15:21     ` Christopher Bostic
2016-10-21  5:24       ` Jeremy Kerr
2016-10-28 19:25         ` Christopher Bostic
2016-10-20 20:11     ` Christopher Bostic
2016-10-19 23:09 ` [PATCH linux v5 18/18] Documenation: Add basic FSI text file christopher.lee.bostic
2016-10-20  2:17   ` Jeremy Kerr
2016-10-20 15:11     ` Christopher Bostic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAA0LjjVhUqySVUPwCGFfHZB24ay_1OSTOoj5RR27zxrL6cP4rw@mail.gmail.com \
    --to=christopher.lee.bostic@gmail.com \
    --cc=jk@0zlabs.org \
    --cc=jk@ozlabs.org \
    --cc=openbmc@lists.ozlabs.org \
    --cc=xxpetri@de.ibm.com \
    --cc=zahrens@us.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.