All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
Cc: Rob Herring <robh+dt@kernel.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Lee Jones <lee.jones@linaro.org>,
	devicetree@vger.kernel.org, linux-pwm@vger.kernel.org,
	punit1.agrawal@toshiba.co.jp, yuji2.ishikawa@toshiba.co.jp,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 2/2] pwm: visconti: Add Toshiba Visconti SoC PWM support
Date: Fri, 16 Apr 2021 11:44:26 +0200	[thread overview]
Message-ID: <20210416094426.x4gyw3drp2fcwczs@pengutronix.de> (raw)
In-Reply-To: <20210416080721.oa7xdvu22w2b2rkf@toshiba.co.jp>

[-- Attachment #1: Type: text/plain, Size: 2129 bytes --]

Hello Nobuhiro,

On Fri, Apr 16, 2021 at 05:07:21PM +0900, Nobuhiro Iwamatsu wrote:
> On Mon, Apr 12, 2021 at 09:02:32AM +0200, Uwe Kleine-König wrote:
> > On Mon, Apr 12, 2021 at 11:55:36AM +0900, Nobuhiro Iwamatsu wrote:
> > > On Sat, Apr 10, 2021 at 03:53:21PM +0200, Uwe Kleine-König wrote:
> > > > Can you please put a paragraph analogous to the one in pwm-sifive in the
> > > > same format. This simplified keeping an overview about the oddities of
> > > > the various supported chips.
> > > 
> > > OK, I will check pwm-sifive's, and add.
> 
> I will add the following :
> 
>  * Limitations:
>  * - PIPGM_PWMC is a 2-bit divider (00: 1, 01: 2, 10: 4, 11: 8) for the input
>  *   clock running at 1 MHz.

I would strip that to:

 - Fixed input clock running at 1 MHz

>  * - When the settings of the PWM are modified, the new values are shadowed
>  *   in hardware until the PIPGM_PCSR register is written and the currently
>  *   running period is completed. This way the hardware switches atomically
>  *   from the old setting to the new.
>  * - Disabling the hardware completes the currently running period and keeps
>  *   the output at low level at all times.

This looks fine.
 
> > For me the critical (and only) difference between "off" and
> > "duty cycle = 0" is that when a new configuration is to be applied. In
> > the "off" state a new period can (and should) start immediately, while
> > with "duty_cycle = 0" the rising edge should be delayed until the
> > currently running period is over.[1]
> > 
> > So the thing to do here (IMHO) is:
> > 
> > Iff with PIPGM_PCSR = 0 configuring a new setting (that is finalized
> > with writing a non-zero value to PIPGM_PCSR) completes the currently
> > running period, then always assume the PWM as enabled.
> 
> Yes, this device works that way.

OK, then please use

	state->enabled = true

unconditionally in visconti_pwm_get_state().

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
Cc: Rob Herring <robh+dt@kernel.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Lee Jones <lee.jones@linaro.org>,
	devicetree@vger.kernel.org, linux-pwm@vger.kernel.org,
	punit1.agrawal@toshiba.co.jp, yuji2.ishikawa@toshiba.co.jp,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 2/2] pwm: visconti: Add Toshiba Visconti SoC PWM support
Date: Fri, 16 Apr 2021 11:44:26 +0200	[thread overview]
Message-ID: <20210416094426.x4gyw3drp2fcwczs@pengutronix.de> (raw)
In-Reply-To: <20210416080721.oa7xdvu22w2b2rkf@toshiba.co.jp>


[-- Attachment #1.1: Type: text/plain, Size: 2129 bytes --]

Hello Nobuhiro,

On Fri, Apr 16, 2021 at 05:07:21PM +0900, Nobuhiro Iwamatsu wrote:
> On Mon, Apr 12, 2021 at 09:02:32AM +0200, Uwe Kleine-König wrote:
> > On Mon, Apr 12, 2021 at 11:55:36AM +0900, Nobuhiro Iwamatsu wrote:
> > > On Sat, Apr 10, 2021 at 03:53:21PM +0200, Uwe Kleine-König wrote:
> > > > Can you please put a paragraph analogous to the one in pwm-sifive in the
> > > > same format. This simplified keeping an overview about the oddities of
> > > > the various supported chips.
> > > 
> > > OK, I will check pwm-sifive's, and add.
> 
> I will add the following :
> 
>  * Limitations:
>  * - PIPGM_PWMC is a 2-bit divider (00: 1, 01: 2, 10: 4, 11: 8) for the input
>  *   clock running at 1 MHz.

I would strip that to:

 - Fixed input clock running at 1 MHz

>  * - When the settings of the PWM are modified, the new values are shadowed
>  *   in hardware until the PIPGM_PCSR register is written and the currently
>  *   running period is completed. This way the hardware switches atomically
>  *   from the old setting to the new.
>  * - Disabling the hardware completes the currently running period and keeps
>  *   the output at low level at all times.

This looks fine.
 
> > For me the critical (and only) difference between "off" and
> > "duty cycle = 0" is that when a new configuration is to be applied. In
> > the "off" state a new period can (and should) start immediately, while
> > with "duty_cycle = 0" the rising edge should be delayed until the
> > currently running period is over.[1]
> > 
> > So the thing to do here (IMHO) is:
> > 
> > Iff with PIPGM_PCSR = 0 configuring a new setting (that is finalized
> > with writing a non-zero value to PIPGM_PCSR) completes the currently
> > running period, then always assume the PWM as enabled.
> 
> Yes, this device works that way.

OK, then please use

	state->enabled = true

unconditionally in visconti_pwm_get_state().

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-04-16  9:44 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-09 23:08 [PATCH v4 0/2] pwm: visconti: Add Toshiba Visconti SoC PWM support Nobuhiro Iwamatsu
2021-04-09 23:08 ` Nobuhiro Iwamatsu
2021-04-09 23:08 ` [PATCH v4 1/2] dt-bindings: pwm: Add bindings for Toshiba Visconti PWM Controller Nobuhiro Iwamatsu
2021-04-09 23:08   ` Nobuhiro Iwamatsu
2021-04-09 23:08 ` [PATCH v4 2/2] pwm: visconti: Add Toshiba Visconti SoC PWM support Nobuhiro Iwamatsu
2021-04-09 23:08   ` Nobuhiro Iwamatsu
2021-04-10  1:57   ` kernel test robot
2021-04-10 13:53   ` Uwe Kleine-König
2021-04-10 13:53     ` Uwe Kleine-König
2021-04-12  2:55     ` Nobuhiro Iwamatsu
2021-04-12  2:55       ` Nobuhiro Iwamatsu
2021-04-12  7:02       ` Uwe Kleine-König
2021-04-12  7:02         ` Uwe Kleine-König
2021-04-16  8:07         ` Nobuhiro Iwamatsu
2021-04-16  8:07           ` Nobuhiro Iwamatsu
2021-04-16  9:44           ` Uwe Kleine-König [this message]
2021-04-16  9:44             ` Uwe Kleine-König
2021-04-16 12:15             ` Nobuhiro Iwamatsu
2021-04-16 12:15               ` Nobuhiro Iwamatsu
2021-04-17 15:50               ` Uwe Kleine-König
2021-04-17 15:50                 ` Uwe Kleine-König
2021-04-18 11:07                 ` Nobuhiro Iwamatsu
2021-04-18 11:07                   ` Nobuhiro Iwamatsu
2021-04-10 18:52   ` Uwe Kleine-König
2021-04-10 18:52     ` Uwe Kleine-König
2021-04-12  3:04     ` Nobuhiro Iwamatsu
2021-04-12  3:04       ` Nobuhiro Iwamatsu

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=20210416094426.x4gyw3drp2fcwczs@pengutronix.de \
    --to=u.kleine-koenig@pengutronix.de \
    --cc=devicetree@vger.kernel.org \
    --cc=lee.jones@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=nobuhiro1.iwamatsu@toshiba.co.jp \
    --cc=punit1.agrawal@toshiba.co.jp \
    --cc=robh+dt@kernel.org \
    --cc=thierry.reding@gmail.com \
    --cc=yuji2.ishikawa@toshiba.co.jp \
    /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.