Re: [RFC] OMAP: McBSP not working if CONFIG_PM_RUNTIME not set

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

 



On Tue 07 Jun 2011 at 23:17:49 Kevin Hilman wrote:
> Janusz Krzysztofik <jkrzyszt@xxxxxxxxxxxx> writes:
> > ... Or should
> > arch/arm/mach-omap1/pm_bus.c be always built in and
> > pm_runtime_clk_add_notifier() called from there in order to enable
> > clocks on device initialization even if CONFIG_PM_RUNTIME is not
> > set? Or still a better solution?
> 
> You're on the right track already.
> 
> Yes, the notifier init should be done even on the !PM_RUNTIME case so
> that clocks are enabled when the device is added and disabled when
> the device is removed.
> 
> Can you try the patch below (only compile tested)

It's OK, but kind of no-op unless something like below is also applied. 
With it appended to your patch, you can add my Tested-by or what-else-by 
you may find appropriate.

Thanks,
Janusz

---
--- git/arch/arm/mach-omap1/Makefile.orig	2011-06-06 18:06:57.000000000 +0200
+++ git/arch/arm/mach-omap1/Makefile	2011-06-07 23:40:11.000000000 +0200
@@ -4,14 +4,14 @@
 
 # Common support
 obj-y := io.o id.o sram.o time.o irq.o mux.o flash.o serial.o devices.o dma.o
-obj-y += clock.o clock_data.o opp_data.o reset.o
+obj-y += clock.o clock_data.o opp_data.o reset.o pm_bus.o
 
 obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
 
 obj-$(CONFIG_OMAP_32K_TIMER)	+= timer32k.o
 
 # Power Management
-obj-$(CONFIG_PM) += pm.o sleep.o pm_bus.o
+obj-$(CONFIG_PM) += pm.o sleep.o
 
 # DSP
 obj-$(CONFIG_OMAP_MBOX_FWK)	+= mailbox_mach.o
--

> If it works, and with your Tested-by, I'll queue this as a fix for
> v3.0-rc.
> 
> Thanks,
> 
> Kevin
> 
> >From 971a6b1ba5cbca7b38fb14ae834b124c6e7bf9b5 Mon Sep 17 00:00:00
> >2001
> 
> From: Kevin Hilman <khilman@xxxxxx>
> Date: Tue, 7 Jun 2011 14:13:33 -0700
> Subject: [PATCH] OMAP1: PM: register notifiers with generic clock ops
> even when !PM_RUNTIME
> 
> When runtime PM is disabled, device clocks need to be enabled on
> device add and disabled on device remove.  This currently is not
> happening because in the !PM_RUNTIME case, no notifiers are
> registered for OMAP1 devices.
> 
> Fix this by ensuring notifiers are registered, even in the
> !PM_RUNTIME case.
> 
> Reported-by: Janusz Krzysztofik <jkrzyszt@xxxxxxxxxxxx>
> Signed-off-by: Kevin Hilman <khilman@xxxxxx>
> ---
>  arch/arm/mach-omap1/pm_bus.c |    8 ++++++--
>  1 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mach-omap1/pm_bus.c
> b/arch/arm/mach-omap1/pm_bus.c index fe31d93..334fb88 100644
> --- a/arch/arm/mach-omap1/pm_bus.c
> +++ b/arch/arm/mach-omap1/pm_bus.c
> @@ -56,9 +56,13 @@ static struct dev_power_domain
> default_power_domain = { USE_PLATFORM_PM_SLEEP_OPS
>  	},
>  };
> +#define OMAP1_PWR_DOMAIN (&default_power_domain)
> +#else
> +#define OMAP1_PWR_DOMAIN NULL
> +#endif /* CONFIG_PM_RUNTIME */
> 
>  static struct pm_clk_notifier_block platform_bus_notifier = {
> -	.pwr_domain = &default_power_domain,
> +	.pwr_domain = OMAP1_PWR_DOMAIN,
>  	.con_ids = { "ick", "fck", NULL, },
>  };
> 
> @@ -72,4 +76,4 @@ static int __init omap1_pm_runtime_init(void)
>  	return 0;
>  }
>  core_initcall(omap1_pm_runtime_init);
> -#endif /* CONFIG_PM_RUNTIME */
> +
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux