Skip to content
  1. Sep 09, 2014
  2. Sep 08, 2014
  3. Aug 31, 2014
  4. Aug 29, 2014
  5. Aug 28, 2014
  6. Aug 27, 2014
    • Juri Lelli's avatar
      ARM: 8130/1: cpuidle/cpuidle-big_little: fix reading cpu id part number · eba1c718
      Juri Lelli authored
      
      
      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: default avatarJuri Lelli <juri.lelli@arm.com>
      Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      eba1c718
    • Mark Rutland's avatar
      ARM: 8129/1: errata: work around Cortex-A15 erratum 830321 using dummy strex · 2c32c65e
      Mark Rutland authored
      
      
      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: default avatarMark Rutland <mark.rutland@arm.com>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      2c32c65e
    • Mark Rutland's avatar
      ARM: 8128/1: abort: don't clear the exclusive monitors · 85868313
      Mark Rutland authored
      
      
      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: default avatarMark Rutland <mark.rutland@arm.com>
      Acked-by: default avatarWill Deacon <will.deacon@arm.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      85868313
    • Andrey Ryabinin's avatar
      ARM: 8127/1: module: add support for R_ARM_TARGET1 relocations · 55f0fb6a
      Andrey Ryabinin authored
      
      
      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: default avatarAndrey Ryabinin <a.ryabinin@samsung.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      55f0fb6a
    • Rabeeh Khoury's avatar
      ARM: dts: microsom-ar8035: MDIO pad must be set open drain · bf814720
      Rabeeh Khoury authored
      
      
      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: default avatarRabeeh Khoury <rabeeh@solid-run.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarShawn Guo <shawn.guo@freescale.com>
      bf814720
  7. Aug 26, 2014
  8. Aug 25, 2014
  9. Aug 24, 2014
  10. Aug 23, 2014
  11. Aug 22, 2014
  12. Aug 19, 2014
    • Daniel Drake's avatar
      ARM: dts: ODROID i2c improvements · 95d516b9
      Daniel Drake authored
      
      
      Increase max i2c bus frequency beyond the default for faster
      data transfers. According to the manual, these faster speeds are
      only available when the board is wired up the right way. In this case,
      the vendor kernel has run at this speed for a long time.
      
      sda-delay is needed for talking to RTC on PMIC, otherwise the i2c
      controller never sees an ACK. Strangely the other PMIC i2c slave (the
      main one) works fine even without this delay. I Chose value 100 to
      match the vendor kernel.
      
      Signed-off-by: default avatarDaniel Drake <drake@endlessm.com>
      Reviewed-by: default avatarTomasz Figa <t.figa@samsung.com>
      Tested-by: default avatarTomeu Vizoso <tomeu.vizoso@collabora.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      95d516b9
    • Daniel Drake's avatar
      ARM: dts: Enable PMIC interrupts on ODROID · 4cde3733
      Daniel Drake authored
      
      
      The ODROID kernel shows that the PMIC interrupt line is hooked up
      to pin GPX3-2.
      
      This is needed for the max77686-irq driver to create the PMIC IRQ
      domain, which is needed by max77686-rtc.
      
      Signed-off-by: default avatarDaniel Drake <drake@endlessm.com>
      Tested-by: default avatarTomeu Vizoso <tomeu.vizoso@collabora.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      4cde3733
    • Fabio Estevam's avatar
      ARM: dts: imx53-qsrb: Fix suspend/resume · 090727b8
      Fabio Estevam authored
      
      
      The following error is seen after a suspend/resume cycle on a mx53qsb with a
      MC34708 PMIC:
      
      root@freescale /$ echo mem > /sys/power/state
      [   32.630592] PM: Syncing filesystems ... done.
      [   32.643924] Freezing user space processes ... (elapsed 0.001 seconds) done.
      [   32.652384] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
      [   32.679156] PM: suspend of devices complete after 13.113 msecs
      [   32.685128] PM: suspend devices took 0.030 seconds
      [   32.696109] PM: late suspend of devices complete after 6.133 msecs
      [   33.313032] mc13xxx 0-0008: Failed to read IRQ status: -110
      [   33.322009] PM: noirq suspend of devices complete after 619.667 msecs
      [   33.328544] Disabling non-boot CPUs ...
      [   33.335031] PM: noirq resume of devices complete after 2.352 msecs
      [   33.842940] mc13xxx 0-0008: Failed to read IRQ status: -110
      [   33.976095] [sched_delayed] sched: RT throttling activated
      [   33.984804] PM: early resume of devices complete after 642.642 msecs
      [   34.352954] mc13xxx 0-0008: Failed to read IRQ status: -110
      [   34.862910] mc13xxx 0-0008: Failed to read IRQ status: -110
      [   34.996595] PM: resume of devices complete after 1005.367 msecs
      [   35.372925] mc13xxx 0-0008: Failed to read IRQ status: -110
      [   35.882911] mc13xxx 0-0008: Failed to read IRQ status: -110
      [   35.955707] PM: resume devices took 1.970 seconds
      [   35.960445] Restarting tasks ... done.
      [   35.993386] fec 63fec000.ethernet eth0: Link is Down
      [   36.392980] mc13xxx 0-0008: Failed to read IRQ status: -110
      [   36.902908] mc13xxx 0-0008: Failed to read IRQ status: -110
      [   36.953036] ata1: SATA link down (SStatus 0 SControl 300)
      [   37.412922] mc13xxx 0-0008: Failed to read IRQ status: -110
      [   37.922906] mc13xxx 0-0008: Failed to read IRQ status: -110
      [   37.993379] fec 63fec000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
      [   38.432938] mc13xxx 0-0008: Failed to read IRQ status: -110
      [   38.942920] mc13xxx 0-0008: Failed to read IRQ status: -110
      [   39.452933] mc13xxx 0-0008: Failed to read IRQ status: -110
      
      (flood of this error message continues forever)
      
      Commit 5169df8b ("ARM: dts: i.MX53: add support for MCIMX53-START-R")
      missed to configure the IOMUX for the PMIC IRQ pin.
      
      Configure the PMIC IRQ pin so that the suspend/resume sequence behaves cleanly
      as expected.
      
      Cc: <stable@vger.kernel.org> # 3.16
      Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: default avatarShawn Guo <shawn.guo@freescale.com>
      090727b8
    • Fugang Duan's avatar
      ARM: dts: imx6sx: fix the pad setting for uart CTS_B · 3bc4d037
      Fugang Duan authored
      
      
      The current pinfunc define all uart CTS_B IO port for DCE uart 'CTS_B'
      IP port. Since uart IP port 'CTS_B' is output, and it don't need to
      set 'SELECT_INPUT' bit.
      
      Signed-off-by: default avatarFugang Duan <B38611@freescale.com>
      Signed-off-by: default avatarShawn Guo <shawn.guo@freescale.com>
      3bc4d037
  13. Aug 18, 2014
Loading