Commit Graph

441545 Commits

Author SHA1 Message Date
Alexander Shiyan 7654874ebb ARM: i.MX27 clk: Add missing clocks for MSHC and RTIC
This patch adds missing clocks handling for the Memory Stick Host
Controller (MSHC) and Run-Time Integrity Checker (RTIC).

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-05-12 22:58:49 +08:00
Shawn Guo 886cda418b ARM: imx6q: add the missing esai_ahb clock
The esai_ahb clock is derived from ahb and used to provide ESAI the
capability of register accessing and FSYS clock source for I2S clocks
dividing.  The gate bits of this esai_ahb clock are shared with the
esai clock -- the baud clock, so we need to call imx_clk_gate2_shared()
for these two clocks.

Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-05-12 22:58:49 +08:00
Shawn Guo f9f28cdf21 ARM: imx: add shared gate clock support
It's quite common on i.MX that one gate bit controls the gating of
multiple clocks, i.e. this is a shared gate.  The patch adds the
function imx_clk_gate2_shared() for such case.  The clocks controlled
by the same gate bits should call this function with a pointer to a
single share count variable, so that the gate bits will only be
operated on the first enabling and the last disabling of these shared
gate clocks.

Thanks to Gerhard Sittig <gsi@denx.de> for this idea.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-05-12 22:58:48 +08:00
Shawn Guo 94b5c02882 ARM: imx: lock is always valid for clk_gate2
The imx specific clk_gate2 always has a valid lock with the clock.  So
the validation on gate->lock is not really needed.  Remove it.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-05-12 22:58:48 +08:00
Shawn Guo 54ee1471f8 ARM: imx: define struct clk_gate2 on our own
The imx clk-gate2 driver implements an i.MX specific gate clock, which
has two bits controlling the gate states.  While this is a completely
separate gate driver from the common clk-gate one, it reuses the common
clk_gate structure.  Such reusing makes the extending of clk_gate2
clumsy.  Let's define struct clk_gate2 on our own to make the driver
independent of the common clk-gate one, and ease the clk_gate2 extending
at a later time.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-05-12 22:58:48 +08:00
Alexander Shiyan 1e56f8945d ARM: i.MX: Remove #ifdef CONFIG_OF
CONFIG_OF is always selected for i.MX.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-05-12 22:58:47 +08:00
Shawn Guo 9dc34da67b ARM: imx_v6_v7_defconfig: enable option CONFIG_LOCALVERSION_AUTO
Option CONFIG_LOCALVERSION_AUTO is quite helpful to tell kernel version.
I do not see any reason why we should unset it.  Let's remove the unset
to have it enabled.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-05-12 22:58:47 +08:00
Shawn Guo 5f48c914b5 ARM: imx: drop CONFIG_MMC_UNSAFE_RESUME from defconfig
Since 2501c91 (mmc: core: Use MMC_UNSAFE_RESUME as default behavior),
CONFIG_MMC_UNSAFE_RESUME is not available anymore.  Drop it from imx
defconfig.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-05-12 22:58:46 +08:00
Iain Paton ee3387f97b ARM: imx6: clk: i.MX6 DualLite/Solo i2c4 clock
Compared to i.MX6 Quad/Dual the CCM_CCGR1 register in the i.MX6 Solo/DualLite
replaces the ecspi5 clock with the i2c4 clock.

Handle this difference using cpu_is_imx6dl().

Signed-off-by: Iain Paton <ipaton0@gmail.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-05-12 22:58:46 +08:00
Shawn Guo 4fcad49245 ARM: imx_v6_v7_defconfig: enable cpufreq and CMA support
- Enable imx6 cpufreq support with ondemand governor
 - Enable CMA support so that device like 1080p HDMI can work
 - Run savedefconfig

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-05-12 22:58:46 +08:00
Denis Carikli 656be7cfe5 ARM: imx_v6_v7_defconfig: Add more drm drivers.
The DRM_PANEL_SIMPLE is needed by the eukrea
mbimxsd51's displays.

Signed-off-by: Denis Carikli <denis@eukrea.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-04-30 13:40:28 +08:00
Fabio Estevam 84ffe9c0ed ARM: mxs_defconfig: Select CONFIG_CRYPTO_DEV_MXS_DCP
Let CONFIG_CRYPTO_DEV_MXS_DCP driver to be built by default.

Generated by doing:

make mxs_defconfig
Manually selected the CONFIG_CRYPTO_DEV_MXS_DCP driver
make savedefconfig
cp defconfig arch/arm/configs/mxs_defconfig

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-04-30 13:40:28 +08:00
Gilles Chanteperdrix 876292d667 ARM: imx: factor device tree timer initialization
Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-04-30 13:40:28 +08:00
Fabio Estevam bc02cd6982 ARM: imx: Remove mx51_babbage board file
The device tree version for the babbage board (imx51-babbage.dtb) has a more
complete support than the board file version, so remove the board file source
code.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-04-30 13:40:28 +08:00
Philipp Zabel 4849f25069 ARM: i.MX5: Remove outdated VPU clock lookups
CODA7 clock lookups are now defined in the device tree.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-04-30 13:40:27 +08:00
Denis Carikli 61a3f6e753 ARM: imx_v4_v5_defconfig: Enable drivers for i.MX25/i.MX35 USB support.
Signed-off-by: Denis Carikli <denis@eukrea.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-04-30 13:40:27 +08:00
Alexander Shiyan ddeef94e3a ARM: i.MX: mx21ads: Cleanup board
- Remove unused <asm/mach/time.h> inclusion.
- Use predefined constant for CS8900A base address.
- Use DEFINE_RES_MEM() macro for NOR flash resource.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2014-04-30 13:40:27 +08:00
Alexander Shiyan 6b961bad80 ARM: i.MX: mx21ads: Use fixed voltage regulator for LCD power
Instead of using init() and exit() hooks from framebuffer driver
to control power of LCD, introduce fixed voltage regulator for
this purpose.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2014-04-30 13:40:27 +08:00
Stefan Agner cfdb7d564c ARM: vf610: add UART choice for low-level debug
Add choice for low-level debug UART. Similar to i.MX6, there is a
numeric configuration, valid choices are 0 to 3.
Note that the kernel assumes that the boot loader initialized clock
properly.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2014-04-30 13:40:27 +08:00
Alexander Shiyan 477fbf1db8 ARM: i.MX: mx21ads: Replace direct handling of peripheral bits with GPIOs
This patch replaces direct handling of peripheral bits with GPIOs by
using basic-mmio-gpio driver. As a result this change eliminate some
low-level code and removes custom io_map() from the board.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2014-04-30 13:40:27 +08:00
Linus Torvalds d1db0eea85 Linux 3.15-rc3 2014-04-27 19:29:27 -07:00
Will Deacon ec6931b281 word-at-a-time: avoid undefined behaviour in zero_bytemask macro
The asm-generic, big-endian version of zero_bytemask creates a mask of
bytes preceding the first zero-byte by left shifting ~0ul based on the
position of the first zero byte.

Unfortunately, if the first (top) byte is zero, the output of
prep_zero_mask has only the top bit set, resulting in undefined C
behaviour as we shift left by an amount equal to the width of the type.
As it happens, GCC doesn't manage to spot this through the call to fls(),
but the issue remains if architectures choose to implement their shift
instructions differently.

An example would be arch/arm/ (AArch32), where LSL Rd, Rn, #32 results
in Rd == 0x0, whilst on arch/arm64 (AArch64) LSL Xd, Xn, #64 results in
Xd == Xn.

Rather than check explicitly for the problematic shift, this patch adds
an extra shift by 1, replacing fls with __fls. Since zero_bytemask is
never called with a zero argument (has_zero() is used to check the data
first), we don't need to worry about calling __fls(0), which is
undefined.

Cc: <stable@vger.kernel.org>
Cc: Victor Kamensky <victor.kamensky@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-04-27 15:20:05 -07:00
Linus Torvalds ac6c9e2bed Merge branch 'safe-dirty-tlb-flush'
This merges the patch to fix possible loss of dirty bit on munmap() or
madvice(DONTNEED).  If there are concurrent writers on other CPU's that
have the unmapped/unneeded page in their TLBs, their writes to the page
could possibly get lost if a third CPU raced with the TLB flush and did
a page_mkclean() before the page was fully written.

Admittedly, if you unmap() or madvice(DONTNEED) an area _while_ another
thread is still busy writing to it, you deserve all the lost writes you
could get.  But we kernel people hold ourselves to higher quality
standards than "crazy people deserve to lose", because, well, we've seen
people do all kinds of crazy things.

So let's get it right, just because we can, and we don't have to worry
about it.

* safe-dirty-tlb-flush:
  mm: split 'tlb_flush_mmu()' into tlb flushing and memory freeing parts
2014-04-27 15:08:12 -07:00
Linus Torvalds 33c0022f0e Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
Pull btrfs fixes from Chris Mason.

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
  Btrfs: limit the path size in send to PATH_MAX
  Btrfs: correctly set profile flags on seqlock retry
  Btrfs: use correct key when repeating search for extent item
  Btrfs: fix inode caching vs tree log
  Btrfs: fix possible memory leaks in open_ctree()
  Btrfs: avoid triggering bug_on() when we fail to start inode caching task
  Btrfs: move btrfs_{set,clear}_and_info() to ctree.h
  btrfs: replace error code from btrfs_drop_extents
  btrfs: Change the hole range to a more accurate value.
  btrfs: fix use-after-free in mount_subvol()
2014-04-27 13:26:28 -07:00
Linus Torvalds 2b9d1c050d Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
Pull arm fixes from Russell King:
 "A number of fixes for the PJ4/iwmmxt changes which arm-soc forced me
  to take during the merge window.  This stuff should have been better
  tested and sorted out *before* the merge window"

* 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
  ARM: 8042/1: iwmmxt: allow to build iWMMXt on Marvell PJ4B
  ARM: 8041/1: pj4: fix cpu_is_pj4 check
  ARM: 8040/1: pj4: properly detect existence of iWMMXt coprocessor
  ARM: 8039/1: pj4: enable iWMMXt only if CONFIG_IWMMXT is set
  ARM: 8038/1: iwmmxt: explicitly check for supported architectures
2014-04-27 12:55:04 -07:00