1. 01 9月, 2014 6 次提交
  2. 30 8月, 2014 8 次提交
  3. 29 8月, 2014 1 次提交
  4. 28 8月, 2014 3 次提交
  5. 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
  6. 26 8月, 2014 11 次提交
  7. 25 8月, 2014 4 次提交