All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Frank Li <Frank.li@nxp.com>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>,
	linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org,
	arnd@arndb.de, bbrezillon@kernel.org,
	boris.brezillon@collabora.com, conor.culhane@silvaco.com,
	gregkh@linuxfoundation.org, imx@lists.linux.dev,
	pthombar@cadence.com, ravindra.yashvant.shinde@nxp.com
Subject: Re: [PATCH v6 2/3] i3c: master: Extend address status bit to 4 and add I3C_ADDR_SLOT_EXT_DESIRED
Date: Fri, 4 Oct 2024 18:22:29 +0200	[thread overview]
Message-ID: <20241004182229.6e08d02c@xps-13> (raw)
In-Reply-To: <ZwAHziElHUR7ZdKS@lizhi-Precision-Tower-5810>

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

WARNING: multiple messages have this Message-ID (diff)
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Frank Li <Frank.li@nxp.com>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>,
	linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org,
	arnd@arndb.de, bbrezillon@kernel.org,
	boris.brezillon@collabora.com, conor.culhane@silvaco.com,
	gregkh@linuxfoundation.org, imx@lists.linux.dev,
	pthombar@cadence.com, ravindra.yashvant.shinde@nxp.com
Subject: Re: [PATCH v6 2/3] i3c: master: Extend address status bit to 4 and add I3C_ADDR_SLOT_EXT_DESIRED
Date: Fri, 4 Oct 2024 18:22:29 +0200	[thread overview]
Message-ID: <20241004182229.6e08d02c@xps-13> (raw)
In-Reply-To: <ZwAHziElHUR7ZdKS@lizhi-Precision-Tower-5810>

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

-- 
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c

  reply	other threads:[~2024-10-04 16:22 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-03 20:14 [PATCH v6 0/3] I3C: master: fix the address assign issue if assign-address is exist in dts Frank Li
2024-10-03 20:14 ` Frank Li
2024-10-03 20:14 ` [PATCH v6 1/3] i3c: master: Replace hard code 2 with macro I3C_ADDR_SLOT_STATUS_BITS Frank Li
2024-10-03 20:14   ` Frank Li
2024-10-03 20:14 ` [PATCH v6 2/3] i3c: master: Extend address status bit to 4 and add I3C_ADDR_SLOT_EXT_DESIRED Frank Li
2024-10-03 20:14   ` Frank Li
2024-10-04  7:29   ` Miquel Raynal
2024-10-04  7:29     ` Miquel Raynal
2024-10-04 15:20     ` Frank Li
2024-10-04 15:20       ` Frank Li
2024-10-04 16:22       ` Miquel Raynal [this message]
2024-10-04 16:22         ` Miquel Raynal
2024-10-04 18:58         ` Frank Li
2024-10-04 18:58           ` Frank Li
2024-10-03 20:14 ` [PATCH v6 3/3] i3c: master: Fix dynamic address leak when 'assigned-address' is present Frank Li
2024-10-03 20:14   ` Frank Li

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=20241004182229.6e08d02c@xps-13 \
    --to=miquel.raynal@bootlin.com \
    --cc=Frank.li@nxp.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=arnd@arndb.de \
    --cc=bbrezillon@kernel.org \
    --cc=boris.brezillon@collabora.com \
    --cc=conor.culhane@silvaco.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=imx@lists.linux.dev \
    --cc=linux-i3c@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pthombar@cadence.com \
    --cc=ravindra.yashvant.shinde@nxp.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.