All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frank Li <Frank.li@nxp.com>
To: Miquel Raynal <miquel.raynal@bootlin.com>,
	Ulf Hansson <ulf.hansson@linaro.org>
Cc: "Zbigniew, Lukwinski" <zbigniew.lukwinski@linux.intel.com>,
	alexandre.belloni@bootlin.com, conor.culhane@silvaco.com,
	imx@lists.linux.dev, joe@perches.com,
	linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org
Subject: Re: [PATCH v2 1/6] i3c: master: add enable(disable) hot join in sys entry
Date: Fri, 20 Oct 2023 12:24:47 -0400	[thread overview]
Message-ID: <ZTKpzwKIfekMx7X3@lizhi-Precision-Tower-5810> (raw)
In-Reply-To: <20231020163348.1752167d@xps-13>

On Fri, Oct 20, 2023 at 04:33:48PM +0200, Miquel Raynal wrote:
> Hi Frank,
> 
> Frank.li@nxp.com wrote on Fri, 20 Oct 2023 10:20:57 -0400:
> 
> > On Fri, Oct 20, 2023 at 03:45:28PM +0200, Miquel Raynal wrote:
> > > Hi Lukwinski,
> > > 
> > > zbigniew.lukwinski@linux.intel.com wrote on Fri, 20 Oct 2023 10:55:27
> > > +0200:
> > >   
> > > > On 10/18/2023 10:59 PM, Frank Li wrote:  
> > > > > Add hotjoin entry in sys file system allow user enable/disable hotjoin
> > > > > feature.
> > > > >
> > > > > Add (*enable(disable)_hotjoin)() to i3c_master_controller_ops.
> > > > > Add api i3c_master_enable(disable)_hotjoin();    
> > > > 
> > > > What is the use case for having HJ enable knob in sysfs available for user space other than for debug stuff? In other words, does user space really need to enable/disable HJ in runtime for other reason but debug? If it is only for debug maybe it  could be move to debugFS?  
> > > 
> > > I don't think hotjoin should be considered as a debug feature. The
> > > problem here is the power consumption which is higher if you enable
> > > this feature (you need to keep everything clocked and ready to handle
> > > an IBI) whereas if your design is "fixed" (more like an I2C bus) you
> > > may save power by disabling this feature.
> > > 
> > > A module parameter does not fit here because it's a per-bus
> > > configuration.  
> > 
> > I agree. sys entry is more flexiable. and let controller choose better
> > power saving policy for difference user case.
> 
> Maybe it's not the first time this case is faced, would you mind
> including power management maintainers in this discussion? Perhaps they
> might have pointers or even have the solution already.

@Ulf and pm experts.

I3C have a features, which call hotjoin. Some controller need enable clock
and some power domain if support hotjoin.

there are two kinds user case.

case1:  All devices attached into I3C bus, not hotjoin happen. So
controller can use runtime_pm frame to make clock and power domain on only
when transferring data.

case2: some devices can dynamitc join when system running. Some clocks or
power domain need be kept to make hotjoin event detect logic work.

In one system, two cases may exist at same time. I3C bus1 for case1, I3C
bus2 for case 2. 

I add sys entry in I3C bus driver to let user can turn on/off this feature
for specific controller. 

My question: any exited solution can handle these in current power
mnanagement system. 

Frank

> 
> Thanks,
> Miquèl

WARNING: multiple messages have this Message-ID (diff)
From: Frank Li <Frank.li@nxp.com>
To: Miquel Raynal <miquel.raynal@bootlin.com>,
	Ulf Hansson <ulf.hansson@linaro.org>
Cc: "Zbigniew, Lukwinski" <zbigniew.lukwinski@linux.intel.com>,
	alexandre.belloni@bootlin.com, conor.culhane@silvaco.com,
	imx@lists.linux.dev, joe@perches.com,
	linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org
Subject: Re: [PATCH v2 1/6] i3c: master: add enable(disable) hot join in sys entry
Date: Fri, 20 Oct 2023 12:24:47 -0400	[thread overview]
Message-ID: <ZTKpzwKIfekMx7X3@lizhi-Precision-Tower-5810> (raw)
In-Reply-To: <20231020163348.1752167d@xps-13>

On Fri, Oct 20, 2023 at 04:33:48PM +0200, Miquel Raynal wrote:
> Hi Frank,
> 
> Frank.li@nxp.com wrote on Fri, 20 Oct 2023 10:20:57 -0400:
> 
> > On Fri, Oct 20, 2023 at 03:45:28PM +0200, Miquel Raynal wrote:
> > > Hi Lukwinski,
> > > 
> > > zbigniew.lukwinski@linux.intel.com wrote on Fri, 20 Oct 2023 10:55:27
> > > +0200:
> > >   
> > > > On 10/18/2023 10:59 PM, Frank Li wrote:  
> > > > > Add hotjoin entry in sys file system allow user enable/disable hotjoin
> > > > > feature.
> > > > >
> > > > > Add (*enable(disable)_hotjoin)() to i3c_master_controller_ops.
> > > > > Add api i3c_master_enable(disable)_hotjoin();    
> > > > 
> > > > What is the use case for having HJ enable knob in sysfs available for user space other than for debug stuff? In other words, does user space really need to enable/disable HJ in runtime for other reason but debug? If it is only for debug maybe it  could be move to debugFS?  
> > > 
> > > I don't think hotjoin should be considered as a debug feature. The
> > > problem here is the power consumption which is higher if you enable
> > > this feature (you need to keep everything clocked and ready to handle
> > > an IBI) whereas if your design is "fixed" (more like an I2C bus) you
> > > may save power by disabling this feature.
> > > 
> > > A module parameter does not fit here because it's a per-bus
> > > configuration.  
> > 
> > I agree. sys entry is more flexiable. and let controller choose better
> > power saving policy for difference user case.
> 
> Maybe it's not the first time this case is faced, would you mind
> including power management maintainers in this discussion? Perhaps they
> might have pointers or even have the solution already.

@Ulf and pm experts.

I3C have a features, which call hotjoin. Some controller need enable clock
and some power domain if support hotjoin.

there are two kinds user case.

case1:  All devices attached into I3C bus, not hotjoin happen. So
controller can use runtime_pm frame to make clock and power domain on only
when transferring data.

case2: some devices can dynamitc join when system running. Some clocks or
power domain need be kept to make hotjoin event detect logic work.

In one system, two cases may exist at same time. I3C bus1 for case1, I3C
bus2 for case 2. 

I add sys entry in I3C bus driver to let user can turn on/off this feature
for specific controller. 

My question: any exited solution can handle these in current power
mnanagement system. 

Frank

> 
> Thanks,
> Miquèl

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

  reply	other threads:[~2023-10-20 16:24 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-18 20:59 [PATCH v2 0/6] i3c: master: some improvment for i3c master Frank Li
2023-10-18 20:59 ` Frank Li
2023-10-18 20:59 ` [PATCH v2 1/6] i3c: master: add enable(disable) hot join in sys entry Frank Li
2023-10-18 20:59   ` Frank Li
2023-10-20  8:55   ` Zbigniew, Lukwinski
2023-10-20  8:55     ` Zbigniew, Lukwinski
2023-10-20 13:45     ` Miquel Raynal
2023-10-20 13:45       ` Miquel Raynal
2023-10-20 14:20       ` Frank Li
2023-10-20 14:20         ` Frank Li
2023-10-20 14:33         ` Miquel Raynal
2023-10-20 14:33           ` Miquel Raynal
2023-10-20 16:24           ` Frank Li [this message]
2023-10-20 16:24             ` Frank Li
     [not found]           ` <8a7ac52e-f102-6f5e-35ab-217e6ecc6ba5@linux.intel.com>
2023-10-20 20:25             ` Alexandre Belloni
2023-10-20 20:25               ` Alexandre Belloni
2023-10-20 20:36               ` Frank Li
2023-10-20 20:36                 ` Frank Li
2023-10-20 20:42                 ` Zbigniew, Lukwinski
2023-10-20 20:42                   ` Zbigniew, Lukwinski
2023-11-05 15:36                   ` Frank Li
2023-11-05 15:36                     ` Frank Li
2023-10-18 20:59 ` [PATCH v2 2/6] i3c: master: svc: add hot join support Frank Li
2023-10-18 20:59   ` Frank Li
2023-10-18 20:59 ` [PATCH v2 3/6] i3c: add actual_len in i3c_priv_xfer Frank Li
2023-10-18 20:59   ` Frank Li
2023-10-18 20:59 ` [PATCH v2 4/6] i3c: svc: rename read_len as actual_len Frank Li
2023-10-18 20:59   ` Frank Li
2023-10-18 20:59 ` [PATCH v2 5/6] i3c: master: svc return actual transfer data len Frank Li
2023-10-18 20:59   ` Frank Li
2023-10-18 20:59 ` [PATCH v2 6/6] i3c: add API i3c_dev_gettstatus_format1() to get target device status Frank Li
2023-10-18 20:59   ` Frank Li
2023-10-18 22:58 [PATCH v2 2/6] i3c: master: svc: add hot join support kernel test robot
2023-10-19  1:23 ` kernel test robot
2023-10-19  1:23 ` kernel test robot

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=ZTKpzwKIfekMx7X3@lizhi-Precision-Tower-5810 \
    --to=frank.li@nxp.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=conor.culhane@silvaco.com \
    --cc=imx@lists.linux.dev \
    --cc=joe@perches.com \
    --cc=linux-i3c@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=miquel.raynal@bootlin.com \
    --cc=ulf.hansson@linaro.org \
    --cc=zbigniew.lukwinski@linux.intel.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.