_install_special_mapping allows the VMA to be identifed in
/proc/pid/maps without the use of arch_vma_name, providing a
slight net reduction in object size:
text data bss dec hex filename
2996 96 144 3236 ca4 arch/arm/kernel/process.o (before)
2956 104 144 3204 c84 arch/arm/kernel/process.o (after)
Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
If we are not changing the control register value, avoid writing to it.
Writes to the control register can be very expensive, taking around a
hundred cycles or so.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Use the more common pr_warn.
Other miscellanea:
o Coalesce formats
o Realign arguments
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
When we catch something that's not a permission fault or a translation
fault, we log the unsupported FSC in the kernel log, but we were masking
off the bottom bits of the FSC which was not very helpful.
Also correctly report the FSC for data and instruction faults rather
than telling people it was a DFCS, which doesn't exist in the ARM ARM.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
The current aarch64 calculation for VTTBR_BADDR_MASK masks only 39 bits
and not all the bits in the PA range. This is clearly a bug that
manifests itself on systems that allocate memory in the higher address
space range.
[ Modified from Joel's original patch to be based on PHYS_MASK_SHIFT
instead of a hard-coded value and to move the alignment check of the
allocation to mmu.c. Also added a comment explaining why we hardcode
the IPA range and changed the stage-2 pgd allocation to be based on
the 40 bit IPA range instead of the maximum possible 48 bit PA range.
- Christoffer ]
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Joel Schopp <joel.schopp@amd.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Apparently most of the newly added nodes had the same problem,
so instead of reverting the individual patches, this undoes
the effect of the merge and backs out all of them at once.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Two of the recent patches each added support for CPU_FREQ, which
causes a kconfig warning:
arch/arm/configs/multi_v7_defconfig:443:warning: override: reassigning to symbol CPU_FREQ
This removes one of the two in order to avoid the warning.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The newly introduced support for SAMA5D4 added access to the
'AT91_ALT_BASE_SYS' register area, but failed to define the
symbols in the case when CONFIG_MMU is disabled.
We really should not hardwire addresses like this any more,
but as a small fixup, this patch just adds the missing
definitions for the nommu case, which gets at91x40_defconfig
and any configuration of sam9 and sama5 with MMU disabled
back to work.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 726d32bf79 ("ARM: at91: SAMA5D4 SoC detection code and low ...")
This reverts commit 610bd8722e.
"ARM: dts: hix5hd2: add wdg node" causes a build breakage due to
an undefined constatns:
Error: arch/arm/boot/dts/hisi-x5hd2.dtsi:374.22-23 syntax error
(Don't you just looove the dtc error messages? They are so informative!)
Signed-off-by: Olof Johansson <olof@lixom.net>
Pull "Fixes non critical for AT91" from Nicolas Ferre:
- mmc pinmux for at91sam9263 was missing
- little fix of the old clock implementation
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'at91-fixes-non-critical' of git://github.com/at91linux/linux-at91:
ARM: at91/PMC: don't forget to write PMC_PCDR register to disable clocks
ARM: at91: fix at91sam9263ek DT mmc pinmuxing settings
The ASM below does not compile with clang and is not the way that the mcr
command is used in other parts of the kernel.
arch/arm/mach-vt8500/vt8500.c:72:11: error: invalid % escape in inline assembly string
asm("mcr%? p15, 0, %0, c7, c0, 4" : : "r" (0));
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
There are other forms that are supported on different ARM instruction sets but
generally the kernel just uses mcr as it is supported in all ARM instruction
sets.
Signed-off-by: Behan Webster <behanw@converseincode.com>
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: Tony Prisk <linux@prisktech.co.nz>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Add all HW-support options from tegra_defconfig that are missing from
multi_v7_defconfig.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Pull "Samsung DT update for 3.18" from Kukjin Kim:
- un-use slot-node and deprecate the supports-highspped
for dw-mmc
- remove old USB2 PHY node for exynos5250
- exynos4412-odroid-common
enable PMIC interrupt and i2c improvements
- exynos5250-snow
fold exynos5250-cros-common
update display related nodes
- Peach Pit and Pi
improve power scheme, add support max77802 PMIC,
add hdmi regulators add thermistor, ISL29018 sensor,
set i2c clock at 400kHz, add support Atmel touchpad,
update display related nodes
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: dts: remove old USB2 PHY node for exynos5250
ARM: dts: remove old USB2 PHY node hook for exynos5250-arndale
ARM: dts: update display related nodes for exynos5800-peach-pi
ARM: dts: update display related nodes for exynos5420-peach-pit
ARM: dts: update display related nodes for exynos5250-snow
ARM: dts: Add support Atmel touchpad for exynos5800-peach-pi
ARM: dts: Add support Atmel touchpad for exynos5420-peach-pit
ARM: dts: Set i2c7 clock at 400kHz for exynos based Peach boards
ARM: dts: Add ISL29018 sensor for exynos based Peach boards
ARM: dts: Add thermistor dts fragment used by exynos based Peach boards
ARM: dts: add hdmi regulators for exynos5420-peach-pit
ARM: dts: add hdmi regulators for exynos5800-peach-pi
ARM: dts: Add support max77802 PMIC for exynos based Peach boards
ARM: dts: Improve Peach Pit and Pi power scheme
ARM: dts: unuse the slot-node and deprecate the supports-highspeed for dw-mmc in exynos
ARM: dts: Fold exynos5250-cros-common into exynos5250-snow
ARM: dts: Fix MMC pinctrl for exynos5250-snow
ARM: dts: ODROID i2c improvements for exynos4412-odroid-common
ARM: dts: Enable PMIC interrupts for exynos4412-odroid-common
Add dt for rk3288 i2s controller, since i2s clock pins and data pins
default to be GPIO, this patch also add pinctrl to mux them.
Tested on RK3288 board.
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Pull "Second SoC batch for 3.18" from Nicolas Ferre:
- introduction of the new SAMA5D4 SoC and associated Evaluation Kit
- low level soc detection and early printk code
- taking advantage of this, documentation of all AT91 SoC DT strings
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'at91-soc2' of git://github.com/at91linux/linux-at91:
ARM: at91: document Atmel SMART compatibles
ARM: at91: add sama5d4 support to sama5_defconfig
ARM: at91: dt: add device tree file for SAMA5D4ek board
ARM: at91: dt: add device tree file for SAMA5D4 SoC
ARM: at91: SAMA5D4 SoC detection code and low level routines
ARM: at91: introduce basic SAMA5D4 support
clk: at91: add a driver for the h32mx clock
The soc2 branch is based on this cleanup:
* at91/soc:
ARM: at91: Remove the support for the RSI EWS board
ARM: at91: remove board file for Acme Systems Fox G20
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Pull "First AT91 SoC batch for 3.18" from Nicolas Ferre:
- removal of 2 board C files in mach-at91
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'at91-soc' of git://github.com/at91linux/linux-at91:
ARM: at91: Remove the support for the RSI EWS board
ARM: at91: remove board file for Acme Systems Fox G20
Pull "Clean-up for omaps for v3.18 merge window" from Tony Lindgren:
- Remove unused pieces of the legacy DMA API as we're moving to
dmaengine API
- Search and replace to standardize on pr_warn instead of pr_warning
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
arm: mach-omap2: Convert pr_warning to pr_warn
ARM: OMAP: Remove unused pieces of legacy DMA API
Pull "part 2 of omap SoC changes" from Tony Lindgren:
Few hwmod changes to support upcoming 8250 driver with DMA,
start using the SRAM driver for some omaps, and update the
defconfig.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'soc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP4+: Remove static iotable mappings for SRAM
ARM: OMAP4+: Move SRAM data to DT
ARM: AM335x: Get rid of unused sram init function
ARM: omap2plus_defconfig: Enable some display features
ARM: omap2plus_defconfig: Enable battery and reset drivers
ARM: omap2plus_defconfig: Add support for distros with systemd
ARM: omap2plus_defconfig: Add cpufreq to defconfig
ARM: omap2plus_defconfig: Shrink with savedefconfig
ARM: OMAP3: Use manual idle for UARTs because of DMA errata
ARM: OMAP2+: Add hwmod flag for HWMOD_RECONFIG_IO_CHAIN
Merge "part 2 of omap intc changes" from Tony Lindgren:
Second part of omap intc interrupt controller changes to
move it to drivers.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'intc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
irqchip: omap-intc: remove unnecessary comments
irqchip: omap-intc: correct maximum number or MIR registers
irqchip: omap-intc: enable TURBO idle mode
irqchip: omap-intc: enable IP protection
irqchip: omap-intc: remove unnecesary of_address_to_resource() call
irqchip: omap-intc: comment style cleanup
irqchip: omap-intc: minor improvement to omap_irq_pending()
arm: omap: irq: move irq.c to drivers/irqchip/
irqchip: add irq-omap-intc.h header
arm: omap2: n8x0: move i2c devices to DT
... for V2M-P1 motherboard CLCD (limited to 640x480 16bpp and using
dedicated video RAM bank) and for V2P-CA9 (up to 1024x768 16bpp).
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge "ARM: BCM: Broadcom BCM63138 support" from Florian Fainelli:
This patchset adds very minimal support for the BCM63138 SoC which is
a xDSL SoC using a dual Cortex A9 CPU complex.
* tag 'bcm63138-v4' of http://github.com/brcm/linux:
MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs
ARM: BCM63XX: add BCM963138DVT Reference platform DTS
ARM: BCM63XX: add BCM63138 minimal Device Tree
ARM: BCM63XX: add low-level UART debug support
ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC
Conflicts:
arch/arm/Kconfig.debug
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Max_Read_Request_Size is 3 bits wide, not 2 bits.
Also fix the message.
Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Without this patch, each root port and the device connected directly to it seem
to be located on a shared (virtual) bus #0. It creates problems with enabling
devices (the PCI code doesn't know that the root bridge must be enabled in order
to access other devices).
The PCIe topology shown by lspci doesn't reflect reality, e.g.:
0000:00:00.0 PCI bridge: Cavium Networks Device 3400
0000:00:01.0 PCI bridge: Texas Instruments XIO2001 PCI Express-to-PCI Bridge
0000:02:...
0001:00:00.0 PCI bridge: Cavium Networks Device 3400 (for the second lane/bus)
-+-[0001:00]---00.0-[01]--
\-[0000:00]-+-00.0-[01]--
| ^^^^ root bridge
\-01.0-[02]----...
^^^^ first external device
With this patch, the first external PCIe device is connected to bus #1
(behind the root bridge).
-+-[0001:00]---00.0-[01]--
\-[0000:00]---00.0-[01-02]----------00.0-[02]----...
^^^^ root bridge ^^^^ first external device
Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
UARTs on CNS3xxx are 8250-compatible, not AMBA.
The base address for UART0 is 0x78000000 (physical)
and 0xfb002000 (virtual).
Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
It broke when host was moved into a separate module, in 47a1685 ("usb:
dwc2/s3c-hsotg: move s3c-hsotg into dwc2 directory"),
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Pull "Samsung cleanup for 3.18" from Kukjin Kim:
- remove unused <mach/memory.h> in exynos
- local <mach/regs-clock.h> for s5pv210
- cleanup boot address calculate for exynos
- remove separate restart code for s3c24xx
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'samsung-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: S3C24XX: remove separate restart code
ARM: EXYNOS: Do not calculate boot address twice
ARM: S5PV210: move <mach/regs-clock.h> into mach-s5pv210/
ARM: EXYNOS: remove unused <mach/memory.h>
Pull "Allwinner defconfig additions for 3.18" from Maxime Ripard
Nothing major, just a few drivers additions and misc options
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'sunxi-defconfig-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
ARM: sunxi_defconfig: add NLS_CODEPAGE_437 and NLS_ISO8859_1
ARM: sunxi: Add A31 RTC driver to multi_v7_defconfig
ARM: sunxi: Add A31 RTC driver to sunxi_defconfig
Pull "Fifth Round of Renesas ARM Based SoC Soc Updates for v3.18" from Simon Horman:
* r8a7740: Fix documentation error copied from elsewhere
* r8a7794: Reserve memory for CMA in a manner consistent to
other R-Car Gen2 SoCs
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'renesas-soc5-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: r8a7740 legacy: Fix copied bug in comment
ARM: shmobile: r8a7794: Reserve memory as other R-Car Gen2 SoCs
Pull "Fifth Round of Renesas ARM Based SoC DT Updates for v3.18" from Simon Horman:
* Document manufacturer for KZM boards
* Use SoC-specific irqc compatible property
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'renesas-dt5-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Add manufacturer for KZM boards
ARM: shmobile: r8a73a4 dtsi: Add SoC-specific irqc compatible property
Pull "fix PXA3xx SSP naming issue" from Haojian Zhuang:
It's imported by 972a55b62 ASoC: fix pxa-ssp compiling issue under mach-mmp from v3.5
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'pxa3xx-ssp-name' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux:
ARM: pxa3xx: provide specific platform_devices for all ssp ports
ARM: pxa: ssp: provide platform_device_id for PXA3xx
Pull "ARM: tegra: tegra_defconfig changes for 3.18" from Stephen Warren:
Support is enabled for Venice2's touchpad, and Tegra124's AHCI (SATA)
controller, as used on Jetson TK1.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'tegra-for-3.18-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
ARM: tegra: enable Atmel touchpad in defconfig
ARM: tegra: Add options for Tegra AHCI support to tegra_defconfig
Contains an update to 3.17-rc2.
Pull "ARM: tegra: device tree changes for 3.18" from Stephen Warren:
The main highlights are:
* SATA and PCIe support added to Tegra124, and enabled on Jetson TK1.
* Touchpad enabled on Venice2 (although the driver still has a few issues
to be worked out).
* NVIDIA reference boards rely on the bootloader to program the pinmux.
* Support added for the Acer Chromebook 13 (CB5).
* DT nodes added for the Tegra flow controller HW module. This will
help reduce use of iomap.h in a future code cleanup.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'tegra-for-3.18-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
ARM: tegra: enable PCIe in Jetson TK1 DT
ARM: tegra: add PCIe to Tegra124 DT
ARM: tegra: rely on bootloader pinmux programming on Tegra124
ARM: tegra: add Acer Chromebook 13 device tree
ARM: tegra: Move pwm and dpaux labels to tegra124.dtsi
ARM: tegra: add touchpad to Venice2 DT
ARM: tegra: Add device tree nodes for flow controller
ARM: tegra: add PCIe-related pins to the Jetson TK1 pinmux tables
ARM: tegra: Add SATA and SATA power to Jetson TK1 device tree
ARM: tegra: Add SATA controller to Tegra124 device tree
Pull "ARM: tegra: core SoC code changes for 3.18" from Stephen Warren:
the primary change here gets its address information from DT rather than
iomap.h. This removes one more user of iomap.h, and will help allow the
code to move to a location that can be shared between arch/arm and
arch/arm64.
An unused header file was also removed.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'tegra-for-3.18-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
ARM: tegra: remove unused tegra_emc.h
ARM: tegra: Initialize flow controller from DT
of: Add NVIDIA Tegra flow controller bindings
Pull "More AT91 DT material for 3.18" from Nicolas Ferre:
- specify DMA channels for USART on sama5d3 and choose peripherals
that will use them on the EK boards
- SSC update for audio on at91sam9rl and at91sam9g20
- addition of the NFC clock and new pinctrl compatible string
to use enhancements that will land in drivers during this release
- several new nodes and fixes
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'at91-dt3' of git://github.com/at91linux/linux-at91:
ARM: at91/dt: at91sam9m10g45ek add rtc node
ARM: at91/dt: sama5d3: use new pinctrl compatible string
ARM: at91/dt: sama5d3: add the nfc clock
ARM: at91/dt: declare sckc node on at91sam9g45
ARM: at91/dt: Fix typo regarding can0_clk
ARM: at91/dt: at91sam9g20: switch ssc compatible string
ARM: at91/dt: at91sam9rl: switch ssc compatible string
ARM: at91: sama5d3xek: reserve dma channel for audio
ARM: at91: sama5d3: add usart dma configurations
This patch adds the basic machine file for the MesonX SoCs. Only Meson6
is populated.
Signed-off-by: Carlo Caione <carlo@caione.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The Meson6 SoC is produced by Amlogic inc. and it is based on 2 Cortex
A9 and an ARM Mali-400 GPU.
This patch adds two basic DTSI for the preliminary support of Meson and
Meson6 SoCs. Another DTS is also added for supporting the atv1200 board,
produced by Geniatech inc.
Signed-off-by: Carlo Caione <carlo@caione.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This patch updates the multi_v7_defconfig with the CONFIG_* needed by
the just added Meson anch. It also adds a new defconfig specifically for
the Meson SoCs.
Signed-off-by: Carlo Caione <carlo@caione.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>