summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-12-06Merge git://www.linux-watchdog.org/linux-watchdogLinus Torvalds1-1/+1
Pull watchdog fix from Wim Van Sebroeck: "Fix the watchdog mask bit offset for Exynos7" * git://www.linux-watchdog.org/linux-watchdog: watchdog: s3c2410_wdt: Fix the mask bit offset for Exynos7
2014-12-06Merge branch 'i2c/for-current' of ↵Linus Torvalds2-5/+14
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c fixes from Wolfram Sang: "Here are two more driver bugfixes for I2C which would be good to have" * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: cadence: Set the hardware time-out register to maximum value i2c: davinci: generate STP always when NACK is received
2014-12-05watchdog: s3c2410_wdt: Fix the mask bit offset for Exynos7Abhilash Kesavan1-1/+1
The watchdog mask bit offset listed for Exynos7 is incorrect. Fix this. Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> Acked-by: Naveen Krishna Chatradhi <naveenkrishna.ch@gmail.com Reviewd-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2014-12-05Merge branch 'x86-urgent-for-linus' of ↵Linus Torvalds2-1/+3
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Thomas Gleixner: "Two final fixlets for 3.18: - Prevent microcode reload wreckage on 32bit - Unbreak cross compilation" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86, microcode: Limit the microcode reloading to 64-bit for now x86: Use $(OBJDUMP) instead of plain objdump
2014-12-05Merge tag 'sound-3.18' of ↵Linus Torvalds1-0/+2
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixlet from Takashi Iwai: "Just one commit for adding a copule of HD-audio quirk entries" * tag 'sound-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda/realtek - Add headset Mic support for new Dell machine
2014-12-05ARM: dts: rk3288: add arm,cpu-registers-not-fw-configuredSonny Rao1-0/+1
This will enable use of physical arch timers on rk3288, where each core comes out of reset with a different virtual offset. Using physical timers will help with SMP booting on coreboot and older u-boot and should also allow suspend-resume and cpu-hotplug to work on all firmwares. Firmware which does initialize the cpu registers properly at boot and cpu-hotplug can remove this property from the device tree. Signed-off-by: Sonny Rao <sonnyrao@chromium.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2014-12-05hwmon: (lm75) Strengthen detect functionGuenter Roeck1-0/+6
A chip returning 0x00 in all registers is erroneously detected as LM75. Check hysteresis and temperature limit registers and abort if both are 0 to reduce the likelyhood for this to happen. Reviewed-by: Rob Coulson <rob.coulson@gmail.com> Reviewed-by: Jean Delvare <jdelvare@suse.de> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-12-05ARM: omap2plus_defconfig: enable ECAP and EHRPWMFelipe Balbi1-0/+2
Many of AM335x and AM437x hook backlight to one of these two devices. By enabling their drivers we make sure pwm-backlight can do its thing. Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-12-05ARM: omap2plus_defconfig: enable XHCIFelipe Balbi1-0/+1
AM437x devices have a DWC3 IP inside of them. The host side implementation of DWC3 is XHCI compliant. By enabling XHCI driver, we get the USB host port on AM437x Starter Kit working out of the box. Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-12-05ARM: omap2plus_defconfig: enable AM33XX SoC soundFelipe Balbi1-0/+2
Without this, sound on AM437x Starter Kit will not work. Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-12-05ARM: omap2plus_defconfig: enable EDT FT5X06 touchscreenFelipe Balbi1-0/+1
AM437x Starter Kit ships with EDT FT5306 touchscreen device. By enabling the driver we make sure touchscreen will work out of the box. Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-12-05ARM: omap2plus_defconfig: remove unwanted ethernet driversFelipe Balbi1-0/+16
None of these drivers are known to be used on any platform supported by omap2plus_defconfig, by removing them we get a slight smaller kernel. Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-12-05arm64: remove the unnecessary arm64_swiotlb_init()Ding Tianhong1-1/+0
The commit 3690951fc6d42f3a0903987677d0e592c49dd8db (arm64: Use swiotlb late initialisation) switches the DMA mapping code to swiotlb_tlb_late_init_with_default_size(), the arm64_swiotlb_init() will not used anymore, so remove this function. Signed-off-by: Ding Tianhong <dingtianhong@huawei.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
2014-12-05Merge remote-tracking branches 'regulator/topic/sky81452' and ↵Mark Brown4-43/+17
'regulator/topic/stub' into regulator-next
2014-12-05Merge remote-tracking branches 'regulator/topic/rn5t618', ↵Mark Brown7-49/+157
'regulator/topic/rpm', 'regulator/topic/rt5033', 'regulator/topic/s2mpa01' and 'regulator/topic/s2mps11' into regulator-next
2014-12-05Merge remote-tracking branches 'regulator/topic/max77686', ↵Mark Brown40-313/+623
'regulator/topic/max77693', 'regulator/topic/max77802', 'regulator/topic/power-off' and 'regulator/topic/rk808' into regulator-next
2014-12-05Merge remote-tracking branches 'regulator/topic/anatop', ↵Mark Brown13-48/+112
'regulator/topic/disable', 'regulator/topic/dummy' and 'regulator/topic/gpio' into regulator-next
2014-12-05Merge remote-tracking branch 'regulator/topic/core' into regulator-nextMark Brown1-1/+3
2014-12-05Merge remote-tracking branch 'regulator/fix/da9063' into regulator-linusMark Brown1-11/+8
2014-12-05Merge branch 'topic/suspend' of ↵Mark Brown28-94/+231
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-sky81452 Conflicts: drivers/regulator/sky81452-regulator.c
2014-12-05mmc: queue: Improve error handling during allocation of bounce buffersBhuvanesh Surachari1-7/+9
Allocation of previous bounce buffer in mmc_init_queue when the current bounce buffer allocation fails was leading to a crash later in __blk_segment_map_sg. Error handling is improved by allocating previous bounce buffer only if the current bounce buffer allocation succeeds. Signed-off-by: Bhuvanesh Surachari <bhuvanesh_surachari@mentor.com> Signed-off-by: Harish Jenny K N <harish_kandiga@mentor.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2014-12-05Revert "ARM: dts: rockchip: temporarily disable smp on rk3288"Olof Johansson1-0/+1
We now have the physical-timers patches lined up as a dependency in this same branch, so we can revert the temporary disablement. This reverts commit b77d43943ea83997c6c37b8831d1561981d499c5. Signed-off-by: Olof Johansson <olof@lixom.net>
2014-12-05Merge branch 'clocksource/physical-timers' into next/dtOlof Johansson4-1/+38
These are a pre-req to get rk3288 SMP to work with some firmwares, so merge it in here as well as in next/drivers. * clocksource/physical-timers: clocksource: arch_timer: Allow the device tree to specify uninitialized timer registers clocksource: arch_timer: Fix code to use physical timers when requested
2014-12-05Merge branch 'clocksource/physical-timers' into next/driversOlof Johansson4-1/+38
* clocksource/physical-timers: clocksource: arch_timer: Allow the device tree to specify uninitialized timer registers clocksource: arch_timer: Fix code to use physical timers when requested
2014-12-05clocksource: 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 <dianders@chromium.org> Signed-off-by: Sonny Rao <sonnyrao@chromium.org> Reviewed-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2014-12-05clocksource: 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: stable@vger.kernel.org Signed-off-by: Sonny Rao <sonnyrao@chromium.org> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2014-12-05ARM: 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 <fabio.estevam@freescale.com> Acked-by: Philipp Zabel <p.zabel@pengutronix.de> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2014-12-05ARM: 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 <fabio.estevam@freescale.com> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2014-12-05Merge 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 <hauke@hauke-m.de> * 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 <olof@lixom.net>
2014-12-05ARM: 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 <tyler.baker@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2014-12-05Merge 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-05Merge 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-05Merge 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-05uapi: 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 <yamada.m@jp.panasonic.com> Cc: Stephen Hemminger <stephen@networkplumber.org> Cc: David Miller <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-12-05regulator: 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 <sw0312.kim@samsung.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2014-12-04ARM: BCM5301X: Add DT for Buffalo WZR-600DHP2Rafał Miłecki2-1/+59
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-12-04ARM: BCM5301X: Add DT for Asus RT-N18URafał Miłecki3-1/+106
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-12-04ARM: BCM5301X: Add DT for Buffalo WZR-1750DHPRafał Miłecki2-0/+65
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-12-04ARM: BCM5301X: Add DT for Netgear R6300 V2Rafał Miłecki2-1/+87
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-12-04ARM: BCM5301X: Add buttons for Netgear R6250Rafał Miłecki2-0/+26
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
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 <nm@ti.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
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 <nm@ti.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
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 <bgolaszewski@baylibre.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-12-04hwmon: (tmp401) Add support for TI TMP435Patrick Titiano3-5/+18
Signed-off-by: Patrick Titiano <ptitiano@baylibre.com> [Bartosz Golaszewski: prepared for submission, code review fixes] Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> [Guenter Roeck: Merged two patches into one] Signed-off-by: Guenter Roeck <linux@roeck-us.net>
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 <vishnum@xilinx.com> Signed-off-by: Harini Katakam <harinik@xilinx.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de> Cc: stable@kernel.org
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 <u.kleine-koenig@pengutronix.de> Reported-by: Hein Tibosch <hein_tibosch@yahoo.es> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de> Cc: stable@kernel.org
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 <tj@kernel.org> Reported-by: Dominik Mierzejewski <dominik@greysector.net> Link: https://bugzilla.kernel.org/show_bug.cgi?id=89171 Cc: stable@vger.kernel.org
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 <arnd@arndb.de>
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 <arnd@arndb.de>