From: Adrian Hunter <adrian.hunter@intel.com>
To: Shubham Patil <shubhamsanjay.patil@amd.com>, <git@amd.com>,
<michal.simek@amd.com>, <alexandre.belloni@bootlin.com>,
<Frank.Li@nxp.com>, <robh@kernel.org>, <krzk+dt@kernel.org>,
<conor+dt@kernel.org>, <pgaj@cadence.com>,
<wsa+renesas@sang-engineering.com>,
<tommaso.merciai.xr@bp.renesas.com>, <arnd@arndb.de>,
<quic_msavaliy@quicinc.com>, <Shyam-sundar.S-k@amd.com>,
<sakari.ailus@linux.intel.com>, <billy_tsai@aspeedtech.com>,
<kees@kernel.org>, <gustavoars@kernel.org>,
<jorge.marques@analog.com>, <linux-i3c@lists.infradead.org>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-arch@vger.kernel.org>, <linux-hardening@vger.kernel.org>,
Adrian Ng Ho Yin <adrian.ho.yin.ng@altera.com>
Cc: <radhey.shyam.pandey@amd.com>, <srinivas.goud@amd.com>,
<shubhrajyoti.datta@amd.com>,
Manikanta Guntupalli <manikanta.guntupalli@amd.com>
Subject: Re: [PATCH v10 2/2] i3c: master: Add driver for AMD AXI I3C master controller
Date: Thu, 13 Aug 2026 12:45:28 +0300 [thread overview]
Message-ID: <f1eb7f06-ac71-4aa3-8b36-05ca86850553@intel.com> (raw)
In-Reply-To: <20260709064233.1451482-3-shubhamsanjay.patil@amd.com>
On 09/07/2026 09:42, Shubham Patil wrote:
> From: Manikanta Guntupalli <manikanta.guntupalli@amd.com>
>
> Add an I3C master driver and maintainers fragment for the AMD I3C bus
> controller.
>
> The driver currently supports the I3C bus operating in SDR mode,
> with features including Dynamic Address Assignment, private data
> transfers, and CCC transfers in both broadcast and direct modes. It
> also supports operation in I2C mode.
>
> The controller's data FIFOs are accessed big-endian; the driver performs
> this conversion locally using ioread32be()/iowrite32be() with the
> helpers, so it does not depend on any core FIFO-endianness helpers.
>
> Signed-off-by: Manikanta Guntupalli <manikanta.guntupalli@amd.com>
> Co-developed-by: Shubhrajyoti Datta <shubhrajyoti.datta@amd.com>
> Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@amd.com>
> Co-developed-by: Shubham Patil <shubhamsanjay.patil@amd.com>
> Signed-off-by: Shubham Patil <shubhamsanjay.patil@amd.com>
> ---
...
> +static int xi3c_master_send_direct_ccc_cmd(struct xi3c_master *master,
> + struct i3c_ccc_cmd *ccc)
> +{
> + struct xi3c_xfer *xfer __free(kfree) = NULL;
> + struct xi3c_cmd *cmd;
> + int ret;
> +
> + if (ccc->dests[0].payload.len > XI3C_MAXDATA_LENGTH)
> + return -EINVAL;
> +
> + xfer = xi3c_master_alloc_xfer(2);
> + if (!xfer)
> + return -ENOMEM;
> +
> + /* Broadcasted message */
> + cmd = &xfer->cmds[0];
> + cmd->addr = I3C_BROADCAST_ADDR;
> + cmd->rnw = false;
> + cmd->tx_buf = &ccc->id;
> + cmd->tx_len = 1;
> + cmd->type = XI3C_SDR_MODE;
> + cmd->tid = XI3C_SDR_TID;
> + cmd->continued = true;
> +
> + /* Directed message */
> + cmd = &xfer->cmds[1];
> + cmd->addr = ccc->dests[0].addr;
> + cmd->rnw = ccc->rnw;
> + if (cmd->rnw) {
> + cmd->rx_buf = ccc->dests[0].payload.data;
> + cmd->rx_len = ccc->dests[0].payload.len;
> + } else {
> + cmd->tx_buf = ccc->dests[0].payload.data;
> + cmd->tx_len = ccc->dests[0].payload.len;
> + }
> + cmd->type = XI3C_SDR_MODE;
> + cmd->tid = XI3C_SDR_TID;
> + cmd->continued = false;
> +
> + ret = xi3c_master_common_xfer(master, xfer);
> +
> + /*
> + * Report broadcast error if any, else the directed one, so either
> + * NACK reaches the caller
> + */
> + ccc->err = xfer->cmds[0].err ? xfer->cmds[0].err : xfer->cmds[1].err;
> +
> + /* Report actual byte count so the core sees the right length on short reads */
> + if (!ret && ccc->rnw)
> + ccc->dests[0].payload.len = min(xfer->cmds[1].rx_actual,
> + ccc->dests[0].payload.len);
Looks like this missed the conversion to using payload.actual_len.
next prev parent reply other threads:[~2026-08-13 9:45 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-09 6:42 [PATCH v10 0/2] Add AMD I3C master controller driver and bindings Shubham Patil
2026-07-09 6:42 ` [PATCH v10 1/2] dt-bindings: i3c: Add AMD I3C master controller support Shubham Patil
2026-07-09 6:51 ` sashiko-bot
2026-07-13 16:38 ` Pandey, Radhey Shyam
2026-07-09 6:42 ` [PATCH v10 2/2] i3c: master: Add driver for AMD AXI I3C master controller Shubham Patil
2026-07-09 6:57 ` sashiko-bot
2026-07-09 19:24 ` Frank Li
2026-08-13 9:45 ` Adrian Hunter [this message]
2026-07-20 16:50 ` [PATCH v10 0/2] Add AMD I3C master controller driver and bindings Alexandre Belloni
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=f1eb7f06-ac71-4aa3-8b36-05ca86850553@intel.com \
--to=adrian.hunter@intel.com \
--cc=Frank.Li@nxp.com \
--cc=Shyam-sundar.S-k@amd.com \
--cc=adrian.ho.yin.ng@altera.com \
--cc=alexandre.belloni@bootlin.com \
--cc=arnd@arndb.de \
--cc=billy_tsai@aspeedtech.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=git@amd.com \
--cc=gustavoars@kernel.org \
--cc=jorge.marques@analog.com \
--cc=kees@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-i3c@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=manikanta.guntupalli@amd.com \
--cc=michal.simek@amd.com \
--cc=pgaj@cadence.com \
--cc=quic_msavaliy@quicinc.com \
--cc=radhey.shyam.pandey@amd.com \
--cc=robh@kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=shubhamsanjay.patil@amd.com \
--cc=shubhrajyoti.datta@amd.com \
--cc=srinivas.goud@amd.com \
--cc=tommaso.merciai.xr@bp.renesas.com \
--cc=wsa+renesas@sang-engineering.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