RE: [v3 2/3] pwm: Add Aspeed ast2600 PWM support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Billy Tsai,

> -----Original Message-----
> From: Billy Tsai <billy_tsai@xxxxxxxxxxxxxx>
> Sent: 07 November 2022 09:26
> To: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>; jdelvare@xxxxxxxx; linux@roeck-
> us.net; robh+dt@xxxxxxxxxx; joel@xxxxxxxxx; andrew@xxxxxxxx;
> lee.jones@xxxxxxxxxx; thierry.reding@xxxxxxxxx; u.kleine-
> koenig@xxxxxxxxxxxxxx; p.zabel@xxxxxxxxxxxxxx; linux-hwmon@xxxxxxxxxxxxxxx;
> devicetree@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-
> aspeed@xxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-
> pwm@xxxxxxxxxxxxxxx; BMC-SW <BMC-SW@xxxxxxxxxxxxxx>; garnermic@xxxxxxxx
> Cc: kernel test robot <lkp@xxxxxxxxx>; Geert Uytterhoeven
> <geert+renesas@xxxxxxxxx>
> Subject: Re: [v3 2/3] pwm: Add Aspeed ast2600 PWM support
> 
> On 2022/11/7, 4:55 PM, "Biju Das" <biju.das.jz@xxxxxxxxxxxxxx> wrote:
> 
>     > > -----Original Message-----
>     > > From: Billy Tsai <billy_tsai@xxxxxxxxxxxxxx>
>     > > Sent: 07 November 2022 08:48
>     > > To: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>; jdelvare@xxxxxxxx;
> linux@roeck-
>     > > us.net; robh+dt@xxxxxxxxxx; joel@xxxxxxxxx; andrew@xxxxxxxx;
>     > > lee.jones@xxxxxxxxxx; thierry.reding@xxxxxxxxx; u.kleine-
>     > > koenig@xxxxxxxxxxxxxx; p.zabel@xxxxxxxxxxxxxx; linux-
> hwmon@xxxxxxxxxxxxxxx;
>     > > devicetree@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
> linux-
>     > > aspeed@xxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-
>     > > pwm@xxxxxxxxxxxxxxx; BMC-SW <BMC-SW@xxxxxxxxxxxxxx>;
> garnermic@xxxxxxxx
>     > > Cc: kernel test robot <lkp@xxxxxxxxx>
>     > > Subject: Re: [v3 2/3] pwm: Add Aspeed ast2600 PWM support
>     > >
>     > > On 2022/11/2, 11:56 PM, "Biju Das" <biju.das.jz@xxxxxxxxxxxxxx>
> wrote:
>     > >
>     > >     > > +	parent_dev = of_find_device_by_node(np);
>     > >     > > +	priv->clk = devm_clk_get_enabled(&parent_dev->dev, NULL);
>     > >     > > +	if (IS_ERR(priv->clk))
>     > >     > > +		return dev_err_probe(dev, PTR_ERR(priv->clk),
>     > >     > > +				     "Couldn't get clock\n");
>     > >
>     > >     > What is the use case?
>     > >
>     > >     > Is pwm configured by boot loader initially ?
>     > >
>     > >     > Or
>     > >
>     > >     > pwm configured by Linux, not by the bootloader initially?
>     > >
>     > >     > Or
>     > >
>     > >     > Driver needs to handle both cases?
>     > >
>     > >     > Just asking, because you are turning on the clock unnecessarily
> here,
>     > >     > If you need to address all the use cases. If it is just first
> one, then
>     > >     > It is ok.
>     > >
>     > > Hi Biju,
>     > >
>     > > The driver want to handle all of the use cases. Can you tell me why
> turning
>     > > on the clock is unnecessarily here?
> 
>     > For the use case, "pwm configured by Linux, not by the bootloader
> initially",
> 
>     > You are unnecessarily turning on the clocks. You could
> 
>     > enable it during pwm_enable
>     > and disable it during pwm_disable.
> 
>     > For configuring registers, while pwm is in disable state,
>     > you could just turn on the clock and do the register configurations and
> turn it off.
> 
>     > By this way you are saving power.
> 
> Hi Biju,
> 
> This clock is the source clock for the pwm controller (include the accessing
> for the register).

OK, But the driver has only one clock (priv->clk = devm_clk_get_enabled(&parent_dev->dev, NULL)).
You are always turning it on during probe.


> For the output of the PWM (pwm_enable/pwm_disable), the controller have
> another register to control it.

That is enable/disable register for controlling the output of PWM.

Cheers,
Biju




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux