aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-12-04clocksource: arch_timer: Allow the device tree to specify uninitialized ↵Doug Anderson2-0/+16
timer registers Some 32-bit (ARMv7) systems are architected like this: * The firmware doesn't know and doesn't care about hypervisor mode and we don't want to add the complexity of hypervisor there. * The firmware isn't involved in SMP bringup or resume. * The ARCH timer come up with an uninitialized offset (CNTVOFF) between the virtual and physical counters. Each core gets a different random offset. * The device boots in "Secure SVC" mode. * Nothing has touched the reset value of CNTHCTL.PL1PCEN or CNTHCTL.PL1PCTEN (both default to 1 at reset) On systems like the above, it doesn't make sense to use the virtual counter. There's nobody managing the offset and each time a core goes down and comes back up it will get reinitialized to some other random value. This adds an optional property which can inform the kernel of this situation, and firmware is free to remove the property if it is going to initialize the CNTVOFF registers when each CPU comes out of reset. Currently, the best course of action in this case is to use the physical timer, which is why it is important that CNTHCTL hasn't been changed from its reset value and it's a reasonable assumption given that the firmware has never entered HYP mode. Note that it's been said that on ARMv8 systems the firmware and kernel really can't be architected as described above. That means using the physical timer like this really only makes sense for ARMv7 systems. Signed-off-by: Doug Anderson <[email protected]> Signed-off-by: Sonny Rao <[email protected]> Reviewed-by: Mark Rutland <[email protected]> Acked-by: Daniel Lezcano <[email protected]> Acked-by: Catalin Marinas <[email protected]> Signed-off-by: Olof Johansson <[email protected]>
2014-12-04clocksource: arch_timer: Fix code to use physical timers when requestedSonny Rao3-1/+22
This is a bug fix for using physical arch timers when the arch_timer_use_virtual boolean is false. It restores the arch_counter_get_cntpct() function after removal in 0d651e4e "clocksource: arch_timer: use virtual counters" We need this on certain ARMv7 systems which are architected like this: * The firmware doesn't know and doesn't care about hypervisor mode and we don't want to add the complexity of hypervisor there. * The firmware isn't involved in SMP bringup or resume. * The ARCH timer come up with an uninitialized offset between the virtual and physical counters. Each core gets a different random offset. * The device boots in "Secure SVC" mode. * Nothing has touched the reset value of CNTHCTL.PL1PCEN or CNTHCTL.PL1PCTEN (both default to 1 at reset) One example of such as system is RK3288 where it is much simpler to use the physical counter since there's nobody managing the offset and each time a core goes down and comes back up it will get reinitialized to some other random value. Fixes: 0d651e4e65e9 ("clocksource: arch_timer: use virtual counters") Cc: [email protected] Signed-off-by: Sonny Rao <[email protected]> Acked-by: Catalin Marinas <[email protected]> Acked-by: Daniel Lezcano <[email protected]> Signed-off-by: Olof Johansson <[email protected]>
2014-12-04ARM: imx6: fix bogus use of irq_get_irq_dataMarc Zyngier3-17/+26
The imx6 PM code seems to be quite creative in its use of irq_data, using something that is very much a hardware interrupt number where we expect a virtual one. Yes, it worked so far, but that's only luck, and it will definitely explode in 3.19. Fix it by using a pair of helper functions that deal with the actual hardware. Tested-by: Fabio Estevam <[email protected]> Acked-by: Philipp Zabel <[email protected]> Acked-by: Shawn Guo <[email protected]> Signed-off-by: Marc Zyngier <[email protected]> Signed-off-by: Olof Johansson <[email protected]>
2014-12-04ARM: imx: irq: fix buggy usage of irq_data irq fieldMarc Zyngier1-9/+9
mach-imx directly references to the irq field in struct irq_data, and uses this to directly poke hardware register. But irq is the *virtual* irq number, something that has nothing to do with the actual HW irq (stored in the hwirq field). And once we put the stacked domain code in action, the whole thing explodes, as these two values are *very* different. Just replacing all instances of irq with hwirq fixes the issue. Tested-by: Fabio Estevam <[email protected]> Acked-by: Shawn Guo <[email protected]> Signed-off-by: Marc Zyngier <[email protected]> Signed-off-by: Olof Johansson <[email protected]>
2014-12-04Merge tag 'bcm5301x-dt-2014-12-04' of https://github.com/hauke/linux into ↵Olof Johansson8-1/+375
next/dt Merge "ARM: BCM5301X: DT changes for v3.19 #2" from Hauke Mehrtens: ARM: BCM5301X: dts updates This adds the IRQ number to the main dts file and some new dts files for newly added devices. Signed-off-by: Hauke Mehrtens <[email protected]> * tag 'bcm5301x-dt-2014-12-04' of https://github.com/hauke/linux: ARM: BCM5301X: Add DT for Buffalo WZR-600DHP2 ARM: BCM5301X: Add DT for Asus RT-N18U ARM: BCM5301X: Add DT for Buffalo WZR-1750DHP ARM: BCM5301X: Add DT for Netgear R6300 V2 ARM: BCM5301X: Add buttons for Netgear R6250 ARM: BCM5301X: Add IRQs to Broadcom's bus-axi in DTS file Signed-off-by: Olof Johansson <[email protected]>
2014-12-04ARM: multi_v7_defconfig: enable MAX77686 PMIC drivers for exynos4412-prime ↵Tyler Baker1-0/+4
based SoCs This patch enables the MAX77686 PMIC drivers in the multi_v7_defconfig used on exynos4412-prime family of SoCs [1]. The exynos4412-prime based boards are producing the following runtime errors only on the multi_v7_defconfig [2]: kern.err: deviceless supply vdd_arm not found, using dummy regulator kern.err: exynos-cpufreq exynos-cpufreq: failed to set cpu voltage to 1287500 kern.err: cpufreq: __target_index: Failed to change cpu frequency: -22 I reviewed the exynos_defconfig, which does not produce these runtime errors. It was obvious that the exynos_defconfig has the PMIC drivers enabled, whereas the multi_v7_defconfig does not. This patch has been tested on a odroid-u2 and a odroid-u3 board. It has resolved the runtime errors. Therefore, I purpose we enabled these drivers in the multi_v7_defconfig. [1] http://www.hardkernel.com/main/products/prdt_info.php?g_code=G135270682824 [2] http://storage.armcloud.us/kernel-ci/mainline/v3.18-rc7-48-g7cc78f8/arm-multi_v7_defconfig/lab-tbaker-00/boot-exynos4412-odroidu3.html Signed-off-by: Tyler Baker <[email protected]> Signed-off-by: Olof Johansson <[email protected]>
2014-12-04Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds2-13/+11
Pull drm intel fixes from Dave Airlie: "Two intel stable fixes, that should be it from me for this round" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/i915: Unlock panel even when LVDS is disabled drm/i915: More cautious with pch fifo underruns
2014-12-04Merge tag 'pm+acpi-3.18-rc8' of ↵Linus Torvalds1-1/+2
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull ACPI backlight fix from Rafael Wysocki: "This is a simple fix for an ACPI backlight regression introduced by a recent commit that overlooked a corner case which should have been taken into account" * tag 'pm+acpi-3.18-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: ACPI / video: update condition to check if device is in _DOD list
2014-12-05Merge tag 'drm-intel-fixes-2014-12-04' of ↵Dave Airlie2-13/+11
git://anongit.freedesktop.org/drm-intel into drm-fixes Silence some pch fifo underrun reports and panel locking backtraces, both cc: stable. * tag 'drm-intel-fixes-2014-12-04' of git://anongit.freedesktop.org/drm-intel: drm/i915: Unlock panel even when LVDS is disabled drm/i915: More cautious with pch fifo underruns
2014-12-04Merge tag 'media/v3.18-rc8' of ↵Linus Torvalds6-32/+28
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media fixes from Mauro Carvalho Chehab: "A core fix and some driver fixes: - regression fix in Remote Controller core affecting RC6 protocol handling - fix video buffer handling in cx23885 - race fix in solo6x10 - fix image selection in smiapp - fix reported payload size on s2255drv - two updates for MAINTAINERS file" * tag 'media/v3.18-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: [media] rc-core: fix toggle handling in the rc6 decoder MAINTAINERS: Update mchehab's addresses [media] cx23885: use sg = sg_next(sg) instead of sg++ [media] s2255drv: fix payload size for JPG, MJPEG [media] Update MAINTAINERS for solo6x10 [media] solo6x10: fix a race in IRQ handler [media] smiapp: Only some selection targets are settable
2014-12-04uapi: fix to export linux/vm_sockets.hMasahiro Yamada1-1/+1
A typo "header=y" was introduced by commit 7071cf7fc435 ("uapi: add missing network related headers to kbuild"). Signed-off-by: Masahiro Yamada <[email protected]> Cc: Stephen Hemminger <[email protected]> Cc: David Miller <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-12-04regulator: core: Fix regualtor_ena_gpio_free not to access pin after freeingSeung-Woo Kim1-0/+2
After freeing pin from regulator_ena_gpio_free, loop can access the pin. So this patch fixes not to access pin after freeing. Signed-off-by: Seung-Woo Kim <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2014-12-04ARM: BCM5301X: Add DT for Buffalo WZR-600DHP2Rafał Miłecki2-1/+59
Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: Hauke Mehrtens <[email protected]>
2014-12-04ARM: BCM5301X: Add DT for Asus RT-N18URafał Miłecki3-1/+106
Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: Hauke Mehrtens <[email protected]>
2014-12-04ARM: BCM5301X: Add DT for Buffalo WZR-1750DHPRafał Miłecki2-0/+65
Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: Hauke Mehrtens <[email protected]>
2014-12-04ARM: BCM5301X: Add DT for Netgear R6300 V2Rafał Miłecki2-1/+87
Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: Hauke Mehrtens <[email protected]>
2014-12-04ARM: BCM5301X: Add buttons for Netgear R6250Rafał Miłecki2-0/+26
Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: Hauke Mehrtens <[email protected]>
2014-12-04hwmon: (gpio-fan) Add a shutdown handler to poweroff the fansNishanth Menon1-0/+9
Poweroff the fans when shutting down the system. Else, echo '1' > /sys/class/hwmon/hwmon0/fan1_target; poweroff leaves the fan running if the System power off does not drive the gpio expander which might control the fan power supply. Signed-off-by: Nishanth Menon <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2014-12-04hwmon: (gpio-fan) Allow usage of gpio operations that may sleepNishanth Menon1-4/+5
Certain I2C based GPIO expanders could be used in sleepable context, this results in: [ 115.890569] ------------[ cut here ]------------ [ 115.895422] WARNING: CPU: 0 PID: 1115 at drivers/gpio/gpiolib.c:1370 gpiod_set_raw_value+0x40/0x4c() [ 115.905024] Modules linked in: [ 115.908229] CPU: 0 PID: 1115 Comm: sh Tainted: G W 3.18.0-rc7-next-20141203-dirty #1 [ 115.917461] Hardware name: Generic DRA74X (Flattened Device Tree) [ 115.923876] [<c0015368>] (unwind_backtrace) from [<c00119f4>] (show_stack+0x10/0x14) [ 115.932013] [<c00119f4>] (show_stack) from [<c05b78e8>] (dump_stack+0x78/0x94) [ 115.939594] [<c05b78e8>] (dump_stack) from [<c003de28>] (warn_slowpath_common+0x7c/0xb4) [ 115.948094] [<c003de28>] (warn_slowpath_common) from [<c003de7c>] (warn_slowpath_null+0x1c/0x24) [ 115.957315] [<c003de7c>] (warn_slowpath_null) from [<c03461e8>] (gpiod_set_raw_value+0x40/0x4c) [ 115.966457] [<c03461e8>] (gpiod_set_raw_value) from [<c04866f4>] (set_fan_speed+0x4c/0x64) [ 115.975145] [<c04866f4>] (set_fan_speed) from [<c04868a8>] (set_rpm+0x98/0xac) [ 115.982742] [<c04868a8>] (set_rpm) from [<c039fb4c>] (dev_attr_store+0x18/0x24) [ 115.990426] [<c039fb4c>] (dev_attr_store) from [<c01b0a28>] (sysfs_kf_write+0x4c/0x50) [ 115.998742] [<c01b0a28>] (sysfs_kf_write) from [<c01afe1c>] (kernfs_fop_write+0xbc/0x19c) [ 116.007333] [<c01afe1c>] (kernfs_fop_write) from [<c0148cc4>] (vfs_write+0xb0/0x1a0) [ 116.015461] [<c0148cc4>] (vfs_write) from [<c0148fbc>] (SyS_write+0x44/0x84) [ 116.022881] [<c0148fbc>] (SyS_write) from [<c000e5c0>] (ret_fast_syscall+0x0/0x48) [ 116.030833] ---[ end trace 3a0b636123acab82 ]--- So, switch over to sleepable GPIO operations as there is no mandatory need for non-sleepable gpio operations in the fan driver. This allows the fan driver to be used with i2c based gpio expanders such as palmas_gpio. Signed-off-by: Nishanth Menon <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2014-12-04hwmon: (tmp401) Bail out from tmp401_probe() in case of write errorsBartosz Golaszewski1-10/+14
The return value of i2c_smbus_read_byte_data() is checked in tmp401_init_client(), but only a warning is printed and the device is registered anyway. This leads to devices being registered even if they cannot be physically detected. Bail out from probe in case of write errors and notify the user. Signed-off-by: Bartosz Golaszewski <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2014-12-04hwmon: (tmp401) Add support for TI TMP435Patrick Titiano3-5/+18
Signed-off-by: Patrick Titiano <[email protected]> [Bartosz Golaszewski: prepared for submission, code review fixes] Signed-off-by: Bartosz Golaszewski <[email protected]> [Guenter Roeck: Merged two patches into one] Signed-off-by: Guenter Roeck <[email protected]>
2014-12-04i2c: cadence: Set the hardware time-out register to maximum valueVishnu Motghare1-0/+11
Cadence I2C controller has bug wherein it generates invalid read transactions after timeout in master receiver mode. This driver does not use the HW timeout and this interrupt is disabled but the feature itself cannot be disabled. Hence, this patch writes the maximum value (0xFF) to this register. This is one of the workarounds to this bug and it will not avoid the issue completely but reduces the chances of error. Signed-off-by: Vishnu Motghare <[email protected]> Signed-off-by: Harini Katakam <[email protected]> Signed-off-by: Wolfram Sang <[email protected]> Cc: [email protected]
2014-12-04i2c: davinci: generate STP always when NACK is receivedGrygorii Strashko1-5/+3
According to I2C specification the NACK should be handled as follows: "When SDA remains HIGH during this ninth clock pulse, this is defined as the Not Acknowledge signal. The master can then generate either a STOP condition to abort the transfer, or a repeated START condition to start a new transfer." [I2C spec Rev. 6, 3.1.6: http://www.nxp.com/documents/user_manual/UM10204.pdf] Currently the Davinci i2c driver interrupts the transfer on receipt of a NACK but fails to send a STOP in some situations and so makes the bus stuck until next I2C IP reset (idle/enable). For example, the issue will happen during SMBus read transfer which consists from two i2c messages write command/address and read data: S Slave Address Wr A Command Code A Sr Slave Address Rd A D1..Dn A P <--- write -----------------------> <--- read ---------------------> The I2C client device will send NACK if it can't recognize "Command Code" and it's expected from I2C master to generate STP in this case. But now, Davinci i2C driver will just exit with -EREMOTEIO and STP will not be generated. Hence, fix it by generating Stop condition (STP) always when NACK is received. This patch fixes Davinci I2C in the same way it was done for OMAP I2C commit cda2109a26eb ("i2c: omap: query STP always when NACK is received"). Reviewed-by: Uwe Kleine-König <[email protected]> Reported-by: Hein Tibosch <[email protected]> Signed-off-by: Grygorii Strashko <[email protected]> Signed-off-by: Wolfram Sang <[email protected]> Cc: [email protected]
2014-12-04ahci: disable MSI on SAMSUNG 0xa800 SSDTejun Heo1-0/+1
Just like 0x1600 which got blacklisted by 66a7cbc303f4 ("ahci: disable MSI instead of NCQ on Samsung pci-e SSDs on macbooks"), 0xa800 chokes on NCQ commands if MSI is enabled. Disable MSI. Signed-off-by: Tejun Heo <[email protected]> Reported-by: Dominik Mierzejewski <[email protected]> Link: https://bugzilla.kernel.org/show_bug.cgi?id=89171 Cc: [email protected]
2014-12-04Merge tag 'at91-cleanup5' of ↵Arnd Bergmann17-1735/+5
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/cleanup Pull "Fifth batch of cleanup/SoC for 3.19" from Nicolas Ferre: - removal of now dead code and AT91-specific driver - removal of !DT initialization in some core AT91 drivers - simplification of Kconfig DT board file selection: now automatic * tag 'at91-cleanup5' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: ARM: at91: remove unused board.h file ARM: at91: remove unneeded header files ARM: at91/clocksource: remove !DT PIT initializations ARM: at91: at91rm9200 ST initialization is now DT only ARM: at91: remove old AT91-specific drivers ARM: at91: cleanup initilisation code by removing dead code ARM: at91/Kconfig: select board files automatically Signed-off-by: Arnd Bergmann <[email protected]>
2014-12-04Merge tag 'at91-defconfig' of ↵Arnd Bergmann2-1/+8
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/defconfig Pull "First batch of defconfigs for AT91 / 3.19:" from Nicolas Ferre: - use NEON for all C-A5, neon code handles the !NEON case - add new XDMA driver - add some useful drivers as we only have a single defconfig for all AT91SAM9/RM9200 * tag 'at91-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: ARM: at91/defconfig: add DM9000 to at91_dt ARM: at91/defconfig: add QT1070 to at91_dt ARM: at91/defconfig: add TCB PWM driver selection ARM: at91/defconfig: add the XDMA driver ARM: at91: sama5: update defconfig Signed-off-by: Arnd Bergmann <[email protected]>
2014-12-04Merge tag 'v3.19-rockchip-dts4' of ↵Arnd Bergmann6-7/+128
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Pull "last dts changes for 3.19" from Jason Cooper: - rk3288 thermal driver that got accepted into the thermal tree - mmc fifo sizes for Cortex-A9 SoCs - labels for the leds on the RadxaRock - core system supply for the Marsboard * tag 'v3.19-rockchip-dts4' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: Add input voltage supply regulators in pmic for Marsboard ARM: dts: rockchip: set FIFO size for SDMMC, SDIO and EMMC on rk3066 and rk3188 ARM: dts: rockchip: add label property for leds on Radxa Rock ARM: dts: rockchip: enable thermal on rk3288-evb board ARM: dts: rockchip: add main thermal info to rk3288 ARM: dts: rockchip: add RK3288 Thermal data Signed-off-by: Arnd Bergmann <[email protected]>
2014-12-04ARM: at91/defconfig: add DM9000 to at91_dtNicolas Ferre1-0/+1
This chip is present on at91sam9261ek board: add it to the at91_dt_defconfig. Signed-off-by: Nicolas Ferre <[email protected]>
2014-12-04ARM: at91/defconfig: add QT1070 to at91_dtNicolas Ferre1-0/+1
As this touch button driver is used on at91sam9x5ek, it's better to enable it. Signed-off-by: Nicolas Ferre <[email protected]>
2014-12-04ARM: at91/defconfig: add TCB PWM driver selectionNicolas Ferre2-0/+2
This is the selection of the new PWM driver using TC Blocks. This driver is useful so we enable it in both sama5 and at91_dt defconfig files. Signed-off-by: Nicolas Ferre <[email protected]>
2014-12-04ARM: at91/defconfig: add the XDMA driverNicolas Ferre1-0/+1
Add the Atmel eXtended DMA Controller driver option. This driver is first used on SAMA5D4 SoCs and only relevant in sama5_defconfig file. Signed-off-by: Nicolas Ferre <[email protected]>
2014-12-04ARM: at91: sama5: update defconfigLudovic Desroches1-1/+3
Add neon support for sama5d4 and large blocks/files support. Signed-off-by: Ludovic Desroches <[email protected]> Acked-by: Alexandre Belloni <[email protected]> Signed-off-by: Nicolas Ferre <[email protected]>
2014-12-04ARM: mvebu: use the cpufreq-dt platform_data for independent clocksThomas Petazzoni1-1/+7
This commit adjusts the registration of the cpufreq-dt driver in the mvebu platform to indicate to the cpufreq driver that the platform has independent clocks for each CPU. Signed-off-by: Thomas Petazzoni <[email protected]> Acked-by: Jason Cooper <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
2014-12-04Merge tag 'tegra-for-3.19-iommu' of ↵Arnd Bergmann45-1527/+4189
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/drivers Pull "ARM: tegra: IOMMU support for v3.19" from Thierry Reding: This adds the driver pieces required for IOMMU support on Tegra30, Tegra114 and Tegra124. * tag 'tegra-for-3.19-iommu' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: memory: Add NVIDIA Tegra memory controller support of: Add NVIDIA Tegra memory controller binding ARM: tegra: Move AHB Kconfig to drivers/amba amba: Add Kconfig file clk: tegra: Implement memory-controller clock powerpc/iommu: Rename iommu_[un]map_sg functions iommu: Improve error handling when setting bus iommu iommu: Do more input validation in iommu_map_sg() iommu: Add iommu_map_sg() function Signed-off-by: Arnd Bergmann <[email protected]>
2014-12-04arm64: amd-seattle: Fix PCI bus range due to SMMU limitationSuravee Suthikulpanit1-1/+1
Since PCIe is using SMMUv1 which only supports 15-bit stream ID, only 7-bit PCI bus id is used to specify stream ID. Therefore, we only limit the PCI bus range to 0x7f. Signed-off-by: Suravee Suthikulpanit <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
2014-12-04soc: integrator: Add terminating entry for integrator_cm_matchAxel Lin1-0/+1
The of_device_id table is supposed to be zero-terminated. Signed-off-by: Axel Lin <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
2014-12-04MAINTAINERS: ARM Versatile Express platform, add missing patternPawel Moll1-0/+1
VE's reset driver lives at the third level of the directories: drivers/power/reset/vexpress-poweroff.c and wasn't matched by the */*/vexpress* pattern. Added additional pattern for all files at this level. This should be enough for a while... Signed-off-by: Pawel Moll <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
2014-12-04Merge tag 'reset-for-3.19-2' of git://git.pengutronix.de/git/pza/linux into ↵Arnd Bergmann9-0/+305
next/drivers Pull "Reset controller changes for v3.19" from Philipp Zabel: This adds a new driver for the sti soc family, and creates a reset_control_status interface, which is added to the existing drivers. * tag 'reset-for-3.19-2' of git://git.pengutronix.de/git/pza/linux: reset: add socfpga_reset_status reset: sti: Document sti-picophyreset controllers bindings. reset: stih407: Add softreset, powerdown and picophy controllers reset: stih407: Add reset controllers DT bindings reset: add reset_control_status helper function Signed-off-by: Arnd Bergmann <[email protected]>
2014-12-04Merge tag 'zynq-cleanup-for-3.19' of https://github.com/Xilinx/linux-xlnx ↵Arnd Bergmann3-17/+0
into next/cleanup Pull "arm: Xilinx Zynq cleanup patches for v3.19" from Michal Simek: - Remove unused file and declaration * tag 'zynq-cleanup-for-3.19' of https://github.com/Xilinx/linux-xlnx: ARM: zynq: Remove secondary_startup() declaration from header ARM: zynq: Actually remove hotplug.c Signed-off-by: Arnd Bergmann <[email protected]>
2014-12-04Merge tag 'zynq-dt-for-3.19' of https://github.com/Xilinx/linux-xlnx into ↵Arnd Bergmann9-3/+72
next/dt Pull "arm: Xilinx Zynq dt patches for v3.19" from Michal Simek: - Declare Digilent and vendor - Add Zybo board support - Fix VDMA documentation to be align with the driver * tag 'zynq-dt-for-3.19' of https://github.com/Xilinx/linux-xlnx: arm: dts: zynq: Add Digilent ZYBO board arm: dts: zynq: Move crystal freq. to board level doc: dt: vendor-prefixes: Add Digilent Inc Documentation: devicetree: Fix Xilinx VDMA specification Signed-off-by: Arnd Bergmann <[email protected]>
2014-12-04Merge tag 'mvebu-soc-suspend-3.19' of git://git.infradead.org/linux-mvebu ↵Arnd Bergmann18-32/+777
into next/soc Pull "mvebu SoC suspend changes for v3.19" from Jason Cooper: - Armada 370/XP suspend/resume support - mvebu SoC driver suspend/resume support - irqchip - clocksource - mbus - clk * tag 'mvebu-soc-suspend-3.19' of git://git.infradead.org/linux-mvebu: ARM: mvebu: add SDRAM controller description for Armada XP ARM: mvebu: adjust mbus controller description on Armada 370/XP ARM: mvebu: add suspend/resume DT information for Armada XP GP ARM: mvebu: synchronize secondary CPU clocks on resume ARM: mvebu: make sure MMU is disabled in armada_370_xp_cpu_resume ARM: mvebu: Armada XP GP specific suspend/resume code ARM: mvebu: reserve the first 10 KB of each memory bank for suspend/resume ARM: mvebu: implement suspend/resume support for Armada XP clk: mvebu: add suspend/resume for gatable clocks bus: mvebu-mbus: provide a mechanism to save SDRAM window configuration bus: mvebu-mbus: suspend/resume support clocksource: time-armada-370-xp: add suspend/resume support irqchip: armada-370-xp: Add suspend/resume support Documentation: dt-bindings: minimal documentation for MVEBU SDRAM controller Signed-off-by: Arnd Bergmann <[email protected]>
2014-12-04ARM: defconfig: imx_v6_v7_defconfig updatesDmitry Lavnikevich1-1/+9
This is a squash of several imx_v6_v7_defconfig update patches. - Enable tlv320aic3x audio codec by default (Phytec PBAB01 board) - Enable DS1307 rtc and gpio fan by default (TBS2910 board) - Select thermal related drivers - Add SNVS power off driver Signed-off-by: Dmitry Lavnikevich <[email protected]> Signed-off-by: Soeren Moch <[email protected]> Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Robin Gong <[email protected]> Signed-off-by: Shawn Guo <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
2014-12-04Merge tag 'arm-soc/for-3.19/brcmstb-drivers' of ↵Arnd Bergmann3-21/+105
https://github.com/brcm/linux into next/drivers This pull request contains the following changes to the Broadcom GISB bus arbiter from Kevin Cernekee: - Extend brcmstb GISB bus driver to work on MIPS (currently ARM-only) and support 65nm and 40nm MIPS-based chips such as: BCM7038, BCM7400 and BCM7435 * tag 'arm-soc/for-3.19/brcmstb-drivers' of https://github.com/brcm/linux: bus: brcmstb_gisb: Add register offset tables for older chips bus: brcmstb_gisb: Look up register offsets in a table bus: brcmstb_gisb: Introduce wrapper functions for MMIO accesses bus: brcmstb_gisb: Make the driver buildable on MIPS Conflicts: drivers/bus/brcmstb_gisb.c Signed-off-by: Arnd Bergmann <[email protected]>
2014-12-04memory: Add NVIDIA Tegra memory controller supportThierry Reding16-1482/+3988
The memory controller on NVIDIA Tegra exposes various knobs that can be used to tune the behaviour of the clients attached to it. Currently this driver sets up the latency allowance registers to the HW defaults. Eventually an API should be exported by this driver (via a custom API or a generic subsystem) to allow clients to register latency requirements. This driver also registers an IOMMU (SMMU) that's implemented by the memory controller. It is supported on Tegra30, Tegra114 and Tegra124 currently. Tegra20 has a GART instead. The Tegra SMMU operates on memory clients and SWGROUPs. A memory client is a unidirectional, special-purpose DMA master. A SWGROUP represents a set of memory clients that form a logical functional unit corresponding to a single device. Typically a device has two clients: one client for read transactions and one client for write transactions, but there are also devices that have only read clients, but many of them (such as the display controllers). Because there is no 1:1 relationship between memory clients and devices the driver keeps a table of memory clients and the SWGROUPs that they belong to per SoC. Note that this is an exception and due to the fact that the SMMU is tightly integrated with the rest of the Tegra SoC. The use of these tables is discouraged in drivers for generic IOMMU devices such as the ARM SMMU because the same IOMMU could be used in any number of SoCs and keeping such tables for each SoC would not scale. Acked-by: Joerg Roedel <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2014-12-04arm64: add module support for alternatives fixupsAndre Przywara4-6/+46
Currently the kernel patches all necessary instructions once at boot time, so modules are not covered by this. Change the apply_alternatives() function to take a beginning and an end pointer and introduce a new variant (apply_alternatives_all()) to cover the existing use case for the static kernel image section. Add a module_finalize() function to arm64 to check for an alternatives section in a module and patch only the instructions from that specific area. Since that module code is not touched before the module initialization has ended, we don't need to halt the machine before doing the patching in the module's code. Signed-off-by: Andre Przywara <[email protected]> Signed-off-by: Will Deacon <[email protected]>
2014-12-04arm64: perf: Prevent wraparound during overflowDaniel Thompson1-2/+8
If the overflow threshold for a counter is set above or near the 0xffffffff boundary then the kernel may lose track of the overflow causing only events that occur *after* the overflow to be recorded. Specifically the problem occurs when the value of the performance counter overtakes its original programmed value due to wrap around. Typical solutions to this problem are either to avoid programming in values likely to be overtaken or to treat the overflow bit as the 33rd bit of the counter. Its somewhat fiddly to refactor the code to correctly handle the 33rd bit during irqsave sections (context switches for example) so instead we take the simpler approach of avoiding values likely to be overtaken. We set the limit to half of max_period because this matches the limit imposed in __hw_perf_event_init(). This causes a doubling of the interrupt rate for large threshold values, however even with a very fast counter ticking at 4GHz the interrupt rate would only be ~1Hz. Signed-off-by: Daniel Thompson <[email protected]> Signed-off-by: Will Deacon <[email protected]>
2014-12-04arm64/include/asm: Fixed a warning about 'struct pt_regs'Chunyan Zhang1-0/+2
If I include asm/irq.h on the top of my code, and set ARCH=arm64, I'll get a compile warning, details are below: warning: ‘struct pt_regs’ declared inside parameter list [enabled by default] This patch is suggested by Arnd, see: http://lists.infradead.org/pipermail/linux-arm-kernel/2014-December/308270.html Signed-off-by: Chunyan Zhang <[email protected]> Signed-off-by: Will Deacon <[email protected]>
2014-12-04arm64: Provide a namespace to NCAPSFabio Estevam2-6/+6
Building arm64.allmodconfig leads to the following warning: usb/gadget/function/f_ncm.c:203:0: warning: "NCAPS" redefined #define NCAPS (USB_CDC_NCM_NCAP_ETH_FILTER | USB_CDC_NCM_NCAP_CRC_MODE) ^ In file included from /home/build/work/batch/arch/arm64/include/asm/io.h:32:0, from /home/build/work/batch/include/linux/clocksource.h:19, from /home/build/work/batch/include/clocksource/arm_arch_timer.h:19, from /home/build/work/batch/arch/arm64/include/asm/arch_timer.h:27, from /home/build/work/batch/arch/arm64/include/asm/timex.h:19, from /home/build/work/batch/include/linux/timex.h:65, from /home/build/work/batch/include/linux/sched.h:19, from /home/build/work/batch/arch/arm64/include/asm/compat.h:25, from /home/build/work/batch/arch/arm64/include/asm/stat.h:23, from /home/build/work/batch/include/linux/stat.h:5, from /home/build/work/batch/include/linux/module.h:10, from /home/build/work/batch/drivers/usb/gadget/function/f_ncm.c:19: arch/arm64/include/asm/cpufeature.h:27:0: note: this is the location of the previous definition #define NCAPS 2 So add a ARM64 prefix to avoid such problem. Reported-by: Olof's autobuilder <[email protected]> Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Will Deacon <[email protected]>
2014-12-03context_tracking: Restore previous state in schedule_userAndy Lutomirski1-2/+6
It appears that some SCHEDULE_USER (asm for schedule_user) callers in arch/x86/kernel/entry_64.S are called from RCU kernel context, and schedule_user will return in RCU user context. This causes RCU warnings and possible failures. This is intended to be a minimal fix suitable for 3.18. Reported-and-tested-by: Dave Jones <[email protected]> Cc: Oleg Nesterov <[email protected]> Cc: Frédéric Weisbecker <[email protected]> Acked-by: Paul E. McKenney <[email protected]> Signed-off-by: Andy Lutomirski <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-12-03Merge branch 'i2c/for-current' of ↵Linus Torvalds2-6/+6
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c bugfixes from Wolfram Sang: "A few driver bugfixes for 3.18" * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: omap: fix i207 errata handling i2c: designware: prevent early stop on TX FIFO empty i2c: omap: fix NACK and Arbitration Lost irq handling