[PATCH v13 5/7] i3c: hub: Add support for the I3C interface in the I3C hub
Frank Li
Frank.li at oss.nxp.com
Mon Jul 6 09:55:54 PDT 2026
On Fri, Jul 03, 2026 at 10:50:30AM +0000, Lakshay Piplani wrote:
>
>
> > -----Original Message-----
> > From: Frank Li (OSS) <frank.li at oss.nxp.com>
> > Sent: Thursday, July 2, 2026 1:12 AM
> > To: sashiko-reviews at lists.linux.dev
> > Cc: Lakshay Piplani <lakshay.piplani at nxp.com>; linux-i3c at lists.infradead.org;
> > robh at kernel.org; Alexandre Belloni <alexandre.belloni at bootlin.com>;
> > devicetree at vger.kernel.org; conor+dt at kernel.org; Frank.Li at kernel.org
> > Subject: Re: [PATCH v13 5/7] i3c: hub: Add support for the I3C interface in the
> > I3C hub
> >
...
> > > > +static int i3c_hub_request_ibi(struct i3c_dev_desc *desc,
> > > > + const struct i3c_ibi_setup *req) {
> > > > + struct i3c_master_controller *controller = i3c_dev_get_master(desc);
> > > > + struct i3c_hub_controller *hub_controller;
> > > > + struct i3c_master_controller *orig_parent;
> > > > + struct i3c_master_controller *parent;
> > > > + struct i3c_hub *hub;
> > > > + int ret;
> > >
> > > [ ... ]
> > >
> > > > + orig_parent = i3c_hub_update_desc_parent(&desc->common, parent);
> > > > +
> > > > + ret = i3c_master_direct_attach_i3c_dev_locked(parent, desc);
> >
> > All IBI cap devices should be already attached to master bus when DAA? need
> > attach again here?
> > Actived port's devices logically attached to master bus?
> >
> > So needn't switch port.
> >
>
> No. During DAA, downstream devices are enumerated on the virtual controller, but they are not attached to the parent controller.
> The virtual controller's attach_i3c_dev() callback is intentionally a no-op.
> For private transfers, we temporarily update the hub's dynamic address to the target device's address, perform the transfer through the
> parent controller and then restore the hub's original address. This does not establish any parent controller-specific attachment state.
>
> Therefore, i3c_master_direct_attach_i3c_dev_locked() is still required here so the parent controller can establish its controller-private state before requesting IBI.
Okay,
Frank
More information about the linux-i3c
mailing list