1. 16 9月, 2014 7 次提交
  2. 10 9月, 2014 1 次提交
  3. 01 9月, 2014 8 次提交
  4. 30 8月, 2014 8 次提交
  5. 29 8月, 2014 1 次提交
  6. 28 8月, 2014 3 次提交
  7. 27 8月, 2014 7 次提交
    • J
      ARM: 8130/1: cpuidle/cpuidle-big_little: fix reading cpu id part number · eba1c718
      Juri Lelli 提交于
      Commit af040ffc ("ARM: make it easier to check the CPU part number
      correctly") changed ARM_CPU_PART_X masks, and the way they are returned and
      checked against. Usage of read_cpuid_part_number() is now deprecated, and
      calling places updated accordingly. This actually broke cpuidle-big_little
      initialization, as bl_idle_driver_init() performs a check using an hardcoded
      mask on cpu_id.
      
      Create an interface to perform the check (that is now even easier to read).
      Define also a proper mask (ARM_CPU_PART_MASK) that makes this kind of checks
      cleaner and helps preventing bugs in the future. Update usage accordingly.
      Signed-off-by: NJuri Lelli <juri.lelli@arm.com>
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      eba1c718
    • M
      ARM: 8129/1: errata: work around Cortex-A15 erratum 830321 using dummy strex · 2c32c65e
      Mark Rutland 提交于
      On revisions of Cortex-A15 prior to r3p3, a CLREX instruction at PL1 may
      falsely trigger a watchpoint exception, leading to potential data aborts
      during exception return and/or livelock.
      
      This patch resolves the issue in the following ways:
      
        - Replacing our uses of CLREX with a dummy STREX sequence instead (as
          we did for v6 CPUs).
      
        - Removing the clrex code from v7_exit_coherency_flush and derivatives,
          since this only exists as a minor performance improvement when
          non-cached exclusives are in use (Linux doesn't use these).
      
      Benchmarking on a variety of ARM cores revealed no measurable
      performance difference with this change applied, so the change is
      performed unconditionally and no new Kconfig entry is added.
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      2c32c65e
    • M
      ARM: 8128/1: abort: don't clear the exclusive monitors · 85868313
      Mark Rutland 提交于
      The ARMv6 and ARMv7 early abort handlers clear the exclusive monitors
      upon entry to the kernel, but this is redundant:
      
        - We clear the monitors on every exception return since commit
          200b812d ("Clear the exclusive monitor when returning from an
          exception"), so this is not necessary to ensure the monitors are
          cleared before returning from a fault handler.
      
        - Any dummy STREX will target a temporary scratch area in memory, and
          may succeed or fail without corrupting useful data. Its status value
          will not be used.
      
        - Any other STREX in the kernel must be preceded by an LDREX, which
          will initialise the monitors consistently and will not depend on the
          earlier state of the monitors.
      
      Therefore we have no reason to care about the initial state of the
      exclusive monitors when a data abort is taken, and clearing the monitors
      prior to exception return (as we already do) is sufficient.
      
      This patch removes the redundant clearing of the exclusive monitors from
      the early abort handlers.
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      85868313
    • A
      ARM: 8127/1: module: add support for R_ARM_TARGET1 relocations · 55f0fb6a
      Andrey Ryabinin 提交于
      Kernel module build with GCOV profiling fails to load with the
      following error:
      
       $ insmod test_module.ko
         test_module: unknown relocation: 38
         insmod: can't insert 'test_module.ko': invalid module format
      
      This happens because constructor pointers in the .init_array section
      have not supported R_ARM_TARGET1 relocation type.
      
      Documentation (ELF for the ARM Architecture) says:
          "The relocation must be processed either in the same way as R_ARM_REL32 or
           as R_ARM_ABS32: a virtual platform must specify which method is used."
      
      Since kernel expects to see absolute addresses in .init_array R_ARM_TARGET1
      relocation type should be treated the same way as R_ARM_ABS32.
      Signed-off-by: NAndrey Ryabinin <a.ryabinin@samsung.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      55f0fb6a
    • J
      x86: irq: Fix bug in setting IOAPIC pin attributes · f395dcae
      Jiang Liu 提交于
      Commit 15a3c7cc "x86, irq: Introduce two helper functions
      to support irqdomain map operation" breaks LPSS ACPI enumerated
      devices.
      
      On startup, IOAPIC driver preallocates IRQ descriptors and programs
      IOAPIC pins with default level and polarity attributes for all legacy
      IRQs. Later legacy IRQ users may fail to set IOAPIC pin attributes
      if the requested attributes conflicts with the default IOAPIC pin
      attributes. So change mp_irqdomain_map() to allow the first legacy IRQ
      user to reprogram IOAPIC pin with different attributes.
      Reported-and-tested-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Prarit Bhargava <prarit@redhat.com>
      Link: http://lkml.kernel.org/r/1409118795-17046-1-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      f395dcae
    • R
      ARM: dts: microsom-ar8035: MDIO pad must be set open drain · bf814720
      Rabeeh Khoury 提交于
      This patch is important for the MicroSOM implementation due to the
      following details -
      
      1. VIH of the Atheros phy is 1.7V.
      2. NVCC_ENET which is the power domain of the MDIO pad is driven by the
         PHY's LDO (i.e. either 1.8v or 2.5v).
      3. The MicroSOM implements an onbouard 1.6kohm pull up to 3.3v (R3000).
      
      In the case the PHY's LDO was 1.8v then there would be only a 100mV
      margin for the signal to be acknowledged as high (1.8v-1.7v).
      Due to that setting the pad as an open drain will let the 1.6kohm pull
      that signal high to 3.3 that assures enough margins to the PHY to be
      acked as '1' logic.
      Signed-off-by: NRabeeh Khoury <rabeeh@solid-run.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NShawn Guo <shawn.guo@freescale.com>
      bf814720
    • T
      ARM: dts: omap54xx-clocks: Fix the l3 and l4 clock rates · 8fd46439
      Tero Kristo 提交于
      Similarly to DRA7, OMAP5 has l3 and l4 clock rates incorrectly calculated.
      Fixed by using proper divider clock types for the clock nodes.
      Signed-off-by: NTero Kristo <t-kristo@ti.com>
      Reported-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Tested-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      8fd46439
  8. 26 8月, 2014 5 次提交
    • B
      ARM: brcmstb: revert SMP support · fc3e825f
      Brian Norris 提交于
      There were several issues (of varying degree of importance) pointed out
      with this code late in the review cycle, yet the code was still merged.
      Let's rip it out for now and look at resubmitting at a later time.
      
      This reverts most of commit 4fbe66d9.
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      fc3e825f
    • T
      ARM: OMAP2+: hwmod: Rearm wake-up interrupts for DT when MUSB is idled · cc824534
      Tony Lindgren 提交于
      Looks like MUSB cable removal can cause wake-up interrupts to
      stop working for device tree based booting at least for UART3
      even as nothing is dynamically remuxed. This can be fixed by
      calling reconfigure_io_chain() for device tree based booting
      in hwmod code. Note that we already do that for legacy booting
      if the legacy mux is configured.
      
      My guess is that this is related to UART3 and MUSB ULPI
      hsusb0_data0 and hsusb0_data1 support for Carkit mode that
      somehow affect the configured IO chain for UART3 and require
      rearming the wake-up interrupts.
      
      In general, for device tree based booting, pinctrl-single
      calls the rearm hook that in turn calls reconfigure_io_chain
      so calling reconfigure_io_chain should not be needed from the
      hwmod code for other events.
      
      So let's limit the hwmod rearming of iochain only to
      HWMOD_FORCE_MSTANDBY where MUSB is currently the only user
      of it. If we see other devices needing similar changes we can
      add more checks for it.
      
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: stable@vger.kernel.org # v3.16
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      cc824534
    • T
      ARM: dts: Enable UART wake-up events for beagleboard · c15adae8
      Tony Lindgren 提交于
      For device tree based booting, we need to use wake-up
      interrupts like we already do for some omaps. This fixes
      a PM regression on beagleboard compared to legacy booting.
      Tested-by: NTero Kristo <t-kristo@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      c15adae8
    • M
      ARM: dts: Remove twl6030 clk32g "regulator" · 509a81fd
      Mark Brown 提交于
      The kernel has never supported clk32g as a regulator since it is a clock
      and not a regulator. Fortunately nothing actually references this node so
      we can just remove it.
      Signed-off-by: NMark Brown <broonie@linaro.org>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      509a81fd
    • M
      ARM: OMAP2+: omap_device: remove warning that clk alias already exists · 9a02ae4e
      Markus Pargmann 提交于
      When an alias for a clock already exists the warning is printed. For
      every module with a main_clk defined, a clk alias for fck is added.
      There are some components that have the same main_clk defined, so this
      is a really normal situation.
      
      For example the am33xx edma device has 4 components using the same main
      clock. So there are three warnings in the boot log for this already
      existing clock alias:
      	platform 49000000.edma: alias fck already exists
      	platform 49000000.edma: alias fck already exists
      	platform 49000000.edma: alias fck already exists
      
      As this is only interesting for developers, this patch changes the
      message to a debug message.
      Signed-off-by: NMarkus Pargmann <mpa@pengutronix.de>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      9a02ae4e