public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Kerr <jk@codeconstruct.com.au>
To: Ryan Chen <ryan_chen@aspeedtech.com>, Rob Herring <robh@kernel.org>
Cc: "andriy.shevchenko@linux.intel.com"
	<andriy.shevchenko@linux.intel.com>,
	Andi Shyti <andi.shyti@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>, Joel Stanley <joel@jms.id.au>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	 Philipp Zabel <p.zabel@pengutronix.de>,
	"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
	 "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-aspeed@lists.ozlabs.org" <linux-aspeed@lists.ozlabs.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"openbmc@lists.ozlabs.org" <openbmc@lists.ozlabs.org>
Subject: Re: [PATCH v26 2/4] dt-bindings: i2c: ast2600-i2c.yaml: Add global-regs and transfer-mode properties
Date: Mon, 16 Mar 2026 09:49:45 +0800	[thread overview]
Message-ID: <7ae8222bf6abd83a3c2ac976f54a2edbe4e9727a.camel@codeconstruct.com.au> (raw)
In-Reply-To: <TY2PPF5CB9A1BE6A19D439C675AF5028C13F242A@TY2PPF5CB9A1BE6.apcprd06.prod.outlook.com>

Hi Ryan & Rob,

> > > +  aspeed,transfer-mode:
> > > +    description: |
> > > +      ASPEED ast2600 platform equipped with 16 I2C controllers each i2c controller
> > > +      have 1 byte transfer buffer(byte mode), 32 bytes buffer(buffer mode), and
> > > +      share a DMA engine.
> > > +      Select I2C transfer mode for this controller. Supported values are:
> > > +        - "byte": Use 1 byte for i2c transmit (1-byte buffer).
> > > +        - "buffer": Use buffer (32-byte buffer) for i2c transmit. (default)
> > > +                    Better performance then byte mode.
> > 
> > Good, I like worse performance so I can use byte mode.
> Thanks your review.
> Will remove performance statement.

I don't think that really addresses Rob's point there.

The selection of mode is somewhat a driver implementation decision (and
so would not belong in a DT binding) - *except* that there are
considerations around the use of hardware DMA channels, as covered in
earlier review.

[My understanding is that the mode needs to be defined here to select
which i2c devices have a DMA channel allocated to them. I also
think that byte mode may be useful in some scenarios, but that
consideration certainly does not belong in the DT binding spec]

So, how about we refine this to *just* the hardware-specific component:
whether a DMA channel is allocated. A driver implementation can then
select the appropriate mode (dma, byte or buffer), depending on
implementation-specific details.

In that case, we would just have a boolean property, like:

    aspeed,i2c-dma-enabled;

- to signify that this controller may use a DMA channel. The choice of
actual mode is left up to the driver implementation.

Rob, would that suit better?

This way, we don't have ambiguity on "buffer" default vs. absent
property, and we're no longer specifying actual driver behaviour in the
DT.

Cheers,


Jeremy

  reply	other threads:[~2026-03-16  1:55 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-09  6:53 [PATCH v26 0/4] Add ASPEED AST2600 I2C controller driver Ryan Chen
2026-03-09  6:53 ` [PATCH v26 1/4] dt-bindings: i2c: Split AST2600 binding into a new YAML Ryan Chen
2026-03-09  6:53 ` [PATCH v26 2/4] dt-bindings: i2c: ast2600-i2c.yaml: Add global-regs and transfer-mode properties Ryan Chen
2026-03-13 23:21   ` Rob Herring
2026-03-14  0:24     ` Ryan Chen
2026-03-16  1:49       ` Jeremy Kerr [this message]
2026-03-16 16:47         ` Rob Herring
2026-03-17  0:52           ` Jeremy Kerr
2026-03-17  1:36             ` Ryan Chen
2026-03-17  1:43               ` Jeremy Kerr
2026-03-17  1:48                 ` Ryan Chen
2026-03-18  1:55               ` Jeremy Kerr
2026-03-18  2:38                 ` Ryan Chen
2026-03-18  3:55                   ` Jeremy Kerr
2026-03-18  3:59                     ` Jeremy Kerr
2026-03-18  6:14                       ` Ryan Chen
2026-03-09  6:53 ` [PATCH v26 3/4] i2c: ast2600: Add controller driver for AST2600 new register set Ryan Chen
2026-03-09  6:53 ` [PATCH v26 4/4] i2c: ast2600: Add target mode support Ryan Chen

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=7ae8222bf6abd83a3c2ac976f54a2edbe4e9727a.camel@codeconstruct.com.au \
    --to=jk@codeconstruct.com.au \
    --cc=andi.shyti@kernel.org \
    --cc=andrew@codeconstruct.com.au \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=benh@kernel.crashing.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=joel@jms.id.au \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-aspeed@lists.ozlabs.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=openbmc@lists.ozlabs.org \
    --cc=p.zabel@pengutronix.de \
    --cc=robh@kernel.org \
    --cc=ryan_chen@aspeedtech.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox