1. 19 9月, 2013 2 次提交
  2. 17 9月, 2013 3 次提交
    • J
      ARM: imx: i.mx6d/q: disable the double linefill feature of PL310 · 9779f0e1
      Jason Liu 提交于
      The L2 cache controller(PL310) version on the i.MX6D/Q is r3p1-50rel0
      The L2 cache controller(PL310) version on the i.MX6DL/SOLO/SL is r3p2
      But according to ARM PL310 errata: 752271
      ID: 752271: Double linefill feature can cause data corruption
      Fault Status: Present in: r3p0, r3p1, r3p1-50rel0. Fixed in r3p2
      Workaround: The only workaround to this erratum is to disable the
      double linefill feature. This is the default behavior.
      
      without this patch, you will meet the following error when run the
      memtester application at: http://pyropus.ca/software/memtester/
      
      FAILURE: 0x00100000 != 0x00200000 at offset 0x01365664.
      FAILURE: 0x00100000 != 0x00200000 at offset 0x01365668.
      FAILURE: 0x00100000 != 0x00200000 at offset 0x0136566c.
      FAILURE: 0x00100000 != 0x00200000 at offset 0x01365670.
      FAILURE: 0x00100000 != 0x00200000 at offset 0x01365674.
      FAILURE: 0x00100000 != 0x00200000 at offset 0x01365678.
      Signed-off-by: NJason Liu <r64343@freescale.com>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      9779f0e1
    • F
      ARM: mach-imx: clk-imx51-imx53: Fix 'spdif1_pred' clock registration · 5d5248a6
      Fabio Estevam 提交于
      Since commit beb2d1c1 (ARM i.MX5: Add S/PDIF clocks), the following clock
      error appears on mx51:
      
      TrustZone Interrupt Controller (TZIC) initialized
      i.MX51 clk 180: register failed with -17
      i.MX5 clk 180: register failed with -17
      sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
      CPU identified as i.MX51, silicon rev 3.0
      ...
      
      Clock 180 corresponds to 'spdif1_podf' and this clock is getting registered
      twice.
      
      Fix it, by properly registering the 'spdif1_pred' clock, which should not
      reference 'spdif1_podf'.
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      5d5248a6
    • S
      ARM: imx: initialize clk_init_data.flags for clk-fixup-mux · bdb1b5f2
      Shawn Guo 提交于
      The clk_init_data.flags of clk-fixup-mux is left there without
      initialization.  It may hold some random data and cause clock framework
      interpret the clock in an unexpected way.  At least on imx6sl, the
      following division by zero error with sched_clock is seen because of it.
      
      Division by zero in kernel.
      CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.11.0-rc3+ #19
      Backtrace:
      [<80011af0>] (dump_backtrace+0x0/0x10c) from [<80011c90>] (show_stack+0x18/0x1c)
       r6:3b9aca00 r5:00000020 r4:00000000 r3:00000000
      [<80011c78>] (show_stack+0x0/0x1c) from [<8055e02c>] (dump_stack+0x78/0x94)
      [<8055dfb4>] (dump_stack+0x0/0x94) from [<80011924>] (__div0+0x18/0x20)
       r4:00000000 r3:00000000
      [<8001190c>] (__div0+0x0/0x20) from [<8026c408>] (Ldiv0_64+0x8/0x18)
      [<8006330c>] (clocks_calc_mult_shift+0x0/0xf8) from [<8072f604>] (setup_sched_clock+0x88/0x1f0)
      [<8072f57c>] (setup_sched_clock+0x0/0x1f0) from [<8071ad48>] (mxc_timer_init+0xe8/0x17c)
      [<8071ac60>] (mxc_timer_init+0x0/0x17c) from [<807290b0>] (imx6sl_clocks_init+0x1db8/0x1dc0)
       r8:807a9ca4 r7:00000000 r6:80777564 r5:8100c1f4 r4:c0820000
      [<807272f8>] (imx6sl_clocks_init+0x0/0x1dc0) from [<807420ac>] (of_clk_init+0x40/0x6c)
      [<8074206c>] (of_clk_init+0x0/0x6c) from [<807290cc>] (imx6sl_timer_init+0x14/0x18)
       r5:807a8e80 r4:ffffffff
      [<807290b8>] (imx6sl_timer_init+0x0/0x18) from [<80716e1c>] (time_init+0x24/0x34)
      [<80716df8>] (time_init+0x0/0x34) from [<80713738>] (start_kernel+0x1b0/0x310)
      [<80713588>] (start_kernel+0x0/0x310) from [<80008074>] (0x80008074)
       r7:80770b08 r6:80754cd4 r5:8076c8c4 r4:10c53c7d
      sched_clock: 32 bits at 0 Hz, resolution 0ns, wraps every 0ms
      
      Fix the bug by initializing init.flags as zero.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      bdb1b5f2
  3. 30 8月, 2013 1 次提交
  4. 26 8月, 2013 1 次提交
  5. 22 8月, 2013 10 次提交
  6. 21 8月, 2013 1 次提交
  7. 20 8月, 2013 1 次提交
    • J
      clk: add CLK_SET_RATE_NO_REPARENT flag · 819c1de3
      James Hogan 提交于
      Add a CLK_SET_RATE_NO_REPARENT clock flag, which will prevent muxes
      being reparented during clk_set_rate.
      
      To avoid breaking existing platforms, all callers of clk_register_mux()
      are adjusted to pass the new flag. Platform maintainers are encouraged
      to remove the flag if they wish to allow mux reparenting on set_rate.
      Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
      Reviewed-by: NStephen Boyd <sboyd@codeaurora.org>
      Cc: Mike Turquette <mturquette@linaro.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Cc: Stephen Warren <swarren@wwwdotorg.org>
      Cc: Viresh Kumar <viresh.linux@gmail.com>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
      Cc: Chao Xie <xiechao.mail@gmail.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "Emilio López" <emilio@elopez.com.ar>
      Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
      Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
      Cc: Prashant Gaikwad <pgaikwad@nvidia.com>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Peter De Schrijver <pdeschrijver@nvidia.com>
      Cc: Pawel Moll <pawel.moll@arm.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Andrew Chew <achew@nvidia.com>
      Cc: Doug Anderson <dianders@chromium.org>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Paul Walmsley <pwalmsley@nvidia.com>
      Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
      Cc: Thomas Abraham <thomas.abraham@linaro.org>
      Cc: Tomasz Figa <t.figa@samsung.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: spear-devel@list.st.com
      Cc: linux-tegra@vger.kernel.org
      Tested-by: NHaojian Zhuang <haojian.zhuang@gmail.com>
      Acked-by: Stephen Warren <swarren@nvidia.com> [tegra]
      Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> [sunxi]
      Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com> [Zynq]
      Signed-off-by: NMike Turquette <mturquette@linaro.org>
      819c1de3
  8. 16 8月, 2013 13 次提交
  9. 03 8月, 2013 1 次提交
  10. 15 7月, 2013 4 次提交
    • S
      ARM: imx: fix vf610 enet module clock selection · 4f71612e
      Shawn Guo 提交于
      The fec/enet driver calculates MDC rate with the formula below.
      
        ref_freq / ((MII_SPEED + 1) x 2)
      
      The ref_freq here is the fec internal module clock, which is missing
      from clk-vf610 clock driver right now.  And clk-vf610 driver mistakenly
      supplies RMII clock (50 MHz) as the source to fec.  This results in the
      situation that fec driver gets ref_freq as 50 MHz, while physically it
      runs at 66 MHz (fec module clock physically sources from ipg which runs
      at 66 MHz).  That's why software expects MDC runs at 2.5 MHz, while the
      measurement tells it runs at 3.3 MHz.  And this causes the PHY KSZ8041
      keeps swithing between Full and Half mode as below.
      
        libphy: 400d0000.etherne:00 - Link is Up - 100/Full
        libphy: 400d0000.etherne:00 - Link is Up - 100/Half
        libphy: 400d0000.etherne:00 - Link is Up - 100/Full
        libphy: 400d0000.etherne:00 - Link is Up - 100/Half
        libphy: 400d0000.etherne:00 - Link is Up - 100/Full
        libphy: 400d0000.etherne:00 - Link is Up - 100/Half
      
      Add the missing module clock for ENET0 and ENET1, and correct the clock
      supplying in device tree to fix above issue.
      
      Thanks to Alison Wang <b18965@freescale.com> for debugging the issue.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      4f71612e
    • L
      ARM: i.MX6Q: correct emi_sel clock muxing · 3b79cd15
      Liu Ying 提交于
      The correct muxing for emi_sel clock should be
      2b'00 - 396M PFD
      2b'01 - PLL3
      2b'10 - AXI clk root
      2b'11 - 352M PFD
      
      This patch corrects the muxing in the clock driver.
      Signed-off-by: NLiu Ying <Ying.Liu@freescale.com>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Acked-by: NDirk Behme <dirk.behme@de.bosch.com>
      3b79cd15
    • A
      ARM: i.MX27: Typo fix · 0d5ca6d9
      Alexander Shiyan 提交于
      Signed-off-by: NAlexander Shiyan <shc_work@mail.ru>
      Acked-by: NSascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      0d5ca6d9
    • P
      arm: delete __cpuinit/__CPUINIT usage from all ARM users · 8bd26e3a
      Paul Gortmaker 提交于
      The __cpuinit type of throwaway sections might have made sense
      some time ago when RAM was more constrained, but now the savings
      do not offset the cost and complications.  For example, the fix in
      commit 5e427ec2 ("x86: Fix bit corruption at CPU resume time")
      is a good example of the nasty type of bugs that can be created
      with improper use of the various __init prefixes.
      
      After a discussion on LKML[1] it was decided that cpuinit should go
      the way of devinit and be phased out.  Once all the users are gone,
      we can then finally remove the macros themselves from linux/init.h.
      
      Note that some harmless section mismatch warnings may result, since
      notify_cpu_starting() and cpu_up() are arch independent (kernel/cpu.c)
      and are flagged as __cpuinit  -- so if we remove the __cpuinit from
      the arch specific callers, we will also get section mismatch warnings.
      As an intermediate step, we intend to turn the linux/init.h cpuinit
      related content into no-ops as early as possible, since that will get
      rid of these warnings.  In any case, they are temporary and harmless.
      
      This removes all the ARM uses of the __cpuinit macros from C code,
      and all __CPUINIT from assembly code.  It also had two ".previous"
      section statements that were paired off against __CPUINIT
      (aka .section ".cpuinit.text") that also get removed here.
      
      [1] https://lkml.org/lkml/2013/5/20/589
      
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      8bd26e3a
  11. 10 7月, 2013 1 次提交
  12. 27 6月, 2013 1 次提交
  13. 25 6月, 2013 1 次提交