From: Tony Lindgren <tony@atomide.com>
To: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Cc: linux-omap@vger.kernel.org,
linux-fbdev-devel@lists.sourceforge.net,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] OMAP: DMA: Fix omapfb/lcdc on OMAP1510 broken when PM set
Date: Mon, 9 Nov 2009 13:14:24 -0800 [thread overview]
Message-ID: <20091109211424.GF23952@atomide.com> (raw)
In-Reply-To: <200911051951.32020.jkrzyszt@tis.icnet.pl>
* Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> [091105 10:52]:
> With CONFIG_PM=y, the omapfb/lcdc device on Amstrad Delta, after initially
> starting correctly, breaks with the following error messages:
>
> omapfb omapfb: resetting (status 0xffffff96,reset count 1)
> ...
> omapfb omapfb: resetting (status 0xffffff96,reset count 100)
> omapfb omapfb: too many reset attempts, giving up.
>
> Looking closer at this I have found that it had been broken almost 2 years ago
> with commit 2418996e3b100114edb2ae110d5d4acb928909d2, PM fixes for OMAP1.
>
> The definite reason for broken omapfb/lcdc behavoiur in PM mode
> appeared to be ARM_IDLECT1:IDLIF_ARM (bit 6) put into idle regardless of LCD
> DMA possibly running. The bit were set based on return value of the
> omap_dma_running() function that did not check for dedicated LCD DMA
> channel status. The patch below fixes this.
>
> Created against linux-2.6.32-rc6
>
> Tested on Amstrad Delta
>
> Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
>
> ---
> Tuesday 03 November 2009 21:10:48 Tony Lindgren wrote:
> > * Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> [091103 12:05]:
> > > Sorry, I've not checked for new mail before posting this one and missed
> > > your acceptance for my idea of fixing all omap1510, not only ams_delta.
> > > If there are no more comments, I'll submit v3 with cpu_is_omap1510()
> > > replacing machine_is_ams_delta().
> >
> > Sounds good to me.
> >
> > Tony
>
> --- linux-2.6.32-rc6/arch/arm/plat-omap/dma.c.orig 2009-11-03 20:37:49.000000000 +0100
> +++ linux-2.6.32-rc6/arch/arm/plat-omap/dma.c 2009-11-05 19:30:39.000000000 +0100
> @@ -1108,6 +1108,14 @@ int omap_dma_running(void)
> {
> int lch;
>
> + /*
> + * On OMAP1510, internal LCD controller will start the transfer
> + * when it gets enabled, so assume DMA running if LCD enabled.
> + */
> + if (cpu_is_omap1510())
> + if (omap_readw(0xfffec000 + 0x00) & (1 << 0))
> + return 1;
> +
> /* Check if LCD DMA is running */
> if (cpu_is_omap16xx())
> if (omap_readw(OMAP1610_DMA_LCD_CCR) & OMAP_DMA_CCR_EN)
Can you please use some define rather than the 0xfffec000 register
above?
Regards,
Tony
next prev parent reply other threads:[~2009-11-09 21:14 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-05 18:51 [PATCH v3] OMAP: DMA: Fix omapfb/lcdc on OMAP1510 broken when PM set Janusz Krzysztofik
2009-11-09 21:14 ` Tony Lindgren [this message]
2009-11-10 2:50 ` Janusz Krzysztofik
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=20091109211424.GF23952@atomide.com \
--to=tony@atomide.com \
--cc=jkrzyszt@tis.icnet.pl \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-fbdev-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.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).