1. Oct 31, 2011
  2. Oct 25, 2011
    • Paul Bolle's avatar
      5328ecbb
    • Matt Burtch's avatar
      ARM: i.MX28: shift frac value in _CLK_SET_RATE · 590842f9
      Matt Burtch authored
      
      
      Noticed when setting SSP0 in clk_set_rate, _CLK_SET_RATE attempts to
      reset the clock divider for the SSP0 parent clock, in this case
      IO0FRAC. Bits 24-29 of HW_CLKCTRL_FRAC0 are cleared correctly, but
      when the new frac value is written the value isn't shifted up to write
      the correct bit-field.  This results in IO0FRAC being set to 0 and
      CPUFRAC being corrupted.
      
      This should occur when writing IO1FRAC, EMIFRAC in HW_CLKCTRL_FRAC0
      and GPMIFRAC, HSADCFRAC in HW_CLKCTRL_FRAC1.
      
      Tested on custom i.MX28 board with SSP0 SPI driver.
      
      Signed-off-by: default avatarMatt Burtch <matt@grid-net.com>
      Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      590842f9
    • Paul Fertser's avatar
      plat-mxc: iomux-v3.h: implicitly enable pull-up/down when that's desired · 6571534b
      Paul Fertser authored
      
      
      To configure pads during the initialisation a set of special constants
      is used, e.g.
      #define MX25_PAD_FEC_MDIO__FEC_MDIO IOMUX_PAD(0x3c4, 0x1cc, 0x10, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_22K_UP)
      
      The problem is that no pull-up/down is getting activated unless both
      PAD_CTL_PUE (pull-up enable) and PAD_CTL_PKE (pull/keeper module
      enable) set. This is clearly stated in the i.MX25 datasheet and is
      confirmed by the measurements on hardware. This leads to some rather
      hard to understand bugs such as misdetecting an absent ethernet PHY (a
      real bug i had), unstable data transfer etc. This might affect mx25,
      mx35, mx50, mx51 and mx53 SoCs.
      
      It's reasonable to expect that if the pullup value is specified, the
      intention was to have it actually active, so we implicitly add the
      needed bits.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarPaul Fertser <fercerpav@gmail.com>
      Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      6571534b
  3. Oct 09, 2011
    • Arnd Bergmann's avatar
      Merge branch 'fixes' into next/fixes · 589a66da
      Arnd Bergmann authored
      589a66da
    • Arnd Bergmann's avatar
      Merge branch 'imx/fixes' into next/fixes · 32d80f97
      Arnd Bergmann authored
      32d80f97
    • Arnaud Patard (Rtp)'s avatar
      ARM: mx5: fix clock usage for suspend · 100aafc9
      Arnaud Patard (Rtp) authored
      
      
      While suspending, we're enabling a clock in ->suspend() but we're in atomic
      context, leading to this :
      
      [30803.667305] PM: late suspend of devices complete after 1.237 msecs
      [30803.667449] BUG: sleeping function called from invalid context at kernel/mutex.c:271
      [30803.667464] in_atomic(): 0, irqs_disabled(): 128, pid: 4941, name: pm-suspend
      [30803.667474] INFO: lockdep is turned off.
      [30803.667483] irq event stamp: 0
      [30803.667489] hardirqs last  enabled at (0): [<  (null)>]   (null)
      [30803.667503] hardirqs last disabled at (0): [<c001e4a8>] copy_process.part.48+0x1e0/0xa7c
      [30803.667543] softirqs last  enabled at (0): [<c001e4a8>] copy_process.part.48+0x1e0/0xa7c
      [30803.667562] softirqs last disabled at (0): [<  (null)>]   (null)
      [30803.667574] Backtrace:
      [30803.667611] [<c0010e00>] (dump_backtrace+0x0/0x110) from [<c0424c00>] (dump_stack+0x18/0x1c)
      [30803.667624]  r6:00000000 r5:00000000 r4:d9648000 r3:d9648000
      [30803.667652] [<c0424be8>] (dump_stack+0x0/0x1c) from [<c0424eec>] (__might_sleep.part.101+0x90/0xa8)
      [30803.667673] [<c0424e5c>] (__might_sleep.part.101+0x0/0xa8) from [<c001a5c4>] (__might_sleep+0x80/0x94)
      [30803.667686]  r4:c05d58c0
      [30803.667705] [<c001a544>] (__might_sleep+0x0/0x94) from [<c043230c>] (mutex_lock_nested+0x2c/0x30c)
      [30803.667735] [<c04322e0>] (mutex_lock_nested+0x0/0x30c) from [<c0017834>] (clk_enable+0x28/0x50)
      [30803.667747]  r8:c0438464 r7:00000003 r6:00000000 r5:00000000 r4:c05d2e98
      [30803.667780] [<c001780c>] (clk_enable+0x0/0x50) from [<c0017260>] (mx5_suspend_enter+0x1c/0x98)
      [30803.667792]  r4:00000003 r3:c060dfe0
      [30803.667821] [<c0017244>] (mx5_suspend_enter+0x0/0x98) from [<c0059b48>] (suspend_enter+0xec/0x15c)
      [30803.667833]  r4:00000003 r3:c0017244
      [30803.667856] [<c0059a5c>] (suspend_enter+0x0/0x15c) from [<c0059c4c>] (suspend_devices_and_enter+0x94/0x130)
      [30803.667868]  r6:00000000 r5:00000003 r4:c0c0af00 r3:00002710
      [30803.667897] [<c0059bb8>] (suspend_devices_and_enter+0x0/0x130) from [<c0059db0>] (enter_state+0xc8/0x130)
      [30803.667909]  r6:00000000 r5:00000003 r4:c05286e4
      [30803.667934] [<c0059ce8>] (enter_state+0x0/0x130) from [<c00592d4>] (state_store+0xac/0xc0)
      [30803.667945]  r6:00000003 r5:00000003 r4:df39d000 r3:00000003
      [30803.667978] [<c0059228>] (state_store+0x0/0xc0) from [<c01b0100>] (kobj_attr_store+0x1c/0x28)
      [30803.668009] [<c01b00e4>] (kobj_attr_store+0x0/0x28) from [<c00e435c>] (sysfs_write_file+0x88/0xbc)
      [30803.668032] [<c00e42d4>] (sysfs_write_file+0x0/0xbc) from [<c0091fa0>] (vfs_write+0xbc/0x138)
      [30803.668051] [<c0091ee4>] (vfs_write+0x0/0x138) from [<c0092204>] (sys_write+0x44/0x70)
      [30803.668062]  r8:00000000 r7:00000004 r6:00000003 r5:002694d0 r4:d966acc0
      [30803.668094] [<c00921c0>] (sys_write+0x0/0x70) from [<c000db00>] (ret_fast_syscall+0x0/0x3c)
      [30803.668106]  r9:d9648000 r8:c000dcc4 r6:00000001 r5:002694d0 r4:00000003
      [30803.669927] PM: early resume of devices complete after 0.972 msecs
      
      Just move the clk_enable/disable in ->prepare() and ->finish()
      
      Signed-off-by: default avatarArnaud Patard <arnaud.patard@rtp-net.org>
      Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      100aafc9
  4. Oct 08, 2011
  5. Oct 07, 2011
  6. Oct 05, 2011
  7. Oct 04, 2011