All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfram Sang <wsa@the-dreams.de>
To: Peter Rosin <peda@axentia.se>
Cc: Arnd Bergmann <arnd@arndb.de>,
	Boris Brezillon <boris.brezillon@bootlin.com>,
	linux-i2c@vger.kernel.org, Jonathan Corbet <corbet@lwn.net>,
	"open list:DOCUMENTATION" <linux-doc@vger.kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Przemyslaw Sroka <psroka@cadence.com>,
	Arkadiusz Golec <agolec@cadence.com>,
	Alan Douglas <adouglas@cadence.com>,
	Bartosz Folta <bfolta@cadence.com>, Damian Kos <dkos@cadence.com>,
	Alicja Jurasik-Urbaniak <alicja@cadence.com>,
	Cyprian Wronka <cwronka@cadence.com>,
	Suresh Punnoose <sureshp@cadence.com>,
	Rafal Ciepiela <rafalc@cadence.com>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Nishanth Menon <nm@ti.com>, Rob Herring <robh+dt@kernel.org>,
	Pawel Moll <pawel.moll@arm.com>,
	Mark Rutland <mark.rutland@arm.c>
Subject: Re: [PATCH v6 00/10] Add the I3C subsystem
Date: Fri, 20 Jul 2018 12:12:06 +0200	[thread overview]
Message-ID: <20180720101206.tv7nsoanwo5ftnia@ninjato> (raw)
In-Reply-To: <2ab0ab75-2df0-2714-f007-c33b25481016@axentia.se>

[-- Attachment #1: Type: text/plain, Size: 2101 bytes --]


> I have not read much of the I3C spec. I'm just coming from the
> current situation with I2C and the i2c-demux-pinctrl driver which
> tries to retrofit this into the I2C world and is not doing a grand
> job. And how could it?
> 
> If you can acknowledge that i2c-demux-pinctrl is needed for I2C
> but for some reason is not needed for I3C because of something
> that differs between I2C and I3C, then fine, by all means ditch
> the explicit bus object.
> 
> But in my mind splitting up the devices on the same bus between
> several of our own masters and then not have a single object for
> the bus is going to cause headaches down the line. Be it address
> clashes or trouble with master ping-pong or whatever.
> 
> I think the reason for i2c-demux-pinctrl is that some (most?) I2C
> hardware suffers from quirks and one way to work around it is to
> make selected accesses from a different master. I expect I3C HW
> to also suffer from quirks...
> 
> Maybe a bit-bang I3C master isn't feasible for some fundamental
> reason? But if it is, then I'd say that it's just a matter of time
> until someone finds a situation where such a thing could be used to
> work around some I3C quirk. And then it might be too expensive to
> always use the bit-bang master for the affected device.
> 
> But what do I know? Don't let me hold this series back...

Thanks, Peter. You nailed it, the I2C use case (and its limits). From
what I know about I3C, bit-banging doesn't sound very feasible to me, so
the situation might be a bit different. Still, no one knows about future
I3C use cases and HW quirks. This is why I encouraged the seperate bus
object because back then it was said it was easy to do and implement. If
this now becomes a show-stopper, we can surely re-decide. I am not
strong on this point, it was just something which would have helped I2C.
(And for that matter, we (= the Renesas Upstream Kernel Team) was
discussing something similar to the i2c demuxer for SPI, too. We have
multiple IP cores which can do SPI on R-Car, all with their pros and
cons)


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Wolfram Sang <wsa@the-dreams.de>
To: Peter Rosin <peda@axentia.se>
Cc: Arnd Bergmann <arnd@arndb.de>,
	Boris Brezillon <boris.brezillon@bootlin.com>,
	linux-i2c@vger.kernel.org, Jonathan Corbet <corbet@lwn.net>,
	"open list:DOCUMENTATION" <linux-doc@vger.kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Przemyslaw Sroka <psroka@cadence.com>,
	Arkadiusz Golec <agolec@cadence.com>,
	Alan Douglas <adouglas@cadence.com>,
	Bartosz Folta <bfolta@cadence.com>, Damian Kos <dkos@cadence.com>,
	Alicja Jurasik-Urbaniak <alicja@cadence.com>,
	Cyprian Wronka <cwronka@cadence.com>,
	Suresh Punnoose <sureshp@cadence.com>,
	Rafal Ciepiela <rafalc@cadence.com>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Nishanth Menon <nm@ti.com>, Rob Herring <robh+dt@kernel.org>,
	Pawel Moll <pawel.moll@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Kumar Gala <galak@codeaurora.org>,
	DTML <devicetree@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Vitor Soares <Vitor.Soares@synopsys.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Xiang Lin <Xiang.Lin@synaptics.com>,
	linux-gpio@vger.kernel.org, Sekhar Nori <nsekhar@ti.com>,
	Przemyslaw Gaj <pgaj@cadence.com>
Subject: Re: [PATCH v6 00/10] Add the I3C subsystem
Date: Fri, 20 Jul 2018 12:12:06 +0200	[thread overview]
Message-ID: <20180720101206.tv7nsoanwo5ftnia@ninjato> (raw)
In-Reply-To: <2ab0ab75-2df0-2714-f007-c33b25481016@axentia.se>

[-- Attachment #1: Type: text/plain, Size: 2101 bytes --]


> I have not read much of the I3C spec. I'm just coming from the
> current situation with I2C and the i2c-demux-pinctrl driver which
> tries to retrofit this into the I2C world and is not doing a grand
> job. And how could it?
> 
> If you can acknowledge that i2c-demux-pinctrl is needed for I2C
> but for some reason is not needed for I3C because of something
> that differs between I2C and I3C, then fine, by all means ditch
> the explicit bus object.
> 
> But in my mind splitting up the devices on the same bus between
> several of our own masters and then not have a single object for
> the bus is going to cause headaches down the line. Be it address
> clashes or trouble with master ping-pong or whatever.
> 
> I think the reason for i2c-demux-pinctrl is that some (most?) I2C
> hardware suffers from quirks and one way to work around it is to
> make selected accesses from a different master. I expect I3C HW
> to also suffer from quirks...
> 
> Maybe a bit-bang I3C master isn't feasible for some fundamental
> reason? But if it is, then I'd say that it's just a matter of time
> until someone finds a situation where such a thing could be used to
> work around some I3C quirk. And then it might be too expensive to
> always use the bit-bang master for the affected device.
> 
> But what do I know? Don't let me hold this series back...

Thanks, Peter. You nailed it, the I2C use case (and its limits). From
what I know about I3C, bit-banging doesn't sound very feasible to me, so
the situation might be a bit different. Still, no one knows about future
I3C use cases and HW quirks. This is why I encouraged the seperate bus
object because back then it was said it was easy to do and implement. If
this now becomes a show-stopper, we can surely re-decide. I am not
strong on this point, it was just something which would have helped I2C.
(And for that matter, we (= the Renesas Upstream Kernel Team) was
discussing something similar to the i2c demuxer for SPI, too. We have
multiple IP cores which can do SPI on R-Car, all with their pros and
cons)


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2018-07-20 10:12 UTC|newest]

Thread overview: 177+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-19 15:29 [PATCH v6 00/10] Add the I3C subsystem Boris Brezillon
2018-07-19 15:29 ` Boris Brezillon
2018-07-19 15:29 ` Boris Brezillon
2018-07-19 15:29 ` [PATCH v6 01/10] i3c: Add core I3C infrastructure Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-08-03 21:38   ` mshettel
2018-08-03 21:38     ` mshettel
2018-08-03 21:38     ` mshettel
2018-08-04  5:33     ` Boris Brezillon
2018-08-04  5:33       ` Boris Brezillon
2018-08-04  5:33       ` Boris Brezillon
2018-08-22 16:43   ` vitor
2018-08-22 16:43     ` vitor
2018-08-24 12:39     ` Boris Brezillon
2018-08-24 12:39       ` Boris Brezillon
2018-08-24 17:52       ` vitor
2018-08-24 17:52         ` vitor
2018-08-24 18:16         ` Boris Brezillon
2018-08-24 18:16           ` Boris Brezillon
2018-08-28 11:50           ` vitor
2018-08-28 11:50             ` vitor
2018-08-28 12:02             ` Boris Brezillon
2018-08-28 12:02               ` Boris Brezillon
2018-08-28 12:55               ` Przemyslaw Gaj
2018-08-28 12:55                 ` Przemyslaw Gaj
2018-08-28 13:01                 ` Boris Brezillon
2018-08-28 13:01                   ` Boris Brezillon
2018-08-29  7:41                   ` Przemyslaw Gaj
2018-08-29  7:41                     ` Przemyslaw Gaj
2018-08-28 13:03                 ` Boris Brezillon
2018-08-28 13:03                   ` Boris Brezillon
2018-08-30 13:57                 ` vitor
2018-08-30 13:57                   ` vitor
2018-08-30 19:00                   ` Przemyslaw Gaj
2018-08-30 19:00                     ` Przemyslaw Gaj
2018-09-03  9:33                     ` vitor
2018-09-03  9:33                       ` vitor
2018-09-04 11:03                       ` Przemyslaw Gaj
2018-09-04 11:03                         ` Przemyslaw Gaj
2018-09-06 12:43                       ` Przemyslaw Gaj
2018-09-06 12:43                         ` Przemyslaw Gaj
2018-09-06 12:59                         ` Arnd Bergmann
2018-09-06 12:59                           ` Arnd Bergmann
2018-09-06 13:14                           ` Boris Brezillon
2018-09-06 13:14                             ` Boris Brezillon
2018-09-06 13:20                             ` Boris Brezillon
2018-09-06 13:20                               ` Boris Brezillon
2018-09-06 13:45                               ` Arnd Bergmann
2018-09-06 13:45                                 ` Arnd Bergmann
2018-09-06 13:50                               ` vitor
2018-09-06 13:50                                 ` vitor
2018-09-06 14:14                                 ` Boris Brezillon
2018-09-06 14:14                                   ` Boris Brezillon
2018-09-06 15:17                                   ` vitor
2018-09-06 15:17                                     ` vitor
2018-09-06 16:06                                     ` Boris Brezillon
2018-09-06 16:06                                       ` Boris Brezillon
2018-09-06 16:17                                       ` Przemyslaw Gaj
2018-09-06 16:17                                         ` Przemyslaw Gaj
2018-09-10 16:16                                         ` vitor
2018-09-10 16:16                                           ` vitor
2018-09-07  7:51                                       ` Przemyslaw Gaj
2018-09-07  7:51                                         ` Przemyslaw Gaj
2018-09-06 13:47                             ` Przemyslaw Gaj
2018-09-06 13:47                               ` Przemyslaw Gaj
2018-09-06 14:09                               ` Boris Brezillon
2018-09-06 14:09                                 ` Boris Brezillon
2018-09-06 14:20                                 ` Przemyslaw Gaj
2018-09-06 14:20                                   ` Przemyslaw Gaj
2018-07-19 15:29 ` [PATCH v6 02/10] docs: driver-api: Add I3C documentation Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29 ` [PATCH v6 03/10] i3c: Add sysfs ABI spec Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29 ` [PATCH v6 04/10] dt-bindings: i3c: Document core bindings Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29 ` [PATCH v6 05/10] dt-bindings: i3c: Add macros to help fill I3C/I2C device's reg property Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29 ` [PATCH v6 06/10] MAINTAINERS: Add myself as the I3C subsystem maintainer Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29 ` [PATCH v6 07/10] i3c: master: Add driver for Cadence IP Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29 ` [PATCH v6 08/10] dt-bindings: i3c: Document Cadence I3C master bindings Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29 ` [PATCH v6 09/10] gpio: Add a driver for Cadence I3C GPIO expander Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29 ` [PATCH v6 10/10] dt-bindings: gpio: Add bindings for Cadence I3C gpio expander Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-19 15:29   ` Boris Brezillon
2018-07-20  8:52 ` [PATCH v6 00/10] Add the I3C subsystem Arnd Bergmann
2018-07-20  8:52   ` Arnd Bergmann
2018-07-20  8:52   ` Arnd Bergmann
2018-07-20  9:57   ` Peter Rosin
2018-07-20  9:57     ` Peter Rosin
2018-07-20  9:57     ` Peter Rosin
2018-07-20 10:05     ` Boris Brezillon
2018-07-20 10:05       ` Boris Brezillon
2018-07-20 10:05       ` Boris Brezillon
2018-07-20 10:39       ` Peter Rosin
2018-07-20 10:39         ` Peter Rosin
2018-07-20 10:39         ` Peter Rosin
2018-07-20 10:12     ` Wolfram Sang [this message]
2018-07-20 10:12       ` Wolfram Sang
2018-07-20 10:57       ` Arnd Bergmann
2018-07-20 10:57         ` Arnd Bergmann
2018-07-20 10:57         ` Arnd Bergmann
2018-07-20 11:05         ` Wolfram Sang
2018-07-20 11:05           ` Wolfram Sang
2018-07-20 11:13         ` Peter Rosin
2018-07-20 11:13           ` Peter Rosin
2018-07-20 11:13           ` Peter Rosin
2018-07-20 11:28           ` Arnd Bergmann
2018-07-20 11:28             ` Arnd Bergmann
2018-07-20 11:28             ` Arnd Bergmann
2018-07-20 13:16             ` Peter Rosin
2018-07-20 13:16               ` Peter Rosin
2018-07-20 13:16               ` Peter Rosin
2018-07-20 15:41               ` Wolfram Sang
2018-07-20 15:41                 ` Wolfram Sang
2018-07-24 14:14                 ` Arnd Bergmann
2018-07-24 14:14                   ` Arnd Bergmann
2018-07-24 14:14                   ` Arnd Bergmann
2018-07-24 15:57                   ` Wolfram Sang
2018-07-24 15:57                     ` Wolfram Sang
2018-07-24 16:04                     ` Arnd Bergmann
2018-07-24 16:04                       ` Arnd Bergmann
2018-07-24 16:04                       ` Arnd Bergmann
2018-07-24 20:22                       ` Wolfram Sang
2018-07-24 20:22                         ` Wolfram Sang
2018-07-24 16:07                     ` Boris Brezillon
2018-07-24 16:07                       ` Boris Brezillon
2018-07-24 16:07                       ` Boris Brezillon
2018-07-20 13:17             ` Boris Brezillon
2018-07-20 13:17               ` Boris Brezillon
2018-07-20 13:17               ` Boris Brezillon
2018-07-24 14:03               ` Arnd Bergmann
2018-07-24 14:03                 ` Arnd Bergmann
2018-07-24 14:03                 ` Arnd Bergmann
2018-07-24 14:28                 ` Boris Brezillon
2018-07-24 14:28                   ` Boris Brezillon
2018-07-24 14:28                   ` Boris Brezillon
2018-07-24 15:05                   ` Arnd Bergmann
2018-07-24 15:05                     ` Arnd Bergmann
2018-07-24 15:05                     ` Arnd Bergmann
2018-07-24 15:15                     ` Geert Uytterhoeven
2018-07-24 15:15                       ` Geert Uytterhoeven
2018-07-24 15:15                       ` Geert Uytterhoeven
2018-07-24 15:40                       ` Arnd Bergmann
2018-07-24 15:40                         ` Arnd Bergmann
2018-07-24 15:40                         ` Arnd Bergmann
2018-07-24 15:46                         ` Geert Uytterhoeven
2018-07-24 15:46                           ` Geert Uytterhoeven
2018-07-24 15:46                           ` Geert Uytterhoeven
2018-07-24 15:58                           ` Arnd Bergmann
2018-07-24 15:58                             ` Arnd Bergmann
2018-07-24 15:58                             ` Arnd Bergmann
2018-07-24 16:14                             ` Boris Brezillon
2018-07-24 16:14                               ` Boris Brezillon
2018-07-24 16:14                               ` Boris Brezillon
2018-07-24 16:25                               ` Arnd Bergmann
2018-07-24 16:25                                 ` Arnd Bergmann
2018-07-24 16:25                                 ` Arnd Bergmann
2018-07-24 16:54                                 ` Boris Brezillon
2018-07-24 16:54                                   ` Boris Brezillon
2018-07-24 16:54                                   ` Boris Brezillon
2018-07-24 20:21                                   ` Arnd Bergmann
2018-07-24 20:21                                     ` Arnd Bergmann
2018-07-24 20:21                                     ` Arnd Bergmann
2018-07-24 16:04                       ` Wolfram Sang
2018-07-24 16:04                         ` Wolfram Sang

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=20180720101206.tv7nsoanwo5ftnia@ninjato \
    --to=wsa@the-dreams.de \
    --cc=adouglas@cadence.com \
    --cc=agolec@cadence.com \
    --cc=alicja@cadence.com \
    --cc=arnd@arndb.de \
    --cc=bfolta@cadence.com \
    --cc=boris.brezillon@bootlin.com \
    --cc=corbet@lwn.net \
    --cc=cwronka@cadence.com \
    --cc=dkos@cadence.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=mark.rutland@arm.c \
    --cc=nm@ti.com \
    --cc=pawel.moll@arm.com \
    --cc=peda@axentia.se \
    --cc=psroka@cadence.com \
    --cc=rafalc@cadence.com \
    --cc=robh+dt@kernel.org \
    --cc=sureshp@cadence.com \
    --cc=thomas.petazzoni@bootlin.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.