1. 18 10月, 2012 1 次提交
  2. 23 8月, 2012 8 次提交
    • S
      ARM: perf: move irq registration into pmu implementation · 051f1b13
      Sudeep KarkadaNagesha 提交于
      This patch moves the CPU-specific IRQ registration and parsing code into
      the CPU PMU backend. This is required because a PMU may have more than
      one interrupt, which in turn can be either PPI (per-cpu) or SPI
      (requiring strict affinity setting at the interrupt distributor).
      Signed-off-by: NSudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com>
      [will: cosmetic edits and reworked interrupt dispatching]
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      051f1b13
    • W
      ARM: perf: move CPU-specific PMU handling code into separate file · 5505b206
      Will Deacon 提交于
      This patch moves the CPU-specific PMU handling code out of perf_event.c
      and into perf_event_cpu.c.
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      5505b206
    • W
      ARM: perf: prepare for moving CPU PMU code into separate file · 6dbc0029
      Will Deacon 提交于
      The CPU PMU code is tightly coupled with generic ARM PMU handling code.
      This makes it cumbersome when trying to add support for other ARM PMUs
      (e.g. interconnect, L2 cache controller, bus) as the generic parts of
      the code are not readily reusable.
      
      This patch cleans up perf_event.c so that reusable code is exposed via
      header files to other potential PMU drivers. The CPU code is
      consistently named to identify it as such and also to prepare for moving
      it into a separate file.
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      6dbc0029
    • W
      ARM: perf: probe devicetree in preference to current CPU · 04236f9f
      Will Deacon 提交于
      The CPU PMU is probed using the current cpuid information as part of the
      early_initcall initialising the architecture perf backend. For
      architectures without NMI (such as ARM), this does not need to be
      performed early and can be deferred to the driver probe callback. This
      also allows us to probe the devicetree in preference to parsing the
      current cpuid, which may be invalid on a big.LITTLE multi-cluster
      system.
      
      This patch defers the PMU probing and uses the devicetree information
      when available.
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      04236f9f
    • W
      ARM: perf: remove mysterious compiler barrier · 9f44f9a2
      Will Deacon 提交于
      There's a rather strange compiler barrier in the PMU disabling code
      which was presumably placed there by aliens. There's no valid reason for
      the barrier and one can only suspect that it's up to no good.
      
      This patch removes it before it has a chance to spread.
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      9f44f9a2
    • W
      ARM: pmu: remove unused reservation mechanism · f0d1bc47
      Will Deacon 提交于
      The PMU reservation mechanism was originally intended to allow OProfile
      and perf-events to co-ordinate over access to the CPU PMU. Since then,
      OProfile for ARM has moved to using perf as its backend, so the
      reservation code is no longer used.
      
      This patch removes the reservation code for the CPU PMU on ARM.
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      f0d1bc47
    • W
      ARM: perf: add devicetree bindings for 11MPcore, A5, A7 and A15 PMUs · 50243efd
      Will Deacon 提交于
      This patch adds separate devicetree bindings for 11MPcore and
      Cortex-{A5,A7,A15} PMUs in preparation for improved devicetree parsing
      in the ARM perf-event CPU PMU driver.
      
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Acked-by: NRob Herring <rob.herring@calxeda.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      50243efd
    • J
      ARM: PMU: Add runtime PM Support · 7be2958e
      Jon Hunter 提交于
      Add runtime PM support to the ARM PMU driver so that devices such as OMAP
      supporting dynamic PM can use the platform->runtime_* hooks to initialise
      hardware at runtime. Without having these runtime PM hooks in place any
      configuration of the PMU hardware would be lost when low power states are
      entered and hence would prevent PMU from working.
      
      This change also replaces the PMU platform functions enable_irq and disable_irq
      added by Ming Lei with runtime_resume and runtime_suspend funtions. Ming had
      added the enable_irq and disable_irq functions as a method to configure the
      cross trigger interface on OMAP4 for routing the PMU interrupts. By adding
      runtime PM support, we can move the code called by enable_irq and disable_irq
      into the runtime PM callbacks runtime_resume and runtime_suspend.
      
      Cc: Ming Lei <ming.lei@canonical.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: NWill Deacon <will.deacon@arm.com>
      7be2958e
  3. 10 7月, 2012 1 次提交
    • W
      ARM: 7448/1: perf: remove arm_perf_pmu_ids global enumeration · 4295b898
      Will Deacon 提交于
      In order to provide PMU name strings compatible with the OProfile
      user ABI, an enumeration of all PMUs is currently used by perf to
      identify each PMU uniquely. Unfortunately, this does not scale well
      in the presence of multiple PMUs and creates a single, global namespace
      across all PMUs in the system.
      
      This patch removes the enumeration and instead uses the name string
      for the PMU to map onto the OProfile variant. perf_pmu_name is
      implemented for CPU PMUs, which is all that OProfile cares about anyway.
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      4295b898
  4. 05 7月, 2012 1 次提交
  5. 24 3月, 2012 1 次提交
  6. 07 3月, 2012 2 次提交
  7. 05 3月, 2012 1 次提交
  8. 06 12月, 2011 1 次提交
  9. 02 12月, 2011 2 次提交
  10. 23 11月, 2011 1 次提交
  11. 17 11月, 2011 1 次提交
    • W
      ARM: perf: initialise used_mask for fake PMU during validation · bce34d14
      Will Deacon 提交于
      When validating an event group, we call pmu->get_event_idx for each
      group member in order to check that the group can be scheduled as a
      unit on an empty PMU.
      
      As a result of 3fc2c830 ("ARM: perf: remove event limit from
      pmu_hw_events"), the used_mask member of struct cpu_hw_events must be
      setup explicitly, something which we don't do for the fake cpu_hw_events
      used for validation.
      
      This patch sets up an empty used_mask for the fake validation
      cpu_hw_events, preventing NULL deferences when trying to get the event
      index.
      Reported-by: NPawel Moll <pawel.moll@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      bce34d14
  12. 14 11月, 2011 1 次提交
  13. 01 11月, 2011 1 次提交
    • P
      arm: convert core files from module.h to export.h · ecea4ab6
      Paul Gortmaker 提交于
      Many of the core ARM kernel files are not modules, but just
      including module.h for exporting symbols.  Now these files can
      use the lighter footprint export.h for this role.
      
      There are probably lots more, but ARM files of mach-* and plat-*
      don't get coverage via a simple yesconfig build.  They will have
      to be cleaned up and tested via using their respective configs.
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      ecea4ab6
  14. 31 8月, 2011 18 次提交