1. 05 2月, 2015 1 次提交
  2. 04 2月, 2015 2 次提交
    • S
      clk: mxs: Fix invalid 32-bit access to frac registers · 039e5970
      Stefan Wahren 提交于
      According to i.MX23 and i.MX28 reference manual [1],[2] the fractional
      clock control register is 32-bit wide, but is separated in 4 parts.
      So write instructions must not apply to more than 1 part at once.
      
      The clk init for the i.MX28 violates this restriction and all the other
      accesses on that register suggest that there isn't such a restriction.
      
      This patch restricts the access to this register to byte instructions and
      extends the comment in the init functions.
      
      Btw the imx23 init now uses a R-M-W sequence just like imx28 init
      to avoid any clock glitches.
      
      The changes has been tested with a i.MX23 and a i.MX28 board.
      
      [1] - http://cache.freescale.com/files/dsp/doc/ref_manual/IMX23RM.pdf
      [2] - http://cache.freescale.com/files/dsp/doc/ref_manual/MCIMX28RM.pdfSigned-off-by: NStefan Wahren <stefan.wahren@i2se.com>
      Reviewed-by: NMarek Vasut <marex@denx.de>
      Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NMichael Turquette <mturquette@linaro.org>
      039e5970
    • A
      clk: omap: compile legacy omap3 clocks conditionally · 6793a30a
      Arnd Bergmann 提交于
      The 'ARM: OMAP3: legacy clock data move under clk driver' patch series
      causes build errors when CONFIG_OMAP3 is not set:
      
      drivers/clk/ti/dpll.c: In function 'ti_clk_register_dpll':
      drivers/clk/ti/dpll.c:199:31: error: 'omap3_dpll_ck_ops' undeclared (first use in this function)
        const struct clk_ops *ops = &omap3_dpll_ck_ops;
                                     ^
      drivers/clk/ti/dpll.c:199:31: note: each undeclared identifier is reported only once for each function it appears in
      drivers/clk/ti/dpll.c:259:10: error: 'omap3_dpll_per_ck_ops' undeclared (first use in this function)
         ops = &omap3_dpll_per_ck_ops;
                ^
      
      drivers/built-in.o: In function `ti_clk_register_gate':
      drivers/clk/ti/gate.c:179: undefined reference to `clkhwops_omap3430es2_dss_usbhost_wait'
      drivers/clk/ti/gate.c:179: undefined reference to `clkhwops_am35xx_ipss_module_wait'
      -in.o: In function `ti_clk_register_interface':
      drivers/clk/ti/interface.c:100: undefined reference to `clkhwops_omap3430es2_iclk_hsotgusb_wait'
      drivers/clk/ti/interface.c:100: undefined reference to `clkhwops_omap3430es2_iclk_dss_usbhost_wait'
      drivers/clk/ti/interface.c:100: undefined reference to `clkhwops_omap3430es2_iclk_ssi_wait'
      drivers/clk/ti/interface.c:100: undefined reference to `clkhwops_am35xx_ipss_wait'
      drivers/built-in.o: In function `ti_clk_register_composite':
      :(.text+0x3da768): undefined reference to `ti_clk_build_component_gate'
      
      In order to fix that problem, this patch makes the omap3 legacy code
      compiled only when both CONFIG_OMAP3 and CONFIG_ATAGS are set.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NMichael Turquette <mturquette@linaro.org>
      6793a30a
  3. 03 2月, 2015 10 次提交
  4. 02 2月, 2015 14 次提交
    • M
      clk: tegra: Define PLLD_DSI and remove dsia(b)_mux · b270491e
      Mark Zhang 提交于
      PLLD is the only parent for DSIA & DSIB on Tegra124 and
      Tegra132. Besides, BIT 30 in PLLD_MISC register controls
      the output of DSI clock.
      
      So this patch removes "dsia_mux" & "dsib_mux", and create
      a new clock "plld_dsi" to represent the DSI clock enable
      control.
      Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
      Signed-off-by: NMark Zhang <markz@nvidia.com>
      b270491e
    • P
      clk: tegra: Add support for the Tegra132 CAR IP block · 08acae34
      Paul Walmsley 提交于
      Tegra132 CAR supports almost the same clocks as Tegra124 CAR. This
      patch mostly deals with the small differences.
      
      Since Tegra132 contains many of the same PLL clock sources used on
      Tegra114 and Tegra124, enable them in drivers/clk/tegra/clk-pll.c when
      the kernel is configured to include Tegra132 support.
      
      This patch is based on several patches from others:
      
      1. a  patch from Peter De Schrijver:
      
      http://lkml.iu.edu/hypermail/linux/kernel/1407.1/06094.html
      
      2. a patch from Bill Huang ("clk: tegra: enable cclk_g at boot on
      Tegra132"), and
      
      3. a patch from Allen Martin ("clk: Enable tegra clock driver for
      tegra132").
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NPaul Walmsley <pwalmsley@nvidia.com>
      Cc: Peter De Schrijver <pdeschrijver@nvidia.com>
      Cc: Allen Martin <amartin@nvidia.com>
      Cc: Prashant Gaikwad <pgaikwad@nvidia.com>
      Cc: Stephen Warren <swarren@wwwdotorg.org>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: Bill Huang <bilhuang@nvidia.com>
      Cc: Mike Turquette <mturquette@linaro.org>
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      08acae34
    • P
      clk: tegra: Update binding doc for Tegra132 · 4ef0f2fd
      Peter De Schrijver 提交于
      Tegra132 has almost the same clock structure than Tegra124. This patch
      documents the missing clock IDs.
      Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
      [paul@pwsan.com: updated binding documentation to reflect the recent
       split of Tegra124 clock IDs into a Tegra124/132-common file and a
       Tegra124-specific file]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NPaul Walmsley <pwalmsley@nvidia.com>
      Cc: Stephen Warren <swarren@wwwdotorg.org>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: Rob Herring <robh+dt@kernel.org>
      Cc: Pawel Moll <pawel.moll@arm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
      Cc: Kumar Gala <galak@codeaurora.org>
      4ef0f2fd
    • P
      clk: tegra: split Tegra124 clock header file · 3fdd5972
      Paul Walmsley 提交于
      Split the Tegra124 clock macros into two files:
      
      1. Clock macros common to both Tegra124 and Tegra132
      2. Clock macros specific to Tegra124
      
      This was requested by Thierry in Message-ID
      <20140716072539.GD7978@ulmo>.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NPaul Walmsley <pwalmsley@nvidia.com>
      Cc: Peter De Schrijver <pdeschrijver@nvidia.com>
      Cc: Rob Herring <robh+dt@kernel.org>
      Cc: Pawel Moll <pawel.moll@arm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
      Cc: Kumar Gala <galak@codeaurora.org>
      Cc: Stephen Warren <swarren@wwwdotorg.org>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      3fdd5972
    • P
      clk: tegra: make tegra_clocks_apply_init_table() arch_initcall · d0a57bd5
      Peter De Schrijver 提交于
      tegra_clocks_apply_init_table() needs to be called after the udelay
      loop has been calibrated (see commit
      441f199a ("clk: tegra: defer
      application of init table") for why that is).  On existing Tegra SoCs
      this was done by calling tegra_clocks_apply_init_table() from
      tegra_dt_init(). To make this also work on ARM64, we need to change
      this into an initcall. tegra_dt_init() is called from
      customize_machine which is an arch_initcall. Therefore this should
      also work on existing 32bit Tegra SoCs.
      
      Tested on Tegra20 (ventana), Tegra30 (beaverboard), Tegra124 (jetson TK1) and
      Tegra132.
      Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
      [paul@pwsan.com: tweaked the commit message]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NPaul Walmsley <pwalmsley@nvidia.com>
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Prashant Gaikwad <pgaikwad@nvidia.com>
      Cc: Mike Turquette <mturquette@linaro.org>
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Cc: Stephen Warren <swarren@wwwdotorg.org>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      d0a57bd5
    • T
      clk: tegra: Fix order of arguments in WARN · ca036b26
      Tomeu Vizoso 提交于
      As previously the names of the present clock and its parent were swapped.
      Signed-off-by: NTomeu Vizoso <tomeu.vizoso@collabora.com>
      Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
      ca036b26
    • S
      clk: tegra124: Add init data for dsi lp clocks · f892f24b
      Sean Paul 提交于
      Set the parent of the dsi lp clocks to pll_p and the rate
      to 68MHz. The default parent is clk_m and rate is 12MHz, this
      is too slow to receive data from the peripheral.
      
      Per NVidia HW engineers, the optimal rate is 70MHz, but 68MHz
      will suffice.
      Signed-off-by: NSean Paul <seanpaul@chromium.org>
      Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
      f892f24b
    • A
      clk: tegra: SDMMC controllers are on APB · 18abd163
      Andrew Bresticker 提交于
      Since the SDMMC controller registers are accessed via the APB,
      the APB must be flushed before gating the SDMMC clocks to prevent
      register accesses to the SDMMC controllers after their clocks are
      gated.
      Signed-off-by: NAndrew Bresticker <abrestic@chromium.org>
      Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
      18abd163
    • L
      Linux 3.19-rc7 · e36f014e
      Linus Torvalds 提交于
      e36f014e
    • L
      Merge tag 'armsoc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · fba7e994
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Olof Johansson:
       "One more week's worth of fixes.  Worth pointing out here are:
      
         - A patch fixing detaching of iommu registrations when a device is
           removed -- earlier the ops pointer wasn't managed properly
         - Another set of Renesas boards get the same GIC setup fixup as
           others have in previous -rcs
         - Serial port aliases fixups for sunxi.  We did the same to tegra but
           we caught that in time before the merge window due to more machines
           being affected.  Here it took longer for anyone to notice.
         - A couple more DT tweaks on sunxi
         - A follow-up patch for the mvebu coherency disabling in last -rc
           batch"
      
      * tag 'armsoc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        arm: dma-mapping: Set DMA IOMMU ops in arm_iommu_attach_device()
        ARM: shmobile: r8a7790: Instantiate GIC from C board code in legacy builds
        ARM: shmobile: r8a73a4: Instantiate GIC from C board code in legacy builds
        ARM: mvebu: don't set the PL310 in I/O coherency mode when I/O coherency is disabled
        ARM: sunxi: dt: Fix aliases
        ARM: dts: sun4i: Add simplefb node with de_fe0-de_be0-lcd0-hdmi pipeline
        ARM: dts: sun6i: ippo-q8h-v5: Fix serial0 alias
        ARM: dts: sunxi: Fix usb-phy support for sun4i/sun5i
      fba7e994
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 3441456b
      Linus Torvalds 提交于
      Pull input layer updates from Dmitry Torokhov:
       "Just a few quirks for PS/2 this time"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: elantech - add more Fujtisu notebooks to force crc_enabled
        Input: i8042 - add noloop quirk for Medion Akoya E7225 (MD98857)
        Input: synaptics - adjust min/max for Lenovo ThinkPad X1 Carbon 2nd
      3441456b
    • L
      sched: don't cause task state changes in nested sleep debugging · 00845eb9
      Linus Torvalds 提交于
      Commit 8eb23b9f ("sched: Debug nested sleeps") added code to report
      on nested sleep conditions, which we generally want to avoid because the
      inner sleeping operation can re-set the thread state to TASK_RUNNING,
      but that will then cause the outer sleep loop not actually sleep when it
      calls schedule.
      
      However, that's actually valid traditional behavior, with the inner
      sleep being some fairly rare case (like taking a sleeping lock that
      normally doesn't actually need to sleep).
      
      And the debug code would actually change the state of the task to
      TASK_RUNNING internally, which makes that kind of traditional and
      working code not work at all, because now the nested sleep doesn't just
      sometimes cause the outer one to not block, but will cause it to happen
      every time.
      
      In particular, it will cause the cardbus kernel daemon (pccardd) to
      basically busy-loop doing scheduling, converting a laptop into a heater,
      as reported by Bruno Prémont.  But there may be other legacy uses of
      that nested sleep model in other drivers that are also likely to never
      get converted to the new model.
      
      This fixes both cases:
      
       - don't set TASK_RUNNING when the nested condition happens (note: even
         if WARN_ONCE() only _warns_ once, the return value isn't whether the
         warning happened, but whether the condition for the warning was true.
         So despite the warning only happening once, the "if (WARN_ON(..))"
         would trigger for every nested sleep.
      
       - in the cases where we knowingly disable the warning by using
         "sched_annotate_sleep()", don't change the task state (that is used
         for all core scheduling decisions), instead use '->task_state_change'
         that is used for the debugging decision itself.
      
      (Credit for the second part of the fix goes to Oleg Nesterov: "Can't we
      avoid this subtle change in behaviour DEBUG_ATOMIC_SLEEP adds?" with the
      suggested change to use 'task_state_change' as part of the test)
      Reported-and-bisected-by: NBruno Prémont <bonbons@linux-vserver.org>
      Tested-by: NRafael J Wysocki <rjw@rjwysocki.net>
      Acked-by: NOleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>,
      Cc: Ilya Dryomov <ilya.dryomov@inktank.com>,
      Cc: Mike Galbraith <umgwanakikbuti@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Peter Hurley <peter@hurleysoftware.com>,
      Cc: Davidlohr Bueso <dave@stgolabs.net>,
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      00845eb9
    • R
      Input: elantech - add more Fujtisu notebooks to force crc_enabled · 47c1ffb2
      Rainer Koenig 提交于
      Add two more Fujitsu LIFEBOOK models that also ship with the Elantech
      touchpad and don't work with crc_disabled to the quirk list.
      Signed-off-by: NRainer Koenig <Rainer.Koenig@ts.fujitsu.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      47c1ffb2
    • O
      Merge tag 'renesas-soc-fixes3-for-v3.19' of... · 28111dda
      Olof Johansson 提交于
      Merge tag 'renesas-soc-fixes3-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes
      
      Merge "Third Round of Renesas ARM Based SoC Fixes for v3.19" from Simon Horman:
      
      * Instantiate GIC from C board code in legacy builds on r8a7790 and r8a73a4
      
      * tag 'renesas-soc-fixes3-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
        ARM: shmobile: r8a7790: Instantiate GIC from C board code in legacy builds
        ARM: shmobile: r8a73a4: Instantiate GIC from C board code in legacy builds
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      28111dda
  5. 01 2月, 2015 1 次提交
  6. 31 1月, 2015 12 次提交