From: Tony Lindgren <tony@atomide.com>
To: Jouni Hogander <jouni.hogander@nokia.com>
Cc: linux-omap@vger.kernel.org
Subject: Re: [PATCH] OMAP: DISPC: Fix to disable also interface clocks.
Date: Wed, 20 Aug 2008 14:58:49 +0300 [thread overview]
Message-ID: <20080820115848.GG29374@atomide.com> (raw)
In-Reply-To: <1218790563-23248-1-git-send-email-jouni.hogander@nokia.com>
* Jouni Hogander <jouni.hogander@nokia.com> [080815 11:57]:
> Leaving interface clocks enabled causes dss pwrdm to stay in active
> state when mpu is in active state. This fix puts dss to sleep state
> when it is not needed.
>
> Earlier version broke framebuffer on 24xx. This is fixed by enabling
> clocks before trying to access DISPC_IRQSTATUS register.
Pushing today. BTW, here we could use the virtual clock to combine
the needed clocks instead of enable_interface_clocks().
Tony
> Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
> ---
> drivers/video/omap/dispc.c | 23 ++++++++++-------------
> 1 files changed, 10 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
> index 3d64314..99bf355 100644
> --- a/drivers/video/omap/dispc.c
> +++ b/drivers/video/omap/dispc.c
> @@ -858,8 +858,11 @@ EXPORT_SYMBOL(omap_dispc_free_irq);
>
> static irqreturn_t omap_dispc_irq_handler(int irq, void *dev)
> {
> - u32 stat = dispc_read_reg(DISPC_IRQSTATUS);
> + u32 stat;
>
> + enable_lcd_clocks(1);
> +
> + stat = dispc_read_reg(DISPC_IRQSTATUS);
> if (stat & DISPC_IRQ_FRAMEMASK)
> complete(&dispc.frame_done);
>
> @@ -875,6 +878,8 @@ static irqreturn_t omap_dispc_irq_handler(int irq, void *dev)
>
> dispc_write_reg(DISPC_IRQSTATUS, stat);
>
> + enable_lcd_clocks(0);
> +
> return IRQ_HANDLED;
> }
>
> @@ -915,18 +920,13 @@ static void put_dss_clocks(void)
>
> static void enable_lcd_clocks(int enable)
> {
> - if (enable)
> + if (enable) {
> + clk_enable(dispc.dss_ick);
> clk_enable(dispc.dss1_fck);
> - else
> + } else {
> clk_disable(dispc.dss1_fck);
> -}
> -
> -static void enable_interface_clocks(int enable)
> -{
> - if (enable)
> - clk_enable(dispc.dss_ick);
> - else
> clk_disable(dispc.dss_ick);
> + }
> }
>
> static void enable_digit_clocks(int enable)
> @@ -1362,7 +1362,6 @@ static int omap_dispc_init(struct omapfb_device *fbdev, int ext_mode,
> if ((r = get_dss_clocks()) < 0)
> return r;
>
> - enable_interface_clocks(1);
> enable_lcd_clocks(1);
>
> #ifdef CONFIG_FB_OMAP_BOOTLOADER_INIT
> @@ -1466,7 +1465,6 @@ fail2:
> free_irq(INT_24XX_DSS_IRQ, fbdev);
> fail1:
> enable_lcd_clocks(0);
> - enable_interface_clocks(0);
> put_dss_clocks();
>
> return r;
> @@ -1483,7 +1481,6 @@ static void omap_dispc_cleanup(void)
> cleanup_fbmem();
> free_palette_ram();
> free_irq(INT_24XX_DSS_IRQ, dispc.fbdev);
> - enable_interface_clocks(0);
> put_dss_clocks();
> }
>
> --
> 1.5.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2008-08-20 11:58 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-01 7:12 [PATCH] OMAP: DISPC: Fix to disable also interface clocks Jouni Hogander
2008-07-01 9:13 ` Felipe Balbi
2008-07-01 9:26 ` Högander Jouni
2008-07-01 9:37 ` [PATCH 1/1] OMAP: DISPC: Fix to disable also interface clocks. 2nd Jouni Hogander
2008-07-03 11:04 ` Tony Lindgren
2008-07-03 11:33 ` Tony Lindgren
2008-08-15 8:56 ` [PATCH] OMAP: DISPC: Fix to disable also interface clocks Jouni Hogander
2008-08-20 11:58 ` Tony Lindgren [this message]
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=20080820115848.GG29374@atomide.com \
--to=tony@atomide.com \
--cc=jouni.hogander@nokia.com \
--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 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.