summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-02-06kvm: add halt_poll_ns module parameterPaolo Bonzini
This patch introduces a new module parameter for the KVM module; when it is present, KVM attempts a bit of polling on every HLT before scheduling itself out via kvm_vcpu_block. This parameter helps a lot for latency-bound workloads---in particular I tested it with O_DSYNC writes with a battery-backed disk in the host. In this case, writes are fast (because the data doesn't have to go all the way to the platters) but they cannot be merged by either the host or the guest. KVM's performance here is usually around 30% of bare metal, or 50% if you use cache=directsync or cache=writethrough (these parameters avoid that the guest sends pointless flush requests, and at the same time they are not slow because of the battery-backed cache). The bad performance happens because on every halt the host CPU decides to halt itself too. When the interrupt comes, the vCPU thread is then migrated to a new physical CPU, and in general the latency is horrible because the vCPU thread has to be scheduled back in. With this patch performance reaches 60-65% of bare metal and, more important, 99% of what you get if you use idle=poll in the guest. This means that the tunable gets rid of this particular bottleneck, and more work can be done to improve performance in the kernel or QEMU. Of course there is some price to pay; every time an otherwise idle vCPUs is interrupted by an interrupt, it will poll unnecessarily and thus impose a little load on the host. The above results were obtained with a mostly random value of the parameter (500000), and the load was around 1.5-2.5% CPU usage on one of the host's core for each idle guest vCPU. The patch also adds a new stat, /sys/kernel/debug/kvm/halt_successful_poll, that can be used to tune the parameter. It counts how many HLT instructions received an interrupt during the polling period; each successful poll avoids that Linux schedules the VCPU thread out and back in, and may also avoid a likely trip to C1 and back for the physical CPU. While the VM is idle, a Linux 4 VCPU VM halts around 10 times per second. Of these halts, almost all are failed polls. During the benchmark, instead, basically all halts end within the polling period, except a more or less constant stream of 50 per second coming from vCPUs that are not running the benchmark. The wasted time is thus very low. Things may be slightly different for Windows VMs, which have a ~10 ms timer tick. The effect is also visible on Marcelo's recently-introduced latency test for the TSC deadline timer. Though of course a non-RT kernel has awful latency bounds, the latency of the timer is around 8000-10000 clock cycles compared to 20000-120000 without setting halt_poll_ns. For the TSC deadline timer, thus, the effect is both a smaller average latency and a smaller variance. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-02-06ALSA: line6: Get rid of unused variable in pod.cTakashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-02-06ALSA: line6: Create sysfs via snd_card_add_dev_attr()Takashi Iwai
Use the new helper function to create sysfs entries in the card more gracefully without races. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-02-06Merge tag 'samsung-cpuidle' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/drivers Merge "Samsung CPUIdle updates for v3.20" from Kukjin Kim: - adds coupled cpuidle support for exynos4210 : fix for Exynos platform PM code preparing it for the coupled cpuidle support and adds coupled cpuidle AFTR mode on exynos4210 Note this is mostrly based on earlier cpuidle-exynos4210 driver from Daniel Lezcano and Bart updated. * tag 'samsung-cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: cpuidle: exynos: add coupled cpuidle support for exynos4210 ARM: EXYNOS: apply S5P_CENTRAL_SEQ_OPTION fix only when necessary Signed-off-by: Olof Johansson <olof@lixom.net>
2015-02-06Merge tag 'samsung-dt-4' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt Merge "Samsung 4th DT updates for v3.20" from Kukjin Kim: - For exynos4 SoCs : add PPMU node : add syscon phandle for video-phy node - For exynos4415 SoC : add mipi dsi and fimd device nodes - For exynos3250-monk and exynos3250-rinato boards : add PPMU node - For exynos4412-trats2 board : add maxim77693 fuel gauge and battery charger nodes : fix regarding CLK_MOUT_CAMn parent and CLK_UART_ISP_SCLK clocks : switch max77686 regulators to GPIO control : add suspend configuration for max77686 regulators : add PPMU node and sound nodes * tag 'samsung-dt-4' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: Add PPMU node for exynos4412-trats2 ARM: dts: Add PPMU node for exynos3250-monk and exynos3250-rinato ARM: dts: Add PPMU dt node for exynos4 and exynos4210 ARM: dts: Add PPMU dt node for exynos3250 ARM: dts: add mipi dsi device node for exynos4415 ARM: dts: add fimd device node for exynos4415 ARM: dts: Add syscon phandle to the video-phy node for Exynos4 ARM: dts: Add sound nodes for exynos4412-trats2 ARM: dts: Fix CLK_MOUT_CAMn parent clocks assignment for exynos4412-trats2 ARM: dts: Fix CLK_UART_ISP_SCLK clock assignment in exynos4x12.dtsi ARM: dts: Add max77693 charger node for exynos4412-trats2 ARM: dts: Switch max77686 regulators to GPIO control for exynos4412-trats2 ARM: dts: Add suspend configuration for max77686 regulators for exynos4412-trats2 ARM: dts: Add Maxim 77693 fuel gauge node for exynos4412-trats2 Signed-off-by: Olof Johansson <olof@lixom.net>
2015-02-06ALSA: Add a helper to add a new attribute group to cardTakashi Iwai
For assigning sysfs entries for a card device from the driver, introduce a new helper function, snd_card_add_dev_attr(). In this way, we can avoid the possible race between the device registration and the sysfs addition / removal. The driver can pass a new attribute group to add freely. This has to be called before snd_card_register(). Currently, up to two extra groups can be added. More than that, it'll return an error. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-02-06Revert "IB/core: Add support for extended query device caps"Yann Droneaud
While commit 7e36ef8205ff ("IB/core: Temporarily disable ex_query_device uverb") is correct as it makes the extended QUERY_DEVICE uverb (which came as part of commit 5a77abf9a97a ("IB/core: Add support for extended query device caps") and commit 860f10a799c8 ("IB/core: Add flags for on demand paging support")) not available to userspace, it doesn't address the initial issue regarding ib_copy_to_udata() [1][2]. Additionally, further discussions around this new uverb seems to conclude it would require a different data structure than the one currently described in <rdma/ib_user_verbs.h> [3]. Both of these issues require a revert of the changes, so this patch partially reverts commit 8cdd312cfed7 ("IB/mlx5: Implement the ODP capability query verb") and commit 860f10a799c8 ("IB/core: Add flags for on demand paging support") and fully reverts commit 5a77abf9a97a ("IB/core: Add support for extended query device caps"). [1] "Re: [PATCH v3 06/17] IB/core: Add support for extended query device caps" http://mid.gmane.org/1418733236.2779.26.camel@opteya.com [2] "Re: [PATCH] IB/core: Temporarily disable ex_query_device uverb" http://mid.gmane.org/1423067503.3030.83.camel@opteya.com [3] "RE: [PATCH v1 1/5] IB/uverbs: ex_query_device: answer must not depend on request's comp_mask" http://mid.gmane.org/2807E5FD2F6FDA4886F6618EAC48510E0CC12C30@CRSMSX101.amr.corp.intel.com Cc: Eli Cohen <eli@mellanox.com> Cc: Haggai Eran <haggaie@mellanox.com> Cc: Ira Weiny <ira.weiny@intel.com> Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Cc: Sagi Grimberg <sagig@mellanox.com> Cc: Shachar Raindel <raindel@mellanox.com> Signed-off-by: Yann Droneaud <ydroneaud@opteya.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
2015-02-06Merge tag 'samsung-defconfig' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/defconfig Merge "Samsung exynos_defconfig updates for v3.20" from Kukjin Kim: - Enable CONFIG_LOCKUP_DETECTOR : to detect hard lockup and soft lockup - Enable PMIC and MUIC : for battery charger, fuel-gauge, regulators - Enable CONFIG_FHANDLE : this is required by systemd * tag 'samsung-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: exynos_defconfig: Enable CONFIG_FHANDLE ARM: exynos_defconfig: Enable PMIC and MUIC drivers for Gears and Trats2 ARM: exynos_defconfig: Enable CONFIG_LOCKUP_DETECTOR ARM: exynos_defconfig: Enable LM90 driver Signed-off-by: Olof Johansson <olof@lixom.net>
2015-02-06Merge tag 'mvebu-dt-3.20-3' of git://git.infradead.org/linux-mvebu into next/dtOlof Johansson
Merge "ARM: mvebu: DT changes for v3.20 (round 2)" from Gregory CLEMENT: Relicense all Armada dts{i} files under dual license of GPLv2+ and X11. This should make it easier to reuse these files with other operating systems and boot loaders. * tag 'mvebu-dt-3.20-3' of git://git.infradead.org/linux-mvebu: (27 commits) ARM: mvebu: armada-xp-synology-ds414: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-xp-openblocks-ax3-4: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-xp-netgear-rn2120: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-xp-mv78460: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-xp-mv78260: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-xp-mv78230: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-xp-matrix: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-xp-lenovo-ix4-300d: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-xp-gp: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-xp: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-xp-db: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-xp-axpwifiap: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-38x: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-388-rd: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-385: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-388-db: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-380: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-375: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-375-db: Relicense the device tree under GPLv2+/X11 ARM: mvebu: armada-370-xp: Relicense the device tree under GPLv2+/X11 ... Signed-off-by: Olof Johansson <olof@lixom.net>
2015-02-06ARM: sirf: drop redundant function and marco declarationBarry Song
with the patchset to add CSR atlas7 support, the below stuff has no user now: SIRFSOC_VA sirfsoc_map_lluart sirfsoc_map_scu the related patches missed to drop them. Signed-off-by: Barry Song <Baohua.Song@csr.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-02-06Merge tag 'keystone-soc' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/defconfig Merge "ARM: Keystone soc config updates for 3.20" from Santosh Shilimkar: Keystone DEVTMPFS config update for 3.20 * tag 'keystone-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: ARM: config: add DEVTMPFS option by default to keystone config Signed-off-by: Olof Johansson <olof@lixom.net>
2015-02-06Merge tag 'drivers-soc-ti' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/drivers Merge "soc: ti: Keystone Navigator SOC driver updates for 3.20" from Santosh Shilimkar: Keystone Navigator SOC driver updates for 3.20 - Makefile tweak so that knav_qmss and knav_dma can be made loadable modules without depedency issues. - Few more exports to support ARM allmodconfig. - Marking knav_range_setup_acc_irq() local function as static. * tag 'drivers-soc-ti' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: soc: ti: knav_qmss_queue: change knav_range_setup_acc_irq to static soc: ti: knav_qmss_queue: makefile tweak to build as dynamic module soc: ti: knav_qmss_queue: export API calls for use by user driver Signed-off-by: Olof Johansson <olof@lixom.net>
2015-02-06arm: omap: specify PMUs are for ARMv7 CPUsMark Rutland
Now that we can specify which PMU variant we're likely to deal with, do so in the omap board code. This will allow us to split the ARMv6, ARMv7, and XScale PMU drivers. The unnecessary include of asm/pmu.h is also removed. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Tony Lindgren <tony@atomide.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Olof Johansson <olof@lixom.net> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-02-06arm: shmobile: specify PMUs are for ARMv7 CPUsMark Rutland
Now that we can specify which PMU variant we're likely to deal with, do so in the shmobile board code. This will allow us to split the ARMv6, ARMv7, and XScale PMU drivers Signed-off-by: Mark Rutland <mark.rutland@arm.com> Tested-by: Simon Horman <horms+renesas@verge.net.au> Acked-by: Simon Horman <horms+renesas@verge.net.au> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Magnus Damm <magnus.damm@gmail.com> Cc: Olof Johansson <olof@lixom.net> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-02-06arm: iop: specify PMUs are for XScale CPUsMark Rutland
Now that we can specify which PMU variant we're likely to deal with, do so in the iop board code. This will allow us to split the ARMv6, ARMv7, and XScale PMU drivers. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Olof Johansson <olof@lixom.net> Cc: Russell King <linux@arm.linux.org.uk> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-02-06arm: pxa: specify PMUs are for XScale CPUsMark Rutland
Now that we can specify which PMU variant we're likely to deal with, do so in the pxa board code. This will allow us to split the ARMv6, ARMv7, and XScale PMU drivers. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Daniel Mack <daniel@zonque.org> Cc: Haojian Zhuang <haojian.zhuang@gmail.com> Cc: Olof Johansson <olof@lixom.net> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-02-06arm: realview: specify PMU typesMark Rutland
Now that we can specify which PMU variant we're likely to deal with, do so in the realview board code. This will allow us to split the ARMv6, ARMv7, and XScale PMU drivers. The Realview EB may be used with ARMv6 or ARMv7 CPUs, but luckily there's only a single ARMv7 CPU, so we can match that explicitly to determine whether or not we have an ARMv7 PMU. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Olof Johansson <olof@lixom.net> Cc: Russell King <linux@arm.linux.org.uk> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-02-06Merge tag 'omap-for-v3.20/dt-pt3-v2' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Merge "omap device tree changes for v3.20, part 3" from Tony Lindgren: Device tree related chages for omaps to fix dm816x syscon, fix various devices for gta04, and add USB nodes for am57xx and dra7. * tag 'omap-for-v3.20/dt-pt3-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: am57xx-beagle-x15: Fix USB2 mode ARM: dts: am57xx-beagle-x15: Add extcon nodes for USB ARM: dts: dra72-evm: Add extcon nodes for USB ARM: dts: dra7-evm: Add extcon nodes for USB ARM: dts: Fix dm816x pinctrl and syscon so they are children of SCM ARM: dts: omap3-gta04: Disable keypad ARM: dts: omap3-gta04: only power DSS when necessary. ARM: dts: omap3-gta04: add gyroscope ARM: dts: omap3-gta04: enable power-off for wifi card. ARM: dts: omap3-gta04: add comments about gpios ARM: dts: omap3-gta04: Add ramp value for twl4030 audio ARM: dts: omap3-gta04: Enable power-off using twl4030 ARM: dts: omap3-gta04: Fix a GPIO line for bma180 node ARM: dts: omap3-gta04: Enable twl audio vibra support ARM: dts: omap3-gta04: Enable mcbps2 necessary for audio ARM: dts: omap3-gta04: Fix audio node malformatting ARM: dts: omap3-gta04: Fix backup-battery charging in devicetree file. Signed-off-by: Olof Johansson <olof@lixom.net>
2015-02-06Merge tag 'v3.20-rockchip-dts3' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Merge "ARM: rockchip: third (and last) batch of dts updates for 3.20" from Heiko Stübner: Change are regulator nodes for the cpu and gpu regulators on the act8846 variant of the rk3288-evb and the setting of a clock for the watchdog. Also the lcd and hdmi controllers on both the firefly and the evb get enabled and let us now boot into fbcon console sucessfully. * tag 'v3.20-rockchip-dts3' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: move the hdmi ddc-i2c-bus property to the actual boards ARM: dts: rockchip: enable vops and hdmi output on rk3288-firefly and -evb ARM: dts: rockchip: housekeeping off i2c0 on rk3288-evb boards ARM: dts: rockchip: add cpu and gpu regulators to rk3288-evb-act8846 ARM: dts: rockchip: add rk3288 watchdog clock clk: rockchip: add id for watchdog pclk on rk3288 clk: rockchip: add clock IDs for the PVTM clocks clk: rockchip: add clock ID for usbphy480m_src Signed-off-by: Olof Johansson <olof@lixom.net>
2015-02-06Merge tag 'arm-soc/for-3.20/maintainer' of ↵Olof Johansson
http://github.com/broadcom/stblinux into next/fixes-non-critical Merge "Fix git repositories for Broadcom SoCs (v3.20)" from Florian Fianelli: This pull request fixes the github.com/broadcom URLs which had one too many "git." in front of all git repositories. * tag 'arm-soc/for-3.20/maintainer' of http://github.com/broadcom/stblinux: MAINTAINERS: fix git repositories for Broadcom SoCs Signed-off-by: Olof Johansson <olof@lixom.net>
2015-02-05Merge tag 'at91-soc4' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/soc Merge "at91: cleanup/soc for 3.20 #4" from Nicolas Ferre: Fourth cleanup/soc batch for 3.20: - merge all the at91sam9 code and remove the empty SoC-specific files - remove the at91_boot_soc that is now useless in a DT context - move the sram code in PM code as it's now only used there - some file + function name changes after this big cleanup * tag 'at91-soc4' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: ARM: at91/trivial: unify functions and machine names ARM: at91: remove at91_dt_initialize and machine init_early() ARM: at91: change board files into SoC files ARM: at91: remove at91_boot_soc ARM: at91: move alternative initial mapping to board-dt-sama5.c ARM: at91: merge all SOC_AT91SAM9xxx ARM: at91: at91rm9200: set idle and restart from rm9200_dt_device_init() ARM: at91: board-dt-sama5: add phy_fixup to override NAND_Tree ARM: at91/dt: sam9263: Add missing clocks to lcdc node ARM: at91: sama5d3: dt: correct the sound route ARM: at91/dt: sama5d4: fix the timer reg length Signed-off-by: Olof Johansson <olof@lixom.net>
2015-02-06Merge tag 'iwlwifi-next-for-kalle-2015-02-03' of ↵Kalle Valo
https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * Add support for beamforming * Enable stuck queue detection for iwlmvm * A few fixes for EBS scan * Fixes for various failure paths * Improvements for TDLS Offchannel
2015-02-06brcm80211: Delete unnecessary checks before two function callsMarkus Elfring
The functions brcmu_pkt_buf_free_skb() and usb_free_urb() test whether their argument is NULL and then return immediately. Thus the test around the call is not needed. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06hostap: Delete an unnecessary check before the function call "kfree"Markus Elfring
The kfree() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06orinoco: Delete an unnecessary check before the function call "kfree"Markus Elfring
The kfree() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06ath9k: Delete an unnecessary check before the function call "relay_close"Markus Elfring
The relay_close() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06cw1200: Less function calls in cw1200_load_firmware_cw1200() after error ↵Markus Elfring
detection The functions kfree() and release_firmware() were called in a few cases by the cw1200_load_firmware_cw1200() function during error handling even if the passed variables contained still a null pointer. Corresponding implementation details could be improved by adjustments for jump targets. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06cw1200: Delete an unnecessary check before the function call "release_firmware"Markus Elfring
The release_firmware() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06orinoco: orinoco_tmd use msecs_to_jiffies for conversionNicholas Mc Guire
This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06orinoco: orinoco_pci use msecs_to_jiffies for conversionNicholas Mc Guire
This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06orinoco: orinoco_plx use msecs_to_jiffies for conversionNicholas Mc Guire
This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var). Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06cw1200: use msecs_to_jiffies for conversionNicholas Mc Guire
This is only an API consolidation to make things more readable. Instances of HZ / CONST are replaced by appropriate msecs_to_jiffies(). Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06ath5k: fix spontaneus AR5312 freezesSergey Ryazanov
Sometimes while CPU have some load and ath5k doing the wireless interface reset the whole WiSoC completely freezes. Set of tests shows that using atomic delay function while we wait interface reset helps to avoid such freezes. The easiest way to reproduce this issue: create a station interface, start continous scan with wpa_supplicant and load CPU by something. Or just create multiple station interfaces and put them all in continous scan. This patch partially reverts the commit 1846ac3dbec0 ("ath5k: Use usleep_range where possible"), which replaces initial udelay() by usleep_range(). I do not know actual source of this issue, but all looks like that HW freeze is caused by transaction on internal SoC bus, while wireless block is in reset state. Also I should note that I do not know how many chips are affected, but I did not see this issue with chips, other than AR5312. CC: Jiri Slaby <jirislaby@gmail.com> CC: Nick Kossifidis <mickflemm@gmail.com> CC: Luis R. Rodriguez <mcgrof@do-not-panic.com> Fixes: 1846ac3dbec0 ("ath5k: Use usleep_range where possible") Reported-by: Christophe Prevotaux <c.prevotaux@rural-networks.com> Tested-by: Christophe Prevotaux <c.prevotaux@rural-networks.com> Tested-by: Eric Bree <ebree@nltinc.com> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06ath9k: Choose correct rate for 2GHz channelSujith Manoharan
Set the transmit rate for the keep-alive frames as 1M/CCK when the current channel is in the 2GHz band. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06ath9k: Clear TSF2 properlySujith Manoharan
Chips in the AR9003 family have a second TSF, which needs to be cleared when putting the card to sleep. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06ath9k: Program AR_WA correctlySujith Manoharan
Setting the required configuration in the PCIE WorkAround register needs to be done after all the WoW parameters have been set. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06ath9k: Fix issues with WoW enableSujith Manoharan
This patch addresses several issues with the ath9k_hw_wow_enable() routine: * The usage of set/clr variables is removed. Writing the required values to registers is cleaner. * The shift value of 28 for the contention window field in AR_WOW_PATTERN is incorrect, change it to 27. * Disabling Keep Alive needs to be done based on the LINK_CHANGE option. This is done unconditionally now, fix this. * The workaround for the D1/D3 issue is required only for AR9462. * The bitfield for enabling pattern matching for packets less than 256 bytes has expanded for new chips, handle this accordingly. * General cleanup. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06ath9k: Register correct WOW details with mac80211Sujith Manoharan
Since the number of user patterns is higher for newer chips, make sure that this is registered during initialization. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06ath9k: Add support for more WOW patternsSujith Manoharan
Newer chips like WB222, WB335 support more than 8 user-configurable patterns. This patch adds support for it by setting up the correct HW registers. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06rtlwifi: rtl8192ee: Fix problems with calculating free space in FIFOLarry Finger
This driver utilizes a FIFO buffer for RX descriptors. There are four places in the code where it calculates the number of free slots. Several of those locations do the calculation incorrectly. To fix these and to prevent future mistakes, a common inline routine is created. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: Stable <stable@vger.kernel.org> [V3.18] Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06rtlwifi: rtl8192ee: Fix handling of new style descriptorsTroy Tan
The hardware and firmware for the RTL8192EE utilize a FIFO list of descriptors. There were some problems with the initial implementation. The worst of these failed to detect that the FIFO was becoming full, which led to the device needing to be power cycled. As this condition is not relevant to most of the devices supported by rtlwifi, a callback routine was added to detect this situation. This patch implements the necessary changes in the pci handler, and the linkage into the appropriate rtl8192ee routine. Signed-off-by: Troy Tan <troy_tan@realsil.com.cn> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: Stable <stable@vger.kernel.org> [V3.18] Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06mailbox: Add Altera mailbox driverLey Foon Tan
The Altera mailbox allows for interprocessor communication. It supports only one channel and work as either sender or receiver. Signed-off-by: Ley Foon Tan <lftan@altera.com>
2015-02-06mailbox: check for bit set before pollingJassi Brar
Before polling we just need to see if the TXDONE_BY_POLL bit is set in txdone_method. There may be another bit (method) specified as well, like TXDONE_BY_ACK. Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
2015-02-06Mailbox: Fix return value check in pcc_init()Wei Yongjun
In case of error, the function platform_create_bundle() returns ERR_PTR() and never returns NULL. The NULL test in the return value check should be replaced with IS_ERR(). Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
2015-02-06module: Remove double spaces in module verification taint messageMarcel Holtmann
The warning message when loading modules with a wrong signature has two spaces in it: "module verification failed: signature and/or required key missing" Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-02-06kernel/module.c: Free lock-classes if parse_args failedAndrey Tsyvarev
parse_args call module parameters' .set handlers, which may use locks defined in the module. So, these classes should be freed in case parse_args returns error(e.g. due to incorrect parameter passed). Signed-off-by: Andrey Tsyvarev <tsyvarev@ispras.ru> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-02-06module: set ksymtab/kcrctab* section addresses to 0x0Rabin Vincent
These __ksymtab*/__kcrctab* sections currently have non-zero addresses. Non-zero section addresses in a relocatable ELF confuse GDB and it ends up not relocating all symbols when add-symbol-file is used on modules which have exports. The kernel's module loader does not care about these addresses, so let's just set them to zero. Before: $ readelf -S lib/notifier-error-inject.ko | grep 'Name\| __ksymtab_gpl' [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 8] __ksymtab_gpl PROGBITS 0000000c 0001b4 000010 00 A 0 0 4 (gdb) add-symbol-file lib/notifier-error-inject.ko 0x500000 -s .bss 0x700000 add symbol table from file "lib/notifier-error-inject.ko" at .text_addr = 0x500000 .bss_addr = 0x700000 (gdb) p &notifier_err_inject_dir $3 = (struct dentry **) 0x0 After: $ readelf -S lib/notifier-error-inject.ko | grep 'Name\| __ksymtab_gpl' [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 8] __ksymtab_gpl PROGBITS 00000000 0001b4 000010 00 A 0 0 4 (gdb) add-symbol-file lib/notifier-error-inject.ko 0x500000 -s .bss 0x700000 add symbol table from file "lib/notifier-error-inject.ko" at .text_addr = 0x500000 .bss_addr = 0x700000 (gdb) p &notifier_err_inject_dir $3 = (struct dentry **) 0x700000 Signed-off-by: Rabin Vincent <rabin.vincent@axis.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-02-05NFSv4.1: Fix pnfs_put_lseg racesTrond Myklebust
pnfs_layoutreturn_free_lseg_async() can also race with inode put in the general case. We can now fix this, and also simplify the code. Cc: Peng Tao <tao.peng@primarydata.com> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
2015-02-05mtd: concat: set the return lengths properlyNiklas Cassel
In concat_read_oob both retlen and oobretlen should be updated. concat_write_oob previously only (improperly) updated retlen. Signed-off-by: Niklas Cassel <niklass@axis.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2015-02-05mtd: kconfig: replace PPC_OF with PPCKevin Hao
The PPC_OF is a ppc specific option which is used to mean that the firmware device tree access functions are available. Since all the ppc platforms have a device tree, it is aways set to 'y' for ppc. So it makes no sense to keep a such option in the current kernel. Replace it with PPC. Signed-off-by: Kevin Hao <haokexin@gmail.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>