From: shawn.guo@freescale.com (Shawn Guo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 3/3] pwm: i.MX: Avoid sample FIFO overflow for i.MX PWM version2
Date: Mon, 25 Aug 2014 19:59:01 +0800 [thread overview]
Message-ID: <20140825115628.GA7008@dragon> (raw)
In-Reply-To: <1401274213-8954-3-git-send-email-Ying.Liu@freescale.com>
On Wed, May 28, 2014 at 06:50:13PM +0800, Liu Ying wrote:
> The i.MX PWM version2 is embedded in several i.MX SoCs,
> such as i.MX27, i.MX51 and i.MX6SL. There is a 4-word(16bit)
> sample FIFO in this IP. Each FIFO slot determines the duty
> period of a PWM waveform in one full cycle. The IP spec
> mentions that we should not write a fourth sample because
> the FIFO will become full and triggers a FIFO write error
> (FWE) which will prevent the PWM from starting once it is
> enabled. In order to avoid any sample FIFO overflow issue,
> this patch clears all sample FIFO by doing software reset
> in the configuration hook when the controller is disabled
> or waits for a full PWM cycle to get a relinquished FIFO
> slot when the controller is enabled and the FIFO is fully
> loaded.
>
> The FIFO overflow issue can be reproduced by the following
> commands on the i.MX6SL EVK platform, assuming we use PWM2
> for the debug LED which is driven by the pin HSIC_STROBE
> and the maximal brightness is 255.
> echo 0 > /sys/class/leds/user/brightness
> echo 0 > /sys/class/leds/user/brightness
> echo 0 > /sys/class/leds/user/brightness
> echo 0 > /sys/class/leds/user/brightness
> echo 255 > /sys/class/leds/user/brightness
> Here, FWE happens(PWMSR register reads 0x58) and the LED
> can not be lighten.
>
> Another way to reproduce the FIFO overflow issue is to run
> this script:
> while true;
> do echo 255 > /sys/class/leds/user/brightness;
> done
>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Shawn Guo <shawn.guo@freescale.com>
> Cc: Lothar Wa?mann <LW@KARO-electronics.de>
> Cc: linux-pwm at vger.kernel.org
> Cc: linux-arm-kernel at lists.infradead.org
> Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
The whole series,
Acked-by: Shawn Guo <shawn.guo@freescale.com>
Thierry,
Can you pick them up if they look good to you?
Shawn
next prev parent reply other threads:[~2014-08-25 11:59 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-28 10:50 [PATCH 1/3] pwm: i.MX: Fix the macro MX3_PWMCR_PRESCALER(x) definition Liu Ying
2014-05-28 10:50 ` [PATCH v2 2/3] pwm: i.MX: Cleanup indentation for register definitions Liu Ying
2014-05-28 10:50 ` [PATCH v5 3/3] pwm: i.MX: Avoid sample FIFO overflow for i.MX PWM version2 Liu Ying
2014-08-25 11:59 ` Shawn Guo [this message]
2014-08-25 13:49 ` Thierry Reding
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=20140825115628.GA7008@dragon \
--to=shawn.guo@freescale.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).