[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241004182229.6e08d02c@xps-13>
Date: Fri, 4 Oct 2024 18:22:29 +0200
From: Miquel Raynal <miquel.raynal@...tlin.com>
To: Frank Li <Frank.li@....com>
Cc: Alexandre Belloni <alexandre.belloni@...tlin.com>,
linux-i3c@...ts.infradead.org, linux-kernel@...r.kernel.org, arnd@...db.de,
bbrezillon@...nel.org, boris.brezillon@...labora.com,
conor.culhane@...vaco.com, gregkh@...uxfoundation.org, imx@...ts.linux.dev,
pthombar@...ence.com, ravindra.yashvant.shinde@....com
Subject: Re: [PATCH v6 2/3] i3c: master: Extend address status bit to 4 and
add I3C_ADDR_SLOT_EXT_DESIRED
Hi Frank,
> > > @@ -1918,9 +1959,10 @@ static int i3c_master_bus_init(struct i3c_master_controller *master)
> > > goto err_rstdaa;
> > > }
> > >
> > > - i3c_bus_set_addr_slot_status(&master->bus,
> > > - i3cboardinfo->init_dyn_addr,
> > > - I3C_ADDR_SLOT_I3C_DEV);
> > > + i3c_bus_set_addr_slot_status_mask(&master->bus,
> > > + i3cboardinfo->init_dyn_addr,
> > > + I3C_ADDR_SLOT_I3C_DEV | I3C_ADDR_SLOT_EXT_DESIRED,
> > > + I3C_ADDR_SLOT_EXT_STATUS_MASK);
> >
> > However I'm not sure I understand the use of the
> > set_addr_slot_status_mask() function. Can't we just use the normal
> > function and just extend the mask in the fist place?
>
> The major purpose of set_addr_slot_status_mask() is that reduce code
> change. There are already address alloc/free by using I3C_ADDR_SLOT_FREE.
>
> we don't want i3c_bus_set_addr_slot_status() touch bit
> I3C_ADDR_SLOT_EXT_DESIRED since it was init at scan dts.
I agree, but in general you will never remove any "desired" slot, so
the "set status", besides at init time, should never touch these extra
bits?
> There are 18 place, using i3c_bus_set_addr_slot_status(), but we only need
> touch I3C_ADDR_SLOT_EXT_DESIRED bit when scan dts.
>
Thanks,
Miquèl
Powered by blists - more mailing lists