1. 19 10月, 2017 1 次提交
    • U
      ARM: ux500: Fix regression while init PM domains · 72ecd793
      Ulf Hansson 提交于
      The commit afece3ab ("PM / Domains: Add time accounting to various
      genpd states") causes a boot regression for ux500.
      
      The problem occurs when the ux500 machine code calls pm_genpd_init(), which
      since the above change triggers a call to ktime_get(). More precisely,
      because ux500 initializes PM domains in the init_IRQ() phase of the boot,
      timekeeping has not yet been initialized.
      
      Fix the problem by moving the initialization of the PM domains to after
      timekeeping has been initialized.
      
      Fixes: afece3ab ("PM / Domains: Add time accounting to various genpd..")
      Cc: Thara Gopinath <thara.gopinath@linaro.org>
      Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      Reviewed-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      72ecd793
  2. 27 7月, 2017 1 次提交
    • W
      drivers/perf: arm_pmu: Request PMU SPIs with IRQF_PER_CPU · a3287c41
      Will Deacon 提交于
      Since the PMU register interface is banked per CPU, CPU PMU interrrupts
      cannot be handled by a CPU other than the one with the PMU asserting the
      interrupt. This means that migrating PMU SPIs, as we do during a CPU
      hotplug operation doesn't make any sense and can lead to the IRQ being
      disabled entirely if we route a spurious IRQ to the new affinity target.
      
      This has been observed in practice on AMD Seattle, where CPUs on the
      non-boot cluster appear to take a spurious PMU IRQ when coming online,
      which is routed to CPU0 where it cannot be handled.
      
      This patch passes IRQF_PERCPU for PMU SPIs and forcefully sets their
      affinity prior to requesting them, ensuring that they cannot
      be migrated during hotplug events. This interacts badly with the DB8500
      erratum workaround that ping-pongs the interrupt affinity from the handler,
      so we avoid passing IRQF_PERCPU in that case by allowing the IRQ flags
      to be overridden in the platdata.
      
      Fixes: 3cf7ee98 ("drivers/perf: arm_pmu: move irq request/free into probe")
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      a3287c41
  3. 03 3月, 2017 1 次提交
    • L
      ARM: ux500: resume the second core properly · 3131d970
      Linus Walleij 提交于
      The pen hold/release scheme was copied over to Ux500 from the ARM
      reference designs like most of these at the time. It is not needed
      at all, and was mostly removed in commit c00def71
      "ARM: ux500: simplify secondary CPU boot".
      
      However on the suspend/resume path and hot plug/unplug of CPUs,
      the .cpu_die() callback was still waiting for the pen to be
      released which made it spin forever and the second core never come
      back online after suspend/resume.
      
      Fix this by simply replacing the strange custom .cpu_die() with
      a oneline wfi() just like e.g. the qcom platform does. This fixes
      the issue and makes the second core come up properly after
      suspend/resume.
      
      As a side effect, this rids us of the completely surplus local
      setup.h and hotplug.c files, and we just compile this into platsmp.c
      with everything else SMP.
      
      Cc: stable@vger.kernel.org
      Fixes: c00def71 ("ARM: ux500: simplify secondary CPU boot")
      Cc: Ulf Hansson <ulf.hansson@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      3131d970
  4. 07 2月, 2017 1 次提交
  5. 12 1月, 2017 1 次提交
  6. 12 7月, 2016 7 次提交
  7. 27 2月, 2016 1 次提交
  8. 02 12月, 2015 1 次提交
  9. 06 8月, 2015 1 次提交
  10. 31 7月, 2015 1 次提交
    • M
      arm: perf: factor arm_pmu core out to drivers · fa8ad788
      Mark Rutland 提交于
      To enable sharing of the arm_pmu code with arm64, this patch factors it
      out to drivers/perf/. A new drivers/perf directory is added for
      performance monitor drivers to live under.
      
      MAINTAINERS is updated accordingly. Files added previously without a
      corresponsing MAINTAINERS update (perf_regs.c, perf_callchain.c, and
      perf_event.h) are also added.
      
      Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Will Deacon <will.deacon@arm.com>
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      [will: augmented Kconfig help slightly]
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      fa8ad788
  11. 18 5月, 2015 7 次提交
  12. 13 5月, 2015 1 次提交
  13. 10 7月, 2014 1 次提交
  14. 12 5月, 2014 1 次提交
  15. 04 3月, 2014 1 次提交
    • L
      mfd: dbx500/abx500: root out hardcoded IRQ assignments · f864c46a
      Linus Walleij 提交于
      The DBx500 and ABx500 should be getting their IRQs from the
      device tree and nowhere else. Get rid of all the static assignments
      everywhere, delete it from the driver, platform data and the
      board files in one swift strike.
      
      Lots of cross-dependencies in the MFD drivers for PRCMU and
      AB8500 makes it necessary to strike everywhere at once to
      eradicate IRQs passed as resources and platform data to the left
      and right around the platform.
      
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Acked-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      f864c46a
  16. 28 2月, 2014 1 次提交
  17. 05 2月, 2014 2 次提交
    • L
      ARM: ux500: move last AB8505 set-up to DT · 77ad9dfc
      Linus Walleij 提交于
      This moves the set-up of the HREF500 with its AB8505 ASIC to
      a device tree include. Since there is not yet any device tree
      for this board the DTSI is currently unused. After this delete
      the board file for pins for good and migration of pins to the
      device tree is complete.
      
      Cc: Patrice Chotard <patrice.chotard@st.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      77ad9dfc
    • L
      ARM: ux500: move AB8500 clock out pins to DT · 7acacfbc
      Linus Walleij 提交于
      This moves the AB8500 pin settings for the clock out pins over
      to the device tree. We can delete the special setup calls for the
      platforms only using the AB8500 and not AB8505.
      
      Cc: Patrice Chotard <patrice.chotard@st.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      7acacfbc
  18. 13 12月, 2013 1 次提交
  19. 27 11月, 2013 4 次提交
  20. 26 9月, 2013 5 次提交