1. 18 12月, 2012 1 次提交
  2. 09 11月, 2012 1 次提交
    • J
      ARM: PMU: fix runtime PM enable · 2ac29a14
      Jon Hunter 提交于
      Commit 7be2958e (ARM: PMU: Add runtime PM Support) updated the ARM PMU code to
      use runtime PM which was prototyped and validated on the OMAP devices. In this
      commit, there is no call pm_runtime_enable() and for OMAP devices
      pm_runtime_enable() is currently being called from the OMAP PMU code when the
      PMU device is created. However, there are two problems with this:
      
      1. For any other ARM device wishing to use runtime PM for PMU they will need
         to call pm_runtime_enable() for runtime PM to work.
      2. When booting with device-tree and using device-tree to create the PMU
         device, pm_runtime_enable() needs to be called from within the ARM PERF
         driver as we are no longer calling any device specific code to create the
         device. Hence, PMU does not work on OMAP devices that use the runtime PM
         callbacks when using device-tree to create the PMU device.
      
      Therefore,  call pm_runtime_enable() directly from the ARM PMU driver when
      registering the device. For platforms that do not use runtime PM,
      pm_runtime_enable() does nothing and for platforms that do use runtime PM but
      may not require it specifically for PMU, this will just add a little overhead
      when initialising and uninitialising the PMU device.
      
      Tested with PERF on OMAP2420, OMAP3430 and OMAP4460.
      Acked-by: NKevin Hilman <khilman@ti.com>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      2ac29a14
  3. 19 10月, 2012 2 次提交
  4. 18 10月, 2012 1 次提交
  5. 24 9月, 2012 4 次提交
    • J
      ARM: OMAP4460/4470: PMU: Enable PMU for OMAP4460/70 · 76a5d9bf
      Jon Hunter 提交于
      OMAP4460 and OMAP4470 devices have dedicated PMU interrupts and so add these
      interrupts to the MPU HWMOD so we can use these for PMU events on these
      devices. The PMU interrupts need to be the first interrupts in the array of
      interrupts as the ARM PMU driver assumes this.
      
      By using these dedicated interrupts we only need to enable the MPU and DEBUG
      sub-systems for PMU to work. This is different to OMAP4430 that did not have
      dedicated interrupts and required other power domains in addition to the DEBUG
      sub-system to be enabled so we could route the PMU events to the CTI interrupts.
      Hence, OMAP4460 and OMAP4470 devices can use the same list of HWMODs to create
      the PMU device that is using by OMAP3.
      
      Cc: Ming Lei <ming.lei@canonical.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      [paul@pwsan.com: updated to apply]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      76a5d9bf
    • J
      ARM: OMAP2+: PMU: Add runtime PM support · 6a9bce27
      Jon Hunter 提交于
      The original implementation of this patch was done by Ming Lei for PMU on OMAP4
      [1]. Since then the PM runtime calls have been moved into the ARM PMU code and
      this greatly simplifies the changes.
      
      The another differnce since the original version, is that it is no longer
      necessary to call pm_runtime_get/put during the PMU initialisation was we are no
      longer accessing the hardware at this stage.
      
      By adding runtime PM support, we can ensure that the appropriate power and clock
      domains are kept on while PMU is being used.
      
      [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2011-November/074153.html
      
      Cc: Ming Lei <ming.lei@canonical.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      6a9bce27
    • M
      ARM: OMAP4430: PMU: prepare to create PMU device via HWMOD · efc7f49c
      Ming Lei 提交于
      For OMAP4430 PMU events are routed to the CPU via the cross trigger interface
      (CTI) because there are no dedicated interrupts. In order to route the PMU
      events via the CTI IRQs, the following modules must be enabled:
      
              l3_instr, l3_main_3, debugss
      
      Therefore, build the arm-pmu device via these three HWMODs.
      
      However, the CTI support for this platform still needs some work.  Until
      that's finished, temporarily disable the PMU on OMAP4430.
      
      Cc: Ming Lei <ming.lei@canonical.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Signed-off-by: NMing Lei <ming.lei@canonical.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      [paul@pwsan.com: temporarily disabled OMAP4430 PMU support until a
       better CTI interface can be implemented; added patch description note]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      efc7f49c
    • J
      ARM: OMAP2+: PMU: Convert OMAP2/3 devices to use HWMOD · ee75d95c
      Jon Hunter 提交于
      Convert OMAP2/3 devices to use HWMOD for creating a PMU device. To support PMU
      on OMAP2 devices we only need to use MPU sub-system and so we can simply use
      the MPU HWMOD to create the PMU device. To support PMU on OMAP3 devices, we need
      to use the MPU and DEBUG sub-systems and so use these HWMODs to create the PMU
      device for OMAP3.
      
      The MPU HWMOD for OMAP2/3 devices is currently missing the PMU interrupt and so
      add the PMU interrupt to the MPU HWMOD for these devices.
      
      This change also moves the PMU code out of the mach-omap2/devices.c files into
      its own pmu.c file as suggested by Kevin Hilman to de-clutter devices.c.
      
      Cc: Ming Lei <ming.lei@canonical.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      [paul@pwsan.com: fixed checkpatch messages; updated to apply; dropped old-style
       initial filename line in header comments]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      ee75d95c