|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [linux-linus bisection] complete test-armhf-armhf-xl-arndale
branch xen-unstable
xen branch xen-unstable
job test-armhf-armhf-xl-arndale
test xen-boot
Tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen git://xenbits.xen.org/xen.git
*** Found and reproduced problem changeset ***
Bug is in tree: linux
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Bug introduced: 030bbdbf4c833bc69f502eae58498bc5572db736
Bug not present: 1cced5015b171415169d938fb179c44fe060dc15
commit 030bbdbf4c833bc69f502eae58498bc5572db736
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun May 10 15:12:29 2015 -0700
Linux 4.1-rc3
commit 01d07351f272888f55f0101338e2c60605f17846
Merge: 41f2a93 332545b
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun May 10 14:58:53 2015 -0700
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Pull drm fixes from Dave Airlie:
"I really need to get back to sending these on my Friday, instead of my
Monday morning, but nothing too amazing in here: a few amdkfd fixes, a
few radeon fixes, i915 fixes, one tegra fix and one core fix"
* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
drm: Zero out invalid vblank timestamp in drm_update_vblank_count.
drm/tegra: Don't use vblank_disable_immediate on incapable driver.
drm/radeon: stop trying to suspend UVD sessions
drm/radeon: more strictly validate the UVD codec
drm/radeon: make UVD handle checking more strict
drm/radeon: make VCE handle check more strict
drm/radeon: fix userptr lockup
drm/radeon: fix userptr BO unpin bug v3
drm/amdkfd: Initialize sdma vm when creating sdma queue
drm/amdkfd: Don't report local memory size
drm/amdkfd: allow unregister process with queues
drm/i915: Drop PIPE-A quirk for 945GSE HP Mini
drm/i915: Sink rate read should be saved in deca-kHz
drm/i915/dp: there is no audio on port A
drm/i915: Add missing MacBook Pro models with dual channel LVDS
drm/i915: Assume dual channel LVDS if pixel clock necessitates it
drm/radeon: don't setup audio on asics that don't support it
drm/radeon: disable semaphores for UVD V1 (v2)
commit 332545b3016cbff066c17037d32ec8aae8e4cfb5
Merge: fdb68e0 736a69c
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Mon May 11 06:06:22 2015 +1000
Merge tag 'drm-intel-fixes-2015-05-08' of
git://anongit.freedesktop.org/drm-intel into drm-fixes
misc i915 fixes.
* tag 'drm-intel-fixes-2015-05-08' of
git://anongit.freedesktop.org/drm-intel:
drm/i915: Drop PIPE-A quirk for 945GSE HP Mini
drm/i915: Sink rate read should be saved in deca-kHz
drm/i915/dp: there is no audio on port A
drm/i915: Add missing MacBook Pro models with dual channel LVDS
drm/i915: Assume dual channel LVDS if pixel clock necessitates it
commit fdb68e09bbb1c981f24608d7022c7d93cc47b326
Author: Mario Kleiner <mario.kleiner.de@xxxxxxxxx>
Date: Tue Apr 7 06:31:09 2015 +0200
drm: Zero out invalid vblank timestamp in drm_update_vblank_count.
Since commit 844b03f27739135fe1fed2fef06da0ffc4c7a081 we make
sure that after vblank irq off, we return the last valid
(vblank count, vblank timestamp) pair to clients, e.g., during
modesets, which is good.
An overlooked side effect of that commit for kms drivers without
support for precise vblank timestamping is that at vblank irq
enable, when we update the vblank counter from the hw counter, we
can't update the corresponding vblank timestamp, so now we have a
totally mismatched timestamp for the new count to confuse clients.
Restore old client visible behaviour from before Linux 3.17, but
zero out the timestamp at vblank counter update (instead of disable
as in original implementation) if we can't generate a meaningful
timestamp immediately for the new vblank counter. This will fix
this regression, so callers know they need to retry again later
if they need a valid timestamp, but at the same time preserves
the improvements made in the commit mentioned above.
Signed-off-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> #v3.17+
Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Cc: Daniel Vetter <daniel@xxxxxxxx>
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>
commit 41f2a93cc6d13fa1c82db1281162500fcc57ba3e
Merge: 8425ac7 3b8786f
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun May 10 11:16:48 2015 -0700
Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
Pull ARM fixes from Russell King:
"A set of ARM fixes:
- fix an off-by-one error in the iommu DMA ops, which caused errors
with a 4GiB size.
- remove comments mentioning the non-existent
CONFIG_CPU_ARM1020_CPU_IDLE
macro.
- remove useless CONFIG_CPU_ICACHE_STREAMING_DISABLE blocks, where
this symbol never appeared in any Kconfig.
- fix Feroceon code to cope with a previous change correctly (it
incorrectly left an additional word in an assembly structure
definition)
- avoid a misleading IRQ affinity warning in the ARM PMU code for
IRQs which are already affine to their CPUs.
- fix the node name printed in the IRQ affinity warning"
* 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
ARM: 8352/1: perf: Fix the pmu node name in warning message
ARM: 8351/1: perf: don't warn about missing interrupt-affinity property
for PPIs
ARM: 8350/1: proc-feroceon: Fix feroceon_proc_info macro
ARM: 8349/1: arch/arm/mm/proc-arm925.S: remove dead #ifdef block
ARM: 8348/1: remove comments on CPU_ARM1020_CPU_IDLE
ARM: 8347/1: dma-mapping: fix off-by-one check in
arm_setup_iommu_dma_ops
commit 8425ac7a0d56731df5455c3015c59484f39eab6d
Merge: 8f59ae0 8cf5e6d
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun May 10 11:13:19 2015 -0700
Merge tag 'samsung-fixes-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung
Pull samsung fixes from Kukjin Kim:
"Here is Samsung fixes for v4.1. Since I've missed to send this via
arm-soc tree before v4.1-rc3, so I'm sending this to you directly
- fix commit ea08de16eb1b ("ARM: dts: Add DISP1 power domain for
exynos5420") which causes 'unhandled fault: imprecise external
abort' error when PD turned off. ("make DP a consumer of DISP1
power domain")
- fix 's3c-rtc' probe failure on Odriod-X2/U2/U3 boards ("add
'rtc_src' clock to rtc node for source clock of rtc")
- fix typo for 'cpu-crit-0' trip point on exynos5420/5440
- fix S2R failure on exynos5250-snow due to card power of Marvell
WiFi driver (suspend/resume) ("add keep-power-in-susped to WiFi
SDIO node")"
* tag 'samsung-fixes-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: dts: Add keep-power-in-suspend to WiFi SDIO node for
exynos5250-snow
ARM: dts: Fix typo in trip point temperature for exynos5420/5440
ARM: dts: add 'rtc_src' clock to rtc node for exynos4412-odroid boards
ARM: dts: Make DP a consumer of DISP1 power domain on Exynos5420
commit 8f59ae0643b2057ad996ab23488e9be1ba2564f4
Merge: 51dfcb0 c9d862c
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat May 9 16:13:38 2015 -0700
Merge tag 'fixes-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC fixes from Arnd Bergmann:
"A few patches have come up since the merge window. The largest one is
a rewrite of the PXA lubbock/mainstone IRQ handling. This was already
broken in 2011 by a change to the GPIO code and only noticed now.
The other changes contained here are:
MAINTAINERS file updates:
- Ray Jui and Scott Branden are now co-maintainers for some of the
mach-bcm chips, while Christian Daudt and Marc Carino have stepped
down.
- Andrew Victor is no longer maintaining at91. Instead, Alexandre
Belloni now becomes an official maintainer, after having done a
bulk of the work for a while.
- Baruch Siach, who added the mach-digicolor platform in 4.1 is now
listed as maintainer
- The git URL for mach-socfpga has changed
Bug fixes:
- Three bug fixes for new rockchip rk3288 code
- A regression fix to make SD card support work on certain ux500
boards
- multiple smaller dts fixes for imx, omap, mvebu, and shmobile
- a regression �ix for omap3 power consumption
- a fix for regression in the ARM CCI bus driver
Configuration changes:
- more imx platforms are now enabled in multi_v7_defconfig"
* tag 'fixes-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (39 commits)
MAINTAINERS: add Conexant Digicolor machines entry
MAINTAINERS: socfpga: update the git repo for SoCFPGA
ARM: multi_v7_defconfig: Select more FSL SoCs
MAINTAINERS: replace an AT91 maintainer
drivers: CCI: fix used_mask init in validate_group()
bus: omap_l3_noc: Fix master id address decoding for OMAP5
bus: omap_l3_noc: Fix offset for DRA7 CLK1_HOST_CLK1_2 instance
ARM: dts: dra7: Fix efuse register size for ABB
ARM: dts: am57xx-beagle-x15: Switch GPIO fan number
ARM: dts: am57xx-beagle-x15: Switch UART mux pins
ARM: dts: am437x-sk: reduce col-scan-delay-us
ARM: dts: am437x-sk: fix for new newhaven display module revision
ARM: dts: am57xx-beagle-x15: Fix RTC aliases
ARM: dts: am57xx-beagle-x15: Fix IRQ type for mcp7941x
ARM: dts: omap3: Add #iommu-cells to isp and iva iommu
ARM: omap2plus_defconfig: Enable EXTCON_USB_GPIO
ARM: dts: OMAP3-N900: Add microphone bias voltages
ARM: OMAP2+: Fix omap off idle power consumption creeping up
MAINTAINERS: Update brcmstb entry
MAINTAINERS: Remove Christian Daudt for mach-bcm
...
commit 51dfcb076d1e1ce7006aa272cb7c4514740c7e47
Merge: 9d88f22 7e96c1b
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat May 9 16:07:14 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
Pull user-namespace fix from Eric Biederman:
"Eric Windish recently reported a really bug that allows mounting fresh
copies of proc and sysfs when it really should not be allowed. The
code attempted to verify that proc and sysfs were fully visible but
there is a test missing to ensure that the root of the filesystem is
visible. Doh!
The following patch fixes that.
This fixes a containment issue that the docker folks are seeing"
* 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
mnt: Fix fs_fully_visible to verify the root directory is visible
commit 9d88f22a819db8a9ff78496edf5553e90d88179c
Merge: 95f3b1f 1dcc73d
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat May 9 14:59:05 2015 -0700
Merge branch 'irq-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq updates from Thomas Gleixner:
"Two patches from the irq departement:
- a simple fix to make dummy_irq_chip usable for wakeup scenarios
- removal of the gic arch_extn hackery. Now that all users are
converted we really want to get rid of the interface so people wont
come up with new use cases"
* 'irq-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
irqchip: gic: Drop support for gic_arch_extn
genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip
commit 95f3b1f4b1df4716ce2db8aa2243b7e288eeb9a7
Merge: 1a9f064 149aabc
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat May 9 14:57:49 2015 -0700
Merge branch 'timers-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer fix from Thomas Gleixner:
"A simple fix to actually shut down a detached device instead of
keeping it active"
* 'timers-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
clockevents: Shutdown detached clockevent device
commit 1a9f064f516c36d018754407b41921c996439ecf
Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Date: Sat May 9 03:39:52 2015 +0930
m32r: make flush_cpumask non-volatile.
We cast away the volatile, but really, why make it volatile at all?
We already do a mb() inside the cpumask_empty() loop.
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7e96c1b0e0f495c5a7450dc4aa7c9a24ba4305bd
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date: Fri May 8 16:36:50 2015 -0500
mnt: Fix fs_fully_visible to verify the root directory is visible
This fixes a dumb bug in fs_fully_visible that allows proc or sys to
be mounted if there is a bind mount of part of /proc/ or /sys/ visible.
Cc: stable@xxxxxxxxxxxxxxx
Reported-by: Eric Windisch <ewindisch@xxxxxxxxxx>
Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
commit 95c607d93f477bd4d079c0529c5f7becad4efffb
Merge: af64728 f15133d
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri May 8 21:39:12 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs fixes from Al Viro:
"A couple of fixes for bugs caught while digging in fs/namei.c. The
first one is this cycle regression, the second is 3.11 and later"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
path_openat(): fix double fput()
namei: d_is_negative() should be checked before ->d_seq validation
commit f15133df088ecadd141ea1907f2c96df67c729f0
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri May 8 22:53:15 2015 -0400
path_openat(): fix double fput()
path_openat() jumps to the wrong place after do_tmpfile() - it has
already done path_cleanup() (as part of path_lookupat() called by
do_tmpfile()), so doing that again can lead to double fput().
Cc: stable@xxxxxxxxxxxxxxx # v3.11+
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 766c4cbfacd8634d7580bac6a1b8456e63de3e84
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Thu May 7 19:24:57 2015 -0400
namei: d_is_negative() should be checked before ->d_seq validation
Fetching ->d_inode, verifying ->d_seq and finding d_is_negative() to
be true does *not* mean that inode we'd fetched had been NULL - that
holds only while ->d_seq is still unchanged.
Shift d_is_negative() checks into lookup_fast() prior to ->d_seq
verification.
Reported-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Tested-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit af6472881a6127ad075adf64e459d2905fbc8a5c
Merge: 5d5df5e 1d3c61c
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri May 8 20:59:02 2015 -0700
Merge branch 'for-linus-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
Pull btrfs fix from Chris Mason:
"When an arm user reported crashes near page_address(page) in my new
code, it became clear that I can't be trusted with GFP masks. Filipe
beat me to the patch, and I'll just be in the corner with my dunce cap
on"
* 'for-linus-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
Btrfs: fix wrong mapping flags for free space inode
commit 5d5df5ee7cdb77bfdac3703fd7a6bae5e3e4ab36
Merge: 1daac19 cb31ef4
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri May 8 20:38:21 2015 -0700
Merge tag 'dm-4.1-fixes-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
Pull device mapper fixes from Mike Snitzer:
"Two additional fixes for changes introduced via DM during the 4.1
merge window.
The first reverts a dm-crypt change that wasn't correct. The second
fixes a device format regression that impacted userspace"
* tag 'dm-4.1-fixes-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
init: fix regression by supporting devices with major:minor:offset
format
Revert "dm crypt: fix deadlock when async crypto algorithm returns
-EBUSY"
commit 1daac193f21d6e3d0adc528a06a7e11522d4254d
Merge: 41c64bb 0ff28d9
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri May 8 19:49:35 2015 -0700
Merge branch 'for-linus' of git://git.kernel.dk/linux-block
Pull block fixes from Jens Axboe:
"A collection of fixes since the merge window;
- fix for a double elevator module release, from Chao Yu. Ancient bug.
- the splice() MORE flag fix from Christophe Leroy.
- a fix for NVMe, fixing a patch that went in in the merge window.
From Keith.
- two fixes for blk-mq CPU hotplug handling, from Ming Lei.
- bdi vs blockdev lifetime fix from Neil Brown, fixing and oops in md.
- two blk-mq fixes from Shaohua, fixing a race on queue stop and a
bad merge issue with FUA writes.
- division-by-zero fix for writeback from Tejun.
- a block bounce page accounting fix, making sure we inc/dec after
bouncing so that pre/post IO pages match up. From Wang YanQing"
* 'for-linus' of git://git.kernel.dk/linux-block:
splice: sendfile() at once fails for big files
blk-mq: don't lose requests if a stopped queue restarts
blk-mq: fix FUA request hang
block: destroy bdi before blockdev is unregistered.
block:bounce: fix call inc_|dec_zone_page_state on different pages
confuse value of NR_BOUNCE
elevator: fix double release of elevator module
writeback: use |1 instead of +1 to protect against div by zero
blk-mq: fix CPU hotplug handling
blk-mq: fix race between timeout and CPU hotplug
NVMe: Fix VPD B0 max sectors translation
commit 41c64bb19c740b5433f768032ecaf05375c955ee
Merge: a8a0811 d2d05c6
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri May 8 19:42:59 2015 -0700
Merge tag 'gpio-v4.1-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio
Pull GPIO fixes from Linus Walleij:
"Here is a bunch of GPIO fixes that I collected since -rc1, nothing
controversial, nothing special:
- fix a memory leak for GPIO hotplug.
- fix a signedness bug in the ACPI GPIO pin validation.
- driver fixes: Qualcomm SPMI and OMAP MPUIO IRQ issues"
* tag 'gpio-v4.1-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
gpio: omap: Fix regression for MPUIO interrupts
gpio: sysfs: fix memory leaks and device hotplug
pinctrl: qcom-spmi-gpio: Fix input value report
pinctrl: qcom-spmi-gpio: Fix output type configuration
gpiolib: change gpio pin from unsigned to signed in acpi callback
commit a8a0811314db714ae23ab9f0ea707711a076bf18
Merge: 26b293e 4de3bf6
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri May 8 19:34:35 2015 -0700
Merge tag 'mmc-4.1-rc2' of git://git.linaro.org/people/ulf.hansson/mmc
Pull MMC fixes from Ulf Hansson:
"MMC core:
- Don't access RPMB partitions for normal read/write
- Fix hibernation restore sequence
MMC host:
- dw_mmc: Fix card detection for non removable cards
- dw_mmc: Fix sglist issue in 32-bit mode
- sh_mmcif: Fix timeout value for command request"
* tag 'mmc-4.1-rc2' of git://git.linaro.org/people/ulf.hansson/mmc:
mmc: dw_mmc: dw_mci_get_cd check MMC_CAP_NONREMOVABLE
mmc: dw_mmc: init desc in dw_mci_idmac_init
mmc: card: Don't access RPMB partitions for normal read/write
mmc: sh_mmcif: Fix timeout value for command request
mmc: core: add missing pm event in mmc_pm_notify to fix hib restore
commit 26b293e854406ea4276b566cef75426adc3a9688
Merge: 3e0283a ac01ce1
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri May 8 18:22:05 2015 -0700
Merge tag 'trace-fixes-v4.1-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
Pull tracing fix from Steven Rostedt:
"The newly added ftrace_print_array_seq() function had a bug in it.
Luckily, the only user of it didn't make the 4.1 merge window.
But the helper function should be fixed before 4.2 when the users
start coming in"
* tag 'trace-fixes-v4.1-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
tracing: Make ftrace_print_array_seq compute buf_len
commit 8cf5e6dc8dd55d0f1ad46ab4046c3a8a51d2136d
Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Date: Sat May 9 03:15:16 2015 +0900
ARM: dts: Add keep-power-in-suspend to WiFi SDIO node for exynos5250-snow
The Marvell mwifiex driver prevents the system to enter into a suspend
state if the card power is not preserved during a suspend/resume cycle.
So Suspend-to-RAM and Suspend-to-idle are failing on Exynos5250 Snow.
Add the keep-power-in-suspend Power Management property to the SDIO/MMC
node so the mwifiex suspend handler doesn't fail and the system is able
to enter into a suspend state.
Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx>
Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx>
commit cb0f7c8b40c52124fdb73b5e5a1b28202efbb43b
Author: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx>
Date: Sat May 9 03:11:21 2015 +0900
ARM: dts: Fix typo in trip point temperature for exynos5420/5440
Remove the extra zero in the "cpu-crit-0" trip point for exynos5420
and exynos5440.
Signed-off-by: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx>
Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx>
commit ee2020a4ca847e2cde4d5ee73572388061730809
Author: Markus Reichl <m.reichl@xxxxxxxxxxxxx>
Date: Sat May 9 03:05:51 2015 +0900
ARM: dts: add 'rtc_src' clock to rtc node for exynos4412-odroid boards
The Exynos4412 SoC has a s3c6410 RTC where the source clock
is now a mandatory property.
This patch fixes probe failure of s3c-rtc on Odroid-X2/U2/U3 boards.
Signed-off-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx>
Tested-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx>
commit 0d747762966e47e3660cbd1b7806791c83e04f91
Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Date: Sat May 9 02:33:42 2015 +0900
ARM: dts: Make DP a consumer of DISP1 power domain on Exynos5420
Commit ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420")
added a device node for the Exynos5420 DISP1 power domain but dit not
make the DP controller a consumer of that power domain.
This causes an "Unhandled fault: imprecise external abort" error if the
exynos-dp driver tries to access the DP controller registers and the PD
was turned off. This lead to a kernel panic and a complete system hang.
Make the DP controller device node a consumer of the DISP1 power domain
to ensure that the PD is turned on when the exynos-dp driver is probed.
Fixes: ea08de16eb1b ("ARM: dts: Add DISP1 power domain for exynos5420")
Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx>
commit c9d862c48c48883a4327ae82f4a6de1eef928d60
Author: Baruch Siach <baruch@xxxxxxxxxx>
Date: Tue Apr 28 13:59:43 2015 +0300
MAINTAINERS: add Conexant Digicolor machines entry
This adds Baruch as the maintainer for the Digicolor platform.
Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx>
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
commit efadb751692f3c10e72cf96c8409e40e60852ff2
Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 20 14:13:12 2015 -0500
MAINTAINERS: socfpga: update the git repo for SoCFPGA
The git tree at rocketboards.org is going away. Update the entry to
reflect
the address of the new location. Also add an entry for all the socfpga_*
dts files.
Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
commit 3790e395b8f4b66fe4e53629f304505c110a2be7
Author: Mario Kleiner <mario.kleiner.de@xxxxxxxxx>
Date: Mon May 4 06:29:44 2015 +0200
drm/tegra: Don't use vblank_disable_immediate on incapable driver.
Tegra would not only need a hardware vblank counter that
increments at leading edge of vblank, but also support
for instantaneous high precision vblank timestamp queries, ie.
a proper implementation of dev->driver->get_vblank_timestamp().
Without these, there can be off-by-one errors during vblank
disable/enable if the scanout is inside vblank at en/disable
time, and additionally clients will never see any useable
vblank timestamps when querying via drmWaitVblank ioctl. This
would negatively affect swap scheduling under X11 and Wayland.
Signed-off-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx>
Acked-by: Thierry Reding <treding@xxxxxxxxxx>
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>
commit 94754c183ada2143f03f3e16827904aab9e09f8e
Merge: 7122e50 79b066b
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Fri May 8 20:52:51 2015 +1000
Merge tag 'drm-amdkfd-fixes-2015-05-07' of
git://people.freedesktop.org/~gabbayo/linux into drm-fixes
- Add missing initialization of SDMA vm register when creating an SDMA
queue
- Don't report local memory size, as we don't support local memory
allocation
yet.
- Allow to unregister process with exisiting queues. Until now we blocked
it with BUG_ON, which was also an error by itself.
* tag 'drm-amdkfd-fixes-2015-05-07' of
git://people.freedesktop.org/~gabbayo/linux:
drm/amdkfd: Initialize sdma vm when creating sdma queue
drm/amdkfd: Don't report local memory size
drm/amdkfd: allow unregister process with queues
commit 7122e505a52a2b1b8a21101cce04bcdf7c28deab
Merge: 5ebe6af 12e49fe
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Fri May 8 20:52:21 2015 +1000
Merge branch 'drm-fixes-4.1' of git://people.freedesktop.org/~agd5f/linux
into drm-fixes
Mostly stability fixes for UVD and VCE, plus a few other bug and
regression
fixes.
* 'drm-fixes-4.1' of git://people.freedesktop.org/~agd5f/linux:
drm/radeon: stop trying to suspend UVD sessions
drm/radeon: more strictly validate the UVD codec
drm/radeon: make UVD handle checking more strict
drm/radeon: make VCE handle check more strict
drm/radeon: fix userptr lockup
drm/radeon: fix userptr BO unpin bug v3
drm/radeon: don't setup audio on asics that don't support it
drm/radeon: disable semaphores for UVD V1 (v2)
commit 4de3bf66c61ef708d8f22d7f990339668a858e7d
Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx>
Date: Tue May 5 16:54:49 2015 +0800
mmc: dw_mmc: dw_mci_get_cd check MMC_CAP_NONREMOVABLE
When non-removable is used for emmc, MMC_CAP_NONREMOVABLE should
also be checked, otherwise detection fail since present=0
Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx>
Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 4b2447248325ac7b1654d362c0e9f050f79e0ffe
Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx>
Date: Thu Apr 30 22:16:28 2015 +0800
mmc: dw_mmc: init desc in dw_mci_idmac_init
Set 0 to des1 in 32bit case.
Otherwise the random value of des1 will be used in
dw_mci_translate_sglist: IDMAC_SET_BUFFER1_SIZE(desc, length)
Signed-off-by: Fei Wang <w.f@xxxxxxxxxx>
Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx>
Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 3e0283a53f7d2f2dae7bc4aa7f3104cb5988018f
Merge: 68c2f356 9a5d931
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu May 7 15:58:00 2015 -0700
Merge tag 'pm+acpi-4.1-rc3' of
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management and ACPI fixes from Rafael Wysocki:
"These include three regression fixes (PCI resources management,
ACPI/PNP device enumeration, ACPI SBS on MacBook) and two ACPI
documentation fixes related to GPIO.
Specifics:
- Fix for a PCI resources management regression introduced during the
4.0 cycle and related to the handling of ACPI resources'
Producer/Consumer flags that turn out to be useless (Jiang Liu)
- Fix for a MacBook regression related to the Smart Battery Subsystem
(SBS) driver causing various problems (stalls on boot, failure to
detect or report battery) to happen and introduced during the 3.18
cycle (Chris Bainbridge)
- Fix for an ACPI/PNP device enumeration regression introduced during
the 3.16 cycle caused by failing to include two PNP device IDs into
the list of IDs that PNP device objects need to be created for
(Witold Szczeponik)
- Fixes for two minor mistakes in the ACPI GPIO properties
documentation (Antonio Ospite, Rafael J Wysocki)"
* tag 'pm+acpi-4.1-rc3' of
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
ACPI / PNP: add two IDs to list for PNPACPI device enumeration
ACPI / documentation: Fix ambiguity in the GPIO properties document
ACPI / documentation: fix a sentence about GPIO resources
ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook
x86/PCI/ACPI: Make all resources except [io 0xcf8-0xcff] available on
PCI bus
commit 9a5d9315e41cc0dfc97a3b0a8e222d30566cf3fe
Merge: 2c62e84 3349fb6 a00212e 622532b
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Thu May 7 21:24:34 2015 +0200
Merge branches 'acpi-resources', 'acpi-battery', 'acpi-doc' and 'acpi-pnp'
* acpi-resources:
x86/PCI/ACPI: Make all resources except [io 0xcf8-0xcff] available on
PCI bus
* acpi-battery:
ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook
* acpi-doc:
ACPI / documentation: Fix ambiguity in the GPIO properties document
ACPI / documentation: fix a sentence about GPIO resources
* acpi-pnp:
ACPI / PNP: add two IDs to list for PNPACPI device enumeration
commit 68c2f356c9ec65e1eb50c31690b095673dbd8010
Merge: fbb7b92 7263b1b
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu May 7 11:18:34 2015 -0700
Merge tag 'for-f2fs-4.1-rc3' of
git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
Pull f2fs fixes from Jaegeuk Kim:
"Fix a performance regression and a bug"
* tag 'for-f2fs-4.1-rc3' of
git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs:
f2fs: fix wrong error hanlder in f2fs_follow_link
Revert "f2fs: enhance multi-threads performance"
commit dc0e3db4ec7c1e73e3283ad39b68eff32b7dc8a1
Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Date: Tue May 5 14:35:49 2015 -0300
ARM: multi_v7_defconfig: Select more FSL SoCs
Select IMX50, IMX6SX and LS1021A SoC support.
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
commit d68b35f845cc56472fa0d782449ff1549f00ec47
Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Date: Wed Apr 29 11:57:18 2015 +0200
MAINTAINERS: replace an AT91 maintainer
As some help is needed from an active maintainer, replace Andrew Victor
by Alexandre Belloni in the ARM/Atmel MAINTAINERS' entry (aka AT91).
Add an entry to the CREDITS file.
Thanks Andrew for the great role you played during the early days of this
product family.
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Acked-by: Andrew Victor <linux@xxxxxxxxxxxx>
Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
commit 454be2af5b49612e7f20ceb6683d5809ce848bee
Author: Mark Salter <msalter@xxxxxxxxxx>
Date: Tue Apr 28 13:09:32 2015 -0400
drivers: CCI: fix used_mask init in validate_group()
Currently in validate_group(), there is a static initializer
for fake_pmu.used_mask which is based on CPU_BITS_NONE but
the used_mask array size is based on CCI_PMU_MAX_HW_EVENTS.
CCI_PMU_MAX_HW_EVENTS is not based on NR_CPUS, so CPU_BITS_NONE
is not correct and will cause a build failure if NR_CPUS
is set high enough to make CPU_BITS_NONE larger than used_mask.
Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx>
Signed-off-by: Mark Salter <msalter@xxxxxxxxxx>
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
commit bd1a6e7b47246dd91c02d46f9a373822a1d972cc
Merge: 1e5f9ed 11133db
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Thu May 7 18:28:04 2015 +0200
Merge tag 'stericsson-fixes-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into fixes
Merge "Ux500 fixes" from Linus Walleij:
This fixes an MMC/SD configuration issue present for some time
in the Ux500 DT but triggered by proper error handling in v4.1-rc1.
* tag 'stericsson-fixes-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
ARM: ux500: Enable GPIO regulator for SD-card for snowball
ARM: ux500: Enable GPIO regulator for SD-card for HREF boards
ARM: ux500: Move GPIO regulator for SD-card into board DTSs
commit 1e5f9ed00d72c60f68d8cb75fd7d10abfb5947cd
Merge: 443318e0 12392f5
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Thu May 7 18:26:48 2015 +0200
Merge tag 'renesas-fixes-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes
Merge "Renesas ARM Based SoC Fixes for v4.1" from Simon Horman:
* Fix adv7511 IRQ sensing on koelsch board
* tag 'renesas-fixes-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: koelsch: Fix adv7511 IRQ sensing
commit 443318e0b776562593f4d4fd770055a9d31add54
Merge: d6ad446 e7309c2
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Thu May 7 18:25:38 2015 +0200
Merge tag 'omap-for-v4.1/fixes-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
Merge "omap fixes against v4.1-rc1" from Tony Lindgren:
Fixes for omaps, mostly a fix for power power consumption
creeping up during idle, and two l3-noc device fixes:
- Fix power consumption creeping up with I2C4 staying on
- Fix n900 microphone bias voltages
- Fix dra7 l3-noc for host clock
- Fix omap5 l3-noc id address decoding
The rest are all just minor dts fixes:
- Fix changed EXTCON_USB_GPIO_USB in defconfig
- Fix missing isp and iva #iommu-cells property
- Various beagle x15 dts fixes for pre-production changes
- Fix am437x-sk display dts entries
* tag 'omap-for-v4.1/fixes-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
bus: omap_l3_noc: Fix master id address decoding for OMAP5
bus: omap_l3_noc: Fix offset for DRA7 CLK1_HOST_CLK1_2 instance
ARM: dts: dra7: Fix efuse register size for ABB
ARM: dts: am57xx-beagle-x15: Switch GPIO fan number
ARM: dts: am57xx-beagle-x15: Switch UART mux pins
ARM: dts: am437x-sk: reduce col-scan-delay-us
ARM: dts: am437x-sk: fix for new newhaven display module revision
ARM: dts: am57xx-beagle-x15: Fix RTC aliases
ARM: dts: am57xx-beagle-x15: Fix IRQ type for mcp7941x
ARM: dts: omap3: Add #iommu-cells to isp and iva iommu
ARM: omap2plus_defconfig: Enable EXTCON_USB_GPIO
ARM: dts: OMAP3-N900: Add microphone bias voltages
ARM: OMAP2+: Fix omap off idle power consumption creeping up
commit d6ad446dd75ef58bd383987e35ffd90d564f8080
Merge: 654758a 1de2a66
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Thu May 7 18:24:32 2015 +0200
Merge tag 'arm-soc/for-4.1/maintainers' of
http://github.com/broadcom/stblinux into fixes
Merge "MAINTAINERS update for Broadcom SoCs for 4.1 #2" from Florian
Fainelli:
This pull request contains 3 changes to the MAINTAINERS file for Broadcom
SoCs:
- add Ray and Scott for mach-bcm
- remove Christian for mach-bcm
- remove Marc for brcmstb
* tag 'arm-soc/for-4.1/maintainers' of
http://github.com/broadcom/stblinux:
MAINTAINERS: Update brcmstb entry
MAINTAINERS: Remove Christian Daudt for mach-bcm
MAINTAINERS: Update mach-bcm maintainers list
commit 654758ae09b4257f2f79c46ade01f973990d63f0
Merge: 1be518b 750e30d
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Thu May 7 18:23:49 2015 +0200
Merge tag 'mvebu-fixes-4.1' of git://git.infradead.org/linux-mvebu into
fixes
Pull "mvebu fix for 4.1" from Gregory CLEMENT:
Disable the unused internal RTC in the dts of the OpenBlock AX3
* tag 'mvebu-fixes-4.1' of git://git.infradead.org/linux-mvebu:
ARM: mvebu: armada-xp-openblocks-ax3-4: Disable internal RTC
commit 1be518bd0bf77eedf9bbda5d5b25466f615813b2
Merge: c92b83a fc9e38c
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Thu May 7 18:23:00 2015 +0200
Merge tag 'fixes-for-v4.1-rc2' of https://github.com/rjarzmik/linux into
fixes
Merged "ARM: pxa: fixes for v4.1-rc2" from Robert Jarzmik:
These fixes reenable the lubbock(pxa25x) and mainstone(pxa27x)
platforms, which were broken since the gpio handling was
converted to a driver, and the interrupt ordering broke the
external interrupts of these systems.
* tag 'fixes-for-v4.1-rc2' of https://github.com/rjarzmik/linux:
ARM: pxa: lubbock: use new pxa_cplds driver
ARM: pxa: mainstone: use new pxa_cplds driver
ARM: pxa: pxa_cplds: add lubbock and mainstone IO
commit c92b83a81ad09267619ccd077ddd2a5e321d8a61
Merge: d6bcc80 68ce9a1
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Thu May 7 18:21:57 2015 +0200
Merge tag 'imx-fixes-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes
Pull "The i.MX fixes for 4.1" from Shawn Guo:
- A couple of imx23-olinuxino device tree fixes regarding to LED GPIO
polarity and USB dr_mode setting
- One i.MX28 device tree fix on AUART4 TX-DMA interrupt name
- Add missing pwm-cells to PWM4 for i.MX25 device tree
- Fix imx6q-phytec device tree to get correct USB VBUS control
- Drop invalid pinctrl-assert-gpios property from imx6qdl-sabreauto
device tree, which was sneaked in from vendor device tree
- One fix on Wolfram's broken email address
* tag 'imx-fixes-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
ARM: dts: imx6qdl-sabreauto: remove pinctrl-assert-gpios
ARM: dts: imx28: Fix AUART4 TX-DMA interrupt name
ARM: dts: imx25: Add #pwm-cells to pwm4
ARM: dts: imx6: phyFLEX: USB VBUS control is active-high
ARM: mach-imx: devices: platform-sdhci-esdhc-imx: fix broken email
address
ARM: dts: imx23-olinuxino: Fix dr_mode of usb0
ARM: dts: imx23-olinuxino: Fix polarity of LED GPIO
commit d6bcc8069b27090f7e5bbe0521774f11c68a7001
Merge: 5ebe6af 2a9fe3c
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Thu May 7 18:19:27 2015 +0200
Merge tag 'v4.1-rockchip-socfixes1' of
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into fixes
Merge "ARM: rockchip: some soc-level fixes for 4.1" from Heiko Stübner:
Two fixes from Chris Zhong, fixing some suspend oddities.
And I've given up on the timer7 issue. While I initially thought
devices would either have both the grave mmu issue requiring a uboot
update and the timer7 issue or none, it looks like in all units in the
field the mmu issue got fixed while the timer7 issue stayed on.
So instead of making everybody wanting to use mainline jump through a
hoop just make sure timer7 is on on boot before we init the arch-timer.
* tag 'v4.1-rockchip-socfixes1' of
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
rockchip: make sure timer7 is enabled on rk3288 platforms
ARM: rockchip: fix undefined instruction of reset_ctrl_regs
ARM: rockchip: disable dapswjdp during suspend
commit fbb7b92f16710a3848db25d0a4a2bb6fb7199061
Merge: 7bbcd1b c5272a2
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu May 7 08:27:38 2015 -0700
Merge tag 'pinctrl-v4.1-3' of
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control fixes from Linus Walleij:
"Here is a smallish set of pin control fixes for the v4.1 cycle,
collected the last two weeks:
- fix a real nasty legacy bug that has screwed up the protection of
adding pinctrl maps dynamically. Normally this didn't happen so
much but Dough Anderson ran into it and fixed it, kudos!
- minor driver fixes for Qualcomm spmi, mediatek and Marvell drivers"
* tag 'pinctrl-v4.1-3' of
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
pinctrl: Don't just pretend to protect pinctrl_maps, do it for real
pinctrl: mediatek: mtk-common: initialize unmask
pinctrl: qcom-spmi-mpp: Fix input value report
pinctrl: qcom-spmi: Fix pin direction configuration
pinctrl: mvebu: Fix mapping of pin 63 (gpo -> gpio)
commit 7bbcd1b86dcec982d2d3abec8db5da208b075f52
Merge: 8cb7c15 db7d4d7
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu May 7 08:18:01 2015 -0700
Merge tag 'vfio-v4.1-rc3' of git://github.com/awilliam/linux-vfio
Pull vfio fixes from Alex Williamson:
"Fix some undesirable behavior with the vfio device request interface:
- increase verbosity of device request channel (Alex Williamson)
- fix runaway interruptible timeout (Alex Williamson)"
* tag 'vfio-v4.1-rc3' of git://github.com/awilliam/linux-vfio:
vfio: Fix runaway interruptible timeout
vfio-pci: Log device requests more verbosely
commit 12e49feadff6d7b7ebbe852b36943a71524d8d34
Author: Christian König <christian.koenig@xxxxxxx>
Date: Thu May 7 15:19:25 2015 +0200
drm/radeon: stop trying to suspend UVD sessions
Saving the current UVD state on suspend and restoring it on resume
just doesn't work reliable. Just close cleanup all sessions on suspend.
Signed-off-by: Christian König <christian.koenig@xxxxxxx>
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit d52cdfa4a0c6406bbfb33206341eaf1fb1555994
Author: Christian König <christian.koenig@xxxxxxx>
Date: Thu May 7 15:19:24 2015 +0200
drm/radeon: more strictly validate the UVD codec
MPEG 2/4 are only supported since UVD3.
Signed-off-by: Christian König <christian.koenig@xxxxxxx>
CC: stable@xxxxxxxxxxxxxxx
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit a1b403da70e038ca6c6c6fe434d1d873546873a3
Author: Christian König <christian.koenig@xxxxxxx>
Date: Thu May 7 15:19:23 2015 +0200
drm/radeon: make UVD handle checking more strict
Invalid messages can crash the hw otherwise.
Signed-off-by: Christian König <christian.koenig@xxxxxxx>
CC: stable@xxxxxxxxxxxxxxx
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit 29c63fe22a17c64e54016040cd882481bd45ee5a
Author: Christian König <christian.koenig@xxxxxxx>
Date: Thu May 7 15:19:22 2015 +0200
drm/radeon: make VCE handle check more strict
Invalid handles can crash the hw.
Signed-off-by: Christian König <christian.koenig@xxxxxxx>
CC: stable@xxxxxxxxxxxxxxx
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit 247c405098ab731ad9b58971e2cfbab116b54b45
Author: Christian König <christian.koenig@xxxxxxx>
Date: Tue May 5 09:52:12 2015 +0200
drm/radeon: fix userptr lockup
We shouldn't try to reserve and wait for a BO that isn't bound. Otherwise
we can run into a deadlock if we have a fault during binding the BO.
Signed-off-by: Christian König <christian.koenig@xxxxxxx>
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit db12973cd581d4e79f4aadd0960948f268d15af7
Author: monk.liu <monk.liu@xxxxxxx>
Date: Tue May 5 09:24:17 2015 +0200
drm/radeon: fix userptr BO unpin bug v3
Fixing a memory leak with userptrs.
v2: clean up the loop, use an iterator instead
v3: remove unused variable
Signed-off-by: monk.liu <monk.liu@xxxxxxx>
Signed-off-by: Christian König <christian.koenig@xxxxxxx>
CC: stable@xxxxxxxxxxxxxxx
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit 79b066bd76d501cfe8328142153da301f5ca11d1
Author: Xihan Zhang <xihan.zhang@xxxxxxx>
Date: Tue Apr 28 23:48:40 2015 +0800
drm/amdkfd: Initialize sdma vm when creating sdma queue
This patch fixes a bug where sdma vm wasn't initialized when
an sdma queue was created in HWS mode.
This caused GPUVM faults to appear on dmesg and it is one of the
causes that SDMA queues are not working.
Signed-off-by: Xihan Zhang <xihan.zhang@xxxxxxx>
Reviewed-by: Ben Goz <ben.goz@xxxxxxxx>
Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit 42e08c78360e58516b6ac8af18a75a494f2967a2
Author: Oded Gabbay <oded.gabbay@xxxxxxxxx>
Date: Tue May 5 11:15:07 2015 +0300
drm/amdkfd: Don't report local memory size
This patch sets the local memory size that is reported to userspace to 0.
This is done to make sure that userspace won't try to allocate local
memory
for HSA.
As long as amdkfd doesn't support allocating local memory for HSA,
we need this patch.
Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit 1e5ec956a057585adaa1365615c82810b2f5356f
Author: Oded Gabbay <oded.gabbay@xxxxxxxxx>
Date: Tue Apr 14 14:13:18 2015 +0300
drm/amdkfd: allow unregister process with queues
Sometimes we might unregister process that have queues, because we
couldn't
preempt the queues. Until now we blocked it with BUG_ON but instead just
print it as debug.
Reviewed-by: Ben Goz <ben.goz@xxxxxxx>
Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit 8cb7c15b32545f9e7c4f72ffa357353109967a7a
Merge: 0e1dc42 b6b2bbe
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu May 7 07:04:33 2015 -0700
Merge tag 'for-linus' of git://github.com/dledford/linux
Pull infiniband updates from Doug Ledford:
"Minor updates for 4.1-rc
Most of the changes are fairly small and well confined. The iWARP
address reporting changes are the only ones that are a medium size. I
had these queued up prior to rc1, but due to the shuffle in
maintainers, they did not get submitted when I expected. My apologies
for that. I feel comfortable with them however due to the testing
they've received, so I left them in this submission"
* tag 'for-linus' of git://github.com/dledford/linux:
MAINTAINERS: Update InfiniBand subsystem maintainer
MAINTAINERS: add include/rdma/ to InfiniBand subsystem
IPoIB/CM: Fix indentation level
iw_cxgb4: Remove negative advice dmesg warnings
IB/core: Fix unaligned accesses
IB/core: change rdma_gid2ip into void function as it always return zero
IB/qib: use arch_phys_wc_add()
IB/qib: add acounting for MTRR
IB/core: dma unmap optimizations
IB/core: dma map/unmap locking optimizations
RDMA/cxgb4: Report the actual address of the remote connecting peer
RDMA/nes: Report the actual address of the remote connecting peer
RDMA/core: Enable the iWarp Port Mapper to provide the actual address
of the connecting peer to its clients
iw_cxgb4: enforce qp/cq id requirements
iw_cxgb4: use BAR2 GTS register for T5 kernel mode CQs
iw_cxgb4: 32b platform fixes
iw_cxgb4: Cleanup register defines/MACROS
RDMA/CMA: Canonize IPv4 on IPV6 sockets properly
commit 736a69ca8c99a595a523d2fece66491b89168da6
Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Date: Thu May 7 11:16:26 2015 +0100
drm/i915: Drop PIPE-A quirk for 945GSE HP Mini
Since the introduction of BIOS fb preservation, circa 3.17, we began
encountering a failure during boot when trying to use force-detect
before GEM was initialised. That bug is from
commit 7fad798e16fecddd41c6a91728a09f0b9507e40c
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date: Wed Jul 4 17:51:47 2012 +0200
drm/i915: ensure the force pipe A quirk is actually followed
but investigation of the affected machine revealed that it was using a
PIPE-A quirk even though it was a 945GSE and the quirk is only supposed
to be used to workaround a hardware issue on 830/845. That quirk was
added for this HP Mini in
commit 6b93afc564a5e74b0eaaa46c95f557449951b3b9
Author: Bryce Harrington <bryce@xxxxxxxxxxxxxxxxxxx>
Date: Wed May 27 03:40:52 2009 -0700
add pipe a force quirk for Dell mini
in order to workaround an issue with the BIOS behaving strangely during
lid-close. Since then we have a much larger hammer to thwart the BIOS
after opening the lid and the PIPE-A quirk is no longer required.
Reported-and-tested-by: Apostolos B. <barz621@xxxxxxxxx>
References: https://bugs.freedesktop.org/show_bug.cgi?id=21960
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=87521
Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit af77b9741300616e7d04264d0ee7ac9f8abb448f
Author: Sonika Jindal <sonika.jindal@xxxxxxxxx>
Date: Thu May 7 13:59:28 2015 +0530
drm/i915: Sink rate read should be saved in deca-kHz
The sink rate read from supported link rate table is in KHz as per spec
while in drm, the saved clock is in deca-KHz. So divide the link rate by
10 before storing.
Reading of rates was added by:
commit fc0f8e25318f ("drm/i915/skl: Read sink supported rates from edp
panel")
Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx>
Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit ac01ce1410fc2c7b5f3af5e9c972e6a412eee54f
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Wed Apr 29 16:18:46 2015 +0100
tracing: Make ftrace_print_array_seq compute buf_len
The only caller to this function (__print_array) was getting it wrong by
passing the array length instead of buffer length. As the element size
was already being passed for other reasons it seems reasonable to push
the calculation of buffer length into the function.
Link:
http://lkml.kernel.org/r/1430320727-14582-1-git-send-email-alex.bennee@xxxxxxxxxx
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 1d3c61c2eb3fe4f96d3192212f1bdcee49ea55aa
Author: Filipe Manana <fdmanana@xxxxxxxx>
Date: Wed May 6 11:17:01 2015 +0100
Btrfs: fix wrong mapping flags for free space inode
We were passing a flags value that differed from the intention in commit
2b108268006e ("Btrfs: don't use highmem for free space cache pages").
This caused problems in a ARM machine, leaving btrfs unusable there.
Reported-by: Merlijn Wajer <merlijn@xxxxxxxxxx>
Tested-by: Merlijn Wajer <merlijn@xxxxxxxxxx>
Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 0e1dc4274828f64fcb56fc7b950acdc5ff7a395f
Merge: 3d54ac9 8746515
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed May 6 15:58:06 2015 -0700
Merge tag 'for-linus-4.1b-rc2-tag' of
git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
Pull xen bug fixes from David Vrabel:
- fix blkback regression if using persistent grants
- fix various event channel related suspend/resume bugs
- fix AMD x86 regression with X86_BUG_SYSRET_SS_ATTRS
- SWIOTLB on ARM now uses frames <4 GiB (if available) so device only
capable of 32-bit DMA work.
* tag 'for-linus-4.1b-rc2-tag' of
git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
xen: Add __GFP_DMA flag when xen_swiotlb_init gets free pages on ARM
hypervisor/x86/xen: Unset X86_BUG_SYSRET_SS_ATTRS on Xen PV guests
xen/events: Set irq_info->evtchn before binding the channel to CPU in
__startup_pirq()
xen/console: Update console event channel on resume
xen/xenbus: Update xenbus event channel on resume
xen/events: Clear cpu_evtchn_mask before resuming
xen-pciback: Add name prefix to global 'permissive' variable
xen: Suspend ticks on all CPUs during suspend
xen/grant: introduce func gnttab_unmap_refs_sync()
xen/blkback: safely unmap purge persistent grants
commit 3d54ac9e35a69d19381420bb2fa1702d5bf73846
Merge: d8fce2d c88d474
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed May 6 10:57:37 2015 -0700
Merge branch 'x86-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Ingo Molnar:
"EFI fixes, and FPU fix, a ticket spinlock boundary condition fix and
two build fixes"
* 'x86-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/fpu: Always restore_xinit_state() when use_eager_cpu()
x86: Make cpu_tss available to external modules
efi: Fix error handling in add_sysfs_runtime_map_entry()
x86/spinlocks: Fix regression in spinlock contention detection
x86/mm: Clean up types in xlate_dev_mem_ptr()
x86/efi: Store upper bits of command line buffer address in
ext_cmd_line_ptr
efivarfs: Ensure VariableName is NUL-terminated
commit d8fce2db7220fc46067c825fc417fb295eac7d0a
Merge: 02f0f57 74f40c1
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed May 6 10:47:25 2015 -0700
Merge branch 'perf-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf fixes from Ingo Molnar:
"Mostly tooling fixes, but also an uncore PMU driver fix and an uncore
PMU driver hardware-enablement addition"
* 'perf-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
perf probe: Fix segfault if passed with ''.
perf report: Fix -T/--threads option to work again
perf bench numa: Fix immediate meeting of convergence condition
perf bench numa: Fixes of --quiet argument
perf bench futex: Fix hung wakeup tasks after requeueing
perf probe: Fix bug with global variables handling
perf top: Fix a segfault when kernel map is restricted.
tools lib traceevent: Fix build failure on 32-bit arch
perf kmem: Fix compiles on RHEL6/OL6
tools lib api: Undefine _FORTIFY_SOURCE before setting it
perf kmem: Consistently use PRIu64 for printing u64 values
perf trace: Disable events and drain events when forked workload ends
perf trace: Enable events when doing system wide tracing and starting a
workload
perf/x86/intel/uncore: Move PCI IDs for IMC to uncore driver
perf/x86/intel/uncore: Add support for Intel Haswell ULT (lower power
Mobile Processor) IMC uncore PMUs
perf/x86/intel: Add cpu_(prepare|starting|dying) for core_pmu
commit 02f0f5721e2c2791f57767c18a8ab94cdf48849d
Merge: 5198b443 cb0f3f3
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed May 6 10:26:37 2015 -0700
Merge branch 'core-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull RCU fix from Ingo Molnar:
"An RCU Kconfig fix that eliminates an annoying interactive kconfig
question for CONFIG_RCU_TORTURE_TEST_SLOW_INIT"
* 'core-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
rcu: Control grace-period delays directly from value
commit 0ff28d9f4674d781e492bcff6f32f0fe48cf0fed
Author: Christophe Leroy <christophe.leroy@xxxxxx>
Date: Wed May 6 17:26:47 2015 +0200
splice: sendfile() at once fails for big files
Using sendfile with below small program to get MD5 sums of some files,
it appear that big files (over 64kbytes with 4k pages system) get a
wrong MD5 sum while small files get the correct sum.
This program uses sendfile() to send a file to an AF_ALG socket
for hashing.
/* md5sum2.c */
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <linux/if_alg.h>
int main(int argc, char **argv)
{
int sk = socket(AF_ALG, SOCK_SEQPACKET, 0);
struct stat st;
struct sockaddr_alg sa = {
.salg_family = AF_ALG,
.salg_type = "hash",
.salg_name = "md5",
};
int n;
bind(sk, (struct sockaddr*)&sa, sizeof(sa));
for (n = 1; n < argc; n++) {
int size;
int offset = 0;
char buf[4096];
int fd;
int sko;
int i;
fd = open(argv[n], O_RDONLY);
sko = accept(sk, NULL, 0);
fstat(fd, &st);
size = st.st_size;
sendfile(sko, fd, &offset, size);
size = read(sko, buf, sizeof(buf));
for (i = 0; i < size; i++)
printf("%2.2x", buf[i]);
printf(" %s\n", argv[n]);
close(fd);
close(sko);
}
exit(0);
}
Test below is done using official linux patch files. First result is
with a software based md5sum. Second result is with the program above.
root@vgoip:~# ls -l patch-3.6.*
-rw-r--r-- 1 root root 64011 Aug 24 12:01 patch-3.6.2.gz
-rw-r--r-- 1 root root 94131 Aug 24 12:01 patch-3.6.3.gz
root@vgoip:~# md5sum patch-3.6.*
b3ffb9848196846f31b2ff133d2d6443 patch-3.6.2.gz
c5e8f687878457db77cb7158c38a7e43 patch-3.6.3.gz
root@vgoip:~# ./md5sum2 patch-3.6.*
b3ffb9848196846f31b2ff133d2d6443 patch-3.6.2.gz
5fd77b24e68bb24dcc72d6e57c64790e patch-3.6.3.gz
After investivation, it appears that sendfile() sends the files by blocks
of 64kbytes (16 times PAGE_SIZE). The problem is that at the end of each
block, the SPLICE_F_MORE flag is missing, therefore the hashing operation
is reset as if it was the end of the file.
This patch adds SPLICE_F_MORE to the flags when more data is pending.
With the patch applied, we get the correct sums:
root@vgoip:~# md5sum patch-3.6.*
b3ffb9848196846f31b2ff133d2d6443 patch-3.6.2.gz
c5e8f687878457db77cb7158c38a7e43 patch-3.6.3.gz
root@vgoip:~# ./md5sum2 patch-3.6.*
b3ffb9848196846f31b2ff133d2d6443 patch-3.6.2.gz
c5e8f687878457db77cb7158c38a7e43 patch-3.6.3.gz
Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit c5272a28566b00cce79127ad382406e0a8650690
Author: Doug Anderson <dianders@xxxxxxxxxxxx>
Date: Fri May 1 09:01:27 2015 -0700
pinctrl: Don't just pretend to protect pinctrl_maps, do it for real
Way back, when the world was a simpler place and there was no war, no
evil, and no kernel bugs, there was just a single pinctrl lock. That
was how the world was when (57291ce pinctrl: core device tree mapping
table parsing support) was written. In that case, there were
instances where the pinctrl mutex was already held when
pinctrl_register_map() was called, hence a "locked" parameter was
passed to the function to indicate that the mutex was already locked
(so we shouldn't lock it again).
A few years ago in (42fed7b pinctrl: move subsystem mutex to
pinctrl_dev struct), we switched to a separate pinctrl_maps_mutex.
...but (oops) we forgot to re-think about the whole "locked" parameter
for pinctrl_register_map(). Basically the "locked" parameter appears
to still refer to whether the bigger pinctrl_dev mutex is locked, but
we're using it to skip locks of our (now separate) pinctrl_maps_mutex.
That's kind of a bad thing(TM). Probably nobody noticed because most
of the calls to pinctrl_register_map happen at boot time and we've got
synchronous device probing. ...and even cases where we're
asynchronous don't end up actually hitting the race too often. ...but
after banging my head against the wall for a bug that reproduced 1 out
of 1000 reboots and lots of looking through kgdb, I finally noticed
this.
Anyway, we can now safely remove the "locked" parameter and go back to
a war-free, evil-free, and kernel-bug-free world.
Fixes: 42fed7ba44e4 ("pinctrl: move subsystem mutex to pinctrl_dev
struct")
Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 8746515d7f04c9ea94cf43e2db1fd2cfca93276d
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Fri Apr 24 10:16:40 2015 +0100
xen: Add __GFP_DMA flag when xen_swiotlb_init gets free pages on ARM
Make sure that xen_swiotlb_init allocates buffers that are DMA capable
when at least one memblock is available below 4G. Otherwise we assume
that all devices on the SoC can cope with >4G addresses. We do this on
ARM and ARM64, where dom0 is mapped 1:1, so pfn == mfn in this case.
No functional changes on x86.
From: Chen Baozi <baozich@xxxxxxxxx>
Signed-off-by: Chen Baozi <baozich@xxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Tested-by: Chen Baozi <baozich@xxxxxxxxx>
Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
commit d2d05c65c40e067ca5898399069053f095c67d6f
Author: Tony Lindgren <tony@xxxxxxxxxxx>
Date: Thu Apr 23 16:54:17 2015 -0700
gpio: omap: Fix regression for MPUIO interrupts
At some point with all the GPIO clean-up we've broken the
MPUIO interrupts. Those are just a little bit different from
the GPIO interrupts, so we can fix it up just by setting
different irqchip functions for it. And then we can just
remove all old code trying to do the same.
Cc: Aaro Koskinen <aaro.koskinen@xxxxxx>
Cc: Javier Martinez Canillas <javier@xxxxxxxxxxxx>
Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx>
Cc: Nishanth Menon <nm@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx>
Reviewed-by: Felipe Balbi <balbi@xxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 4e93b9a6abc0d028daf3c8a00cb77b679d8a4df4
Author: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx>
Date: Tue Aug 12 12:01:30 2014 +0800
mmc: card: Don't access RPMB partitions for normal read/write
During kernel boot, it will try to read some logical sectors
of each block device node for the possible partition table.
But since RPMB partition is special and can not be accessed
by normal eMMC read / write CMDs, it will cause below error
messages during kernel boot:
...
mmc0: Got data interrupt 0x00000002 even though no data operation was in
progress.
mmcblk0rpmb: error -110 transferring data, sector 0, nr 32, cmd response
0x900, card status 0xb00
mmcblk0rpmb: retrying using single block read
mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
end_request: I/O error, dev mmcblk0rpmb, sector 0
Buffer I/O error on device mmcblk0rpmb, logical block 0
end_request: I/O error, dev mmcblk0rpmb, sector 8
Buffer I/O error on device mmcblk0rpmb, logical block 1
end_request: I/O error, dev mmcblk0rpmb, sector 16
Buffer I/O error on device mmcblk0rpmb, logical block 2
end_request: I/O error, dev mmcblk0rpmb, sector 24
Buffer I/O error on device mmcblk0rpmb, logical block 3
...
This patch will discard the access request in eMMC queue if
it is RPMB partition access request. By this way, it avoids
trigger above error messages.
Fixes: 090d25fe224c ("mmc: core: Expose access to RPMB partition")
Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx>
Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx>
Tested-by: Michael Shigorin <mike@xxxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit bad4371d87d1d1ed1aecd9c9cc21c41ac3f289c8
Author: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx>
Date: Thu Apr 30 02:03:51 2015 +0900
mmc: sh_mmcif: Fix timeout value for command request
f9fd54f22e ("mmc: sh_mmcif: Use msecs_to_jiffies() for host->timeout")
changed the timeout value from 1000 jiffies to 1s. In the case where
HZ is 1000 the values are the same. However, for smaller HZ values the
timeout is now smaller, 1s instead of 10s in the case of HZ=100.
Since the timeout occurs in spite of a normal data transfer a timeout of
10s seems more appropriate. This restores the previous timeout in the
case where HZ=100 and results in an increase over the previous timeout
for larger values of HZ.
Fixes: f9fd54f22e ("mmc: sh_mmcif: Use msecs_to_jiffies() for
host->timeout")
Signed-off-by: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx>
[horms: rewrote changelog to refer to HZ]
Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx>
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit c88d47480d300eaad80c213d50c9bf6077fc49bc
Author: Bobby Powers <bobbypowers@xxxxxxxxx>
Date: Mon Apr 27 08:10:41 2015 -0700
x86/fpu: Always restore_xinit_state() when use_eager_cpu()
The following commit:
f893959b0898 ("x86/fpu: Don't abuse drop_init_fpu() in flush_thread()")
removed drop_init_fpu() usage from flush_thread(). This seems to break
things for me - the Go 1.4 test suite fails all over the place with
floating point comparision errors (offending commit found through
bisection).
The functional change was that flush_thread() after this commit
only calls restore_init_xstate() when both use_eager_fpu() and
!used_math() are true. drop_init_fpu() (now fpu_reset_state()) calls
restore_init_xstate() regardless of whether current used_math() - apply
the same logic here.
Switch used_math() -> tsk_used_math(tsk) to consistently use the grabbed
tsk instead of current, like in the rest of flush_thread().
Tested-by: Dave Hansen <dave.hansen@xxxxxxxxx>
Signed-off-by: Bobby Powers <bobbypowers@xxxxxxxxx>
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Pekka Riikonen <priikone@xxxxxx>
Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Cc: Rik van Riel <riel@xxxxxxxxxx>
Cc: Suresh Siddha <sbsiddha@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Fixes: f893959b ("x86/fpu: Don't abuse drop_init_fpu() in flush_thread()")
Link:
http://lkml.kernel.org/r/1430147441-9820-1-git-send-email-bobbypowers@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 9fcb1704d1d51b12e2f03c78bca013d0cbbb7c98
Author: Jani Nikula <jani.nikula@xxxxxxxxx>
Date: Tue May 5 16:32:12 2015 +0300
drm/i915/dp: there is no audio on port A
The eDP port A register on PCH split platforms has a slightly different
register layout from the other ports, with bit 6 being either alternate
scrambler reset or reserved, depending on the generation. Our
misinterpretation of the bit as audio has lead to warning.
Fix this by not enabling audio on port A, since none of our platforms
support audio on port A anyway.
v2: DDI doesn't have audio on port A either (Sivakumar Thulasimani)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89958
Reported-and-tested-by: Chris Bainbridge <chris.bainbridge@xxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx>
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit c102cb097d9371c2c60049d041ab1f8bdca5ccc2
Merge: de71ad2 d67e199
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Wed May 6 08:29:37 2015 +0200
Merge tag 'efi-urgent' of
git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into x86/urgent
Pull EFI fixes from Matt Fleming:
* Avoid garbage names in efivarfs due to buggy firmware by zeroing
EFI variable name. (Ross Lagerwall)
* Stop erroneously dropping upper 32 bits of boot command line pointer
in EFI boot stub and stash them in ext_cmd_line_ptr. (Roy Franz)
* Fix double-free bug in error handling code path of EFI runtime map
code. (Dan Carpenter)
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 74f40c1f437674f5ab4a3977f1894ea6db535dee
Merge: 8cc67c3 e59d29e
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Wed May 6 04:54:11 2015 +0200
Merge tag 'perf-urgent-for-mingo' of
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
- Fix 'perf probe -a' segfault if passed with '' (Wang Nan)
- Fix report -T/--threads option (Namhyung Kim)
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 5198b44374adb3f6143459a03c37f103f8a09548
Merge: 2a171aa 3d69d43
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue May 5 19:42:01 2015 -0700
Merge tag 'for-linus-4.1-1' of git://git.code.sf.net/p/openipmi/linux-ipmi
Pull IPMI fixes from Corey Minyard:
"Lots of minor IPMI fixes, especially ones that have have come up since
the SSIF driver has been in the main kernel for a while"
* tag 'for-linus-4.1-1' of git://git.code.sf.net/p/openipmi/linux-ipmi:
ipmi: Fix multi-part message handling
ipmi: Add alert handling to SSIF
ipmi: Fix a problem that messages are not issued in run_to_completion
mode
ipmi: Report an error if ACPI _IFT doesn't exist
ipmi: Remove unused including <linux/version.h>
ipmi: Don't report err in the SI driver for SSIF devices
ipmi: Remove incorrect use of seq_has_overflowed
ipmi:ssif: Ignore spaces when comparing I2C adapter names
ipmi_ssif: Fix the logic on user-supplied addresses
commit 2a171aa21afcd43f6cee574154d8c8db905351e5
Merge: 3ce05a4 489405f
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue May 5 18:52:13 2015 -0700
Merge branch 'akpm' (patches from Andrew)
Merge misc fixes from Andrew Morton:
"16 patches
This includes a new rtc driver for the Abracon AB x80x and isn't very
appropriate for -rc2. It was still being fiddled with a bit during
the merge window and I fell asleep during -rc1"
[ So I took the new driver, it seems small and won't regress anything.
I'm a softy. - Linus ]
* emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>:
rtc: armada38x: fix concurrency access in armada38x_rtc_set_time
ocfs2: dlm: fix race between purge and get lock resource
nilfs2: fix sanity check of btree level in nilfs_btree_root_broken()
util_macros.h: have array pointer point to array of constants
configfs: init configfs module earlier at boot time
mm/hwpoison-inject: check PageLRU of hpage
mm/hwpoison-inject: fix refcounting in no-injection case
mm: soft-offline: fix num_poisoned_pages counting on concurrent events
rtc: add rtc-abx80x, a driver for the Abracon AB x80x i2c rtc
Documentation: bindings: add abracon,abx80x
kasan: show gcc version requirements in Kconfig and Documentation
mm/memory-failure: call shake_page() when error hits thp tail page
lib: delete lib/find_last_bit.c
MAINTAINERS: add co-maintainer for LED subsystem
zram: add Designated Reviewer for zram in MAINTAINERS
revert "zram: move compact_store() to sysfs functions area"
commit 3ce05a4e740539a3e9d48456e2b046b7240df3ff
Merge: d9cee5d df6dd1b
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue May 5 18:14:04 2015 -0700
Merge tag 'platform-drivers-x86-v4.1-2' of
git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
Pull x86 platform driver fixes from Darren Hart:
"This includes a trivial warning and adding a Lenovo laptop to an
existing quirk.
I've held off on things like the latter in the past, but I didn't feel
it was risky enough to push out to 4.2.
- thinkpad_acpi:
Fix warning for static not at beginning
- ideapad_laptop:
Add Lenovo G40-30 to devices without radio switch"
* tag 'platform-drivers-x86-v4.1-2' of
git://git.infradead.org/users/dvhart/linux-platform-drivers-x86:
thinkpad_acpi: Fix warning for static not at beginning
ideapad_laptop: Add Lenovo G40-30 to devices without radio switch
commit 3d69d43baa2749c3d187ce70940d7aebe609e149
Author: Corey Minyard <cminyard@xxxxxxxxxx>
Date: Wed Apr 29 17:59:21 2015 -0500
ipmi: Fix multi-part message handling
Lots of little fixes for multi-part messages:
The values was not being re-initialized, if something went wrong
handling a multi-part message and it got left in a bad state, it
might be an issue.
The commands were not correct when issuing multi-part reads, the
code was not passing in the proper value for commands. Also clean
up some minor formatting issues.
Get the block number from the right location, limit the maximum send
message size to 63 bytes and explain why, and fix some minor sylistic
issues.
Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx>
commit 9162052173d2381e2bbabc224c3c1457acb4c54c
Author: Corey Minyard <cminyard@xxxxxxxxxx>
Date: Fri Apr 24 07:46:06 2015 -0500
ipmi: Add alert handling to SSIF
The SSIF interface can optionally have an SMBus alert come in when
data is ready. Unfortunately, the IPMI spec gives wiggle room to
the implementer to allow them to always have the alert enabled,
even if the driver doesn't enable it. So implement alerts.
If you don't in this situation, the SMBus alert handling will
constantly complain.
Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx>
commit 9f8127048ab8b47b43f8aeaaec9fec2da44be9a1
Author: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx>
Date: Thu Apr 23 11:16:44 2015 +0900
ipmi: Fix a problem that messages are not issued in run_to_completion mode
start_next_msg() issues a message placed in smi_info->waiting_msg
if it is non-NULL. However, sender() sets a message to
smi_info->curr_msg and NULL to smi_info->waiting_msg in the context
of run_to_completion mode. As the result, it leads an infinite
loop by waiting the completion of unissued message when leaving
dying message after kernel panic.
sender() should set the message to smi_info->waiting_msg not
curr_msg.
Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx>
Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx>
commit a182a4b2b3e85a559ea2cd3545f4311db41325f2
Author: Corey Minyard <cminyard@xxxxxxxxxx>
Date: Wed Apr 22 13:25:40 2015 -0500
ipmi: Report an error if ACPI _IFT doesn't exist
When probing an ACPI table, report a specific error, instead of just
returning an error, if _IFT doesn't exist.
Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx>
commit 15c5725e6b86cb8dfc4ca655a22005cc678a6f6f
Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 21:09:53 2015 +0800
ipmi: Remove unused including <linux/version.h>
Remove including <linux/version.h> that don't need it.
Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx>
commit 489405fe5ed38e65f6f82f131a39c67f3bae6045
Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx>
Date: Tue May 5 16:24:05 2015 -0700
rtc: armada38x: fix concurrency access in armada38x_rtc_set_time
While setting the time, the RTC TIME register should not be accessed.
However due to hardware constraints, setting the RTC time involves
sleeping during 100ms. This sleep was done outside the critical section
protected by the spinlock, so it was possible to read the RTC TIME
register and get an incorrect value. This patch introduces a mutex for
protecting the RTC TIME access, unlike the spinlock it is allowed to
sleep in a critical section protected by a mutex.
The RTC STATUS register can still be used from the interrupt handler but
it has no effect on setting the time.
Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx>
Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Acked-by: Andrew Lunn <andrew@xxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> [4.0]
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit b1432a2a35565f538586774a03bf277c27fc267d
Author: Junxiao Bi <junxiao.bi@xxxxxxxxxx>
Date: Tue May 5 16:24:02 2015 -0700
ocfs2: dlm: fix race between purge and get lock resource
There is a race window in dlm_get_lock_resource(), which may return a
lock resource which has been purged. This will cause the process to
hang forever in dlmlock() as the ast msg can't be handled due to its
lock resource not existing.
dlm_get_lock_resource {
...
spin_lock(&dlm->spinlock);
tmpres = __dlm_lookup_lockres_full(dlm, lockid, namelen, hash);
if (tmpres) {
spin_unlock(&dlm->spinlock);
>>>>>>>> race window, dlm_run_purge_list() may run and purge
the lock resource
spin_lock(&tmpres->spinlock);
...
spin_unlock(&tmpres->spinlock);
}
}
Signed-off-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx>
Cc: Joseph Qi <joseph.qi@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d8fd150fe3935e1692bf57c66691e17409ebb9c1
Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Date: Tue May 5 16:24:00 2015 -0700
nilfs2: fix sanity check of btree level in nilfs_btree_root_broken()
The range check for b-tree level parameter in nilfs_btree_root_broken()
is wrong; it accepts the case of "level == NILFS_BTREE_LEVEL_MAX" even
though the level is limited to values in the range of 0 to
(NILFS_BTREE_LEVEL_MAX - 1).
Since the level parameter is read from storage device and used to index
nilfs_btree_path array whose element count is NILFS_BTREE_LEVEL_MAX, it
can cause memory overrun during btree operations if the boundary value
is set to the level parameter on device.
This fixes the broken sanity check and adds a comment to clarify that
the upper bound NILFS_BTREE_LEVEL_MAX is exclusive.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 05836c378c7af9527b98a83746f32c7289a5f3c8
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Tue May 5 16:23:57 2015 -0700
util_macros.h: have array pointer point to array of constants
Using the new find_closest() macro can result in the following sparse
warnings.
drivers/hwmon/lm85.c:194:16: warning:
incorrect type in initializer (different modifiers)
drivers/hwmon/lm85.c:194:16: expected int *__fc_a
drivers/hwmon/lm85.c:194:16: got int static const [toplevel]
*<noident>
drivers/hwmon/lm85.c:210:16: warning:
incorrect type in initializer (different modifiers)
drivers/hwmon/lm85.c:210:16: expected int *__fc_a
drivers/hwmon/lm85.c:210:16: got int const *map
This is because the array passed to find_closest() will typically be
declared as array of constants, but the macro declares a non-constant
pointer to it.
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Cc: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit f5b697700c86d7d01489202bfd37d86665754afd
Author: Daniel Baluta <daniel.baluta@xxxxxxxxx>
Date: Tue May 5 16:23:54 2015 -0700
configfs: init configfs module earlier at boot time
We need this earlier in the boot process to allow various subsystems to
use configfs (e.g Industrial IIO).
Also, debugfs is at core_initcall level and configfs should be on the same
level from infrastructure point of view.
Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx>
Suggested-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit e386eed89c764f102fcc3c0d4c78c65a357f7399
Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Date: Tue May 5 16:23:52 2015 -0700
mm/hwpoison-inject: check PageLRU of hpage
Hwpoison injector checks PageLRU of the raw target page to find out
whether the page is an appropriate target, but current code now filters
out thp tail pages, which prevents us from testing for such cases via this
interface. So let's check hpage instead of p.
Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Acked-by: Dean Nelson <dnelson@xxxxxxxxxx>
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7ea434a4eb49db83d17cc076f2267704c52938ae
Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Date: Tue May 5 16:23:49 2015 -0700
mm/hwpoison-inject: fix refcounting in no-injection case
Hwpoison injection via debugfs:hwpoison/corrupt-pfn takes a refcount of
the target page. But current code doesn't release it if the target page
is not supposed to be injected, which results in memory leak. This patch
simply adds the refcount releasing code.
Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Acked-by: Dean Nelson <dnelson@xxxxxxxxxx>
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 602498f9aa43d4951eece3fd6ad95a6d0a78d537
Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Date: Tue May 5 16:23:46 2015 -0700
mm: soft-offline: fix num_poisoned_pages counting on concurrent events
If multiple soft offline events hit one free page/hugepage concurrently,
soft_offline_page() can handle the free page/hugepage multiple times,
which makes num_poisoned_pages counter increased more than once. This
patch fixes this wrong counting by checking TestSetPageHWPoison for normal
papes and by checking the return value of dequeue_hwpoisoned_huge_page()
for hugepages.
Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Acked-by: Dean Nelson <dnelson@xxxxxxxxxx>
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> [3.14+]
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 4d61ff6b9960cb00cf2c12abd5769aa2dd475415
Author: Philippe De Muyter <phdm@xxxxxxxxx>
Date: Tue May 5 16:23:44 2015 -0700
rtc: add rtc-abx80x, a driver for the Abracon AB x80x i2c rtc
This is a basic driver for the ultra-low-power Abracon AB x80x series of
RTC
chips. It supports in particular, the supersets AB0805 and AB1805.
It allows reading and writing the time, and enables the supercapacitor/
battery charger.
[arnd@xxxxxxxx: abx805 depends on i2c]
[alexandre.belloni@xxxxxxxxxxxxxxxxxx: renam buffer from date to buf in
abx80x_rtc_read_time()]
Signed-off-by: Philippe De Muyter <phdm@xxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Paul Bolle <pebolle@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit c71f1e05e62f3eb843b6458eeb7298f269b34b1e
Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Date: Tue May 5 16:23:41 2015 -0700
Documentation: bindings: add abracon,abx80x
Document the bindings for abracon,abx80x and related compatibles.
Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Cc: Philippe De Muyter <phdm@xxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Paul Bolle <pebolle@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 01e76903f655a4d88c2e09d3182436c65f6e1213
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Tue May 5 16:23:38 2015 -0700
kasan: show gcc version requirements in Kconfig and Documentation
The documentation shows a need for gcc > 4.9.2, but it's really >=. The
Kconfig entries don't show require versions so add them. Correct a
latter/later typo too. Also mention that gcc 5 required to catch out of
bounds accesses to global and stack variables.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 09789e5de18e4e442870b2d700831f5cb802eb05
Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Date: Tue May 5 16:23:35 2015 -0700
mm/memory-failure: call shake_page() when error hits thp tail page
Currently memory_failure() calls shake_page() to sweep pages out from
pcplists only when the victim page is 4kB LRU page or thp head page.
But we should do this for a thp tail page too.
Consider that a memory error hits a thp tail page whose head page is on
a pcplist when memory_failure() runs. Then, the current kernel skips
shake_pages() part, so hwpoison_user_mappings() returns without calling
split_huge_page() nor try_to_unmap() because PageLRU of the thp head is
still cleared due to the skip of shake_page().
As a result, me_huge_page() runs for the thp, which is broken behavior.
One effect is a leak of the thp. And another is to fail to isolate the
memory error, so later access to the error address causes another MCE,
which kills the processes which used the thp.
This patch fixes this problem by calling shake_page() for thp tail case.
Fixes: 385de35722c9 ("thp: allow a hwpoisoned head page to be put back to
LRU")
Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Reviewed-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Acked-by: Dean Nelson <dnelson@xxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx>
Cc: Jin Dongming <jin.dongming@xxxxxxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> [3.4+]
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7d616e4ddb9c0754ed6245a43332d5b867e4db11
Author: Yury Norov <yury.norov@xxxxxxxxx>
Date: Tue May 5 16:23:33 2015 -0700
lib: delete lib/find_last_bit.c
The file lib/find_last_bit.c was no longer used and supposed to be
deleted by commit 8f6f19dd51 ("lib: move find_last_bit to
lib/find_next_bit.c") but that delete didn't happen. This gets rid of
it.
Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 48b945a19cf6e7e548b2ce545ec88f93284ab276
Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Date: Tue May 5 16:23:30 2015 -0700
MAINTAINERS: add co-maintainer for LED subsystem
Add myself (Jacek Anaszewski) as a co-maintainer for the LED subsystem.
Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx>
Acked-by: Bryan Wu <cooloney@xxxxxxxxx>
Cc: Richard Purdie <rpurdie@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 74f3037c4015f3a440dc4cb4e31477875fa9791c
Author: Minchan Kim <minchan@xxxxxxxxxx>
Date: Tue May 5 16:23:28 2015 -0700
zram: add Designated Reviewer for zram in MAINTAINERS
Sergey Senozhatsky has contributed/reviewed to zram for a long time. He
is really helpful for maintaining zram so I want for him to continue
helping me as Designated Reviewer unless he hates it.
Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 99ebbd30e3640f6addb37f222b4d6ad4b807d9ea
Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Date: Tue May 5 16:23:25 2015 -0700
revert "zram: move compact_store() to sysfs functions area"
Revert commit c72c6160d967ed26a0b136dbab337f821d233509
It was intended to be a cosmetic change that w/o any functional change
and was part of a bigger change:
http://lkml.iu.edu/hypermail/linux/kernel/1503.1/01818.html
Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit df6dd1b35b0ec0ac6a5298378ceaf487091f448c
Author: Jean Delvare <jdelvare@xxxxxxx>
Date: Mon Apr 27 09:45:06 2015 +0200
thinkpad_acpi: Fix warning for static not at beginning
Fix the following warning:
warning: "static" is not at beginning of declaration
void static hotkey_mask_warn_incomplete_mask(void)
^
Signed-off-by: Jean Delvare <jdelvare@xxxxxxx>
Cc: Henrique de Moraes Holschuh <ibm-acpi@xxxxxxxxxx>
Cc: Darren Hart <dvhart@xxxxxxxxxxxxx>
Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit b1e65e71535aa128089d4cb1b6d90db7551fcb05
Author: Corey Minyard <cminyard@xxxxxxxxxx>
Date: Fri Apr 10 20:19:18 2015 -0500
ipmi: Don't report err in the SI driver for SSIF devices
Really ignore them by returning -ENODEV from the probe, but not
doing anything.
Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx>
commit 5e33cd0c5a299772b5ec1a493f0a77548664ae06
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Sun Feb 22 10:21:07 2015 -0800
ipmi: Remove incorrect use of seq_has_overflowed
commit d6c5dc18d863 ("ipmi: Remove uses of return value of seq_printf")
incorrectly changed the return value of various proc_show functions
to use seq_has_overflowed().
These functions should return 0 on completion rather than 1/true
on overflow. 1 is the same as #define SEQ_SKIP which would cause
the output to not be emitted (skipped) instead.
This is a logical defect only as the length of these outputs are
all smaller than the initial allocation done by the seq filesystem.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx>
commit b0e9aaa99dfb3036829e91d4f0aae449639e221a
Author: Corey Minyard <cminyard@xxxxxxxxxx>
Date: Tue Mar 31 12:48:53 2015 -0500
ipmi:ssif: Ignore spaces when comparing I2C adapter names
Some of the adapters have spaces in their names, but that's really
hard to pass in as a module or kernel parameters. So ignore the
spaces.
Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx>
commit d467f7a405cf0e7f06ed8d3175607ebb4ed06671
Author: Corey Minyard <cminyard@xxxxxxxxxx>
Date: Thu Mar 26 13:35:18 2015 -0500
ipmi_ssif: Fix the logic on user-supplied addresses
Returning zero is success.
Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx>
commit de71ad2c97862eae1516aa36528cc3b317c17b2f
Author: Marc Dionne <marc.c.dionne@xxxxxxxxx>
Date: Mon May 4 15:16:44 2015 -0300
x86: Make cpu_tss available to external modules
Commit 75182b1632 ("x86/asm/entry: Switch all C consumers of
kernel_stack to this_cpu_sp0()") changed current_thread_info
to use this_cpu_sp0, and indirectly made it rely on init_tss
which was exported with EXPORT_PER_CPU_SYMBOL_GPL.
As a result some macros and inline functions such as set/get_fs,
test_thread_flag and variants have been made unusable for
external modules.
Make cpu_tss exported with EXPORT_PER_CPU_SYMBOL so that these
functions are accessible again, as they were previously.
Signed-off-by: Marc Dionne <marc.dionne@xxxxxxxxxxxxxxxxxxxx>
Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1430763404-21221-1-git-send-email-marc.dionne@xxxxxxxxxxxxxxxxxxxx
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
commit a71dbdaa8ca2933391b08e0ae5567083e3af0892
Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Date: Mon May 4 11:02:15 2015 -0400
hypervisor/x86/xen: Unset X86_BUG_SYSRET_SS_ATTRS on Xen PV guests
Commit 61f01dd941ba ("x86_64, asm: Work around AMD SYSRET SS descriptor
attribute issue") makes AMD processors set SS to __KERNEL_DS in
__switch_to() to deal with cases when SS is NULL.
This breaks Xen PV guests who do not want to load SS with__KERNEL_DS.
Since the problem that the commit is trying to address would have to be
fixed in the hypervisor (if it in fact exists under Xen) there is no
reason to set X86_BUG_SYSRET_SS_ATTRS flag for PV VPCUs here.
This can be easily achieved by adding x86_hyper_xen_hvm.set_cpu_features
op which will clear this flag. (And since this structure is no longer
HVM-specific we should do some renaming).
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Reported-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
commit 16e6bd5970c88a2ac018b84a5f1dd5c2ff1fdf2c
Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Date: Wed Apr 29 17:10:15 2015 -0400
xen/events: Set irq_info->evtchn before binding the channel to CPU in
__startup_pirq()
.. because bind_evtchn_to_cpu(evtchn, cpu) will map evtchn to
'info' and pass 'info' down to xen_evtchn_port_bind_to_cpu().
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Tested-by: Annie Li <annie.li@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
commit b9d934f27c91b878c4b2e64299d6e419a4022f8d
Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Date: Wed Apr 29 17:10:14 2015 -0400
xen/console: Update console event channel on resume
After a resume the hypervisor/tools may change console event
channel number. We should re-query it.
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
commit 16f1cf3ba7303228372d3756677bf7d10e79cf9f
Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Date: Wed Apr 29 17:10:13 2015 -0400
xen/xenbus: Update xenbus event channel on resume
After a resume the hypervisor/tools may change xenbus event
channel number. We should re-query it.
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
commit 5cec98834989a014a9560b1841649eaca95cf00e
Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Date: Wed Apr 29 17:10:12 2015 -0400
xen/events: Clear cpu_evtchn_mask before resuming
When a guest is resumed, the hypervisor may change event channel
assignments. If this happens and the guest uses 2-level events it
is possible for the interrupt to be claimed by wrong VCPU since
cpu_evtchn_mask bits may be stale. This can happen even though
evtchn_2l_bind_to_cpu() attempts to clear old bits: irq_info that
is passed in is not necessarily the original one (from pre-migration
times) but instead is freshly allocated during resume and so any
information about which CPU the channel was bound to is lost.
Thus we should clear the mask during resume.
We also need to make sure that bits for xenstore and console channels
are set when these two subsystems are resumed. While rebind_evtchn_irq()
(which is invoked for both of them on a resume) calls irq_set_affinity(),
the latter will in fact postpone setting affinity until handling the
interrupt. But because cpu_evtchn_mask will have bits for these two
cleared we won't be able to take the interrupt.
With that in mind, we need to bind those two channels explicitly in
rebind_evtchn_irq(). We will keep irq_set_affinity() so that we have a
pass through generic irq affinity code later, in case something needs
to be updated there as well.
(Also replace cpumask_of(0) with cpumask_of(info->cpu) in
rebind_evtchn_irq(): it should be set to zero in preceding
xen_irq_info_evtchn_setup().)
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Reported-by: Annie Li <annie.li@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # 3.14+
Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
commit b6b2bbe65b2117afd9766faa7cffea4d8f681455
Author: Doug Ledford <dledford@xxxxxxxxxx>
Date: Tue May 5 12:57:09 2015 -0400
MAINTAINERS: Update InfiniBand subsystem maintainer
Since Roland stepped down, the community asked me to take his place, and
the nomination was followed by sufficient votes and no dissensions that
we can move forward with the change.
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 954138dc25dca0263f315c5a3450059df05a4ea1
Author: Yann Droneaud <ydroneaud@xxxxxxxxxx>
Date: Mon May 4 14:31:03 2015 +0200
MAINTAINERS: add include/rdma/ to InfiniBand subsystem
Most headers for InfiniBand/RDMA are located under
include/rdma/ and include/uapi/rdma.
Signed-off-by: Yann Droneaud <ydroneaud@xxxxxxxxxx>
Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 8f71c1a27b84948720be17fffba71a67a1f0942d
Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
Date: Tue May 5 13:01:39 2015 +0200
IPoIB/CM: Fix indentation level
See also patch "IPoIB/cm: Add connected mode support for devices
without SRQs" (commit ID 68e995a29572). Detected by smatch.
Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
Cc: Pradeep Satyanarayana <pradeeps@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 179d03bbfd2ebc63934753a696467d28bf9f5b64
Author: Hariprasad S <hariprasad@xxxxxxxxxxx>
Date: Tue May 5 03:55:24 2015 +0530
iw_cxgb4: Remove negative advice dmesg warnings
Remove these log messages in favor of per-endpoint counters as well as
device-global counters that can be inspected via debugfs.
Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 0d0f738f6a11856a704dcd8fd3a008b200f17625
Author: David Ahern <david.ahern@xxxxxxxxxx>
Date: Sun May 3 09:48:26 2015 -0400
IB/core: Fix unaligned accesses
Addresses the following kernel logs seen during boot of sparc systems:
Kernel unaligned access at TPC[103bce50] cm_find_listen+0x34/0xf8 [ib_cm]
Kernel unaligned access at TPC[103bce50] cm_find_listen+0x34/0xf8 [ib_cm]
Kernel unaligned access at TPC[103bce50] cm_find_listen+0x34/0xf8 [ib_cm]
Kernel unaligned access at TPC[103bce50] cm_find_listen+0x34/0xf8 [ib_cm]
Kernel unaligned access at TPC[103bce50] cm_find_listen+0x34/0xf8 [ib_cm]
Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 471e70583217728955436a3fa6e5201e5c8c296a
Author: Honggang LI <honli@xxxxxxxxxx>
Date: Wed Apr 29 17:40:44 2015 +0800
IB/core: change rdma_gid2ip into void function as it always return zero
Signed-off-by: Honggang Li <honli@xxxxxxxxxx>
Acked-by: Sean Hefty <sean.hefty@xxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit cb31ef485dd4c6a205d1064b42027f82076d00c8
Author: Chen Yu <yu.c.chen@xxxxxxxxx>
Date: Sun May 3 22:35:05 2015 +0800
init: fix regression by supporting devices with major:minor:offset format
Commit 283e7ad02 ("init: stricter checking of major:minor root=
values") was so strict that it exposed the fact that a previously
unknown device format was being used.
Distributions like Ubuntu uses klibc (rather than uswsusp) to resume
system from hibernation. klibc expressed the swap partition/file in
the form of major:minor:offset. For example, 8:3:0 represents a swap
partition in klibc, and klibc's resume process in initrd will finally
echo 8:3:0 to /sys/power/resume for manually resuming. However, due
to commit 283e7ad02's stricter checking, 8:3:0 will be treated as an
invalid device format, and manual resuming from hibernation will fail.
Fix this by adding support for devices with major:minor:offset format
when resuming from hibernation.
Reported-by: Prigent, Christophe <christophe.prigent@xxxxxxxxx>
Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx>
Acked-by: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit c0403ec0bb5a8c5b267fb7e16021bec0b17e4964
Author: Rabin Vincent <rabin.vincent@xxxxxxxx>
Date: Tue May 5 15:15:56 2015 +0200
Revert "dm crypt: fix deadlock when async crypto algorithm returns -EBUSY"
This reverts Linux 4.1-rc1 commit
0618764cb25f6fa9fb31152995de42a8a0496475.
The problem which that commit attempts to fix actually lies in the
Freescale CAAM crypto driver not dm-crypt.
dm-crypt uses CRYPTO_TFM_REQ_MAY_BACKLOG. This means the the crypto
driver should internally backlog requests which arrive when the queue is
full and process them later. Until the crypto hw's queue becomes full,
the driver returns -EINPROGRESS. When the crypto hw's queue if full,
the driver returns -EBUSY, and if CRYPTO_TFM_REQ_MAY_BACKLOG is set, is
expected to backlog the request and process it when the hardware has
queue space. At the point when the driver takes the request from the
backlog and starts processing it, it calls the completion function with
a status of -EINPROGRESS. The completion function is called (for a
second time, in the case of backlogged requests) with a status/err of 0
when a request is done.
Crypto drivers for hardware without hardware queueing use the helpers,
crypto_init_queue(), crypto_enqueue_request(), crypto_dequeue_request()
and crypto_get_backlog() helpers to implement this behaviour correctly,
while others implement this behaviour without these helpers (ccp, for
example).
dm-crypt (before the patch that needs reverting) uses this API
correctly. It queues up as many requests as the hw queues will allow
(i.e. as long as it gets back -EINPROGRESS from the request function).
Then, when it sees at least one backlogged request (gets -EBUSY), it
waits till that backlogged request is handled (completion gets called
with -EINPROGRESS), and then continues. The references to
af_alg_wait_for_completion() and af_alg_complete() in that commit's
commit message are irrelevant because those functions only handle one
request at a time, unlink dm-crypt.
The problem is that the Freescale CAAM driver, which that commit
describes as having being tested with, fails to implement the
backlogging behaviour correctly. In cam_jr_enqueue(), if the hardware
queue is full, it simply returns -EBUSY without backlogging the request.
What the observed deadlock was is not described in the commit message
but it is obviously the wait_for_completion() in crypto_convert() where
dm-crypto would wait for the completion being called with -EINPROGRESS
in the case of backlogged requests. This completion will never be
completed due to the bug in the CAAM driver.
Commit 0618764cb25 incorrectly made dm-crypt wait for every request,
even when the driver/hardware queues are not full, which means that
dm-crypt will never see -EBUSY. This means that that commit will cause
a performance regression on all crypto drivers which implement the API
correctly.
Revert it. Correct backlog handling should be implemented in the CAAM
driver instead.
Cc'ing stable purely because commit 0618764cb25 did. If for some reason
a stable@ kernel did pick up commit 0618764cb25 it should get reverted.
Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx>
Reviewed-by: Horia Geanta <horia.geanta@xxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit d9cee5d4f66ef36f69b0108dedbad7f7009bb6a8
Merge: c02d7da f440c4e
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue May 5 09:03:52 2015 -0700
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto fixes from Herbert Xu:
"This fixes a build problem with bcm63xx and yet another fix to the
memzero_explicit function to ensure that the memset is not elided"
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
hwrng: bcm63xx - Fix driver compilation
lib: make memzero_explicit more robust against dead store elimination
commit c02d7da3dd00cb32b58d9c87240456e19eebcc42
Merge: 5ebe6af fefad2d
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue May 5 08:42:06 2015 -0700
Merge tag 'media/v4.1-3' of
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media fixes from Mauro Carvalho Chehab:
"Three driver fixes:
- fix for omap4, fixing a regression due to a subsystem API that got
removed for 4.1 (commit efde234674d9);
- fix for one of the formats supported by Marvel ccic driver;
- fix rcar_vin driver that, when stopping abnormally, the driver
can't return from wait_for_completion"
* tag 'media/v4.1-3' of
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
[media] v4l: omap4iss: Replace outdated OMAP4 control pad API with
syscon
[media] media: soc_camera: rcar_vin: Fix wait_for_completion
[media] marvell-ccic: fix Y'CbCr ordering
commit e59d29e88f7b7e3d1231202b0203d0af6f15a440
Author: Wang Nan <wangnan0@xxxxxxxxxx>
Date: Tue Apr 28 08:46:09 2015 +0000
perf probe: Fix segfault if passed with ''.
Since parse_perf_probe_point() deals with a user passed argument, we
should not assume it to be a valid string.
Without this patch, if pass '' to perf probe, a segfault raises:
$ perf probe -a ''
Segmentation fault
This patch checks argument of parse_perf_probe_point() before
string processing.
After this patch:
$ perf probe -a ''
usage: perf probe [<options>] 'PROBEDEF' ['PROBEDEF' ...]
or: perf probe [<options>] --add 'PROBEDEF' [--add 'PROBEDEF' ...]
...
Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Zefan Li <lizefan@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1430210769-94177-1-git-send-email-wangnan0@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit d67e199611b986b345ea3087ee2e4a15da1c98b3
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Tue Apr 21 16:46:28 2015 +0300
efi: Fix error handling in add_sysfs_runtime_map_entry()
I spotted two (difficult to hit) bugs while reviewing this.
1) There is a double free bug because we unregister "map_kset" in
add_sysfs_runtime_map_entry() and also efi_runtime_map_init().
2) If we fail to allocate "entry" then we should return
ERR_PTR(-ENOMEM) instead of NULL.
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Cc: Dave Young <dyoung@xxxxxxxxxx>
Cc: Guangyu Sun <guangyu.sun@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx>
commit 3916e3fd81021fb795bfbdb17f375b6b3685bced
Author: Lukas Wunner <lukas@xxxxxxxxx>
Date: Mon May 4 15:06:49 2015 +0200
drm/i915: Add missing MacBook Pro models with dual channel LVDS
Single channel LVDS maxes out at 112 MHz. The 15" pre-retina models
shipped with 1440x900 (106 MHz) by default or 1680x1050 (119 MHz)
as a BTO option, both versions used dual channel LVDS even though
the smaller one would have fit into a single channel.
Notes:
Bug report showing that the MacBookPro8,2 with 1440x900 uses dual
channel LVDS (this lead to it being hardcoded in intel_lvds.c by
Daniel Vetter with commit 618563e3945b9d0864154bab3c607865b557cecc):
https://bugzilla.kernel.org/show_bug.cgi?id=42842
If i915.lvds_channel_mode=2 is missing even though the machine needs
it, every other vertical line is white and consequently, only the left
half of the screen is visible (verified by myself on a MacBookPro9,1).
Forum posting concerning a MacBookPro6,2 with 1440x900, author is
using i915.lvds_channel_mode=2 on the kernel command line, proving
that the machine uses dual channels:
https://bbs.archlinux.org/viewtopic.php?id=185770
Chi Mei N154C6-L04 with 1440x900 is a replacement panel for all
MacBook Pro "A1286" models, and that model number encompasses the
MacBookPro6,2 / 8,2 / 9,1. Page 17 of the panel's datasheet shows it's
driven with dual channel LVDS:
http://www.ebay.com/itm/-/400690878560
http://www.everymac.com/ultimate-mac-lookup/?search_keywords=A1286
http://www.taopanel.com/chimei/datasheet/N154C6-L04.pdf
Those three 15" models, MacBookPro6,2 / 8,2 / 9,1, are the only ones
with i915 graphics and dual channel LVDS, so that list should be
complete. And the 8,2 is already in intel_lvds.c.
Possible motivation to use dual channel LVDS even on the 1440x900
models: Reduce the number of different parts, i.e. use identical logic
boards and display cabling on both versions and the only differing
component is the panel.
Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx>
Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
[Jani: included notes in the commit message for posterity]
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit 6f317cfe42c9d8a7c9c1a327d2f1bcc517a3cd91
Author: Lukas Wunner <lukas@xxxxxxxxx>
Date: Sun Apr 12 21:10:35 2015 +0200
drm/i915: Assume dual channel LVDS if pixel clock necessitates it
Single channel LVDS maxes out at 112 MHz, anything above must be dual
channel. This avoids the need to specify i915.lvds_channel_mode=2 on
all 17" MacBook Pro models with i915 graphics since they had 1920x1200
(193 MHz), plus those 15" pre-retina models which had a resolution
of 1680x1050 (119 MHz) as a BTO option.
Source for 112 MHz limit of single channel LVDS is section 2.3 of:
https://01.org/linuxgraphics/sites/default/files/documentation/ivb_ihd_os_vol3_part4.pdf
v2: Avoid hardcoding 17" models by assuming dual channel LVDS if the
resolution necessitates it, suggested by Jani Nikula.
v3: Fix typo, thanks Joonas Lahtinen.
v4: Split commit in two, suggested by Ville Syrjälä.
Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx>
Tested-by: Lukas Wunner <lukas@xxxxxxxxx>
Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
[Jani: included spec reference into the commit message]
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit d73a824acc705571c0f47596326d7967fba9a1d9
Author: Alex Deucher <alexander.deucher@xxxxxxx>
Date: Mon May 4 14:35:01 2015 -0400
drm/radeon: don't setup audio on asics that don't support it
bug: https://bugzilla.kernel.org/show_bug.cgi?id=97701
Reported-by: Mikael Pettersson <mikpelinux@xxxxxxxxx>
Tested-by: Mikael Pettersson <mikpelinux@xxxxxxxxx>
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit d4988623cc605131bed8c77f007082c3555c39ee
Author: Luis R. Rodriguez <mcgrof@xxxxxxxx>
Date: Wed Apr 22 11:38:24 2015 -0700
IB/qib: use arch_phys_wc_add()
This driver already makes use of ioremap_wc() on PIO buffers,
so convert it to use arch_phys_wc_add().
The qib driver uses a mmap() special case for when PAT is
not used, this behaviour used to be determined with a
module parameter but since we have been asked to just
remove that module parameter this checks for the WC cookie,
if not set we can assume PAT was used. If its set we do
what we used to do for the mmap for when MTRR was enabled.
The removal of the module parameter is OK given that Andy
notes that even if users of module parameter are still around
it will not prevent loading of the module on recent kernels.
Cc: Doug Ledford <dledford@xxxxxxxxxx>
Cc: Toshi Kani <toshi.kani@xxxxxx>
Cc: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx>
Cc: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx>
Cc: Roland Dreier <roland@xxxxxxxxxxxxxxx>
Cc: Sean Hefty <sean.hefty@xxxxxxxxx>
Cc: Hal Rosenstock <hal.rosenstock@xxxxxxxxx>
Cc: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Suresh Siddha <sbsiddha@xxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Juergen Gross <jgross@xxxxxxxx>
Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>
Cc: Dave Airlie <airlied@xxxxxxxxxx>
Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Cc: Antonino Daplas <adaplas@xxxxxxxxx>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx>
Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Cc: Stefan Bader <stefan.bader@xxxxxxxxxxxxx>
Cc: konrad.wilk@xxxxxxxxxx
Cc: ville.syrjala@xxxxxxxxxxxxxxx
Cc: david.vrabel@xxxxxxxxxx
Cc: jbeulich@xxxxxxxx
Cc: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Cc: infinipath@xxxxxxxxx
Cc: linux-rdma@xxxxxxxxxxxxxxx
Cc: linux-fbdev@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 87a26e976cb93e26742224bdd39f51f7861aa9b7
Author: Luis R. Rodriguez <mcgrof@xxxxxxxx>
Date: Tue Apr 21 14:50:34 2015 -0700
IB/qib: add acounting for MTRR
There is no good reason not to, we eventually delete it as well.
Cc: Toshi Kani <toshi.kani@xxxxxx>
Cc: Suresh Siddha <sbsiddha@xxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Juergen Gross <jgross@xxxxxxxx>
Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Dave Airlie <airlied@xxxxxxxxxx>
Cc: Antonino Daplas <adaplas@xxxxxxxxx>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx>
Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
Cc: Mike Marciniszyn <infinipath@xxxxxxxxx>
Cc: Roland Dreier <roland@xxxxxxxxxx>
Cc: Sean Hefty <sean.hefty@xxxxxxxxx>
Cc: Hal Rosenstock <hal.rosenstock@xxxxxxxxx>
Cc: linux-rdma@xxxxxxxxxxxxxxx
Cc: linux-fbdev@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 325ad0617adaf163e32dd2d857b90baf65a25b5b
Author: Guy Shapiro <guysh@xxxxxxxxxxxx>
Date: Wed Apr 15 18:17:57 2015 +0300
IB/core: dma unmap optimizations
While unmapping an ODP writable page, the dirty bit of the page is set. In
order to do so, the head of the compound page is found.
Currently, the compound head is found even on non-writable pages, where
it is
never used, leading to unnecessary cpu barrier that impacts performance.
This patch moves the search for the compound head to be done only when
needed.
Signed-off-by: Guy Shapiro <guysh@xxxxxxxxxxxx>
Acked-by: Shachar Raindel <raindel@xxxxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit c1d383b5785b1e0fb5fb862864712a7208219e6a
Author: Guy Shapiro <guysh@xxxxxxxxxxxx>
Date: Wed Apr 15 18:17:56 2015 +0300
IB/core: dma map/unmap locking optimizations
Currently, while mapping or unmapping pages for ODP, the umem mutex is
locked
and unlocked once for each page. Such lock/unlock operation take few tens
to
hundreds of nsecs. This makes a significant impact when mapping or
unmapping few
MBs of memory.
To avoid this, the mutex should be locked only once per operation, and
not per
page.
Signed-off-by: Guy Shapiro <guysh@xxxxxxxxxxxx>
Acked-by: Shachar Raindel <raindel@xxxxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 5b6b8fe64053b2649660ded2f3c5be25ebddbfdb
Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 21 16:28:41 2015 -0400
RDMA/cxgb4: Report the actual address of the remote connecting peer
Get the actual (non-mapped) ip/tcp address of the connecting peer from
the port mapper
Also setup the passive side endpoint to correctly display the actual
and mapped addresses for the new connection.
Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 230da36ae919e690dbcc44d1be8a2154214c6e36
Author: Tatyana Nikolova <Tatyana.E.Nikolova@xxxxxxxxx>
Date: Tue Apr 21 16:28:25 2015 -0400
RDMA/nes: Report the actual address of the remote connecting peer
Get the actual (non-mapped) ip/tcp address of the connecting peer from
the port mapper and report the address info to the user space application
at the time of connection establishment
Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@xxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 6eec177461751f0fe191cf9977cde692b9481d0a
Author: Tatyana Nikolova <Tatyana.E.Nikolova@xxxxxxxxx>
Date: Tue Apr 21 16:28:10 2015 -0400
RDMA/core: Enable the iWarp Port Mapper to provide the actual address of
the connecting peer to its clients
Add functionality to enable the port mapper on the passive side to
provide to its
clients the actual (non-mapped) ip/tcp address information of the
connecting peer
1) Adding remote_info_cb() to process the address info of the connecting
peer
The address info is provided by the user space port mapper service when
the connection is initiated by the peer
2) Adding a hash list to store the remote address info
3) Adding functionality to add/remove the remote address info
After the info has been provided to the port mapper client,
it is removed from the hash list
Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@xxxxxxxxx>
Reviewed-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 4a75a86c8d04390f268d7237cc49fe9a8e36efe7
Author: Hariprasad S <hariprasad@xxxxxxxxxxx>
Date: Wed Apr 22 01:45:01 2015 +0530
iw_cxgb4: enforce qp/cq id requirements
Currently the iw_cxgb4 implementation requires the qp and cq qid densities
to match as well as the qp and cq id ranges. So fail a device open if
the device configuration doesn't meet the requirements.
The reason for these restictions has to do with the fact that IQ qid X
has a UGTS register in the same bar2 page as EQ qid X. Thus both qids
need to be allocated to the same user process for security reasons.
The logic that does this (the qpid allocator in iw_cxgb4/resource.c)
handles this but requires the above restrictions.
Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 09ece8b9e983fe858de6eab7a386d58d194227b6
Author: Hariprasad S <hariprasad@xxxxxxxxxxx>
Date: Wed Apr 22 01:45:00 2015 +0530
iw_cxgb4: use BAR2 GTS register for T5 kernel mode CQs
For T5, we must not use the kdb/kgts registers, in order avoid db drops
under extreme loads.
Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 6198dd8d7a6a7f40dc4599cb0676101d9cb82776
Author: Hariprasad S <hariprasad@xxxxxxxxxxx>
Date: Wed Apr 22 01:44:59 2015 +0530
iw_cxgb4: 32b platform fixes
- get_dma_mr() was using ~0UL which is should be ~0ULL. This causes the
DMA MR to get setup incorrectly in hardware.
- wr_log_show() needed a 64b divide function div64_u64() instead of
doing
division directly.
- fixed warnings about recasting a pointer to a u64
Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 0b7410471d59ce2ea30453e68c03bdb941d5951e
Author: Hariprasad S <hariprasad@xxxxxxxxxxx>
Date: Wed Apr 22 01:44:58 2015 +0530
iw_cxgb4: Cleanup register defines/MACROS
Cleanup macros and register defines for consistency
Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 285214409a9e5fceba2215461b4682b6069d8e77
Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 20 14:01:11 2015 -0600
RDMA/CMA: Canonize IPv4 on IPV6 sockets properly
When accepting a new IPv4 connect to an IPv6 socket, the CMA tries to
canonize the address family to IPv4, but does not properly process
the listening sockaddr to get the listening port, and does not properly
set the address family of the canonized sockaddr.
Fixes: e51060f08a61 ("IB: IP address based RDMA connection manager")
Cc: <stable@xxxxxxxxxxxxxxx>
Reported-By: Yotam Kenneth <yotamke@xxxxxxxxxxxx>
Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx>
Tested-by: Haggai Eran <haggaie@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit e8a4a2696fecb398b0288c43c0e0dbb91e265bb2
Author: Tahsin Erdogan <tahsin@xxxxxxxxxx>
Date: Mon May 4 21:15:31 2015 -0700
x86/spinlocks: Fix regression in spinlock contention detection
A spinlock is regarded as contended when there is at least one waiter.
Currently, the code that checks whether there are any waiters rely on
tail value being greater than head. However, this is not true if tail
reaches the max value and wraps back to zero, so arch_spin_is_contended()
incorrectly returns 0 (not contended) when tail is smaller than head.
The original code (before regression) handled this case by casting the
(tail - head) to an unsigned value. This change simply restores that
behavior.
Fixes: d6abfdb20223 ("x86/spinlocks/paravirt: Fix memory corruption on
unlock")
Signed-off-by: Tahsin Erdogan <tahsin@xxxxxxxxxx>
Cc: peterz@xxxxxxxxxxxxx
Cc: Waiman.Long@xxxxxx
Cc: borntraeger@xxxxxxxxxx
Cc: oleg@xxxxxxxxxx
Cc: raghavendra.kt@xxxxxxxxxxxxxxxxxx
Cc: stable@xxxxxxxxxxxxxxx
Link:
http://lkml.kernel.org/r/1430799331-20445-1-git-send-email-tahsin@xxxxxxxxxx
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
commit 7263b1bd0490fca68ee7eedb0b6973cb86d4701c
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Wed Apr 22 11:03:48 2015 -0700
f2fs: fix wrong error hanlder in f2fs_follow_link
The page_follow_link_light returns NULL and its error pointer was remained
in nd->path.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 5463e7c18e51152104aba9614e6abfc039a8b710
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Tue Apr 21 10:40:54 2015 -0700
Revert "f2fs: enhance multi-threads performance"
This reports performance regression by Yuanhan Liu.
The basic idea was to reduce one-point mutex, but it turns out this causes
another contention like context swithes.
https://lkml.org/lkml/2015/4/21/11
Until finishing the analysis on this issue, I'd like to revert this for a
while.
This reverts commit 78373b7319abdf15050af5b1632c4c8b8b398f33.
commit 9ba52e5812e53f20f23600d79449a3ec05a0254f
Author: Shaohua Li <shli@xxxxxx>
Date: Mon May 4 14:32:48 2015 -0600
blk-mq: don't lose requests if a stopped queue restarts
Normally if driver is busy to dispatch a request the logic is like below:
block layer: driver:
__blk_mq_run_hw_queue
a. blk_mq_stop_hw_queue
b. rq add to ctx->dispatch
later:
1. blk_mq_start_hw_queue
2. __blk_mq_run_hw_queue
But it's possible step 1-2 runs between a and b. And since rq isn't in
ctx->dispatch yet, step 2 will not run rq. The rq might get lost if
there are no subsequent requests kick in.
Signed-off-by: Shaohua Li <shli@xxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit b2387ddcced8de3e6471a2fb16a409577063016f
Author: Shaohua Li <shli@xxxxxx>
Date: Fri May 1 09:59:44 2015 -0700
blk-mq: fix FUA request hang
When a FUA request enters its DATA stage of flush pipeline, the
request is added to mq requeue list, the request will then be added to
ctx->rq_list. blk_mq_attempt_merge() might merge the request with a bio.
Later when the request is finished the flush pipeline, the
request->__data_len is 0. Then I only saw the bio gets endio called, the
original request never finish.
Adding REQ_FLUSH_SEQ into REQ_NOMERGE_FLAGS looks an easy fix.
stable: 3.15+
Signed-off-by: Shaohua Li <shli@xxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 013ead48a843442e63b9426e3bd5df18ca5d054a
Author: Christian König <christian.koenig@xxxxxxx>
Date: Fri May 1 12:34:12 2015 +0200
drm/radeon: disable semaphores for UVD V1 (v2)
Hardware doesn't seem to work correctly, just block userspace in this
case.
v2: add missing defines
Bugs: https://bugs.freedesktop.org/show_bug.cgi?id=85320
Signed-off-by: Christian König <christian.koenig@xxxxxxx>
CC: stable@xxxxxxxxxxxxxxx
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit e7309c2673a389a495fcfad70376d3bae8b9bc89
Author: Suman Anna <s-anna@xxxxxx>
Date: Fri Apr 24 12:54:20 2015 -0500
bus: omap_l3_noc: Fix master id address decoding for OMAP5
The L3 Error handling on OMAP5 for the most part is very similar
to that of OMAP4, and had leveraged common data structures and
register layout definitions so far. Upon closer inspection, there
are a few minor differences causing an incorrect decoding and
reporting of the master NIU upon an error:
1. The L3_TARG_STDERRLOG_MSTADDR.STDERRLOG_MSTADDR occupies
11 bits on OMAP5 as against 8 bits on OMAP4, with the master
NIU connID encoded in the 6 MSBs of the STDERRLOG_MSTADDR
field.
2. The CLK3 FlagMux component has 1 input source on OMAP4 and 3
input sources on OMAP5. The common DEBUGSS source is at a
different input on each SoC.
Fix the above issues by using a OMAP5-specific compatible property
and using SoC-specific data where there are differences.
Signed-off-by: Suman Anna <s-anna@xxxxxx>
Acked-by: Nishanth Menon <nm@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 4adf82c35572c69e96997641612fc88463b08f6f
Author: Illia Smyrnov <illia.smyrnov@xxxxxxxxxxxxxxx>
Date: Thu Apr 16 17:42:30 2015 -0500
bus: omap_l3_noc: Fix offset for DRA7 CLK1_HOST_CLK1_2 instance
The base address for DRA7 CLK1_HOST_CLK1_2 host instance is
0x44800000, so correct offset is 0x800000. DRA7 TRM rev X(fewb 2015)
has updates for this information.
With wrong offset these errors are not correctly cleared by the L3
IRQ handler and cause an continuous interrupt scenario and system lockup.
Signed-off-by: Illia Smyrnov <illia.smyrnov@xxxxxxxxxxxxxxx>
Signed-off-by: Nishanth Menon <nm@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 1822734677d95888d18e3c0e0743727effa62f8e
Author: Nishanth Menon <nm@xxxxxx>
Date: Thu Apr 16 16:56:33 2015 -0500
ARM: dts: dra7: Fix efuse register size for ABB
Fix a typo in DRA7 dtsi where 12 bytes are needed for register
description of ABB efuse registers, however only 8 bytes are provided
to map. For some weird reason, this does not generate abort at offset
0x8, probably due to default maps already provided in io.c for the bus
register ranges.
Reported-by: Matt Gessner <Matt.Gessner@xxxxxxxxxxxxx>
Reported-by: Suman Anna <s-anna@xxxxxx>
Signed-off-by: Nishanth Menon <nm@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit ed12f102ba9f55d2617fc6b5e4fbecbf9a132ba7
Author: Nishanth Menon <nm@xxxxxx>
Date: Thu Apr 9 17:33:17 2015 -0500
ARM: dts: am57xx-beagle-x15: Switch GPIO fan number
BeagleBoard-X15 pre-production change includes switching the GPIO fan
gpio over from 1 to 2 to allow for a potential fix at a later point in
time for USB client VBUS detection using PMIC VBUS detect capability.
Signed-off-by: Nishanth Menon <nm@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 5eb6719816faad8e915d4f46ad61a440d641d183
Author: Nishanth Menon <nm@xxxxxx>
Date: Wed Apr 8 17:40:59 2015 -0500
ARM: dts: am57xx-beagle-x15: Switch UART mux pins
BeagleBoard-X15 pre-production change includes switching over to UART
pins that now allow for UART download capability. All original boards
should either have been returned for modifications or already modified
for the required change and maintaining compatibility for older boards
are no longer needed.
Signed-off-by: Nishanth Menon <nm@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit f6b957fdce50ddbd1899948ab109cca64e571eba
Author: Felipe Balbi <balbi@xxxxxx>
Date: Thu Apr 9 10:59:27 2015 -0500
ARM: dts: am437x-sk: reduce col-scan-delay-us
The new AM437x SK Beta boards have removed the
large capacitors on the gpio-matrix column lines
which means we can reduce col-scan-delay-us to 5us
without loosing functionality.
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit faa4ec1eedbe6d352dc22c945540a64b5c896a95
Author: Felipe Balbi <balbi@xxxxxx>
Date: Thu Apr 9 10:59:26 2015 -0500
ARM: dts: am437x-sk: fix for new newhaven display module revision
AM437x Starter Kit uses a NewHaven Display module with
a 4.3" display and EDT FT5306 touchscreen
On that module's new revision, NewHave decided to change
the pinout on the 6 pin flat-pcb touchscreen connector so
that instead of having WAKE pin, we now have RESETn.
The new display module is available on AM437x SK Beta and
all new revisions while the older revision is only available
on AM437x SK Alpha which, unfortunately, can't be supported
anymore in mainline without a revert of this patch.
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 00edd3170c757772f74c533e61298be249447a11
Author: Nishanth Menon <nm@xxxxxx>
Date: Wed Apr 8 18:56:27 2015 -0500
ARM: dts: am57xx-beagle-x15: Fix RTC aliases
With commit bc078316d86c ("ARM: dts: DRA7: Add node for RTC"), we now
have AM57xx RTC register itself as alias 0 even before DS1307 or TPS
rtc drivers are loaded up. However, since neither TPS, nor AM57xx RTC
are capable of being backedup by battery, we would like to maintain
the "primary" rtc as mcp79410 rtc device.
This also generates the following warnings in the bootlog highlighting
the issue:
[ 5.895445] rtc-ds1307 2-006f: /aliases ID 0 not available
...
[ 6.476285] palmas-rtc 48070000.i2c:tps659038@58:tps659038_rtc:
/aliases ID 1 not available
So, add proper aliases to ensure that RTC order is always consistent
to userspace immaterial of probe order.
Signed-off-by: Nishanth Menon <nm@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit e7a7357341664148cabf98a3ab50b5d449afca0b
Author: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx>
Date: Wed Apr 8 18:56:26 2015 -0500
ARM: dts: am57xx-beagle-x15: Fix IRQ type for mcp7941x
The interrupt polarity provided in devicetree is used to configure
the interrupt controller(ARM GIC), however, it seems that we have an
inverter at the GIC boundary inside AM57xx which inverts the signal
input from sys_irq external interrupt source.
Further, as per GIC distributor TRM,
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0438d/BGBHIACJ.html#BABJFCFB
ARM GIC distributor does not support IRQ trigger type
IRQ_TYPE_LEVEL_LOW, and only rising or level high signals.
However, for some reason, the current configuration(which gets ignored
by GIC driver) functions on some platforms, however, on few platforms
results in infinite interrupts hogging the system down.
Switch over to rising edge for GIC configuration which is also aligned
with trigger point from the RTC chip and the internal inversion.
Fixes: 5a0f93c6576a ("ARM: dts: Add am57xx-beagle-x15")
Signed-off-by: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx>
Signed-off-by: Nishanth Menon <nm@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 2055088b5e17b450fcfb536568aee00eccd0ced5
Author: Sebastian Reichel <sre@xxxxxxxxxx>
Date: Tue Mar 31 03:28:10 2015 +0200
ARM: dts: omap3: Add #iommu-cells to isp and iva iommu
Add missing #iommu-cells property to the isp and iva iommu nodes. This
fixes the binding (property is required according to the generic iommu
binding) and removes the following kernel warning triggered once the
iommu nodes are referenced:
[ 0.647521] /ocp/isp@480bc000: could not get #iommu-cells for
/ocp/mmu@480bd400
Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 67defd5c0ee5270948104784c8fc8f6d4a99682b
Author: Roger Quadros <rogerq@xxxxxx>
Date: Tue Mar 24 12:19:19 2015 +0200
ARM: omap2plus_defconfig: Enable EXTCON_USB_GPIO
We need to enable EXTCON_USB_GPIO_USB and not
EXTCON_GPIO_USB.
Fixes: c08a54c0ebeb ("ARM: omap2plus_defconfig: Enable EXTCON_GPIO_USB")
Reported-by: Nishant Menon <nm@xxxxxx>
Signed-off-by: Roger Quadros <rogerq@xxxxxx>
Acked-by-by: Nishanth Menon <nm@xxxxxx
Tested-by: Nishanth Menon <nm@xxxxxx
Reviewed-by: Felipe Balbi <balbi@xxxxxx>
Acked-by: Felipe Balbi <balbi@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 1819e3034ee26ffadc71880064ed8b8e7d74f52c
Author: Pavel Machek <pavel@xxxxxx>
Date: Sun Mar 1 21:07:08 2015 +0200
ARM: dts: OMAP3-N900: Add microphone bias voltages
N900 audio recording needs that codec provides bias voltage for integrated
digital microphone and headset microphone depending which one is used.
Digital microphone uses 2 V bias and it comes from the codec A part. Codec
B part drives the headset microphone bias and that is set to 2.5 V.
Cc: stable@xxxxxxxxxxxxxxx # v3.16+
Signed-off-by: Pavel Machek <pavel@xxxxxx>
[Jarkko: Headset mic bias changed to 2 (2.5 V) as it was before commit
e2e8bfdf6157 ("ASoC: tlv320aic3x: Convert mic bias to a supply widget")]
Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 102bcb6ed2d1c3ffcc7269afc957c2df11942085
Author: Tony Lindgren <tony@xxxxxxxxxxx>
Date: Mon May 4 08:54:41 2015 -0700
ARM: OMAP2+: Fix omap off idle power consumption creeping up
If we use a combination of VMODE and I2C4 for retention modes,
eventually the off idle power consumption will creep up by about
23mW, even during off mode with I2C4 always staying enabled.
Turns out this is because of erratum i531 "Extra Power Consumed
When Repeated Start Operation Mode Is Enabled on I2C Interface
Dedicated for Smart Reflex (I2C4)" as pointed out by Nishanth
Menon <nm@xxxxxx>.
Let's fix the issue by adding i2c_cfg_clear_mask for the bits
to clear when initializing the I2C4 adapter so we can clear
SREN bit that drives the I2C4 lines low otherwise when there
is no traffic.
Fixes: 3b8c4ebb7630 ("ARM: OMAP3: Fix idle mode signaling for
Cc: stable@xxxxxxxxxxxxxxx # v3.16+
sys_clkreq and sys_off_mode")
Cc: Kevin Hilman <khilman@xxxxxxxxxx>
Cc: Tero Kristo <t-kristo@xxxxxx>
Reviewed-by: Nishanth Menon <nm@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 622532bb2fad8fe342fb685727ae0be566f6be5d
Author: Witold Szczeponik <Witold.Szczeponik@xxxxxxx>
Date: Fri May 1 19:05:20 2015 +0200
ACPI / PNP: add two IDs to list for PNPACPI device enumeration
Commit eec15edbb0e1 (ACPI / PNP: use device ID list for PNPACPI device
enumeration) changed the way how ACPI devices are enumerated and when
they are added to the PNP bus.
However, it broke the sound card support on (at least) a vintage
IBM ThinkPad 600E: with said commit applied, two of the necessary
"CSC01xx" devices are not added to the PNP bus and hence can not be
found during the initialization of the "snd-cs4236" module. As a
consequence, loading "snd-cs4236" causes null pointer exceptions.
The attached patch fixes the problem end re-enables sound on the
IBM ThinkPad 600E.
Fixes: eec15edbb0e1 (ACPI / PNP: use device ID list for PNPACPI device
enumeration)
Signed-off-by: Witold Szczeponik <Witold.Szczeponik@xxxxxxx>
Cc: 3.16+ <stable@xxxxxxxxxxxxxxx> # 3.16+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 74d77e50f23123938fbb7987eba71310864e6a7c
Author: Colin Ian King <colin.king@xxxxxxxxxxxxx>
Date: Mon Apr 20 10:59:17 2015 -0500
pinctrl: mediatek: mtk-common: initialize unmask
cppcheck detected an uninitialized variable:
[drivers/pinctrl/mediatek/pinctrl-mtk-common.c:897]:
(error) Uninitialized variable: unmask
unmask should be initialized to zero to ensure unmasking
only occurs if a previous mask occurred. The current situation
is that the unmask variable could contain any random garbage
causing random unexpected unmasking.
Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit a00212e21928640486d3cc939cf4d908e8522016
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Mon May 4 01:58:27 2015 +0200
ACPI / documentation: Fix ambiguity in the GPIO properties document
The first paragraph in Documentation/acpi/gpio-properties.txt is
ambiguous, so make it more clear.
Reported-by: Antonio Ospite <ao2@xxxxxx>
Acked-by: Antonio Ospite <ao2@xxxxxx>
Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit f440c4ee3e53f767974fe60bcbc0b6687a5fb53f
Author: �lvaro Fernández Rojas <noltari@xxxxxxxxx>
Date: Sat May 2 12:08:42 2015 +0200
hwrng: bcm63xx - Fix driver compilation
- s/clk_didsable_unprepare/clk_disable_unprepare
- s/prov/priv
- s/error/ret (bcm63xx_rng_probe)
Fixes: 6229c16060fe ("hwrng: bcm63xx - make use of devm_hwrng_register")
Signed-off-by: �lvaro Fernández Rojas <noltari@xxxxxxxxx>
Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 7829fb09a2b4268b30dd9bc782fa5ebee278b137
Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Date: Thu Apr 30 04:13:52 2015 +0200
lib: make memzero_explicit more robust against dead store elimination
In commit 0b053c951829 ("lib: memzero_explicit: use barrier instead
of OPTIMIZER_HIDE_VAR"), we made memzero_explicit() more robust in
case LTO would decide to inline memzero_explicit() and eventually
find out it could be elimiated as dead store.
While using barrier() works well for the case of gcc, recent efforts
from LLVMLinux people suggest to use llvm as an alternative to gcc,
and there, Stephan found in a simple stand-alone user space example
that llvm could nevertheless optimize and thus elimitate the memset().
A similar issue has been observed in the referenced llvm bug report,
which is regarded as not-a-bug.
Based on some experiments, icc is a bit special on its own, while it
doesn't seem to eliminate the memset(), it could do so with an own
implementation, and then result in similar findings as with llvm.
The fix in this patch now works for all three compilers (also tested
with more aggressive optimization levels). Arguably, in the current
kernel tree it's more of a theoretical issue, but imho, it's better
to be pedantic about it.
It's clearly visible with gcc/llvm though, with the below code: if we
would have used barrier() only here, llvm would have omitted clearing,
not so with barrier_data() variant:
static inline void memzero_explicit(void *s, size_t count)
{
memset(s, 0, count);
barrier_data(s);
}
int main(void)
{
char buff[20];
memzero_explicit(buff, sizeof(buff));
return 0;
}
$ gcc -O2 test.c
$ gdb a.out
(gdb) disassemble main
Dump of assembler code for function main:
0x0000000000400400 <+0>: lea -0x28(%rsp),%rax
0x0000000000400405 <+5>: movq $0x0,-0x28(%rsp)
0x000000000040040e <+14>: movq $0x0,-0x20(%rsp)
0x0000000000400417 <+23>: movl $0x0,-0x18(%rsp)
0x000000000040041f <+31>: xor %eax,%eax
0x0000000000400421 <+33>: retq
End of assembler dump.
$ clang -O2 test.c
$ gdb a.out
(gdb) disassemble main
Dump of assembler code for function main:
0x00000000004004f0 <+0>: xorps %xmm0,%xmm0
0x00000000004004f3 <+3>: movaps %xmm0,-0x18(%rsp)
0x00000000004004f8 <+8>: movl $0x0,-0x8(%rsp)
0x0000000000400500 <+16>: lea -0x18(%rsp),%rax
0x0000000000400505 <+21>: xor %eax,%eax
0x0000000000400507 <+23>: retq
End of assembler dump.
As gcc, clang, but also icc defines __GNUC__, it's sufficient to define
this in compiler-gcc.h only to be picked up. For a fallback or otherwise
unsupported compiler, we define it as a barrier. Similarly, for ecc which
does not support gcc inline asm.
Reference: https://llvm.org/bugs/show_bug.cgi?id=15495
Reported-by: Stephan Mueller <smueller@xxxxxxxxxx>
Tested-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Cc: Theodore Ts'o <tytso@xxxxxxx>
Cc: Stephan Mueller <smueller@xxxxxxxxxx>
Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Cc: mancha security <mancha1@xxxxxxxx>
Cc: Mark Charlebois <charlebm@xxxxxxxxx>
Cc: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 184af16b09360d6273fd6160e6ff7f8e2482ef23
Author: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx>
Date: Thu Apr 23 13:43:43 2015 +0300
mmc: core: add missing pm event in mmc_pm_notify to fix hib restore
The PM_RESTORE_PREPARE is not handled now in mmc_pm_notify(),
as result mmc_rescan() could be scheduled and executed at
late hibernation restore stages when MMC device is suspended
already - which, in turn, will lead to system crash on TI dra7-evm board:
WARNING: CPU: 0 PID: 3188 at drivers/bus/omap_l3_noc.c:148
l3_interrupt_handler+0x258/0x374()
44000000.ocp:L3 Custom Error: MASTER MPU TARGET L4_PER1_P3 (Idle): Data
Access in User mode during Functional access
Hence, add missed PM_RESTORE_PREPARE PM event in mmc_pm_notify().
Fixes: 4c2ef25fe0b8 (mmc: fix all hangs related to mmc/sd card...)
Signed-off-by: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 5ebe6afaf0057ac3eaeb98defd5456894b446d22
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun May 3 19:22:23 2015 -0700
Linux 4.1-rc2
commit 8663da2c0919896788321cd8a0016af08588c656
Merge: 101a6fd 2c869b2
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun May 3 18:23:53 2015 -0700
Merge tag 'for_linus_stable' of
git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Pull ext4 fixes from Ted Ts'o:
"Some miscellaneous bug fixes and some final on-disk and ABI changes
for ext4 encryption which provide better security and performance"
* tag 'for_linus_stable' of
git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
ext4: fix growing of tiny filesystems
ext4: move check under lock scope to close a race.
ext4: fix data corruption caused by unwritten and delayed extents
ext4 crypto: remove duplicated encryption mode definitions
ext4 crypto: do not select from EXT4_FS_ENCRYPTION
ext4 crypto: add padding to filenames before encrypting
ext4 crypto: simplify and speed up filename encryption
commit 101a6fd387801bbe164eafea3950b98f8e6440bb
Merge: 61f06db 71aee81
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun May 3 18:15:48 2015 -0700
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Pull drm fixes from Dave Airlie:
"One intel fix, one rockchip fix, and a bunch of radeon fixes for some
regressions from audio rework and vm stability"
* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
drm/i915/chv: Implement WaDisableShadowRegForCpd
drm/radeon: fix userptr return value checking (v2)
drm/radeon: check new address before removing old one
drm/radeon: reset BOs address after clearing it.
drm/radeon: fix lockup when BOs aren't part of the VM on release
drm/radeon: add SI DPM quirk for Sapphire R9 270 Dual-X 2G GDDR5
drm/radeon: adjust pll when audio is not enabled
drm/radeon: only enable audio streams if the monitor supports it
drm/radeon: only mark audio as connected if the monitor supports it (v3)
drm/radeon/audio: don't enable packets until the end
drm/radeon: drop dce6_dp_enable
drm/radeon: fix ordering of AVI packet setup
drm/radeon: Use drm_calloc_ab for CS relocs
drm/rockchip: fix error check when getting irq
MAINTAINERS: add entry for Rockchip drm drivers
commit 71aee81937963ccb07b3fa1b912e4cc6cd77dfa8
Merge: df9ebeb a04f90a
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Mon May 4 08:56:47 2015 +1000
Merge tag 'drm-intel-fixes-2015-04-30' of
git://anongit.freedesktop.org/drm-intel into drm-fixes
Just a single intel fix
* tag 'drm-intel-fixes-2015-04-30' of
git://anongit.freedesktop.org/drm-intel:
drm/i915/chv: Implement WaDisableShadowRegForCpd
commit df9ebeb2da3ae0122f44521ee833d31e1a2b3845
Merge: feb589e 3ea6892
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Mon May 4 08:56:27 2015 +1000
Merge branch 'drm-next0420' of
https://github.com/markyzq/kernel-drm-rockchip into drm-fixes
one fix and maintainers update
* 'drm-next0420' of https://github.com/markyzq/kernel-drm-rockchip:
drm/rockchip: fix error check when getting irq
MAINTAINERS: add entry for Rockchip drm drivers
commit 3b8786ff7a1b31645ae2c26a2ec32dbd42ac1094
Author: Will Deacon <will.deacon@xxxxxxx>
Date: Fri May 1 17:16:01 2015 +0100
ARM: 8352/1: perf: Fix the pmu node name in warning message
With commit 9fd85eb502a7 ("ARM: pmu: add support for interrupt-affinity
property"), we print a warning when we find a PMU SPI with a missing
missing interrupt-affinity property in a pmu node. Unfortunately, we
pass the wrong (NULL) device node to of_node_full_name, resulting in
unhelpful messages such as:
hw perfevents: Failed to parse <no-node>/interrupt-affinity[0]
This patch fixes the name to that of the pmu node.
Fixes: 9fd85eb502a7 (ARM: pmu: add support for interrupt-affinity
property)
Acked-by: Mark Rutland <mark.rutland@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 338d9dd3e2aee00a9198e8bf6e7d535d3feeaf32
Author: Will Deacon <will.deacon@xxxxxxx>
Date: Fri May 1 17:15:23 2015 +0100
ARM: 8351/1: perf: don't warn about missing interrupt-affinity property
for PPIs
PPIs are affine by nature, so the interrupt-affinity property is not
used and therefore we shouldn't print a warning in its absence.
Reported-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 59c3191628fd1ced948d099f3138b92b06281520
Author: Andrew Lunn <andrew@xxxxxxx>
Date: Thu Apr 30 19:51:43 2015 +0100
ARM: 8350/1: proc-feroceon: Fix feroceon_proc_info macro
bf35706f3d09 ("ARM: 8314/1: replace PROCINFO embedded branch with
relative offset") broke booting for Kirkwood. The kernel would say:
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Error: unrecognized/unsupported processor variant (0x56251311).
Fix it by removing the extraneous .long __feroceon_setup from the
feroceon_proc_info macro.
Fixes: bf35706f3d09 ("ARM: 8314/1: replace PROCINFO embedded branch with
relative offset")
Reported-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Suggested-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Tested-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 13f2fa7cb33d82b95e1e1dab8c95fa619b49f418
Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx>
Date: Thu Apr 30 14:36:03 2015 +0100
ARM: 8349/1: arch/arm/mm/proc-arm925.S: remove dead #ifdef block
The block could never be compiled; CPU_ICACHE_STREAMING_DISABLE has not
been defined in Kconfig since the very first Git commit. Hence, we can
safely remove the entire block.
Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 024587dc2137a22096372fc8df4b283e84e057b5
Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx>
Date: Thu Apr 30 14:34:35 2015 +0100
ARM: 8348/1: remove comments on CPU_ARM1020_CPU_IDLE
CPU_ARM1020_CPU_IDLE is not defined in Kconfig. The last reference on
LKML dates back to 2001, so we can safely remove the comments to make
static analysis tools happy.
Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 1424532b2163bf1580f4b1091a5801e12310fac5
Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Date: Wed Apr 29 11:29:19 2015 +0100
ARM: 8347/1: dma-mapping: fix off-by-one check in arm_setup_iommu_dma_ops
Patch 22b3c181c6c324a46f71aae806d8ddbe61d25761 ("arm: dma-mapping: limit
IOMMU mapping size") added a check for IO address space size. However
this patch broke IOMMU initialization for typical platforms initialized
from device tree, which get the default IO address space size of 4GiB.
This value doesn't fit into size_t and fails a check introduced by that
commit resulting in failed dma-mapping/iommu initialization. This patch
fixes this issue by adding proper support for full 4GiB address space
size.
Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 61f06db00e06b436dca4725c200c891ae8a4a92d
Merge: 3333222 118c855
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun May 3 13:22:32 2015 -0700
Merge tag 'scsi-fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI fixes from James Bottomley:
"This is three logical fixes (as 5 patches).
The 3ware class of drivers were causing an oops with multiqueue by
tearing down the command mappings after completing the command (where
the variables in the command used to tear down the mapping were
no-longer valid). There's also a fix for the qnap iscsi target which
was choking on us sending it commands that were too long and a fix for
the reworked aha1542 allocating GFP_KERNEL under a lock"
* tag 'scsi-fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
3w-9xxx: fix command completion race
3w-xxxx: fix command completion race
3w-sas: fix command completion race
aha1542: Allocate memory before taking a lock
SCSI: add 1024 max sectors black list flag
commit 9b071a43553d6b2df4364951639f61076a8dd676
Author: Philippe Coval <philippe.coval@xxxxxxxxxxxxxxxxxxx>
Date: Sat May 2 15:14:08 2015 +0200
ideapad_laptop: Add Lenovo G40-30 to devices without radio switch
Lenovo G40-30 does not provide any physical radio switch to user.
Therefore disable the rfkill switch identically to the Yoga 2 approach.
(Note for later, models ids are sorted alphabetically).
Benefit is to make wireless available again without unloading module.
It was tested successfully on 4.1.0-rc1 base with this model:
(LENOVO_MT_80FY_BU_idea_FM_Lenovo G40-30).
BugLink: https://bugs.launchpad.net/ideapad-laptop/+bug/1450946
Cc: platform-driver-x86@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Philippe Coval <rzr@xxxxxxx>
Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit 3333222484dc7e46fd17cc1d394088fb0d963e6c
Merge: 180d89f 63f89ca
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun May 3 10:49:04 2015 -0700
Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma
Pull slave dmaengine fixes from Vinod Koul:
"Here are the fixes in dmaengine subsystem for rc2:
- privatecnt fix for slave dma request API by Christopher
- warn fix for PM ifdef in usb-dmac by Geert
- fix hardware dependency for xgene by Jean"
* 'next' of git://git.infradead.org/users/vkoul/slave-dma:
dmaengine: increment privatecnt when using dma_get_any_slave_channel
dmaengine: xgene: Set hardware dependency
dmaengine: usb-dmac: Protect PM-only functions to kill warning
commit 180d89f6ef9c22d088e324eb5e7d030ef3f84df0
Merge: 6c3c1eb 0aab374
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun May 3 10:28:36 2015 -0700
Merge tag 'powerpc-4.1-3' of
git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux
Pull powerpc fixes from Michael Ellerman:
- build fix for SMP=n in book3s_xics.c
- fix for Daniel's pci_controller_ops on powernv.
- revert the TM syscall abort patch for now.
- CPU affinity fix from Nathan.
- two EEH fixes from Gavin.
- fix for CR corruption from Sam.
- selftest build fix.
* tag 'powerpc-4.1-3' of
git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
powerpc/powernv: Restore non-volatile CRs after nap
powerpc/eeh: Delay probing EEH device during hotplug
powerpc/eeh: Fix race condition in pcibios_set_pcie_reset_state()
powerpc/pseries: Correct cpu affinity for dlpar added cpus
selftests/powerpc: Fix the pmu install rule
Revert "powerpc/tm: Abort syscalls in active transactions"
powerpc/powernv: Fix early pci_controller_ops loading.
powerpc/kvm: Fix SMP=n build error in book3s_xics.c
commit 2c869b262a10ca99cb866d04087d75311587a30c
Author: Jan Kara <jack@xxxxxxx>
Date: Sat May 2 23:58:32 2015 -0400
ext4: fix growing of tiny filesystems
The estimate of necessary transaction credits in ext4_flex_group_add()
is too pessimistic. It reserves credit for sb, resize inode, and resize
inode dindirect block for each group added in a flex group although they
are always the same block and thus it is enough to account them only
once. Also the number of modified GDT block is overestimated since we
fit EXT4_DESC_PER_BLOCK(sb) descriptors in one block.
Make the estimation more precise. That reduces number of requested
credits enough that we can grow 20 MB filesystem (which has 1 MB
journal, 79 reserved GDT blocks, and flex group size 16 by default).
Signed-off-by: Jan Kara <jack@xxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx>
commit 280227a75b56ab5d35854f3a77ef74a7ad56a203
Author: Davide Italiano <dccitaliano@xxxxxxxxx>
Date: Sat May 2 23:21:15 2015 -0400
ext4: move check under lock scope to close a race.
fallocate() checks that the file is extent-based and returns
EOPNOTSUPP in case is not. Other tasks can convert from and to
indirect and extent so it's safe to check only after grabbing
the inode mutex.
Signed-off-by: Davide Italiano <dccitaliano@xxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit d2dc317d564a46dfc683978a2e5a4f91434e9711
Author: Lukas Czerner <lczerner@xxxxxxxxxx>
Date: Sat May 2 21:36:55 2015 -0400
ext4: fix data corruption caused by unwritten and delayed extents
Currently it is possible to lose whole file system block worth of data
when we hit the specific interaction with unwritten and delayed extents
in status extent tree.
The problem is that when we insert delayed extent into extent status
tree the only way to get rid of it is when we write out delayed buffer.
However there is a limitation in the extent status tree implementation
so that when inserting unwritten extent should there be even a single
delayed block the whole unwritten extent would be marked as delayed.
At this point, there is no way to get rid of the delayed extents,
because there are no delayed buffers to write out. So when a we write
into said unwritten extent we will convert it to written, but it still
remains delayed.
When we try to write into that block later ext4_da_map_blocks() will set
the buffer new and delayed and map it to invalid block which causes
the rest of the block to be zeroed loosing already written data.
For now we can fix this by simply not allowing to set delayed status on
written extent in the extent status tree. Also add WARN_ON() to make
sure that we notice if this happens in the future.
This problem can be easily reproduced by running the following xfs_io.
xfs_io -f -c "pwrite -S 0xaa 4096 2048" \
-c "falloc 0 131072" \
-c "pwrite -S 0xbb 65536 2048" \
-c "fsync" /mnt/test/fff
echo 3 > /proc/sys/vm/drop_caches
xfs_io -c "pwrite -S 0xdd 67584 2048" /mnt/test/fff
This can be theoretically also reproduced by at random by running fsx,
but it's not very reliable, though on machines with bigger page size
(like ppc) this can be seen more often (especially xfstest generic/127)
Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit 9402bdcacdfedf7219a17e4d93300058a8e2aa4c
Author: Chanho Park <parkch98@xxxxxxxxx>
Date: Sat May 2 10:29:22 2015 -0400
ext4 crypto: remove duplicated encryption mode definitions
This patch removes duplicated encryption modes which were already in
ext4.h. They were duplicated from commit 3edc18d and commit f542fb.
Cc: Theodore Ts'o <tytso@xxxxxxx>
Cc: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Cc: Andreas Dilger <adilger.kernel@xxxxxxxxx>
Signed-off-by: Chanho Park <chanho61.park@xxxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit fb63e5489f7ef5bb4d1a655984ca7ef98ffc5849
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Sat May 2 10:29:19 2015 -0400
ext4 crypto: do not select from EXT4_FS_ENCRYPTION
This patch adds a tristate EXT4_ENCRYPTION to do the selections
for EXT4_FS_ENCRYPTION because selecting from a bool causes all
the selected options to be built-in, even if EXT4 itself is a
module.
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 6c3c1eb3c35e8856d6dcb01b412316a676f58bbe
Merge: e412d3a a134f08
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri May 1 20:51:04 2015 -0700
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller:
1) Receive packet length needs to be adjust by 2 on RX to accomodate
the two padding bytes in altera_tse driver. From Vlastimil Setka.
2) If rx frame is dropped due to out of memory in macb driver, we leave
the receive ring descriptors in an undefined state. From Punnaiah
Choudary Kalluri
3) Some netlink subsystems erroneously signal NLM_F_MULTI. That is
only for dumps. Fix from Nicolas Dichtel.
4) Fix mis-use of raw rt->rt_pmtu value in ipv4, one must always go via
the ipv4_mtu() helper. From Herbert Xu.
5) Fix null deref in bridge netfilter, and miscalculated lengths in
jump/goto nf_tables verdicts. From Florian Westphal.
6) Unhash ping sockets properly.
7) Software implementation of BPF divide did 64/32 rather than 64/64
bit divide. The JITs got it right. Fix from Alexei Starovoitov.
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (30 commits)
ipv4: Missing sk_nulls_node_init() in ping_unhash().
net: fec: Fix RGMII-ID mode
net/mlx4_en: Schedule napi when RX buffers allocation fails
netxen_nic: use spin_[un]lock_bh around tx_clean_lock
net/mlx4_core: Fix unaligned accesses
mlx4_en: Use correct loop cursor in error path.
cxgb4: Fix MC1 memory offset calculation
bnx2x: Delay during kdump load
net: Fix Kernel Panic in bonding driver debugfs file: rlb_hash_table
net: dsa: Fix scope of eeprom-length property
net: macb: Fix race condition in driver when Rx frame is dropped
hv_netvsc: Fix a bug in netvsc_start_xmit()
altera_tse: Correct rx packet length
mlx4: Fix tx ring affinity_mask creation
tipc: fix problem with parallel link synchronization mechanism
tipc: remove wrong use of NLM_F_MULTI
bridge/nl: remove wrong use of NLM_F_MULTI
bridge/mdb: remove wrong use of NLM_F_MULTI
net: sched: act_connmark: don't zap skb->nfct
trivial: net: systemport: bcmsysport.h: fix 0x0x prefix
...
commit e412d3a32badcf17541d7443b033769fdf39b545
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Sat May 2 08:42:29 2015 +0930
virtio: fix typo in vring_need_event() doc comment
Here the "other side" refers to the guest or host.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit feda5f939eafa4af94dfb547847806e0f2df73b8
Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Date: Sat May 2 08:42:38 2015 +0930
virtio: pass baton to Michael Tsirkin
With my job change kernel work will be "own time"; I'm keeping lguest
and modules (and the virtio standards work), but virtio kernel has to
go.
This makes it clear that Michael is in charge. He's good, but having
me watch over his shoulder won't help.
Good luck Michael!
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6fa72720a6b6eced0220031a1e5598e3a2c533ae
Merge: 64887b6 082a75d
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri May 1 20:35:39 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
Pull Ceph RBD fix from Sage Weil.
* 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
rbd: end I/O the entire obj_request on error
commit a134f083e79fb4c3d0a925691e732c56911b4326
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri May 1 22:02:47 2015 -0400
ipv4: Missing sk_nulls_node_init() in ping_unhash().
If we don't do that, then the poison value is left in the ->pprev
backlink.
This can cause crashes if we do a disconnect, followed by a connect().
Tested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Reported-by: Wen Xu <hotdog3645@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 082a75dad84d79d1c15ea9e50f31cb4bb4fa7fd6
Author: Ilya Dryomov <idryomov@xxxxxxxxx>
Date: Sat Apr 25 15:56:15 2015 +0300
rbd: end I/O the entire obj_request on error
When we end I/O struct request with error, we need to pass
obj_request->length as @nr_bytes so that the entire obj_request worth
of bytes is completed. Otherwise block layer ends up confused and we
trip on
rbd_assert(more ^ (which == img_request->obj_request_count));
in rbd_img_obj_callback() due to more being true no matter what. We
already do it in most cases but we are missing some, in particular
those where we don't even get a chance to submit any obj_requests, due
to an early -ENOMEM for example.
A number of obj_request->xferred assignments seem to be redundant but
I haven't touched any of obj_request->xferred stuff to keep this small
and isolated.
Cc: Alex Elder <elder@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx # 3.10+
Reported-by: Shawn Edwards <lesser.evil@xxxxxxxxx>
Reviewed-by: Sage Weil <sage@xxxxxxxxxx>
Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
commit db7d4d7f40215843000cb9d441c9149fd42ea36b
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri May 1 16:31:41 2015 -0600
vfio: Fix runaway interruptible timeout
Commit 13060b64b819 ("vfio: Add and use device request op for vfio
bus drivers") incorrectly makes use of an interruptible timeout.
When interrupted, the signal remains pending resulting in subsequent
timeouts occurring instantly. This makes the loop spin at a much
higher rate than intended.
Instead of making this completely non-interruptible, we can change
this into a sort of interruptible-once behavior and use the "once"
to log debug information. The driver API doesn't allow us to abort
and return an error code.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Fixes: 13060b64b819
Cc: stable@xxxxxxxxxxxxxxx # v4.0
commit a44cd7a05496d60fd2ba8cca080e3db8f481549b
Author: Theodore Ts'o <tytso@xxxxxxx>
Date: Fri May 1 16:56:50 2015 -0400
ext4 crypto: add padding to filenames before encrypting
This obscures the length of the filenames, to decrease the amount of
information leakage. By default, we pad the filenames to the next 4
byte boundaries. This costs nothing, since the directory entries are
aligned to 4 byte boundaries anyway. Filenames can also be padded to
8, 16, or 32 bytes, which will consume more directory space.
Change-Id: Ibb7a0fb76d2c48e2061240a709358ff40b14f322
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 5de0b4d0cd153c471640b13aae6ae6d18d0a4603
Author: Theodore Ts'o <tytso@xxxxxxx>
Date: Fri May 1 16:56:45 2015 -0400
ext4 crypto: simplify and speed up filename encryption
Avoid using SHA-1 when calculating the user-visible filename when the
encryption key is available, and avoid decrypting lots of filenames
when searching for a directory entry in a directory block.
Change-Id: If4655f144784978ba0305b597bfa1c8d7bb69e63
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 5f55d2ae699d1756ad6132786c7f9c27dc456b66
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Apr 28 10:23:30 2015 -0600
vfio-pci: Log device requests more verbosely
Log some clues indicating whether the user is receiving device
request interfaces or not listening. This can help indicate why a
driver unbind is blocked or explain why QEMU automatically unplugged
a device from the VM.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 1de2a662d0f2d3b211b7d10ea6578abe5c39eda3
Author: Florian Fainelli <f.fainelli@xxxxxxxxx>
Date: Fri Apr 10 11:52:40 2015 -0700
MAINTAINERS: Update brcmstb entry
We have not heard back from Marc in a while, since we last asked him to
ack/nack this change here: https://lkml.org/lkml/2015/1/14/1004
This was back in January, we are in the 3.21^W4.1 merge window now, so,
as outlined in this email thread, remove him from the MAINTAINERS list
now.
Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
commit 049a4c506586c293b6fe54b5c61762230417dbf8
Author: Florian Fainelli <f.fainelli@xxxxxxxxx>
Date: Fri Apr 10 11:50:40 2015 -0700
MAINTAINERS: Remove Christian Daudt for mach-bcm
Christian has not been responding to mach-bcm related emails since
around July 2013, and with Scott and Ray maintaining the platform, we
should have enough coverage to get that going now.
Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
commit d3cc2e865055f58378de86c6b51a5636328ca827
Author: Florian Fainelli <f.fainelli@xxxxxxxxx>
Date: Fri Apr 10 11:49:44 2015 -0700
MAINTAINERS: Update mach-bcm maintainers list
Add Ray Jui and Scott Branden for the mach-bcm/ entries.
Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
commit 64887b6882de36069c18ef2d9623484d6db7cd3a
Merge: 036f351 5d2361d
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri May 1 07:46:21 2015 -0700
Merge branch 'for-linus-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
Pull btrfs fixes from Chris Mason:
"A few more btrfs fixes.
These range from corners Filipe found in the new free space cache
writeback to a grab bag of fixes from the list"
* 'for-linus-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
Btrfs: btrfs_release_extent_buffer_page didn't free pages of dummy
extent
Btrfs: fill ->last_trans for delayed inode in btrfs_fill_inode.
btrfs: unlock i_mutex after attempting to delete subvolume during send
btrfs: check io_ctl_prepare_pages return in __btrfs_write_out_cache
btrfs: fix race on ENOMEM in alloc_extent_buffer
btrfs: handle ENOMEM in btrfs_alloc_tree_block
Btrfs: fix find_free_dev_extent() malfunction in case device tree has
hole
Btrfs: don't check for delalloc_bytes in cache_save_setup
Btrfs: fix deadlock when starting writeback of bg caches
Btrfs: fix race between start dirty bg cache writeout and bg deletion
commit 036f351e2566eaa5826581c8512dd55f6585ad01
Merge: 4a152c3 8291fd0
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri May 1 07:44:32 2015 -0700
Merge tag 'arm64-fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull arm64 fixes from Will Deacon:
"Not too much here, but we've addressed a couple of nasty issues in the
dma-mapping code as well as adding the halfword and byte variants of
load_acquire/store_release following on from the CSD locking bug that
you fixed in the core.
- fix perf devicetree warnings at probe time
- fix memory leak in __dma_free()
- ensure DMA buffers are always zeroed
- show IRQ trigger in /proc/interrupts (for parity with ARM)
- implement byte and halfword access for
smp_{load_acquire,store_release}"
* tag 'arm64-fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
arm64: perf: Fix the pmu node name in warning message
arm64: perf: don't warn about missing interrupt-affinity property for
PPIs
arm64: add missing PAGE_ALIGN() to __dma_free()
arm64: dma-mapping: always clear allocated buffers
ARM64: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL
arm64: add missing data types in smp_load_acquire/smp_store_release
commit e944ec2ca00fb0170ba9d7f2aeec32c22dc0d4ec
Author: Namhyung Kim <namhyung@xxxxxxxxxx>
Date: Wed Apr 29 21:08:48 2015 +0900
perf report: Fix -T/--threads option to work again
The commit 512ae1bd6acb ("perf tools: Consolidate management of default
sort orders") changed default value of the 'sort_order' variable to NULL
indicating that users don't set any sort keys on the command line.
However it missed to update a check in perf_evlist__tty_browse_hists()
so that 'perf report -T' cannot show the per-thread values after the
normal output. This patch fixes it to work again.
Note that the -T option only works on --stdio and neither --sort nor
--parent option was given.
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1430309328-28317-1-git-send-email-namhyung@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 0aab3747091db309b8a484cfd382a41644552aa3
Author: Sam Bobroff <sam.bobroff@xxxxxxxxxxx>
Date: Fri May 1 16:50:34 2015 +1000
powerpc/powernv: Restore non-volatile CRs after nap
Patches 7cba160ad "powernv/cpuidle: Redesign idle states management"
and 77b54e9f2 "powernv/powerpc: Add winkle support for offline cpus"
use non-volatile condition registers (cr2, cr3 and cr4) early in the
system
reset interrupt handler (system_reset_pSeries()) before it has been
determined
if state loss has occurred. If state loss has not occurred, control
returns via
the power7_wakeup_noloss() path which does not restore those condition
registers, leaving them corrupted.
Fix this by restoring the condition registers in the
power7_wakeup_noloss()
case.
This is apparent when running a KVM guest on hardware that does not
support winkle or sleep and the guest makes use of secondary threads. In
practice this means Power7 machines, though some early unreleased Power8
machines may also be susceptible.
The secondary CPUs are taken off line before the guest is started and
they call pnv_smp_cpu_kill_self(). This checks support for sleep
states (in this case there is no support) and power7_nap() is called.
When the CPU is woken, power7_nap() returns and because the CPU is
still off line, the main while loop executes again. The sleep states
support test is executed again, but because the tested values cannot
have changed, the compiler has optimized the test away and instead we
rely on the result of the first test, which has been left in cr3
and/or cr4. With the result overwritten, the wrong branch is taken and
power7_winkle() is called on a CPU that does not support it, leading
to it stalling.
Fixes: 7cba160ad789 ("powernv/cpuidle: Redesign idle states management")
Fixes: 77b54e9f213f ("powernv/powerpc: Add winkle support for offline
cpus")
[mpe: Massage change log a bit more]
Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 8cc67c3b9366699b35775912e0bb91b4f845a57a
Merge: 0140e61 1d90a68
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Fri May 1 08:30:26 2015 +0200
Merge tag 'perf-urgent-for-mingo-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
Pull perf tooling fixes from Arnaldo Carvalho de Melo:
. Fix a segfault in 'perf top' when kernel map is restricted (Wang Nan)
. Fix hung wakeup tasks after requeueing in 'perf bench futex'
(Davidlohr Bueso)
. Fix bug in perf probe global variables handling, missing curly braces
on
an if body (He Kuang)
. 'perf bench numa' fixes (command line help/handling, etc) (Petr
Holasek)
. fix the 'perf kmem' build on RHEL6/OL6 (David Ahern)
. fix the libtraceevent build on 32-bit arch (Namhyung Kim)
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit d91dafc02f42e23c1a906202ebde5d7c49ef058d
Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
Date: Fri May 1 09:22:15 2015 +1000
powerpc/eeh: Delay probing EEH device during hotplug
Commit 1c509148b ("powerpc/eeh: Do probe on pci_dn") probes EEH
devices in early stage, which is reasonable to pSeries platform.
However, it's wrong for PowerNV platform because the PE# isn't
determined until the resources (IO and MMIO) are assigned to
PE in hotplug case. So we have to delay probing EEH devices
for PowerNV platform until the PE# is assigned.
Fixes: ff57b454ddb9 ("powerpc/eeh: Do probe on pci_dn")
Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 1ae79b78bc52b910a224f3795122538516e07b5f
Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
Date: Fri May 1 09:14:11 2015 +1000
powerpc/eeh: Fix race condition in pcibios_set_pcie_reset_state()
When asserting reset in pcibios_set_pcie_reset_state(), the PE
is enforced to (hardware) frozen state in order to drop unexpected
PCI transactions (except PCI config read/write) automatically by
hardware during reset, which would cause recursive EEH error.
However, the (software) frozen state EEH_PE_ISOLATED is missed.
When users get 0xFF from PCI config or MMIO read, EEH_PE_ISOLATED
is set in PE state retrival backend. Unfortunately, nobody (the
reset handler or the EEH recovery functinality in host) will clear
EEH_PE_ISOLATED when the PE has been passed through to guest.
The patch sets and clears EEH_PE_ISOLATED properly during reset
in function pcibios_set_pcie_reset_state() to fix the issue.
Fixes: 28158cd ("Enhance pcibios_set_pcie_reset_state()")
Reported-by: Carol L. Soto <clsoto@xxxxxxxxxx>
Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
Tested-by: Carol L. Soto <clsoto@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit f32393c943e297b8ae180c8f83d81a156c7d0412
Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 29 20:42:06 2015 -0500
powerpc/pseries: Correct cpu affinity for dlpar added cpus
The incorrect ordering of operations during cpu dlpar add results in
invalid
affinity for the cpu being added. The ibm,associativity property in the
device tree is populated with all zeroes for the added cpu which results
in
invalid affinity mappings and all cpus appear to belong to node 0.
This occurs because rtas configure-connector is called prior to making the
rtas set-indicator calls. Phyp does not assign affinity information
for a cpu until the rtas set-indicator calls are made to set the isolation
and allocation state.
Correct the order of operations to make the rtas set-indicator
calls (done in dlpar_acquire_drc) before calling rtas configure-connector.
Fixes: 1a8061c46c46 ("powerpc/pseries: Add kernel based CPU DLPAR
handling")
Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 2fa30fe957f3b3599a2f75688405495771877c14
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Fri May 1 11:10:09 2015 +1000
selftests/powerpc: Fix the pmu install rule
My patch to add install support for the powerpc selftests had a typo,
leading to the three tests in the pmu directory itself not being
installed.
Fixes: 6faeeea44b84 ("selftests: Add install support for the powerpc
tests")
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 12392f5896c9affc03c1ddd95a83c32238862a58
Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
Date: Wed Apr 29 16:55:43 2015 +0300
ARM: shmobile: koelsch: Fix adv7511 IRQ sensing
The adv7511 IRQ is low level triggered, not falling edge triggered. The
wrong sense configuration results in no interrupt being triggered at
all, breaking hotplug detection. Fix it.
Signed-off-by: Laurent Pinchart
<laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
Fixes: 83a0731b39f3 ("ARM: shmobile: koelsch: Add DU HDMI output support")
Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx>
commit 2375a212ca06d35f90841bc511b3e9ae8a95a82e
Author: Antonio Ospite <ao2@xxxxxx>
Date: Wed Apr 29 10:37:24 2015 +0200
ACPI / documentation: fix a sentence about GPIO resources
The sentence "These resources are used be used to pass ..." contains
a suspicious repetition, likely the author meant "These resources can
be used to pass ...".
Simplify the wording.
Signed-off-by: Antonio Ospite <ao2@xxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 4a152c3913fb46fc2e29081d0251862106c3d55f
Merge: 5a2e73b 50904a7
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 30 14:23:31 2015 -0700
Merge tag 'pm+acpi-4.1-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management and ACPI fixes from Rafael Wysocki:
"Three regression fixes this time, one for a recent regression in the
cpuidle core affecting multiple systems, one for an inadvertently
added duplicate typedef in ACPICA that breaks compilation with GCC 4.5
and one for an ACPI Smart Battery Subsystem driver regression
introduced during the 3.18 cycle (stable-candidate).
Specifics:
- Fix for a regression in the cpuidle core introduced by one of the
recent commits in the clockevents_notify() removal series that put
a call to a function which had to be executed with disabled
interrupts into a code path running with enabled interrupts (Rafael
J Wysocki)
- Fix for a build problem in ACPICA (with GCC 4.5) introduced by one
of the recent ACPICA tools commits that added a duplicate typedef
to one of the ACPICA's header files by mistake (Olaf Hering)
- Fix for a regression in the ACPI SBS (Smart Battery Subsystem)
driver introduced during the 3.18 development cycle causing the
smart battery manager to be marked as not present when it should be
marked as present (Chris Bainbridge)"
* tag 'pm+acpi-4.1-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
cpuidle: Run tick_broadcast_exit() with disabled interrupts
ACPI / SBS: Enable battery manager when present
ACPICA: remove duplicate u8 typedef
commit 3349fb64b2927407017d970dd5c4daf3c5ad69f8
Author: Chris Bainbridge <chris.bainbridge@xxxxxxxxx>
Date: Wed Apr 29 21:21:40 2015 +0100
ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook
Commit 7bc5a2bad0b8 'ACPI: Support _OSI("Darwin") correctly' caused
the MacBook firmware to expose the SBS, resulting in intermittent
hangs of several minutes on boot, and failure to detect or report
the battery. Fix this by adding a 5 us delay to the start of each
SMBUS transaction. This timing is the result of experimentation -
hangs were observed with 3 us but never with 5 us.
Fixes: 7bc5a2bad0b8 'ACPI: Support _OSI("Darwin") correctly'
Link: https://bugzilla.kernel.org/show_bug.cgi?id=94651
Signed-off-by: Chris Bainbridge <chris.bainbridge@xxxxxxxxx>
Cc: 3.18+ <stable@xxxxxxxxxxxxxxx> # 3.18+
[ rjw: Subject and changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 5a2e73b281b7b8930407daf01b64d69ea942417e
Merge: 9dbbe3c 0ae3aba
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 30 14:00:18 2015 -0700
Merge tag 'sound-4.1-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai:
"One nice fix is Peter's patch to make the old good SB Audigy PCI to
work with 32bit DMA instead of 31bit. This allows the MIDI synth
running on modern machines again. Along with it, a few fixes for
emu10k1 have merged.
In ASoC side, there is one fix in the common code, but it's just
trivial additions of static inline functions for CONFIG_PM=n. The
rest are various device-specific small fixes.
Last but not least, a few HD-audio fixes are included, as usual, too"
* tag 'sound-4.1-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (23 commits)
ASoC: rt5677: fixed wrong DMIC ref clock
ALSA: emu10k1: Emu10k2 32 bit DMA mode
ALSA: emux: Fix mutex deadlock in OSS emulation
ASoC: Update email-id of Rajeev Kumar
ASoC: rt5645: Fix mask for setting RT5645_DMIC_2_DP_GPIO12 bit
ALSA: hda - Fix missing va_end() call in snd_hda_codec_pcm_new()
ALSA: emux: Fix mutex deadlock at unloading
ALSA: emu10k1: Fix card shortname string buffer overflow
ALSA: hda - Add mute-LED mode control to Thinkpad
ALSA: hda - Fix mute-LED fixed mode
ALSA: hda - Fix click noise at start on Dell XPS13
ASoC: rt5645: Add ACPI match ID
ASoC: rt5677: add register patch for PLL
ASoC: Intel: fix the makefile for atom code
ASoC: dapm: Enable autodisable on SOC_DAPM_SINGLE_TLV_AUTODISABLE
ASoC: add static inline funcs to fix a compiling issue
ASoC: Intel: sst_byt: remove kfree for memory allocated with
devm_kzalloc
ASoC: samsung: s3c24xx-i2s: Fix return value check in
s3c24xx_iis_dev_probe()
ASoC: tfa9879: Fix return value check in tfa9879_i2c_probe()
ASoC: fsl_ssi: Fix platform_get_irq() error handling
...
commit fc9e38c0f4d38bfc68b405cf48365d65f7b6319e
Author: Robert Jarzmik <robert.jarzmik@xxxxxxx>
Date: Sun Dec 14 23:04:14 2014 +0100
ARM: pxa: lubbock: use new pxa_cplds driver
As the interrupt handling was transferred to the pxa_cplds driver,
make the switch in lubbock platform code.
Fixes: 157d2644cb0c ("ARM: pxa: change gpio to platform device")
Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx>
Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
commit 277688639f98a9e34a6f109f9cd6129f92e718c1
Author: Robert Jarzmik <robert.jarzmik@xxxxxxx>
Date: Fri Apr 24 23:22:35 2015 +0200
ARM: pxa: mainstone: use new pxa_cplds driver
As the interrupt handling was transferred to the pxa_cplds driver,
make the switch in mainstone platform code.
Fixes: 157d2644cb0c ("ARM: pxa: change gpio to platform device")
Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx>
Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
commit aa8d6b73ea33c2167c543663ab66039ec94d58f1
Author: Robert Jarzmik <robert.jarzmik@xxxxxxx>
Date: Fri Apr 24 22:22:19 2015 +0200
ARM: pxa: pxa_cplds: add lubbock and mainstone IO
Historically, this support was in arch/arm/mach-pxa/lubbock.c and
arch/arm/mach-pxa/mainstone.c. When gpio-pxa was moved to drivers/pxa,
it became a driver, and its initialization and probing happened at
postcore initcall. The lubbock code used to install the chained lubbock
interrupt handler at init_irq() time.
The consequence of the gpio-pxa change is that the installed chained irq
handler lubbock_irq_handler() was overwritten in pxa_gpio_probe(_dt)(),
removing :
- the handler
- the falling edge detection setting of GPIO0, which revealed the
interrupt request from the lubbock IO board.
As a fix, move the gpio0 chained handler setup to a place where we have
the guarantee that pxa_gpio_probe() was called before, so that lubbock
handler becomes the true IRQ chained handler of GPIO0, demuxing the
lubbock IO board interrupts.
This patch moves all that handling to a mfd driver. It's only purpose
for the time being is the interrupt handling, but in the future it
should encompass all the motherboard CPLDs handling :
- leds
- switches
- hexleds
The same logic applies to mainstone board.
Fixes: 157d2644cb0c ("ARM: pxa: change gpio to platform device")
Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx>
Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
commit e813bb2b955d9f72c94be7d592746b49929a499b
Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Date: Thu Apr 30 17:07:50 2015 +0200
net: fec: Fix RGMII-ID mode
RGMII-ID uses an internal delay within the transmitter or receiver. This
feature is phy specific. The rest of the communication is normal RGMII.
So the fec driver has to check for all RGMII modes, not only
'PHY_INTERFACE_MODE_RGMII'.
Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 07841f9d94c11afe00c0498cf242edf4075729f4
Author: Ido Shamay <idos@xxxxxxxxxxxx>
Date: Thu Apr 30 17:32:46 2015 +0300
net/mlx4_en: Schedule napi when RX buffers allocation fails
When system is out of memory, refilling of RX buffers fails while
the driver continue to pass the received packets to the kernel stack.
At some point, when all RX buffers deplete, driver may fall into a
sleep, and not recover when memory for new RX buffers is once again
availible. This is because hardware does not have valid descriptors,
so no interrupt will be generated for the driver to return to work
in napi context. Fix it by schedule the napi poll function from
stats_task delayed workqueue, as long as the allocations fail.
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit c232d8a8bb1416f7ec21bb1aabc7c4ec8a5a899e
Author: Tony Camuso <tcamuso@xxxxxxxxxx>
Date: Thu Apr 30 07:51:27 2015 -0400
netxen_nic: use spin_[un]lock_bh around tx_clean_lock
While testing this driver with DEBUG_LOCKDEP and DEBUG_SPINLOCK
enabled did not produce any traces, it would be more prudent in the
case of tx_clean_lock to use spin_[un]lock_bh, since this lock is
manipulated in both the process and softirq contexts.
This patch was tested for functionality and regressions with netperf
and DEBUG_LOCKDEP and DEBUG_SPINLOCK enabled.
Signed-off-by: Tony Camuso <tcamuso@xxxxxxxxxx>
Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 17d5ceb6e43ea545d6d92db2f3ddb035233ba335
Author: David Ahern <david.ahern@xxxxxxxxxx>
Date: Wed Apr 29 16:52:51 2015 -0400
net/mlx4_core: Fix unaligned accesses
Addresses the following kernel logs seen during boot:
Kernel unaligned access at TPC[100ee150] mlx4_QUERY_HCA+0x80/0x248
[mlx4_core]
Kernel unaligned access at TPC[100f071c] mlx4_QUERY_ADAPTER+0x100/0x12c
[mlx4_core]
Kernel unaligned access at TPC[100f071c] mlx4_QUERY_ADAPTER+0x100/0x12c
[mlx4_core]
Kernel unaligned access at TPC[100f071c] mlx4_QUERY_ADAPTER+0x100/0x12c
[mlx4_core]
Kernel unaligned access at TPC[100f071c] mlx4_QUERY_ADAPTER+0x100/0x12c
[mlx4_core]
Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx>
Acked-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f94813f3c1d02090cc02dcfcbed339897830acb8
Author: Benjamin Poirier <bpoirier@xxxxxxx>
Date: Wed Apr 29 15:59:35 2015 -0700
mlx4_en: Use correct loop cursor in error path.
Signed-off-by: Benjamin Poirier <bpoirier@xxxxxxx>
Fixes: 9e311e7 ("net/mlx4_en: Use affinity hint")
Acked-by: Amir Vadai <amirv@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2c62e8492ed7358bbe7da51666c7e0f6da9474ee
Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx>
Date: Thu Apr 30 12:41:28 2015 +0800
x86/PCI/ACPI: Make all resources except [io 0xcf8-0xcff] available on PCI
bus
An IO port or MMIO resource assigned to a PCI host bridge may be
consumed by the host bridge itself or available to its child
bus/devices. The ACPI specification defines a bit (Producer/Consumer)
to tell whether the resource is consumed by the host bridge itself,
but firmware hasn't used that bit consistently, so we can't rely on it.
Before commit 593669c2ac0f ("x86/PCI/ACPI: Use common ACPI resource
interfaces to simplify implementation"), arch/x86/pci/acpi.c ignored
all IO port resources defined by acpi_resource_io and
acpi_resource_fixed_io to filter out IO ports consumed by the host
bridge itself.
Commit 593669c2ac0f ("x86/PCI/ACPI: Use common ACPI resource interfaces
to simplify implementation") started accepting all IO port and MMIO
resources, which caused a regression that IO port resources consumed
by the host bridge itself became available to its child devices.
Then commit 63f1789ec716 ("x86/PCI/ACPI: Ignore resources consumed by
host bridge itself") ignored resources consumed by the host bridge
itself by checking the IORESOURCE_WINDOW flag, which accidently removed
MMIO resources defined by acpi_resource_memory24, acpi_resource_memory32
and acpi_resource_fixed_memory32.
On x86 and IA64 platforms, all IO port and MMIO resources are assumed
to be available to child bus/devices except one special case:
IO port [0xCF8-0xCFF] is consumed by the host bridge itself
to access PCI configuration space.
So explicitly filter out PCI CFG IO ports[0xCF8-0xCFF]. This solution
will also ease the way to consolidate ACPI PCI host bridge common code
from x86, ia64 and ARM64.
Related ACPI table are archived at:
https://bugzilla.kernel.org/show_bug.cgi?id=94221
Related discussions at:
http://patchwork.ozlabs.org/patch/461633/
https://lkml.org/lkml/2015/3/29/304
Fixes: 63f1789ec716 (Ignore resources consumed by host bridge itself)
Reported-by: Bernhard Thaler <bernhard.thaler@xxxxxxxx>
Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx>
Cc: 4.0+ <stable@xxxxxxxxxxxxxxx> # 4.0+
Reviewed-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 50904a7ddd1cab3e1d2ca007161e976f858d934f
Merge: 9e9d55e 61f8ff6 df8d9ee
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Thu Apr 30 21:05:57 2015 +0200
Merge branches 'acpica', 'acpi-battery' and 'pm-cpuidle'
commit 0ae3aba2865a5a6f5ee82e9651f0a69daf19d79c
Merge: 7241ea5 d839c98
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Thu Apr 30 19:08:06 2015 +0200
Merge tag 'asoc-v4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v4.1
A few fixes for v4.1, none earth shattering and mostly driver related
except for one change to fix !PM builds for Intel platforms which is
done by adding stubs in the core so other platforms don't run into the
same issue.
commit 9dbbe3cfc3c208643cf0e81c8f660f43e1b4b2e8
Merge: fb45f49 73459e2
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 30 09:44:04 2015 -0700
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull kvm changes from Paolo Bonzini:
"Remove from guest code the handling of task migration during a pvclock
read; instead use the correct protocol in KVM.
This removes the need for task migration notifiers in core scheduler
code"
[ The scheduler people really hated the migration notifiers, so this was
kind of required - Linus ]
* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
x86: pvclock: Really remove the sched notifier for cross-cpu migrations
kvm: x86: fix kvmclock update protocol
commit fb45f493c18b5bf0818394662f908d648060310c
Merge: 9c4249c aa6df8d
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 30 09:39:52 2015 -0700
Merge tag 'dm-4.1-fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
Pull device mapper bugfixes from Mike Snitzer:
"Fix two bugs in the request-based DM blk-mq support that was added
during the 4.1 merge"
* tag 'dm-4.1-fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
dm: fix free_rq_clone() NULL pointer when requeueing unmapped request
dm: only initialize the request_queue once
commit 9c4249c8e0221e5cfae758d35b768aee84abf6c0
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Thu Apr 30 14:58:43 2015 +0100
modsign: change default key details
Change default key details to be more obviously unspecified.
Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Acked-by: James Morris <james.l.morris@xxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 9263a06a5896370789a8303baef8d69387071813
Merge: dcca8de 96a5d18
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 30 09:30:07 2015 -0700
Merge tag 'tty-4.1-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty/serial fixes from Greg KH:
"Here are some small tty/serial driver fixes for 4.1-rc2.
They include some minor fixes that resolve reported issues, and a new
device quirk.
All have been in linux-next succesfully"
* tag 'tty-4.1-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
serial: 8250_pci: Add support for 16 port Exar boards
serial: samsung: fix serial console break
tty/serial: at91: maxburst was missing for dma transfers
serial: of-serial: Remove device_type = "serial" registration
serial: xilinx: Use platform_get_irq to get irq description structure
serial: core: Fix kernel-doc build warnings
tty: Re-add external interface for tty_set_termios()
commit dcca8de0aa597f14e31a1b38690626c9f6745fd5
Merge: 73be174 0d3bba0
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 30 09:08:53 2015 -0700
Merge tag 'usb-4.1-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB fixes from Greg KH:
"Here are a number of small USB fixes for 4.2-rc2. They revert one
problem patch, fix some minor things, and add some new quirks for
"broken" devices.
All have been in linux-next successfully"
* tag 'usb-4.1-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
cdc-acm: prevent infinite loop when parsing CDC headers.
Revert "usb: host: ehci-msm: Use devm_ioremap_resource instead of
devm_ioremap"
usb: chipidea: otg: remove mutex unlock and lock while stop and start
role
uas: Set max_sectors_240 quirk for ASM1053 devices
uas: Add US_FL_MAX_SECTORS_240 flag
uas: Allow uas_use_uas_driver to return usb-storage flags
commit 73be174cf5c37a90855b9ae9b8e58848716d898f
Merge: 3d99e3f 0017052
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 30 09:07:26 2015 -0700
Merge tag 'renesas-sh-drivers-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas
Pull SH driver updates from Simon Horman:
- remove test for now unsupported sh7372 SoC
- disable PM runtime for multi-platform r8a73a4 and sh73a0 SoCs with
genpd
* tag 'renesas-sh-drivers-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
drivers: sh: Remove test for now unsupported sh7372
drivers: sh: Disable PM runtime for multi-platform r8a73a4 with genpd
drivers: sh: Disable PM runtime for multi-platform sh73a0 with genpd
commit aa6df8dd28c01d9a3d2cfcfe9dd0a4a334d1cd81
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Wed Apr 29 10:48:09 2015 -0400
dm: fix free_rq_clone() NULL pointer when requeueing unmapped request
Commit 022333427a ("dm: optimize dm_mq_queue_rq to _not_ use kthread if
using pure blk-mq") mistakenly removed free_rq_clone()'s clone->q check
before testing clone->q->mq_ops. It was an oversight to discontinue
that check for 1 of the 2 use-cases for free_rq_clone():
1) free_rq_clone() called when an unmapped original request is requeued
2) free_rq_clone() called in the request-based IO completion path
The clone->q check made sense for case #1 but not for #2. However, we
cannot just reinstate the check as it'd mask a serious bug in the IO
completion case #2 -- no in-flight request should have an uninitialized
request_queue (basic block layer refcounting _should_ ensure this).
The NULL pointer seen for case #1 is detailed here:
https://www.redhat.com/archives/dm-devel/2015-April/msg00160.html
Fix this free_rq_clone() NULL pointer by simply checking if the
mapped_device's type is DM_TYPE_MQ_REQUEST_BASED (clone's queue is
blk-mq) rather than checking clone->q->mq_ops. This avoids the need to
dereference clone->q, but a WARN_ON_ONCE is added to let us know if an
uninitialized clone request is being completed.
Reported-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 3e6180f0c82b3790a9ec6d13d67aae359bf1ce84
Author: Christoph Hellwig <hch@xxxxxx>
Date: Thu Apr 30 10:10:36 2015 -0400
dm: only initialize the request_queue once
Commit bfebd1cdb4 ("dm: add full blk-mq support to request-based DM")
didn't properly account for the need to short-circuit re-initializing
DM's blk-mq request_queue if it was already initialized.
Otherwise, reloading a blk-mq request-based DM table (either manually
or via multipathd) resulted in errors, see:
https://www.redhat.com/archives/dm-devel/2015-April/msg00132.html
Fix is to only initialize the request_queue on the initial table load
(when the mapped_device type is assigned).
This is better than having dm_init_request_based_blk_mq_queue() return
early if the queue was already initialized because it elevates the
constraint to a more meaningful location in DM core. As such the
pre-existing early return in dm_init_request_based_queue() can now be
removed.
Fixes: bfebd1cdb4 ("dm: add full blk-mq support to request-based DM")
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 8291fd04d86b97869bd34e796bcac3141b9d5432
Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx>
Date: Mon Apr 13 10:17:55 2015 +0100
arm64: perf: Fix the pmu node name in warning message
With commit d5efd9cc9cf2 ("arm64: pmu: add support for interrupt-affinity
property"), we print a warning when we find a PMU SPI with a missing
missing interrupt-affinity property in a pmu node. Unfortunately, we
pass the wrong (NULL) device node to of_node_full_name, resulting in
unhelpful messages such as:
hw perfevents: Failed to parse <no-node>/interrupt-affinity[0]
This patch fixes the name to that of the pmu node.
Fixes: d5efd9cc9cf2 (arm64: pmu: add support for interrupt-affinity
property)
Acked-by: Mark Rutland <mark.rutland@xxxxxxx>
Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit d795ef9aa8311ca3c5158bda1edbcd14479c101c
Author: Will Deacon <will.deacon@xxxxxxx>
Date: Fri Apr 17 14:41:29 2015 +0100
arm64: perf: don't warn about missing interrupt-affinity property for PPIs
PPIs are affine by nature, so the interrupt-affinity property is not
used and therefore we shouldn't print a warning in its absence.
Reported-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 68fc378ce332cc4efd7f314d3e6e15e83f53ebf2
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Thu Apr 30 15:13:14 2015 +1000
Revert "powerpc/tm: Abort syscalls in active transactions"
This reverts commit feba40362b11341bee6d8ed58d54b896abbd9f84.
Although the principle of this change is good, the implementation has a
few issues.
Firstly we can sometimes fail to abort a syscall because r12 may have
been clobbered by C code if we went down the virtual CPU accounting
path, or if syscall tracing was enabled.
Secondly we have decided that it is safer to abort the syscall even
earlier in the syscall entry path, so that we avoid the syscall tracing
path when we are transactional.
So that we have time to thoroughly test those changes we have decided to
revert this for this merge window and will merge the fixed version in
the next window.
NB. Rather than reverting the selftest we just drop tm-syscall from
TEST_PROGS so that it's not run by default.
Fixes: feba40362b11 ("powerpc/tm: Abort syscalls in active transactions")
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit feb589e98671da59f9a3c337b8d9865957a7f9f8
Merge: b787f68 9fb2bcf
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Thu Apr 30 12:15:34 2015 +1000
Merge branch 'drm-fixes-4.1' of git://people.freedesktop.org/~agd5f/linux
into drm-fixes
Fixes for 4.1 for radeon all destined for stable:
- fix fallout from the audio rework
- VM fixes
- other assorted bug fixes
* 'drm-fixes-4.1' of git://people.freedesktop.org/~agd5f/linux:
drm/radeon: fix userptr return value checking (v2)
drm/radeon: check new address before removing old one
drm/radeon: reset BOs address after clearing it.
drm/radeon: fix lockup when BOs aren't part of the VM on release
drm/radeon: add SI DPM quirk for Sapphire R9 270 Dual-X 2G GDDR5
drm/radeon: adjust pll when audio is not enabled
drm/radeon: only enable audio streams if the monitor supports it
drm/radeon: only mark audio as connected if the monitor supports it (v3)
drm/radeon/audio: don't enable packets until the end
drm/radeon: drop dce6_dp_enable
drm/radeon: fix ordering of AVI packet setup
drm/radeon: Use drm_calloc_ab for CS relocs
commit 483d821108791092798f5d230686868112927044
Author: Johan Hovold <johan@xxxxxxxxxx>
Date: Tue Apr 21 17:42:09 2015 +0200
gpio: sysfs: fix memory leaks and device hotplug
Unregister GPIOs requested through sysfs at chip remove to avoid leaking
the associated memory and sysfs entries.
The stale sysfs entries prevented the gpio numbers from being exported
when the gpio range was later reused (e.g. at device reconnect).
This also fixes the related module-reference leak.
Note that kernfs makes sure that any on-going sysfs operations finish
before the class devices are unregistered and that further accesses
fail.
The chip exported flag is used to prevent gpiod exports during removal.
This also makes it harder to trigger, but does not fix, the related race
between gpiochip_remove and export_store, which is really a race with
gpiod_request that needs to be addressed separately.
Also note that this would prevent the crashes (e.g. NULL-dereferences)
at reconnect that affects pre-3.18 kernels, as well as use-after-free on
operations on open attribute files on pre-3.14 kernels (prior to
kernfs).
Fixes: d8f388d8dc8d ("gpio: sysfs interface")
Cc: stable <stable@xxxxxxxxxxxxxxx> # v2.6.27: 01cca93a9491
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 5d2361db48899789fb466ff62db5d5fc7b070e86
Author: Forrest Liu <forrestl@xxxxxxxxxxxx>
Date: Mon Feb 9 17:31:45 2015 +0800
Btrfs: btrfs_release_extent_buffer_page didn't free pages of dummy extent
btrfs_release_extent_buffer_page() can't handle dummy extent that
allocated by btrfs_clone_extent_buffer() properly. That is because
reference count of pages that allocated by btrfs_clone_extent_buffer()
was 2, 1 by alloc_page(), and another by attach_extent_buffer_page().
Running following command repeatly can check this memory leak problem
btrfs inspect-internal inode-resolve 256 /mnt/btrfs
Signed-off-by: Chien-Kuan Yeh <ckya@xxxxxxxxxxxx>
Signed-off-by: Forrest Liu <forrestl@xxxxxxxxxxxx>
Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx>
Tested-by: Filipe Manana <fdmanana@xxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 7f0b8a56c978b0a3315ac84c6cbb065413afb8e9
Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Date: Wed Apr 29 17:19:05 2015 +0530
cxgb4: Fix MC1 memory offset calculation
Commit 6559a7e8296002b4 ("cxgb4: Cleanup macros so they follow the same
style and look consistent") introduced a regression where reading MC1
memory in adapters where MC0 isn't present or MC0 size is not equal to MC1
size caused the adapter to crash due to incorrect computation of
memoffset.
Fix is to read the size of MC0 instead of MC1 for offset calculation
Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 12a8541d5c82d17d42424d46ec36929cfef06a10
Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx>
Date: Wed Apr 29 08:09:49 2015 +0300
bnx2x: Delay during kdump load
In a kdump environment interfaces might be re-loaded without a proper
unload sequence in the previous running kernel.
bnx2x management FW and driver maintains a `pulse' that notifies the FW
that the driver is still up and running.
Driver load on the kdump kernel should be performed only after the pulse
has been out-of-sync long enough for the management FW to identify that
the driver has crashed, on which point it will perform some necessary
cleanup of the HW.
In today's distros kdump loading is quite fast, sometimes too fast for our
FW to get out-of-sync. This patch delays the bnx2x's probe during kdump
to allow a proper re-load on the kdump kernel.
Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e913fb279c564f2af05658b3f01041757d2e9303
Author: Pai <vpai@xxxxxxxxxx>
Date: Wed Apr 29 14:24:23 2015 -0400
net: Fix Kernel Panic in bonding driver debugfs file: rlb_hash_table
This patch fixes a Kernel Panic in bonding driver debugfs file:
rlb_hash_table.
$> modprobe bonding mode=6
$> cat /sys/kernel/debug/bonding/bond0/rlb_hash_table
This will crash the kernel. The struct alb_bond_info is initialized only
when
the bonding interface is initialized (ip link set bond0 up) and not at
the time
it is allocated. If we try to read the table before that, it'll result in
a
kernel panic.
The patch applies against both net and net-next
Signed-off-by: Vishwanath Pai <vpai@xxxxxxxxxx>
Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 50d4964f1d0411d82cca593f2664bfab7f82dbbf
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Wed Apr 29 10:56:15 2015 -0700
net: dsa: Fix scope of eeprom-length property
eeprom-length is a switch property, not a dsa property, and thus
needs to be attached to the switch node, not to the dsa node.
Reported-by: Andrew Lunn <andrew@xxxxxxx>
Fixes: 6793abb4e849 ("net: dsa: Add support for switch EEPROM access")
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Acked-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d4c216c54197d741ed8b7ca54f13645dfb3eacde
Author: Punnaiah Choudary Kalluri <punnaiah.choudary.kalluri@xxxxxxxxxx>
Date: Wed Apr 29 08:34:46 2015 +0530
net: macb: Fix race condition in driver when Rx frame is dropped
Under heavy Rx load, observed that the Hw is updating the USED bit
and it is not updating the received frame status to the BD control
field. This could be lack of resources for processing the BDs at high
data rates. Driver drops the frame associated with this BD but not
clearing the USED bit. So, this is causing hang condition as Hw
expects USED bit to be cleared for this BD.
Signed-off-by: Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b56fc3c536541c8081cd5f1f1d101a16c002a365
Author: KY Srinivasan <kys@xxxxxxxxxxxxx>
Date: Tue Apr 28 17:59:48 2015 -0700
hv_netvsc: Fix a bug in netvsc_start_xmit()
Commit b08cc79155fc26d0d112b1470d1ece5034651a4b eliminated memory
allocation in the packet send path:
"hv_netvsc: Eliminate memory allocation in the packet send path
The network protocol used to communicate with the host is the remote
ndis (rndis)
protocol. We need to decorate each outgoing packet with a rndis
header and
additional rndis state (rndis per-packet state). To manage this
state, we
currently allocate memory in the transmit path. Eliminate this
allocation by
requesting additional head room in the skb."
This commit introduced a bug since it did not account for the case if the
skb
was cloned. Fix this bug.
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Tested-by: Dexuan Cui <decui@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 48734994ac268eb391a66dca4cde7d08a08aba08
Author: Vlastimil Setka <setka@xxxxxxx>
Date: Wed Apr 29 00:17:11 2015 +0200
altera_tse: Correct rx packet length
Altera TSE MAC rx DMA transfer starts with the 2 additional bytes for IP
payload alignment. This patch fixes tse_rx() function loop which reads DMA
rx status and extracts packet length from it. Status signalises a whole
DMA
transfer length, which is 2 bytes longer than the packet itself.
Signed-off-by: Vlastimil Setka <setka@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 42eab005a5dd5d7ea2b0328aecc4d6cc0c23c9c2
Author: Benjamin Poirier <bpoirier@xxxxxxx>
Date: Tue Apr 28 14:49:29 2015 -0700
mlx4: Fix tx ring affinity_mask creation
By default, the number of tx queues is limited by the number of online
cpus
in mlx4_en_get_profile(). However, this limit no longer holds after the
ethtool .set_channels method has been called. In that situation, the
driver
may access invalid bits of certain cpumask variables when queue_index >=
nr_cpu_ids.
Signed-off-by: Benjamin Poirier <bpoirier@xxxxxxx>
Acked-by: Ido Shamay <idos@xxxxxxxxxxxx>
Fixes: d03a68f ("net/mlx4_en: Configure the XPS queue mapping on driver
load")
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0d699f28ee5d0641470a603ab5904e463cb1532a
Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx>
Date: Tue Apr 28 16:59:04 2015 -0400
tipc: fix problem with parallel link synchronization mechanism
Currently, we try to accumulate arrived packets in the links's
'deferred' queue during the parallel link syncronization phase.
This entails two problems:
- With an unlucky combination of arriving packets the algorithm
may go into a lockstep with the out-of-sequence handling function,
where the synch mechanism is adding a packet to the deferred queue,
while the out-of-sequence handling is retrieving it again, thus
ending up in a loop inside the node_lock scope.
- Even if this is avoided, the link will very often send out
unnecessary protocol messages, in the worst case leading to
redundant retransmissions.
We fix this by just dropping arriving packets on the upcoming link
during the synchronization phase, thus relying on the retransmission
protocol to resolve the situation once the two links have arrived to
a synchronized state.
Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx>
Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f2f67390a4b961dae83733732e96e1a394a53c4e
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Tue Apr 28 18:33:50 2015 +0200
tipc: remove wrong use of NLM_F_MULTI
NLM_F_MULTI must be used only when a NLMSG_DONE message is sent. In fact,
it is sent only at the end of a dump.
Libraries like libnl will wait forever for NLMSG_DONE.
Fixes: 35b9dd7607f0 ("tipc: add bearer get/dump to new netlink api")
Fixes: 7be57fc69184 ("tipc: add link get/dump to new netlink api")
Fixes: 46f15c6794fb ("tipc: add media get/dump to new netlink api")
CC: Richard Alpe <richard.alpe@xxxxxxxxxxxx>
CC: Jon Maloy <jon.maloy@xxxxxxxxxxxx>
CC: Ying Xue <ying.xue@xxxxxxxxxxxxx>
CC: tipc-discussion@xxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 46c264daaaa569e24f8aba877d0fd8167c42a9a4
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Tue Apr 28 18:33:49 2015 +0200
bridge/nl: remove wrong use of NLM_F_MULTI
NLM_F_MULTI must be used only when a NLMSG_DONE message is sent. In fact,
it is sent only at the end of a dump.
Libraries like libnl will wait forever for NLMSG_DONE.
Fixes: e5a55a898720 ("net: create generic bridge ops")
Fixes: 815cccbf10b2 ("ixgbe: add setlink, getlink support to ixgbe and
ixgbevf")
CC: John Fastabend <john.r.fastabend@xxxxxxxxx>
CC: Sathya Perla <sathya.perla@xxxxxxxxxx>
CC: Subbu Seetharaman <subbu.seetharaman@xxxxxxxxxx>
CC: Ajit Khaparde <ajit.khaparde@xxxxxxxxxx>
CC: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
CC: intel-wired-lan@xxxxxxxxxxxxxxxx
CC: Jiri Pirko <jiri@xxxxxxxxxxx>
CC: Scott Feldman <sfeldma@xxxxxxxxx>
CC: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
CC: bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 821996795973fd52703c35811a03db9fec1ac141
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Tue Apr 28 18:33:48 2015 +0200
bridge/mdb: remove wrong use of NLM_F_MULTI
NLM_F_MULTI must be used only when a NLMSG_DONE message is sent. In fact,
it is sent only at the end of a dump.
Libraries like libnl will wait forever for NLMSG_DONE.
Fixes: 37a393bc4932 ("bridge: notify mdb changes via netlink")
CC: Cong Wang <amwang@xxxxxxxxxx>
CC: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
CC: bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2b70fe5aba0dd00d81173243c7ab04c66aeb67d8
Author: Florian Westphal <fw@xxxxxxxxx>
Date: Tue Apr 28 13:33:21 2015 +0200
net: sched: act_connmark: don't zap skb->nfct
This action is meant to be passive, i.e. we should not alter
skb->nfct: If nfct is present just leave it alone.
Compile tested only.
Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx>
Signed-off-by: Florian Westphal <fw@xxxxxxxxx>
Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 165996bd351f0e711feff92479c0796098afaa38
Author: Antonio Ospite <ao2@xxxxxx>
Date: Tue Apr 28 13:11:29 2015 +0200
trivial: net: systemport: bcmsysport.h: fix 0x0x prefix
Fix the 0x0x prefix in an integer constant.
In this case, while at it, also fix a typo (s/unitcast/unicast/).
Signed-off-by: Antonio Ospite <ao2@xxxxxx>
Cc: Florian Fainelli <f.fainelli@xxxxxxxxx>
Cc: netdev@xxxxxxxxxxxxxxx
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 18fe369a5a4f175ee652ba8b7d8d7e49f140e281
Author: Antonio Ospite <ao2@xxxxxx>
Date: Tue Apr 28 13:11:27 2015 +0200
trivial: net: atl1e: atl1e_hw.h: fix 0x0x prefix
Fix the 0x0x prefix in an integer constant.
Signed-off-by: Antonio Ospite <ao2@xxxxxx>
Cc: Jay Cliburn <jcliburn@xxxxxxxxx>
Cc: Chris Snook <chris.snook@xxxxxxxxx>
Cc: netdev@xxxxxxxxxxxxxxx
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ad93e1d7b9f63bb842925711240e9fba3a104fea
Merge: 3f300ff f8dcb5e
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Wed Apr 29 14:48:36 2015 -0400
Merge branch 'bnx2x'
Michal Schmidt says:
====================
bnx2x: minor cleanups related to TPA bits
I noticed some simplification possibilities while looking into the bug
fixed by "bnx2x: really disable TPA if 'disable_tpa' is set'.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f8dcb5e3365a23b620f5744f23f1918b9c38d883
Author: Michal Schmidt <mschmidt@xxxxxxxxxx>
Date: Tue Apr 28 11:34:23 2015 +0200
bnx2x: remove {TPA,GRO}_ENABLE_FLAG
These flags are redundant with dev->features. Remove them.
Just make sure to set dev->features ourselves in bnx2x_set_features()
before performing the reload of the card.
Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7e6b4d440b0ae9062b84dfb417ea6d51a45dab76
Author: Michal Schmidt <mschmidt@xxxxxxxxxx>
Date: Tue Apr 28 11:34:22 2015 +0200
bnx2x: merge fp->disable_tpa with fp->mode
It is simpler to have the TPA mode as one three-state variable.
Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d9b9e860cef1d904832bc6e92e444adfeabe49e9
Author: Michal Schmidt <mschmidt@xxxxxxxxxx>
Date: Tue Apr 28 11:34:21 2015 +0200
bnx2x: mark LRO as a fixed disabled feature if disable_tpa is set
If disable_tpa is set, remove NETIF_F_LRO from hw_features, so ethtool
sees
it as "off [fixed]".
Note that setting the NETIF_F_LRO bit in dev->features in the 'else'
branch is not needed, because the bit was already set by
bnx2x_init_dev().
Then the check for disable_tpa in in bnx2x_fix_features() becomes
unnecessary.
Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3f300ff41d89fe9674b8dbab950ba2572639ee8d
Author: Simon Xiao <sixiao@xxxxxxxxxxxxx>
Date: Tue Apr 28 01:05:17 2015 -0700
hv_netvsc: introduce netif-msg into netvsc module
1. Introduce netif-msg to netvsc to control debug logging output
and keep msg_enable in netvsc_device_context so that it is
kept persistently.
2. Only call dump_rndis_message() when NETIF_MSG_RX_ERR or above
is specified in netvsc module debug param.
In non-debug mode, in current code, dump_rndis_message() will not
dump anything but it still initialize some local variables and
process the switch logic which is unnecessary, especially in
high network throughput situation.
Signed-off-by: Simon Xiao <sixiao@xxxxxxxxxxxxx>
Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Reviewed-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit cb6ccf09d6b94bec4def1ac5cf4678d12b216474
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 28 11:43:15 2015 +0800
route: Use ipv4_mtu instead of raw rt_pmtu
The commit 3cdaa5be9e81a914e633a6be7b7d2ef75b528562 ("ipv4: Don't
increase PMTU with Datagram Too Big message") broke PMTU in cases
where the rt_pmtu value has expired but is smaller than the new
PMTU value.
This obsolete rt_pmtu then prevents the new PMTU value from being
installed.
Fixes: 3cdaa5be9e81 ("ipv4: Don't increase PMTU with Datagram Too Big
message")
Reported-by: Gerd v. Egidy <gerd.von.egidy@xxxxxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2cff98b99c469880ce830cbcde015b53b67e0a7b
Author: Dean Nelson <dnelson@xxxxxxxxxx>
Date: Wed Apr 29 16:09:18 2015 +0100
arm64: add missing PAGE_ALIGN() to __dma_free()
__dma_alloc() does a PAGE_ALIGN() on the passed in size argument before
doing anything else. __dma_free() does not. And because it doesn't, it is
possible to leak memory should size not be an integer multiple of
PAGE_SIZE.
The solution is to add a PAGE_ALIGN() to __dma_free() like is done in
__dma_alloc().
Additionally, this patch removes a redundant PAGE_ALIGN() from
__dma_alloc_coherent(), since __dma_alloc_coherent() can only be called
from __dma_alloc(), which already does a PAGE_ALIGN() before the call.
Cc: stable@xxxxxxxxxxxxxxx
Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>
Signed-off-by: Dean Nelson <dnelson@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 8014bcc86ef112eab9ee1db312dba4e6b608cf89
Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
Date: Mon Apr 13 00:26:35 2015 +0100
xen-pciback: Add name prefix to global 'permissive' variable
The variable for the 'permissive' module parameter used to be static
but was recently changed to be extern. This puts it in the kernel
global namespace if the driver is built-in, so its name should begin
with a prefix identifying the driver.
Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
Fixes: af6fc858a35b ("xen-pciback: limit guest control of command
register")
Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
commit 2b953a5e994ce279904ec70220f7d4f31d380a0a
Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Date: Tue Apr 28 18:46:20 2015 -0400
xen: Suspend ticks on all CPUs during suspend
Commit 77e32c89a711 ("clockevents: Manage device's state separately for
the core") decouples clockevent device's modes from states. With this
change when a Xen guest tries to resume, it won't be calling its
set_mode op which needs to be done on each VCPU in order to make the
hypervisor aware that we are in oneshot mode.
This happens because clockevents_tick_resume() (which is an intermediate
step of resuming ticks on a processor) doesn't call
clockevents_set_state()
anymore and because during suspend clockevent devices on all VCPUs (except
for the one doing the suspend) are left in ONESHOT state. As result,
during
resume the clockevents state machine will assume that device is already
where it should be and doesn't need to be updated.
To avoid this problem we should suspend ticks on all VCPUs during
suspend.
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
commit df8d9eeadd0f7a216f2476351d5aee43c6550bf0
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Wed Apr 29 15:19:21 2015 +0200
cpuidle: Run tick_broadcast_exit() with disabled interrupts
Commit 335f49196fd6 (sched/idle: Use explicit broadcast oneshot
control function) replaced clockevents_notify() invocations in
cpuidle_idle_call() with direct calls to tick_broadcast_enter()
and tick_broadcast_exit(), but it overlooked the fact that
interrupts were already enabled before calling the latter which
led to functional breakage on systems using idle states with the
CPUIDLE_FLAG_TIMER_STOP flag set.
Fix that by moving the invocations of tick_broadcast_enter()
and tick_broadcast_exit() down into cpuidle_enter_state() where
interrupts are still disabled when tick_broadcast_exit() is
called. Also ensure that interrupts will be disabled before
running tick_broadcast_exit() even if they have been enabled by
the idle state's ->enter callback. Trigger a WARN_ON_ONCE() in
that case, as we generally don't want that to happen for states
with CPUIDLE_FLAG_TIMER_STOP set.
Fixes: 335f49196fd6 (sched/idle: Use explicit broadcast oneshot control
function)
Reported-and-tested-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Reported-and-tested-by: Sudeep Holla <sudeep.holla@xxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit d839c98f98826f0c13e46d5a4cecb46dd357b50e
Merge: a78001b 60a8d62 c479163 427ced4
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Wed Apr 29 13:37:31 2015 +0100
Merge remote-tracking branches 'asoc/fix/rt5677', 'asoc/fix/samsung' and
'asoc/fix/tfa9879' into asoc-linus
commit a78001b0137e3dd7acb15f6813bf2e5046d2f2ff
Merge: 1ce286b 9d7dd6c 28ecc0b aae013d 96f05be d1acba2
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Wed Apr 29 13:37:28 2015 +0100
Merge remote-tracking branches 'asoc/fix/email', 'asoc/fix/fsl-ssi',
'asoc/fix/pm', 'asoc/fix/qcom' and 'asoc/fix/rcar' into asoc-linus
commit 1ce286b9c9bd08875072a7c3c6a43ef2a2ea4a71
Merge: 49422ad 53f9b3b
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Wed Apr 29 13:37:27 2015 +0100
Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-linus
commit 49422ad37d90945fe9ad0220d9505e2be6168777
Merge: 449f1ca 8faf141
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Wed Apr 29 13:37:27 2015 +0100
Merge remote-tracking branch 'asoc/fix/intel' into asoc-linus
commit 449f1ca6253cb8d7bbe84666ac7d2696308d16c8
Merge: b787f68 a2d9772
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Wed Apr 29 13:37:26 2015 +0100
Merge remote-tracking branch 'asoc/fix/dapm' into asoc-linus
commit 60a8d62b8497c23eb3d48149af7e55dac2dd83a2
Author: Bard Liao <bardliao@xxxxxxxxxxx>
Date: Tue Apr 28 11:27:39 2015 +0800
ASoC: rt5677: fixed wrong DMIC ref clock
DMIC clock source is not from codec system clock directly. it is
generated from the division of system clock. And it should be 256 *
sample rate of AIF1.
Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit 63f89caad0e32dcfa17b2d17919816253de48996
Author: Christopher Freeman <cfreeman@xxxxxxxxxx>
Date: Wed Mar 4 01:16:58 2015 -0800
dmaengine: increment privatecnt when using dma_get_any_slave_channel
Channels allocated via dma_get_any_slave_channel were not increasing
the counter tracking private allocations. When these channels were
released, privatecnt may erroneously fall to zero. The DMA device
would then lose its DMA_PRIVATE cap and fail to allocate future private
channels (via private_candidate) as any allocations still outstanding
would incorrectly be seen as public allocations.
Signed-off-by: Christopher Freeman <cfreeman@xxxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit d33047fd7e7d93662622888681861ba84d43c506
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Mon Apr 27 12:33:51 2015 +1000
powerpc/powernv: Fix early pci_controller_ops loading.
Load the PowerNV platform pci controller ops into pci controllers
after all the operations are loaded into the platform ops struct, not
before.
Otherwise we aren't actually setting the ops properly which can break
IO for some devices.
Fixes: 65ebf4b63 ("powerpc/powernv: Move controller ops from ppc_md to
controller_ops")
Reported-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 7241ea558c6715501e777396b5fc312c372e11d9
Author: Peter Zubaj <pzubaj@xxxxxxxxxxxxx>
Date: Tue Apr 28 21:57:29 2015 +0200
ALSA: emu10k1: Emu10k2 32 bit DMA mode
Looks like audigy emu10k2 (probably emu10k1 - sb live too) support two
modes for DMA. Second mode is useful for 64 bit os with more then 2 GB
of ram (fixes problems with big soundfont loading)
1) 32MB from 2 GB address space using 8192 pages (used now as default)
2) 16MB from 4 GB address space using 4096 pages
Mode is set using HCFG_EXPANDED_MEM flag in HCFG register.
Also format of emu10k2 page table is then different.
Signed-off-by: Peter Zubaj <pzubaj@xxxxxxxxxxxxx>
Tested-by: Takashi Iwai <tiwai@xxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 433c5c20c505fef92be84c6afab70f1c2ab5eda3
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Tue Apr 28 10:34:35 2015 +1000
powerpc/kvm: Fix SMP=n build error in book3s_xics.c
Commit 34cb7954c0aa "Convert ICS mutex lock to spin lock" added an
include of asm/spinlock.h, which does not work in the SMP=n case.
It should instead include linux/spinlock.h
Fixes: 34cb7954c0aa ("KVM: PPC: Book3S HV: Convert ICS mutex lock to spin
lock")
Acked-by: Paul Mackerras <paulus@xxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 61f8ff693923e4b19748b0e8287b99778f2661c7
Author: Chris Bainbridge <chris.bainbridge@xxxxxxxxx>
Date: Wed Apr 22 16:40:21 2015 +0100
ACPI / SBS: Enable battery manager when present
Commit 9faf6136ff46 (ACPI / SBS: Disable smart battery manager on
Apple) introduced a regression disabling the SBS battery manager.
The battery manager should be marked as present when
acpi_manager_get_info() returns 0.
Fixes: 9faf6136ff46 (ACPI / SBS: Disable smart battery manager on Apple)
Signed-off-by: Chris Bainbridge <chris.bainbridge@xxxxxxxxx>
Cc: 3.18+ <stable@xxxxxxxxxxxxxxx> # 3.18+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 9e9d55e69a95f8583283d9f01b04562d1278c95d
Author: Olaf Hering <olaf@xxxxxxxxx>
Date: Tue Apr 28 16:54:04 2015 +0200
ACPICA: remove duplicate u8 typedef
During commit e252652fb266 ("ACPICA: acpidump: Remove integer types
translation protection.") two 'unsigned char' types got converted to 'u8'.
The result does not compile with gcc-4.5, it can not cope with duplicate
typedefs.
Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 3d99e3fe13d473ac4578c37f477a59b829530764
Merge: 14bc84c 9b0f5d6
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 28 14:22:35 2015 -0700
Merge branch 'stable' of
git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
Pull arch/tile bugfix from Chris Metcalf:
"This just fixes a compiler warning from an old bug that only recently
started generating a warning"
* 'stable' of
git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
tile: properly use node_isset() on a nodemask_t
commit 96a5d18bc1338786fecac73599f1681f59a59a8e
Author: Soeren Grunewald <soeren.grunewald@xxxxxxx>
Date: Tue Apr 28 16:29:49 2015 +0200
serial: 8250_pci: Add support for 16 port Exar boards
The Exar XR17V358 chip usually provides only 8 ports. But two chips can be
combined to act as a single 16 port chip. Therefor one chip is configured
as master the second as slave by connecting the mode pin to VCC (master)
or GND (slave).
Then the master chip is reporting a different device-id depending on
whether a slave is detected or not. The UARTs 8-15 are addressed from
0x2000-0x3fff. So the offset of 0x400 from UART to UART can be used to
address all 16 ports as before.
See: https://www.exar.com/common/content/document.ashx?id=1587 page 11
Signed-off-by: Soeren Grunewald <soeren.grunewald@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 14bc84ce0b41787acc08aefabe718479c5dde60e
Merge: 2decb26 5712764
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 28 09:58:46 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 updates from Martin Schwidefsky:
"One additional new feature for 4.1, a new PRNG based on SHA-512 for
the zcrypt driver.
Two memory management related changes, the page table reallocation for
KVM is removed, and with file ptes gone the encoding of page table
entries is improved.
And three bug fixes"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
s390/zcrypt: Introduce new SHA-512 based Pseudo Random Generator.
s390/mm: change swap pte encoding and pgtable cleanup
s390/mm: correct transfer of dirty & young bits in __pmd_to_pte
s390/bpf: add dependency to z196 features
s390/3215: free memory in error path
s390/kvm: remove delayed reallocation of page tables for KVM
kexec: allocate the kexec control page with KEXEC_CONTROL_MEMORY_GFP
commit 1c94e65c668f44d2c69ae7e7fc268ab3268fba3e
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Tue Apr 28 17:11:44 2015 +0200
ALSA: emux: Fix mutex deadlock in OSS emulation
The OSS emulation in synth-emux helper has a potential AB/BA deadlock
at the simultaneous closing and opening:
close ->
snd_seq_release() ->
sne_seq_free_client() ->
snd_seq_delete_all_ports(): takes client->ports_mutex ->
port_delete() ->
snd_emux_unuse(): takes emux->register_mutex
open ->
snd_seq_oss_open() ->
snd_emux_open_seq_oss(): takes emux->register_mutex ->
snd_seq_event_port_attach() ->
snd_seq_create_port(): takes client->ports_mutex
This patch addresses the deadlock by reducing the rance taking
emux->register_mutex in snd_emux_open_seq_oss(). The lock is needed
for the refcount handling, so move it locally. The calls in
emux_seq.c are already with the mutex, thus they are replaced with the
version without mutex lock/unlock.
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 9d7dd6cd2a1d0d307be6bf783e40e7fda17d6dba
Author: Rajeev Kumar <rajeevkumar.linux@xxxxxxxxx>
Date: Tue Apr 28 11:30:08 2015 +0530
ASoC: Update email-id of Rajeev Kumar
rajeev-dlh.kumar@xxxxxx email-id doesn't exist anymore as I have left the
company. Replace ST's id with Rajeev Kumar <rajeevkumar.linux@xxxxxxxxx>
Signed-off-by: Rajeev Kumar <rajeevkumar.linux@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 9b0f5d63e74a987bf56cc1774baca80a291c9d8d
Author: Chris Metcalf <cmetcalf@xxxxxxxxxx>
Date: Tue Apr 28 10:36:45 2015 -0400
tile: properly use node_isset() on a nodemask_t
The code accidentally used cpu_isset() previously in one place
(though properly node_isset() elsewhere).
Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx>
commit a04f90a33fab74789b91fc9739999012f11022d1
Author: Deepak S <deepak.s@xxxxxxxxxxxxxxx>
Date: Thu Apr 16 08:51:28 2015 +0530
drm/i915/chv: Implement WaDisableShadowRegForCpd
This WA is avoid problem between shadow vs wake FIFO unload
problem during CPD/RC6 transactions on CHV.
v2: Define individual bits GTFIFOCTL (Ville)
v3: move WA to uncore_early_sanitize (ville)
Signed-off-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx>
Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
[Jani: fixed some whitespace issues while applying]
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit 4e637ac212b63f4b5dd1da626aca34ffcbfd5daa
Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
Date: Thu Apr 9 18:18:37 2015 +0300
pinctrl: qcom-spmi-mpp: Fix input value report
Fix interpretation of the pmic_mpp_read() return code,
negative value means an error.
Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 24a66618d63548e1012bf65ed30a3c031f410ca2
Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
Date: Thu Apr 9 18:18:36 2015 +0300
pinctrl: qcom-spmi-gpio: Fix input value report
Read input buffer when input is enabled, not when it is
disabled. Also fix interpretation of the pmic_gpio_read()
return code, negative value means an error.
Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 982df6aec06479c844f46f7a5cc960151f8fc005
Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
Date: Thu Apr 9 18:18:35 2015 +0300
pinctrl: qcom-spmi-gpio: Fix output type configuration
GPIO output type configuration was incorrectly overwritten
by strength value. Fix this.
Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 31c6ba97d1671b0a853197fe54a05e0b07ce2631
Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx>
Date: Fri Apr 17 08:43:09 2015 +0200
serial: samsung: fix serial console break
This patch fixes problems with serial console break. When function
s3c64xx_serial_startup() was started while serial console has been
working,
it caused lose of characters written to TX FIFO. This effect was
particularly
observable with systemd, which closes serial port every time when it's
not currently needed, hence function s3c64xx_serial_startup() is called
quite often there. To fix this problem we avoid resetting TX FIFO if port
is
used as serial console.
Example of broken console log:
[ 1086.7 Expecting device dev-ttySAC1.device...
[ 1086.[ OK ] Reached target Paths.
[ 1086.756416] s[ OK ] Reached target Swap.
[ 1086.776413] systemd[1]: Reached target Swap.
[ 1086.776642] systemd[1]: Starting Root Slice.
[ 5.53403[ OK ] Created slice Root Slice.
[ 5.548433] systemd[1]: Create[ OK ] Created slice User and Session
Slice.
[ 5.568414] sys[ OK ] Listening on /dev/initctl Compatibility Named
Pipe.
[ 5.588388] s[ OK ] Listening on Delayed Shutdown Socket.
[ 5.608376] sy[ OK ] Listening on Journal Socket (/dev/log).
[ 5.628361] [ OK ] Listening on udev Kernel Socket.
[ 5.648357] s[ OK ] Listening on udev Control Socket.
[ 5.668353] s[ OK ] Listening on Journal Socket.
[ 5.688366] systemd[1]: Listeni[ OK ] Created slice System Slice.
[ 5.708393] Mounting Temporary Directory...
[ 7139.067436] Starting prepare device daemon...
[ 7139.091726] sy Starting Generate environment from
/etc/profile.d...
[ 5.792867] system Starting Create Static Device Nodes in
/dev...
[ 7848.718 Mounting Debug File System...
[ 7848.7384 Mounting Configuration File System...
[ 5.852 Starting Apply Kernel Variables...
[ 5.8720 Starting Setup Virtual Console...
[ 7848.798 Starting udev Coldplug all Devices...
[ 7848.817 Starting Journal Service...
[ OK ] Started Journal Service.
[ 7848.854222] s[ OK ] Reached target Slices.
Starting Remount Root and Kernel File Systems...
[ OK ] Mounted Configuration File System.
Reported-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx>
Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a8d4e01637902311c5643b69a5c80e2805f04054
Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx>
Date: Thu Apr 16 16:58:12 2015 +0200
tty/serial: at91: maxburst was missing for dma transfers
Maxburst was not set when doing the dma slave configuration. This value
is checked by the recently introduced xdmac. It causes an error when
doing the slave configuration and so prevents from using dma.
Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # 3.12 and later
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 6befa9d883385c580369a2cc9e53fbf329771f6d
Author: Michal Simek <michal.simek@xxxxxxxxxx>
Date: Tue Apr 14 12:03:09 2015 +0200
serial: of-serial: Remove device_type = "serial" registration
Do not probe all serial drivers by of_serial.c which are using
device_type = "serial"; property. Only drivers which have valid
compatible strings listed in the driver should be probed.
When PORT_UNKNOWN is setup probe will fail anyway.
Arnd quotation about driver historical background:
"when I wrote that driver initially, the idea was that it would
get used as a stub to hook up all other serial drivers but after
that, the common code learned to create platform devices from DT"
This patch fix the problem with on the system with xilinx_uartps and
16550a where of_serial failed to register for xilinx_uartps and because
of irq_dispose_mapping() removed irq_desc. Then when xilinx_uartps was
asking
for irq with request_irq() EINVAL is returned.
Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>
CC: <stable@xxxxxxxxxxxxxxx>
Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 5c90c07b98c02198d9777a7c4f3047b0a94bf7ed
Author: Michal Simek <michal.simek@xxxxxxxxxx>
Date: Mon Apr 13 16:34:21 2015 +0200
serial: xilinx: Use platform_get_irq to get irq description structure
For systems with CONFIG_SERIAL_OF_PLATFORM=y and device_type =
"serial"; property in DT of_serial.c driver maps and unmaps IRQ (because
driver probe fails). Then a driver is called but irq mapping is not
created that's why driver is failing again in again on request_irq().
Based on this use platform_get_irq() instead of platform_get_resource()
which is doing irq_desc allocation and driver itself can request IRQ.
Fix both xilinx serial drivers in the tree.
Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>
CC: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 10afbe346bba125e2eedfd1a89b7bd5c92900859
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Sat Apr 11 10:05:07 2015 -0400
serial: core: Fix kernel-doc build warnings
Fix uart_console_write() kernel-doc build warnings.
Warning(drivers/tty/serial/serial_core.c:1778): No description found for
parameter 'putchar'
Warning(drivers/tty/serial/serial_core.c:1778): Excess function parameter
'write' description in 'uart_console_write'
Fixes: 1cfe42b7fd29 ("serial: core: Fix kernel doc for
uart_console_write()")
Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b00f5c2dc01450bed9fed1a41a637fa917e03c5c
Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx>
Date: Fri Apr 10 15:13:05 2015 +0200
tty: Re-add external interface for tty_set_termios()
This is needed by Bluetooth hci_uart module to be able to change speed
of Bluetooth controller and local UART.
Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx>
Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Cc: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit fefad2d54beb8aad6bf4ac6daeb74f86f52565de
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Sun Apr 12 09:09:05 2015 -0300
[media] v4l: omap4iss: Replace outdated OMAP4 control pad API with syscon
The omap4_ctrl_pad_readl and omap4_ctrl_pad_writel functions have been
removed by commit efde234674d9 but are still used by the OMAP4 ISS
driver, resulting in a compilation breakage:
drivers/staging/media/omap4iss/iss_csiphy.c: In function
'omap4iss_csiphy_config':
drivers/staging/media/omap4iss/iss_csiphy.c:167:2: error: implicit
declaration of function 'omap4_ctrl_pad_writel'
[-Werror=implicit-function-declaration]
omap4_ctrl_pad_writel(cam_rx_ctrl,
Fix the problem by using the syscon API to reaplace the control pad API.
Lookup the syscon instance by compatible name for now as the OMAP4 ISS
driver doesn't support DT yet.
Fixes: efde234674d9 ("ARM: OMAP4+: control: remove support for legacy pad
read/write")
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Sakari Alius <sakari.ailus@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 0d3bba0287d4e284c3ec7d3397e81eec920d5e7e
Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Date: Tue Apr 14 11:25:43 2015 +0200
cdc-acm: prevent infinite loop when parsing CDC headers.
Phil and I found out a problem with commit:
7e860a6e7aa6 ("cdc-acm: add sanity checks")
It added some sanity checks to ignore potential garbage in CDC headers but
also introduced a potential infinite loop. This can happen at the first
loop iteration (elength = 0 in that case) if the description isn't a
DT_CS_INTERFACE or later if 'buffer[0]' is zero.
It should also be noted that the wrong length was being added to 'buffer'
in case 'buffer[1]' was not a DT_CS_INTERFACE descriptor, since elength
was
assigned after that check in the loop.
A specially crafted USB device could be used to trigger this infinite
loop.
Fixes: 7e860a6e7aa6 ("cdc-acm: add sanity checks")
Signed-off-by: Phil Turnbull <phil.turnbull@xxxxxxxxxx>
Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
CC: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
CC: Oliver Neukum <oneukum@xxxxxxx>
CC: Adam Lee <adam8157@xxxxxxxxx>
CC: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit bb304b71f8dbcb284f0f876dfb4eecbadf079773
Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
Date: Mon Apr 27 15:27:36 2015 +0300
Revert "usb: host: ehci-msm: Use devm_ioremap_resource instead of
devm_ioremap"
This reverts commit 70843f623b58 ("usb: host: ehci-msm: Use
devm_ioremap_resource instead of devm_ioremap") and commit
e507bf577e5a ("host: ehci-msm: remove duplicate check on resource"),
because msm_otg and this driver are using same address space to
access AHB mode and USB command registers.
Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Acked-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a5a356cee89f86ff86cc3ce24136ca1f802c1bf1
Author: Li Jun <jun.li@xxxxxxxxxxxxx>
Date: Sun Apr 12 17:51:02 2015 +0800
usb: chipidea: otg: remove mutex unlock and lock while stop and start role
Wrongly release mutex lock during otg_statemachine may result in re-enter
otg_statemachine, which is not allowed, we should do next state
transtition
after previous one completed.
Fixes: 826cfe751f3e ("usb: chipidea: add OTG fsm operation functions
implementation")
Cc: <stable@xxxxxxxxxxxxxxx> # v3.16+
Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx>
Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 8e779c6c4a398763c21371fe40f649206041dc1e
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Apr 21 11:20:32 2015 +0200
uas: Set max_sectors_240 quirk for ASM1053 devices
Testing has shown that ASM1053 devices do not work properly with transfers
larger than 240 sectors, so set max_sectors to 240 on these.
Cc: stable@xxxxxxxxxxxxxxx # 3.16
Reported-by: Steve Bangert <sbangert@xxxxxxxxxxxx>
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Tested-by: Steve Bangert <sbangert@xxxxxxxxxxxx>
Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ee136af4a064c2f61e2025873584d2c7ec93f4ae
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Apr 21 11:20:31 2015 +0200
uas: Add US_FL_MAX_SECTORS_240 flag
The usb-storage driver sets max_sectors = 240 in its scsi-host template,
for uas we do not want to do that for all devices, but testing has shown
that some devices need it.
This commit adds a US_FL_MAX_SECTORS_240 flag for such devices, and
implements support for it in uas.c, while at it it also adds support
for US_FL_MAX_SECTORS_64 to uas.c.
Cc: stable@xxxxxxxxxxxxxxx # 3.16
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a5011d44f0e1117a6db14b19b57c51f8be5673a0
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Apr 21 11:20:30 2015 +0200
uas: Allow uas_use_uas_driver to return usb-storage flags
uas_use_uas_driver may set some US_FL_foo flags during detection,
currently
these are stored in a local variable and then throw away, but these may be
of interest to the caller, so add an extra parameter to (optionally)
return
the detected flags, and use this in the uas driver.
Cc: stable@xxxxxxxxxxxxxxx # 3.16
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 39376ccb1968ba9f83e2a880a8bf02ad5dea44e1
Merge: 876a7ae 547c4b5
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Mon Apr 27 23:12:34 2015 -0400
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf
Pablo Neira Ayuso says:
====================
Netfilter fixes for net
The following patchset contains Netfilter fixes for your net tree,
they are:
1) Fix a crash in nf_tables when dictionaries are used from the ruleset,
due to memory corruption, from Florian Westphal.
2) Fix another crash in nf_queue when used with br_netfilter. Also from
Florian.
Both fixes are related to new stuff that got in 4.0-rc.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 876a7ae65b86d8cec8efe7d15d050ac61116874e
Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Date: Mon Apr 27 14:40:37 2015 -0700
bpf: fix 64-bit divide
ALU64_DIV instruction should be dividing 64-bit by 64-bit,
whereas do_div() does 64-bit by 32-bit divide.
x64 and arm64 JITs correctly implement 64 by 64 unsigned divide.
llvm BPF backend emits code assuming that ALU64_DIV does 64 by 64.
Fixes: 89aa075832b0 ("net: sock: allow eBPF programs to be attached to
sockets")
Reported-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8e046d68ba719a5bb95912c154c6314472edccfa
Author: Karicheri, Muralidharan <m-karicheri2@xxxxxx>
Date: Mon Apr 27 14:12:43 2015 -0400
net: netcp: remove call to netif_carrier_(on/off) for MAC to Phy interface
Currently when interface type is MAC to Phy, netif_carrier_(on/off)
is called which is not needed as Phy lib already updates the carrier
status to net stack. This is needed only for other interface types
Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 68ce9a1f24b8e8894955032a4af74998315be9fe
Author: Shawn Guo <shawn.guo@xxxxxxxxxx>
Date: Tue Apr 28 09:05:21 2015 +0800
ARM: dts: imx6qdl-sabreauto: remove pinctrl-assert-gpios
The pinctrl-assert-gpios is an invalid pinctrl property. It was
probably sneaked from vendor tree. Remove it.
Fixes: 4e18a2243a87 ("ARM: imx6qdl-sabreauto.dtsi: add max7310 support")
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 2decb2682f80759f631c8332f9a2a34a02150a03
Merge: b787f68 22a8f23
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 27 14:05:19 2015 -0700
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller:
1) mlx4 doesn't check fully for supported valid RSS hash function, fix
from Amir Vadai
2) Off by one in ibmveth_change_mtu(), from David Gibson
3) Prevent altera chip from reporting false error interrupts in some
circumstances, from Chee Nouk Phoon
4) Get rid of that stupid endless loop trying to allocate a FIN packet
in TCP, and in the process kill deadlocks. From Eric Dumazet
5) Fix get_rps_cpus() crash due to wrong invalid-cpu value, also from
Eric Dumazet
6) Fix two bugs in async rhashtable resizing, from Thomas Graf
7) Fix topology server listener socket namespace bug in TIPC, from Ying
Xue
8) Add some missing HAS_DMA kconfig dependencies, from Geert
Uytterhoeven
9) bgmac driver intends to force re-polling but does so by returning
the wrong value from it's ->poll() handler. Fix from RafaÅ? MiÅ?ecki
10) When the creater of an rhashtable configures a max size for it,
don't bark in the logs and drop insertions when that is exceeded.
Fix from Johannes Berg
11) Recover from out of order packets in ppp mppe properly, from Sylvain
Rochet
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (41 commits)
bnx2x: really disable TPA if 'disable_tpa' option is set
net:treewide: Fix typo in drivers/net
net/mlx4_en: Prevent setting invalid RSS hash function
mdio-mux-gpio: use new gpiod_get_array and gpiod_put_array functions
netfilter; Add some missing default cases to switch statements in
nft_reject.
ppp: mppe: discard late packet in stateless mode
ppp: mppe: sanity error path rework
net/bonding: Make DRV macros private
net: rfs: fix crash in get_rps_cpus()
altera tse: add support for fixed-links.
pxa168: fix double deallocation of managed resources
net: fix crash in build_skb()
net: eth: altera: Resolve false errors from MSGDMA to TSE
ehea: Fix memory hook reference counting crashes
net/tg3: Release IRQs on permanent error
net: mdio-gpio: support access that may sleep
inet: fix possible panic in reqsk_queue_unlink()
rhashtable: don't attempt to grow when at max_size
bgmac: fix requests for extra polling calls from NAPI
tcp: avoid looping in tcp_send_fin()
...
commit 53f9b3baa937e0cbdd75ea11b3c824462e4359b2
Author: Axel Lin <axel.lin@xxxxxxxxxx>
Date: Tue Apr 21 12:19:49 2015 +0800
ASoC: rt5645: Fix mask for setting RT5645_DMIC_2_DP_GPIO12 bit
Current code uses wrong mask when setting RT5645_DMIC_2_DP_GPIO12 bit,
fix it.
Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 5a9b06a27db6b006605421658418fb8943a6e217
Author: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx>
Date: Sun Mar 29 10:04:56 2015 -0300
[media] media: soc_camera: rcar_vin: Fix wait_for_completion
When stopping abnormally, a driver can't return from wait_for_completion.
This patch resolved this problem by changing wait_for_completion_timeout
from wait_for_completion.
Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx>
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 2a700d8edffdbfb8200332d96c3147e042b337f1
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Apr 13 11:18:51 2015 -0300
[media] marvell-ccic: fix Y'CbCr ordering
Various formats had their byte ordering implemented incorrectly, and
the V4L2_PIX_FMT_UYVY is actually impossible to create, instead you
get V4L2_PIX_FMT_YVYU.
This was working before commit ad6ac452227b7cb93ac79beec092850d178740b1
("add new formats support for marvell-ccic driver"). That commit broke
the original format support and the OLPC XO-1 laptop showed wrong
colors ever since (if you are crazy enough to attempt to run the latest
kernel on it, like I did).
The email addresses of the authors of that patch are no longer valid,
so without a way to reach them and ask them about their test setup
I am going with what I can test on the OLPC laptop.
If this breaks something for someone on their non-OLPC setup, then
contact the linux-media mailinglist. My suspicion however is that
that commit went in untested.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Acked-by: Jonathan Corbet <corbet@xxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # for v3.19 and up
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 22a8f237c0551bae95ffcd2a7ff17d6f5fcce7e7
Author: Michal Schmidt <mschmidt@xxxxxxxxxx>
Date: Mon Apr 27 17:20:38 2015 +0200
bnx2x: really disable TPA if 'disable_tpa' option is set
bnx2x's 'disable_tpa=1' module option is not respected properly and TPA
(transparent packet aggregation) remains enabled. Even though the
module option causes LRO to be disabled, TPA is enabled in GRO mode.
Additionally, disabling GRO via ethtool then has no effect. One can
still observe tpa_* statistics increase and large packets being received
in tcpdump.
The bug was an unintended consequence of commit aebf6244cd39 "bnx2x: Be
more forgiving toward SW GRO".
Fix it by following the bp->disable_tpa flag when initializing fp's.
Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 94435f764cc5838a7e94008f17628ad63384bf06
Author: Masanari Iida <standby24x7@xxxxxxxxx>
Date: Mon Apr 27 23:14:57 2015 +0900
net:treewide: Fix typo in drivers/net
This patch fix spelling typo in printk.
Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b37069090b7c5615610a8aa6b36533d67b364d38
Author: Amir Vadai <amirv@xxxxxxxxxxxx>
Date: Mon Apr 27 13:40:56 2015 +0300
net/mlx4_en: Prevent setting invalid RSS hash function
mlx4_en_check_rxfh_func() was checking for hardware support before
setting a known RSS hash function, but didn't do any check before
setting unknown RSS hash function. Need to make it fail on such values.
In this occasion, moved the actual setting of the new value from the
check function into mlx4_en_set_rxfh().
Fixes: 947cbb0 ("net/mlx4_en: Support for configurable RSS hash function")
Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 33df10e2ee414183953cc89453bf9c85027a188b
Author: Rojhalat Ibrahim <imr@xxxxxxxxxxx>
Date: Mon Apr 27 10:37:31 2015 +0200
mdio-mux-gpio: use new gpiod_get_array and gpiod_put_array functions
Use the new gpiod_get_array and gpiod_put_array functions
(added to mainline in the v4.1 merge window) for obtaining and
disposing of GPIO descriptors.
Cc: David Miller <davem@xxxxxxxxxxxxx>
Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
Signed-off-by: Rojhalat Ibrahim <imr@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 129d23a56623eea0947a05288158d76dc7f2f0ac
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Mon Apr 27 13:20:34 2015 -0400
netfilter; Add some missing default cases to switch statements in
nft_reject.
This fixes:
====================
net/netfilter/nft_reject.c: In function â??nft_reject_dumpâ??:
net/netfilter/nft_reject.c:61:2: warning: enumeration value
â??NFT_REJECT_TCP_RSTâ?? not handled in switch [-Wswitch]
switch (priv->type) {
^
net/netfilter/nft_reject.c:61:2: warning: enumeration value
â??NFT_REJECT_ICMPX_UNREACHâ?? not handled in switch [-Wswi\
tch]
net/netfilter/nft_reject_inet.c: In function â??nft_reject_inet_dumpâ??:
net/netfilter/nft_reject_inet.c:105:2: warning: enumeration value
â??NFT_REJECT_TCP_RSTâ?? not handled in switch [-Wswi\
tch]
switch (priv->type) {
^
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 118c855b5623f3e2e6204f02623d88c09e0c34de
Author: Christoph Hellwig <hch@xxxxxx>
Date: Thu Apr 23 09:48:51 2015 +0200
3w-9xxx: fix command completion race
The 3w-9xxx driver needs to tear down the dma mappings before returning
the command to the midlayer, as there is no guarantee the sglist and
count are valid after that point. Also remove the dma mapping helpers
which have another inherent race due to the request_id index.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Acked-by: Adam Radford <aradford@xxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 9cd9554615cba14f0877cc9972a6537ad2bdde61
Author: Christoph Hellwig <hch@xxxxxx>
Date: Thu Apr 23 09:48:50 2015 +0200
3w-xxxx: fix command completion race
The 3w-xxxx driver needs to tear down the dma mappings before returning
the command to the midlayer, as there is no guarantee the sglist and
count are valid after that point. Also remove the dma mapping helpers
which have another inherent race due to the request_id index.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Acked-by: Adam Radford <aradford@xxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 579d69bc1fd56d5af5761969aa529d1d1c188300
Author: Christoph Hellwig <hch@xxxxxx>
Date: Thu Apr 23 09:48:49 2015 +0200
3w-sas: fix command completion race
The 3w-sas driver needs to tear down the dma mappings before returning
the command to the midlayer, as there is no guarantee the sglist and
count are valid after that point. Also remove the dma mapping helpers
which have another inherent race due to the request_id index.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Reported-by: Torsten Luettgert <ml-lkml@xxxxxxx>
Tested-by: Bernd Kardatzki <Bernd.Kardatzki@xxxxxxxxxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Acked-by: Adam Radford <aradford@xxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 8c08a6215a432a8f3629da0e8ccfd534ffa480f5
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 21 23:27:50 2015 +0200
aha1542: Allocate memory before taking a lock
The driver currently calls kmalloc with GFP_KERNEL while holding a lock.
Fix it by doing the allocation earlier, before taking the lock.
Tested on AHA-1542B.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 1d90a685eb75a56648d7dd22c704a1a6da516de9
Author: Petr Holasek <pholasek@xxxxxxxxxx>
Date: Thu Apr 16 17:38:19 2015 +0200
perf bench numa: Fix immediate meeting of convergence condition
This patch fixes the race in the beginning of benchmark run when some
threads hasn't got assigned curr_cpu yet so they don't occur in
nodes-of-process stats and benchmark concludes that all remaining
threads are converged already.
The race can be reproduced with small amount of threads and some bigger
amount of shared process memory, e.g. one process, two threads and 5GB
of process memory.
Signed-off-by: Petr Holasek <pholasek@xxxxxxxxxx>
Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1429198699-25039-4-git-send-email-pholasek@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 24f1ced167e5e011040b4c3aae75aee45a79eed5
Author: Petr Holasek <pholasek@xxxxxxxxxx>
Date: Thu Apr 16 17:38:17 2015 +0200
perf bench numa: Fixes of --quiet argument
Corrected description and fixed function of --quiet argument.
Signed-off-by: Petr Holasek <pholasek@xxxxxxxxxx>
Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1429198699-25039-2-git-send-email-pholasek@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 052b0f6eaf8b1f02669884a177bc3ce463133a42
Author: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Date: Fri Apr 24 10:00:48 2015 -0700
perf bench futex: Fix hung wakeup tasks after requeueing
The futex-requeue benchmark can hang because of missing wakeups once the
benchmark is done, ie:
[Run 1]: Requeued 1024 of 1024 threads in 0.3290 ms
perf: couldn't wakeup all tasks (135/1024)
This bug, while perhaps suggesting missing wakeups in kernel futex code,
is merely a consequence of the crappy FUTEX_CMP_REQUEUE man page,
incorrectly mentioning that the number of requeued tasks is in fact
returned, not the wakeups.
This patch acknowledges this and updates the corresponding futex_wake
code around it.
Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Link: http://lkml.kernel.org/r/1429894848.10273.44.camel@xxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit d13855ef18e1852b2c4dc86ddf5759c5b34628cb
Author: He Kuang <hekuang@xxxxxxxxxx>
Date: Sat Apr 25 16:08:58 2015 +0800
perf probe: Fix bug with global variables handling
There are missing curly braces which causes find_variable() return wrong
value when probing with global variables.
This problem can be reproduced as following:
$ perf probe -v --add='generic_perform_write global_variable_for_test'
...
Try to find probe point from debuginfo.
Probe point found: generic_perform_write+0
Searching 'global_variable_for_test' variable in context.
An error occurred in debuginfo analysis (-2).
Error: Failed to add events. Reason: No such file or directory (Code:
-2)
After this patch:
$ perf probe -v --add='generic_perform_write global_variable_for_test'
...
Converting variable global_variable_for_test into trace event.
global_variable_for_test type is int.
Found 1 probe_trace_events.
Opening /sys/kernel/debug/tracing/kprobe_events write=1
Added new event:
Writing event: p:probe/generic_perform_write _stext+1237464
global_variable_for_test=@global_variable_for_test+0:s32
probe:generic_perform_write (on generic_perform_write with
global_variable_for_test)
You can now use it in all perf tools, such as:
perf record -e probe:generic_perform_write -aR sleep 1
Signed-off-by: He Kuang <hekuang@xxxxxxxxxx>
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1429949338-18678-1-git-send-email-hekuang@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 35e9a9f93994d7f7d12afa41169c7ba05513721b
Author: Mike Christie <michaelc@xxxxxxxxxxx>
Date: Mon Apr 20 22:42:24 2015 -0500
SCSI: add 1024 max sectors black list flag
This works around a issue with qnap iscsi targets not handling large IOs
very well.
The target returns:
VPD INQUIRY: Block limits page (SBC)
Maximum compare and write length: 1 blocks
Optimal transfer length granularity: 1 blocks
Maximum transfer length: 4294967295 blocks
Optimal transfer length: 4294967295 blocks
Maximum prefetch, xdread, xdwrite transfer length: 0 blocks
Maximum unmap LBA count: 8388607
Maximum unmap block descriptor count: 1
Optimal unmap granularity: 16383
Unmap granularity alignment valid: 0
Unmap granularity alignment: 0
Maximum write same length: 0xffffffff blocks
Maximum atomic transfer length: 0
Atomic alignment: 0
Atomic transfer length granularity: 0
and it is *sometimes* able to handle at least one IO of size up to 8 MB.
We
have seen in traces where it will sometimes work, but other times it
looks like it fails and it looks like it returns failures if we send
multiple large IOs sometimes. Also it looks like it can return 2 different
errors. It will sometimes send iscsi reject errors indicating out of
resources or it will send invalid cdb illegal requests check conditions.
And then when it sends iscsi rejects it does not seem to handle retries
when there are command sequence holes, so I could not just add code to
try and gracefully handle that error code.
The problem is that we do not have a good contact for the company,
so we are not able to determine under what conditions it returns
which error and why it sometimes works.
So, this patch just adds a new black list flag to set targets like this to
the old max safe sectors of 1024. The max_hw_sectors changes added in 3.19
caused this regression, so I also ccing stable.
Reported-by: Christian Hesse <list@xxxxxxxx>
Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 6cd18e711dd8075da9d78cfc1239f912ff28968a
Author: NeilBrown <neilb@xxxxxxx>
Date: Mon Apr 27 14:12:22 2015 +1000
block: destroy bdi before blockdev is unregistered.
Because of the peculiar way that md devices are created (automatically
when the device node is opened), a new device can be created and
registered immediately after the
blk_unregister_region(disk_devt(disk), disk->minors);
call in del_gendisk().
Therefore it is important that all visible artifacts of the previous
device are removed before this call. In particular, the 'bdi'.
Since:
commit c4db59d31e39ea067c32163ac961e9c80198fd37
Author: Christoph Hellwig <hch@xxxxxx>
fs: don't reassign dirty inodes to default_backing_dev_info
moved the
device_unregister(bdi->dev);
call from bdi_unregister() to bdi_destroy() it has been quite easy to
lose a race and have a new (e.g.) "md127" be created after the
blk_unregister_region() call and before bdi_destroy() is ultimately
called by the final 'put_disk', which must come after del_gendisk().
The new device finds that the bdi name is already registered in sysfs
and complains
> [ 9627.630029] WARNING: CPU: 18 PID: 3330 at fs/sysfs/dir.c:31
sysfs_warn_dup+0x5a/0x70()
> [ 9627.630032] sysfs: cannot create duplicate filename
'/devices/virtual/bdi/9:127'
We can fix this by moving the bdi_destroy() call out of
blk_release_queue() (which can happen very late when a refcount
reaches zero) and into blk_cleanup_queue() - which happens exactly when
the md
device driver calls it.
Then it is only necessary for md to call blk_cleanup_queue() before
del_gendisk(). As loop.c devices are also created on demand by
opening the device node, we make the same change there.
Fixes: c4db59d31e39ea067c32163ac961e9c80198fd37
Reported-by: Azat Khuzhin <a3at.mail@xxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: stable@xxxxxxxxxxxxxxx (v4.0)
Signed-off-by: NeilBrown <neilb@xxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit c671835021798c1c40ca0b55b49feff76ed5e0e1
Author: Wang Nan <wangnan0@xxxxxxxxxx>
Date: Sat Apr 25 07:25:03 2015 +0000
perf top: Fix a segfault when kernel map is restricted.
Perf top raise a warning if a kernel sample is collected but kernel map
is restricted. The warning message needs to dereference al.map->dso...
However, previous perf_event__preprocess_sample() doesn't always
guarantee al.map != NULL, for example, when kernel map is restricted.
This patch validates al.map before dereferencing, avoid the segfault.
Before this patch:
$ cat /proc/sys/kernel/kptr_restrict
1
$ perf top -p 120183
perf: Segmentation fault
-------- backtrace --------
/path/to/perf[0x509868]
/lib64/libc.so.6(+0x3545f)[0x7f9a1540045f]
/path/to/perf[0x448820]
/path/to/perf(cmd_top+0xe3c)[0x44a5dc]
/path/to/perf[0x4766a2]
/path/to/perf(main+0x5f5)[0x42e545]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x7f9a153ecbd4]
/path/to/perf[0x42e674]
And gdb call trace:
Program received signal SIGSEGV, Segmentation fault.
perf_event__process_sample (machine=0xa44030, sample=0x7fffffffa4c0,
evsel=0xa43b00, event=0x7ffff41c3000, tool=0x7fffffffa8a0)
at builtin-top.c:736
736
!RB_EMPTY_ROOT(&al.map->dso->symbols[MAP__FUNCTION]) ?
(gdb) bt
#0 perf_event__process_sample (machine=0xa44030, sample=0x7fffffffa4c0,
evsel=0xa43b00, event=0x7ffff41c3000, tool=0x7fffffffa8a0)
at builtin-top.c:736
#1 perf_top__mmap_read_idx (top=top@entry=0x7fffffffa8a0,
idx=idx@entry=0) at builtin-top.c:855
#2 0x000000000044a5dd in perf_top__mmap_read (top=0x7fffffffa8a0) at
builtin-top.c:872
#3 __cmd_top (top=0x7fffffffa8a0) at builtin-top.c:997
#4 cmd_top (argc=<optimized out>, argv=<optimized out>,
prefix=<optimized out>) at builtin-top.c:1267
#5 0x00000000004766a3 in run_builtin (p=p@entry=0x8a6ce8
<commands+264>, argc=argc@entry=3, argv=argv@entry=0x7fffffffdf70)
at perf.c:371
#6 0x000000000042e546 in handle_internal_command (argv=0x7fffffffdf70,
argc=3) at perf.c:430
#7 run_argv (argv=0x7fffffffdcf0, argcp=0x7fffffffdcfc) at perf.c:474
#8 main (argc=3, argv=0x7fffffffdf70) at perf.c:589
(gdb)
Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Zefan Li <lizefan@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1429946703-80807-1-git-send-email-wangnan0@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 9fb2bcf928ed5c664affaeb7edf9cc19f590b9f3
Author: Christian König <christian.koenig@xxxxxxx>
Date: Mon Apr 27 17:04:37 2015 +0200
drm/radeon: fix userptr return value checking (v2)
Otherwise we print false warning from time to time.
v2: agd5f: rebase
Signed-off-by: Christian König <christian.koenig@xxxxxxx>
Signed-off-by: Jack Xiao <Jack.Xiao@xxxxxxx>
CC: stable@xxxxxxxxxxxxxxx
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit c29c0876ec05d51a93508a39b90b92c29ba6423d
Author: Christian König <christian.koenig@xxxxxxx>
Date: Mon Apr 27 17:04:36 2015 +0200
drm/radeon: check new address before removing old one
Otherwise the change isn't atomic.
Signed-off-by: Christian König <christian.koenig@xxxxxxx>
CC: stable@xxxxxxxxxxxxxxx
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit 48afbd70ac7b6aa62e8d452091023941d8085f8a
Author: Christian König <christian.koenig@xxxxxxx>
Date: Mon Apr 27 17:04:35 2015 +0200
drm/radeon: reset BOs address after clearing it.
Otherwise it is possible that we will have page table corruption
if we change a BOs address multiple times.
Signed-off-by: Christian König <christian.koenig@xxxxxxx>
CC: stable@xxxxxxxxxxxxxxx
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit 26d4d129b6042197b4cbc8341c0618f99231af2f
Author: Christian König <christian.koenig@xxxxxxx>
Date: Mon Apr 27 17:04:34 2015 +0200
drm/radeon: fix lockup when BOs aren't part of the VM on release
If we unmap BOs before releasing them them the intervall tree locks
up because we try to remove an entry not inside the tree.
Based on a patch from Michel Dänzer.
Signed-off-by: Christian König <christian.koenig@xxxxxxx>
CC: stable@xxxxxxxxxxxxxxx
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit 393a33970540ac6a2c894b0d6ef3f5d485860884
Author: Wang YanQing <udknight@xxxxxxxxx>
Date: Sun Apr 26 16:43:31 2015 +0800
block:bounce: fix call inc_|dec_zone_page_state on different pages
confuse value of NR_BOUNCE
Commit d2c5e30c9a1420902262aa923794d2ae4e0bc391
("[PATCH] zoned vm counters: conversion of nr_bounce to per zone counter")
convert statistic of nr_bounce to per zone and one global value in
vm_stat,
but it call inc_|dec_zone_page_state on different pages, then different
zones, and cause us to get unexpected value of NR_BOUNCE.
Below is the result on my machine:
Mar 2 09:26:08 udknight kernel: [144766.778265] Mem-Info:
Mar 2 09:26:08 udknight kernel: [144766.778266] DMA per-cpu:
Mar 2 09:26:08 udknight kernel: [144766.778268] CPU 0: hi: 0,
btch: 1 usd: 0
Mar 2 09:26:08 udknight kernel: [144766.778269] CPU 1: hi: 0,
btch: 1 usd: 0
Mar 2 09:26:08 udknight kernel: [144766.778270] Normal per-cpu:
Mar 2 09:26:08 udknight kernel: [144766.778271] CPU 0: hi: 186,
btch: 31 usd: 0
Mar 2 09:26:08 udknight kernel: [144766.778273] CPU 1: hi: 186,
btch: 31 usd: 0
Mar 2 09:26:08 udknight kernel: [144766.778274] HighMem per-cpu:
Mar 2 09:26:08 udknight kernel: [144766.778275] CPU 0: hi: 186,
btch: 31 usd: 0
Mar 2 09:26:08 udknight kernel: [144766.778276] CPU 1: hi: 186,
btch: 31 usd: 0
Mar 2 09:26:08 udknight kernel: [144766.778279] active_anon:46926
inactive_anon:287406 isolated_anon:0
Mar 2 09:26:08 udknight kernel: [144766.778279] active_file:105085
inactive_file:139432 isolated_file:0
Mar 2 09:26:08 udknight kernel: [144766.778279] unevictable:653 dirty:0
writeback:0 unstable:0
Mar 2 09:26:08 udknight kernel: [144766.778279] free:178957
slab_reclaimable:6419 slab_unreclaimable:9966
Mar 2 09:26:08 udknight kernel: [144766.778279] mapped:4426
shmem:305277 pagetables:784 bounce:0
Mar 2 09:26:08 udknight kernel: [144766.778279] free_cma:0
Mar 2 09:26:08 udknight kernel: [144766.778286] DMA free:3324kB min:68kB
low:84kB high:100kB active_anon:0kB inactive_anon:0kB active_file:0kB
inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB
present:15976kB managed:15900kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB
shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB
pagetables:0kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB
pages_scanned:0 all_unreclaimable? yes
Mar 2 09:26:08 udknight kernel: [144766.778287] lowmem_reserve[]: 0 822
3754 3754
Mar 2 09:26:08 udknight kernel: [144766.778293] Normal free:26828kB
min:3632kB low:4540kB high:5448kB active_anon:4872kB inactive_anon:68kB
active_file:1796kB inactive_file:1796kB unevictable:0kB isolated(anon):0kB
isolated(file):0kB present:892920kB managed:842560kB mlocked:0kB dirty:0kB
writeback:0kB mapped:0kB shmem:4144kB slab_reclaimable:25676kB
slab_unreclaimable:39864kB kernel_stack:1944kB pagetables:3136kB unstable:0kB
bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:2412612
all_unreclaimable? yes
Mar 2 09:26:08 udknight kernel: [144766.778294] lowmem_reserve[]: 0 0
23451 23451
Mar 2 09:26:08 udknight kernel: [144766.778299] HighMem free:685676kB
min:512kB low:3748kB high:6984kB active_anon:182832kB inactive_anon:1149556kB
active_file:418544kB inactive_file:555932kB unevictable:2612kB
isolated(anon):0kB isolated(file):0kB present:3001732kB managed:3001732kB
mlocked:0kB dirty:0kB writeback:0kB mapped:17704kB shmem:1216964kB
slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB
unstable:0kB bounce:75771152kB free_cma:0kB writeback_tmp:0kB pages_scanned:0
all_unreclaimable? no
Mar 2 09:26:08 udknight kernel: [144766.778300] lowmem_reserve[]: 0 0 0 0
You can see bounce:75771152kB for HighMem, but bounce:0 for lowmem and
global.
This patch fix it.
Signed-off-by: Wang YanQing <udknight@xxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 4ada77e37a773168fea484899201e272ab44ba8b
Author: Marek Vasut <marex@xxxxxxx>
Date: Fri Apr 24 13:29:47 2015 +0200
ARM: dts: imx28: Fix AUART4 TX-DMA interrupt name
Fix a typo in the TX DMA interrupt name for AUART4.
This patch makes AUART4 operational again.
Signed-off-by: Marek Vasut <marex@xxxxxxx>
Fixes: f30fb03d4d3a ("ARM: dts: add generic DMA device tree binding for
mxs-dma")
Cc: stable@xxxxxxxxxxxxxxx
Acked-by: Stefan Wahren <stefan.wahren@xxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit f90d3f0d0a11fa77918fd5497cb616dd2faa8431
Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Date: Fri Apr 24 09:27:33 2015 +0200
ARM: dts: imx25: Add #pwm-cells to pwm4
The property '#pwm-cells' is currently missing. It is not possible to
use pwm4 without this property.
Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Fixes: 5658a68fb578 ("ARM i.MX25: Add devicetree")
Cc: <stable@xxxxxxxxxxxxxxx>
Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 30e5f003ff4b2be86f71733b6c9b11355d66584c
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Mon Apr 27 16:39:19 2015 +0200
ALSA: hda - Fix missing va_end() call in snd_hda_codec_pcm_new()
Reported by coverity CID 1296024.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 7f8d49dcc66a3dd3a8fc3078330b8fb9e616ad3f
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Tue Apr 21 15:59:53 2015 +0200
ARM: dts: imx6: phyFLEX: USB VBUS control is active-high
The fixed-regulator bindings require a separate property
enable-active-high,
the standard gpio phandle property polarity setting is ignored.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Fixes: 4fe69a934b1f ("ARM: dts: Add Phytec pfla02 with i.MX6
DualLite/Solo")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit cd17e02ff4db58ec32d35cf331c705d295779930
Author: Alex Deucher <alexander.deucher@xxxxxxx>
Date: Mon Apr 27 09:51:43 2015 -0400
drm/radeon: add SI DPM quirk for Sapphire R9 270 Dual-X 2G GDDR5
Seems to have problems with high mclks.
bug:
https://bugs.freedesktop.org/show_bug.cgi?id=76490
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit 7fe04d6fa824ccea704535a597dc417c8687f990
Author: Alex Deucher <alexander.deucher@xxxxxxx>
Date: Sun Apr 19 12:01:00 2015 -0400
drm/radeon: adjust pll when audio is not enabled
Fixes display problems with some monitors when audio
is not enabled.
Bugs:
https://bugs.freedesktop.org/show_bug.cgi?id=89505
https://bugzilla.kernel.org/show_bug.cgi?id=94171
Plus several reports on IRC.
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit 38aef1549b18539eaecd804383a6ccb6588a9ce1
Author: Alex Deucher <alexander.deucher@xxxxxxx>
Date: Tue Apr 7 10:20:49 2015 -0400
drm/radeon: only enable audio streams if the monitor supports it
Selectively enable which packets we send based on monitor caps.
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit 0f55db36d49d45b80eff0c0a2a498766016f458b
Author: Alex Deucher <alexander.deucher@xxxxxxx>
Date: Tue Apr 7 09:52:42 2015 -0400
drm/radeon: only mark audio as connected if the monitor supports it (v3)
Otherwise the driver may try and send audio which may confuse the
monitor.
v2: set pin to NULL if no audio
v3: avoid crash with analog encoders
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit 362ff251390f3d1f8fe94666f4fc4e5876381114
Author: Alex Deucher <alexander.deucher@xxxxxxx>
Date: Tue Mar 31 11:43:12 2015 -0400
drm/radeon/audio: don't enable packets until the end
Don't enable the audio and avi infoframes and audio stream
until all the state is set up.
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit 12428327bbd1180b5d8ef83fdf9482b878d0502a
Author: Alex Deucher <alexander.deucher@xxxxxxx>
Date: Tue Mar 31 11:38:48 2015 -0400
drm/radeon: drop dce6_dp_enable
It's mostly duplicated with evergreen_dp_enable. This
is a prerequisite for fix implemented in another patch.
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit 304f07e9c8d302cf3183248cbabb40598eb5b732
Author: Alex Deucher <alexander.deucher@xxxxxxx>
Date: Tue Mar 31 10:33:05 2015 -0400
drm/radeon: fix ordering of AVI packet setup
Set the line first, then enable the stream. May fix
pink line problems on some displays.
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit b421ed15d2c3039eb724680e4de1e4b2bd196a9a
Author: Michel Dänzer <michel.daenzer@xxxxxxx>
Date: Thu Apr 16 11:17:27 2015 +0900
drm/radeon: Use drm_calloc_ab for CS relocs
The number of relocs is passed in by userspace and can be large. It has
been observed to cause kcalloc failures in the wild.
Cc: stable@xxxxxxxxxxxxxxx
Reviewed-by: Christian König <christian.koenig@xxxxxxx>
Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx>
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit 73459e2a1ada09a68c02cc5b73f3116fc8194b3d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 23 13:20:18 2015 +0200
x86: pvclock: Really remove the sched notifier for cross-cpu migrations
This reverts commits 0a4e6be9ca17c54817cf814b4b5aa60478c6df27
and 80f7fdb1c7f0f9266421f823964fd1962681f6ce.
The task migration notifier was originally introduced in order to support
the pvclock vsyscall with non-synchronized TSC, but KVM only supports it
with synchronized TSC. Hence, on KVM the race condition is only needed
due to a bad implementation on the host side, and even then it's so rare
that it's mostly theoretical.
As far as KVM is concerned it's possible to fix the host, avoiding the
additional complexity in the vDSO and the (re)introduction of the task
migration notifier.
Xen, on the other hand, hasn't yet implemented vsyscall support at
all, so we do not care about its plans for non-synchronized TSC.
Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Suggested-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5dca0d9147458be9b9363b8a484aa77d710b412a
Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Date: Wed Mar 25 12:08:14 2015 +0100
kvm: x86: fix kvmclock update protocol
The kvmclock spec says that the host will increment a version field to
an odd number, then update stuff, then increment it to an even number.
The host is buggy and doesn't do this, and the result is observable
when one vcpu reads another vcpu's kvmclock data.
There's no good way for a guest kernel to keep its vdso from reading
a different vcpu's kvmclock data, but we don't need to care about
changing VCPUs as long as we read a consistent data from kvmclock.
(VCPU can change outside of this loop too, so it doesn't matter if we
return a value not fit for this VCPU.)
Based on a patch by Radim KrÄ?máÅ?.
Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Acked-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit dc391502fdbf97a9cabdc58ba8c915175383f681
Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
Date: Fri Apr 17 17:50:49 2015 +0300
pinctrl: qcom-spmi: Fix pin direction configuration
Pin direction configuration was incorrectly overwritten
by output and function values in set_mux(). Fix this.
Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit a526973e0291b245aefe12023a7f775f3c0e59a2
Author: Andrew Andrianov <andrew@xxxxxxxxxx>
Date: Sat Apr 11 23:29:19 2015 +0300
pinctrl: mvebu: Fix mapping of pin 63 (gpo -> gpio)
Signed-off-by: Andrew Andrianov <andrew@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit a4811622fea15fdc78102069f573061fc87f3570
Author: Qipeng Zha <qipeng.zha@xxxxxxxxx>
Date: Fri Apr 10 06:25:10 2015 +0800
gpiolib: change gpio pin from unsigned to signed in acpi callback
The signed error will be wrongly used as valid gpio offset
Reported-by: David Binderman <dcb314@xxxxxxxxxxx>
Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx>
Signed-off-by: Qipeng Zha <qipeng.zha@xxxxxxxxx>
Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 07b0e5d49d227e3950cb13a3e8caf248ef2a310e
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Mon Apr 27 14:50:39 2015 +0200
ALSA: emux: Fix mutex deadlock at unloading
The emux-synth driver has a possible AB/BA mutex deadlock at unloading
the emu10k1 driver:
snd_emux_free() ->
snd_emux_detach_seq(): mutex_lock(&emu->register_mutex) ->
snd_seq_delete_kernel_client() ->
snd_seq_free_client(): mutex_lock(®ister_mutex)
snd_seq_release() ->
snd_seq_free_client(): mutex_lock(®ister_mutex) ->
snd_seq_delete_all_ports() ->
snd_emux_unuse(): mutex_lock(&emu->register_mutex)
Basically snd_emux_detach_seq() doesn't need a protection of
emu->register_mutex as it's already being unregistered. So, we can
get rid of this for avoiding the deadlock.
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 61b8c7b58450846b63b35e90866d2eb4fde44834
Author: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Date: Mon Apr 20 15:51:38 2015 +0200
ARM: mach-imx: devices: platform-sdhci-esdhc-imx: fix broken email address
My Pengutronix address is not valid anymore, redirect people to the
Pengutronix
kernel team.
Reported-by: Harald Geyer <harald@xxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 0fdebe1a2f4d3a8fc03754022fabf8ba95e131a3
Author: Stefan Wahren <stefan.wahren@xxxxxxxx>
Date: Tue Apr 14 20:37:26 2015 +0000
ARM: dts: imx23-olinuxino: Fix dr_mode of usb0
The dr_mode of usb0 on imx233-olinuxino is left to default "otg".
Since the green LED (GPIO2_1) on imx233-olinuxino is connected to the
same pin as USB_OTG_ID it's possible to disable USB host by LED toggling:
echo 0 > /sys/class/leds/green/brightness
[ 1068.890000] ci_hdrc ci_hdrc.0: remove, state 1
[ 1068.890000] usb usb1: USB disconnect, device number 1
[ 1068.920000] usb 1-1: USB disconnect, device number 2
[ 1068.920000] usb 1-1.1: USB disconnect, device number 3
[ 1069.070000] usb 1-1.2: USB disconnect, device number 4
[ 1069.450000] ci_hdrc ci_hdrc.0: USB bus 1 deregistered
[ 1074.460000] ci_hdrc ci_hdrc.0: timeout waiting for 00000800 in 11
This patch fixes the issue by setting dr_mode to "host" in the dts file.
Reported-by: Harald Geyer <harald@xxxxxxxxx>
Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx>
Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Reviewed-by: Marek Vasut <marex@xxxxxxx>
Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Fixes: b49312948285 ("ARM: dts: imx23-olinuxino: Add USB host support")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit cfe8c59762244251fd9a5e281d48808095ff4090
Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Date: Tue Apr 14 11:05:04 2015 -0300
ARM: dts: imx23-olinuxino: Fix polarity of LED GPIO
On imx23-olinuxino the LED turns on when level logic high is aplied to
GPIO2_1.
Fix the gpios property accordingly.
Fixes: b34aa1850244 ("ARM: dts: imx23-olinuxino: Remove unneeded
"default-on"")
Reported-by: Stefan Wahren <stefan.wahren@xxxxxxxx>
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Tested-by: Stefan Wahren <stefan.wahren@xxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit d02260824e2cad626fb2a9d62e27006d34b6dedc
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Mon Apr 27 13:00:09 2015 +0200
ALSA: emu10k1: Fix card shortname string buffer overflow
Some models provide too long string for the shortname that has 32bytes
including the terminator, and it results in a non-terminated string
exposed to the user-space. This isn't too critical, though, as the
string is stopped at the succeeding longname string.
This patch fixes such entries by dropping "SB" prefix (it's enough to
fit within 32 bytes, so far). Meanwhile, it also changes strcpy()
with strlcpy() to make sure that this kind of problem won't happen in
future, too.
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit b44166cd46e28dd608d5baa5873047a40f32919c
Author: Bob Liu <bob.liu@xxxxxxxxxx>
Date: Fri Apr 3 14:42:59 2015 +0800
xen/grant: introduce func gnttab_unmap_refs_sync()
There are several place using gnttab async unmap and wait for
completion, so move the common code to a function
gnttab_unmap_refs_sync().
Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx>
Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
commit 325d73bf8fea8af2227240b7305253fb052d3a68
Author: Bob Liu <bob.liu@xxxxxxxxxx>
Date: Fri Apr 3 14:42:58 2015 +0800
xen/blkback: safely unmap purge persistent grants
Commit c43cf3ea8385 ("xen-blkback: safely unmap grants in case they
are still in use") use gnttab_unmap_refs_async() to wait until the
mapped pages are no longer in use before unmapping them, but that
commit missed the persistent case. Purge persistent pages can't be
unmapped either unless no longer in use.
Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx>
Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
commit 6829e274a623187c24f7cfc0e3d35f25d087fcc5
Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Date: Thu Apr 23 12:46:16 2015 +0100
arm64: dma-mapping: always clear allocated buffers
Buffers allocated by dma_alloc_coherent() are always zeroed on Alpha,
ARM (32bit), MIPS, PowerPC, x86/x86_64 and probably other architectures.
It turned out that some drivers rely on this 'feature'. Allocated buffer
might be also exposed to userspace with dma_mmap() call, so clearing it
is desired from security point of view to avoid exposing random memory
to userspace. This patch unifies dma_alloc_coherent() behavior on ARM64
architecture with other implementations by unconditionally zeroing
allocated buffer.
Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+
Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 6544e67bfb1bf55bcf3c0f6b37631917e9acfb74
Author: Sudeep Holla <sudeep.holla@xxxxxxx>
Date: Wed Apr 22 18:16:33 2015 +0100
ARM64: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL
Since several interrupt controllers including GIC support both edge and
level triggered interrupts, it's useful to provide that information in
/proc/interrupts even on ARM64 similar to ARM and PPC.
This is based on Geert Uytterhoeven's commit 7c07005eea96 ("ARM: 8339/1:
Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL")
Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 878a84d5a8a18a4ab241d40cebb791d6aedf5605
Author: Andre Przywara <andre.przywara@xxxxxxx>
Date: Mon Apr 20 11:14:19 2015 +0100
arm64: add missing data types in smp_load_acquire/smp_store_release
Commit 8053871d0f7f ("smp: Fix smp_call_function_single_async()
locking") introduced a call to smp_load_acquire() with a u16 argument,
but we only cared about u32 and u64 types in that function so far.
This resulted in a compiler warning fortunately, pointing at an
uninitialized use. Due to the implementation structure the compiler
misses that bug in the smp_store_release(), though.
Add the u16 and u8 variants using ldarh/stlrh and ldarb/stlrb,
respectively. Together with the compiletime_assert_atomic_type() check
this should cover all cases now.
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 7290006d8c0900c56d8c58428134f02c35109d17
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Mon Apr 27 10:40:45 2015 +0200
ALSA: hda - Add mute-LED mode control to Thinkpad
This patch adds the missing flag to enable "Mute-LED Mode" mixer enum
ctl for Thinkpads that have also the software mute-LED control.
Reported-and-tested-by: Pali Rohár <pali.rohar@xxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit ee52e56e7b12834476cd0031c5986254ba1b6317
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Mon Apr 27 10:36:11 2015 +0200
ALSA: hda - Fix mute-LED fixed mode
The mute-LED mode control has the fixed on/off states that are
supposed to remain on/off regardless of the master switch. However,
this doesn't work actually because the vmaster hook is called in the
vmaster code itself.
This patch fixes it by calling the hook indirectly after checking the
mute LED mode.
Reported-and-tested-by: Pali Rohár <pali.rohar@xxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 3e1b0c4a9d563d7fc6e22dc92613cd3237bb5ce0
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Mon Apr 27 10:43:22 2015 +0200
ALSA: hda - Fix click noise at start on Dell XPS13
Dell XPS13 produces a click noise at boot up, and Gabriele spotted out
that it's triggered by the initial pin control of the mic (NID 0x19).
This has to be set to Hi-Z Vref while the driver initializes to Vref
80% as a normal mic.
This patch fixes the generic parser code not to override the target
vref if it has been already set by the driver, and adds a proper
initialization of the target vref for this pin in the Realtek driver
side.
Reported-and-tested-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 750e30d4076ae5e02ad13a376e96c95a2627742c
Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 11:50:13 2015 +0200
ARM: mvebu: armada-xp-openblocks-ax3-4: Disable internal RTC
There is no crystal connected to the internal RTC on the Open Block
AX3. So let's disable it in order to prevent the kernel probing the
driver uselessly. Eventually this patches removes the following
warning message from the boot log:
"rtc-mv d0010300.rtc: internal RTC not ticking"
Acked-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.8 +
commit 11133db7a836b0cb411faa048f07a38e994d1382
Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Date: Mon Apr 20 16:02:33 2015 +0200
ARM: ux500: Enable GPIO regulator for SD-card for snowball
Fixes: c94a4ab7af3f ("ARM: ux500: Disable the MMCI gpio-regulator by
default")
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit f9a8c3914ba85f19c3360b19612d77c47adb8942
Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Date: Mon Apr 20 16:02:32 2015 +0200
ARM: ux500: Enable GPIO regulator for SD-card for HREF boards
Fixes: c94a4ab7af3f ("ARM: ux500: Disable the MMCI gpio-regulator by
default")
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 53d2669844263fd5fdc70f0eb6a2eb8a21086d8e
Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Date: Mon Apr 20 16:02:31 2015 +0200
ARM: ux500: Move GPIO regulator for SD-card into board DTSs
The GPIO regulator for the SD-card isn't a ux500 SOC configuration, but
instead it's specific to the board. Move the definition of it, into the
board DTSs.
Fixes: c94a4ab7af3f ("ARM: ux500: Disable the MMCI gpio-regulator by
default")
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 00170528f0486c08a18475af7fefa0a7679e042d
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Thu Feb 19 18:46:46 2015 +0100
drivers: sh: Remove test for now unsupported sh7372
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx>
commit 230f259ffe4ad6d334bb100ce1c0c6a73ff18989
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Tue Feb 17 16:43:03 2015 +0100
drivers: sh: Disable PM runtime for multi-platform r8a73a4 with genpd
If the default PM domain using PM_CLK is used for PM runtime, the real PM
domain(s) cannot be registered from DT later.
Hence do not enable it when running a multi-platform kernel with genpd
support on an r8a73a4. The R-Mobile PM domain driver will take care of
PM runtime management of the module clocks.
The default PM domain is still needed for:
- platforms without genpd support,
- the legacy (non-DT) case, where genpd may take over later, except
for the C5 "always on" PM domain.
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx>
commit 41b4b3bc7905615f7617c88bf9cf4b3b04bda78f
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Tue Feb 17 16:31:39 2015 +0100
drivers: sh: Disable PM runtime for multi-platform sh73a0 with genpd
If the default PM domain using PM_CLK is used for PM runtime, the real PM
domain(s) cannot be registered from DT later.
Hence do not enable it when running a multi-platform kernel with genpd
support on an sh73a0. The R-Mobile PM domain driver will take care of
PM runtime management of the module clocks.
The default PM domain is still needed for:
- platforms without genpd support,
- the legacy (non-DT) case, where genpd may take over later, except
for the C5 "always on" PM domain.
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx>
commit 8e9b29cc716c7940f9ad1d635fb3f725435b8ae9
Merge: 73b5a6f 0365476
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Sun Apr 26 23:25:13 2015 -0400
Merge branch 'ppp_mppe_desync'
Sylvain Rochet says:
====================
ppp: mppe: fixes MPPE desync on links which don't guarantee packet
ordering
I am currently having an issue with PPP over L2TP (UDP) and MPPE in
stateless mode (default mode), UDP does not guarantee packet ordering so
we might get out of order packet. MPPE needs to be continuously synched
so we should drop late UDP packet.
I added a printk on the number of time we rekeyed in MPPE decompressor,
this is what we currently have if we receive a slightly out of order UDP
packet:
[1731001.049206] mppe_decompress[1]: ccount 1559
[1731001.049216] mppe_decompress[1]: rekeyed 1 times
[1731001.049228] mppe_decompress[1]: ccount 1560
[1731001.049232] mppe_decompress[1]: rekeyed 1 times
[1731001.050170] mppe_decompress[1]: ccount 1562
[1731001.050182] mppe_decompress[1]: rekeyed 2 times
[1731001.050191] mppe_decompress[1]: ccount 1561
[1731001.062576] mppe_decompress[1]: rekeyed 4095 times
^^^^
This is obviously wrong, we missed packet 1561 and we already rekeyed 2
times for 1562 we previously received, we can't recover the decryption
key we need for 1561, we should drop it instead of rekeying 4095 times.
This patch series drop any packet with are not within the 4096/2 forward
window.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 03654763148f9a3878b8b70c30d1ffce2fca3dff
Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx>
Date: Sun Apr 26 20:40:53 2015 +0200
ppp: mppe: discard late packet in stateless mode
When PPP is used over a link which does not guarantee packet ordering,
we might get late MPPE packets. This is a problem because MPPE must be
kept synchronized and the current implementation does not drop them and
rekey 4095 times instead of 0, which is wrong.
In order to prevent rekeying about a whole count space times (~ 4095
times), drop packets which are not within the forward 4096/2 window and
increase sanity error counter.
Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 325301892a2d348323e09598ae108ba26889f7f9
Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx>
Date: Sun Apr 26 20:40:52 2015 +0200
ppp: mppe: sanity error path rework
We are going to need sanity error path a little further, rework to be
able to use the sanity error path anywhere in decompressor.
Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 801661467fd50832191c81665d061ffabcc1c5de
Author: Jean Delvare <jdelvare@xxxxxxx>
Date: Sun Apr 26 12:52:02 2015 +0200
dmaengine: xgene: Set hardware dependency
The xgene-dma driver is only useful on X-Gene SoC.
Signed-off-by: Jean Delvare <jdelvare@xxxxxxx>
Cc: Rameshwar Prasad Sahu <rsahu@xxxxxxx>
Cc: Loc Ho <lho@xxxxxxx>
Cc: Vinod Koul <vinod.koul@xxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit 8ad31bf45db1c4a8f400cbc10400ce9fc0bed227
Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Sun Apr 26 11:53:54 2015 +0200
dmaengine: usb-dmac: Protect PM-only functions to kill warning
If CONFIG_PM=n:
drivers/dma/sh/usb-dmac.c:677: warning:
â??usb_dmac_runtime_suspendâ?? defined but not used
drivers/dma/sh/usb-dmac.c:688: warning: â??usb_dmac_runtime_resumeâ??
defined but not used
Protect the unused functions by #ifdef CONFIG_PM to fix this.
Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit 73b5a6f2a7a1cb78ccdec3900afc8657e11bc6bf
Author: Matan Barak <matanb@xxxxxxxxxxxx>
Date: Sun Apr 26 15:55:57 2015 +0300
net/bonding: Make DRV macros private
The bonding modules currently defines four macros with
general names that pollute the global namespace:
DRV_VERSION
DRV_RELDATE
DRV_NAME
DRV_DESCRIPTION
Fixing that by defining a private bonding_priv.h
header files which includes those defines.
Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b787f68c36d49bb1d9236f403813641efa74a031
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 26 17:59:10 2015 -0700
Linux 4.1-rc1
commit 61f01dd941ba9e06d2bf05994450ecc3d61b6b8b
Author: Andy Lutomirski <luto@xxxxxxxxxx>
Date: Sun Apr 26 16:47:59 2015 -0700
x86_64, asm: Work around AMD SYSRET SS descriptor attribute issue
AMD CPUs don't reinitialize the SS descriptor on SYSRET, so SYSRET with
SS == 0 results in an invalid usermode state in which SS is apparently
equal to __USER_DS but causes #SS if used.
Work around the issue by setting SS to __KERNEL_DS __switch_to, thus
ensuring that SYSRET never happens with SS set to NULL.
This was exposed by a recent vDSO cleanup.
Fixes: e7d6eefaaa44 x86/vdso32/syscall.S: Do not load __USER32_DS to %ss
Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Peter Anvin <hpa@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 1190944f4b12203330ac5ed8784f6c181bf26f2d
Merge: 9f86262 59fd7e4
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 26 17:55:26 2015 -0700
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Pull intel drm fixes from Dave Airlie.
* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
drm/i915: vlv: fix save/restore of GFX_MAX_REQ_COUNT reg
drm/i915: Workaround to avoid lite restore with HEAD==TAIL
drm/i915: cope with large i2c transfers
commit 9f86262dcc573ca195488de9ec6e4d6d74288ad3
Merge: 85f2901 03ecc32
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 26 17:47:46 2015 -0700
Merge git://git.infradead.org/intel-iommu
Pull intel iommu updates from David Woodhouse:
"This lays a little of the groundwork for upcoming Shared Virtual
Memory support â?? fixing some bogus #defines for capability bits and
adding the new ones, and starting to use the new wider page tables
where we can, in anticipation of actually filling in the new fields
therein.
It also allows graphics devices to be assigned to VM guests again.
This got broken in 3.17 by disallowing assignment of RMRR-afflicted
devices. Like USB, we do understand why there's an RMRR for graphics
devices â?? and unlike USB, it's actually sane. So we can make an
exception for graphics devices, just as we do USB controllers.
Finally, tone down the warning about the X2APIC_OPT_OUT bit, due to
persistent requests. X2APIC_OPT_OUT was added to the spec as a nasty
hack to allow broken BIOSes to forbid us from using X2APIC when they
do stupid and invasive things and would break if we did.
Someone noticed that since Windows doesn't have full IOMMU support for
DMA protection, setting the X2APIC_OPT_OUT bit made Windows avoid
initialising the IOMMU on the graphics unit altogether.
This means that it would be available for use in "driver mode", where
the IOMMU registers are made available through a BAR of the graphics
device and the graphics driver can do SVM all for itself.
So they started setting the X2APIC_OPT_OUT bit on *all* platforms with
SVM capabilities. And even the platforms which *might*, if the
planets had been aligned correctly, possibly have had SVM capability
but which in practice actually don't"
* git://git.infradead.org/intel-iommu:
iommu/vt-d: support extended root and context entries
iommu/vt-d: Add new extended capabilities from v2.3 VT-d specification
iommu/vt-d: Allow RMRR on graphics devices too
iommu/vt-d: Print x2apic opt out info instead of printing a warning
iommu/vt-d: kill bogus ecap_niotlb_iunits()
commit 85f2901bdf4bdc0d034e1bbe8629e269ec200389
Merge: f583381 fcdd5f0
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 26 17:44:09 2015 -0700
Merge branch 'i2c/for-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c fixes from Wolfram Sang:
"This has a mixture of merge window cleanups and bugfixes"
* 'i2c/for-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
i2c: st: add include for pinctrl
i2c: mux: use proper dev when removing "channel-X" symlinks
i2c: digicolor: remove duplicate include
i2c: Mark adapter devices with pm_runtime_no_callbacks
i2c: pca-platform: fix broken email address
i2c: mxs: fix broken email address
i2c: rk3x: report number of messages transmitted
commit f583381f506dc53b9d3e98cf9d6577323eb3fcd2
Merge: 59953fb a3bdccc
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 26 17:40:30 2015 -0700
Merge branch 'for-linus-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
Pull btrfs fixes from Chris Mason:
"Filipe hit two problems in my block group cache patches. We finalized
the fixes last week and ran through more tests"
* 'for-linus-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
Btrfs: prevent list corruption during free space cache processing
Btrfs: fix inode cache writeout
commit 59fd7e4b0b0769638b5162e56c28bbb027a118d3
Merge: c8b3fd0 b5f1c97
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Mon Apr 27 10:35:15 2015 +1000
Merge tag 'drm-intel-next-fixes-2015-04-25' of
git://anongit.freedesktop.org/drm-intel into drm-fixes
three fixes for i915.
* tag 'drm-intel-next-fixes-2015-04-25' of
git://anongit.freedesktop.org/drm-intel:
drm/i915: vlv: fix save/restore of GFX_MAX_REQ_COUNT reg
drm/i915: Workaround to avoid lite restore with HEAD==TAIL
drm/i915: cope with large i2c transfers
commit 59953fba87e5e535657403cc6439d24187929559
Merge: 9ec3a64 f139b6c
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 26 17:33:59 2015 -0700
Merge tag 'nfs-for-4.1-1' of
git://git.linux-nfs.org/projects/trondmy/linux-nfs
Pull NFS client updates from Trond Myklebust:
"Another set of mainly bugfixes and a couple of cleanups. No new
functionality in this round.
Highlights include:
Stable patches:
- Fix a regression in /proc/self/mountstats
- Fix the pNFS flexfiles O_DIRECT support
- Fix high load average due to callback thread sleeping
Bugfixes:
- Various patches to fix the pNFS layoutcommit support
- Do not cache pNFS deviceids unless server notifications are enabled
- Fix a SUNRPC transport reconnection regression
- make debugfs file creation failure non-fatal in SUNRPC
- Another fix for circular directory warnings on NFSv4 "junctioned"
mountpoints
- Fix locking around NFSv4.2 fallocate() support
- Truncating NFSv4 file opens should also sync O_DIRECT writes
- Prevent infinite loop in rpcrdma_ep_create()
Features:
- Various improvements to the RDMA transport code's handling of
memory registration
- Various code cleanups"
* tag 'nfs-for-4.1-1' of
git://git.linux-nfs.org/projects/trondmy/linux-nfs: (55 commits)
fs/nfs: fix new compiler warning about boolean in switch
nfs: Remove unneeded casts in nfs
NFS: Don't attempt to decode missing directory entries
Revert "nfs: replace nfs_add_stats with nfs_inc_stats when add one"
NFS: Rename idmap.c to nfs4idmap.c
NFS: Move nfs_idmap.h into fs/nfs/
NFS: Remove CONFIG_NFS_V4 checks from nfs_idmap.h
NFS: Add a stub for GETDEVICELIST
nfs: remove WARN_ON_ONCE from nfs_direct_good_bytes
nfs: fix DIO good bytes calculation
nfs: Fetch MOUNTED_ON_FILEID when updating an inode
sunrpc: make debugfs file creation failure non-fatal
nfs: fix high load average due to callback thread sleeping
NFS: Reduce time spent holding the i_mutex during fallocate()
NFS: Don't zap caches on fallocate()
xprtrdma: Make rpcrdma_{un}map_one() into inline functions
xprtrdma: Handle non-SEND completions via a callout
xprtrdma: Add "open" memreg op
xprtrdma: Add "destroy MRs" memreg op
xprtrdma: Add "reset MRs" memreg op
...
commit 9ec3a646fe09970f801ab15e0f1694060b9f19af
Merge: c8b3fd0 3cab989
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 26 15:48:49 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull fourth vfs update from Al Viro:
"d_inode() annotations from David Howells (sat in for-next since before
the beginning of merge window) + four assorted fixes"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
RCU pathwalk breakage when running into a symlink overmounting something
fix I_DIO_WAKEUP definition
direct-io: only inc/dec inode->i_dio_count for file systems
fs/9p: fix readdir()
VFS: assorted d_backing_inode() annotations
VFS: fs/inode.c helpers: d_inode() annotations
VFS: fs/cachefiles: d_backing_inode() annotations
VFS: fs library helpers: d_inode() annotations
VFS: assorted weird filesystems: d_inode() annotations
VFS: normal filesystems (and lustre): d_inode() annotations
VFS: security/: d_inode() annotations
VFS: security/: d_backing_inode() annotations
VFS: net/: d_inode() annotations
VFS: net/unix: d_backing_inode() annotations
VFS: kernel/: d_inode() annotations
VFS: audit: d_backing_inode() annotations
VFS: Fix up some ->d_inode accesses in the chelsio driver
VFS: Cachefiles should perform fs modifications on the top layer only
VFS: AF_UNIX sockets should call mknod on the top layer only
commit c8b3fd0ce313443731e8fd6d5a541085eb465f99
Merge: d89b3e1 e0155a9
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 26 13:56:35 2015 -0700
Merge tag 'pm+acpi-4.1-rc1-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull more power management and ACPI updates from Rafael Wysocki:
"These are fixes mostly (intel_pstate, ACPI core, ACPI EC driver,
cpupower tool), a new CPU ID for the Intel RAPL driver and one
intel_pstate driver improvement that didn't make it to my previous
pull requests due to timing.
Specifics:
- Fix a build warning in the intel_pstate driver showing up in
non-SMP builds (Borislav Petkov)
- Change one of the intel_pstate's P-state selection parameters for
Baytrail and Cherrytrail CPUs to significantly improve performance
at the cost of a small increase in energy consumption (Kristen
Carlson Accardi)
- Fix a NULL pointer dereference in the ACPI EC driver due to an
unsafe list walk in the query handler removal routine (Chris
Bainbridge)
- Get rid of a false-positive lockdep warning in the ACPI container
hot-remove code (Rafael J Wysocki)
- Prevent the ACPI device enumeration code from creating device
objects of a wrong type in some cases (Rafael J Wysocki)
- Add Skylake processors support to the Intel RAPL power capping
driver (Brian Bian)
- Drop the stale MAINTAINERS entry for the ACPI dock driver that is
regarded as part of the ACPI core and maintained along with it now
(Chao Yu)
- Fix cpupower tool breakage caused by a library API change in libpci
3.3.0 (Lucas Stach)"
* tag 'pm+acpi-4.1-rc1-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
ACPI / scan: Add a scan handler for PRP0001
ACPI / scan: Annotate physical_node_lock in acpi_scan_is_offline()
ACPI / EC: fix NULL pointer dereference in
acpi_ec_remove_query_handler()
MAINTAINERS: remove maintainship entry of docking station driver
powercap / RAPL: Add support for Intel Skylake processors
cpufreq: intel_pstate: Fix an annoying !CONFIG_SMP warning
intel_pstate: Change the setpoint for Atom params
cpupower: fix breakage from libpci API change
commit d89b3e19ef98a8d3b81a9f8a62c6ac89fd00412e
Merge: 78d4256 8c98ebd
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 26 13:51:05 2015 -0700
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto fixes from Herbert Xu:
"This push fixes a build problem with img-hash under non-standard
configurations and a serious regression with sha512_ssse3 which can
lead to boot failures"
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
crypto: img-hash - CRYPTO_DEV_IMGTEC_HASH should depend on HAS_DMA
crypto: x86/sha512_ssse3 - fixup for asm function prototype change
commit 78d425677217b655ed36c492a070b5002832fc73
Merge: 36a8032 358d6a2
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 26 13:44:46 2015 -0700
Merge tag 'platform-drivers-x86-v4.1-1' of
git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
Pull x86 platform driver updates from Darren Hart:
"This series includes significant updates to the toshiba_acpi driver
and the reintroduction of the dell-laptop keyboard backlight additions
I had to revert previously. Also included are various fixes for
typos, warnings, correctness, and minor bugs.
Specifics:
dell-laptop:
- add support for keyboard backlight.
toshiba_acpi:
- adaptive keyboard, hotkey, USB sleep and charge, and backlight
updates. Update sysfs documentation.
toshiba_bluetooth:
- fix enabling/disabling loop on recent devices
apple-gmux:
- lock iGP IO to protect from vgaarb changes
other:
- Fix typos, clear gcc warnings, clarify pr_* messages, correct
return types, update MAINTAINERS"
* tag 'platform-drivers-x86-v4.1-1' of
git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (25 commits)
toshiba_acpi: Do not register vendor backlight when acpi_video bl is
available
MAINTAINERS: Add me on list of Dell laptop drivers
platform: x86: dell-laptop: Add support for keyboard backlight
Documentation/ABI: Update sysfs-driver-toshiba_acpi entry
toshiba_acpi: Fix pr_* messages from USB Sleep Functions
toshiba_acpi: Update and fix USB Sleep and Charge modes
wmi: Use bool function return values of true/false not 1/0
toshiba_bluetooth: Fix enabling/disabling loop on recent devices
toshiba_bluetooth: Clean up *_add function and disable BT device at
removal
toshiba_bluetooth: Add three new functions to the driver
toshiba_acpi: Fix the enabling of the Special Functions
toshiba_acpi: Use the Hotkey Event Type function for keymap choosing
toshiba_acpi: Add Hotkey Event Type function and definitions
x86/wmi: delete unused wmi_data_lock mutex causing gcc warning
apple-gmux: lock iGP IO to protect from vgaarb changes
MAINTAINERS: Add missing Toshiba devices and add myself as maintainer
toshiba_acpi: Update events in toshiba_acpi_notify
intel-oaktrail: Fix trivial typo in comment
thinkpad_acpi: off by one in adaptive_keyboard_hotkey_notify_hotkey()
thinkpad_acpi: signedness bugs getting current_mode
...
commit 36a8032d77649430f5ef11fbf0df2bb026be0b04
Merge: 7f9f443 96cba9b
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 26 13:36:02 2015 -0700
Merge tag 'chrome-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform
Pull chrome platform updates from Olof Johansson:
"Here's a set of updates to the Chrome OS platform drivers for this
merge window.
Main new things this cycle is:
- Driver changes to expose the lightbar to users. With this, you can
make your own blinkenlights on Chromebook Pixels.
- Changes in the way that the atmel_mxt trackpads are probed. The
laptop driver is trying to be smart and not instantiate the devices
that don't answer to probe. For the trackpad that can come up in
two modes (bootloader or regular), this gets complicated since the
driver already knows how to handle the two modes including the
actual addresses used. So now the laptop driver needs to know more
too, instantiating the regular address even if the bootloader one
is the probe that passed.
- mfd driver improvements by Javier Martines Canillas, and a few
bugfixes from him, kbuild and myself"
* tag 'chrome-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform:
platform/chrome: chromeos_laptop - instantiate Atmel at primary address
platform/chrome: cros_ec_lpc - Depend on X86 || COMPILE_TEST
platform/chrome: cros_ec_lpc - Include linux/io.h header file
platform/chrome: fix platform_no_drv_owner.cocci warnings
platform/chrome: cros_ec_lightbar - fix duplicate const warning
platform/chrome: cros_ec_dev - fix Unknown escape '%' warning
platform/chrome: Expose Chrome OS Lightbar to users
platform/chrome: Create sysfs attributes for the ChromeOS EC
mfd: cros_ec: Instantiate ChromeOS EC character device
platform/chrome: Add Chrome OS EC userspace device interface
platform/chrome: Add cros_ec_lpc driver for x86 devices
mfd: cros_ec: Add char dev and virtual dev pointers
mfd: cros_ec: Use fixed size arrays to transfer data with the EC
commit 7f9f44308c8993c9ab8078d174dad34bea3e82d7
Merge: 63905bb d939b52
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 26 13:31:05 2015 -0700
Merge tag 'cris-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris
Pull arch/cris updates from Jesper Nilsson:
"Some much needed love for the CRIS-port.
There's a bunch of changes this time, giving the CRISv32 port a bit of
modern makeover with device-tree, irq domain and gpiolib support, and
more switchover to generic frameworks.
Some small fixes and removal of the theoretical SMP support brings up
the rear"
* tag 'cris-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris:
cris: fix integer overflow in ELF_ET_DYN_BASE
CRISv32: use GENERIC_SCHED_CLOCK
CRISv32: use MMIO clocksource
CRISv32: use generic clockevents
CRIS: use generic headers via Kbuild
CRIS: use generic cmpxchg.h
CRIS: use generic atomic.h
CRIS: use generic atomic bitops
CRISv10: remove redundant macros from system.h
CRIS: remove SMP code
CRISv32: don't enable irqs in INIT_THREAD
CRISv32: handle multiple signals
CRISv32: prevent bogus restarts on sigreturn
CRISv32: don't attempt syscall restart on irq exit
Add binding documentation for CRIS
CRIS: add Axis 88 board device tree
CRISv32: add device tree support
CRISv32: add irq domains support
CRIS: enable GPIOLIB
commit 63905bba5b0170492777b327ac5e2aaef64989d6
Merge: eadf16a 2e826695
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 26 13:23:15 2015 -0700
Merge tag 'powerpc-4.1-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux
Pull powerpc fixes from Michael Ellerman:
- fix for mm_dec_nr_pmds() from Scott.
- fixes for oopses seen with KVM + THP from Aneesh.
- build fixes from Aneesh & Shreyas.
* tag 'powerpc-4.1-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
powerpc/mm: Fix build error with CONFIG_PPC_TRANSACTIONAL_MEM disabled
powerpc/kvm: Fix ppc64_defconfig + PPC_POWERNV=n build error
powerpc/mm/thp: Return pte address if we find trans_splitting.
powerpc/mm/thp: Make page table walk safe against thp split/collapse
KVM: PPC: Remove page table walk helpers
KVM: PPC: Use READ_ONCE when dereferencing pte_t pointer
powerpc/hugetlb: Call mm_dec_nr_pmds() in hugetlb_free_pmd_range()
commit a31196b07f8034eba6a3487a1ad1bb5ec5cd58a5
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Sat Apr 25 09:35:24 2015 -0700
net: rfs: fix crash in get_rps_cpus()
Commit 567e4b79731c ("net: rfs: add hash collision detection") had one
mistake :
RPS_NO_CPU is no longer the marker for invalid cpu in set_rps_cpu()
and get_rps_cpu(), as @next_cpu was the result of an AND with
rps_cpu_mask
This bug showed up on a host with 72 cpus :
next_cpu was 0x7f, and the code was trying to access percpu data of an
non existent cpu.
In a follow up patch, we might get rid of compares against nr_cpu_ids,
if we init the tables with 0. This is silly to test for a very unlikely
condition that exists only shortly after table initialization, as
we got rid of rps_reset_sock_flow() and similar functions that were
writing this RPS_NO_CPU magic value at flow dismantle : When table is
old enough, it never contains this value anymore.
Fixes: 567e4b79731c ("net: rfs: add hash collision detection")
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx>
Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7cdbc6f74f8e6c06304b69b4e944fbd669581c7c
Author: Andreas Oetken <ennoerlangen@xxxxxxxxx>
Date: Sat Apr 25 18:07:52 2015 +0200
altera tse: add support for fixed-links.
Add support for fixed-links in configurations without PHY.
(e.g. connection to a switch, SGMII point to point, SFPs)
Check: Documentation/devicetree/bindings/net/fixed-link.txt.
Signed-off-by: Andreas Oetken <ennoerlangen@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit eadf16a912b6bdf8bd476bde2f19fb41d06e0c3b
Merge: 4a65546 2fa462f
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 26 13:06:22 2015 -0700
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull second batch of KVM changes from Paolo Bonzini:
"This mostly includes the PPC changes for 4.1, which this time cover
Book3S HV only (debugging aids, minor performance improvements and
some cleanups). But there are also bug fixes and small cleanups for
ARM, x86 and s390.
The task_migration_notifier revert and real fix is still pending
review, but I'll send it as soon as possible after -rc1"
* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (29
commits)
KVM: arm/arm64: check IRQ number on userland injection
KVM: arm: irqfd: fix value returned by kvm_irq_map_gsi
KVM: VMX: Preserve host CR4.MCE value while in guest mode.
KVM: PPC: Book3S HV: Use msgsnd for signalling threads on POWER8
KVM: PPC: Book3S HV: Translate kvmhv_commence_exit to C
KVM: PPC: Book3S HV: Streamline guest entry and exit
KVM: PPC: Book3S HV: Use bitmap of active threads rather than count
KVM: PPC: Book3S HV: Use decrementer to wake napping threads
KVM: PPC: Book3S HV: Don't wake thread with no vcpu on guest IPI
KVM: PPC: Book3S HV: Get rid of vcore nap_count and n_woken
KVM: PPC: Book3S HV: Move vcore preemption point up into kvmppc_run_vcpu
KVM: PPC: Book3S HV: Minor cleanups
KVM: PPC: Book3S HV: Simplify handling of VCPUs that need a VPA update
KVM: PPC: Book3S HV: Accumulate timing information for real-mode code
KVM: PPC: Book3S HV: Create debugfs file for each guest's HPT
KVM: PPC: Book3S HV: Add ICP real mode counters
KVM: PPC: Book3S HV: Move virtual mode ICP functions to real-mode
KVM: PPC: Book3S HV: Convert ICS mutex lock to spin lock
KVM: PPC: Book3S HV: Add guest->host real mode completion counters
KVM: PPC: Book3S HV: Add helpers for lock/unlock hpte
...
commit 0e03fd3e335d272bee88fe733d5fd13f5c5b7140
Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>
Date: Sat Apr 25 04:07:03 2015 +0300
pxa168: fix double deallocation of managed resources
Commit 43d3ddf87a57 ("net: pxa168_eth: add device tree support") starts
to use managed resources by adding devm_clk_get() and
devm_ioremap_resource(), but it leaves explicit iounmap() and clock_put()
in pxa168_eth_remove() and in failure handling code of pxa168_eth_probe().
As a result double free can happen.
The patch removes explicit resource deallocation. Also it converts
clk_disable() to clk_disable_unprepare() to make it symmetrical with
clk_prepare_enable().
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4a6554665c62ee39be40f4a18c3d37e49d03ccc1
Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Mon Apr 13 12:48:27 2015 +1000
v4l: xilinx: fix for include file movement
Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6e17d30bfaf43e04d991392d8484f1c556810c33
Author: Yang Dongsheng <yangds.fnst@xxxxxxxxxxxxxx>
Date: Thu Apr 9 12:08:43 2015 +0800
Btrfs: fill ->last_trans for delayed inode in btrfs_fill_inode.
We need to fill inode when we found a node for it in delayed_nodes_tree.
But we did not fill the ->last_trans currently, it will cause the test
of xfstest/generic/311 fail. Scenario of the 311 is shown as below:
Problem:
(1). test_fd = open(fname, O_RDWR|O_DIRECT)
(2). pwrite(test_fd, buf, 4096, 0)
(3). close(test_fd)
(4). drop_all_caches() <-------- "echo 3 > /proc/sys/vm/drop_caches"
(5). test_fd = open(fname, O_RDWR|O_DIRECT)
(6). fsync(test_fd);
<-------- we did not get the correct log entry
for the file
Reason:
When we re-open this file in (5), we would find a node
in delayed_nodes_tree and fill the inode we are lookup with the
information. But the ->last_trans is not filled, then the fsync()
will check the ->last_trans and found it's 0 then say this inode
is already in our tree which is commited, not recording the extents
for it.
Fix:
This patch fill the ->last_trans properly and set the
runtime_flags if needed in this situation. Then we can get the
log entries we expected after (6) and generic/311 passed.
Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Miao Xie <miaoxie@xxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 909e26dce3f7600f5e293ac0522c28790a0c8c9c
Author: Omar Sandoval <osandov@xxxxxxxxxxx>
Date: Fri Apr 10 14:20:40 2015 -0700
btrfs: unlock i_mutex after attempting to delete subvolume during send
Whenever the check for a send in progress introduced in commit
521e0546c970 (btrfs: protect snapshots from deleting during send) is
hit, we return without unlocking inode->i_mutex. This is easy to see
with lockdep enabled:
[ +0.000059] ================================================
[ +0.000028] [ BUG: lock held when returning to user space! ]
[ +0.000029] 4.0.0-rc5-00096-g3c435c1 #93 Not tainted
[ +0.000026] ------------------------------------------------
[ +0.000029] btrfs/211 is leaving the kernel with locks still held!
[ +0.000029] 1 lock held by btrfs/211:
[ +0.000023] #0: (&type->i_mutex_dir_key){+.+.+.}, at:
[<ffffffff8135b8df>] btrfs_ioctl_snap_destroy+0x2df/0x7a0
Make sure we unlock it in the error path.
Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx>
Reviewed-by: David Sterba <dsterba@xxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit b86054540e4ad7d8df67f3a80658d037a2ce1c02
Author: Omar Sandoval <osandov@xxxxxxxxxxx>
Date: Tue Feb 24 02:47:06 2015 -0800
btrfs: check io_ctl_prepare_pages return in __btrfs_write_out_cache
If io_ctl_prepare_pages fails, the pages in io_ctl.pages are not valid.
When we try to access them later, things will blow up in various ways.
Also fix the comment about the return value, which is an errno on error,
not -1, and update the cases where it was not.
Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx>
Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 5ca64f45e92dc52bd3bc1ad93f4f9e5a57955f28
Author: Omar Sandoval <osandov@xxxxxxxxxxx>
Date: Tue Feb 24 02:47:05 2015 -0800
btrfs: fix race on ENOMEM in alloc_extent_buffer
Consider the following interleaving of overlapping calls to
alloc_extent_buffer:
Call 1:
- Successfully allocates a few pages with find_or_create_page
- find_or_create_page fails, goto free_eb
- Unlocks the allocated pages
Call 2:
- Calls find_or_create_page and gets a page in call 1's extent_buffer
- Finds that the page is already associated with an extent_buffer
- Grabs a reference to the half-written extent_buffer and calls
mark_extent_buffer_accessed on it
mark_extent_buffer_accessed will then try to call mark_page_accessed on
a null page and panic.
The fix is to decrement the reference count on the half-written
extent_buffer before unlocking the pages so call 2 won't use it. We
should also set exists = NULL in the case that we don't use exists to
avoid accidentally returning a freed extent_buffer in an error case.
Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx>
Reviewed-by: David Sterba <dsterba@xxxxxxx>
Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 67b7859e9bfa0dcee5a8256932e393e98739be1b
Author: Omar Sandoval <osandov@xxxxxxxxxxx>
Date: Tue Feb 24 02:47:04 2015 -0800
btrfs: handle ENOMEM in btrfs_alloc_tree_block
This is one of the first places to give out when memory is tight. Handle
it properly rather than with a BUG_ON.
Also fix the comment about the return value, which is an ERR_PTR, not
NULL, on error.
Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx>
Reviewed-by: David Sterba <dsterba@xxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 1b9845081633072c18f30d8cfd09c267adf0b109
Author: Forrest Liu <forrestl@xxxxxxxxxxxx>
Date: Mon Feb 9 17:30:47 2015 +0800
Btrfs: fix find_free_dev_extent() malfunction in case device tree has hole
If device tree has hole, find_free_dev_extent() cannot find available
address properly.
The problem can be reproduce by following script.
mntpath=/btrfs
loopdev=/dev/loop0
filepath=/home/forrest/image
umount $mntpath
losetup -d $loopdev
truncate --size 100g $filepath
losetup $loopdev $filepath
mkfs.btrfs -f $loopdev
mount $loopdev $mntpath
# make device tree with one big hole
for i in `seq 1 1 100`; do
fallocate -l 1g $mntpath/$i
done
sync
for i in `seq 1 1 95`; do
rm $mntpath/$i
done
sync
# wait cleaner thread remove unused block group
sleep 300
fallocate -l 1g $mntpath/aaa
# failed to allocate new chunk
fallocate -l 1g $mntpath/bbb
Above script will make device tree with one big hole, and can only
allocate
just one chunk in a transaction, so failed to allocate new chunk for
$mntpath/bbb
item 8 key (1 DEV_EXTENT 2185232384) itemoff 15859 itemsize 48
dev extent chunk_tree 3
chunk objectid 256 chunk offset 106292051968 length 1073741824
item 9 key (1 DEV_EXTENT 104190705664) itemoff 15811 itemsize 48
dev extent chunk_tree 3
chunk objectid 256 chunk offset 103108575232 length 1073741824
Signed-off-by: Forrest Liu <forrestl@xxxxxxxxxxxx>
Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit e4c88f007be78d38eaef316c599a1ee2f0272c15
Author: Chris Mason <clm@xxxxxx>
Date: Sat Apr 18 05:22:48 2015 -0700
Btrfs: don't check for delalloc_bytes in cache_save_setup
Now that we're doing free space cache writeback outside the critical
section in the commit, there is a bigger window for delalloc_bytes to
be added after a cache has been written. find_free_extent may do this
without putting the block group back into the dirty list, and also
without a transaction running.
Checking for delalloc_bytes in cache_save_setup means we might leave the
cache marked as written without invalidating it. Consistency checks
during mount will toss the cache, but it's better to get rid of the
check in cache_save_setup and let it get invalidated by the checks
already done during cache write out.
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 24b89d08ef63f9c62e55593e27a55e57b0062046
Author: Filipe Manana <fdmanana@xxxxxxxx>
Date: Sat Apr 25 18:31:05 2015 +0100
Btrfs: fix deadlock when starting writeback of bg caches
While starting the writes of the dirty block group caches, if we don't
find a block group item in the extent tree we were leaving without
releasing our path, running delayed references and then looping again to
process any new dirty block groups. However this second iteration of the
loop could cause a deadlock because it tries to lock some other extent
tree node/leaf which another task already locked and it's blocked because
it's waiting for a lock on some node/leaf that is in our path that was not
released before.
We could also deadlock when running the delayed references - as we could
end up trying to lock the same nodes/leafs that we have in our local path
(with a different lock type).
Got into such case when running xfstests:
[20892.242791] ------------[ cut here ]------------
[20892.243776] WARNING: CPU: 0 PID: 13299 at fs/btrfs/super.c:260
__btrfs_abort_transaction+0x52/0x114 [btrfs]()
[20892.245874] BTRFS: Transaction aborted (error -2)
(...)
[20892.269378] Call Trace:
[20892.269915] [<ffffffff8142fa46>] dump_stack+0x4f/0x7b
[20892.271097] [<ffffffff8108b6a2>] ? console_unlock+0x361/0x3ad
[20892.272173] [<ffffffff81045ea5>] warn_slowpath_common+0xa1/0xbb
[20892.273386] [<ffffffffa0509a6d>] ?
__btrfs_abort_transaction+0x52/0x114 [btrfs]
[20892.274857] [<ffffffff81045f05>] warn_slowpath_fmt+0x46/0x48
[20892.275851] [<ffffffffa0509a6d>] __btrfs_abort_transaction+0x52/0x114
[btrfs]
[20892.277341] [<ffffffffa0515e10>] write_one_cache_group+0x68/0xaf
[btrfs]
[20892.278628] [<ffffffffa052088a>]
btrfs_start_dirty_block_groups+0x18d/0x29b [btrfs]
[20892.280191] [<ffffffffa052f077>] btrfs_commit_transaction+0x130/0x9c9
[btrfs]
(...)
[20892.291316] ---[ end trace 597f77e664245373 ]---
[20892.293955] BTRFS: error (device sdg) in write_one_cache_group:3184:
errno=-2 No such entry
[20892.297390] BTRFS info (device sdg): forced readonly
[20892.298222] ------------[ cut here ]------------
[20892.299190] WARNING: CPU: 0 PID: 13299 at fs/btrfs/ctree.c:2683
btrfs_search_slot+0x7e/0x7d2 [btrfs]()
(...)
[20892.326253] Call Trace:
[20892.326904] [<ffffffff8142fa46>] dump_stack+0x4f/0x7b
[20892.329503] [<ffffffff8108b6a2>] ? console_unlock+0x361/0x3ad
[20892.330815] [<ffffffff81045ea5>] warn_slowpath_common+0xa1/0xbb
[20892.332556] [<ffffffffa0510b73>] ? btrfs_search_slot+0x7e/0x7d2
[btrfs]
[20892.333955] [<ffffffff81045f62>] warn_slowpath_null+0x1a/0x1c
[20892.335562] [<ffffffffa0510b73>] btrfs_search_slot+0x7e/0x7d2 [btrfs]
[20892.336849] [<ffffffff8107b024>] ? arch_local_irq_save+0x9/0xc
[20892.338222] [<ffffffffa051ad52>] ? cache_save_setup+0x43/0x2a5 [btrfs]
[20892.339823] [<ffffffffa051ad66>] ? cache_save_setup+0x57/0x2a5 [btrfs]
[20892.341275] [<ffffffff814351a4>] ? _raw_spin_unlock+0x32/0x46
[20892.342810] [<ffffffffa0515de7>] write_one_cache_group+0x3f/0xaf
[btrfs]
[20892.344184] [<ffffffffa052088a>]
btrfs_start_dirty_block_groups+0x18d/0x29b [btrfs]
[20892.347162] [<ffffffffa052f077>] btrfs_commit_transaction+0x130/0x9c9
[btrfs]
(...)
[20892.361015] ---[ end trace 597f77e664245374 ]---
[21120.688097] INFO: task kworker/u8:17:29854 blocked for more than 120
seconds.
[21120.689881] Tainted: G W 4.0.0-rc5-btrfs-next-9+ #2
[21120.691384] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
(...)
[21120.703696] Call Trace:
[21120.704310] [<ffffffff8143107e>] schedule+0x74/0x83
[21120.705490] [<ffffffffa055f025>] btrfs_tree_lock+0xd7/0x236 [btrfs]
[21120.706757] [<ffffffff81075cd6>] ? signal_pending_state+0x31/0x31
[21120.708156] [<ffffffffa054ac1e>] lock_extent_buffer_for_io+0x3e/0x194
[btrfs]
[21120.709892] [<ffffffffa054bb86>] ?
btree_write_cache_pages+0x273/0x385 [btrfs]
[21120.711605] [<ffffffffa054bc42>] btree_write_cache_pages+0x32f/0x385
[btrfs]
[21120.723440] [<ffffffffa0527552>] btree_writepages+0x23/0x5c [btrfs]
[21120.724943] [<ffffffff8110c4c8>] do_writepages+0x23/0x2c
[21120.726008] [<ffffffff81176dde>] __writeback_single_inode+0x73/0x2fa
[21120.727230] [<ffffffff8117714a>] ? writeback_sb_inodes+0xe5/0x38b
[21120.728526] [<ffffffff811771fb>] ? writeback_sb_inodes+0x196/0x38b
[21120.729701] [<ffffffff8117726a>] writeback_sb_inodes+0x205/0x38b
(...)
[21120.747853] INFO: task btrfs:13282 blocked for more than 120 seconds.
[21120.749459] Tainted: G W 4.0.0-rc5-btrfs-next-9+ #2
[21120.751137] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
(...)
[21120.768457] Call Trace:
[21120.769039] [<ffffffff8143107e>] schedule+0x74/0x83
[21120.770107] [<ffffffffa052f25c>] btrfs_commit_transaction+0x315/0x9c9
[btrfs]
[21120.771558] [<ffffffff81075cd6>] ? signal_pending_state+0x31/0x31
[21120.773659] [<ffffffffa056fd8c>] prepare_to_relocate+0xcb/0xd2 [btrfs]
[21120.776257] [<ffffffffa05741da>] relocate_block_group+0x44/0x4a9
[btrfs]
[21120.777755] [<ffffffffa05747a0>] ?
btrfs_relocate_block_group+0x161/0x288 [btrfs]
[21120.779459] [<ffffffffa05747a8>]
btrfs_relocate_block_group+0x169/0x288 [btrfs]
[21120.781153] [<ffffffffa0550403>]
btrfs_relocate_chunk.isra.29+0x3e/0xa7 [btrfs]
[21120.783918] [<ffffffffa05518fd>] btrfs_balance+0xaa4/0xc52 [btrfs]
[21120.785436] [<ffffffff8114306e>] ? cpu_cache_get.isra.39+0xe/0x1f
[21120.786434] [<ffffffffa0559252>] btrfs_ioctl_balance+0x23f/0x2b0
[btrfs]
(...)
[21120.889251] INFO: task fsstress:13288 blocked for more than 120
seconds.
[21120.890526] Tainted: G W 4.0.0-rc5-btrfs-next-9+ #2
[21120.891773] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
(...)
[21120.899960] Call Trace:
[21120.900743] [<ffffffff8143107e>] schedule+0x74/0x83
[21120.903004] [<ffffffffa055f025>] btrfs_tree_lock+0xd7/0x236 [btrfs]
[21120.904383] [<ffffffff81075cd6>] ? signal_pending_state+0x31/0x31
[21120.905608] [<ffffffffa051125b>] btrfs_search_slot+0x766/0x7d2 [btrfs]
[21120.906812] [<ffffffff8114290e>] ? virt_to_head_page+0x9/0x2c
[21120.907874] [<ffffffff81144b7f>] ?
cache_alloc_debugcheck_after.isra.42+0x16c/0x1cb
[21120.909551] [<ffffffffa05124e0>] btrfs_insert_empty_items+0x5d/0xa8
[btrfs]
[21120.910914] [<ffffffffa0512585>] btrfs_insert_item+0x5a/0xa5 [btrfs]
[21120.912181] [<ffffffffa0520271>] ?
btrfs_create_pending_block_groups+0x96/0x130 [btrfs]
[21120.913784] [<ffffffffa052028a>]
btrfs_create_pending_block_groups+0xaf/0x130 [btrfs]
[21120.915374] [<ffffffffa052ffc2>] __btrfs_end_transaction+0x84/0x366
[btrfs]
[21120.916735] [<ffffffffa05302b4>] btrfs_end_transaction+0x10/0x12
[btrfs]
[21120.917996] [<ffffffffa051ab26>]
btrfs_check_data_free_space+0x11f/0x27c [btrfs]
[21120.919478] [<ffffffffa051ba25>]
btrfs_delalloc_reserve_space+0x1e/0x51 [btrfs]
[21120.921226] [<ffffffffa05382f2>] btrfs_truncate_page+0x85/0x2c4
[btrfs]
[21120.923121] [<ffffffffa0538572>] btrfs_cont_expand+0x41/0x3ef [btrfs]
[21120.924449] [<ffffffffa0541091>] ? btrfs_file_write_iter+0x19a/0x431
[btrfs]
[21120.926602] [<ffffffff8107b024>] ? arch_local_irq_save+0x9/0xc
[21120.927769] [<ffffffffa0541091>] ? btrfs_file_write_iter+0x19a/0x431
[btrfs]
[21120.929324] [<ffffffffa05410a0>] ? btrfs_file_write_iter+0x1a9/0x431
[btrfs]
[21120.930723] [<ffffffffa05410d9>] btrfs_file_write_iter+0x1e2/0x431
[btrfs]
[21120.931897] [<ffffffff81067d85>] ? get_parent_ip+0xe/0x3e
[21120.934446] [<ffffffff811534c3>] new_sync_write+0x7c/0xa0
[21120.935528] [<ffffffff81153b58>] vfs_write+0xb2/0x117
(...)
Fixes: 1bbc621ef284 ("Btrfs: allow block group cache writeout
outside critical section in commit")
Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit b58d1a9ef92031a6fc2f418c01abafb4458ba009
Author: Filipe Manana <fdmanana@xxxxxxxx>
Date: Sat Apr 25 18:29:16 2015 +0100
Btrfs: fix race between start dirty bg cache writeout and bg deletion
While running xfstests I ran into the following:
[20892.242791] ------------[ cut here ]------------
[20892.243776] WARNING: CPU: 0 PID: 13299 at fs/btrfs/super.c:260
__btrfs_abort_transaction+0x52/0x114 [btrfs]()
[20892.245874] BTRFS: Transaction aborted (error -2)
[20892.247329] Modules linked in: btrfs dm_snapshot dm_bufio dm_flakey
dm_mod crc32c_generic xor raid6_pq nfsd auth_rpcgss oid_registry nfs_acl nfs
lockd grace fscache sunrpc loop fuse$
[20892.258488] CPU: 0 PID: 13299 Comm: fsstress Tainted: G W
4.0.0-rc5-btrfs-next-9+ #2
[20892.262011] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
BIOS rel-1.7.5-0-ge51488c-20140602_164612-nilsson.home.kraxel.org 04/01/2014
[20892.264738] 0000000000000009 ffff880427f8bc18 ffffffff8142fa46
ffffffff8108b6a2
[20892.266244] ffff880427f8bc68 ffff880427f8bc58 ffffffff81045ea5
ffff880427f8bc48
[20892.267761] ffffffffa0509a6d 00000000fffffffe ffff8803545d6f40
ffffffffa05a15a0
[20892.269378] Call Trace:
[20892.269915] [<ffffffff8142fa46>] dump_stack+0x4f/0x7b
[20892.271097] [<ffffffff8108b6a2>] ? console_unlock+0x361/0x3ad
[20892.272173] [<ffffffff81045ea5>] warn_slowpath_common+0xa1/0xbb
[20892.273386] [<ffffffffa0509a6d>] ?
__btrfs_abort_transaction+0x52/0x114 [btrfs]
[20892.274857] [<ffffffff81045f05>] warn_slowpath_fmt+0x46/0x48
[20892.275851] [<ffffffffa0509a6d>] __btrfs_abort_transaction+0x52/0x114
[btrfs]
[20892.277341] [<ffffffffa0515e10>] write_one_cache_group+0x68/0xaf
[btrfs]
[20892.278628] [<ffffffffa052088a>]
btrfs_start_dirty_block_groups+0x18d/0x29b [btrfs]
[20892.280191] [<ffffffffa052f077>] btrfs_commit_transaction+0x130/0x9c9
[btrfs]
[20892.281781] [<ffffffff8107d33d>] ? trace_hardirqs_on+0xd/0xf
[20892.282873] [<ffffffffa054163b>] btrfs_sync_file+0x313/0x387 [btrfs]
[20892.284111] [<ffffffff8117acad>] vfs_fsync_range+0x95/0xa4
[20892.285203] [<ffffffff810e603f>] ? time_hardirqs_on+0x15/0x28
[20892.286290] [<ffffffff8123960b>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[20892.287469] [<ffffffff8117acd8>] vfs_fsync+0x1c/0x1e
[20892.288412] [<ffffffff8117ae54>] do_fsync+0x34/0x4e
[20892.289348] [<ffffffff8117b07c>] SyS_fsync+0x10/0x14
[20892.290255] [<ffffffff81435b32>] system_call_fastpath+0x12/0x17
[20892.291316] ---[ end trace 597f77e664245373 ]---
[20892.293955] BTRFS: error (device sdg) in write_one_cache_group:3184:
errno=-2 No such entry
[20892.297390] BTRFS info (device sdg): forced readonly
This happens because in btrfs_start_dirty_block_groups() we splice the
transaction's list of dirty block groups into a local list and then we
keep extracting the first element of the list without holding the
cache_write_mutex mutex. This means that before we acquire that mutex
the first block group on the list might be removed by a conurrent task
running btrfs_remove_block_group(). So make sure we extract the first
element (and test the list emptyness) while holding that mutex.
Fixes: 1bbc621ef284 ("Btrfs: allow block group cache writeout
outside critical section in commit")
Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 2ea2f62c8bda242433809c7f4e9eae1c52c40bbe
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Fri Apr 24 16:05:01 2015 -0700
net: fix crash in build_skb()
When I added pfmemalloc support in build_skb(), I forgot netlink
was using build_skb() with a vmalloc() area.
In this patch I introduce __build_skb() for netlink use,
and build_skb() is a wrapper handling both skb->head_frag and
skb->pfmemalloc
This means netlink no longer has to hack skb->head_frag
[ 1567.700067] kernel BUG at arch/x86/mm/physaddr.c:26!
[ 1567.700067] invalid opcode: 0000 [#1] PREEMPT SMP KASAN
[ 1567.700067] Dumping ftrace buffer:
[ 1567.700067] (ftrace buffer empty)
[ 1567.700067] Modules linked in:
[ 1567.700067] CPU: 9 PID: 16186 Comm: trinity-c182 Not tainted
4.0.0-next-20150424-sasha-00037-g4796e21 #2167
[ 1567.700067] task: ffff880127efb000 ti: ffff880246770000 task.ti:
ffff880246770000
[ 1567.700067] RIP: __phys_addr (arch/x86/mm/physaddr.c:26 (discriminator
3))
[ 1567.700067] RSP: 0018:ffff8802467779d8 EFLAGS: 00010202
[ 1567.700067] RAX: 000041000ed8e000 RBX: ffffc9008ed8e000 RCX:
000000000000002c
[ 1567.700067] RDX: 0000000000000004 RSI: 0000000000000000 RDI:
ffffffffb3fd6049
[ 1567.700067] RBP: ffff8802467779f8 R08: 0000000000000019 R09:
ffff8801d0168000
[ 1567.700067] R10: ffff8801d01680c7 R11: ffffed003a02d019 R12:
ffffc9000ed8e000
[ 1567.700067] R13: 0000000000000f40 R14: 0000000000001180 R15:
ffffc9000ed8e000
[ 1567.700067] FS: 00007f2a7da3f700(0000) GS:ffff8801d1000000(0000)
knlGS:0000000000000000
[ 1567.700067] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1567.700067] CR2: 0000000000738308 CR3: 000000022e329000 CR4:
00000000000007e0
[ 1567.700067] Stack:
[ 1567.700067] ffffc9000ed8e000 ffff8801d0168000 ffffc9000ed8e000
ffff8801d0168000
[ 1567.700067] ffff880246777a28 ffffffffad7c0a21 0000000000001080
ffff880246777c08
[ 1567.700067] ffff88060d302e68 ffff880246777b58 ffff880246777b88
ffffffffad9a6821
[ 1567.700067] Call Trace:
[ 1567.700067] build_skb (include/linux/mm.h:508 net/core/skbuff.c:316)
[ 1567.700067] netlink_sendmsg (net/netlink/af_netlink.c:1633
net/netlink/af_netlink.c:2329)
[ 1567.774369] ? sched_clock_cpu (kernel/sched/clock.c:311)
[ 1567.774369] ? netlink_unicast (net/netlink/af_netlink.c:2273)
[ 1567.774369] ? netlink_unicast (net/netlink/af_netlink.c:2273)
[ 1567.774369] sock_sendmsg (net/socket.c:614 net/socket.c:623)
[ 1567.774369] sock_write_iter (net/socket.c:823)
[ 1567.774369] ? sock_sendmsg (net/socket.c:806)
[ 1567.774369] __vfs_write (fs/read_write.c:479 fs/read_write.c:491)
[ 1567.774369] ? get_lock_stats (kernel/locking/lockdep.c:249)
[ 1567.774369] ? default_llseek (fs/read_write.c:487)
[ 1567.774369] ? vtime_account_user (kernel/sched/cputime.c:701)
[ 1567.774369] ? rw_verify_area (fs/read_write.c:406 (discriminator 4))
[ 1567.774369] vfs_write (fs/read_write.c:539)
[ 1567.774369] SyS_write (fs/read_write.c:586 fs/read_write.c:577)
[ 1567.774369] ? SyS_read (fs/read_write.c:577)
[ 1567.774369] ? __this_cpu_preempt_check (lib/smp_processor_id.c:63)
[ 1567.774369] ? trace_hardirqs_on_caller (kernel/locking/lockdep.c:2594
kernel/locking/lockdep.c:2636)
[ 1567.774369] ? trace_hardirqs_on_thunk (arch/x86/lib/thunk_64.S:42)
[ 1567.774369] system_call_fastpath (arch/x86/kernel/entry_64.S:261)
Fixes: 79930f5892e ("net: do not deplete pfmemalloc reserve")
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 20d96964b51844d4f3bea0249f62db7073c13c30
Author: Chee Nouk Phoon <cnphoon@xxxxxxxxxx>
Date: Fri Apr 24 02:32:07 2015 -0500
net: eth: altera: Resolve false errors from MSGDMA to TSE
This patch resolves false errors from MSGDMA in TX mSGDMA MM to ST
mode, and is a continuation of the patch recently submitted by Andrea
Oetken. The MSGDMA had a logic bug that masked detection of this issue
prior to Quartus 14.1/Build 164. When the MSGDMA logic bug was addressed
in Quartus 14.1/Build 164, the driver problem was exposed.
The problem is corrected by making sure MSGDMA_DESC_CTL_TR_ERR_IRQ is not
set for any of the transmit DMA descriptors, and only used for receive
descriptors.
Fixes: 71cd26e altera tse: Error-Bit on tx-avalon-stream always set.
Signed-off-by: Chee Nouk Phoon <cnphoon@xxxxxxxxxx>
Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>a
Cc: Andreas Oetken <ennoerlangen@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3051f39253680624504021fd3b29fc621a4fd6b6
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Fri Apr 24 15:52:32 2015 +1000
ehea: Fix memory hook reference counting crashes
The recent commit to only register the EHEA memory hotplug hooks on
adapter probe has a few problems.
Firstly the reference counting is wrong for multiple adapters, in that
the hooks are registered multiple times. Secondly the check in the tear
down path is backward. Finally the error path doesn't decrement the
count.
The multiple registration of the hooks is the biggest problem, as it
leads to oopses when the system is rebooted, and/or errors during memory
hotplug, eg:
$ ./mem-on-off-test.sh -r 2
...
ehea: memory is going offline
ehea: LPAR memory changed - re-initializing driver
ehea: re-initializing driver complete
ehea: memory is going offline
ehea: LPAR memory changed - re-initializing driver
ehea: opcode=26c ret=fffffffffffffffc arg1=8000000003000003 arg2=0
arg3=700000060000d600 arg4=3fded0000 arg5=200 arg6=0 arg7=0
ehea: register_rpage_mr failed
ehea: registering mr failed
ehea: register MR failed - driver inoperable!
ehea: memory is going offline
Fixes: aa183323312d ("ehea: Register memory hotplug, reboot and crash
hooks on adapter probe")
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit dfc8f370316b31b9ca9ce96e50f1c438d9410b4f
Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 15:22:23 2015 +1000
net/tg3: Release IRQs on permanent error
When having permanent EEH error, the PCI device will be removed
from the system. For this case, we shouldn't set pcierr_recovery
to true wrongly, which blocks the driver to release the allocated
interrupts and their handlers. Eventually, we can't disable MSI
or MSIx successfully because of the MSI or MSIx interrupts still
have associated interrupt actions, which is turned into following
stack dump.
Oops: Exception in kernel mode, sig: 5 [#1]
:
[c0000000003b76a8] .free_msi_irqs+0x80/0x1a0 (unreliable)
[c00000000039f388] .pci_remove_bus_device+0x98/0x110
[c0000000000790f4] .pcibios_remove_pci_devices+0x9c/0x128
[c000000000077b98] .handle_eeh_events+0x2d8/0x4b0
[c0000000000782d0] .eeh_event_handler+0x130/0x1c0
[c000000000022bd4] .kernel_thread+0x54/0x70
Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
Acked-by: Prashant Sreedharan <prashant@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 96cba9b00e297303774bec59e192064d20adeb3d
Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Date: Tue Apr 14 13:50:09 2015 -0700
platform/chrome: chromeos_laptop - instantiate Atmel at primary address
The new Atmel MXT driver expects i2c client's address contain the
primary (main address) of the chip, and calculates the expected
bootloader address form the primary address. Unfortunately chrome_laptop
does probe the devices and if touchpad (or touchscreen, or both) comes
up in bootloader mode the i2c device gets instantiated with the
bootloader address which confuses the driver.
To work around this issue let's probe the primary address first. If the
device is not detected at the primary address we'll probe alternative
addresses as "dummy" devices. If any of them are found, destroy the
dummy client and instantiate client with proper name at primary address
still.
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 3cab989afd8d8d1bc3d99fef0e7ed87c31e7b647
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 15:47:07 2015 -0400
RCU pathwalk breakage when running into a symlink overmounting something
Calling unlazy_walk() in walk_component() and do_last() when we find
a symlink that needs to be followed doesn't acquire a reference to
vfsmount.
That's fine when the symlink is on the same vfsmount as the parent
directory
(which is almost always the case), but it's not always true - one _can_
manage to bind a symlink on top of something. And in such cases we end up
with excessive mntput().
Cc: stable@xxxxxxxxxxxxxxx # since 2.6.39
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit ac74d8d65c83d8061034d0908e1eab6a0c24f923
Author: Eric Sandeen <sandeen@xxxxxxxxxx>
Date: Thu Apr 16 15:04:56 2015 -0500
fix I_DIO_WAKEUP definition
I_DIO_WAKEUP is never directly used, but fix it up anyway.
Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit fe0f07d08ee35fb13d2cb048970072fe4f71ad14
Author: Jens Axboe <axboe@xxxxxx>
Date: Wed Apr 15 17:05:48 2015 -0600
direct-io: only inc/dec inode->i_dio_count for file systems
do_blockdev_direct_IO() increments and decrements the inode
->i_dio_count for each IO operation. It does this to protect against
truncate of a file. Block devices don't need this sort of protection.
For a capable multiqueue setup, this atomic int is the only shared
state between applications accessing the device for O_DIRECT, and it
presents a scaling wall for that. In my testing, as much as 30% of
system time is spent incrementing and decrementing this value. A mixed
read/write workload improved from ~2.5M IOPS to ~9.6M IOPS, with
better latencies too. Before:
clat percentiles (usec):
| 1.00th=[ 33], 5.00th=[ 34], 10.00th=[ 34], 20.00th=[ 34],
| 30.00th=[ 34], 40.00th=[ 34], 50.00th=[ 35], 60.00th=[ 35],
| 70.00th=[ 35], 80.00th=[ 35], 90.00th=[ 37], 95.00th=[ 80],
| 99.00th=[ 98], 99.50th=[ 151], 99.90th=[ 155], 99.95th=[ 155],
| 99.99th=[ 165]
After:
clat percentiles (usec):
| 1.00th=[ 95], 5.00th=[ 108], 10.00th=[ 129], 20.00th=[ 149],
| 30.00th=[ 155], 40.00th=[ 161], 50.00th=[ 167], 60.00th=[ 171],
| 70.00th=[ 177], 80.00th=[ 185], 90.00th=[ 201], 95.00th=[ 270],
| 99.00th=[ 390], 99.50th=[ 398], 99.90th=[ 418], 99.95th=[ 422],
| 99.99th=[ 438]
In other setups, Robert Elliott reported seeing good performance
improvements:
https://lkml.org/lkml/2015/4/3/557
The more applications accessing the device, the worse it gets.
Add a new direct-io flags, DIO_SKIP_DIO_COUNT, which tells
do_blockdev_direct_IO() that it need not worry about incrementing
or decrementing the inode i_dio_count for this caller.
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Theodore Ts'o <tytso@xxxxxxx>
Cc: Elliott, Robert (Server Storage) <elliott@xxxxxx>
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 8e3c500594dca9a12c27eb6d77b82e0766879bfd
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Wed Apr 22 11:55:14 2015 +0200
fs/9p: fix readdir()
Al Viro's IOV changes broke 9p readdir() because the new code
didn't abort the read when it returned nothing. The original
code checked if the combined error/length was <= 0 but in the
new code that accidentally got changed to just an error check.
Add back the return from the function when nothing is read.
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Fixes: e1200fe68f20 ("9p: switch p9_client_read() to passing struct
iov_iter *")
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 149aabcc44e3e2c1f8fe4f0832be53d2db55b598
Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Date: Fri Apr 10 12:56:41 2015 +0530
clockevents: Shutdown detached clockevent device
A clockevent device is marked DETACHED when it is replaced by another
clockevent device.
The device is shutdown properly for drivers that implement legacy
->set_mode() callback, as we call ->set_mode() for CLOCK_EVT_MODE_UNUSED
as well.
But for the new per-state callback interface, we skip shutting down the
device, as we thought its an internal state change. That wasn't correct.
The effect is that the device is left programmed in oneshot or periodic
mode.
Fall-back to 'case CLOCK_EVT_STATE_SHUTDOWN', to shutdown the device.
Fixes: bd624d75db21 "clockevents: Introduce mode specific callbacks"
Reported-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Cc: linaro-kernel@xxxxxxxxxxxxxxxx
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/eef0a91c51b74d4e52c8e5a95eca27b5a0563f07.1428650683.git.viresh.kumar@xxxxxxxxxx
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
commit 1dcc73d7bb0429994c54d33b40c5fb82b741a791
Author: Marc Zyngier <marc.zyngier@xxxxxxx>
Date: Wed Apr 22 18:20:04 2015 +0100
irqchip: gic: Drop support for gic_arch_extn
Now that the users of gic_arch_extn have been fixed, drop the
"feature" for good. This leads to the removal of some now useless
locking.
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: Jason Cooper <jason@xxxxxxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
commit 10a50f1ab5f06c9a3ee5ece3ec52e607ed53c79f
Author: Roger Quadros <rogerq@xxxxxx>
Date: Wed Apr 15 11:14:11 2015 +0300
genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip
Without this system suspend is broken on systems that have
drivers calling enable/disable_irq_wake() for interrupts based off
the dummy irq hook. (e.g. drivers/gpio/gpio-pcf857x.c)
Signed-off-by: Roger Quadros <rogerq@xxxxxx>
Cc: <cw00.choi@xxxxxxxxxxx>
Cc: <balbi@xxxxxx>
Cc: <tony@xxxxxxxxxxx>
Cc: Gregory Clement <gregory.clement@xxxxxxxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/552E1DD3.4040106@xxxxxx
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
commit a3bdccc4e683f0ac69230707ed3fa20e7cf73a79
Author: Chris Mason <clm@xxxxxx>
Date: Fri Apr 24 11:00:00 2015 -0700
Btrfs: prevent list corruption during free space cache processing
__btrfs_write_out_cache is holding the ctl->tree_lock while it prepares
a list of bitmaps to record in the free space cache. It was dropping
the lock while it worked on other components, which made a window for
free_bitmap() to free the bitmap struct without removing it from the
list.
This changes things to hold the lock the whole time, and also makes sure
we hold the lock during enospc cleanup.
Reported-by: Filipe Manana <fdmanana@xxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 547c4b547e07dcc60874b6ef6252dd49ff74aec1
Author: Florian Westphal <fw@xxxxxxxxx>
Date: Mon Apr 20 12:35:47 2015 +0200
netfilter: bridge: fix NULL deref in physin/out ifindex helpers
Might not have an outdev yet. We'll oops when iface goes down while skbs
are still nfqueue'd:
RIP: 0010:[<ffffffff81422a2f>] [<ffffffff81422a2f>] dev_cmp+0x4f/0x80
nfqnl_rcv_dev_event+0xe2/0x150
notifier_call_chain+0x53/0xa0
Fixes: c737b7c4510026 ("netfilter: bridge: add helpers for fetching
physin/outdev")
Signed-off-by: Florian Westphal <fw@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 4c4ed0748f82e26d8b884383e6737cf5a861ed6f
Author: Florian Westphal <fw@xxxxxxxxx>
Date: Tue Apr 14 16:44:14 2015 +0200
netfilter: nf_tables: fix wrong length for jump/goto verdicts
NFT_JUMP/GOTO erronously sets length to sizeof(void *).
We then allocate insufficient memory when such element is added to a vmap.
Suggested-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Florian Westphal <fw@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 358d6a2c3ecae2b22c7d7e61f9d5672557446dfb
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Apr 21 12:01:32 2015 +0200
toshiba_acpi: Do not register vendor backlight when acpi_video bl is
available
commit a39f46df33c6 ("toshiba_acpi: Fix regression caused by backlight
extra
check code") causes the backlight to no longer work on the Toshiba Z30,
reverting that commit fixes this but restores the original issue fixed
by that commit.
Looking at the toshiba_acpi backlight code for a fix for this I noticed
that
the toshiba code is the only code under platform/x86 which unconditionally
registers a vendor acpi backlight interface, without checking for
acpi_video
backlight support first.
This commit adds the necessary checks bringing toshiba_acpi in line with
the
other drivers, and fixing the Z30 regression without needing to revert the
commit causing it.
Chances are that there will be some Toshiba models which have a non
working
acpi-video implementation while the toshiba vendor backlight interface
does
work, this commit adds an empty dmi_id table where such systems can be
added,
this is identical to how other drivers handle such systems.
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1206036
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=86521
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Reviewed-and-tested-by: Azael Avalos <coproscefalo@xxxxxxxxx>
Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit d19d133e432248c9b3efa9c10dda5f050cbbcd72
Merge: c666872 e8191a8
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 10:31:32 2015 -0700
Merge tag 'sound-fix-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai:
"Here are a few fixes that have been pending since the previous pull
request: a regression fix for HD-audio multiple SPDIF / HDMI devices,
several ALC256 codec fixes, a couple of i915 HDMI audio fixes, and
various small fixes.
Nothing exciting, just boring, but things good to have"
* tag 'sound-fix-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: hda - fix headset mic detection problem for one more machine
ALSA: hda/realtek - Fix Headphone Mic doesn't recording for ALC256
ALSA: hda - fix "num_steps = 0" error on ALC256
ALSA: usb-audio: Fix audio output on Roland SC-D70 sound module
ALSA: hda - add AZX_DCAPS_I915_POWERWELL to Baytrail
ALSA: hda - only sync BCLK to the display clock for Haswell & Broadwell
ALSA: hda - Mute headphone pin on suspend on XPS13 9333
sound/oss: fix deadlock in sequencer_ioctl(SNDCTL_SEQ_OUTOFBAND)
ALSA: asound.h - use SNDRV_CTL_ELEM_ID_NAME_MAXLEN
ALSA: hda - potential (but unlikely) uninitialized variable
ALSA: hda - Fix regression for slave SPDIF setups
ALSA: intel8x0: Check pci_iomap() success for DEVICE_ALI
ALSA: hda - simplify azx_has_pm_runtime
commit c6668726d2c2c581e6c417448c472c994d026f5f
Merge: 06b45f2 68d4cef
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 10:22:09 2015 -0700
Merge branch 'for-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
Pull SCSI target updates from Nicholas Bellinger:
"Lots of activity in target land the last months.
The highlights include:
- Convert fabric drivers tree-wide to target_register_template() (hch
+ bart)
- iser-target hardening fixes + v1.0 improvements (sagi)
- Convert iscsi_thread_set usage to kthread.h + kill
iscsi_target_tq.c (sagi + nab)
- Add support for T10-PI WRITE_STRIP + READ_INSERT operation (mkp +
sagi + nab)
- DIF fixes for CONFIG_DEBUG_SG=y + UNMAP file emulation (akinobu +
sagi + mkp)
- Extended TCMU ABI v2 for future BIDI + DIF support (andy + ilias)
- Fix COMPARE_AND_WRITE handling for NO_ALLLOC drivers (hch + nab)
Thanks to everyone who contributed this round with new features,
bug-reports, fixes, cleanups and improvements.
Looking forward, it's currently shaping up to be a busy v4.2 as well"
* 'for-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (69 commits)
target: Put TCMU under a new config option
target: Version 2 of TCMU ABI
target: fix tcm_mod_builder.py
target/file: Fix UNMAP with DIF protection support
target/file: Fix SG table for prot_buf initialization
target/file: Fix BUG() when CONFIG_DEBUG_SG=y and DIF protection enabled
target: Make core_tmr_abort_task() skip TMFs
target/sbc: Update sbc_dif_generate pr_debug output
target/sbc: Make internal DIF emulation honor ->prot_checks
target/sbc: Return INVALID_CDB_FIELD if DIF + sess_prot_type disabled
target: Ensure sess_prot_type is saved across session restart
target/rd: Don't pass incomplete scatterlist entries to sbc_dif_verify_*
target: Remove the unused flag SCF_ACK_KREF
target: Fix two sparse warnings
target: Fix COMPARE_AND_WRITE with SG_TO_MEM_NOALLOC handling
target: simplify the target template registration API
target: simplify target_xcopy_init_pt_lun
target: remove the unused SCF_CMD_XCOPY_PASSTHROUGH flag
target/rd: reduce code duplication in rd_execute_rw()
tcm_loop: fixup tpgt string to integer conversion
...
commit 06b45f2aa703837163496f5db6a53575665cc6b4
Merge: b3f4ef0 c264f11
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 10:11:24 2015 -0700
Merge tag 'pwm/for-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
Pull pwm changes from Thierry Reding:
"Not much has been happening in PWM land lately, so this contains
mostly minor fixes that didn't seem urgent enough for a late
pull-request last cycle"
* tag 'pwm/for-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
pwm: Remove __init initializer for pwm_add_table()
pwm: samsung: Fix output race on disabling
pwm: mxs: Fix period divider computation
pwm: atmel-hlcdc: Add errata handling for sama5d4
pwm: pca9685: Constify struct regmap_config
pwm: imx-pwm: add explicit compatible strings and required clock
properties
commit b3f4ef0bf21da37e4dfc1cdfa0288ba39186fb56
Merge: d6a4c0e 72449cb
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 10:05:39 2015 -0700
Merge tag 'dma-buf-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/sumits/dma-buf
Pull dma-buf updates from Sumit Semwal:
"Minor cleanup only; this could've gone in for the 4.0 merge window,
but for a copy-paste stupidity from me.
It has been in the for-next since then, and no issues reported.
- cleanup of dma_buf_export()
- correction of copy-paste stupidity while doing the cleanup"
* tag 'dma-buf-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/sumits/dma-buf:
staging: android: ion: fix wrong init of dma_buf_export_info
dma-buf: cleanup dma_buf_export() to make it easily extensible
commit d6a4c0e5d3d433ef296f8f417e835329a834a256
Merge: 474095e cdde0e6
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 09:49:37 2015 -0700
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
Pull slave-dmaengine updates from Vinod Koul:
- new drivers for:
- Ingenic JZ4780 controller
- APM X-Gene controller
- Freescale RaidEngine device
- Renesas USB Controller
- remove device_alloc_chan_resources dummy handlers
- sh driver cleanups for peri peri and related emmc and asoc patches
as well
- fixes and enhancements spread over the drivers
* 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (59
commits)
dmaengine: dw: don't prompt for DW_DMAC_CORE
dmaengine: shdmac: avoid unused variable warnings
dmaengine: fix platform_no_drv_owner.cocci warnings
dmaengine: pch_dma: fix memory leak on failure path in pch_dma_probe()
dmaengine: at_xdmac: unlock spin lock before return
dmaengine: xgene: devm_ioremap() returns NULL on error
dmaengine: xgene: buffer overflow in xgene_dma_init_channels()
dmaengine: usb-dmac: Fix dereferencing freed memory 'desc'
dmaengine: sa11x0: report slave capabilities to upper layers
dmaengine: vdma: Fix compilation warnings
dmaengine: fsl_raid: statify fsl_re_chan_probe
dmaengine: Driver support for FSL RaidEngine device.
dmaengine: xgene_dma_init_ring_mngr() can be static
Documentation: dma: Add documentation for the APM X-Gene SoC DMA device
DTS binding
arm64: dts: Add APM X-Gene SoC DMA device and DMA clock DTS nodes
dmaengine: Add support for APM X-Gene SoC DMA engine driver
dmaengine: usb-dmac: Add Renesas USB DMA Controller (USB-DMAC) driver
dmaengine: renesas,usb-dmac: Add device tree bindings documentation
dmaengine: edma: fixed wrongly initialized data parameter to the edma
callback
dmaengine: ste_dma40: fix implicit conversion
...
commit 474095e46cd14421821da3201a9fd6a4c070996b
Merge: d56a669 9ffc8f7
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 09:28:01 2015 -0700
Merge tag 'md/4.1' of git://neil.brown.name/md
Pull md updates from Neil Brown:
"More updates that usual this time. A few have performance impacts
which hould mostly be positive, but RAID5 (in particular) can be very
work-load ensitive... We'll have to wait and see.
Highlights:
- "experimental" code for managing md/raid1 across a cluster using
DLM. Code is not ready for general use and triggers a WARNING if
used. However it is looking good and mostly done and having in
mainline will help co-ordinate development.
- RAID5/6 can now batch multiple (4K wide) stripe_heads so as to
handle a full (chunk wide) stripe as a single unit.
- RAID6 can now perform read-modify-write cycles which should help
performance on larger arrays: 6 or more devices.
- RAID5/6 stripe cache now grows and shrinks dynamically. The value
set is used as a minimum.
- Resync is now allowed to go a little faster than the 'mininum' when
there is competing IO. How much faster depends on the speed of the
devices, so the effective minimum should scale with device speed to
some extent"
* tag 'md/4.1' of git://neil.brown.name/md: (58 commits)
md/raid5: don't do chunk aligned read on degraded array.
md/raid5: allow the stripe_cache to grow and shrink.
md/raid5: change ->inactive_blocked to a bit-flag.
md/raid5: move max_nr_stripes management into grow_one_stripe and
drop_one_stripe
md/raid5: pass gfp_t arg to grow_one_stripe()
md/raid5: introduce configuration option rmw_level
md/raid5: activate raid6 rmw feature
md/raid6 algorithms: xor_syndrome() for SSE2
md/raid6 algorithms: xor_syndrome() for generic int
md/raid6 algorithms: improve test program
md/raid6 algorithms: delta syndrome functions
raid5: handle expansion/resync case with stripe batching
raid5: handle io error of batch list
RAID5: batch adjacent full stripe write
raid5: track overwrite disk count
raid5: add a new flag to track if a stripe can be batched
raid5: use flex_array for scribble data
md raid0: access mddev->queue (request queue member) conditionally
because it is not set when accessed from dm-raid
md: allow resync to go faster when there is competing IO.
md: remove 'go_faster' option from ->sync_request()
...
commit 2d6c9091ab7630dfcf34417c6683ce4764d7d40a
Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 13:06:54 2015 -0400
net: mdio-gpio: support access that may sleep
Some systems using mdio-gpio may use gpio on message based busses, which
require sleeping (e.g. gpio from an I2C I/O expander).
Since this driver does not use IRQ handler, it is safe to use the
_cansleep suffixed gpio accessors.
Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 410ceb8f2f1d4edeb02d229ef192e76602005b8b
Author: Namhyung Kim <namhyung@xxxxxxxxxx>
Date: Fri Apr 24 10:45:16 2015 +0900
tools lib traceevent: Fix build failure on 32-bit arch
In my i386 build, it failed like this:
CC event-parse.o
event-parse.c: In function 'print_str_arg':
event-parse.c:3868:5: warning: format '%lu' expects argument of type
'long unsigned int',
but argument 3 has type 'uint64_t' [-Wformat]
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Acked-by: Javi Merino <javi.merino@xxxxxxx>
Link: http://lkml.kernel.org/r/20150424020218.GF1905@sejong
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit d56a669ca59c37ed0a7282a251b2f2f22533343a
Merge: 836ee48 04fca0e
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 08:46:18 2015 -0700
Merge tag 'devicetree-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
Pull second batch of devicetree updates from Rob Herring:
"As Grant mentioned in the first devicetree pull request, here is the
2nd batch of DT changes for 4.1. The main remaining item here is the
endianness bindings and related 8250 driver support.
- DT endianness specification bindings
- big-endian 8250 serial support
- DT overlay unittest updates
- various DT doc updates
- compile fixes for OF_IRQ=n"
* tag 'devicetree-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
frv: add io{read,write}{16,32}be functions
mn10300: add io{read,write}{16,32}be functions
Documentation: DT bindings: add doc for Altera's SoCFPGA platform
of: base: improve of_get_next_child() kernel-doc
Doc: dt: arch_timer: discourage clock-frequency use
of: unittest: overlay: Keep track of created overlays
of/fdt: fix allocation size for device node path
serial: of_serial: Support big-endian register accesses
serial: 8250: Add support for big-endian MMIO accesses
of: Document {little,big,native}-endian bindings
of/fdt: Add endianness helper function for early init code
of: Add helper function to check MMIO register endianness
of/fdt: Remove "reg" data prints from early_init_dt_scan_memory
of: add vendor prefix for Artesyn
of: Add dummy of_irq_to_resource_table() for IRQ_OF=n
of: OF_IRQ should depend on IRQ_DOMAIN
commit 4ad1f4300e3bddf63109aa63cfb2d37e8585ecc7
Author: David Ahern <david.ahern@xxxxxxxxxx>
Date: Tue Apr 14 13:49:33 2015 -0400
perf kmem: Fix compiles on RHEL6/OL6
0d68bc92c48 breaks compiles on RHEL6/OL6:
cc1: warnings being treated as errors
builtin-kmem.c: In function â??search_page_alloc_statâ??:
builtin-kmem.c:322: error: declaration of â??statâ?? shadows a global
declaration
node = &parent->rb_left;
/usr/include/sys/stat.h:455: error: shadowed declaration is here
builtin-kmem.c: In function
â??perf_evsel__process_page_alloc_eventâ??:
builtin-kmem.c:378: error: declaration of â??statâ?? shadows a global
declaration
/usr/include/sys/stat.h:455: error: shadowed declaration is here
builtin-kmem.c: In function â??perf_evsel__process_page_free_eventâ??:
builtin-kmem.c:431: error: declaration of â??statâ?? shadows a global
declaration
/usr/include/sys/stat.h:455: error: shadowed declaration is here
Rename local variable to pstat to avoid the name conflict.
Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1429033773-31383-1-git-send-email-david.ahern@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit b357a364c57c940ddb932224542494363df37378
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Thu Apr 23 18:03:44 2015 -0700
inet: fix possible panic in reqsk_queue_unlink()
[ 3897.923145] BUG: unable to handle kernel NULL pointer dereference at
0000000000000080
[ 3897.931025] IP: [<ffffffffa9f27686>] reqsk_timer_handler+0x1a6/0x243
There is a race when reqsk_timer_handler() and tcp_check_req() call
inet_csk_reqsk_queue_unlink() on the same req at the same time.
Before commit fa76ce7328b2 ("inet: get rid of central tcp/dccp listener
timer"), listener spinlock was held and race could not happen.
To solve this bug, we change reqsk_queue_unlink() to not assume req
must be found, and we return a status, to conditionally release a
refcount on the request sock.
This also means tcp_check_req() in non fastopen case might or not
consume req refcount, so tcp_v6_hnd_req() & tcp_v4_hnd_req() have
to properly handle this.
(Same remark for dccp_check_req() and its callers)
inet_csk_reqsk_queue_drop() is now too big to be inlined, as it is
called 4 times in tcp and 3 times in dccp.
Fixes: fa76ce7328b2 ("inet: get rid of central tcp/dccp listener timer")
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Reported-by: Yuchung Cheng <ycheng@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1d8dc3d3c8f1d8ee1da9d54c5d7c8694419ade42
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Thu Apr 23 16:38:43 2015 +0200
rhashtable: don't attempt to grow when at max_size
The conversion of mac80211's station table to rhashtable had a bug
that I found by accident in code review, that hadn't been found as
rhashtable apparently managed to have a maximum hash chain length
of one (!) in all our testing.
In order to test the bug and verify the fix I set my rhashtable's
max_size very low (4) in order to force getting hash collisions.
At that point, rhashtable WARNed in rhashtable_insert_rehash() but
didn't actually reject the hash table insertion. This caused it to
lose insertions - my master list of stations would have 9 entries,
but the rhashtable only had 5. This may warrant a deeper look, but
that WARN_ON() just shouldn't happen.
Fix this by not returning true from rht_grow_above_100() when the
rhashtable's max_size has been reached - in this case the user is
explicitly configuring it to be at most that big, so even if it's
now above 100% it shouldn't attempt to resize.
This fixes the "lost insertion" issue and consequently allows my
code to display its error (and verify my fix for it.)
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Acked-by: Thomas Graf <tgraf@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e580267df97eda407c525dbaee5430e0d51a0edb
Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Date: Thu Apr 23 20:56:29 2015 +0200
bgmac: fix requests for extra polling calls from NAPI
After d75b1ade567f ("net: less interrupt masking in NAPI") polling
function has to return whole budget when it wants NAPI to call it again.
Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Cc: Felix Fietkau <nbd@xxxxxxxxxxx>
Fixes: eb64e2923a886 ("bgmac: leave interrupts disabled as long as there
is work to do")
Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 836ee4874e201a5907f9658fb2bf3527dd952d30
Merge: fb65d87 7676fa7
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 08:23:45 2015 -0700
Merge tag 'arm64-upstream' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull initial ACPI support for arm64 from Will Deacon:
"This series introduces preliminary ACPI 5.1 support to the arm64
kernel using the "hardware reduced" profile. We don't support any
peripherals yet, so it's fairly limited in scope:
- MEMORY init (UEFI)
- ACPI discovery (RSDP via UEFI)
- CPU init (FADT)
- GIC init (MADT)
- SMP boot (MADT + PSCI)
- ACPI Kconfig options (dependent on EXPERT)
ACPI for arm64 has been in development for a while now and hardware
has been available that can boot with either FDT or ACPI tables. This
has been made possible by both changes to the ACPI spec to cater for
ARM-based machines (known as "hardware-reduced" in ACPI parlance) but
also a Linaro-driven effort to get this supported on top of the Linux
kernel. This pull request is the result of that work.
These changes allow us to initialise the CPUs, interrupt controller,
and timers via ACPI tables, with memory information and cmdline coming
from EFI. We don't support a hybrid ACPI/FDT scheme. Of course,
there is still plenty of work to do (a serial console would be nice!)
but I expect that to happen on a per-driver basis after this core
series has been merged.
Anyway, the diff stat here is fairly horrible, but splitting this up
and merging it via all the different subsystems would have been
extremely painful. Instead, we've got all the relevant Acks in place
and I've not seen anything other than trivial (Kconfig) conflicts in
-next (for completeness, I've included my resolution below). Nearly
half of the insertions fall under Documentation/.
So, we'll see how this goes. Right now, it all depends on EXPERT and
I fully expect people to use FDT by default for the immediate future"
* tag 'arm64-upstream' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (31 commits)
ARM64 / ACPI: make acpi_map_gic_cpu_interface() as void function
ARM64 / ACPI: Ignore the return error value of
acpi_map_gic_cpu_interface()
ARM64 / ACPI: fix usage of acpi_map_gic_cpu_interface
ARM64: kernel: acpi: honour acpi=force command line parameter
ARM64: kernel: acpi: refactor ACPI tables init and checks
ARM64: kernel: psci: let ACPI probe PSCI version
ARM64: kernel: psci: factor out probe function
ACPI: move arm64 GSI IRQ model to generic GSI IRQ layer
ARM64 / ACPI: Don't unflatten device tree if acpi=force is passed
ARM64 / ACPI: additions of ACPI documentation for arm64
Documentation: ACPI for ARM64
ARM64 / ACPI: Enable ARM64 in Kconfig
XEN / ACPI: Make XEN ACPI depend on X86
ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on
ARM64
clocksource / arch_timer: Parse GTDT to initialize arch timer
irqchip: Add GICv2 specific ACPI boot support
ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi
ACPI / processor: Make it possible to get CPU hardware ID via GICC
ACPI / processor: Introduce phys_cpuid_t for CPU hardware ID
ARM64 / ACPI: Parse MADT for SMP initialization
...
commit fb65d872d7a8dc629837a49513911d0281577bfd
Merge: 05f0c55 6b7acae
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 08:10:53 2015 -0700
Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
Pull ARM fixes from Russell King:
"A few fixes for the recently merged development updates:
- the update to convert a code branch in the procinfo structure
forgot to update the nommu code.
- VDSO only supported for V7 CPUs and later.
- VDSO build creates files which should be ignored by git but are not.
- ensure that make arch/arm/vdso/ doesn't build if it isn't enabled"
* 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
ARM: 8344/1: VDSO: honor CONFIG_VDSO in Makefile
ARM: 8343/1: VDSO: add build artifacts to .gitignore
ARM: Fix nommu booting
ARM: 8342/1: VDSO: depend on CPU_V7
commit 845704a535e9b3c76448f52af1b70e4422ea03fd
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Thu Apr 23 10:42:39 2015 -0700
tcp: avoid looping in tcp_send_fin()
Presence of an unbound loop in tcp_send_fin() had always been hard
to explain when analyzing crash dumps involving gigantic dying processes
with millions of sockets.
Lets try a different strategy :
In case of memory pressure, try to add the FIN flag to last packet
in write queue, even if packet was already sent. TCP stack will
be able to deliver this FIN after a timeout event. Note that this
FIN being delivered by a retransmit, it also carries a Push flag
given our current implementation.
By checking sk_under_memory_pressure(), we anticipate that cooking
many FIN packets might deplete tcp memory.
In the case we could not allocate a packet, even with __GFP_WAIT
allocation, then not sending a FIN seems quite reasonable if it allows
to get rid of this socket, free memory, and not block the process from
eventually doing other useful work.
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 05f0c553e2155b93a9b4edb96898458762bda867
Merge: 668b54a 1a70db49
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 07:59:07 2015 -0700
Merge tag 'nios2-v4.1-rc1' of
git://git.rocketboards.org/linux-socfpga-next
Pull arch/nios2 updates from Ley Foon Tan:
- update cache management code
- rework trap handler with new define trap #.
- fix on check header warning.
* tag 'nios2-v4.1-rc1' of git://git.rocketboards.org/linux-socfpga-next:
nios2: rework cache
nios2: Add types.h header required for __u32 type
nios2: rework trap handler
nios2: remove end address checking for initda
commit 668b54a1c2c25bde34cd9c077b1c5f03b46bcb49
Merge: fab1e55 d91e14b
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 07:58:07 2015 -0700
Merge tag 'blackfin-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux
Pull blackfin updates from Steven Miao.
* tag 'blackfin-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux:
eth: bf609 eth clock: add pclk clock for stmmac driver probe
blackfin: Wire up missing syscalls
arch: blackfin: kernel: kgdb: Remove unused function
dma: fix build error after update to v3.19
blackfin: io: define __raw_readx/writex with bfin_readx/writex
bf609: add resources for lcd nl8048
pm: sometimes wake up from suspend to RAM would fail
debug-mmrs: Eliminate all traces of the USB_PHY_TEST MMR
bf609: remove softswitch i2c configuration from adv7842 and adv7511
platform data
bf609: add platform data for soft switch devices on the video extenders
bf609: enable soft switch gpio driver by default
bf609: add gpio soft switch platform data for mcp23017 i2c devices
bf609: use new SND_BF6XX_PCM to choose audio pcm driver
bug[220] kgdb: change the smp cross core function entry
arch: blackfin: kernel: setup.c: Cleaning up missing null-terminate in
conjunction with strncpy
blackfin: defconfigs: cleanup unused CONFIG_MTD_CHAR, add MTD_SPI_NOR
for BF537-STAMP
commit fab1e5502cf5719669c96c6f240e8eb963abfe6b
Merge: c76397e 40346a0
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 07:56:50 2015 -0700
Merge tag 'metag-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag
Pull Metag architecture updates from James Hogan:
"Just the one change for v4.1-rc1. A minor cleanup of copy_thread()"
* tag 'metag-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
metag: copy_thread(): rename 'arg' argument to 'kthread_arg'
commit c76397e9303f2c9ac3c2b9d94834ff241d2b2bd4
Merge: 860448c d8f6ad8
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 07:55:54 2015 -0700
Merge tag 'arc-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
Pull ARC updates from Vineet Gupta:
- perf fixes/improvements
- misc cleanups
* tag 'arc-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
ARC: perf: don't add code for impossible case
ARC: perf: Rename DT binding to not confuse with power mgmt
ARC: perf: add user space attribution in callchains
ARC: perf: Add kernel callchain support
ARC: perf: support cache hit/miss ratio
ARC: perf: Add some comments/debug stuff
ARC: perf: make @arc_pmu static global
ARC: mem init spring cleaning - No functional changes
ARC: Fix RTT boot printing
ARC: fold __builtin_constant_p() into test_bit()
ARC: rename unhandled exception handler
ARC: cosmetic: Remove unused ECR bitfield masks
ARC: Fix WRITE_BCR
ARC: [nsimosci] Update defconfig
arc: copy_thread(): rename 'arg' argument to 'kthread_arg'
commit 860448cf76c0878b83d3cf343a0436188b396b8e
Merge: ba0e4ae bff1752
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 07:46:05 2015 -0700
Merge branch 'for-4.1' of git://linux-nfs.org/~bfields/linux
Pull nfsd updates from Bruce Fields:
"A quiet cycle this time; this is basically entirely bugfixes.
The few that aren't cc'd to stable are cleanup or seemed unlikely to
affect anyone much"
* 'for-4.1' of git://linux-nfs.org/~bfields/linux:
uapi: Remove kernel internal declaration
nfsd: fix nsfd startup race triggering BUG_ON
nfsd: eliminate NFSD_DEBUG
nfsd4: fix READ permission checking
nfsd4: disallow SEEK with special stateids
nfsd4: disallow ALLOCATE with special stateids
nfsd: add NFSEXP_PNFS to the exflags array
nfsd: Remove duplicate macro define for max sec label length
nfsd: allow setting acls with unenforceable DENYs
nfsd: NFSD_FAULT_INJECTION depends on DEBUG_FS
nfsd: remove unused status arg to nfsd4_cleanup_open_state
nfsd: remove bogus setting of status in nfsd4_process_open2
NFSD: Use correct reply size calculating function
NFSD: Using path_equal() for checking two paths
commit ba0e4ae88f0f71b42ad8734e0c371d321554f13b
Merge: 1aef882 e082f56
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 07:40:02 2015 -0700
Merge branch 'for-linus-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
Pull btrfs updates from Chris Mason:
"I've been running these through a longer set of load tests because my
commits change the free space cache writeout. It fixes commit stalls
on large filesystems (~20T space used and up) that we have been
triggering here. We were seeing new writers blocked for 10 seconds or
more during commits, which is far from good.
Josef and I fixed up ENOSPC aborts when deleting huge files (3T or
more), that are triggered because our metadata reservations were not
properly accounting for crcs and were not replenishing during the
truncate.
Also in this series, a number of qgroup fixes from Fujitsu and Dave
Sterba collected most of the pending cleanups from the list"
* 'for-linus-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (93 commits)
btrfs: quota: Update quota tree after qgroup relationship change.
btrfs: quota: Automatically update related qgroups or mark INCONSISTENT
flags when assigning/deleting a qgroup relations.
btrfs: qgroup: clear STATUS_FLAG_ON in disabling quota.
btrfs: Update btrfs qgroup status item when rescan is done.
btrfs: qgroup: Fix dead judgement on qgroup_rescan_leaf() return value.
btrfs: Don't allow subvolid >= (1 << BTRFS_QGROUP_LEVEL_SHIFT) to be
created
btrfs: Check qgroup level in kernel qgroup assign.
btrfs: qgroup: allow to remove qgroup which has parent but no child.
btrfs: qgroup: return EINVAL if level of parent is not higher than
child's.
btrfs: qgroup: do a reservation in a higher level.
Btrfs: qgroup, Account data space in more proper timings.
Btrfs: qgroup: Introduce a may_use to account space_info->bytes_may_use.
Btrfs: qgroup: free reserved in exceeding quota.
Btrfs: qgroup: cleanup, remove an unsued parameter in
btrfs_create_qgroup().
btrfs: qgroup: fix limit args override whole limit struct
btrfs: qgroup: update limit info in function btrfs_run_qgroups().
btrfs: qgroup: consolidate the parameter of fucntion
update_qgroup_limit_item().
btrfs: qgroup: update qgroup in memory at the same time when we update
it in btree.
btrfs: qgroup: inherit limit info from srcgroup in creating snapshot.
btrfs: Support busy loop of write and delete
...
commit 1aef882f023eb7c24d6d77f001bd0ba956fdd861
Merge: d869844 542c311
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 07:08:41 2015 -0700
Merge tag 'xfs-for-linus-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs
Pull xfs update from Dave Chinner:
"This update contains:
- RENAME_WHITEOUT support
- conversion of per-cpu superblock accounting to use generic counters
- new inode mmap lock so that we can lock page faults out of
truncate, hole punch and other direct extent manipulation functions
to avoid racing mmap writes from causing data corruption
- rework of direct IO submission and completion to solve data
corruption issue when running concurrent extending DIO writes.
Also solves problem of running IO completion transactions in
interrupt context during size extending AIO writes.
- FALLOC_FL_INSERT_RANGE support for inserting holes into a file via
direct extent manipulation to avoid needing to copy data within the
file
- attribute block header field overflow fix for 64k block size
filesystems
- Lots of changes to log messaging to be more informative and concise
when errors occur. Also prevent a lot of unnecessary log spamming
due to cascading failures in error conditions.
- lots of cleanups and bug fixes
One thing of note is the direct IO fixes that we merged last week
after the window opened. Even though a little late, they fix a user
reported data corruption and have been pretty well tested. I figured
there was not much point waiting another 2 weeks for -rc1 to be
released just so I could send them to you..."
* tag 'xfs-for-linus-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (49 commits)
xfs: using generic_file_direct_write() is unnecessary
xfs: direct IO EOF zeroing needs to drain AIO
xfs: DIO write completion size updates race
xfs: DIO writes within EOF don't need an ioend
xfs: handle DIO overwrite EOF update completion correctly
xfs: DIO needs an ioend for writes
xfs: move DIO mapping size calculation
xfs: factor DIO write mapping from get_blocks
xfs: unlock i_mutex in xfs_break_layouts
xfs: kill unnecessary firstused overflow check on attr3 leaf removal
xfs: use larger in-core attr firstused field and detect overflow
xfs: pass attr geometry to attr leaf header conversion functions
xfs: disallow ro->rw remount on norecovery mount
xfs: xfs_shift_file_space can be static
xfs: Add support FALLOC_FL_INSERT_RANGE for fallocate
fs: Add support FALLOC_FL_INSERT_RANGE for fallocate
xfs: Fix incorrect positive ENOMEM return
xfs: xfs_mru_cache_insert() should use GFP_NOFS
xfs: %pF is only for function pointers
xfs: fix shadow warning in xfs_da3_root_split()
...
commit d869844bd081081bf537e806a44811884230643e
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 23 08:33:59 2015 -0700
x86: fix special __probe_kernel_write() tail zeroing case
Commit cae2a173fe94 ("x86: clean up/fix 'copy_in_user()' tail zeroing")
fixed the failure case tail zeroing of one special case of the x86-64
generic user-copy routine, namely when used for the user-to-user case
("copy_in_user()").
But in the process it broke an even more unusual case: using the user
copy routine for kernel-to-kernel copying.
Now, normally kernel-kernel copies are obviously done using memcpy(),
but we have a couple of special cases when we use the user-copy
functions. One is when we pass a kernel buffer to a regular user-buffer
routine, using set_fs(KERNEL_DS). That's a "normal" case, and continued
to work fine, because it never takes any faults (with the possible
exception of a silent and successful vmalloc fault).
But Jan Beulich pointed out another, very unusual, special case: when we
use the user-copy routines not because it's a path that expects a user
pointer, but for a couple of ftrace/kgdb cases that want to do a kernel
copy, but do so using "unsafe" buffers, and use the user-copy routine to
gracefully handle faults. IOW, for probe_kernel_write().
And that broke for the case of a faulting kernel destination, because we
saw the kernel destination and wanted to try to clear the tail of the
buffer. Which doesn't work, since that's what faults.
This only triggers for things like kgdb and ftrace users (eg trying
setting a breakpoint on read-only memory), but it's definitely a bug.
The fix is to not compare against the kernel address start (TASK_SIZE),
but instead use the same limits "access_ok()" uses.
Reported-and-tested-by: Jan Beulich <jbeulich@xxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx # 4.0
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 8c98ebd7a6ff6ef352bb4c5516a8849b40b5ef6b
Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Thu Apr 23 20:03:58 2015 +0200
crypto: img-hash - CRYPTO_DEV_IMGTEC_HASH should depend on HAS_DMA
If NO_DMA=y:
drivers/built-in.o: In function `img_hash_write_via_dma_stop':
img-hash.c:(.text+0xa2b822): undefined reference to `dma_unmap_sg'
drivers/built-in.o: In function `img_hash_xmit_dma':
img-hash.c:(.text+0xa2b8d8): undefined reference to `dma_map_sg'
img-hash.c:(.text+0xa2b948): undefined reference to `dma_unmap_sg'
Also move the "depends" section below the "tristate" line while we're at
it.
Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 00425bb181c204c8f250fec122e2817a930e0286
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Fri Apr 24 08:37:09 2015 +0200
crypto: x86/sha512_ssse3 - fixup for asm function prototype change
Patch e68410ebf626 ("crypto: x86/sha512_ssse3 - move SHA-384/512
SSSE3 implementation to base layer") changed the prototypes of the
core asm SHA-512 implementations so that they are compatible with
the prototype used by the base layer.
However, in one instance, the register that was used for passing the
input buffer was reused as a scratch register later on in the code,
and since the input buffer param changed places with the digest param
-which needs to be written back before the function returns- this
resulted in the scratch register to be dereferenced in a memory write
operation, causing a GPF.
Fix this by changing the scratch register to use the same register as
the input buffer param again.
Fixes: e68410ebf626 ("crypto: x86/sha512_ssse3 - move SHA-384/512 SSSE3
implementation to base layer")
Reported-By: Bobby Powers <bobbypowers@xxxxxxxxx>
Tested-By: Bobby Powers <bobbypowers@xxxxxxxxx>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 3168c201f7ca333d12f80f8d98bbbe3a33746f8b
Author: Fang, Yang A <yang.a.fang@xxxxxxxxx>
Date: Thu Apr 23 16:35:17 2015 -0700
ASoC: rt5645: Add ACPI match ID
This patch adds the ACPI match ID for rt5645/5650 codec
Signed-off-by: Fang, Yang A <yang.a.fang@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 74d6ea52aeef0236242221c6eff6d892565c5a92
Author: Bard Liao <bardliao@xxxxxxxxxxx>
Date: Fri Apr 24 15:19:29 2015 +0800
ASoC: rt5677: add register patch for PLL
The PLL output will be unstable in some cases. We can fix it by
setting some registers.
Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit 1a70db49a735350f221959bf26e9a12f63a743bc
Author: Ley Foon Tan <lftan@xxxxxxxxxx>
Date: Fri Apr 24 14:18:55 2015 +0800
nios2: rework cache
- flush dcache before flush instruction cache
- remork update_mmu_cache and flush_dcache_page
- add shmparam.h
Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx>
commit 2009337e30cdae64405ea7b8fa1578b921508871
Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 24 14:48:35 2015 +0800
nios2: Add types.h header required for __u32 type
Reported by the header checker (CONFIG_HEADERS_CHECK=y):
CHECK usr/include/asm/ (31 files)
./usr/include/asm/ptrace.h:77: found __[us]{8,16,32,64} type without
#include <linux/types.h>
Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx>
Acked-by: Ley Foon Tan <lftan@xxxxxxxxxx>
commit e8191a8e475551b277d85cd76c3f0f52fdf42e86
Author: Hui Wang <hui.wang@xxxxxxxxxxxxx>
Date: Fri Apr 24 13:39:59 2015 +0800
ALSA: hda - fix headset mic detection problem for one more machine
We have two machines with alc256 codec in the pin quirk table, so
moving the common pins to ALC256_STANDARD_PINS.
Cc: stable@xxxxxxxxxxxxxxx
BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1447909
Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit d91e14b3b9e1d8e1d552f4d6aff45551bbb410b1
Author: Steven Miao <realmz6@xxxxxxxxx>
Date: Fri Apr 24 11:39:08 2015 +0800
eth: bf609 eth clock: add pclk clock for stmmac driver probe
Signed-off-by: Steven Miao <realmz6@xxxxxxxxx>
commit 4f650a5966038f439c5f8d7d85dcc6b3a77a4e7c
Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx>
Date: Mon Apr 13 22:02:58 2015 +0800
blackfin: Wire up missing syscalls
The related syscalls are below which may cause samples/kdbus building
break in next-20150401 tree, the related information and error:
CALL scripts/checksyscalls.sh
<stdin>:1223:2: warning: #warning syscall kcmp not implemented [-Wcpp]
<stdin>:1226:2: warning: #warning syscall finit_module not implemented
[-Wcpp]
<stdin>:1229:2: warning: #warning syscall sched_setattr not implemented
[-Wcpp]
<stdin>:1232:2: warning: #warning syscall sched_getattr not implemented
[-Wcpp]
<stdin>:1235:2: warning: #warning syscall renameat2 not implemented
[-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented
[-Wcpp]
<stdin>:1241:2: warning: #warning syscall getrandom not implemented
[-Wcpp]
<stdin>:1244:2: warning: #warning syscall memfd_create not implemented
[-Wcpp]
<stdin>:1247:2: warning: #warning syscall bpf not implemented [-Wcpp]
<stdin>:1250:2: warning: #warning syscall execveat not implemented
[-Wcpp]
[...]
HOSTCC samples/kdbus/kdbus-workers
samples/kdbus/kdbus-workers.c: In function â??prime_newâ??:
samples/kdbus/kdbus-workers.c:930:18: error: â??__NR_memfd_createâ??
undeclared (first use in this function)
p->fd = syscall(__NR_memfd_create, "prime-area", MFD_CLOEXEC);
^
samples/kdbus/kdbus-workers.c:930:18: note: each undeclared identifier
is reported only once for each function it appears in
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
commit 85db36cfb3de1422aeafb4e2ce83396333b744bb
Author: Chris Mason <clm@xxxxxx>
Date: Thu Apr 23 08:02:49 2015 -0700
Btrfs: fix inode cache writeout
The code to fix stalls during free spache cache IO wasn't using
the correct root when waiting on the IO for inode caches. This
is only a problem when the inode cache is enabled with
mount -o inode_cache
This fixes the inode cache writeout to preserve any error values and
makes sure not to override the root when inode cache writeout is done.
Reported-by: Filipe Manana <fdmanana@xxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit e0155a99b28f63e007c0c74076ad8ae486a3c9d3
Merge: 2363ccb 78b9ae3 6b5eab5 7d28435
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Fri Apr 24 02:18:52 2015 +0200
Merge branches 'acpi-dock', 'acpi-ec' and 'acpi-scan'
* acpi-dock:
MAINTAINERS: remove maintainship entry of docking station driver
* acpi-ec:
ACPI / EC: fix NULL pointer dereference in
acpi_ec_remove_query_handler()
* acpi-scan:
ACPI / scan: Add a scan handler for PRP0001
ACPI / scan: Annotate physical_node_lock in acpi_scan_is_offline()
commit 7d284352f9cbc032f2294024b1a6b5c06765c246
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Fri Apr 24 02:18:01 2015 +0200
ACPI / scan: Add a scan handler for PRP0001
If the special PRP0001 device ID is present in the given device's list
of ACPI/PNP IDs and the device has a valid "compatible" property in
the _DSD, it should be enumerated using the default mechanism,
unless some scan handlers match the IDs preceding PRP0001 in the
device's list of ACPI/PNP IDs. In addition to that, no scan handlers
matching the IDs following PRP0001 in that list should be attached
to the device.
To make that happen, define a scan handler that will match PRP0001
and trigger the default enumeration for the matching devices if the
"compatible" property is present for them.
Since that requires the check for platform_id and device->handler
to be removed from acpi_default_enumeration(), move the fallback
invocation of acpi_default_enumeration() to acpi_bus_attach()
(after it's checked if there's a matching ACPI driver for the
device), which is a better place to call it, and do the platform_id
check in there too (device->handler is guaranteed to be unset at
the point where the function is looking for a matching ACPI driver).
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit 4c533c801d1c9b5c38458a0e7516e0cf50643782
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Sat Apr 18 01:25:46 2015 +0200
ACPI / scan: Annotate physical_node_lock in acpi_scan_is_offline()
acpi_scan_is_offline() may be called under the physical_node_lock
lock of the given device object's parent, so prevent lockdep from
complaining about that by annotating that instance with
SINGLE_DEPTH_NESTING.
Fixes: caa73ea158de (ACPI / hotplug / driver core: Handle containers in a
special way)
Reported-and-tested-by: Xie XiuQi <xiexiuqi@xxxxxxxxxx>
Reviewed-by: Toshi Kani <toshi.kani@xxxxxx>
Cc: 3.14+ <stable@xxxxxxxxxxxxxxx> # 3.14+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit b5f1c97f944482e98e6e39208af356630389d1ea
Author: Imre Deak <imre.deak@xxxxxxxxx>
Date: Wed Apr 15 16:52:30 2015 -0700
drm/i915: vlv: fix save/restore of GFX_MAX_REQ_COUNT reg
Due this typo we don't save/restore the GFX_MAX_REQ_COUNT register across
suspend/resume, so fix this.
This was introduced in
commit ddeea5b0c36f3665446518c609be91f9336ef674
Author: Imre Deak <imre.deak@xxxxxxxxx>
Date: Mon May 5 15:19:56 2014 +0300
drm/i915: vlv: add runtime PM support
I noticed this only by reading the code. To my knowledge it shouldn't
cause any real problems at the moment, since the power well backing this
register remains on across a runtime s/r. This may change once
system-wide s0ix functionality is enabled in the kernel.
v2:
- resend after a missing git add -u :/
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx>
Tested-By: PRC QA PRTS (Patch Regression Test System Contact:
shuang.he@xxxxxxxxx)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx>
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit 6b7acae74fc2ffe6cfd7592e95ca933cadb31219
Merge: 4b2f883 0a9024e f80f653
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Thu Apr 23 21:05:16 2015 +0000
Merge branches 'misc' and 'vdso' into for-next
commit 53292cdb066950611e5bc2e0eb109c7edb42af78
Author: Michel Thierry <michel.thierry@xxxxxxxxx>
Date: Wed Apr 15 18:11:33 2015 +0100
drm/i915: Workaround to avoid lite restore with HEAD==TAIL
WaIdleLiteRestore is an execlists-only workaround, and requires the driver
to ensure that any context always has HEAD!=TAIL when attempting lite
restore.
Add two extra MI_NOOP instructions at the end of each request, but keep
the requests tail pointing before the MI_NOOPs. We may not need to
executed them, and this is why request->tail is sampled before adding
these extra instructions.
If we submit a context to the ELSP which has previously been submitted,
move the tail pointer past the MI_NOOPs. This ensures HEAD!=TAIL.
v2: Move overallocation to gen8_emit_request, and added note about
sampling request->tail in commit message (Chris).
v3: Remove redundant request->tail assignment in __i915_add_request, in
lrc mode this is already set in execlists_context_queue.
Do not add wa implementation details inside gem (Chris).
v4: Apply the wa whenever the req has been resubmitted and update
comment (Chris).
Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx>
Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx>
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit 9535c4757b881e06fae72a857485ad57c422b8d2
Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Date: Tue Apr 21 09:49:11 2015 -0700
drm/i915: cope with large i2c transfers
The hardware, according to the specs, is limited to 256 byte transfers,
and current driver has no protections in case users attempt to do larger
transfers. The code will just stomp over status register and mayhem
ensues.
Let's split larger transfers into digestable chunks. Doing this allows
Atmel MXT driver on Pixel 1 function properly (it hasn't since commit
9d8dc3e529a19e427fd379118acd132520935c5d "Input: atmel_mxt_ts -
implement T44 message handling" which tries to consume multiple
touchscreen/touchpad reports in a single transaction).
Cc: stable@xxxxxxxxxxxxxxx
Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit de28c15daf60e9625bece22f13a091fac8d05f1d
Author: Bobby Powers <bobbypowers@xxxxxxxxx>
Date: Tue Apr 21 19:19:41 2015 -0400
tools lib api: Undefine _FORTIFY_SOURCE before setting it
Some toolchains (like Hardened Gentoo) define _FORTIFY_SOURCE in the
built-in, default args. This causes perf builds to fail with:
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>: note: this is the location of the previous definition cc1:
all warnings being treated as errors
To avoid this, undefine _FORTIFY_SOURCE before (possibly re-)defining it
in tools/lib/api.
v2 applies cleanly on top of already pulled kbuild changes for 4.1-rc1.
Signed-off-by: Bobby Powers <bobbypowers@xxxxxxxxx>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Dirk Gouders <dirk@xxxxxxxxxxx>
Cc: Michal Marek <mmarek@xxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: linux-kbuild@xxxxxxxxxxxxxxx
Link:
http://lkml.kernel.org/r/1429658381-3039-1-git-send-email-bobbypowers@xxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 6145c259cd454bcb7a1288f7bbb7b4fbc18175dd
Author: Will Deacon <will.deacon@xxxxxxx>
Date: Thu Apr 23 14:40:37 2015 +0100
perf kmem: Consistently use PRIu64 for printing u64 values
Building the perf tool for 32-bit ARM results in the following build
error due to a combination of an incorrect conversion specifier and
compiling with -Werror:
builtin-kmem.c: In function â??print_page_summaryâ??:
builtin-kmem.c:644:9: error: format â??%luâ?? expects argument of type
â??long unsigned intâ??, but argument 3 has type â??u64â?? [-Werror=format=]
nr_alloc_freed, (total_alloc_freed_bytes) / 1024);
^
builtin-kmem.c:647:9: error: format â??%luâ?? expects argument of type
â??long unsigned intâ??, but argument 3 has type â??u64â?? [-Werror=format=]
(total_page_alloc_bytes - total_alloc_freed_bytes) / 1024);
^
cc1: all warnings being treated as errors
This patch fixes the problem by consistently using PRIu64 for printing
out u64 values.
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Joonsoo Kim <js1304@xxxxxxxxx>
Cc: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Link:
http://lkml.kernel.org/r/1429796437-1790-1-git-send-email-will.deacon@xxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 02ac5421ddc634767c732f9b6a10a395a9ecfc4f
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Wed Apr 22 11:11:57 2015 -0300
perf trace: Disable events and drain events when forked workload ends
We were not checking in the inner event processing loop if the forked
workload
had finished, which, on a busy system, may make it take a long time
trying to
drain events, entering a seemingly neverending loop, waiting for the
system to
get idle enough to make it drain the buffers.
Fix it by disabling the events when 'done' is true, in the inner loop, to
start
draining what is in the buffers.
Now:
[root@ssdandy ~]# time trace --filter-pids 14003 -a sleep 1 | tail
996.748 ( 0.002 ms): sh/30296 rt_sigprocmask(how: SETMASK, nset:
0x7ffc83418160, sigsetsize: 8) = 0
996.751 ( 0.002 ms): sh/30296 rt_sigprocmask(how: BLOCK, nset:
0x7ffc834181f0, oset: 0x7ffc83418270, sigsetsize: 8) = 0
996.755 ( 0.002 ms): sh/30296 rt_sigaction(sig: INT, act:
0x7ffc83417f50, oact: 0x7ffc83417ff0, sigsetsize: 8) = 0
1004.543 ( 0.362 ms): tail/30198 ... [continued]: read()) = 4096
1004.548 ( 7.791 ms): sh/30296 wait4(upid: -1, stat_addr:
0x7ffc834181a0) ...
1004.975 ( 0.427 ms): tail/30198 read(buf: 0x7633f0, count: 8192) = 4096
1005.390 ( 0.410 ms): tail/30198 read(buf: 0x765410, count: 8192) = 4096
1005.743 ( 0.348 ms): tail/30198 read(buf: 0x7633f0, count: 8192) = 4096
1006.197 ( 0.449 ms): tail/30198 read(buf: 0x765410, count: 8192) = 4096
1006.492 ( 0.290 ms): tail/30198 read(buf: 0x7633f0, count: 8192) = 4096
real 0m1.219s
user 0m0.704s
sys 0m0.331s
[root@ssdandy ~]#
Reported-by: Michael Petlan <mpetlan@xxxxxxxxxx>
Suggested-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link: http://lkml.kernel.org/n/tip-p6kpn1b26qcbe47pufpw0tex@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit cb24d01d217497fb32467de22d773655f47d3896
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Wed Apr 22 10:04:23 2015 -0300
perf trace: Enable events when doing system wide tracing and starting a
workload
commit f7aa222ff397
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Tue Feb 3 13:25:39 2015 -0300
perf trace: No need to enable evsels for workload started from perf
The assumption was that whenever a workload is specified, the
attr.enable_on_exec evsel flag would be set, but that is not happening
when perf_record_opts.system_wide is set, for instance
That resulted in both perf_evlist__enable() and attr.enable_on_exec
being not called/set, which made the events to remain disabled while the
workload runs, producing no output.
Fix it, by calling perf_evlist__enable() in the 'trace' tool
when forking and not targetting a workload started from trace
v2: Test against !target__none(), as suggested by Namhyung Kim, that is
what is used in perf_evsel__config() when deciding if the
attr.enable_on_exec flag to be set. More work is needed to cover other
cases such as opts->initial_delay.
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link: http://lkml.kernel.org/n/tip-27z7169pvfxgj8upic636syv@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit f139b6c676c7e49b66016b28bf3f8ec5c54be891
Merge: 21330b6 d654788
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Thu Apr 23 15:16:37 2015 -0400
Merge tag 'nfs-rdma-for-4.1-1' of
git://git.linux-nfs.org/projects/anna/nfs-rdma
NFS: NFSoRDMA Client Changes
This patch series creates an operation vector for each of the different
memory registration modes. This should make it easier to one day increase
credit limit, rsize, and wsize.
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
commit 21330b667070fd64b2340d8d31c1b0800df78ec8
Merge: c775707 5fcdfac
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Thu Apr 23 15:16:27 2015 -0400
Merge branch 'bugfixes'
* bugfixes:
NFSv4: Return delegations synchronously in evict_inode
SUNRPC: Fix a regression when reconnecting
NFS: remount with security change should return EINVAL
nfs: do not export discarded symbols
NFSv4.1: don't export static symbol
commit c7757074839f2cd440521482d76ea180d0d4bdac
Author: Andre Przywara <andre.przywara@xxxxxxx>
Date: Thu Apr 23 17:17:40 2015 +0100
fs/nfs: fix new compiler warning about boolean in switch
The brand new GCC 5.1.0 warns by default on using a boolean in the
switch condition. This results in the following warning:
fs/nfs/nfs4proc.c: In function 'nfs4_proc_get_rootfh':
fs/nfs/nfs4proc.c:3100:10: warning: switch condition has boolean value
[-Wswitch-bool]
switch (auth_probe) {
^
This code was obviously using switch to make use of the fall-through
semantics (without the usual comment, though).
Rewrite that code using if statements to avoid the warning and make
the code a bit more readable on the way.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit c456aacf3c27b9a3013d4524fdc4bd0bb61fb884
Author: Firo Yang <firogm@xxxxxxxxx>
Date: Thu Apr 23 17:17:51 2015 +0800
nfs: Remove unneeded casts in nfs
Don't unnecessarily cast allocation return value in
fs/nfs/inode.c::nfs_alloc_inode().
Signed-off-by: Firo Yang <firogm@xxxxxxxxx>
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit ce85cfbed6fe3dbc01bd1976b23ac3e97878cde6
Author: Benjamin Coddington <bcodding@xxxxxxxxxx>
Date: Tue Apr 21 14:17:35 2015 -0400
NFS: Don't attempt to decode missing directory entries
If a READDIR reply comes back without any page data, avoid a NULL pointer
dereference in xdr_copy_to_scratch().
BUG: unable to handle kernel NULL pointer dereference at 0000000000000001
IP: [<ffffffff813a378d>] memcpy+0xd/0x110
...
Call Trace:
? xdr_inline_decode+0x7a/0xb0 [sunrpc]
nfs3_decode_dirent+0x73/0x320 [nfsv3]
nfs_readdir_page_filler+0xd5/0x4e0 [nfs]
? nfs3_rpc_wrapper.constprop.9+0x42/0xc0 [nfsv3]
nfs_readdir_xdr_to_array+0x1fa/0x330 [nfs]
? mem_cgroup_commit_charge+0xac/0x160
? nfs_readdir_xdr_to_array+0x330/0x330 [nfs]
nfs_readdir_filler+0x22/0x90 [nfs]
do_read_cache_page+0x7e/0x1a0
read_cache_page+0x1c/0x20
nfs_readdir+0x18e/0x660 [nfs]
? nfs3_xdr_dec_getattr3res+0x80/0x80 [nfsv3]
iterate_dir+0x97/0x130
SyS_getdents+0x94/0x120
? fillonedir+0xd0/0xd0
system_call_fastpath+0x12/0x17
Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx>
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 3708f842e107b9b79d54a75d152e666b693649e8
Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx>
Date: Thu Apr 16 18:48:39 2015 +0800
Revert "nfs: replace nfs_add_stats with nfs_inc_stats when add one"
This reverts commit 5a254d08b086d80cbead2ebcee6d2a4b3a15587a.
Since commit 5a254d08b086 ("nfs: replace nfs_add_stats with
nfs_inc_stats when add one"), nfs_readpage and nfs_do_writepage use
nfs_inc_stats to increment NFSIOS_READPAGES and NFSIOS_WRITEPAGES
instead of nfs_add_stats.
However nfs_inc_stats does not do the same thing as nfs_add_stats with
value 1 because these functions work on distinct stats:
nfs_inc_stats increments stats from "enum nfs_stat_eventcounters" (in
server->io_stats->events) and nfs_add_stats those from "enum
nfs_stat_bytecounters" (in server->io_stats->bytes).
Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx>
Fixes: 5a254d08b086 ("nfs: replace nfs_add_stats with nfs_inc_stats...")
Cc: stable@xxxxxxxxxxxxxxx # 3.19+
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 7b320382d0d861e46f55087b50d252410b1f402f
Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Date: Wed Apr 15 13:00:06 2015 -0400
NFS: Rename idmap.c to nfs4idmap.c
I added the nfs4 prefix to make it obvious that this file is built into
the NFS v4 module, and not the generic client.
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 40c64c26a43494ba9982fd1b87dc54e3819566fc
Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Date: Wed Apr 15 13:00:05 2015 -0400
NFS: Move nfs_idmap.h into fs/nfs/
This file is only used internally to the NFS v4 module, so it doesn't
need to be in the global include path. I also renamed it from
nfs_idmap.h to nfs4idmap.h to emphasize that it's an NFSv4-only include
file.
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit f9ebd61855253078fe8b07bacaf516337f8078e8
Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Date: Wed Apr 15 13:00:04 2015 -0400
NFS: Remove CONFIG_NFS_V4 checks from nfs_idmap.h
The idmapper is completely internal to the NFS v4 module, so this macro
will always evaluate to true. This patch also removes unnecessary
includes of this file from the generic NFS client.
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 7c61f0d3897eeeff6f3294adb9f910ddefa8035a
Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Date: Tue Apr 14 10:34:20 2015 -0400
NFS: Add a stub for GETDEVICELIST
d4b18c3e (pnfs: remove GETDEVICELIST implementation) removed the
GETDEVICELIST operation from the NFS client, but left a "hole" in the
nfs4_procedures array. This caused /proc/self/mountstats to report an
operation named "51" where GETDEVICELIST used to be. This patch adds a
stub to fix mountstats.
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Fixes: d4b18c3e (pnfs: remove GETDEVICELIST implementation)
Cc: stable@xxxxxxxxxxxxxxx # 3.17+
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 05f54903d9d370a4cd302a85681304d3ec59e5c1
Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx>
Date: Thu Apr 9 23:02:17 2015 +0800
nfs: remove WARN_ON_ONCE from nfs_direct_good_bytes
For flexfiles driver, we might choose to read from mirror index other
than 0 while mirror_count is always 1 for read.
Reported-by: Jean Spector <jean@xxxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.19+
Cc: Weston Andros Adamson <dros@xxxxxxxxxxxxxxx>
Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx>
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 1ccbad9f9f9bd36db26a10f0b17fbaf12b3ae93a
Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx>
Date: Thu Apr 9 23:02:16 2015 +0800
nfs: fix DIO good bytes calculation
For direct read that has IO size larger than rsize, we'll split
it into several READ requests and nfs_direct_good_bytes() would
count completed bytes incorrectly by eating last zero count reply.
Fix it by handling mirror and non-mirror cases differently such that
we only count mirrored writes differently.
This fixes 5fadeb47("nfs: count DIO good bytes correctly with mirroring").
Reported-by: Jean Spector <jean@xxxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.19+
Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx>
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit ea96d1ecbe4fcb1df487d99309d3157b4ff5fc02
Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Date: Fri Apr 3 14:35:59 2015 -0400
nfs: Fetch MOUNTED_ON_FILEID when updating an inode
2ef47eb1 (NFS: Fix use of nfs_attr_use_mounted_on_fileid()) was a good
start to fixing a circular directory structure warning for NFS v4
"junctioned" mountpoints. Unfortunately, further testing continued to
generate this error.
My server is configured like this:
anna@nfsd ~ % df
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 9.1G 2.0G 6.5G 24% /
/dev/vdc1 1014M 33M 982M 4% /exports
/dev/vdc2 1014M 33M 982M 4% /exports/vol1
/dev/vdc3 1014M 33M 982M 4% /exports/vol1/vol2
anna@nfsd ~ % cat /etc/exports
/exports/ *(rw,async,no_subtree_check,no_root_squash)
/exports/vol1/ *(rw,async,no_subtree_check,no_root_squash)
/exports/vol1/vol2 *(rw,async,no_subtree_check,no_root_squash)
I've been running chown across the entire mountpoint twice in a row to
hit this problem. The first run succeeds, but the second one fails with
the circular directory warning along with:
anna@client ~ % dmesg
[Apr 3 14:28] NFS: server 192.168.100.204 error: fileid changed
fsid 0:39: expected fileid 0x100080, got 0x80
WHere 0x80 is the mountpoint's fileid and 0x100080 is the mounted-on
fileid.
This patch fixes the issue by requesting an updated mounted-on fileid
from the server during nfs_update_inode(), and then checking that the
fileid stored in the nfs_inode matches either the fileid or mounted-on
fileid returned by the server.
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 3f9400981691f6845e5c22b962500742b80a5484
Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx>
Date: Tue Mar 31 12:03:28 2015 -0400
sunrpc: make debugfs file creation failure non-fatal
v2: gracefully handle the case where some dentry pointers end up NULL
and be more dilligent about zeroing out dentry pointers
We currently have a problem that SELinux policy is being enforced when
creating debugfs files. If a debugfs file is created as a side effect of
doing some syscall, then that creation can fail if the SELinux policy
for that process prevents it.
This seems wrong. We don't do that for files under /proc, for instance,
so Bruce has proposed a patch to fix that.
While discussing that patch however, Greg K.H. stated:
"No kernel code should care / fail if a debugfs function fails, so
please fix up the sunrpc code first."
This patch converts all of the sunrpc debugfs setup code to be void
return functins, and the callers to not look for errors from those
functions.
This should allow rpc_clnt and rpc_xprt creation to work, even if the
kernel fails to create debugfs files for some reason.
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Acked-by: "J. Bruce Fields" <bfields@xxxxxxxxxxxx>
Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx>
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 5d05e54af3cdbb13cf19c557ff2184781b91a22c
Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx>
Date: Fri Mar 20 15:15:14 2015 -0400
nfs: fix high load average due to callback thread sleeping
Chuck pointed out a problem that crept in with commit 6ffa30d3f734 (nfs:
don't call blocking operations while !TASK_RUNNING). Linux counts tasks
in uninterruptible sleep against the load average, so this caused the
system's load average to be pinned at at least 1 when there was a
NFSv4.1+ mount active.
Not a huge problem, but it's probably worth fixing before we get too
many complaints about it. This patch converts the code back to use
TASK_INTERRUPTIBLE sleep, simply has it flush any signals on each loop
iteration. In practice no one should really be signalling this thread at
all, so I think this is reasonably safe.
With this change, there's also no need to game the hung task watchdog so
we can also convert the schedule_timeout call back to a normal schedule.
Cc: <stable@xxxxxxxxxxxxxxx>
Reported-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx>
Tested-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Fixes: commit 6ffa30d3f734 (â??nfs: don't call blocking . . .â??)
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit f830f7ddd9165c8bd69127458627f03df4b1a406
Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Date: Mon Mar 16 14:06:24 2015 -0400
NFS: Reduce time spent holding the i_mutex during fallocate()
At the very least, we should not be taking the i_mutex until after
checking if the server even supports ALLOCATE or DEALLOCATE, allowing
v4.0 or v4.1 to exit without potentially waiting on a lock.
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 9a51940bf65bf9fdc93027d70bdecdfc403c5b24
Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Date: Mon Mar 16 14:06:23 2015 -0400
NFS: Don't zap caches on fallocate()
This patch adds a GETATTR to the end of ALLOCATE and DEALLOCATE
operations so we can set the updated inode size and change attribute
directly. DEALLOCATE will still need to release pagecache pages, so
nfs42_proc_deallocate() now calls truncate_pagecache_range() before
contacting the server.
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit e4b6c30375e83b92d9c3e9b9d853417e8cc74006
Author: Luis R. Rodriguez <mcgrof@xxxxxxxx>
Date: Tue Apr 21 13:09:45 2015 -0700
ethernet: myri10ge: use arch_phys_wc_add()
This driver already uses ioremap_wc() on the same range
so when write-combining is available that will be used
instead.
Cc: Hyong-Youb Kim <hykim@xxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Suresh Siddha <sbsiddha@xxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Juergen Gross <jgross@xxxxxxxx>
Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>
Cc: netdev@xxxxxxxxxxxxxxx
Cc: Juergen Gross <jgross@xxxxxxxx>
Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Dave Airlie <airlied@xxxxxxxxxx>
Cc: Antonino Daplas <adaplas@xxxxxxxxx>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx>
Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: netdev@xxxxxxxxxxxxxxx
Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2fb42aab48762fb1d5e21fbb40acad0f2650b9b4
Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Thu Apr 23 20:04:51 2015 +0200
can: CAN_GRCAN should depend on HAS_DMA
If NO_DMA=y:
drivers/built-in.o: In function `grcan_free_dma_buffers':
grcan.c:(.text+0x2d7716): undefined reference to `dma_free_coherent'
drivers/built-in.o: In function `grcan_allocate_dma_buffers':
grcan.c:(.text+0x2d779c): undefined reference to `dma_alloc_coherent'
Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0357cc1def050c4d6107835ed6b79122243bd240
Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Thu Apr 23 19:59:34 2015 +0200
ethernet: arc: ARC_EMAC and EMAC_ROCKCHIP should depend on HAS_DMA
If NO_DMA=y:
drivers/built-in.o: In function `arc_emac_tx_clean':
emac_main.c:(.text+0x2decde): undefined reference to
`dma_unmap_single'
drivers/built-in.o: In function `arc_emac_rx':
emac_main.c:(.text+0x2dee1c): undefined reference to
`dma_unmap_single'
emac_main.c:(.text+0x2dee72): undefined reference to `dma_map_single'
emac_main.c:(.text+0x2dee7e): undefined reference to
`dma_mapping_error'
drivers/built-in.o: In function `arc_emac_probe':
(.text+0x2df2ee): undefined reference to `dmam_alloc_coherent'
drivers/built-in.o: In function `arc_emac_open':
emac_main.c:(.text+0x2df6d8): undefined reference to `dma_map_single'
emac_main.c:(.text+0x2df6e4): undefined reference to
`dma_mapping_error'
drivers/built-in.o: In function `arc_emac_tx':
emac_main.c:(.text+0x2df9e4): undefined reference to `dma_map_single'
emac_main.c:(.text+0x2df9f0): undefined reference to
`dma_mapping_error'
Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 61e77d297dd1fc739828027a2790ee5365de50d2
Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Thu Apr 23 19:59:33 2015 +0200
ethernet: amd: AMD_XGBE should depend on HAS_DMA
If NO_DMA=y:
drivers/built-in.o: In function `xgbe_probe':
xgbe-main.c:(.text+0x2def0a): undefined reference to `dma_set_mask'
xgbe-main.c:(.text+0x2def20): undefined reference to `dma_supported'
drivers/built-in.o: In function `xgbe_rx_poll':
xgbe-drv.c:(.text+0x2e0320): undefined reference to
`dma_sync_single_for_cpu'
xgbe-drv.c:(.text+0x2e035e): undefined reference to
`dma_sync_single_for_cpu'
drivers/built-in.o: In function `xgbe_unmap_rdata':
xgbe-desc.c:(.text+0x2e5fe4): undefined reference to `dma_unmap_page'
xgbe-desc.c:(.text+0x2e5ffa): undefined reference to
`dma_unmap_single'
xgbe-desc.c:(.text+0x2e604a): undefined reference to `dma_unmap_page'
xgbe-desc.c:(.text+0x2e6084): undefined reference to `dma_unmap_page'
drivers/built-in.o: In function `xgbe_alloc_pages':
xgbe-desc.c:(.text+0x2e6156): undefined reference to `dma_map_page'
xgbe-desc.c:(.text+0x2e6164): undefined reference to
`dma_mapping_error'
drivers/built-in.o: In function `xgbe_free_ring':
xgbe-desc.c:(.text+0x2e63d4): undefined reference to `dma_unmap_page'
xgbe-desc.c:(.text+0x2e640e): undefined reference to `dma_unmap_page'
xgbe-desc.c:(.text+0x2e644a): undefined reference to
`dma_free_coherent'
drivers/built-in.o: In function `xgbe_init_ring':
xgbe-desc.c:(.text+0x2e64d4): undefined reference to
`dma_alloc_coherent'
drivers/built-in.o: In function `xgbe_map_tx_skb':
xgbe-desc.c:(.text+0x2e6628): undefined reference to `dma_map_single'
xgbe-desc.c:(.text+0x2e6638): undefined reference to
`dma_mapping_error'
xgbe-desc.c:(.text+0x2e66b2): undefined reference to `dma_map_single'
xgbe-desc.c:(.text+0x2e66c2): undefined reference to
`dma_mapping_error'
xgbe-desc.c:(.text+0x2e6762): undefined reference to `dma_map_page'
xgbe-desc.c:(.text+0x2e6772): undefined reference to
`dma_mapping_error'
Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit fcdd5f09c03bfc95f196dfa781ff447c5cbcc319
Author: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Date: Thu Apr 23 13:42:02 2015 +0200
i2c: st: add include for pinctrl
The driver uses pinctrl directly and thus should include the appropriate
header. Sort the headers while we are here to have a better view what is
included and what is not.
Reported-by: Pascal Huerst <pascal.huerst@xxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit 133778482ec6c8fde69406be380333963627c17a
Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 23 10:29:09 2015 +0200
i2c: mux: use proper dev when removing "channel-X" symlinks
Those symlinks are created for the mux_dev, so we need to remove it from
there. Currently, it breaks for muxes where the mux_dev is not the device
of the parent adapter like this:
[ 78.234644] WARNING: CPU: 0 PID: 365 at fs/sysfs/dir.c:31
sysfs_warn_dup+0x5c/0x78()
[ 78.242438] sysfs: cannot create duplicate filename
'/devices/platform/i2cbus@8/channel-0'
Remove confusing comments while we are here.
Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Fixes: c9449affad2ae0
Cc: stable@xxxxxxxxxx
commit 4c8979b226d773a02586ca75e88b6fb4b2d63a7b
Author: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Date: Wed Apr 22 10:16:11 2015 +0200
i2c: digicolor: remove duplicate include
And sort them to prevent this from happening again.
Reported-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit 6ada5c1e1b077ab98fc144d7ac132b4dcc0148ec
Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 13:05:19 2015 +0100
i2c: Mark adapter devices with pm_runtime_no_callbacks
Commit 523c5b89640e ("i2c: Remove support for legacy PM") removed the PM
ops from the bus type, which causes the pm operations on the s3c2410
adapter device to fail (-ENOSUPP in rpm_callback). The adapter device
doesn't get bound to a driver and as such can't have its own pm_runtime
callbacks. Previously this was fine as the bus callbacks would have been
used, but now this can cause devices which use PM runtime and are
attached over I2C to fail to resume.
This commit fixes this issue by marking all adapter devices with
pm_runtime_no_callbacks, since they can't have any.
Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Acked-by: Beata Michalska <b.michalska@xxxxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Fixes: 523c5b89640e
Cc: stable@xxxxxxxxxx
commit 9ef8a0bee93606afb1dd111ccc1d467f261099cc
Author: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Date: Mon Apr 20 15:51:40 2015 +0200
i2c: pca-platform: fix broken email address
My Pengutronix address is not valid anymore, redirect people to the
Pengutronix
kernel team.
Reported-by: Harald Geyer <harald@xxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx>
commit 4daf5a2839b38cbb2d234d35bff993609d12ba61
Author: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Date: Mon Apr 20 15:51:39 2015 +0200
i2c: mxs: fix broken email address
My Pengutronix address is not valid anymore, redirect people to the
Pengutronix
kernel team.
Reported-by: Harald Geyer <harald@xxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx>
commit c6cbfb91b878224e78408a2e15901c79de77115a
Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Date: Mon Apr 20 15:14:47 2015 -0700
i2c: rk3x: report number of messages transmitted
master_xfer() method should return number of i2c messages transferred,
but on Rockchip we were usually returning just 1, which caused trouble
with users that actually check number of transferred messages vs.
checking for negative error codes.
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxx
commit d1ab39f17f8653021620d0355ee1cd24d7442a4f
Author: Jason Eastman <eastman.jason.linux@xxxxxxxxx>
Date: Wed Apr 22 00:56:42 2015 -0600
net: unix: garbage: fixed several comment and whitespace style issues
fixed several comment and whitespace style issues
Signed-off-by: Jason Eastman <eastman.jason.linux@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8406a4d56ea94d1d91f62cab3bed15399bac73cb
Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
Date: Thu Apr 23 10:47:44 2015 -0600
elevator: fix double release of elevator module
Our issue is descripted in below call path:
->elevator_init
->elevator_init_fn
->{cfq,deadline,noop}_init_queue
->elevator_alloc
->kzalloc_node
fail to call kzalloc_node and then put module in elevator_alloc;
fail to call elevator_init_fn and then put module again in elevator_init.
Remove elevator_put invoking in error path of elevator_alloc to avoid
double release issue.
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 464d1387acb94dc43ba772b35242345e3d2ead1b
Author: Tejun Heo <tj@xxxxxxxxxx>
Date: Tue Apr 21 16:49:13 2015 -0400
writeback: use |1 instead of +1 to protect against div by zero
mm/page-writeback.c has several places where 1 is added to the divisor
to prevent division by zero exceptions; however, if the original
divisor is equivalent to -1, adding 1 leads to division by zero.
There are three places where +1 is used for this purpose - one in
pos_ratio_polynom() and two in bdi_position_ratio(). The second one
in bdi_position_ratio() actually triggered div-by-zero oops on a
machine running a 3.10 kernel. The divisor is
x_intercept - bdi_setpoint + 1 == span + 1
span is confirmed to be (u32)-1. It isn't clear how it ended up that
but it could be from write bandwidth calculation underflow fixed by
c72efb658f7c ("writeback: fix possible underflow in write bandwidth
calculation").
At any rate, +1 isn't a proper protection against div-by-zero. This
patch converts all +1 protections to |1. Note that
bdi_update_dirty_ratelimit() was already using |1 before this patch.
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Reviewed-by: Jan Kara <jack@xxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 2a34c0872adf252f23a6fef2d051a169ac796cef
Author: Ming Lei <ming.lei@xxxxxxxxxxxxx>
Date: Tue Apr 21 10:00:20 2015 +0800
blk-mq: fix CPU hotplug handling
hctx->tags has to be set as NULL in case that it is to be unmapped
no matter if set->tags[hctx->queue_num] is NULL or not in
blk_mq_map_swqueue()
because shared tags can be freed already from another request queue.
The same situation has to be considered during handling CPU online too.
Unmapped hw queue can be remapped after CPU topo is changed, so we need
to allocate tags for the hw queue in blk_mq_map_swqueue(). Then tags
allocation for hw queue can be removed in hctx cpu online notifier, and it
is reasonable to do that after mapping is updated.
Cc: <stable@xxxxxxxxxxxxxxx>
Reported-by: Dongsu Park <dongsu.park@xxxxxxxxxxxxxxxx>
Tested-by: Dongsu Park <dongsu.park@xxxxxxxxxxxxxxxx>
Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit f054b56c951bf1731ba7314a4c7f1cc0b2977cc9
Author: Ming Lei <ming.lei@xxxxxxxxxxxxx>
Date: Tue Apr 21 10:00:19 2015 +0800
blk-mq: fix race between timeout and CPU hotplug
Firstly during CPU hotplug, even queue is freezed, timeout
handler still may come and access hctx->tags, which may cause
use after free, so this patch deactivates timeout handler
inside CPU hotplug notifier.
Secondly, tags can be shared by more than one queues, so we
have to check if the hctx has been unmapped, otherwise
still use-after-free on tags can be triggered.
Cc: <stable@xxxxxxxxxxxxxxx>
Reported-by: Dongsu Park <dongsu.park@xxxxxxxxxxxxxxxx>
Tested-by: Dongsu Park <dongsu.park@xxxxxxxxxxxxxxxx>
Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 9283b42e46c2646dff1bec47e2dd683add7f9972
Author: Keith Busch <keith.busch@xxxxxxxxx>
Date: Thu Apr 23 10:24:45 2015 -0600
NVMe: Fix VPD B0 max sectors translation
Use the namespace's block format for reporting the max transfer length.
Max unmap count is left as-is since NVMe doesn't provide a max, so the
value the driver provided the block layer is valid for any format.
Reported-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 37a06a87f20d93c2cec3db9aaf0360a322b703dd
Merge: 4fce148 73a3173
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Thu Apr 23 11:50:34 2015 -0400
Merge branch 'tipc-fixes'
Jon Maloy says:
====================
tipc: three bug fixes
A set of unrelated corrections; one for the tipc netns implementation,
one regarding problems with random link resets, and one removing a
an erroneous refcount decrement when reading link statistsics via
netlink.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 73a317377303b5ec14d4703d73ba87efffbb779d
Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx>
Date: Thu Apr 23 09:37:40 2015 -0400
tipc: fix node refcount issue
When link statistics is dumped over netlink, we iterate over
the list of peer nodes and append each links statistics to
the netlink msg. In the case where the dump is resumed after
filling up a nlmsg, the node refcnt is decremented without
having been incremented previously which may cause the node
reference to be freed. When this happens, the following
info/stacktrace will be generated, followed by a crash or
undefined behavior.
We fix this by removing the erroneous call to tipc_node_put
inside the loop that iterates over nodes.
[ 384.312303] INFO: trying to register non-static key.
[ 384.313110] the code is fine but needs lockdep annotation.
[ 384.313290] turning off the locking correctness validator.
[ 384.313290] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.0.0+ #13
[ 384.313290] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[ 384.313290] ffff88003c6d0290 ffff88003cc03ca8 ffffffff8170adf1
0000000000000007
[ 384.313290] ffffffff82728730 ffff88003cc03d38 ffffffff810a6a6d
00000000001d7200
[ 384.313290] ffff88003c6d0ab0 ffff88003cc03ce8 0000000000000285
0000000000000001
[ 384.313290] Call Trace:
[ 384.313290] <IRQ> [<ffffffff8170adf1>] dump_stack+0x4c/0x65
[ 384.313290] [<ffffffff810a6a6d>] __lock_acquire+0xf3d/0xf50
[ 384.313290] [<ffffffff810a7375>] lock_acquire+0xd5/0x290
[ 384.313290] [<ffffffffa0043e8c>] ? link_timeout+0x1c/0x170 [tipc]
[ 384.313290] [<ffffffffa0043e70>] ? link_state_event+0x4e0/0x4e0 [tipc]
[ 384.313290] [<ffffffff81712890>] _raw_spin_lock_bh+0x40/0x80
[ 384.313290] [<ffffffffa0043e8c>] ? link_timeout+0x1c/0x170 [tipc]
[ 384.313290] [<ffffffffa0043e8c>] link_timeout+0x1c/0x170 [tipc]
[ 384.313290] [<ffffffff810c4698>] call_timer_fn+0xb8/0x490
[ 384.313290] [<ffffffff810c45e0>] ? process_timeout+0x10/0x10
[ 384.313290] [<ffffffff810c5a2c>] run_timer_softirq+0x21c/0x420
[ 384.313290] [<ffffffffa0043e70>] ? link_state_event+0x4e0/0x4e0 [tipc]
[ 384.313290] [<ffffffff8105a954>] __do_softirq+0xf4/0x630
[ 384.313290] [<ffffffff8105afdd>] irq_exit+0x5d/0x60
[ 384.313290] [<ffffffff8103ade1>] smp_apic_timer_interrupt+0x41/0x50
[ 384.313290] [<ffffffff817144a0>] apic_timer_interrupt+0x70/0x80
[ 384.313290] <EOI> [<ffffffff8100db10>] ? default_idle+0x20/0x210
[ 384.313290] [<ffffffff8100db0e>] ? default_idle+0x1e/0x210
[ 384.313290] [<ffffffff8100e61a>] arch_cpu_idle+0xa/0x10
[ 384.313290] [<ffffffff81099803>] cpu_startup_entry+0x2c3/0x530
[ 384.313290] [<ffffffff810d2893>] ?
clockevents_register_device+0x113/0x200
[ 384.313290] [<ffffffff81038b0f>] start_secondary+0x13f/0x170
Fixes: 8a0f6ebe8494 ("tipc: involve reference counter for node structure")
Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx>
Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 9871b27f6705fc6e0ba633b136369a289b2bfb99
Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx>
Date: Thu Apr 23 09:37:39 2015 -0400
tipc: fix random link reset problem
In the function tipc_sk_rcv(), the stack variable 'err'
is only initialized to TIPC_ERR_NO_PORT for the first
iteration over the link input queue. If a chain of messages
are received from a link, failure to lookup the socket for
any but the first message will cause the message to bounce back
out on a random link.
We fix this by properly initializing err.
Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx>
Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit def81f69bfbd70a3278a7592a4ab8717300cbac1
Author: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Date: Thu Apr 23 09:37:38 2015 -0400
tipc: fix topology server broken issue
When a new topology server is launched in a new namespace, its
listening socket is inserted into the "init ns" namespace's socket
hash table rather than the one owned by the new namespace. Although
the socket's namespace is forcedly changed to the new namespace later,
the socket is still stored in the socket hash table of "init ns"
namespace. When a client created in the new namespace connects
its own topology server, the connection is failed as its server's
socket could not be found from its own namespace's socket table.
If __sock_create() instead of original sock_create_kern() is used
to create the server's socket through specifying an expected namesapce,
the socket will be inserted into the specified namespace's socket
table, thereby avoiding to the topology server broken issue.
Fixes: 76100a8a64bc ("tipc: fix netns refcnt leak")
Reported-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx>
Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4fce14820c1b0a3fd399719f970e0c3ae40dd270
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 23 14:43:05 2015 +1000
ibmveth: Fix off-by-one error in ibmveth_change_mtu()
AFAIK the PAPR document which defines the virtual device interface used by
the ibmveth driver doesn't specify a specific maximum MTU. So, in the
ibmveth driver, the maximum allowed MTU is determined by the maximum
allocated buffer size of 64k (corresponding to one page in the common
case)
minus the per-buffer overhead IBMVETH_BUFF_OH (which has value 22 for 14
bytes of ethernet header, plus 8 bytes for an opaque handle).
This suggests a maximum allowable MTU of 65514 bytes, but in fact the
driver only permits a maximum MTU of 65513. This is because there is a <
instead of an <= in ibmveth_change_mtu(), which only permits an MTU which
is strictly smaller than the buffer size, rather than allowing the buffer
to be completely filled.
This patch fixes the buglet.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Acked-by: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ec65aafb9e3f316ff9167289e288856a7d528773
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Thu Apr 23 12:06:30 2015 +0200
netdev_alloc_pcpu_stats: use less common iterator variable
With the CPU iteration variable called 'i', it's relatively easy
to have variable shadowing which sparse will warn about. Avoid
that by renaming the variable to __cpu which is less likely to
be used in the surrounding context.
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b9061ef5d4da934cfc6e052a1e486077d29f267d
Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx>
Date: Thu Jan 1 18:54:26 2015 +0100
arch: blackfin: kernel: kgdb: Remove unused function
Remove the function kgdb_post_primary_code() that is not used anywhere.
This was partially found by using a static code analysis program called
cppcheck.
Signed-off-by: Rickard Strandqvist
<rickard_strandqvist@xxxxxxxxxxxxxxxxxx>
Acked-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
commit 57127645d79d2e83e801f141f7d03f64accf28aa
Author: Harald Freudenberger <freude@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 16 14:52:52 2015 +0100
s390/zcrypt: Introduce new SHA-512 based Pseudo Random Generator.
Rework of the prandom device with introduction of a new SHA-512 based
NIST SP 800-90 conform deterministic random bit generator.
Signed-off-by: Harald Freudenberger <freude@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit a1c843b82541fdd4c4644607c942dabc7c7e6f6c
Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Date: Wed Apr 22 13:55:59 2015 +0200
s390/mm: change swap pte encoding and pgtable cleanup
After the file ptes have been removed the bit combination used to
encode non-linear mappings can be reused for the swap ptes. This
frees up a precious pte software bit. Reflect the change in the
swap encoding in the comments and do some cleanup while we are
at it.
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit b7d14f3a92223c3f5e52e9f20c74cb96dc130e87
Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Date: Wed Apr 22 10:26:20 2015 +0200
s390/mm: correct transfer of dirty & young bits in __pmd_to_pte
The dirty & young bit from the pmd is not copied correctly to the
pseudo pte in __pmd_to_pte. In fact it is not copied at all, the
bits get lost. As the old style huge page currently does not need
the dirty & young information this has no effect, but may be needed
in the future.
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 77a87f0cb1a57237860754525d4e8cb2789e6e12
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Tue Apr 21 16:50:08 2015 +0200
s390/bpf: add dependency to z196 features
The new ebpf code uses e.g. the laal instruction which is part of the
interlocked-access facility 1 which again was introduced with z196.
So we must make sure the ebpf code generator depends on
MARCH_Z196_FEATURES.
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
commit 0a7c501e6759db49d9dffb10ed62142d705e3f90
Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx>
Date: Mon Apr 20 10:26:52 2015 +0200
s390/3215: free memory in error path
If one memory allocation fails, there is a memory leak.
Signed-off-by: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 0b46e0a3ec0d7a04af6a091354f1b5e1b952d70a
Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Date: Wed Apr 15 13:23:26 2015 +0200
s390/kvm: remove delayed reallocation of page tables for KVM
Replacing a 2K page table with a 4K page table while a VMA is active
for the affected memory region is fundamentally broken. Rip out the
page table reallocation code and replace it with a simple system
control 'vm.allocate_pgste'. If the system control is set the page
tables for all processes are allocated as full 4K pages, even for
processes that do not need it.
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 7e01b5acd88b3f3108d8c4ce44e3205d67437202
Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Date: Thu Apr 16 14:47:33 2015 +0200
kexec: allocate the kexec control page with KEXEC_CONTROL_MEMORY_GFP
Introduce KEXEC_CONTROL_MEMORY_GFP to allow the architecture code
to override the gfp flags of the allocation for the kexec control
page. The loop in kimage_alloc_normal_control_pages allocates pages
with GFP_KERNEL until a page is found that happens to have an
address smaller than the KEXEC_CONTROL_MEMORY_LIMIT. On systems
with a large memory size but a small KEXEC_CONTROL_MEMORY_LIMIT
the loop will keep allocating memory until the oom killer steps in.
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 37557178a0388f52c05ead69e24587e67f2cc304
Author: Steven Miao <realmz6@xxxxxxxxx>
Date: Fri Mar 6 17:52:33 2015 +0800
dma: fix build error after update to v3.19
Signed-off-by: Steven Miao <realmz6@xxxxxxxxx>
commit 1a3372bc522ef8ba749c019c52d63168267fac0a
Author: Steven Miao <realmz6@xxxxxxxxx>
Date: Tue Jan 20 16:53:38 2015 +0800
blackfin: io: define __raw_readx/writex with bfin_readx/writex
Signed-off-by: Steven Miao <realmz6@xxxxxxxxx>
commit b3df664b85c7926619346cddad3aefab6554e0b1
Author: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Date: Thu Dec 11 17:47:37 2014 +0800
bf609: add resources for lcd nl8048
Signed-off-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Signed-off-by: Steven Miao <realmz6@xxxxxxxxx>
commit ef7dcaf1e7bbf7adaaf45cac1c1d208929fb25e5
Author: Aaron Wu <Aaron.wu@xxxxxxxxxx>
Date: Wed Oct 22 13:45:58 2014 +0800
pm: sometimes wake up from suspend to RAM would fail
Sometimes it fails to wake up from suspend to RAM, this is because
we would flush the data cache by assemble command FLUSHINV before
suspend to RAM, and there is a delay between this command execution
and cache flush completion. Add a 1uS delay to works around this.
Signed-off-by: Aaron Wu <Aaron.wu@xxxxxxxxxx>
commit bb717b33aa6b01abcc78c7a18dec343a3bde9574
Author: Andre Wolokita <Andre.Wolokita@xxxxxxxxxx>
Date: Fri Sep 5 10:42:28 2014 +1000
debug-mmrs: Eliminate all traces of the USB_PHY_TEST MMR
Interacting with the USB_PHY_TEST MMR through debugfs was causing
wide-spread
chaos in the realm (kernel panic). Expunge all references to this demonic
register.
Signed-off-by: Andre Wolokita <Andre.Wolokita@xxxxxxxxxx>
commit f7fee0366c861c66c9abc8ab9a250bea2dd53c8d
Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
Date: Thu Aug 21 15:49:27 2014 +0800
bf609: remove softswitch i2c configuration from adv7842 and adv7511
platform data
Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
commit 199aad16d517d47cf13f96caf0eedc6a4542bc60
Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
Date: Wed Aug 20 18:32:22 2014 +0800
bf609: add platform data for soft switch devices on the video extenders
Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
commit 707e6f0bc40b4db1fae616b8825c9e0f1231f873
Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
Date: Wed Aug 20 18:04:32 2014 +0800
bf609: enable soft switch gpio driver by default
Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
commit ea9b706b8688ab155b092abc854bde0224332743
Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
Date: Wed Aug 20 17:04:55 2014 +0800
bf609: add gpio soft switch platform data for mcp23017 i2c devices
Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
commit 374feb1f049b0a9eed62ac1b865c93b35aaef7c6
Author: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Date: Thu Jul 31 16:36:25 2014 +0800
bf609: use new SND_BF6XX_PCM to choose audio pcm driver
There is a new bf6xx audio dma driver, so we don't reuse
bf5xx i2s pcm driver again.
Signed-off-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
commit a0f4207d03b40eee6338b51288849965ac2b94e2
Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
Date: Tue Jul 29 16:41:10 2014 +0800
bug[220] kgdb: change the smp cross core function entry
Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
commit 4eb147c83f34e00184557923d2bf93f593deb41c
Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx>
Date: Sat Jul 26 15:58:22 2014 +0200
arch: blackfin: kernel: setup.c: Cleaning up missing null-terminate in
conjunction with strncpy
Replacing strncpy with strlcpy to avoid strings that lacks null terminate.
Signed-off-by: Rickard Strandqvist
<rickard_strandqvist@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Steven Miao <realmz6@xxxxxxxxx>
commit 2fcc440ca69a5d857523e5aed00c959c07085f3c
Author: Steven Miao <realmz6@xxxxxxxxx>
Date: Tue Jul 29 14:21:41 2014 +0800
blackfin: defconfigs: cleanup unused CONFIG_MTD_CHAR, add MTD_SPI_NOR for
BF537-STAMP
Signed-off-by: Steven Miao <realmz6@xxxxxxxxx>
commit c264f1110d27185f8531602f5fce400a6bbce946
Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx>
Date: Thu Mar 12 22:01:31 2015 +0530
pwm: Remove __init initializer for pwm_add_table()
For platforms that don't support DT, some early MFD modules can register
lookup tables. Remove the __init annotation so that this works. This is
similar to gpio_add_lookup_table() which allows late additions.
CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
Cc: Alexandre Courbot <gnurou@xxxxxxxxx>
Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx>
Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx>
commit d32b66668c702aed0e330dc5ca186afbadcdacf8
Author: Kailang Yang <kailang@xxxxxxxxxxx>
Date: Thu Apr 23 15:10:53 2015 +0800
ALSA: hda/realtek - Fix Headphone Mic doesn't recording for ALC256
Switch default pcbeep path to Line in path.
Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx>
Tested-by: Hui Wang <hui.wang@xxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 8faf141a9903477910387af062ece04ea7d730ed
Author: Vinod Koul <vinod.koul@xxxxxxxxx>
Date: Thu Apr 23 14:38:13 2015 +0530
ASoC: Intel: fix the makefile for atom code
The tom code should be using SND_SST_MFLD_PLATFORM and not the baytrail
one.
So fix it now
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 2e826695d87c2d213def07bc344ae97d88384f62
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 21 20:10:26 2015 +0530
powerpc/mm: Fix build error with CONFIG_PPC_TRANSACTIONAL_MEM disabled
This fix the below build error
arch/powerpc/mm/hash_utils_64.c: In function â??flush_hash_hugepageâ??:
arch/powerpc/mm/hash_utils_64.c:1381:1: error: label at end of compound
statement
tm_abort:
^
make[1]: *** [arch/powerpc/mm/hash_utils_64.o] Error 1
Reported-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 04fca0e390e80d88c2f959aef86e0bb7f26fea01
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Mon Apr 20 08:36:15 2015 -0700
frv: add io{read,write}{16,32}be functions
These functions are used in various drivers, including the latest
version of the 8250 driver. The latter causes the following build
failure.
drivers/tty/serial/8250/8250_core.c: In function 'mem32be_serial_out':
drivers/tty/serial/8250/8250_core.c:456:2: error:
implicit declaration of function 'iowrite32be'
drivers/tty/serial/8250/8250_core.c: In function 'mem32be_serial_in':
drivers/tty/serial/8250/8250_core.c:462:2: error:
implicit declaration of function 'ioread32be'
Cc: Kevin Cernekee <cernekee@xxxxxxxxx>
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Fixes: c627f2ceb692 ("serial: 8250: Add support for big-endian MMIO
accesses")
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit 601e3ad9def147f714c1b66fd397d138ba5dbd3b
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Mon Apr 20 08:37:42 2015 -0700
mn10300: add io{read,write}{16,32}be functions
These functions are used in various drivers, including the latest
version of the 8250 driver. The latter causes the following build failure.
drivers/tty/serial/8250/8250_core.c: In function 'mem32be_serial_out':
drivers/tty/serial/8250/8250_core.c:456:2: error:
implicit declaration of function 'iowrite32be'
drivers/tty/serial/8250/8250_core.c: In function 'mem32be_serial_in':
drivers/tty/serial/8250/8250_core.c:462:2: error:
implicit declaration of function 'ioread32be'
Cc: Kevin Cernekee <cernekee@xxxxxxxxx>
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Fixes: c627f2ceb692 ("serial: 8250: Add support for big-endian MMIO
accesses")
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit f3b07b8611ede9584ef27288d9c35bc2fd7a8353
Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 20 09:55:47 2015 -0500
Documentation: DT bindings: add doc for Altera's SoCFPGA platform
Document "altr,socfpga-cyclone5", "altr,socfpga-arria5", and
"altr,socfpga-arria10".
Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit 608404290e2d9d1756db4013c4ee12fa7617dad9
Author: Li RongQing <roy.qing.li@xxxxxxxxx>
Date: Wed Apr 22 15:49:10 2015 +0800
vxlan: remove the unnecessary codes
The return value of vxlan_fdb_replace always is greater than or equal to 0
Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 21d3515ce7179523a2941cc015960dd788290e33
Author: Ben Shelton <ben.shelton@xxxxxx>
Date: Wed Apr 22 17:28:54 2015 -0500
net/macb: Factor out one-time assignment from loop
In 02c958dd3 (net/macb: add TX multiqueue support for gem), the
initialization of tx_head and tx_tail in macb_init_rings() was moved
inside the loop that iterates over each element in the ring. Since
tx_head and tx_tail only need to be assigned once, move them back out of
the loop.
Signed-off-by: Ben Shelton <ben.shelton@xxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 27cf3a16b2535a490f8cf1d29a6634f1c70f7831
Merge: a62d016 724e7bf
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 14:49:23 2015 -0700
Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit
Pull audit fixes from Paul Moore:
"Seven audit patches for v4.1, all bug fixes.
The largest, and perhaps most significant commit helps resolve some
memory pressure issues related to the inode cache and audit, there are
also a few small commits which help resolve some timing issues with
the audit log queue, and the rest fall into the always popular "code
clean-up" category.
In general, nothing really substantial, just a nice set of maintenance
patches"
* 'upstream' of git://git.infradead.org/users/pcmoore/audit:
audit: Remove condition which always evaluates to false
audit: reduce mmap_sem hold for mm->exe_file
audit: consolidate handling of mm->exe_file
audit: code clean up
audit: don't reset working wait time accidentally with auditd
audit: don't lose set wait time on first successful call to
audit_log_start()
audit: move the tree pruning to a dedicated thread
commit 79930f5892e134c6da1254389577fffb8bd72c66
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Wed Apr 22 07:33:36 2015 -0700
net: do not deplete pfmemalloc reserve
build_skb() should look at the page pfmemalloc status.
If set, this means page allocator allocated this page in the
expectation it would help to free other pages. Networking
stack can do that only if skb->pfmemalloc is also set.
Also, we must refrain using high order pages from the pfmemalloc
reserve, so __page_frag_refill() must also use __GFP_NOMEMALLOC for
them. Under memory pressure, using order-0 pages is probably the best
strategy.
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a2d97723cb3a7741af81868427b36bba274b681b
Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 13:58:47 2015 +0100
ASoC: dapm: Enable autodisable on SOC_DAPM_SINGLE_TLV_AUTODISABLE
Correct small copy and paste error where autodisable was not being
enabled for the SOC_DAPM_SINGLE_TLV_AUTODISABLE control.
Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit 26349c71b4323e62f8de0fe45f2f06c4df535b9b
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Wed Apr 22 16:56:16 2015 +0200
ip6_gre: use netdev_alloc_pcpu_stats()
The code there just open-codes the same, so use the provided macro
instead.
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a62d016cece2fce1d5e4eedf36b17f03a7a5c78e
Merge: 7c034df 3e550d2
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 12:00:44 2015 -0700
Merge tag 'for-linus-20150422' of git://git.infradead.org/linux-mtd
Pull MTD updates from Brian Norris:
"Common MTD:
- Add Kconfig option for keeping both the 'master' and 'partition'
MTDs registered as devices. This would really make a better
default if we could do it over, as it allows a lot more flexibility
in (1) determining the flash topology of the system from user-space
and (2) adding temporary partitions at runtime (ioctl(BLKPG)).
Unfortunately, this would possibly cause user-space breakage, as it
will cause renumbering of the /dev/mtdX devices. We'll see if we
can change this in the future, as there have already been a few
people looking for this feature, and I know others have just been
working around our current limitations instead of fixing them this
way.
- Along with the previous change, add some additional information to
sysfs, so user-space can read the offset of each partition within
its master device
SPI NOR:
- add new device tree compatible binding to represent the
mostly-compatible class of SPI NOR flash which can be detected by
their extended JEDEC ID bytes, cutting down the duplication of our
ID tables
- misc. new IDs
Various other miscellaneous fixes and changes"
* tag 'for-linus-20150422' of git://git.infradead.org/linux-mtd: (53
commits)
mtd: spi-nor: Add support for Macronix mx25u6435f serial flash
mtd: spi-nor: Add support for Winbond w25q64dw serial flash
mtd: spi-nor: add support for the Winbond W25X05 flash
mtd: spi-nor: support en25s64 device
mtd: m25p80: bind to "nor-jedec" ID, for auto-detection
Documentation: devicetree: m25p80: add "nor-jedec" binding
mtd: Make MTD tests cancelable
mtd: mtd_oobtest: Fix bitflip_limit usage in test case 3
mtd: docg3: remove invalid __exit annotations
mtd: fsl_ifc_nand: use msecs_to_jiffies for time conversion
mtd: atmel_nand: don't map the ROM table if no pmecc table offset in DT
mtd: atmel_nand: add a definition for the oob reserved bytes
mtd: part: Remove partition overlap checks
mtd: part: Add sysfs variable for offset of partition
mtd: part: Create the master device node when partitioned
mtd: ts5500_flash: Fix typo in MODULE_DESCRIPTION in ts5500_flash.c
mtd: denali: Disable sub-page writes in Denali NAND driver
mtd: pxa3xx_nand: cleanup wait_for_completion handling
mtd: nand: gpmi: Check for scan_bbt() error
mtd: nand: gpmi: fixup return type of wait_for_completion_timeout
...
commit 7c034dfd58bbc056280262887acf5b7a98944d0a
Merge: 1204c46 c1c2fef
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 11:50:05 2015 -0700
Merge tag 'rdma-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
Pull InfiniBand/RDMA updates from Roland Dreier:
- IPoIB fixes from Doug Ledford and Erez Shitrit
- iSER updates from Sagi Grimberg
- mlx4 GUID handling changes from Yishai Hadas
- other misc fixes
* tag 'rdma-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (51 commits)
mlx5: wrong page mask if CONFIG_ARCH_DMA_ADDR_T_64BIT enabled for 32Bit
architectures
IB/iser: Rewrite bounce buffer code path
IB/iser: Bump version to 1.6
IB/iser: Remove code duplication for a single DMA entry
IB/iser: Pass struct iser_mem_reg to iser_fast_reg_mr and
iser_reg_sig_mr
IB/iser: Modify struct iser_mem_reg members
IB/iser: Make fastreg pool cache friendly
IB/iser: Move PI context alloc/free to routines
IB/iser: Move fastreg descriptor pool get/put to helper functions
IB/iser: Merge build page-vec into register page-vec
IB/iser: Get rid of struct iser_rdma_regd
IB/iser: Remove redundant assignments in iser_reg_page_vec
IB/iser: Move memory reg/dereg routines to iser_memory.c
IB/iser: Don't pass ib_device to fall_to_bounce_buff routine
IB/iser: Remove a redundant struct iser_data_buf
IB/iser: Remove redundant cmd_data_len calculation
IB/iser: Fix wrong calculation of protection buffer length
IB/iser: Handle fastreg/local_inv completion errors
IB/iser: Fix unload during ep_poll wrong dereference
ib_srpt: convert printk's to pr_* functions
...
commit 1204c464458e9837320a326a9fce550e3c5ef5de
Merge: 4f21123 f77303b
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 11:30:10 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
Pull Ceph updates from Sage Weil:
"This time around we have a collection of CephFS fixes from Zheng
around MDS failure handling and snapshots, support for a new CRUSH
straw2 algorithm (to sync up with userspace) and several RBD cleanups
and fixes from Ilya, an error path leak fix from Taesoo, and then an
assorted collection of cleanups from others"
* 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (28 commits)
rbd: rbd_wq comment is obsolete
libceph: announce support for straw2 buckets
crush: straw2 bucket type with an efficient 64-bit crush_ln()
crush: ensuring at most num-rep osds are selected
crush: drop unnecessary include from mapper.c
ceph: fix uninline data function
ceph: rename snapshot support
ceph: fix null pointer dereference in send_mds_reconnect()
ceph: hold on to exclusive caps on complete directories
libceph: simplify our debugfs attr macro
ceph: show non-default options only
libceph: expose client options through debugfs
libceph, ceph: split ceph_show_options()
rbd: mark block queue as non-rotational
libceph: don't overwrite specific con error msgs
ceph: cleanup unsafe requests when reconnecting is denied
ceph: don't zero i_wrbuffer_ref when reconnecting is denied
ceph: don't mark dirty caps when there is no auth cap
ceph: keep i_snap_realm while there are writers
libceph: osdmap.h: Add missing format newlines
...
commit 4f2112351b4ac964b0249bdd883f7b79601f39d8
Merge: 9b60afe 3193899
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 11:27:36 2015 -0700
Merge tag 'trace-v4.1-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
Pull tracing fixes from Steven Rostedt:
"This adds three fixes for the tracing code.
The first is a bug when ftrace_dump_on_oops is triggered in atomic
context and function graph tracer is the tracer that is being
reported.
The second fix is bad parsing of the trace_events from the kernel
command line, where it would ignore specific events if the system name
is used with defining the event(it enables all events within the
system).
The last one is a fix to the TRACE_DEFINE_ENUM(), where a check was
missing to see if the ptr was incremented to the end of the string,
but the loop increments it again and can miss the nul delimiter to
stop processing"
* tag 'trace-v4.1-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
tracing: Fix possible out of bounds memory access when parsing enums
tracing: Fix incorrect enabling of trace events by boot cmdline
tracing: Handle ftrace_dump() atomic context in graph_trace_open()
commit 9b60afee50425064fa0a69bea22f07b6ea55ebc1
Merge: 7dcca3e 9fbbda5
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 11:26:00 2015 -0700
Merge tag 'pci-v4.1-fixes-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI fixes from Bjorn Helgaas:
"These fix an ia64 regression caused by tighter resource checking we
merged during the merge window and remove an invalid email address
from MAINTAINERS.
Resource management:
- ia64: Treat all Address Space Descriptors as windows (Bjorn Helgaas)
Miscellaneous:
- MAINTAINERS: Remove Mohit Kumar (email bounces) (Bjorn Helgaas)"
* tag 'pci-v4.1-fixes-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
ia64/PCI: Treat all host bridge Address Space Descriptors (even
consumers) as windows
MAINTAINERS: Remove Mohit Kumar (email bounces)
commit 0e2d686530d5e6c3c50c2c4f9ef8d6428252c35c
Merge: 909d9fa 5a9ab01
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Wed Apr 22 14:24:55 2015 -0400
Merge branch 'mpls'
Robert Shearman says:
====================
mpls: ABI changes for security and correctness
V2:
- don't treat loopback interfaces specially by enabling mpls by
default
These changes make mpls not be enabled by default on all
interfaces when in use for security, along with ensuring that a label
not valid as an outgoing label can be added in mpls routes.
This series contains three ABI/behaviour-affecting changes which have
been split out from "[PATCH net-next v4 0/6] mpls: Behaviour-changing
improvements" without any further modification. These changes need to
be considered for 4.1 otherwise we'll be stuck with the current
behaviour/ABI forever.
====================
Reviewed-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 5a9ab0176198d91dfc153f5e6c5fdc5afa613607
Author: Robert Shearman <rshearma@xxxxxxxxxxx>
Date: Wed Apr 22 11:14:39 2015 +0100
mpls: Prevent use of implicit NULL label as outgoing label
The reserved implicit-NULL label isn't allowed to appear in the label
stack for packets, so make it an error for the control plane to
specify it as an outgoing label.
Suggested-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx>
Reviewed-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 37bde79979c3862c79294c62ddcef7efc477e4bf
Author: Robert Shearman <rshearma@xxxxxxxxxxx>
Date: Wed Apr 22 11:14:38 2015 +0100
mpls: Per-device enabling of packet input
An MPLS network is a single trust domain where the edges must be in
control of what labels make their way into the core. The simplest way
of ensuring this is for the edge device to always impose the labels,
and not allow forward labeled traffic from untrusted neighbours. This
is achieved by allowing a per-device configuration of whether MPLS
traffic input from that interface should be processed or not.
To be secure by default, the default state is changed to MPLS being
disabled on all interfaces unless explicitly enabled and no global
option is provided to change the default. Whilst this differs from
other protocols (e.g. IPv6), network operators are used to explicitly
enabling MPLS forwarding on interfaces, and with the number of links
to the MPLS core typically fairly low this doesn't present too much of
a burden on operators.
Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx>
Reviewed-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 03c57747a7020a28a200e7e920fb48ecdc9b0fb8
Author: Robert Shearman <rshearma@xxxxxxxxxxx>
Date: Wed Apr 22 11:14:37 2015 +0100
mpls: Per-device MPLS state
Add per-device MPLS state to supported interfaces. Use the presence of
this state in mpls_route_add to determine that this is a supported
interface.
Use the presence of mpls_dev to drop packets that arrived on an
unsupported interface - previously they were allowed through.
Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx>
Reviewed-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 909d9faae2a447110aa061070145297fffe129cb
Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx>
Date: Wed Apr 22 12:47:32 2015 +0300
bnx2x: Prevent inner-reload while VFs exist
On some feature changes, driver employes an inner-reload flow where it
resets the function and re-configures it with the new required set of
parameters.
Such a flow proves fatal to any VF since those were not intended to be
used
while HW is being reset underneath, causing them [at best] to lose all
connectivity.
This changes driver behavior to fail all configuration changes [e.g., mtu
change] requested of the driver in case VFs are active.
Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx>
Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7dcca3e92a34bf8ffdc4c01a49182ce1cb6ff534
Merge: b9bb6fb cf82f52
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 11:22:55 2015 -0700
Merge git://www.linux-watchdog.org/linux-watchdog
Pull watchdog updates from Wim Van Sebroeck:
"This contains following changes:
- Octeon: convert to watchdog-API and apply some fixes
- Cadence wdt: remove dependency on ARCH
- add DT bindings for qcom + msm
- bcm281xx: Remove use of seq_printf return value
- stmp3xxx_rtc_wdt + pnx4008_wdt: fix broken email addresses"
* git://www.linux-watchdog.org/linux-watchdog:
watchdog: stmp3xxx_rtc_wdt: fix broken email address
watchdog: pnx4008_wdt: fix broken email address
watchdog: octeon: use fixed length string for register names
watchdog: octeon: fix some trivial coding style issues
watchdog: octeon: convert to WATCHDOG_CORE API
watchdog: cadence: Remove Kconfig dependency on ARCH
ARM: msm: add watchdog entries to DT timer binding doc
ARM: qcom: add description of KPSS WDT for IPQ8064
watchdog: qcom: use timer devicetree binding
watchdog: bcm281xx: Remove use of seq_printf return value
commit a2c3935aaa8fe99dbddb13ff244ecec7c324ec8b
Merge: d83769a a87b9eb
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Wed Apr 22 14:17:23 2015 -0400
Merge branch 'rhashtable-fixes'
Thomas Graf says:
====================
rhashtable rehashing fixes
Some rhashtable rehashing bugs found while testing with the
next rhashtable self-test queued up for the next devel cycle:
https://github.com/tgraf/net-next/commits/rht
v2:
- Moved schedule_work() call into rhashtable_insert_rehash()
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a87b9ebf1709687ff213091d0fdb4254b1564803
Author: Thomas Graf <tgraf@xxxxxxx>
Date: Wed Apr 22 09:41:46 2015 +0200
rhashtable: Do not schedule more than one rehash if we can't grow further
The current code currently only stops inserting rehashes into the
chain when no resizes are currently scheduled. As long as resizes
are scheduled and while inserting above the utilization watermark,
more and more rehashes will be scheduled.
This lead to a perfect DoS storm with thousands of rehashes
scheduled which lead to thousands of spinlocks to be taken
sequentially.
Instead, only allow either a series of resizes or a single rehash.
Drop any further rehashes and return -EBUSY.
Fixes: ccd57b1bd324 ("rhashtable: Add immediate rehash during insertion")
Signed-off-by: Thomas Graf <tgraf@xxxxxxx>
Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e2307ed6cbe71c74e291681aaa7e92ab98bc3177
Author: Thomas Graf <tgraf@xxxxxxx>
Date: Wed Apr 22 09:41:45 2015 +0200
rhashtable: Schedule async resize when sync realloc fails
When rhashtable_insert_rehash() fails with ENOMEM, this indicates that
we can't allocate the necessary memory in the current context but the
limits as set by the user would still allow to grow.
Thus attempt an async resize in the background where we can allocate
using GFP_KERNEL which is more likely to succeed. The insertion itself
will still fail to indicate pressure.
This fixes a bug where the table would never continue growing once the
utilization is above 100%.
Fixes: ccd57b1bd324 ("rhashtable: Add immediate rehash during insertion")
Signed-off-by: Thomas Graf <tgraf@xxxxxxx>
Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d83769a580f1132ac26439f50068a29b02be535e
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Tue Apr 21 18:32:24 2015 -0700
tcp: fix possible deadlock in tcp_send_fin()
Using sk_stream_alloc_skb() in tcp_send_fin() is dangerous in
case a huge process is killed by OOM, and tcp_mem[2] is hit.
To be able to free memory we need to make progress, so this
patch allows FIN packets to not care about tcp_mem[2], if
skb allocation succeeded.
In a follow-up patch, we might abort tcp_send_fin() infinite loop
in case TIF_MEMDIE is set on this thread, as memory allocator
did its best getting extra memory already.
This patch reverts d22e15371811 ("tcp: fix tcp fin memory accounting")
Fixes: d22e15371811 ("tcp: fix tcp fin memory accounting")
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b9bb6fb73b3e112d241a5edd146740be9a0c3cc0
Merge: 15ce265 9abbfb4
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 10:55:06 2015 -0700
Merge tag 'virtio-next-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux
Pull virtio updates from Rusty Russell:
"Some virtio internal cleanups, a new virtio device "virtio input", and
a change to allow the legacy virtio balloon.
Most excitingly, some lguest work! No seriously, I got some cleanup
patches"
* tag 'virtio-next-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
virtio: drop virtio_device_is_legacy_only
virtio_pci: support non-legacy balloon devices
virtio_mmio: support non-legacy balloon devices
virtio_ccw: support non-legacy balloon devices
virtio: balloon might not be a legacy device
virtio_balloon: transitional interface
virtio_ring: Update weak barriers to use dma_wmb/rmb
virtio_pci_modern: switch to type-safe io accessors
virtio_pci_modern: type-safe io accessors
lguest: handle traps on the "interrupt suppressed" iret instruction.
virtio: drop a useless config read
virtio_config: reorder functions
Add virtio-input driver.
lguest: suppress interrupts for single insn, not range.
lguest: simplify lguest_iret
lguest: rename i386_head.S in the comments
lguest: explicitly set miscdevice's private_data NULL
lguest: fix pending interrupt test.
commit 3e550d2396d9deef77328237ed992e19dcfefca5
Merge: 81a1209 5e0899d
Author: Brian Norris <computersforpeace@xxxxxxxxx>
Date: Wed Apr 22 10:29:19 2015 -0700
Merge MTD fixes from 4.0 into -next
commit 15ce2658ddbd3db20dfba3622f3d224f01837fdc
Merge: f3ca10d 4a3893d
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 09:49:24 2015 -0700
Merge tag 'modules-next-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux
Pull module updates from Rusty Russell:
"Quentin opened a can of worms by adding extable entry checking to
modpost, but most architectures seem fixed now. Thanks to all
involved.
Last minute rebase because I noticed a "[PATCH]" had snuck into a
commit message somehow"
* tag 'modules-next-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
modpost: don't emit section mismatch warnings for compiler optimizations
modpost: expand pattern matching to support substring matches
modpost: do not try to match the SHT_NUL section.
modpost: fix extable entry size calculation.
modpost: fix inverted logic in is_extable_fault_address().
modpost: handle -ffunction-sections
modpost: Whitelist .text.fixup and .exception.text
params: handle quotes properly for values not of form foo="bar".
modpost: document the use of struct section_check.
modpost: handle relocations mismatch in __ex_table.
scripts: add check_extable.sh script.
modpost: mismatch_handler: retrieve tosym information only when needed.
modpost: factorize symbol pretty print in get_pretty_name().
modpost: add handler function pointer to sectioncheck.
modpost: add .sched.text and .kprobes.text to the TEXT_SECTIONS list.
modpost: add strict white-listing when referencing sections.
module: do not print allocation-fail warning on bogus user buffer size
kernel/module.c: fix typos in message about unused symbols
commit f3ca10dde49043fbbb055854278b26954b549b36
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 09:44:36 2015 -0700
Revert "mm: avoid tail page refcounting on non-THP compound pages"
This reverts commit 8d63d99a5dfbdb997d12dd3c07b2070ca723db3b.
It causes in VM mapping refcount errors:
page:ffffea0010a15040 count:0 mapcount:1 mapping: (null)
index:0x0
flags: 0x8000000000008014(referenced|dirty|tail)
page dumped because: VM_BUG_ON_PAGE(page_mapcount(page) != 0)
------------[ cut here ]------------
kernel BUG at mm/swap.c:134!
as reported by Borislav Petkov
Reported-and-tested-by: Borislav Petkov <bp@xxxxxxxxx>
Cc: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx>
Cc: Hugh Dickins <hughd@xxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: linux-mm@xxxxxxxxx
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 5e6c94a999f67f120c6bbba71bbee840dfee6338
Merge: 3cfe213 96541ba
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 09:29:08 2015 -0700
Merge tag 'mmc-4.1-rc1' of git://git.linaro.org/people/ulf.hansson/mmc
Pull MMC fixes from Ulf Hansson:
"Here is two mmc core fixes for v.4.1 rc1:
- fix error code propagation in mmc_pwrseq_simple_alloc()
- revert 'mmc: core: Convert mmc_driver to device_driver'"
* tag 'mmc-4.1-rc1' of git://git.linaro.org/people/ulf.hansson/mmc:
Revert "mmc: core: Convert mmc_driver to device_driver"
mmc: pwrseq: Fix error code propagation in mmc_pwrseq_simple_alloc()
commit 3cfe213756a5c208ab51816d51641bf49f2e67fd
Author: Vinod Koul <vinod.koul@xxxxxxxxx>
Date: Wed Apr 22 12:17:46 2015 +0530
dmaengine: hsu: don't prompt for hsu_core part
HSU_DMA is selected by the HSU_DMA_PCI driver, this should be user
selected
so remove the user prompt for this
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 8b3c8ba3d8c2680dab5363a80c024965cac08b1e
Merge: d34dc4f 48c1078
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 09:24:55 2015 -0700
Merge tag 'armsoc-late' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC late changes from Olof Johansson:
"We were expecting to sit on this branch through most of the merge
window since the contents was merged into our tree late, but we ended
up sitting on all of our contents so it can go in with the rest.
The contents here is:
- a large branch of cleanups of the CM/PRM blocks on OMAP.
- a couple of patches plumbing up CM/PRM on OMAP5 and DRA7.
- a branch with DT updates for Freescale i.MX. including some
shuffling from .dts to .dtsi (include) files that causes a little
churn"
* tag 'armsoc-late' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (78 commits)
ARM: OMAP2+: Fix booting with configs that don't have MFD_SYSCON
ARM: OMAP4+: control: add support for initializing control module via DT
ARM: dts: dra7: add minimal l4 bus layout with control module support
ARM: dts: omap5: add minimal l4 bus layout with control module support
ARM: OMAP4+: control: remove support for legacy pad read/write
ARM: OMAP4: display: convert display to use syscon for dsi muxing
ARM: dts: omap4: add minimal l4 bus layout with control module support
ARM: dts: am4372: add minimal l4 bus layout with control module support
ARM: dts: am43xx-epos-evm: fix pinmux node layout
ARM: dts: am33xx: add minimal l4 bus layout with control module support
ARM: dts: omap3: add minimal l4 bus layout with control module support
ARM: dts: omap24xx: add minimal l4 bus layout with control module
support
ARM: OMAP2+: control: add syscon support for register accesses
ARM: OMAP2+: id: cache omap_type value
ARM: OMAP2+: control: remove API for getting control module base address
ARM: OMAP2+: clock: add low-level support for regmap
ARM: OMAP4+: PRM: get rid of cpu_is_omap44xx calls from interrupt init
ARM: OMAP4+: PRM: setup prm_features from the PRM init time flags
ARM: OMAP2+: CM: move SoC specific init calls within a generic API
ARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility
...
commit d34dc4f9e88e4b6beefb819e4e743fd6160a9b75
Merge: 2144de8 bb1518f
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 09:23:58 2015 -0700
Merge tag 'armsoc-arm64' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC 64-bit changes from Olof Johansson:
"Mostly DT updates for arm64, but also a couple of Kconfig additions.
Main contents:
- Qualcomm MSM8916/APQ8016
- Spreadtrum SC9836
- Xilinx ZynqMP
- pincontrol entries for MediaTek MT8173"
* tag 'armsoc-arm64' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
arm64: dts: add interrupt-affinity property to pmu node for juno
arm64: dts: Add Qualcomm APQ8016 SBC evaluation board dts
arm64: dts: Add Qualcomm MSM8916 SoC and evaluation board dts
arm64: dts: sprd: adding coresight entries to Spreadtrum SC9836
arm64: Add support for Spreadtrum's Sharkl64 Platform in Kconfig and
defconfig
arm64: dts: Add support for Spreadtrum SC9836 SoC in dts and Makefile
ARM64: Add new Xilinx ZynqMP SoC
arm64: qcom: Add support for Qualcomm MSM8916 SoC
arm64: dts: mt8173: Add pinctrl/GPIO/EINT node for mt8173.
arm64: mediatek: Select PINCTRL for Mediatek platform
commit 2144de826e1eeac0c2e30a22029b3330d8bb813c
Merge: e5ac320 b50c9c2
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 09:21:30 2015 -0700
Merge tag 'armsoc-defconfig' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC defconfig updates from Olof Johansson:
"We keep collecting defconfig updates in a separate branch mostly to
encourage people to handle them separately and avoid conflicts between
different topics.
Most of these are enablement of new drivers that have come in, or
minor config refreshes due to reorderings in Kconfig files, etc. I.e.
mostly minor churn of various kinds.
We might start folding this branch into something else for upstream
merge since it's so small, but keep it independent in our own tree for
the above reasons"
* tag 'armsoc-defconfig' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (38 commits)
ARM: multi_v7_defconfig: enable alpine platform
ARM: multi_v7_defconfig: Add gpio-restart driver
ARM: multi_v7_defconfig: Build the Marvell WiFi-Ex driver as a module
ARM: multi_v7_defconfig: Enable support for ELAN i2c trackpads
ARM: multi_v7_defconfig: Enable Tegra ACTMON support
ARM: configs: remove all CONFIG_RCAR_AUDMAC_PP from ARM defconfigs
ARM: configs: enable Marvell Armada 39x in multi_v7_defconfig
ARM: exynos_defconfig: Enable HDMI support
ARM: exynos_defconfig: Enable options to mount a rootfs via NFS
ARM: qcom: Increase MMC_BLOCK_MINORS in defconfig
ARM: mvebu: Enable perf support in mvebu_v7_defconfig
ARM: exynos_defconfig: Enable ChromeOS EC chardev driver
ARM: exynos_defconfig: Enable CPU idle
ARM: exynos_defconfig: Enable Marvell WiFi-Ex support
arm: qcom: Update defconfig
arm: qcom: Enable lpass clock driver in defconfig
ARM: omap2plus_defconfig: Enable n900 modem as loadable modules
ARM: omap2plus_defconfig: Update bluetooth options
ARM: omap2plus_defconfig: Enable leds-pwm
ARM: omap1_defconfig: drop obsolete Kconfig symbols
...
commit e5ac320de1fe3ef5a5afa5f8a0cd19b0c5373a37
Merge: 7d2b6ef 89522f0f
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 09:20:15 2015 -0700
Merge tag 'armsoc-multiplatform' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC multiplatform code changes from Olof Johansson:
"The changes here belong to two main platforms:
- Atmel At91 is flipping the bit and going multiplatform. This
includes some cleanups and removal of code, and the final flip of
config dependencies
- Shmobile has several platforms that are going multiplatform, but
this branch also contains a bunch of cleanups that they weren't
able to keep separate in a good way. THere's also a removal of one
of their SoCs and the corresponding boards (sh7372 and mackerel)"
* tag 'armsoc-multiplatform' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (67 commits)
ARM: at91/pm: move AT91_MEMCTRL_* to pm.h
ARM: at91/pm: move the standby functions to pm.c
ARM: at91: fix pm_suspend.S compilation when ARMv6 is selected
ARM: at91: add a Kconfig dependency on multi-platform
ARM: at91: drop AT91_TIMER_HZ
ARM: at91: remove hardware.h
ARM: at91: remove SoC headers
ARM: at91: remove useless mach/cpu.h
ARM: at91: remove unused headers
ARM: at91: switch at91_dt_defconfig to multiplatform
ARM: at91: switch to multiplatform
ARM: shmobile: r8a7778: enable multiplatform target
ARM: shmobile: bockw: add sound to DT
ARM: shmobile: r8a7778: add sound to DT
ARM: shmobile: bockw: add devices hooked up to i2c0 to DT
DT: i2c: add trivial binding for OKI ML86V7667 video decoder
ARM: shmobile: r8a7778: common clock framework CPG driver
ARM: shmobile: bockw dts: set extal clock frequency
ARM: shmobile: bockw dts: Move Ethernet node to BSC
ARM: shmobile: r8a73a4: Remove legacy code
...
commit 7d2b6ef19cf0f98cef17aa5185de3631a618710a
Merge: 5c73cc4 7415d97
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 09:18:17 2015 -0700
Merge tag 'armsoc-drivers' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC driver updates from Olof Johansson:
"Driver updates for v4.1. Some of these are for drivers/soc, where we
find more and more SoC-specific drivers these days. Some are for
other driver subsystems where we have received acks from the
appropriate maintainers.
The larger parts of this branch are:
- MediaTek support for their PMIC wrapper interface, a high-level
interface for talking to the system PMIC over a dedicated I2C
interface.
- Qualcomm SCM driver has been moved to drivers/firmware. It's used
for CPU up/down and needs to be in a shared location for arm/arm64
common code.
- cleanup of ARM-CCI PMU code.
- another set of cleanusp to the OMAP GPMC code"
* tag 'armsoc-drivers' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits)
soc/mediatek: Remove unused variables
clocksource: atmel-st: select MFD_SYSCON
soc: mediatek: Add PMIC wrapper for MT8135 and MT8173 SoCs
arm-cci: Fix CCI PMU event validation
arm-cci: Split the code for PMU vs driver support
arm-cci: Get rid of secure transactions for PMU driver
arm-cci: Abstract the CCI400 PMU specific definitions
arm-cci: Rearrange code for splitting PMU vs driver code
drivers: cci: reject groups spanning multiple HW PMUs
ARM: at91: remove useless include
clocksource: atmel-st: remove mach/hardware dependency
clocksource: atmel-st: use syscon/regmap
ARM: at91: time: move the system timer driver to drivers/clocksource
ARM: at91: properly initialize timer
ARM: at91: at91rm9200: remove deprecated arm_pm_restart
watchdog: at91rm9200: implement restart handler
watchdog: at91rm9200: use the system timer syscon
mfd: syscon: Add atmel system timer registers definition
ARM: at91/dt: declare atmel,at91rm9200-st as a syscon
soc: qcom: gsbi: Add support for ADM CRCI muxing
...
commit 5c73cc4b6c83e88863a5de869cc5df3b913aef4a
Merge: e6c81cc 8b03655
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 09:09:46 2015 -0700
Merge tag 'armsoc-dt' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM DT updates from Olof Johansson:
"As always, this tends to be one of our bigger branches. There are
lots of updates this release, but not that many jumps out as something
that needs more detailed coverage. Some of the highlights are:
- DTs for the new Annapurna Labs Alpine platform
- more graphics DT pieces falling into place on Exynos, bridges,
clocks.
- plenty of DT updates for Qualcomm platforms for various IP blocks
- some churn on Tegra due to switch-over to tool-generated pinctrl
data
- misc fixes and updates for Atmel at91 platforms
- various DT updates to add IP block support on Broadcom's Cygnus
platforms
- more updates for Renesas platforms as DT support is added for
various IP blocks (IPMMU, display, audio, etc)"
* tag 'armsoc-dt' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (231 commits)
ARM: dts: alpine: add internal pci
Revert "ARM: dts: mt8135: Add pinctrl/GPIO/EINT node for mt8135."
ARM: mvebu: use 0xf1000000 as internal registers on Armada 370 DB
ARM: dts: qcom: Add idle state device nodes for 8064
ARM: dts: qcom: Add idle states device nodes for 8084
ARM: dts: qcom: Add idle states device nodes for 8974/8074
ARM: dts: qcom: Update power-controller device node for 8064 Krait CPUs
ARM: dts: qcom: Add power-controller device node for 8084 Krait CPUs
ARM: dts: qcom: Add power-controller device node for 8074 Krait CPUs
devicetree: bindings: Document qcom,idle-states
devicetree: bindings: Update qcom,saw2 node bindings
dt-bindings: Add #defines for MSM8916 clocks and resets
arm: dts: qcom: Add LPASS Audio HW to IPQ8064 device tree
arm: dts: qcom: Add APQ8084 chipset SPMI PMIC's nodes
arm: dts: qcom: Add 8x74 chipset SPMI PMIC's nodes
arm: dts: qcom: Add SPMI PMIC Arbiter nodes for APQ8084 and MSM8974
arm: dts: qcom: Add LCC nodes
arm: dts: qcom: Add TCSR support for MSM8960
arm: dts: qcom: Add TCSR support for MSM8660
arm: dts: qcom: Add TCSR support for IPQ8064
...
commit e6c81cce5699ec6be3a7533b5ad7a062ab3357f2
Merge: d0440c5 a018bb2
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 09:08:39 2015 -0700
Merge tag 'armsoc-soc' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC platform updates from Olof Johansson:
"Our SoC branch usually contains expanded support for new SoCs and
other core platform code. In this case, that includes:
- support for the new Annapurna Labs "Alpine" platform
- a rework greatly simplifying adding new platform support to the
MCPM subsystem (Multi-cluster power management)
- cpuidle and PM improvements for Exynos3250
- misc updates for Renesas, OMAP, Meson, i.MX. Some of these could
have gone in other branches but ended up here for various reasons"
* tag 'armsoc-soc' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (53 commits)
ARM: alpine: add support for generic pci
ARM: Exynos: migrate DCSCB to the new MCPM backend abstraction
ARM: vexpress: migrate DCSCB to the new MCPM backend abstraction
ARM: vexpress: DCSCB: tighten CPU validity assertion
ARM: vexpress: migrate TC2 to the new MCPM backend abstraction
ARM: MCPM: move the algorithmic complexity to the core code
ARM: EXYNOS: allow cpuidle driver usage on Exynos3250 SoC
ARM: EXYNOS: add AFTR mode support for Exynos3250
ARM: EXYNOS: add code for setting/clearing boot flag
ARM: EXYNOS: fix CPU1 hotplug on Exynos3250
ARM: S3C64XX: Use fixed IRQ bases to avoid conflicts on Cragganmore
ARM: cygnus: fix const declaration bcm_cygnus_dt_compat
ARM: DRA7: hwmod: Fix the hwmod class for GPTimer4
ARM: DRA7: hwmod: Add data for GPTimers 13 through 16
ARM: EXYNOS: Remove left over 'extra_save'
ARM: EXYNOS: Constify exynos_pm_data array
ARM: EXYNOS: use static in suspend.c
ARM: EXYNOS: Use platform device name as power domain name
ARM: EXYNOS: add support for async-bridge clocks for pm_domains
ARM: omap-device: add missed callback for suspend-to-disk
...
commit d0440c59f52d31aa7f74ba8e35cc22ee96acea84
Merge: 38eb1db c4c14f3
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 09:04:39 2015 -0700
Merge tag 'armsoc-cleanup' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC cleanups from Olof Johansson:
"We've got a fairly large cleanup branch this time. The bulk of this
is removal of non-DT platforms of several flavors:
- Atmel at91 platforms go full-DT, with removal of remaining
board-file based support
- OMAP removes legacy board files for three more platforms
- removal of non-DT mach-msm, newer Qualcomm platforms now live in
mach-qcom
- Freescale i.MX25 also removes non-DT platform support"
Most of the rest of the changes here are fallout from the above, i.e. for
example removal of drivers that now lack platforms, etc.
* tag 'armsoc-cleanup' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (58 commits)
mmc: Remove msm_sdcc driver
gpio: Remove gpio-msm-v1 driver
ARM: Remove mach-msm and associated ARM architecture code
ARM: shmobile: cpuidle: Remove the pointless default driver
ARM: davinci: dm646x: Add interrupt resource for McASPs
ARM: davinci: irqs: Correct McASP1 TX interrupt definition for DM646x
ARM: davinci: dm646x: Clean up the McASP DMA resources
ARM: davinci: devices-da8xx: Add support for McASP2 on da830
ARM: davinci: devices-da8xx: Clean up and correct the McASP device
creation
ARM: davinci: devices-da8xx: Add interrupt resource to McASP structs
ARM: davinci: devices-da8xx: Add resource name for the McASP DMA request
ARM: OMAP2+: Remove legacy support for omap3 TouchBook
ARM: OMAP3: Remove legacy support for devkit8000
ARM: OMAP3: Remove legacy support for EMA-Tech Stalker board
ARM: shmobile: Consolidate the pm code for R-Car Gen2
ARM: shmobile: r8a7791: Correct SYSCIER value
ARM: shmobile: r8a7790: Correct SYSCIER value
ARM: at91: remove old setup
ARM: at91: sama5d4: remove useless map_io
ARM: at91: sama5 use SoC detection infrastructure
...
commit 38eb1dbb0d7d190bdfe2ea824e94dab19e32737f
Merge: db4fd9c cdaa8cf
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 22 09:03:30 2015 -0700
Merge tag 'armsoc-fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC fixes from Olof Johansson:
"Here's the usual "low-priority fixes that didn't make it into the last
few -rcs, with a twist: We had a fixes pull request that I didn't send
in time to get into 4.0, so we'll send some of them to Greg for
-stable as well.
Contents here is as usual not all that controversial:
- a handful of randconfig fixes from Arnd, in particular for older
Samsung platforms
- Exynos fixes, !SMP building, DTS updates for MMC and lid switch
- Kbuild fix to create output subdirectory for DTB files
- misc minor fixes for OMAP"
* tag 'armsoc-fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (23 commits)
ARM: at91/dt: sama5d3 xplained: add phy address for macb1
kbuild: Create directory for target DTB
ARM: mvebu: Disable CPU Idle on Armada 38x
ARM: DRA7: Enable Cortex A15 errata 798181
ARM: dts: am57xx-beagle-x15: Add thermal map to include fan and tmp102
ARM: dts: DRA7: Add bandgap and related thermal nodes
bus: ocp2scp: SYNC2 value should be changed to 0x6
ARM: dts: am4372: Add "ti,am437x-ocp2scp" as compatible string for
OCP2SCP
ARM: OMAP2+: remove superfluous NULL pointer check
ARM: EXYNOS: Fix build breakage cpuidle on !SMP
ARM: dts: fix lid and power pin-functions for exynos5250-spring
ARM: dts: fix mmc node updates for exynos5250-spring
ARM: OMAP4: remove dead kconfig option OMAP4_ERRATA_I688
MAINTAINERS: add OMAP defconfigs under OMAP SUPPORT
ARM: OMAP1: PM: fix some build warnings on 1510-only Kconfigs
ARM: cns3xxx: don't export static symbol
ARM: S3C24XX: avoid a Kconfig warning
ARM: S3C24XX: fix header file inclusions
ARM: S3C24XX: fix building without PM_SLEEP
ARM: S3C24XX: use SAMSUNG_WAKEMASK for s3c2416
...
commit f77303bddabf73ebccb60f613b77da391f933cf6
Author: Ilya Dryomov <idryomov@xxxxxxxxx>
Date: Wed Apr 22 18:28:13 2015 +0300
rbd: rbd_wq comment is obsolete
After the switch to blk-mq rbd_wq processes requests, not devices.
Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
commit 7c1c4747f28f59f2939687168203863f7e095d10
Author: Ilya Dryomov <idryomov@xxxxxxxxx>
Date: Tue Apr 14 23:13:31 2015 +0300
libceph: announce support for straw2 buckets
Sync up feature bits and enable CEPH_FEATURE_CRUSH_V4.
Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
commit 958a27658d94cf212caeb0ffb04ee0b0bc89cc40
Author: Ilya Dryomov <idryomov@xxxxxxxxx>
Date: Tue Apr 14 16:54:52 2015 +0300
crush: straw2 bucket type with an efficient 64-bit crush_ln()
This is an improved straw bucket that correctly avoids any data movement
between items A and B when neither A nor B's weights are changed. Said
differently, if we adjust the weight of item C (including adding it anew
or removing it completely), we will only see inputs move to or from C,
never between other items in the bucket.
Notably, there is not intermediate scaling factor that needs to be
calculated. The mapping function is a simple function of the item
weights.
The below commits were squashed together into this one (mostly to avoid
adding and then yanking a ~6000 lines worth of crush_ln_table):
- crush: add a straw2 bucket type
- crush: add crush_ln to calculate nature log efficently
- crush: improve straw2 adjustment slightly
- crush: change crush_ln to provide 32 more digits
- crush: fix crush_get_bucket_item_weight and bucket destroy for straw2
- crush/mapper: fix divide-by-0 in straw2
(with div64_s64() for draw = ln / w and INT64_MIN -> S64_MIN - need
to create a proper compat.h in ceph.git)
Reflects ceph.git commits 242293c908e923d474910f2b8203fa3b41eb5a53,
32a1ead92efcd351822d22a5fc37d159c65c1338,
6289912418c4a3597a11778bcf29ed5415117ad9,
35fcb04e2945717cf5cfe150b9fa89cb3d2303a1,
6445d9ee7290938de1e4ee9563912a6ab6d8ee5f,
b5921d55d16796e12d66ad2c4add7305f9ce2353.
Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
commit 45002267e8d2699bf9b022315bee3dd13b044843
Author: Ilya Dryomov <idryomov@xxxxxxxxx>
Date: Tue Apr 14 16:04:23 2015 +0300
crush: ensuring at most num-rep osds are selected
Crush temporary buffers are allocated as per replica size configured
by the user. When there are more final osds (to be selected as per
rule) than the replicas, buffer overlaps and it causes crash. Now, it
ensures that at most num-rep osds are selected even if more number of
osds are allowed by the rule.
Reflects ceph.git commits 6b4d1aa99718e3b367496326c1e64551330fabc0,
234b066ba04976783d15ff2abc3e81b6cc06fb10.
Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
commit 9be6df215a1baa57ccad0c388daeb2ad8f8d99ee
Author: Ilya Dryomov <idryomov@xxxxxxxxx>
Date: Tue Apr 14 20:55:13 2015 +0300
crush: drop unnecessary include from mapper.c
Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
commit ec137c10e720e5cf085504332ee1bf380241ed69
Author: Yan, Zheng <zyan@xxxxxxxxxx>
Date: Mon Apr 13 11:25:07 2015 +0800
ceph: fix uninline data function
For CEPH_OSD_CMPXATTR_MODE_U64, OSD expects the u64 to be encoded
as string in object's xattr.
Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
commit 0ea611a3bc5fb8f6a0bb1a76fe2dbf8ebe4bdf77
Author: Yan, Zheng <zyan@xxxxxxxxxx>
Date: Tue Apr 7 15:36:32 2015 +0800
ceph: rename snapshot support
Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
commit c0bd50e2eeddf139d8f61e709d7003210301e93a
Author: Yan, Zheng <zyan@xxxxxxxxxx>
Date: Tue Apr 7 15:51:08 2015 +0800
ceph: fix null pointer dereference in send_mds_reconnect()
sb->s_root can be null when umounting
Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
commit 2fa462f826210bbec65f8ed06d5ef4e0cd4f5450
Merge: 123857a fd1d0dd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 22 17:08:12 2015 +0200
Merge tag 'kvm-arm-for-4.1-take2' of
git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master
KVM/ARM changes for v4.1, take #2:
Rather small this time:
- a fix for a nasty bug with virtual IRQ injection
- a fix for irqfd
commit fd1d0ddf2ae92fb3df42ed476939861806c5d785
Author: Andre Przywara <andre.przywara@xxxxxxx>
Date: Fri Apr 10 16:17:59 2015 +0100
KVM: arm/arm64: check IRQ number on userland injection
When userland injects a SPI via the KVM_IRQ_LINE ioctl we currently
only check it against a fixed limit, which historically is set
to 127. With the new dynamic IRQ allocation the effective limit may
actually be smaller (64).
So when now a malicious or buggy userland injects a SPI in that
range, we spill over on our VGIC bitmaps and bytemaps memory.
I could trigger a host kernel NULL pointer dereference with current
mainline by injecting some bogus IRQ number from a hacked kvmtool:
-----------------
....
DEBUG: kvm_vgic_inject_irq(kvm, cpu=0, irq=114, level=1)
DEBUG: vgic_update_irq_pending(kvm, cpu=0, irq=114, level=1)
DEBUG: IRQ #114 still in the game, writing to bytemap now...
Unable to handle kernel NULL pointer dereference at virtual address
00000000
pgd = ffffffc07652e000
[00000000] *pgd=00000000f658b003, *pud=00000000f658b003,
*pmd=0000000000000000
Internal error: Oops: 96000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 1 PID: 1053 Comm: lkvm-msi-irqinj Not tainted 4.0.0-rc7+ #3027
Hardware name: FVP Base (DT)
task: ffffffc0774e9680 ti: ffffffc0765a8000 task.ti: ffffffc0765a8000
PC is at kvm_vgic_inject_irq+0x234/0x310
LR is at kvm_vgic_inject_irq+0x30c/0x310
pc : [<ffffffc0000ae0a8>] lr : [<ffffffc0000ae180>] pstate: 80000145
.....
So this patch fixes this by checking the SPI number against the
actual limit. Also we remove the former legacy hard limit of
127 in the ioctl code.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
CC: <stable@xxxxxxxxxxxxxxx> # 4.0, 3.19, 3.18
[maz: wrap KVM_ARM_IRQ_GIC_MAX with #ifndef __KERNEL__,
as suggested by Christopher Covington]
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
commit 0b3289ebc2d50cf5ab778215ed0b4075bbae6629
Author: Eric Auger <eric.auger@xxxxxxxxxx>
Date: Mon Apr 13 15:01:59 2015 +0200
KVM: arm: irqfd: fix value returned by kvm_irq_map_gsi
irqfd/arm curently does not support routing. kvm_irq_map_gsi is
supposed to return all the routing entries associated with the
provided gsi and return the number of those entries. We should
return 0 at this point.
Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx>
Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
commit cf82f52d3619d2e15c83ec9a03c6ce8cdf6c6b58
Author: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Date: Mon Apr 20 15:51:44 2015 +0200
watchdog: stmp3xxx_rtc_wdt: fix broken email address
My Pengutronix address is not valid anymore, redirect people to the
Pengutronix
kernel team.
Reported-by: Harald Geyer <harald@xxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx>
Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>
commit e8cc53665728860a56dbbd56bfc32ac934efb70a
Author: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Date: Mon Apr 20 15:51:43 2015 +0200
watchdog: pnx4008_wdt: fix broken email address
My Pengutronix address is not valid anymore, redirect people to the
Pengutronix
kernel team.
Reported-by: Harald Geyer <harald@xxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx>
Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>
commit 3a30c07e712df895981deac0782655997942bc75
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Sat Mar 28 20:05:40 2015 +0200
watchdog: octeon: use fixed length string for register names
Use fixed length string for register names. This saves 416 bytes
in text size.
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>
commit 8692cf0ad31b3654c798c23de01e4c23c4536dea
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Sat Mar 28 20:05:39 2015 +0200
watchdog: octeon: fix some trivial coding style issues
Fix some trivial coding style issues to reduce noise from static
analyzers.
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>
commit 3d588c93c040c4aacca81b15a7aa9761357ecdc4
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Sat Mar 28 20:05:38 2015 +0200
watchdog: octeon: convert to WATCHDOG_CORE API
Convert OCTEON watchdog to WATCHDOG_CORE API. This enables support
for multiple watchdogs on OCTEON boards.
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>
commit 6290d8c826023a633da3e675784b5f317a9600f0
Author: Michal Simek <michal.simek@xxxxxxxxxx>
Date: Mon Mar 9 09:50:12 2015 +0100
watchdog: cadence: Remove Kconfig dependency on ARCH
Remove Kconfig dependency and enable driver for
all ARCHs.
Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>
commit cf79fb14d09f8a9aaadfce59d01cfedf4f96d99d
Author: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx>
Date: Fri Feb 20 18:19:36 2015 -0800
ARM: msm: add watchdog entries to DT timer binding doc
The watchdog has been reworked to use the same DT node as the timer.
This change is updating the device tree doc accordingly.
Signed-off-by: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx>
Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>
commit 4ba1c98b552c58b1a29bd943aef51b1788465b2d
Author: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx>
Date: Fri Feb 20 18:19:35 2015 -0800
ARM: qcom: add description of KPSS WDT for IPQ8064
Add the watchdog related entries to the Krait Processor Sub-system
(KPSS) timer IPQ8064 devicetree section. Also, add a fixed-clock
description of SLEEP_CLK, which will do for now.
Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx>
Signed-off-by: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx>
Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>
commit 0dfd582e026af8a37917164aaba7227fa812e5c2
Author: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx>
Date: Fri Feb 20 18:19:34 2015 -0800
watchdog: qcom: use timer devicetree binding
MSM watchdog configuration happens in the same register block as the
timer, so we'll use the same binding as the existing timer.
The qcom-wdt will now be probed when devicetree has an entry compatible
with "qcom,kpss-timer" or "qcom-scss-timer".
Signed-off-by: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx>
Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>
commit e1dbde29609a4f829589f0e48361470327ae3f62
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Sat Feb 21 18:53:48 2015 -0800
watchdog: bcm281xx: Remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Acked-by: Guenter Roeck <linux~roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>
commit 4a3893d069b788f3570c19c12d9e986e8e15870f
Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
Date: Mon Apr 20 10:20:40 2015 +0930
modpost: don't emit section mismatch warnings for compiler optimizations
Currently an allyesconfig build [gcc-4.9.1] can generate the following:
WARNING: vmlinux.o(.text.unlikely+0x3864): Section mismatch in
reference from the function cpumask_empty.constprop.3() to the
variable .init.data:nmi_ipi_mask
which comes from the cpumask_empty usage in
arch/x86/kernel/nmi_selftest.c.
Normally we would not see a symbol entry for cpumask_empty since it is:
static inline bool cpumask_empty(const struct cpumask *srcp)
however in this case, the variant of the symbol gets emitted when GCC does
constant propagation optimization.
Fix things up so that any locally optimized constprop variants don't warn
when accessing variables that live in the __init sections.
Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit 09c20c032b0f753969ae778d9783d946f054d7fe
Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
Date: Mon Apr 20 10:20:26 2015 +0930
modpost: expand pattern matching to support substring matches
Currently the match() function supports a leading * to match any
prefix and a trailing * to match any suffix. However there currently
is not a combination of both that can be used to target matches of
whole families of functions that share a common substring.
Here we expand the *foo and foo* match to also support *foo* with
the goal of targeting compiler generated symbol names that contain
strings like ".constprop." and ".isra."
Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit c5c3439af0f9c08e253d2a703a7eb3deba7d8591
Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Date: Thu Apr 16 13:16:41 2015 +0930
modpost: do not try to match the SHT_NUL section.
Trying to match the SHT_NUL section isn't useful and causes build failures
on parisc and mn10300 since the addition of section strict white-listing
and __ex_table sanitizing.
Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Fixes: 050e57fd5936 ("modpost: add strict white-listing when
referencing....")
Fixes: 52dc0595d540 ("modpost: handle relocations mismatch in
__ex_table.")
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit e84048aa173f2403fa468cb189f101b57fece539
Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Date: Thu Apr 16 13:05:36 2015 +0930
modpost: fix extable entry size calculation.
As Guenter pointed out, we were never really calculating the extable entry
size because the pointer arithmetic was simply wrong. We want to check
we're handling the second relocation in __ex_table to infer an entry size,
but we were using (void*) pointers instead of Elf_Rel[a]* ones.
This fixes the problem by moving that check in the caller (since we can
deal with different types of relocations) and add
is_second_extable_reloc()
to make the whole thing more readable.
Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
CC: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit d3df4de7eb095cc4334759a5e65bf3bfb4be04f1
Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Date: Thu Apr 16 13:03:32 2015 +0930
modpost: fix inverted logic in is_extable_fault_address().
As Guenter pointed out, we want to assert that extable_entry_size has been
discovered and not the other way around. Moreover, this sanity check is
only valid when we're not dealing with the first relocation in __ex_table,
since we have not discovered the extable entry size at that point.
This was leading to a divide-by-zero on some architectures and make the
build fail.
Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
CC: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit 6c730bfc894f5d4989c2c1493512d3330402be94
Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Date: Wed Apr 15 13:28:08 2015 +0930
modpost: handle -ffunction-sections
52dc0595d540 introduced OTHER_TEXT_SECTIONS for identifying what
sections could validly have __ex_table entries. Unfortunately, it
wasn't tested with -ffunction-sections, which some architectures
use.
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit d7e0abcf4c6d9fc4ebb948c9bbc880b2483434b4
Author: Thierry Reding <thierry.reding@xxxxxxxxx>
Date: Wed Apr 15 13:23:48 2015 +0930
modpost: Whitelist .text.fixup and .exception.text
32-bit and 64-bit ARM use these sections to store executable code, so
they must be whitelisted in modpost's table of valid text sections.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit cdde0e61cf2d41123604c6c9d8f09ef5c23464ee
Author: Vinod Koul <vinod.koul@xxxxxxxxx>
Date: Wed Apr 22 12:24:13 2015 +0530
dmaengine: dw: don't prompt for DW_DMAC_CORE
DW_DMAC_CORE is slected by PCI or Platform driver, so this symbol
shouldn't
be user selectable, so remove the prompt
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit 0140e6141e4f1d4b15fb469e6912b0e71b7d1cc2
Author: Sonny Rao <sonnyrao@xxxxxxxxxxxx>
Date: Tue Apr 21 12:33:11 2015 -0700
perf/x86/intel/uncore: Move PCI IDs for IMC to uncore driver
This keeps all the related PCI IDs together in the driver where
they are used.
Signed-off-by: Sonny Rao <sonnyrao@xxxxxxxxxxxx>
Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1429644791-25724-1-git-send-email-sonnyrao@xxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 80bcffb376a6890dd7452b12c1ba032f8f24fef6
Author: Sonny Rao <sonnyrao@xxxxxxxxxxxx>
Date: Mon Apr 20 15:34:07 2015 -0700
perf/x86/intel/uncore: Add support for Intel Haswell ULT (lower power
Mobile Processor) IMC uncore PMUs
This uncore is the same as the Haswell desktop part but uses a
different PCI ID.
Signed-off-by: Sonny Rao <sonnyrao@xxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1429569247-16697-1-git-send-email-sonnyrao@xxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 3b6e042188994466ec257b71296b5f85b894dcd9
Author: Jiri Olsa <jolsa@xxxxxxxxxx>
Date: Tue Apr 21 17:26:23 2015 +0200
perf/x86/intel: Add cpu_(prepare|starting|dying) for core_pmu
The core_pmu does not define cpu_* callbacks, which handles
allocation of 'struct cpu_hw_events::shared_regs' data,
initialization of debug store and PMU_FL_EXCL_CNTRS counters.
While this probably won't happen on bare metal, virtual CPU can
define x86_pmu.extra_regs together with PMU version 1 and thus
be using core_pmu -> using shared_regs data without it being
allocated. That could could leave to following panic:
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<ffffffff8152cd4f>] _spin_lock_irqsave+0x1f/0x40
SNIP
[<ffffffff81024bd9>] __intel_shared_reg_get_constraints+0x69/0x1e0
[<ffffffff81024deb>] intel_get_event_constraints+0x9b/0x180
[<ffffffff8101e815>] x86_schedule_events+0x75/0x1d0
[<ffffffff810586dc>] ? check_preempt_curr+0x7c/0x90
[<ffffffff810649fe>] ? try_to_wake_up+0x24e/0x3e0
[<ffffffff81064ba2>] ? default_wake_function+0x12/0x20
[<ffffffff8109eb16>] ? autoremove_wake_function+0x16/0x40
[<ffffffff810577e9>] ? __wake_up_common+0x59/0x90
[<ffffffff811a9517>] ? __d_lookup+0xa7/0x150
[<ffffffff8119db5f>] ? do_lookup+0x9f/0x230
[<ffffffff811a993a>] ? dput+0x9a/0x150
[<ffffffff8119c8f5>] ? path_to_nameidata+0x25/0x60
[<ffffffff8119e90a>] ? __link_path_walk+0x7da/0x1000
[<ffffffff8101d8f9>] ? x86_pmu_add+0xb9/0x170
[<ffffffff8101d7a7>] x86_pmu_commit_txn+0x67/0xc0
[<ffffffff811b07b0>] ? mntput_no_expire+0x30/0x110
[<ffffffff8119c731>] ? path_put+0x31/0x40
[<ffffffff8107c297>] ? current_fs_time+0x27/0x30
[<ffffffff8117d170>] ? mem_cgroup_get_reclaim_stat_from_page+0x20/0x70
[<ffffffff8111b7aa>] group_sched_in+0x13a/0x170
[<ffffffff81014a29>] ? sched_clock+0x9/0x10
[<ffffffff8111bac8>] ctx_sched_in+0x2e8/0x330
[<ffffffff8111bb7b>] perf_event_sched_in+0x6b/0xb0
[<ffffffff8111bc36>] perf_event_context_sched_in+0x76/0xc0
[<ffffffff8111eb3b>] perf_event_comm+0x1bb/0x2e0
[<ffffffff81195ee9>] set_task_comm+0x69/0x80
[<ffffffff81195fe1>] setup_new_exec+0xe1/0x2e0
[<ffffffff811ea68e>] load_elf_binary+0x3ce/0x1ab0
Adding cpu_(prepare|starting|dying) for core_pmu to have
shared_regs data allocated for core_pmu. AFAICS there's no harm
to initialize debug store and PMU_FL_EXCL_CNTRS either for
core_pmu.
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150421152623.GC13169@xxxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit db4fd9c5d072a20ea6b7e40276a9822e04732610
Merge: 8aaa51b 0edfad5
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 21 23:21:34 2015 -0700
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
Pull sparc fixes from David Miller:
1) ldc_alloc_exp_dring() can be called from softints, so use
GFP_ATOMIC. From Sowmini Varadhan.
2) Some minor warning/build fixups for the new iommu-common code on
certain archs and with certain debug options enabled. Also from
Sowmini Varadhan.
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
sparc: Use GFP_ATOMIC in ldc_alloc_exp_dring() as it can be called in
softirq context
sparc64: Use M7 PMC write on all chips T4 and onward.
iommu-common: rename iommu_pool_hash to iommu_hash_common
iommu-common: fix x86_64 compiler warnings
commit 8aaa51b63cc3c5f3b2e72d2f0e193d9c2e00fe46
Merge: f614c81 fab9adf
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 21 22:37:27 2015 -0700
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller:
"Just a few fixes trickling in at this point.
1) If we see an attached socket on an skb in the ipv4 forwarding path,
bail. This can happen due to races with FIB rule addition, and
deletion, and we should just drop such frames. From Sebastian
Pöhn.
2) pppoe receive should only accept packets destined for this hosts's
MAC address. From Joakim Tjernlund.
3) Handle checksum unwrapping properly in ppp receive properly when
it's encapsulated in UDP in some way, fix from Tom Herbert.
4) Fix some bugs in mv88e6xxx DSA driver resulting from the conversion
from register offset constants to mnenomic macros. From Vivien
Didelot.
5) Fix handling of HCA max message size in mlx4 adapters, from Eran
Ben ELisha"
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
net/mlx4_core: Fix reading HCA max message size in mlx4_QUERY_DEV_CAP
tcp: add memory barriers to write space paths
altera tse: Error-Bit on tx-avalon-stream always set.
net: dsa: mv88e6xxx: use PORT_DEFAULT_VLAN
net: dsa: mv88e6xxx: fix setup of port control 1
ppp: call skb_checksum_complete_unset in ppp_receive_frame
net: add skb_checksum_complete_unset
pppoe: Lacks DST MAC address check
ip_forward: Drop frames with attached skb->sk
commit 48c1078509b47b38802329028ccfd77783bcff99
Merge: 30ecc84 da4d814
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Tue Apr 21 21:45:15 2015 -0700
Merge tag 'omap-for-v4.1/prcm-dts-mfd-syscon-fix' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/late
Merge "urgent omap boot fix for v4.1 if MFD_SYSCON is not set" from Tony
Lindgren:
Urgent pull request for v4.1 to booting for custom kernel
.config files that do not have MFD_SYSCON set.
Omaps now have a dependency to MFD_SYSCON for system control
module generic register area and some clocks with the changes
done in omap-for-v4.1/prcm-dts branch.
This can be pulled on top of omap-for-v4.1/prcm-dts, or into
fixes for v4.1.
We already do have a slight MFD_SYSCON dependency for
REGULATOR_PBIAS for dual voltage MMC cards on the first MMC
bus for many devices, so from that point of view this can
also be merged separately from omap-for-v4.1/prcm-dts.
* tag 'omap-for-v4.1/prcm-dts-mfd-syscon-fix' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: Fix booting with configs that don't have MFD_SYSCON
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 6b5eab54691956b27669ce726cbd8ef2d8ec1e50
Author: Chris Bainbridge <chris.bainbridge@xxxxxxxxx>
Date: Wed Apr 22 00:25:36 2015 +0100
ACPI / EC: fix NULL pointer dereference in acpi_ec_remove_query_handler()
Use list_for_each_entry_safe for iterating because handler may be freed
in the loop.
BUG: unable to handle kernel NULL pointer dereference at 000000000000002c
IP: [<ffffffff814d69c8>] acpi_ec_put_query_handler+0x7/0x1a
Call Trace:
acpi_ec_remove_query_handler+0x87/0x97
acpi_smbus_hc_remove+0x2a/0x44 [sbshc]
acpi_device_remove+0x7b/0x9a
__device_release_driver+0x7e/0x110
driver_detach+0xb0/0xc0
bus_remove_driver+0x54/0xe0
driver_unregister+0x2b/0x60
acpi_bus_unregister_driver+0x10/0x12
acpi_smb_hc_driver_exit+0x10/0x12 [sbshc]
SyS_delete_module+0x1b8/0x210
system_call_fastpath+0x12/0x6a
Signed-off-by: Chris Bainbridge <chris.bainbridge@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit f614c8178b0696d070b23f36a2a27b5128f6c372
Merge: b8ce8d7 c19edb6
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 21 17:57:28 2015 -0700
Merge branch 'parisc-4.1-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
Pull parisc fixes from Helge Deller:
"The patch by Guenter Roeck fixes the build on parisc which got broken
because of commit f24ffde43237 ("parisc: expose number of page table
levels on Kconfig level") and the patch from Matthew Wilcox converts
our code to use the generic scatterlist.h header file"
* 'parisc-4.1-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
parisc: Replace PT_NLEVELS with CONFIG_PGTABLE_LEVELS
parisc: Eliminate sg_virt_addr() and private scatterlist.h
commit 9ffc8f7cb9647b13dfe4d1ad0d5e1427bb8b46d6
Author: Eric Mei <eric.mei@xxxxxxxxxxx>
Date: Wed Mar 18 23:39:11 2015 -0600
md/raid5: don't do chunk aligned read on degraded array.
When array is degraded, read data landed on failed drives will result in
reading rest of data in a stripe. So a single sequential read would
result in same data being read twice.
This patch is to avoid chunk aligned read for degraded array. The
downside is to involve stripe cache which means associated CPU overhead
and extra memory copy.
Test Results:
Following test are done on a enterprise storage node with Seagate 6T SAS
drives and Xeon E5-2648L CPU (10 cores, 1.9Ghz), 10 disks MD RAID6 8+2,
chunk size 128 KiB.
I use FIO, using direct-io with various bs size, enough queue depth,
tested sequential and 100% random read against 3 array config:
1) optimal, as baseline;
2) degraded;
3) degraded with this patch.
Kernel version is 4.0-rc3.
Each individual test I only did once so there might be some variations,
but we just focus on big trend.
Sequential Read:
bs=(KiB) optimal(MiB/s) degraded(MiB/s) degraded-with-patch (MiB/s)
1024 1608 656 995
512 1624 710 956
256 1635 728 980
128 1636 771 983
64 1612 1119 1000
32 1580 1420 1004
16 1368 688 986
8 768 647 953
4 411 413 850
Random Read:
bs=(KiB) optimal(IOPS) degraded(IOPS) degraded-with-patch (IOPS)
1024 163 160 156
512 274 273 272
256 426 428 424
128 576 592 591
64 726 724 726
32 849 848 837
16 900 970 971
8 927 940 929
4 948 940 955
Some notes:
* In sequential + optimal, as bs size getting smaller, the FIO thread
become CPU bound.
* In sequential + degraded, there's big increase when bs is 64K and
32K, I don't have explanation.
* In sequential + degraded-with-patch, the MD thread mostly become CPU
bound.
If you want to we can discuss specific data point in those data. But in
general it seems with this patch, we have more predictable and in most
cases significant better sequential read performance when array is
degraded, and almost no noticeable impact on random read.
Performance is a complicated thing, the patch works well for this
particular configuration, but may not be universal. For example I
imagine testing on all SSD array may have very different result. But I
personally think in most cases IO bandwidth is more scarce resource than
CPU.
Signed-off-by: Eric Mei <eric.mei@xxxxxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit edbe83ab4c27ea6669eb57adb5ed7eaec1118ceb
Author: NeilBrown <neilb@xxxxxxx>
Date: Thu Feb 26 12:47:56 2015 +1100
md/raid5: allow the stripe_cache to grow and shrink.
The default setting of 256 stripe_heads is probably
much too small for many configurations. So it is best to make it
auto-configure.
Shrinking the cache under memory pressure is easy. The only
interesting part here is that we put a fairly high cost
('seeks') on shrinking the cache as the cost is greater than
just having to read more data, it reduces parallelism.
Growing the cache on demand needs to be done carefully. If we allow
fast growth, that can upset memory balance as lots of dirty memory can
quickly turn into lots of memory queued in the stripe_cache.
It is important for the raid5 block device to appear congested to
allow write-throttling to work.
So we only add stripes slowly. We set a flag when an allocation
fails because all stripes are in use, allocate at a convenient
time when that flag is set, and don't allow it to be set again
until at least one stripe_head has been released for re-use.
This means that a spurt of requests will only cause one stripe_head
to be allocated, but a steady stream of requests will slowly
increase the cache size - until memory pressure puts it back again.
It could take hours to reach a steady state.
The value written to, and displayed in, stripe_cache_size is
used as a minimum. The cache can grow above this and shrink back
down to it. The actual size is not directly visible, though it can
be deduced to some extent by watching stripe_cache_active.
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit 5423399a84ee1d92d29d763029ed40e4905cf50f
Author: NeilBrown <neilb@xxxxxxx>
Date: Thu Feb 26 12:21:04 2015 +1100
md/raid5: change ->inactive_blocked to a bit-flag.
This allows us to easily add more (atomic) flags.
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit 486f0644c3482cbf64fe804499836e1f05abec14
Author: NeilBrown <neilb@xxxxxxx>
Date: Wed Feb 25 12:10:35 2015 +1100
md/raid5: move max_nr_stripes management into grow_one_stripe and
drop_one_stripe
Rather than adjusting max_nr_stripes whenever {grow,drop}_one_stripe()
succeeds, do it inside the functions.
Also choose the correct hash to handle next inside the functions.
This removes duplication and will help with future new uses of
{grow,drop}_one_stripe.
This also fixes a minor bug where the "md/raid:%md: allocate XXkB"
message always said "0kB".
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit a9683a795bcca6d0e7fe4c4c00e071218f3f4428
Author: NeilBrown <neilb@xxxxxxx>
Date: Wed Feb 25 12:02:51 2015 +1100
md/raid5: pass gfp_t arg to grow_one_stripe()
This is needed for future improvement to stripe cache management.
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit d06f191f8ecaef4d524e765fdb455f96392fbd42
Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx>
Date: Mon Dec 15 12:57:05 2014 +1100
md/raid5: introduce configuration option rmw_level
Depending on the available coding we allow optimized rmw logic for write
operations. To support easier testing this patch allows manual control
of the rmw/rcw descision through the interface
/sys/block/mdX/md/rmw_level.
The configuration can handle three levels of control.
rmw_level=0: Disable rmw for all RAID types. Hardware assisted P/Q
calculation has no implementation path yet to factor in/out chunks of
a syndrome. Enforcing this level can be benefical for slow CPUs with
hardware syndrome support and fast SSDs.
rmw_level=1: Estimate rmw IOs and rcw IOs. Execute rmw only if we will
save IOs. This equals the "old" unpatched behaviour and will be the
default.
rmw_level=2: Execute rmw even if calculated IOs for rmw and rcw are
equal. We might have higher CPU consumption because of calculating the
parity twice but it can be benefical otherwise. E.g. RAID4 with fast
dedicated parity disk/SSD. The option is implemented just to be
forward-looking and will ONLY work with this patch!
Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit 584acdd49cd2472ca0f5a06adbe979db82d0b4af
Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx>
Date: Mon Dec 15 12:57:05 2014 +1100
md/raid5: activate raid6 rmw feature
Glue it altogehter. The raid6 rmw path should work the same as the
already existing raid5 logic. So emulate the prexor handling/flags
and split functions as needed.
1) Enable xor_syndrome() in the async layer.
2) Split ops_run_prexor() into RAID4/5 and RAID6 logic. Xor the syndrome
at the start of a rmw run as we did it before for the single parity.
3) Take care of rmw run in ops_run_reconstruct6(). Again process only
the changed pages to get syndrome back into sync.
4) Enhance set_syndrome_sources() to fill NULL pages if we are in a rmw
run. The lower layers will calculate start & end pages from that and
call the xor_syndrome() correspondingly.
5) Adapt the several places where we ignored Q handling up to now.
Performance numbers for a single E5630 system with a mix of 10 7200k
desktop/server disks. 300 seconds random write with 8 threads onto a
3,2TB (10*400GB) RAID6 64K chunk without spare (group_thread_cnt=4)
bsize rmw_level=1 rmw_level=0 rmw_level=1 rmw_level=0
skip_copy=1 skip_copy=1 skip_copy=0 skip_copy=0
4K 115 KB/s 141 KB/s 165 KB/s 140 KB/s
8K 225 KB/s 275 KB/s 324 KB/s 274 KB/s
16K 434 KB/s 536 KB/s 640 KB/s 534 KB/s
32K 751 KB/s 1,051 KB/s 1,234 KB/s 1,045 KB/s
64K 1,339 KB/s 1,958 KB/s 2,282 KB/s 1,962 KB/s
128K 2,673 KB/s 3,862 KB/s 4,113 KB/s 3,898 KB/s
256K 7,685 KB/s 7,539 KB/s 7,557 KB/s 7,638 KB/s
512K 19,556 KB/s 19,558 KB/s 19,652 KB/s 19,688 Kb/s
Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit a582564b24bec0443b5c5ff43ee6d1258f8bd658
Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx>
Date: Mon Dec 15 12:57:05 2014 +1100
md/raid6 algorithms: xor_syndrome() for SSE2
The second and (last) optimized XOR syndrome calculation. This version
supports right and left side optimization. All CPUs with architecture
older than Haswell will benefit from it.
It should be noted that SSE2 movntdq kills performance for memory areas
that are read and written simultaneously in chunks smaller than cache
line size. So use movdqa instead for P/Q writes in sse21 and sse22 XOR
functions.
Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit 9a5ce91d053961b7cc8fa56bd083819a9fc92734
Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx>
Date: Mon Dec 15 12:57:04 2014 +1100
md/raid6 algorithms: xor_syndrome() for generic int
Start the algorithms with the very basic one. It is left and right
optimized. That means we can avoid all calculations for unneeded pages
above the right stop offset. For pages below the left start offset we
still need the syndrome multiplication but without reading data pages.
Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit 7e92e1d7629b00578cef22b1f4c6ada726663701
Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx>
Date: Mon Dec 15 12:57:04 2014 +1100
md/raid6 algorithms: improve test program
It is always helpful to have a test tool in place if we implement
new data critical algorithms. So add some test routines to the raid6
checker that can prove if the new xor_syndrome() works as expected.
Run through all permutations of start/stop pages per algorithm and
simulate a xor_syndrome() assisted rmw run. After each rmw check if
the recovery algorithm still confirms that the stripe is fine.
Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit fe5cbc6e06c7d8b3a86f6f5491d74766bb5c2827
Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx>
Date: Mon Dec 15 12:57:04 2014 +1100
md/raid6 algorithms: delta syndrome functions
v3: s-o-b comment, explanation of performance and descision for
the start/stop implementation
Implementing rmw functionality for RAID6 requires optimized syndrome
calculation. Up to now we can only generate a complete syndrome. The
target P/Q pages are always overwritten. With this patch we provide
a framework for inplace P/Q modification. In the first place simply
fill those functions with NULL values.
xor_syndrome() has two additional parameters: start & stop. These
will indicate the first and last page that are changing during a
rmw run. That makes it possible to avoid several unneccessary loops
and speed up calculation. The caller needs to implement the following
logic to make the functions work.
1) xor_syndrome(disks, start, stop, ...): "Remove" all data of source
blocks inside P/Q between (and including) start and end.
2) modify any block with start <= block <= stop
3) xor_syndrome(disks, start, stop, ...): "Reinsert" all data of
source blocks into P/Q between (and including) start and end.
Pages between start and stop that won't be changed should be filled
with a pointer to the kernel zero page. The reasons for not taking NULL
pages are:
1) Algorithms cross the whole source data line by line. Thus avoid
additional branches.
2) Having a NULL page avoids calculating the XOR P parity but still
need calulation steps for the Q parity. Depending on the algorithm
unrolling that might be only a difference of 2 instructions per loop.
The benchmark numbers of the gen_syndrome() functions are displayed in
the kernel log. Do the same for the xor_syndrome() functions. This
will help to analyze performance problems and give an rough estimate
how well the algorithm works. The choice of the fastest algorithm will
still depend on the gen_syndrome() performance.
With the start/stop page implementation the speed can vary a lot in real
life. E.g. a change of page 0 & page 15 on a stripe will be harder to
compute than the case where page 0 & page 1 are XOR candidates. To be not
to enthusiatic about the expected speeds we will run a worse case test
that simulates a change on the upper half of the stripe. So we do:
1) calculation of P/Q for the upper pages
2) continuation of Q for the lower (empty) pages
Signed-off-by: Markus Stockhausen <stockhausen@xxxxxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit dabc4ec6ba72418ebca6bf1884f344bba40c8709
Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx>
Date: Mon Dec 15 12:57:04 2014 +1100
raid5: handle expansion/resync case with stripe batching
expansion/resync can grab a stripe when the stripe is in batch list.
Since all
stripes in batch list must be in the same state, we can't allow some
stripes
run into expansion/resync. So we delay expansion/resync for stripe in
batch
list.
Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit 72ac733015bbdc0356ba3e92c52137a265910a91
Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx>
Date: Mon Dec 15 12:57:03 2014 +1100
raid5: handle io error of batch list
If io error happens in any stripe of a batch list, the batch list will be
split, then normal process will run for the stripes in the list.
Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit 59fc630b8b5f9f21c8ce3ba153341c107dce1b0c
Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx>
Date: Mon Dec 15 12:57:03 2014 +1100
RAID5: batch adjacent full stripe write
stripe cache is 4k size. Even adjacent full stripe writes are handled in
4k
unit. Idealy we should use big size for adjacent full stripe writes.
Bigger
stripe cache size means less stripes runing in the state machine so can
reduce
cpu overhead. And also bigger size can cause bigger IO size dispatched to
under
layer disks.
With below patch, we will automatically batch adjacent full stripe write
together. Such stripes will be added to the batch list. Only the first
stripe
of the list will be put to handle_list and so run handle_stripe(). Some
steps
of handle_stripe() are extended to cover all stripes of the list,
including
ops_run_io, ops_run_biodrain and so on. With this patch, we have less
stripes
running in handle_stripe() and we send IO of whole stripe list together to
increase IO size.
Stripes added to a batch list have some limitations. A batch list can only
include full stripe write and can't cross chunk boundary to make sure
stripes
have the same parity disks. Stripes in a batch list must be in the same
state
(no written, toread and so on). If a stripe is in a batch list, all new
read/write to add_stripe_bio will be blocked to overlap conflict till the
batch
list is handled. The limitations will make sure stripes in a batch list
be in
exactly the same state in the life circly.
I did test running 160k randwrite in a RAID5 array with 32k chunk size
and 6
PCIe SSD. This patch improves around 30% performance and IO size to under
layer
disk is exactly 32k. I also run a 4k randwrite test in the same array to
make
sure the performance isn't changed with the patch.
Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit 7a87f43405e91ca12b8770eb689dd9886f217091
Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx>
Date: Mon Dec 15 12:57:03 2014 +1100
raid5: track overwrite disk count
Track overwrite disk count, so we can know if a stripe is a full stripe
write.
Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit da41ba65972532a04f73927c903029a7ec3bc2ed
Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx>
Date: Mon Dec 15 12:57:03 2014 +1100
raid5: add a new flag to track if a stripe can be batched
A freshly new stripe with write request can be batched. Any time the
stripe is
handled or new read is queued, the flag will be cleared.
Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit 46d5b785621ad10a373e292f9101ccfc626466e0
Author: shli@xxxxxxxxxx <shli@xxxxxxxxxx>
Date: Mon Dec 15 12:57:02 2014 +1100
raid5: use flex_array for scribble data
Use flex_array for scribble data. Next patch will batch several stripes
together, so scribble data should be able to cover several stripes, so
this
patch also allocates scribble data for stripes across a chunk.
Signed-off-by: Shaohua Li <shli@xxxxxxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit 753f2856cda2a130d38ebc3db97bff66c1ef3ca7
Author: Heinz Mauelshagen <heinzm@xxxxxxxxxx>
Date: Fri Feb 13 19:48:01 2015 +0100
md raid0: access mddev->queue (request queue member) conditionally
because it is not set when accessed from dm-raid
The patch makes 3 references to mddev->queue in the raid0 personality
conditional in order to allow for it to be accessed from dm-raid.
Mandatory, because md instances underneath dm-raid don't manage
a request queue of their own which'd lead to oopses without the patch.
Signed-off-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx>
Tested-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit ac8fa4196d205ac8fff3f8932bddbad4f16e4110
Author: NeilBrown <neilb@xxxxxxx>
Date: Thu Feb 19 16:55:00 2015 +1100
md: allow resync to go faster when there is competing IO.
When md notices non-sync IO happening while it is trying
to resync (or reshape or recover) it slows down to the
set minimum.
The default minimum might have made sense many years ago
but the drives have become faster. Changing the default
to match the times isn't really a long term solution.
This patch changes the code so that instead of waiting until the speed
has dropped to the target, it just waits until pending requests
have completed.
This means that the delay inserted is a function of the speed
of the devices.
Testing shows that:
- for some loads, the resync speed is unchanged. For those loads
increasing the minimum doesn't change the speed either.
So this is a good result. To increase resync speed under such
loads we would probably need to increase the resync window
size.
- for other loads, resync speed does increase to a reasonable
fraction (e.g. 20%) of maximum possible, and throughput of
the load only drops a little bit (e.g. 10%)
- for other loads, throughput of the non-sync load drops quite a bit
more. These seem to be latency-sensitive loads.
So it isn't a perfect solution, but it is mostly an improvement.
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit 09314799e4f0589e52bafcd0ca3556c60468bc0e
Author: NeilBrown <neilb@xxxxxxx>
Date: Thu Feb 19 16:04:40 2015 +1100
md: remove 'go_faster' option from ->sync_request()
This option is not well justified and testing suggests that
it hardly ever makes any difference.
The comment suggests there might be a need to wait for non-resync
activity indicated by ->nr_waiting, however raise_barrier()
already waits for all of that.
So just remove it to simplify reasoning about speed limiting.
This allows us to remove a 'FIXME' comment from raid5.c as that
never used the flag.
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit 50c37b136a3807eda44afe16529b5af701ec49f5
Author: NeilBrown <neilb@xxxxxxx>
Date: Mon Mar 23 17:36:38 2015 +1100
md: don't require sync_min to be a multiple of chunk_size.
There is really no need for sync_min to be a multiple of
chunk_size, and values read from here often aren't.
That means you cannot read a value and expect to be able
to write it back later.
So remove the chunk_size check, and round down to a multiple
of 4K, to be sure everything works with 4K-sector devices.
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit d51e4fe6d68098d4361a6b6d41d8da727b1f1af4
Merge: 47d6897 97f6cd3
Author: NeilBrown <neilb@xxxxxxx>
Date: Wed Apr 22 08:00:20 2015 +1000
Merge branch 'cluster' into for-next
commit 97f6cd39da227459cb46ed4088d37d5d8db51c50
Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx>
Date: Tue Apr 14 10:45:42 2015 -0500
md-cluster: re-add capabilities
When "re-add" is writted to /sys/block/mdXX/md/dev-YYY/state,
the clustered md:
1. Sends RE_ADD message with the desc_nr. Nodes receiving the message
clear the Faulty bit in their respective rdev->flags.
2. The node initiating re-add, gathers the bitmaps of all nodes
and copies them into the local bitmap. It does not clear the bitmap
from which it is copying.
3. Initiating node schedules a md recovery to sync the devices.
Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx>
Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit a6da4ef85cef0382244fc588c901e133a2ec5109
Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx>
Date: Tue Apr 14 10:45:22 2015 -0500
md: re-add a failed disk
This adds the capability of re-adding a failed disk by
writing "re-add" to /sys/block/mdXX/md/dev-YYY/state.
This facilitates adding disks which have encountered a temporary
error such as a network disconnection/hiccup in an iSCSI device,
or a SAN cable disconnection which has been restored. In such
a situation, you do not need to remove and re-add the device.
Writing re-add to the failed device's state would add it again
to the array and perform the recovery of only the blocks which
were written after the device failed.
This works for generic md, and is not related to clustering. However,
this patch is to ease re-add operations listed above in clustering
environments.
Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit 88bcfef7be513e8bf5448e0025330fdd97c4c708
Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx>
Date: Tue Apr 14 10:44:44 2015 -0500
md-cluster: remove capabilities
This adds "remove" capabilities for the clustered environment.
When a user initiates removal of a device from the array, a
REMOVE message with disk number in the array is sent to all
the nodes which kick the respective device in their own array.
This facilitates the removal of failed devices.
Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit 57d051dccaef395e0d8c0fff02cfc3a77bacc88c
Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx>
Date: Tue Apr 14 10:43:55 2015 -0500
md: Export and rename find_rdev_nr_rcu
This is required by the clustering module (patches to follow) to
find the device to remove or re-add.
Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit fb56dfef4e31f214cfbfa0eb8a1949591c20b118
Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx>
Date: Tue Apr 14 10:43:24 2015 -0500
md: Export and rename kick_rdev_from_array
This export is required for clustering module in order to
co-ordinate remove/readd a rdev from all nodes.
Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit 8c58f02e244d5b35fa38aa308007715d4957d4c7
Author: Guoqing Jiang <gqjiang@xxxxxxxx>
Date: Tue Apr 21 11:25:52 2015 -0500
md-cluster: correct the num for comparison
Since the node num of md-cluster is from zero, and
cinfo->slot_number represents the slot num of dlm,
no need to check for equality.
Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx>
Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit fab9adfb71fc8690e20c3c280d39d49c8f4a3f0a
Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx>
Date: Tue Apr 21 15:46:34 2015 +0300
net/mlx4_core: Fix reading HCA max message size in mlx4_QUERY_DEV_CAP
Currently we parse max_msg_sz from the wrong offset in QUERY_DEV_CAP,
fix to use the right offset.
Fixes: 0b131561a7d6 ('net/mlx4_en: Add Flow control statistics [..]')
Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 9fbbda5c8e0ab9c391e4160a0eb3a06260f9f668
Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Date: Tue Apr 21 14:57:26 2015 -0500
ia64/PCI: Treat all host bridge Address Space Descriptors (even
consumers) as windows
Prior to c770cb4cb505 ("PCI: Mark invalid BARs as unassigned"), if we
tried
to claim a PCI BAR but could not find an upstream bridge window that
matched it, we complained but still allowed the device to be enabled.
c770cb4cb505 broke devices that previously worked (mptsas and igb in the
case Tony reported, but it could be any devices) because it marks those
BARs as IORESOURCE_UNSET, which makes pci_enable_device() complain and
return failure:
igb 0000:81:00.0: can't enable device: BAR 0 [mem size 0x00020000] not
assigned
igb: probe of 0000:81:00.0 failed with error -22
The underlying cause is an ACPI Address Space Descriptor for a PCI host
bridge window that is marked as "consumer". This is a firmware defect:
resources that are produced on the downstream side of a bridge should be
marked "producer". But rejecting these BARs that we previously allowed is
a functionality regression, and firmware has not used the
producer/consumer
bit consistently, so we can't rely on it anyway.
Stop checking the producer/consumer bit, and assume all bridge Address
Space Descriptors are for bridge windows.
Note that this change does not affect I/O Port or Fixed Location I/O Port
Descriptors, which are commonly used for the [io 0x0cf8-0x0cff] config
access range. That range is a "consumer" range and should not be treated
as a window.
Fixes: c770cb4cb505 ("PCI: Mark invalid BARs as unassigned")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=96961
Reported-and-tested-by: Tony Luck <tony.luck@xxxxxxxxx>
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 0edfad5959df7379c9e554fbe8ba264ae232d321
Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Date: Tue Apr 21 10:30:41 2015 -0400
sparc: Use GFP_ATOMIC in ldc_alloc_exp_dring() as it can be called in
softirq context
Since it is possible for vnet_event_napi to end up doing
vnet_control_pkt_engine -> ... -> vnet_send_attr ->
vnet_port_alloc_tx_ring -> ldc_alloc_exp_dring -> kzalloc()
(i.e., in softirq context), kzalloc() should be called with
GFP_ATOMIC from ldc_alloc_exp_dring.
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit bff175238a2416110e2258989c462234baeb5f46
Author: Andreas Gruenbacher <andreas.gruenbacher@xxxxxxxxx>
Date: Fri Mar 27 17:50:00 2015 +0100
uapi: Remove kernel internal declaration
The enum nfs4_acl_whotype is only used in nfs4d's internal nfs4 acl
representation. No longer expose it to user space.
Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx>
Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
commit bb7ffbf29e76b89a86ca4c3ee0d4690641f2f772
Author: Giuseppe Cantavenera <giuseppe.cantavenera.ext@xxxxxxxxx>
Date: Mon Apr 20 18:00:08 2015 +0200
nfsd: fix nsfd startup race triggering BUG_ON
nfsd triggered a BUG_ON in net_generic(...) when rpc_pipefs_event(...)
in fs/nfsd/nfs4recover.c was called before assigning ntfsd_net_id.
The following was observed on a MIPS 32-core processor:
kernel: Call Trace:
kernel: [<ffffffffc00bc5e4>] rpc_pipefs_event+0x7c/0x158 [nfsd]
kernel: [<ffffffff8017a2a0>] notifier_call_chain+0x70/0xb8
kernel: [<ffffffff8017a4e4>] __blocking_notifier_call_chain+0x4c/0x70
kernel: [<ffffffff8053aff8>] rpc_fill_super+0xf8/0x1a0
kernel: [<ffffffff8022204c>] mount_ns+0xb4/0xf0
kernel: [<ffffffff80222b48>] mount_fs+0x50/0x1f8
kernel: [<ffffffff8023dc00>] vfs_kern_mount+0x58/0xf0
kernel: [<ffffffff802404ac>] do_mount+0x27c/0xa28
kernel: [<ffffffff80240cf0>] SyS_mount+0x98/0xe8
kernel: [<ffffffff80135d24>] handle_sys64+0x44/0x68
kernel:
kernel:
Code: 0040f809 00000000 2e020001 <00020336> 3c12c00d
3c02801a de100000 6442eb98 0040f809
kernel: ---[ end trace 7471374335809536 ]---
Fixed this behaviour by calling register_pernet_subsys(&nfsd_net_ops)
before
registering rpc_pipefs_event(...) with the notifier chain.
Signed-off-by: Giuseppe Cantavenera <giuseppe.cantavenera.ext@xxxxxxxxx>
Signed-off-by: Lorenzo Restelli <lorenzo.restelli.ext@xxxxxxxxx>
Reviewed-by: Kinlong Mee <kinglongmee@xxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
commit 135dd002c23054aaa056ea3162c1e0356905c195
Author: Mark Salter <msalter@xxxxxxxxxx>
Date: Mon Apr 6 09:46:00 2015 -0400
nfsd: eliminate NFSD_DEBUG
Commit f895b252d4edf ("sunrpc: eliminate RPC_DEBUG") introduced
use of IS_ENABLED() in a uapi header which leads to a build
failure for userspace apps trying to use <linux/nfsd/debug.h>:
linux/nfsd/debug.h:18:15: error: missing binary operator before token
"("
#if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
^
Since this was only used to define NFSD_DEBUG if CONFIG_SUNRPC_DEBUG
is enabled, replace instances of NFSD_DEBUG with CONFIG_SUNRPC_DEBUG.
Cc: stable@xxxxxxxxxxxxxxx
Fixes: f895b252d4edf "sunrpc: eliminate RPC_DEBUG"
Signed-off-by: Mark Salter <msalter@xxxxxxxxxx>
Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx>
Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
commit 6e4891dc289cd191d46ab7ba1dcb29646644f9ca
Author: J. Bruce Fields <bfields@xxxxxxxxxx>
Date: Fri Apr 3 17:19:41 2015 -0400
nfsd4: fix READ permission checking
In the case we already have a struct file (derived from a stateid), we
still need to do permission-checking; otherwise an unauthorized user
could gain access to a file by sniffing or guessing somebody else's
stateid.
Cc: stable@xxxxxxxxxxxxxxx
Fixes: dc97618ddda9 "nfsd4: separate splice and readv cases"
Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
commit 980608fb50aea34993ba956b71cd4602aa42b14b
Author: J. Bruce Fields <bfields@xxxxxxxxxx>
Date: Tue Apr 21 15:25:39 2015 -0400
nfsd4: disallow SEEK with special stateids
If the client uses a special stateid then we'll pass a NULL file to
vfs_llseek.
Fixes: 24bab491220f " NFSD: Implement SEEK"
Cc: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Reported-by: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
commit df386375ffa8c2262a52db64a5b6446e11896978
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Apr 21 13:14:53 2015 -0700
sparc64: Use M7 PMC write on all chips T4 and onward.
They both work equally well, and the M7 implementation is
simpler and cheaper (less register writes).
With help from David Ahern.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit af539e985b3fbe3b602313f317506a2a9e73f5bf
Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Date: Tue Apr 21 14:57:45 2015 -0500
MAINTAINERS: Remove Mohit Kumar (email bounces)
Email to Mohit Kumar <mohit.kumar@xxxxxx> has been bouncing, so remove the
address from MAINTAINERS and add an entry in CREDITS.
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
commit c19edb6946d250db6d4a3dbd6146f7b23bf3468b
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Wed Apr 15 13:34:28 2015 -0700
parisc: Replace PT_NLEVELS with CONFIG_PGTABLE_LEVELS
The following warning is seen when compiling parisc images
./arch/parisc/include/asm/pgalloc.h: In function 'pgd_alloc':
./arch/parisc/include/asm/pgalloc.h:29:5: warning: "PT_NLEVELS" is not
defined
Some definitions of PT_NLEVELS were missed with the conversion to
CONFIG_PGTABLE_LEVELS.
Fixes: f24ffde43237 ("parisc: expose number of page table levels
on Kconfig level")
Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Signed-off-by: Helge Deller <deller@xxxxxx>
commit 8bf8a1d1c13c687eda599c827d713eb70764a79f
Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>
Date: Fri Mar 20 13:37:59 2015 -0400
parisc: Eliminate sg_virt_addr() and private scatterlist.h
The only reason to keep parisc's private asm/scatterlist.h was that it
had the macro sg_virt_addr(). Convert all callers to use something else
(sometimes just sg->offset was enough, others should use sg_virt()), and
we can just use the asm-generic scatterlist.h instead.
Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>
Signed-off-by: Dave Anglin <dave.anglin@xxxxxxxx>
Signed-off-by: Helge Deller <deller@xxxxxx>
commit 3c7151275c0c9a80c3375f9874b1c7129a105eea
Author: jbaron@xxxxxxxxxx <jbaron@xxxxxxxxxx>
Date: Mon Apr 20 20:05:07 2015 +0000
tcp: add memory barriers to write space paths
Ensure that we either see that the buffer has write space
in tcp_poll() or that we perform a wakeup from the input
side. Did not run into any actual problem here, but thought
that we should make things explicit.
Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b8ce8d7222b52200e61ea29523993e20751baaaa
Merge: 1d11437 4885338
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 21 12:54:08 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull more input subsystem updates from Dmitry Torokhov:
- an update to Atmel MXT driver that makes it functional on Google
Pixel 2 boxes (both touchpad and touchscreen)
- a new VMware VMMouse driver that should allow us drop X vmmouse
driver that requires root privileges (since it accesses ioports)
- XBox One controllers now support force feedback (rumble)
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: lm8333 - fix broken email address
Input: cyapa - fix setting suspend scan rate
Input: elan_i2c - fix calculating number of x and y traces.
Input: elan_i2c - report hovering contacts
Input: elants_i2c - zero-extend hardware ID in firmware name
Input: alps - document separate pointstick button bits for V2 devices
Input: atmel_mxt_ts - add support for Google Pixel 2
Input: xpad - add rumble support for Xbox One controller
Input: ff-core - use new debug macros
Input: add vmmouse driver
Input: elan_i2c - adjust for newer firmware pressure reporting
commit 1d11437f4fd02f9b5d3749675a1232216787dcc6
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 21 12:49:33 2015 -0700
media: remove unused variable that causes a warning
My 'allmodconfig' build is _almost_ free of warnings, and most of the
remaining ones are for legacy drivers that just do bad things that I
can't find it in my black heart to care too much about. But this one
was just annoying me:
drivers/media/v4l2-core/videobuf2-core.c:3256:26: warning: unused
variable â??fileioâ?? [-Wunused-variable]
because commit 0e661006370b ("[media] vb2: fix 'UNBALANCED' warnings
when calling vb2_thread_stop()") removed all users of 'fileio' and
instead calls "__vb2_cleanup_fileio(q)" to clean up q->fileio. But the
now unused 'fileio' variable was left around.
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 5ba4a25ab7b13be528b23f85182f4d09cf7f71ad
Author: J. Bruce Fields <bfields@xxxxxxxxxx>
Date: Fri Apr 3 16:24:27 2015 -0400
nfsd4: disallow ALLOCATE with special stateids
vfs_fallocate will hit a NULL dereference if the client tries an
ALLOCATE or DEALLOCATE with a special stateid. Fix that. (We also
depend on the open to have broken any conflicting leases or delegations
for us.)
(If it turns out we need to allow special stateid's then we could do a
temporary open here in the special-stateid case, as we do for read and
write. For now I'm assuming it's not necessary.)
Fixes: 95d871f03cae "nfsd: Add ALLOCATE support"
Cc: stable@xxxxxxxxxxxxxxx
Cc: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
commit 48853389f206b689260ddfd3006816779ca7a52a
Merge: 85a3685 c9eeb50
Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Date: Tue Apr 21 11:12:42 2015 -0700
Merge branch 'next' into for-linus
Prepare second round of updates for 4.1 merge window.
commit 123857a705603a1d10d2adc02e9dcd065b0e1cb1
Merge: 085e68e 66feed6
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 21 20:04:41 2015 +0200
Merge tag 'signed-kvm-ppc-queue' of git://github.com/agraf/linux-2.6 into
kvm-master
Patch queue for ppc - 2015-04-21
This is the latest queue for KVM on PowerPC changes. Highlights this
time around:
- Book3S HV: Debugging aids
- Book3S HV: Minor performance improvements
- Book3S HV: Cleanups
commit 085e68eeafbf76e21848ad5bafaecec88a11dd64
Author: Ben Serebrin <serebrin@xxxxxxxxxx>
Date: Thu Apr 16 11:58:05 2015 -0700
KVM: VMX: Preserve host CR4.MCE value while in guest mode.
The host's decision to enable machine check exceptions should remain
in force during non-root mode. KVM was writing 0 to cr4 on VCPU reset
and passed a slightly-modified 0 to the vmcs.guest_cr4 value.
Tested: Built.
On earlier version, tested by injecting machine check
while a guest is spinning.
Before the change, if guest CR4.MCE==0, then the machine check is
escalated to Catastrophic Error (CATERR) and the machine dies.
If guest CR4.MCE==1, then the machine check causes VMEXIT and is
handled normally by host Linux. After the change, injecting a machine
check causes normal Linux machine check handling.
Signed-off-by: Ben Serebrin <serebrin@xxxxxxxxxx>
Reviewed-by: Venkatesh Srinivas <venkateshs@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0c8027d50c070859314a88aaff42453ff4f71819
Merge: 1fc1499 64131a8
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 21 10:01:27 2015 -0700
Merge tag 'media/v4.1-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab:
- a new frontend driver for new ATSC devices: lgdt3306a
- a new sensor driver: ov2659
- a new platform driver: xilinx
- the m88ts2022 tuner driver was merged at ts2020 driver
- the media controller gained experimental support for DVB and hybrid
devices
- lots of random cleanups, fixes and improvements on media drivers
* tag 'media/v4.1-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (404 commits)
[media] uvcvideo: add support for VIDIOC_QUERY_EXT_CTRL
[media] uvcvideo: fix cropcap v4l2-compliance failure
[media] media: omap3isp: remove unused clkdev
[media] coda: Add tracing support
[media] coda: drop dma_sync_single_for_device in coda_bitstream_queue
[media] coda: fix fill bitstream errors in nonstreaming case
[media] coda: call SEQ_END when the first queue is stopped
[media] coda: fail to start streaming if userspace set invalid formats
[media] coda: remove duplicate error messages for buffer allocations
[media] coda: move parameter buffer in together with context buffer
allocation
[media] coda: allocate bitstream buffer from REQBUFS, size depends on
the format
[media] coda: allocate per-context buffers from REQBUFS
[media] coda: use strlcpy instead of snprintf
[media] coda: bitstream payload is unsigned
[media] coda: fix double call to debugfs_remove
[media] coda: check kasprintf return value in coda_open
[media] coda: bitrate can only be set in kbps steps
[media] v4l2-mem2mem: no need to initialize b in v4l2_m2m_next_buf and
v4l2_m2m_buf_remove
[media] s5p-mfc: set allow_zero_bytesused flag for vb2_queue_init
[media] coda: set allow_zero_bytesused flag for vb2_queue_init
...
commit 1fc149933fd49a5b0e7738dc0853dbfbac4ae0e1
Merge: 41d5e08 ea5505f
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 21 09:42:58 2015 -0700
Merge tag 'char-misc-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc driver updates from Greg KH:
"Here's the big char/misc driver patchset for 4.1-rc1.
Lots of different driver subsystem updates here, nothing major, full
details are in the shortlog.
All of this has been in linux-next for a while"
* tag 'char-misc-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (133 commits)
mei: trace: remove unused TRACE_SYSTEM_STRING
DTS: ARM: OMAP3-N900: Add lis3lv02d support
Documentation: DT: lis302: update wakeup binding
lis3lv02d: DT: add wakeup unit 2 and wakeup threshold
lis3lv02d: DT: use s32 to support negative values
Drivers: hv: hv_balloon: correctly handle num_pages>INT_MAX case
Drivers: hv: hv_balloon: correctly handle val.freeram<num_pages case
mei: replace check for connection instead of transitioning
mei: use mei_cl_is_connected consistently
mei: fix mei_poll operation
hv_vmbus: Add gradually increased delay for retries in vmbus_post_msg()
Drivers: hv: hv_balloon: survive ballooning request with num_pages=0
Drivers: hv: hv_balloon: eliminate jumps in piecewiese linear floor
function
Drivers: hv: hv_balloon: do not online pages in offline blocks
hv: remove the per-channel workqueue
hv: don't schedule new works in vmbus_onoffer()/vmbus_onoffer_rescind()
hv: run non-blocking message handlers in the dispatch tasklet
coresight: moving to new "hwtracing" directory
coresight-tmc: Adding a status interface to sysfs
coresight: remove the unnecessary configuration coresight-default-sink
...
commit 41d5e08ea86af3359239d5a6f7021cdc61beaa49
Merge: 8d582b9 5dbc32a
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 21 09:33:10 2015 -0700
Merge tag 'tty-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty/serial updates from Greg KH:
"Here's the big tty/serial driver update for 4.1-rc1.
It was delayed for a bit due to some questions surrounding some of the
console command line parsing changes that are in here. There's still
one tiny regression for people who were previously putting multiple
console command lines and expecting them all to be ignored for some
odd reason, but Peter is working on fixing that. If not, I'll send a
revert for the offending patch, but I have faith that Peter can
address it.
Other than the console work here, there's the usual serial driver
updates and changes, and a buch of 8250 reworks to try to make that
driver easier to maintain over time, and have it support more devices
in the future.
All of these have been in linux-next for a while"
* tag 'tty-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (119 commits)
n_gsm: Drop unneeded cast on netdev_priv
sc16is7xx: expose RTS inversion in RS-485 mode
serial: 8250_pci: port failed after wakeup from S3
earlycon: 8250: Document kernel command line options
earlycon: 8250: Fix command line regression
earlycon: Fix __earlycon_table stride
tty: clean up the tty time logic a bit
serial: 8250_dw: only get the clock rate in one place
serial: 8250_dw: remove useless ACPI ID check
dmaengine: hsu: move memory allocation to GFP_NOWAIT
dmaengine: hsu: remove redundant pieces of code
serial: 8250_pci: add Intel Tangier support
dmaengine: hsu: add Intel Tangier PCI ID
serial: 8250_pci: replace switch-case by formula for Intel MID
serial: 8250_pci: replace switch-case by formula
tty: cpm_uart: replace CONFIG_8xx by CONFIG_CPM1
serial: jsm: some off by one bugs
serial: xuartps: Fix check in console_setup().
serial: xuartps: Get rid of register access macros.
serial: xuartps: Fix iobase use.
...
commit 8d582b94291b40dbb5961f99172ee8ebfafd4c9c
Merge: e98bf5c b99e6fb
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 21 09:31:26 2015 -0700
Merge tag 'pinctrl-v4.1-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pincontrol Kconfig fix from Linus Walleij:
"This fixes the annoying Kconfig noise from pin control. Mea Culpa"
* tag 'pinctrl-v4.1-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
pinctrl: fix allmodconfig noise
commit e98bf5cedf25eb32f8f224e8dff9845f0856d18f
Merge: 8f443e2 03bc10a
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 21 09:24:09 2015 -0700
Merge tag 'clk-for-linus-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
Pull clock framework updates from Michael Turquette:
"The changes to the common clock framework for 4.0 are mostly new clock
drivers and updates to existing ones for feature enhancements and bug
fixes.
There is more churn than usual in the framework core due to the change
to introduce per-user unique struct clk pointers in 4.0. This caused
several regressions to surface, some of which were sent as fixes to
4.0. New generic clock drivers were added for GPIO- and PWM-based
clock controllers.
Additionally the common clk-divider code recieved several fixes to the
way it rounds rates"
* tag 'clk-for-linus-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (91 commits)
clk: check ->determine/round_rate() return value in clk_calc_new_rates
clk: at91: usb: propagate rate modification to the parent clk
clk: samsung: exynos4: Disable ARMCLK down feature on Exynos4210 SoC
clk: don't use __initconst for non-const arrays
clk: at91: change to using endian agnositc IO
clk: clk-gpio-gate: Fix active low
clk: Add PWM clock driver
clk: Add clock driver for mb86s7x
clk: pxa: pxa3xx: add missing os timer clock
clk: tegra: Use the proper parent for plld_dsi
clk: tegra: Use generic tegra_osc_clk_init() on Tegra114
clk: tegra: Model oscillator as clock
clk: tegra: Add peripheral registers for bank Y
clk: tegra: Register the proper number of resets
clk: tegra: Remove needless initializations
clk: tegra: Use consistent indentation
clk: tegra: Various whitespace cleanups
clk: tegra: Enable HDA to HDMI clocks on Tegra124
clk: tegra: Fix a bunch of sparse warnings
clk: tegra: Fix typo tabel -> table
...
commit 8f443e2372ba23d51ee365974f54507acd6f69d1
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 21 09:17:28 2015 -0700
Revert "ocfs2: incorrect check for debugfs returns"
This reverts commit e2ac55b6a8e337fac7cc59c6f452caac92ab5ee6.
Huang Ying reports that this causes a hang at boot with debugfs disabled.
It is true that the debugfs error checks are kind of confusing, and this
code certainly merits more cleanup and thinking about it, but there's
something wrong with the trivial "check not just for NULL, but for error
pointers too" patch.
Yes, with debugfs disabled, we will end up setting the o2hb_debug_dir
pointer variable to an error pointer (-ENODEV), and then continue as if
everything was fine. But since debugfs is disabled, all the _users_ of
that pointer end up being compiled away, so even though the pointer can
not be dereferenced, that's still fine.
So it's confusing and somewhat questionable, but the "more correct"
error checks end up causing more trouble than they fix.
Reported-by: Huang Ying <ying.huang@xxxxxxxxx>
Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Acked-by: Chengyu Song <csong84@xxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit f80f6531b47c538b69769ada5e9fbacad085b34d
Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx>
Date: Sat Apr 18 00:39:16 2015 +0100
ARM: 8344/1: VDSO: honor CONFIG_VDSO in Makefile
When CONFIG_VDSO=n, the build normally does not enter arch/arm/vdso/
because arch/arm/Makefile does not add it to core-y.
However, if the user runs 'make arch/arm/vdso/' the VDSO targets will
get visited. This is because the VDSO Makefile itself does not
consider the value of CONFIG_VDSO.
It is arguably better and more consistent behavior to generate an
empty built-in.o when CONFIG_VDSO=n and the user attempts to build
arch/arm/vdso/. It's nicer because it doesn't try to build things
that Kconfig dependencies are there to prevent (e.g. the dependency on
AEABI), and it's less confusing than building objects that won't be
used in the final image.
Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 2b507a2d9c7fdea3215aedf0a0e3660309f319e1
Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx>
Date: Sat Apr 18 00:39:00 2015 +0100
ARM: 8343/1: VDSO: add build artifacts to .gitignore
vdsomunge and vdso.so.raw are outputs that don't get matched by the
normal ignore rules.
Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 0a9024e80e85552b21076542355a4f4a7c0b9472
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Sun Apr 19 20:28:53 2015 +0100
ARM: Fix nommu booting
Commit bf35706f3d09 ("ARM: 8314/1: replace PROCINFO embedded branch with
relative offset") broke booting on nommu platforms as it didn't update
the nommu boot code. This patch fixes that oversight.
Fixes: bf35706f3d09 ("ARM: 8314/1: replace PROCINFO embedded branch with
relative offset")
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 66feed61cdf6ee65fd551d3460b1efba6bee55b8
Author: Paul Mackerras <paulus@xxxxxxxxx>
Date: Sat Mar 28 14:21:12 2015 +1100
KVM: PPC: Book3S HV: Use msgsnd for signalling threads on POWER8
This uses msgsnd where possible for signalling other threads within
the same core on POWER8 systems, rather than IPIs through the XICS
interrupt controller. This includes waking secondary threads to run
the guest, the interrupts generated by the virtual XICS, and the
interrupts to bring the other threads out of the guest when exiting.
Aggregated statistics from debugfs across vcpus for a guest with 32
vcpus, 8 threads/vcore, running on a POWER8, show this before the
change:
rm_entry: 3387.6ns (228 - 86600, 1008969 samples)
rm_exit: 4561.5ns (12 - 3477452, 1009402 samples)
rm_intr: 1660.0ns (12 - 553050, 3600051 samples)
and this after the change:
rm_entry: 3060.1ns (212 - 65138, 953873 samples)
rm_exit: 4244.1ns (12 - 9693408, 954331 samples)
rm_intr: 1342.3ns (12 - 1104718, 3405326 samples)
for a test of booting Fedora 20 big-endian to the login prompt.
The time taken for a H_PROD hcall (which is handled in the host
kernel) went down from about 35 microseconds to about 16 microseconds
with this change.
The noinline added to kvmppc_run_core turned out to be necessary for
good performance, at least with gcc 4.9.2 as packaged with Fedora 21
and a little-endian POWER8 host.
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit eddb60fb1443f85c5728f1b1cd4be608c6832a79
Author: Paul Mackerras <paulus@xxxxxxxxx>
Date: Sat Mar 28 14:21:11 2015 +1100
KVM: PPC: Book3S HV: Translate kvmhv_commence_exit to C
This replaces the assembler code for kvmhv_commence_exit() with C code
in book3s_hv_builtin.c. It also moves the IPI sending code that was
in book3s_hv_rm_xics.c into a new kvmhv_rm_send_ipi() function so it
can be used by kvmhv_commence_exit() as well as icp_rm_set_vcpu_irq().
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6af27c847ad1b889c29a641dfc41f2d78c46a048
Author: Paul Mackerras <paulus@xxxxxxxxx>
Date: Sat Mar 28 14:21:10 2015 +1100
KVM: PPC: Book3S HV: Streamline guest entry and exit
On entry to the guest, secondary threads now wait for the primary to
switch the MMU after loading up most of their state, rather than before.
This means that the secondary threads get into the guest sooner, in the
common case where the secondary threads get to kvmppc_hv_entry before
the primary thread.
On exit, the first thread out increments the exit count and interrupts
the other threads (to get them out of the guest) before saving most
of its state, rather than after. That means that the other threads
exit sooner and means that the first thread doesn't spend so much
time waiting for the other threads at the point where the MMU gets
switched back to the host.
This pulls out the code that increments the exit count and interrupts
other threads into a separate function, kvmhv_commence_exit().
This also makes sure that r12 and vcpu->arch.trap are set correctly
in some corner cases.
Statistics from /sys/kernel/debug/kvm/vm*/vcpu*/timings show the
improvement. Aggregating across vcpus for a guest with 32 vcpus,
8 threads/vcore, running on a POWER8, gives this before the change:
rm_entry: avg 4537.3ns (222 - 48444, 1068878 samples)
rm_exit: avg 4787.6ns (152 - 165490, 1010717 samples)
rm_intr: avg 1673.6ns (12 - 341304, 3818691 samples)
and this after the change:
rm_entry: avg 3427.7ns (232 - 68150, 1118921 samples)
rm_exit: avg 4716.0ns (12 - 150720, 1119477 samples)
rm_intr: avg 1614.8ns (12 - 522436, 3850432 samples)
showing a substantial reduction in the time spent per guest entry in
the real-mode guest entry code, and smaller reductions in the real
mode guest exit and interrupt handling times. (The test was to start
the guest and boot Fedora 20 big-endian to the login prompt.)
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7d6c40da198ac18bd5dd2cd18628d5b4c615d842
Author: Paul Mackerras <paulus@xxxxxxxxx>
Date: Sat Mar 28 14:21:09 2015 +1100
KVM: PPC: Book3S HV: Use bitmap of active threads rather than count
Currently, the entry_exit_count field in the kvmppc_vcore struct
contains two 8-bit counts, one of the threads that have started entering
the guest, and one of the threads that have started exiting the guest.
This changes it to an entry_exit_map field which contains two bitmaps
of 8 bits each. The advantage of doing this is that it gives us a
bitmap of which threads need to be signalled when exiting the guest.
That means that we no longer need to use the trick of setting the
HDEC to 0 to pull the other threads out of the guest, which led in
some cases to a spurious HDEC interrupt on the next guest entry.
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fd6d53b12410b4b73e3996629350dee3f4a7994f
Author: Paul Mackerras <paulus@xxxxxxxxx>
Date: Sat Mar 28 14:21:08 2015 +1100
KVM: PPC: Book3S HV: Use decrementer to wake napping threads
This arranges for threads that are napping due to their vcpu having
ceded or due to not having a vcpu to wake up at the end of the guest's
timeslice without having to be poked with an IPI. We do that by
arranging for the decrementer to contain a value no greater than the
number of timebase ticks remaining until the end of the timeslice.
In the case of a thread with no vcpu, this number is in the hypervisor
decrementer already. In the case of a ceded vcpu, we use the smaller
of the HDEC value and the DEC value.
Using the DEC like this when ceded means we need to save and restore
the guest decrementer value around the nap.
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ccc07772c99befeda7a7a4b1d05a6f3b762518c2
Author: Paul Mackerras <paulus@xxxxxxxxx>
Date: Sat Mar 28 14:21:07 2015 +1100
KVM: PPC: Book3S HV: Don't wake thread with no vcpu on guest IPI
When running a multi-threaded guest and vcpu 0 in a virtual core
is not running in the guest (i.e. it is busy elsewhere in the host),
thread 0 of the physical core will switch the MMU to the guest and
then go to nap mode in the code at kvm_do_nap. If the guest sends
an IPI to thread 0 using the msgsndp instruction, that will wake
up thread 0 and cause all the threads in the guest to exit to the
host unnecessarily. To avoid the unnecessary exit, this arranges
for the PECEDP bit to be cleared in this situation. When napping
due to a H_CEDE from the guest, we still set PECEDP so that the
thread will wake up on an IPI sent using msgsndp.
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5d5b99cd6818bdbea287d23ef055bba1a8a9e648
Author: Paul Mackerras <paulus@xxxxxxxxx>
Date: Sat Mar 28 14:21:06 2015 +1100
KVM: PPC: Book3S HV: Get rid of vcore nap_count and n_woken
We can tell when a secondary thread has finished running a guest by
the fact that it clears its kvm_hstate.kvm_vcpu pointer, so there
is no real need for the nap_count field in the kvmppc_vcore struct.
This changes kvmppc_wait_for_nap to poll the kvm_hstate.kvm_vcpu
pointers of the secondary threads rather than polling vc->nap_count.
Besides reducing the size of the kvmppc_vcore struct by 8 bytes,
this also means that we can tell which secondary threads have got
stuck and thus print a more informative error message.
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 25fedfca94cfbf2461314c6c34ef58e74a31b025
Author: Paul Mackerras <paulus@xxxxxxxxx>
Date: Sat Mar 28 14:21:05 2015 +1100
KVM: PPC: Book3S HV: Move vcore preemption point up into kvmppc_run_vcpu
Rather than calling cond_resched() in kvmppc_run_core() before doing
the post-processing for the vcpus that we have just run (that is,
calling kvmppc_handle_exit_hv(), kvmppc_set_timer(), etc.), we now do
that post-processing before calling cond_resched(), and that post-
processing is moved out into its own function, post_guest_process().
The reschedule point is now in kvmppc_run_vcpu() and we define a new
vcore state, VCORE_PREEMPT, to indicate that that the vcore's runner
task is runnable but not running. (Doing the reschedule with the
vcore in VCORE_INACTIVE state would be bad because there are potentially
other vcpus waiting for the runner in kvmppc_wait_for_exec() which
then wouldn't get woken up.)
Also, we make use of the handy cond_resched_lock() function, which
unlocks and relocks vc->lock for us around the reschedule.
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1f09c3ed86287d40fef90611cbbee055313f52cf
Author: Paul Mackerras <paulus@xxxxxxxxx>
Date: Sat Mar 28 14:21:04 2015 +1100
KVM: PPC: Book3S HV: Minor cleanups
* Remove unused kvmppc_vcore::n_busy field.
* Remove setting of RMOR, since it was only used on PPC970 and the
PPC970 KVM support has been removed.
* Don't use r1 or r2 in setting the runlatch since they are
conventionally reserved for other things; use r0 instead.
* Streamline the code a little and remove the ext_interrupt_to_host
label.
* Add some comments about register usage.
* hcall_try_real_mode doesn't need to be global, and can't be
called from C code anyway.
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d911f0beddc2a9248dbf375fc50a4bbf30947822
Author: Paul Mackerras <paulus@xxxxxxxxx>
Date: Sat Mar 28 14:21:03 2015 +1100
KVM: PPC: Book3S HV: Simplify handling of VCPUs that need a VPA update
Previously, if kvmppc_run_core() was running a VCPU that needed a VPA
update (i.e. one of its 3 virtual processor areas needed to be pinned
in memory so the host real mode code can update it on guest entry and
exit), we would drop the vcore lock and do the update there and then.
Future changes will make it inconvenient to drop the lock, so instead
we now remove it from the list of runnable VCPUs and wake up its
VCPU task. This will have the effect that the VCPU task will exit
kvmppc_run_vcpu(), go around the do loop in kvmppc_vcpu_run_hv(), and
re-enter kvmppc_run_vcpu(), whereupon it will do the necessary call
to kvmppc_update_vpas() and then rejoin the vcore.
The one complication is that the runner VCPU (whose VCPU task is the
current task) might be one of the ones that gets removed from the
runnable list. In that case we just return from kvmppc_run_core()
and let the code in kvmppc_run_vcpu() wake up another VCPU task to be
the runner if necessary.
This all means that the VCORE_STARTING state is no longer used, so we
remove it.
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b6c295df3131c6fa25f8f29625ee0609506150ad
Author: Paul Mackerras <paulus@xxxxxxxxx>
Date: Sat Mar 28 14:21:02 2015 +1100
KVM: PPC: Book3S HV: Accumulate timing information for real-mode code
This reads the timebase at various points in the real-mode guest
entry/exit code and uses that to accumulate total, minimum and
maximum time spent in those parts of the code. Currently these
times are accumulated per vcpu in 5 parts of the code:
* rm_entry - time taken from the start of kvmppc_hv_entry() until
just before entering the guest.
* rm_intr - time from when we take a hypervisor interrupt in the
guest until we either re-enter the guest or decide to exit to the
host. This includes time spent handling hcalls in real mode.
* rm_exit - time from when we decide to exit the guest until the
return from kvmppc_hv_entry().
* guest - time spend in the guest
* cede - time spent napping in real mode due to an H_CEDE hcall
while other threads in the same vcore are active.
These times are exposed in debugfs in a directory per vcpu that
contains a file called "timings". This file contains one line for
each of the 5 timings above, with the name followed by a colon and
4 numbers, which are the count (number of times the code has been
executed), the total time, the minimum time, and the maximum time,
all in nanoseconds.
The overhead of the extra code amounts to about 30ns for an hcall that
is handled in real mode (e.g. H_SET_DABR), which is about 25%. Since
production environments may not wish to incur this overhead, the new
code is conditional on a new config symbol,
CONFIG_KVM_BOOK3S_HV_EXIT_TIMING.
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e23a808b1681d398a983ebc51179efc51c4a1eaf
Author: Paul Mackerras <paulus@xxxxxxxxx>
Date: Sat Mar 28 14:21:01 2015 +1100
KVM: PPC: Book3S HV: Create debugfs file for each guest's HPT
This creates a debugfs directory for each HV guest (assuming debugfs
is enabled in the kernel config), and within that directory, a file
by which the contents of the guest's HPT (hashed page table) can be
read. The directory is named vmnnnn, where nnnn is the PID of the
process that created the guest. The file is named "htab". This is
intended to help in debugging problems in the host's management
of guest memory.
The contents of the file consist of a series of lines like this:
3f48 4000d032bf003505 0000000bd7ff1196 00000003b5c71196
The first field is the index of the entry in the HPT, the second and
third are the HPT entry, so the third entry contains the real page
number that is mapped by the entry if the entry's valid bit is set.
The fourth field is the guest's view of the second doubleword of the
entry, so it contains the guest physical address. (The format of the
second through fourth fields are described in the Power ISA and also
in arch/powerpc/include/asm/mmu-hash64.h.)
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6e0365b782739eb41b03bcfd23abeefacbf0817a
Author: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 20 20:39:48 2015 +1100
KVM: PPC: Book3S HV: Add ICP real mode counters
Add two counters to count how often we generate real-mode ICS resend
and reject events. The counters provide some performance statistics
that could be used in the future to consider if the real mode functions
need further optimizing. The counters are displayed as part of IPC and
ICP state provided by /sys/debug/kernel/powerpc/kvm* for each VM.
Also added two counters that count (approximately) how many times we
don't find an ICP or ICS we're looking for. These are not currently
exposed through sysfs, but can be useful when debugging crashes.
Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b0221556dbd3c31c47f37703f856aeeffc78abd3
Author: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 20 20:39:47 2015 +1100
KVM: PPC: Book3S HV: Move virtual mode ICP functions to real-mode
Interrupt-based hypercalls return H_TOO_HARD to inform KVM that it needs
to switch to the host to complete the rest of hypercall function in
virtual mode. This patch ports the virtual mode ICS/ICP reject and resend
functions to be runnable in hypervisor real mode, thus avoiding the need
to switch to the host to execute these functions in virtual mode. However,
the hypercalls continue to return H_TOO_HARD for vcpu_wakeup and notify
events - these events cannot be done in real mode and they will still need
a switch to host virtual mode.
There are sufficient differences between the real mode code and the
virtual mode code for the ICS/ICP resend and reject functions that
for now the code has been duplicated instead of sharing common code.
In the future, we can look at creating common functions.
Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 34cb7954c0aa7c8ad1591cb6cceae36432f55bb5
Author: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 20 20:39:46 2015 +1100
KVM: PPC: Book3S HV: Convert ICS mutex lock to spin lock
Replaces the ICS mutex lock with a spin lock since we will be porting
these routines to real mode. Note that we need to disable interrupts
before we take the lock in anticipation of the fact that on the guest
side, we are running in the context of a hard irq and interrupts are
disabled (EE bit off) when the lock is acquired. Again, because we
will be acquiring the lock in hypervisor real mode, we need to use
an arch_spinlock_t instead of a normal spinlock here as we want to
avoid running any lockdep code (which may not be safe to execute in
real mode).
Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 878610fe9884a34a282cd4431237343864324d23
Author: Suresh E. Warrier <warrier@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 20 20:39:45 2015 +1100
KVM: PPC: Book3S HV: Add guest->host real mode completion counters
Add counters to track number of times we switch from guest real mode
to host virtual mode during an interrupt-related hyper call because the
hypercall requires actions that cannot be completed in real mode. This
will help when making optimizations that reduce guest-host transitions.
It is safe to use an ordinary increment rather than an atomic operation
because there is one ICP per virtual CPU and kvmppc_xics_rm_complete()
only works on the ICP for the current VCPU.
The counters are displayed as part of IPC and ICP state provided by
/sys/debug/kernel/powerpc/kvm* for each VM.
Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a4bd6eb07ca72d21a7a34499ad34cfef6f527d4e
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 20 20:39:43 2015 +1100
KVM: PPC: Book3S HV: Add helpers for lock/unlock hpte
This adds helper routines for locking and unlocking HPTEs, and uses
them in the rest of the code. We don't change any locking rules in
this patch.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 31037ecad275e9ad9bc671c34f72b495cf708ca3
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 20 20:39:42 2015 +1100
KVM: PPC: Book3S HV: Remove RMA-related variables from code
We don't support real-mode areas now that 970 support is removed.
Remove the remaining details of rma from the code. Also rename
rma_setup_done to hpte_setup_done to better reflect the changes.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e928e9cb3601ce240189bfea05b67ebd391c85ae
Author: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Date: Fri Mar 20 20:39:41 2015 +1100
KVM: PPC: Book3S HV: Add fast real-mode H_RANDOM implementation.
Some PowerNV systems include a hardware random-number generator.
This HWRNG is present on POWER7+ and POWER8 chips and is capable of
generating one 64-bit random number every microsecond. The random
numbers are produced by sampling a set of 64 unstable high-frequency
oscillators and are almost completely entropic.
PAPR defines an H_RANDOM hypercall which guests can use to obtain one
64-bit random sample from the HWRNG. This adds a real-mode
implementation of the H_RANDOM hypercall. This hypercall was
implemented in real mode because the latency of reading the HWRNG is
generally small compared to the latency of a guest exit and entry for
all the threads in the same virtual core.
Userspace can detect the presence of the HWRNG and the H_RANDOM
implementation by querying the KVM_CAP_PPC_HWRNG capability. The
H_RANDOM hypercall implementation will only be invoked when the guest
does an H_RANDOM hypercall if userspace first enables the in-kernel
H_RANDOM implementation using the KVM_CAP_PPC_ENABLE_HCALL capability.
Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 99342cf8044420eebdf9297ca03a14cb6a7085a1
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Feb 5 11:53:25 2015 +1100
kvmppc: Implement H_LOGICAL_CI_{LOAD,STORE} in KVM
On POWER, storage caching is usually configured via the MMU - attributes
such as cache-inhibited are stored in the TLB and the hashed page table.
This makes correctly performing cache inhibited IO accesses awkward when
the MMU is turned off (real mode). Some CPU models provide special
registers to control the cache attributes of real mode load and stores but
this is not at all consistent. This is a problem in particular for SLOF,
the firmware used on KVM guests, which runs entirely in real mode, but
which needs to do IO to load the kernel.
To simplify this qemu implements two special hypercalls, H_LOGICAL_CI_LOAD
and H_LOGICAL_CI_STORE which simulate a cache-inhibited load or store to
a logical address (aka guest physical address). SLOF uses these for IO.
However, because these are implemented within qemu, not the host kernel,
these bypass any IO devices emulated within KVM itself. The simplest way
to see this problem is to attempt to boot a KVM guest from a virtio-blk
device with iothread / dataplane enabled. The iothread code relies on an
in kernel implementation of the virtio queue notification, which is not
triggered by the IO hcalls, and so the guest will stall in SLOF unable to
load the guest OS.
This patch addresses this by providing in-kernel implementations of the
2 hypercalls, which correctly scan the KVM IO bus. Any access to an
address not handled by the KVM IO bus will cause a VM exit, hitting the
qemu implementation as before.
Note that a userspace change is also required, in order to enable these
new hcall implementations with KVM_CAP_PPC_ENABLE_HCALL.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
[agraf: fix compilation]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ae75116efdc29bb42f1d99f8c51b5c52965b2413
Author: Suresh E. Warrier <warrier@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 25 17:23:53 2015 -0600
powerpc: Export __spin_yield
Export __spin_yield so that the arch_spin_unlock() function can
be invoked from a module. This will be required for modules where
we want to take a lock that is also is acquired in hypervisor
real mode. Because we want to avoid running any lockdep code
(which may not be safe in real mode), this lock needs to be
an arch_spinlock_t instead of a normal spinlock.
Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx>
Acked-by: Paul Mackerras <paulus@xxxxxxxxx>
Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 64131a87f2aae2ed9e05d8227c5b009ca6c50d98
Merge: 676ee36 2c33ce0
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
Date: Tue Apr 21 06:33:03 2015 -0300
Merge branch 'drm-next-merged' of
git://people.freedesktop.org/~airlied/linux into v4l_for_linus
* 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux: (9717
commits)
media-bus: Fixup RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus
format
hexdump: avoid warning in test function
fs: take i_mutex during prepare_binprm for set[ug]id executables
smp: Fix error case handling in smp_call_function_*()
iommu-common: Fix PARISC compile-time warnings
sparc: Make LDC use common iommu poll management functions
sparc: Make sparc64 use scalable lib/iommu-common.c functions
Break up monolithic iommu table/lock into finer graularity pools and
lock
sparc: Revert generic IOMMU allocator.
tools/power turbostat: correct dumped pkg-cstate-limit value
tools/power turbostat: calculate TSC frequency from CPUID(0x15) on SKL
tools/power turbostat: correct DRAM RAPL units on recent Xeon processors
tools/power turbostat: Initial Skylake support
tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support
for O= option in Makefile
tools/power turbostat: modprobe msr, if needed
tools/power turbostat: dump MSR_TURBO_RATIO_LIMIT2
tools/power turbostat: use new MSR_TURBO_RATIO_LIMIT names
Bluetooth: hidp: Fix regression with older userspace and flags
validation
config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected
perf/x86/intel/pt: Fix and clean up error handling in pt_event_add()
...
That solves several merge conflicts:
Documentation/DocBook/media/v4l/subdev-formats.xml
Documentation/devicetree/bindings/vendor-prefixes.txt
drivers/staging/media/mn88473/mn88473.c
include/linux/kconfig.h
include/uapi/linux/media-bus-format.h
The ones at subdev-formats.xml and media-bus-format.h are not trivial.
That's why we opted to merge from DRM.
commit 72449cb47b0104c32ff8fb9380ade9113375d8d1
Author: Sumit Semwal <sumit.semwal@xxxxxxxxxx>
Date: Sat Feb 21 09:00:17 2015 +0530
staging: android: ion: fix wrong init of dma_buf_export_info
Fixes: 817bd7253291 ("dma-buf: cleanup dma_buf_export() to make it
easily extensible")
Stupid copy-paste from me in the above patch leads to the following static
checker warning:
drivers/staging/android/ion/ion.c:1112 ion_share_dma_buf()
error: potentially dereferencing uninitialized 'buffer'.
drivers/staging/android/ion/ion.c
1103 struct dma_buf *ion_share_dma_buf(struct ion_client *client,
1104 struct
ion_handle *handle)
1105 {
1106 struct ion_buffer *buffer;
^^^^^^
1107 struct dma_buf *dmabuf;
1108 bool valid_handle;
1109 DEFINE_DMA_BUF_EXPORT_INFO(exp_info);
1110
1111 exp_info.ops = &dma_buf_ops;
1112 exp_info.size = buffer->size;
^^^^^^
1113 exp_info.flags = O_RDWR;
1114 exp_info.priv = buffer;
^^^^^^
And here also.
1115
This patch corrects this stupidity.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Sumit Semwal <sumit.semwal@xxxxxxxxxx>
commit d8fbe341beb617ebb22b98fb893e4aa32ae2d864
Author: Sumit Semwal <sumit.semwal@xxxxxxxxxx>
Date: Fri Jan 23 12:53:43 2015 +0530
dma-buf: cleanup dma_buf_export() to make it easily extensible
At present, dma_buf_export() takes a series of parameters, which
makes it difficult to add any new parameters for exporters, if required.
Make it simpler by moving all these parameters into a struct, and pass
the struct * as parameter to dma_buf_export().
While at it, unite dma_buf_export_named() with dma_buf_export(), and
change all callers accordingly.
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx>
Reviewed-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
Acked-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
Acked-by: Dave Airlie <airlied@xxxxxxxxxx>
Signed-off-by: Sumit Semwal <sumit.semwal@xxxxxxxxxx>
commit 676ee36be04985062522804c2de04f0764212be6
Merge: b18042a e183201
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
Date: Tue Apr 21 06:12:35 2015 -0300
Merge branch 'patchwork' into v4l_for_linus
* patchwork: (404 commits)
[media] uvcvideo: add support for VIDIOC_QUERY_EXT_CTRL
[media] uvcvideo: fix cropcap v4l2-compliance failure
[media] media: omap3isp: remove unused clkdev
[media] coda: Add tracing support
[media] coda: drop dma_sync_single_for_device in coda_bitstream_queue
[media] coda: fix fill bitstream errors in nonstreaming case
[media] coda: call SEQ_END when the first queue is stopped
[media] coda: fail to start streaming if userspace set invalid formats
[media] coda: remove duplicate error messages for buffer allocations
[media] coda: move parameter buffer in together with context buffer
allocation
[media] coda: allocate bitstream buffer from REQBUFS, size depends on
the format
[media] coda: allocate per-context buffers from REQBUFS
[media] coda: use strlcpy instead of snprintf
[media] coda: bitstream payload is unsigned
[media] coda: fix double call to debugfs_remove
[media] coda: check kasprintf return value in coda_open
[media] coda: bitrate can only be set in kbps steps
[media] v4l2-mem2mem: no need to initialize b in v4l2_m2m_next_buf and
v4l2_m2m_buf_remove
[media] s5p-mfc: set allow_zero_bytesused flag for vb2_queue_init
[media] coda: set allow_zero_bytesused flag for vb2_queue_init
...
commit 7d1b6e29327428993ba568bdd8c66734070f45e0
Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx>
Date: Tue Apr 21 10:48:46 2015 +0200
ALSA: hda - fix "num_steps = 0" error on ALC256
The ALC256 does not have a mixer nid at 0x0b, and there's no
loopback path (the output pins are directly connected to the DACs).
This commit fixes an "num_steps = 0 for NID=0xb (ctl = Beep Playback
Volume)"
error (and as a result, problems with amixer/alsamixer).
If there's pcbeep functionality, it certainly isn't controlled by setting
an
amp on 0x0b, so disable beep functionality (at least for now).
Cc: stable@xxxxxxxxxxxxxxx
BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1446517
Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 6d1f2f605601ec701b561eca143c03e2a22d6489
Author: Takamichi Horikawa <takamichiho@xxxxxxxxx>
Date: Tue Apr 21 11:23:57 2015 +0900
ALSA: usb-audio: Fix audio output on Roland SC-D70 sound module
Roland SC-D70 reports its device class as vendor specific class and
the quirk QUIRK_AUDIO_FIXED_ENDPOINT was used for audio output.
In the quirks table the sampling rate was hard-coded to 44100 Hz
and therefore not worked when the sound module was in 48000 Hz mode.
In this change the quirk is changed to QUIRK_AUDIO_STANDARD_INTERFACE
but as the sound module reports incorrect bSubframeSize in its
descriptors, additional change is made in format.c to detect it and
to override it (which uses the existing code for Edirol SD-90).
Tested both when the sound module was in 44100 Hz mode and 48000 Hz
mode and both audio input and output. MIDI related part of the driver
is not touched.
Signed-off-by: Takamichi Horikawa <takamichiho@xxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 40cc2392f4b144197d05eec73c1560f42fc25def
Author: Mengdong Lin <mengdong.lin@xxxxxxxxx>
Date: Tue Apr 21 13:12:23 2015 +0800
ALSA: hda - add AZX_DCAPS_I915_POWERWELL to Baytrail
This patch addes AZX_DCAPS_I915_POWERWELL to BYT (Baytrail).
Like Braswell and Skylake, the HDMI codec on Bytrail is also in the shared
power well with GPU. This power well must be turned on before we reset
link
to probe the codec, to avoid communication failure with the codec.
The side effect is that this power is always ON in S0 because the BYT HDMI
codec does not support EPSS or D3ClkStop and so the controller doesn't
enter
D3 at runtime, and the HDMI codec and analog codec share a single physical
HD-A link and so we cannot reset the HD-A link freely when we re-enable
the
power to use the HDMI codec.
Next step is to test if an AGP reset or double AGP reset on BYT HDMI
codec is
okay to bring the HDMI codec back to a functional state after restoring
the
power. If okay, we can bind the power on/off with the HDMI codec PM
without
interrupting the analog audio.
Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 71cd26e76a9514715df7880db0a8f7c37c17149a
Author: Andreas Oetken <ennoerlangen@xxxxxxxxx>
Date: Tue Apr 21 00:16:38 2015 +0200
altera tse: Error-Bit on tx-avalon-stream always set.
The Error-Bit on the avalon streaming interface of the
tx-dma-channel was always set. In SGMII configurations
this leads to error-symbols on the PCS and packet-rejection
on the receiver side (e.g. SGMII/1000Base-X connected switch).
This only applies to the tse-configuration with MSGDMA.
This issue was detected and fixed on a custom board with
a direct connection to a Marvell switch in SGMII-PHY-Mode.
(incl. custom patches for SGMII-PCS).
According to the datasheet if ff_tx_err (avalon-streaming)
is set it is forwarded to gm_tx_err. As a result the PCS
is forwarding the error by sending a "/V/"-caracter.
Signed-off-by: Andreas Oetken <ennoerlangen@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 47cf1e659e0f44c29788a96345862c44c6a48c89
Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 20 17:43:26 2015 -0400
net: dsa: mv88e6xxx: use PORT_DEFAULT_VLAN
Minor, use the explicit PORT_DEFAULT_VLAN define instead of 0x07.
Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx>
Acked-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 614f03fc6a897d212546a93f50d449409215dfd4
Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 20 17:19:23 2015 -0400
net: dsa: mv88e6xxx: fix setup of port control 1
mv88e6xxx_setup_port_common was writing to PORT_DEFAULT_VLAN (port
offset 0x07) instead of PORT_CONTROL_1 (port offset 0x05).
Fixes: cca8b1337541 ("net: dsa: Use mnemonics rather than register
numbers")
Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx>
Acked-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 91f5bd8437d39feecfee215e032f440b1faa25f8
Merge: a068833 3dfb053
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Mon Apr 20 21:57:26 2015 -0400
Merge branch 'ppp_csum_unset'
Tom Herbert says:
====================
net: Fix "hw csum failure" message flood for ppp tunnel
This patch set addresses bug "Bug 95171 - "hw csum failure" message
flood for ppp tunnel since upgrade to 3.16". The problem is that pppoe
is being used over UDP with UDP checksusm enabled. On receive
checksum conversion turns checksum-unnecessary in checksum-
complete. The PPP receive functions do not properly pull
the checksum over its headers, so that when an encapsulated
checksums is considered the checksum-complete value is incorrect.
This patch adds skb_checksum_complete_unset which can be called
in the receive path in lieu of pulling checksum complete in
layer. This is useful when the packet is being modified (e.g.
decompressed) and the checksum-complete value is no longer
relevant.
In the ppp_receive_frame we call skb_checksum_complete_unset to toss
out checksum-complete. This should eliminate the reported messages.
Alternatively, we could add skb_postpull_rcsum and probably
special case handling for VJ compression if maintaining the
checksum-complete is needed (not clear to me this is worth the
effort).
I haven't tested this since setting up the failure scenario doesn't
seem trivial to configure.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3dfb05340ec6676e6fc71a9ae87bbbe66d3c2998
Author: Tom Herbert <tom@xxxxxxxxxxxxxxx>
Date: Mon Apr 20 14:10:05 2015 -0700
ppp: call skb_checksum_complete_unset in ppp_receive_frame
Call checksum_complete_unset in PPP receive to discard checksum-complete
value. PPP does not pull checksum for headers and also modifies packet
as in VJ compression.
Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4e18b9adf2f910ec4d30b811a74a5b626e6c6125
Author: Tom Herbert <tom@xxxxxxxxxxxxxxx>
Date: Mon Apr 20 14:10:04 2015 -0700
net: add skb_checksum_complete_unset
This function changes ip_summed to CHECKSUM_NONE if CHECKSUM_COMPLETE
is set. This is called to discard checksum-complete when packet
is being modified and checksum is not pulled for headers in a layer.
Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 646da63172f660ba84f195c1165360a9b73583ee
Merge: 8f49309 315491e
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 20 15:40:10 2015 -0700
Merge tag 'remoteproc-4.1-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc
Pull remoteproc update from Ohad Ben-Cohen:
"Suman Anna is adding remoteproc support for processors not behind
IOMMUs"
* tag 'remoteproc-4.1-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc:
remoteproc: add IOMMU hardware capability flag
commit 8f49309a261dbe9b5217908e0e8ee8da7f148695
Merge: b153f1d 3323641
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 20 15:31:49 2015 -0700
Merge branch 'misc' of
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull misc kbuild updates:
"This is the remaining part of kbuild stuff for v4.1-rc1:
- One wew coccinelle script and a clarification of the proposed fix
in bugon.coccinelle
- CONFIG_KERNEL_LZ4 support for extract-ikconfig"
* 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
scripts/coccinelle/misc/bugon.cocci: update bug_on conversion warning
scripts/extract-ikconfig: Support LZ4-compressed images.
irqf_oneshot.cocci: add check of devm_request_threaded_irq()
commit b153f1d37a7d469501482bb3b38f398d4e778616
Merge: bf2ae5d 56cbd0c
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 20 15:25:19 2015 -0700
Merge tag 'scsi-misc' of
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI fixes from James Bottomley:
"I'd like to say these were a set of regressions for the recent merge
window code. Unfortunately, they all predate the merge window code
(stable cc'd).
There are two fixes for data integrity (mostly only showing up on
module removal), an mvsas crash with expander attached SATA devices
which goes back to the dawn of the driver but is only just being
picked up as sas expanders become a standard item in low end server
hardware, an am53c974 one because the interrupt data isn't fully
initialised before the line is and a megaraid_sas one because it uses
smp_processor_id() to select MSI-X queues and that now triggers a
WARN_ON()"
* tag 'scsi-misc' of
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
mvsas: fix panic on expander attached SATA devices
am53c974: Fix crash during modprobe
megaraid_sas: use raw_smp_processor_id()
sd: Fix missing ATO tag check
sd: Unregister integrity profile
commit bf2ae5d337cd09dfee3041364a36c5214cc7faf9
Merge: 14aa024 6b75b54
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 20 15:16:25 2015 -0700
Merge tag 'fbdev-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux
Pull fbdev updates from Tomi Valkeinen:
"Small fixes and improvements to various fbdev drivers"
* tag 'fbdev-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (24 commits)
omapdss: extend pm notifier to handle hibernation
OMAPDSS: Correct video ports description file path in DT binding doc
OMAPDSS: disable VT switch
fbdev: sh_mobile_lcdc: Fix destruction of uninitialized mutex
video: fbdev: sh_mobile_lcdcfb: Fix ROP3 sysfs attribute parsing
fbdev: pm3fb: cleanup some confusing indenting
hyperv: hyperv_fb: match wait_for_completion_timeout return type
video: fbdev: use msecs_to_jiffies for time conversions
fbdev: via/via_clock: fix sparse warning
video: fbdev: make of_device_id array const
fbdev: sm501fb: use memset_io
OMAPDSS: workaround for MFLAG + NV12 issue
OMAPDSS: Add support for MFLAG
OMAPDSS: setup default fifo thresholds
OMAPDSS: DISPC: lock access to DISPC_CONTROL & DISPC_CONFIG
OMAPDSS: DISPC: fix div by zero issue in overlay scaling
OMAPDSS: DISPC: change sync_pclk_edge default value
OMAPDSS: change signal_level & signal_edge enum values
OMAPDSS: DISPC: explicit handling for sync and de levels
OMAPDSS: DISPC: remove OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES
...
commit 14aa02449064541217836b9f3d3295e241d5ae9c
Merge: 79319a0 2c33ce0
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 20 14:06:06 2015 -0700
Merge branch 'drm-next-merged' of
git://people.freedesktop.org/~airlied/linux
Pull drm updates from Dave Airlie:
"Highlights:
Core:
- Virtual GEM layer merged, this has been around for a long time, and
it provides a software backed device that allows userspace to use
it as a GEM shared memory handler. This makes it a lot easier to
do certain things when you have no GPU but still have to deal with
DRI expectations.
- atomic helper updates.
- framebuffer modifier interface added.
- i2c over auxch displayport fixes.
- fb width/height confusion fixes.
- new driver for ps8622/ps8625 bridge chips
- lots of new panels
i915:
- more plane atomic conversion
- vGPU guest support for XenGT
- Skylake workarounds and fixes
- Y-tiling support
- work on dynamic pagetable allocation
- EU count report param for gen9+
- CHV fixes (no longer prelim)
- remove ilk rc6
- frontbuffer tracking for fbc
- Displayport link rate refactoring
- sprite colorkey refactor
radeon:
- Displayport MST support (not enabled by default)
- non-ATOM native hw auxch support (DCE5+)
- output csc support
- new queries for userspace debug support
- new VCE packet
nouveau:
- gk20a iommu support
- gm107 graphics support
- more gm20x bringup (waiting on signed nvidia fw).
amdkfd:
- multiple kgd instance support
- use 64-bit time accessors
msm:
- stolen memory support
- DSI and dual-DSI support
- snapdragon 410 support
exynos:
- cleanups for atomic and pageflip
imx-drm:
- more media-bus formats
- TV output prep
- drm panel support
tegra:
- hw vblank counter using host1x syncpoints
omap:
- universal plane support
- prep work for atomic modesetting
rcar-du:
- ported to atomic modesetting
atmel-hlcdc:
- ported to atomic modesetting
- added suspend/resume support
sti:
- ported to atomic modesetting
dwhdmi:
- more compliant audio support
- update rockchip phy support
tda998x:
- DT probing for attached crtcs
- simplified EDID reading
rockchip:
- fixes
adv7511:
- fixes"
* 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux: (689
commits)
media-bus: Fixup RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus
format
drm/i915: Dont enable CS_PARSER_ERROR interrupts at all
drm/i915: Move drm_framebuffer_unreference out of struct_mutex for
takeover
drm: fix trivial typo mistake
drm: Make integer overflow checking cover universal cursor updates (v2)
drm/nouveau/bios: fix fetching from acpi on certain systems
drm/nouveau/gr/gm206: initial init+ctx code
drm/nouveau/ce/gm206: enable support via gm204 code
drm/nouveau/fifo/gm206: enable support via gm204 code
drm/nouveau/gr/gm204: initial init+ctx code
drm/nouveau: support for buffer moves via MaxwellDmaCopyA
drm/nouveau/ce/gm204: initial support
drm/nouveau: add support for gm20x fifo channels
drm/nouveau/fifo/gm204: initial support
drm/nouveau/gr/gk104-: prevent reading non-existent regs in intr handler
drm/nouveau/gr/gm107: very slightly demagic part of attrib cb setup
drm/nouveau/gr/gk104-: correct crop/zrop num_active_fbps setting
drm/nouveau/gr/gf100-: add symbolic names for classes
drm/nouveau/gr/gm107: support tpc "strand" ctxsw in gpccs ucode
drm/nouveau/gr/gf100-: support mmio access with gpc offset from gpccs
ucode
...
commit a068833bbf0ede9203410f8fd186178c758ade9b
Author: Joakim Tjernlund <Joakim.Tjernlund@xxxxxxxxxxxx>
Date: Mon Apr 20 21:07:48 2015 +0200
pppoe: Lacks DST MAC address check
A pppoe session is identified by its session ID and MAC address.
Currently pppoe does not check if the received pkg has the correct
MAC address. This is a problem when the eth I/F is in promisc mode
as then any DST MAC address is accepted.
Signed-off-by: Joakim Tjernlund <joakim.tjernlund@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b53c7582805b10d6a32e88e22d16dc469e66a37a
Merge: 7d3beab 3cd44dcd
Author: Vinod Koul <vinod.koul@xxxxxxxxx>
Date: Tue Apr 21 00:21:14 2015 +0530
Merge branch 'topic/sh' into for-linus
commit 4113756603db46cec464b39100770979e982bd4c
Merge: 64fb1d0 7b3372d
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Mon Apr 20 14:09:55 2015 -0400
Merge branch 'iommu-common-fixes'
Sowmini Varadhan says:
====================
iommu-common build warning fixes.
This patchset has fixes for 2 architectures
- Part 1: x86_64 warnings generated by sparse
- Part 2: allmodconfig build error for powerpc, identified by Guenter
Roeck.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7b3372d4c2bced80598771aab8fea87c40ebb52a
Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Date: Sun Apr 19 13:13:31 2015 -0400
iommu-common: rename iommu_pool_hash to iommu_hash_common
When CONFIG_DEBUG_FORCE_WEAK_PER_CPU is set, the DEFINE_PER_CPU_SECTION
macro will define an extern __pcpu_unique_##name variable that could
conflict with the same definition in powerpc at this time. Avoid that
conflict by renaming iommu_pool_hash in iommu-common.c
Thanks to Guenter Roeck for catching this, and helping to test the fix.
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b0cc836d306c12462a60e72aae8f6d2318f10817
Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Date: Sun Apr 19 13:13:30 2015 -0400
iommu-common: fix x86_64 compiler warnings
Declare iommu_large_alloc as static. Remove extern definition for
iommu_tbl_pool_init().
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2ab957492d13bb819400ac29ae55911d50a82a13
Author: Sebastian Pöhn <sebastian.poehn@xxxxxxxxx>
Date: Mon Apr 20 09:19:20 2015 +0200
ip_forward: Drop frames with attached skb->sk
Initial discussion was:
[FYI] xfrm: Don't lookup sk_policy for timewait sockets
Forwarded frames should not have a socket attached. Especially
tw sockets will lead to panics later-on in the stack.
This was observed with TPROXY assigning a tw socket and broken
policy routing (misconfigured). As a result frame enters
forwarding path instead of input. We cannot solve this in
TPROXY as it cannot know that policy routing is broken.
v2:
Remove useless comment
Signed-off-by: Sebastian Poehn <sebastian.poehn@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 79319a052cb0ae862954fe9f6e606417f1698ddb
Merge: 6496edf 7f65ef0
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 20 10:50:05 2015 -0700
Merge tag 'iommu-updates-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
Pull IOMMU updates from Joerg Roedel:
"Not much this time, but the changes include:
- moving domain allocation into the iommu drivers to prepare for the
introduction of default domains for devices
- fixing the IO page-table code in the AMD IOMMU driver to correctly
encode large page sizes
- extension of the PCI support in the ARM-SMMU driver
- various fixes and cleanups"
* tag 'iommu-updates-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (34 commits)
iommu/amd: Correctly encode huge pages in iommu page tables
iommu/amd: Optimize amd_iommu_iova_to_phys for new fetch_pte interface
iommu/amd: Optimize alloc_new_range for new fetch_pte interface
iommu/amd: Optimize iommu_unmap_page for new fetch_pte interface
iommu/amd: Return the pte page-size in fetch_pte
iommu/amd: Add support for contiguous dma allocator
iommu/amd: Don't allocate with __GFP_ZERO in alloc_coherent
iommu/amd: Ignore BUS_NOTIFY_UNBOUND_DRIVER event
iommu/amd: Use BUS_NOTIFY_REMOVED_DEVICE
iommu/tegra: smmu: Compute PFN mask at runtime
iommu/tegra: gart: Set aperture at domain initialization time
iommu/tegra: Setup aperture
iommu: Remove domain_init and domain_free iommu_ops
iommu/fsl: Make use of domain_alloc and domain_free
iommu/rockchip: Make use of domain_alloc and domain_free
iommu/ipmmu-vmsa: Make use of domain_alloc and domain_free
iommu/shmobile: Make use of domain_alloc and domain_free
iommu/msm: Make use of domain_alloc and domain_free
iommu/tegra-gart: Make use of domain_alloc and domain_free
iommu/tegra-smmu: Make use of domain_alloc and domain_free
...
commit da4d81453cf1eedfcd8b2cd1e7bfab230084bd87
Author: Tony Lindgren <tony@xxxxxxxxxxx>
Date: Mon Apr 20 10:36:31 2015 -0700
ARM: OMAP2+: Fix booting with configs that don't have MFD_SYSCON
With the recent changes omaps have developed a dependency to MFD_SYSCON.
This is used for system control module generic register area and some
clocks.
We do have it selected in omap2plus_defconfig, but targeted config
files may not have it selected. Let's make sure it's selected like
few other ARM platforms are already doing.
Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit c9eeb5084b27ffede2709e8775827729d0c7c46c
Author: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Date: Mon Apr 20 10:23:38 2015 -0700
Input: lm8333 - fix broken email address
My Pengutronix address is not valid anymore, redirect people to the
Pengutronix kernel team.
Reported-by: Harald Geyer <harald@xxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Acked-by: Robert Schwebel <r.schwebel@xxxxxxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit a333a03ce969c18f97f1eafa3dc1072caa33454e
Author: Dudley Du <dudl@xxxxxxxxxxx>
Date: Mon Apr 20 10:00:05 2015 -0700
Input: cyapa - fix setting suspend scan rate
The suspend scan rate value should not exceed 1000, unfortunately when
implementing the limit we used max_t instead of min_t, causing the value
to
be at least 1000.
Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx>
Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 9f423801c9e849df56b37833df895685c9d8a940
Author: Duson Lin <dusonlin@xxxxxxxxxx>
Date: Mon Apr 20 10:19:24 2015 -0700
Input: elan_i2c - fix calculating number of x and y traces.
According to Elan's firmware engineers we should not be subtracting 1 form
the raw number of x and y traces so that the pitch size is correct. For
example, if the touchpad x resolution is 2800 and x trace number is 20,
the pitch size of x should be 2800/20 = 140, not 2800/19 = 147.36.
Signed-off-by: Duson Lin <dusonlin@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 090ad325068810a9edb09dfe8fec97a724c5743f
Author: Duson Lin <dusonlin@xxxxxxxxxx>
Date: Mon Apr 20 09:59:04 2015 -0700
Input: elan_i2c - report hovering contacts
When hover is detected report ABS_MT_DISTANCE as 1; for active contacts
the distance is reported as 0.
Signed-off-by: Duson Lin <dusonlin@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 8c0776a8f046d5fb1804e525c3b6e9f897fe0d3f
Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Date: Fri Apr 17 20:42:47 2015 -0700
Input: elants_i2c - zero-extend hardware ID in firmware name
Let's zero-extend hardware id number when forming firmware file name,
to avoid kernel requesting firmware like "elants_i2c_ 0.bin", which
is quite unexpected.
Acked-by: Charlie Mooney<charliemooney@xxxxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 6496edfce95f943e1da43631c2f437509e56af7f
Merge: b19a42e e4afa12
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 20 10:19:03 2015 -0700
Merge tag 'cpumask-next-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux
Pull final removal of deprecated cpus_* cpumask functions from Rusty
Russell:
"This is the final removal (after several years!) of the obsolete
cpus_* functions, prompted by their mis-use in staging.
With these function removed, all cpu functions should only iterate to
nr_cpu_ids, so we finally only allocate that many bits when cpumasks
are allocated offstack"
* tag 'cpumask-next-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (25 commits)
cpumask: remove __first_cpu / __next_cpu
cpumask: resurrect CPU_MASK_CPU0
linux/cpumask.h: add typechecking to cpumask_test_cpu
cpumask: only allocate nr_cpumask_bits.
Fix weird uses of num_online_cpus().
cpumask: remove deprecated functions.
mips: fix obsolete cpumask_of_cpu usage.
x86: fix more deprecated cpu function usage.
ia64: remove deprecated cpus_ usage.
powerpc: fix deprecated CPU_MASK_CPU0 usage.
CPU_MASK_ALL/CPU_MASK_NONE: remove from deprecated region.
staging/lustre/o2iblnd: Don't use cpus_weight
staging/lustre/libcfs: replace deprecated cpus_ calls with cpumask_
staging/lustre/ptlrpc: Do not use deprecated cpus_* functions
blackfin: fix up obsolete cpu function usage.
parisc: fix up obsolete cpu function usage.
tile: fix up obsolete cpu function usage.
arm64: fix up obsolete cpu function usage.
mips: fix up obsolete cpu function usage.
x86: fix up obsolete cpu function usage.
...
commit b19a42e3cb9e73cad59e60ab7403e5afe7f4b262
Merge: 5ca08a8 80ed156
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 20 10:15:33 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull more s390 updates from Martin Schwidefsky:
"The big thing in this second merge for s390 is the new eBPF JIT from
Michael which replaces the old 32-bit backend.
The remaining commits are bug fixes"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
s390/pci: add locking for fmb access
s390/pci: extract software counters from fmb
s390/dasd: Fix unresumed device after suspend/resume having no paths
s390/dasd: fix unresumed device after suspend/resume
s390/dasd: fix inability to set a DASD device offline
s390/mm: Fix memory hotplug for unaligned standby memory
s390/bpf: Add s390x eBPF JIT compiler backend
s390: Use bool function return values of true/false not 1/0
commit 5ca08a82a75c9109f8207cbcbef8705334b4713a
Merge: f4d03bd 6e42061
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 20 10:12:29 2015 -0700
Merge branch 'for-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu
Pull m68k fixes from Greg Ungerer:
"Nothing big, spelling fixes and fix/cleanup for ColdFire eth device
setup"
* 'for-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
m68knommu: fix fec setup warning for ColdFire 5271 builds
m68knommu: ColdFire 5271 only has a single FEC controller
m68k: Fix trivial typos in comments
commit f4d03bd143c628b00f66cc2ec2c013767bdd1518
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 20 09:08:49 2015 -0700
smp: don't use 16-bit words for atomic accesses
Yes, it should work, but it's a bad idea. Not only did ARM64 not have
the 16-bit access code (there's a separate patch to add it), it's just
not a good atomic type. Some architectures fundamentally don't do
atomic accesses in them (alpha), and it's not like it saves any space
here anyway because of structure packing issues.
We normally should aim for flags to be "unsigned int" or "unsigned
long". And if space is at a premium, use a single byte (although that
causes problems on alpha again). There might be very special cases
where a 16-byte entity is really wanted, but this is not one of them.
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 32ec4397756d072873ee778cbf41b9f6a335b953
Author: Yan, Zheng <zyan@xxxxxxxxxx>
Date: Thu Mar 26 19:06:00 2015 +0800
ceph: hold on to exclusive caps on complete directories
If a directory is complete, we want to keep the exclusive
cap. So that MDS does not end up revoking the shared cap
on every create/unlink operation.
Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
commit 9571eb4f9617e89b3f979a3856b1296eba277bb1
Author: Ilya Dryomov <idryomov@xxxxxxxxx>
Date: Wed Mar 25 21:15:17 2015 +0300
libceph: simplify our debugfs attr macro
No need to do single_open()'s job ourselves.
Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
commit ff7eeb82cc16f25203b69f817cbbb85845c817fe
Author: Ilya Dryomov <idryomov@xxxxxxxxx>
Date: Wed Mar 25 21:10:09 2015 +0300
ceph: show non-default options only
Don't pollute /proc/mounts with default options (presently these are
dcache, nofsc and acl). Leave the acl/noacl however - it's a bit of
a special case due to CONFIG_CEPH_FS_POSIX_ACL.
Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
commit 5cf7bd30120ead3db43ef9074be38018d9acf22f
Author: Ilya Dryomov <idryomov@xxxxxxxxx>
Date: Wed Mar 25 21:07:41 2015 +0300
libceph: expose client options through debugfs
Add a client_options attribute for showing libceph options.
Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
commit ff40f9ae95917b72b6acb6057471c99054b6ee24
Author: Ilya Dryomov <idryomov@xxxxxxxxx>
Date: Wed Mar 25 21:02:16 2015 +0300
libceph, ceph: split ceph_show_options()
Split ceph_show_options() into two pieces and move the piece
responsible for printing client (libceph) options into net/ceph. This
way people adding a libceph option wouldn't have to remember to update
code in fs/ceph.
Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
commit d8a2c89c8636405ad0b234f111d22c00c37e452b
Author: Ilya Dryomov <idryomov@xxxxxxxxx>
Date: Tue Mar 24 16:15:17 2015 +0300
rbd: mark block queue as non-rotational
Set QUEUE_FLAG_NONROT. Following commit b277da0a8a59 ("block: disable
entropy contributions for nonrot devices") we should also clear
QUEUE_FLAG_ADD_RANDOM, but it's off by default for blk-mq drivers, so
just note it in the comment.
Also remove physical block size assignment - no sense in repeating
defaults that are not going to change.
Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
commit 67c64eb742a49d3d3f5dcef75d0c32a3394e5519
Author: Ilya Dryomov <idryomov@xxxxxxxxx>
Date: Mon Mar 23 14:52:40 2015 +0300
libceph: don't overwrite specific con error msgs
- specific con->error_msg messages (e.g. "protocol version mismatch")
end up getting overwritten by a catch-all "socket error on read
/ write", introduced in commit 3a140a0d5c4b ("libceph: report socket
read/write error message")
- "bad message sequence # for incoming message" loses to "bad crc" due
to the fact that -EBADMSG is used for both
Fix it, and tidy up con->error_msg assignments and pr_errs while at it.
Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
commit 1c841a96b5f369cbb0b169d13825c7ff7d0fba8d
Author: Yan, Zheng <zyan@xxxxxxxxxx>
Date: Tue Mar 24 20:15:36 2015 +0800
ceph: cleanup unsafe requests when reconnecting is denied
Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
commit a9f6eb61850e1599f9aa5141f25ccc1d8248e174
Author: Yan, Zheng <zyan@xxxxxxxxxx>
Date: Tue Mar 24 15:49:36 2015 +0800
ceph: don't zero i_wrbuffer_ref when reconnecting is denied
remove_session_caps_cb() does not truncate dirty data in page
cache, but zeros i_wrbuffer_ref/i_wrbuffer_ref_head. This will
result negtive i_wrbuffer_ref/i_wrbuffer_ref_head
Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
commit 571ade336ac89f5db602f7df992152e4f4b945bc
Author: Yan, Zheng <zyan@xxxxxxxxxx>
Date: Tue Mar 24 11:36:08 2015 +0800
ceph: don't mark dirty caps when there is no auth cap
No i_auth_cap means reconnecting to MDS was denied. So don't
add new dirty caps.
Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
commit db40cc1702d6a7049740d269cf6c1a42f979c7a7
Author: Yan, Zheng <zyan@xxxxxxxxxx>
Date: Mon Mar 23 20:12:20 2015 +0800
ceph: keep i_snap_realm while there are writers
when reconnecting to MDS is denied, we remove session caps
forcibly. But it's possible there are ongoing write, the
write code needs to reference i_snap_realm. So if there are
ongoing write, we keep i_snap_realm.
Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
commit 3ef650d3989677bd460497f9c3b0d58caaba0116
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Mon Mar 23 13:35:03 2015 -0700
libceph: osdmap.h: Add missing format newlines
To avoid possible interleaving, add missing '\n' to formats.
Convert pr_warning to pr_warn while there.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
commit a149bb9a281c5c2904cf6fcdf9ed386340032ce3
Author: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx>
Date: Sat Mar 21 12:54:58 2015 -0400
ceph: kstrdup() memory handling
Currently, there is no check for the kstrdup() for r_path2,
r_path1 and snapdir_name as various locations as there is a
possibility of failure during memory pressure. Therefore,
returning ENOMEM where the checks have been missed.
Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx>
Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
commit c1d00b2d9c4fc821e33c5cdfbdbc32677cb0e2e0
Author: Taesoo Kim <tsgatesv@xxxxxxxxx>
Date: Fri Mar 20 17:36:56 2015 -0400
ceph: properly release page upon error
When ceph_update_writeable_page fails (including -EAGAIN), it
unlocks (w/ unlock_page) the page but does not 'release'
(w/ page_cache_release) properly.
Upon error, properly set *pagep to NULL, indicating an error.
Signed-off-by: Taesoo Kim <tsgatesv@xxxxxxxxx>
Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
commit 1fe480235ad7236e8ea6c167af5a5d1ac24f8a88
Author: Ilya Dryomov <idryomov@xxxxxxxxx>
Date: Thu Mar 5 10:47:22 2015 +0300
rbd: be more informative on -ENOENT failures
pr_info what exactly was the culprit: missing pool, image or snap.
Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
commit f4c1a311d8dc55c90c39e9cf7b003254a769574d
Author: Mengdong Lin <mengdong.lin@xxxxxxxxx>
Date: Mon Apr 20 17:33:57 2015 +0800
ALSA: hda - only sync BCLK to the display clock for Haswell & Broadwell
Only Intel Haswell and Broadwell have a separate HD-A controller (PCI
device 3)
for display audio, which needs to get 24MHz HD-A link BCLK from the
variable
display core clock through vendor specific registers EM4 & EM5. Other
platforms
(Baytrail, Braswell and Skylake) don't have this feature.
So this patch checks the PCI device ID of the controller in
haswell_set_bclk()
and only sync BCLK for HSW and BDW.
Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit cdaa8cf34863028dab238e1498555bf12d693244
Merge: 30a5c18 98b8098
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Mon Apr 20 07:59:04 2015 -0700
Merge branch 'fixes' into next/fixes-non-critical
Merge a set of fixes that we missed sending in before v4.0 release. These
will also be sent to -stable.
* fixes: (659 commits)
ARM: at91/dt: sama5d3 xplained: add phy address for macb1
kbuild: Create directory for target DTB
ARM: mvebu: Disable CPU Idle on Armada 38x
arm64: juno: Fix misleading name of UART reference clock
ARM: dts: sunxi: Remove overclocked/overvoltaged OPP
ARM: dts: sun4i: a10-lime: Override and remove 1008MHz OPP setting
ARM: socfpga: dts: fix spi1 interrupt
ARM: dts: Fix gpio interrupts for dm816x
ARM: dts: dra7: remove ti,hwmod property from pcie phy
ARM: EXYNOS: Fix build breakage cpuidle on !SMP
ARM: OMAP: dmtimer: disable pm runtime on remove
ARM: OMAP: dmtimer: check for pm_runtime_get_sync() failure
ARM: dts: fix lid and power pin-functions for exynos5250-spring
ARM: dts: fix mmc node updates for exynos5250-spring
ARM: OMAP2+: Fix socbus family info for AM33xx devices
ARM: dts: omap3: Add missing dmas for crypto
+ Linux 4.0-rc4
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 57e95460f0b360c4d29c0320922b46b55dd2b79f
Author: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Date: Tue Mar 10 11:18:15 2015 -0400
ceph: match wait_for_completion_timeout return type
return type of wait_for_completion_timeout is unsigned long not int. An
appropriately named unsigned long is added and the assignment fixed up.
Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
commit 3563dbdd99603d4339467ddffafe3851aae2e398
Author: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Date: Fri Feb 6 06:52:17 2015 -0500
ceph: use msecs_to_jiffies for time conversion
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@xxxxxxxxx>
Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
commit e1eba3ea02dbd2a4b6be1a5708af31dc9b9aaaa6
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Tue Mar 3 18:57:49 2015 +0100
ceph: remove redundant declaration
ceph_aops was already defined extern in addr.c section
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
commit e2c3de046c5a1f3525772b4cacc7731cb626ab61
Author: Yan, Zheng <zyan@xxxxxxxxxx>
Date: Wed Mar 4 16:05:04 2015 +0800
ceph: fix dcache/nocache mount option
Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
commit 6e6f09231a134e7523514ed504380f5caafc9334
Author: Yan, Zheng <zyan@xxxxxxxxxx>
Date: Fri Feb 27 08:54:08 2015 +0800
ceph: drop cap releases in requests composed before cap reconnect
These cap releases are stale because MDS will re-establish client
caps according to the cap reconnect messages.
Note: MDS can detect stale cap messages, so these stale cap
releases are harmless even we don't drop them.
Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
commit d8f6ad85cbb740b7e8ca5275b12838fab685540c
Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Date: Mon Apr 20 16:49:30 2015 +0530
ARC: perf: don't add code for impossible case
Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
commit 30fdd373f24cc50e250c71a6e2df89505e267804
Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Date: Wed Apr 15 16:35:38 2015 +0530
ARC: perf: Rename DT binding to not confuse with power mgmt
Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
commit 22f6b899125063c5dc955dd378c408b14d80b020
Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Date: Fri Jul 12 15:55:54 2013 +0200
ARC: perf: add user space attribution in callchains
The actual user space unwinding is more involved, so simply capture the
user space PC
Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
commit 389e3160b9b0002f8e7c95e9c0af5da6da311892
Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Date: Tue Nov 12 11:00:03 2013 +0100
ARC: perf: Add kernel callchain support
Signed-off-by: Mischa Jonker <mjonker@xxxxxxxxxxxx>
Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
commit 0a8a47679351f00145ddeaa0a05b510e67b780be
Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Date: Wed Jan 7 13:14:07 2015 +0530
ARC: perf: support cache hit/miss ratio
Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
commit bde80c237e49983e2b26dfa9925325a070b71de7
Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Date: Wed Apr 15 19:44:07 2015 +0530
ARC: perf: Add some comments/debug stuff
Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
commit 03c94fcf954d6bc5e23460e200d23a2c0fe5cd2e
Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Date: Mon Nov 17 17:13:03 2014 +0530
ARC: perf: make @arc_pmu static global
Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
commit 6b75b54c841a18ef114704aa5cf2cdf43487b0ae
Merge: 7374ccc aa977f6
Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
Date: Mon Apr 20 12:09:31 2015 +0300
Merge omapdss topic branch for fbdev 4.1
commit aa977f62dff4fb41e89b473c9831c292c01d8bfc
Author: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx>
Date: Wed Feb 25 19:03:56 2015 +0200
omapdss: extend pm notifier to handle hibernation
Add handling of missed events in omap_dss_pm_notif which are
needed to support hibernation (suspend to disk).
Signed-off-by: Grygorii Strashko <Grygorii.Strashko@xxxxxxxxxx>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
commit 34260a79b2b3063d7a8b8208f7d5d8cc0e1826f4
Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Date: Sat Mar 7 17:08:03 2015 +0100
OMAPDSS: Correct video ports description file path in DT binding doc
The doc refers to Documentation/devicetree/bindings/video/video-ports.txt
which does not exist. The documentation seems to be outdated and wants to
refer to Documentation/devicetree/bindings/graph.txt instead.
Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
commit cb17a4ae3bbf1daa3b179147b6d476ea2482e2d3
Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
Date: Wed Feb 25 12:08:14 2015 +0200
OMAPDSS: disable VT switch
We don't need VT switch when suspending/resuming, so disable it. This
speeds up suspend/resume.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
Cc: NeilBrown <neil@xxxxxxxxxx>
commit 9476d369d7b39348945c297da5f2935904229813
Author: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx>
Date: Sun Apr 19 19:00:40 2015 +0200
ALSA: hda - Mute headphone pin on suspend on XPS13 9333
Muting the headphone output pin right before the codec suspension
prevents pop noises when headphones are plugged in (except for a
barely audible click noise).
This solution allows to truly save some power when headphones are
plugged in unlike the previous solution (033b0a7ca9c:
"ALSA: hda - Pop noises fix for XPS13 9333")
Signed-off-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 94d4b4765b7ddb8478b0d57663cf7a08e2263bbf
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Fri Nov 23 19:19:07 2012 +0100
x86/mm: Clean up types in xlate_dev_mem_ptr()
Pavel Machek reported the following compiler warning on
x86/32 CONFIG_HIGHMEM64G=y builds:
arch/x86/mm/ioremap.c:344:10: warning: cast to pointer from integer of
different size [-Wint-to-pointer-cast]
Clean up the types in this function by using a single natural type for
internal calculations (unsigned long), to make it more apparent what's
happening, and also to remove fragile casts.
Reported-by: Pavel Machek <pavel@xxxxxx>
Cc: jgross@xxxxxxxx
Cc: roland@xxxxxxxxxxxxxxx
Link: http://lkml.kernel.org/r/20150416080440.GA507@amd
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 68d4cef3bab3fb9bb0dbac690ba35a96cb5a16d9
Author: Andy Grover <agrover@xxxxxxxxxx>
Date: Tue Apr 14 17:30:05 2015 -0700
target: Put TCMU under a new config option
Conceptually version 2 should be viewed as an entirely new, incompatible
version of TCMU, so emphasize this by changing the config option and
Kconfig text.
Signed-off-by: Andy Grover <agrover@xxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 0ad46af8a618fc38e0cdc3927cfa9f7b42cc9423
Author: Andy Grover <agrover@xxxxxxxxxx>
Date: Tue Apr 14 17:30:04 2015 -0700
target: Version 2 of TCMU ABI
The initial version of TCMU (in 3.18) does not properly handle
bidirectional SCSI commands -- those with both an in and out buffer. In
looking to fix this it also became clear that TCMU's support for adding
new types of entries (opcodes) to the command ring was broken. We need
to fix this now, so that future issues can be handled properly by adding
new opcodes.
We make the most of this ABI break by enabling bidi cmd handling within
TCMP_OP_CMD opcode. Add an iov_bidi_cnt field to tcmu_cmd_entry.req.
This enables TCMU to describe bidi commands, but further kernel work is
needed for full bidi support.
Enlarge tcmu_cmd_entry_hdr by 32 bits by pulling in cmd_id and __pad1.
Turn
__pad1 into two 8 bit flags fields, for kernel-set and userspace-set
flags,
"kflags" and "uflags" respectively.
Update version fields so userspace can tell the interface is changed.
Update tcmu-design.txt with details of how new stuff works:
- Specify an additional requirement for userspace to set UNKNOWN_OP
(bit 0) in hdr.uflags for unknown/unhandled opcodes.
- Define how Data-In and Data-Out fields are described in req.iov[]
Changed in v2:
- Change name of SKIPPED bit to UNKNOWN bit
- PAD op does not set the bit any more
- Change len_op helper functions to take just len_op, not the whole struct
- Change version to 2 in missed spots, and use defines
- Add 16 unused bytes to cmd_entry.req, in case additional SAM cmd
parameters need to be included
- Add iov_dif_cnt field to specify buffers used for DIF info in iov[]
- Rearrange fields to naturally align cdb_off
- Handle if userspace sets UNKNOWN_OP by indicating failure of the cmd
- Wrap some overly long UPDATE_HEAD lines
(Add missing req.iov_bidi_cnt + req.iov_dif_cnt zeroing - Ilias)
Signed-off-by: Andy Grover <agrover@xxxxxxxxxx>
Reviewed-by: Ilias Tsitsimpis <iliastsi@xxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit baa54ab93c2e1ced7e54f9c021fe102c0d39c090
Author: Ley Foon Tan <lftan@xxxxxxxxxx>
Date: Thu Apr 16 15:19:01 2015 +0800
nios2: rework trap handler
Redefine trap handler as below:
0 N/A reserved for system calls
1 SIGUSR1 user-defined signal 1
2 SIGUSR2 user-defined signal 2
3 SIGILL illegal instruction
4..29 reserved (but implemented to raise SIGILL instead of being
undefined)
30 SIGTRAP KGDB
31 SIGTRAP trace/breakpoint trap
Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx>
commit 2c33ce009ca2389dbf0535d0672214d09738e35e
Merge: cec32a4 09d5160
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Mon Apr 20 11:32:26 2015 +1000
Merge Linus master into drm-next
The merge is clean, but the arm build fails afterwards,
due to API changes in the regulator tree.
I've included the patch into the merge to fix the build.
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>
commit 170c381f6bcd9ad3235654988aabddb612b34a39
Author: Ley Foon Tan <lftan@xxxxxxxxxx>
Date: Wed Apr 15 10:45:49 2015 +0800
nios2: remove end address checking for initda
Remove the end address checking for initda function. We need to invalidate
each address line for initda instruction, from start to end address.
Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx>
commit cec32a47010647e8b0603726ebb75b990a4057a4
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Fri Apr 17 19:12:41 2015 +0200
media-bus: Fixup RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus format
Change the constant values for RGB444_1X12, RGB565_1X16, and YUV8_1X24
media
bus formats in anticipation of a merge conflict with the media tree, where
the old values are already taken by RBG888_1X24, RGB888_1X32_PADHI, and
VUY8_1X24, respectively.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>
commit 3ea68922fc4148abc97557df43d4ba9a136b1c8d
Author: Heiko Stuebner <heiko@xxxxxxxxx>
Date: Mon Apr 20 01:00:53 2015 +0200
drm/rockchip: fix error check when getting irq
platform_get_irq() can return negative error values and we already test
for
these. Therefore the variable holding this value should be signed to not
loose possible error values.
Reported-by: David Binderman <dcb314@xxxxxxxxxxx>
Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx>
Reviewed-By: Daniel Kurtz <djkurtz@xxxxxxxxxxxx>
commit 625e03461ba51592ac785214b2254af7bd630077
Author: Heiko Stuebner <heiko@xxxxxxxxx>
Date: Mon Apr 20 00:59:50 2015 +0200
MAINTAINERS: add entry for Rockchip drm drivers
Mark Yao looks after the Rockchip drm drivers and should thus also get
patches touching these.
Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx>
commit 09d51602cf84a1264946711dd4ea0dddbac599a1
Merge: 6162e4b e9257f5
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 19 14:31:41 2015 -0700
Merge branch 'turbostat' of
git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux
Pull turbostat update from Len Brown:
"Updates to the turbostat utility.
Just one kernel dependency in this batch -- added a #define to
msr-index.h"
* 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
tools/power turbostat: correct dumped pkg-cstate-limit value
tools/power turbostat: calculate TSC frequency from CPUID(0x15) on SKL
tools/power turbostat: correct DRAM RAPL units on recent Xeon processors
tools/power turbostat: Initial Skylake support
tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support
for O= option in Makefile
tools/power turbostat: modprobe msr, if needed
tools/power turbostat: dump MSR_TURBO_RATIO_LIMIT2
tools/power turbostat: use new MSR_TURBO_RATIO_LIMIT names
x86 msr-index: define MSR_TURBO_RATIO_LIMIT,1,2
tools/power turbostat: label base frequency
tools/power turbostat: update PERF_LIMIT_REASONS decoding
tools/power turbostat: simplify default output
commit 6162e4b0bedeb3dac2ba0a5e1b1f56db107d97ec
Merge: 17974c0 6ddb244
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 19 14:26:31 2015 -0700
Merge tag 'ext4_for_linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Pull ext4 updates from Ted Ts'o:
"A few bug fixes and add support for file-system level encryption in
ext4"
* tag 'ext4_for_linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (31 commits)
ext4 crypto: enable encryption feature flag
ext4 crypto: add symlink encryption
ext4 crypto: enable filename encryption
ext4 crypto: filename encryption modifications
ext4 crypto: partial update to namei.c for fname crypto
ext4 crypto: insert encrypted filenames into a leaf directory block
ext4 crypto: teach ext4_htree_store_dirent() to store decrypted
filenames
ext4 crypto: filename encryption facilities
ext4 crypto: implement the ext4 decryption read path
ext4 crypto: implement the ext4 encryption write path
ext4 crypto: inherit encryption policies on inode and directory create
ext4 crypto: enforce context consistency
ext4 crypto: add encryption key management facilities
ext4 crypto: add ext4 encryption facilities
ext4 crypto: add encryption policy and password salt support
ext4 crypto: add encryption xattr support
ext4 crypto: export ext4_empty_dir()
ext4 crypto: add ext4 encryption Kconfig
ext4 crypto: reserve codepoints used by the ext4 encryption feature
ext4 crypto: add ext4_mpage_readpages()
...
commit 17974c054db3030b714b7108566bf5208d965a19
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 19 13:48:40 2015 -0700
hexdump: avoid warning in test function
The test_data_1_le[] array is a const array of const char *. To avoid
dropping any const information, we need to use "const char * const *",
not just "const char **".
I'm not sure why the different test arrays end up having different
const'ness, but let's make the pointer we use to traverse them as const
as possible, since we modify neither the array of pointers _or_ the
pointers we find in the array.
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 8b01fc86b9f425899f8a3a8fc1c47d73c2c20543
Author: Jann Horn <jann@xxxxxxxxx>
Date: Sun Apr 19 02:48:39 2015 +0200
fs: take i_mutex during prepare_binprm for set[ug]id executables
This prevents a race between chown() and execve(), where chowning a
setuid-user binary to root would momentarily make the binary setuid
root.
This patch was mostly written by Linus Torvalds.
Signed-off-by: Jann Horn <jann@xxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 5224b9613b91d937c6948fe977023247afbcc04e
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 19 04:56:03 2015 -0400
smp: Fix error case handling in smp_call_function_*()
Commit 8053871d0f7f ("smp: Fix smp_call_function_single_async()
locking") fixed the locking for the asynchronous smp-call case, but in
the process of moving the lock handling around, one of the error cases
ended up not unlocking the call data at all.
This went unnoticed on x86, because this is a "caller is buggy" case,
where the caller is trying to call a non-existent CPU. But apparently
ARM does that (at least under qemu-arm). Bindly doing cross-cpu calls
to random CPU's that aren't even online seems a bit fishy, but the error
handling was clearly not correct.
Simply add the missing "csd_unlock()" to the error path.
Reported-and-tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Analyzed-by: Rabin Vincent <rabin@xxxxxx>
Acked-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 2363ccb505c15328580d5f64b5e9ea5c1c8a1462
Merge: 0f5abd4 64df1fd 5fa0fa4 06b230e
Author: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx>
Date: Sun Apr 19 21:19:27 2015 +0200
Merge branches 'pm-cpufreq', 'powercap' and 'pm-tools'
* pm-cpufreq:
cpufreq: intel_pstate: Fix an annoying !CONFIG_SMP warning
intel_pstate: Change the setpoint for Atom params
* powercap:
powercap / RAPL: Add support for Intel Skylake processors
* pm-tools:
cpupower: fix breakage from libpci API change
commit aae013d646aae8787b76255d1a1cadd7f64a47dd
Author: Jie Yang <yang.jie@xxxxxxxxx>
Date: Sun Apr 19 09:45:48 2015 +0800
ASoC: add static inline funcs to fix a compiling issue
When CONFIG_PM_SLEEP is not selected, calling funcs
snd_soc_suspend and _resume will generate a compiling
issue.
Here add static inline stub functions to fix it.
Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit e4afa120c98252e44390067c3a6cc775cde30659
Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Date: Sat Apr 18 11:18:27 2015 +0930
cpumask: remove __first_cpu / __next_cpu
They were for use by the deprecated first_cpu() and next_cpu() wrappers,
but sparc used them directly.
They're now replaced by cpumask_first / cpumask_next. And __next_cpu_nr
is completely obsolete.
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Acked-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 64fb1d0e975e92e012802d371e417266d6531676
Merge: dba94f2 ccb3018
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 18 18:01:29 2015 -0400
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
Pull sparc fixes from David Miller
"Unfortunately, I brown paper bagged the generic iommu pool allocator
by applying the wrong revision of the patch series.
This reverts the bad one, and puts the right one in"
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
iommu-common: Fix PARISC compile-time warnings
sparc: Make LDC use common iommu poll management functions
sparc: Make sparc64 use scalable lib/iommu-common.c functions
Break up monolithic iommu table/lock into finer graularity pools and
lock
sparc: Revert generic IOMMU allocator.
commit dba94f2155f581395ef9608418778e3491b3d470
Merge: 34a984f f569d3e
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 18 17:45:30 2015 -0400
Merge tag 'for-linus-4.1-merge-window' of
git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs
Pull 9pfs updates from Eric Van Hensbergen:
"Some accumulated cleanup patches for kerneldoc and unused variables as
well as some lock bug fixes and adding privateport option for RDMA"
* tag 'for-linus-4.1-merge-window' of
git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
net/9p: add a privport option for RDMA transport.
fs/9p: Initialize status in v9fs_file_do_lock.
net/9p: Initialize opts->privport as it should be.
net/9p: use memcpy() instead of snprintf() in p9_mount_tag_show()
9p: use unsigned integers for nwqid/count
9p: do not crash on unknown lock status code
9p: fix error handling in v9fs_file_do_lock
9p: remove unused variable in p9_fd_create()
9p: kerneldoc warning fixes
commit ccb301862aa51ea7c10c10b440f3e8bbeac5b720
Merge: c12f048 2f0c0fd
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Sat Apr 18 12:35:09 2015 -0700
Merge branch 'iommu-generic-allocator'
Sowmini Varadhan says:
====================
Generic IOMMU pooled allocator
Investigation of network performance on Sparc shows a high
degree of locking contention in the IOMMU allocator, and it
was noticed that the PowerPC code has a better locking model.
This patch series tries to extract the generic parts of the
PowerPC code so that it can be shared across multiple PCI
devices and architectures.
v10: resend patchv9 without RFC tag, and a new mail Message-Id,
(previous non-RFC attempt did not show up on the patchwork queue?)
Full revision history below:
v2 changes:
- incorporate David Miller editorial comments: sparc specific
fields moved from iommu-common into sparc's iommu_64.h
- make the npools value an input parameter, for the case when
the iommu map size is not very large
- cookie_to_index mapping, and optimizations for span-boundary
check, for use case such as LDC.
v3: eliminate iommu_sparc, rearrange the ->demap indirection to
be invoked under the pool lock.
v4: David Miller review changes:
- s/IOMMU_ERROR_CODE/DMA_ERROR_CODE
- page_table_map_base and page_table_shift are unsigned long, not u32.
v5: removed ->cookie_to_index and ->demap indirection from the
iommu_tbl_ops The caller needs to call these functions as needed,
before invoking the generic arena allocator functions.
Added the "skip_span_boundary" argument to iommu_tbl_pool_init() for
those callers like LDC which do no care about span boundary checks.
v6: removed iommu_tbl_ops, and instead pass the ->flush_all as
an indirection to iommu_tbl_pool_init(); only invoke ->flush_all
when there is no large_pool, based on the assumption that large-pool
usage is infrequently encountered
v7: moved pool_hash initialization to lib/iommu-common.c and cleaned up
code duplication from sun4v/sun4u/ldc.
v8: Addresses BenH comments with one exception: I've left the
IOMMU_POOL_HASH as is, so that powerpc can tailor it to their
convenience. Discard trylock for simple spin_lock to acquire pool
v9: Addresses latest BenH comments: need_flush checks, add support
for dma mask and align_order.
v10: resend without RFC tag, and new mail Message-Id.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2f0c0fdc085c0d415457a1c52344f72e12c4cec6
Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Date: Sat Apr 18 12:33:55 2015 -0700
iommu-common: Fix PARISC compile-time warnings
Fixes warnings due to
- no DMA_ERROR_CODE on PARISC,
- sizeof (unsigned long) == 4 bytes on PARISC.
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0ae53ed15d9b87b883b593a9884957cfa4fc2480
Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Date: Thu Apr 9 15:33:32 2015 -0400
sparc: Make LDC use common iommu poll management functions
Note that this conversion is only being done to consolidate the
code and ensure that the common code provides the sufficient
abstraction. It is not expected to result in any noticeable
performance improvement, as there is typically one ldc_iommu
per vnet_port, and each one has 8k entries, with a typical
request for 1-4 pages. Thus LDC uses npools == 1.
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit bb620c3d3925aec0ed4f21010c86df08ec18a8c7
Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Date: Thu Apr 9 15:33:31 2015 -0400
sparc: Make sparc64 use scalable lib/iommu-common.c functions
In iperf experiments running linux as the Tx side (TCP client) with
10 threads results in a severe performance drop when TSO is disabled,
indicating a weakness in the software that can be avoided by using
the scalable IOMMU arena DMA allocation.
Baseline numbers before this patch:
with default settings (TSO enabled) : 9-9.5 Gbps
Disable TSO using ethtool- drops badly: 2-3 Gbps.
After this patch, iperf client with 10 threads, can give a
throughput of at least 8.5 Gbps, even when TSO is disabled.
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ff7d37a502022149655c18035b99a53391be0383
Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Date: Thu Apr 9 15:33:30 2015 -0400
Break up monolithic iommu table/lock into finer graularity pools and lock
Investigation of multithreaded iperf experiments on an ethernet
interface show the iommu->lock as the hottest lock identified by
lockstat, with something of the order of 21M contentions out of
27M acquisitions, and an average wait time of 26 us for the lock.
This is not efficient. A more scalable design is to follow the ppc
model, where the iommu_map_table has multiple pools, each stretching
over a segment of the map, and with a separate lock for each pool.
This model allows for better parallelization of the iommu map search.
This patch adds the iommu range alloc/free function infrastructure.
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit c12f048ffdf3a5802239426dc290290929268dc9
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Sat Apr 18 12:31:25 2015 -0700
sparc: Revert generic IOMMU allocator.
I applied the wrong version of this patch series, V4 instead
of V10, due to a patchwork bundling snafu.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e9257f5fa48cc296d7eed35acf9f2ad195184122
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Wed Apr 1 21:02:57 2015 -0400
tools/power turbostat: correct dumped pkg-cstate-limit value
HSW expanded MSR_PKG_CST_CONFIG_CONTROL.Package-C-State-Limit,
from bits[2:0] used by previous implementations, to [3:0].
The value 1000b is unlimited, and is used by BDW and SKL too.
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
commit 8a5bdf41d2c027c1e4ad62bc4f96f3fdf82070ba
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Wed Apr 1 21:02:57 2015 -0400
tools/power turbostat: calculate TSC frequency from CPUID(0x15) on SKL
turbostat --debug
...
CPUID(0x15): eax_crystal: 2 ebx_tsc: 100 ecx_crystal_hz: 0
TSC: 1200 MHz (24000000 Hz * 100 / 2 / 1000000)
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
commit 40ee8e3b9dc8917e6077dde6a49c7a71d63b0231
Author: Andrey Semin <andrey.semin@xxxxxxxxx>
Date: Fri Dec 5 00:07:00 2014 -0500
tools/power turbostat: correct DRAM RAPL units on recent Xeon processors
While not yet documented in the Software Developer's Manual,
the data-sheet for modern Xeon states that DRAM RAPL ENERGY units
are fixed at 15.3 uJ, rather than being discovered via MSR.
Before this patch, DRAM energy on these products is over-stated by
turbostat
because the RAPL units are 4x larger.
ref: "Xeon E5-2600 v3/E5-1600 v3 Datasheet Volume 2"
http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xeon-e5-v3-datasheet-vol-2.pdf
Signed-off-by: Andrey Semin <andrey.semin@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
commit 0b2bb6925eb602eae993a4b5c282a8c18ad1c949
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Thu Mar 26 00:50:30 2015 -0400
tools/power turbostat: Initial Skylake support
Skylake adds some additional residency counters.
Skylake supports a different mix of RAPL registers
from any previous product.
In most other ways, Skylake is like Broadwell.
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
commit f82263c6989c31ae9b94cecddffb29dcbec38710
Author: Thomas D <whissi@xxxxxxxxx>
Date: Mon Jan 5 21:37:23 2015 +0100
tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support
for O= option in Makefile
Since commit ee0778a30153
("tools/power: turbostat: make Makefile a bit more capable")
turbostat's Makefile is using
[...]
BUILD_OUTPUT := $(PWD)
[...]
which obviously causes trouble when building "turbostat" with
make -C /usr/src/linux/tools/power/x86/turbostat ARCH=x86 turbostat
because GNU make does not update nor guarantee that $PWD is set.
This patch changes the Makefile to use $CURDIR instead, which GNU make
guarantees to set and update (i.e. when using "make -C ...") and also
adds support for the O= option (see "make help" in your root of your
kernel source tree for more details).
Link: https://bugs.gentoo.org/show_bug.cgi?id=533918
Fixes: ee0778a30153 ("tools/power: turbostat: make Makefile a bit more
capable")
Signed-off-by: Thomas D. <whissi@xxxxxxxxx>
Cc: Mark Asselstine <mark.asselstine@xxxxxxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
commit a21d38c846fce05ef55ab240f18fb19755bed16a
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Tue Mar 24 16:37:35 2015 -0400
tools/power turbostat: modprobe msr, if needed
Some distros (Ubuntu) ship the msr driver as a module.
If turbosat is run as root on those systems, and discovers
that there is no /dev/cpu/cpu0/msr, it will now "modprobe msr"
for the user.
If not root, the modprobe attempt will fail, and turbostat will exit as
before:
turbostat: no /dev/cpu/0/msr, Try "# modprobe msr" : No such file or
directory
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
commit fcd17211bd807533f6d4be20b1a4644e9191bfe2
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Mon Mar 23 20:29:09 2015 -0400
tools/power turbostat: dump MSR_TURBO_RATIO_LIMIT2
and up to 18 cores of turbo ratio limit
when using the turbostat --debug option.
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
commit 12bb43c6150525cd53af77a1a7b9ff2752944cbd
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Mon Apr 13 16:08:18 2015 -0400
tools/power turbostat: use new MSR_TURBO_RATIO_LIMIT names
s/MSR_NHM_TURBO_RATIO_LIMIT/MSR_TURBO_RATIO_LIMIT/
s/MSR_IVT_TURBO_RATIO_LIMIT/MSR_TURBO_RATIO_LIMIT1/
syntax only -- use the documented strings describing these registers.
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
commit 34a984f7b0cc6355a1e0c184251d0d4cc86f44d2
Merge: 90d1c08 4c1eaa2
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 18 11:42:49 2015 -0400
Merge branch 'x86-pmem-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull PMEM driver from Ingo Molnar:
"This is the initial support for the pmem block device driver:
persistent non-volatile memory space mapped into the system's physical
memory space as large physical memory regions.
The driver is based on Intel code, written by Ross Zwisler, with fixes
by Boaz Harrosh, integrated with x86 e820 memory resource management
and tidied up by Christoph Hellwig.
Note that there were two other separate pmem driver submissions to
lkml: but apparently all parties (Ross Zwisler, Boaz Harrosh) are
reasonably happy with this initial version.
This version enables minimal support that enables persistent memory
devices out in the wild to work as block devices, identified through a
magic (non-standard) e820 flag and auto-discovered if
CONFIG_X86_PMEM_LEGACY=y, or added explicitly through manipulating the
memory maps via the "memmap=..." boot option with the new, special '!'
modifier character.
Limitations: this is a regular block device, and since the pmem areas
are not struct page backed, they are invisible to the rest of the
system (other than the block IO device), so direct IO to/from pmem
areas, direct mmap() or XIP is not possible yet. The page cache will
also shadow and double buffer pmem contents, etc.
Initial support is for x86"
* 'x86-pmem-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
drivers/block/pmem: Fix 32-bit build warning in pmem_alloc()
drivers/block/pmem: Add a driver for persistent memory
x86/mm: Add support for the non-standard protected e820 type
commit 90d1c087861dcc3d1175993fc03492c137fd21bb
Merge: 96b90f2 a6dfa12
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 18 11:31:11 2015 -0400
Merge branch 'x86-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Ingo Molnar:
"This tree includes:
- an FPU related crash fix
- a ptrace fix (with matching testcase in tools/testing/selftests/)
- an x86 Kconfig DMA-config defaults tweak to better avoid
non-working drivers"
* 'x86-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected
x86/fpu: Load xsave pointer *after* initialization
x86/ptrace: Fix the TIF_FORCED_TF logic in handle_signal()
x86, selftests: Add single_step_syscall test
commit 96b90f27bcf22f1d06cc16d9475cefa6ea4c4718
Merge: 396c9df 0c99241
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 18 11:26:46 2015 -0400
Merge branch 'perf-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf updates from Ingo Molnar:
"This update has mostly fixes, but also other bits:
- perf tooling fixes
- PMU driver fixes
- Intel Broadwell PMU driver HW-enablement for LBR callstacks
- a late coming 'perf kmem' tool update that enables it to also
analyze page allocation data. Note, this comes with MM tracepoint
changes that we believe to not break anything: because it changes
the formerly opaque 'struct page *' field that uniquely identifies
pages to 'pfn' which identifies pages uniquely too, but isn't as
opaque and can be used for other purposes as well"
* 'perf-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
perf/x86/intel/pt: Fix and clean up error handling in pt_event_add()
perf/x86/intel: Add Broadwell support for the LBR callstack
perf/x86/intel/rapl: Fix energy counter measurements but supporing per
domain energy units
perf/x86/intel: Fix Core2,Atom,NHM,WSM cycles:pp events
perf/x86: Fix hw_perf_event::flags collision
perf probe: Fix segfault when probe with lazy_line to file
perf probe: Find compilation directory path for lazy matching
perf probe: Set retprobe flag when probe in address-based alternative
mode
perf kmem: Analyze page allocator events also
tracing, mm: Record pfn instead of pointer to struct page
commit 396c9df2231865ef55aa031e3f5df9d99e036869
Merge: 8f502d5b 8053871
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 18 11:23:42 2015 -0400
Merge branch 'locking-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull locking fixes from Ingo Molnar:
"Two fixes: an smp-call fix and a lockdep fix"
* 'locking-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
smp: Fix smp_call_function_single_async() locking
lockdep: Make print_lock() robust against concurrent release
commit 8f502d5b9e3362971f58dad5d468f070340336e1
Merge: 06a60de e0c9c0a
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 18 11:20:31 2015 -0400
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
Pull usernamespace mount fixes from Eric Biederman:
"Way back in October Andrey Vagin reported that umount(MNT_DETACH)
could be used to defeat MNT_LOCKED. As I worked to fix this I
discovered that combined with mount propagation and an appropriate
selection of shared subtrees a reference to a directory on an
unmounted filesystem is not necessary.
That MNT_DETACH is allowed in user namespace in a form that can break
MNT_LOCKED comes from my early misunderstanding what MNT_DETACH does.
To avoid breaking existing userspace the conflict between MNT_DETACH
and MNT_LOCKED is fixed by leaving mounts that are locked to their
parents in the mount hash table until the last reference goes away.
While investigating this issue I also found an issue with
__detach_mounts. The code was unnecessarily and incorrectly
triggering mount propagation. Resulting in too many mounts going away
when a directory is deleted, and too many cpu cycles are burned while
doing that.
Looking some more I realized that __detach_mounts by only keeping
mounts connected that were MNT_LOCKED it had the potential to still
leak information so I tweaked the code to keep everything locked
together that possibly could be.
This code was almost ready last cycle but Al invented fs_pin which
slightly simplifies this code but required rewrites and retesting, and
I have not been in top form for a while so it took me a while to get
all of that done. Similiarly this pull request is late because I have
been feeling absolutely miserable all week.
The issue of being able to escape a bind mount has not yet been
addressed, as the fixes are not yet mature"
* 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
mnt: Update detach_mounts to leave mounts connected
mnt: Fix the error check in __detach_mounts
mnt: Honor MNT_LOCKED when detaching mounts
fs_pin: Allow for the possibility that m_list or s_list go unused.
mnt: Factor umount_mnt from umount_tree
mnt: Factor out unhash_mnt from detach_mnt and umount_tree
mnt: Fail collect_mounts when applied to unmounted mounts
mnt: Don't propagate unmounts to locked mounts
mnt: On an unmount propagate clearing of MNT_LOCKED
mnt: Delay removal from the mount hash.
mnt: Add MNT_UMOUNT flag
mnt: In umount_tree reuse mnt_list instead of mnt_hash
mnt: Don't propagate umounts in __detach_mounts
mnt: Improve the umount_tree flags
mnt: Use hlist_move_list in namespace_unlock
commit 06a60deca87dba8e2c186ea7f12ea87d6785188e
Merge: d6a24d0 1002755
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 18 11:17:20 2015 -0400
Merge tag 'for-f2fs-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
Pull f2fs updates from Jaegeuk Kim:
"New features:
- in-memory extent_cache
- fs_shutdown to test power-off-recovery
- use inline_data to store symlink path
- show f2fs as a non-misc filesystem
Major fixes:
- avoid CPU stalls on sync_dirty_dir_inodes
- fix some power-off-recovery procedure
- fix handling of broken symlink correctly
- fix missing dot and dotdot made by sudden power cuts
- handle wrong data index during roll-forward recovery
- preallocate data blocks for direct_io
... and a bunch of minor bug fixes and cleanups"
* tag 'for-f2fs-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (71 commits)
f2fs: pass checkpoint reason on roll-forward recovery
f2fs: avoid abnormal behavior on broken symlink
f2fs: flush symlink path to avoid broken symlink after POR
f2fs: change 0 to false for bool type
f2fs: do not recover wrong data index
f2fs: do not increase link count during recovery
f2fs: assign parent's i_mode for empty dir
f2fs: add F2FS_INLINE_DOTS to recover missing dot dentries
f2fs: fix mismatching lock and unlock pages for roll-forward recovery
f2fs: fix sparse warnings
f2fs: limit b_size of mapped bh in f2fs_map_bh
f2fs: persist system.advise into on-disk inode
f2fs: avoid NULL pointer dereference in f2fs_xattr_advise_get
f2fs: preallocate fallocated blocks for direct IO
f2fs: enable inline data by default
f2fs: preserve extent info for extent cache
f2fs: initialize extent tree with on-disk extent info of inode
f2fs: introduce __{find,grab}_extent_tree
f2fs: split set_data_blkaddr from f2fs_update_extent_cache
f2fs: enable fast symlink by utilizing inline data
...
commit d6a24d0640d609138a4e40a4ce9fd9fe7859e24c
Merge: 1f5014d 1971754
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 18 11:10:49 2015 -0400
Merge tag 'docs-for-linus' of git://git.lwn.net/linux-2.6
Pull documentation updates from Jonathan Corbet:
"Numerous fixes, the overdue removal of the i2o docs, some new Chinese
translations, and, hopefully, the README fix that will end the flow of
identical patches to that file"
* tag 'docs-for-linus' of git://git.lwn.net/linux-2.6: (34 commits)
Documentation/memcg: update memcg/kmem status
Documentation: blackfin: Makefile: Typo building issue
Documentation/vm/pagemap.txt: correct location of page-types tool
Documentation/memory-barriers.txt: typo fix
doc: Add guest_nice column to example output of `cat /proc/stat'
Documentation/kernel-parameters: Move "eagerfpu" to its right place
Documentation: gpio: Update ACPI part of the document to mention _DSD
docs/completion.txt: Various tweaks and corrections
doc: completion: context, scope and language fixes
Documentation:Update Documentation/zh_CN/arm64/memory.txt
Documentation:Update Documentation/zh_CN/arm64/booting.txt
Documentation: Chinese translation of arm64/legacy_instructions.txt
DocBook media: fix broken EIA hyperlink
Documentation: tweak the maintainers entry
README: Change gzip/bzip2 to xz compression format
README: Update version number reference
doc:pci: Fix typo in Documentation/PCI
Documentation: drm: Use '->' when describing access through pointers.
Documentation: Remove mentioning of block barriers
Documentation/email-clients.txt: Fix one grammar mistake, add extra
info about TB
...
commit 1f5014d6a77513fa7cefe30eb7791d5856c04384
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Fri Apr 17 22:34:18 2015 +0200
Bluetooth: hidp: Fix regression with older userspace and flags validation
While it is not used by newer userspace anymore, the older userspace was
utilizing HIDP_VIRTUAL_CABLE_UNPLUG and HIDP_BOOT_PROTOCOL_MODE flags
when adding a new HIDP connection.
The flags validation is important, but we can not break older userspace
and with that allow providing these flags even if newer userspace does
not use them anymore.
Reported-and-tested-by: Jörg Otte <jrg.otte@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit cb0f3f320d64831afb39940863c5927d6af25514
Merge: 078838d 8d7dc92
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Sat Apr 18 14:49:41 2015 +0200
Merge branch 'for-mingo' of
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/urgent
Pull RCU fix from Paul E. McKenney:
"This series contains a single change that fixes Kconfig asking pointless
questions."
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a6dfa128ce5c414ab46b1d690f7a1b8decb8526d
Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Date: Fri Apr 17 15:04:48 2015 -0400
config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected
A huge amount of NIC drivers use the DMA API, however if
compiled under 32-bit an very important part of the DMA API can
be ommitted leading to the drivers not working at all
(especially if used with 'swiotlb=force iommu=soft').
As Prashant Sreedharan explains it: "the driver [tg3] uses
DEFINE_DMA_UNMAP_ADDR(), dma_unmap_addr_set() to keep a copy of
the dma "mapping" and dma_unmap_addr() to get the "mapping"
value. On most of the platforms this is a no-op, but ... with
"iommu=soft and swiotlb=force" this house keeping is required,
... otherwise we pass 0 while calling pci_unmap_/pci_dma_sync_
instead of the DMA address."
As such enable this even when using 32-bit kernels.
Reported-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Acked-by: David S. Miller <davem@xxxxxxxxxxxxx>
Acked-by: Prashant Sreedharan <prashant@xxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Michael Chan <mchan@xxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: boris.ostrovsky@xxxxxxxxxx
Cc: cascardo@xxxxxxxxxxxxxxxxxx
Cc: david.vrabel@xxxxxxxxxx
Cc: sanjeevb@xxxxxxxxxxxx
Cc: siva.kallam@xxxxxxxxxxxx
Cc: vyasevich@xxxxxxxxx
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Link: http://lkml.kernel.org/r/20150417190448.GA9462@xxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 7505256626b0b3d11ea5a3ec1a89046d07c3c366
Merge: 510965d a2166ca
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 18 08:30:10 2015 -0400
Merge tag 'devicetree-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux
Pull devicetree changes from Grant Likely:
"Here are the devicetree changes queued up for v4.1. Nothing really
exciting here. Rob has another few commits for big-endian attached
UARTs, but those will be sent in a separate merge request since they
haven't been as thoroughly tested as this batch.
Here are the highlights:
- lots of unittest cleanup from Frank Rowand
- bugfixes and updates to the of_graph code
- tighten up of_get_mac_address() code
- documentation updates"
* tag 'devicetree-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux:
of/unittest: Fix of_platform_depopulate test case
of/unittest: early return from test skips tests
of/unittest: breadcrumbs to reduce pain of future maintainers
of/unittest: reduce checkpatch noise - line after declarations
of/unittest: typo in error string
of/unittest: add const where needed
of_net: factor out repetitive code from of_get_mac_address()
drivers/of: Add empty ranges quirk for PA-Semi
of: Allow selection of OF_DYNAMIC and OF_OVERLAY if OF_UNITTEST
of: Empty node & property flag accessors when !OF
of: Explicitly include linux/types.h in of_graph.h
dt-bindings: brcm: rationalize Broadcom documentation naming
of/unittest: replace 'selftest' with 'unittest'
Documentation: rename of_selftest.txt to of_unittest.txt
Documentation: update the of_selftest.txt
dt: OF_UNITTEST make dependency broken
MAINTAINERS: Pantelis Antoniou device tree overlay maintainer
of: Add of_graph_get_port_by_id function
of: Add for_each_endpoint_of_node helper macro
of: Decrement refcount of previous endpoint in
of_graph_get_next_endpoint
commit 510965dd4a0a59504ba38455f77339ea8b4c6a70
Merge: 40d7839 03daa6f
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 18 08:22:10 2015 -0400
Merge tag 'gpio-v4.1-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio
Pull GPIO updates from Linus Walleij:
"This is the bulk of GPIO changes for the v4.1 development cycle:
- A new GPIO hogging mechanism has been added. This can be used on
boards that want to drive some GPIO line high, low, or set it as
input on boot and then never touch it again. For some embedded
systems this is bliss and simplifies things to a great extent.
- Some API cleanup and closure: gpiod_get_array() and
gpiod_put_array() has been added to get and put GPIOs in bulk as
was possible with the non-descriptor API.
- Encapsulate cross-calls to the pin control subsystem in
<linux/gpio/driver.h>. Now this should be the only header any GPIO
driver needs to include or something is wrong. Cleanups
restricting drivers to this include are welcomed if tested.
- Sort the GPIO Kconfig and split it into submenus, as it was
becoming and unstructured, illogical and unnavigatable mess. I
hope this is easier to follow. Menus that require a certain
subsystem like I2C can now be hidden nicely for example, still
working on others.
- New drivers:
- New driver for the Altera Soft GPIO.
- The F7188x driver now handles the F71869 and F71869A variants.
- The MIPS Loongson driver has been moved to drivers/gpio for
consolidation and cleanup.
- Cleanups:
- The MAX732x is converted to use the GPIOLIB_IRQCHIP
infrastructure.
- The PCF857x is converted to use the GPIOLIB_IRQCHIP
infrastructure.
- Radical cleanup of the OMAP driver.
- Misc:
- Enable the DWAPB GPIO for all architectures. This is a "hard
IP" block from Synopsys which has started to turn up in so
diverse architectures as X86 Quark, ARC and a slew of ARM
systems. So even though it's not an expander, it's generic
enough to be available for all.
- We add a mock GPIO on Crystalcove PMIC after a long discussion
with Daniel Vetter et al, tracing back to the shootout at the
kernel summit where DRM drivers and sub-componentization was
discussed. In this case a mock GPIO is assumed to be the best
compromise gaining some reuse of infrastructure without making
DRM drivers overly complex at the same time. Let's see"
* tag 'gpio-v4.1-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (62 commits)
Revert "gpio: sch: use uapi/linux/pci_ids.h directly"
gpio: dwapb: remove dependencies
gpio: dwapb: enable for ARC
gpio: removing kfree remove functionality
gpio: mvebu: Fix mask/unmask managment per irq chip type
gpio: split GPIO drivers in submenus
gpio: move MFD GPIO drivers under their own comment
gpio: move BCM Kona Kconfig option
gpio: arrange SPI Kconfig symbols alphabetically
gpio: arrange PCI GPIO controllers alphabetically
gpio: arrange I2C Kconfig symbols alphabetically
gpio: arrange Kconfig symbols alphabetically
gpio: ich: Implement get_direction function
gpio: use (!foo) instead of (foo == NULL)
gpio: arizona: drop owner assignment from platform_drivers
gpio: max7300: remove 'ret' variable
gpio: use devm_kzalloc
gpio: sch: use uapi/linux/pci_ids.h directly
gpio: x-gene: fix devm_ioremap_resource() check
gpio: loongson: Add Loongson-3A/3B GPIO driver support
...
commit 40d7839879b4584f91522d841afb22ed401cf40f
Merge: afad97e c1c21f4
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 18 08:19:04 2015 -0400
Merge branch 'i2c/for-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c fixes from Wolfram Sang:
"Two buildfixes for I2C based on your tree from the day before
yesterday. Sadly, these build errors never reached me while the
patches were sitting in -next. Need to fix that"
* 'i2c/for-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
i2c: core: Export bus recovery functions
i2c: jz4780: Fix build for m68k and sparc64
commit afad97eee47c1f1f242202e2473929b4ef5d9f43
Merge: 04b7fe6 44c144f
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 18 08:14:18 2015 -0400
Merge tag 'dm-4.1-changes' of
git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
Pull device mapper updates from Mike Snitzer:
- the most extensive changes this cycle are the DM core improvements to
add full blk-mq support to request-based DM.
- disabled by default but user can opt-in with CONFIG_DM_MQ_DEFAULT
- depends on some blk-mq changes from Jens' for-4.1/core branch so
that explains why this pull is built on linux-block.git
- update DM to use name_to_dev_t() rather than open-coding a less
capable device parser.
- includes a couple small improvements to name_to_dev_t() that offer
stricter constraints that DM's code provided.
- improvements to the dm-cache "mq" cache replacement policy.
- a DM crypt crypt_ctr() error path fix and an async crypto deadlock
fix
- a small efficiency improvement for DM crypt decryption by leveraging
immutable biovecs
- add error handling modes for corrupted blocks to DM verity
- a new "log-writes" DM target from Josef Bacik that is meant for file
system developers to test file system integrity at particular points
in the life of a file system
- a few DM log userspace cleanups and fixes
- a few Documentation fixes (for thin, cache, crypt and switch)
* tag 'dm-4.1-changes' of
git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (34
commits)
dm crypt: fix missing error code return from crypt_ctr error path
dm crypt: fix deadlock when async crypto algorithm returns -EBUSY
dm crypt: leverage immutable biovecs when decrypting on read
dm crypt: update URLs to new cryptsetup project page
dm: add log writes target
dm table: use bool function return values of true/false not 1/0
dm verity: add error handling modes for corrupted blocks
dm thin: remove stale 'trim' message documentation
dm delay: use msecs_to_jiffies for time conversion
dm log userspace base: fix compile warning
dm log userspace transfer: match wait_for_completion_timeout return type
dm table: fall back to getting device using name_to_dev_t()
init: stricter checking of major:minor root= values
init: export name_to_dev_t and mark name argument as const
dm: add 'use_blk_mq' module param and expose in per-device ro sysfs attr
dm: optimize dm_mq_queue_rq to _not_ use kthread if using pure blk-mq
dm: add full blk-mq support to request-based DM
dm: impose configurable deadline for dm_request_fn's merge heuristic
dm sysfs: introduce ability to add writable attributes
dm: don't start current request if it would've merged with the previous
...
commit 0c99241c93b8060441f3c8434848e54b5338f922
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Thu Apr 16 12:38:30 2015 +0200
perf/x86/intel/pt: Fix and clean up error handling in pt_event_add()
Dan Carpenter reported that pt_event_add() has buggy
error handling logic: it returns 0 instead of -EBUSY when
it fails to start a newly added event.
Furthermore, the control flow in this function is messy,
with cleanup labels mixed with direct returns.
Fix the bug and clean up the code by converting it to
a straight fast path for the regular non-failing case,
plus a clear sequence of cascading goto labels to do
all cleanup.
NOTE: I materially changed the existing clean up logic in the
pt_event_start() failure case to use the direct
perf_aux_output_end() path, not pt_event_del(), because
perf_aux_output_end() is enough here.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Acked-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Julia Lawall <julia.lawall@xxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150416103830.GB7847@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit bc26d4d06e337ade069f33d3f4377593b24e6e36
Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>
Date: Sat Apr 18 02:53:25 2015 +0300
sound/oss: fix deadlock in sequencer_ioctl(SNDCTL_SEQ_OUTOFBAND)
A deadlock can be initiated by userspace via ioctl(SNDCTL_SEQ_OUTOFBAND)
on /dev/sequencer with TMR_ECHO midi event.
In this case the control flow is:
sound_ioctl()
-> case SND_DEV_SEQ:
case SND_DEV_SEQ2:
sequencer_ioctl()
-> case SNDCTL_SEQ_OUTOFBAND:
spin_lock_irqsave(&lock,flags);
play_event();
-> case EV_TIMING:
seq_timing_event()
-> case TMR_ECHO:
seq_copy_to_input()
-> spin_lock_irqsave(&lock,flags);
It seems that spin_lock_irqsave() around play_event() is not necessary,
because the only other call location in seq_startplay() makes the call
without acquiring spinlock.
So, the patch just removes spinlocks around play_event().
By the way, it removes unreachable code in seq_timing_event(),
since (seq_mode == SEQ_2) case is handled in the beginning.
Compile tested only.
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 43c499dc2778b96e21ed14e1a71e7b117a0b406f
Author: Vinod Koul <vinod.koul@xxxxxxxxx>
Date: Fri Apr 17 22:53:32 2015 +0530
ALSA: asound.h - use SNDRV_CTL_ELEM_ID_NAME_MAXLEN
we have defined SNDRV_CTL_ELEM_ID_NAME_MAXLEN as size of name array so use
this define instead of numeric value
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 5d38000b3c97a1079734c0b4c5f87d5b935318cd
Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx>
Date: Fri Apr 17 21:51:38 2015 +0100
ARM: 8342/1: VDSO: depend on CPU_V7
When targeting ARMv3 (e.g. rpc) and enabling CONFIG_VDSO we get:
arch/arm/vdso/datapage.S:13: Error: selected processor does not
support ARM mode `bx lr'
One fix considered was to use 'ldr pc,lr' for such configurations, but
since the VDSO is unlikely to be useful for pre-v7 hardware, just make
it depend on CONFIG_CPU_V7.
Reported-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx>
Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 04b7fe6a4a231871ef681bc95e08fe66992f7b1f
Merge: 388f997 d681f11
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 17 16:36:59 2015 -0400
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide
Pull IDE update from David Miller:
"Just one change, getting rid of usage of the deprecated PCI DMA
interfaces in the IDE drivers"
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
ide: remove deprecated use of pci api
commit 388f997620cb57372c494a194e9698b28cc179b8
Merge: e2fdae7 e3122b7
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 17 16:31:08 2015 -0400
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller:
1) Fix verifier memory corruption and other bugs in BPF layer, from
Alexei Starovoitov.
2) Add a conservative fix for doing BPF properly in the BPF classifier
of the packet scheduler on ingress. Also from Alexei.
3) The SKB scrubber should not clear out the packet MARK and security
label, from Herbert Xu.
4) Fix oops on rmmod in stmmac driver, from Bryan O'Donoghue.
5) Pause handling is not correct in the stmmac driver because it
doesn't take into consideration the RX and TX fifo sizes. From
Vince Bridgers.
6) Failure path missing unlock in FOU driver, from Wang Cong.
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits)
net: dsa: use DEVICE_ATTR_RW to declare temp1_max
netns: remove BUG_ONs from net_generic()
IB/ipoib: Fix ndo_get_iflink
sfc: Fix memcpy() with const destination compiler warning.
altera tse: Fix network-delays and -retransmissions after high
throughput.
net: remove unused 'dev' argument from netif_needs_gso()
act_mirred: Fix bogus header when redirecting from VLAN
inet_diag: fix access to tcp cc information
tcp: tcp_get_info() should fetch socket fields once
net: dsa: mv88e6xxx: Add missing initialization in
mv88e6xxx_set_port_state()
skbuff: Do not scrub skb mark within the same name space
Revert "net: Reset secmark when scrubbing packet"
bpf: fix two bugs in verification logic when accessing 'ctx' pointer
bpf: fix bpf helpers to use skb->mac_header relative offsets
stmmac: Configure Flow Control to work correctly based on rxfifo size
stmmac: Enable unicast pause frame detect in GMAC Register 6
stmmac: Read tx-fifo-depth and rx-fifo-depth from the devicetree
stmmac: Add defines and documentation for enabling flow control
stmmac: Add properties for transmit and receive fifo sizes
stmmac: fix oops on rmmod after assigning ip addr
...
commit e2fdae7e7c5a690b10b2d2891ec819e554dc033d
Merge: 6b6e177 cb97201
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 17 16:19:26 2015 -0400
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
Pull sparc updates from David Miller:
"The PowerPC folks have a really nice scalable IOMMU pool allocator
that we wanted to make use of for sparc. So here we have a series
that abstracts out their code into a common layer that anyone can make
use of.
Sparc is converted, and the PowerPC folks have reviewed and ACK'd this
series and plan to convert PowerPC over as well"
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
iommu-common: Fix PARISC compile-time warnings
sparc: Make LDC use common iommu poll management functions
sparc: Make sparc64 use scalable lib/iommu-common.c functions
sparc: Break up monolithic iommu table/lock into finer graularity pools
and lock
commit 6b6e177d632ee251c7c78d8f266a851ab9704879
Merge: bfaf245 128f3cb
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 17 16:03:05 2015 -0400
Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
Pull arch/tile updates from Chris Metcalf:
"These are mostly nohz_full changes, plus a smattering of minor fixes
(notably a couple for ftrace)"
* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
tile: nohz: warn if nohz_full uses hypervisor shared cores
tile: ftrace: fix function_graph tracer issues
tile: map data region shadow of kernel as R/W
tile: support CONTEXT_TRACKING and thus NOHZ_FULL
tile: support arch_irq_work_raise
arch: tile: fix null pointer dereference on pt_regs pointer
tile/elf: reorganize notify_exec()
tile: use si_int instead of si_ptr for compat_siginfo
commit e3122b7fae7b4e3d1d49fa84f6515bcbe6cbc6fc
Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 17 15:12:25 2015 -0400
net: dsa: use DEVICE_ATTR_RW to declare temp1_max
Since commit da4759c (sysfs: Use only return value from is_visible for
the file mode), it is possible to reduce the permissions of a file.
So declare temp1_max with the DEVICE_ATTR_RW macro and remove the write
permission in dsa_hwmon_attrs_visible if set_temp_limit isn't provided.
Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit bfaf245022b4b8661af2e35f467cf0e91943c24c
Merge: 96d928e 3e20a26
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 17 15:50:54 2015 -0400
Merge branch 'upstream' of
git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Pull MIPS updates from Ralf Baechle:
"This is the main pull request for MIPS for Linux 4.1. Most
noteworthy:
- Add more Octeon-optimized crypto functions
- Octeon crypto preemption and locking fixes
- Little endian support for Octeon
- Use correct CSR to soft reset Octeons
- Support LEDs on the Octeon-based DSR-1000N
- Fix PCI interrupt mapping for the Octeon-based DSR-1000N
- Mark prom_free_prom_memory() as __init for a number of systems
- Support for Imagination's Pistachio SOC. This includes arch and
CLK bits. I'd like to merge pinctrl bits later
- Improve parallelism of csum_partial for certain pipelines
- Organize DTB files in subdirs like other architectures
- Implement read_sched_clock for all MIPS platforms other than
Octeon
- Massive series of 38 fixes and cleanups for the FPU emulator /
kernel
- Further FPU remulator work to support new features. This sits on a
separate branch which also has been pulled into the 4.1 KVM branch
- Clean up and fixes for the SEAD3 eval board; remove unused file
- Various updates for Netlogic platforms
- A number of small updates for Loongson 3 platforms
- Increase the memory limit for ATH79 platforms to 256MB
- A fair number of fixes and updates for BCM47xx platforms
- Finish the implementation of XPA support
- MIPS FDC support. No, not floppy controller but Fast Debug Channel
:)
- Detect the R16000 used in SGI legacy platforms
- Fix Kconfig dependencies for the SSB bus support"
* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
(265 commits)
MIPS: Makefile: Fix MIPS ASE detection code
MIPS: asm: elf: Set O32 default FPU flags
MIPS: BCM47XX: Fix detecting Microsoft MN-700 & Asus WL500G
MIPS: Kconfig: Disable SMP/CPS for 64-bit
MIPS: Hibernate: flush TLB entries earlier
MIPS: smp-cps: cpu_set FPU mask if FPU present
MIPS: lose_fpu(): Disable FPU when MSA enabled
MIPS: ralink: add missing symbol for RALINK_ILL_ACC
MIPS: ralink: Fix bad config symbol in PCI makefile.
SSB: fix Kconfig dependencies
MIPS: Malta: Detect and fix bad memsize values
Revert "MIPS: Avoid pipeline stalls on some MIPS32R2 cores."
MIPS: Octeon: Delete override of cpu_has_mips_r2_exec_hazard.
MIPS: Fix cpu_has_mips_r2_exec_hazard.
MIPS: kernel: entry.S: Set correct ISA level for mips_ihb
MIPS: asm: spinlock: Fix addiu instruction for R10000_LLSC_WAR case
MIPS: r4kcache: Use correct base register for MIPS R6 cache flushes
MIPS: Kconfig: Fix typo for the r2-to-r6 emulator kernel parameter
MIPS: unaligned: Fix regular load/store instruction emulation for EVA
MIPS: unaligned: Surround load/store macros in do {} while statements
...
commit 96d928ed75c4ba4253e82910a697ec7b06ace8b4
Merge: e076b7c 2ba9268
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 17 15:32:30 2015 -0400
Merge tag 'xtensa-20150416' of git://github.com/czankel/xtensa-linux
Pull Xtensa updates from Chris Zankel:
- fix linker script transformation for .text / .text.fixup
- wire bpf and execveat syscalls
- provide __NR_sync_file_range2 instead of __NR_sync_file_range, as
that's what xtensa uses.
- make xtfpgs LCD driver functional and configurable. This fixes
hardware lockup on KC705/ML605 boot
- add audio subsystem bits to xtfpga DTS and provide sample KC705
config with audio features enabled
- add CY7C67300 USB controller support to XTFPGA
- fix locking issues in ISS network driver
- document PIC and MX interrupt distributor device tree bindings
* tag 'xtensa-20150416' of git://github.com/czankel/xtensa-linux:
xtensa: xtfpga: add CY7C67300 USB controller support
irqchip: xtensa-pic: xtensa-mx: document DT bindings
xtensa: ISS: fix locking in TAP network adapter
xtensa: Fix fix linker script transformation for .text / .text.fixup
xtensa: provide __NR_sync_file_range2 instead of __NR_sync_file_range
xtensa: wire bpf and execveat syscalls
xtensa: xtfpga: fix hardware lockup caused by LCD driver
xtensa: xtfpga: provide defconfig with audio subsystem
xtensa: xtfpga: add audio card to xtfpga DTS
commit d681f1166919d6829083c069a83edcd59bfd5e34
Author: Quentin Lambert <lambert.quentin@xxxxxxxxx>
Date: Mon Apr 13 10:26:53 2015 +0200
ide: remove deprecated use of pci api
Replace occurences of the pci api by appropriate call to the dma api.
A simplified version of the semantic patch that finds this problem is as
follows: (http://coccinelle.lip6.fr)
@deprecated@
idexpression id;
position p;
@@
(
pci_dma_supported@p ( id, ...)
|
pci_alloc_consistent@p ( id, ...)
)
@bad1@
idexpression id;
position deprecated.p;
@@
...when != &id->dev
when != pci_get_drvdata ( id )
when != pci_enable_device ( id )
(
pci_dma_supported@p ( id, ...)
|
pci_alloc_consistent@p ( id, ...)
)
@depends on !bad1@
idexpression id;
expression direction;
position deprecated.p;
@@
(
- pci_dma_supported@p ( id,
+ dma_supported ( &id->dev,
...
+ , GFP_ATOMIC
)
|
- pci_alloc_consistent@p ( id,
+ dma_alloc_coherent ( &id->dev,
...
+ , GFP_ATOMIC
)
)
Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit cb97201cb060d13da0b87fd1bf68208c7389c5b1
Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Date: Thu Apr 16 22:28:04 2015 -0400
iommu-common: Fix PARISC compile-time warnings
Fixes warnings due to
- no DMA_ERROR_CODE on PARISC,
- sizeof (unsigned long) == 4 bytes on PARISC.
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2591ffd3085e34a231480efe8f1cac83ebb81725
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Fri Apr 17 19:06:30 2015 +0200
netns: remove BUG_ONs from net_generic()
This inline has ~500 callsites.
On 04/14/2015 08:37 PM, David Miller wrote:
> That BUG_ON() was added 7 years ago, and I don't remember it ever
> triggering or helping us diagnose something, so just remove it and
> keep the function inlined.
On x86 allyesconfig build:
text data bss dec hex filename
82447071 22255384 20627456 125329911 77861f7 vmlinux4
82441375 22255384 20627456 125324215 7784bb7 vmlinux5prime
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
CC: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
CC: David S. Miller <davem@xxxxxxxxxxxxx>
CC: Jan Engelhardt <jengelh@xxxxxxxxxx>
CC: Jiri Pirko <jpirko@xxxxxxxxxx>
CC: linux-kernel@xxxxxxxxxxxxxxx
CC: netdev@xxxxxxxxxxxxxxx
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2c1539597419df6dfeb8ed774d60198b5830b8f7
Author: Erez Shitrit <erezsh@xxxxxxxxxxxx>
Date: Thu Apr 16 16:34:34 2015 +0300
IB/ipoib: Fix ndo_get_iflink
Currently, iflink of the parent interface was always accessed, even
when interface didn't have a parent and hence we crashed there.
Handle the interface types properly: for a child interface, return
the ifindex of the parent, for parent interface, return its ifindex.
For child devices, make sure to set the parent pointer prior to
invoking register_netdevice(), this allows the new ndo to be called
by the stack immediately after the child device is registered.
Fixes: 5aa7add8f14b ('infiniband/ipoib: implement ndo_get_iflink')
Reported-by: Honggang Li <honli@xxxxxxxxxx>
Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx>
Signed-off-by: Honggang Li <honli@xxxxxxxxxx>
Reviewed-By: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx>+
Acked-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1d20a16062e771b6e26b843c0cde3b17c1146e00
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri Apr 17 15:15:40 2015 -0400
sfc: Fix memcpy() with const destination compiler warning.
drivers/net/ethernet/sfc/selftest.c: In function â??efx_iterate_stateâ??:
drivers/net/ethernet/sfc/selftest.c:388:9: warning: passing argument 1 of
â??memcpyâ?? discards â??constâ?? qualifier from pointer target type
[-Wdiscarded-array-qualifiers]
This is because the msg[] member of struct efx_loopback_payload
is marked as 'const'. Remove that.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 93ea337852d6c9f292e2ccfc394be0f2859b99ae
Author: Andreas Oetken <andreas@xxxxxxxxxxx>
Date: Thu Apr 16 23:48:08 2015 +0200
altera tse: Fix network-delays and -retransmissions after high throughput.
Fix bug which occurs when more than <limit> packets are available during
napi-poll, leading to "delays" and retransmissions on the network.
Check for (count < limit) before checking the get_rx_status in
tse_rx-function.
Function get_rx_status is reading from the response-fifo.
If there is currently a response in the fifo,
reading the last byte of the response pops the value from the fifo.
If the limit is checked as second condition
and the limit is reached the fifo is popped but the packet is not
processed.
Signed-off-by: Andreas Oetken <ennoerlangen@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e076b7c1343e0810880e6b909445f06921f31067
Merge: 0f5abd4 569fd0c
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 17 15:09:51 2015 -0400
Merge branch 'for-linus' of git://git.kernel.dk/linux-block
Pull block core fix from Jens Axboe:
"A commit in the previous pull request introduce a regression. So far
only observed on qemu-sparc64, but it's a general bug. Please pull
this single fix to rectify that, thanks"
[ And it turns out that it's been seen outside of that qemu-sparc64
case, and is easy to trigger with small number of CPUs and blk-mq
enabled by default - Linus ]
* 'for-linus' of git://git.kernel.dk/linux-block:
blk-mq: fix iteration of busy bitmap
commit 0f5abd4020bfd2b1eec6975b91bd5068aa674a93
Merge: 54e514b 0ee0d34
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 17 15:01:29 2015 -0400
Merge tag 'acpica-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull ACPICA updates from Rafael Wysocki:
"This updates the kernel's ACPICA code to upstream revision 20150410
and adds a fix for a GPE handling regression introduced during the
3.19 cycle on top of that.
Included are two stable-candidate bug fixes (one of them fixing a 3.16
regression), multiple other fixes and a bunch of cleanups.
Specifics:
- Fix for a GPE handling regression on Dell Latitude D600 that caused
GPE signaling to stop working on that machine, which appears to be
due to a hardware glitch, but it used to work and it can be made
work again in a relativly straightforward way (Rafael J Wysocki).
- Fix for a mutex unlock regression related to the handling of ACPI
tables introduced during the 3.16 development cycle (Octavian
Purdila).
- _REV modification to always return 2 which has been done by all
versions of Windows since NT and the firmware people started to use
it to distinguish between OSes in their AML and do some silly and
wrong things on that basis (Bob Moore).
- Fixes and cleanups related to the acpi_physicall_address data type
including one stable-candidate fix for an issue occasionally
occuring on 64-bit machines running 32-bit kernels where using
offsets provided by the firmware may lead to address overflows (Lv
Zheng).
- External() opcode support infrastructure needed for recompiling
disassembled ACPI tables in some cases including interpreter
modification to ignore that opcode (Bob Moore).
- Support for the "Windows 2015" string in _OSI (Bob Moore).
- GPE debug interface change to return values read from hardware
registers (Lv Zheng).
- Removal of the __DATE__ macro usage in tools (Rasmus Villemoes).
- Assorted minor fixes and cleanups (Lv Zheng, Rickard Strandqvist,
Bob Moore)"
* tag 'acpica-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits)
ACPICA: Store GPE register enable masks upfront
ACPICA: Update version to 20150410.
ACPICA: Fix a couple issues with the local printf module.
ACPICA: Disassembler: Some cleanup of the table dump module.
ACPICA: iASL: Add support for MSDM ACPI table.
ACPICA: Update for SLIC ACPI table.
ACPICA: Add "//" before ascii output of buffers.
ACPICA: Remove unused internal AML opcode.
ACPICA: Permanently set _REV to the value '2'.
ACPICA: Add "Windows 2015" string to _OSI support.
ACPICA: Add infrastructure for External() opcode.
ACPICA: iASL: Enhancement for constant folding.
ACPICA: iASL/Disassembler: Add option to assume table contains valid
AML.
ACPICA: Update AML Debugger global variables.
ACPICA: Update Resource descriptor dump module.
ACPICA: Fix a sscanf format string.
ACPICA: Casting changes around acpi_physical_address/acpi_size.
ACPICA: Resources: Correct conditional compilation definitions.
ACPICA: Utilities: Correct conditional compilation definitions.
ACPICA: Tables: Move an iasl specific table function to iasl source
file.
...
commit 7d3beab16dd9eee86bb1a4dd05b51159fc7772f0
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Sat Apr 11 00:27:58 2015 +0200
dmaengine: shdmac: avoid unused variable warnings
This driver uses '#ifdef CONFIG_ARCH_SHMOBILE' and '#ifdef CONFIG_ARM'
interchangeably in its sh_dmae_probe function, which causes a build
warning when building for ARM without also enabling shmobile:
dma/sh/shdmac.c: In function sh_dmae_probe:
dma/sh/shdmac.c:696:6: warning: unused variable errirq [-Wunused-variable]
dma/sh/shdmac.c:695:16: warning: unused variable irqflags
[-Wunused-variable]
dma/sh/shdmac.c: At top level:
dma/sh/shdmac.c:447:20: warning: sh_dmae_err defined but not used
[-Wunused-function]
This changes all the #ifdef to test for CONFIG_ARCH_SHMOBILE to
avoid that warning. An earlier patch from Laurent had fixed the warning
for non-ARM case, but it still remained present in ARM randconfig builds.
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Fixes: 52d6a5ee101bf ("DMA: shdma: Fix warnings due to declared but
unused symbols")
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit 11ebe4c067c7f95adff73594cb5c23f7a5c6d69e
Author: kbuild test robot <fengguang.wu@xxxxxxxxx>
Date: Sun Apr 12 02:18:34 2015 +0800
dmaengine: fix platform_no_drv_owner.cocci warnings
drivers/dma/xgene-dma.c:2079:3-8: No need to set .owner here. The core
will do it.
Remove .owner field if calls are used which set it automatically
Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci
CC: Rameshwar Prasad Sahu <rsahu@xxxxxxx>
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit 12d7b7a23694b4d3dba58d7ae971ee9120a617e5
Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>
Date: Sat Apr 11 01:28:41 2015 +0300
dmaengine: pch_dma: fix memory leak on failure path in pch_dma_probe()
Memory allocated for pch_dma is not deallocated in case of failure
in pch_dma_probe().
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit 0434a23198d6a271b70b75221c7568e60482c04e
Author: Niklas Cassel <niklas.cassel@xxxxxxxx>
Date: Tue Apr 7 16:42:45 2015 +0200
dmaengine: at_xdmac: unlock spin lock before return
Signed-off-by: Niklas Cassel <niklass@xxxxxxxx>
Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit 9c361b1afd9b4b2bba7fa1ffb080c9f5de3ff108
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Thu Apr 9 12:03:31 2015 +0300
dmaengine: xgene: devm_ioremap() returns NULL on error
The code here is checking for IS_ERR() but devm_ioremap() returns NULL
on error and not an error pointer.
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit ed1f041842f0c4226a78fcd96ccb8e6a5433ae9d
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Thu Apr 9 12:05:04 2015 +0300
dmaengine: xgene: buffer overflow in xgene_dma_init_channels()
We put 9 characters into the 8 character name[] array. Let's make the
array bigger and change the sprintf() to snprintf().
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit 128f3cb9398b5eeb4ee04b60bd5e314f5c122821
Author: Chris Metcalf <cmetcalf@xxxxxxxxxx>
Date: Mon Mar 30 16:33:00 2015 -0400
tile: nohz: warn if nohz_full uses hypervisor shared cores
The "hypervisor shared" cores are ones that the Tilera hypervisor
uses to receive interrupts to manage hypervisor-owned devices.
It's a bad idea to try to use those cores with nohz_full, since
they will get interrupted unpredictably -- and invisibly to Linux
tracing tools, since the interrupts are delivered at a higher
privilege level to the Tilera hypervisor.
Generate a clear warning at boot up that this doesn't end well
for the nohz_full cores in question.
Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx>
commit 437d3e124d25daaa671bfecfd4015ecd2503a955
Author: Tony Lu <zlu@xxxxxxxxxx>
Date: Fri Mar 27 14:46:38 2015 -0400
tile: ftrace: fix function_graph tracer issues
- Add support for ARCH_SUPPORTS_FTRACE_OPS
- Replace the instruction in ftrace_call with the bundle {move r10, lr;
jal ftrace_stub}, so that the lr contains the right value after returning
from ftrace_stub. An alternative fix might be to leave the instruction
in ftrace_call alone when it is being updated with ftrace_stub.
Signed-off-by: Tony Lu <zlu@xxxxxxxxxx>
Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx>
commit a84f24230c137a4e0ab14185e9175798ca1b0376
Author: Chris Metcalf <cmetcalf@xxxxxxxxxx>
Date: Fri Mar 27 14:35:31 2015 -0400
tile: map data region shadow of kernel as R/W
This is necessary for things like reading /proc/kcore, doing ftrace,
etc. It happens by default when using huge pages to map the kernel
data, but not when using small pages.
Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx>
commit 49e4e15619cd7cd9fc275d460fae2a95c1337fcc
Author: Chris Metcalf <cmetcalf@xxxxxxxxxx>
Date: Mon Mar 23 14:23:58 2015 -0400
tile: support CONTEXT_TRACKING and thus NOHZ_FULL
Add the TIF_NOHZ flag appropriately.
Add call to user_exit() on entry to do_work_pending() and on entry
to syscalls via do_syscall_trace_enter(), and also the top of
do_syscall_trace_exit() just because it's done in x86.
Add call to user_enter() at the bottom of do_work_pending() once we
have no more work to do before returning to userspace.
Wrap all the trap code in exception_enter() / exception_exit().
Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx>
Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
commit d7d8e892aa6fe280a2e2974d9fd1ec9253ee1a05
Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
Date: Fri Apr 3 20:20:15 2015 +0900
dmaengine: usb-dmac: Fix dereferencing freed memory 'desc'
This patch fixes an issue that the usb_dmac_desc_free() is
dereferencing freed memory 'desc' because it uses list_for_each_entry().
This function should use list_for_each_entry_safe().
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit 28591dfdd96c6289aebbf12d8eb4e5dc5ddbde97
Author: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx>
Date: Thu Apr 2 18:39:31 2015 +0300
dmaengine: sa11x0: report slave capabilities to upper layers
Fix the following warning by initializing necessary fields in the
dma_device
structure.
------------[ cut here ]------------
WARNING: CPU: 0 PID: 1 at drivers/dma/dmaengine.c:863
dma_async_device_register+0x2b4/0x4f0()
this driver doesn't support generic slave capabilities reporting
Modules linked in:
CPU: 0 PID: 1 Comm: swapper Not tainted 4.0.0-rc5+ #10
Hardware name: Sharp-Collie
[<c0105cd8>] (unwind_backtrace) from [<c0103ef8>] (show_stack+0x10/0x14)
[<c0103ef8>] (show_stack) from [<c010e9b8>]
(warn_slowpath_common+0x74/0xac)
[<c010e9b8>] (warn_slowpath_common) from [<c010ea20>]
(warn_slowpath_fmt+0x30/0x40)
[<c010ea20>] (warn_slowpath_fmt) from [<c02956fc>]
(dma_async_device_register+0x2b4/0x4f0)
[<c02956fc>] (dma_async_device_register) from [<c0296a9c>]
(sa11x0_dma_probe+0x21c/0x358)
[<c0296a9c>] (sa11x0_dma_probe) from [<c02c52c0>]
(platform_drv_probe+0x30/0x94)
[<c02c52c0>] (platform_drv_probe) from [<c02c39bc>]
(driver_probe_device+0x84/0x234)
[<c02c39bc>] (driver_probe_device) from [<c02c3c4c>]
(__driver_attach+0x98/0x9c)
[<c02c3c4c>] (__driver_attach) from [<c02c1f9c>]
(bus_for_each_dev+0x74/0xa4)
[<c02c1f9c>] (bus_for_each_dev) from [<c02c3230>]
(bus_add_driver+0x13c/0x1e8)
[<c02c3230>] (bus_add_driver) from [<c02c4260>]
(driver_register+0x78/0xf8)
[<c02c4260>] (driver_register) from [<c0100624>]
(do_one_initcall+0x84/0x1f4)
[<c0100624>] (do_one_initcall) from [<c0700e1c>]
(kernel_init_freeable+0xf8/0x1b4)
[<c0700e1c>] (kernel_init_freeable) from [<c040a920>]
(kernel_init+0x8/0xf0)
[<c040a920>] (kernel_init) from [<c01013a8>] (ret_from_fork+0x14/0x2c)
---[ end trace e188b8fe0e782e75 ]---
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx>
Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit e60841b441e1b3d176f235f36c79158dd2ed3ed8
Author: Kedareswara rao Appana <appana.durga.rao@xxxxxxxxxx>
Date: Mon Mar 30 18:48:29 2015 +0530
dmaengine: vdma: Fix compilation warnings
This patch fixes the following compilation warnings.
In file included from drivers/dma/xilinx/xilinx_vdma.c:26:0:
include/linux/dmapool.h:18:4: warning: 'struct device' declared inside
parameter list
size_t size, size_t align, size_t allocation);
^
include/linux/dmapool.h:18:4: warning: its scope is only this definition
or declaration, which is probably not what you want
include/linux/dmapool.h:31:7: warning: 'struct device' declared inside
parameter list
size_t size, size_t align, size_t allocation);
^
drivers/dma/xilinx/xilinx_vdma.c: In function
'xilinx_vdma_alloc_chan_resources':
drivers/dma/xilinx/xilinx_vdma.c:501:20: warning: passing argument 2 of
'dma_pool_create' from incompatible pointer type
chan->desc_pool = dma_pool_create("xilinx_vdma_desc_pool",
^
In file included from drivers/dma/xilinx/xilinx_vdma.c:26:0:
include/linux/dmapool.h:17:18: note: expected 'struct device *' but
argument is of type 'struct device *'
struct dma_pool *dma_pool_create(const char *name, struct device *dev, .
Signed-off-by: Kedareswara rao Appana <appanad@xxxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit 8b86a61da37cbbcf4bd6e87fda494a59b1cf16c4
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Fri Apr 17 15:45:04 2015 +0200
net: remove unused 'dev' argument from netif_needs_gso()
In commit 04ffcb255f22 ("net: Add ndo_gso_check") Tom originally
added the 'dev' argument to be able to call ndo_gso_check().
Then later, when generalizing this in commit 5f35227ea34b
("net: Generalize ndo_gso_check to ndo_features_check")
Jesse removed the call to ndo_gso_check() in netif_needs_gso()
by calling the new ndo_features_check() in a different place.
This made the 'dev' argument unused.
Remove the unused argument and go back to the code as before.
Cc: Tom Herbert <therbert@xxxxxxxxxx>
Cc: Jesse Gross <jesse@xxxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f40ae91307c275fc8b17420fa74145e9937c3c0b
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 17 13:32:09 2015 +0800
act_mirred: Fix bogus header when redirecting from VLAN
When you redirect a VLAN device to any device, you end up with
crap in af_packet on the xmit path because hard_header_len is
not equal to skb->mac_len. So the redirected packet contains
four extra bytes at the start which then gets interpreted as
part of the MAC address.
This patch fixes this by only pushing skb->mac_len. We also
need to fix ifb because it tries to undo the pushing done by
act_mirred.
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 521f1cf1dbb9d5ad858dca5dc75d1b45f64b6589
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Thu Apr 16 18:10:35 2015 -0700
inet_diag: fix access to tcp cc information
Two different problems are fixed here :
1) inet_sk_diag_fill() might be called without socket lock held.
icsk->icsk_ca_ops can change under us and module be unloaded.
-> Access to freed memory.
Fix this using rcu_read_lock() to prevent module unload.
2) Some TCP Congestion Control modules provide information
but again this is not safe against icsk->icsk_ca_ops
change and nla_put() errors were ignored. Some sockets
could not get the additional info if skb was almost full.
Fix this by returning a status from get_info() handlers and
using rcu protection as well.
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit fad9dfefea6405039491e7e4fc21fb6e59e7d26c
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Thu Apr 16 16:12:28 2015 -0700
tcp: tcp_get_info() should fetch socket fields once
tcp_get_info() can be called without holding socket lock,
so any socket fields can change under us.
Use READ_ONCE() to fetch sk_pacing_rate and sk_max_pacing_rate
Fixes: 977cb0ecf82e ("tcp: add pacing_rate information into tcp_info")
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 56cbd0ccc1b508de19561211d7ab9e1c77e6b384
Author: James Bottomley <JBottomley@xxxxxxxx>
Date: Wed Apr 15 22:16:01 2015 -0700
mvsas: fix panic on expander attached SATA devices
mvsas is giving a General protection fault when it encounters an expander
attached ATA device. Analysis of mvs_task_prep_ata() shows that the
driver is
assuming all ATA devices are locally attached and obtaining the phy mask
by
indexing the local phy table (in the HBA structure) with the phy id.
Since
expanders have many more phys than the HBA, this is causing the index
into the
HBA phy table to overflow and returning rubbish as the pointer.
mvs_task_prep_ssp() instead does the phy mask using the port properties.
Mirror this in mvs_task_prep_ata() to fix the panic.
Reported-by: Adam Talbot <ajtalbot1@xxxxxxxxx>
Tested-by: Adam Talbot <ajtalbot1@xxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 8041708ed4d993c5466c20926210598afa97194e
Author: Hannes Reinecke <hare@xxxxxxx>
Date: Fri Mar 27 14:31:12 2015 +0100
am53c974: Fix crash during modprobe
On systems with shared interrupts the interrupt routine might
be called as soon as the interrupt is enabled.
As this might happen before pci_set_drvdata() is called the
system would crash.
Reported-by: Andreas Brogle <anbro@xxxxx>
Tested-by: Andreas Brogle <anbro@xxxxx>
Signed-off-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit b340c656af6317e28b466996a72cca019d97b42d
Author: Chris Metcalf <cmetcalf@xxxxxxxxxx>
Date: Mon Mar 23 11:21:23 2015 -0400
tile: support arch_irq_work_raise
Tile includes a hypervisor hook to deliver messages to arbitrary
tiles, so we can use that to raise an interrupt as soon as
possible on our own core. Unfortunately the Tilera hypervisor
disabled that support on principle in previous releases, but
it will be available in MDE 4.3.4 and later.
Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx>
Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
commit 9088616fb3c4e0d3ec4efb20378691066a218f9c
Author: Colin Ian King <colin.king@xxxxxxxxxxxxx>
Date: Mon Mar 16 16:14:02 2015 -0400
arch: tile: fix null pointer dereference on pt_regs pointer
Cppcheck reports the following issue:
[arch/tile/kernel/stack.c:116]: (error) Possible null
pointer dereference: p
In this case, on reporting on an odd fault, p is set to NULL
and immediately afterwords p is dereferenced iff
!kbt->profile is false. Rather than doing this check just
return NULL rather than falling through to the potential
null pointer dereference (since the original intentional
outcome would be to return NULL anyhow) for this odd fault
case.
Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> [tweaked lightly]
commit 5a3b4e8000c1ce476f5e8babd62c580457561f34
Author: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Date: Wed Feb 25 13:58:35 2015 -0800
tile/elf: reorganize notify_exec()
In the future mm->exe_file will be done without mmap_sem
serialization, thus isolate and reorganize the tile elf
code to make the transition easier. Good users will, make
use of the more standard get_mm_exe_file(), requiring only
holding the mmap_sem to read the value, and relying on reference
counting to make sure that the exe file won't dissappear
underneath us.
The visible effects of this patch are:
o We now take and drop the mmap_sem more often. Instead of
just in arch_setup_additional_pages(), we also do it in:
1) get_mm_exe_file()
2) to get the mm->vm_file and notify the simulator.
[Note that 1) will disappear once we change the locking
rules for exe_file.]
o We avoid getting a free page and doing d_path() while
holding the mmap_sem. This requires reordering the checks.
Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx>
Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx>
commit 89067c2daf3d9e0ce51c768589e79e845e6fda42
Author: Chris Metcalf <cmetcalf@xxxxxxxxxx>
Date: Mon Mar 16 15:04:05 2015 -0400
tile: use si_int instead of si_ptr for compat_siginfo
To be compatible with the generic get_compat_sigevent(), the
copy_siginfo_to_user32() and thus copy_siginfo_from_user32()
have to use si_int instead of si_ptr. Using si_ptr means that
for the case of ILP32 compat code running in big-endian mode,
we would end up copying the high 32 bits of the pointer value
into si_int instead of the desired low 32 bits.
Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
commit 98b228f55014870092c15d7d168fecac69f2f12a
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Wed Apr 15 16:32:24 2015 -0700
x86/efi: Store upper bits of command line buffer address in
ext_cmd_line_ptr
Until now, the EFI stub was only setting the 32 bit cmd_line_ptr in
the setup_header structure, so on 64 bit platforms this could be
truncated.
This patch adds setting the upper bits of the buffer address in
ext_cmd_line_ptr. This case was likely never hit, as the allocation
for this buffer is done at the lowest available address. Only
x86_64 kernels have this problem, as the 1-1 mapping mandated
by EFI ensures that all memory is 32 bit addressable on 32 bit
platforms. The EFI stub does not support mixed mode, so the
32 bit kernel on 64 bit firmware case does not need to be handled.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx>
commit c57dcb566d3d866a302a1da2e06344bec31d5bcd
Author: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
Date: Thu Apr 2 08:39:00 2015 +0100
efivarfs: Ensure VariableName is NUL-terminated
Some buggy firmware implementations update VariableNameSize on success
such that it does not include the final NUL character which results in
garbage in the efivarfs name entries. Use kzalloc on the efivar_entry
(as is done in efivars.c) to ensure that the name is always
NUL-terminated.
The buggy firmware is:
BIOS Information
Vendor: Intel Corp.
Version: S1200RP.86B.02.02.0005.102320140911
Release Date: 10/23/2014
BIOS Revision: 4.6
System Information
Manufacturer: Intel Corporation
Product Name: S1200RP_SE
Signed-off-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
Acked-by: Matthew Garrett <mjg59@xxxxxxxxxx>
Cc: Jeremy Kerr <jk@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx>
commit 3193899d4dd54056f8c2e0b1e40dd6e2f0009f28
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Fri Apr 17 10:27:57 2015 -0400
tracing: Fix possible out of bounds memory access when parsing enums
The code that replaces the enum names with the enum values in the
tracepoints' format files could possible miss the end of string nul
character. This was caused by processing things like backslashes, quotes
and other tokens. After processing the tokens, a check for the nul
character needed to be done before continuing the loop, because the loop
incremented the pointer before doing the check, which could bypass the nul
character.
Link: http://lkml.kernel.org/r/552E661D.5060502@xxxxxxxxxx
Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> # via KASan
Tested-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Fixes: 0c564a538aa9 "tracing: Add TRACE_DEFINE_ENUM() macro to map enums
to their values"
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 569fd0ce96087283866ab8c438dac4bcf1738846
Author: Jens Axboe <axboe@xxxxxx>
Date: Fri Apr 17 08:28:50 2015 -0600
blk-mq: fix iteration of busy bitmap
Commit 889fa31f00b2 was a bit too eager in reducing the loop count,
so we ended up missing queues in some configurations. Ensure that
our division rounds up, so that's not the case.
Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Fixes: 889fa31f00b2 ("blk-mq: reduce unnecessary software queue looping")
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit d09a6b4a1412149c133a58b53f50e9c05a95e834
Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 21:46:29 2015 +0800
ASoC: Intel: sst_byt: remove kfree for memory allocated with devm_kzalloc
It's not necessary to free memory allocated with devm_kzalloc
and using kfree leads to a double free.
Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit f4d770317997f89bb6997ee3e8dd495cb8356ae9
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Fri Apr 17 16:19:46 2015 +0300
ALSA: hda - potential (but unlikely) uninitialized variable
This function is a bit unusual because it accepts negative values as
"conn_len". It's theoretically possible for both "cache_len" and
"conn_len" to be -ENOSPC and in that case we would oops trying to run
memcmp() on the uninitialized "list" pointer.
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit c479163a1b6ab424786fbcd9225b4e3c1c58eb0b
Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 20:18:02 2015 +0800
ASoC: samsung: s3c24xx-i2s: Fix return value check in
s3c24xx_iis_dev_probe()
In case of error, the function devm_ioremap_resource() 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@xxxxxxxxxxxxxxxxx>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit 427ced4b203dfea4f08b1298cd1f88e19039fca4
Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 20:17:46 2015 +0800
ASoC: tfa9879: Fix return value check in tfa9879_i2c_probe()
In case of error, the function devm_kzalloc() returns NULL
not ERR_PTR(). The IS_ERR() test in the return value check
should be replaced with NULL test.
Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
Acked-by: Peter Rosin <peda@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit 28ecc0b658e2ac882faa80e7ff1d72d144299bd0
Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Date: Wed Apr 15 00:08:15 2015 -0300
ASoC: fsl_ssi: Fix platform_get_irq() error handling
We should check whether platform_get_irq() returns a negative number and
propagate the error in this case.
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 54e514b91b95d6441c12a7955addfb9f9d2afc65
Merge: 4fc8adc 6c8c903
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 17 09:04:38 2015 -0400
Merge branch 'akpm' (patches from Andrew)
Merge third patchbomb from Andrew Morton:
- various misc things
- a couple of lib/ optimisations
- provide DIV_ROUND_CLOSEST_ULL()
- checkpatch updates
- rtc tree
- befs, nilfs2, hfs, hfsplus, fatfs, adfs, affs, bfs
- ptrace fixes
- fork() fixes
- seccomp cleanups
- more mmap_sem hold time reductions from Davidlohr
* emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (138
commits)
proc: show locks in /proc/pid/fdinfo/X
docs: add missing and new /proc/PID/status file entries, fix typos
drivers/rtc/rtc-at91rm9200.c: make IO endian agnostic
Documentation/spi/spidev_test.c: fix warning
drivers/rtc/rtc-s5m.c: allow usage on device type different than main
MFD type
.gitignore: ignore *.tar
MAINTAINERS: add Mediatek SoC mailing list
tomoyo: reduce mmap_sem hold for mm->exe_file
powerpc/oprofile: reduce mmap_sem hold for exe_file
oprofile: reduce mmap_sem hold for mm->exe_file
mips: ip32: add platform data hooks to use DS1685 driver
lib/Kconfig: fix up HAVE_ARCH_BITREVERSE help text
x86: switch to using asm-generic for seccomp.h
sparc: switch to using asm-generic for seccomp.h
powerpc: switch to using asm-generic for seccomp.h
parisc: switch to using asm-generic for seccomp.h
mips: switch to using asm-generic for seccomp.h
microblaze: use asm-generic for seccomp.h
arm: use asm-generic for seccomp.h
seccomp: allow COMPAT sigreturn overrides
...
commit 6c8c90319c0bb1c9e0b68e721359b89ae4f28465
Author: Andrey Vagin <avagin@xxxxxxxxxx>
Date: Thu Apr 16 12:49:38 2015 -0700
proc: show locks in /proc/pid/fdinfo/X
Let's show locks which are associated with a file descriptor in
its fdinfo file.
Currently we don't have a reliable way to determine who holds a lock. We
can find some information in /proc/locks, but PID which is reported there
can be wrong. For example, a process takes a lock, then forks a child and
dies. In this case /proc/locks contains the parent pid, which can be
reused by another process.
$ cat /proc/locks
...
6: FLOCK ADVISORY WRITE 324 00:13:13431 0 EOF
...
$ ps -C rpcbind
PID TTY TIME CMD
332 ? 00:00:00 rpcbind
$ cat /proc/332/fdinfo/4
pos: 0
flags: 0100000
mnt_id: 22
lock: 1: FLOCK ADVISORY WRITE 324 00:13:13431 0 EOF
$ ls -l /proc/332/fd/4
lr-x------ 1 root root 64 Mar 5 14:43 /proc/332/fd/4 -> /run/rpcbind.lock
$ ls -l /proc/324/fd/
total 0
lrwx------ 1 root root 64 Feb 27 14:50 0 -> /dev/pts/0
lrwx------ 1 root root 64 Feb 27 14:50 1 -> /dev/pts/0
lrwx------ 1 root root 64 Feb 27 14:49 2 -> /dev/pts/0
You can see that the process with the 324 pid doesn't hold the lock.
This information is required for proper dumping and restoring file
locks.
Signed-off-by: Andrey Vagin <avagin@xxxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx>
Acked-by: "J. Bruce Fields" <bfields@xxxxxxxxxxxx>
Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx>
Cc: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 15eb42d674de8da66950f78b5c7202accabe026e
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Thu Apr 16 12:49:35 2015 -0700
docs: add missing and new /proc/PID/status file entries, fix typos
docs: add missing and new /proc/PID/status file entries, fix typos
Signed-off-by: Nathan Scott <nathans@xxxxxxxxxx>
Signed-off-by: Chen Hanxiao <chenhanxiao@xxxxxxxxxxxxxx>
Cc: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx>
Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6da7bb1e9cef9ab956e4223125090e4465f51fb2
Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Date: Thu Apr 16 12:49:32 2015 -0700
drivers/rtc/rtc-at91rm9200.c: make IO endian agnostic
Change the __raw IO calls to readl/write_relaxed which makes the driver
endian agnostic to run properly on big endian systems.
Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Andrew Victor <linux@xxxxxxxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 07eec628ffcea711e14644e14d2c83b4150ba1b7
Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 12:49:29 2015 -0700
Documentation/spi/spidev_test.c: fix warning
Documentation/spi/spidev_test.c:83:5: warning: no previous prototype for
'unespcape' [-Wmissing-prototypes]
fix spelling too.
Acked-by: Mark Brown <broonie@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 94f919225890a1adb3d44bf5b31ff4cb21d8ee7e
Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Date: Thu Apr 16 12:49:27 2015 -0700
drivers/rtc/rtc-s5m.c: allow usage on device type different than main MFD
type
The RTC driver supports two flavors of S5M devices: S5M8767-like and
S2MPS14-like.
On S2MPS13 and S2MPS14 devices the RTC module is the same so we want to
re-use the existing support of S2MPS14. However device type was passed
from parent MFD driver in platform data structure. This way for the
S2MPS13 device the main MFD driver passed device type of 'S2MPS13X'.
Instead decouple detecting of device type between main MFD and RTC driver.
This allows adding support for other S2MPS14 variations (like S2MPS11 and
S2MPS13) easily by adding to mfd/sec-core.c:
static const struct mfd_cell s2mps13_devs[] = {
{ .name = "s2mps14-rtc", }
};
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Cc: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit f4ae9497288336e9a1900e8e351edf71e27b6944
Author: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx>
Date: Thu Apr 16 12:49:24 2015 -0700
.gitignore: ignore *.tar
Running make tar-pkg results in following:
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# linux-4.0.0-rc3-next-20150313-150225--x86.tar
This patch makes git ignore *.tar files.
Running 'git ls-files -i --exclude-standard' does not show any
tar files excluded from tracking after the change.
Signed-off-by: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx>
Cc: Michal Marek <mmarek@xxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx>
Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 17b199d62d7fd732ba02c13433e438ebb368aac9
Author: Matthias Brugger <matthias.bgg@xxxxxxxxx>
Date: Thu Apr 16 12:49:21 2015 -0700
MAINTAINERS: add Mediatek SoC mailing list
Add the new list that Mediatek specific patches should also be
directed to.
Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx>
Cc: Olof Johansson <olof@xxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d4144ea6e7cc307e84cd9ca227df7b04a54a2365
Author: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Date: Thu Apr 16 12:49:18 2015 -0700
tomoyo: reduce mmap_sem hold for mm->exe_file
The mm->exe_file is currently serialized with mmap_sem (shared) in order
to both safely (1) read the file and (2) compute the realpath by calling
tomoyo_realpath_from_path, making it an absolute overkill. Good users
will, on the other hand, make use of the more standard get_mm_exe_file(),
requiring only holding the mmap_sem to read the value, and relying on
reference
[akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx>
Acked-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
Cc: James Morris <jmorris@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit fd89a65f155fa890c0130139dfb91684d6da4cfb
Author: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Date: Thu Apr 16 12:49:15 2015 -0700
powerpc/oprofile: reduce mmap_sem hold for exe_file
In the future mm->exe_file will be done without mmap_sem serialization,
thus isolate and reorganize the related code to make the transition
easier. Good users will, make use of the more standard get_mm_exe_file(),
requiring only holding the mmap_sem to read the value, and relying on
reference counting to make sure that the exe file won't dissappear
underneath us while getting the dcookie.
Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 11163348a23cdbcdca5fb42485418e75f8566a5c
Author: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Date: Thu Apr 16 12:49:12 2015 -0700
oprofile: reduce mmap_sem hold for mm->exe_file
sync_buffer() needs the mmap_sem for two distinct operations, both only
occurring upon user context switch handling:
1) Dealing with the exe_file.
2) Adding the dcookie data as we need to lookup the vma that
backs it. This is done via add_sample() and add_data().
This patch isolates 1), for it will no longer need the mmap_sem for
serialization. However, for now, make of the more standard
get_mm_exe_file(), requiring only holding the mmap_sem to read the value,
and relying on reference counting to make sure that the exe file won't
dissappear underneath us while doing the get dcookie.
As a consequence, for 2) we move the mmap_sem locking into where we really
need it, in lookup_dcookie(). The benefits are twofold: reduce mmap_sem
hold times, and cleaner code.
[akpm@xxxxxxxxxxxxxxxxxxxx: export get_mm_exe_file for
arch/x86/oprofile/oprofile.ko]
Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 15beb694c66146e1133b9ff81d54e3ef3daa1d7c
Author: Joshua Kinard <kumba@xxxxxxxxxx>
Date: Thu Apr 16 12:49:09 2015 -0700
mips: ip32: add platform data hooks to use DS1685 driver
This modifies the IP32 (SGI O2) platform and reset code to utilize the new
rtc-ds1685 driver. The old mc146818rtc.h header is removed and
ip32_defconfig
is updated as well.
Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx>
Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 9e522c0d28d1418c2983ffbc3903f7bed3354180
Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 12:49:07 2015 -0700
lib/Kconfig: fix up HAVE_ARCH_BITREVERSE help text
Cc: Yalin Wang <yalin.wang@xxxxxxxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 8eb68bf75eb7ea73bce88cb9d42efd3bbcece3cd
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Thu Apr 16 12:49:04 2015 -0700
x86: switch to using asm-generic for seccomp.h
Switch to using the newly created asm-generic/seccomp.h for the seccomp
strict mode syscall definitions. The obsolete sigreturn syscall override
is retained in 32-bit mode, and the ia32 syscall overrides are used in
the compat case. Remaining definitions were identical.
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d0f138b0853e3b0a0bcd83f3019d34842e12951d
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Thu Apr 16 12:49:01 2015 -0700
sparc: switch to using asm-generic for seccomp.h
Switch to using the newly created asm-generic/seccomp.h for the seccomp
strict mode syscall definitions. The obsolete sigreturn in COMPAT mode
is retained as an override. Remaining definitions are identical. Also
corrected missing #define for header reinclusion protection.
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 1a3aff9ec376666563c7a2223a1d6c19f908919d
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Thu Apr 16 12:48:58 2015 -0700
powerpc: switch to using asm-generic for seccomp.h
Switch to using the newly created asm-generic/seccomp.h for the seccomp
strict mode syscall definitions. The obsolete sigreturn in COMPAT mode is
retained as an override. Remaining definitions are identical, though they
incorrectly appeared in uapi, which has been corrected.
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit cf7a71b602fe2255b5b42162fa39a3090a1ea2c7
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Thu Apr 16 12:48:55 2015 -0700
parisc: switch to using asm-generic for seccomp.h
Switch to using the newly created asm-generic/seccomp.h for the seccomp
strict mode syscall definitions. Definitions were identical.
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx>
Cc: Helge Deller <deller@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 97247fd99da723ce2c87a45e714c332b71e3e003
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Thu Apr 16 12:48:53 2015 -0700
mips: switch to using asm-generic for seccomp.h
Switch to using the newly created asm-generic/seccomp.h for the seccomp
strict mode syscall definitions. COMPAT definitions retain their
overrides and the remaining definitions were identical.
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit cc2d316fe7b2f39ecacdbd4be04fccbc2476cb7a
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Thu Apr 16 12:48:50 2015 -0700
microblaze: use asm-generic for seccomp.h
Switch to using the newly created asm-generic/seccomp.h for the seccomp
strict mode syscall definitions. Since microblaze is 32-bit, the COMPAT
seccomp defines are unused and can be dropped. The obsolete sigreturn
for seccomp strict mode is retained as an override. Remaining definitions
are identical.
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Michal Simek <monstr@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6bcf4e9aab9e9f718edebe77712512fc5c4ecd3e
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Thu Apr 16 12:48:47 2015 -0700
arm: use asm-generic for seccomp.h
Switch to using the newly created asm-generic/seccomp.h for the seccomp
strict mode syscall definitions. Definitions were identical.
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ddaa27ee627fb58d1a68eb1eb196393d64c25d1b
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Thu Apr 16 12:48:44 2015 -0700
seccomp: allow COMPAT sigreturn overrides
Most architectures don't need to do much special for the strict-mode
seccomp syscall entries. Remove the redundant headers and reduce the
others.
This patch (of 8):
Some architectures may need to override the compat sigreturn definition,
as is already possible in the non-compat case.
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Cc: Michal Simek <monstr@xxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx>
Cc: Helge Deller <deller@xxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Cc: Daniel Borkmann <dborkman@xxxxxxxxxx>
Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit be2a7fce397d82b7dc3fdbc61fb0bdab118e65ca
Author: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Date: Thu Apr 16 12:48:40 2015 -0700
arc: do not export symbols in troubleshoot.c
print_task_path_n_nm() is local to this file, its only user being
show_regs(). Mark the function static and avoid the EXPORT_SYMBOL.
Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx>
Acked-by: Vineet Gupta <vgupta@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 02d699f1f464410d5753a034dd38c76a1a1647e0
Author: Michal Simek <monstr@xxxxxxxxx>
Date: Thu Apr 16 12:48:38 2015 -0700
include/linux/kconfig.h: ese macros which are already defined
It is better to use macros which are already available because then there
is just one location which needs to be change.
[akpm@xxxxxxxxxxxxxxxxxxxx: move IS_ENABLED definition to after the
IS_BUILTIN and IS_MODULE definitions]
Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 13f6b191aaa11c7fd718d35a0c565f3c16bc1d99
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Thu Apr 16 12:48:35 2015 -0700
memstick: mspro_block: add missing curly braces
Using the indenting we can see the curly braces were obviously intended.
This is a static checker fix, but my guess is that we don't read enough
bytes, because we don't calculate "t_len" correctly.
Fixes: f1d82698029b ('memstick: use fully asynchronous request
processing')
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Cc: Alex Dubov <oakad@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit c3fe5872eb3f5f9e027d61d8a3f5d092168fdbca
Author: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx>
Date: Thu Apr 16 12:48:32 2015 -0700
bfs: correct return values
In case of failed memory allocation, the return should be ENOMEM instead
of ENOSPC.
Return -EIO when sb_bread() fails.
Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx>
Cc: Tigran Aivazian <tigran@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 8f7d3f0f1ed5dce6ea7b833ec19cabe61a6e7ff8
Author: Jiri Slaby <jslaby@xxxxxxx>
Date: Thu Apr 16 12:48:29 2015 -0700
bfs: bfad_worker cleanup
This kthread is not loop at all due to break at the end of the loop. Make
that function linear, with no while loop.
And remove an unnecessary cast.
Signed-off-by: Jiri Slaby <jslaby@xxxxxxx>
Cc: Anil Gurumurthy <anil.gurumurthy@xxxxxxxxxx>
Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit c8f33d0bec999a4f2b5c3f9380361b88ce6f6ab0
Author: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx>
Date: Thu Apr 16 12:48:26 2015 -0700
affs: kstrdup() memory handling
There is a possibility of kstrdup() failure upon memory pressure.
Therefore, returning ENOMEM even for new_opts.
[akpm@xxxxxxxxxxxxxxxxxxxx: cleanup]
Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx>
Cc: Taesoo kim <taesoo@xxxxxxxxxx>
Cc: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 79bda4d510f80e403ef66fee852f8ccb17308581
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Thu Apr 16 12:48:24 2015 -0700
fs/affs: use affs_test_opt()
Replace mount option test by affs_test_opt().
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 34f24835383092098cb4ce5c4eb6e719a9973d68
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Thu Apr 16 12:48:21 2015 -0700
fs/affs/super.c: use affs_set_opt()
Replace direct mount option assignation by affs_set_opt() macro.
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6bf445ce35353fe865664af0dbaeb848f0a2820f
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Thu Apr 16 12:48:18 2015 -0700
fs/affs/affs.h: add mount option manipulation macros
Add clear/set/test affs mount option macros.
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit a0016ff2867ad25aad9807fb46bd0d85429dd5e8
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Thu Apr 16 12:48:15 2015 -0700
fs/affs: use AFFS_MOUNT prefix for mount options
Currently, affs still uses direct access on mount_options. This patch
prepares to use affs_clear/set/test_opt() like other filesystems.
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit b796410630a0f090864d7595c6bffbc0136f0f8c
Author: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx>
Date: Thu Apr 16 12:48:13 2015 -0700
adfs: return correct return values
Fix the wrong values returned by various functions such as EIO and ENOMEM.
Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx>
Cc: Fabian Frederick <fabf@xxxxxxxxx>
Cc: Joe Perches <joe@xxxxxxxxxxx>
Cc: Taesoo kim <taesoo@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 9d796e66230205cd3366f5660387bd9ecca9d336
Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Date: Thu Apr 16 12:48:10 2015 -0700
gcov: fix softlockups
gcov profiling if enabled with other heavy compile-time instrumentation
like KASan could trigger following softlockups:
NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [swapper/0:1]
Modules linked in:
irq event stamp: 22823276
hardirqs last enabled at (22823275): [<ffffffff86e8d10d>]
mutex_lock_nested+0x7d9/0x930
hardirqs last disabled at (22823276): [<ffffffff86e9521d>]
apic_timer_interrupt+0x6d/0x80
softirqs last enabled at (22823172): [<ffffffff811ed969>]
__do_softirq+0x4db/0x729
softirqs last disabled at (22823167): [<ffffffff811edfcf>]
irq_exit+0x7d/0x15b
CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W
3.19.0-05245-gbb33326-dirty #3
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
rel-1.7.5.1-0-g8936dbb-20141113_115728-nilsson.home.kraxel.org 04/01/2014
task: ffff88006cba8000 ti: ffff88006cbb0000 task.ti: ffff88006cbb0000
RIP: kasan_mem_to_shadow+0x1e/0x1f
Call Trace:
strcmp+0x28/0x70
get_node_by_name+0x66/0x99
gcov_event+0x4f/0x69e
gcov_enable_events+0x54/0x7b
gcov_fs_init+0xf8/0x134
do_one_initcall+0x1b2/0x288
kernel_init_freeable+0x467/0x580
kernel_init+0x15/0x18b
ret_from_fork+0x7c/0xb0
Kernel panic - not syncing: softlockup: hung tasks
Fix this by sticking cond_resched() in gcov_enable_events().
Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Cc: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 230633d109e35b0a24277498e773edeb79b4a331
Author: Heinrich Schuchardt <xypron.glpk@xxxxxx>
Date: Thu Apr 16 12:48:07 2015 -0700
kernel/sysctl.c: detect overflows when converting to int
When converting unsigned long to int overflows may occur. These currently
are not detected when writing to the sysctl file system.
E.g. on a system where int has 32 bits and long has 64 bits
echo 0x800001234 > /proc/sys/kernel/threads-max
has the same effect as
echo 0x1234 > /proc/sys/kernel/threads-max
The patch adds the missing check in do_proc_dointvec_conv.
With the patch an overflow will result in an error EINVAL when writing to
the the sysctl file system.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 534b483a86e6b96f1b5cc03bbe4b696f3daead6d
Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Date: Thu Apr 16 12:48:04 2015 -0700
cpumask: don't perform while loop in cpumask_next_and()
cpumask_next_and() is looking for cpumask_next() in src1 in a loop and
tests if found cpu is also present in src2. remove that loop, perform
cpumask_and() of src1 and src2 first and use that new mask to find
cpumask_next().
Apart from removing while loop, ./bloat-o-meter on x86_64 shows
add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-8 (-8)
function old new delta
cpumask_next_and 62 54 -8
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: Amir Vadai <amirv@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit dfcce791fb0ad06f3f0b745a23160b9d8858fe39
Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx>
Date: Thu Apr 16 12:48:01 2015 -0700
fs/exec.c:de_thread: move notify_count write under lock
We set sig->notify_count = -1 between RELEASE and ACQUIRE operations:
spin_unlock_irq(lock);
...
if (!thread_group_leader(tsk)) {
...
for (;;) {
sig->notify_count = -1;
write_lock_irq(&tasklist_lock);
There are no restriction on it so other processors may see this STORE
mixed with other STOREs in both areas limited by the spinlocks.
Probably, it may be reordered with the above
sig->group_exit_task = tsk;
sig->notify_count = zap_other_threads(tsk);
in some way.
Set it under tasklist_lock locked to be sure nothing will be reordered.
Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx>
Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6e399cd144d8500ffb5d40fa6848890e2580a80a
Author: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Date: Thu Apr 16 12:47:59 2015 -0700
prctl: avoid using mmap_sem for exe_file serialization
Oleg cleverly suggested using xchg() to set the new mm->exe_file instead
of calling set_mm_exe_file() which requires some form of serialization --
mmap_sem in this case. For archs that do not have atomic rmw instructions
we still fallback to a spinlock alternative, so this should always be
safe. As such, we only need the mmap_sem for looking up the backing
vm_file, which can be done sharing the lock. Naturally, this means we
need to manually deal with both the new and old file reference counting,
and we need not worry about the MMF_EXE_FILE_CHANGED bits, which can
probably be deleted in the future anyway.
Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx>
Suggested-by: Oleg Nesterov <oleg@xxxxxxxxxx>
Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx>
Reviewed-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 90f31d0ea88880f780574f3d0bb1a227c4c66ca3
Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
Date: Thu Apr 16 12:47:56 2015 -0700
mm: rcu-protected get_mm_exe_file()
This patch removes mm->mmap_sem from mm->exe_file read side.
Also it kills dup_mm_exe_file() and moves exe_file duplication into
dup_mmap() where both mmap_sems are locked.
[akpm@xxxxxxxxxxxxxxxxxxxx: fix comment typo]
Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
Cc: Davidlohr Bueso <dbueso@xxxxxxx>
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 0ec62afeb143a34ce78143cf442f879ef68382f7
Author: Heinrich Schuchardt <xypron.glpk@xxxxxx>
Date: Thu Apr 16 12:47:53 2015 -0700
Doc/sysctl/kernel.txt: document threads-max
File /proc/sys/kernel/threads-max controls the maximum number of threads
that can be created using fork().
[akpm@xxxxxxxxxxxxxxxxxxxx: fix typo, per Guenter]
Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 16db3d3f1170fb0efca652c9378ce7c5f5cb4232
Author: Heinrich Schuchardt <xypron.glpk@xxxxxx>
Date: Thu Apr 16 12:47:50 2015 -0700
kernel/sysctl.c: threads-max observe limits
Users can change the maximum number of threads by writing to
/proc/sys/kernel/threads-max.
With the patch the value entered is checked against the same limits that
apply when fork_init is called.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ac1b398de1ef94aeee8ba87b0120763526572a6e
Author: Heinrich Schuchardt <xypron.glpk@xxxxxx>
Date: Thu Apr 16 12:47:47 2015 -0700
kernel/fork.c: avoid division by zero
PAGE_SIZE is not guaranteed to be equal to or less than 8 times the
THREAD_SIZE.
E.g. architecture hexagon may have page size 1M and thread size 4096.
This would lead to a division by zero in the calculation of max_threads.
With 32-bit calculation there is no solution which delivers valid results
for all possible combinations of the parameters. The code is only called
once. Hence a 64-bit calculation can be used as solution.
[akpm@xxxxxxxxxxxxxxxxxxxx: use clamp_t(), per Oleg]
Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ff691f6e03815dc8f99461ea509df863a879fc3a
Author: Heinrich Schuchardt <xypron.glpk@xxxxxx>
Date: Thu Apr 16 12:47:44 2015 -0700
kernel/fork.c: new function for max_threads
PAGE_SIZE is not guaranteed to be equal to or less than 8 times the
THREAD_SIZE.
E.g. architecture hexagon may have page size 1M and thread size 4096.
This would lead to a division by zero in the calculation of max_threads.
With this patch the buggy code is moved to a separate function
set_max_threads. The error is not fixed.
After fixing the problem in a separate patch the new function can be
reused to adjust max_threads after adding or removing memory.
Argument mempages of function fork_init() is removed as totalram_pages is
an exported symbol.
The creation of separate patches for refactoring to a new function and for
fixing the logic was suggested by Ingo Molnar.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 3ea7f5e25ec271909451b7dc17be37581b888de6
Author: Jean Delvare <jdelvare@xxxxxxx>
Date: Thu Apr 16 12:47:41 2015 -0700
fork_init: update max_threads comment
The comment explaining what value max_threads is set to is outdated. The
maximum memory consumption ratio for thread structures was 1/2 until
February 2002, then it was briefly changed to 1/16 before being set to 1/8
which we still use today. The comment was never updated to reflect that
change, it's about time.
Signed-off-by: Jean Delvare <jdelvare@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 35f71bc0a09a45924bed268d8ccd0d3407bc476f
Author: Michal Hocko <mhocko@xxxxxxx>
Date: Thu Apr 16 12:47:38 2015 -0700
fork: report pid reservation failure properly
copy_process will report any failure in alloc_pid as ENOMEM currently
which is misleading because the pid allocation might fail not only when
the memory is short but also when the pid space is consumed already.
The current man page even mentions this case:
: EAGAIN
:
: A system-imposed limit on the number of threads was encountered.
: There are a number of limits that may trigger this error: the
: RLIMIT_NPROC soft resource limit (set via setrlimit(2)), which
: limits the number of processes and threads for a real user ID, was
: reached; the kernel's system-wide limit on the number of processes
: and threads, /proc/sys/kernel/threads-max, was reached (see
: proc(5)); or the maximum number of PIDs, /proc/sys/kernel/pid_max,
: was reached (see proc(5)).
so the current behavior is also incorrect wrt. documentation. POSIX man
page also suggest returing EAGAIN when the process count limit is reached.
This patch simply propagates error code from alloc_pid and makes sure we
return -EAGAIN due to reservation failure. This will make behavior of
fork closer to both our documentation and POSIX.
alloc_pid might alsoo fail when the reaper in the pid namespace is dead
(the namespace basically disallows all new processes) and there is no
good error code which would match documented ones. We have traditionally
returned ENOMEM for this case which is misleading as well but as per
Eric W. Biederman this behavior is documented in man pid_namespaces(7)
: If the "init" process of a PID namespace terminates, the kernel
: terminates all of the processes in the namespace via a SIGKILL signal.
: This behavior reflects the fact that the "init" process is essential for
: the correct operation of a PID namespace. In this case, a subsequent
: fork(2) into this PID namespace will fail with the error ENOMEM; it is
: not possible to create a new processes in a PID namespace whose "init"
: process has terminated.
and introducing a new error code would be too risky so let's stick to
ENOMEM for this case.
Signed-off-by: Michal Hocko <mhocko@xxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 69828dce7af2cb6d08ef5a03de687d422fb7ec1f
Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Date: Thu Apr 16 12:47:35 2015 -0700
signal: remove warning about using SI_TKILL in rt_[tg]sigqueueinfo
Sending SI_TKILL from rt_[tg]sigqueueinfo was deprecated, so now we issue
a warning on the first attempt of doing it. We use WARN_ON_ONCE, which is
not informative and, what is worse, taints the kernel, making the trinity
syscall fuzzer complain false-positively from time to time.
It does not look like we need this warning at all, because the behaviour
changed quite a long time ago (2.6.39), and if an application relies on
the old API, it gets EPERM anyway and can issue a warning by itself.
So let us zap the warning in kernel.
Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Richard Weinberger <richard@xxxxxx>
Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 64a4096c5cdab377b6e1f44008ee8b2636db579d
Author: Oleg Nesterov <oleg@xxxxxxxxxx>
Date: Thu Apr 16 12:47:32 2015 -0700
ptrace: ptrace_detach() can no longer race with SIGKILL
ptrace_detach() re-checks ->ptrace under tasklist lock and calls
release_task() if __ptrace_detach() returns true. This was needed because
the __TASK_TRACED tracee could be killed/untraced, and it could even pass
exit_notify() before we take tasklist_lock.
But this is no longer possible after 9899d11f6544 "ptrace: ensure
arch_ptrace/ptrace_request can never race with SIGKILL". We can turn
these checks into WARN_ON() and remove release_task().
While at it, document the setting of child->exit_code.
Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Pavel Labath <labath@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit b72c186999e689cb0b055ab1c7b3cd8fffbeb5ed
Author: Oleg Nesterov <oleg@xxxxxxxxxx>
Date: Thu Apr 16 12:47:29 2015 -0700
ptrace: fix race between ptrace_resume() and wait_task_stopped()
ptrace_resume() is called when the tracee is still __TASK_TRACED. We set
tracee->exit_code and then wake_up_state() changes tracee->state. If the
tracer's sub-thread does wait() in between, task_stopped_code(ptrace => T)
wrongly looks like another report from tracee.
This confuses debugger, and since wait_task_stopped() clears ->exit_code
the tracee can miss a signal.
Test-case:
#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>
#include <sys/ptrace.h>
#include <pthread.h>
#include <assert.h>
int pid;
void *waiter(void *arg)
{
int stat;
for (;;) {
assert(pid == wait(&stat));
assert(WIFSTOPPED(stat));
if (WSTOPSIG(stat) == SIGHUP)
continue;
assert(WSTOPSIG(stat) == SIGCONT);
printf("ERR! extra/wrong report:%x\n", stat);
}
}
int main(void)
{
pthread_t thread;
pid = fork();
if (!pid) {
assert(ptrace(PTRACE_TRACEME, 0,0,0) == 0);
for (;;)
kill(getpid(), SIGHUP);
}
assert(pthread_create(&thread, NULL, waiter, NULL) == 0);
for (;;)
ptrace(PTRACE_CONT, pid, 0, SIGCONT);
return 0;
}
Note for stable: the bug is very old, but without 9899d11f6544 "ptrace:
ensure arch_ptrace/ptrace_request can never race with SIGKILL" the fix
should use lock_task_sighand(child).
Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
Reported-by: Pavel Labath <labath@xxxxxxxxxx>
Tested-by: Pavel Labath <labath@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 8de560def7426a770ce8f967b3c3534bc9a2f683
Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx>
Date: Thu Apr 16 12:47:26 2015 -0700
fs/fat: comment fix, fat_bits can be also 32
Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx>
Acked-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 58932ef7f2f28e89ee37c6e2be94885e5078ba77
Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx>
Date: Thu Apr 16 12:47:24 2015 -0700
fs/fat: remove unnecessary includes
'fat.h' includes <linux/buffer_head.h> which includes <linux/fs.h> which
includes all the header files required for all *.c files fat filesystem.
[akpm@xxxxxxxxxxxxxxxxxxxx: fs/fat/iode.c needs seq_file.h]
[sfr@xxxxxxxxxxxxxxxx: put one actually necessary include file back]
Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx>
Acked-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit a40a7d9d07b818ce9aa9f6ddf86076a5eef2d8f9
Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx>
Date: Thu Apr 16 12:47:21 2015 -0700
fs/fat: remove unnecessary defintion
'*sb' never used, so let's remote it and pass inode->i_sb directly to the
MSDOS_SB.
Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx>
Acked-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit db579e76f06e78de011b2cb7e028740a82f5558c
Author: Thomas Hebb <tommyhebb@xxxxxxxxx>
Date: Thu Apr 16 12:47:18 2015 -0700
hfsplus: don't store special "osx" xattr prefix on-disk
On Mac OS X, HFS+ extended attributes are not namespaced. Since we want
to be compatible with OS X filesystems and yet still support the Linux
namespacing system, the hfsplus driver implements a special "osx"
namespace that is reported for any attribute that is not namespaced
on-disk. However, the current code for getting and setting these
unprefixed attributes is broken.
hfsplus_osx_setattr() and hfsplus_osx_getattr() are passed names that have
already had their "osx." prefixes stripped by the generic functions. The
functions first, quite correctly, check those names to make sure that they
aren't prefixed with a known namespace, which would allow namespace access
restrictions to be bypassed. However, the functions then prepend "osx."
to the name they're given before passing it on to hfsplus_getattr() and
hfsplus_setattr(). Not only does this cause the "osx." prefix to be
stored on-disk, defeating its purpose, it also breaks the check for the
special "com.apple.FinderInfo" attribute, which is reported for all files,
and as a consequence makes some userspace applications (e.g. GNU patch)
fail even when extended attributes are not otherwise in use.
There are five commits which have touched this particular code:
127e5f5ae51e ("hfsplus: rework functionality of getting, setting and
deleting of extended attributes")
b168fff72109 ("hfsplus: use xattr handlers for removexattr")
bf29e886b242 ("hfsplus: correct usage of HFSPLUS_ATTR_MAX_STRLEN for
non-English attributes")
fcacbd95e121 ("fs/hfsplus: move xattr_name allocation in
hfsplus_getxattr()")
ec1bbd346f18 ("fs/hfsplus: move xattr_name allocation in
hfsplus_setxattr()")
The first commit creates the functions to begin with. The namespace is
prepended by the original code, which I believe was correct at the time,
since hfsplus_?etattr() stripped the prefix if found. The second commit
removes this behavior from hfsplus_?etattr() and appears to have been
intended to also remove the prefixing from hfsplus_osx_?etattr().
However, what it actually does is remove a necessary strncpy() call
completely, breaking the osx namespace entirely. The third commit re-adds
the strncpy() call as it was originally, but doesn't mention it in its
commit message. The final two commits refactor the code and don't affect
its functionality.
This commit does what b168fff attempted to do (prevent the prefix from
being added), but does it properly, instead of passing in an empty buffer
(which is what b168fff actually did).
Fixes: b168fff72109 ("hfsplus: use xattr handlers for removexattr")
Signed-off-by: Thomas Hebb <tommyhebb@xxxxxxxxx>
Cc: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx>
Cc: Sergei Antonov <saproj@xxxxxxxxx>
Cc: Anton Altaparmakov <anton@xxxxxxxxxx>
Cc: Fabian Frederick <fabf@xxxxxxxxx>
Cc: Christian Kujau <lists@xxxxxxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Viacheslav Dubeyko <slava@xxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 059a704c43ea8800a689cf90fadb48f1e985c7eb
Author: Sergei Antonov <saproj@xxxxxxxxx>
Date: Thu Apr 16 12:47:15 2015 -0700
hfsplus: fix expand when not enough available space
Fix a bug which is reproduced as follows. Create a file:
echo abc > test_file
Try to expand the file beyond available space:
truncate --size=<size exceeding available space> test_file
Since HFS+ does not support file size > allocated size, truncate should
fail. However, it ends successfully. The driver returns success despite
having been unable to allocate the requested space for the file. Also
filesystem check finds an error:
Checking catalog file.
Incorrect size for file test_file
(It should be 469094400 instead of 1000000000)
Add a piece of code analogous to code in the fat driver. Now a proper
error is returned and filesystem remains consistent.
Signed-off-by: Sergei Antonov <saproj@xxxxxxxxx>
Cc: Vyacheslav Dubeyko <slava@xxxxxxxxxxx>
Cc: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Anton Altaparmakov <anton@xxxxxxxxxx>
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Cc: Sougata Santra <sougata@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 27a4e3884e9c6497f96cc28256c3cdaa93d4cf97
Author: Chengyu Song <csong84@xxxxxxxxxx>
Date: Thu Apr 16 12:47:12 2015 -0700
hfsplus: incorrect return value
In case of memory allocation error, the return should be -ENOMEM, instead
of -ENOSPC.
Signed-off-by: Chengyu Song <csong84@xxxxxxxxxx>
Reviewed-by: Sergei Antonov <saproj@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7ce844a20eb58c9823205e091b815163464e9d19
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Thu Apr 16 12:47:09 2015 -0700
fs/hfsplus: replace if/BUG by BUG_ON
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 1ad8d63d63e21d711d97a4cd1105136bd0cfd647
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Thu Apr 16 12:47:07 2015 -0700
fs/hfsplus: use bool instead of int for is_known_namespace() return value
is_known_namespace() only returns true/false. Also remove inline and let
compiler decide what to do with static functions.
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 73d28d571d09082e132340ae4ad4d973211b7668
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Thu Apr 16 12:47:04 2015 -0700
fs/hfsplus: atomically set inode->i_flags
According to commit 5f16f3225b06 ("ext4: atomically set inode->i_flags in
ext4_set_inode_flags()").
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Cc: "Theodore Ts'o" <tytso@xxxxxxx>
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 5e61473ea9f1ed6537ffaf6bf1cb60655f0d1b2c
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Thu Apr 16 12:47:01 2015 -0700
fs/hfsplus: move xattr_name allocation in hfsplus_setxattr()
security/trusted/user/osx setxattr did the same
xattr_name initialization. Move that operation in hfsplus_setxattr().
Tested with security/trusted/user getfattr/setfattr
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit a3cef4cd6886c755d2148739699751900b51a365
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Thu Apr 16 12:46:58 2015 -0700
fs/hfsplus: move xattr_name allocation in hfsplus_getxattr()
security/trusted/user/osx getxattr did the same
xattr_name initialization. Move that operation in hfsplus_getxattr().
Tested with security/trusted/user getfattr/setfattr
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit f01fa5fb35c132587855be788297771e94b84330
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Thu Apr 16 12:46:56 2015 -0700
hfsplus: add missing curly braces in hfsplus_delete_cat()
This doesn't change how the code works, but clearly the curly braces were
intended.
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Cc: Vyacheslav Dubeyko <slava@xxxxxxxxxxx>
Cc: Sougata Santra <sougata@xxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 13f244852f1197b623af2d3076fae197d2e038ec
Author: Chengyu Song <csong84@xxxxxxxxxx>
Date: Thu Apr 16 12:46:53 2015 -0700
hfs: incorrect return values
In case of memory allocation error, the return should be -ENOMEM, instead
of -ENOSPC.
Signed-off-by: Chengyu Song <csong84@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit faea2c5311e162f5ceda8e0a261a9f9ece6f921d
Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Date: Thu Apr 16 12:46:50 2015 -0700
nilfs2: use inode_set_flags() in nilfs_set_inode_flags()
Use inode_set_flags() to atomically set i_flags instead of clearing out
the S_IMMUTABLE, S_APPEND, etc. flags and then setting them from the
FS_IMMUTABLE_FL, FS_APPEND_FL flags to avoid a race where an immutable
file has the immutable flag cleared for a brief window of time.
This is a similar fix to commit 5f16f3225b06 ("ext4: atomically set
inode->i_flags in ext4_set_inode_flags()").
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Cc: "Theodore Ts'o" <tytso@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 0ce187c4f32d77eae077f249aa10656b5eef5f28
Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Date: Thu Apr 16 12:46:47 2015 -0700
nilfs2: put out gfp mask manipulation from nilfs_set_inode_flags()
nilfs_set_inode_flags() function adjusts gfp-mask of inode->i_mapping as
well as i_flags, however, this coupling of operations is not appropriate.
For instance, nilfs_ioctl_setflags(), one of three callers of
nilfs_set_inode_flags(), doesn't need to reinitialize the gfp-mask at all.
In addition, nilfs_new_inode(), another caller of
nilfs_set_inode_flags(), doesn't either because it has already initialized
the gfp-mask.
Only __nilfs_read_inode(), the remaining caller, needs it. So, this moves
the gfp mask manipulation to __nilfs_read_inode() from
nilfs_set_inode_flags().
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 3377f843cf80e33d63f1a3ded67fd129a298c6b0
Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Date: Thu Apr 16 12:46:45 2015 -0700
nilfs2: fix gcc warning at nilfs_checkpoint_is_mounted()
Fix the following build warning:
fs/nilfs2/super.c: In function 'nilfs_checkpoint_is_mounted':
fs/nilfs2/super.c:1023:10: warning: comparison of unsigned expression <
0 is always false [-Wtype-limits]
if (cno < 0 || cno > nilfs->ns_cno)
^
This warning indicates that the comparision "cno < 0" is useless because
variable "cno" has an unsigned integer type "__u64".
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Reported-by: David Binderman <dcb314@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 53a2c3bdf4132c2c9cc3581e15265fd962f34fa8
Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Date: Thu Apr 16 12:46:42 2015 -0700
nilfs2: improve execution time of NILFS_IOCTL_GET_CPINFO ioctl
The older a filesystem gets, the slower lscp command becomes. This is
because nilfs_cpfile_do_get_cpinfo() function meets more hole blocks
as the start offset of valid checkpoint numbers gets bigger.
This reduces the overhead by skipping hole blocks efficiently with
nilfs_mdt_find_block() helper.
A measurement result of this patch is as follows:
Before:
$ time lscp
CNO DATE TIME MODE FLG BLKCNT
ICNT
5769303 2015-02-22 19:31:33 cp - 108
1
5769304 2015-02-22 19:38:54 cp - 108
1
real 0m0.182s
user 0m0.003s
sys 0m0.180s
After:
$ time lscp
CNO DATE TIME MODE FLG BLKCNT
ICNT
5769303 2015-02-22 19:31:33 cp - 108
1
5769304 2015-02-22 19:38:54 cp - 108
1
real 0m0.003s
user 0m0.001s
sys 0m0.002s
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit fa33915c92b43f5a4e95649f81303cc089b10dc6
Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Date: Thu Apr 16 12:46:39 2015 -0700
nilfs2: add helper to find existent block on metadata file
Add a new metadata file function, nilfs_mdt_find_block(), which finds
an existent block on a metadata file in a given range of blocks. This
function skips continuous hole blocks efficiently by using
nilfs_bmap_seek_key().
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 5b20384fb32cc3f93857f44fb84736d6d62a9917
Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Date: Thu Apr 16 12:46:36 2015 -0700
nilfs2: add bmap function to seek a valid key
Add a new bmap function, nilfs_bmap_seek_key(), which seeks a valid
entry and returns its key starting from a given key. This function
can be used to skip hole blocks efficiently.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 3568a13f4089aac90b3763a2b6c293cd2b638ec1
Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Date: Thu Apr 16 12:46:34 2015 -0700
nilfs2: unify type of key arguments in bmap interface
The type of key arguments in block mapping interface varies depending
on function. For instance, nilfs_bmap_lookup_at_level() takes "__u64"
for its key argument whereas nilfs_bmap_lookup() takes "unsigned
long".
This fits them to "__u64" to eliminate the variation.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 0de6d6b9a2ba21ae28b2420f6684021904833f68
Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Date: Thu Apr 16 12:46:31 2015 -0700
nilfs2: use bgl_lock_ptr()
Simplify nilfs_mdt_bgl_lock() by utilizing bgl_lock_ptr() helper in
<linux/blockgroup_lock.h>.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ead8ecffa3e180202c1096a39f14bbecffb139a1
Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Date: Thu Apr 16 12:46:28 2015 -0700
nilfs2: use set_mask_bits() for operations on buffer state bitmap
nilfs_forget_buffer(), nilfs_clear_dirty_page(), and
nilfs_segctor_complete_write() are using a bunch of atomic bit operations
against buffer state bitmap.
This reduces the number of them by utilizing set_mask_bits() macro.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6fb7a61e98ac311a65bc652a12611d9899994f49
Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Date: Thu Apr 16 12:46:25 2015 -0700
nilfs2: do not use async write flag for segment summary buffers
The async write flag is introduced to nilfs2 in the commit 7f42ec394156
("nilfs2: fix issue with race condition of competition between segments
for dirty blocks"), but the flag only makes sense for data buffers and
btree node buffers. It is not needed for segment summary buffers.
This gets rid of the latter uses as part of refactoring of atomic bit
operations on buffer state bitmap.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Cc: Vyacheslav Dubeyko <slava@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit f8ccad2164d406e60c0fa91206258f608fdb0148
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Thu Apr 16 12:46:23 2015 -0700
befs: replace typedef befs_inode_info by structure
See Documentation/CodingStyle
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 038428fcf7f05e5da46de617831a8230e1a2551d
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Thu Apr 16 12:46:20 2015 -0700
befs: replace typedef befs_sb_info by structure
See Documenation/CodingStyle
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 09ad0eae5ed0f354df892b1cfb868338dc578c5c
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Thu Apr 16 12:46:17 2015 -0700
befs: replace typedef befs_mount_options by structure
See Documentation/CodingStyle
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit a737e835e5769ef22897179ed7f82b1fc50bfa58
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Thu Apr 16 12:46:14 2015 -0700
rtc: use more standard kernel logging styles
Neaten the logging a bit by adding #define pr_fmt
Miscellanea:
o Remove __FILE__/__func__ uses
o Coalesce formats adding missing spaces
o Align arguments
o (rtc-cmos) Integrated 2 consecutive messages
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Joshua Kinard <kumba@xxxxxxxxxx>
Cc: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Cc: Aaro Koskinen <aaro.koskinen@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit f539a8acf1070557aef9c5df682751ba2af1005f
Author: Heiko Stübner <heiko@xxxxxxxxx>
Date: Thu Apr 16 12:46:11 2015 -0700
drivers/rtc/rtc-hym8563.c: fix swapped enable/disable of clockout control
bit
The hym8563 datasheet describes the clock output control-bit as "when set
to logic 0, the square wave output is enable, when set to logic 1, the
CLKOUT output is inhibited". But in reality the setting is exactly
opposite.
Before now, the clock output was not really used, but on the rk3288 soc
this generated clock is used to supply the temperature sensor block and
the swapped bit value prevented it from working. With the corrected
value, the tsadc now reports correct values.
Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx>
Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 492da68c8c3babc573208e057a9011d9489f2b5a
Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Date: Thu Apr 16 12:46:08 2015 -0700
drivers/rtc/rtc-s3c.c: remove one superfluous rtc_valid_tm() check
s3c_rtc_gettime() already returns the result of rtc_valid_tm() on the
obtained time so get rid of another call to rtc_valid_tm().
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 5d9094b6c7fc87d1909143540c1e2fddde9129b3
Author: Lokesh Vutla <lokeshvutla@xxxxxx>
Date: Thu Apr 16 12:46:05 2015 -0700
drivers/rtc/rtc-omap.c: use module_platform_driver
module_platform_driver_probe() prevents driver from requesting probe
deferral. So using module_platform_drive() to support probe deferral.
Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx>
Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Paul Walmsley <paul@xxxxxxxxx>
Cc: Tero Kristo <t-kristo@xxxxxx>
Cc: Sekhar Nori <nsekhar@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 8608976e2bc9c1df090e1b346c65ec1405e9d03d
Author: Lokesh Vutla <lokeshvutla@xxxxxx>
Date: Thu Apr 16 12:46:03 2015 -0700
drivers/rtc/Kconfig: update Kconfig for OMAP RTC
RTC is present in AM43xx and DRA7xx also. Updating the Kconfig to depend
on ARCH_OMAP or ARCH_DAVINCI
Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx>
Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Paul Walmsley <paul@xxxxxxxxx>
Cc: Tero Kristo <t-kristo@xxxxxx>
Cc: Sekhar Nori <nsekhar@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 9c28bd07c20776cc04aecf04ba5be53fa5fa6dd2
Author: Lokesh Vutla <lokeshvutla@xxxxxx>
Date: Thu Apr 16 12:46:00 2015 -0700
drivers/rtc/rtc-omap.c: unlock and lock rtc registers before and after
register writes
RTC module contains a kicker mechanism to prevent any spurious writes from
changing the register values. This mechanism requires two MMR writes to
the KICK0 and KICK1 registers with exact data values before the kicker
lock mechanism is released.
Currently the driver release the lock in the probe and leaves it enabled
until the rtc driver removal. This eliminates the idea of preventing
spurious writes when RTC driver is loaded. So implement rtc lock and
unlock functions before and after register writes.
This is as advised by Paul to implement lock and unlock functions in the
driver and not to unlock and leave it in probe. The same discussion can
be seen here:
http://www.mail-archive.com/linux-omap%40vger.kernel.org/msg111588.html
Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx>
Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Paul Walmsley <paul@xxxxxxxxx>
Cc: Tero Kristo <t-kristo@xxxxxx>
Cc: Sekhar Nori <nsekhar@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 202fe4c27f427c48ca5660277d743ee8b43fc200
Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Date: Thu Apr 16 12:45:57 2015 -0700
drivers/rtc/rtc-s3c.c: fix failed first read of RTC time
Initialize the device time (if it is wrong) before registering RTC device
to fix following error message during rtc-s3c probe:
[ 2.215414] rtc (null): read_time: fail to read
[ 2.216322] s3c-rtc 10070000.rtc: rtc core: registered s3c as rtc1
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 521fca18e828cddc94535a1ea5ac33460f1de679
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Thu Apr 16 12:45:54 2015 -0700
rtc: hctosys: use function name in the error log
Use function name in the error log instead of __FILE__.
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d0bddb512d9c8e1adefc7416ef6c71cba05d62c8
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Thu Apr 16 12:45:51 2015 -0700
drivers/rtc/interface.c: __rtc_read_time: reduce log level
__rtc_read_time logs should be debug logs instead of error logs.
For example, when the RTC clock is not set, it's not really useful
to print a kernel error log every time someone tries to read the clock:
~ # hwclock -r
[ 604.508263] rtc rtc0: read_time: fail to read
hwclock: RTC_RD_TIME: Invalid argument
If there's a real error, it's likely that lower level or higher level
code will tell it anyway. Make these logs debug logs, and also print
the error code for the read failure.
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 182683e955af4dd2324427129f3b90558d644066
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Thu Apr 16 12:45:48 2015 -0700
drivers/rtc/class.c: initialize rtc name early
In some error cases RTC name is used before it is initialized:
rtc-rs5c372 0-0032: clock needs to be set
rtc-rs5c372 0-0032: rs5c372b found, 24hr, driver version 0.6
rtc (null): read_time: fail to read
rtc-rs5c372 0-0032: rtc core: registered rtc-rs5c372 as rtc0
Fix by initializing the name early.
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 5281f94ae7f54d2d1a48dbc10223fd12d2aea716
Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Date: Thu Apr 16 12:45:45 2015 -0700
drivers/rtc/rtc-s5m.c: add support for S2MPS13 RTC
The S2MPS13 RTC is almost the same as S2MPS14. The differences when
updating alarm are:
1. Set WUDR+AUDR field instead of WUDR+RUDR.
2. Clear the AUDR field later (it is not auto-cleared).
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7c6f84f8df02a17ad3da5e38abc8b8abff122d39
Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 12:45:43 2015 -0700
MAINTAINERS: Add Alexandre Belloni as an RTC maintainer
I've noticed that most of the patches for the RTC subsystem are currently
either taken directly by Andrew or going through another maintainer's
tree, quite often without an Acked-by or Reviewed-by tag.
I'd like to propose myself as the RTC subsystem co-maintainer, to mainly
help Alessandro reviewing incoming patches and maintain a subsystem tree
to avoid having the RTC patches going through trees when they have no
particular dependencies.
Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ba17220878bf74b95ea24de568939e7b9e1b02db
Author: Baruch Siach <baruch@xxxxxxxxxx>
Date: Thu Apr 16 12:45:40 2015 -0700
rtc: driver for Conexant Digicolor CX92755 on-chip RTC
Add driver for the RTC hardware block on the Conexant CX92755 SoC, from
the Digicolor series of SoCs. Tested on the Equinox evaluation board for
the CX92755 chip.
[akpm@xxxxxxxxxxxxxxxxxxxx: build command arrays at compile-time]
Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 71b800b628570ce315a3f820b79969e460cd297f
Author: Baruch Siach <baruch@xxxxxxxxxx>
Date: Thu Apr 16 12:45:37 2015 -0700
rtc: digicolor: document device tree binding
Add a device tree binding documentation to the Real Time Clock hardware
block on the Conexant CX92755 SoC. The CX92755 is from the Digicolor SoCs
series. Other SoCs in that series may share the same hardware block.
Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit b3288a43b4dacd2b4d2b24726d7b469d8ade5120
Author: Heiko Stuebner <heiko@xxxxxxxxx>
Date: Thu Apr 16 12:45:34 2015 -0700
drivers/rtc/rtc-hym8563.c: return clock rate even when clock is disabled
When the clock is disabled, do not return a rate of 0 but instead return
the rate the clock will be running at after it gets enabled. This
prevents problems when the core clock code is trying to determine a
suitable rate, while the clock is still off.
Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d174a024007dd543fd066cffd8eb727806a62da6
Author: Adam Ward <adam.ward.opensource@xxxxxxxxxxx>
Date: Thu Apr 16 12:45:32 2015 -0700
drivers/rtc/rtc-da9052.c: register ability of alarm to wake device from
suspend
Signed-off-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx>
Tested-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ae824c484c85d77e3f272515aafb410bbade13fa
Author: Adam Ward <adam.ward.opensource@xxxxxxxxxxx>
Date: Thu Apr 16 12:45:29 2015 -0700
drivers/rtc/rtc-da9052.c: add constraints to set valid year
Signed-off-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx>
Tested-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 03cc1625e1f2e9fc6910af4174c942d56292f556
Author: Adam Ward <adam.ward.opensource@xxxxxxxxxxx>
Date: Thu Apr 16 12:45:26 2015 -0700
drivers/rtc/rtc-da9052.c: add extra reads with timeouts to avoid
returning partially updated values
The RTC is in a different clock domain so a quick read after write
can retrieve a mangled value of the old/new values
Signed-off-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx>
Tested-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 52ef84d566dc145b4d469f06667c5fa3118fdd44
Author: Joshua Kinard <kumba@xxxxxxxxxx>
Date: Thu Apr 16 12:45:23 2015 -0700
drivers/rtc/rtc-ds1685.c: fix sparse warnings
Fix two minor sparse warnings:
CHECK drivers/rtc/rtc-ds1685.c
drivers/rtc/rtc-ds1685.c:2178:1: warning: function
'ds1685_rtc_poweroff' with external linkage has definition
drivers/rtc/rtc-ds1685.c:802:23: warning: Using plain integer as NULL
pointer
Fixes: aaaf5fbf56f1 ("rtc: add driver for DS1685 family of real time
clocks")
Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 269812de8b1c28cd477a3f9cc9793047f0de530e
Author: Joshua Kinard <kumba@xxxxxxxxxx>
Date: Thu Apr 16 12:45:21 2015 -0700
drivers/rtc/rtc-ds1685.c: remove .owner assignment from platform_driver
The rtc driver core now sets the platform_driver 'owner' property, so
remove the assignment from the DS1685 driver.
Fixes: aaaf5fbf56f1: "rtc: add driver for DS1685 family of real time
clocks"
Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx>
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ac2a2726661a8f8f74af0d499cb16b3adf90d764
Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Date: Thu Apr 16 12:45:18 2015 -0700
drivers/rtc/rtc-ab-b5ze-s3.c: constify struct regmap_config
The regmap_config struct may be const because it is not modified by the
driver and regmap_init() accepts pointer to const.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 24e1455493dae5ce4b15f83d6ad549befd15f980
Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Date: Thu Apr 16 12:45:15 2015 -0700
drivers/rtc/rtc-s3c.c: delete duplicate clock control
The current functions in s3c-rtc driver execute clk_enable/disable() to
control clocks and some functions execute s3c_rtc_alarm_clk_enable()
unnecessarily. So this patch deletes the duplicate clock control and
spilts s3c_rtc_alarm_clk_enable() out as
s3c_rtc_enable_clk()/s3c_rtc_disable_clk() to improve readability.
Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Kukjin Kim <kgene@xxxxxxxxxx>
Cc: Inki Dae <inki.dae@xxxxxxxxxxx>
Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit aed98b9a1be6fcf1685dfd37f0a3e78e92a21f7d
Author: Floris Bos <bos@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 12:45:12 2015 -0700
rtc: hctosys: do not treat lack of RTC device as error
When using device trees on the ARM platform, it is not certain at compile
time whether or not the system will have a RTC.
If one enables CONFIG_HCTOSYS just in case the system booted has a RTC,
and it turns out not to be, this will result in a big fat "unable to open
rtc device" error being printed to console, even when "quiet" is set in
the kernel cmdline.
Fix this by outputting the message with loglevel info instead.
Signed-off-by: Floris Bos <bos@xxxxxxxxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 86e66604fca053e5ecb2427538aa233637119409
Author: Martin Kepplinger <martink@xxxxxxxxx>
Date: Thu Apr 16 12:45:09 2015 -0700
drivers/rtc/rtc-x1205.c: use sign_extend32() for sign extension
Despite its name, sign_extend32() is safe to use for 8 bit types too.
(See https://lkml.org/lkml/2015/1/18/289).
Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit e706974dc3e2f44891e736f4a96eb88b60356178
Author: Peter Robinson <pbrobinson@xxxxxxxxx>
Date: Thu Apr 16 12:45:07 2015 -0700
drivers/rtc/rtc-em3027.c: add device tree support
Set the of_match_table for this driver so that devices can be described in
the device tree. This device is used in the Trimslice and is already
defined in the Trimslice device tree.
Signed-off-by: Peter Robinson <pbrobinson@xxxxxxxxx>
Cc: Mike Rapoport <mike@xxxxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Grant Likely <grant.likely@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7f48b21bdfede2c06e966258317a3bb4be3e4f25
Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Date: Thu Apr 16 12:45:04 2015 -0700
rtc: stmp3xxx: use optional crystal in low power states
The rtc's status register allows to determine if a 32k crystal is
connected to keep the rtc running in low power states provided the
corresponding fuse bits were blown correctly during production. (In case
they were not, the right frequency can be stated in the device tree.) If
there is no such crystal available force the 24 MHz XTAL clock to keep
running to retain the right date and time. Otherwise use the crystal to
save some power.
It would be nice to only switch to the crystal when the XTAL clock is
about to be disabled and keep the crystal off when unneeded because XTAL
is always on while the chip is powered on. But as sudden power loss isn't
detectable this is not save.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit b0c57b5941c4a42698d845ada6a76feeba2d1be9
Author: Robert Kmiec <robert.r.kmiec@xxxxxxxxx>
Date: Thu Apr 16 12:45:01 2015 -0700
drivers/rtc/rtc-pcf8563.c: simplify return from function
This commit does not change any logic here. It just makes the code easier
to read.
This is how it looked like:
If err != 0 return err;
else return 0;
Signed-off-by: Robert Kmiec <robert.r.kmiec@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6e54abac1b8e0b7febffdbad37b605daef1cfcff
Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Date: Thu Apr 16 12:44:58 2015 -0700
kasan: Makefile: shut up warnings if CONFIG_COMPILE_TEST=y
It might be annoying to constantly see this:
scripts/Makefile.kasan:16: Cannot use CONFIG_KASAN:
-fsanitize=kernel-address is not supported by compiler
while performing allmodconfig/allyesconfig build tests.
Disable this warning if CONFIG_COMPILE_TEST=y.
Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Cc: Michal Marek <mmarek@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6ceafb880c218a14e0cf8d08499138a1a9775fb2
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 12:44:56 2015 -0700
fs/binfmt_misc.c: simplify entry_status()
sprintf() reliably returns the number of characters printed, so we don't
need to ask strlen() where we are. Also replace calling sprintf("%02x")
in a loop with the much simpler bin2hex().
[akpm@xxxxxxxxxxxxxxxxxxxx: it's odd to include kernel.h after everything
else]
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit e0df7e1faebad9a7ac0931d03f86fcd5c0d1896e
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Thu Apr 16 12:44:53 2015 -0700
checkpatch: avoid "spaces required around that ':'" false positive
Since commit 1f65f947a6a8 ("checkpatch: add checks for question mark and
colon spacing") back in 2008, checkpatch has reported false positive for
asm volatile uses of "::" checkpatch thinks colons should always have
spaces around it.
Add an exception for colons with colons on either side for this valid asm
volatile (and c++) use.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Reported-by: Yehuda Yitschak <yehuday@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 323b267faff4db5f2424b6c09ab78a272393b69e
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Thu Apr 16 12:44:50 2015 -0700
checkpatch: fix --fix use with a patch of multiple files
If a patch touches multiple files, the --fix and --fix-inplace option
doesn't keep the proper line count and makes the new patch file not able
to be applied via bad offset line numbers when lines are added or deleted
by the --fix option.
Dunno how that extra backslash snuck in there.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Cc: Andy Whitcroft <apw@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit e15f431fe2d53cd4673510736da7d4fa1090e096
Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Date: Thu Apr 16 12:44:47 2015 -0700
errno.h: Improve ENOSYS's comment
ENOSYS is the mechanism used by user code to detect whether the running
kernel implements a given system call. It should not be returned by
anything except an unimplemented system call.
Unfortunately, it is rather frequently used in the kernel to indicate that
various new functions of existing system calls are not implemented. This
should be discouraged.
Improve the comment in errno.h to help clarify ENOSYS's purpose.
Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Pavel Machek <pavel@xxxxxx>
Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx>
Cc: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 91c9afaf97ee554d2cd3042a5ad01ad21c99e8c4
Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Date: Thu Apr 16 12:44:44 2015 -0700
checkpatch.pl: new instances of ENOSYS are errors
ENOSYS means that a nonexistent system call was called. We have a
bad habit of using it for things like invalid operations on
otherwise valid syscalls. We should avoid this in new code.
Pervasive incorrect usage of ENOSYS came up at the kernel summit ABI
review discussion. Let's see if checkpatch can help.
I'll submit a separate patch for include/uapi/asm-generic/errno.h.
Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Pavel Machek <pavel@xxxxxx>
Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx>
Cc: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit c17893c7407fbe988f5901596c3e5e75c0dc0f67
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Thu Apr 16 12:44:42 2015 -0700
checkpatch: add a test for const with __read_mostly uses
const objects shouldn't be __read_mostly. They are read-only.
Marking these objects as __read_mostly causes section conflicts with LTO
linking.
So add a test to try to avoid this issue.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Cc: Andy Whitcroft <apw@xxxxxxxxxxxx>
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d7fe8065ad891a2ad38b73ff10b97d08f0fb3b0b
Author: Sam Bobroff <sam.bobroff@xxxxxxxxxxx>
Date: Thu Apr 16 12:44:39 2015 -0700
checkpatch: improve operator spacing check
Code such as:
x = timercmp(&now, &end, <);
Will currently trigger a checkpatch error. e.g.
ERROR: spaces required around that '<'
This is because the "Ignore operators passed as parameters" check looks
only for a comma following the operator. Improve the check by also
looking for a close parenthesis.
Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx>
Cc: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit b598b67060f14eb8c34d0cef1db4727dab56ef91
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Thu Apr 16 12:44:36 2015 -0700
checkpatch: add 'Prefer ARRAY_SIZE" test
Add a test for sizeof(foo)/sizeof(foo[0]) that could be ARRAY_SIZE(foo).
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6d07d01b62b2d81500803058f736b46677ec873a
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Thu Apr 16 12:44:33 2015 -0700
checkpatch: add uart_ops to normally const structs
Add another struct to the list of normally const struct types
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Cc: Andy Whitcroft <apw@xxxxxxxxxxxx>
Cc: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Jiri Slaby <jslaby@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 29a3c46673a5e3ee22feaba7020a280486c78f0a
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Thu Apr 16 12:44:30 2015 -0700
checkpatch: add #define foo "string" long line exception
There are #defines with long string constants like:
#define foo "some really long string > 80 columns"
Add a long line exception for them.
Miscellanea:
Use the $String variable for slightly better readability
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Reported-by: Madalin-Cristian Bucur <madalin.bucur@xxxxxxxxxxxxx>
Cc: Andy Whitcroft <apw@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 2a076f40d8c9be95bee7bcf18436655e1140447f
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Thu Apr 16 12:44:28 2015 -0700
checkpatch, SubmittingPatches: suggest line wrapping commit messages at
75 columns
Commit messages lines are sometimes overly long.
Suggest line wrapping at 75 columns so the default git commit log
indentation of 4 plus the commit message text still fits on an 80 column
screen.
Add a checkpatch test for long commit messages lines too.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Cc: David Miller <davem@xxxxxxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: Ian Morris <ipm@xxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 0e212e0a720601fabda102f7998d27625f9e144a
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Thu Apr 16 12:44:25 2015 -0700
checkpatch: don't ask for asm/file.h to linux/file.h unconditionally
Currently checkpatch warns when asm/file.h is included and linux/file.h
exists. That conversion can be made when linux/file.h includes asm/file.h
which is not always the case.(See signal.h)
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Cc: Andy Whitcroft <apw@xxxxxxxxxxxxx>
Acked-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ab7e23f3448e55f4808f443a7b98ded6707701bb
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Thu Apr 16 12:44:22 2015 -0700
checkpatch: add test for repeated const uses
Using 'const <type> const *' is generally meant to be written 'const
<type> * const'.
Add a test for the miswritten form.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit f34e4a4f979c0d39f741bc809127fcf2167a7389
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Thu Apr 16 12:44:19 2015 -0700
checkpatch: improve return negative errno check
Add a few conditions to the test to find
return (ERRNO);
Make the output message a bit less cryptic too.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit b392c64f59d7b088aefb4e86d208cd6d3b93eefb
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Thu Apr 16 12:44:16 2015 -0700
checkpatch: match more world writable permissions
Currently checkpatch will fuss if one uses world writable settings in
debugfs files and DEVICE_ATTR uses by testing S_IWUGO but not testing
S_IWOTH, S_IRWXUGO or S_IALLUGO.
Extend the check to catch all cases exporting world writable permissions
including octal values.
[akpm@xxxxxxxxxxxxxxxxxxxx: remove stray $]
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Original-patch-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ebfd7d62375316ff532b6b9bae9d88a29f434ba7
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Thu Apr 16 12:44:14 2015 -0700
checkpatch: add optional --codespell dictionary to find more typos
If a codespell dictionary exists, use it if desired. default is off,
maybe it could be turned on later.
codespell's dictionary format allows multiple possible corrections, ignore
that for now and only use the first suggestion.
Also add \b to spelling test so that consecutive misspelled words
are found properly.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Cc: Andy Whitcroft <apw@xxxxxxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Masanari Iida <standby24x7@xxxxxxxxx>
Cc: Lucas De Marchi <lucas.de.marchi@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit b3e9a677fc0875c7cc26d4edf6742a1436e86c52
Author: Jani Nikula <jani.nikula@xxxxxxxxx>
Date: Thu Apr 16 12:44:11 2015 -0700
checkpatch: spell check reudce
References:
http://mid.gmane.org/1424977312-24902-1-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Cc: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 66d7a382cb5d2d40b468e68b665bbf6f9bc3400e
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Thu Apr 16 12:44:08 2015 -0700
checkpatch: add spell checking of email subject line
Only commit log and patch additions are checked for typos and spelling
errors currently. Add a check of the email subject line too.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Suggested-by: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx>
Tested-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6ab3a9701e00c2a085bac6a7a9bdcf8fc5eca6c5
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Thu Apr 16 12:44:05 2015 -0700
checkpatch: improve "no space is necessary after a cast" test
The "no space is necessary after a cast" sizeof exclusion doesn't work
properly.
The test reports a false positive for code like:
BUILD_BUG_ON(sizeof(struct batadv_bla_claim_dst) != 6);
Make it work, simplify the exclusions, and add some comments.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Reported-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d43698e8abb58a6ac47d16e0f47bb55f452e4fc4
Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx>
Date: Thu Apr 16 12:44:02 2015 -0700
firmware/ihex2fw.c: restore missing default in switch statement
Commit 2473238eac95 ("ihex: add support for CS:IP/EIP records") removes
the "default:" statement in the switch block, making the "return
usage();" line dead code and ihex2fw silently ignoring unknown options.
Restore this statement.
This bug was found by building with HOSTCC=clang and adding
-Wunreachable-code-return to HOSTCFLAGS.
Fixes: 2473238eac95 ("ihex: add support for CS:IP/EIP records")
Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx>
Cc: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 2afe27c718b669b551895595873611ac39cc31e3
Author: Yury Norov <yury.norov@xxxxxxxxx>
Date: Thu Apr 16 12:44:00 2015 -0700
lib/bitmap.c: bitmap_[empty,full]: remove code duplication
bitmap_empty() has its own implementation. But it's clearly as simple as:
find_first_bit(src, nbits) == nbits
The same is true for 'bitmap_full'.
Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx>
Cc: George Spelvin <linux@xxxxxxxxxxx>
Cc: Alexey Klimov <klimov.linux@xxxxxxxxx>
Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d48502eacd8934b79c3e62f7858c79fa6422398b
Author: Javi Merino <javi.merino@xxxxxxx>
Date: Thu Apr 16 12:43:57 2015 -0700
ASoC: pcm512x: use DIV_ROUND_CLOSEST_ULL() from kernel.h
Now that the kernel provides DIV_ROUND_CLOSEST_ULL(), drop the internal
implementation and use the kernel one.
Signed-off-by: Javi Merino <javi.merino@xxxxxxx>
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Cc: Peter Rosin <peda@xxxxxxxxxx>
Acked-by: Mark Brown <broonie@xxxxxxxxxx>
Cc: Liam Girdwood <lgirdwood@xxxxxxxxx>
Cc: Jaroslav Kysela <perex@xxxxxxxx>
Cc: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 512eb720c9892261d68f86ba880a55cdbb74710d
Author: Javi Merino <javi.merino@xxxxxxx>
Date: Thu Apr 16 12:43:54 2015 -0700
media: cxd2820r: use DIV_ROUND_CLOSEST_ULL()
Now that the kernel provides DIV_ROUND_CLOSEST_ULL(), drop the internal
implementation and use the kernel one.
Signed-off-by: Javi Merino <javi.merino@xxxxxxx>
Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
Acked-by: Antti Palosaari <crope@xxxxxx>
Reviewed-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ee3c86f356b4dfc130442d0bd68ff2da2bd60538
Author: Javi Merino <javi.merino@xxxxxxx>
Date: Thu Apr 16 12:43:51 2015 -0700
cpuidle: menu: use DIV_ROUND_CLOSEST_ULL()
Now that the kernel provides DIV_ROUND_CLOSEST_ULL(), drop the internal
implementation and use the kernel one.
Signed-off-by: Javi Merino <javi.merino@xxxxxxx>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit aa7762010a4340a12a87a54b7a402adcdce8cfa9
Author: Javi Merino <javi.merino@xxxxxxx>
Date: Thu Apr 16 12:43:48 2015 -0700
clk: bcm/kona: use DIV_ROUND_CLOSEST_ULL()
Now that the kernel provides DIV_ROUND_CLOSEST_ULL(), drop the internal
implementation and use the kernel one.
Signed-off-by: Javi Merino <javi.merino@xxxxxxx>
Cc: Mike Turquette <mturquette@xxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Acked-by: Alex Elder <elder@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit f766093ecb647f5a87bfa456715abbbccee547ce
Author: Javi Merino <javi.merino@xxxxxxx>
Date: Thu Apr 16 12:43:45 2015 -0700
kernel.h: implement DIV_ROUND_CLOSEST_ULL
We have grown a number of different implementations of
DIV_ROUND_CLOSEST_ULL throughout the kernel. Move the i915 one to
kernel.h so that it can be reused.
Signed-off-by: Javi Merino <javi.merino@xxxxxxx>
Reviewed-by: Jeff Epler <jepler@xxxxxxxxxxxxxx>
Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx>
Cc: David Airlie <airlied@xxxxxxxx>
Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
Cc: "Rafael J. Wysocki" <rafael.j.wysocki@xxxxxxxxx>
Cc: Alex Elder <elder@xxxxxxxxxx>
Cc: Antti Palosaari <crope@xxxxxx>
Cc: Javi Merino <javi.merino@xxxxxxx>
Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Mike Turquette <mturquette@xxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 675cf53c1deaffadc7b6a0b4afe6cdafec86bedb
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 12:43:42 2015 -0700
lib/vsprintf.c: improve put_dec_trunc8 slightly
I hadn't had enough coffee when I wrote this. Currently, the final
increment of buf depends on the value loaded from the table, and
causes gcc to emit a cmov immediately before the return. It is smarter
to let it depend on r, since the increment can then be computed in
parallel with the final load/store pair. It also shaves 16 bytes of
.text.
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit cdb1dc3f1ca5c5899e5fa186afe20390bd8c00dc
Author: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
Date: Thu Apr 16 12:43:39 2015 -0700
hwmon: (w83795) use find_closest_descending() in pwm_freq_to_reg()
Replace the loop iterating over pwm_freq_cksel0 with a call to
find_closest_descending().
Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 0f3721c51ec5643e00f07dd3bbc5712c72fc62b2
Author: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
Date: Thu Apr 16 12:43:36 2015 -0700
hwmon: (lm85) use find_closest() in x_TO_REG() functions
Replace RANGE_TO_REG() and FREQ_TO_REG() implementations with
calls to find_closest().
Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d38df34e3f0ea1e65c7db5d33d132dc14da0009a
Author: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
Date: Thu Apr 16 12:43:34 2015 -0700
hwmon: (ina2xx) replace ina226_avg_bits() with find_closest()
Use find_closest() to locate the closest average in ina226_avg_tab.
Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit f2027543b9cb47e1853d8c34fe931e2fcee5cb65
Author: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
Date: Thu Apr 16 12:43:31 2015 -0700
documentation: update CodingStyle on local variables naming in macros
Describe proper naming convention for local variables in macros
resembling functions.
Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 95d119528b0b8440a63bc13904e9873fc3a70503
Author: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
Date: Thu Apr 16 12:43:28 2015 -0700
util_macros.h: add find_closest() macro
This series unduplicates the code used to find the member in an array
closest to 'x'.
The first patch adds a macro implementing the algorithm in two flavors -
for arrays sorted in ascending and descending order. The second updates
Documentation/CodingStyle on the naming convention for local variables in
macros resembling functions. Other three patches replace duplicated code
with calls to one of these macros in some hwmon drivers.
This patch (of 5):
Searching for the member of an array closest to 'x' is duplicated in
several places.
Add a new include - util_macros.h - and two macros that implement this
algorithm for arrays sorted both in ascending and descending order.
Uses linear search.
Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit a7a2c02a40151811609ad8cd3bf5c4fc516fece5
Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 12:43:25 2015 -0700
lib/dma-debug: fix bucket_find_contain()
bucket_find_contain() will search the bucket list for a dma_debug_entry.
When the entry isn't found it needs to search other buckets too, since
only the start address of a dma range is hashed (which might be in a
different bucket).
A copy of the dma_debug_entry is used to get the previous hash bucket
but when its list is searched the original dma_debug_entry is to be used
not its modified copy.
This fixes false "device driver tries to sync DMA memory it has not
allocated"
warnings.
Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Cc: Florian Fainelli <f.fainelli@xxxxxxxxx>
Cc: Horia Geanta <horia.geanta@xxxxxxxxxxxxx>
Cc: Jiri Kosina <jkosina@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7c43d9a30c527d9e06e2c55f82b56f28df43caed
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 12:43:22 2015 -0700
lib/vsprintf.c: even faster binary to decimal conversion
The most expensive part of decimal conversion is the divisions by 10
(albeit done using reciprocal multiplication with appropriately chosen
constants). I decided to see if one could eliminate around half of
these multiplications by emitting two digits at a time, at the cost of a
200 byte lookup table, and it does indeed seem like there is something
to be gained, especially on 64 bits. Microbenchmarking shows
improvements ranging from -50% (for numbers uniformly distributed in [0,
2^64-1]) to -25% (for numbers heavily biased toward the smaller end, a
more realistic distribution).
On a larger scale, perf shows that top, one of the big consumers of /proc
data, uses 0.5-1.0% fewer cpu cycles.
I had to jump through some hoops to get the 32 bit code to compile and run
on my 64 bit machine, so I'm not sure how relevant these numbers are, but
just for comparison the microbenchmark showed improvements between -30%
and -10%.
The bloat-o-meter costs are around 150 bytes (the generated code is a
little smaller, so it's not the full 200 bytes) on both 32 and 64 bit.
I'm aware that extra cache misses won't show up in a microbenchmark as
used above, but on the other hand decimal conversions often happen in bulk
(for example in the case of top).
I have of course tested that the new code generates the same output as the
old, for both the first and last 1e10 numbers in [0,2^64-1] and 4e9
'random' numbers in-between.
Test and verification code on github: https://github.com/Villemoes/dec.
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Tested-by: Jeff Epler <jepler@xxxxxxxxxxxxxx>
Cc: "Peter Zijlstra (Intel)" <peterz@xxxxxxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Cc: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 840620a1596a90636a44d6a593db4041bb28d52e
Author: Yury Norov <yury.norov@xxxxxxxxx>
Date: Thu Apr 16 12:43:19 2015 -0700
lib: rename lib/find_next_bit.c to lib/find_bit.c
This file contains implementation for all find_*_bit{,_le}
So giving it more generic name looks reasonable.
Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx>
Reviewed-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Reviewed-by: George Spelvin <linux@xxxxxxxxxxx>
Cc: Alexey Klimov <klimov.linux@xxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: Daniel Borkmann <dborkman@xxxxxxxxxx>
Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
Cc: Mark Salter <msalter@xxxxxxxxxx>
Cc: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx>
Cc: Thomas Graf <tgraf@xxxxxxx>
Cc: Valentin Rothberg <valentinrothberg@xxxxxxxxx>
Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 8f6f19dd5143aa59139deeb885a8ed5e2d937e21
Author: Yury Norov <yury.norov@xxxxxxxxx>
Date: Thu Apr 16 12:43:16 2015 -0700
lib: move find_last_bit to lib/find_next_bit.c
Currently all 'find_*_bit' family is located in lib/find_next_bit.c,
except 'find_last_bit', which is in lib/find_last_bit.c. It seems,
there's no major benefit to have it separated.
Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx>
Reviewed-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Reviewed-by: George Spelvin <linux@xxxxxxxxxxx>
Cc: Alexey Klimov <klimov.linux@xxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: Daniel Borkmann <dborkman@xxxxxxxxxx>
Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
Cc: Mark Salter <msalter@xxxxxxxxxx>
Cc: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx>
Cc: Thomas Graf <tgraf@xxxxxxx>
Cc: Valentin Rothberg <valentinrothberg@xxxxxxxxx>
Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 2c57a0e233d72f8c2e2404560dcf0188ac3cf5d7
Author: Yury Norov <yury.norov@xxxxxxxxx>
Date: Thu Apr 16 12:43:13 2015 -0700
lib: find_*_bit reimplementation
This patchset does rework to find_bit function family to achieve better
performance, and decrease size of text. All rework is done in patch 1.
Patches 2 and 3 are about code moving and renaming.
It was boot-tested on x86_64 and MIPS (big-endian) machines.
Performance tests were ran on userspace with code like this:
/* addr[] is filled from /dev/urandom */
start = clock();
while (ret < nbits)
ret = find_next_bit(addr, nbits, ret + 1);
end = clock();
printf("%ld\t", (unsigned long) end - start);
On Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz measurements are: (for
find_next_bit, nbits is 8M, for find_first_bit - 80K)
find_next_bit: find_first_bit:
new current new current
26932 43151 14777 14925
26947 43182 14521 15423
26507 43824 15053 14705
27329 43759 14473 14777
26895 43367 14847 15023
26990 43693 15103 15163
26775 43299 15067 15232
27282 42752 14544 15121
27504 43088 14644 14858
26761 43856 14699 15193
26692 43075 14781 14681
27137 42969 14451 15061
... ...
find_next_bit performance gain is 35-40%;
find_first_bit - no measurable difference.
On ARM machine, there is arch-specific implementation for find_bit.
Thanks a lot to George Spelvin and Rasmus Villemoes for hints and
helpful discussions.
This patch (of 3):
New implementations takes less space in source file (see diffstat) and in
object. For me it's 710 vs 453 bytes of text. It also shows better
performance.
find_last_bit description fixed due to obvious typo.
[akpm@xxxxxxxxxxxxxxxxxxxx: include linux/bitmap.h, per Rasmus]
Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx>
Reviewed-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Reviewed-by: George Spelvin <linux@xxxxxxxxxxx>
Cc: Alexey Klimov <klimov.linux@xxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: Daniel Borkmann <dborkman@xxxxxxxxxx>
Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
Cc: Mark Salter <msalter@xxxxxxxxxx>
Cc: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx>
Cc: Thomas Graf <tgraf@xxxxxxx>
Cc: Valentin Rothberg <valentinrothberg@xxxxxxxxx>
Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 396ada68acefc4f90cf1f05d4275913834af5d93
Author: Richard Weinberger <richard@xxxxxx>
Date: Thu Apr 16 12:43:10 2015 -0700
alpha: forward declare struct pt_regs in processor.h
Removal of exec domains uncovered this new warning. processor.h re-used
struct pt_regs from personality.h which is now gone.
./arch/alpha/include/asm/processor.h:47:33: warning: 'struct pt_regs'
declared inside parameter list [enabled by default]
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx>
Cc: Matt Turner <mattst88@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6480827357923b3977b97c9413a7307be850975d
Author: Baruch Siach <baruch@xxxxxxxxxx>
Date: Thu Mar 19 14:03:41 2015 +0200
of: base: improve of_get_next_child() kernel-doc
Add two new facts to of_get_next_child() documentation:
* of_get_next_child() returns NULL when there is not next child
* of_get_next_child() decrements the refcount of prev
Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit 96541bac0b4e62efa42e7900d9b32e6baa9a214c
Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Date: Tue Apr 14 13:06:12 2015 +0200
Revert "mmc: core: Convert mmc_driver to device_driver"
This reverts commit 6685ac62b2f0 ("mmc: core: Convert mmc_driver to
device_driver")
The reverted commit went too far in simplifing the device driver parts
for mmc.
Let's restore the old mmc_driver to enable driver core to sooner
or later to remove the ->probe(), ->remove() and ->shutdown() callbacks
from the struct device_driver.
Note that, the old ->suspend|resume() callbacks in the struct
mmc_driver don't need to be restored, since the mmc block layer has
converted to the modern system PM ops.
Fixes: 6685ac62b2f0 ("mmc: core: Convert mmc_driver to device_driver")
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
commit 636efbc66452659840a9a4df1daf80074ee439f6
Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Date: Mon Apr 13 16:07:41 2015 +0200
mmc: pwrseq: Fix error code propagation in mmc_pwrseq_simple_alloc()
If the struct mmc_pwrseq_match .alloc function used to allocate a
struct mmc_pwrseq fails, the error is propagated to mmc_of_parse().
But instead of returning the error code in pwrseq, host->pwrseq is
returned which will always be 0. So mmc_of_parse() succeeds even if
the pwrseq .alloc function failed and host->pwrseq is NULL.
This makes the SDIO device to not be powered if the power sequencing
.alloc functions wants to be deferred due a missing resource because
the mmc controller driver probe did wrongly succeed.
Fixes: 0f12a0ce4ce4a ("mmc: pwrseq: simplify alloc/free hooks")
Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 18ecb3bfa5a9f6fffbb3eeb4369f0b9463438ec0
Author: Borislav Petkov <bp@xxxxxxx>
Date: Thu Apr 16 20:41:37 2015 +0200
x86/fpu: Load xsave pointer *after* initialization
So I was playing with gdb today and did this simple thing:
gdb /bin/ls
...
(gdb) run
Box exploded with this splat:
BUG: unable to handle kernel NULL pointer dereference at
00000000000001d0
IP: [<ffffffff8100fe5a>] xstateregs_get+0x7a/0x120
[...]
Call Trace:
ptrace_regset
ptrace_request
? wait_task_inactive
? preempt_count_sub
arch_ptrace
? ptrace_get_task_struct
SyS_ptrace
system_call_fastpath
... because we do cache &target->thread.fpu.state->xsave into the
local variable xsave but that pointer is NULL at that time and
it gets initialized later, in init_fpu(), see:
e7f180dcd8ab ("x86/fpu: Change xstateregs_get()/set() to use
->xsave.i387 rather than ->fxsave")
The fix is simple: load xsave *after* init_fpu() has run.
Also do the same in xstateregs_set(), as suggested by Oleg Nesterov.
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Rik van Riel <riel@xxxxxxxxxx>
Cc: Tavis Ormandy <taviso@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1429209697-5902-1-git-send-email-bp@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 78d504bcd769cc496f63b626f507039eab2316b7
Author: Kan Liang <kan.liang@xxxxxxxxx>
Date: Thu Apr 2 04:12:57 2015 -0400
perf/x86/intel: Add Broadwell support for the LBR callstack
Same as Haswell, Broadwell also support the LBR callstack.
Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427962377-40955-1-git-send-email-kan.liang@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 645523960102fa0ac0578d070630e49ab05f06d1
Author: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
Date: Thu Mar 26 14:28:45 2015 -0700
perf/x86/intel/rapl: Fix energy counter measurements but supporing per
domain energy units
RAPL energy hardware unit can vary within a single CPU package, e.g.
HSW server DRAM has a fixed energy unit of 15.3 uJ (2^-16) whereas
the unit on other domains can be enumerated from power unit MSR.
There might be other variations in the future, this patch adds
per cpu model quirk to allow special handling of certain cpus.
hw_unit is also removed from per cpu data since it is not per cpu
and the sampling rate for energy counter is typically not high.
Without this patch, DRAM domain on HSW servers will be counted
4x higher than the real energy counter.
Signed-off-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Andi Kleen <andi.kleen@xxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Vince Weaver <vincent.weaver@xxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427405325-780-1-git-send-email-jacob.jun.pan@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 517e6341fa123ec3a2f9ea78ad547be910529881
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Sat Apr 11 12:16:22 2015 +0200
perf/x86/intel: Fix Core2,Atom,NHM,WSM cycles:pp events
Ingo reported that cycles:pp didn't work for him on some machines.
It turns out that in this commit:
af4bdcf675cf perf/x86/intel: Disallow flags for most
Core2/Atom/Nehalem/Westmere events
Andi forgot to explicitly allow that event when he
disabled event flags for PEBS on those uarchs.
Reported-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Fixes: af4bdcf675cf ("perf/x86/intel: Disallow flags for most
Core2/Atom/Nehalem/Westmere events")
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 8053871d0f7f67c7efb7f226ef031f78877d6625
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Feb 11 12:42:10 2015 -0800
smp: Fix smp_call_function_single_async() locking
The current smp_function_call code suffers a number of problems, most
notably smp_call_function_single_async() is broken.
The problem is that flush_smp_call_function_queue() does csd_unlock()
_after_ calling csd->func(). This means that a caller cannot properly
synchronize the csd usage as it has to.
Change the code to release the csd before calling ->func() for the
async case, and put a WARN_ON_ONCE(csd->flags & CSD_FLAG_LOCK) in
smp_call_function_single_async() to warn us of improper serialization,
because any waiting there can results in deadlocks when called with
IRQs disabled.
Rename the (currently) unused WAIT flag to SYNCHRONOUS and (re)use it
such that we know what to do in flush_smp_call_function_queue().
Rework csd_{,un}lock() to use smp_load_acquire() / smp_store_release()
to avoid some full barriers while more clearly providing lock
semantics.
Finally move the csd maintenance out of generic_exec_single() into its
callers for clearer code.
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
[ Added changelog. ]
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Jens Axboe <axboe@xxxxxxxxx>
Cc: Rafael David Tinoco <inaddy@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/CA+55aFz492bzLFhdbKN-Hygjcreup7CjMEYk3nTSfRWjppz-OA@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit c857eb56e6e8e53dccd8d1e7ea90bcaf3311996d
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Wed Apr 15 20:14:53 2015 +0200
perf/x86: Fix hw_perf_event::flags collision
Somehow we ended up with overlapping flags when merging the
RDPMC control flag - this is bad, fix it.
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit d7bc3197b41e0a1af6677e83f8736e93a1575ce0
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Wed Apr 15 17:11:57 2015 +0200
lockdep: Make print_lock() robust against concurrent release
During sysrq's show-held-locks command it is possible that
hlock_class() returns NULL for a given lock. The result is then (after
the warning):
|BUG: unable to handle kernel NULL pointer dereference at 0000001c
|IP: [<c1088145>] get_usage_chars+0x5/0x100
|Call Trace:
| [<c1088263>] print_lock_name+0x23/0x60
| [<c1576b57>] print_lock+0x5d/0x7e
| [<c1088314>] lockdep_print_held_locks+0x74/0xe0
| [<c1088652>] debug_show_all_locks+0x132/0x1b0
| [<c1315c48>] sysrq_handle_showlocks+0x8/0x10
This *might* happen because the thread on the other CPU drops the lock
after we are looking ->lockdep_depth and ->held_locks points no longer
to a lock that is held.
The fix here is to simply ignore it and continue.
Reported-by: Andreas Messerschmid <andreas@xxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 4fc8adcfec3da639da76e8314c9ccefe5bf9a045
Merge: 84588e7 aa4d861
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 23:27:56 2015 -0400
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull third hunk of vfs changes from Al Viro:
"This contains the ->direct_IO() changes from Omar + saner
generic_write_checks() + dealing with fcntl()/{read,write}() races
(mirroring O_APPEND/O_DIRECT into iocb->ki_flags and instead of
repeatedly looking at ->f_flags, which can be changed by fcntl(2),
check ->ki_flags - which cannot) + infrastructure bits for dhowells'
d_inode annotations + Christophs switch of /dev/loop to
vfs_iter_write()"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
(30 commits)
block: loop: switch to VFS ITER_BVEC
configfs: Fix inconsistent use of file_inode() vs
file->f_path.dentry->d_inode
VFS: Make pathwalk use d_is_reg() rather than S_ISREG()
VFS: Fix up debugfs to use d_is_dir() in place of S_ISDIR()
VFS: Combine inode checks with d_is_negative() and d_is_positive() in
pathwalk
NFS: Don't use d_inode as a variable name
VFS: Impose ordering on accesses of d_inode and d_flags
VFS: Add owner-filesystem positive/negative dentry checks
nfs: generic_write_checks() shouldn't be done on swapout...
ocfs2: use __generic_file_write_iter()
mirror O_APPEND and O_DIRECT into iocb->ki_flags
switch generic_write_checks() to iocb and iter
ocfs2: move generic_write_checks() before the alignment checks
ocfs2_file_write_iter: stop messing with ppos
udf_file_write_iter: reorder and simplify
fuse: ->direct_IO() doesn't need generic_write_checks()
ext4_file_write_iter: move generic_write_checks() up
xfs_file_aio_write_checks: switch to iocb/iov_iter
generic_write_checks(): drop isblk argument
blkdev_write_iter: expand generic_file_checks() call in there
...
commit 84588e7a5d8220446d677d7b909a20ee7a4496b9
Merge: a39ef1a 3adc12e
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 22:19:33 2015 -0400
Merge branch 'for_linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
Pull quota and udf updates from Jan Kara:
"The pull contains quota changes which complete unification of XFS and
VFS quota interfaces (so tools can use either interface to manipulate
any filesystem). There's also a patch to support project quotas in
VFS quota subsystem from Li Xi.
Finally there's a bunch of UDF fixes and cleanups and tiny cleanup in
reiserfs & ext3"
* 'for_linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: (21 commits)
udf: Update ctime and mtime when directory is modified
udf: return correct errno for udf_update_inode()
ext3: Remove useless condition in if statement.
vfs: Add general support to enforce project quota limits
reiserfs: fix __RASSERT format string
udf: use int for allocated blocks instead of sector_t
udf: remove redundant buffer_head.h includes
udf: remove else after return in __load_block_bitmap()
udf: remove unused variable in udf_table_free_blocks()
quota: Fix maximum quota limit settings
quota: reorder flags in quota state
quota: paranoia: check quota tree root
quota: optimize i_dquot access
quota: Hook up Q_XSETQLIM for id 0 to ->set_info
xfs: Add support for Q_SETINFO
quota: Make ->set_info use structure with neccesary info to VFS and XFS
quota: Remove ->get_xstate and ->get_xstatev callbacks
gfs2: Convert to using ->get_state callback
xfs: Convert to using ->get_state callback
quota: Wire up Q_GETXSTATE and Q_GETXSTATV calls to work with
->get_state
...
commit a39ef1a7c6093bbd4e0a8197350b99cd635e5446
Merge: d82312c 976f2ab
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 22:05:27 2015 -0400
Merge branch 'for-4.1/drivers' of git://git.kernel.dk/linux-block
Pull block driver updates from Jens Axboe:
"This is the block driver pull request for 4.1. As with the core bits,
this is a relatively slow round. This pull request contains:
- Various fixes and cleanups for NVMe, from Alexey Khoroshilov, Chong
Yuan, myself, Keith Busch, and Murali Iyer.
- Documentation and code cleanups for nbd from Markus Pargmann.
- Change of brd maintainer to me, from Ross Zwisler. At least the
email doesn't bounce anymore then.
- Two xen-blkback fixes from Tao Chen"
* 'for-4.1/drivers' of git://git.kernel.dk/linux-block: (23 commits)
NVMe: Meta data handling through submit io ioctl
NVMe: Add translation for block limits
NVMe: Remove check for null
NVMe: Fix error handling of class_create("nvme")
xen-blkback: define pr_fmt macro to avoid the duplication of DRV_PFX
xen-blkback: enlarge the array size of blkback name
nbd: Return error pointer directly
nbd: Return error code directly
nbd: Remove fixme that was already fixed
nbd: Restructure debugging prints
nbd: Fix device bytesize type
nbd: Replace kthread_create with kthread_run
nbd: Remove kernel internal header
Documentation: nbd: Add list of module parameters
Documentation: nbd: Reformat to allow more documentation
NVMe: increase depth of admin queue
nvme: Fix PRP list calculation for non-4k system page size
NVMe: Fix blk-mq hot cpu notification
NVMe: embedded iod mask cleanup
NVMe: Freeze admin queue on device failure
...
commit 44c144f9c8e8fbd73ede2848da8253b3aae42ec2
Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 22:00:50 2015 -0400
dm crypt: fix missing error code return from crypt_ctr error path
Fix to return a negative error code from crypt_ctr()'s optional
parameter processing error path.
Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit a7e73e711e48e138a25265c156cca9a1ed109b50
Author: Shreyas B. Prabhu <shreyas@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 16:28:09 2015 +0530
powerpc/kvm: Fix ppc64_defconfig + PPC_POWERNV=n build error
kvm_no_guest() calls power7_wakeup_loss() to put the thread into the
deepest supported idle state. power7_wakeup_loss() is defined in
arch/powerpc/kernel/idle_power7.S, which is compiled only when
PPC_P7_NAP=y.
And PPC_P7_NAP is selected when PPC_POWERNV=y.
Hence in cases where PPC_POWERNV=n and KVM_BOOK3S_64_HV=y we see the
following error:
arch/powerpc/kvm/built-in.o: In function `kvm_no_guest':
arch/powerpc/kvm/book3s_hv_rmhandlers.o:(.text+0x42c): undefined
reference to `power7_wakeup_loss'
Fix this by adding PPC_POWERNV as a dependency for KVM_BOOK3S_64_HV.
Signed-off-by: Shreyas B. Prabhu <shreyas@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit d82312c80860b8b83cd4473ac6eafd244e712061
Merge: 7d69cff 889fa31
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 21:49:16 2015 -0400
Merge branch 'for-4.1/core' of git://git.kernel.dk/linux-block
Pull block layer core bits from Jens Axboe:
"This is the core pull request for 4.1. Not a lot of stuff in here for
this round, mostly little fixes or optimizations. This pull request
contains:
- An optimization that speeds up queue runs on blk-mq, especially for
the case where there's a large difference between nr_cpu_ids and
the actual mapped software queues on a hardware queue. From Chong
Yuan.
- Honor node local allocations for requests on legacy devices. From
David Rientjes.
- Cleanup of blk_mq_rq_to_pdu() from me.
- exit_aio() fixup from me, greatly speeding up exiting multiple IO
contexts off exit_group(). For my particular test case, fio exit
took ~6 seconds. A typical case of both exposing RCU grace periods
to user space, and serializing exit of them.
- Make blk_mq_queue_enter() honor the gfp mask passed in, so we only
wait if __GFP_WAIT is set. From Keith Busch.
- blk-mq exports and two added helpers from Mike Snitzer, which will
be used by the dm-mq code.
- Cleanups of blk-mq queue init from Wei Fang and Xiaoguang Wang"
* 'for-4.1/core' of git://git.kernel.dk/linux-block:
blk-mq: reduce unnecessary software queue looping
aio: fix serial draining in exit_aio()
blk-mq: cleanup blk_mq_rq_to_pdu()
blk-mq: put blk_queue_rq_timeout together in blk_mq_init_queue()
block: remove redundant check about 'set->nr_hw_queues' in
blk_mq_alloc_tag_set()
block: allocate request memory local to request queue
blk-mq: don't wait in blk_mq_queue_enter() if __GFP_WAIT isn't set
blk-mq: export blk_mq_run_hw_queues
blk-mq: add blk_mq_init_allocated_queue and export blk_mq_register_disk
commit 7d6e7f7ffaba4e013c7a0589140431799bc17985
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 10:41:04 2015 +0530
powerpc/mm/thp: Return pte address if we find trans_splitting.
For THP that is marked trans splitting, we return the pte.
This require the callers to handle the pmd_trans_splitting scenario,
if they care. All the current callers are either looking at pfn or
write_ok, hence we don't need to update them.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 691e95fd7396905a38d98919e9c150dbc3ea21a3
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 10:41:03 2015 +0530
powerpc/mm/thp: Make page table walk safe against thp split/collapse
We can disable a THP split or a hugepage collapse by disabling irq.
We do send IPI to all the cpus in the early part of split/collapse,
and disabling local irq ensure we don't make progress with
split/collapse. If the THP is getting split we return NULL from
find_linux_pte_or_hugepte(). For all the current callers it should be ok.
We need to be careful if we want to use returned pte_t pointer outside
the irq disabled region. W.r.t to THP split, the pfn remains the same,
but then a hugepage collapse will result in a pfn change. There are
few steps we can take to avoid a hugepage collapse.One way is to take page
reference inside the irq disable region. Other option is to take
mmap_sem so that a parallel collapse will not happen. We can also
disable collapse by taking pmd_lock. Another method used by kvm
subsystem is to check whether we had a mmu_notifer update in between
using mmu_notifier_retry().
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit dac5657067919161eb3273ca787d8ae9814801e7
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 10:39:13 2015 +0530
KVM: PPC: Remove page table walk helpers
This patch remove helpers which we had used only once in the code.
Limiting page table walk variants help in ensuring that we won't
end up with code walking page table with wrong assumptions.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 5e1d44aef1673b504dde475aa714b1bdb9b875c4
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 10:39:12 2015 +0530
KVM: PPC: Use READ_ONCE when dereferencing pte_t pointer
pte can get updated from other CPUs as part of multiple activities
like THP split, huge page collapse, unmap. We need to make sure we
don't reload the pte value again and again for different checks.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 1cbee462a5afc1cc30389915b3d18bdcb3c47ad6
Merge: d19d5ef 50c6a66
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Fri Apr 17 11:22:51 2015 +1000
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux into fixes
commit 78b9ae307bded23cd8b239562d3a832dad585bdd
Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
Date: Thu Apr 16 12:44:59 2015 +0800
MAINTAINERS: remove maintainship entry of docking station driver
As Rafael suggested, docking station driver is maintained along with the
ACPI core nowadays, so it's better to remove this entry.
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 7d69cff26ceadce8638cb65191285932a3de3d4c
Merge: 8fa6f49 0351b8f
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 19:02:04 2015 -0400
Merge tag 'scsi-misc' of
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI updates from James Bottomley:
"This is the usual grab bag of driver updates (lpfc, qla2xxx, storvsc,
aacraid, ipr) plus an assortment of minor updates. There's also a
major update to aic1542 which moves the driver into this millenium"
* tag 'scsi-misc' of
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (106 commits)
change SCSI Maintainer email
sd, mmc, virtio_blk, string_helpers: fix block size units
ufs: add support to allow non standard behaviours (quirks)
ufs-qcom: save controller revision info in internal structure
qla2xxx: Update driver version to 8.07.00.18-k
qla2xxx: Restore physical port WWPN only, when port down detected for
FA-WWPN port.
qla2xxx: Fix virtual port configuration, when switch port is
disabled/enabled.
qla2xxx: Prevent multiple firmware dump collection for ISP27XX.
qla2xxx: Disable Interrupt handshake for ISP27XX.
qla2xxx: Add debugging info for MBX timeout.
qla2xxx: Add serdes read/write support for ISP27XX
qla2xxx: Add udev notification to save fw dump for ISP27XX
qla2xxx: Add message for sucessful FW dump collected for ISP27XX.
qla2xxx: Add support to load firmware from file for ISP 26XX/27XX.
qla2xxx: Fix beacon blink for ISP27XX.
qla2xxx: Increase the wait time for firmware to be ready for P3P.
qla2xxx: Fix crash due to wrong casting of reg for ISP27XX.
qla2xxx: Fix warnings reported by static checker.
lpfc: Update version to 10.5.0.0 for upstream patch set
lpfc: Update copyright to 2015
...
commit 8fa6f4974d55ad1fb0a9522c5a5cfd050a517048
Merge: eabbfde ee23d66
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 19:00:31 2015 -0400
Merge branch 'mailbox-for-next' of
git://git.linaro.org/landing-teams/working/fujitsu/integration
Pull mailbox updates from Jassi Brar.
* 'mailbox-for-next' of
git://git.linaro.org/landing-teams/working/fujitsu/integration:
mailbox: arm_mhu: add driver for ARM MHU controller
Mailbox: Restructure and simplify PCC mailbox code
commit eabbfdecdae4413687a36fd17c3e98de59ba492b
Merge: 45701e2 04abab6
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 18:50:27 2015 -0400
Merge branch 'for-v4.1-rc1' of
git://git.linaro.org/people/mszyprowski/linux-dma-mapping
Pull DMA-mapping updates from Marek Szyprowski:
"This contains two patches, which clarify abiguity in the dma-mapping
api"
* 'for-v4.1-rc1' of
git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
include/dma-mapping: Clarify output of dma_map_sg
asm/dma-mapping-common: Clarify output of dma_map_sg_attrs
commit 45701e2636a02ab1c5305ead5236f05bda64c15f
Merge: 497a5df 3083ca2
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 18:48:55 2015 -0400
Merge tag 'for-linus' of
git://linux-c6x.org/git/projects/linux-c6x-upstreaming
Pull arch/c6x fixes from Mark Salter.
* tag 'for-linus' of
git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
c6x: platforms: cache: Export symbol L1P_cache_block_invalidate and
L1D_cache_block_writeback
c6x: kernel: setup: Export symbol memory_end
c6x: kernel: setup: Add screen_info global variable
c6x: include: asm: Kbuild: Add generic serial.h
c6x: include: asm: dma-mapping: Add dummy
dma_sync_single_range_for_device
c6x: include: asm: setup: Include "linux/types.h"
c6x: asm: Add default flat.h according to xtensa architecture
c6x: kernel: setup: Remove 'const' for local variables in machine_init
c6x: Makefile: Add -D__linux__
C6x: time: Ensure consistency in __init
c6x: kernel: setup: Include "linux/console.h"
commit a83f5d6a11ced6f43ec467a95fe8cc76e1c96cfd
Merge: 497a5df 671d773
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Thu Apr 16 12:45:18 2015 -0700
Merge branch 'generic-iommu-allocator'
Sowmini Varadhan says:
====================
Generic IOMMU pooled allocator
Investigation of network performance on Sparc shows a high
degree of locking contention in the IOMMU allocator, and it
was noticed that the PowerPC code has a better locking model.
This patch series tries to extract the generic parts of the
PowerPC code so that it can be shared across multiple PCI
devices and architectures.
v10: resend patchv9 without RFC tag, and a new mail Message-Id,
(previous non-RFC attempt did not show up on the patchwork queue?)
Full revision history below:
v2 changes:
- incorporate David Miller editorial comments: sparc specific
fields moved from iommu-common into sparc's iommu_64.h
- make the npools value an input parameter, for the case when
the iommu map size is not very large
- cookie_to_index mapping, and optimizations for span-boundary
check, for use case such as LDC.
v3: eliminate iommu_sparc, rearrange the ->demap indirection to
be invoked under the pool lock.
v4: David Miller review changes:
- s/IOMMU_ERROR_CODE/DMA_ERROR_CODE
- page_table_map_base and page_table_shift are unsigned long, not u32.
v5: removed ->cookie_to_index and ->demap indirection from the
iommu_tbl_ops The caller needs to call these functions as needed,
before invoking the generic arena allocator functions.
Added the "skip_span_boundary" argument to iommu_tbl_pool_init() for
those callers like LDC which do no care about span boundary checks.
v6: removed iommu_tbl_ops, and instead pass the ->flush_all as
an indirection to iommu_tbl_pool_init(); only invoke ->flush_all
when there is no large_pool, based on the assumption that large-pool
usage is infrequently encountered
v7: moved pool_hash initialization to lib/iommu-common.c and cleaned up
code duplication from sun4v/sun4u/ldc.
v8: Addresses BenH comments with one exception: I've left the
IOMMU_POOL_HASH as is, so that powerpc can tailor it to their
convenience. Discard trylock for simple spin_lock to acquire pool
v9: Addresses latest BenH comments: need_flush checks, add support
for dma mask and align_order.
v10: resend without RFC tag, and new mail Message-Id.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 671d773297969bebb1732e1cdc1ec03aa53c6be2
Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Date: Thu Mar 12 20:02:37 2015 -0400
sparc: Make LDC use common iommu poll management functions
Note that this conversion is only being done to consolidate the
code and ensure that the common code provides the sufficient
abstraction. It is not expected to result in any noticeable
performance improvement, as there is typically one ldc_iommu
per vnet_port, and each one has 8k entries, with a typical
request for 1-4 pages. Thus LDC uses npools == 1.
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f1600e549b948a32ad7672e069b2915314637ae3
Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Date: Thu Mar 12 20:02:36 2015 -0400
sparc: Make sparc64 use scalable lib/iommu-common.c functions
In iperf experiments running linux as the Tx side (TCP client) with
10 threads results in a severe performance drop when TSO is disabled,
indicating a weakness in the software that can be avoided by using
the scalable IOMMU arena DMA allocation.
Baseline numbers before this patch:
with default settings (TSO enabled) : 9-9.5 Gbps
Disable TSO using ethtool- drops badly: 2-3 Gbps.
After this patch, iperf client with 10 threads, can give a
throughput of at least 8.5 Gbps, even when TSO is disabled.
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 10b88a4b17d31a7409494b179dcb76e7ab2fcaea
Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Date: Thu Mar 12 20:02:35 2015 -0400
sparc: Break up monolithic iommu table/lock into finer graularity pools
and lock
Investigation of multithreaded iperf experiments on an ethernet
interface show the iommu->lock as the hottest lock identified by
lockstat, with something of the order of 21M contentions out of
27M acquisitions, and an average wait time of 26 us for the lock.
This is not efficient. A more scalable design is to follow the ppc
model, where the iommu_table has multiple pools, each stretching
over a segment of the map, and with a separate lock for each pool.
This model allows for better parallelization of the iommu map search.
This patch adds the iommu range alloc/free function infrastructure.
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit c3ffe6d2c9733729307799a60e1ae09a9878e697
Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Thu Apr 16 20:49:14 2015 +0200
net: dsa: mv88e6xxx: Add missing initialization in
mv88e6xxx_set_port_state()
drivers/net/dsa/mv88e6xxx.c: In function â??mv88e6xxx_set_port_stateâ??:
drivers/net/dsa/mv88e6xxx.c:905: warning: â??retâ?? may be used
uninitialized in this function
If oldstate == state, mv88e6xxx_set_port_state() will return an
uninitialized value. Pre-initialize ret to zero to fix this.
Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2a9fe3ca84afff6259820c4f62e579f41476becc
Author: Heiko Stuebner <heiko@xxxxxxxxx>
Date: Tue Jan 20 23:47:30 2015 +0100
rockchip: make sure timer7 is enabled on rk3288 platforms
timer7 supplies the architected timer and thus as has to run when
the system clocksource and clockevents drivers are registered.
While it should be the responsibility of the bootloader to do this,
and there exists a fix in a community u-boot, all u-boot based systems
that actually shipped have the mentioned issue.
Therefore to not require every developer to update their u-boot, add a
snippet for this, enabling the timer early in the kernel.
Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx>
commit b403125d3bbf8046c1186e1a49cb17bb5551db14
Author: Chris Zhong <zyw@xxxxxxxxxxxxxx>
Date: Sun Mar 22 00:04:51 2015 +0800
ARM: rockchip: fix undefined instruction of reset_ctrl_regs
Sometimes the debug module may not work well after resume, since it has
not been correctly reset when wakeup from suspend. That cause system
crash during reusme, and a 'undefined instruction' is displayed on the
console. Set the GRF_FORCE_JTAG bit of RK3288_GRF_SOC_CON0 can ensure
that debug modul is reset. And we can change the value of
RK3288_GRF_SOC_CON0 back when system resume.
Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx>
Tested-by: Caesar Wang <wxt@xxxxxxxxxxxxxx>
Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
According to discussions, there does not seem a better solution available.
Please also see the potential security implication described in the
comment inline in the code.
Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx>
commit 0ea001d3b43cc9d387c093ae205c4228cd88a886
Author: Chris Zhong <zyw@xxxxxxxxxxxxxx>
Date: Wed Apr 15 13:57:11 2015 +0800
ARM: rockchip: disable dapswjdp during suspend
Reset dapswjdp is controlled by JTAG_TRSTN, if the iomux of this pin is
not "jtag_trstn". the AP would think this pin is always high, so it can
not reset before resume. When system resume, but the dapswjdp is not in
a default state, it may Access some illegal address, it cause system
crash during resume.
Let's disable this jtag function by clear the dapdeviceen bit, it
prohibit the dapswjdp to access memory and registers. This bit would
be enable in MASKROM, so we need clear it in suspend everytime.
Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx>
Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx>
Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx>
commit 497a5df7bf6ffd136ae21c49d1a01292930d7ca2
Merge: 714d8e7 0b97b03
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 14:01:03 2015 -0500
Merge tag 'stable/for-linus-4.1-rc0-tag' of
git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
Pull xen features and fixes from David Vrabel:
- use a single source list of hypercalls, generating other tables etc.
at build time.
- add a "Xen PV" APIC driver to support >255 VCPUs in PV guests.
- significant performance improve to guest save/restore/migration.
- scsiback/front save/restore support.
- infrastructure for multi-page xenbus rings.
- misc fixes.
* tag 'stable/for-linus-4.1-rc0-tag' of
git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
xen/pci: Try harder to get PXM information for Xen
xenbus_client: Extend interface to support multi-page ring
xen-pciback: also support disabling of bus-mastering and
memory-write-invalidate
xen: support suspend/resume in pvscsi frontend
xen: scsiback: add LUN of restored domain
xen-scsiback: define a pr_fmt macro with xen-pvscsi
xen/mce: fix up xen_late_init_mcelog() error handling
xen/privcmd: improve performance of MMAPBATCH_V2
xen: unify foreign GFN map/unmap for auto-xlated physmap guests
x86/xen/apic: WARN with details.
x86/xen: Provide a "Xen PV" APIC driver to support >255 VCPUs
xen/pciback: Don't print scary messages when unsupported by hypervisor.
xen: use generated hypercall symbols in arch/x86/xen/xen-head.S
xen: use generated hypervisor symbols in arch/x86/xen/trace.c
xen: synchronize include/xen/interface/xen.h with xen
xen: build infrastructure for generating hypercall depending symbols
xen: balloon: Use static attribute groups for sysfs entries
xen: pcpu: Use static attribute groups for sysfs entry
commit 714d8e7e27197dd39b2550e762a6a6fcf397a471
Merge: d19d5ef 6d1966d
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 13:58:29 2015 -0500
Merge tag 'arm64-upstream' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull arm64 updates from Will Deacon:
"Here are the core arm64 updates for 4.1.
Highlights include a significant rework to head.S (allowing us to boot
on machines with physical memory at a really high address), an AES
performance boost on Cortex-A57 and the ability to run a 32-bit
userspace with 64k pages (although this requires said userspace to be
built with a recent binutils).
The head.S rework spilt over into KVM, so there are some changes under
arch/arm/ which have been acked by Marc Zyngier (KVM co-maintainer).
In particular, the linker script changes caused us some issues in
-next, so there are a few merge commits where we had to apply fixes on
top of a stable branch.
Other changes include:
- AES performance boost for Cortex-A57
- AArch32 (compat) userspace with 64k pages
- Cortex-A53 erratum workaround for #845719
- defconfig updates (new platforms, PCI, ...)"
* tag 'arm64-upstream' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (39 commits)
arm64: fix midr range for Cortex-A57 erratum 832075
arm64: errata: add workaround for cortex-a53 erratum #845719
arm64: Use bool function return values of true/false not 1/0
arm64: defconfig: updates for 4.1
arm64: Extract feature parsing code from cpu_errata.c
arm64: alternative: Allow immediate branch as alternative instruction
arm64: insn: Add aarch64_insn_decode_immediate
ARM: kvm: round HYP section to page size instead of log2 upper bound
ARM: kvm: assert on HYP section boundaries not actual code size
arm64: head.S: ensure idmap_t0sz is visible
arm64: pmu: add support for interrupt-affinity property
dt: pmu: extend ARM PMU binding to allow for explicit interrupt affinity
arm64: head.S: ensure visibility of page tables
arm64: KVM: use ID map with increased VA range if required
arm64: mm: increase VA range of identity map
ARM: kvm: implement replacement for ld's LOG2CEIL()
arm64: proc: remove unused cpu_get_pgd macro
arm64: enforce x1|x2|x3 == 0 upon kernel entry as per boot protocol
arm64: remove __calc_phys_offset
arm64: merge __enable_mmu and __turn_mmu_on
...
commit d19d5efd8c8840aa4f38a6dfbfe500d8cc27de46
Merge: 34c9a0f 2fe0753
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 13:53:32 2015 -0500
Merge tag 'powerpc-4.1-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux
Pull powerpc updates from Michael Ellerman:
- Numerous minor fixes, cleanups etc.
- More EEH work from Gavin to remove its dependency on device_nodes.
- Memory hotplug implemented entirely in the kernel from Nathan
Fontenot.
- Removal of redundant CONFIG_PPC_OF by Kevin Hao.
- Rewrite of VPHN parsing logic & tests from Greg Kurz.
- A fix from Nish Aravamudan to reduce memory usage by clamping
nodes_possible_map.
- Support for pstore on powernv from Hari Bathini.
- Removal of old powerpc specific byte swap routines by David Gibson.
- Fix from Vasant Hegde to prevent the flash driver telling you it was
flashing your firmware when it wasn't.
- Patch from Ben Herrenschmidt to add an OPAL heartbeat driver.
- Fix for an oops causing get/put_cpu_var() imbalance in perf by Jan
Stancek.
- Some fixes for migration from Tyrel Datwyler.
- A new syscall to switch the cpu endian by Michael Ellerman.
- Large series from Wei Yang to implement SRIOV, reviewed and acked by
Bjorn.
- A fix for the OPAL sensor driver from Cédric Le Goater.
- Fixes to get STRICT_MM_TYPECHECKS building again by Michael Ellerman.
- Large series from Daniel Axtens to make our PCI hooks per PHB rather
than per machine.
- Small patch from Sam Bobroff to explicitly abort non-suspended
transactions on syscalls, plus a test to exercise it.
- Numerous reworks and fixes for the 24x7 PMU from Sukadev Bhattiprolu.
- Small patch to enable the hard lockup detector from Anton Blanchard.
- Fix from Dave Olson for missing L2 cache information on some CPUs.
- Some fixes from Michael Ellerman to get Cell machines booting again.
- Freescale updates from Scott: Highlights include BMan device tree
nodes, an MSI erratum workaround, a couple minor performance
improvements, config updates, and misc fixes/cleanup.
* tag 'powerpc-4.1-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (196 commits)
powerpc/powermac: Fix build error seen with powermac smp builds
powerpc/pseries: Fix compile of memory hotplug without
CONFIG_MEMORY_HOTREMOVE
powerpc: Remove PPC32 code from pseries specific find_and_init_phbs()
powerpc/cell: Fix iommu breakage caused by controller_ops change
powerpc/eeh: Fix crash in eeh_add_device_early() on Cell
powerpc/perf: Cap 64bit userspace backtraces to PERF_MAX_STACK_DEPTH
powerpc/perf/hv-24x7: Fail 24x7 initcall if
create_events_from_catalog() fails
powerpc/pseries: Correct memory hotplug locking
powerpc: Fix missing L2 cache size in /sys/devices/system/cpu
powerpc: Add ppc64 hard lockup detector support
oprofile: Disable oprofile NMI timer on ppc64
powerpc/perf/hv-24x7: Add missing put_cpu_var()
powerpc/perf/hv-24x7: Break up single_24x7_request
powerpc/perf/hv-24x7: Define update_event_count()
powerpc/perf/hv-24x7: Whitespace cleanup
powerpc/perf/hv-24x7: Define add_event_to_24x7_request()
powerpc/perf/hv-24x7: Rename hv_24x7_event_update
powerpc/perf/hv-24x7: Move debug prints to separate function
powerpc/perf/hv-24x7: Drop event_24x7_request()
powerpc/perf/hv-24x7: Use pr_devel() to log message
...
Conflicts:
tools/testing/selftests/powerpc/Makefile
tools/testing/selftests/powerpc/tm/Makefile
commit 213dd74aee765d4e5f3f4b9607fef0cf97faa2af
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 09:03:27 2015 +0800
skbuff: Do not scrub skb mark within the same name space
On Wed, Apr 15, 2015 at 05:41:26PM +0200, Nicolas Dichtel wrote:
> Le 15/04/2015 15:57, Herbert Xu a écrit :
> >On Wed, Apr 15, 2015 at 06:22:29PM +0800, Herbert Xu wrote:
> [snip]
> >Subject: skbuff: Do not scrub skb mark within the same name space
> >
> >The commit ea23192e8e577dfc51e0f4fc5ca113af334edff9 ("tunnels:
> Maybe add a Fixes tag?
> Fixes: ea23192e8e57 ("tunnels: harmonize cleanup done on skb on rx
path")
>
> >harmonize cleanup done on skb on rx path") broke anyone trying to
> >use netfilter marking across IPv4 tunnels. While most of the
> >fields that are cleared by skb_scrub_packet don't matter, the
> >netfilter mark must be preserved.
> >
> >This patch rearranges skb_scurb_packet to preserve the mark field.
> nit: s/scurb/scrub
>
> Else it's fine for me.
Sure.
PS I used the wrong email for James the first time around. So
let me repeat the question here. Should secmark be preserved
or cleared across tunnels within the same name space? In fact,
do our security models even support name spaces?
---8<---
The commit ea23192e8e577dfc51e0f4fc5ca113af334edff9 ("tunnels:
harmonize cleanup done on skb on rx path") broke anyone trying to
use netfilter marking across IPv4 tunnels. While most of the
fields that are cleared by skb_scrub_packet don't matter, the
netfilter mark must be preserved.
This patch rearranges skb_scrub_packet to preserve the mark field.
Fixes: ea23192e8e57 ("tunnels: harmonize cleanup done on skb on rx path")
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Acked-by: Thomas Graf <tgraf@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4c0ee414e877b899f7fc80aafb98d9425c02797f
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 16:12:53 2015 +0800
Revert "net: Reset secmark when scrubbing packet"
This patch reverts commit b8fb4e0648a2ab3734140342002f68fb0c7d1602
because the secmark must be preserved even when a packet crosses
namespace boundaries. The reason is that security labels apply to
the system as a whole and is not per-namespace.
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 725f9dcd58dedfea49ef958babf6c0bf6b7594a9
Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Date: Wed Apr 15 16:19:33 2015 -0700
bpf: fix two bugs in verification logic when accessing 'ctx' pointer
1.
first bug is a silly mistake. It broke tracing examples and prevented
simple bpf programs from loading.
In the following code:
if (insn->imm == 0 && BPF_SIZE(insn->code) == BPF_W) {
} else if (...) {
// this part should have been executed when
// insn->code == BPF_W and insn->imm != 0
}
Obviously it's not doing that. So simple instructions like:
r2 = *(u64 *)(r1 + 8)
will be rejected. Note the comments in the code around these branches
were and still valid and indicate the true intent.
Replace it with:
if (BPF_SIZE(insn->code) != BPF_W)
continue;
if (insn->imm == 0) {
} else if (...) {
// now this code will be executed when
// insn->code == BPF_W and insn->imm != 0
}
2.
second bug is more subtle.
If malicious code is using the same dest register as source register,
the checks designed to prevent the same instruction to be used with
different
pointer types will fail to trigger, since we were assigning src_reg_type
when it was already overwritten by check_mem_access().
The fix is trivial. Just move line:
src_reg_type = regs[insn->src_reg].type;
before check_mem_access().
Add new 'access skb fields bad4' test to check this case.
Fixes: 9bac3d6d548e ("bpf: allow extended BPF programs access skb fields")
Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a166151cbe33b53221c24259e4a7201064b3ba79
Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Date: Wed Apr 15 12:55:45 2015 -0700
bpf: fix bpf helpers to use skb->mac_header relative offsets
For the short-term solution, lets fix bpf helper functions to use
skb->mac_header relative offsets instead of skb->data in order to
get the same eBPF programs with cls_bpf and act_bpf work on ingress
and egress qdisc path. We need to ensure that mac_header is set
before calling into programs. This is effectively the first option
from below referenced discussion.
More long term solution for LD_ABS|LD_IND instructions will be more
intrusive but also more beneficial than this, and implemented later
as it's too risky at this point in time.
I.e., we plan to look into the option of moving skb_pull() out of
eth_type_trans() and into netif_receive_skb() as has been suggested
as second option. Meanwhile, this solution ensures ingress can be
used with eBPF, too, and that we won't run into ABI troubles later.
For dealing with negative offsets inside eBPF helper functions,
we've implemented bpf_skb_clone_unwritable() to test for unwriteable
headers.
Reference: http://thread.gmane.org/gmane.linux.network/359129/focus=359694
Fixes: 608cd71a9c7c ("tc: bpf: generalize pedit action")
Fixes: 91bc4822c3d6 ("tc: bpf: add checksum helpers")
Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 51b5df886874816ff986fe66fe0d7b7eca9f6cd1
Merge: e743471 f88203a
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Thu Apr 16 13:58:43 2015 -0400
Merge branch 'stmmac-flow-control'
Vince Bridgers says:
====================
stmmac: Correct flow control configuration
This series of patches corrects flow control configuration for the
Synopsys
GMAC driver.
Flow control is configured based on a configurable receive fifo size. If
less than 4Kbytes flow control is left disabled and a warning is
presented. If
a receive fifo size is not specified, flow control is left disabled to
maintain current behavior. Unicast pause detection was disabled, but is
now
enabled. The pause time was modified to be maximum time per a XON/XOFF
flow control mode of operation.
This patch was tested on an Altera Cyclone 5 and an Altera Arria 10
devkit,
and verified that flow control operates as expected when enabled.
Please consider this series for inclusion so that flow control will
function as expected for the Synopsys GMAC controller.
====================
Acked-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f88203a229cca0b3634738b7dae47419d1da6dc8
Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 11:17:42 2015 -0500
stmmac: Configure Flow Control to work correctly based on rxfifo size
Configure flow control correctly, and based on the receive fifo size read
as a property from the devicetree since the Synopsys stmmac fifo sizes are
configurable based on a particular chip's implementation. This patch
maintains
the previous incorrect behavior unless the receive fifo size is found in
the
devicetree.
Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 545d655ebbea65986cb762905b81bff54f42eb6d
Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 11:17:41 2015 -0500
stmmac: Enable unicast pause frame detect in GMAC Register 6
Unicast pause frame detect was not being enabled for the Synopsys stmmac.
This
patch sets Unicast pause frame detect in MAC register 6 so that pause
frame
detection by the stmmac conforms to IEEE 802.3, Annex 31B.3.3 Receive
Operation - Specifically, a MAC shall respond to pause frames containing
either the reserved multicast address or the unique physical address
associated with this station.
Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e7877f52fd4a8d7012f9b0faecc047a50c132a79
Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 11:17:40 2015 -0500
stmmac: Read tx-fifo-depth and rx-fifo-depth from the devicetree
Read the tx-fifo-depth and rx-fifo-depth from the devicetree. The Synopsys
stmmac controller fifos are configurable per product instance, and the
fifo
sizes are needed to configure certain features correctly such as flow
control.
Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2453beb632e3e8c194c87953a536a4c58b149867
Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 11:17:39 2015 -0500
stmmac: Add defines and documentation for enabling flow control
Add defines and documentation for enabling flow control on the stmmac.
Flow
control was not implemented correctly on the stmmac driver and is
currently
non-functional as a result. This is the first in a series of small patches
to correctly implement this feature.
Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 13967f0c2abc088c27718319b9a571ccbf43fa89
Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 11:17:38 2015 -0500
stmmac: Add properties for transmit and receive fifo sizes
The Synopsys stmmac fifo sizes are configurable, and need to be known
in order to configure certain controller features. This patch adds
tx-fifo-depth and rx-fifo-depth properties to the stmmac document
file.
Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e743471f8d9c6ad00eb10a6d1e05803231e1de83
Author: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 17:56:03 2015 +0100
stmmac: fix oops on rmmod after assigning ip addr
An oops exists in the flow of stmmac_release().
phy_ethtool_get_wol() depends on phydev->drv.
phydev->drv will be null after stmmac_mdio_unreg() completes.
Steps to reproduce on Quark X1000:
1. ifconfig eth0 192.168.0.1
2. rmmod stmmac_pci
To fix this stmmac_mdio_unreg() should be run after unregister_netdev().
Signed-off-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx>
Reported-by: Dan O'Donovan <dan.odonovan@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 16b8528d20607925899b1df93bfd8fbab98d267c
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Wed Apr 15 09:44:37 2015 -0700
megaraid_sas: use raw_smp_processor_id()
We only want to steer the I/O completion towards a queue, but don't
actually access any per-CPU data, so the raw_ version is fine to use
and avoids the warnings when using smp_processor_id().
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Reported-by: Andy Lutomirski <luto@xxxxxxxxxx>
Tested-by: Andy Lutomirski <luto@xxxxxxxxxx>
Acked-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit e557990e358934fb168d30371c9c0f63e314c6b8
Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
Date: Tue Apr 14 17:11:03 2015 -0400
sd: Fix missing ATO tag check
3aec2f41a8bae introduced a merge error where we would end up check for
sdkp instead of sdkp->ATO. Fix this so we register app tag capability
correctly.
Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.17+
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit e727c42bd55794765c460b7ac2b6cc969f2a9698
Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
Date: Tue Apr 14 16:56:23 2015 -0400
sd: Unregister integrity profile
The new integrity code did not correctly unregister the profile for SD
disks. Call blk_integrity_unregister() when we release a disk.
Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
Reported-by: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx>
Tested-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx # v3.17+
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 10027551ccf5459cc771c31ac8bc8e5cc8db45f8
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Thu Apr 9 17:03:53 2015 -0700
f2fs: pass checkpoint reason on roll-forward recovery
This patch adds CP_RECOVERY to remain recovery information for checkpoint.
And, it makes sure writing checkpoint in this case.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit feb7cbb079e63ebb7c0bd7022d2ba9c1dd15c69b
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Wed Apr 15 13:49:55 2015 -0700
f2fs: avoid abnormal behavior on broken symlink
When f2fs_symlink was triggered and checkpoint was done before syncing its
link path, f2fs can get broken symlink like "xxx -> \0\0\0".
This incurs abnormal path_walk by VFS.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit d0cae97cb600d84a7e00df6f83ab3b2f60d8d7f7
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Wed Apr 15 13:37:53 2015 -0700
f2fs: flush symlink path to avoid broken symlink after POR
This patch tries to avoid broken symlink case after POR in best effort.
This results in performance regression.
But, if f2fs has inline_data and the target path is under 3KB-sized long,
the page would be stored in its inode_block, so that there would be no
performance regression.
Note that, if user wants to keep this file atomically, it needs to trigger
dir->fsync.
And, there is still a hole to produce broken symlink.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 31976cfdc7e2e8b0b23d731703e4f1e21ff79466
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Apr 16 06:49:50 2015 -0700
dsa: mv88e6xxx: Drop duplicate declaration of 'ret' variable
A duplicate declaration of 'ret' can result in hiding an error code.
Drop it.
Fixes: 17ee3e04ddbf ("net: dsa: Provide additional RMON statistics")
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 5a950ad58d412d76d33f4f4399d69308d511c1a4
Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 21:17:35 2015 +0800
netns: remove duplicated include from net_namespace.c
Remove duplicated include.
Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
Acked-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b892e98090fed57797528bb17abcca260f23df2d
Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 21:06:47 2015 +0800
ethernet: remove unused including <linux/version.h>
Remove including <linux/version.h> that don't need it.
Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3122a92e80957e30ea9afd963128c6e6c0f5c2ac
Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 20:21:02 2015 +0800
rocker: fix error return code in rocker_probe()
Fix to return -EINVAL from the invalid PCI region size error
handling case instead of 0, as done elsewhere in this function.
Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 538cc282a3efb62cdb62ff9e6e44918c11a3c886
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Wed Apr 15 22:12:42 2015 -0700
dsa: mv88e6xxx: Fix error handling in mv88e6xxx_set_port_state
Return correct error code if _mv88e6xxx_reg_read returns an error.
Fixes: facd95b2e0ec0 ("net: dsa: mv88e6xxx: Add Hardware bridging
support")
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 540207ae69777b85d167df28f469e77f0fcbb8f9
Author: WANG Cong <xiyou.wangcong@xxxxxxxxx>
Date: Wed Apr 15 11:48:49 2015 -0700
fou: avoid missing unlock in failure path
Fixes: 7a6c8c34e5b7 ("fou: implement FOU_CMD_GET")
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit c3de6317d748e23b9e46ba36e10483728d00d144
Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Date: Tue Apr 14 15:57:13 2015 -0700
bpf: fix verifier memory corruption
Due to missing bounds check the DAG pass of the BPF verifier can corrupt
the memory which can cause random crashes during program loading:
[8.449451] BUG: unable to handle kernel paging request at ffffffffffffffff
[8.451293] IP: [<ffffffff811de33d>] kmem_cache_alloc_trace+0x8d/0x2f0
[8.452329] Oops: 0000 [#1] SMP
[8.452329] Call Trace:
[8.452329] [<ffffffff8116cc82>] bpf_check+0x852/0x2000
[8.452329] [<ffffffff8116b7e4>] bpf_prog_load+0x1e4/0x310
[8.452329] [<ffffffff811b190f>] ? might_fault+0x5f/0xb0
[8.452329] [<ffffffff8116c206>] SyS_bpf+0x806/0xa30
Fixes: f1bca824dabb ("bpf: add search pruning optimization to verifier")
Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f72f116a2a70f616ea44f86775ae6404c84ea8ef
Author: Michal Hocko <mhocko@xxxxxxx>
Date: Tue Apr 14 13:24:33 2015 -0700
cxgb4: drop __GFP_NOFAIL allocation
set_filter_wr is requesting __GFP_NOFAIL allocation although it can return
ENOMEM without any problems obviously (t4_l2t_set_switching does that
already). So the non-failing requirement is too strong without any
obvious reason. Drop __GFP_NOFAIL and reorganize the code to have the
failure paths easier.
The same applies to _c4iw_write_mem_dma_aligned which uses __GFP_NOFAIL
and then checks the return value and returns -ENOMEM on failure. This
doesn't make any sense what so ever. Either the allocation cannot fail or
it can.
del_filter_wr seems to be safe as well because the filter entry is not
marked as pending and the return value is propagated up the stack up to
c4iw_destroy_listen.
Signed-off-by: Michal Hocko <mhocko@xxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Dave Chinner <david@xxxxxxxxxxxxx>
Cc: "Theodore Ts'o" <tytso@xxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: Hariprasad S <hariprasad@xxxxxxxxxxx>
Cc: Jan Kara <jack@xxxxxxx>
Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4155fc07fa9fd691d424e7f8fb64591cccb88788
Author: Mark Rutland <mark.rutland@xxxxxxx>
Date: Fri Mar 20 17:57:47 2015 +0000
Doc: dt: arch_timer: discourage clock-frequency use
The ARM Generic Timer (AKA the architected timer, arm_arch_timer)
features a CPU register (CNTFRQ) which firmware is intended to
initialize, and non-secure software can read to determine the frequency
of the timer. On CPUs with secure state, this register cannot be written
from non-secure states.
The firmware of early SoCs featuring the timer did not correctly
initialize CNTFRQ correctly on all CPUs, requiring the frequency to be
described in DT as a workaround. This workaround is not complete however
as it is exposed to all software in a privileged non-secure mode
(including guests running under a hypervisor). The firmware and DTs for
recent SoCs have followed the example set by these early SoCs.
This patch updates the arch timer binding documentation to make it
clearer that the use of the clock-frequency property is a poor
work-around. The MMIO generic timer binding is similarly updated, though
this is less of a concern as there is generally no need to expose the
MMIO timers to guest OSs.
Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx>
Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>
Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Acked-by: Olof Johansson <olof@xxxxxxxxx>
Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: Rob Herring <robh+dt@xxxxxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit 7d4b5e978ad350916b5c3995490b09c4e59cec4a
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Thu Apr 16 15:14:53 2015 +0200
ALSA: hda - Fix regression for slave SPDIF setups
The commit [a551d91473e5: ALSA: hda - Use regmap for command verb
caches, too] introduced a regression due to a typo in the conversion;
the IEC958 status bits of slave digital devices aren't updated
correctly. This patch corrects it.
Fixes: a551d91473e5 ('ALSA: hda - Use regmap for command verb caches,
too')
Reported-and-tested-by: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 84fce9db4d7eaebd6cb2ee30c15da6d4e4daf846
Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Date: Thu Apr 16 13:44:44 2015 +0900
tracing: Fix incorrect enabling of trace events by boot cmdline
There is a problem that trace events are not properly enabled with
boot cmdline. The problem is that if we pass
"trace_event=kmem:mm_page_alloc"
to the boot cmdline, it enables all kmem trace events, and not just
the page_alloc event.
This is caused by the parsing mechanism. When we parse the cmdline, the
buffer
contents is modified due to tokenization. And, if we use this buffer
again, we will get the wrong result.
Unfortunately, this buffer is be accessed three times to set trace events
properly at boot time. So, we need to handle this situation.
There is already code handling ",", but we need another for ":".
This patch adds it.
Link:
http://lkml.kernel.org/r/1429159484-22977-1-git-send-email-iamjoonsoo.kim@xxxxxxx
Cc: stable@xxxxxxxxxxxxxxx # 3.19+
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
[ added missing return ret; ]
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit ef99b88b16bee753fa51207abdc58ae660453ec6
Author: Rabin Vincent <rabin@xxxxxx>
Date: Mon Apr 13 22:30:12 2015 +0200
tracing: Handle ftrace_dump() atomic context in graph_trace_open()
graph_trace_open() can be called in atomic context from ftrace_dump().
Use GFP_ATOMIC for the memory allocations when that's the case, in order
to avoid the following splat.
BUG: sleeping function called from invalid context at mm/slab.c:2849
in_atomic(): 1, irqs_disabled(): 128, pid: 0, name: swapper/0
Backtrace:
..
[<8004dc94>] (__might_sleep) from [<801371f4>]
(kmem_cache_alloc_trace+0x160/0x238)
r7:87800040 r6:000080d0 r5:810d16e8 r4:000080d0
[<80137094>] (kmem_cache_alloc_trace) from [<800cbd60>]
(graph_trace_open+0x30/0xd0)
r10:00000100 r9:809171a8 r8:00008e28 r7:810d16f0 r6:00000001 r5:810d16e8
r4:810d16f0
[<800cbd30>] (graph_trace_open) from [<800c79c4>]
(trace_init_global_iter+0x50/0x9c)
r8:00008e28 r7:808c853c r6:00000001 r5:810d16e8 r4:810d16f0 r3:800cbd30
[<800c7974>] (trace_init_global_iter) from [<800c7aa0>]
(ftrace_dump+0x90/0x2ec)
r4:810d2580 r3:00000000
[<800c7a10>] (ftrace_dump) from [<80414b2c>]
(sysrq_ftrace_dump+0x1c/0x20)
r10:00000100 r9:809171a8 r8:808f6e7c r7:00000001 r6:00000007 r5:0000007a
r4:808d5394
[<80414b10>] (sysrq_ftrace_dump) from [<800169b8>]
(return_to_handler+0x0/0x18)
[<80415498>] (__handle_sysrq) from [<800169b8>]
(return_to_handler+0x0/0x18)
r8:808c8100 r7:808c8444 r6:00000101 r5:00000010 r4:84eb3210
[<80415668>] (handle_sysrq) from [<800169b8>]
(return_to_handler+0x0/0x18)
[<8042a760>] (pl011_int) from [<800169b8>] (return_to_handler+0x0/0x18)
r10:809171bc r9:809171a8 r8:00000001 r7:00000026 r6:808c6000 r5:84f01e60
r4:8454fe00
[<8007782c>] (handle_irq_event_percpu) from [<80077b44>]
(handle_irq_event+0x4c/0x6c)
r10:808c7ef0 r9:87283e00 r8:00000001 r7:00000000 r6:8454fe00 r5:84f01e60
r4:84f01e00
[<80077af8>] (handle_irq_event) from [<8007aa28>]
(handle_fasteoi_irq+0xf0/0x1ac)
r6:808f52a4 r5:84f01e60 r4:84f01e00 r3:00000000
[<8007a938>] (handle_fasteoi_irq) from [<80076dc0>]
(generic_handle_irq+0x3c/0x4c)
r6:00000026 r5:00000000 r4:00000026 r3:8007a938
[<80076d84>] (generic_handle_irq) from [<80077128>]
(__handle_domain_irq+0x8c/0xfc)
r4:808c1e38 r3:0000002e
[<8007709c>] (__handle_domain_irq) from [<800087b8>]
(gic_handle_irq+0x34/0x6c)
r10:80917748 r9:00000001 r8:88802100 r7:808c7ef0 r6:808c8fb0 r5:00000015
r4:8880210c r3:808c7ef0
[<80008784>] (gic_handle_irq) from [<80014044>] (__irq_svc+0x44/0x7c)
Link:
http://lkml.kernel.org/r/1428953721-31349-1-git-send-email-rabin@xxxxxx
Link:
http://lkml.kernel.org/r/1428957012-2319-1-git-send-email-rabin@xxxxxx
Cc: stable@xxxxxxxxxxxxxxx # 3.13+
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 542c311813d5cb2e6f0dfa9557f41c829b8fb6a0
Merge: 6a63ef0 0cefb29
Author: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Thu Apr 16 22:13:18 2015 +1000
Merge branch 'xfs-dio-extend-fix' into for-next
Conflicts:
fs/xfs/xfs_file.c
commit 0cefb29e6a63727bc7606c47fc538467594ef112
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Thu Apr 16 22:03:27 2015 +1000
xfs: using generic_file_direct_write() is unnecessary
generic_file_direct_write() does all sorts of things to make DIO
work "sorta ok" with mixed buffered IO workloads. We already do
most of this work in xfs_file_aio_dio_write() because of the locking
requirements, so there's only a couple of things it does for us.
The first thing is that it does a page cache invalidation after the
->direct_IO callout. This can easily be added to the XFS code.
The second thing it does is that if data was written, it updates the
iov_iter structure to reflect the data written, and then does EOF
size updates if necessary. For XFS, these EOF size updates are now
not necessary, as we do them safely and race-free in IO completion
context. That leaves just the iov_iter update, and that's also moved
to the XFS code.
Therefore we don't need to call generic_file_direct_write() and in
doing so remove redundant buffered writeback and page cache
invalidation calls from the DIO submission path. We also remove a
racy EOF size update, and make the DIO submission code in XFS much
easier to follow. Wins all round, really.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit 40c63fbc55a968383b8bb5cacad81585e80cd323
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Thu Apr 16 22:03:17 2015 +1000
xfs: direct IO EOF zeroing needs to drain AIO
When we are doing AIO DIO writes, the IOLOCK only provides an IO
submission barrier. When we need to do EOF zeroing, we need to ensure
that no other IO is in progress and all pending in-core EOF updates
have been completed. This requires us to wait for all outstanding
AIO DIO writes to the inode to complete and, if necessary, run their
EOF updates.
Once all the EOF updates are complete, we can then restart
xfs_file_aio_write_checks() while holding the IOLOCK_EXCL, knowing
that EOF is up to date and we have exclusive IO access to the file
so we can run EOF block zeroing if we need to without interference.
This gives EOF zeroing the same exclusivity against other IO as we
provide truncate operations.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit b9d59846f73713d77f0f3fb784c7f84249fc2b93
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Thu Apr 16 22:03:07 2015 +1000
xfs: DIO write completion size updates race
xfs_end_io_direct_write() can race with other IO completions when
updating the in-core inode size. The IO completion processing is not
serialised for direct IO - they are done either under the
IOLOCK_SHARED for non-AIO DIO, and without any IOLOCK held at all
during AIO DIO completion. Hence the non-atomic test-and-set update
of the in-core inode size is racy and can result in the in-core
inode size going backwards if the race if hit just right.
If the inode size goes backwards, this can trigger the EOF zeroing
code to run incorrectly on the next IO, which then will zero data
that has successfully been written to disk by a previous DIO.
To fix this bug, we need to serialise the test/set updates of the
in-core inode size. This first patch introduces locking around the
relevant updates and checks in the DIO path. Because we now have an
ioend in xfs_end_io_direct_write(), we know exactly then we are
doing an IO that requires an in-core EOF update, and we know that
they are not running in interrupt context. As such, we do not need to
use irqsave() spinlock variants to protect against interrupts while
the lock is held.
Hence we can use an existing spinlock in the inode to do this
serialisation and so not need to grow the struct xfs_inode just to
work around this problem.
This patch does not address the test/set EOF update in
generic_file_write_direct() for various reasons - that will be done
as a followup with separate explanation.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit a06c277a13c3620c8ee9304891758f2fcff9c4a4
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Thu Apr 16 22:00:00 2015 +1000
xfs: DIO writes within EOF don't need an ioend
DIO writes that lie entirely within EOF have nothing to do in IO
completion. In this case, we don't need no steekin' ioend, and so we
can avoid allocating an ioend until we have a mapping that spans
EOF.
This means that IO completion has two contexts - deferred completion
to the dio workqueue that uses an ioend, and interrupt completion
that does nothing because there is nothing that can be done in this
context.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit 6dfa1b67e3b3a9bf536e2fb9ed99001c219822a5
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Thu Apr 16 21:59:34 2015 +1000
xfs: handle DIO overwrite EOF update completion correctly
Currently a DIO overwrite that extends the EOF (e.g sub-block IO or
write into allocated blocks beyond EOF) requires a transaction for
the EOF update. Thi is done in IO completion context, but we aren't
explicitly handling this situation properly and so it can run in
interrupt context. Ensure that we defer IO that spans EOF correctly
to the DIO completion workqueue, and now that we have an ioend in IO
completion we can use the common ioend completion path to do all the
work.
Note: we do not preallocate the append transaction as we can have
multiple mapping and allocation calls per direct IO. hence
preallocating can still leave us with nested transactions by
attempting to map and allocate more blocks after we've preallocated
an append transaction.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit d5cc2e3f968ff60f247fdef15b04fac788ef46d2
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Thu Apr 16 21:59:07 2015 +1000
xfs: DIO needs an ioend for writes
Currently we can only tell DIO completion that an IO requires
unwritten extent completion. This is done by a hacky non-null
private pointer passed to Io completion, but the private pointer
does not actually contain any information that is used.
We also need to pass to IO completion the fact that the IO may be
beyond EOF and so a size update transaction needs to be done. This
is currently determined by checks in the io completion, but we need
to determine if this is necessary at block mapping time as we need
to defer the size update transactions to a completion workqueue,
just like unwritten extent conversion.
To do this, first we need to allocate and pass an ioend to to IO
completion. Add this for unwritten extent conversion; we'll do the
EOF updates in the next commit.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit 1fdca9c21198b2c2869086ac3629612492476f28
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Thu Apr 16 21:58:21 2015 +1000
xfs: move DIO mapping size calculation
The mapping size calculation is done last in __xfs_get_blocks(), but
we are going to need the actual mapping size we will use to map the
direct IO correctly in xfs_map_direct(). Factor out the calculation
for code clarity, and move the call to be the first operation in
mapping the extent to the returned buffer.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit a719370be52d1152a5f6e19c4af3b73280e25475
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Thu Apr 16 21:57:48 2015 +1000
xfs: factor DIO write mapping from get_blocks
Clarify and separate the buffer mapping logic so that the direct IO
mapping is
not tangled up in propagating the extent status to teh mapping buffer.
This
makes it easier to extend the direct IO mapping to use an ioend in future.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit fd0f86b66425bd8c6af8985881e82b28c30fd450
Author: Oleg Nesterov <oleg@xxxxxxxxxx>
Date: Thu Apr 16 00:40:25 2015 -0700
x86/ptrace: Fix the TIF_FORCED_TF logic in handle_signal()
When the TIF_SINGLESTEP tracee dequeues a signal,
handle_signal() clears TIF_FORCED_TF and X86_EFLAGS_TF but
leaves TIF_SINGLESTEP set.
If the tracer does PTRACE_SINGLESTEP again, enable_single_step()
sets X86_EFLAGS_TF but not TIF_FORCED_TF. This means that the
subsequent PTRACE_CONT doesn't not clear X86_EFLAGS_TF, and the
tracee gets the wrong SIGTRAP.
Test-case (needs -O2 to avoid prologue insns in signal handler):
#include <unistd.h>
#include <stdio.h>
#include <sys/ptrace.h>
#include <sys/wait.h>
#include <sys/user.h>
#include <assert.h>
#include <stddef.h>
void handler(int n)
{
asm("nop");
}
int child(void)
{
assert(ptrace(PTRACE_TRACEME, 0,0,0) == 0);
signal(SIGALRM, handler);
kill(getpid(), SIGALRM);
return 0x23;
}
void *getip(int pid)
{
return (void*)ptrace(PTRACE_PEEKUSER, pid,
offsetof(struct user, regs.rip), 0);
}
int main(void)
{
int pid, status;
pid = fork();
if (!pid)
return child();
assert(wait(&status) == pid);
assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGALRM);
assert(ptrace(PTRACE_SINGLESTEP, pid, 0, SIGALRM) == 0);
assert(wait(&status) == pid);
assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGTRAP);
assert((getip(pid) - (void*)handler) == 0);
assert(ptrace(PTRACE_SINGLESTEP, pid, 0, SIGALRM) == 0);
assert(wait(&status) == pid);
assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGTRAP);
assert((getip(pid) - (void*)handler) == 1);
assert(ptrace(PTRACE_CONT, pid, 0,0) == 0);
assert(wait(&status) == pid);
assert(WIFEXITED(status) && WEXITSTATUS(status) == 0x23);
return 0;
}
The last assert() fails because PTRACE_CONT wrongly triggers
another single-step and X86_EFLAGS_TF can't be cleared by
debugger until the tracee does sys_rt_sigreturn().
Change handle_signal() to do user_disable_single_step() if
stepping, we do not need to preserve TIF_SINGLESTEP because we
are going to do ptrace_notify(), and it is simply wrong to leak
this bit.
While at it, change the comment to explain why we also need to
clear TF unconditionally after setup_rt_frame().
Note: in the longer term we should probably change
setup_sigcontext() to use get_flags() and then just remove this
user_disable_single_step(). And, the state of TIF_FORCED_TF can
be wrong after restore_sigcontext() which can set/clear TF, this
needs another fix.
This fix fixes the 'single_step_syscall_32' testcase in
the x86 testsuite:
Before:
~/linux/tools/testing/selftests/x86> ./single_step_syscall_32
[RUN] Set TF and check nop
[OK] Survived with TF set and 9 traps
[RUN] Set TF and check int80
[OK] Survived with TF set and 9 traps
[RUN] Set TF and check a fast syscall
[WARN] Hit 10000 SIGTRAPs with si_addr 0xf7789cc0, ip 0xf7789cc0
Trace/breakpoint trap (core dumped)
After:
~/linux/linux/tools/testing/selftests/x86> ./single_step_syscall_32
[RUN] Set TF and check nop
[OK] Survived with TF set and 9 traps
[RUN] Set TF and check int80
[OK] Survived with TF set and 9 traps
[RUN] Set TF and check a fast syscall
[OK] Survived with TF set and 39 traps
[RUN] Fast syscall with TF cleared
[OK] Nothing unexpected happened
Reported-by: Evan Teran <eteran@xxxxxxxxxxxx>
Reported-by: Pedro Alves <palves@xxxxxxxxxx>
Tested-by: Andres Freund <andres@xxxxxxxxxxx>
Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
[ Added x86 self-test info. ]
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 0a15584d72760a3b83d97af85d37ffaa2c42068d
Author: Andy Lutomirski <luto@xxxxxxxxxx>
Date: Wed Apr 15 16:10:07 2015 -0700
x86, selftests: Add single_step_syscall test
This is a very simple test that makes system calls with TF set.
This test currently fails when running the 32-bit build on a
64-bit kernel on an Intel CPU. This bug will be fixed by the
next commit.
Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Shuah Khan <shuah.kh@xxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/20e68021155f6ab5c60590dcad81d37c68ea2c4f.1429139075.git.luto@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 3047755588e71b67c3f60409686fabf8506357e9
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Wed Apr 15 18:16:47 2015 -0500
ALSA: intel8x0: Check pci_iomap() success for DEVICE_ALI
DEVICE_ALI previously would jump to port_inited after calling
pci_iomap(), bypassing the check for bmaddr being NULL.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 828fa8ce5a8d75169f16740c28c8a1b7c13dd96b
Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx>
Date: Wed Apr 15 13:29:05 2015 +0200
ALSA: hda - simplify azx_has_pm_runtime
Because AZX_DCAPS_PM_RUNTIME is always defined as non-zero, the
initial part of the expression can be skipped.
Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 6ddb2447846a8ece111e316a2863c2355023682d
Author: Theodore Ts'o <tytso@xxxxxxx>
Date: Thu Apr 16 01:56:00 2015 -0400
ext4 crypto: enable encryption feature flag
Also add the test dummy encryption mode flag so we can more easily
test the encryption patches using xfstests.
Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit f348c252320b98e11176074fe04223f22bddaf0d
Author: Theodore Ts'o <tytso@xxxxxxx>
Date: Thu Apr 16 01:55:00 2015 -0400
ext4 crypto: add symlink encryption
Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 65204c84d7666a78e965da0dd8696bdb007606dd
Author: Christoph Hellwig <hch@xxxxxx>
Date: Wed Apr 15 09:04:41 2015 +0200
target: fix tcm_mod_builder.py
Fix a misplaced comma I introduced.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 64d240b721b21e266ffde645ec965c3b6d1c551f
Author: Akinobu Mita <akinobu.mita@xxxxxxxxx>
Date: Mon Apr 13 23:21:58 2015 +0900
target/file: Fix UNMAP with DIF protection support
When UNMAP command is issued with DIF protection support enabled,
the protection info for the unmapped region is remain unchanged.
So READ command for the region causes data integrity failure.
This fixes it by invalidating protection info for the unmapped region
by filling with 0xff pattern. This change also adds helper function
fd_do_prot_fill() in order to reduce code duplication with existing
fd_format_prot().
Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Reviewed-by: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit c836777830428372074d5129ac513e1472c99791
Author: Akinobu Mita <akinobu.mita@xxxxxxxxx>
Date: Mon Apr 13 23:21:57 2015 +0900
target/file: Fix SG table for prot_buf initialization
In fd_do_prot_rw(), it allocates prot_buf which is used to copy from
se_cmd->t_prot_sg by sbc_dif_copy_prot(). The SG table for prot_buf
is also initialized by allocating 'se_cmd->t_prot_nents' entries of
scatterlist and setting the data length of each entry to PAGE_SIZE
at most.
However if se_cmd->t_prot_sg contains a clustered entry (i.e.
sg->length > PAGE_SIZE), the SG table for prot_buf can't be
initialized correctly and sbc_dif_copy_prot() can't copy to prot_buf.
(This actually happened with TCM loopback fabric module)
As prot_buf is allocated by kzalloc() and it's physically contiguous,
we only need a single scatterlist entry.
Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>
Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 38da0f49e8aa1649af397d53f88e163d0e60c058
Author: Akinobu Mita <akinobu.mita@xxxxxxxxx>
Date: Mon Apr 13 23:21:56 2015 +0900
target/file: Fix BUG() when CONFIG_DEBUG_SG=y and DIF protection enabled
When CONFIG_DEBUG_SG=y and DIF protection support enabled, kernel
BUG()s are triggered due to the following two issues:
1) prot_sg is not initialized by sg_init_table().
When CONFIG_DEBUG_SG=y, scatterlist helpers check sg entry has a
correct magic value.
2) vmalloc'ed buffer is passed to sg_set_buf().
sg_set_buf() uses virt_to_page() to convert virtual address to struct
page, but it doesn't work with vmalloc address. vmalloc_to_page()
should be used instead. As prot_buf isn't usually too large, so
fix it by allocating prot_buf by kmalloc instead of vmalloc.
Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>
Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit dc0fafdab88b98581728a574885d0e4d9c6d0640
Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
Date: Tue Apr 14 13:26:06 2015 +0200
target: Make core_tmr_abort_task() skip TMFs
The loop in core_tmr_abort_task() iterates over sess_cmd_list.
That list is a list of regular commands and task management
functions (TMFs). Skip TMFs in this loop instead of letting
the target drivers filter out TMFs in their get_task_tag()
callback function.
(Drop bogus check removal in tcm_qla2xxx_get_task_tag - nab)
Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Andy Grover <agrover@xxxxxxxxxx>
Cc: <qla2xxx-upstream@xxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 6ae504082188d25178ac9a22197fee89ebda232c
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 11:59:20 2015 -0700
target/sbc: Update sbc_dif_generate pr_debug output
Now that sbc_dif_generate can also be called for READ_INSERT, update
the debugging message accordingly.
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit d7a463b0acc3fecf9d01cd5d518bf46578658ff3
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 11:57:43 2015 -0700
target/sbc: Make internal DIF emulation honor ->prot_checks
The internal DIF emulation was not honoring se_cmd->prot_checks for
the WRPROTECT/RDPROTECT == 0x3 case, so sbc_dif_v1_verify() has been
updated to follow which checks have been calculated based on
WRPROTECT/RDPROTECT in sbc_set_prot_op_checks().
Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit cceca4a638708c7f62e60f9f99684a8d57358dd0
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 11:55:01 2015 -0700
target/sbc: Return INVALID_CDB_FIELD if DIF + sess_prot_type disabled
In sbc_check_prot(), if PROTECT is non-zero for a backend device with
DIF disabled, and sess_prot_type is not set go ahead and return
INVALID_CDB_FIELD.
Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit bffb5128f91e820fd8804307a6431607c2c840a4
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 11:52:22 2015 -0700
target: Ensure sess_prot_type is saved across session restart
The following incremental patch saves the current sess_prot_type into
se_node_acl, and will always reset sess_prot_type if a previous saved
value exists. So the PI setting for the fabric's session with backend
devices not supporting PI is persistent across session restart.
(Fix se_node_acl dereference for discovery sessions - DanCarpenter)
Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 34c9a0ffc75ad25b6a60f61e27c4a4b1189b8085
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 16 11:07:13 2015 +0800
crypto: fix broken crypto_register_instance() module handling
Commit 9c521a200bc3 ("crypto: api - remove instance when test failed")
tried to grab a module reference count before the module was even set.
Worse, it then goes on to free the module reference count after it is
set so you quickly end up with a negative module reference count which
prevents people from using any instances belonging to that module.
This patch moves the module initialisation before the reference
count.
Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 1527781d228cd88af6c2f78c13a9cb43b3f69f30
Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Date: Thu Apr 16 12:33:51 2015 +0930
cpumask: resurrect CPU_MASK_CPU0
We removed it in 2f0f267ea072 (cpumask: remove deprecated functions.),
but grep shows it still used by MIPS, and not unreasonably.
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit eea3a00264cf243a28e4331566ce67b86059339d
Merge: e7c8241 e693d73
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:39:15 2015 -0700
Merge branch 'akpm' (patches from Andrew)
Merge second patchbomb from Andrew Morton:
- the rest of MM
- various misc bits
- add ability to run /sbin/reboot at reboot time
- printk/vsprintf changes
- fiddle with seq_printf() return value
* akpm: (114 commits)
parisc: remove use of seq_printf return value
lru_cache: remove use of seq_printf return value
tracing: remove use of seq_printf return value
cgroup: remove use of seq_printf return value
proc: remove use of seq_printf return value
s390: remove use of seq_printf return value
cris fasttimer: remove use of seq_printf return value
cris: remove use of seq_printf return value
openrisc: remove use of seq_printf return value
ARM: plat-pxa: remove use of seq_printf return value
nios2: cpuinfo: remove use of seq_printf return value
microblaze: mb: remove use of seq_printf return value
ipc: remove use of seq_printf return value
rtc: remove use of seq_printf return value
power: wakeup: remove use of seq_printf return value
x86: mtrr: if: remove use of seq_printf return value
linux/bitmap.h: improve BITMAP_{LAST,FIRST}_WORD_MASK
MAINTAINERS: CREDITS: remove Stefano Brivio from B43
.mailmap: add Ricardo Ribalda
CREDITS: add Ricardo Ribalda Delgado
...
commit e693d73c20ffdb06840c9378f367bad849ac0d5d
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:18:28 2015 -0700
parisc: remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx>
Cc: Helge Deller <deller@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d50f8f8d91a7dcb6110c4600072c62fc44b65572
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:18:25 2015 -0700
lru_cache: remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Cc: Lars Ellenberg <drbd-dev@xxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 962e3707d9fb16bcf66ec5e5ebcea5248b9c2ab3
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:18:22 2015 -0700
tracing: remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Miscellanea:
o Remove unused return value from trace_lookup_stack
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 94ff212d096d96afea29e41585b0d8ce41087c0f
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:18:20 2015 -0700
cgroup: remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Acked-by: Tejun Heo <tj@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 25ce319167b517a913a2ba9fc80da8330dbc3249
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:18:17 2015 -0700
proc: remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit c2f0b61d8969adf0dfb11aea7b700740fde6420b
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:18:14 2015 -0700
s390: remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Acked-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Cc: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx>
Cc: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx>
Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit dc640a8813c0015e5a620d41e47df94c9879749d
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:18:11 2015 -0700
cris fasttimer: remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Miscellanea:
o Coalesce formats, realign arguments
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Cc: Mikael Starvik <starvik@xxxxxxxx>
Cc: Jesper Nilsson <jesper.nilsson@xxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 1336d4221dee528b5a0e92d2b1322790c4df1b53
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:18:08 2015 -0700
cris: remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Acked-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 58a1aa7c83f4ee73d96efd50c4c16ebbeb64622e
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:18:05 2015 -0700
openrisc: remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Cc: Jonas Bonn <jonas@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit cd2b2937c6ae7f8d562d7e08e06da70e778d0323
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:18:02 2015 -0700
ARM: plat-pxa: remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
(as it is here, it doesn't return # of chars emitted) will
eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 4122669e5266a2af8a84a499cf7821786ed7d2cf
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:18:00 2015 -0700
nios2: cpuinfo: remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Cc: Ley Foon Tan <lftan@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 81f0cd97aaf20b0df97ec888d90aa46f5279282b
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:17:57 2015 -0700
microblaze: mb: remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Acked-by: Michal Simek <monstr@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7f032d6ef6154868a2a5d5f6b2c3f8587292196c
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:17:54 2015 -0700
ipc: remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 4395eb1f16cc55406fe3de4546134fc61253a06b
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:17:51 2015 -0700
rtc: remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 9f6a240e8b08d3fa711c2b615e7ea901cf59e590
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:17:48 2015 -0700
power: wakeup: remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx>
Cc: Pavel Machek <pavel@xxxxxx>
Cc: Len Brown <len.brown@xxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 3ac62bc0602794dc36aad77a7ef5772e989b2e22
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:17:45 2015 -0700
x86: mtrr: if: remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 89c1e79eb302349fcaf0697bc9116a4ff16bfeb0
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:17:42 2015 -0700
linux/bitmap.h: improve BITMAP_{LAST,FIRST}_WORD_MASK
The macro BITMAP_LAST_WORD_MASK can be implemented without a conditional,
which will generally lead to slightly better generated code (221 bytes
saved for allmodconfig-GCOV_KERNEL, ~2k with GCOV_KERNEL). As a small
bonus, this also ensures that the nbits parameter is expanded exactly
once.
In BITMAP_FIRST_WORD_MASK, if start is signed gcc is technically allowed
to assume it is positive (or divisible by BITS_PER_LONG), and hence just
do the simple mask. It doesn't seem to use this, and even on an
architecture like x86 where the shift only depends on the lower 5 or 6
bits, and these bits are not affected by the signedness of the expression,
gcc still generates code to compute the C99 mandated value of start %
BITS_PER_LONG. So just use a mask explicitly, also for consistency with
BITMAP_LAST_WORD_MASK.
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Reviewed-by: George Spelvin <linux@xxxxxxxxxxx>
Cc: Yury Norov <yury.norov@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 8a72ed6fa7e89c5ecd68803cd1160c35b079ea3b
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:17:39 2015 -0700
MAINTAINERS: CREDITS: remove Stefano Brivio from B43
This email address isn't working anymore
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 01c7e5a50cc16174b7ccfdbcf32e9bb136f277ba
Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx>
Date: Wed Apr 15 16:17:37 2015 -0700
.mailmap: add Ricardo Ribalda
Work and Home computer had different settings in the mail client. Some
contributions appear as Ricardo Ribalda, others as Ricardo Ribalda Delgado
(and one as just Ricardo).
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 3ca7bf8756a0426e642446ae35df31a29a1b1108
Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx>
Date: Wed Apr 15 16:17:34 2015 -0700
CREDITS: add Ricardo Ribalda Delgado
Add personal details to CREDITS file.
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 49e7d9df9046590ab25788cb2a0cbcf071942e0d
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 15 16:17:31 2015 -0700
MAINTAINERS: Use tabs consistently
Consistently use a single tab after the "specifier:" type.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 41416f2330112d29f2cfa337bfc7e672bf0c2768
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:17:28 2015 -0700
lib/string_helpers.c: change semantics of string_escape_mem
The current semantics of string_escape_mem are inadequate for one of its
current users, vsnprintf(). If that is to honour its contract, it must
know how much space would be needed for the entire escaped buffer, and
string_escape_mem provides no way of obtaining that (short of allocating a
large enough buffer (~4 times input string) to let it play with, and
that's definitely a big no-no inside vsnprintf).
So change the semantics for string_escape_mem to be more snprintf-like:
Return the size of the output that would be generated if the destination
buffer was big enough, but of course still only write to the part of dst
it is allowed to, and (contrary to snprintf) don't do '\0'-termination.
It is then up to the caller to detect whether output was truncated and to
append a '\0' if desired. Also, we must output partial escape sequences,
otherwise a call such as snprintf(buf, 3, "%1pE", "\123") would cause
printf to write a \0 to buf[2] but leaving buf[0] and buf[1] with whatever
they previously contained.
This also fixes a bug in the escaped_string() helper function, which used
to unconditionally pass a length of "end-buf" to string_escape_mem();
since the latter doesn't check osz for being insanely large, it would
happily write to dst. For example, kasprintf(GFP_KERNEL, "something and
then %pE", ...); is an easy way to trigger an oops.
In test-string_helpers.c, the -ENOMEM test is replaced with testing for
getting the expected return value even if the buffer is too small. We
also ensure that nothing is written (by relying on a NULL pointer deref)
if the output size is 0 by passing NULL - this has to work for
kasprintf("%pE") to work.
In net/sunrpc/cache.c, I think qword_add still has the same semantics.
Someone should definitely double-check this.
In fs/proc/array.c, I made the minimum possible change, but longer-term it
should stop poking around in seq_file internals.
[andriy.shevchenko@xxxxxxxxxxxxxxx: simplify qword_add]
[andriy.shevchenko@xxxxxxxxxxxxxxx: add missed curly braces]
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 3aeddc7d665e41b1ba193f5c427ca52086d085ae
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:17:25 2015 -0700
lib/string_helpers.c: refactor string_escape_mem
When printf is given the format specifier %pE, it needs a way of obtaining
the total output size that would be generated if the buffer was large
enough, and string_escape_mem doesn't easily provide that. This is a
refactorization of string_escape_mem in preparation of changing its
external API to provide that information.
The somewhat ugly early returns and subsequent seemingly redundant
conditionals are to make the following patch touch as little as possible
in string_helpers.c while still preserving the current behaviour of never
outputting partial escape sequences. That behaviour must also change for
%pE to work as one expects from every other printf specifier.
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 9c98f2359600386efd1c6adfabc5a04118a79798
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:17:23 2015 -0700
lib/vsprintf.c: fix potential NULL deref in hex_string
The helper hex_string() is broken in two ways. First, it doesn't
increment buf regardless of whether there is room to print, so callers
such as kasprintf() that try to probe the correct storage to allocate will
get a too small return value. But even worse, kasprintf() (and likely
anyone else trying to find the size of the result) pass NULL for buf and 0
for size, so we also have end == NULL. But this means that the end-1 in
hex_string() is (char*)-1, so buf < end-1 is true and we get a NULL
pointer deref. I double-checked this with a trivial kernel module that
just did a kasprintf(GFP_KERNEL, "%14ph", "CrashBoomBang").
Nobody seems to be using %ph with kasprintf, but we might as well fix it
before it hits someone.
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 900cca2944254edd2d54dc181629314d3177a4af
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Wed Apr 15 16:17:20 2015 -0700
lib/vsprintf: add %pC{,n,r} format specifiers for clocks
Add format specifiers for printing struct clk:
- '%pC' or '%pCn': name (Common Clock Framework) or address (legacy
clock framework) of the clock,
- '%pCr': rate of the clock.
[akpm@xxxxxxxxxxxxxxxxxxxx: omit code if !CONFIG_HAVE_CLK]
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: Mike Turquette <mturquette@xxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit e8a7ba5f5c8c0c94c0c7f1bcd53c0289560c7446
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Wed Apr 15 16:17:17 2015 -0700
lib/vsprintf: Move integer format types to the top
Move the format types for 64-bit integers and configurable size integers
to the top, so they're next to the other integer format types. While at
it, add the missing format types for s32 and u32.
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: Mike Turquette <mturquette@xxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7330660ed2e8d8d4c65b90cea62d8f1ed49c0104
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Wed Apr 15 16:17:14 2015 -0700
lib/vsprintf: document %p parameters passed by reference
This patch series improves the documentation for printk() formats, and
adds support for printing clocks. The latter has always been a hassle if
you wanted to support both the common and legacy clock frameworks.
- '%pC' and '%pCn' print the name (Common Clock Framework) or address
(legacy clock framework) of a clock,
- '%pCr' prints the current clock rate.
This patch (of 3):
Make sure all %p extensions that take parameters by references are
documented to do so.
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: Mike Turquette <mturquette@xxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d1c1b12137fff14363d0cf45c8b7a9ec5cd4578b
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:17:11 2015 -0700
lib/vsprintf.c: another small hack
Making ZEROPAD == '0'-' ', we can eliminate a few more instructions.
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 3ea8d440a86b85c63c2bb7f73988626e682db5f0
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:17:08 2015 -0700
lib/vsprintf.c: eliminate duplicate hex string array
gcc doesn't merge or overlap const char[] objects with identical contents
(probably language lawyers would also insist that these things have
different addresses), but there's no reason to have the string
"0123456789ABCDEF" occur in multiple places. hex_asc_upper is declared in
kernel.h and defined in lib/hexdump.c, which is unconditionally compiled
in.
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit e26c12c777118d65aeb97eb1651338e7decae80e
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:17:05 2015 -0700
lib/vsprintf.c: reduce stack use in number()
At least since the initial git commit, when base was passed as a separate
parameter, number() has only been called with bases 8, 10 and 16. I'm
guessing that 66 was to accommodate 64 0/1, a sign and a '\0', but the
buffer is only used for the actual digits. Octal digits carry 3 bits of
information, so 24 is enough. Spell that 3*sizeof(num) so one less place
needs to be changed should long long ever be 128 bits. Also remove the
commented-out code that would handle an arbitrary base.
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 51be17dfff753e72872f096ce1e654734f2fec50
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:17:02 2015 -0700
lib/vsprintf.c: eliminate some branches
Since FORMAT_TYPE_INT is simply 1 more than FORMAT_TYPE_UINT, and
similarly for BYTE/UBYTE, SHORT/USHORT, LONG/ULONG, we can eliminate a few
instructions by making SIGN have the value 1 instead of 2, and then use
arithmetic instead of branches for computing the right spec->type. It's a
little hacky, but certainly in the same spirit as SMALL needing to have
the value 0x20. For example for the spec->qualifier == 'l' case, gcc now
generates
75e: 0f b6 53 01 movzbl 0x1(%rbx),%edx
762: 83 e2 01 and $0x1,%edx
765: 83 c2 09 add $0x9,%edx
768: 88 13 mov %dl,(%rbx)
instead of
763: 0f b6 53 01 movzbl 0x1(%rbx),%edx
767: 83 e2 02 and $0x2,%edx
76a: 80 fa 01 cmp $0x1,%dl
76d: 19 d2 sbb %edx,%edx
76f: 83 c2 0a add $0xa,%edx
772: 88 13 mov %dl,(%rbx)
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7b1460eccad0621e0c48f52bbedeb7adddc55ac9
Author: Steven Rostedt <rostedt@xxxxxxxxxxx>
Date: Wed Apr 15 16:16:59 2015 -0700
printk: comment pr_cont() stating it is only to continue a line
KERN_CONT is nicely commented in kern_levels.h, but pr_cont() is now used
more often, and it lacks the comment stating what it is used for. It can
be confused as continuing the log level, but that is not its purpose. Its
purpose is to continue a line that had no newline enclosed. This should
be documented by pr_cont() as well.
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Acked-by: Borislav Petkov <bp@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit e243304d0a51f5b27a0606c4e5c2ebba6854d20f
Author: Joel Stanley <joel@xxxxxxxxx>
Date: Wed Apr 15 16:16:56 2015 -0700
powerpc/powernv: reboot when requested by firmware
Use orderly_reboot so userspace will to shut itself down via the reboot
path. This is required for graceful reboot initiated by the BMC, such as
when a user uses ipmitool to issue a 'chassis power cycle' command.
Signed-off-by: Joel Stanley <joel@xxxxxxxxx>
Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Fabian Frederick <fabf@xxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Cc: Jeremy Kerr <jk@xxxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7a54f46b301cfab8a0d7365aa186545f8b98f22e
Author: Joel Stanley <joel@xxxxxxxxx>
Date: Wed Apr 15 16:16:53 2015 -0700
kernel/reboot.c: add orderly_reboot for graceful reboot
The kernel has orderly_poweroff which allows the kernel to initiate a
graceful shutdown of userspace, by running /sbin/poweroff. This adds
orderly_reboot that will cause userspace to shut itself down by calling
/sbin/reboot.
This will be used for shutdown initiated by a system controller on
platforms that do not use ACPI.
orderly_reboot() should be used when the system wants to allow userspace
to gracefully shut itself down. For cases where the system may imminently
catch on fire, the existing emergency_restart() provides an immediate
reboot without involving userspace.
Signed-off-by: Joel Stanley <joel@xxxxxxxxx>
Cc: Fabian Frederick <fabf@xxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Cc: Jeremy Kerr <jk@xxxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7975a9b7323d5a47e5b651bac810f3271e7156df
Author: Joel Stanley <joel@xxxxxxxxx>
Date: Wed Apr 15 16:16:50 2015 -0700
drivers/sbus/char/envctrl.c: ignore orderly_poweroff return value
orderly_poweroff() unconditionally returns 0, so remove the dead code that
checks the return value.
A future patch will change the return type to void.
Signed-off-by: Joel Stanley <joel@xxxxxxxxx>
Acked-by: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: Fabian Frederick <fabf@xxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Cc: Jeremy Kerr <jk@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 972fae6993cbbb934345011664dc703c0891dda3
Author: Aaron Tomlin <atomlin@xxxxxxxxxx>
Date: Wed Apr 15 16:16:47 2015 -0700
kernel/hung_task.c: change hung_task.c to use for_each_process_thread()
In check_hung_uninterruptible_tasks() avoid the use of deprecated
while_each_thread().
The "max_count" logic will prevent a livelock - see commit 0c740d0a
("introduce for_each_thread() to replace the buggy while_each_thread()").
Having said this let's use for_each_process_thread().
Signed-off-by: Aaron Tomlin <atomlin@xxxxxxxxxx>
Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Dave Wysochanski <dwysocha@xxxxxxxxxx>
Cc: Aaron Tomlin <atomlin@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 96831c0a6738f88f89e7012f4df0a747514af0a0
Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx>
Date: Wed Apr 15 16:16:44 2015 -0700
kernel/resource.c: remove deprecated __check_region() and friends
All users of __check_region(), check_region(), and check_mem_region() are
gone. We got rid of the last user in v4.0-rc1. Remove them.
bloat-o-meter on x86_64 shows:
add/remove: 0/3 grow/shrink: 0/0 up/down: 0/-102 (-102)
function old new delta
__kstrtab___check_region 15 - -15
__ksymtab___check_region 16 - -16
__check_region 71 - -71
Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx>
Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 2813893f8b197a14f1e1ddb04d99bce46817c84a
Author: Iulia Manda <iulia.manda21@xxxxxxxxx>
Date: Wed Apr 15 16:16:41 2015 -0700
kernel: conditionally support non-root users, groups and capabilities
There are a lot of embedded systems that run most or all of their
functionality in init, running as root:root. For these systems,
supporting multiple users is not necessary.
This patch adds a new symbol, CONFIG_MULTIUSER, that makes support for
non-root users, non-root groups, and capabilities optional. It is enabled
under CONFIG_EXPERT menu.
When this symbol is not defined, UID and GID are zero in any possible case
and processes always have all capabilities.
The following syscalls are compiled out: setuid, setregid, setgid,
setreuid, setresuid, getresuid, setresgid, getresgid, setgroups,
getgroups, setfsuid, setfsgid, capget, capset.
Also, groups.c is compiled out completely.
In kernel/capability.c, capable function was moved in order to avoid
adding two ifdef blocks.
This change saves about 25 KB on a defconfig build. The most minimal
kernels have total text sizes in the high hundreds of kB rather than
low MB. (The 25k goes down a bit with allnoconfig, but not that much.
The kernel was booted in Qemu. All the common functionalities work.
Adding users/groups is not possible, failing with -ENOSYS.
Bloat-o-meter output:
add/remove: 7/87 grow/shrink: 19/397 up/down: 1675/-26325 (-24650)
[akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
Signed-off-by: Iulia Manda <iulia.manda21@xxxxxxxxx>
Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Tested-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit c79574abe2baddf569532e7e430e4977771dd25c
Author: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:16:39 2015 -0700
lib/test-hexdump.c: fix initconst confusion
const char *...[] is not const, but an array of pointer to const. So
these arrays cannot be __initconst, but must be __initdata
This fixes section conflicts with LTO.
Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 946e87981942552e526aca9cb6204f02a6c847cb
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Wed Apr 15 16:16:36 2015 -0700
paride: fix the "verbose" module param
The verbose module parameter can be set to 2 for extremely verbose
messages so the type should be int instead of bool.
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Cc: Tim Waugh <tim@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 23f40a94d860449f39f00c3350bf850d15983e63
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:16:33 2015 -0700
include/linux: remove empty conditionals
Commit 607ca46e97a1 ("UAPI: (Scripted) Disintegrate include/linux") left
behind some empty conditional blocks. Since they are useless and may
cause a reader to wonder whether something is missing, remove them.
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Cc: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit e4bc33245124db69b74a6d853ac76c2976f472d5
Author: Chen Hanxiao <chenhanxiao@xxxxxxxxxxxxxx>
Date: Wed Apr 15 16:16:30 2015 -0700
/proc/PID/status: show all sets of pid according to ns
If some issues occurred inside a container guest, host user could not know
which process is in trouble just by guest pid: the users of container
guest only knew the pid inside containers. This will bring obstacle for
trouble shooting.
This patch adds four fields: NStgid, NSpid, NSpgid and NSsid:
a) In init_pid_ns, nothing changed;
b) In one pidns, will tell the pid inside containers:
NStgid: 21776 5 1
NSpid: 21776 5 1
NSpgid: 21776 5 1
NSsid: 21729 1 0
** Process id is 21776 in level 0, 5 in level 1, 1 in level 2.
c) If pidns is nested, it depends on which pidns are you in.
NStgid: 5 1
NSpid: 5 1
NSpgid: 5 1
NSsid: 1 0
** Views from level 1
[akpm@xxxxxxxxxxxxxxxxxxxx: add CONFIG_PID_NS ifdef]
Signed-off-by: Chen Hanxiao <chenhanxiao@xxxxxxxxxxxxxx>
Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx>
Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
Tested-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx>
Tested-by: Nathan Scott <nathans@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 201c7b72f0bf38d7f31fd229a01de035d0f10cd1
Author: Julia Lawall <Julia.Lawall@xxxxxxx>
Date: Wed Apr 15 16:16:27 2015 -0700
zram: fix error return code
Return a negative error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Cc: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Acked-by: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 160a117f0864871ae1bab26554a985a1d2861afd
Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Date: Wed Apr 15 16:16:24 2015 -0700
zsmalloc: remove extra cond_resched() in __zs_compact
Do not perform cond_resched() before the busy compaction loop in
__zs_compact(), because this loop does it when needed.
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 81da9b13f73653bf5f38c63af8029fc459198ac0
Author: Heesub Shin <heesub.shin@xxxxxxxxxxx>
Date: Wed Apr 15 16:16:21 2015 -0700
zsmalloc: fix fatal corruption due to wrong size class selection
There is no point in overriding the size class below. It causes fatal
corruption on the next chunk on the 3264-bytes size class, which is the
last size class that is not huge.
For example, if the requested size was exactly 3264 bytes, current
zsmalloc allocates and returns a chunk from the size class of 3264 bytes,
not 4096. User access to this chunk may overwrite head of the next
adjacent chunk.
Here is the panic log captured when freelist was corrupted due to this:
Kernel BUG at ffffffc00030659c [verbose debug info unavailable]
Internal error: Oops - BUG: 96000006 [#1] PREEMPT SMP
Modules linked in:
exynos-snapshot: core register saved(CPU:5)
CPUMERRSR: 0000000000000000, L2MERRSR: 0000000000000000
exynos-snapshot: context saved(CPU:5)
exynos-snapshot: item - log_kevents is disabled
CPU: 5 PID: 898 Comm: kswapd0 Not tainted 3.10.61-4497415-eng #1
task: ffffffc0b8783d80 ti: ffffffc0b71e8000 task.ti: ffffffc0b71e8000
PC is at obj_idx_to_offset+0x0/0x1c
LR is at obj_malloc+0x44/0xe8
pc : [<ffffffc00030659c>] lr : [<ffffffc000306604>] pstate: a0000045
sp : ffffffc0b71eb790
x29: ffffffc0b71eb790 x28: ffffffc00204c000
x27: 000000000001d96f x26: 0000000000000000
x25: ffffffc098cc3500 x24: ffffffc0a13f2810
x23: ffffffc098cc3501 x22: ffffffc0a13f2800
x21: 000011e1a02006e3 x20: ffffffc0a13f2800
x19: ffffffbc02a7e000 x18: 0000000000000000
x17: 0000000000000000 x16: 0000000000000feb
x15: 0000000000000000 x14: 00000000a01003e3
x13: 0000000000000020 x12: fffffffffffffff0
x11: ffffffc08b264000 x10: 00000000e3a01004
x9 : ffffffc08b263fea x8 : ffffffc0b1e611c0
x7 : ffffffc000307d24 x6 : 0000000000000000
x5 : 0000000000000038 x4 : 000000000000011e
x3 : ffffffbc00003e90 x2 : 0000000000000cc0
x1 : 00000000d0100371 x0 : ffffffbc00003e90
Reported-by: Sooyong Suk <s.suk@xxxxxxxxxxx>
Signed-off-by: Heesub Shin <heesub.shin@xxxxxxxxxxx>
Tested-by: Sooyong Suk <s.suk@xxxxxxxxxxx>
Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 839373e645d12613308d9148041c4bd967bce8d5
Author: Minchan Kim <minchan@xxxxxxxxxx>
Date: Wed Apr 15 16:16:18 2015 -0700
zsmalloc: remove unnecessary insertion/removal of zspage in compaction
In putback_zspage, we don't need to insert a zspage into list of zspage
in size_class again to just fix fullness group. We could do directly
without reinsertion so we could save some instuctions.
Reported-by: Heesub Shin <heesub.shin@xxxxxxxxxxx>
Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Cc: Dan Streetman <ddstreet@xxxxxxxx>
Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx>
Cc: Ganesh Mahendran <opensource.ganesh@xxxxxxxxx>
Cc: Luigi Semenzato <semenzato@xxxxxxxxxx>
Cc: Gunho Lee <gunho.lee@xxxxxxx>
Cc: Juneho Choi <juno.choi@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 495819ead5ad02174208994ca610852a7791a2f2
Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Date: Wed Apr 15 16:16:15 2015 -0700
zsmalloc: micro-optimize zs_object_copy()
A micro-optimization. Avoid additional branching and reduce (a bit)
registry pressure (f.e. s_off += size; d_off += size; may be calculated
twise: first for >= PAGE_SIZE check and later for offset update in "else"
clause).
scripts/bloat-o-meter shows some improvement
add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-10 (-10)
function old new delta
zs_object_copy 550 540 -10
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 1ec7cfb13acb8047ae5baafb43d2cd6b64ac85b9
Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Date: Wed Apr 15 16:16:12 2015 -0700
zsmalloc: remove synchronize_rcu from zs_compact()
Do not synchronize rcu in zs_compact(). Neither zsmalloc not
zram use rcu.
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 8f7d282c717acaae25245c61b6b60e8995ec4ef4
Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Date: Wed Apr 15 16:16:09 2015 -0700
zram: deprecate zram attrs sysfs nodes
Add Documentation/ABI/obsolete/sysfs-block-zram file and list obsolete and
deprecated attributes there. The patch also adds additional information
to zram documentation and describes the basic strategy:
- the existing RW nodes will be downgraded to WO nodes (in 4.11)
- deprecated RO sysfs nodes will eventually be removed (in 4.11)
Users will be additionally notified about deprecated attr usage by
pr_warn_once() (added to every deprecated attr _show()), as suggested by
Minchan Kim.
User space is advised to use zram<id>/stat, zram<id>/io_stat and
zram<id>/mm_stat files.
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Reported-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 4f2109f60881585dc04fa0b5657a60556576625c
Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Date: Wed Apr 15 16:16:06 2015 -0700
zram: export new 'mm_stat' sysfs attrs
Per-device `zram<id>/mm_stat' file provides mm statistics of a particular
zram device in a format similar to block layer statistics. The file
consists of a single line and represents the following stats (separated by
whitespace):
orig_data_size
compr_data_size
mem_used_total
mem_limit
mem_used_max
zero_pages
num_migrated
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 2f6a3bed7347ee94fe57b3501fddaa646a26d890
Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Date: Wed Apr 15 16:16:03 2015 -0700
zram: export new 'io_stat' sysfs attrs
Per-device `zram<id>/io_stat' file provides accumulated I/O statistics of
particular zram device in a format similar to block layer statistics. The
file consists of a single line and represents the following stats
(separated by whitespace):
failed_reads
failed_writes
invalid_io
notify_free
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 77ba015f9d5c584226a634753e9b318cb272cd41
Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Date: Wed Apr 15 16:16:00 2015 -0700
zram: describe device attrs in documentation
Briefly describe exported device stat attrs in zram documentation. We
will eventually get rid of per-stat sysfs nodes and, thus, clean up
Documentation/ABI/testing/sysfs-block-zram file, which is the only source
of information about device sysfs nodes.
Add `num_migrated' description, since there is no independent
`num_migrated' sysfs node (and no corresponding sysfs-block-zram entry),
it will be exported via zram<id>/mm_stat file.
At this point we can provide minimal description, because sysfs-block-zram
still contains detailed information.
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 8811a9421b325b06a2456ae1b8fe23e838cbfe33
Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Date: Wed Apr 15 16:15:57 2015 -0700
zram: use generic start/end io accounting
Use bio generic_start_io_acct() and generic_end_io_acct() to account
device's block layer statistics. This will let users to monitor zram
activities using sysstat and similar packages/tools.
Apart from the usual per-stat sysfs attr, zram IO stats are now also
available in '/sys/block/zram<id>/stat' and '/proc/diskstats' files.
We will slowly get rid of per-stat sysfs files.
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit c72c6160d967ed26a0b136dbab337f821d233509
Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Date: Wed Apr 15 16:15:55 2015 -0700
zram: move compact_store() to sysfs functions area
A cosmetic change. We have a new code layout and keep zram per-device
sysfs store and show functions in one place. Move compact_store() to that
handlers block to conform to current layout.
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 10447b60bee52f026bdbc5fe2aca52d0492fc91d
Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Date: Wed Apr 15 16:15:52 2015 -0700
zram: remove `num_migrated' device attr
This patch introduces rework to zram stats. We have per-stat sysfs nodes,
and it makes things a bit hard to use in user space: it doesn't give an
immediate stats 'snapshot', it requires user space to use more syscalls -
open, read, close for every stat file, with appropriate error checks on
every step, etc.
First, zram now accounts block layer statistics, available in
/sys/block/zram<id>/stat and /proc/diskstats files. So some new stats are
available (see Documentation/block/stat.txt), besides, zram's activities
now can be monitored by sysstat's iostat or similar tools.
Example:
cat /sys/block/zram0/stat
248 0 1984 0 251029 0 2008232 5120 0 5116 5116
Second, group currently exported on per-stat basis nodes into two
categories (files):
-- zram<id>/io_stat
accumulates device's IO stats, that are not accounted by block layer,
and contains:
failed_reads
failed_writes
invalid_io
notify_free
Example:
cat /sys/block/zram0/io_stat
0 0 0 652572
-- zram<id>/mm_stat
accumulates zram mm stats and contains:
orig_data_size
compr_data_size
mem_used_total
mem_limit
mem_used_max
zero_pages
num_migrated
Example:
cat /sys/block/zram0/mm_stat
434634752 270288572 279158784 0 579895296 15060 0
per-stat sysfs nodes are now considered to be deprecated and we plan to
remove them (and clean up some of the existing stat code) in two years (as
of now, there is no warning printed to syslog about deprecated stats being
used). User space is advised to use the above mentioned 3 files.
This patch (of 7):
Remove sysfs `num_migrated' attribute. We are moving away from per-stat
device attrs towards 3 stat files that will accumulate io and mm stats in
a format similar to block layer statistics in /sys/block/<dev>/stat. That
will be easier to use in user space, and reduce the number of syscalls
needed to read zram device statistics.
`num_migrated' will return back in zram<id>/mm_stat file.
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 888fa374e625f3ee8f3cc2efebf52939d3bb6da1
Author: Yinghao Xie <yinghao.xie@xxxxxxxxxxx>
Date: Wed Apr 15 16:15:49 2015 -0700
mm/zsmalloc.c: fix comment for get_pages_per_zspage
Signed-off-by: Yinghao Xie <yinghao.xie@xxxxxxxxxxx>
Suggested-by: Minchan Kim <minchan@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d02be50dba649b4246e0c1c4b7cb5d8a8d49de9a
Author: Minchan Kim <minchan@xxxxxxxxxx>
Date: Wed Apr 15 16:15:46 2015 -0700
zsmalloc: zsmalloc documentation
Create zsmalloc doc which explains design concept and stat information.
Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Juneho Choi <juno.choi@xxxxxxx>
Cc: Gunho Lee <gunho.lee@xxxxxxx>
Cc: Luigi Semenzato <semenzato@xxxxxxxxxx>
Cc: Dan Streetman <ddstreet@xxxxxxxx>
Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Cc: Jerome Marchand <jmarchan@xxxxxxxxxx>
Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 248ca1b053c82fa22427d22b33ac51a24c88a86d
Author: Minchan Kim <minchan@xxxxxxxxxx>
Date: Wed Apr 15 16:15:42 2015 -0700
zsmalloc: add fullness into stat
During investigating compaction, fullness information of each class is
helpful for investigating how the compaction works well. With that, we
could know how compaction works well more clear on each size class.
Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Juneho Choi <juno.choi@xxxxxxx>
Cc: Gunho Lee <gunho.lee@xxxxxxx>
Cc: Luigi Semenzato <semenzato@xxxxxxxxxx>
Cc: Dan Streetman <ddstreet@xxxxxxxx>
Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Cc: Jerome Marchand <jmarchan@xxxxxxxxxx>
Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Mel Gorman <mel@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7b60a68529b0d827d26ea3426c2addd071bff789
Author: Minchan Kim <minchan@xxxxxxxxxx>
Date: Wed Apr 15 16:15:39 2015 -0700
zsmalloc: record handle in page->private for huge object
We store handle on header of each allocated object so it increases the
size of each object by sizeof(unsigned long).
If zram stores 4096 bytes to zsmalloc(ie, bad compression), zsmalloc needs
4104B-class to add handle.
However, 4104B-class has 1-pages_per_zspage so wasted size by internal
fragment is 8192 - 4104, which is terrible.
So this patch records the handle in page->private on such huge object(ie,
pages_per_zspage == 1 && maxobj_per_zspage == 1) instead of header of each
object so we could use 4096B-class, not 4104B-class.
Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Juneho Choi <juno.choi@xxxxxxx>
Cc: Gunho Lee <gunho.lee@xxxxxxx>
Cc: Luigi Semenzato <semenzato@xxxxxxxxxx>
Cc: Dan Streetman <ddstreet@xxxxxxxx>
Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Cc: Jerome Marchand <jmarchan@xxxxxxxxxx>
Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Mel Gorman <mel@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 4e3ba87845420e0bfa21e6c4f7f81897aed38f8c
Author: Minchan Kim <minchan@xxxxxxxxxx>
Date: Wed Apr 15 16:15:36 2015 -0700
zram: support compaction
Now that zsmalloc supports compaction, zram can use it. For the first
step, this patch exports compact knob via sysfs so user can do compaction
via "echo 1 > /sys/block/zram0/compact".
Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Juneho Choi <juno.choi@xxxxxxx>
Cc: Gunho Lee <gunho.lee@xxxxxxx>
Cc: Luigi Semenzato <semenzato@xxxxxxxxxx>
Cc: Dan Streetman <ddstreet@xxxxxxxx>
Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Cc: Jerome Marchand <jmarchan@xxxxxxxxxx>
Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Mel Gorman <mel@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d3d07c92ff69f784bb8c3279fa87678bfa2f7f6f
Author: Minchan Kim <minchan@xxxxxxxxxx>
Date: Wed Apr 15 16:15:33 2015 -0700
zsmalloc: adjust ZS_ALMOST_FULL
Curretly, zsmalloc regards a zspage as ZS_ALMOST_EMPTY if the zspage has
under 1/4 used objects(ie, fullness_threshold_frac). It could make result
in loose packing since zsmalloc migrates only ZS_ALMOST_EMPTY zspage out.
This patch changes the rule so that zsmalloc makes zspage which has above
3/4 used object ZS_ALMOST_FULL so it could make tight packing.
Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Juneho Choi <juno.choi@xxxxxxx>
Cc: Gunho Lee <gunho.lee@xxxxxxx>
Cc: Luigi Semenzato <semenzato@xxxxxxxxxx>
Cc: Dan Streetman <ddstreet@xxxxxxxx>
Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Cc: Jerome Marchand <jmarchan@xxxxxxxxxx>
Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Mel Gorman <mel@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 312fcae227037619dc858c9ccd362c7b847730a2
Author: Minchan Kim <minchan@xxxxxxxxxx>
Date: Wed Apr 15 16:15:30 2015 -0700
zsmalloc: support compaction
This patch provides core functions for migration of zsmalloc. Migraion
policy is simple as follows.
for each size class {
while {
src_page = get zs_page from ZS_ALMOST_EMPTY
if (!src_page)
break;
dst_page = get zs_page from ZS_ALMOST_FULL
if (!dst_page)
dst_page = get zs_page from ZS_ALMOST_EMPTY
if (!dst_page)
break;
migrate(from src_page, to dst_page);
}
}
For migration, we need to identify which objects in zspage are allocated
to migrate them out. We could know it by iterating of freed objects in a
zspage because first_page of zspage keeps free objects singly-linked list
but it's not efficient. Instead, this patch adds a tag(ie,
OBJ_ALLOCATED_TAG) in header of each object(ie, handle) so we could check
whether the object is allocated easily.
This patch adds another status bit in handle to synchronize between user
access through zs_map_object and migration. During migration, we cannot
move objects user are using due to data coherency between old object and
new object.
[akpm@xxxxxxxxxxxxxxxxxxxx: zsmalloc.c needs sched.h for cond_resched()]
Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Juneho Choi <juno.choi@xxxxxxx>
Cc: Gunho Lee <gunho.lee@xxxxxxx>
Cc: Luigi Semenzato <semenzato@xxxxxxxxxx>
Cc: Dan Streetman <ddstreet@xxxxxxxx>
Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Cc: Jerome Marchand <jmarchan@xxxxxxxxxx>
Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Mel Gorman <mel@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit c78062612fb525430b775a0bef4d3cc07e512da0
Author: Minchan Kim <minchan@xxxxxxxxxx>
Date: Wed Apr 15 16:15:26 2015 -0700
zsmalloc: factor out obj_[malloc|free]
In later patch, migration needs some part of functions in zs_malloc and
zs_free so this patch factor out them.
Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Juneho Choi <juno.choi@xxxxxxx>
Cc: Gunho Lee <gunho.lee@xxxxxxx>
Cc: Luigi Semenzato <semenzato@xxxxxxxxxx>
Cc: Dan Streetman <ddstreet@xxxxxxxx>
Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Cc: Jerome Marchand <jmarchan@xxxxxxxxxx>
Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Mel Gorman <mel@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 2e40e163a25af3bd35d128d3e2e005916de5cce6
Author: Minchan Kim <minchan@xxxxxxxxxx>
Date: Wed Apr 15 16:15:23 2015 -0700
zsmalloc: decouple handle and object
Recently, we started to use zram heavily and some of issues
popped.
1) external fragmentation
I got a report from Juneho Choi that fork failed although there are plenty
of free pages in the system. His investigation revealed zram is one of
the culprit to make heavy fragmentation so there was no more contiguous
16K page for pgd to fork in the ARM.
2) non-movable pages
Other problem of zram now is that inherently, user want to use zram as
swap in small memory system so they use zRAM with CMA to use memory
efficiently. However, unfortunately, it doesn't work well because zRAM
cannot use CMA's movable pages unless it doesn't support compaction. I
got several reports about that OOM happened with zram although there are
lots of swap space and free space in CMA area.
3) internal fragmentation
zRAM has started support memory limitation feature to limit memory usage
and I sent a patchset(https://lkml.org/lkml/2014/9/21/148) for VM to be
harmonized with zram-swap to stop anonymous page reclaim if zram consumed
memory up to the limit although there are free space on the swap. One
problem for that direction is zram has no way to know any hole in memory
space zsmalloc allocated by internal fragmentation so zram would regard
swap is full although there are free space in zsmalloc. For solving the
issue, zram want to trigger compaction of zsmalloc before it decides full
or not.
This patchset is first step to support above issues. For that, it adds
indirect layer between handle and object location and supports manual
compaction to solve 3th problem first of all.
After this patchset got merged, next step is to make VM aware of zsmalloc
compaction so that generic compaction will move zsmalloced-pages
automatically in runtime.
In my imaginary experiment(ie, high compress ratio data with heavy swap
in/out on 8G zram-swap), data is as follows,
Before =
zram allocated object : 60212066 bytes
zram total used: 140103680 bytes
ratio: 42.98 percent
MemFree: 840192 kB
Compaction
After =
frag ratio after compaction
zram allocated object : 60212066 bytes
zram total used: 76185600 bytes
ratio: 79.03 percent
MemFree: 901932 kB
Juneho reported below in his real platform with small aging.
So, I think the benefit would be bigger in real aging system
for a long time.
- frag_ratio increased 3% (ie, higher is better)
- memfree increased about 6MB
- In buddy info, Normal 2^3: 4, 2^2: 1: 2^1 increased, Highmem: 2^1 21
increased
frag ratio after swap fragment
used : 156677 kbytes
total: 166092 kbytes
frag_ratio : 94
meminfo before compaction
MemFree: 83724 kB
Node 0, zone Normal 13642 1364 57 10 61 17 9
5 4 0 0
Node 0, zone HighMem 425 29 1 0 0 0 0
0 0 0 0
num_migrated : 23630
compaction done
frag ratio after compaction
used : 156673 kbytes
total: 160564 kbytes
frag_ratio : 97
meminfo after compaction
MemFree: 89060 kB
Node 0, zone Normal 14076 1544 67 14 61 17 9
5 4 0 0
Node 0, zone HighMem 863 50 1 0 0 0 0
0 0 0 0
This patchset adds more logics(about 480 lines) in zsmalloc but when I
tested heavy swapin/out program, the regression for swapin/out speed is
marginal because most of overheads were caused by compress/decompress and
other MM reclaim stuff.
This patch (of 7):
Currently, handle of zsmalloc encodes object's location directly so it
makes support of migration hard.
This patch decouples handle and object via adding indirect layer. For
that, it allocates handle dynamically and returns it to user. The handle
is the address allocated by slab allocation so it's unique and we could
keep object's location in the memory space allocated for handle.
With it, we can change object's position without changing handle itself.
Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Juneho Choi <juno.choi@xxxxxxx>
Cc: Gunho Lee <gunho.lee@xxxxxxx>
Cc: Luigi Semenzato <semenzato@xxxxxxxxxx>
Cc: Dan Streetman <ddstreet@xxxxxxxx>
Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx>
Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
Cc: Jerome Marchand <jmarchan@xxxxxxxxxx>
Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Mel Gorman <mel@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 018e9a49a554d915ba945a5faf34c592d65fe575
Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:15:20 2015 -0700
mm/compaction.c: fix "suitable_migration_target() unused" warning
mm/compaction.c:250:13: warning: 'suitable_migration_target' defined but
not used [-Wunused-function]
Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Cc: Vlastimil Babka <vbabka@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit be64f884bed729b5d127db6a737155a4e514d286
Author: Boaz Harrosh <boaz@xxxxxxxxxxxxx>
Date: Wed Apr 15 16:15:17 2015 -0700
dax: unify ext2/4_{dax,}_file_operations
The original dax patchset split the ext2/4_file_operations because of the
two NULL splice_read/splice_write in the dax case.
In the vfs if splice_read/splice_write are NULL we then call
default_splice_read/write.
What we do here is make generic_file_splice_read aware of IS_DAX() so the
original ext2/4_file_operations can be used as is.
For write it appears that iter_file_splice_write is just fine. It uses
the regular f_op->write(file,..) or new_sync_write(file, ...).
Signed-off-by: Boaz Harrosh <boaz@xxxxxxxxxxxxx>
Reviewed-by: Jan Kara <jack@xxxxxxx>
Cc: Dave Chinner <dchinner@xxxxxxxxxx>
Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>
Cc: Hugh Dickins <hughd@xxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 0e3b210ce1722168227cb3bc7746256d0c0afece
Author: Boaz Harrosh <boaz@xxxxxxxxxxxxx>
Date: Wed Apr 15 16:15:14 2015 -0700
dax: use pfn_mkwrite to update c/mtime + freeze protection
From: Yigal Korman <yigal@xxxxxxxxxxxxx>
[v1]
Without this patch, c/mtime is not updated correctly when mmap'ed page is
first read from and then written to.
A new xfstest is submitted for testing this (generic/080)
[v2]
Jan Kara has pointed out that if we add the
sb_start/end_pagefault pair in the new pfn_mkwrite we
are then fixing another bug where: A user could start
writing to the page while filesystem is frozen.
Signed-off-by: Yigal Korman <yigal@xxxxxxxxxxxxx>
Signed-off-by: Boaz Harrosh <boaz@xxxxxxxxxxxxx>
Reviewed-by: Jan Kara <jack@xxxxxxx>
Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx>
Cc: Dave Chinner <david@xxxxxxxxxxxxx>
Cc: Hugh Dickins <hughd@xxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit dd9061846a3ba01b0fa45423aaa087e4a69187fa
Author: Boaz Harrosh <boaz@xxxxxxxxxxxxx>
Date: Wed Apr 15 16:15:11 2015 -0700
mm: new pfn_mkwrite same as page_mkwrite for VM_PFNMAP
This will allow FS that uses VM_PFNMAP | VM_MIXEDMAP (no page structs) to
get notified when access is a write to a read-only PFN.
This can happen if we mmap() a file then first mmap-read from it to
page-in a read-only PFN, than we mmap-write to the same page.
We need this functionality to fix a DAX bug, where in the scenario above
we fail to set ctime/mtime though we modified the file. An xfstest is
attached to this patchset that shows the failure and the fix. (A DAX
patch will follow)
This functionality is extra important for us, because upon dirtying of a
pmem page we also want to RDMA the page to a remote cluster node.
We define a new pfn_mkwrite and do not reuse page_mkwrite because
1 - The name ;-)
2 - But mainly because it would take a very long and tedious
audit of all page_mkwrite functions of VM_MIXEDMAP/VM_PFNMAP
users. To make sure they do not now CRASH. For example current
DAX code (which this is for) would crash.
If we would want to reuse page_mkwrite, We will need to first
patch all users, so to not-crash-on-no-page. Then enable this
patch. But even if I did that I would not sleep so well at night.
Adding a new vector is the safest thing to do, and is not that
expensive. an extra pointer at a static function vector per driver.
Also the new vector is better for performance, because else we
Will call all current Kernel vectors, so to:
check-ha-no-page-do-nothing and return.
No need to call it from do_shared_fault because do_wp_page is called to
change pte permissions anyway.
Signed-off-by: Yigal Korman <yigal@xxxxxxxxxxxxx>
Signed-off-by: Boaz Harrosh <boaz@xxxxxxxxxxxxx>
Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx>
Cc: Jan Kara <jack@xxxxxxx>
Cc: Hugh Dickins <hughd@xxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Dave Chinner <david@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 2682582a6ea118d974c33da64923ae8c687fdd0b
Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
Date: Wed Apr 15 16:15:08 2015 -0700
mm/memory: also print a_ops->readpage in print_bad_pte()
A lot of filesystems use generic_file_mmap() and filemap_fault(),
f_op->mmap and vm_ops->fault aren't enough to identify filesystem.
This prints file name, vm_ops->fault, f_op->mmap and a_ops->readpage
(which is almost always implemented and filesystem-specific).
Example:
[ 23.676410] BUG: Bad page map in process sh pte:1b7e6025 pmd:19bbd067
[ 23.676887] page:ffffea00006df980 count:4 mapcount:1
mapping:ffff8800196426c0 index:0x97
[ 23.677481] flags: 0x10000000000000c(referenced|uptodate)
[ 23.677896] page dumped because: bad pte
[ 23.678205] addr:00007f52fcb17000 vm_flags:00000075 anon_vma:
(null) mapping:ffff8800196426c0 index:97
[ 23.678922] file:libc-2.19.so fault:filemap_fault
mmap:generic_file_readonly_mmap readpage:v9fs_vfs_readpage
[akpm@xxxxxxxxxxxxxxxxxxxx: use pr_alert, per Kirill]
Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
Cc: Sasha Levin <sasha.levin@xxxxxxxxxx>
Acked-by: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 923936157b158f36bd6a3d86496dce82b1a957de
Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Date: Wed Apr 15 16:15:05 2015 -0700
mm/mempool.c: kasan: poison mempool elements
Mempools keep allocated objects in reserved for situations when ordinary
allocation may not be possible to satisfy. These objects shouldn't be
accessed before they leave the pool.
This patch poison elements when get into the pool and unpoison when they
leave it. This will let KASan to detect use-after-free of mempool's
elements.
Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Tested-by: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Dmitry Chernenkov <drcheren@xxxxxxxxx>
Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx>
Cc: Alexander Potapenko <glider@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit bda6d33042a486c8f7b15bf15a80fd07d4eab204
Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:15:02 2015 -0700
mm/cma_debug.c: remove blank lines before DEFINE_SIMPLE_ATTRIBUTE()
Like EXPORT_SYMBOL(): the positioning communicates that the macro pertains
to the immediately preceding function.
Cc: Dmitry Safonov <d.safonov@xxxxxxxxxxxxxxxxxxx>
Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
Cc: Stefan Strogin <stefan.strogin@xxxxxxxxx>
Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Pintu Kumar <pintu.k@xxxxxxxxxxx>
Cc: Weijie Yang <weijie.yang@xxxxxxxxxxx>
Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
Cc: Vyacheslav Tyrtov <v.tyrtov@xxxxxxxxxxx>
Cc: Aleksei Mateosian <a.mateosian@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 2e32b947606daa642a28bfb9b57e9702cfc9a8b3
Author: Dmitry Safonov <d.safonov@xxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:14:59 2015 -0700
mm: cma: add functions to get region pages counters
Here are two functions that provide interface to compute/get used size and
size of biggest free chunk in cma region. Add that information to
debugfs.
[akpm@xxxxxxxxxxxxxxxxxxxx: move debug code from cma.c into cma_debug.c]
[stefan.strogin@xxxxxxxxx: move code from cma_get_used() and
cma_get_maxchunk() to cma_used_get() and cma_maxchunk_get()]
Signed-off-by: Dmitry Safonov <d.safonov@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Strogin <stefan.strogin@xxxxxxxxx>
Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx>
Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Pintu Kumar <pintu.k@xxxxxxxxxxx>
Cc: Weijie Yang <weijie.yang@xxxxxxxxxxx>
Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
Cc: Vyacheslav Tyrtov <v.tyrtov@xxxxxxxxxxx>
Cc: Aleksei Mateosian <a.mateosian@xxxxxxxxxxx>
Signed-off-by: Stefan Strogin <stefan.strogin@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 79553da293d38d63097278de13e28a3b371f43c1
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:14:56 2015 -0700
thp: cleanup khugepaged startup
Few trivial cleanups:
- no need to call set_recommended_min_free_kbytes() from
late_initcall() -- start_khugepaged() calls it;
- no need to call set_recommended_min_free_kbytes() from
start_khugepaged() if khugepaged is not started;
- there isn't much point in running start_khugepaged() if we've just
set transparent_hugepage_flags to zero;
- start_khugepaged() is misnamed -- it also used to stop the thread;
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit e39155ea11eac6da056b04669d7c9fc612e2065a
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:14:53 2015 -0700
mm: uninline and cleanup page-mapping related helpers
Most-used page->mapping helper -- page_mapping() -- has already uninlined.
Let's uninline also page_rmapping() and page_anon_vma(). It saves us
depending on configuration around 400 bytes in text:
text data bss dec hex filename
660318 99254 410000 1169572 11d8a4 mm/built-in.o-before
659854 99254 410000 1169108 11d6d4 mm/built-in.o
I also tried to make code a bit more clean.
[akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>
Cc: Konstantin Khlebnikov <koct9i@xxxxxxxxx>
Cc: Rik van Riel <riel@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 99e8ea6cd2210cf2271f922384b483cd83f0f8f3
Author: Stefan Strogin <s.strogin@xxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:14:50 2015 -0700
mm: cma: add trace events for CMA allocations and freeings
Add trace events for cma_alloc() and cma_release().
The cma_alloc tracepoint is used both for successful and failed
allocations,
in case of allocation failure pfn=-1UL is stored and printed.
Signed-off-by: Stefan Strogin <stefan.strogin@xxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Michal Nazarewicz <mpn@xxxxxxxxxx>
Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
Cc: Thierry Reding <treding@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit cdd7875e0c4db5c41e28b645d3bf7d41bd2cbb45
Author: Borislav Petkov <bp@xxxxxxx>
Date: Wed Apr 15 16:14:47 2015 -0700
include/linux/mm.h: simplify flag check
Flip the flag test so that it is the simplest. No functional change, just
a small readability improvement:
No code changed:
# arch/x86/kernel/sys_x86_64.o:
text data bss dec hex filename
1551 24 0 1575 627 sys_x86_64.o.before
1551 24 0 1575 627 sys_x86_64.o.after
md5:
70708d1b1ad35cc891118a69dc1a63f9 sys_x86_64.o.before.asm
70708d1b1ad35cc891118a69dc1a63f9 sys_x86_64.o.after.asm
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6a4055bc72a516bae3f607eda3e243d18e66bd49
Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx>
Date: Wed Apr 15 16:14:44 2015 -0700
mm/memblock.c: add debug output for memblock_add()
memblock_reserve() calls memblock_reserve_region() which prints debugging
information if 'memblock=debug' was passed on the command line. This
patch adds the same behaviour, but for memblock_add function().
[akpm@xxxxxxxxxxxxxxxxxxxx: s/memblock_memory/memblock_add/ in message]
Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx>
Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: Philipp Hachtmann <phacht@xxxxxxxxxxxxxxxxxx>
Cc: Fabian Frederick <fabf@xxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx>
Cc: Akinobu Mita <akinobu.mita@xxxxxxxxx>
Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx>
Cc: Tony Luck <tony.luck@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7e1f049efb86bd86c06b80eeac0ef80cdeb8c0e7
Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Date: Wed Apr 15 16:14:41 2015 -0700
mm: hugetlb: cleanup using paeg_huge_active()
Now we have an easy access to hugepages' activeness, so existing helpers
to
get the information can be cleaned up.
[akpm@xxxxxxxxxxxxxxxxxxxx: s/PageHugeActive/page_huge_active/]
Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Cc: Hugh Dickins <hughd@xxxxxxxxxx>
Reviewed-by: Michal Hocko <mhocko@xxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit bcc54222309c70ebcb6c69c156fba4a13dee0a3b
Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Date: Wed Apr 15 16:14:38 2015 -0700
mm: hugetlb: introduce page_huge_active
We are not safe from calling isolate_huge_page() on a hugepage
concurrently, which can make the victim hugepage in invalid state and
results in BUG_ON().
The root problem of this is that we don't have any information on struct
page (so easily accessible) about hugepages' activeness. Note that
hugepages' activeness means just being linked to
hstate->hugepage_activelist, which is not the same as normal pages'
activeness represented by PageActive flag.
Normal pages are isolated by isolate_lru_page() which prechecks PageLRU
before isolation, so let's do similarly for hugetlb with a new
paeg_huge_active().
set/clear_page_huge_active() should be called within hugetlb_lock. But
hugetlb_cow() and hugetlb_no_page() don't do this, being justified because
in these functions set_page_huge_active() is called right after the
hugepage is allocated and no other thread tries to isolate it.
[akpm@xxxxxxxxxxxxxxxxxxxx: s/PageHugeActive/page_huge_active/, make it
return bool]
[fengguang.wu@xxxxxxxxx: set_page_huge_active() can be static]
Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Cc: Hugh Dickins <hughd@xxxxxxxxxx>
Reviewed-by: Michal Hocko <mhocko@xxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 822fc61367f062d36c5b5a4d517e9bd2b65a741f
Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Date: Wed Apr 15 16:14:35 2015 -0700
mm: don't call __page_cache_release for hugetlb
__put_compound_page() calls __page_cache_release() to do some freeing
work, but it's obviously for thps, not for hugetlb. We don't care because
PageLRU is always cleared and page->mem_cgroup is always NULL for hugetlb.
But it's not correct and has potential risks, so let's make it
conditional.
Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Cc: Hugh Dickins <hughd@xxxxxxxxxx>
Reviewed-by: Michal Hocko <mhocko@xxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 9fcd145717e6496d0c376acb1a5cc551a716c305
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:14:32 2015 -0700
mm/mmap.c: use while instead of if+goto
The creators of the C language gave us the while keyword. Let's use
that instead of synthesizing it from if+goto.
Made possible by 6597d783397a ("mm/mmap.c: replace find_vma_prepare()
with clearer find_vma_links()").
[akpm@xxxxxxxxxxxxxxxxxxxx: fix 80-col overflows]
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: Sasha Levin <sasha.levin@xxxxxxxxxx>
Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
Cc: Roman Gushchin <klamm@xxxxxxxxxxxxxx>
Cc: Hugh Dickins <hughd@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 215ba78115f82ad5f8faedac98cc42e572733b8a
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Wed Apr 15 16:14:29 2015 -0700
mm, selftests: test return value of munmap for MAP_HUGETLB memory
When MAP_HUGETLB memory is unmapped, the length must be hugepage aligned,
otherwise it fails with -EINVAL.
All tests currently behave correctly, but it's better to explcitly test
the return value for completeness and document the requirement, especially
if users copy map_hugetlb.c as a sample implementation.
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: Davide Libenzi <davidel@xxxxxxxxxxxxxxx>
Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
Cc: Hugh Dickins <hughd@xxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Cc: Joern Engel <joern@xxxxxxxxx>
Cc: Jianguo Wu <wujianguo@xxxxxxxxxx>
Cc: Eric B Munson <emunson@xxxxxxxxxx>
Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 80d6b94bd69a7a49b52bf503ef6a841f43cf5bbb
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Wed Apr 15 16:14:26 2015 -0700
mm, doc: cleanup and clarify munmap behavior for hugetlb memory
munmap(2) of hugetlb memory requires a length that is hugepage aligned,
otherwise it may fail. Add this to the documentation.
This also cleans up the documentation and separates it into logical units:
one part refers to MAP_HUGETLB and another part refers to requirements for
shared memory segments.
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: Davide Libenzi <davidel@xxxxxxxxxxxxxxx>
Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
Acked-by: Hugh Dickins <hughd@xxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Cc: Joern Engel <joern@xxxxxxxxx>
Cc: Jianguo Wu <wujianguo@xxxxxxxxxx>
Cc: Eric B Munson <emunson@xxxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ae7efa507dee4813ec4bcdadebeec191e247d0c9
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:14:23 2015 -0700
thp: do not adjust zone water marks if khugepaged is not started
set_recommended_min_free_kbytes() adjusts zone water marks to be suitable
for khugepaged. We avoid doing this if khugepaged is disabled, but don't
catch the case when khugepaged is failed to start.
Let's address this by checking khugepaged_thread instead of
khugepaged_enabled() in set_recommended_min_free_kbytes().
It's NULL if the kernel thread is stopped or failed to start.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 65ebb64f4d2ce8eba4d0ec82d6cf65022e70e4a1
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:14:20 2015 -0700
thp: handle errors in hugepage_init() properly
We miss error-handling in few cases hugepage_init(). Let's fix that.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit bdfedb76f4f5aa5e37380e3b71adee4a39f30fc6
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Wed Apr 15 16:14:17 2015 -0700
mm, mempool: poison elements backed by slab allocator
Mempools keep elements in a reserved pool for contexts in which allocation
may not be possible. When an element is allocated from the reserved pool,
its memory contents is the same as when it was added to the reserved pool.
Because of this, elements lack any free poisoning to detect use-after-free
errors.
This patch adds free poisoning for elements backed by the slab allocator.
This is possible because the mempool layer knows the object size of each
element.
When an element is added to the reserved pool, it is poisoned with
POISON_FREE. When it is removed from the reserved pool, the contents are
checked for POISON_FREE. If there is a mismatch, a warning is emitted to
the kernel log.
This is only effective for configs with CONFIG_DEBUG_SLAB or
CONFIG_SLUB_DEBUG_ON.
[fabio.estevam@xxxxxxxxxxxxx: use '%zu' for printing 'size_t' variable]
[arnd@xxxxxxxx: add missing include]
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Dave Kleikamp <shaggy@xxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Cc: Mikulas Patocka <mpatocka@xxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit e244c9e66f6197f55f6fbb2d5e70714e262cc595
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Wed Apr 15 16:14:14 2015 -0700
mm, mempool: disallow mempools based on slab caches with constructors
All occurrences of mempools based on slab caches with object constructors
have been removed from the tree, so disallow creating them.
We can only dereference mem->ctor in mm/mempool.c without including
mm/slab.h in include/linux/mempool.h. So simply note the restriction,
just like the comment restricting usage of __GFP_ZERO, and warn on kernels
with CONFIG_DEBUG_VM() if such a mempool is allocated from.
We don't want to incur this check on every element allocation, so use
VM_BUG_ON().
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Dave Kleikamp <shaggy@xxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Cc: Mikulas Patocka <mpatocka@xxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ee1462458cb543bbcfd379176bbba0d4bd052b7f
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Wed Apr 15 16:14:11 2015 -0700
fs, jfs: remove slab object constructor
Mempools based on slab caches with object constructors are risky because
element allocation can happen either from the slab cache itself, meaning
the constructor is properly called before returning, or from the mempool
reserve pool, meaning the constructor is not called before returning,
depending on the allocation context.
For this reason, we should disallow creating mempools based on slab caches
that have object constructors. Callers of mempool_alloc() will be
responsible for properly initializing the returned element.
Then, it doesn't matter if the element came from the slab cache or the
mempool reserved pool.
The only occurrence of a mempool being based on a slab cache with an
object constructor in the tree is in fs/jfs/jfs_metapage.c. Remove it and
properly initialize the element in alloc_metapage().
At the same time, META_free is never used, so remove it as well.
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Acked-by: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Cc: Mikulas Patocka <mpatocka@xxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 4db0c3c2983cc6b7a08a33542af5e14de8a9258c
Author: Jason Low <jason.low2@xxxxxx>
Date: Wed Apr 15 16:14:08 2015 -0700
mm: remove rest of ACCESS_ONCE() usages
We converted some of the usages of ACCESS_ONCE to READ_ONCE in the mm/
tree since it doesn't work reliably on non-scalar types.
This patch removes the rest of the usages of ACCESS_ONCE, and use the new
READ_ONCE API for the read accesses. This makes things cleaner, instead
of using separate/multiple sets of APIs.
Signed-off-by: Jason Low <jason.low2@xxxxxx>
Acked-by: Michal Hocko <mhocko@xxxxxxx>
Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Acked-by: Rik van Riel <riel@xxxxxxxxxx>
Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 9d8c47e4bb1c20dbceee437f9fa7d76dafee80a2
Author: Jason Low <jason.low2@xxxxxx>
Date: Wed Apr 15 16:14:05 2015 -0700
mm: use READ_ONCE() for non-scalar types
Commit 38c5ce936a08 ("mm/gup: Replace ACCESS_ONCE with READ_ONCE")
converted ACCESS_ONCE usage in gup_pmd_range() to READ_ONCE, since
ACCESS_ONCE doesn't work reliably on non-scalar types.
This patch also fixes the other ACCESS_ONCE usages in gup_pte_range()
and __get_user_pages_fast() in mm/gup.c
Signed-off-by: Jason Low <jason.low2@xxxxxx>
Acked-by: Michal Hocko <mhocko@xxxxxxx>
Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Acked-by: Rik van Riel <riel@xxxxxxxxxx>
Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6cd576130b7152d8f225bab9d21a3f6f96c84b47
Author: Derek <denc716@xxxxxxxxx>
Date: Wed Apr 15 16:14:02 2015 -0700
mm/mremap.c: clean up goto just return ERR_PTR
As suggested by Kirill the "goto"s in vma_to_resize aren't necessary, just
change them to explicit return.
Signed-off-by: Derek Che <crquan@xxxxxxxxx>
Suggested-by: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 12215182c80c06ab3c69969abba6e4a834493cd8
Author: Derek <denc716@xxxxxxxxx>
Date: Wed Apr 15 16:13:58 2015 -0700
mremap should return -ENOMEM when __vm_enough_memory fail
Recently I straced bash behavior in this dd zero pipe to read test, in
part of testing under vm.overcommit_memory=2 (OVERCOMMIT_NEVER mode):
# dd if=/dev/zero | read x
The bash sub shell is calling mremap to reallocate more and more memory
untill it finally failed -ENOMEM (I expect), or to be killed by system OOM
killer (which should not happen under OVERCOMMIT_NEVER mode); But the
mremap system call actually failed of -EFAULT, which is a surprise to me,
I think it's supposed to be -ENOMEM? then I wrote this piece of C code
testing confirmed it: https://gist.github.com/crquan/326bde37e1ddda8effe5
$ ./remap
allocated one page @0x7f686bf71000, (PAGE_SIZE: 4096)
grabbed 7680512000 bytes of memory (1875125 pages) @ 00007f6690993000.
mremap failed Bad address (14).
The -EFAULT comes from the branch of security_vm_enough_memory_mm failure,
underlyingly it calls __vm_enough_memory which returns only 0 for success
or -ENOMEM; So why vma_to_resize needs to return -EFAULT in this case?
this sounds like a mistake to me.
Some more digging into git history:
1) Before commit 119f657c7 ("RLIMIT_AS checking fix") in May 1 2005
(pre 2.6.12 days) it was returning -ENOMEM for this failure;
2) but commit 119f657c7 ("untangling do_mremap(), part 1") changed it
accidentally, to what ever is preserved in local ret, which happened to
be -EFAULT, in a previous assignment;
3) then in commit 54f5de709 code refactoring, it's explicitly returning
-EFAULT, should be wrong.
Signed-off-by: Derek Che <crquan@xxxxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7d61bfe8fddecad76eb37cc477aab369c5c81ed3
Author: Roman Pen <r.peniaev@xxxxxxxxx>
Date: Wed Apr 15 16:13:55 2015 -0700
mm/vmalloc: get rid of dirty bitmap inside vmap_block structure
In original implementation of vm_map_ram made by Nick Piggin there were
two bitmaps: alloc_map and dirty_map. None of them were used as supposed
to be: finding a suitable free hole for next allocation in block.
vm_map_ram allocates space sequentially in block and on free call marks
pages as dirty, so freed space can't be reused anymore.
Actually it would be very interesting to know the real meaning of those
bitmaps, maybe implementation was incomplete, etc.
But long time ago Zhang Yanfei removed alloc_map by these two commits:
mm/vmalloc.c: remove dead code in vb_alloc
3fcd76e8028e0be37b02a2002b4f56755daeda06
mm/vmalloc.c: remove alloc_map from vmap_block
b8e748b6c32999f221ea4786557b8e7e6c4e4e7a
In this patch I replaced dirty_map with two range variables: dirty min and
max. These variables store minimum and maximum position of dirty space in
a block, since we need only to know the dirty range, not exact position of
dirty pages.
Why it was made? Several reasons: at first glance it seems that
vm_map_ram allocator concerns about fragmentation thus it uses bitmaps for
finding free hole, but it is not true. To avoid complexity seems it is
better to use something simple, like min or max range values. Secondly,
code also becomes simpler, without iteration over bitmap, just comparing
values in min and max macros. Thirdly, bitmap occupies up to 1024 bits
(4MB is a max size of a block). Here I replaced the whole bitmap with two
longs.
Finally vm_unmap_aliases should be slightly faster and the whole
vmap_block structure occupies less memory.
Signed-off-by: Roman Pen <r.peniaev@xxxxxxxxx>
Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Cc: WANG Chao <chaowang@xxxxxxxxxx>
Cc: Fabian Frederick <fabf@xxxxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>
Cc: Gioh Kim <gioh.kim@xxxxxxx>
Cc: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit cf725ce274ba026e132c225cb8e5b61973c63403
Author: Roman Pen <r.peniaev@xxxxxxxxx>
Date: Wed Apr 15 16:13:52 2015 -0700
mm/vmalloc: occupy newly allocated vmap block just after allocation
Previous implementation allocates new vmap block and repeats search of a
free block from the very beginning, iterating over the CPU free list.
Why it can be better??
1. Allocation can happen on one CPU, but search can be done on another
CPU.
In worst case we preallocate amount of vmap blocks which is equal to
CPU number on the system.
2. In previous patch I added newly allocated block to the tail of free
list
to avoid soon exhaustion of virtual space and give a chance to occupy
blocks which were allocated long time ago. Thus to find newly
allocated
block all the search sequence should be repeated, seems it is not
efficient.
In this patch newly allocated block is occupied right away, address of
virtual space is returned to the caller, so there is no any need to repeat
the search sequence, allocation job is done.
Signed-off-by: Roman Pen <r.peniaev@xxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Cc: WANG Chao <chaowang@xxxxxxxxxx>
Cc: Fabian Frederick <fabf@xxxxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>
Cc: Gioh Kim <gioh.kim@xxxxxxx>
Cc: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 68ac546f265ba36cd4f29c77b3841fb777315581
Author: Roman Pen <r.peniaev@xxxxxxxxx>
Date: Wed Apr 15 16:13:48 2015 -0700
mm/vmalloc: fix possible exhaustion of vmalloc space caused by vm_map_ram
allocator
Recently I came across high fragmentation of vm_map_ram allocator:
vmap_block has free space, but still new blocks continue to appear.
Further investigation showed that certain mapping/unmapping sequences
can exhaust vmalloc space. On small 32bit systems that's not a big
problem, cause purging will be called soon on a first allocation failure
(alloc_vmap_area), but on 64bit machines, e.g. x86_64 has 45 bits of
vmalloc space, that can be a disaster.
1) I came up with a simple allocation sequence, which exhausts virtual
space very quickly:
while (iters) {
/* Map/unmap big chunk */
vaddr = vm_map_ram(pages, 16, -1, PAGE_KERNEL);
vm_unmap_ram(vaddr, 16);
/* Map/unmap small chunks.
*
* -1 for hole, which should be left at the end of each
block
* to keep it partially used, with some free space
available */
for (i = 0; i < (VMAP_BBMAP_BITS - 16) / 8 - 1; i++) {
vaddr = vm_map_ram(pages, 8, -1, PAGE_KERNEL);
vm_unmap_ram(vaddr, 8);
}
}
The idea behind is simple:
1. We have to map a big chunk, e.g. 16 pages.
2. Then we have to occupy the remaining space with smaller chunks, i.e.
8 pages. At the end small hole should remain to keep block in free
list,
but do not let big chunk to occupy remaining space.
3. Goto 1 - allocation request of 16 pages can't be completed (only 8
slots
are left free in the block in the #2 step), new block will be
allocated,
all further requests will lay into newly allocated block.
To have some measurement numbers for all further tests I setup ftrace and
enabled 4 basic calls in a function profile:
echo vm_map_ram >
/sys/kernel/debug/tracing/set_ftrace_filter;
echo alloc_vmap_area >>
/sys/kernel/debug/tracing/set_ftrace_filter;
echo vm_unmap_ram >>
/sys/kernel/debug/tracing/set_ftrace_filter;
echo free_vmap_block >>
/sys/kernel/debug/tracing/set_ftrace_filter;
So for this scenario I got these results:
BEFORE (all new blocks are put to the head of a free list)
# cat /sys/kernel/debug/tracing/trace_stat/function0
Function Hit Time Avg
s^2
-------- --- ---- ---
---
vm_map_ram 126000 30683.30 us 0.243 us
30819.36 us
vm_unmap_ram 126000 22003.24 us 0.174 us
340.886 us
alloc_vmap_area 1000 4132.065 us 4.132 us
0.903 us
AFTER (all new blocks are put to the tail of a free list)
# cat /sys/kernel/debug/tracing/trace_stat/function0
Function Hit Time Avg
s^2
-------- --- ---- ---
---
vm_map_ram 126000 28713.13 us 0.227 us
24944.70 us
vm_unmap_ram 126000 20403.96 us 0.161 us
1429.872 us
alloc_vmap_area 993 3916.795 us 3.944 us
29.370 us
free_vmap_block 992 654.157 us 0.659 us
1.273 us
SUMMARY:
The most interesting numbers in those tables are numbers of block
allocations and deallocations: alloc_vmap_area and free_vmap_block
calls, which show that before the change blocks were not freed, and
virtual space and physical memory (vmap_block structure allocations,
etc) were consumed.
Average time which were spent in vm_map_ram/vm_unmap_ram became slightly
better. That can be explained with a reasonable amount of blocks in a
free list, which we need to iterate to find a suitable free block.
2) Another scenario is a random allocation:
while (iters) {
/* Randomly take number from a range [1..32/64] */
nr = rand(1, VMAP_MAX_ALLOC);
vaddr = vm_map_ram(pages, nr, -1, PAGE_KERNEL);
vm_unmap_ram(vaddr, nr);
}
I chose mersenne twister PRNG to generate persistent random state to
guarantee that both runs have the same random sequence. For each
vm_map_ram call random number from [1..32/64] was taken to represent
amount of pages which I do map.
I did 10'000 vm_map_ram calls and got these two tables:
BEFORE (all new blocks are put to the head of a free list)
# cat /sys/kernel/debug/tracing/trace_stat/function0
Function Hit Time Avg
s^2
-------- --- ---- ---
---
vm_map_ram 10000 10170.01 us 1.017 us
993.609 us
vm_unmap_ram 10000 5321.823 us 0.532 us
59.789 us
alloc_vmap_area 420 2150.239 us 5.119 us
3.307 us
free_vmap_block 37 159.587 us 4.313 us
134.344 us
AFTER (all new blocks are put to the tail of a free list)
# cat /sys/kernel/debug/tracing/trace_stat/function0
Function Hit Time Avg
s^2
-------- --- ---- ---
---
vm_map_ram 10000 7745.637 us 0.774 us
395.229 us
vm_unmap_ram 10000 5460.573 us 0.546 us
67.187 us
alloc_vmap_area 414 2201.650 us 5.317 us
5.591 us
free_vmap_block 412 574.421 us 1.394 us
15.138 us
SUMMARY:
'BEFORE' table shows, that 420 blocks were allocated and only 37 were
freed. Remained 383 blocks are still in a free list, consuming virtual
space and physical memory.
'AFTER' table shows, that 414 blocks were allocated and 412 were really
freed. 2 blocks remained in a free list.
So fragmentation was dramatically reduced. Why? Because when we put
newly allocated block to the head, all further requests will occupy new
block, regardless remained space in other blocks. In this scenario all
requests come randomly. Eventually remained free space will be less
than requested size, free list will be iterated and it is possible that
nothing will be found there - finally new block will be created. So
exhaustion in random scenario happens for the maximum possible
allocation size: 32 pages for 32-bit system and 64 pages for 64-bit
system.
Also average cost of vm_map_ram was reduced from 1.017 us to 0.774 us.
Again this can be explained by iteration through smaller list of free
blocks.
3) Next simple scenario is a sequential allocation, when the allocation
order is increased for each block. This scenario forces allocator to
reach maximum amount of partially free blocks in a free list:
while (iters) {
/* Populate free list with blocks with remaining space */
for (order = 0; order <= ilog2(VMAP_MAX_ALLOC); order++) {
nr = VMAP_BBMAP_BITS / (1 << order);
/* Leave a hole */
nr -= 1;
for (i = 0; i < nr; i++) {
vaddr = vm_map_ram(pages, (1 << order),
-1, PAGE_KERNEL);
vm_unmap_ram(vaddr, (1 << order));
}
/* Completely occupy blocks from a free list */
for (order = 0; order <= ilog2(VMAP_MAX_ALLOC); order++) {
vaddr = vm_map_ram(pages, (1 << order), -1,
PAGE_KERNEL);
vm_unmap_ram(vaddr, (1 << order));
}
}
Results which I got:
BEFORE (all new blocks are put to the head of a free list)
# cat /sys/kernel/debug/tracing/trace_stat/function0
Function Hit Time Avg
s^2
-------- --- ---- ---
---
vm_map_ram 2032000 399545.2 us 0.196 us
467123.7 us
vm_unmap_ram 2032000 363225.7 us 0.178 us
111405.9 us
alloc_vmap_area 7001 30627.76 us 4.374 us
495.755 us
free_vmap_block 6993 7011.685 us 1.002 us
159.090 us
AFTER (all new blocks are put to the tail of a free list)
# cat /sys/kernel/debug/tracing/trace_stat/function0
Function Hit Time Avg
s^2
-------- --- ---- ---
---
vm_map_ram 2032000 394259.7 us 0.194 us
589395.9 us
vm_unmap_ram 2032000 292500.7 us 0.143 us
94181.08 us
alloc_vmap_area 7000 31103.11 us 4.443 us
703.225 us
free_vmap_block 7000 6750.844 us 0.964 us
119.112 us
SUMMARY:
No surprises here, almost all numbers are the same.
Fixing this fragmentation problem I also did some improvements in a
allocation logic of a new vmap block: occupy block immediately and get
rid of extra search in a free list.
Also I replaced dirty bitmap with min/max dirty range values to make the
logic simpler and slightly faster, since two longs comparison costs
less, than loop thru bitmap.
This patchset raises several questions:
Q: Think the problem you comments is already known so that I wrote
comments
about it as "it could consume lots of address space through
fragmentation".
Could you tell me about your situation and reason why it should be
avoided?
Gioh
Kim
A: Indeed, there was a commit 364376383 which adds explicit comment about
fragmentation. But fragmentation which is described in this comment
caused
by mixing of long-lived and short-lived objects, when a whole block
is pinned
in memory because some page slots are still in use. But here I am
talking
about blocks which are free, nobody uses them, and allocator keeps
them alive
forever, continuously allocating new blocks.
Q: I think that if you put newly allocated block to the tail of a free
list, below example would results in enormous performance degradation.
new block: 1MB (256 pages)
while (iters--) {
vm_map_ram(3 or something else not dividable for 256) * 85
vm_unmap_ram(3) * 85
}
On every iteration, it needs newly allocated block and it is put to
the
tail of a free list so finding it consumes large amount of time.
Joonsoo Kim
A: Second patch in current patchset gets rid of extra search in a free
list,
so new block will be immediately occupied..
Also, the scenario above is impossible, cause vm_map_ram allocates
virtual
range in orders, i.e. 2^n. I.e. passing 3 to vm_map_ram you will
allocate
4 slots in a block and 256 slots (capacity of a block) of course
dividable
on 4, so block will be completely occupied.
But there is a worst case which we can achieve: each free block has a
hole
equal to order size.
The maximum size of allocation is 64 pages for 64-bit system
(if you try to map more, original alloc_vmap_area will be called).
So the maximum order is 6. That means that worst case, before
allocator
makes a decision to allocate a new block, is to iterate 7 blocks:
HEAD
1st block - has 1 page slot free (order 0)
2nd block - has 2 page slots free (order 1)
3rd block - has 4 page slots free (order 2)
4th block - has 8 page slots free (order 3)
5th block - has 16 page slots free (order 4)
6th block - has 32 page slots free (order 5)
7th block - has 64 page slots free (order 6)
TAIL
So the worst scenario on 64-bit system is that each CPU queue can
have 7
blocks in a free list.
This can happen only and only if you allocate blocks increasing the
order.
(as I did in the function written in the comment of the first patch)
This is weird and rare case, but still it is possible. Afterwards
you will
get 7 blocks in a list.
All further requests should be placed in a newly allocated block or
some
free slots should be found in a free list.
Seems it does not look dramatically awful.
This patch (of 3):
If suitable block can't be found, new block is allocated and put into a
head of a free list, so on next iteration this new block will be found
first.
That's bad, because old blocks in a free list will not get a chance to be
fully used, thus fragmentation will grow.
Let's consider this simple example:
#1 We have one block in a free list which is partially used, and where
only
one page is free:
HEAD |xxxxxxxxx-| TAIL
^
free space for 1 page, order 0
#2 New allocation request of order 1 (2 pages) comes, new block is
allocated
since we do not have free space to complete this request. New block
is put
into a head of a free list:
HEAD |----------|xxxxxxxxx-| TAIL
#3 Two pages were occupied in a new found block:
HEAD |xx--------|xxxxxxxxx-| TAIL
^
two pages mapped here
#4 New allocation request of order 0 (1 page) comes. Block, which was
created
on #2 step, is located at the beginning of a free list, so it will be
found
first:
HEAD |xxX-------|xxxxxxxxx-| TAIL
^ ^
page mapped here, but better to use this hole
It is obvious, that it is better to complete request of #4 step using the
old block, where free space is left, because in other case fragmentation
will be highly increased.
But fragmentation is not only the case. The worst thing is that I can
easily create scenario, when the whole vmalloc space is exhausted by
blocks, which are not used, but already dirty and have several free pages.
Let's consider this function which execution should be pinned to one CPU:
static void exhaust_virtual_space(struct page *pages[16], int iters)
{
/* Firstly we have to map a big chunk, e.g. 16 pages.
* Then we have to occupy the remaining space with smaller
* chunks, i.e. 8 pages. At the end small hole should remain.
* So at the end of our allocation sequence block looks like
* this:
* XX big chunk
* |XXxxxxxxx-| x small chunk
* - hole, which is enough for a small chunk,
* but is not enough for a big chunk
*/
while (iters--) {
int i;
void *vaddr;
/* Map/unmap big chunk */
vaddr = vm_map_ram(pages, 16, -1, PAGE_KERNEL);
vm_unmap_ram(vaddr, 16);
/* Map/unmap small chunks.
*
* -1 for hole, which should be left at the end of each
block
* to keep it partially used, with some free space
available */
for (i = 0; i < (VMAP_BBMAP_BITS - 16) / 8 - 1; i++) {
vaddr = vm_map_ram(pages, 8, -1, PAGE_KERNEL);
vm_unmap_ram(vaddr, 8);
}
}
}
On every iteration new block (1MB of vm area in my case) will be
allocated and then will be occupied, without attempt to resolve small
allocation request using previously allocated blocks in a free list.
In case of random allocation (size should be randomly taken from the
range [1..64] in 64-bit case or [1..32] in 32-bit case) situation is the
same: new blocks continue to appear if maximum possible allocation size
(32 or 64) passed to the allocator, because all remaining blocks in a
free list do not have enough free space to complete this allocation
request.
In summary if new blocks are put into the head of a free list eventually
virtual space will be exhausted.
In current patch I simply put newly allocated block to the tail of a
free list, thus reduce fragmentation, giving a chance to resolve
allocation request using older blocks with possible holes left.
Signed-off-by: Roman Pen <r.peniaev@xxxxxxxxx>
Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Cc: WANG Chao <chaowang@xxxxxxxxxx>
Cc: Fabian Frederick <fabf@xxxxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>
Cc: Gioh Kim <gioh.kim@xxxxxxx>
Cc: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 8c9b97033547834404a58ea88da7226ed5167726
Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx>
Date: Wed Apr 15 16:13:45 2015 -0700
hugetlbfs: document min_size mount option and cleanup
Add min_size mount option to the hugetlbfs documentation. Also, add the
missing pagesize option and mention that size can be specified as bytes or
a percentage of huge page pool.
Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx>
Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7ca02d0ae586fe7df59632966a64f3f1a756ef05
Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx>
Date: Wed Apr 15 16:13:42 2015 -0700
hugetlbfs: accept subpool min_size mount option and setup accordingly
Make 'min_size=<value>' be an option when mounting a hugetlbfs. This
option takes the same value as the 'size' option. min_size can be
specified without specifying size. If both are specified, min_size must
be less that or equal to size else the mount will fail. If min_size is
specified, then at mount time an attempt is made to reserve min_size
pages. If the reservation fails, the mount fails. At umount time, the
reserved pages are released.
Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx>
Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 1c5ecae3a93fa1ab51a784d77e9c9ed54e67c65f
Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx>
Date: Wed Apr 15 16:13:39 2015 -0700
hugetlbfs: add minimum size accounting to subpools
The same routines that perform subpool maximum size accounting
hugepage_subpool_get/put_pages() are modified to also perform minimum size
accounting. When a delta value is passed to these routines, calculate how
global reservations must be adjusted to maintain the subpool minimum size.
The routines now return this global reserve count adjustment. This
global reserve count adjustment is then passed to the global accounting
routine hugetlb_acct_memory().
Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx>
Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit c6a918200c4f4ebf74b7e1ae4fea9115c7b297f8
Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx>
Date: Wed Apr 15 16:13:36 2015 -0700
hugetlbfs: add minimum size tracking fields to subpool structure
hugetlbfs allocates huge pages from the global pool as needed. Even if
the global pool contains a sufficient number pages for the filesystem size
at mount time, those global pages could be grabbed for some other use. As
a result, filesystem huge page allocations may fail due to lack of pages.
Applications such as a database want to use huge pages for performance
reasons. hugetlbfs filesystem semantics with ownership and modes work
well to manage access to a pool of huge pages. However, the application
would like some reasonable assurance that allocations will not fail due to
a lack of huge pages. At application startup time, the application would
like to configure itself to use a specific number of huge pages. Before
starting, the application can check to make sure that enough huge pages
exist in the system global pools. However, there are no guarantees that
those pages will be available when needed by the application. What the
application wants is exclusive use of a subset of huge pages.
Add a new hugetlbfs mount option 'min_size=<value>' to indicate that the
specified number of pages will be available for use by the filesystem. At
mount time, this number of huge pages will be reserved for exclusive use
of the filesystem. If there is not a sufficient number of free pages, the
mount will fail. As pages are allocated to and freeed from the
filesystem, the number of reserved pages is adjusted so that the specified
minimum is maintained.
This patch (of 4):
Add a field to the subpool structure to indicate the minimimum number of
huge pages to always be used by this subpool. This minimum count includes
allocated pages as well as reserved pages. If the minimum number of pages
for the subpool have not been allocated, pages are reserved up to this
minimum. An additional field (rsv_hpages) is used to track the number of
pages reserved to meet this minimum size. The hstate pointer in the
subpool is convenient to have when reserving and unreserving the pages.
Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx>
Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 195b0c60809ce841e5818b365808e7da3286fd3c
Author: Gioh Kim <gioh.kim@xxxxxxx>
Date: Wed Apr 15 16:13:33 2015 -0700
mm/compaction: reset compaction scanner positions
When the compaction is activated via /proc/sys/vm/compact_memory it would
better scan the whole zone. And some platforms, for instance ARM, have
the start_pfn of a zone at zero. Therefore the first try to compact via
/proc doesn't work. It needs to reset the compaction scanner position
first.
Signed-off-by: Gioh Kim <gioh.kim@xxxxxxx>
Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Mel Gorman <mel@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 3b3636924dfe1e80f9bef2c0dc1207e16f3b078a
Author: Michal Hocko <mhocko@xxxxxxx>
Date: Wed Apr 15 16:13:29 2015 -0700
mm, memcg: sync allocation and memcg charge gfp flags for THP
memcg currently uses hardcoded GFP_TRANSHUGE gfp flags for all THP
charges. THP allocations, however, might be using different flags
depending on /sys/kernel/mm/transparent_hugepage/{,khugepaged/}defrag and
the current allocation context.
The primary difference is that defrag configured to "madvise" value will
clear __GFP_WAIT flag from the core gfp mask to make the allocation
lighter for all mappings which are not backed by VM_HUGEPAGE vmas. If
memcg charge path ignores this fact we will get light allocation but the a
potential memcg reclaim would kill the whole point of the configuration.
Fix the mismatch by providing the same gfp mask used for the allocation to
the charge functions. This is quite easy for all paths except for
hugepaged kernel thread with !CONFIG_NUMA which is doing a pre-allocation
long before the allocated page is used in collapse_huge_page via
khugepaged_alloc_page. To prevent from cluttering the whole code path
from khugepaged_do_scan we simply return the current flags as per
khugepaged_defrag() value which might have changed since the
preallocation. If somebody changed the value of the knob we would charge
differently but this shouldn't happen often and it is definitely not
critical because it would only lead to a reduced success rate of one-off
THP promotion.
[akpm@xxxxxxxxxxxxxxxxxxxx: fix weird code layout while we're there]
[rientjes@xxxxxxxxxx: clean up around alloc_hugepage_gfpmask()]
Signed-off-by: Michal Hocko <mhocko@xxxxxxx>
Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit cc5993bd7b8cff4a3e37042ee1358d1d5eafa70c
Author: Minchan Kim <minchan@xxxxxxxxxx>
Date: Wed Apr 15 16:13:26 2015 -0700
mm: rename deactivate_page to deactivate_file_page
"deactivate_page" was created for file invalidation so it has too
specific logic for file-backed pages. So, let's change the name of the
function and date to a file-specific one and yield the generic name.
Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Michal Hocko <mhocko@xxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Rik van Riel <riel@xxxxxxxxxx>
Cc: Shaohua Li <shli@xxxxxxxxxx>
Cc: Wang, Yalin <Yalin.Wang@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 922c0551a795dccadeb1dadc756d93fe3e303180
Author: Eric B Munson <emunson@xxxxxxxxxx>
Date: Wed Apr 15 16:13:23 2015 -0700
Documentation/vm/unevictable-lru.txt: document interaction between
compaction and the unevictable LRU
The memory compaction code uses the migration code to do most of the
work in compaction. However, the compaction code interacts with the
unevictable LRU differently than migration code and this difference
should be noted in the documentation.
[akpm@xxxxxxxxxxxxxxxxxxxx: identify /proc/sys/vm/compact_unevictable
directly]
Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx>
Cc: Michal Hocko <mhocko@xxxxxxx>
Cc: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Rik van Riel <riel@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 5bbe3547aa3ba5242366a322a28996872301b703
Author: Eric B Munson <emunson@xxxxxxxxxx>
Date: Wed Apr 15 16:13:20 2015 -0700
mm: allow compaction of unevictable pages
Currently, pages which are marked as unevictable are protected from
compaction, but not from other types of migration. The POSIX real time
extension explicitly states that mlock() will prevent a major page
fault, but the spirit of this is that mlock() should give a process the
ability to control sources of latency, including minor page faults.
However, the mlock manpage only explicitly says that a locked page will
not be written to swap and this can cause some confusion. The
compaction code today does not give a developer who wants to avoid swap
but wants to have large contiguous areas available any method to achieve
this state. This patch introduces a sysctl for controlling compaction
behavior with respect to the unevictable lru. Users who demand no page
faults after a page is present can set compact_unevictable_allowed to 0
and users who need the large contiguous areas can enable compaction on
locked memory by leaving the default value of 1.
To illustrate this problem I wrote a quick test program that mmaps a
large number of 1MB files filled with random data. These maps are
created locked and read only. Then every other mmap is unmapped and I
attempt to allocate huge pages to the static huge page pool. When the
compact_unevictable_allowed sysctl is 0, I cannot allocate hugepages
after fragmenting memory. When the value is set to 1, allocations
succeed.
Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx>
Acked-by: Michal Hocko <mhocko@xxxxxxx>
Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
Acked-by: Christoph Lameter <cl@xxxxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Acked-by: Rik van Riel <riel@xxxxxxxxxx>
Cc: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Michal Hocko <mhocko@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit a4bb3ecdc12a78dc4d0e690d40ec10887b640786
Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Date: Wed Apr 15 16:13:17 2015 -0700
mm/page-writeback: check-before-clear PageReclaim
With the page flag sanitization patchset, an invalid usage of
ClearPageReclaim() is detected in set_page_dirty(). This can be called
from __unmap_hugepage_range(), so let's check PageReclaim() before trying
to clear it to avoid the misuse.
Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit b3b3a99c5371e2e96a2c680e6ac20218bddbd422
Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Date: Wed Apr 15 16:13:15 2015 -0700
mm/migrate: check-before-clear PageSwapCache
With the page flag sanitization patchset, an invalid usage of
ClearPageSwapCache() is detected in migration_page_copy().
migrate_page_copy() is shared by both normal and hugepage (both thp and
hugetlb) code path, so let's check PageSwapCache() and clear it if it's
set to avoid misuse of the invalid clear operation.
Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 8d63d99a5dfbdb997d12dd3c07b2070ca723db3b
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:13:12 2015 -0700
mm: avoid tail page refcounting on non-THP compound pages
THP uses tail page refcounting to be able to split huge pages at any time.
Tail page refcounting is not needed for other users of compound pages and
it's harmful because of overhead.
We try to exclude non-THP pages from tail page refcounting using
__compound_tail_refcounted() check. It excludes most common non-THP
compound pages: SL*B and hugetlb, but it doesn't catch rest of __GFP_COMP
users -- drivers.
And it's not only about overhead.
Drivers might want to use compound pages to get refcounting semantics
suitable for mapping high-order pages to userspace. But tail page
refcounting breaks it.
Tail page refcounting uses ->_mapcount in tail pages to store GUP pins on
them. It means GUP pins would affect page_mapcount() for tail pages.
It's not a problem for THP, because it never maps tail pages. But unlike
THP, drivers map parts of compound pages with PTEs and it makes
page_mapcount() be called for tail pages.
In particular, GUP pins would shift PSS up and affect /proc/kpagecount for
such pages. But, I'm not aware about anything which can lead to crash or
other serious misbehaviour.
Since currently all THP pages are anonymous and all drivers pages are not,
we can fix the __compound_tail_refcounted() check by requiring PageAnon()
to enable tail page refcounting.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Acked-by: Hugh Dickins <hughd@xxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit e8c6158fef15a1532bd5242a0cd88565eedabe61
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Wed Apr 15 16:13:08 2015 -0700
mm: consolidate all page-flags helpers in <linux/page-flags.h>
Currently we take a naive approach to page flags on compound pages - we
set the flag on the page without consideration if the flag makes sense
for tail page or for compound page in general. This patchset try to
sort this out by defining per-flag policy on what need to be done if
page-flag helper operate on compound page.
The last patch in the patchset also sanitizes usege of page->mapping for
tail pages. We don't define the meaning of page->mapping for tail
pages. Currently it's always NULL, which can be inconsistent with head
page and potentially lead to problems.
For now I caught one case of illegal usage of page flags or ->mapping:
sound subsystem allocates pages with __GFP_COMP and maps them with PTEs.
It leads to setting dirty bit on tail pages and access to tail_page's
->mapping. I don't see any bad behaviour caused by this, but worth
fixing anyway.
This patchset makes more sense if you take my THP refcounting into
account: we will see more compound pages mapped with PTEs and we need to
define behaviour of flags on compound pages to avoid bugs.
This patch (of 16):
We have page-flags helper function declarations/definitions spread over
several header files. Let's consolidate them in <linux/page-flags.h>.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Acked-by: Hugh Dickins <hughd@xxxxxxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Rik van Riel <riel@xxxxxxxxxx>
Cc: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>
Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Cc: Steve Capper <steve.capper@xxxxxxxxxx>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Michal Hocko <mhocko@xxxxxxx>
Cc: Jerome Marchand <jmarchan@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 64d37a2baf5e5c0f1009c0ef290a9027de721d66
Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Date: Wed Apr 15 16:13:05 2015 -0700
mm/memory-failure.c: define page types for action_result() in one place
This cleanup patch moves all strings passed to action_result() into a
singl= e array action_page_type so that a reader can easily find which
kind of actio= n results are possible. And this patch also fixes the
odd lines to be printed out, like "unknown page state page" or "free
buddy, 2nd try page".
[akpm@xxxxxxxxxxxxxxxxxxxx: rename messages, per David]
[akpm@xxxxxxxxxxxxxxxxxxxx:
s/DIRTY_UNEVICTABLE_LRU/CLEAN_UNEVICTABLE_LRU', per Andi]
Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Reviewed-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Cc: Tony Luck <tony.luck@xxxxxxxxx>
Cc: "Xie XiuQi" <xiexiuqi@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Chen Gong <gong.chen@xxxxxxxxxxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 2564f683d1a6cb76893199ce68e6484725621e49
Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Date: Wed Apr 15 16:13:03 2015 -0700
memcg: remove obsolete comment
Low and high watermarks, as they defined in the TODO to the mem_cgroup
struct, have already been implemented by Johannes, so remove the stale
comment.
Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Acked-by: Michal Hocko <mhocko@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit adbe427b92d18cf3f801e82e9cd664fbe31cea3c
Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Date: Wed Apr 15 16:13:00 2015 -0700
memcg: zap mem_cgroup_lookup()
mem_cgroup_lookup() is a wrapper around mem_cgroup_from_id(), which
checks that id != 0 before issuing the function call. Today, there is
no point in this additional check apart from optimization, because there
is no css with id <= 0, so that css_from_id, called by
mem_cgroup_from_id, will return NULL for any id <= 0.
Since mem_cgroup_from_id is only called from mem_cgroup_lookup, let us
zap mem_cgroup_lookup, substituting calls to it with mem_cgroup_from_id
and moving the check if id > 0 to css_from_id.
Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Acked-by: Michal Hocko <mhocko@xxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d7e4a2ea51c1b0ac0b2d53f5ab4a2e878b1c4aec
Author: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx>
Date: Wed Apr 15 16:12:57 2015 -0700
mm: refactor zone_movable_is_highmem()
All callers of zone_movable_is_highmem are under #ifdef CONFIG_HIGHMEM,
so the else branch return 0 is not needed.
Signed-off-by: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit bdddbcd45fd191a0213e6d2a032eb55d18bd1fc0
Author: Yaowei Bai <bywxiaobai@xxxxxxx>
Date: Wed Apr 15 16:12:54 2015 -0700
mm/oom_kill.c: fix typo in comment
Alter 'taks' -> 'task'
Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit f2b91d8d385d2cef3a1e3b3846f2dde4a6720c43
Author: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx>
Date: Wed Apr 15 16:12:51 2015 -0700
vfs: delete vfs_readdir function declaration
vfs_readdir() was replaced by iterate_dir() in commit 5c0ba4e0762e
("[readdir] introduce iterate_dir() and dir_context").
Signed-off-by: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx>
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 9df47ba759e40ea2facd0601d4888abb37ed9658
Author: Taehee Yoo <ap420073@xxxxxxxxx>
Date: Mon Apr 13 21:48:06 2015 +0900
f2fs: change 0 to false for bool type
in the f2fs_fill_super function, variable "retry" is bool type
i think that it should be set as false.
Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit e7c82412433a8039616c7314533a0a1c025d99bf
Merge: d0a3997 ccdc450
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 15:48:28 2015 -0700
Merge branch 'for-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds
Pull LED subsystem updates from Bryan Wu:
"In this cycle, we merged some fix and update for LED Flash class
driver. Then the core code of LED Flash class driver is in the kernel
now. Moreover, we also got some bug fixes, code cleanup and new
drivers for LED controllers"
* 'for-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
leds: Don't treat the LED name as a format string
leds: Use log level warn instead of info when telling about a name clash
leds/led-class: Handle LEDs with the same name
leds: lp8860: Fix typo in MODULE_DESCRIPTION in leds-lp8860.c
leds: lp8501: Fix typo in MODULE_DESCRIPTION in leds-lp8501.c
DT: leds: Add uniqueness requirement for 'label' property.
dt-binding: leds: Add common LED DT bindings macros
leds: add Qualcomm PM8941 WLED driver
leds: add DT binding for Qualcomm PM8941 WLED block
leds: pca963x: Add missing initialiation of struct led_info.flags
leds: flash: Fix the size of sysfs_groups array
Documentation: leds: Add description of LED Flash class extension
leds: flash: document sysfs interface
leds: flash: Remove synchronized flash strobe feature
leds: Introduce devres helper for led_classdev_register
leds: lp8860: make use of devm_gpiod_get_optional
leds: Let the binding document example for leds-gpio follow the gpio
bindings
leds: flash: remove stray include directive
leds: leds-pwm: drop one pwm_get_period() call
commit d0a3997c0c3f9351e24029349dee65dd1d9e8d84
Merge: 6d50ff9 d6eb9e3
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 15:41:41 2015 -0700
Merge tag 'sound-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai:
"There have been major modernization with the standard bus: in ALSA
sequencer core and HD-audio. Also, HD-audio receives the regmap
support replacing the in-house cache register cache code. These
changes shouldn't impact the existing behavior, but rather
refactoring.
In addition, HD-audio got the code split to a core library part and
the "legacy" driver parts. This is a preliminary work for adapting
the upcoming ASoC HD-audio driver, and the whole transition is still
work in progress, likely finished in 4.1.
Along with them, there are many updates in ASoC area as usual, too:
lots of cleanups, Intel code shuffling, etc.
Here are some highlights:
ALSA core:
- PCM: the audio timestamp / wallclock enhancement
- PCM: fixes in DPCM management
- Fixes / cleanups of user-space control element management
- Sequencer: modernization using the standard bus
HD-audio:
- Modernization using the standard bus
- Regmap support
- Use standard runtime PM for codec power saving
- Widget-path based power-saving for IDT, VIA and Realtek codecs
- Reorganized sysfs entries for each codec object
- More Dell headset support
ASoC:
- Move of jack registration to the card level
- Lots of ASoC cleanups, mainly moving things from the CODEC level to
the card level
- Support for DAPM routes specified by both the machine driver and DT
- Continuing improvements to rcar
- pcm512x enhacements
- Intel platforms updates
- rt5670 updates / fixes
- New platforms / devices: some non-DSP Qualcomm platforms, Google's
Storm platform, Maxmim MAX98925 CODECs and the Ingenic JZ4780 SoC
Misc:
- ice1724: Improved ESI W192M support
- emu10k1: Emu 1010 fixes/enhancement"
* tag 'sound-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (411 commits)
ALSA: hda - set GET bit when adding a vendor verb to the codec regmap
ALSA: hda/realtek - Enable the ALC292 dock fixup on the Thinkpad T450
ALSA: hda - Fix another race in runtime PM refcounting
ALSA: hda - Expose codec type sysfs
ALSA: ctl: fix to handle several elements added by one operation for
userspace element
ASoC: Intel: fix array_size.cocci warnings
ASoC: n810: Automatically disconnect non-connected pins
ASoC: n810: Consistently pass the card DAPM context to
n810_ext_control()
ASoC: davinci-evm: Use card DAPM context to access widgets
ASoC: mop500_ab8500: Use card DAPM context to access widgets
ASoC: wm1133-ev1: Use card DAPM context to access widgets
ASoC: atmel: Improve machine driver compile test coverage
ASoC: atmel: Add dependency to SND_SOC_I2C_AND_SPI where necessary
ALSA: control: Fix a typo of SNDRV_CTL_ELEM_ACCESS_TLV_* with
SNDRV_CTL_TLV_OP_*
ALSA: usb-audio: Don't attempt to get Microsoft Lifecam Cinema sample
rate
ASoC: rnsd: fix build regression without CONFIG_OF
ALSA: emu10k1: add toggles for E-mu 1010 optical ports
ALSA: ctl: fill identical information to return value when adding
userspace elements
ALSA: ctl: fix a bug to return no identical information in info
operation for userspace controls
ALSA: ctl: confirm to return all identical information in 'activate'
event
...
commit aa219a0dd7774e2454a5687e7d38e947a131cdee
Merge: 4a11248 37ef01a
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Thu Apr 16 08:34:51 2015 +1000
Merge tag 'drm-intel-next-fixes-2015-04-15' of
git://anongit.freedesktop.org/drm-intel into drm-next
Misc i915 fixes.
* tag 'drm-intel-next-fixes-2015-04-15' of
git://anongit.freedesktop.org/drm-intel:
drm/i915: Dont enable CS_PARSER_ERROR interrupts at all
drm/i915: Move drm_framebuffer_unreference out of struct_mutex for
takeover
drm/i915: Allocate connector state together with the connectors
drm/i915/chv: Remove DPIO force latency causing interpair skew issue
drm/i915: Don't cancel DRRS worker synchronously for flush/invalidate
drm/i915: Fix locking in DRRS flush/invalidate hooks
commit 4a11248856933f33ca061ed55470ea7e1783b40b
Merge: 52139bd 2b1193d
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Thu Apr 16 08:34:24 2015 +1000
Merge tag 'topic/drm-misc-2015-04-15' of
git://anongit.freedesktop.org/drm-intel into drm-next
One more drm-misch pull for 4.1 with mostly simple stuff and boring
refactoring. Even the cursor fix from Matt is just to make a really anal
igt happy.
* tag 'topic/drm-misc-2015-04-15' of
git://anongit.freedesktop.org/drm-intel:
drm: fix trivial typo mistake
drm: Make integer overflow checking cover universal cursor updates (v2)
drm: make crtc/encoder/connector/plane helper_private a const pointer
drm/armada: constify struct drm_encoder_helper_funcs pointer
drm/radeon: constify more struct drm_*_helper funcs pointers
drm/edid: add #defines for ELD versions
drm/atomic: Add for_each_{connector,crtc,plane}_in_state helper macros
drm: Use kref_put_mutex in drm_gem_object_unreference_unlocked
drm/drm: constify all struct drm_*_helper funcs pointers
drm/qxl: constify all struct drm_*_helper funcs pointers
drm/nouveau: constify all struct drm_*_helper funcs pointers
drm/radeon: constify all struct drm_*_helper funcs pointers
drm/gma500: constify all struct drm_*_helper funcs pointers
drm/mgag200: constify all struct drm_*_helper funcs pointers
drm/exynos: constify all struct drm_*_helper funcs pointers
drm: Fix some typos
commit 52139bdea1558e854123d7a07e7648f5a8c77a5c
Merge: fc16fc4 1dbee1a
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Thu Apr 16 08:33:30 2015 +1000
Merge branch 'drm-dwhdmi-devel' of
git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next
This set of patches adjust the setup of the HDMI CTS/N values for audio
support to be compliant with the work-around given in the iMX6 errata
documentation as part of the preparation for integrating audio support
for this driver, and also update the HDMI phy configuration for Rockchip
devices to improve the HDMI eye pattern.
* 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
drm: rockchip/dw_hdmi-rockchip: improve for HDMI electrical test
drm: bridge/dw_hdmi: separate VLEVCTRL settting into platform driver
drm: bridge/dw_hdmi: fixed codec style
drm: bridge/dw_hdmi: adjust n/cts setting order
drm: bridge/dw_hdmi: protect n/cts setting with a mutex
drm: bridge/dw_hdmi: combine hdmi_set_clock_regenerator_n() and
hdmi_regenerate_cts()
Conflicts:
drivers/gpu/drm/imx/dw_hdmi-imx.c
commit fc16fc4d69d5f1b67d3d6ac97bd3b4e1cc3f74cc
Merge: 665ae58 49ecb10
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Thu Apr 16 08:00:06 2015 +1000
Merge branch 'drm-next-4.1' of git://people.freedesktop.org/~agd5f/linux
into drm-next
Some final bits for 4.1. Some fixes for userptrs and allow a new
packet for VCE to enable some new features in mesa.
* 'drm-next-4.1' of git://people.freedesktop.org/~agd5f/linux:
drm/radeon: allow creating overlapping userptrs
drm/radeon: add userptr config option
drm/radeon: add video usability info support for VCE
commit 6b9107d6a10b69cc0a675447bde9383dff8a1d4f
Merge: 074975d 2aea6dc
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Wed Apr 15 17:29:00 2015 -0400
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue
Jeff Kirsher says:
====================
Intel Wired LAN Driver Updates 2015-04-14
This series contains updates to i40e and i40evf.
Mitch provides a fix for i40e, where VFs were gone and the associated
VSI's had been removed and the rings were not stopped, which in some
circumstances cased memory corruption or DMAR errors. So stop all the
rings associated with each VF before releasing its resources. Also
cleaned up a poorly indented piece of code. Fixes VF link state, where
VF devices were assuming link is up unless told otherwise, which means
that VFs instantiated on a PF with no link, would report the wrong state.
Anjali adds support to add Flow director Sideband rules for a VF from it's
PF. Fixes a recently discovered hardware issue, where after a VFLR
hardware might be indicating to us a reset completion little too early, so
wait another 10 msec for cache to be cleaned up.
Jesse enables the user to dump the internal hardware state for better
debugging by allowing a bash script to acquire information about the
internal hardware state. The data output to the kernel log is collected
by the script and can then be sent to Intel. Also fixed a possible
failure path to allocate memory that was found by smatch. Cleaned up
unused local variables.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 074975d0374333f656c48487aa046a21a9b9d7a1
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Tue Apr 14 18:45:00 2015 -0700
bnx2x: Fix busy_poll vs netpoll
Commit 9a2620c877454 ("bnx2x: prevent WARN during driver unload")
switched the napi/busy_lock locking mechanism from spin_lock() into
spin_lock_bh(), breaking inter-operability with netconsole, as netpoll
disables interrupts prior to calling our napi mechanism.
This switches the driver into using atomic assignments instead of the
spinlock mechanisms previously employed.
Based on initial patch from Yuval Mintz & Ariel Elior
I basically added softirq starvation avoidance, and mixture
of atomic operations, plain writes and barriers.
Note this slightly reduces the overhead for this driver when no
busy_poll sockets are in use.
Fixes: 9a2620c877454 ("bnx2x: prevent WARN during driver unload")
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 6d50ff91d9780263160262daeb6adfdda8ddbc6c
Merge: eccd02f 0429c2b
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 14:22:45 2015 -0700
Merge tag 'locks-v4.1-1' of git://git.samba.org/jlayton/linux
Pull file locking related changes from Jeff Layton:
"This set is mostly minor cleanups to the overhaul that went in last
cycle. The other noticeable items are the changes to the lm_get_owner
and lm_put_owner prototypes, and the fact that we no longer need to
use the i_lock to protect the i_flctx pointer"
* tag 'locks-v4.1-1' of git://git.samba.org/jlayton/linux:
locks: use cmpxchg to assign i_flctx pointer
locks: get rid of WE_CAN_BREAK_LSLK_NOW dead code
locks: change lm_get_owner and lm_put_owner prototypes
locks: don't allocate a lock context for an F_UNLCK request
locks: Add lockdep assertion for blocked_lock_lock
locks: remove extraneous IS_POSIX and IS_FLOCK tests
locks: Remove unnecessary IS_POSIX test
commit 48b63776c8255d5b0a84c5caafab5560d9cb7f3b
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Tue Apr 14 21:42:42 2015 +0200
net: hip04: Make tx coalesce timer actually work
The code sets the expiry value of the timer to a relative value and
starts it with hrtimer_start_expires. That's fine, but that only works
once. The timer is started in relative mode, so the expiry value gets
overwritten with the absolut expiry time (now + expiry).
So once the timer expired, a new call to hrtimer_start_expires results
in an immidiately expired timer, because the expiry value is
already in the past.
Use the proper mechanisms to (re)start the timer in the intended way.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: dingtianhong <dingtianhong@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx>
Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Cc: netdev@xxxxxxxxxxxxxxx
Acked-by: Ding Tianhong <dingtianhong@xxxxxxxxxx>
Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit eccd02f32a2c25139da2d5e72ebab1fee7b5baab
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 14:09:46 2015 -0700
crypto: fix mis-merge with the networking merge
The networking updates from David Miller removed the iocb argument from
sendmsg and recvmsg (in commit 1b784140474e: "net: Remove iocb argument
from sendmsg and recvmsg"), but the crypto code had added new instances
of them.
When I pulled the crypto update, it was a silent semantic mis-merge, and
I overlooked the new warning messages in my test-build. I try to fix
those in the merge itself, but that relies on me noticing. Oh well.
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 5fa0fa4b01cd9c52c4be0ff69ce0d922cd724812
Author: Brian Bian <brian.bian@xxxxxxxxx>
Date: Tue Apr 14 10:53:35 2015 -0700
powercap / RAPL: Add support for Intel Skylake processors
Signed-off-by: Brian Bian <brian.bian@xxxxxxxxx>
Acked-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 64df1fdfccc054a4e5480c6bc965b67d3c83c3ae
Author: Borislav Petkov <bp@xxxxxxx>
Date: Fri Apr 3 15:19:53 2015 +0200
cpufreq: intel_pstate: Fix an annoying !CONFIG_SMP warning
I keep seeing
drivers/cpufreq/intel_pstate.c: In function â??intel_pstate_initâ??:
drivers/cpufreq/intel_pstate.c:1187:26: warning: initialization from
incompatible pointer type
struct cpuinfo_x86 *c = &boot_cpu_data;
when doing randconfig builds.
This is caused by the fact that when !CONFIG_SMP, asm/processor.h
defines cpu_info to boot_cpu_data and the local variable
struct cpu_defaults *cpu_info
overshadows it leading to this unfortunate assignment in the
preprocessed source:
struct cpu_defaults *boot_cpu_data;
struct cpuinfo_x86 *c = &boot_cpu_data;
Rename the local variable and use static_cpu_has_safe() which alleviates
the need for defining a local cpuinfo_x86 pointer.
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit fa2e5c073a355465a2a8c9a2fbecf404f9857c3a
Merge: e44740c 97b2f0d
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 13:53:55 2015 -0700
Merge branch 'exec_domain_rip_v2' of
git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc
Pull exec domain removal from Richard Weinberger:
"This series removes execution domain support from Linux.
The idea behind exec domains was to support different ABIs. The
feature was never complete nor stable. Let's rip it out and make the
kernel signal handling code less complicated"
* 'exec_domain_rip_v2' of
git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc: (27 commits)
arm64: Removed unused variable
sparc: Fix execution domain removal
Remove rest of exec domains.
arch: Remove exec_domain from remaining archs
arc: Remove signal translation and exec_domain
xtensa: Remove signal translation and exec_domain
xtensa: Autogenerate offsets in struct thread_info
x86: Remove signal translation and exec_domain
unicore32: Remove signal translation and exec_domain
um: Remove signal translation and exec_domain
tile: Remove signal translation and exec_domain
sparc: Remove signal translation and exec_domain
sh: Remove signal translation and exec_domain
s390: Remove signal translation and exec_domain
mn10300: Remove signal translation and exec_domain
microblaze: Remove signal translation and exec_domain
m68k: Remove signal translation and exec_domain
m32r: Remove signal translation and exec_domain
m32r: Autogenerate offsets in struct thread_info
frv: Remove signal translation and exec_domain
...
commit e44740c1a94b5d39b093045920f543a7bc135584
Merge: d613896 fe205bd
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 13:49:27 2015 -0700
Merge tag 'for-linus-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml
Pull UML updates from Richard Weinberger:
- hostfs saw a face lifting
- old/broken stuff was removed (SMP, HIGHMEM, SKAS3/4)
- random cleanups and bug fixes
* tag 'for-linus-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml: (26 commits)
um: Print minimum physical memory requirement
um: Move uml_postsetup in the init_thread stack
um: add a kmsg_dumper
x86, UML: fix integer overflow in ELF_ET_DYN_BASE
um: hostfs: Reduce number of syscalls in readdir
um: Remove broken highmem support
um: Remove broken SMP support
um: Remove SKAS3/4 support
um: Remove ppc cruft
um: Remove ia64 cruft
um: Remove dead code from stacktrace
hostfs: No need to box and later unbox the file mode
hostfs: Use page_offset()
hostfs: Set page flags in hostfs_readpage() correctly
hostfs: Remove superfluous initializations in hostfs_open()
hostfs: hostfs_open: Reset open flags upon each retry
hostfs: Remove superfluous test in hostfs_open()
hostfs: Report append flag in ->show_options()
hostfs: Use __getname() in follow_link
hostfs: Remove open coded strcpy()
...
commit d613896926be608796bb80454256a07b55fe0e87
Merge: fa92789 5026906
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 13:43:40 2015 -0700
Merge tag 'upstream-4.1-rc1' of git://git.infradead.org/linux-ubifs
Pull UBI/UBIFS updates from Richard Weinberger:
"This pull request includes the following UBI/UBIFS changes:
- powercut emulation for UBI
- a huge update to UBI Fastmap
- cleanups and bugfixes all over UBI and UBIFS"
* tag 'upstream-4.1-rc1' of git://git.infradead.org/linux-ubifs: (50
commits)
UBI: power cut emulation for testing
UBIFS: fix output format of INUM_WATERMARK
UBI: Fastmap: Fall back to scanning mode after ECC error
UBI: Fastmap: Remove is_fm_block()
UBI: Fastmap: Add blank line after declarations
UBI: Fastmap: Remove else after return.
UBI: Fastmap: Introduce may_reserve_for_fm()
UBI: Fastmap: Introduce ubi_fastmap_init()
UBI: Fastmap: Wire up WL accessor functions
UBI: Add accessor functions for WL data structures
UBI: Move fastmap specific functions out of wl.c
UBI: Fastmap: Add new module parameter fm_debug
UBI: Fastmap: Make self_check_eba() depend on fastmap self checking
UBI: Fastmap: Add self check to detect absent PEBs
UBI: Fix stale pointers in ubi->lookuptbl
UBI: Fastmap: Enhance fastmap checking
UBI: Add initial support for fastmap self checks
UBI: Fastmap: Rework fastmap error paths
UBI: Fastmap: Prepare for variable sized fastmaps
UBI: Fastmap: Locking updates
...
commit 6a82ba6d4fda21e5f9fda0f4126add3b88522f02
Author: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx>
Date: Fri Apr 10 11:06:43 2015 -0700
intel_pstate: Change the setpoint for Atom params
Change the setpoint for the Baytrail and Cherrytrail CPUs. This
will cause more aggressive pstate selection and improves
performance on a variety of workloads with little power penalty.
Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit c1c2fef6cfb04cf30a56bb37cff40d3498d7edbf
Merge: 66578b0 ca9b590 ba943fb 59d2d18 56c1d23 9f5d32a
Author: Doug Ledford <dledford@xxxxxxxxxx>
Date: Wed Apr 15 16:24:49 2015 -0400
Merge branches 'cve-fixup', 'ipoib', 'iser', 'misc-4.1', 'or-mlx4' and
'srp' into for-4.1
commit 50c6a665b383cb5839e45d04e36faeeefaffa052
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Fri Apr 10 19:37:34 2015 -0500
powerpc/hugetlb: Call mm_dec_nr_pmds() in hugetlb_free_pmd_range()
Commit dc6c9a35b66b5 ("mm: account pmd page tables to the process")
added a counter that is incremented whenever a PMD is allocated and
decremented whenever a PMD is freed. For hugepages on PPC, common code
is used to allocated PMDs, but arch-specific code is used to free PMDs.
This results in kernel output such as "BUG: non-zero nr_pmds on freeing
mm: 1" when using hugepages.
Update the PPC hugepage PMD freeing code to decrement the count, just
as the above commit did for free_pmd_range().
Fixes: dc6c9a35b66b5 ("mm: account pmd page tables to the process")
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx # 4.0.x
commit fa927894bbb4a4c7669c72bad1924991022fda38
Merge: c841e12 8436318
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 13:22:56 2015 -0700
Merge branch 'for-linus-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull second vfs update from Al Viro:
"Now that net-next went in... Here's the next big chunk - killing
->aio_read() and ->aio_write().
There'll be one more pile today (direct_IO changes and
generic_write_checks() cleanups/fixes), but I'd prefer to keep that
one separate"
* 'for-linus-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (37 commits)
->aio_read and ->aio_write removed
pcm: another weird API abuse
infinibad: weird APIs switched to ->write_iter()
kill do_sync_read/do_sync_write
fuse: use iov_iter_get_pages() for non-splice path
fuse: switch to ->read_iter/->write_iter
switch drivers/char/mem.c to ->read_iter/->write_iter
make new_sync_{read,write}() static
coredump: accept any write method
switch /dev/loop to vfs_iter_write()
serial2002: switch to __vfs_read/__vfs_write
ashmem: use __vfs_read()
export __vfs_read()
autofs: switch to __vfs_write()
new helper: __vfs_write()
switch hugetlbfs to ->read_iter()
coda: switch to ->read_iter/->write_iter
ncpfs: switch to ->read_iter/->write_iter
net/9p: remove (now-)unused helpers
p9_client_attach(): set fid->uid correctly
...
commit 59d2d18cc4e9ba30b370db18d0e02d792699da96
Author: Honggang LI <honli@xxxxxxxxxx>
Date: Wed Apr 15 16:36:15 2015 +0800
mlx5: wrong page mask if CONFIG_ARCH_DMA_ADDR_T_64BIT enabled for 32Bit
architectures
If CONFIG_ARCH_DMA_ADDR_T_64BIT enabled for x86 systems and physical
memory is more than 4GB, dma_map_page may return a valid memory
address which greater than 0xffffffff. As a result, the mlx5 device page
allocator RB tree will be initialized with valid addresses greater than
0xfffffff.
However, (addr & PAGE_MASK) set the high four bytes to zeros. So, it's
impossible for the function, free_4k, to release the pages whose
addresses greater than 4GB. Memory leaks. And mlx5_ib module can't
release the pages when user try to remove the module, as a result,
system hang.
[root@rdma05 root]# dmesg | grep addr | head
addr = 3fe384000
addr & PAGE_MASK = fe384000
[root@rdma05 root]# rmmod mlx5_ib <---- hang on
---------------------- cosnole log -----------------
mlx5_ib 0000:04:00.0: irq 138 for MSI/MSI-X
alloc irq_desc for 139 on node -1
alloc kstat_irqs on node -1
mlx5_ib 0000:04:00.0: irq 139 for MSI/MSI-X
0000:04:00.0:free_4k:221:(pid 1519): page not found
0000:04:00.0:free_4k:221:(pid 1519): page not found
0000:04:00.0:free_4k:221:(pid 1519): page not found
0000:04:00.0:free_4k:221:(pid 1519): page not found
---------------------- cosnole log -----------------
Fixes: bf0bf77f6519 ('mlx5: Support communicating arbitrary host page
size to firmware')
Signed-off-by: Honggang Li <honli@xxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit ba943fb237ea48b01e3229f10cdb2a4274978a2d
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:28 2015 +0300
IB/iser: Rewrite bounce buffer code path
In some rare cases, IO operations may be not aligned to page
boundaries. This prevents iser from performing fast memory
registration. In order to overcome that iser uses a bounce
buffer to carry the transaction. We basically allocate a buffer
in the size of the transaction and perform a copy.
The buffer allocation using kmalloc is too restrictive since it
requires higher order (atomic) allocations for large transactions
(which may result in memory exhaustion fairly fast for some workloads).
We rewrite the bounce buffer code path to allocate scattered pages
and perform a copy between the transaction sg and the bounce sg.
Reported-by: Alex Lyakas <alex@xxxxxxxxxxxxxxxxx>
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 4fcd1470a05253236576a2d166ddd6d5b5c936fc
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:27 2015 +0300
IB/iser: Bump version to 1.6
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit ad1e5672429eadd5a7f9613bf2e59546a2eeef13
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:26 2015 +0300
IB/iser: Remove code duplication for a single DMA entry
In singleton scatterlists, DMA memory registration code
is taken both for Fastreg and FMR code paths. Move it to
a function.
This patch does not change any functionality.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 6ef8bb837dd7e60f078084d4842a43fd163fb4a2
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:25 2015 +0300
IB/iser: Pass struct iser_mem_reg to iser_fast_reg_mr and iser_reg_sig_mr
Instead of passing ib_sge as output variable, we pass the mem_reg
pointer to have the routines fill the rkey as well. This reduces
code duplication and extra assignments. This is a preparation step
to unify some registration logics together. Also, pass iser_fast_reg_mr
the fastreg descriptor directly.
This patch does not change any functionality.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 90a6684c30918786446fd062c7422a4098926891
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:24 2015 +0300
IB/iser: Modify struct iser_mem_reg members
No need to keep lkey, va, len variables, we can keep
them as struct ib_sge. This will help when we change the
memory registration logic.
This patch does not change any functionality.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 8b95aa2c1bf8c936e5b0e9096b180a3e4f5327ff
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:23 2015 +0300
IB/iser: Make fastreg pool cache friendly
Memory regions are resources that are saved
in the device caches. Increase the probability for
a cache hit by adding the MRU descriptor to pool
head.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 4dec2a27e385ac753d754af69f344625f5c50576
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:22 2015 +0300
IB/iser: Move PI context alloc/free to routines
Make iser_[create|destroy]_fastreg_desc shorter, more
readable and easily extendable.
This patch does not change any functionality.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit bd8b944eeeb06f5dac705d2357af3800395174eb
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:21 2015 +0300
IB/iser: Move fastreg descriptor pool get/put to helper functions
Instead of open-coding connection fastreg pool get/put,
we introduce iser_reg_desc[get|put] helpers.
We aren't setting these static as this will be a per-device
routine later on. Also, cleanup iser_unreg_rdma_mem_fastreg
a bit.
This patch does not change any functionality.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit f0e35c27a5962cbd17fc58737c7f5f7b398bccb1
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:20 2015 +0300
IB/iser: Merge build page-vec into register page-vec
No need for these two separate. Keep it in a single routine
like in the fastreg case. This will also make iser_reg_page_vec
closer to iser_fast_reg_mr arguments. This is a preparation
step for registration flow refactor.
This patch does not change any functionality.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit b130ededff03fcee9411be379fd24b5e840c5e9e
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:19 2015 +0300
IB/iser: Get rid of struct iser_rdma_regd
This struct members other than struct iser_mem_reg are unused,
so remove it altogether.
This patch does not change any functionality.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 6847fdeb0bcd2eade5b8183d3d2857c4fd7b70d5
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:18 2015 +0300
IB/iser: Remove redundant assignments in iser_reg_page_vec
Buffer length was assigned twice, and no reason to set va to
io_addr and then add the offset, just set va to io_addr + offset.
This patch does not change any functionality.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit d03e61d0366c61f596ada66ab11c217e7f887d15
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:17 2015 +0300
IB/iser: Move memory reg/dereg routines to iser_memory.c
As memory registration/de-registration methods, lets
move them to their natural location. While we're at it,
make iser_reg_page_vec routine static.
This patch does not change any functionality.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 56408325900d380f6544460c5892bfeb0616cab3
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:16 2015 +0300
IB/iser: Don't pass ib_device to fall_to_bounce_buff routine
No need to pass that, we can take it from the task.
In a later stage, this function will be invoked
according to a device capability.
This patch does not change any functionality.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit e3784bd1d9f1039f28dff2c0c0d17daabb3d6761
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:15 2015 +0300
IB/iser: Remove a redundant struct iser_data_buf
No need to keep two iser_data_buf structures just in case we use
mem copy. We can avoid that just by adding a pointer to the original
sg. So keep only two iser_data_buf per command (data and protection)
and pass the relevant data_buf to bounce buffer routine.
This patch does not change any functionality.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit ecc3993a2ad2a4ce8f1a58a08e9177f21015492d
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:14 2015 +0300
IB/iser: Remove redundant cmd_data_len calculation
This code was added before we had protection data length
calculation (in iser_send_command), so we needed to calc
the sg data length from the sg itself. This is not needed
anymore.
This patch does not change any functionality.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit a065fe6aa25ba6ba93c02dc13486131bb3c64d5f
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:13 2015 +0300
IB/iser: Fix wrong calculation of protection buffer length
This length miss-calculation may cause a silent data corruption
in the DIX case and cause the device to reference unmapped area.
Fixes: d77e65350f2d ('libiscsi, iser: Adjust data_length to include
protection information')
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 30bf1d58ae8e87fef20248c7166777deab0d7f9c
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:12 2015 +0300
IB/iser: Handle fastreg/local_inv completion errors
Fast registration and local invalidate work requests can
also fail. We should call error completion handler for them.
Reported-by: Roi Dayan <roid@xxxxxxxxxxxx>
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit c4de4663e0fa858e3a84f9b32b2e1dd2de23fab2
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Tue Apr 14 18:08:11 2015 +0300
IB/iser: Fix unload during ep_poll wrong dereference
In case the user unloaded ib_iser while ep_connect is in
progress, we need to destroy the endpoint although ep_disconnect
wasn't invoked (we detect this by the iser conn state != DOWN).
However, if we got an REJECTED/UNREACHABLE CM event we move the
connection state to DOWN which will prevent us from destroying
the endpoint in the module unload stage. Fix this by setting the
connection state to TERMINATING in iser_conn_error so we can still
destroy the endpoint at unload stage.
Reported-by: Ariel Nahum <arieln@xxxxxxxxxxxx>
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 9f5d32af09b9a36ca1476c9932aac675051670c8
Author: Doug Ledford <dledford@xxxxxxxxxx>
Date: Mon Oct 20 18:25:15 2014 -0400
ib_srpt: convert printk's to pr_* functions
The driver already defined the pr_format, it just hadn't
been converted to use pr_info, pr_warn, and pr_err instead
of the equivalent printks. Convert so that messages from
the driver are now properly tagged with their driver name
and can be more easily debugged.
In addition, a number of these printk's were not newline
terminated, so fix that at the same time.
Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 56b5390caf73694b2f50a042542f0b43c29d5ca8
Author: Bart Van Assche <bvanassche@xxxxxxx>
Date: Wed Jul 9 15:58:22 2014 +0200
IB/srp: Use P_Key cache for P_Key lookups
This change slightly reduces the time needed to log in.
Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Reviewed-by: David Dillow <dave@xxxxxxxxxxxxxx>
Cc: Sebastian Parschauer <sebastian.riemer@xxxxxxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit cc47d369b51286129aad1735096b1884b8068ad1
Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 16 18:49:59 2015 +0100
infiniband/mlx4: check for mapping error
Since ib_dma_map_single can fail use ib_dma_mapping_error to check
for errors.
Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Acked-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit d2928a8c0db061939ea34ff3f53f36dcccdf5aa2
Author: Selvin Xavier <selvin.xavier@xxxxxxxxxx>
Date: Sun Mar 15 00:09:41 2015 +0530
MAINTAINERS: Adding list of maintainers for ocrdma
Updating the MAINTAINERS file with ocrdma maintainers and their email ids
Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit b962dc0a480559c4c85911686bbb32a515b3d5c8
Author: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 8 16:36:14 2015 -0700
rdma: replace deprecated ifconfig in doc
The ifconfig command has been deprecated for many years.
To encourage new users not to continue using it and learning
iproute2; the ifconfig should not be used in examples.
Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit a233c4b54c882817ae9dd73384d5dd75d3e57498
Author: Sébastien Dugué <sebastien.dugue@xxxxxxxx>
Date: Thu Apr 9 11:13:41 2015 +0200
ib_uverbs: Fix pages leak when using XRC SRQs
Hello,
When an application using XRCs abruptly terminates, the mmaped pages
of the CQ buffers are leaked.
This comes from the fact that when resources are released in
ib_uverbs_cleanup_ucontext(), we fail to release the CQs because their
refcount is not 0.
When creating an XRC SRQ, we increment the associated CQ refcount.
This refcount is only decremented when the SRQ is released.
Therefore we need to release the SRQs prior to the CQs to make sure
that all references to the CQs are gone before trying to release these.
Signed-off-by: Sebastien Dugue <sebastien.dugue@xxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit ca9b590caa17bcbbea119594992666e96cde9c2f
Author: Erez Shitrit <erezsh@xxxxxxxxxxxx>
Date: Thu Apr 2 13:39:05 2015 +0300
IB/mlx4: Fix WQE LSO segment calculation
The current code decreases from the mss size (which is the gso_size
from the kernel skb) the size of the packet headers.
It shouldn't do that because the mss that comes from the stack
(e.g IPoIB) includes only the tcp payload without the headers.
The result is indication to the HW that each packet that the HW sends
is smaller than what it could be, and too many packets will be sent
for big messages.
An easy way to demonstrate one more aspect of the problem is by
configuring the ipoib mtu to be less than 2*hlen (2*56) and then
run app sending big TCP messages. This will tell the HW to send packets
with giant (negative value which under unsigned arithmetics becomes
a huge positive one) length and the QP moves to SQE state.
Fixes: b832be1e4007 ('IB/mlx4: Add IPoIB LSO support')
Reported-by: Matthew Finlay <matt@xxxxxxxxxxxx>
Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 0e5544d9bff432bfcac49ecf237738cc7cf3d032
Author: Erez Shitrit <erezsh@xxxxxxxxxxxx>
Date: Thu Apr 2 13:39:04 2015 +0300
IB/ipoib: Remove IPOIB_MCAST_RUN bit
After Doug Ledford's changes there is no need in that bit, it's
semantic becomes subset of the IPOIB_FLAG_OPER_UP bit.
Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 1e85b806f9b988ce2e465fb0f86c8cca228d83a9
Author: Erez Shitrit <erezsh@xxxxxxxxxxxx>
Date: Thu Apr 2 13:39:03 2015 +0300
IB/ipoib: Save only IPOIB_MAX_PATH_REC_QUEUE skb's
Whenever there is no path->ah to the destination, keep only defined
number of skb's. Otherwise there are cases that the driver can keep
infinite list of skb's.
For example, when one device want to send unicast arp to the destination,
and from some reason the SM doesn't respond, the driver currently keeps
all the skb's. If that unicast arp traffic stopped, all these skb's
are kept by the path object till the interface is down.
Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 2c0107309550b332f83f8be366521557f4b3fd5a
Author: Erez Shitrit <erezsh@xxxxxxxxxxxx>
Date: Thu Apr 2 13:39:02 2015 +0300
IB/ipoib: Handle QP in SQE state
As the result of a completion error the QP can moved to SQE state by
the hardware. Since it's not the Error state, there are no flushes
and hence the driver doesn't know about that.
The fix creates a task that after completion with error which is not a
flush tracks the QP state and if it is in SQE state moves it back to RTS.
Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 3fd0605caa74c3dc7fe69ed11ada452fe7169575
Author: Erez Shitrit <erezsh@xxxxxxxxxxxx>
Date: Thu Apr 2 13:39:01 2015 +0300
IB/ipoib: Update broadcast record values after each successful join
request
Update the cached broadcast record in the priv object after every new
join of this broadcast domain group.
These values are needed for the port configuration (MTU size) and to
all the new multicast (non-broadcast) join requests initial parameters.
For example, SM starts with 2K MTU for all the fabric, and after that it
restarts (or handover to new SM) with new port configuration of 4K MTU.
Without using the new values, the driver will keep its old configuration
of 2K and will not apply the new configuration of 4K.
Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit a44878d100630a34a44f54960115b81e449858db
Author: Erez Shitrit <erezsh@xxxxxxxxxxxx>
Date: Thu Apr 2 13:39:00 2015 +0300
IB/ipoib: Use one linear skb in RX flow
The current code in the RX flow uses two sg entries for each incoming
packet, the first one was for the IB headers and the second for the rest
of the data, that causes two dma map/unmap and two allocations, and few
more actions that were done at the data path.
Use only one linear skb on each incoming packet, for the data (IB
headers and payload), that reduces the packet processing in the
data-path (only one skb, no frags, the first frag was not used anyway,
less memory allocations) and the dma handling (only one dma map/unmap
over each incoming packet instead of two map/unmap per each incoming
packet).
After commit 73d3fe6d1c6d ("gro: fix aggregation for skb using
frag_list") from
Eric Dumazet, we will get full aggregation for large packets.
When running bandwidth tests before and after the (over the card's numa
node),
using "netperf -H 1.1.1.3 -T -t TCP_STREAM", the results before are
~12Gbs before
and after ~16Gbs on my setup (Mellanox's ConnectX3).
Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 1c0453d64a341909bbf89cb68c9edaa6cff93850
Author: Doug Ledford <dledford@xxxxxxxxxx>
Date: Sat Feb 21 19:27:07 2015 -0500
IB/ipoib: drop mcast_mutex usage
We needed the mcast_mutex when we had to prevent the join completion
callback from having the value it stored in mcast->mc overwritten
by a delayed return from ib_sa_join_multicast. By storing the return
of ib_sa_join_multicast in an intermediate variable, we prevent a
delayed return from ib_sa_join_multicast overwriting the valid
contents of mcast->mc, and we no longer need a mutex to force the
join callback to run after the return of ib_sa_join_multicast. This
allows us to do away with the mutex entirely and protect our critical
sections with a just a spinlock instead. This is highly desirable
as there were some places where we couldn't use a mutex because the
code was not allowed to sleep, and so we were currently using a mix
of mutex and spinlock to protect what we needed to protect. Now we
only have a spin lock and the locking complexity is greatly reduced.
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit d2fe937ce6ce23daf5fb214e45432dbb631581b7
Author: Doug Ledford <dledford@xxxxxxxxxx>
Date: Sat Feb 21 19:27:06 2015 -0500
IB/ipoib: deserialize multicast joins
Allow the ipoib layer to attempt to join all outstanding multicast
groups at once. The ib_sa layer will serialize multiple attempts to
join the same group, but will process attempts to join different groups
in parallel. Take advantage of that.
In order to make this happen, change the mcast_join_thread to loop
through all needed joins, sending a join request for each one that we
still need to join. There are a few special cases we handle though:
1) Don't attempt to join anything but the broadcast group until the join
of the broadcast group has succeeded.
2) No longer restart the join task at the end of completion handling.
If we completed successfully, we are done. The join task now needs kicked
either by mcast_send or mcast_restart_task or mcast_start_thread, but
should not need started anytime else except when scheduling a backoff
attempt to rejoin.
3) No longer use separate join/completion routines for regular and
sendonly joins, pass them all through the same routine and just do the
right thing based on the SENDONLY join flag.
4) Only try to join a SENDONLY join twice, then drop the packets and
quit trying. We leave the mcast group in the list so that if we get a
new packet, all that we have to do is queue up the packet and restart
the join task and it will automatically try to join twice and then
either send or flush the queue again.
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 69911416d87d6673c48d23a9fbc060e85f41fc73
Author: Doug Ledford <dledford@xxxxxxxxxx>
Date: Sat Feb 21 19:27:05 2015 -0500
IB/ipoib: fix MCAST_FLAG_BUSY usage
Commit a9c8ba5884 ("IPoIB: Fix usage of uninitialized multicast
objects") added a new flag MCAST_JOIN_STARTED, but was not very strict
in how it was used. We didn't always initialize the completion struct
before we set the flag, and we didn't always call complete on the
completion struct from all paths that complete it. And when we did
complete it, sometimes we continued to touch the mcast entry after
the completion, opening us up to possible use after free issues.
This made it less than totally effective, and certainly made its use
confusing. And in the flush function we would use the presence of this
flag to signal that we should wait on the completion struct, but we never
cleared this flag, ever.
In order to make things clearer and aid in resolving the rtnl deadlock
bug I've been chasing, I cleaned this up a bit.
1) Remove the MCAST_JOIN_STARTED flag entirely
2) Change MCAST_FLAG_BUSY so it now only means a join is in-flight
3) Test mcast->mc directly to see if we have completed
ib_sa_join_multicast (using IS_ERR_OR_NULL)
4) Make sure that before setting MCAST_FLAG_BUSY we always initialize
the mcast->done completion struct
5) Make sure that before calling complete(&mcast->done), we always clear
the MCAST_FLAG_BUSY bit
6) Take the mcast_mutex before we call ib_sa_multicast_join and also
take the mutex in our join callback. This forces
ib_sa_multicast_join to return and set mcast->mc before we process
the callback. This way, our callback can safely clear mcast->mc
if there is an error on the join and we will do the right thing as
a result in mcast_dev_flush.
7) Because we need the mutex to synchronize mcast->mc, we can no
longer call mcast_sendonly_join directly from mcast_send and
instead must add sendonly join processing to the mcast_join_task
8) Make MCAST_RUN mean that we have a working mcast subsystem, not that
we have a running task. We know when we need to reschedule our
join task thread and don't need a flag to tell us.
9) Add a helper for rescheduling the join task thread
A number of different races are resolved with these changes. These
races existed with the old MCAST_FLAG_BUSY usage, the
MCAST_JOIN_STARTED flag was an attempt to address them, and while it
helped, a determined effort could still trip things up.
One race looks something like this:
Thread 1 Thread 2
ib_sa_join_multicast (as part of running restart mcast task)
alloc member
call callback
ifconfig ib0 down
wait_for_completion
callback call completes
wait_for_completion in
mcast_dev_flush completes
mcast->mc is PTR_ERR_OR_NULL
so we skip ib_sa_leave_multicast
return from callback
return from ib_sa_join_multicast
set mcast->mc = return from ib_sa_multicast
We now have a permanently unbalanced join/leave issue that trips up the
refcounting in core/multicast.c
Another like this:
Thread 1 Thread 2 Thread 3
ib_sa_multicast_join
ifconfig ib0 down
priv->broadcast = NULL
join_complete
wait_for_completion
mcast->mc is not yet set, so don't clear
return from ib_sa_join_multicast and set mcast->mc
complete
return -EAGAIN (making mcast->mc invalid)
call ib_sa_multicast_leave
on invalid mcast->mc, hang
forever
By holding the mutex around ib_sa_multicast_join and taking the mutex
early in the callback, we force mcast->mc to be valid at the time we
run the callback. This allows us to clear mcast->mc if there is an
error and the join is going to fail. We do this before we complete
the mcast. In this way, mcast_dev_flush always sees consistent state
in regards to mcast->mc membership at the time that the
wait_for_completion() returns.
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit efc82eeeae4ece716091d8540079b7f276ca1ad5
Author: Doug Ledford <dledford@xxxxxxxxxx>
Date: Sat Feb 21 19:27:04 2015 -0500
IB/ipoib: No longer use flush as a parameter
Various places in the IPoIB code had a deadlock related to flushing
the ipoib workqueue. Now that we have per device workqueues and a
specific flush workqueue, there is no longer a deadlock issue with
flushing the device specific workqueues and we can do so unilaterally.
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 0b39578bcde4298a392fb2df16235c316d932127
Author: Doug Ledford <dledford@xxxxxxxxxx>
Date: Sat Feb 21 19:27:03 2015 -0500
IB/ipoib: Use dedicated workqueues per interface
During my recent work on the rtnl lock deadlock in the IPoIB driver, I
saw that even once I fixed the apparent races for a single device, as
soon as that device had any children, new races popped up. It turns
out that this is because no matter how well we protect against races
on a single device, the fact that all devices use the same workqueue,
and flush_workqueue() flushes *everything* from that workqueue means
that we would also have to prevent all races between different devices
(for instance, ipoib_mcast_restart_task on interface ib0 can race with
ipoib_mcast_flush_dev on interface ib0.8002, resulting in a deadlock on
the rtnl_lock).
There are several possible solutions to this problem:
Make carrier_on_task and mcast_restart_task try to take the rtnl for
some set period of time and if they fail, then bail. This runs the
real risk of dropping work on the floor, which can end up being its
own separate kind of deadlock.
Set some global flag in the driver that says some device is in the
middle of going down, letting all tasks know to bail. Again, this can
drop work on the floor.
Or the method this patch attempts to use, which is when we bring an
interface up, create a workqueue specifically for that interface, so
that when we take it back down, we are flushing only those tasks
associated with our interface. In addition, keep the global
workqueue, but now limit it to only flush tasks. In this way, the
flush tasks can always flush the device specific work queues without
having deadlock issues.
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 894021a752912ef4c2b63c8d2c466c00bc3cd2e6
Author: Doug Ledford <dledford@xxxxxxxxxx>
Date: Sat Feb 21 19:27:02 2015 -0500
IB/ipoib: Make the carrier_on_task race aware
We blindly assume that we can just take the rtnl lock and that will
prevent races with downing this interface. Unfortunately, that's not
the case. In ipoib_mcast_stop_thread() we will call flush_workqueue()
in an attempt to clear out all remaining instances of ipoib_join_task.
But, since this task is put on the same workqueue as the join task,
the flush_workqueue waits on this thread too. But this thread is
deadlocked on the rtnl lock. The better thing here is to use trylock
and loop on that until we either get the lock or we see that
FLAG_OPER_UP has been cleared, in which case we don't need to do
anything anyway and we just return.
While investigating which flag should be used, FLAG_ADMIN_UP or
FLAG_OPER_UP, it was determined that FLAG_OPER_UP was the more
appropriate flag to use. However, there was a mix of these two flags in
use in the existing code. So while we check for that flag here as part
of this race fix, also cleanup the two places that had used the less
appropriate flag for their tests.
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit c84ca6d2b1a1bfbdab2dd2bc243840e9589a5aaf
Author: Doug Ledford <dledford@xxxxxxxxxx>
Date: Sat Feb 21 19:27:01 2015 -0500
IB/ipoib: Consolidate rtnl_lock tasks in workqueue
The ipoib_mcast_flush_dev routine is called with the rtnl_lock held and
needs to keep it held. It also needs to call flush_workqueue() to flush
out any outstanding work. In the past, we've had to try and make sure
that we didn't flush out any outstanding join completions because they
also wanted to grab rtnl_lock() and that would deadlock. It turns out
that the only thing in the join completion handler that needs this lock
can be safely moved to our carrier_on_task, thereby reducing the
potential for the join completion code and the flush code to deadlock
against each other.
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit be7aa663fc1d9156798f5af3c60e6df45e1fe5de
Author: Doug Ledford <dledford@xxxxxxxxxx>
Date: Sat Feb 21 19:27:00 2015 -0500
IB/ipoib: change init sequence ordering
In preparation for using per device work queues, we need to move the
start of the neighbor thread task to after ipoib_ib_dev_init and move
the destruction of the neighbor task to before ipoib_ib_dev_cleanup.
Otherwise we will end up freeing our workqueue with work possibly
still on it.
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit e135106fac9525352feb8e49077c8f46c3eaf288
Author: Doug Ledford <dledford@xxxxxxxxxx>
Date: Sat Feb 21 19:26:59 2015 -0500
IB/ipoib: factor out ah flushing
Create a an ipoib_flush_ah and ipoib_stop_ah routines to use at
appropriate times to flush out all remaining ah entries before we shut
the device down.
Because neighbors and mcast entries can each have a reference on any
given ah, we must make sure to free all of those first before our ah
will actually have a 0 refcount and be able to be reaped.
This factoring is needed in preparation for having per-device work
queues. The original per-device workqueue code resulted in the following
error message:
<ibdev>: ib_dealloc_pd failed
That error was tracked down to this issue. With the changes to which
workqueues were flushed when, there were no flushes of the per device
workqueue after the last ah's were freed, resulting in an attempt to
dealloc the pd with outstanding resources still allocated. This code
puts the explicit flushes in the needed places to avoid that problem.
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 66578b0b2f69659f00b6169e6fe7377c4b100d18
Author: Yann Droneaud <ydroneaud@xxxxxxxxxx>
Date: Mon Apr 13 14:56:23 2015 +0200
IB/core: don't disallow registering region starting at 0x0
In a call to ib_umem_get(), if address is 0x0 and size is
already page aligned, check added in commit 8494057ab5e4
("IB/uverbs: Prevent integer overflow in ib_umem_get address
arithmetic") will refuse to register a memory region that
could otherwise be valid (provided vm.mmap_min_addr sysctl
and mmap_low_allowed SELinux knobs allow userspace to map
something at address 0x0).
This patch allows back such registration: ib_umem_get()
should probably don't care of the base address provided it
can be pinned with get_user_pages().
There's two possible overflows, in (addr + size) and in
PAGE_ALIGN(addr + size), this patch keep ensuring none
of them happen while allowing to pin memory at address
0x0. Anyway, the case of size equal 0 is no more (partially)
handled as 0-length memory region are disallowed by an
earlier check.
Link: http://mid.gmane.org/cover.1428929103.git.ydroneaud@xxxxxxxxxx
Cc: <stable@xxxxxxxxxxxxxxx> # 8494057ab5e4 ("IB/uverbs: Prevent integer
overflow in ib_umem_get address arithmetic")
Cc: Shachar Raindel <raindel@xxxxxxxxxxxx>
Cc: Jack Morgenstein <jackm@xxxxxxxxxxxx>
Cc: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Yann Droneaud <ydroneaud@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Reviewed-by: Haggai Eran <haggaie@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 8abaae62f3fdead8f4ce0ab46b4ab93dee39bab2
Author: Yann Droneaud <ydroneaud@xxxxxxxxxx>
Date: Mon Apr 13 14:56:22 2015 +0200
IB/core: disallow registering 0-sized memory region
If ib_umem_get() is called with a size equal to 0 and an
non-page aligned address, one page will be pinned and a
0-sized umem will be returned to the caller.
This should not be allowed: it's not expected for a memory
region to have a size equal to 0.
This patch adds a check to explicitly refuse to register
a 0-sized region.
Link: http://mid.gmane.org/cover.1428929103.git.ydroneaud@xxxxxxxxxx
Cc: <stable@xxxxxxxxxxxxxxx>
Cc: Shachar Raindel <raindel@xxxxxxxxxxxx>
Cc: Jack Morgenstein <jackm@xxxxxxxxxxxx>
Cc: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Yann Droneaud <ydroneaud@xxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 06b230e3dd46e3e45fb57990b09007c7cd071515
Author: Lucas Stach <dev@xxxxxxxxxx>
Date: Mon Apr 13 22:24:01 2015 +0200
cpupower: fix breakage from libpci API change
libpci 3.3.0 introduced an additional member in the pci_filter struct
which needs to be initialized to -1 to get the same behavior as before
the API change. The libpci internal helpers got updated accordingly,
but as the cpupower pci helpers initialized the struct themselves the
behavior changed.
Use the libpci helper pci_filter_init() to fix this and guard against
similar breakages in the future.
This fixes probing of the AMD fam12h/14h cpuidle monitor on systems
with libpci >= 3.3.0.
Signed-off-by: Lucas Stach <dev@xxxxxxxxxx>
Acked-by: Thomas Renninger <trenn@xxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 56c1d2335b355205d6fabb7663d383e73ea0de47
Author: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Date: Thu Feb 12 09:49:43 2015 +0200
IB/mlx4: Change alias guids default to be host assigned
Change the default mode to be HOST assigned instead of SM assigned. This
is
the expected operational mode, because it doesn't depend on SM
availability.
As PF generates random GUIDs as the initial admin values, this gives
out of the box experience.
Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit e9a7ff3a71154ec03b6dc617d97d7c710b7bb98c
Author: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Date: Mon Feb 2 15:07:23 2015 +0200
net/mlx4_core: Return the admin alias GUID upon host view request
Return the admin alias GUID value upon a GET request via HOST. We do this
so
that the GUID value requested by the admin is returned even if the SM has
not
yet approved this GUID (e.g. the SM is down).
Note that this does not create a problem, since the virtual port will
remain
down until the SM does ACK the requested GUID value.
Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit a0667a83aff20c7659960d7e7cd6a5d187c7df20
Author: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Date: Wed Mar 18 14:56:04 2015 +0200
net/mlx4_core: Raise slave shutdown event upon FLR
There might be cases that PF doesn't get a "reset" command upon slave down
(e.g. virsh destroy). In these cases, however, an FLR event is issued.
Therefore, when the PF receives an FLR event for a slave, it should also
generate a shutdown event on the PF for that slave, to let the PF upper
layers (mlx4_ib, eth) perform any required cleanup/actions associated
with slave shutdown.
Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit ee59fa0d7e9af130bfc1b75524e04c101670bd5e
Author: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Date: Tue Mar 3 17:28:49 2015 +0200
IB/mlx4: Request alias GUID on demand
Request GIDs from the SM on demand, i.e., when a VF actually needs them,
and release them when the GIDs are no longer in use.
In cloud environments, this is useful for GID migrations, in which a
GID is assigned to a VF on the destination HCA, while the VF on the
source HCA is shutdown (but the GID was not administratively released).
Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit f54796012837687532d0a87a0504de22da7c2503
Author: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Date: Tue Mar 3 16:12:14 2015 +0200
IB/mlx4: Change init flow to request alias GUIDs for active VFs
Change the init flow to ask GUIDs only for active VFs. This is done for
both SM & HOST modes so that there is no need any more to maintain the
ownership record type.
In case SM mode is used, the initial value will be 0, ask the SM to
assign,
for the HOST mode the initial value will be the HOST generated GUID.
This will enable out of the box experience for both probed and attached
VFs.
Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 2350f24774627d73fe2e3843172b69db91714cd2
Author: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Date: Sun Mar 1 18:17:22 2015 +0200
IB/mlx4: Manage admin alias GUID upon admin request
Set the admin alias GUID per the administrator's request via the sysfs
mechanism into the core layer.
The "get" request returns the current value. However, if the administrator
requests the SM to assign a new value by requesting 0, the SM assigned
GUID is returned.
Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit fb517a4f03041c5eaed394bd57ee518b44301f1a
Author: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Date: Tue Mar 3 11:23:32 2015 +0200
net/mlx4_core: Set initial admin GUIDs for VFs
To have out of the box experience, the PF generates random GUIDs who
serve as the initial admin values.
Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 773af94e4e3984d4055c332602de5d0d2ee3d840
Author: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Date: Tue Mar 3 10:54:48 2015 +0200
net/mlx4_core: Manage alias GUID per VF
Manages alias GUIDs per VF per port in the core layer.
This is a pre-step for managing alias GUIDs in a mode that the admin
GUID is returned via ib_query_gid() regardless of whether the SM
has approved it or not.
Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 99ee4df6aaf542b84f68d66a02de7b68b72a87a8
Author: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Date: Tue Feb 3 18:32:53 2015 +0200
IB/mlx4: Alias GUID adding persistency support
If the SM rejects an alias GUID request the PF driver keeps trying to
acquire
the specified GUID indefinitely, utilizing an exponential backoff scheme.
Retrying is managed per GUID entry. Each entry that wasn't applied holds
its
next retry information. Retry requests to the SM consist of records of 8
consecutive GUIDS. Each record that contains GUIDs requiring retries
holds its
next time-to-run based on the retry information of all its GUID entries.
The
record having the lowest retry time will run first when that retry time
arrives.
Since the method (SET or DELETE) as sent to the SM applies to all the
GUIDs in
the record, we must handle SET requests and DELETE requests in separate SM
messages (one for SETs and the other for DELETEs).
To avoid race conditions where a GUID entry request (set or delete) was
modified after the SM request was sent, we save the method and the
requested
indices as part of the callback's context -- thus, only the requested
indexes
are evaluated when the response is received.
When an GUID entry is approved we turn off its retry-required bit, this
prevents redundant SM retries from occurring on that record.
The port down event should be sent only when previously it was up.
Likewise,
the port up event should be sent only if previously the port was down.
Synchronization was added around the flows that change entries and record
state
to prevent race conditions.
Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx>
Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
commit 30ecc84eea691cfb0b731d71839bdcba88df5f75
Merge: 9705fea 10709c0
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Wed Apr 15 21:35:22 2015 +0200
Merge branch 'omap/dt' into next/late
As pointed out by Stephen Rothwell, commit e52117638b79 ("ARM: dts:
omap3: Add DT entries for OMAP 3 ISP") conflicts with b8845074cfbb
("ARM: dts: omap3: add minimal l4 bus layout with control module support")
in non-obvious ways, causing a build failure when both patches
are present.
This merges the two branches that introduce the respective changes
into the next/late branch to resolve the way that Stephen suggested,
as confirmed by Tony.
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Link: https://lkml.org/lkml/2015/4/6/436
Acked-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit bb668734c4c960c8f61f017585b323b97e5f47b5
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Tue Mar 17 22:26:21 2015 +0000
VFS: assorted d_backing_inode() annotations
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit df2b1afde178f01c6a1b2ec285ca8bcfd4c66640
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Tue Mar 17 22:26:15 2015 +0000
VFS: fs/inode.c helpers: d_inode() annotations
these should be used on objects already in top layer
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 466b77bc954c23c5741ea7dd02f20212a72acdb2
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Tue Mar 17 22:26:21 2015 +0000
VFS: fs/cachefiles: d_backing_inode() annotations
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit dea655c28a32ac760c057383dadb5be0f5632362
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Tue Mar 17 22:26:15 2015 +0000
VFS: fs library helpers: d_inode() annotations
library helpers called by filesystem drivers on their own inodes
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 75c3cfa855dcedc84e7964269c9b6baf26137959
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Tue Mar 17 22:26:12 2015 +0000
VFS: assorted weird filesystems: d_inode() annotations
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 2b0143b5c986be1ce8408b3aadc4709e0a94429d
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Tue Mar 17 22:25:59 2015 +0000
VFS: normal filesystems (and lustre): d_inode() annotations
that's the bulk of filesystem drivers dealing with inodes of their own
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit ce0b16ddf18df35026164fda4a642ef10c01f442
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Thu Feb 19 10:47:02 2015 +0000
VFS: security/: d_inode() annotations
... except where that code acts as a filesystem driver, rather than
working with dentries given to it.
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit c6f493d631c4d40cea5c36055f9148f547b200af
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Tue Mar 17 22:26:22 2015 +0000
VFS: security/: d_backing_inode() annotations
most of the ->d_inode uses there refer to the same inode IO would
go to, i.e. d_backing_inode()
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit c5ef60352893b139147b7c033354e8e028e7f52a
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Tue Mar 17 22:26:16 2015 +0000
VFS: net/: d_inode() annotations
socket inodes and sunrpc filesystems - inodes owned by that code
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit a25b376bded1ba7fd1d455e140d723b7de2e343c
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Tue Mar 17 22:26:21 2015 +0000
VFS: net/unix: d_backing_inode() annotations
places where we are dealing with S_ISSOCK file creation/lookups.
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 7682c918439d42291df0d76b3e06627f27fbcdef
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Tue Mar 17 22:26:16 2015 +0000
VFS: kernel/: d_inode() annotations
relayfs and tracefs are dealing with inodes of their own;
those two act as filesystem drivers
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 3b362157b2162719145d4f3d4f534357d89b45ce
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Tue Mar 17 22:26:21 2015 +0000
VFS: audit: d_backing_inode() annotations
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit c1d81b1cf937027d23f7e53cdd12328799028c6a
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Fri Mar 6 14:24:37 2015 +0000
VFS: Fix up some ->d_inode accesses in the chelsio driver
Fix up some ->d_inode accesses in the chelsio driver.
(1) FILE_DATA() should just be replaced with file_inode().
(2) set_debugfs_file_size() should be removed and
debugfs_create_file_size()
should be used to create the file.
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 5153bc817cdbed826a18938393cc1f81ebbbd898
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Fri Mar 6 14:08:58 2015 +0000
VFS: Cachefiles should perform fs modifications on the top layer only
Cachefiles should perform fs modifications (eg. vfs_unlink()) on the top
layer
only and should not attempt to alter the lower layer.
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit ee8ac4d61c2cf43bdd427e70db97ac330e61570d
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Fri Mar 6 14:05:26 2015 +0000
VFS: AF_UNIX sockets should call mknod on the top layer only
AF_UNIX sockets should call mknod on the top layer only and should not
attempt
to modify the lower layer in a layered filesystem such as overlayfs.
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit aa4d86163e4e91a1ac560954a554bab417e338f4
Author: Christoph Hellwig <hch@xxxxxx>
Date: Tue Apr 7 18:23:29 2015 +0200
block: loop: switch to VFS ITER_BVEC
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 6683de3886a313ae3d4b8c0323313a987073481b
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Mon Mar 2 16:40:32 2015 +0000
configfs: Fix inconsistent use of file_inode() vs
file->f_path.dentry->d_inode
Fix inconsistent use of file_inode() vs file->f_path.dentry->d_inode.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 4bbcbd3b11dbc676a272be508e47d1c4a5056349
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Tue Mar 17 22:16:40 2015 +0000
VFS: Make pathwalk use d_is_reg() rather than S_ISREG()
Make pathwalk use d_is_reg() rather than S_ISREG() to determine whether to
honour O_TRUNC. Since this occurs after complete_walk(), the dentry type
field cannot change and the inode pointer cannot change as we hold a ref
on
the dentry, so this should be safe.
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 7ceab50c0be56cf1bbaf2b3dd1c6cda80e5335fb
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Thu Mar 5 12:46:49 2015 +0000
VFS: Fix up debugfs to use d_is_dir() in place of S_ISDIR()
Fix up debugfs to use d_is_dir(dentry) in place of
S_ISDIR(dentry->d_inode->i_mode).
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 698934df8b45da2a06816ee2d7f9a9034e671e62
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Tue Mar 17 17:33:52 2015 +0000
VFS: Combine inode checks with d_is_negative() and d_is_positive() in
pathwalk
Where we have:
if (!dentry->d_inode || d_is_negative(dentry)) {
type constructions in pathwalk we should be able to eliminate the check of
d_inode and rely solely on the result of d_is_negative() or
d_is_positive().
What we do have to take care to do is to read d_inode after calling a
d_is_xxx() typecheck function to get the barriering right.
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 88e7fbd4a599375a08876e80a76d92e49fdea55c
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Wed Mar 4 16:38:26 2015 +0000
NFS: Don't use d_inode as a variable name
Don't use d_inode as a variable name as it now masks a function name.
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 4bf46a272647d89e780126b52eda04737defd9f4
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Thu Mar 5 14:09:22 2015 +0000
VFS: Impose ordering on accesses of d_inode and d_flags
Impose ordering on accesses of d_inode and d_flags to avoid the need to do
this:
if (!dentry->d_inode || d_is_negative(dentry)) {
when this:
if (d_is_negative(dentry)) {
should suffice.
This check is especially problematic if a dentry can have its type field
set
to something other than DENTRY_MISS_TYPE when d_inode is NULL (as in
unionmount).
What we really need to do is stick a write barrier between setting
d_inode and
setting d_flags and a read barrier between reading d_flags and reading
d_inode.
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 525d27b23555419e0e7b73fb6e78d4d678cb4f32
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Wed Feb 11 13:40:17 2015 +0000
VFS: Add owner-filesystem positive/negative dentry checks
Supply two functions to test whether a filesystem's own dentries are
positive
or negative (d_really_is_positive() and d_really_is_negative()).
The problem is that the DCACHE_ENTRY_TYPE field of dentry->d_flags may be
overridden by the union part of a layered filesystem and isn't thus
necessarily indicative of the type of dentry.
Normally, this would involve a negative dentry (ie. ->d_inode == NULL)
having
->d_layer.lower pointed to a lower layer dentry, DCACHE_PINNING_LOWER set
and
the DCACHE_ENTRY_TYPE field set to something other than DCACHE_MISS_TYPE
- but
it could also involve, say, a DCACHE_SPECIAL_TYPE being overridden to
DCACHE_WHITEOUT_TYPE if a 0,0 chardev is detected in the top layer.
However, inside a filesystem, when that fs is looking at its own
dentries, it
probably wants to know if they are really negative or not - and doesn't
care
about the fallthrough bits used by the union.
To this end, a filesystem should normally use
d_really_is_positive/negative()
when looking at its own dentries rather than d_is_positive/negative() and
should use d_inode() to get at the inode.
Anyone looking at someone else's dentries (this includes pathwalk) should
use
d_is_xxx() and d_backing_inode().
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 65a4a1cad7c56e7056fb4b35ac2d93695612612c
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 9 14:11:08 2015 -0400
nfs: generic_write_checks() shouldn't be done on swapout...
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit c1c21f4e60ed4523292f1a89ff45a208bddd3849
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Wed Apr 15 19:18:39 2015 +0100
i2c: core: Export bus recovery functions
Current -next fails to link an ARM allmodconfig because drivers that use
the core recovery functions can be built as modules but those functions
are not exported:
ERROR: "i2c_generic_gpio_recovery" [drivers/i2c/busses/i2c-davinci.ko]
undefined!
ERROR: "i2c_generic_scl_recovery" [drivers/i2c/busses/i2c-davinci.ko]
undefined!
ERROR: "i2c_recover_bus" [drivers/i2c/busses/i2c-davinci.ko] undefined!
Add exports to fix this.
Fixes: 5f9296ba21b3c (i2c: Add bus recovery infrastructure)
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit c841e12add6926d64aa608687893465330b5a03e
Merge: b422b75 0a1f00a
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 11:24:41 2015 -0700
Merge branch 'kconfig' of
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull kconfig updates from Michal Marek:
"Here is the kconfig stuff for v4.1-rc1:
- fixes for mergeconfig (used by make kvmconfig/tinyconfig)
- header cleanup
- make -s *config is silent now"
* 'kconfig' of
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
kconfig: Do not print status messages in make -s mode
kconfig: Simplify Makefile
kbuild: add generic mergeconfig target, %.config
merge_config.sh: rename MAKE to RUNMAKE
merge_config.sh: improve indentation
kbuild: mergeconfig: remove redundant $(objtree)
kbuild: mergeconfig: move an error check to merge_config.sh
kbuild: mergeconfig: fix "jobserver unavailable" warning
kconfig: Remove unnecessary prototypes from headers
kconfig: Remove dead code
kconfig: Get rid of the P() macro in headers
kconfig: fix a misspelling in scripts/kconfig/merge_config.sh
commit b422b75875a3663f08a9ab5aeb265ed2383cbe2f
Merge: d488d3a 41b585b
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 11:19:18 2015 -0700
Merge branch 'kbuild' of
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull kbuild updates from Michal Marek:
"Here is the first round of kbuild changes for v4.1-rc1:
- kallsyms fix for ARM and cleanup
- make dep(end) removed (developers have no sense of nostalgia these
days...)
- include Makefiles by relative path
- stop useless rebuilds of asm-offsets.h and bounds.h"
* 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
Kbuild: kallsyms: drop special handling of pre-3.0 GCC symbols
Kbuild: kallsyms: ignore veneers emitted by the ARM linker
kbuild: ia64: use $(src)/Makefile.gate rather than particular path
kbuild: include $(src)/Makefile rather than $(obj)/Makefile
kbuild: use relative path more to include Makefile
kbuild: use relative path to include Makefile
kbuild: do not add $(bounds-file) and $(offsets-file) to targets
kbuild: remove warning about "make depend"
kbuild: Don't reset timestamps in include/generated if not needed
commit d488d3a4ce08e96dad5cb3b6117517d57ccec98f
Merge: cb90695 5deeb5c
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 11:08:27 2015 -0700
Merge branch 'next' of
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
Pull security subsystem updates from James Morris:
"Highlights for this window:
- improved AVC hashing for SELinux by John Brooks and Stephen Smalley
- addition of an unconfined label to Smack
- Smack documentation update
- TPM driver updates"
* 'next' of
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (28
commits)
lsm: copy comm before calling audit_log to avoid race in string printing
tomoyo: Do not generate empty policy files
tomoyo: Use if_changed when generating builtin-policy.h
tomoyo: Use bin2c to generate builtin-policy.h
selinux: increase avtab max buckets
selinux: Use a better hash function for avtab
selinux: convert avtab hash table to flex_array
selinux: reconcile security_netlbl_secattr_to_sid() and
mls_import_netlbl_cat()
selinux: remove unnecessary pointer reassignment
Smack: Updates for Smack documentation
tpm/st33zp24/spi: Add missing device table for spi phy.
tpm/st33zp24: Add proper wait for ordinal duration in case of irq mode
smack: Fix gcc warning from unused smack_syslog_lock mutex in smackfs.c
Smack: Allow an unconfined label in bringup mode
Smack: getting the Smack security context of keys
Smack: Assign smack_known_web as default smk_in label for kernel
thread's socket
tpm/tpm_infineon: Use struct dev_pm_ops for power management
MAINTAINERS: Add Jason as designated reviewer for TPM
tpm: Update KConfig text to include TPM2.0 FIFO chips
tpm/st33zp24/dts/st33zp24-spi: Add dts documentation for st33zp24 spi
phy
...
commit 2310568f570e0f95bfb1cc79ff7db617e782e25c
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Apr 15 10:48:32 2015 -0700
Input: alps - document separate pointstick button bits for V2 devices
Non interleaved dualpoint v2 devices have separate pointstick button bits,
document this.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 4f8d808889d05807f494f82f8cfaa6c113c2f761
Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Date: Tue Apr 7 16:30:01 2015 -0700
Input: atmel_mxt_ts - add support for Google Pixel 2
This change allows atmel_mxt_ts to bind to ACPI-enumerated devices in
Google Pixel 2 (2015).
While newer version of ACPI standard allow use of device-tree-like
properties in device descriptions, the version of ACPI implemented in
Google BIOS does not support them, and we have to resort to DMI data to
specify exact characteristics of the devices (touchpad vs. touchscreen,
GPIO to button mapping, etc).
Pixel 1 continues to use i2c devices and platform data created by
chromeos-laptop driver, since ACPI does not enumerate them.
Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit cb906953d2c3fd450655d9fa833f03690ad50c23
Merge: 6c373ca 3abafaf
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 10:42:15 2015 -0700
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto update from Herbert Xu:
"Here is the crypto update for 4.1:
New interfaces:
- user-space interface for AEAD
- user-space interface for RNG (i.e., pseudo RNG)
New hashes:
- ARMv8 SHA1/256
- ARMv8 AES
- ARMv8 GHASH
- ARM assembler and NEON SHA256
- MIPS OCTEON SHA1/256/512
- MIPS img-hash SHA1/256 and MD5
- Power 8 VMX AES/CBC/CTR/GHASH
- PPC assembler AES, SHA1/256 and MD5
- Broadcom IPROC RNG driver
Cleanups/fixes:
- prevent internal helper algos from being exposed to user-space
- merge common code from assembly/C SHA implementations
- misc fixes"
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (169
commits)
crypto: arm - workaround for building with old binutils
crypto: arm/sha256 - avoid sha256 code on ARMv7-M
crypto: x86/sha512_ssse3 - move SHA-384/512 SSSE3 implementation to
base layer
crypto: x86/sha256_ssse3 - move SHA-224/256 SSSE3 implementation to
base layer
crypto: x86/sha1_ssse3 - move SHA-1 SSSE3 implementation to base layer
crypto: arm64/sha2-ce - move SHA-224/256 ARMv8 implementation to base
layer
crypto: arm64/sha1-ce - move SHA-1 ARMv8 implementation to base layer
crypto: arm/sha2-ce - move SHA-224/256 ARMv8 implementation to base
layer
crypto: arm/sha256 - move SHA-224/256 ASM/NEON implementation to base
layer
crypto: arm/sha1-ce - move SHA-1 ARMv8 implementation to base layer
crypto: arm/sha1_neon - move SHA-1 NEON implementation to base layer
crypto: arm/sha1 - move SHA-1 ARM asm implementation to base layer
crypto: sha512-generic - move to generic glue implementation
crypto: sha256-generic - move to generic glue implementation
crypto: sha1-generic - move to generic glue implementation
crypto: sha512 - implement base layer for SHA-512
crypto: sha256 - implement base layer for SHA-256
crypto: sha1 - implement base layer for SHA-1
crypto: api - remove instance when test failed
crypto: api - Move alg ref count init to crypto_check_alg
...
commit 889fa31f00b218a2cef96c32a6b3f57e6d3bf918
Author: Chong Yuan <chong.yuan@xxxxxxxxxxxx>
Date: Wed Apr 15 11:39:29 2015 -0600
blk-mq: reduce unnecessary software queue looping
In flush_busy_ctxs() and blk_mq_hctx_has_pending(), regardless of how many
ctxs assigned to one hctx, they will all loop hctx->ctx_map.map_size
times. Here hctx->ctx_map.map_size is a const ALIGN(nr_cpu_ids, 8) / 8.
Especially, flush_busy_ctxs() is in hot code path. And it's unnecessary.
Change ->map_size to contain the actually mapped software queues, so we
only loop for as many iterations as we have to.
And remove cpumask setting and nr_ctx count in blk_mq_init_cpu_queues()
since they are all re-done in blk_mq_map_swqueue().
blk_mq_map_swqueue().
Signed-off-by: Chong Yuan <chong.yuan@xxxxxxxxxxxx>
Reviewed-by: Wenbo Wang <wenbo.wang@xxxxxxxxxxxx>
Updated by me for formatting and commenting.
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit dc48e56d761610da4ea1088d1bea0a030b8e3e43
Author: Jens Axboe <axboe@xxxxxx>
Date: Wed Apr 15 11:17:23 2015 -0600
aio: fix serial draining in exit_aio()
exit_aio() currently serializes killing io contexts. Each context
killing ends up having to do percpu_ref_kill(), which in turns has
to wait for an RCU grace period. This can take a long time, depending
on the number of contexts. And there's no point in doing them serially,
when we could be waiting for all of them in one fell swoop.
This patches makes my fio thread offload test case exit 0.2s instead
of almost 6s.
Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 0618764cb25f6fa9fb31152995de42a8a0496475
Author: Ben Collins <ben.c@xxxxxxxxxxxx>
Date: Fri Apr 3 16:09:46 2015 +0000
dm crypt: fix deadlock when async crypto algorithm returns -EBUSY
I suspect this doesn't show up for most anyone because software
algorithms typically don't have a sense of being too busy. However,
when working with the Freescale CAAM driver it will return -EBUSY on
occasion under heavy -- which resulted in dm-crypt deadlock.
After checking the logic in some other drivers, the scheme for
crypt_convert() and it's callback, kcryptd_async_done(), were not
correctly laid out to properly handle -EBUSY or -EINPROGRESS.
Fix this by using the completion for both -EBUSY and -EINPROGRESS. Now
crypt_convert()'s use of completion is comparable to
af_alg_wait_for_completion(). Similarly, kcryptd_async_done() follows
the pattern used in af_alg_complete().
Before this fix dm-crypt would lockup within 1-2 minutes running with
the CAAM driver. Fix was regression tested against software algorithms
on PPC32 and x86_64, and things seem perfectly happy there as well.
Signed-off-by: Ben Collins <ben.c@xxxxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit 5977907937afa2b5584a874d44ba6c0f56aeaa9c
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Thu Apr 9 16:53:24 2015 -0400
dm crypt: leverage immutable biovecs when decrypting on read
Commit 003b5c571 ("block: Convert drivers to immutable biovecs")
stopped short of changing dm-crypt to leverage the fact that the biovec
array of a bio will no longer be modified.
Switch to using bio_clone_fast() when cloning bios for decryption after
read.
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit e44f23b32dc7916b2bc12817e2f723fefa21ba41
Author: Milan Broz <gmazyland@xxxxxxxxx>
Date: Sun Apr 5 18:03:10 2015 +0200
dm crypt: update URLs to new cryptsetup project page
Cryptsetup home page moved to GitLab.
Also remove link to abandonded Truecrypt page.
Signed-off-by: Milan Broz <gmazyland@xxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 0e9cebe724597a76ab1b0ebc0a21e16f7db11b47
Author: Josef Bacik <jbacik@xxxxxx>
Date: Fri Mar 20 10:50:37 2015 -0400
dm: add log writes target
Introduce a new target that is meant for file system developers to test
file
system integrity at particular points in the life of a file system. We
capture
all write requests and associated data and log them to a separate device
for later replay. There is a userspace utility to do this replay. The
idea behind this is to give file system developers a tool to verify that
the file system is always consistent.
Signed-off-by: Josef Bacik <jbacik@xxxxxx>
Reviewed-by: Zach Brown <zab@xxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 7f61f5a022101e0c38c3cff2ef9ace9c9c86dbfb
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Mon Mar 30 10:43:18 2015 -0700
dm table: use bool function return values of true/false not 1/0
Use the normal return values for bool functions.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 65ff5b7ddf0541f2b6e5cc59c47bfbf6cbcd91b8
Author: Sami Tolvanen <samitolvanen@xxxxxxxxxx>
Date: Wed Mar 18 15:52:14 2015 +0000
dm verity: add error handling modes for corrupted blocks
Add device specific modes to dm-verity to specify how corrupted
blocks should be handled. The following modes are defined:
- DM_VERITY_MODE_EIO is the default behavior, where reading a
corrupted block results in -EIO.
- DM_VERITY_MODE_LOGGING only logs corrupted blocks, but does
not block the read.
- DM_VERITY_MODE_RESTART calls kernel_restart when a corrupted
block is discovered.
In addition, each mode sends a uevent to notify userspace of
corruption and to allow further recovery actions.
The driver defaults to previous behavior (DM_VERITY_MODE_EIO)
and other modes can be enabled with an additional parameter to
the verity table.
Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 0e0e32c16cfd2eeaf4fd4f16aa6cccd1333ce1e0
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Wed Mar 18 20:57:29 2015 -0400
dm thin: remove stale 'trim' message documentation
The 'trim' message wasn't ever implemented.
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit aca607ba242dde316794c0b607048fd5b688a520
Author: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Date: Tue Mar 17 07:47:58 2015 -0400
dm delay: use msecs_to_jiffies for time conversion
Converting milliseconds to jiffies by "val * HZ / 1000" is technically
OK but msecs_to_jiffies(val) is the cleaner solution and handles all
corner cases correctly.
Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 18cc980ac8cf8c727d1f7d581b4576ed64bd78a6
Author: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Date: Wed Mar 18 18:59:02 2015 -0400
dm log userspace base: fix compile warning
This fixes up a compile warning [-Wunused-but-set-variable] - given the
comment in userspace_set_region_sync() the non-reporting of errors is
intentional so the return value can be dropped to make gcc happy.
Also, fix typo in comment.
Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit c32a512fdf62de260ee8298436558ea50b94dfcb
Author: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Date: Sun Mar 15 13:09:10 2015 -0400
dm log userspace transfer: match wait_for_completion_timeout return type
Return type of wait_for_completion_timeout() is unsigned long not int.
An appropriately named unsigned long is added and the assignment fixed.
Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 644bda6f346038bce7ad3ed48f7044c10dde6d47
Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx>
Date: Tue Feb 10 15:20:51 2015 -0800
dm table: fall back to getting device using name_to_dev_t()
If a device is used as the root filesystem, it can't be built
off of devices which are within the root filesystem (just like
command line arguments to root=). For this reason, Linux has a
pseudo-filesystem for root= and MD initialization (based on the
function name_to_dev_t) which handles different ways of specifying
devices including PARTUUID and major:minor.
Switch to using name_to_dev_t() in dm_get_device(). Rather than
having DM assume that all things which are not major:minor are paths in
an already-mounted filesystem, change dm_get_device() to first attempt
to look up the device in the filesystem, and if not found it will fall
back to using name_to_dev_t().
In terms of backwards compatibility, there are some cases where
behavior will be different:
- If you have a file in the current working directory named 1:2 and
you initialze DM there, then it will try to use that file rather
than the disk with that major:minor pair as a backing device.
- Similarly for other bdev types which name_to_dev_t() knows how to
interpret, the previous behavior was to repeatedly check for the
existence of the file (e.g., while waiting for rootfs to come up)
but the new behavior is to use the name_to_dev_t() interpretation.
For example, if you have a file named /dev/ubiblock0_0 which is
a symlink to /dev/sda3, but it is not yet present when DM starts
to initialize, then the name_to_dev_t() interpretation will take
precedence.
These incompatibilities would only show up in really strange setups
with bad practices so we shouldn't have to worry about them.
Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 283e7ad0241155710f99a9f39d13313a53336926
Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx>
Date: Tue Feb 10 15:20:50 2015 -0800
init: stricter checking of major:minor root= values
In the kernel command-line, previously, root=1:2jakshflaksjdhfa would
be accepted and interpreted just like root=1:2. This patch adds
stricter checking so that additional characters after major:minor are
rejected by root=.
The goal of this change is to help in unifying DM's interpretation of
its block device argument by using existing kernel code (name_to_dev_t).
But DM rejects malformed major:minor pairs, it seems reasonable for
root= to reject them as well.
Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit e6e20a7a5f3f49bfee518d5c6849107398d83912
Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx>
Date: Tue Feb 10 15:20:49 2015 -0800
init: export name_to_dev_t and mark name argument as const
DM will switch its device lookup code to using name_to_dev_t() so it
must be exported. Also, the @name argument should be marked const.
Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 17e149b8f73ba116e71e25930dd6f2eb3828792d
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Wed Mar 11 15:01:09 2015 -0400
dm: add 'use_blk_mq' module param and expose in per-device ro sysfs attr
Request-based DM's blk-mq support defaults to off; but a user can easily
change the default using the dm_mod.use_blk_mq module/boot option.
Also, you can check what mode a given request-based DM device is using
with: cat /sys/block/dm-X/dm/use_blk_mq
This change enabled further cleanup and reduced work (e.g. the
md->io_pool and md->rq_pool isn't created if using blk-mq).
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 022333427a8aa4ccb318a9db90cea4e69ca1826b
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Tue Mar 10 23:49:26 2015 -0400
dm: optimize dm_mq_queue_rq to _not_ use kthread if using pure blk-mq
dm_mq_queue_rq() is in atomic context so care must be taken to not
sleep -- as such GFP_ATOMIC is used for the md->bs bioset allocations
and dm-mpath's call to blk_get_request(). In the future the bioset
allocations will hopefully go away (by removing support for partial
completions of bios in a cloned request).
Also prepare for supporting DM blk-mq ontop of old-style request_fn
device(s) if a new dm-mod 'use_blk_mq' parameter is set. The kthread
will still be used to queue work if blk-mq is used ontop of old-style
request_fn device(s).
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit bfebd1cdb497a57757c83f5fbf1a29931591e2a4
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Sun Mar 8 00:51:47 2015 -0500
dm: add full blk-mq support to request-based DM
Commit e5863d9ad ("dm: allocate requests in target when stacking on
blk-mq devices") served as the first step toward fully utilizing blk-mq
in request-based DM -- it enabled stacking an old-style (request_fn)
request_queue ontop of the underlying blk-mq device(s). That first step
didn't improve performance of DM multipath ontop of fast blk-mq devices
(e.g. NVMe) because the top-level old-style request_queue was severely
limited by the queue_lock.
The second step offered here enables stacking a blk-mq request_queue
ontop of the underlying blk-mq device(s). This unlocks significant
performance gains on fast blk-mq devices, Keith Busch tested on his NVMe
testbed and offered this really positive news:
"Just providing a performance update. All my fio tests are getting
roughly equal performance whether accessed through the raw block
device or the multipath device mapper (~470k IOPS). I could only push
~20% of the raw iops through dm before this conversion, so this latest
tree is looking really solid from a performance standpoint."
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
Tested-by: Keith Busch <keith.busch@xxxxxxxxx>
commit 0ce65797a77ee780f62909d3128bf08b9735718b
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Thu Feb 26 00:50:28 2015 -0500
dm: impose configurable deadline for dm_request_fn's merge heuristic
Otherwise, for sequential workloads, the dm_request_fn can allow
excessive request merging at the expense of increased service time.
Add a per-device sysfs attribute to allow the user to control how long a
request, that is a reasonable merge candidate, can be queued on the
request queue. The resolution of this request dispatch deadline is in
microseconds (ranging from 1 to 100000 usecs), to set a 20us deadline:
echo 20 > /sys/block/dm-7/dm/rq_based_seq_io_merge_deadline
The dm_request_fn's merge heuristic and associated extra accounting is
disabled by default (rq_based_seq_io_merge_deadline is 0).
This sysfs attribute is not applicable to bio-based DM devices so it
will only ever report 0 for them.
By allowing a request to remain on the queue it will block others
requests on the queue. But introducing a short dequeue delay has proven
very effective at enabling certain sequential IO workloads on really
fast, yet IOPS constrained, devices to build up slightly larger IOs --
yielding 90+% throughput improvements. Having precise control over the
time taken to wait for larger requests to build affords control beyond
that of waiting for certain IO sizes to accumulate (which would require
a deadline anyway). This knob will only ever make sense with sequential
IO workloads and the particular value used is storage configuration
specific.
Given the expected niche use-case for when this knob is useful it has
been deemed acceptable to expose this relatively crude method for
crafting optimal IO on specific storage -- especially given the solution
is simple yet effective. In the context of DM multipath, it is
advisable to tune this sysfs attribute to a value that offers the best
performance for the common case (e.g. if 4 paths are expected active,
tune for that; if paths fail then performance may be slightly reduced).
Alternatives were explored to have request-based DM autotune this value
(e.g. if/when paths fail) but they were quickly deemed too fragile and
complex to warrant further design and development time. If this problem
proves more common as faster storage emerges we'll have to look at
elevating a generic solution into the block core.
Tested-by: Shiva Krishna Merla <shivakrishna.merla@xxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit b898320d683d54c2bc17b748b9742d2b601ad453
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Fri Feb 27 17:58:42 2015 -0500
dm sysfs: introduce ability to add writable attributes
Add DM_ATTR_RW() macro and establish .store method in dm_sysfs_ops.
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit de3ec86dff160d35c817bb70eeaeff6e392f44a4
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Tue Feb 24 21:58:21 2015 -0500
dm: don't start current request if it would've merged with the previous
Request-based DM's dm_request_fn() is so fast to pull requests off the
queue that steps need to be taken to promote merging by avoiding request
processing if it makes sense.
If the current request would've merged with previous request let the
current request stay on the queue longer.
Suggested-by: Jens Axboe <axboe@xxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit d548b34b062b60b4f4df295a0b4823dfda1f1fc4
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Thu Mar 5 22:21:10 2015 -0500
dm: reduce the queue delay used in dm_request_fn from 100ms to 10ms
Commit 7eaceaccab ("block: remove per-queue plugging") didn't justify
DM's use of a 100ms delay; such an extended delay is a liability when
there is reason to re-kick the queue.
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 9d1deb83d489364f8749a3a1ba1689efb07d94b0
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Tue Feb 24 20:49:18 2015 -0500
dm: don't schedule delayed run of the queue if nothing to do
In request-based DM's dm_request_fn(), if blk_peek_request() returns
NULL just return. Avoids unnecessary blk_delay_queue().
Reported-by: Jens Axboe <axboe@xxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 9a0e609e3fd8a95c96629b9fbde6b8c5b9a1456a
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Tue Feb 24 11:03:22 2015 -0500
dm: only run the queue on completion if congested or no requests pending
On really fast storage it can be beneficial to delay running the
request_queue to allow the elevator more opportunity to merge requests.
Otherwise, it has been observed that requests are being sent to
q->request_fn much quicker than is ideal on IOPS-bound backends.
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit ff36ab34583ae23250a4bf39805d69771e7e0131
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Mon Feb 23 17:56:37 2015 -0500
dm: remove request-based logic from make_request_fn wrapper
The old dm_request() method used for q->make_request_fn had a branch for
request-based DM support but it isn't needed given that
dm_init_request_based_queue() sets it to the standard blk_queue_bio()
anyway.
Cleanup dm_init_md_queue() to be DM device-type agnostic and have
dm_setup_md_queue() properly finish queue setup based on DM device-type
(bio-based vs request-based).
A followup block patch can be made to remove the export for
blk_queue_bio() now that DM no longer calls it directly.
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit ac98b4c015b50b1e452f8d55b612320be7f80825
Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx>
Date: Mon Apr 13 14:20:54 2015 +0800
ASoC: Intel: Remove invalid kfree of devm allocated data
kbuild robot reports following warning:
"sound/soc/intel/haswell/sst-haswell-ipc.c:2204:1-6:
WARNING: invalid free of devm_ allocated data"
As julia explains to me, the memory allocated with devm_kalloc
is freed automatically on failure of a probe function. So this
kfree should be removed otherwise the double free will be got in
error handler path.
Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit d1acba2fdebb449bad01e7cf77a9f9730dfaca6e
Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Date: Mon Apr 13 06:00:45 2015 +0000
ASoC: rsnd: set dmaen->chan = NULL when error case
rsnd_dmaen_quit() is assuming dmaen->chan is NULL if it failed
to get DMAEngine channel. but, current dmaen->chan might have
error value when error case (this driver is checking it by
IS_ERR_OR_NULL())
This patch makes sure dmaen->chan is NULL when error case.
Otherwise, it will contact to unknown address in rsnd_dmaen_quit()
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 96f05be37f4ece1dffba92d4ae079a486a4cf6df
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Mon Apr 13 14:23:29 2015 +0200
ASoC: qcom: Return an error for invalid PCM trigger command
Fix a compile warning
sound/soc/qcom/lpass-cpu.c: In function â??lpass_cpu_daiops_triggerâ??:
sound/soc/qcom/lpass-cpu.c:224:2: warning: â??retâ?? may be used
uninitialized in this function [-Wmaybe-uninitialized]
return ret;
^
Although switch () lists the most of existing cases, it's still better
to cover the rest as an error properly.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Acked-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 6c373ca89399c5a3f7ef210ad8f63dc3437da345
Merge: bb0fd7a 9f91514
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 15 09:00:47 2015 -0700
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Pull networking updates from David Miller:
1) Add BQL support to via-rhine, from Tino Reichardt.
2) Integrate SWITCHDEV layer support into the DSA layer, so DSA drivers
can support hw switch offloading. From Floria Fainelli.
3) Allow 'ip address' commands to initiate multicast group join/leave,
from Madhu Challa.
4) Many ipv4 FIB lookup optimizations from Alexander Duyck.
5) Support EBPF in cls_bpf classifier and act_bpf action, from Daniel
Borkmann.
6) Remove the ugly compat support in ARP for ugly layers like ax25,
rose, etc. And use this to clean up the neigh layer, then use it to
implement MPLS support. All from Eric Biederman.
7) Support L3 forwarding offloading in switches, from Scott Feldman.
8) Collapse the LOCAL and MAIN ipv4 FIB tables when possible, to speed
up route lookups even further. From Alexander Duyck.
9) Many improvements and bug fixes to the rhashtable implementation,
from Herbert Xu and Thomas Graf. In particular, in the case where
an rhashtable user bulk adds a large number of items into an empty
table, we expand the table much more sanely.
10) Don't make the tcp_metrics hash table per-namespace, from Eric
Biederman.
11) Extend EBPF to access SKB fields, from Alexei Starovoitov.
12) Split out new connection request sockets so that they can be
established in the main hash table. Much less false sharing since
hash lookups go direct to the request sockets instead of having to
go first to the listener then to the request socks hashed
underneath. From Eric Dumazet.
13) Add async I/O support for crytpo AF_ALG sockets, from Tadeusz Struk.
14) Support stable privacy address generation for RFC7217 in IPV6. From
Hannes Frederic Sowa.
15) Hash network namespace into IP frag IDs, also from Hannes Frederic
Sowa.
16) Convert PTP get/set methods to use 64-bit time, from Richard
Cochran.
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1816
commits)
fm10k: Bump driver version to 0.15.2
fm10k: corrected VF multicast update
fm10k: mbx_update_max_size does not drop all oversized messages
fm10k: reset head instead of calling update_max_size
fm10k: renamed mbx_tx_dropped to mbx_tx_oversized
fm10k: update xcast mode before synchronizing multicast addresses
fm10k: start service timer on probe
fm10k: fix function header comment
fm10k: comment next_vf_mbx flow
fm10k: don't handle mailbox events in iov_event path and always process
mailbox
fm10k: use separate workqueue for fm10k driver
fm10k: Set PF queues to unlimited bandwidth during virtualization
fm10k: expose tx_timeout_count as an ethtool stat
fm10k: only increment tx_timeout_count in Tx hang path
fm10k: remove extraneous "Reset interface" message
fm10k: separate PF only stats so that VF does not display them
fm10k: use hw->mac.max_queues for stats
fm10k: only show actual queues, not the maximum in hardware
fm10k: allow creation of VLAN on default vid
fm10k: fix unused warnings
...
commit c7f94520e988c9313c09e2768874c99d3b062dcc
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Wed Apr 15 08:48:47 2015 -0700
i2c: jz4780: Fix build for m68k and sparc64
Fix:
drivers/i2c/busses/i2c-jz4780.c: In function 'jz4780_i2c_readw':
drivers/i2c/busses/i2c-jz4780.c:181:2: error:
implicit declaration of function 'readw'
drivers/i2c/busses/i2c-jz4780.c: In function 'jz4780_i2c_writew':
drivers/i2c/busses/i2c-jz4780.c:187:2: error:
implicit declaration of function 'writew'
seen with sparc64:allmodconfig and m68k:allmodconfig.
The driver has to include linux/io.h.
Fixes: ba92222ed63a ("i2c: jz4780: Add i2c bus controller driver
for Ingenic JZ4780")
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit decf63336e356423300b935afbebeca1fcb15184
Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 12:04:10 2015 +0800
KVM: MMU: fix comment in kvm_mmu_zap_collapsible_spte
Soft mmu uses direct shadow page to fill guest large mapping with small
pages if huge mapping is disallowed on host. So zapping direct shadow
page works well both for soft mmu and hard mmu, it's just less widely
applicable.
Fix the comment to reflect this.
Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx>
Message-Id: <552C91BA.1010703@xxxxxxxxxxxxxxx>
[Fix comment wording further. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 130005231c9f2090b1b177e2cca9841b562c1784
Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Date: Wed Apr 15 10:24:54 2015 +0800
kvm: mmu: don't do memslot overflow check
As Andres pointed out:
| I don't understand the value of this check here. Are we looking for a
| broken memslot? Shouldn't this be a BUG_ON? Is this the place to care
| about these things? npages is capped to KVM_MEM_MAX_NR_PAGES, i.e.
| 2^31. A 64 bit overflow would be caused by a gigantic gfn_start which
| would be trouble in many other ways.
This patch drops the memslot overflow check to make the codes more simple.
Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx>
Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Message-Id: <1429064694-3072-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 95fce4fa0850da8f85ecf8d069ab3fc6c8bc1478
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Wed Apr 15 12:27:04 2015 +0200
KVM: s390: disable RRBM again
commit b273921356df ("KVM: s390: enable more features that need
no hypervisor changes") also enabled RRBM. Turns out that this
instruction does need some KVM code, so lets disable that bit
again.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx>
Fixes: b273921356df ("KVM: s390: enable more features that need no
hypervisor changes")
Message-Id: <1429093624-49611-2-git-send-email-borntraeger@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 33236415ece63d5689411f3ddb676eeb93af2698
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Thu Apr 9 22:58:04 2015 +0200
scripts/coccinelle/misc/bugon.cocci: update bug_on conversion warning
if()/BUG conversion to BUG_ON must be avoided when there's side effect
in condition. The reason being BUG_ON won't execute the condition when
CONFIG_BUG is not defined.
Inspired-by: J. Bruce Fields <bfields@xxxxxxxxxxxx>
Suggested-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Acked-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit 99b2cdde83726a89daadbfd1264fb9a3b91eed0b
Author: Alex Pilon <alp+linux@xxxxxxxxxxxx>
Date: Tue Apr 14 00:38:33 2015 -0400
scripts/extract-ikconfig: Support LZ4-compressed images.
Support for kernel image LZ4 compression was added around 3.11, but not
the corresponding kernel .config extraction.
This makes possible extracting the kernel config for LZ4-compressed
kernels you're not running, or the current LZ4-compressed kernel if
compiled without /proc/config.gz support.
Signed-off-by: Alex Pilon <alp+linux@xxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit 80ed156a3d12819a8c839f40f5b6996c4aa117a5
Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 10 14:34:33 2015 +0200
s390/pci: add locking for fmb access
Function measurement can be toggled at runtime. Make sure that
all access to the fmb is protected via a mutex.
Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 6001018ae8c659e624351d2e73b1272bacd68d6a
Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 10 14:33:08 2015 +0200
s390/pci: extract software counters from fmb
The software counters are not a part of the function measurement
block. Also we do not check for zdev->fmb != NULL when using these
counters (function measurement can be toggled at runtime). Just move
the software counters to struct zpci_dev.
Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit df3044f1ef002c2269b11cb76a1b2bec629732b4
Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx>
Date: Thu Apr 2 13:18:39 2015 +0200
s390/dasd: Fix unresumed device after suspend/resume having no paths
The DASD device driver prevents I/O from being started on stopped
devices. This also prevented channel paths to be verified and so
the device was unable to be resumed.
Fix by allowing path verification requests on stopped devices.
Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit a3147a7bc266df39b4f471ee7c4c9adcb56d29a6
Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx>
Date: Thu Apr 2 12:52:41 2015 +0200
s390/dasd: fix unresumed device after suspend/resume
The DASD device driver only has a limited amount of memory to build
I/O requests.
This memory was used by blocklayer requests leading to an inability
to build needed internal requests to resume the device.
Fix by preventing the DASD driver to fetch requests for a stopped
device.
Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx>
Reference-ID: RQM 2520
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit f2608cd4a37479d11d0748f524a6a363ee38631f
Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx>
Date: Thu Apr 2 12:27:25 2015 +0200
s390/dasd: fix inability to set a DASD device offline
Fix ref counting for DASD devices leading to an inability to set a
DASD device offline.
Before a worker is scheduled the DASD device driver takes a reference
to the device. If the worker was already scheduled this reference was
never freed.
Fix by giving the reference to the DASD device free when
schedule_work() returns false.
Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 8741ce6d114873e482b1ef298d6537d18ff393d3
Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 18:49:11 2015 +0200
s390/mm: Fix memory hotplug for unaligned standby memory
Commit 27356f54c8c3 ("mm/hotplug: verify hotplug memory range")
introduced a check that makes add_memory() only accept section size
aligned memory.
Therefore on z/VM systems, where standby memory is not aligned, no
standby memory is registered at all.
Example:
#cp def store 3504M standby 2336M
00: CP Q V STORE
00: STORAGE = 3504M MAX = 6G INC = 8M STANDBY = 2336M RESERVED = 0
For this setup the following error message is printed:
Section-unaligned hotplug range: start 0xdb000000, size 0x92000000
So fix this and register aligned memory in "sclp_cmd.c". This means
that for the corner cases where the standby memory is not aligned we
loose some memory.
In order to inform the user about the potential loss of standby memory,
we add a new message for each added standby block and print how
much of the standby memory is usable, for example:
sclp_cmd.4336b4: Standby memory at 0x50000000 (256M of 256M usable)
sclp_cmd.4336b4: Standby memory at 0xb0000000 (256M of 256M usable)
sclp_cmd.4336b4: Standby memory at 0xdb000000 (2048M of 2336M usable)
We also ensure that a potential memory block that contains both "assigned"
and "standby" memory cannot be setup offline.
Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx>
Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 054623105728b06852f077299e2bf1bf3d5f2b0b
Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 16:08:32 2015 +0200
s390/bpf: Add s390x eBPF JIT compiler backend
Replace 32 bit BPF JIT backend with new 64 bit eBPF backend.
Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 1c6e4b1811bffc6b0520310f6d8a6b4ec760fdbc
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Mon Mar 30 16:46:05 2015 -0700
s390: Use bool function return values of true/false not 1/0
Use the normal return values for bool functions
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 0b97b03d88b40bfbd7ff0e069186a137d9786d43
Author: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
Date: Thu Apr 9 08:05:10 2015 +0100
xen/pci: Try harder to get PXM information for Xen
If the device being added to Xen is not contained in the ACPI table,
walk the PCI device tree to find a parent that is contained in the ACPI
table before finding the PXM information from this device.
Previously, it would try to get a handle for the device, then the
device's bridge, then the physfn. This changes the order so that it
tries to get a handle for the device, then the physfn, the walks up the
PCI device tree.
Signed-off-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
commit ccc9d90a9a8b5c4ad7e9708ec41f75ff9e98d61d
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date: Fri Apr 3 14:44:59 2015 +0800
xenbus_client: Extend interface to support multi-page ring
Originally Xen PV drivers only use single-page ring to pass along
information. This might limit the throughput between frontend and
backend.
The patch extends Xenbus driver to support multi-page ring, which in
general should improve throughput if ring is the bottleneck. Changes to
various frontend / backend to adapt to the new interface are also
included.
Affected Xen drivers:
* blkfront/back
* netfront/back
* pcifront/back
* scsifront/back
* vtpmfront
The interface is documented, as before, in xenbus_client.c.
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx>
Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx>
Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
commit b99e6fb86541e4dc28f5c3ff7418347fa9d8d29c
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Wed Apr 15 10:00:35 2015 +0200
pinctrl: fix allmodconfig noise
There was some mess in the dependencies in the pinctrl
Kconfig for compile tests under allmodconfig. Mea Culpa.
Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 2fe0753d49402aee325cc39c476b46fd51a8afec
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Tue Apr 14 12:52:50 2015 -0700
powerpc/powermac: Fix build error seen with powermac smp builds
powermac smp builds fail with
arch/powerpc/platforms/powermac/smp.c: In function 'smp_psurge_probe':
arch/powerpc/platforms/powermac/smp.c:278:3: error:
'return' with a value, in function returning void
There are several instances of this error.
Fixes: a7f4ee1fe93a ("powerpc: Drop return value of smp_ops->probe()")
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 2aea6dcb7864e174dada15728c43c5330637d424
Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx>
Date: Tue Apr 7 19:45:42 2015 -0400
i40e: Bump version to 1.3.2
Bump.
Change-ID: Id14baae72332d0f1a9bc5d351ea1a85cb0295ec3
Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit bb0fd7ab0986105765d11baa82e619c618a235aa
Merge: bdfa54d 4b2f883
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 21:03:26 2015 -0700
Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
Pull ARM updates from Russell King:
"Included in this update are both some long term fixes and some new
features.
Fixes:
- An integer overflow in the calculation of ELF_ET_DYN_BASE.
- Avoiding OOMs for high-order IOMMU allocations
- SMP requires the data cache to be enabled for synchronisation
primitives to work, so prevent the CPU_DCACHE_DISABLE option being
visible on SMP builds.
- A bug going back 10+ years in the noMMU ARM94* CPU support code,
where it corrupts registers. Found by folk getting Linux running
on their cameras.
- Versatile Express needs an errata workaround enabled for CPU
hot-unplug to work.
Features:
- Clean up module linker by handling out of range relocations
separately from relocation cases we don't handle.
- Fix a long term bug in the pci_mmap_page_range() code, which we
hope won't impact userspace (we hope there's no users of the
existing broken interface.)
- Don't map DMA coherent allocations when we don't have a MMU.
- Drop experimental status for SMP_ON_UP.
- Warn when DT doesn't specify ePAPR mandatory cache properties.
- Add documentation concerning how we find the start of physical
memory for AUTO_ZRELADDR kernels, detailing why we have chosen the
mask and the implications of changing it.
- Updates from Ard Biesheuvel to address some issues with large
kernels (such as allyesconfig) failing to link.
- Allow hibernation to work on modern (ARMv7) CPUs - this appears to
have never worked in the past on these CPUs.
- Enable IRQ_SHOW_LEVEL, which changes the /proc/interrupts output
format (hopefully without userspace breaking... let's hope that if
it causes someone a problem, they tell us.)
- Fix tegra-ahb DT offsets.
- Rework ARM errata 643719 code (and ARMv7 flush_cache_louis()/
flush_dcache_all()) code to be more efficient, and enable this
errata workaround by default for ARMv7+SMP CPUs. This complements
the Versatile Express fix above.
- Rework ARMv7 context code for errata 430973, so that only Cortex A8
CPUs are impacted by the branch target buffer flush when this
errata is enabled. Also update the help text to indicate that all
r1p* A8 CPUs are impacted.
- Switch ARM to the generic show_mem() implementation, it conveys all
the information which we were already reporting.
- Prevent slow timer sources being used for udelay() - timers running
at less than 1MHz are not useful for this, and can cause udelay()
to return immediately, without any wait. Using such a slow timer
is silly.
- VDSO support for 32-bit ARM, mainly for gettimeofday() using the
ARM architected timer.
- Perf support for Scorpion performance monitoring units"
vdso semantic conflict fixed up as per linux-next.
* 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (52 commits)
ARM: update errata 430973 documentation to cover Cortex A8 r1p*
ARM: ensure delay timer has sufficient accuracy for delays
ARM: switch to use the generic show_mem() implementation
ARM: proc-v7: avoid errata 430973 workaround for non-Cortex A8 CPUs
ARM: enable ARM errata 643719 workaround by default
ARM: cache-v7: optimise test for Cortex A9 r0pX devices
ARM: cache-v7: optimise branches in v7_flush_cache_louis
ARM: cache-v7: consolidate initialisation of cache level index
ARM: cache-v7: shift CLIDR to extract appropriate field before masking
ARM: cache-v7: use movw/movt instructions
ARM: allow 16-bit instructions in ALT_UP()
ARM: proc-arm94*.S: fix setup function
ARM: vexpress: fix CPU hotplug with CT9x4 tile.
ARM: 8276/1: Make CPU_DCACHE_DISABLE depend on !SMP
ARM: 8335/1: Documentation: DT bindings: Tegra AHB: document the legacy
base address
ARM: 8334/1: amba: tegra-ahb: detect and correct bogus base address
ARM: 8333/1: amba: tegra-ahb: fix register offsets in the macros
ARM: 8339/1: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL
ARM: 8338/1: kexec: Relax SMP validation to improve DT compatibility
ARM: 8337/1: mm: Do not invoke OOM for higher order IOMMU DMA
allocations
...
commit b9cc4489c68de59f7a38ef4e02a9829465a6a544
Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Date: Wed Apr 15 13:23:48 2015 +0930
params: handle quotes properly for values not of form foo="bar".
When starting kernel with arguments like:
init=/bin/sh -c "echo arguments"
the trailing double quote is not removed which results in following
command
being executed:
/bin/sh -c 'echo arguments"'
Reported-by: Arthur Gautier <baloo@xxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit bdfa54dfd9eea001274dbcd622657a904fe43b81
Merge: 2481bc7 a1307bb
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 20:51:44 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 updates from Martin Schwidefsky:
"The major change in this merge is the removal of the support for
31-bit kernels. Naturally 31-bit user space will continue to work via
the compat layer.
And then some cleanup, some improvements and bug fixes"
* 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (23 commits)
s390/smp: wait until secondaries are active & online
s390/hibernate: fix save and restore of kernel text section
s390/cacheinfo: add missing facility check
s390/syscalls: simplify syscall_get_arch()
s390/irq: enforce correct irqclass_sub_desc array size
s390: remove "64" suffix from mem64.S and swsusp_asm64.S
s390/ipl: cleanup macro usage
s390/ipl: cleanup shutdown_action attributes
s390/ipl: cleanup bin attr usage
s390/uprobes: fix address space annotation
s390: add missing arch_release_task_struct() declaration
s390: make couple of functions and variables static
s390/maccess: improve s390_kernel_write()
s390/maccess: remove potentially broken probe_kernel_write()
s390/watchdog: support for KVM hypervisors and delete pr_info messages
s390/watchdog: enable KEEPALIVE for /dev/watchdog
s390/dasd: remove setting of scheduler from driver
s390/traps: panic() instead of die() on translation exception
s390: remove test_facility(2) (== z/Architecture mode active) checks
s390/cmpxchg: simplify cmpxchg_double
...
commit edf5cffd58d8e1a4b1bd5de43bc9f0553f9910fc
Author: Greg Rose <gregory.v.rose@xxxxxxxxx>
Date: Tue Apr 7 19:45:41 2015 -0400
i40e: Use new 40G speeds
The kernel has added SPEED_40000 for ethtool.
Go ahead and use the new #define.
Change-ID: Ic7e16e5c9e91085afe539f11ee1b7668adc4d0ef
Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 0f575bf3382d5bdb58ba571b1fd573b994bb11ba
Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx>
Date: Tue Apr 7 19:45:40 2015 -0400
i40e: get rid of unused locals
These changes just remove unused variables and any code that uses them
as the results of storing into these variables doesn't have any
side effects that I can see or provide any benefit.
Change-ID: I8a5ec7132ff1443d23aae729cef94beaaaf19e3a
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit c1147280d2a336ac6723a8dc8b74f809fd6db02c
Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx>
Date: Tue Apr 7 19:45:39 2015 -0400
i40e: handle possible memory allocation failure
The init_interrupt_scheme function had a possible failure
path to allocate memory that was found by smatch.
This adds the correct handling to the function to abort
probe if the memory allocation fails.
Change-ID: I2bf1d826a244209619da4c452d0d58b3eb5e26a3
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 73b23402bb232ce655cf45aaca4f7feee317deb1
Author: Kevin Scott <kevin.c.scott@xxxxxxxxx>
Date: Tue Apr 7 19:45:38 2015 -0400
i40e/i40evf: Save WR_CSR_PROT field from DEV/FUNC capabilities
Store the 8 bytes of the WR_CSR_PROT field returned as part of the get
device/function capabilities AQ command.
Change-ID: Ifcaeea2ff29885fa769e4f384c7db88a25e8afd0
Signed-off-by: Kevin Scott <kevin.c.scott@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 2481bc75283ea10e75d5fb1a8b42af363fc4b45c
Merge: 8691c13 518b4e2
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 20:21:54 2015 -0700
Merge tag 'pm+acpi-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management and ACPI updates from Rafael Wysocki:
"These are mostly fixes and cleanups all over, although there are a few
items that sort of fall into the new feature category.
First off, we have new callbacks for PM domains that should help us to
handle some issues related to device initialization in a better way.
There also is some consolidation in the unified device properties API
area allowing us to use that inferface for accessing data coming from
platform initialization code in addition to firmware-provided data.
We have some new device/CPU IDs in a few drivers, support for new
chips and a new cpufreq driver too.
Specifics:
- Generic PM domains support update including new PM domain callbacks
to handle device initialization better (Russell King, Rafael J
Wysocki, Kevin Hilman)
- Unified device properties API update including a new mechanism for
accessing data provided by platform initialization code (Rafael J
Wysocki, Adrian Hunter)
- ARM cpuidle update including ARM32/ARM64 handling consolidation
(Daniel Lezcano)
- intel_idle update including support for the Silvermont Core in the
Baytrail SOC and for the Airmont Core in the Cherrytrail and
Braswell SOCs (Len Brown, Mathias Krause)
- New cpufreq driver for Hisilicon ACPU (Leo Yan)
- intel_pstate update including support for the Knights Landing chip
(Dasaratharaman Chandramouli, Kristen Carlson Accardi)
- QorIQ cpufreq driver update (Tang Yuantian, Arnd Bergmann)
- powernv cpufreq driver update (Shilpasri G Bhat)
- devfreq update including Tegra support changes (Tomeu Vizoso,
MyungJoo Ham, Chanwoo Choi)
- powercap RAPL (Running-Average Power Limit) driver update including
support for Intel Broadwell server chips (Jacob Pan, Mathias Krause)
- ACPI device enumeration update related to the handling of the
special PRP0001 device ID allowing DT-style 'compatible' property
to be used for ACPI device identification (Rafael J Wysocki)
- ACPI EC driver update including limited _DEP support (Lan Tianyu,
Lv Zheng)
- ACPI backlight driver update including a new mechanism to allow
native backlight handling to be forced on non-Windows 8 systems and
a new quirk for Lenovo Ideapad Z570 (Aaron Lu, Hans de Goede)
- New Windows Vista compatibility quirk for Sony VGN-SR19XN (Chen Yu)
- Assorted ACPI fixes and cleanups (Aaron Lu, Martin Kepplinger,
Masanari Iida, Mika Westerberg, Nan Li, Rafael J Wysocki)
- Fixes related to suspend-to-idle for the iTCO watchdog driver and
the ACPI core system suspend/resume code (Rafael J Wysocki, Chen Yu)
- PM tracing support for the suspend phase of system suspend/resume
transitions (Zhonghui Fu)
- Configurable delay for the system suspend/resume testing facility
(Brian Norris)
- PNP subsystem cleanups (Peter Huewe, Rafael J Wysocki)"
* tag 'pm+acpi-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (74 commits)
ACPI / scan: Fix NULL pointer dereference in acpi_companion_match()
ACPI / scan: Rework modalias creation when "compatible" is present
intel_idle: mark cpu id array as __initconst
powercap / RAPL: mark rapl_ids array as __initconst
powercap / RAPL: add ID for Broadwell server
intel_pstate: Knights Landing support
intel_pstate: remove MSR test
cpufreq: fix qoriq uniprocessor build
ACPI / scan: Take the PRP0001 position in the list of IDs into account
ACPI / scan: Simplify acpi_match_device()
ACPI / scan: Generalize of_compatible matching
device property: Introduce firmware node type for platform data
device property: Make it possible to use secondary firmware nodes
PM / watchdog: iTCO: stop watchdog during system suspend
cpufreq: hisilicon: add acpu driver
ACPI / EC: Call acpi_walk_dep_device_list() after installing EC
opregion handler
cpufreq: powernv: Report cpu frequency throttling
intel_idle: Add support for the Airmont Core in the Cherrytrail and
Braswell SOCs
intel_idle: Update support for Silvermont Core in Baytrail SOC
PM / devfreq: tegra: Register governor on module init
...
commit 3169c323cf9dc3b00b0a6a3d434968832daa4147
Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx>
Date: Tue Apr 7 19:45:37 2015 -0400
i40e: enable user dump of internal hardware state
This is a feature to enable better debugging of user reported issues by
allowing a bash script to acquire information about the internal hardware
state. The data output to the kernel log is collected by the script and
can
then be sent to Intel. This is a critical debugging feature for helping us
interpret and reproduce complex customer setups.
Change-ID: Ie8b3ab09086d6870a709015f51ada05af10b41bb
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 9abbfb486f5c254805bb6a3f263bc14d989eb90b
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Apr 15 10:17:45 2015 +0930
virtio: drop virtio_device_is_legacy_only
virtio_device_is_legacy_only is now unused, drop
it from core.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit f71d8286c1368f2dbbed5d1b59a574c7f25701e8
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Apr 15 10:17:45 2015 +0930
virtio_pci: support non-legacy balloon devices
virtio_device_is_legacy_only is always false now,
drop the test from virtio pci.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit a62d547c72cd0ed03565b4eb2167536a64bad0f4
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Apr 15 10:17:45 2015 +0930
virtio_mmio: support non-legacy balloon devices
virtio_device_is_legacy_only is always false now,
drop the test from virtio mmio.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Acked-by: Pawel Moll <pawel.moll@xxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit 2003a7a5b66fee3b1b90daa1ace62a8d762d4a34
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Apr 15 10:17:44 2015 +0930
virtio_ccw: support non-legacy balloon devices
As of last patch, virtio_device_is_legacy_only is always false,
drop the test from virtio ccw.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> (slight reword)
commit 2343dabc6096486b2705ab9420dd292801fc47f3
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Apr 15 10:17:44 2015 +0930
virtio: balloon might not be a legacy device
We added transitional device support to balloon driver,
so we don't need to black-list it in core anymore.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit df81b29c7b81b9d70ee29b7a263dd5009daa0ce4
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Apr 15 10:17:43 2015 +0930
virtio_balloon: transitional interface
Virtio 1.0 doesn't include a modern balloon device.
But it's not a big change to support a transitional
balloon device: this has the advantage of supporting
existing drivers, transparently.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit 665ae581ae82ed6a28980a32b9d37345db4eed32
Merge: 1d2add2 4195f40
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Wed Apr 15 12:47:29 2015 +1000
Merge branch 'linux-4.1' of
git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next
- gk20a iommu support
- gm107 graphics support without needing proprietary ucode
- various random fixes
- more gm20x bring-up, fifo/ce are ok, gr is mostly complete with the
exception of ctxsw ucode.. nvidia aren't playing nice yet so there's
not much more that can be done at this point...
I spent a lot of time trying to find a viable way of doing gr ctxsw
without signed firmware, but the "security" restrictions on the
fecs/gpccs falcons are excessive and go beyond what'd be necessary to
protect the host from malicious firmware. This newer nvidia hw is
VERY open-source unfriendly.
I have some experimental host-based ctxsw work that could be a viable
(albeit unsatisfactory and slow) workaround in the meantime, but it
needs some more work and i'd like to get the 3d driver working
properly before i commit to pushing it.
* 'linux-4.1' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (40
commits)
drm/nouveau/bios: fix fetching from acpi on certain systems
drm/nouveau/gr/gm206: initial init+ctx code
drm/nouveau/ce/gm206: enable support via gm204 code
drm/nouveau/fifo/gm206: enable support via gm204 code
drm/nouveau/gr/gm204: initial init+ctx code
drm/nouveau: support for buffer moves via MaxwellDmaCopyA
drm/nouveau/ce/gm204: initial support
drm/nouveau: add support for gm20x fifo channels
drm/nouveau/fifo/gm204: initial support
drm/nouveau/gr/gk104-: prevent reading non-existent regs in intr handler
drm/nouveau/gr/gm107: very slightly demagic part of attrib cb setup
drm/nouveau/gr/gk104-: correct crop/zrop num_active_fbps setting
drm/nouveau/gr/gf100-: add symbolic names for classes
drm/nouveau/gr/gm107: support tpc "strand" ctxsw in gpccs ucode
drm/nouveau/gr/gf100-: support mmio access with gpc offset from gpccs
ucode
drm/nouveau/gr: fix engine name, cosmetic search+replace mistake
drm/nouveau/pmu/gk20a: add some missing statics
drm/nouveau/platform: fix probe error path
drm/nouveau/platform: release IOMMU's mm upon exit
drm/nouveau/gr/gk104-gk20a: call pmu to disable any power-gating before
ctor()
...
commit 8d7dc9283f399e1fda4e48a1c453f689326d9396
Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 19:33:59 2015 -0700
rcu: Control grace-period delays directly from value
In a misguided attempt to avoid an #ifdef, the use of the
gp_init_delay module parameter was conditioned on the corresponding
RCU_TORTURE_TEST_SLOW_INIT Kconfig variable, using IS_ENABLED() at
the point of use in the code. This meant that the compiler always saw
the delay, which meant that RCU_TORTURE_TEST_SLOW_INIT_DELAY had to be
unconditionally defined. This in turn caused "make oldconfig" to ask
pointless questions about the value of RCU_TORTURE_TEST_SLOW_INIT_DELAY
in cases where it was not even used.
This commit avoids these pointless questions by defining gp_init_delay
under #ifdef. In one branch, gp_init_delay is initialized to
RCU_TORTURE_TEST_SLOW_INIT_DELAY and is also a module parameter (thus
allowing boot-time modification), and in the other branch gp_init_delay
is a const variable initialized by default to zero.
This approach also simplifies the code at the delay point by eliminating
the IS_DEFINED(). Because gp_init_delay is constant zero in the no-delay
case intended for production use, the "gp_init_delay > 0" check causes
the delay to become dead code, as desired in this case. In addition,
this commit replaces magic constant "10" with the preprocessor variable
PER_RCU_NODE_PERIOD, which controls the number of grace periods that
are allowed to elapse at full speed before a delay is inserted.
Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by:
Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
commit 9f9151412dd7aae0e3f51a89ae4a1f8755fdb4d0
Merge: bae97d8 f4f88c6
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Apr 14 22:29:27 2015 -0400
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue
Jeff Kirsher says:
====================
Intel Wired LAN Driver Updates 2015-04-14
This series contains updates to fm10k only.
Fixed transmit statistics which was actually using values from the
receive ring, instead of the transmit ring. Fixed up spelling mistakes
in code comments and resolved unused argument warnings. Added support
for netconsole. Fixed up statistic reporting so that we are only
reporting from actual queues as well as display PF only stats for
just the PF and not the VF. Also fixed an issue that when returning
virtualization queues from the VF back to the PF, we were retaining
the VF rate limiter.
Fixed up the driver to use a separate workqueue, which helps reduce
and stabilize latency between scheduling the work in our interrupt and
actually performing the work.
Fixed a bug where the VF tried to set a multicast address before
requesting the required xcast mode.
Fix VF multicast update since VFs were being improperly added to the
switch's mutlicast group. The error stems from the fact that incorrect
arguments were passed to the update_mc_addr().
Thanks to Alex Duyck for the extensive review.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0ee0d34985ceffe4036319e1e46df8bff591b9e3
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Wed Apr 15 04:00:27 2015 +0200
ACPICA: Store GPE register enable masks upfront
It is reported that ACPI interrupts do not work any more on
Dell Latitude D600 after commit c50f13c672df (ACPICA: Save
current masks of enabled GPEs after enable register writes).
The problem turns out to be related to the fact that the
enable_mask and enable_for_run GPE bit masks are not in
sync (in the absence of any system suspend/resume events)
for at least one GPE register on that machine.
Address this problem by writing the enable_for_run mask into
enable_mask as soon as enable_for_run is updated instead of
doing that only after the subsequent register write has
succeeded. For consistency, update acpi_hw_gpe_enable_write()
to store the bit mask to be written into the GPE register
in enable_mask unconditionally before the write.
Since the ACPI_GPE_SAVE_MASK flag is not necessary any more after
that, drop it along with the symbols depending on it.
Reported-and-tested-by: Jim Bos <jim876@xxxxxxxxx>
Fixes: c50f13c672df (ACPICA: Save current masks of enabled GPEs after
enable register writes)
Cc: 3.19+ <stable@xxxxxxxxxxxxxxx> # 3.19+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 16e00f5a5f12eb32ca39df6a7afd5c0062705af6
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Apr 14 17:01:56 2015 +1000
powerpc/pseries: Fix compile of memory hotplug without
CONFIG_MEMORY_HOTREMOVE
51925fb3c5 "powerpc/pseries: Implement memory hotplug remove in the
kernel"
broke compile when CONFIG_MEMORY_HOTREMOVE is not defined due to missing
symbols. This fixes the issue by adding the missing symbols.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 8691c130fae136bb2b7d0554422a2dff4c6ac169
Merge: c3a416a 85a3685
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 18:25:15 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input subsystem updates from Dmitry Torokhov:
"You will get the following new drivers:
- Qualcomm PM8941 power key drver
- ChipOne icn8318 touchscreen controller driver
- Broadcom iProc touchscreen and keypad drivers
- Semtech SX8654 I2C touchscreen controller driver
ALPS driver now supports newer SS4 devices; Elantech got a fix that
should make it work on some ASUS laptops; and a slew of other
enhancements and random fixes"
* 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (51 commits)
Input: alps - non interleaved V2 dualpoint has separate stick button
bits
Input: alps - fix touchpad buttons getting stuck when used with
trackpoint
Input: atkbd - document "no new force-release quirks" policy
Input: ALPS - make alps_get_pkt_id_ss4_v2() and others static
Input: ALPS - V7 devices can report 5-finger taps
Input: ALPS - add support for SS4 touchpad devices
Input: ALPS - refactor alps_set_abs_params_mt()
Input: elantech - fix absolute mode setting on some ASUS laptops
Input: atmel_mxt_ts - split out touchpad initialisation logic
Input: atmel_mxt_ts - implement support for T100 touch object
Input: cros_ec_keyb - fix clearing keyboard state on wakeup
Input: gscps2 - drop pci_ids dependency
Input: synaptics - allocate 3 slots to keep stability in image sensors
Input: Revert "Revert "synaptics - use dmax in input_mt_assign_slots""
Input: MT - make slot assignment work for overcovered solutions
mfd: tc3589x: enforce device-tree only mode
Input: tc3589x - localize platform data
Input: tsc2007 - Convert msecs to jiffies only once
Input: edt-ft5x06 - remove EV_SYN event report
Input: edt-ft5x06 - allow to setting the maximum axes value through the
DT
...
commit f18ae1009276b604ff5776b41af981f25db52240
Author: Vasu Dev <vasu.dev@xxxxxxxxx>
Date: Tue Apr 7 19:45:36 2015 -0400
i40e: print FCoE capability reported by the device function
This is to allow quick check for FCoE capability is enabled or not
in device function before any SW overrides.
Change-ID: I5f78ba798d566f143161273156916c6f4074496e
Signed-off-by: Vasu Dev <vasu.dev@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit c3a416a669eb83cfa9ccb52db030e72d654bd105
Merge: 8c194f3 2bbd681
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 18:10:45 2015 -0700
Merge branch 'i2c/for-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c updates from Wolfram Sang:
"Most notable:
- introducing the i2c_quirk infrastructure. Now, flaws of I2C
controllers can be described and the core will check if the flaws
collide with the messages to be sent
- wait_for_completion return type cleanup series
- new drivers for Digicolor, Netlogic XLP, Ingenic JZ4780
- updates to the I2C slave framework which include API changes. Its
only user was updated, too. Documentation was finally added
- changed dynamic bus numbering for the DT case. This could change
bus numbers for users. However, it fixes a collision where dynamic
and static busses request the same id.
- driver bugfixes, cleanups"
* 'i2c/for-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (52 commits)
i2c: xlp9xx: Driver for Netlogic XLP9XX/5XX I2C controller
of: Add vendor prefix 'netlogic'
i2c: davinci: use ICPFUNC to toggle I2C as gpio for bus recovery
i2c: davinci: use bus recovery infrastructure
i2c: change input parameter to i2c_adapter for
prepare/unprepare_recovery
i2c: i2c-mux-gpio: remove error messages for probe deferrals
i2c: jz4780: Add i2c bus controller driver for Ingenic JZ4780
i2c: dln2: set the device tree node of the adapter
i2c: davinci: fixup wait_for_completion_timeout handling
i2c: mpc: Fix ISR return value
i2c: slave-eeprom: add more info when to increase the pointer
i2c: slave: add documentation for i2c-slave-eeprom
Documentation: i2c: describe the new slave mode
i2c: slave: rework the slave API
i2c: add support for the Digicolor I2C controller
i2c: busses with dynamic ids should start after fixed ids for DT
of: base: add function to get highest id of an alias stem
i2c: designware: Suppress error message if platform_get_irq() < 0
i2c: mpc: assign the correct prescaler from SVR
i2c: img-scb: fixup of wait_for_completion_timeout return handling
...
commit 8c194f3bd322a8bd44d079092d870549b8ae62d1
Merge: 07e492e 5a0ff17
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 18:06:47 2015 -0700
Merge tag 'vfio-v4.1-rc1' of git://github.com/awilliam/linux-vfio
Pull VFIO updates from Alex Williamson:
- VFIO platform bus driver support (Baptiste Reynal, Antonios Motakis,
testing and review by Eric Auger)
- Split VFIO irqfd support to separate module (Alex Williamson)
- vfio-pci VGA arbiter client (Alex Williamson)
- New vfio-pci.ids= module option (Alex Williamson)
- vfio-pci D3 power state support for idle devices (Alex Williamson)
* tag 'vfio-v4.1-rc1' of git://github.com/awilliam/linux-vfio: (30
commits)
vfio-pci: Fix use after free
vfio-pci: Move idle devices to D3hot power state
vfio-pci: Remove warning if try-reset fails
vfio-pci: Allow PCI IDs to be specified as module options
vfio-pci: Add VGA arbiter client
vfio-pci: Add module option to disable VGA region access
vgaarb: Stub vga_set_legacy_decoding()
vfio: Split virqfd into a separate module for vfio bus drivers
vfio: virqfd_lock can be static
vfio: put off the allocation of "minor" in vfio_create_group
vfio/platform: implement IRQ masking/unmasking via an eventfd
vfio: initialize the virqfd workqueue in VFIO generic code
vfio: move eventfd support code for VFIO_PCI to a separate file
vfio: pass an opaque pointer on virqfd initialization
vfio: add local lock for virqfd instead of depending on VFIO PCI
vfio: virqfd: rename vfio_pci_virqfd_init and vfio_pci_virqfd_exit
vfio: add a vfio_ prefix to virqfd_enable and virqfd_disable and export
vfio/platform: support for level sensitive interrupts
vfio/platform: trigger an interrupt via eventfd
vfio/platform: initial interrupts support code
...
commit 07e492eb8921a8aa53fd2bf637bee3da94cc03fe
Merge: b240452 1dfe0d1
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 17:58:15 2015 -0700
Merge tag 'pinctrl-v4.1-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pincontrol updates from Linus Walleij:
"This is the bulk of pin control changes for the v4.1 development
cycle. Nothing really exciting this time: we basically added a few
new drivers and subdrivers and stabilized them in linux-next. Some
cleanups too. With sunrisepoint Intel has a real fine fully featured
pin control driver for contemporary hardware, and the AMD driver is
also for large deployments. Most of the others are ARM devices.
New drivers:
- Intel Sunrisepoint
- AMD KERNCZ GPIO
- Broadcom Cygnus IOMUX
New subdrivers:
- Marvell MVEBU Armada 39x SoCs
- Samsung Exynos 5433
- nVidia Tegra 210
- Mediatek MT8135
- Mediatek MT8173
- AMLogic Meson8b
- Qualcomm PM8916
On top of this cleanups and development history for the above drivers
as issues were fixed after merging"
* tag 'pinctrl-v4.1-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (71 commits)
pinctrl: sirf: move sgpio lock into state container
pinctrl: Add support for PM8916 GPIO's and MPP's
pinctrl: bcm2835: Fix support for threaded level triggered IRQs
sh-pfc: r8a7790: add EtherAVB pin groups
pinctrl: Document "function" + "pins" pinmux binding
pinctrl: intel: Add Intel Sunrisepoint pin controller and GPIO support
pinctrl: fsl: imx: Check for 0 config register
pinctrl: Add support for Meson8b
documentation: Extend pinctrl docs for Meson8b
pinctrl: Cleanup Meson8 driver
Fix inconsistent spinlock of AMD GPIO driver which can be recognized by
static analysis tool smatch. Declare constant Variables with Sparse's
suggestion.
pinctrl: at91: convert __raw to endian agnostic IO
pinctrl: constify of_device_id array
pinctrl: pinconf-generic: add dt node names to error messages
pinctrl: pinconf-generic: scan also referenced phandle node
pinctrl: mvebu: add suspend/resume support to Armada XP pinctrl driver
pinctrl: st: Display pin's function when printing pinctrl debug
information
pinctrl: st: Show correct pin direction also in GPIO mode
pinctrl: st: Supply a GPIO get_direction() call-back
pinctrl: st: Move st_get_pio_control() further up the source file
...
commit 57175ac1987bf770122f6fe5056fe73269add00f
Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx>
Date: Tue Apr 7 19:45:35 2015 -0400
i40e: For VF reset (VFR and VFLR) add some more delay
With a HW issue that was recently discovered, after a VFLR HW might be
indicating to us a reset completion little too early. So wait another 10
msec for cache to be cleaned up.
Change-ID: I6a24dcf5dd7ffcd6500246e717411ef58532d1e9
Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit b240452a0f5846280e25be7c5a507a99b382fd10
Merge: f0c1bc9 b1f85c0
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 17:54:22 2015 -0700
Merge tag 'backlight-for-linus-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight
Pull backlight updates from Lee Jones:
"Changes to existing drivers:
- Use of_get_child_by_name() instead of refcount; 88pm860x_bl
- Terminate array with NULL element; da9052_bl"
* tag 'backlight-for-linus-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
backlight: da9052_bl: Terminate da9052_wled_ids array with empty element
backlight: 88pm860x_bl: Use of_get_child_by_name() instead of refcount
hack
commit 532b045588f5a0f65df90e5d3de1afe89926449e
Author: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Date: Tue Apr 7 19:45:34 2015 -0400
i40e: move VF notification routines up
Move the VF notification functions to the top of the file. This
eliminates an unnecessary declaration.
Change-ID: I036171f14180ee9f0ce4e0a21334d6a217d06c94
Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 492a22aceb75e34e7b1c1b300ecc8bef2a2f42dc
Author: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx>
Date: Tue Apr 7 22:23:49 2015 +0300
of: unittest: overlay: Keep track of created overlays
During the course of the overlay selftests some of them remain
applied. While this does not pose a real problem, make sure you track
them and destroy them at the end of the test.
Signed-off-by: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit 05f4647b10233dd2e18106abb16ff7fb68abbd08
Author: Ricky Liang <jcliang@xxxxxxxxxxxx>
Date: Tue Apr 14 12:36:05 2015 +0800
of/fdt: fix allocation size for device node path
The allocation size of device node path is off by one which drops the
'\0' terminator.
Signed-off-by: Ricky Liang <jcliang@xxxxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit ebc5e20082160df384dedbe1c95066c3e545b689
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Apr 9 13:05:18 2015 -0700
serial: of_serial: Support big-endian register accesses
If the device node has a "big-endian" property and 32-bit registers, tell
the serial driver to use UPIO_MEM32BE instead of UPIO_MEM32.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit c627f2ceb692e8a9358b64ac2d139314e7bb0d17
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Apr 9 13:05:17 2015 -0700
serial: 8250: Add support for big-endian MMIO accesses
Add cases for UPIO_MEM32BE wherever there are currently cases handling
UPIO_MEM32.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit 65a71007a20cfe7ebd456d72c0bb155fe42de963
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Apr 9 13:05:16 2015 -0700
of: Document {little,big,native}-endian bindings
These apply to newly converted drivers, like serial8250/libahci/...
The examples were adapted from the regmap bindings document.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit cc7837867a559feba70fdf68eb53c24a84e3712f
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Apr 9 13:05:15 2015 -0700
of/fdt: Add endianness helper function for early init code
Provide a libfdt-based equivalent for of_device_is_big_endian(), suitable
for use in the early_init_* functions.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit 37786c7fee40771d13901de129af7e084ed48b55
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Apr 9 13:05:14 2015 -0700
of: Add helper function to check MMIO register endianness
SoC peripherals can come in several different flavors:
- little-endian: registers always need to be accessed in LE mode (so the
kernel should perform a swap if the CPU is running BE)
- big-endian: registers always need to be accessed in BE mode (so the
kernel should perform a swap if the CPU is running LE)
- native-endian: the bus will automatically swap accesses, so the kernel
should never swap
Introduce a function that checks an OF device node to see whether it
contains a "big-endian" or "native-endian" property. For the former case,
always return true. For the latter case, return true iff the kernel was
built for BE (implying that the BE MMIO accessors do not perform a swap).
Otherwise return false, assuming LE registers.
LE registers are assumed by default because most existing drivers
(libahci,
serial8250, usb) always use readl/writel in the absence of instructions
to the contrary, so that will be our fallback.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit c954b36e3f5bfdd5aeceba49614a4864d7efec87
Author: Florian Fainelli <f.fainelli@xxxxxxxxx>
Date: Sun Apr 12 13:16:26 2015 -0700
of/fdt: Remove "reg" data prints from early_init_dt_scan_memory
Commit 51975db0b7333 ("of/flattree: merge early_init_dt_scan_memory()
common code") consolidated some code from PowerPC (typically
big-endian), and ended-up adding a pr_debug() printing reg properties in
big-endian (DT native) format, not CPU endian.
This debug print suffers from two problems:
- we only print 4 "reg" values, while there could be more on typical
systems having multiple memory ranges
- we print these 4 "reg" values in FDT endianess, that is big-endian,
and these values could be confusing for little-endian configurations
Since we are already printing the base address and size of the memory
regions parsed by early_init_dt_scan_memory() later in a way that is
both endian correct, and takes into account arbitrary number of memory
banks, just remove that part of the debug print.
Suggested-by: Frank Rowand <frowand.list@xxxxxxxxx>
Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit 3712655914530479b424e6f3db2130c48b931a41
Author: Alessio Igor Bogani <alessio.bogani@xxxxxxxxxx>
Date: Wed Apr 8 11:04:39 2015 +0200
of: add vendor prefix for Artesyn
Signed-off-by: Alessio Igor Bogani <alessio.bogani@xxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit 055b295d99adb246b2b9284e1d1e602630c119e3
Author: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Date: Tue Apr 7 19:45:33 2015 -0400
i40e: notify VFs of link state
Gratuitously notify VFs of link state when they activate their queues.
In general, this is the last thing that a VF driver will do as it opens
its interface, so this is a good time to notify the VF.
Currently, VF devices assume link is up unless told otherwise, which
means that VFs instantiated on a PF with no link will report the wrong
state. This change corrects that issue.
Change-ID: Iea53622904ecc681ac3f8938d81c30033ef9a0a6
Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit f0c1bc95a108b36677dde6c9d96a5bb810a05b75
Merge: 1dcf58d e554a99
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 17:29:55 2015 -0700
Merge tag 'mfd-for-linus-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
Pull MFD updates from Lee Jones:
"Changes to existing drivers:
- Rename child driver [axp288_battery => axp288_fuel_gauge]; axp20x
- Rename child driver [max77693-flash => max77693-led]; max77693
- Error handling fixes; intel_soc_pmic
- GPIO tweaking; intel_soc_pmic
- Remove non-DT code; vexpress-sysreg, tc3589x
- Remove unused/legacy code; ti_am335x_tscadc, rts5249, rtsx_gops,
rtsx_pcr,
rtc-s5m, sec-core, max77693, menelaus,
wm5102-tables
- Trivial fixups; rtsx_pci, da9150-core, sec-core, max7769, max77693,
mc13xxx-core, dln2, hi6421-pmic-core, rk808,
twl4030-power,
lpc_ich, menelaus, twl6040
- Update register/address values; rts5227, rts5249
- DT and/or binding document fixups; arizona, da9150, mt6397, axp20x,
qcom-rpm, qcom-spmi-pmic
- Couple of trivial core Kconfig fixups
- Remove use of seq_printf return value; ab8500-debugfs
- Remove __exit markups; menelaus, tps65010
- Fix platform-device name collisions; mfd-core
New drivers/supported devices:
- Add support for wm8280/wm8281 into arizona
- Add support for COMe-cBL6 into kempld-core
- Add support for rts524a and rts525a into rts5249
- Add support for ipq8064 into qcom_rpm
- Add support for extcon into axp20x
- New MediaTek MT6397 PMIC driver
- New Maxim MAX77843 PMIC dirver
- New Intel Quark X1000 I2C-GPIO driver
- New Skyworks SKY81452 driver"
* tag 'mfd-for-linus-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (76 commits)
mfd: sec: Fix RTC alarm interrupt number on S2MPS11
mfd: wm5102: Remove registers for output 3R from readable list
mfd: tps65010: Remove incorrect __exit markups
mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes
mfd: axp20x: Add support for extcon cell
mfd: lpc_ich: Sort IDs
mfd: twl6040: Remove wrong and unneeded "platform:twl6040" modalias
mfd: qcom-spmi-pmic: Add specific compatible strings for Qualcomm's
SPMI PMIC's
mfd: axp20x: Fix duplicate const for model names
mfd: menelaus: Use macro for magic number
mfd: menelaus: Drop support for SW controller VCORE
mfd: menelaus: Delete omap_has_menelaus
mfd: arizona: Correct type of gpio_defaults
mfd: lpc_ich: Sort IDs
mfd: Fix a typo in Kconfig
mfd: qcom_rpm: Add support for IPQ8064
mfd: devicetree: qcom_rpm: Document IPQ8064 resources
mfd: core: Fix platform-device name collisions
mfd: intel_quark_i2c_gpio: Don't crash if !DMI
dt-bindings: Add vendor-prefix for X-Powers
...
commit d616a703a52cf972425cddd43fc01cd4ef867faf
Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Sun Apr 5 16:59:25 2015 +0200
of: Add dummy of_irq_to_resource_table() for IRQ_OF=n
If CONFIG_IRQ_OF=n:
drivers/built-in.o: In function `of_device_alloc':
(.text+0x72bce): undefined reference to `of_irq_to_resource_table'
make: *** [vmlinux] Error 1
of_device_alloc() calls of_irq_to_resource_table() with nr_irqs = 0 due
to of_irq_count() already being a dummy, so just add a dummy for
of_irq_to_resource_table(), too.
Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit 63c60e3a6dc3eca53714e8a1784c985a552bc5cd
Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Sun Apr 5 16:59:24 2015 +0200
of: OF_IRQ should depend on IRQ_DOMAIN
If CONFIG_IRQ_DOMAIN=n:
drivers/of/irq.c: In function â??of_irq_getâ??:
drivers/of/irq.c:406: error: implicit declaration of function
â??irq_find_hostâ??
drivers/of/irq.c:406: warning: assignment makes pointer from integer
without a cast
make[2]: *** [drivers/of/irq.o] Error 1
Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit ed636960c3b5a44e59eccafef94837d14e3bc10f
Author: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Date: Tue Apr 7 19:45:32 2015 -0400
i40evf: remove aq_pending
The aq_pending field in the adapter structure is actually redundant with
the current_op field. Remove the aq_pending field and expunge all traces
of it from the official record. This simplifies the code significantly,
especially in the virtual channel completion routine.
Change-ID: Ib2957c8c19882bd0cecc6fcd133912c24b46a1ff
Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit e7c8c60bc5d48994a67e4b1c7bfb01d6979dbc54
Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx>
Date: Tue Apr 7 19:45:31 2015 -0400
i40e: Add support to program FDir SB rules for VF from PF through ethtool
With this patch we can now add Flow director Sideband rules for a VF from
it's PF. Here is an example on how it can be done when VF id = 5 and
queue = 2:
"ethtool -N ethx flow-type udp4 src-ip x.x.x.x dst-ip y.y.y.y src-port p1
dst-port p2 action 2 user-def 5"
User-def specifies VF id and action specifies queue.
Change-ID: Ib37d6dff3823a4d85caffde638473891c38c2b89
Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 5deeb5cece3f9b30c8129786726b9d02c412c8ca
Author: Richard Guy Briggs <rgb@xxxxxxxxxx>
Date: Tue Apr 14 11:01:02 2015 -0400
lsm: copy comm before calling audit_log to avoid race in string printing
When task->comm is passed directly to audit_log_untrustedstring() without
getting a copy or using the task_lock, there is a race that could happen
that
would output a NULL (\0) in the middle of the output string that would
effectively truncate the rest of the report text after the comm= field in
the
audit log message, losing fields.
Using get_task_comm() to get a copy while acquiring the task_lock to
prevent
this and to prevent the result from being a mixture of old and new values
of
comm would incur potentially unacceptable overhead, considering that the
value
can be influenced by userspace and therefore untrusted anyways.
Copy the value before passing it to audit_log_untrustedstring() ensures
that a
local copy is used to calculate the length *and* subsequently printed.
Even if
this value contains a mix of old and new values, it will only calculate
and
copy up to the first NULL, preventing the rest of the audit log message
being
truncated.
Use a second local copy of comm to avoid a race between the first and
second
calls to audit_log_untrustedstring() with comm.
Reported-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx>
Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx>
commit 2619ef475f7607f1cf1c434d4adca2593a59a6e6
Author: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Date: Tue Apr 7 19:45:30 2015 -0400
i40evf: fix bad indentation
Not sure how this slipped through. Cosmetic change only.
Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 0604949ce3b9a59cff419daf706272620a9a0df0
Author: Ming-ting Yao Wei <mwei@xxxxxxxx>
Date: Tue Apr 14 16:59:11 2015 -0700
Input: xpad - add rumble support for Xbox One controller
This adds rumble support for Xbox One controller by sending continuous
rumble command. Trigger button rumbling is not yet implemented.
Signed-off-by: Ming-ting Yao Wei <mwei@xxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 444346385249603f8970314dcdb058d84a2530a4
Author: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Date: Tue Apr 7 11:32:55 2015 -0700
i40e: stop VF rings
Explicitly stop the rings belonging to each VF when disabling SR-IOV.
Even though the VFs were gone, and the associated VSIs were removed,
the rings were not stopped, and in some circumstances the hardware would
continue to access the memory formerly used by the rings, causing
memory corruption or DMAR errors, both of which would lead to general
malaise of the kernel.
To relieve this condition, explicitly stop all the rings associated with
each VF before releasing its resources.
Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 1dcf58d6e6e6eb7ec10e9abc56887b040205b06f
Merge: 80dcc31 e4b0db7
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 16:49:17 2015 -0700
Merge branch 'akpm' (patches from Andrew)
Merge first patchbomb from Andrew Morton:
- arch/sh updates
- ocfs2 updates
- kernel/watchdog feature
- about half of mm/
* emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (122
commits)
Documentation: update arch list in the 'memtest' entry
Kconfig: memtest: update number of test patterns up to 17
arm: add support for memtest
arm64: add support for memtest
memtest: use phys_addr_t for physical addresses
mm: move memtest under mm
mm, hugetlb: abort __get_user_pages if current has been oom killed
mm, mempool: do not allow atomic resizing
memcg: print cgroup information when system panics due to panic_on_oom
mm: numa: remove migrate_ratelimited
mm: fold arch_randomize_brk into ARCH_HAS_ELF_RANDOMIZE
mm: split ET_DYN ASLR from mmap ASLR
s390: redefine randomize_et_dyn for ELF_ET_DYN_BASE
mm: expose arch_mmap_rnd when available
s390: standardize mmap_rnd() usage
powerpc: standardize mmap_rnd() usage
mips: extract logic for mmap_rnd()
arm64: standardize mmap_rnd() usage
x86: standardize mmap_rnd() usage
arm: factor out mmap ASLR into mmap_rnd
...
commit e4b0db72be2487bae0e3251c22f82c104f7c1cfd
Author: Vladimir Murzin <vladimir.murzin@xxxxxxx>
Date: Tue Apr 14 15:48:43 2015 -0700
Documentation: update arch list in the 'memtest' entry
Since arm64/arm support memtest command line option update the "memtest"
entry.
Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 8d8cfb47d67ef38f49f97fc0cd3cfe2b5dc8642e
Author: Vladimir Murzin <vladimir.murzin@xxxxxxx>
Date: Tue Apr 14 15:48:40 2015 -0700
Kconfig: memtest: update number of test patterns up to 17
Additional test patterns for memtest were introduced since commit
63823126c221 ("x86: memtest: add additional (regular) test patterns"),
but looks like Kconfig was not updated that time.
Update Kconfig entry with the actual number of maximum test patterns.
Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d30eae473360aea25e0584d4fbf6a70417d89784
Author: Vladimir Murzin <vladimir.murzin@xxxxxxx>
Date: Tue Apr 14 15:48:37 2015 -0700
arm: add support for memtest
Add support for memtest command line option.
Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx>
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 36dd9086cb31613ace45e94c18a17241d3d0aac4
Author: Vladimir Murzin <vladimir.murzin@xxxxxxx>
Date: Tue Apr 14 15:48:33 2015 -0700
arm64: add support for memtest
Add support for memtest command line option.
Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx>
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Tested-by: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7f70baeeb9e2d2b2a37a4bd3727d709547c4ae41
Author: Vladimir Murzin <vladimir.murzin@xxxxxxx>
Date: Tue Apr 14 15:48:30 2015 -0700
memtest: use phys_addr_t for physical addresses
Since memtest might be used by other architectures pass input parameters
as phys_addr_t instead of long to prevent overflow.
Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx>
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Tested-by: Mark Rutland <mark.rutland@xxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 4a20799d11f64e6b8725cacc7619b1ae1dbf9acd
Author: Vladimir Murzin <vladimir.murzin@xxxxxxx>
Date: Tue Apr 14 15:48:27 2015 -0700
mm: move memtest under mm
Memtest is a simple feature which fills the memory with a given set of
patterns and validates memory contents, if bad memory regions is detected
it reserves them via memblock API. Since memblock API is widely used by
other architectures this feature can be enabled outside of x86 world.
This patch set promotes memtest to live under generic mm umbrella and
enables memtest feature for arm/arm64.
It was reported that this patch set was useful for tracking down an issue
with some errant DMA on an arm64 platform.
This patch (of 6):
There is nothing platform dependent in the core memtest code, so other
platforms might benefit from this feature too.
[linux@xxxxxxxxxxxx: MEMTEST depends on MEMBLOCK]
Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx>
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Tested-by: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
Cc: Paul Bolle <pebolle@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 02057967b5d3b77ed47f06ee8fe98e2687fdf18b
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Tue Apr 14 15:48:24 2015 -0700
mm, hugetlb: abort __get_user_pages if current has been oom killed
If __get_user_pages() is faulting a significant number of hugetlb pages,
usually as the result of mmap(MAP_LOCKED), it can potentially allocate a
very large amount of memory.
If the process has been oom killed, this will cause a lot of memory to
potentially deplete memory reserves.
In the same way that commit 4779280d1ea4 ("mm: make get_user_pages()
interruptible") aborted for pending SIGKILLs when faulting non-hugetlb
memory, based on the premise of commit 462e00cc7151 ("oom: stop
allocating user memory if TIF_MEMDIE is set"), hugetlb page faults now
terminate when the process has been oom killed.
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Acked-by: Rik van Riel <riel@xxxxxxxxxx>
Acked-by: Greg Thelen <gthelen@xxxxxxxxxx>
Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Acked-by: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 11d83360452ea2a95e699da01f8e1bcc4676a5de
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Tue Apr 14 15:48:21 2015 -0700
mm, mempool: do not allow atomic resizing
Allocating a large number of elements in atomic context could quickly
deplete memory reserves, so just disallow atomic resizing entirely.
Nothing currently uses mempool_resize() with anything other than
GFP_KERNEL, so convert existing callers to drop the gfp_mask.
[akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Acked-by: Steffen Maier <maier@xxxxxxxxxxxxxxxxxx> [zfcp]
Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Cc: Steve French <sfrench@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 2415b9f5cb048a803b30b790af994ba71ff0bd4c
Author: Balasubramani Vivekanandan <balu252@xxxxxxxxx>
Date: Tue Apr 14 15:48:18 2015 -0700
memcg: print cgroup information when system panics due to panic_on_oom
If kernel panics due to oom, caused by a cgroup reaching its limit, when
'compulsory panic_on_oom' is enabled, then we will only see that the OOM
happened because of "compulsory panic_on_oom is enabled" but this doesn't
tell the difference between mempolicy and memcg. And dumping system wide
information is plain wrong and more confusing. This patch provides the
information of the cgroup whose limit triggerred panic
Signed-off-by: Balasubramani Vivekanandan
<balasubramani_vivekanandan@xxxxxxxxxx>
Acked-by: Michal Hocko <mhocko@xxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 2a8e70026435ad97570a1e0a0c4c941e0f700a3e
Author: Mel Gorman <mgorman@xxxxxxx>
Date: Tue Apr 14 15:48:15 2015 -0700
mm: numa: remove migrate_ratelimited
This code is dead since commit 9e645ab6d089 ("sched/numa: Continue PTE
scanning even if migrate rate limited") so remove it.
Signed-off-by: Mel Gorman <mgorman@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 204db6ed17743000691d930368a5abd6ea541c58
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Tue Apr 14 15:48:12 2015 -0700
mm: fold arch_randomize_brk into ARCH_HAS_ELF_RANDOMIZE
The arch_randomize_brk() function is used on several architectures,
even those that don't support ET_DYN ASLR. To avoid bulky extern/#define
tricks, consolidate the support under CONFIG_ARCH_HAS_ELF_RANDOMIZE for
the architectures that support it, while still handling CONFIG_COMPAT_BRK.
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Hector Marco-Gisbert <hecmargi@xxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: "David A. Long" <dave.long@xxxxxxxxxx>
Cc: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Cc: Arun Chandran <achandran@xxxxxxxxxx>
Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx>
Cc: Min-Hua Chen <orca.chen@xxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx>
Cc: Markos Chandras <markos.chandras@xxxxxxxxxx>
Cc: Vineeth Vijayan <vvijayan@xxxxxxxxxx>
Cc: Jeff Bailey <jeffbailey@xxxxxxxxxx>
Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
Cc: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
Cc: Ismael Ripoll <iripoll@xxxxxx>
Cc: Jan-Simon Mller <dl9pf@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d1fd836dcf00d2028c700c7e44d2c23404062c90
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Tue Apr 14 15:48:07 2015 -0700
mm: split ET_DYN ASLR from mmap ASLR
This fixes the "offset2lib" weakness in ASLR for arm, arm64, mips,
powerpc, and x86. The problem is that if there is a leak of ASLR from
the executable (ET_DYN), it means a leak of shared library offset as
well (mmap), and vice versa. Further details and a PoC of this attack
is available here:
http://cybersecurity.upv.es/attacks/offset2lib/offset2lib.html
With this patch, a PIE linked executable (ET_DYN) has its own ASLR
region:
$ ./show_mmaps_pie
54859ccd6000-54859ccd7000 r-xp ... /tmp/show_mmaps_pie
54859ced6000-54859ced7000 r--p ... /tmp/show_mmaps_pie
54859ced7000-54859ced8000 rw-p ... /tmp/show_mmaps_pie
7f75be764000-7f75be91f000 r-xp ... /lib/x86_64-linux-gnu/libc.so.6
7f75be91f000-7f75beb1f000 ---p ... /lib/x86_64-linux-gnu/libc.so.6
7f75beb1f000-7f75beb23000 r--p ... /lib/x86_64-linux-gnu/libc.so.6
7f75beb23000-7f75beb25000 rw-p ... /lib/x86_64-linux-gnu/libc.so.6
7f75beb25000-7f75beb2a000 rw-p ...
7f75beb2a000-7f75beb4d000 r-xp ... /lib64/ld-linux-x86-64.so.2
7f75bed45000-7f75bed46000 rw-p ...
7f75bed46000-7f75bed47000 r-xp ...
7f75bed47000-7f75bed4c000 rw-p ...
7f75bed4c000-7f75bed4d000 r--p ... /lib64/ld-linux-x86-64.so.2
7f75bed4d000-7f75bed4e000 rw-p ... /lib64/ld-linux-x86-64.so.2
7f75bed4e000-7f75bed4f000 rw-p ...
7fffb3741000-7fffb3762000 rw-p ... [stack]
7fffb377b000-7fffb377d000 r--p ... [vvar]
7fffb377d000-7fffb377f000 r-xp ... [vdso]
The change is to add a call the newly created arch_mmap_rnd() into the
ELF loader for handling ET_DYN ASLR in a separate region from mmap ASLR,
as was already done on s390. Removes CONFIG_BINFMT_ELF_RANDOMIZE_PIE,
which is no longer needed.
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Reported-by: Hector Marco-Gisbert <hecmargi@xxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: "David A. Long" <dave.long@xxxxxxxxxx>
Cc: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Cc: Arun Chandran <achandran@xxxxxxxxxx>
Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx>
Cc: Min-Hua Chen <orca.chen@xxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx>
Cc: Markos Chandras <markos.chandras@xxxxxxxxxx>
Cc: Vineeth Vijayan <vvijayan@xxxxxxxxxx>
Cc: Jeff Bailey <jeffbailey@xxxxxxxxxx>
Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
Cc: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
Cc: Ismael Ripoll <iripoll@xxxxxx>
Cc: Jan-Simon Mller <dl9pf@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit c6f5b001e65cdac592b65a08c5d2dd179cfba568
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Tue Apr 14 15:48:04 2015 -0700
s390: redefine randomize_et_dyn for ELF_ET_DYN_BASE
In preparation for moving ET_DYN randomization into the ELF loader (which
requires a static ELF_ET_DYN_BASE), this redefines s390's existing ET_DYN
randomization in a call to arch_mmap_rnd(). This refactoring results in
the same ET_DYN randomization on s390.
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 2b68f6caeac271620cd2f9362aeaed360e317df0
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Tue Apr 14 15:48:00 2015 -0700
mm: expose arch_mmap_rnd when available
When an architecture fully supports randomizing the ELF load location,
a per-arch mmap_rnd() function is used to find a randomized mmap base.
In preparation for randomizing the location of ET_DYN binaries
separately from mmap, this renames and exports these functions as
arch_mmap_rnd(). Additionally introduces CONFIG_ARCH_HAS_ELF_RANDOMIZE
for describing this feature on architectures that support it
(which is a superset of ARCH_BINFMT_ELF_RANDOMIZE_PIE, since s390
already supports a separated ET_DYN ASLR from mmap ASLR without the
ARCH_BINFMT_ELF_RANDOMIZE_PIE logic).
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Hector Marco-Gisbert <hecmargi@xxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: "David A. Long" <dave.long@xxxxxxxxxx>
Cc: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Cc: Arun Chandran <achandran@xxxxxxxxxx>
Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx>
Cc: Min-Hua Chen <orca.chen@xxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx>
Cc: Markos Chandras <markos.chandras@xxxxxxxxxx>
Cc: Vineeth Vijayan <vvijayan@xxxxxxxxxx>
Cc: Jeff Bailey <jeffbailey@xxxxxxxxxx>
Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
Cc: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
Cc: Ismael Ripoll <iripoll@xxxxxx>
Cc: Jan-Simon Mller <dl9pf@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 8e89a356feb6f196824a72101861d931a97ac2d2
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Tue Apr 14 15:47:57 2015 -0700
s390: standardize mmap_rnd() usage
In preparation for splitting out ET_DYN ASLR, this refactors the use of
mmap_rnd() to be used similarly to arm and x86, and extracts the
checking of PF_RANDOMIZE.
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ed6322746afb74c2509e2f3a6464182793b16eb9
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Tue Apr 14 15:47:54 2015 -0700
powerpc: standardize mmap_rnd() usage
In preparation for splitting out ET_DYN ASLR, this refactors the use of
mmap_rnd() to be used similarly to arm and x86.
(Can mmap ASLR be safely enabled in the legacy mmap case here? Other
archs use "mm->mmap_base = TASK_UNMAPPED_BASE + random_factor".)
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 1f0569df0b0285e7ec2432d804a4921b06a61618
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Tue Apr 14 15:47:51 2015 -0700
mips: extract logic for mmap_rnd()
In preparation for splitting out ET_DYN ASLR, extract the mmap ASLR
selection into a separate function.
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit dd04cff1dceab18226853b555cf07914648a235f
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Tue Apr 14 15:47:48 2015 -0700
arm64: standardize mmap_rnd() usage
In preparation for splitting out ET_DYN ASLR, this refactors the use of
mmap_rnd() to be used similarly to arm and x86. This additionally
enables mmap ASLR on legacy mmap layouts, which appeared to be missing
on arm64, and was already supported on arm. Additionally removes a
copy/pasted declaration of an unused function.
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 82168140bc4cec7ec9bad39705518541149ff8b7
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Tue Apr 14 15:47:45 2015 -0700
x86: standardize mmap_rnd() usage
In preparation for splitting out ET_DYN ASLR, this refactors the use of
mmap_rnd() to be used similarly to arm, and extracts the checking of
PF_RANDOMIZE.
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit fbbc400f3924ce095b466c776dc294727ec0a202
Author: Kees Cook <keescook@xxxxxxxxxxxx>
Date: Tue Apr 14 15:47:41 2015 -0700
arm: factor out mmap ASLR into mmap_rnd
To address the "offset2lib" ASLR weakness[1], this separates ET_DYN ASLR
from mmap ASLR, as already done on s390. The architectures that are
already randomizing mmap (arm, arm64, mips, powerpc, s390, and x86), have
their various forms of arch_mmap_rnd() made available via the new
CONFIG_ARCH_HAS_ELF_RANDOMIZE. For these architectures,
arch_randomize_brk() is collapsed as well.
This is an alternative to the solutions in:
https://lkml.org/lkml/2015/2/23/442
I've been able to test x86 and arm, and the buildbot (so far) seems happy
with building the rest.
[1] http://cybersecurity.upv.es/attacks/offset2lib/offset2lib.html
This patch (of 10):
In preparation for splitting out ET_DYN ASLR, this moves the ASLR
calculations for mmap on ARM into a separate routine, similar to x86.
This also removes the redundant check of personality (PF_RANDOMIZE is
already set before calling arch_pick_mmap_layout).
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Hector Marco-Gisbert <hecmargi@xxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: "David A. Long" <dave.long@xxxxxxxxxx>
Cc: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Cc: Arun Chandran <achandran@xxxxxxxxxx>
Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx>
Cc: Min-Hua Chen <orca.chen@xxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx>
Cc: Markos Chandras <markos.chandras@xxxxxxxxxx>
Cc: Vineeth Vijayan <vvijayan@xxxxxxxxxx>
Cc: Jeff Bailey <jeffbailey@xxxxxxxxxx>
Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
Cc: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
Cc: Ismael Ripoll <iripoll@xxxxxx>
Cc: Jan-Simon Mller <dl9pf@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit a87938b2e246b81b4fb713edb371a9fa3c5c3c86
Author: Michael Davidson <md@xxxxxxxxxx>
Date: Tue Apr 14 15:47:38 2015 -0700
fs/binfmt_elf.c: fix bug in loading of PIE binaries
With CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE enabled, and a normal top-down
address allocation strategy, load_elf_binary() will attempt to map a PIE
binary into an address range immediately below mm->mmap_base.
Unfortunately, load_elf_ binary() does not take account of the need to
allocate sufficient space for the entire binary which means that, while
the first PT_LOAD segment is mapped below mm->mmap_base, the subsequent
PT_LOAD segment(s) end up being mapped above mm->mmap_base into the are
that is supposed to be the "gap" between the stack and the binary.
Since the size of the "gap" on x86_64 is only guaranteed to be 128MB this
means that binaries with large data segments > 128MB can end up mapping
part of their data segment over their stack resulting in corruption of the
stack (and the data segment once the binary starts to run).
Any PIE binary with a data segment > 128MB is vulnerable to this although
address randomization means that the actual gap between the stack and the
end of the binary is normally greater than 128MB. The larger the data
segment of the binary the higher the probability of failure.
Fix this by calculating the total size of the binary in the same way as
load_elf_interp().
Signed-off-by: Michael Davidson <md@xxxxxxxxxx>
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Jiri Kosina <jkosina@xxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit b1b0deabbffa922fed808d4a5d99d03372a4c701
Author: Chen Gang <762976180@xxxxxx>
Date: Tue Apr 14 15:47:35 2015 -0700
mm: memcontrol: let mem_cgroup_move_account() have effect only if MMU
enabled
When !MMU, it will report warning. The related warning with allmodconfig
under c6x:
CC mm/memcontrol.o
mm/memcontrol.c:2802:12: warning: 'mem_cgroup_move_account' defined but
not used [-Wunused-function]
static int mem_cgroup_move_account(struct page *page,
^
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Acked-by: Michal Hocko <mhocko@xxxxxxx>
Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6b6378355b925050eb6fa966742d8c2d65ff0d83
Author: Toshi Kani <toshi.kani@xxxxxx>
Date: Tue Apr 14 15:47:32 2015 -0700
x86, mm: support huge KVA mappings on x86
Implement huge KVA mapping interfaces on x86.
On x86, MTRRs can override PAT memory types with a 4KB granularity. When
using a huge page, MTRRs can override the memory type of the huge page,
which may lead a performance penalty. The processor can also behave in an
undefined manner if a huge page is mapped to a memory range that MTRRs
have mapped with multiple different memory types. Therefore, the mapping
code falls back to use a smaller page size toward 4KB when a mapping range
is covered by non-WB type of MTRRs. The WB type of MTRRs has no affect on
the PAT memory types.
pud_set_huge() and pmd_set_huge() call mtrr_type_lookup() to see if a
given range is covered by MTRRs. MTRR_TYPE_WRBACK indicates that the
range is either covered by WB or not covered and the MTRR default value is
set to WB. 0xFF indicates that MTRRs are disabled.
HAVE_ARCH_HUGE_VMAP is selected when X86_64 or X86_32 with X86_PAE is set.
X86_32 without X86_PAE is not supported since such config can unlikey be
benefited from this feature, and there was an issue found in testing.
[fengguang.wu@xxxxxxxxx: ioremap_pud_capable can be static]
Signed-off-by: Toshi Kani <toshi.kani@xxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxx>
Cc: Robert Elliott <Elliott@xxxxxx>
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 5d72b4fba40ef4b3f7a1a11d6aacc85d9af81561
Author: Toshi Kani <toshi.kani@xxxxxx>
Date: Tue Apr 14 15:47:29 2015 -0700
x86, mm: support huge I/O mapping capability I/F
Implement huge I/O mapping capability interfaces for ioremap() on x86.
IOREMAP_MAX_ORDER is defined to PUD_SHIFT on x86/64 and PMD_SHIFT on
x86/32, which overrides the default value defined in <linux/vmalloc.h>.
Signed-off-by: Toshi Kani <toshi.kani@xxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxx>
Cc: Robert Elliott <Elliott@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit b9820d8f39f816b67112eb7ec5cdc4c1655ff060
Author: Toshi Kani <toshi.kani@xxxxxx>
Date: Tue Apr 14 15:47:26 2015 -0700
mm: change vunmap to tear down huge KVA mappings
Change vunmap_pmd_range() and vunmap_pud_range() to tear down huge KVA
mappings when they are set. pud_clear_huge() and pmd_clear_huge() return
zero when no-operation is performed, i.e. huge page mapping was not used.
These changes are only enabled when CONFIG_HAVE_ARCH_HUGE_VMAP is defined
on the architecture.
[akpm@xxxxxxxxxxxxxxxxxxxx: use consistent code layout]
Signed-off-by: Toshi Kani <toshi.kani@xxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxx>
Cc: Robert Elliott <Elliott@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit e61ce6ade404ef17bd63d62bec78e29047a47b47
Author: Toshi Kani <toshi.kani@xxxxxx>
Date: Tue Apr 14 15:47:23 2015 -0700
mm: change ioremap to set up huge I/O mappings
ioremap_pud_range() and ioremap_pmd_range() are changed to create huge I/O
mappings when their capability is enabled, and a request meets required
conditions -- both virtual & physical addresses are aligned by their huge
page size, and a requested range fufills their huge page size. When
pud_set_huge() or pmd_set_huge() returns zero, i.e. no-operation is
performed, the code simply falls back to the next level.
The changes are only enabled when CONFIG_HAVE_ARCH_HUGE_VMAP is defined on
the architecture.
Signed-off-by: Toshi Kani <toshi.kani@xxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxx>
Cc: Robert Elliott <Elliott@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 0ddab1d2ed664c85c95488eef569786a84aedf37
Author: Toshi Kani <toshi.kani@xxxxxx>
Date: Tue Apr 14 15:47:20 2015 -0700
lib/ioremap.c: add huge I/O map capability interfaces
Add ioremap_pud_enabled() and ioremap_pmd_enabled(), which return 1 when
I/O mappings with pud/pmd are enabled on the kernel.
ioremap_huge_init() calls arch_ioremap_pud_supported() and
arch_ioremap_pmd_supported() to initialize the capabilities at boot-time.
A new kernel option "nohugeiomap" is also added, so that user can disable
the huge I/O map capabilities when necessary.
Signed-off-by: Toshi Kani <toshi.kani@xxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxx>
Cc: Robert Elliott <Elliott@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 0f616be120c632c818faaea9adcb8f05a7a8601f
Author: Toshi Kani <toshi.kani@xxxxxx>
Date: Tue Apr 14 15:47:17 2015 -0700
mm: change __get_vm_area_node() to use fls_long()
ioremap() and its related interfaces are used to create I/O mappings to
memory-mapped I/O devices. The mapping sizes of the traditional I/O
devices are relatively small. Non-volatile memory (NVM), however, has
many GB and is going to have TB soon. It is not very efficient to create
large I/O mappings with 4KB.
This patchset extends the ioremap() interfaces to transparently create I/O
mappings with huge pages whenever possible. ioremap() continues to use
4KB mappings when a huge page does not fit into a requested range. There
is no change necessary to the drivers using ioremap(). A requested
physical address must be aligned by a huge page size (1GB or 2MB on x86)
for using huge page mapping, though. The kernel huge I/O mapping will
improve performance of NVM and other devices with large memory, and reduce
the time to create their mappings as well.
On x86, MTRRs can override PAT memory types with a 4KB granularity. When
using a huge page, MTRRs can override the memory type of the huge page,
which may lead a performance penalty. The processor can also behave in an
undefined manner if a huge page is mapped to a memory range that MTRRs
have mapped with multiple different memory types. Therefore, the mapping
code falls back to use a smaller page size toward 4KB when a mapping range
is covered by non-WB type of MTRRs. The WB type of MTRRs has no affect on
the PAT memory types.
The patchset introduces HAVE_ARCH_HUGE_VMAP, which indicates that the arch
supports huge KVA mappings for ioremap(). User may specify a new kernel
option "nohugeiomap" to disable the huge I/O mapping capability of
ioremap() when necessary.
Patch 1-4 change common files to support huge I/O mappings. There is no
change in the functinalities unless HAVE_ARCH_HUGE_VMAP is defined on the
architecture of the system.
Patch 5-6 implement the HAVE_ARCH_HUGE_VMAP funcs on x86, and set
HAVE_ARCH_HUGE_VMAP on x86.
This patch (of 6):
__get_vm_area_node() takes unsigned long size, which is a 64-bit value on
a 64-bit kernel. However, fls(size) simply ignores the upper 32-bit.
Change to use fls_long() to handle the size properly.
Signed-off-by: Toshi Kani <toshi.kani@xxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxx>
Cc: Robert Elliott <Elliott@xxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 42ff27035c77edccfdf346c739265040dc2155f2
Author: Yaowei Bai <bywxiaobai@xxxxxxx>
Date: Tue Apr 14 15:47:14 2015 -0700
mm/page_alloc.c: clean up comment
Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit f91e8d6d76866eafba255864ca617438cec268de
Author: Michal Hocko <mhocko@xxxxxxx>
Date: Tue Apr 14 15:47:11 2015 -0700
sparc: clarify __GFP_NOFAIL allocation
Commit 920c3ed74134 ("[SPARC64]: Add basic infrastructure for MD
add/remove notification") has added __GFP_NOFAIL for the allocation
request but it hasn't mentioned why is this strict requirement really
needed. The code was handling an allocation failure and propagated it
properly up the callchain so it is not clear why it is needed.
Dave has clarified the intention when I tried to remove the flag as not
being necessary:
: It is a serious failure.
:
: If we miss an MDESC update due to this allocation failure, the update
: is not an event which gets retransmitted so we will lose the updated
: machine description forever.
:
: We really need this allocation to succeed.
So add a comment to clarify the nofail flag and get rid of the failure
check because __GFP_NOFAIL allocation doesn't fail.
Signed-off-by: Michal Hocko <mhocko@xxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Dave Chinner <david@xxxxxxxxxxxxx>
Cc: "Theodore Ts'o" <tytso@xxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: Vipul Pandya <vipul@xxxxxxxxxxx>
Cc: Jan Kara <jack@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 647757197cd34fae041e21af39ded00f5c346fc4
Author: Michal Hocko <mhocko@xxxxxxx>
Date: Tue Apr 14 15:47:07 2015 -0700
mm: clarify __GFP_NOFAIL deprecation status
__GFP_NOFAIL is documented as a deprecated flag since commit
478352e789f5 ("mm: add comment about deprecation of __GFP_NOFAIL").
This has discouraged people from using it but in some cases an opencoded
endless loop around allocator has been used instead. So the allocator
is not aware of the de facto __GFP_NOFAIL allocation because this
information was not communicated properly.
Let's make clear that if the allocation context really cannot afford
failure because there is no good failure policy then using __GFP_NOFAIL
is preferable to opencoding the loop outside of the allocator.
[akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
Signed-off-by: Michal Hocko <mhocko@xxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Dave Chinner <david@xxxxxxxxxxxxx>
Cc: "Theodore Ts'o" <tytso@xxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: Vipul Pandya <vipul@xxxxxxxxxxx>
Cc: Jan Kara <jack@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ac173824959adeb489f9fcf88858774c4535a241
Author: Sasha Levin <sasha.levin@xxxxxxxxxx>
Date: Tue Apr 14 15:47:04 2015 -0700
mm: cma: constify and use correct signness in mm/cma.c
Constify function parameters and use correct signness where needed.
Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
Acked-by: Gregory Fong <gregory.0xf0@xxxxxxxxx>
Cc: Pintu Kumar <pintu.k@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6e276d2a517fba71a2be2252fdffb237e746e784
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Tue Apr 14 15:47:01 2015 -0700
kernel, cpuset: remove exception for __GFP_THISNODE
Nothing calls __cpuset_node_allowed() with __GFP_THISNODE set anymore, so
remove the obscure comment about it and its special-case exception.
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>
Cc: Pekka Enberg <penberg@xxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Pravin Shelar <pshelar@xxxxxxxxxx>
Cc: Jarno Rajahalme <jrajahalme@xxxxxxxxxx>
Cc: Li Zefan <lizefan@xxxxxxxxxx>
Cc: Greg Thelen <gthelen@xxxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 5265047ac30191ea24b16503165000c225f54feb
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Tue Apr 14 15:46:58 2015 -0700
mm, thp: really limit transparent hugepage allocation to local node
Commit 077fcf116c8c ("mm/thp: allocate transparent hugepages on local
node") restructured alloc_hugepage_vma() with the intent of only
allocating transparent hugepages locally when there was not an effective
interleave mempolicy.
alloc_pages_exact_node() does not limit the allocation to the single node,
however, but rather prefers it. This is because __GFP_THISNODE is not set
which would cause the node-local nodemask to be passed. Without it, only
a nodemask that prefers the local node is passed.
Fix this by passing __GFP_THISNODE and falling back to small pages when
the allocation fails.
Commit 9f1b868a13ac ("mm: thp: khugepaged: add policy for finding target
node") suffers from a similar problem for khugepaged, which is also fixed.
Fixes: 077fcf116c8c ("mm/thp: allocate transparent hugepages on local
node")
Fixes: 9f1b868a13ac ("mm: thp: khugepaged: add policy for finding target
node")
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>
Cc: Pekka Enberg <penberg@xxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Pravin Shelar <pshelar@xxxxxxxxxx>
Cc: Jarno Rajahalme <jrajahalme@xxxxxxxxxx>
Cc: Li Zefan <lizefan@xxxxxxxxxx>
Cc: Greg Thelen <gthelen@xxxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 4167e9b2cf10f8a4bcda0c713ddc8bb0a18e8187
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Tue Apr 14 15:46:55 2015 -0700
mm: remove GFP_THISNODE
NOTE: this is not about __GFP_THISNODE, this is only about GFP_THISNODE.
GFP_THISNODE is a secret combination of gfp bits that have different
behavior than expected. It is a combination of __GFP_THISNODE,
__GFP_NORETRY, and __GFP_NOWARN and is special-cased in the page
allocator slowpath to fail without trying reclaim even though it may be
used in combination with __GFP_WAIT.
An example of the problem this creates: commit e97ca8e5b864 ("mm: fix
GFP_THISNODE callers and clarify") fixed up many users of GFP_THISNODE
that really just wanted __GFP_THISNODE. The problem doesn't end there,
however, because even it was a no-op for alloc_misplaced_dst_page(),
which also sets __GFP_NORETRY and __GFP_NOWARN, and
migrate_misplaced_transhuge_page(), where __GFP_NORETRY and __GFP_NOWAIT
is set in GFP_TRANSHUGE. Converting GFP_THISNODE to __GFP_THISNODE is a
no-op in these cases since the page allocator special-cases
__GFP_THISNODE && __GFP_NORETRY && __GFP_NOWARN.
It's time to just remove GFP_THISNODE entirely. We leave __GFP_THISNODE
to restrict an allocation to a local node, but remove GFP_THISNODE and
its obscurity. Instead, we require that a caller clear __GFP_WAIT if it
wants to avoid reclaim.
This allows the aforementioned functions to actually reclaim as they
should. It also enables any future callers that want to do
__GFP_THISNODE but also __GFP_NORETRY && __GFP_NOWARN to reclaim. The
rule is simple: if you don't want to reclaim, then don't set __GFP_WAIT.
Aside: ovs_flow_stats_update() really wants to avoid reclaim as well, so
it is unchanged.
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>
Acked-by: Pekka Enberg <penberg@xxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Pravin Shelar <pshelar@xxxxxxxxxx>
Cc: Jarno Rajahalme <jrajahalme@xxxxxxxxxx>
Cc: Li Zefan <lizefan@xxxxxxxxxx>
Cc: Greg Thelen <gthelen@xxxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit b360edb43f8ed50aa7b8c9aae7d7557a1a6e32c8
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Tue Apr 14 15:46:52 2015 -0700
mm, mempolicy: migrate_to_node should only migrate to node
migrate_to_node() is intended to migrate a page from one source node to
a target node.
Today, migrate_to_node() could end up migrating to any node, not only
the target node. This is because the page migration allocator,
new_node_page() does not pass __GFP_THISNODE to
alloc_pages_exact_node(). This causes the target node to be preferred
but allows fallback to any other node in order of affinity.
Prevent this by allocating with __GFP_THISNODE. If memory is not
available, -ENOMEM will be returned as appropriate.
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Cc: Mel Gorman <mel@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 3cb29d11174f29b76addcba4374884b14f8ea4b1
Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Date: Tue Apr 14 15:46:48 2015 -0700
cleancache: remove limit on the number of cleancache enabled filesystems
The limit equals 32 and is imposed by the number of entries in the
fs_poolid_map and shared_fs_poolid_map. Nowadays it is insufficient,
because with containers on board a Linux host can have hundreds of
active fs mounts.
These maps were introduced by commit 49a9ab815acb8 ("mm: cleancache:
lazy initialization to allow tmem backends to build/run as modules") in
order to allow compiling cleancache drivers as modules. Real pool ids
are stored in these maps while super_block->cleancache_poolid points to
an entry in the map, so that on cleancache registration we can walk over
all (if there are <= 32 of them, of course) cleancache-enabled super
blocks and assign real pool ids.
Actually, there is absolutely no need in these maps, because we can
iterate over all super blocks immediately using iterate_supers. This is
not racy, because cleancache_init_ops is called from mount_fs with
super_block->s_umount held for writing, while iterate_supers takes this
semaphore for reading, so if we call iterate_supers after setting
cleancache_ops, all super blocks that had been created before
cleancache_register_ops was called will be assigned pool ids by the
action function of iterate_supers while all newer super blocks will
receive it in cleancache_init_fs.
This patch therefore removes the maps and hence the artificial limit on
the number of cleancache enabled filesystems.
Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Cc: David Vrabel <david.vrabel@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Cc: Stefan Hengelein <ilendir@xxxxxxxxxxxxxx>
Cc: Florian Schmaus <fschmaus@xxxxxxxxx>
Cc: Andor Daam <andor.daam@xxxxxxxxxxxxxx>
Cc: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>
Cc: Bob Liu <lliubbo@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 53d85c98566535d7bc69470f008d7dcb09a0fec9
Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Date: Tue Apr 14 15:46:45 2015 -0700
cleancache: forbid overriding cleancache_ops
Currently, cleancache_register_ops returns the previous value of
cleancache_ops to allow chaining. However, chaining, as it is
implemented now, is extremely dangerous due to possible pool id
collisions. Suppose, a new cleancache driver is registered after the
previous one assigned an id to a super block. If the new driver assigns
the same id to another super block, which is perfectly possible, we will
have two different filesystems using the same id. No matter if the new
driver implements chaining or not, we are likely to get data corruption
with such a configuration eventually.
This patch therefore disables the ability to override cleancache_ops
altogether as potentially dangerous. If there is already cleancache
driver registered, all further calls to cleancache_register_ops will
return EBUSY. Since no user of cleancache implements chaining, we only
need to make minor changes to the code outside the cleancache core.
Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Cc: David Vrabel <david.vrabel@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Cc: Stefan Hengelein <ilendir@xxxxxxxxxxxxxx>
Cc: Florian Schmaus <fschmaus@xxxxxxxxx>
Cc: Andor Daam <andor.daam@xxxxxxxxxxxxxx>
Cc: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>
Cc: Bob Liu <lliubbo@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 9de1626290eaa7d921413ddc83544bc3bae27283
Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Date: Tue Apr 14 15:46:42 2015 -0700
cleancache: zap uuid arg of cleancache_init_shared_fs
Use super_block->s_uuid instead. Every shared filesystem using cleancache
must now initialize super_block->s_uuid before calling
cleancache_init_shared_fs. The only one on the tree, ocfs2, already meets
this requirement.
Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Cc: David Vrabel <david.vrabel@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Cc: Stefan Hengelein <ilendir@xxxxxxxxxxxxxx>
Cc: Florian Schmaus <fschmaus@xxxxxxxxx>
Cc: Andor Daam <andor.daam@xxxxxxxxxxxxxx>
Cc: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>
Cc: Bob Liu <lliubbo@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 58be19dcf7c0c206e60796c2ee18fc4fc1659fea
Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Date: Tue Apr 14 15:46:39 2015 -0700
ocfs2: copy fs uuid to superblock
Currently, maximal number of cleancache enabled filesystems equals 32,
which is insufficient nowadays, because a Linux host can have hundreds
of containers on board, each of which might want its own filesystem.
This patch set targets at removing this limitation - see patch 4 for
more details. Patches 1-3 prepare the code for this change.
This patch (of 4):
This will allow us to remove the uuid argument from
cleancache_init_shared_fs.
Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Cc: David Vrabel <david.vrabel@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Cc: Stefan Hengelein <ilendir@xxxxxxxxxxxxxx>
Cc: Florian Schmaus <fschmaus@xxxxxxxxx>
Cc: Andor Daam <andor.daam@xxxxxxxxxxxxxx>
Cc: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>
Cc: Bob Liu <lliubbo@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 93e478d4c36ecaf15b942988b8272102d661d44e
Author: Shachar Raindel <raindel@xxxxxxxxxxxx>
Date: Tue Apr 14 15:46:35 2015 -0700
mm: refactor do_wp_page handling of shared vma into a function
The do_wp_page function is extremely long. Extract the logic for
handling a page belonging to a shared vma into a function of its own.
This helps the readability of the code, without doing any functional
change in it.
Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx>
Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Acked-by: Rik van Riel <riel@xxxxxxxxxx>
Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Acked-by: Haggai Eran <haggaie@xxxxxxxxxxxx>
Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxx>
Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Cc: Peter Feiner <pfeiner@xxxxxxxxxx>
Cc: Michel Lespinasse <walken@xxxxxxxxxx>
Reviewed-by: Michal Hocko <mhocko@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 2f38ab2c3c7fef04dca0313fd89d91f142ca9281
Author: Shachar Raindel <raindel@xxxxxxxxxxxx>
Date: Tue Apr 14 15:46:32 2015 -0700
mm: refactor do_wp_page, extract the page copy flow
In some cases, do_wp_page had to copy the page suffering a write fault
to a new location. If the function logic decided that to do this, it
was done by jumping with a "goto" operation to the relevant code block.
This made the code really hard to understand. It is also against the
kernel coding style guidelines.
This patch extracts the page copy and page table update logic to a
separate function. It also clean up the naming, from "gotten" to
"wp_page_copy", and adds few comments.
Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx>
Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Acked-by: Rik van Riel <riel@xxxxxxxxxx>
Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Acked-by: Haggai Eran <haggaie@xxxxxxxxxxxx>
Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxx>
Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Cc: Peter Feiner <pfeiner@xxxxxxxxxx>
Cc: Michel Lespinasse <walken@xxxxxxxxxx>
Reviewed-by: Michal Hocko <mhocko@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 28766805275c12c2298883cece3f98505ac764b4
Author: Shachar Raindel <raindel@xxxxxxxxxxxx>
Date: Tue Apr 14 15:46:29 2015 -0700
mm: refactor do_wp_page - rewrite the unlock flow
When do_wp_page is ending, in several cases it needs to unlock the pages
and ptls it was accessing.
Currently, this logic was "called" by using a goto jump. This makes
following the control flow of the function harder. Readability was
further hampered by the unlock case containing large amount of logic
needed only in one of the 3 cases.
Using goto for cleanup is generally allowed. However, moving the
trivial unlocking flows to the relevant call sites allow deeper
refactoring in the next patch.
Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx>
Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Acked-by: Rik van Riel <riel@xxxxxxxxxx>
Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Acked-by: Haggai Eran <haggaie@xxxxxxxxxxxx>
Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxx>
Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Cc: Peter Feiner <pfeiner@xxxxxxxxxx>
Cc: Michel Lespinasse <walken@xxxxxxxxxx>
Reviewed-by: Michal Hocko <mhocko@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 4e047f897771222215ee572e1c0b25e9417376eb
Author: Shachar Raindel <raindel@xxxxxxxxxxxx>
Date: Tue Apr 14 15:46:25 2015 -0700
mm: refactor do_wp_page, extract the reuse case
Currently do_wp_page contains 265 code lines. It also contains 9 goto
statements, of which 5 are targeting labels which are not cleanup
related. This makes the function extremely difficult to understand.
The following patches are an attempt at breaking the function to its
basic components, and making it easier to understand.
The patches are straight forward function extractions from do_wp_page.
As we extract functions, we remove unneeded parameters and simplify the
code as much as possible. However, the functionality is supposed to
remain completely unchanged. The patches also attempt to document the
functionality of each extracted function. In patch 2, we split the
unlock logic to the contain logic relevant to specific needs of each use
case, instead of having huge number of conditional decisions in a single
unlock flow.
This patch (of 4):
When do_wp_page is ending, in several cases it needs to reuse the existing
page. This is achieved by making the page table writable, and possibly
updating the page-cache state.
Currently, this logic was "called" by using a goto jump. This makes
following the control flow of the function harder. It is also against the
coding style guidelines for using goto.
As the code can easily be refactored into a specialized function, refactor
it out and simplify the code flow in do_wp_page.
Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Acked-by: Rik van Riel <riel@xxxxxxxxxx>
Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Acked-by: Haggai Eran <haggaie@xxxxxxxxxxxx>
Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxx>
Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Cc: Peter Feiner <pfeiner@xxxxxxxxxx>
Cc: Michel Lespinasse <walken@xxxxxxxxxx>
Reviewed-by: Michal Hocko <mhocko@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 5a3fbef325e872f831cf13171c7032915bb1916d
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:46:21 2015 -0700
mm: do not add nr_pmds into mm_struct if PMD is folded
CONFIG_PGTABLE_LEVELS is now available on every architecture and we can
use it to check if we need to add nr_pmds into mm_struct.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx>
Cc: Matt Turner <mattst88@xxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx>
Cc: David Howells <dhowells@xxxxxxxxxx>
Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Cc: Helge Deller <deller@xxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Jeff Dike <jdike@xxxxxxxxxxx>
Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx>
Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Richard Weinberger <richard@xxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Tony Luck <tony.luck@xxxxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 235a8f0286d3de5754322e9b4abd472ed4d57209
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:46:17 2015 -0700
mm: define default PGTABLE_LEVELS to two
By this time all architectures which support more than two page table
levels should be covered. This patch add default definiton of
PGTABLE_LEVELS equal 2.
We also add assert to detect inconsistence between CONFIG_PGTABLE_LEVELS
and __PAGETABLE_PMD_FOLDED/__PAGETABLE_PUD_FOLDED.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx>
Cc: Matt Turner <mattst88@xxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx>
Cc: David Howells <dhowells@xxxxxxxxxx>
Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Cc: Helge Deller <deller@xxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Jeff Dike <jdike@xxxxxxxxxxx>
Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx>
Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Richard Weinberger <richard@xxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Tony Luck <tony.luck@xxxxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 982333683385343d8d2db9a1df69c98406f42687
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:46:14 2015 -0700
x86: expose number of page table levels on Kconfig level
We would want to use number of page table level to define mm_struct.
Let's expose it as CONFIG_PGTABLE_LEVELS.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6b8ce2a1a464526335672c33cbf3cb9fc638efff
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:46:11 2015 -0700
um: expose number of page table levels
We would want to use number of page table level to define mm_struct.
Let's expose it as CONFIG_PGTABLE_LEVELS.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Acked-by: Richard Weinberger <richard@xxxxxx>
Cc: Jeff Dike <jdike@xxxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 909d45e62801ea77422d478519baa7d2287c77f7
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:46:08 2015 -0700
tile: expose number of page table levels
We would want to use number of page table level to define mm_struct.
Let's expose it as CONFIG_PGTABLE_LEVELS.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Acked-by: Chris Metcalf <cmetcalf@xxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 81a2936c1a98dd007c510dc523c5bbdce263878b
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:46:05 2015 -0700
sparc: expose number of page table levels
We would want to use number of page table level to define mm_struct.
Let's expose it as CONFIG_PGTABLE_LEVELS.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 69543d639938fc71b3df69d32ecccc58beb7e578
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:46:02 2015 -0700
sh: expose number of page table levels
We would want to use number of page table level to define mm_struct.
Let's expose it as CONFIG_PGTABLE_LEVELS.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: linux-sh@xxxxxxxxxxxxxxx
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit c81956c9cd587d36b87d4ab37c92016ebb79b517
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:46:00 2015 -0700
s390: expose number of page table levels
We would want to use number of page table level to define mm_struct.
Let's expose it as CONFIG_PGTABLE_LEVELS.
Core mm expects __PAGETABLE_{PUD,PMD}_FOLDED to be defined if these page
table levels folded.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 06ef42a16f2dd8480ada1be3a549e12b02c45915
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:45:57 2015 -0700
powerpc: expose number of page table levels on Kconfig level
We would want to use number of page table level to define mm_struct.
Let's expose it as CONFIG_PGTABLE_LEVELS.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit f24ffde43237755b290c46306a3dd2deb1428700
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:45:54 2015 -0700
parisc: expose number of page table levels on Kconfig level
We would want to use number of page table level to define mm_struct.
Let's expose it as CONFIG_PGTABLE_LEVELS.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx>
Cc: Helge Deller <deller@xxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit a728ab52709e2fb9659d2661ac30c901df42ef02
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:45:51 2015 -0700
mips: expose number of page table levels on Kconfig level
We would want to use number of page table level to define mm_struct.
Let's expose it as CONFIG_PGTABLE_LEVELS.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 980d5b7387c6bbc9b411a3469274b3226b161e45
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:45:48 2015 -0700
m68k: mark PMD folded and expose number of page table levels
We would want to use number of page table level to define mm_struct.
Let's expose it as CONFIG_PGTABLE_LEVELS.
Core mm expects __PAGETABLE_{PUD,PMD}_FOLDED to be defined if these page
table levels folded.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 4d66bcc7cf762e82703b94d416245d4a216c79ae
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:45:45 2015 -0700
ia64: expose number of page table levels on Kconfig level
We would want to use number of page table level to define mm_struct.
Let's expose it as CONFIG_PGTABLE_LEVELS.
We need to define PGTABLE_LEVELS before sourcing init/Kconfig:
arch/Kconfig will define default value and it's sourced from init/Kconfig.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: Tony Luck <tony.luck@xxxxxxxxx>
Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 1bcad26e9d5362d4890ab5718d729ee9cd85a493
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:45:42 2015 -0700
arm: expose number of page table levels on Kconfig level
We would want to use number of page table level to define mm_struct.
Let's expose it as CONFIG_PGTABLE_LEVELS.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 9f25e6ad58e1fb3b4d441e4c55635c4598a6fa94
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:45:39 2015 -0700
arm64: expose number of page table levels on Kconfig level
We would want to use number of page table level to define mm_struct.
Let's expose it as CONFIG_PGTABLE_LEVELS.
ARM64_PGTABLE_LEVELS is renamed to PGTABLE_LEVELS and defined before
sourcing init/Kconfig: arch/Kconfig will define default value and it's
sourced from init/Kconfig.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit f5d4547ad27737137fae8e67025e5664ecb8e790
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:45:36 2015 -0700
alpha: expose number of page table levels on Kconfig level
I've implemented accounting for pmd page tables as we have for pte (see
mm->nr_ptes). It's requires a new counter in mm_struct: mm->nr_pmds.
But the feature doesn't make any sense if an architecture has PMD level
folded and it would be nice get rid of the counter in this case.
The problem is that we cannot use __PAGETABLE_PMD_FOLDED in
<linux/mm_types.h> due to circular dependencies:
<linux/mm_types> -> <asm/pgtable.h> -> <linux/mm_types.h>
In most cases <asm/pgtable.h> wants <linux/mm_types.h> to get definition
of struct page and struct vm_area_struct. I've tried to split mm_struct
into separate header file to be able to user <asm/pgtable.h> there.
But it doesn't fly on some architectures, like ARM: it wants mm_struct
<asm/pgtable.h> to implement tlb flushing. I don't see how to fix it
without massive de-inlining or coverting a lot for inline functions to
macros.
This is other approach: expose number of page tables in use via Kconfig
and use it in <linux/mm_types.h> instead of __PAGETABLE_PMD_FOLDED from
<asm/pgtable.h>.
This patch (of 19):
We would want to use number of page table level to define mm_struct.
Let's expose it as CONFIG_PGTABLE_LEVELS.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx>
Cc: Matt Turner <mattst88@xxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx>
Cc: David Howells <dhowells@xxxxxxxxxx>
Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Cc: Helge Deller <deller@xxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Jeff Dike <jdike@xxxxxxxxxxx>
Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx>
Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Richard Weinberger <richard@xxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Tony Luck <tony.luck@xxxxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 761b06771adeeb734e9eebc6f70f916cb9e2f643
Author: Konstantin Khlebnikov <koct9i@xxxxxxxxx>
Date: Tue Apr 14 15:45:32 2015 -0700
mm: completely remove dumping per-cpu lists from show_mem()
It seems nobody needs this.
Signed-off-by: Konstantin Khlebnikov <koct9i@xxxxxxxxx>
Cc: Michal Hocko <mhocko@xxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d1bfcdb8ce0ea6eb6034daa7ff02548e0bc9c21b
Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
Date: Tue Apr 14 15:45:30 2015 -0700
mm: hide per-cpu lists in output of show_mem()
This makes show_mem() much less verbose on huge machines. Instead of huge
and almost useless dump of counters for each per-zone per-cpu lists this
patch prints the sum of these counters for each zone (free_pcp) and size
of per-cpu list for current cpu (local_pcp).
The filter flag SHOW_MEM_PERCPU_LISTS reverts to the old verbose mode.
[akpm@xxxxxxxxxxxxxxxxxxxx: update show_free_areas comment]
Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
Acked-by: Michal Hocko <mhocko@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit b9ea25152e56365ce149b9a39637cd7a16eec556
Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
Date: Tue Apr 14 15:45:27 2015 -0700
page_writeback: clean up mess around cancel_dirty_page()
This patch replaces cancel_dirty_page() with a helper function
account_page_cleaned() which only updates counters. It's called from
truncate_complete_page() and from try_to_free_buffers() (hack for ext3).
Page is locked in both cases, page-lock protects against concurrent
dirtiers: see commit 2d6d7f982846 ("mm: protect set_page_dirty() from
ongoing truncation").
Delete_from_page_cache() shouldn't be called for dirty pages, they must
be handled by caller (either written or truncated). This patch treats
final dirty accounting fixup at the end of __delete_from_page_cache() as
a debug check and adds WARN_ON_ONCE() around it. If something removes
dirty pages without proper handling that might be a bug and unwritten
data might be lost.
Hugetlbfs has no dirty pages accounting, ClearPageDirty() is enough
here.
cancel_dirty_page() in nfs_wb_page_cancel() is redundant. This is
helper for nfs_invalidate_page() and it's called only in case complete
invalidation.
The mess was started in v2.6.20 after commits 46d2277c796f ("Clean up
and make try_to_free_buffers() not race with dirty pages") and
3e67c0987d75 ("truncate: clear page dirtiness before running
try_to_free_buffers()") first was reverted right in v2.6.20 in commit
ecdfc9787fe5 ("Resurrect 'try_to_free_buffers()' VM hackery"), second in
v2.6.25 commit a2b345642f53 ("Fix dirty page accounting leak with ext3
data=journal").
Custom fixes were introduced between these points. NFS in v2.6.23, commit
1b3b4a1a2deb ("NFS: Fix a write request leak in nfs_invalidate_page()").
Kludge in __delete_from_page_cache() in v2.6.24, commit 3a6927906f1b ("Do
dirty page accounting when removing a page from the page cache"). Since
v2.6.25 all of them are redundant.
[akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Cc: Jan Kara <jack@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ca0984caa8235762dc4e22c1c47ae6719dcc4064
Author: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx>
Date: Tue Apr 14 15:45:24 2015 -0700
mm: incorporate zero pages into transparent huge pages
This patch improves THP collapse rates, by allowing zero pages.
Currently THP can collapse 4kB pages into a THP when there are up to
khugepaged_max_ptes_none pte_none ptes in a 2MB range. This patch counts
pte none and mapped zero pages with the same variable.
The patch was tested with a program that allocates 800MB of
memory, and performs interleaved reads and writes, in a pattern
that causes some 2MB areas to first see read accesses, resulting
in the zero pfn being mapped there.
To simulate memory fragmentation at allocation time, I modified
do_huge_pmd_anonymous_page to return VM_FAULT_FALLBACK for read faults.
Without the patch, only %50 of the program was collapsed into THP and the
percentage did not increase over time.
With this patch after 10 minutes of waiting khugepaged had collapsed %99
of the program's memory.
[aarcange@xxxxxxxxxx: fix bogus BUG()]
Signed-off-by: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx>
Reviewed-by: Rik van Riel <riel@xxxxxxxxxx>
Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Hugh Dickins <hughd@xxxxxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Sasha Levin <sasha.levin@xxxxxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Mel Gorman <mel@xxxxxxxxx>
Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 2149cdaef6c0eb59a9edf3b152027392cd66b41f
Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Date: Tue Apr 14 15:45:21 2015 -0700
mm/compaction: enhance compaction finish condition
Compaction has anti fragmentation algorithm. It is that freepage should
be more than pageblock order to finish the compaction if we don't find any
freepage in requested migratetype buddy list. This is for mitigating
fragmentation, but, there is a lack of migratetype consideration and it is
too excessive compared to page allocator's anti fragmentation algorithm.
Not considering migratetype would cause premature finish of compaction.
For example, if allocation request is for unmovable migratetype, freepage
with CMA migratetype doesn't help that allocation and compaction should
not be stopped. But, current logic regards this situation as compaction
is no longer needed, so finish the compaction.
Secondly, condition is too excessive compared to page allocator's logic.
We can steal freepage from other migratetype and change pageblock
migratetype on more relaxed conditions in page allocator. This is
designed to prevent fragmentation and we can use it here. Imposing hard
constraint only to the compaction doesn't help much in this case since
page allocator would cause fragmentation again.
To solve these problems, this patch borrows anti fragmentation logic from
page allocator. It will reduce premature compaction finish in some cases
and reduce excessive compaction work.
stress-highalloc test in mmtests with non movable order 7 allocation shows
considerable increase of compaction success rate.
Compaction success rate (Compaction success * 100 / Compaction stalls, %)
31.82 : 42.20
I tested it on non-reboot 5 runs stress-highalloc benchmark and found that
there is no more degradation on allocation success rate than before. That
roughly means that this patch doesn't result in more fragmentations.
Vlastimil suggests additional idea that we only test for fallbacks when
migration scanner has scanned a whole pageblock. It looked good for
fragmentation because chance of stealing increase due to making more free
pages in certain pageblock. So, I tested it, but, it results in decreased
compaction success rate, roughly 38.00. I guess the reason that if system
is low memory condition, watermark check could be failed due to not enough
order 0 free page and so, sometimes, we can't reach a fallback check
although migrate_pfn is aligned to pageblock_nr_pages. I can insert code
to cope with this situation but it makes code more complicated so I don't
include his idea at this patch.
[akpm@xxxxxxxxxxxxxxxxxxxx: fix CONFIG_CMA=n build]
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Rik van Riel <riel@xxxxxxxxxx>
Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 4eb7dce62007113f1a2778213980fd6d8034ef5e
Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Date: Tue Apr 14 15:45:18 2015 -0700
mm/page_alloc: factor out fallback freepage checking
This is preparation step to use page allocator's anti fragmentation logic
in compaction. This patch just separates fallback freepage checking part
from fallback freepage management part. Therefore, there is no functional
change.
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Rik van Riel <riel@xxxxxxxxxx>
Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit dc67647b78b92d9497f01fab95ac6764ed886b40
Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Date: Tue Apr 14 15:45:15 2015 -0700
mm/cma: change fallback behaviour for CMA freepage
Freepage with MIGRATE_CMA can be used only for MIGRATE_MOVABLE and they
should not be expanded to other migratetype buddy list to protect them
from unmovable/reclaimable allocation. Implementing these requirements in
__rmqueue_fallback(), that is, finding largest possible block of freepage
has bad effect that high order freepage with MIGRATE_CMA are broken
continually although there are suitable order CMA freepage. Reason is
that they are not be expanded to other migratetype buddy list and next
__rmqueue_fallback() invocation try to finds another largest block of
freepage and break it again. So, MIGRATE_CMA fallback should be handled
separately. This patch introduces __rmqueue_cma_fallback(), that just
wrapper of __rmqueue_smallest() and call it before __rmqueue_fallback() if
migratetype == MIGRATE_MOVABLE.
This results in unintended behaviour change that MIGRATE_CMA freepage is
always used first rather than other migratetype as movable allocation's
fallback. But, as already mentioned above, MIGRATE_CMA can be used only
for MIGRATE_MOVABLE, so it is better to use MIGRATE_CMA freepage first as
much as possible. Otherwise, we needlessly take up precious freepages
with other migratetype and increase chance of fragmentation.
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Rik van Riel <riel@xxxxxxxxxx>
Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 30467e0b3be83c286d60039f8267dd421128ca74
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Tue Apr 14 15:45:11 2015 -0700
mm, hotplug: fix concurrent memory hot-add deadlock
There's a deadlock when concurrently hot-adding memory through the probe
interface and switching a memory block from offline to online.
When hot-adding memory via the probe interface, add_memory() first takes
mem_hotplug_begin() and then device_lock() is later taken when registering
the newly initialized memory block. This creates a lock dependency of (1)
mem_hotplug.lock (2) dev->mutex.
When switching a memory block from offline to online, dev->mutex is first
grabbed in device_online() when the write(2) transitions an existing
memory block from offline to online, and then online_pages() will take
mem_hotplug_begin().
This creates a lock inversion between mem_hotplug.lock and dev->mutex.
Vitaly reports that this deadlock can happen when kworker handling a probe
event races with systemd-udevd switching a memory block's state.
This patch requires the state transition to take mem_hotplug_begin()
before dev->mutex. Hot-adding memory via the probe interface creates a
memory block while holding mem_hotplug_begin(), there is no way to take
dev->mutex first in this case.
online_pages() and offline_pages() are only called when transitioning
memory block state. We now require that mem_hotplug_begin() is taken
before calling them -- this requires exporting the mem_hotplug_begin() and
mem_hotplug_done() to generic code. In all hot-add and hot-remove cases,
mem_hotplug_begin() is done prior to device_online(). This is all that is
needed to avoid the deadlock.
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Reported-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Tested-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx>
Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx>
Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx>
Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx>
Cc: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx>
Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 17e0db822b00cff96c1b662ac0dc0449cb70e0ec
Author: Sasha Levin <sasha.levin@xxxxxxxxxx>
Date: Tue Apr 14 15:45:08 2015 -0700
cma: debug: document new debugfs interface
Document the structure and files under the new debugfs interface.
Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 875abdb6d43401c745ee8bc6d240f119a601d21f
Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:45:05 2015 -0700
mm-cma-allocation-trigger-fix
s/CONFIG_CMA_ALIGNMENT/0/, per Joonsoo
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Cc: Sasha Levin <sasha.levin@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 8325330b026509127d4541e0f511c0c10648c2d5
Author: Sasha Levin <sasha.levin@xxxxxxxxxx>
Date: Tue Apr 14 15:45:02 2015 -0700
mm: cma: release trigger
Provides a userspace interface to trigger a CMA release.
Usage:
echo [pages] > free
This would provide testing/fuzzing access to the CMA release paths.
[akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
[mhocko@xxxxxxx: fix build]
Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Signed-off-by: Michal Hocko <mhocko@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 26b02a1f9670862c51b3ff63a6128589866f5c71
Author: Sasha Levin <sasha.levin@xxxxxxxxxx>
Date: Tue Apr 14 15:44:59 2015 -0700
mm: cma: allocation trigger
Provides a userspace interface to trigger a CMA allocation.
Usage:
echo [pages] > alloc
This would provide testing/fuzzing access to the CMA allocation paths.
Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 28b24c1fc8c22cabe5b8a16ffe6a61dfce51a1f2
Author: Sasha Levin <sasha.levin@xxxxxxxxxx>
Date: Tue Apr 14 15:44:57 2015 -0700
mm: cma: debugfs interface
I've noticed that there is no interfaces exposed by CMA which would let me
fuzz what's going on in there.
This small patchset exposes some information out to userspace, plus adds
the ability to trigger allocation and freeing from userspace.
This patch (of 3):
Implement a simple debugfs interface to expose information about CMA areas
in the system.
Useful for testing/sanity checks for CMA since it was impossible to
previously retrieve this information in userspace.
Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 19c07d5e0414261bd7ec3d8419dd26f468ef69d9
Author: Sheng Yong <shengyong1@xxxxxxxxxx>
Date: Tue Apr 14 15:44:54 2015 -0700
memory hotplug: use macro to switch between section and pfn
Use macro section_nr_to_pfn() to switch between section and pfn, instead
of open-coding it. No semantic changes.
Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 1575e68b3c1111aca9779ecbdb106a4aa563f01f
Author: Johannes Weiner <hannes@xxxxxxxxxxx>
Date: Tue Apr 14 15:44:51 2015 -0700
mm: memcontrol: update copyright notice
Add myself to the list of copyright holders.
Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>
Acked-by: Michal Hocko <mhocko@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7fc825b4566c591670f6b605cc3d10da77d27efb
Author: Baoquan He <bhe@xxxxxxxxxx>
Date: Tue Apr 14 15:44:48 2015 -0700
mm/memblock.c: rename local variable of memblock_type to `type'
A small cleanup. Seems in e3239ff9 ("memblock: Rename memblock_region to
memblock_type and memblock_property to memblock_region") this one was
missed.
Signed-off-by: Baoquan He <bhe@xxxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit acc3c8d15eed6b68c7edf5bfaea884753aaa8e85
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:44:45 2015 -0700
mm: move mm_populate()-related code to mm/gup.c
It's odd that we have populate_vma_page_range() and __mm_populate() in
mm/mlock.c. It's implementation of generic memory population and mlocking
is one of possible side effect, if VM_LOCKED is set.
__get_user_pages() is core of the implementation. Let's move the code
into mm/gup.c.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Michel Lespinasse <walken@xxxxxxxxxx>
Cc: Rik van Riel <riel@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit c561259ca79a88be540a75e84b45d49123014aa4
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:44:42 2015 -0700
mm: move gup() -> posix mlock() error conversion out of __mm_populate
This is praparation to moving mm_populate()-related code out of
mm/mlock.c.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Michel Lespinasse <walken@xxxxxxxxxx>
Cc: Rik van Riel <riel@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit fc05f566210fa57f8e68ead8762b8dbb3f1c61e3
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:44:39 2015 -0700
mm: rename __mlock_vma_pages_range() to populate_vma_page_range()
__mlock_vma_pages_range() doesn't necessarily mlock pages. It depends on
vma flags. The same codepath is used for MAP_POPULATE.
Let's rename __mlock_vma_pages_range() to populate_vma_page_range().
This patch also drops mlock_vma_pages_range() references from
documentation. It has gone in cea10a19b797 ("mm: directly use
__mlock_vma_pages_range() in find_extend_vma()").
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Michel Lespinasse <walken@xxxxxxxxxx>
Cc: Rik van Riel <riel@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 84d33df279e0380995b0e03fb8aad04cef2bc29f
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:44:37 2015 -0700
mm: rename FOLL_MLOCK to FOLL_POPULATE
After commit a1fde08c74e9 ("VM: skip the stack guard page lookup in
get_user_pages only for mlock") FOLL_MLOCK has lost its original
meaning: we don't necessarily mlock the page if the flags is set -- we
also take VM_LOCKED into consideration.
Since we use the same codepath for __mm_populate(), let's rename
FOLL_MLOCK to FOLL_POPULATE.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Michel Lespinasse <walken@xxxxxxxxxx>
Cc: Rik van Riel <riel@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit c21a6daf466a7bfa7bc2ac594837a1ce793a7960
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Tue Apr 14 15:44:34 2015 -0700
slob: make slob_alloc_node() static and remove EXPORT_SYMBOL()
slob_alloc_node() is only used in slob.c. Remove the EXPORT_SYMBOL and
make slob_alloc_node() static.
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>
Cc: Pekka Enberg <penberg@xxxxxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 6f6528a1632cb9661a2ff46e217b07d84a80eff6
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Tue Apr 14 15:44:31 2015 -0700
slub: use bool function return values of true/false not 1/0
Use the normal return values for bool functions
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>
Cc: Pekka Enberg <penberg@xxxxxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 124dee09f0669b92cc0073b00984d53541ca0884
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Tue Apr 14 15:44:28 2015 -0700
mm, slab: correct config option in comment
CONFIG_SLAB_DEBUG doesn't exist, CONFIG_DEBUG_SLAB does.
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>
Cc: Pekka Enberg <penberg@xxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 08303a73c62a1cc83c613fa1965f5127ba030c46
Author: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx>
Date: Tue Apr 14 15:44:25 2015 -0700
mm/slub.c: parse slub_debug O option in switch statement
By moving the O option detection into the switch statement, we allow this
parameter to be combined with other options correctly. Previously options
like slub_debug=OFZ would only detect the 'o' and use DEBUG_DEFAULT_FLAGS
to fill in the rest of the flags.
Signed-off-by: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>
Cc: Pekka Enberg <penberg@xxxxxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ef2a5153b4d2c48c05b9280491cb5592a46df385
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Tue Apr 14 15:44:22 2015 -0700
mm/migrate: mark unmap_and_move() "noinline" to avoid ICE in gcc 4.7.3
With gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) :
mm/migrate.c: In function `migrate_pages':
mm/migrate.c:1148:1: internal compiler error: in push_minipool_fix,
at config/arm/arm.c:13500
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.7/README.Bugs> for instructions.
Preprocessed source stored into /tmp/ccPoM1tr.out file, please attach
this to your bugreport.
make[1]: *** [mm/migrate.o] Error 1
make: *** [mm/migrate.o] Error 2
Mark unmap_and_move() (which is used in a single place only) "noinline"
to work around this compiler bug.
[akpm@xxxxxxxxxxxxxxxxxxxx: make it conditional on gcc-4.7.3 and arm]
[khilman@xxxxxxxxxx: fine-tune compiler versions]
[akpm@xxxxxxxxxxxxxxxxxxxx: fix comment]
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Reported-by: Kevin Hilman <khilman@xxxxxxxxxx>
Cc: Marc Zyngier <marc.zyngier@xxxxxxx>
Tested-by: Kevin Hilman <khilman@xxxxxxxxxx>
Tested-by: Lina Iyer <lina.iyer@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 692297d8f96887f836d9049a653ed05a71cf48fb
Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Date: Tue Apr 14 15:44:19 2015 -0700
watchdog: introduce the hardlockup_detector_disable() function
Have kvm_guest_init() use hardlockup_detector_disable() instead of
watchdog_enable_hardlockup_detector(false).
Remove the watchdog_hardlockup_detector_is_enabled() and the
watchdog_enable_hardlockup_detector() function which are no longer needed.
Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit b2f57c3a0df9d168220be8848a303a32ef4d2e7d
Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Date: Tue Apr 14 15:44:16 2015 -0700
watchdog: clean up some function names and arguments
Rename the update_timers*() functions to update_watchdog*().
Remove the boolean argument from watchdog_enable_all_cpus() because
update_watchdog_all_cpus() is now a generic function to change the run
state of the lockup detectors and to have the lockup detectors use a new
sample period.
Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 195daf665a6299de98a4da3843fed2dd9de19d3a
Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Date: Tue Apr 14 15:44:13 2015 -0700
watchdog: enable the new user interface of the watchdog mechanism
With the current user interface of the watchdog mechanism it is only
possible to disable or enable both lockup detectors at the same time.
This series introduces new kernel parameters and changes the semantics of
some existing kernel parameters, so that the hard lockup detector and the
soft lockup detector can be disabled or enabled individually. With this
series applied, the user interface is as follows.
- parameters in /proc/sys/kernel
. soft_watchdog
This is a new parameter to control and examine the run state of
the soft lockup detector.
. nmi_watchdog
The semantics of this parameter have changed. It can now be used
to control and examine the run state of the hard lockup detector.
. watchdog
This parameter is still available to control the run state of both
lockup detectors at the same time. If this parameter is examined,
it shows the logical OR of soft_watchdog and nmi_watchdog.
. watchdog_thresh
The semantics of this parameter are not affected by the patch.
- kernel command line parameters
. nosoftlockup
The semantics of this parameter have changed. It can now be used
to disable the soft lockup detector at boot time.
. nmi_watchdog=0 or nmi_watchdog=1
Disable or enable the hard lockup detector at boot time. The patch
introduces '=1' as a new option.
. nowatchdog
The semantics of this parameter are not affected by the patch. It
is still available to disable both lockup detectors at boot time.
Also, remove the proc_dowatchdog() function which is no longer needed.
[dzickus@xxxxxxxxxx: wrote changelog]
[dzickus@xxxxxxxxxx: update documentation for kernel params and sysctl]
Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit bcfba4f4bf3c9c7c72b459d52a9e826dfd72855e
Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Date: Tue Apr 14 15:44:10 2015 -0700
watchdog: implement error handling for failure to set up hardware perf
events
If watchdog_nmi_enable() fails to set up the hardware perf event of one
CPU, the entire hard lockup detector is deemed unreliable. Hence, disable
the hard lockup detector and shut down the hardware perf events on all
CPUs.
[dzickus@xxxxxxxxxx: update comments to explain some code]
Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 83a80a39075a9ded23df1e26a4b617c289077630
Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Date: Tue Apr 14 15:44:08 2015 -0700
watchdog: introduce separate handlers for parameters in /proc/sys/kernel
Separate handlers for each watchdog parameter in /proc/sys/kernel replace
the proc_dowatchdog() function. Three of those handlers merely call
proc_watchdog_common() with one different argument.
Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ef246a216b02c604ff465b9a62bb0d2e1ea183a7
Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Date: Tue Apr 14 15:44:05 2015 -0700
watchdog: introduce proc_watchdog_common()
Three of four handlers for the watchdog parameters in /proc/sys/kernel
essentially have to do the same thing.
if the parameter is being read {
return the state of the corresponding bit(s) in 'watchdog_enabled'
} else {
set/clear the state of the corresponding bit(s) in 'watchdog_enabled'
update the run state of the lockup detector(s)
}
Hence, introduce a common function that can be called by those handlers.
The callers pass a 'bit mask' to this function to indicate which bit(s)
should be set/cleared in 'watchdog_enabled'.
This function handles an uncommon race with watchdog_nmi_enable() where a
concurrent update of 'watchdog_enabled' is possible. We use 'cmpxchg' to
detect the concurrency. [This avoids introducing a new spinlock or a
mutex to synchronize updates of 'watchdog_enabled'. Using the same lock
or mutex in watchdog thread context and in system call context needs to be
considered carefully because it can make the code prone to deadlock
situations in connection with parking/unparking the watchdog threads.]
Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit f54c2274f5515da6bae779c7340cd0dc69d0dd8d
Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Date: Tue Apr 14 15:44:01 2015 -0700
watchdog: move definition of 'watchdog_proc_mutex' outside of
proc_dowatchdog()
This series removes proc_dowatchdog(). Since multiple new functions need
the 'watchdog_proc_mutex' to serialize access to the watchdog parameters
in /proc/sys/kernel, move the mutex outside of any function.
Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit a0c9cbb93da9b9a0e00907a4a5d2e5f1fed86350
Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Date: Tue Apr 14 15:43:58 2015 -0700
watchdog: introduce the proc_watchdog_update() function
This series introduces a separate handler for each watchdog parameter in
/proc/sys/kernel. The separate handlers need a common function that they
can call to update the run state of the lockup detectors, or to have the
lockup detectors use a new sample period.
Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 84d56e66b9b4a646f04ec30696ca1aeea5e654d5
Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Date: Tue Apr 14 15:43:55 2015 -0700
watchdog: new definitions and variables, initialization
The hardlockup and softockup had always been tied together. Due to the
request of KVM folks, they had a need to have one enabled but not the
other. Internally rework the code to split things apart more cleanly.
There is a bunch of churn here, but the end result should be code that
should be easier to maintain and fix without knowing the internals of what
is going on.
This patch (of 9):
Introduce new definitions and variables to separate the user interface in
/proc/sys/kernel from the internal run state of the lockup detectors. The
internal run state is represented by two bits in a new variable that is
named 'watchdog_enabled'. This helps simplify the code, for example:
- In order to check if any of the two lockup detectors is enabled,
it is sufficient to check if 'watchdog_enabled' is not zero.
- In order to enable/disable one or both lockup detectors,
it is sufficient to set/clear one or both bits in 'watchdog_enabled'.
- Concurrent updates of 'watchdog_enabled' need not be synchronized via
a spinlock or a mutex. Updates can either be atomic or concurrency can
be detected by using 'cmpxchg'.
Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 1d5b897706d11ac59fecd85ba7b1cbf91c44fe50
Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:43:52 2015 -0700
ocfs2: make mlog_errno return the errno
ocfs2 does
mlog_errno(v);
return v;
in many places. Change mlog_errno() so we can do
return mlog_errno(v);
For some weird reason this patch reduces the size of ocfs2 by 6k:
akpm3:/usr/src/25> size fs/ocfs2/ocfs2.ko
text data bss dec hex filename
1146613 82767 832192 2061572 1f7504 fs/ocfs2/ocfs2.ko-before
1140857 82767 832192 2055816 1f5e88 fs/ocfs2/ocfs2.ko-after
[dan.carpenter@xxxxxxxxxx: double evaluation concerns in mlog_errno()]
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Cc: alex chen <alex.chen@xxxxxxxxxx>
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 2f2eca20a09dac0e9d62bf57ce6a0c6ef6cf91e6
Author: alex chen <alex.chen@xxxxxxxxxx>
Date: Tue Apr 14 15:43:49 2015 -0700
ocfs2: check if the ocfs2 lock resource has been initialized before
calling ocfs2_dlm_lock
If ocfs2 lockres has not been initialized before calling ocfs2_dlm_lock,
the lock won't be dropped and then will lead umount hung. The case is
described below:
ocfs2_mknod
ocfs2_mknod_locked
__ocfs2_mknod_locked
ocfs2_journal_access_di
Failed because of -ENOMEM or other reasons, the inode lockres
has not been initialized yet.
iput(inode)
ocfs2_evict_inode
ocfs2_delete_inode
ocfs2_inode_lock
ocfs2_inode_lock_full_nested
__ocfs2_cluster_lock
Succeeds and allocates a new dlm lockres.
ocfs2_clear_inode
ocfs2_open_unlock
ocfs2_drop_inode_locks
ocfs2_drop_lock
Since lockres has not been initialized, the lock
can't be dropped and the lockres can't be
migrated, thus umount will hang forever.
Signed-off-by: Alex Chen <alex.chen@xxxxxxxxxx>
Reviewed-by: Joseph Qi <joseph.qi@xxxxxxxxxx>
Reviewed-by: joyce.xue <xuejiufei@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 1543306e75ee40662b2c6d37c43c8659f3d6f880
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Tue Apr 14 15:43:46 2015 -0700
ocfs2: logging: remove static buffer, use vsprintf extension %pV
Use the vsprintf %pV extension to avoid using a static buffer and remove
the now unnecessary buffer.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit e2ac55b6a8e337fac7cc59c6f452caac92ab5ee6
Author: Chengyu Song <csong84@xxxxxxxxxx>
Date: Tue Apr 14 15:43:44 2015 -0700
ocfs2: incorrect check for debugfs returns
debugfs_create_dir and debugfs_create_file may return -ENODEV when debugfs
is not configured, so the return value should be checked against
ERROR_VALUE as well, otherwise the later dereference of the dentry pointer
would crash the kernel.
This patch tries to solve this problem by fixing certain checks. However,
I have that found other call sites are protected by #ifdef
CONFIG_DEBUG_FS.
In current implementation, if CONFIG_DEBUG_FS is defined, then the above
two functions will never return any ERROR_VALUE. So another possibility
to fix this is to surround all the buggy checks/functions with the same
#ifdef CONFIG_DEBUG_FS. But I'm not sure if this would break any
functionality,
as only OCFS2_FS_STATS declares dependency on DEBUG_FS.
Signed-off-by: Chengyu Song <csong84@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 762515a8e9c7ead55539cf96a63dec2363b1df50
Author: Jakub Wilk <jwilk@xxxxxxxxx>
Date: Tue Apr 14 15:43:41 2015 -0700
ocfs2: fix a typo in the copyright statement
Signed-off-by: Jakub Wilk <jwilk@xxxxxxxxx>
Reviewed-by: Eric Ren <zren@xxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 023d4ea358494ccfeb37abfe5b0fd01b45a6051c
Author: Joseph Qi <joseph.qi@xxxxxxxxxx>
Date: Tue Apr 14 15:43:33 2015 -0700
ocfs2: fix possible uninitialized variable access
In ocfs2_local_alloc_find_clear_bits and ocfs2_get_dentry, variable
numfound and set may be uninitialized and then used in tracepoint. In
ocfs2_xattr_block_get and ocfs2_delete_xattr_in_bucket, variable block_off
and xv may be uninitialized and then used in the following logic due to
unchecked return value.
This patch fixes these possible issues.
Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7c01ad8fe7c159d7e1ddbd8e586d4d0dfed7ab3d
Author: Daeseok Youn <daeseok.youn@xxxxxxxxx>
Date: Tue Apr 14 15:43:30 2015 -0700
ocfs2: remove goto statement in ocfs2_check_dir_for_entry()
Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx>
Reviewed-by: Joseph Qi <joseph.qi@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit a47726bcf299db6b5743d574df36c423263b4e65
Author: Joseph Qi <joseph.qi@xxxxxxxxxx>
Date: Tue Apr 14 15:43:27 2015 -0700
ocfs2: rollback the cleared bits if error occurs after
ocfs2_block_group_clear_bits
ocfs2_block_group_clear_bits will clear bits in block group bitmap.
Once it succeeds but fails in the following step, it will cause block
group bitmap mismatch the corresponding count recorded in dinode.
So rollback the cleared bits if error occurs.
Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 62f8b1f0d609838361d65b5b2114859d464e6baa
Author: Joseph Qi <joseph.qi@xxxxxxxxxx>
Date: Tue Apr 14 15:43:24 2015 -0700
ocfs2: use ENOENT instead of EEXIST when get system file fails
When ocfs2_get_system_file_inode fails, it is obscure to set the return
value to -EEXIST. So change it to -ENOENT.
Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit e38a573907383b3c57514fe2331322b1fc110eef
Author: Joseph Qi <joseph.qi@xxxxxxxxxx>
Date: Tue Apr 14 15:43:22 2015 -0700
ocfs2: use actual name length when find entry in ocfs2_orphan_del()
If the namelen is 20 and name only has actual length 16, it will fail in
ocfs2_find_entry because of mismatch. So use actual name length when find
entry.
Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx>
Signed-off-by: Yiwen Jiang <jiangyiwen@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit e073fc58dfe6a4c9b614320c1d56bb71cb213ec4
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Tue Apr 14 15:43:19 2015 -0700
ocfs2: dereferencing freed pointers in ocfs2_reflink()
The code at the "out" label assumes that "default_acl" and "acl" are NULL,
but actually the pointers can be NULL, unitialized, or freed.
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit d0ba25b905ba1246d04578cd59df83014e9b9152
Author: Joseph Qi <joseph.qi@xxxxxxxxxx>
Date: Tue Apr 14 15:43:16 2015 -0700
ocfs2: fix typo in ocfs2_reserve_local_alloc_bits
In ocfs2_reserve_local_alloc_bits, it calls ocfs2_error if local alloc
inode bitmap used bits mismatch, but the log mistakes it as free bits.
Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 14a5275d8c31ba24832f45eeb2469e835ded660d
Author: Joseph Qi <joseph.qi@xxxxxxxxxx>
Date: Tue Apr 14 15:43:13 2015 -0700
ocfs2: do not use ocfs2_zero_extend during direct IO
In ocfs2_direct_IO_write, we use ocfs2_zero_extend to zero allocated
clusters in case of cluster not aligned. But ocfs2_zero_extend uses page
cache, this may happen that it clears the data which blockdev_direct_IO
has already written.
We should use blkdev_issue_zeroout instead of ocfs2_zero_extend during
direct IO.
So fix this issue by introducing ocfs2_direct_IO_zero_extend and
ocfs2_direct_IO_extend_no_holes.
Reported-by: Yiwen Jiang <jiangyiwen@xxxxxxxxxx>
Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx>
Tested-by: Yiwen Jiang <jiangyiwen@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 37a8d89aee2a5b58812e19520d96632efe987f54
Author: Joseph Qi <joseph.qi@xxxxxxxxxx>
Date: Tue Apr 14 15:43:10 2015 -0700
ocfs2: take inode lock when get clusters
We need take inode lock when calling ocfs2_get_clusters.
And use GFP_NOFS instead of GFP_KERNEL.
Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7e9b19551c8249baf380cbd274633ee4af95bc99
Author: Joseph Qi <joseph.qi@xxxxxxxxxx>
Date: Tue Apr 14 15:43:08 2015 -0700
ocfs2: no need get dinode bh when zeroing extend
Since di_bh won't be used when zeroing extend, set it to NULL.
Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit bdd86215b393b743be34b854299c6cda7cbb361c
Author: Joseph Qi <joseph.qi@xxxxxxxxxx>
Date: Tue Apr 14 15:43:05 2015 -0700
ocfs2: fix a typing error in ocfs2_direct_IO_write
Only when direct IO succeeds we need consider zeroing out in case of
cluster not aligned.
Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7a8346429d6da4039a4687a8a07f3f8cdaf96d92
Author: Daeseok Youn <daeseok.youn@xxxxxxxxx>
Date: Tue Apr 14 15:43:02 2015 -0700
ocfs2: avoid a pointless delay in o2cb_cluster_check()
Fix an off-by-one when attempting to avoid an msleep() on the final loop
iteration.
Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 43ee9cad8a81954eea893b52e08d0c00ca9baccc
Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:42:59 2015 -0700
ocfs2: one function call less in user_cluster_connect() after error
detection
kfree() was called by user_cluster_connect() even if a previous call of
the kzalloc() function failed.
Return from this implementation directly after failure detection.
Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit bb34ed21bce54a900c034089a6b1fde8c09f6a6d
Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:42:56 2015 -0700
ocfs2: one function call less in ocfs2_init_slot_info() after error
detection
__ocfs2_free_slot_info() was called by ocfs2_init_slot_info() even if a
call of the kzalloc() function failed.
Return from this implementation directly after corresponding
exception handling.
Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 629a3b5f0b1c09025546e110ea2b2a67335ed8c5
Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:42:53 2015 -0700
ocfs2: one function call less in ocfs2_merge_rec_right() after error
detection
ocfs2_free_path() was called by ocfs2_merge_rec_right() even if a call of
the ocfs2_get_right_path() function failed.
Return from this implementation directly after corresponding
exception handling.
Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 992ef6e794c4d6b84e7930ee79310f066c7f6727
Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:42:51 2015 -0700
ocfs2: one function call less in ocfs2_merge_rec_left() after error
detection
ocfs2_free_path() was called by ocfs2_merge_rec_left() even if a call of
the ocfs2_get_left_path() function failed.
Return from this implementation directly after corresponding
exception handling.
Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 06a269ccdf0550671667f5cfa00bdabb6bf05259
Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:42:48 2015 -0700
ocfs2: less function calls in ocfs2_figure_merge_contig_type() after
error detection
ocfs2_free_path() was called in some cases by
ocfs2_figure_merge_contig_type() during error handling even if the passed
variables "left_path" and "right_path" contained still a null pointer.
Corresponding implementation details could be improved by adjustments for
jump labels according to the current Linux coding style convention.
Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 3cc79b795b53a9a04aa1bcc1a943379f06324bb6
Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:42:45 2015 -0700
ocfs2: less function calls in ocfs2_convert_inline_data_to_extents()
after error detection
kfree() was called in a few cases by
ocfs2_convert_inline_data_to_extents()
during error handling even if the passed variable "pages" contained a
null pointer.
* Return from this implementation directly after failure detection for
the function call "kcalloc".
* Corresponding details could be improved by the introduction of another
jump label.
Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit fd90d4dfb94a8c0d626c0c85ca7dcfb905f81a65
Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:42:42 2015 -0700
ocfs2: delete unnecessary checks before three function calls
kfree(), ocfs2_free_path() and __ocfs2_free_slot_info() test whether their
argument is NULL and then return immediately. Thus the test around their
calls is not needed.
This issue was detected by using the Coccinelle software.
Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Cc: Mark Fasheh <mfasheh@xxxxxxxx>
Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 1cf370c61179e01313457363b21f0859be0d8cb7
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Tue Apr 14 15:42:40 2015 -0700
arch/sh/kernel/dwarf.c: use mempool_create_slab_pool()
Mempools created for slab caches should use mempool_create_slab_pool().
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 7b4b425897cd582897ccc38b637ce7ab5ffc5593
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Tue Apr 14 15:42:37 2015 -0700
arch/sh/kernel/dwarf.c: destroy mempools on cleanup
dwarf_reg_pool and dwarf_frame_pool are not properly destroyed when
cleaning up the dwarf unwinder. Destroy them with mempool_destroy().
Also mark dwarf_unwinder_cleanup() as __init.
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 5017335d6d8c1fc3bbc04f80785440885f305879
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Tue Apr 14 15:42:34 2015 -0700
scripts/coccinelle/misc/bugon.cocci: update bug_on conversion warning
if()/BUG conversion to BUG_ON must be avoided when there's side effect
in condition. The reason being BUG_ON won't execute the condition when
CONFIG_BUG is not defined.
With inspiration from Bruce Fields.
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Suggested-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Acked-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Cc: J. Bruce Fields <bfields@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 97534127012f0e396eddea4691f4c9b170aed74b
Author: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx>
Date: Tue Apr 14 15:42:30 2015 -0700
mm/hugetlb: use pmd_page() in follow_huge_pmd()
Commit 61f77eda9bbf ("mm/hugetlb: reduce arch dependent code around
follow_huge_*") broke follow_huge_pmd() on s390, where pmd and pte
layout differ and using pte_page() on a huge pmd will return wrong
results. Using pmd_page() instead fixes this.
All architectures that were touched by that commit have pmd_page()
defined, so this should not break anything on other architectures.
Fixes: 61f77eda "mm/hugetlb: reduce arch dependent code around
follow_huge_*"
Signed-off-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx>
Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Cc: Hugh Dickins <hughd@xxxxxxxxxx>
Cc: Michal Hocko <mhocko@xxxxxxx>, Andrea Arcangeli <aarcange@xxxxxxxxxx>
Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 80dcc31fbe55932ac9204daee5f2ebc0c49b6da3
Merge: 78d5dcd 3013317
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 16:09:18 2015 -0700
Merge tag 'gfs2-merge-window' of
git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2
Pull GFS2 updates from Bob Peterson:
"Here is a list of patches we've accumulated for GFS2 for the current
upstream merge window.
Most of the patches fix GFS2 quotas, which were not properly enforced.
There's another that adds me as a GFS2 co-maintainer, and a couple
patches that fix a kernel panic doing splice_write on GFS2 as well as
a few correctness patches"
* tag 'gfs2-merge-window' of
git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
gfs2: fix quota refresh race in do_glock()
gfs2: incorrect check for debugfs returns
gfs2: allow fallocate to max out quotas/fs efficiently
gfs2: allow quota_check and inplace_reserve to return available blocks
gfs2: perform quota checks against allocation parameters
GFS2: Move gfs2_file_splice_write outside of #ifdef
GFS2: Allocate reservation during splice_write
GFS2: gfs2_set_acl(): Cache "no acl" as well
Add myself (Bob Peterson) as a maintainer of GFS2
commit 78d5dcda92a17f17132671c269ea2c3a17688649
Merge: 2cfde72 7d2ac45
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 16:04:26 2015 -0700
Merge tag 'jfs-4.1' of git://github.com/kleikamp/linux-shaggy
Pull jfs update from David Kleikamp:
"Not much this time. Just a one-liner format fix"
* tag 'jfs-4.1' of git://github.com/kleikamp/linux-shaggy:
jfs: %pf is only for function pointers
commit 2cfde72f0f26d3df7e565c5dce687c372042feba
Merge: ca2ec32 62f269e
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:58:56 2015 -0700
Merge tag 'please-pull-pstore' of
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux
Pull pstore fix from Tony Luck:
"Just one pstore fix this release"
* tag 'please-pull-pstore' of
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
pstore: Fix the ramoops module parameters update
commit f4f88c6d3b6fe1632ddb567be155698733e857a1
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:33:10 2015 -0700
fm10k: Bump driver version to 0.15.2
With the recent driver changes, bump the version.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
commit b32d15b9d71b37854b94923a176acda35b40c9f4
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:27:15 2015 -0700
fm10k: corrected VF multicast update
VFs were being improperly added to the switch's multicast group. The
error stems from the fact that incorrect arguments were passed to the
"update_mc_addr" function. It would seem to be a copy paste error since
the parameters are similar to the "update_uc_addr" function.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Ngai-Mint Kwan <ngai-mint.kwan@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit da61b36706f06a95bedeef0168db5b40a2940f8a
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:27:14 2015 -0700
fm10k: mbx_update_max_size does not drop all oversized messages
When we call update_max_size it does not drop all oversized messages.
This is due to the difficulty in performing this operation, since it is
a FIFO which makes updating anything other than head or tail very
difficult. To fix this, modify validate_msg_size to ensure that we error
out later when trying to transmit the message that could be oversized.
This will generally be a rare condition, as it requires the FIFO to
include a message larger than the max_size negotiated during mailbox
connect. Note that max_size is always smaller than rx.size so it should
be safe to use here.
Also, update the update_max_size function header comment to clearly
indicate that it does not drop all oversized messages, but only those at
the head of the FIFO.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 78288e3750c568f0f95db235a06475db3b1a122a
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:27:13 2015 -0700
fm10k: reset head instead of calling update_max_size
When we forcefully shutdown the mailbox, we then go about resetting max
size to 0, and clearing all messages in the FIFO. Instead, we should
just reset the head pointer so that the FIFO becomes empty, rather than
changing the max size to 0. This helps prevent increment in tx_dropped
counter during mailbox negotiation, which is confusing to viewers of
Linux ethtool statistics output.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 750c607e303971e1746f98bfeec17bf45cbf228d
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:27:12 2015 -0700
fm10k: renamed mbx_tx_dropped to mbx_tx_oversized
The use of dropped doesn't really mean dropped mailbox messages, but
rather specifically messages which were too large to fit in the remote
Rx FIFO. Rename the stat to more clearly indicate what it means.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit bae97d84100ae7a8dc3b79233ecd3a8f7c19ea57
Merge: 87ffabb 97bb43c
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Apr 14 18:51:19 2015 -0400
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next
Pablo Neira Ayuso says:
====================
Netfilter updates for net-next
A final pull request, I know it's very late but this time I think it's
worth a
bit of rush.
The following patchset contains Netfilter/nf_tables updates for net-next,
more
specifically concatenation support and dynamic stateful expression
instantiation.
This also comes with a couple of small patches. One to fix the ebtables.h
userspace header and another to get rid of an obsolete example file in
tree
that describes a nf_tables expression.
This time, I decided to paste the original descriptions. This will result
in a
rather large commit description, but I think these bytes to keep.
Patrick McHardy says:
====================
netfilter: nf_tables: concatenation support
The following patches add support for concatenations, which allow multi
dimensional exact matches in O(1).
The basic idea is to split the data registers, currently consisting of
4 registers of 16 bytes each, into smaller units, 16 registers of 4
bytes each, and making sure each register store always leaves the
full 32 bit in a well defined state, meaning smaller stores will
zero the remaining bits.
Based on that, we can load multiple adjacent registers with different
values, thereby building a concatenated bigger value, and use that
value for set lookups.
Sets are changed to use variable sized extensions for their key and
data values, removing the fixed limit of 16 bytes while saving memory
if less space is needed.
As a side effect, these patches will allow some nice optimizations in
the future, like using jhash2 in nft_hash, removing the masking in
nft_cmp_fast, optimized data comparison using 32 bit word size etc.
These are not done so far however.
The patches are split up as follows:
* the first five patches add length validation to register loads and
stores to make sure we stay within bounds and prepare the validation
functions for the new addressing mode
* the next patches prepare for changing to 32 bit addressing by
introducing a struct nft_regs, which holds the verdict register as
well as the data registers. The verdict members are moved to a new
struct nft_verdict to allow to pull struct nft_data out of the stack.
* the next patches contain preparatory conversions of expressions and
sets to use 32 bit addressing
* the next patch introduces so far unused register conversion helpers
for parsing and dumping register numbers over netlink
* following is the real conversion to 32 bit addressing, consisting of
replacing struct nft_data in struct nft_regs by an array of u32s and
actually translating and validating the new register numbers.
* the final two patches add support for variable sized data items and
variable sized keys / data in set elements
The patches have been verified to work correctly with nft binaries using
both old and new addressing.
====================
Patrick McHardy says:
====================
netfilter: nf_tables: dynamic stateful expression instantiation
The following patches are the grand finale of my nf_tables set work,
using all the building blocks put in place by the previous patches
to support something like iptables hashlimit, but a lot more powerful.
Sets are extended to allow attaching expressions to set elements.
The dynset expression dynamically instantiates these expressions
based on a template when creating new set elements and evaluates
them for all new or updated set members.
In combination with concatenations this effectively creates state
tables for arbitrary combinations of keys, using the existing
expression types to maintain that state. Regular set GC takes care
of purging expired states.
We currently support two different stateful expressions, counter
and limit. Using limit as a template we can express the functionality
of hashlimit, but completely unrestricted in the combination of keys.
Using counter we can perform accounting for arbitrary flows.
The following examples from patch 5/5 show some possibilities.
Userspace syntax is still WIP, especially the listing of state
tables will most likely be seperated from normal set listings
and use a more structured format:
1. Limit the rate of new SSH connections per host, similar to iptables
hashlimit:
flow ip saddr timeout 60s \
limit 10/second \
accept
2. Account network traffic between each set of /24 networks:
flow ip saddr & 255.255.255.0 . ip daddr & 255.255.255.0 \
counter
3. Account traffic to each host per user:
flow skuid . ip daddr \
counter
4. Account traffic for each combination of source address and TCP flags:
flow ip saddr . tcp flags \
counter
The resulting set content after a Xmas-scan look like this:
{
192.168.122.1 . fin | psh | urg : counter packets 1001 bytes
40040,
192.168.122.1 . ack : counter packets 74 bytes 3848,
192.168.122.1 . psh | ack : counter packets 35 bytes 3144
}
In the future the "expressions attached to elements" will be extended
to also support user created non-stateful expressions to allow to
efficiently select beween a set of parameter sets, f.i. a set of log
statements with different prefixes based on the interface, which currently
require one rule each. This will most likely have to wait until the next
kernel version though.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a7731cc8a1593510cdd5acf97a70a41a2ebe9571
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:27:11 2015 -0700
fm10k: update xcast mode before synchronizing multicast addresses
When the PF receives a request to update a multicast address for the VF,
it checks the enabled multicast mode first. Fix a bug where the VF tried
to set a multicast address before requesting the required xcast mode.
This ensures the multicast addresses are honored as long as the xcast
mode was allowed.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 54b3c9cfad6bf0488a031171805c52346f4efa3d
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:27:09 2015 -0700
fm10k: start service timer on probe
Since the service task handles varying work that doesn't all require the
interface to be up, launch the service timer immediately. This ensures
that we continually check the mailbox, as well as handle other tasks
while the device is down.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 41857562530c1da9cd73b018996b9522676cb6a2
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:27:08 2015 -0700
fm10k: fix function header comment
The header comment included a miscopy of a C-code line, and also
mis-used Rx FIFO when it clearly meant Tx FIFO
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit ada2411d4fce4c55cfe04cdd9ed3dc2c5fe6523a
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:27:07 2015 -0700
fm10k: comment next_vf_mbx flow
Add a header comment explaining why we have the somewhat crazy mailbox
flow. This flow is necessary as it prevents the PF<->SM mailbox from
being flooded by the VF messages, which normally trigger a message to
the PF. This helps prevent the case where we see a PF mailbox timeout.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 9de15bda37bd9b86378afd82e6fc52e82dc89ac3
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 10 17:20:17 2015 -0700
fm10k: don't handle mailbox events in iov_event path and always process
mailbox
Since we already schedule the service task, we can just wait for this
task to handle the mailbox events from the VF. This reduces some complex
code flow, and makes it so we have a single path for handling the VF
messages. There is a possibility that we have a slight delay in handling
VF messages, but it should be minimal.
The result of tx_complete and !rx_ready is insufficient to determine
whether we need to process the mailbox. There is a possible race
condition whereby the VF fills up the mbmem for us, but we have already
recently processed the mailboxes in the interrupt. During this time,
the interrupt is disabled. Thus, our Rx FIFO is empty, but the mbmem now
has data in it. Since we continually check whether Rx FIFO is empty, we
then never call process. This results in the possibility to prevent PF
from handling the VF mailbox messages.
Instead, just call process every time, despite the fact that we may or
may not have anything to process for the VF. There should be minimal
overhead for doing this, and it resolves an issue where the VF never
comes up due to never getting response for its SET_LPORT_STATE message.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit b382bb1b3e2d498ee7ce8976afa7737d407a4f11
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:27:05 2015 -0700
fm10k: use separate workqueue for fm10k driver
Since we run the watchdog periodically, which might take a while and
potentially monopolize the system default workqueue, create our own
separate work queue. This also helps reduce and stabilize latency
between scheduling the work in our interrupt and actually performing
the work. Still use a timer for the regular scheduled interval but
queue the work onto its own work queue.
It seemed overkill to create a single workqueue per interface, so we
just spawn a single work queue for all interfaces upon driver load. For
this reason, use a multi-threaded workqueue with one thread per
processor, rather than single threaded queue.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit ded8b20d5f236f5850f000b4da5f3b4bfa00262d
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:27:04 2015 -0700
fm10k: Set PF queues to unlimited bandwidth during virtualization
When returning virtualization queues from the VF back to the PF, do not
retain the VF rate limiter.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Todd Russell <todd.a.russell@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit e05546ec05d854b540d9f39b32f40c3bda34f6cc
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:27:03 2015 -0700
fm10k: expose tx_timeout_count as an ethtool stat
Named it tx_hang_count to differentiate it from tx_hwtstamp_timeout.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 10df06fa2ad10a685c51c6652288ed531a414a3e
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:27:02 2015 -0700
fm10k: only increment tx_timeout_count in Tx hang path
We were incrementing the tx_timeout_count for both the Tx hang
and then for all reset flows. Instead, we should only increment
tx_timeout_count in the Tx hang path, so that our Tx hang counter
does not increment when it was not caused by a Tx hang.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 5deaf50bfba5f3ffb42bd655faa5b18822452b3b
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:27:01 2015 -0700
fm10k: remove extraneous "Reset interface" message
Since we already print this message when a reset is requested via the
RESET_REQUESTED flag, we do not need to print it before setting the
flag.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit fbdb159f7d662b32111b489a50ce59a1f5d4a817
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:27:00 2015 -0700
fm10k: separate PF only stats so that VF does not display them
This patch resolves an issue with ethtool stats displaying useless
values on the VF, because some stats simply have no meaning to the VF.
Resolve this by splitting these out into PF_STATS and only showing them
if we aren't the VF.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit c0e61781a8cb1c5d1b092a4d9776dbefe799444e
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:26:59 2015 -0700
fm10k: use hw->mac.max_queues for stats
Even though it shouldn't strictly matter, don't count queue stats higher
than the max_queues value stored for this mac. This ensures that we
don't attempt to check queues which don't belong to use in VFs. This
shouldn't be a visible change, as the VFs should see zero for queues
which don't belong to them.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 29a928ee633a9166e5637609ce4c735856b23fbe
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:26:58 2015 -0700
fm10k: only show actual queues, not the maximum in hardware
Currently, we show statistics for all 128 queues, even though we don't
necessarily have that many queues available especially in the VF case.
Instead, use the hw->mac.max_queues value, which tells us how many
queues we actually have, rather than the space for the rings we
allocated. In this way, we prevent dumping statistics that are useless
on the VF.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 661b2067910fdecb9a7053f7b5279a0ff61b0bf7
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 10 16:48:19 2015 -0700
fm10k: allow creation of VLAN on default vid
Previously, the user was not allowed to create a VLAN interface on top
of the switch default vid.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit ca2ec32658db160745990496f0f4580056a5dc9f
Merge: 6c8a53c9 fdc81f4
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 15:31:03 2015 -0700
Merge branch 'for-linus-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs update from Al Viro:
"Part one:
- struct filename-related cleanups
- saner iov_iter_init() replacements (and switching the syscalls to
use of those)
- ntfs switch to ->write_iter() (Anton)
- aio cleanups and splitting iocb into common and async parts
(Christoph)
- assorted fixes (me, bfields, Andrew Elble)
There's a lot more, including the completion of switchover to
->{read,write}_iter(), d_inode/d_backing_inode annotations, f_flags
race fixes, etc, but that goes after #for-davem merge. David has
pulled it, and once it's in I'll send the next vfs pull request"
* 'for-linus-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (35 commits)
sg_start_req(): use import_iovec()
sg_start_req(): make sure that there's not too many elements in iovec
blk_rq_map_user(): use import_single_range()
sg_io(): use import_iovec()
process_vm_access: switch to {compat_,}import_iovec()
switch keyctl_instantiate_key_common() to iov_iter
switch {compat_,}do_readv_writev() to {compat_,}import_iovec()
aio_setup_vectored_rw(): switch to {compat_,}import_iovec()
vmsplice_to_user(): switch to import_iovec()
kill aio_setup_single_vector()
aio: simplify arguments of aio_setup_..._rw()
aio: lift iov_iter_init() into aio_setup_..._rw()
lift iov_iter into {compat_,}do_readv_writev()
NFS: fix BUG() crash in notify_change() with patch to chown_common()
dcache: return -ESTALE not -EBUSY on distributed fs race
NTFS: Version 2.1.32 - Update file write from aio_write to write_iter.
VFS: Add iov_iter_fault_in_multipages_readable()
drop bogus check in file_open_root()
switch security_inode_getattr() to struct path *
constify tomoyo_realpath_from_path()
...
commit de445199161530636cd7ab9c85ba2eb6d15c380b
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:26:56 2015 -0700
fm10k: fix unused warnings
The were several functions which had parameters which were never or
sometimes used in functions. To resolve possible compiler warnings,
use __always_unused or __maybe_unused kernel macros to resolve.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 8b4a98c7fa0344c08c34657e2bd2cc2293a67238
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 10 19:14:31 2015 -0700
fm10k: Add netconsole support
This change adds a function called "fm10k_netpoll" that's used to define
"ndo_poll_controller" in "fm10k_netdev_ops". This is required to enable
support for "netconsole" in fm10k.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Ngai-Mint Kwan <ngai-mint.kwan@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 4c16ceae8daa13c99ca1b7b46d372678f5024a6f
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:26:54 2015 -0700
fm10k: Have the VF get the default VLAN during init
Currently, the VFs do not read the default VLAN during initialization,
so they will not be able to indicate untagged frames properly.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit a4bcea83d1f124f8964cfae85a68b2c984187607
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:26:53 2015 -0700
fm10k: Correct spelling mistake
Corrected a spelling mistake that was found over time.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Ngai-Mint Kwan <ngai-mint.kwan@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 97c71e3ccf70291249a564566a63e23dcaa9eee7
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:26:52 2015 -0700
fm10k: Remove redundant rx_errors in ethtool
Output of ethtool was reporting 2 rx_errors entries. This change
removes one of the redundant entries.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
commit f4e25f6e368492198d49ac6b2e05a25866fe3e8e
Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Date: Fri Apr 3 13:26:51 2015 -0700
fm10k: Corrected an error in Tx statistics
The function collecting Tx statistics was actually using values from the
RX
ring. Thus, Tx and Rx statistics values reported by "ifconfig" will
return identical values. This change corrects this error and the Tx
statistics is now reading from the Tx ring.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx>
commit 6c8a53c9e6a151fffb07f8b4c34bd1e33dddd467
Merge: e95e7f6 066450b
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 14:37:47 2015 -0700
Merge branch 'perf-core-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf changes from Ingo Molnar:
"Core kernel changes:
- One of the more interesting features in this cycle is the ability
to attach eBPF programs (user-defined, sandboxed bytecode executed
by the kernel) to kprobes.
This allows user-defined instrumentation on a live kernel image
that can never crash, hang or interfere with the kernel negatively.
(Right now it's limited to root-only, but in the future we might
allow unprivileged use as well.)
(Alexei Starovoitov)
- Another non-trivial feature is per event clockid support: this
allows, amongst other things, the selection of different clock
sources for event timestamps traced via perf.
This feature is sought by people who'd like to merge perf generated
events with external events that were measured with different
clocks:
- cluster wide profiling
- for system wide tracing with user-space events,
- JIT profiling events
etc. Matching perf tooling support is added as well, available via
the -k, --clockid <clockid> parameter to perf record et al.
(Peter Zijlstra)
Hardware enablement kernel changes:
- x86 Intel Processor Trace (PT) support: which is a hardware tracer
on steroids, available on Broadwell CPUs.
The hardware trace stream is directly output into the user-space
ring-buffer, using the 'AUX' data format extension that was added
to the perf core to support hardware constraints such as the
necessity to have the tracing buffer physically contiguous.
This patch-set was developed for two years and this is the result.
A simple way to make use of this is to use BTS tracing, the PT
driver emulates BTS output - available via the 'intel_bts' PMU.
More explicit PT specific tooling support is in the works as well -
will probably be ready by 4.2.
(Alexander Shishkin, Peter Zijlstra)
- x86 Intel Cache QoS Monitoring (CQM) support: this is a hardware
feature of Intel Xeon CPUs that allows the measurement and
allocation/partitioning of caches to individual workloads.
These kernel changes expose the measurement side as a new PMU
driver, which exposes various QoS related PMU events. (The
partitioning change is work in progress and is planned to be merged
as a cgroup extension.)
(Matt Fleming, Peter Zijlstra; CPU feature detection by Peter P
Waskiewicz Jr)
- x86 Intel Haswell LBR call stack support: this is a new Haswell
feature that allows the hardware recording of call chains, plus
tooling support. To activate this feature you have to enable it
via the new 'lbr' call-graph recording option:
perf record --call-graph lbr
perf report
or:
perf top --call-graph lbr
This hardware feature is a lot faster than stack walk or dwarf
based unwinding, but has some limitations:
- It reuses the current LBR facility, so LBR call stack and
branch record can not be enabled at the same time.
- It is only available for user-space callchains.
(Yan, Zheng)
- x86 Intel Broadwell CPU support and various event constraints and
event table fixes for earlier models.
(Andi Kleen)
- x86 Intel HT CPUs event scheduling workarounds. This is a complex
CPU bug affecting the SNB,IVB,HSW families that results in counter
value corruption. The mitigation code is automatically enabled and
is transparent.
(Maria Dimakopoulou, Stephane Eranian)
The perf tooling side had a ton of changes in this cycle as well, so
I'm only able to list the user visible changes here, in addition to
the tooling changes outlined above:
User visible changes affecting all tools:
- Improve support of compressed kernel modules (Jiri Olsa)
- Save DSO loading errno to better report errors (Arnaldo Carvalho
de Melo)
- Bash completion for subcommands (Yunlong Song)
- Add 'I' event modifier for perf_event_attr.exclude_idle bit (Jiri
Olsa)
- Support missing -f to override perf.data file ownership. (Yunlong
Song)
- Show the first event with an invalid filter (David Ahern, Arnaldo
Carvalho de Melo)
User visible changes in individual tools:
'perf data':
New tool for converting perf.data to other formats, initially
for the CTF (Common Trace Format) from LTTng (Jiri Olsa,
Sebastian Siewior)
'perf diff':
Add --kallsyms option (David Ahern)
'perf list':
Allow listing events with 'tracepoint' prefix (Yunlong Song)
Sort the output of the command (Yunlong Song)
'perf kmem':
Respect -i option (Jiri Olsa)
Print big numbers using thousands' group (Namhyung Kim)
Allow -v option (Namhyung Kim)
Fix alignment of slab result table (Namhyung Kim)
'perf probe':
Support multiple probes on different binaries on the same command
line (Masami Hiramatsu)
Support unnamed union/structure members data collection. (Masami
Hiramatsu)
Check kprobes blacklist when adding new events. (Masami Hiramatsu)
'perf record':
Teach 'perf record' about perf_event_attr.clockid (Peter Zijlstra)
Support recording running/enabled time (Andi Kleen)
'perf sched':
Improve the performance of 'perf sched replay' on high CPU core
count machines (Yunlong Song)
'perf report' and 'perf top':
Allow annotating entries in callchains in the hists browser
(Arnaldo Carvalho de Melo)
Indicate which callchain entries are annotated in the
TUI hists browser (Arnaldo Carvalho de Melo)
Add pid/tid filtering to 'report' and 'script' commands (David
Ahern)
Consider PERF_RECORD_ events with cpumode == 0 in 'perf top',
removing one
cause of long term memory usage buildup, i.e. not processing
PERF_RECORD_EXIT
events (Arnaldo Carvalho de Melo)
'perf stat':
Report unsupported events properly (Suzuki K. Poulose)
Output running time and run/enabled ratio in CSV mode (Andi Kleen)
'perf trace':
Handle legacy syscalls tracepoints (David Ahern, Arnaldo Carvalho
de Melo)
Only insert blank duration bracket when tracing syscalls (Arnaldo
Carvalho de Melo)
Filter out the trace pid when no threads are specified (Arnaldo
Carvalho de Melo)
Dump stack on segfaults (Arnaldo Carvalho de Melo)
No need to explicitely enable evsels for workload started from
perf, let it
be enabled via perf_event_attr.enable_on_exec, removing some
events that take
place in the 'perf trace' before a workload is really started by
it.
(Arnaldo Carvalho de Melo)
Allow mixing with tracepoints and suppressing plain syscalls.
(Arnaldo Carvalho de Melo)
There's also been a ton of infrastructure work done, such as the
split-out of perf's build system into tools/build/ and other changes -
see the shortlog and changelog for details"
* 'perf-core-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (358 commits)
perf/x86/intel/pt: Clean up the control flow in pt_pmu_hw_init()
perf evlist: Fix type for references to data_head/tail
perf probe: Check the orphaned -x option
perf probe: Support multiple probes on different binaries
perf buildid-list: Fix segfault when show DSOs with hits
perf tools: Fix cross-endian analysis
perf tools: Fix error path to do closedir() when synthesizing threads
perf tools: Fix synthesizing fork_event.ppid for non-main thread
perf tools: Add 'I' event modifier for exclude_idle bit
perf report: Don't call map__kmap if map is NULL.
perf tests: Fix attr tests
perf probe: Fix ARM 32 building error
perf tools: Merge all perf_event_attr print functions
perf record: Add clockid parameter
perf sched replay: Use replay_repeat to calculate the runavg of cpu
usage instead of the default value 10
perf sched replay: Support using -f to override perf.data file ownership
perf sched replay: Fix the EMFILE error caused by the limitation of the
maximum open files
perf sched replay: Handle the dead halt of sem_wait when create_tasks()
fails for any task
perf sched replay: Fix the segmentation fault problem caused by pr_err
in threads
perf sched replay: Realloc the memory of pid_to_task stepwise to adapt
to the different pid_max configurations
...
commit 2afebafdbdabd666f6ed3989bb5be21bd94b57bd
Author: Oliver Neukum <oneukum@xxxxxxx>
Date: Tue Apr 14 14:24:09 2015 -0700
Input: ff-core - use new debug macros
Replace old pr_* with dev_* debugging macros
Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 8b8be51b4fd365ac5983e117be9d28f427a07b68
Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx>
Date: Tue Apr 14 10:06:38 2015 -0700
Input: add vmmouse driver
VMMouse enables low-latency mouse-cursor-movements for VMWare and QEMU
guests. By removing the guest cursor and using the host as a guest cursor
the cursor movement appears instant although in reality there is some lag.
To be able to do this, the host's view of the cursor position must exactly
match the guest's view and an absolute pointer device is needed. Enter the
VMMouse. While the VMMouse driver has historically been an Xorg user-space
driver, implementing it as a kernel imput driver enables rootless Xorg and
new compositing display servers for VMware guests.
Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 4b2f8838479eb2abe042e094f7d2cced6d5ea772
Merge: c848791 9fd85eb
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Tue Apr 14 22:28:32 2015 +0100
Merge branch 'devel-stable' into for-next
commit c848791f0336914a3081ea3fe029cf177d81de81
Merge: 79403cd e5b61de 6c5c2a0
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Tue Apr 14 22:28:25 2015 +0100
Merge branches 'misc', 'vdso' and 'fixes' into for-next
Conflicts:
arch/arm/mm/proc-macros.S
commit 79403cda37204b06b9f96351a35251ff7d88de4b
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Mon Apr 13 16:14:37 2015 +0100
ARM: update errata 430973 documentation to cover Cortex A8 r1p*
This errata covers all r1 variants of Cortex A8, it's not limited to
just r1p0..r1p2. Update the documentation to reflect this. The code
already applies the workaround to all r1p* A8 CPUs.
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 57ca654bef6c43bbbccfb2d231fd245d3f67dd46
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Mon Apr 13 10:36:04 2015 +0100
ARM: ensure delay timer has sufficient accuracy for delays
We have recently had an example of someone wanting to use a 90kHz timer
for the software delay loop.
udelay() needs to have at least microsecond resolution to allow drivers
access to a delay mechanism with a reasonable chance of delaying the
period they requested within at least a 50% marging of error, especially
for small delays.
Discussion about the udelay() accuracy can be found at:
https://lkml.org/lkml/2011/1/9/37
Reject timers which are unable to supply this level of resolution.
Acked-by: Nicolas Pitre <nico@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 37463be8658ae5fba153f4029ca3ec3f8a64fd51
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Thu Mar 26 11:43:51 2015 +0000
ARM: switch to use the generic show_mem() implementation
Switch ARM to use the generic show_mem() implementation, which displays
the statistics from the mm zone rather than walking the page arrays.
Acked-by: Mel Gorman <mgorman <mgorman@xxxxxxx>
Tested-by: Gregory Fong <gregory.0xf0@xxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit a6d746789825e4d7229523eebee233b03ad48c54
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Tue Apr 7 15:35:24 2015 +0100
ARM: proc-v7: avoid errata 430973 workaround for non-Cortex A8 CPUs
Avoid the errata 430973 workaround for non-Cortex A8 CPUs. Having this
workaround enabled introduces an additional branch target buffer flush
into the context switching path, something we wish to avoid. To allow
this errata to be enabled in multiplatform kernels while reducing its
impact, rearrange the Cortex-A8 CPU support to avoid impacting on other
Version 7 CPUs.
Tested-by: Tony Lindgren <tony@xxxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit e5a5de4447471ab1a01585f075400c2be36e2cb6
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Thu Apr 2 23:58:55 2015 +0100
ARM: enable ARM errata 643719 workaround by default
The effects of not having ARM errata 643719 enabled on affected CPUs
can be very confusing and hard to debug. Rather than leave this to
chance, enable this workaround by default. Now that we have rearranged
the code, it should have a low impact on the majority of CPUs.
Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>
Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit aaf4b5d92ce8299a363f1c0d7dc00aafde532e56
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Fri Apr 3 11:32:34 2015 +0100
ARM: cache-v7: optimise test for Cortex A9 r0pX devices
Eliminate one unnecessary instruction from this test by pre-shifting
the Cortex A9 ID - we can shift the actual ID in the teq instruction
thereby losing the pX bit of the ID at no cost.
Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit d3cd451dfb579367b4c5968256b3d8342dd0b0e8
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Fri Apr 3 11:25:39 2015 +0100
ARM: cache-v7: optimise branches in v7_flush_cache_louis
Optimise the branches such that for the majority of unaffected devices,
we avoid needing to execute the errata work-around code path by
branching to start_flush_levels early.
Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit cd8b24d9e852b53e68c69a086358c81423dfb8d1
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Fri Apr 3 11:21:42 2015 +0100
ARM: cache-v7: consolidate initialisation of cache level index
Both v7_flush_cache_louis and v7_flush_dcache_all both begin the
flush_levels loop with r10 initialised to zero. In each case, this
is done immediately prior to entering the loop. Branch to this
instruction in v7_flush_dcache_all from v7_flush_cache_louis and
eliminate the unnecessary initialisation in v7_flush_cache_louis.
Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 47b8484ea6569511a3cd915bea29886b4cd08333
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Fri Apr 3 11:15:53 2015 +0100
ARM: cache-v7: shift CLIDR to extract appropriate field before masking
Rather than have code which masks and then shifts, such as:
mrc p15, 1, r0, c0, c0, 1
ALT_SMP(ands r3, r0, #7 << 21)
ALT_UP( ands r3, r0, #7 << 27)
ALT_SMP(mov r3, r3, lsr #20)
ALT_UP( mov r3, r3, lsr #26)
re-arrange this as a shift and then mask. The masking is the same for
each field which we want to extract, so this allows the mask to be
shared amongst code paths:
mrc p15, 1, r0, c0, c0, 1
ALT_SMP(mov r3, r0, lsr #20)
ALT_UP( mov r3, r0, lsr #26)
ands r3, r3, #7 << 1
Use this method for the LoUIS, LoUU and LoC fields.
Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 5aca370826a2487aaaae5db31f6bb0b906e9755f
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Fri Apr 3 11:10:46 2015 +0100
ARM: cache-v7: use movw/movt instructions
We always build cache-v7.S for ARMv7, so we can use the ARMv7 16-bit
move instructions to load large constants, rather than using constants
in a literal pool.
Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 89c6bc5884e52ec004f03071f268ba3f27003aba
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Thu Apr 9 12:59:35 2015 +0100
ARM: allow 16-bit instructions in ALT_UP()
Allow ALT_UP() to cope with a 16-bit Thumb instruction by automatically
inserting a following nop instruction. This allows us to care less
about getting the assembler to emit a 32-bit thumb instruction.
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit e95e7f627062be5e6ce971ce873e6234c91ffc50
Merge: 078838d 1524b74
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 13:58:48 2015 -0700
Merge branch 'timers-nohz-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull NOHZ changes from Ingo Molnar:
"This tree adds full dynticks support to KVM guests (support the
disabling of the timer tick on the guest). The main missing piece was
the recognition of guest execution as RCU extended quiescent state and
related changes"
* 'timers-nohz-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
kvm,rcu,nohz: use RCU extended quiescent state when running KVM guest
context_tracking: Export context_tracking_user_enter/exit
context_tracking: Run vtime_user_enter/exit only when state ==
CONTEXT_USER
context_tracking: Add stub context_tracking_is_enabled
context_tracking: Generalize context tracking APIs to support user and
guest
context_tracking: Rename context symbols to prepare for transition state
ppc: Remove unused cpp symbols in kvm headers
commit 078838d56574694d0a4815d9c1b7f28e8844638b
Merge: eeee78c 590ee7d
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 13:36:04 2015 -0700
Merge branch 'core-rcu-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull RCU changes from Ingo Molnar:
"The main changes in this cycle were:
- changes permitting use of call_rcu() and friends very early in
boot, for example, before rcu_init() is invoked.
- add in-kernel API to enable and disable expediting of normal RCU
grace periods.
- improve RCU's handling of (hotplug-) outgoing CPUs.
- NO_HZ_FULL_SYSIDLE fixes.
- tiny-RCU updates to make it more tiny.
- documentation updates.
- miscellaneous fixes"
* 'core-rcu-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (58 commits)
cpu: Provide smpboot_thread_init() on !CONFIG_SMP kernels as well
cpu: Defer smpboot kthread unparking until CPU known to scheduler
rcu: Associate quiescent-state reports with grace period
rcu: Yet another fix for preemption and CPU hotplug
rcu: Add diagnostics to grace-period cleanup
rcutorture: Default to grace-period-initialization delays
rcu: Handle outgoing CPUs on exit from idle loop
cpu: Make CPU-offline idle-loop transition point more precise
rcu: Eliminate ->onoff_mutex from rcu_node structure
rcu: Process offlining and onlining only at grace-period start
rcu: Move rcu_report_unblock_qs_rnp() to common code
rcu: Rework preemptible expedited bitmask handling
rcu: Remove event tracing from rcu_cpu_notify(), used by offline CPUs
rcutorture: Enable slow grace-period initializations
rcu: Provide diagnostic option to slow down grace-period initialization
rcu: Detect stalls caused by failure to propagate up rcu_node tree
rcu: Eliminate empty HOTPLUG_CPU ifdef
rcu: Simplify sync_rcu_preempt_exp_init()
rcu: Put all orphan-callback-related code under same comment
rcu: Consolidate offline-CPU callback initialization
...
commit 87ffabb1f055e14e7d171c6599539a154d647904
Merge: 5e0e0dc b50edd7
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Apr 14 15:44:14 2015 -0400
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
The dwmac-socfpga.c conflict was a case of a bug fix overlapping
changes in net-next to handle an error pointer differently.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit bfd9a53e0110442eeef670227907bdd14def94e1
Author: Akinobu Mita <akinobu.mita@xxxxxxxxx>
Date: Sat Apr 11 13:17:31 2015 +0900
target/rd: Don't pass incomplete scatterlist entries to sbc_dif_verify_*
The scatterlist for protection information which is passed to
sbc_dif_verify_read() or sbc_dif_verify_write() requires that
neighboring scatterlist entries are contiguous or chained so that they
can be iterated by sg_next().
However, the protection information for RD-MCP backends could be located
in the multiple scatterlist arrays when the ramdisk space is too large.
So if the read/write request straddles this boundary,
sbc_dif_verify_read()
or sbc_dif_verify_write() can't iterate all scatterlist entries.
This problem can be fixed by chaining protection information scatterlist
at creation time. For the architectures which don't support sg chaining
(i.e. !CONFIG_ARCH_HAS_SG_CHAIN), fix it by allocating temporary
scatterlist if needed.
Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>
Cc: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Cc: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx>
Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
Cc: target-devel@xxxxxxxxxxxxxxx
Cc: linux-scsi@xxxxxxxxxxxxxxx
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 054922bb3549abbea9ed2c1a78a1e331343cc05e
Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
Date: Fri Apr 10 14:49:44 2015 +0200
target: Remove the unused flag SCF_ACK_KREF
The flag SCF_ACK_KREF is only set but never tested. Hence remove
this flag.
Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit cb0df4d30105416ef1b4f9845c4ba96569dce587
Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
Date: Fri Apr 10 14:49:02 2015 +0200
target: Fix two sparse warnings
Avoid that sparse complains about context imbalances.
Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit c8e639852ad720499912acedfd6b072325fd2807
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Tue Apr 7 21:53:27 2015 +0000
target: Fix COMPARE_AND_WRITE with SG_TO_MEM_NOALLOC handling
This patch fixes a bug for COMPARE_AND_WRITE handling with
fabrics using SCF_PASSTHROUGH_SG_TO_MEM_NOALLOC.
It adds the missing allocation for cmd->t_bidi_data_sg within
transport_generic_new_cmd() that is used by COMPARE_AND_WRITE
for the initial READ payload, even if the fabric is already
providing a pre-allocated buffer for cmd->t_data_sg.
Also, fix zero-length COMPARE_AND_WRITE handling within the
compare_and_write_callback() and target_complete_ok_work()
to queue the response, skipping the initial READ.
This fixes COMPARE_AND_WRITE emulation with loopback, vhost,
and xen-backend fabric drivers using SG_TO_MEM_NOALLOC.
Reported-by: Christoph Hellwig <hch@xxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.12+
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 9ac8928e6a3e1ed02e632e45aa766129fe6b1802
Author: Christoph Hellwig <hch@xxxxxx>
Date: Wed Apr 8 20:01:35 2015 +0200
target: simplify the target template registration API
Instead of calling target_fabric_configfs_init() +
target_fabric_configfs_register() / target_fabric_configfs_deregister()
target_fabric_configfs_free() from every target driver, rewrite the API
so that we have simple register/unregister functions that operate on
a const operations vector.
This patch also fixes a memory leak in several target drivers. Several
target drivers namely called target_fabric_configfs_deregister()
without calling target_fabric_configfs_free().
A large part of this patch is based on earlier changes from
Bart Van Assche <bart.vanassche@xxxxxxxxxxx>.
(v2: Add a new TF_CIT_SETUP_DRV macro so that the core configfs code
can declare attributes as either core only or for drivers)
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 5e0e0dc10a8be16239eae24ab775de60821eee2d
Merge: 29ba877 c3c7b12
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Apr 14 15:08:52 2015 -0400
Merge branch 'cxgb4-next'
Hariprasad Shenai says:
====================
cxgb4: Misc. fixes for sge
Increases value of MAX_IMM_TX_PKT_LEN to improve latency, fill freelist
starving threshold based on adapter type, add comments for tx flits and
sge
length code and don't call t4_slow_intr_handler when we are not master PF.
This patch series has been created against net-next tree and includes
patches on
cxgb4 driver
We have included all the maintainers of respective drivers. Kindly review
the
change and let us know in case of any review comments.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit c3c7b1217f557f9585f3805803d2126c2d385592
Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Date: Wed Apr 15 02:02:34 2015 +0530
cxgb4: Don't call t4_slow_intr_handler when we're not the Master PF
Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0aac3f56d4a63f049268fec78ead525a9227fead
Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Date: Wed Apr 15 02:02:33 2015 +0530
cxgb4: Add comment for calculate tx flits and sge length code
Add comment for tx filt and sge length calucaltion code, also remove
a hardcoded value
Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d52ce9203746254e010dc7f0f3c260d5a5f4b640
Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Date: Wed Apr 15 02:02:32 2015 +0530
cxgb4: Use device node in page allocation
Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit c098b026f075ea34f70d669a84c71cc55fdeb37c
Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Date: Wed Apr 15 02:02:31 2015 +0530
cxgb4: Freelist starving threshold varies from adapter to adapter
fl_starv_thres could be different from adapter to adapter, don't use
hardcoded values
Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 21dcfad6401b008e7352eb95104c7f199f025ac9
Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Date: Wed Apr 15 02:02:30 2015 +0530
cxgb4: Increased the value of MAX_IMM_TX_PKT_LEN from 128 to 256 bytes
This allows a significant latency drop for packets of sizes between 128
and 192
bytes
Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 29ba877e7c8092a4dd3cbef80cca4e857129ca55
Author: Felix Fietkau <nbd@xxxxxxxxxxx>
Date: Tue Apr 14 12:08:02 2015 +0200
bgmac: drop ring->num_slots
The ring size is always known at compile time, so make the code a bit
more efficient
Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4668ae1fbcab89af5ffbb161d4c70b25ce4c50f4
Author: Felix Fietkau <nbd@xxxxxxxxxxx>
Date: Tue Apr 14 12:08:01 2015 +0200
bgmac: fix DMA rx corruption
The driver needs to inform the hardware about the first invalid (not yet
filled) rx slot, by writing its DMA descriptor pointer offset to the
BGMAC_DMA_RX_INDEX register.
This register was set to a value exceeding the rx ring size, effectively
allowing the hardware constant access to the full ring, regardless of
which slots are initialized.
To fix this issue, always mark the last filled rx slot as invalid.
Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 74b6f29163490d88ff53f7c54d0e4514bbf1630b
Author: Felix Fietkau <nbd@xxxxxxxxxxx>
Date: Tue Apr 14 12:08:00 2015 +0200
bgmac: simplify dma init/cleanup
Instead of allocating buffers at device init time and initializing
descriptors at device open, do both at the same time (during open).
Free all buffers when closing the device.
Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Acked-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b9650557f3d58924e3be040df0ff7a3dae19ad83
Author: Felix Fietkau <nbd@xxxxxxxxxxx>
Date: Tue Apr 14 12:07:59 2015 +0200
bgmac: increase rx ring size from 511 to 512
Limiting it to 511 looks like a failed attempt at leaving one descriptor
empty to allow the hardware to stop processing a buffer that has not
been prepared yet. However, this doesn't work because this affects the
total ring size as well
Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 6a6c708469c9e10fd87adcc3abff164270538d62
Author: Felix Fietkau <nbd@xxxxxxxxxxx>
Date: Tue Apr 14 12:07:58 2015 +0200
bgmac: add check for oversized packets
In very rare cases, the MAC can catch an internal buffer that is bigger
than it's supposed to be. Instead of crashing the kernel, simply pass
the buffer back to the hardware
Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 56faacd04509f0a60ed646473a930fe584f1cb02
Author: Felix Fietkau <nbd@xxxxxxxxxxx>
Date: Tue Apr 14 12:07:57 2015 +0200
bgmac: simplify/optimize rx DMA error handling
Allocate a new buffer before processing the completed one. If allocation
fails, reuse the old buffer.
Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Acked-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4b62dce450e2447146ff6924a1ce8ad1a6592107
Author: Felix Fietkau <nbd@xxxxxxxxxxx>
Date: Tue Apr 14 12:07:56 2015 +0200
bgmac: set received skb headroom to NET_SKB_PAD
A packet buffer offset of 30 bytes is inefficient, because the first 2
bytes end up in a different cacheline.
Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit eb64e2923a886441c7b322f138b36029f3fa6a36
Author: Felix Fietkau <nbd@xxxxxxxxxxx>
Date: Tue Apr 14 12:07:55 2015 +0200
bgmac: leave interrupts disabled as long as there is work to do
Always poll rx and tx during NAPI poll instead of relying on the status
of the first interrupt. This prevents bgmac_poll from leaving unfinished
work around until the next IRQ.
In my tests this makes bridging/routing throughput under heavy load more
stable and ensures that no new IRQs arrive as long as bgmac_poll uses up
the entire budget.
Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b38c83dd08665a93e439c4ffd9eef31bc098a6ea
Author: Felix Fietkau <nbd@xxxxxxxxxxx>
Date: Tue Apr 14 12:07:54 2015 +0200
bgmac: simplify tx ring index handling
Keep incrementing ring->start and ring->end instead of pointing it to
the actual ring slot entry. This simplifies the calculation of the
number of free slots.
Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Acked-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e07678341b612bbf98c2bf205c3f26f3ef5f8e93
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Apr 14 15:28:44 2015 +1000
toshiba: Remove celleb from Kconfig options
The toshiba drivers had celleb as an optional dependency.
celleb has been dropped [1], so clean that out of Kconfig.
[1] http://patchwork.ozlabs.org/patch/451730/
CC: netdev@xxxxxxxxxxxxxxx
CC: Valentin Rothberg <valentinrothberg@xxxxxxxxx>
CC: mpe@xxxxxxxxxxxxxx
CC: linuxppc-dev@xxxxxxxxxxxxxxxx
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit aa0a34be68290aa9aa071c0691fb8b6edda38358
Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Date: Mon Apr 13 16:34:35 2015 -0700
hv_netvsc: Implement partial copy into send buffer
If remaining space in a send buffer slot is too small for the whole
message,
we only copy the RNDIS header and PPI data into send buffer, so we can
batch
one more packet each time. It reduces the vmbus per-message overhead.
Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit eeee78cf77df0450ca285a7cd6d73842181e825c
Merge: 3f3c73de 9828413
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 10:49:03 2015 -0700
Merge tag 'trace-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
Pull tracing updates from Steven Rostedt:
"Some clean ups and small fixes, but the biggest change is the addition
of the TRACE_DEFINE_ENUM() macro that can be used by tracepoints.
Tracepoints have helper functions for the TP_printk() called
__print_symbolic() and __print_flags() that lets a numeric number be
displayed as a a human comprehensible text. What is placed in the
TP_printk() is also shown in the tracepoint format file such that user
space tools like perf and trace-cmd can parse the binary data and
express the values too. Unfortunately, the way the TRACE_EVENT()
macro works, anything placed in the TP_printk() will be shown pretty
much exactly as is. The problem arises when enums are used. That's
because unlike macros, enums will not be changed into their values by
the C pre-processor. Thus, the enum string is exported to the format
file, and this makes it useless for user space tools.
The TRACE_DEFINE_ENUM() solves this by converting the enum strings in
the TP_printk() format into their number, and that is what is shown to
user space. For example, the tracepoint tlb_flush currently has this
in its format file:
__print_symbolic(REC->reason,
{ TLB_FLUSH_ON_TASK_SWITCH, "flush on task switch" },
{ TLB_REMOTE_SHOOTDOWN, "remote shootdown" },
{ TLB_LOCAL_SHOOTDOWN, "local shootdown" },
{ TLB_LOCAL_MM_SHOOTDOWN, "local mm shootdown" })
After adding:
TRACE_DEFINE_ENUM(TLB_FLUSH_ON_TASK_SWITCH);
TRACE_DEFINE_ENUM(TLB_REMOTE_SHOOTDOWN);
TRACE_DEFINE_ENUM(TLB_LOCAL_SHOOTDOWN);
TRACE_DEFINE_ENUM(TLB_LOCAL_MM_SHOOTDOWN);
Its format file will contain this:
__print_symbolic(REC->reason,
{ 0, "flush on task switch" },
{ 1, "remote shootdown" },
{ 2, "local shootdown" },
{ 3, "local mm shootdown" })"
* tag 'trace-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (27 commits)
tracing: Add enum_map file to show enums that have been mapped
writeback: Export enums used by tracepoint to user space
v4l: Export enums used by tracepoints to user space
SUNRPC: Export enums in tracepoints to user space
mm: tracing: Export enums in tracepoints to user space
irq/tracing: Export enums in tracepoints to user space
f2fs: Export the enums in the tracepoints to userspace
net/9p/tracing: Export enums in tracepoints to userspace
x86/tlb/trace: Export enums in used by tlb_flush tracepoint
tracing/samples: Update the trace-event-sample.h with
TRACE_DEFINE_ENUM()
tracing: Allow for modules to convert their enums to values
tracing: Add TRACE_DEFINE_ENUM() macro to map enums to their values
tracing: Update trace-event-sample with TRACE_SYSTEM_VAR documentation
tracing: Give system name a pointer
brcmsmac: Move each system tracepoints to their own header
iwlwifi: Move each system tracepoints to their own header
mac80211: Move message tracepoints to their own header
tracing: Add TRACE_SYSTEM_VAR to xhci-hcd
tracing: Add TRACE_SYSTEM_VAR to kvm-s390
tracing: Add TRACE_SYSTEM_VAR to intel-sst
...
commit 3f3c73de77b5598e9f87812ac4da9445090c3b4a
Merge: 9497d738 eae4735
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 10:22:29 2015 -0700
Merge tag 'trace-4.1-tracefs' of
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
Pull tracefs from Steven Rostedt:
"This adds the new tracefs file system.
This has been in linux-next for more than one release, as I had it
ready for the 4.0 merge window, but a last minute thing that needed to
go into Linux first had to be done. That was that perf hard coded the
file system number when reading /sys/kernel/debugfs/tracing directory
making sure that the path had the debugfs mount # before it would
parse the tracing file. This broke other use cases of perf, and the
check is removed.
Now when mounting /sys/kernel/debug, tracefs is automatically mounted
in /sys/kernel/debug/tracing such that old tools will still see that
path as expected. But now system admins can mount tracefs directly
and not need to mount debugfs, which can expose security issues. A
new directory is created when tracefs is configured such that system
admins can now mount it separately (/sys/kernel/tracing)"
* tag 'trace-4.1-tracefs' of
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
tracing: Have mkdir and rmdir be part of tracefs
tracefs: Add directory /sys/kernel/tracing
tracing: Automatically mount tracefs on debugfs/tracing
tracing: Convert the tracing facility over to use tracefs
tracefs: Add new tracefs file system
tracing: Create cmdline tracer options on tracing fs init
tracing: Only create tracer options files if directory exists
debugfs: Provide a file creation function that also takes an initial
size
commit b9bced0eecd77067f4659b90d5ab2fb32485c3e2
Author: duson <dusonlin@xxxxxxxxxx>
Date: Sun Apr 12 16:01:05 2015 -0700
Input: elan_i2c - adjust for newer firmware pressure reporting
Get pressure format flag from firmware to check if we need to normalize
pressure data before reporting it.
Signed-off-by: Duson Lin <dusonlin@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 9497d7380b9c450830190c75aa43b25c278bb1f9
Merge: d0bbe0d 09675bd
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 10:15:34 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching
Pull livepatching updates from Jiri Kosina:
"These are mostly smaller things that got accumulated during the
development cycle. The unified solution is still being worked on and
is not mature enough for 4.1 yet.
- s390 livepatching support, from Jiri Slaby (has Ack from s390
maintainers)
- error handling simplification, from Josh Poimboeuf
- two minor code cleanups from Josh Poimboeuf and Miroslav Benes"
* 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching:
livepatch: add support on s390
livepatch: remove unnecessary call to klp_find_object_module()
livepatch: simplify disable error path
livepatch: remove extern specifier from header files
commit d0bbe0dd353af9521e9d8bc5236308c677b6f62a
Merge: 8de29a3 0e4f93e
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 09:50:27 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
Pull trivial tree from Jiri Kosina:
"Usual trivial tree updates. Nothing outstanding -- mostly printk()
and comment fixes and unused identifier removals"
* 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
goldfish: goldfish_tty_probe() is not using 'i' any more
powerpc: Fix comment in smu.h
qla2xxx: Fix printks in ql_log message
lib: correct link to the original source for div64_u64
si2168, tda10071, m88ds3103: Fix firmware wording
usb: storage: Fix printk in isd200_log_config()
qla2xxx: Fix printk in qla25xx_setup_mode
init/main: fix reset_device comment
ipwireless: missing assignment
goldfish: remove unreachable line of code
coredump: Fix do_coredump() comment
stacktrace.h: remove duplicate declaration task_struct
smpboot.h: Remove unused function prototype
treewide: Fix typo in printk messages
treewide: Fix typo in printk messages
mod_devicetable: fix comment for match_flags
commit 8de29a35dc840a05e451ad035bcb06e21ccf605f
Merge: 31f7dc7 2e455c2
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 14 08:25:26 2015 -0800
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
Pull HID updates from Jiri Kosina:
- quite a few firmware fixes for RMI driver by Andrew Duggan
- huion and uclogic drivers have been substantially overlaping in
functionality laterly. This redundancy is fixed by hid-huion driver
being merged into hid-uclogic; work done by Benjamin Tissoires and
Nikolai Kondrashov
- i2c-hid now supports ACPI GPIO interrupts; patch from Mika Westerberg
- Some of the quirks, that got separated into individual drivers, have
historically had EXPERT dependency. As HID subsystem matured (as
well as the individual drivers), this made less and less sense. This
dependency is now being removed by patch from Jean Delvare
- Logitech lg4ff driver received a couple of improvements for mode
switching, by Michal Malý
- multitouch driver now supports clickpads, patches by Benjamin
Tissoires and Seth Forshee
- hid-sensor framework received a substantial update; namely support
for Custom and Generic pages is being added; work done by Srinivas
Pandruvada
- wacom driver received substantial update; it now supports
i2c-conntected devices (Mika Westerberg), Bamboo PADs are now
properly supported (Benjamin Tissoires), much improved battery
reporting (Jason Gerecke) and pen proximity cleanups (Ping Cheng)
- small assorted fixes and device ID additions
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
(68 commits)
HID: sensor: Update document for custom sensor
HID: sensor: Custom and Generic sensor support
HID: debug: fix error handling in hid_debug_events_read()
Input - mt: Fix input_mt_get_slot_by_key
HID: logitech-hidpp: fix error return code
HID: wacom: Add support for Cintiq 13HD Touch
HID: logitech-hidpp: add a module parameter to keep firmware gestures
HID: usbhid: yet another mouse with ALWAYS_POLL
HID: usbhid: more mice with ALWAYS_POLL
HID: wacom: set stylus_in_proximity before checking touch_down
HID: wacom: use wacom_wac_finger_count_touches to set touch_down
HID: wacom: remove hardcoded WACOM_QUIRK_MULTI_INPUT
HID: pidff: effect can't be NULL
HID: add quirk for PIXART OEM mouse used by HP
HID: add HP OEM mouse to quirk ALWAYS_POLL
HID: wacom: ask for a in-prox report when it was missed
HID: hid-sensor-hub: Fix sparse warning
HID: hid-sensor-hub: fix attribute read for logical usage id
HID: plantronics: fix Kconfig default
HID: pidff: support more than one concurrent effect
...
commit bea15428b9d6bc36e87288f168ab314619a66757
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Apr 13 15:40:02 2015 +0200
KVM: x86: cleanup kvm_irq_delivery_to_apic_fast
Sparse is reporting a "we previously assumed 'src' could be null" error.
This is true as far as the static analyzer can see, but in practice only
IPIs can set shorthand to self and they also set 'src', so it's ok.
Still, move the initialization of x2apic_ipi (and thus the NULL check for
src right before the first use.
While at it, initializing ret to "false" is somewhat confusing because of
the almost immediate assigned of "true" to the same variable. Thus,
initialize it to "true" and modify it in the only path that used to use
the value from "bool ret = false". There is no change in generated code
from this change.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9e9c3fe40bcd28e3f98f0ad8408435f4503f2781
Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Date: Sun Apr 12 21:47:15 2015 +0300
KVM: x86: Fix MSR_IA32_BNDCFGS in msrs_to_save
kvm_init_msr_list is currently called before hardware_setup. As a result,
vmx_mpx_supported always returns false when kvm_init_msr_list checks
whether to
save MSR_IA32_BNDCFGS.
Move kvm_init_msr_list after vmx_hardware_setup is called to fix this
issue.
Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Message-Id: <1428864435-4732-1-git-send-email-namit@xxxxxxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx # 3.15+
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 31f7dc796998d2967e999a0f9229d8a50c7b348d
Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx>
Date: Tue Apr 14 22:24:13 2015 +0900
ACPI / battery: Fix doubly added battery on system suspend
Commit 297d716f6260 ("power_supply: Change ownership from driver to
core") inverted the logic in battery_notify(). As an effect already
present battery was re-added on each system suspend or hibernation.
WARNING: CPU: 0 PID: 303 at ../fs/sysfs/dir.c:31
sysfs_warn_dup+0x68/0x80()
sysfs: cannot create duplicate filename
'/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/PNP0C0A:00/power_supply/BAT0'
CPU: 0 PID: 303 Comm: rtcwake Not tainted
4.0.0-ARCH-02621-g07e6253af953 #48
Call Trace:
sysfs_create_dir_ns+0x8d/0xa0
kobject_add_internal+0xb6/0x370
kobject_add+0x6f/0xd0
device_add+0x120/0x6c0
__power_supply_register+0x145/0x290
power_supply_register_no_ws+0x10/0x20
sysfs_add_battery+0x84/0xc5 [battery]
battery_notify+0x45/0x6b [battery]
notifier_call_chain+0x4f/0x80
__blocking_notifier_call_chain+0x4b/0x70
blocking_notifier_call_chain+0x16/0x20
pm_notifier_call_chain+0x1a/0x40
pm_suspend+0x3ed/0x4e0
Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx>
Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Reviewed-By: Sebastian Reichel <sre@xxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 85a3685852d9ac7d92be9d824533c915a4597fa4
Merge: 92bac83 8b8a518
Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Date: Tue Apr 14 08:51:33 2015 -0700
Merge branch 'next' into for-linus
Prepare first round of input updates for 4.1 merge window.
commit 37ef01ab5d24d1d520dc79f6a98099d451c2a901
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date: Wed Apr 1 13:43:46 2015 +0200
drm/i915: Dont enable CS_PARSER_ERROR interrupts at all
We stopped handling them in
commit aaecdf611a05cac26a94713bad25297e60225c29
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date: Tue Nov 4 15:52:22 2014 +0100
drm/i915: Stop gathering error states for CS error interrupts
but just clearing is apparently not enough: A sufficiently dead gpu
left behind by firmware (*cough* coreboot *cough*) can keep the gpu in
an endless loop of such interrupts, eventually leading to the nmi
firing. And definitely to what looks like a machine hang.
Since we don't even enable these interrupts on gen5+ let's do the same
on earlier platforms.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=93171
Tested-by: Mono <mono-for-kernel-org@xxxxxxxxxxxxxxxx>
Tested-by: info@xxxxxxxxxxxxxx
Cc: stable@xxxxxxxxxxxxxxx
Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx>
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit e0d6149b3debce1a7e17dfda7c2829935917dc58
Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
Date: Mon Apr 13 16:03:03 2015 +0100
drm/i915: Move drm_framebuffer_unreference out of struct_mutex for
takeover
intel_user_framebuffer_destroy() requires the struct_mutex for its
object bookkeeping, so this means that all calls to
drm_framebuffer_unreference must be held without that lock.
This is a simplified version of the identically named patch by Chris
Wilson.
Regression from commit ab8d66752a9c28cd6c94fa173feacdfc1554aa03
Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
Date: Mon Feb 2 15:44:15 2015 +0000
drm/i915: Track old framebuffer instead of object
v2: Bikeshedding.
References: https://bugs.freedesktop.org/show_bug.cgi?id=89166
Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit 2b5083e51088253b1b3e126934c9200d8a3493ab
Author: Bob Moore <robert.moore@xxxxxxxxx>
Date: Mon Apr 13 11:51:29 2015 +0800
ACPICA: Update version to 20150410.
ACPICA commit 06198cfd96ef271f554a50f1830a5975468c39ac
ACPICA commit 8a3c1df1edb5f9fc5c940500c598c0107d30df71
Version 20150410.
Link: https://github.com/acpica/acpica/commit/06198cfd
Link: https://github.com/acpica/acpica/commit/8a3c1df1
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit cef9aaa764dafc7d9a1504dc70d3b4ea49aef87a
Author: Lv Zheng <lv.zheng@xxxxxxxxx>
Date: Mon Apr 13 11:51:23 2015 +0800
ACPICA: Fix a couple issues with the local printf module.
ACPICA commit 6853da4c0a99b49d62d6c58d22956cd6ff5759a9
The following commit has fixed local printf issue in width.prec:
Commit: 3589b8b8af6bdc3aafe520d76a73b77d965006b6
Subject: ACPICA: Utilities: Fix local printf issue.
But this commit only resets width/precision/quialifier to fix the reported
issue and doesn't fix other states issues. So now we still can see
breakage
in format types and integer bases.
This patch resets format type/base states for local printf to fix this
issue. Lv Zheng.
Linux kernel is not affected by this patch as acpi_ut_vsnprintf() hasn't
been enabled in the kernel.
Link: https://github.com/acpica/acpica/commit/6853da4c
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit a50edd4b72b4add7ad3b6e082deffafc88dd09e4
Author: Bob Moore <robert.moore@xxxxxxxxx>
Date: Mon Apr 13 11:51:16 2015 +0800
ACPICA: Disassembler: Some cleanup of the table dump module.
ACPICA commit 330e3b7ec96fbd2e0677b786c09d86be36dd5673
Cleanup of LPIT table output (Dean Nelson)
Split some long lines.
Link: https://github.com/acpica/acpica/commit/330e3b7e
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 5132f2faa50454faf9e9b2dcbdbff389f4014e57
Author: Bob Moore <robert.moore@xxxxxxxxx>
Date: Mon Apr 13 11:51:08 2015 +0800
ACPICA: iASL: Add support for MSDM ACPI table.
ACPICA commit a2c590ce9bff850e3abf4fd430cede860a3cb1fa
This is the Microsoft Data Management table.
MSDM table is not used in the Linux kernel.
Link: https://github.com/acpica/acpica/commit/a2c590ce
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 64645c3fb0a70daa9d798c79e7411ae583374aa2
Author: Bob Moore <robert.moore@xxxxxxxxx>
Date: Mon Apr 13 11:51:02 2015 +0800
ACPICA: Update for SLIC ACPI table.
ACPICA commit c73195e13d6ad53dd7f03f86cea03c7dec72ffd3
Update to latest table definition, which contains major changes.
SLIC table is not used in the Linux kernel.
Link: https://github.com/acpica/acpica/commit/c73195e1
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit d5a6f6b48f5c2685ed48efc450330b1176845bb9
Author: Bob Moore <robert.moore@xxxxxxxxx>
Date: Mon Apr 13 11:50:56 2015 +0800
ACPICA: Add "//" before ascii output of buffers.
ACPICA commit 657dc227672709895df3192fa5ea59a649b9a76f
Updates the dump buffer utility to comment out the ASCII part
of buffer dump. Prevents some tools from getting confused.
Link: https://github.com/acpica/acpica/commit/657dc227
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 539451711bd4c8f3dc9c236c85fa37701cc1bb66
Author: Bob Moore <robert.moore@xxxxxxxxx>
Date: Mon Apr 13 11:50:49 2015 +0800
ACPICA: Remove unused internal AML opcode.
ACPICA commit 3ec867764b079a98d8097d705c9f7b68270c04ec
This patch removes unused AML_INT_STATICSTRING_OP. Lv Zheng.
Link: https://github.com/acpica/acpica/commit/3ec86776
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit b1ef2972586577e0ca9675254ee141f65a8824e5
Author: Bob Moore <robert.moore@xxxxxxxxx>
Date: Mon Apr 13 11:50:43 2015 +0800
ACPICA: Permanently set _REV to the value '2'.
ACPICA commit 7af00219681ab35ebe57d64a9189fd04a5a026d8
Windows uses a value of 2, and has no plans to ever change this. So, _REV
is
essentially useless for its primary purpose.
Worse, some BIOS vendors have used the difference in _REV values between
Windows and ACPICA to indicate which one is running.
It has been decided by the ACPI community to deprecate this method, and
return
1 for ACPI 1.0 (32-bit integers) and 2 for ACPI 2.0 and greater (both
32-bit
and 64-bit integers.
ACPICA is changed to reflect this.
Link: https://github.com/acpica/acpica/commit/7af00219
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 796888e942b34cbbd738d9e5478b7d103ee38061
Author: Bob Moore <robert.moore@xxxxxxxxx>
Date: Mon Apr 13 11:50:37 2015 +0800
ACPICA: Add "Windows 2015" string to _OSI support.
ACPICA commit b293f602a67da478ae0bec129e68bd99787d9908
This change adds this string for Windows 10.
Link: https://github.com/acpica/acpica/commit/b293f602
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 56a3d5e755e889d1543cb90a3ebaed513cadb727
Author: Bob Moore <robert.moore@xxxxxxxxx>
Date: Mon Apr 13 11:50:32 2015 +0800
ACPICA: Add infrastructure for External() opcode.
ACPICA commit d115fe2ffdab449d6107d58580c5afd0a81d65fe
This change adds the basic low-level infrastructure for the External
AML opcode. The interpreter will simply ignore this op, as the op
is intended for use by the disassembler only.
Note that External() opcode is useful for disassembler, interpreter
can simply ignore it and still return exceptions for unknown control
methods so the kernel part only includes the grammar definition of
External() opcode in order to ignore it but doesn't interpret it.
Link: https://github.com/acpica/acpica/commit/d115fe2f
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 2e7cc46a0f30bc3b749e371ab0afd29b774ae898
Author: Bob Moore <robert.moore@xxxxxxxxx>
Date: Mon Apr 13 11:50:26 2015 +0800
ACPICA: iASL: Enhancement for constant folding.
ACPICA commit 4f9e950d41cd6f6c704d5d6cf518647620d65e99
Add support to fold expressions with a target operand -- these are
folded and converted to a Store operator:
Add (4, 3, INT1) --> Store (7, INT1)
Also supports ASL+ constructs:
INT1 = 4 + 3 --> Store (7, INT1)
Linux kernel is not affected by this patch.
Link: https://github.com/acpica/acpica/commit/4f9e950d
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 8b0b1a9976c04b85c382590c59b305d763a9a5e6
Author: Bob Moore <robert.moore@xxxxxxxxx>
Date: Mon Apr 13 11:50:21 2015 +0800
ACPICA: iASL/Disassembler: Add option to assume table contains valid AML.
ACPICA commit f5d2ff3fa05341d9fe27250fcb2e14c7f871432c
For dynamically loaded tables that have unknown ACPI signatures,
this option (-df) forces the disassembler to treat the table as if
it contains valid AML code (like a DSDT or SSDT). Otherwise, the
disassembler will treat the table as an unkown data table and
simply do a hex dump of the table.
Linux kernel is not affected by this patch.
Link: https://github.com/acpica/acpica/commit/f5d2ff3f
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 0a381133127af4434301b3d9fb545005f38ad98c
Author: Bob Moore <robert.moore@xxxxxxxxx>
Date: Mon Apr 13 11:50:14 2015 +0800
ACPICA: Update AML Debugger global variables.
ACPICA commit f65d0e5b880860a6da0c336b7c48139d1469f5b4
- Remove unused variables
- Update to use standard naming/capitalization convention.
Linux kernel is not affected by this patch.
Link: https://github.com/acpica/acpica/commit/f65d0e5b
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 39239fedbfb5493d5804d6cefb806fd208a006c5
Author: Bob Moore <robert.moore@xxxxxxxxx>
Date: Mon Apr 13 11:50:08 2015 +0800
ACPICA: Update Resource descriptor dump module.
ACPICA commit 184f3cc4d162a6b6b2005eacd8be2fe55f19a245
- Change global #ifdef to check for ACPI_DEBUGGER only.
- Cleanup some long lines and misaligned code.
Link: https://github.com/acpica/acpica/commit/184f3cc4
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 81ed793d303aec4f4e3755637a3ae5e99db8808e
Author: Bob Moore <robert.moore@xxxxxxxxx>
Date: Mon Apr 13 11:50:01 2015 +0800
ACPICA: Fix a sscanf format string.
ACPICA commit 84f3569db7accc576ace2dae81d101467254fe9d
Was using %d instead of properly using %u.
This patch only affects acpidump tool.
Link: https://github.com/acpica/acpica/commit/84f3569d
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 938ed1029a866eebdf39bc742a402f2ccd8b8b57
Author: Bob Moore <robert.moore@xxxxxxxxx>
Date: Mon Apr 13 11:49:54 2015 +0800
ACPICA: Casting changes around acpi_physical_address/acpi_size.
ACPICA commit 46dc081e570b1363af1e368980201cbb65c4100f
Update for some recent changes, detected by MSVC and FreeBSD builds.
Link: https://github.com/acpica/acpica/commit/46dc081e
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 27c481f37f915cfb7dbaf0025075a1358e45c889
Author: Lv Zheng <lv.zheng@xxxxxxxxx>
Date: Mon Apr 13 11:49:47 2015 +0800
ACPICA: Resources: Correct conditional compilation definitions.
ACPICA commit f92a08512b0b35dce4a7fc6a73216674a3c2541b
Some conditional compilation definitions are wrong across header and
source
files. This patch corrects them for the resources component.
NOTE that a further patch in this patchset cleans up all ACPI_EXEC_APP,
converting them into ACPI_DEBUGGER, including part of this change.
Link: https://github.com/acpica/acpica/commit/f92a0851
Reported-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 6306bf886222f382d59bbb8b72bf6996cbba1f6e
Author: Lv Zheng <lv.zheng@xxxxxxxxx>
Date: Mon Apr 13 11:49:39 2015 +0800
ACPICA: Utilities: Correct conditional compilation definitions.
ACPICA commit 9a5982afbebc56289c4834b5f6dac87e0f04af14
Some conditional compilation definitions are wrong across header and
source
files. This patch corrects them for the utilities component.
Link: https://github.com/acpica/acpica/commit/9a5982af
Reported-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 76cffa79bd7f139a8f16d4e7969bf7891fe6f901
Author: Lv Zheng <lv.zheng@xxxxxxxxx>
Date: Mon Apr 13 11:49:30 2015 +0800
ACPICA: Tables: Move an iasl specific table function to iasl source file.
ACPICA commit 6eb364d790dd103bd4990f808e0095a421c437cb
acpi_tb_store_table() implements a logic that is only correct to iasl. So
it
won't be used by any other utilities except iasl. This function is
complained by the kernel users as an unused function. The best choice to
stop releasing it to the Linux kernel should be moving it to adisasm.c.
ACPI table manager can use both struct acpi_table_desc (direct
referencing)
and table index (indirect referencing) as the descriptor to the table, so
acpi_tb_get_next_root_index() is extended to return both of them to allow
maximum usability from the callers. NOTE that indirect referencing is a
design result to meet the boot stage static allocation requirement for the
table descriptors.
This is a linuxized acpi_tb_store_table() removing result, there should be
no functional changes introduced to the Linux kernel by this patch except
the additonal kernel unused argument for acpi_tb_get_next_root_index()
(renamed to acpi_tb_get_next_root_index()). This argument is used in the
ACPICA upstream.
Link: https://github.com/acpica/acpica/commit/6eb364d7
Reported-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 9bd4ce36dcbc8e3b2218e84cdfd1dff6d5671f3c
Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 11:49:24 2015 +0800
ACPICA: Utilities: Remove unused acpi_ut_create_pkg_state_and_push().
ACPICA commit 2a9ebd974aee41391f4b0edcd4f0cc5ee23ec2f8
Remove the function acpi_ut_create_pkg_state_and_push() that is not used
anywhere.
This was partially found by using a static code analysis program called
cppcheck.
Link: https://github.com/acpica/acpica/commit/2a9ebd97
Signed-off-by: Rickard Strandqvist
<rickard_strandqvist@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 1797d379f20901ee51711d737b65cc77e22c13e2
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 11:49:18 2015 +0800
ACPICA: Applications: Remove use of __DATE__ macro.
ACPICA commit 3d9fb6d1f216a78ad098d3ad23f1304376c2f4ef
The macro __DATE__ and friends is not allowed in the Linux kernel. Also,
including the build time in output doesn't seem to provide any value.
Link: https://github.com/acpica/acpica/commit/3d9fb6d1
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Acked-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx>
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 09af8e8290deaff821ced01ea83594ee4c21e8df
Author: Lv Zheng <lv.zheng@xxxxxxxxx>
Date: Mon Apr 13 11:49:13 2015 +0800
ACPICA: Events: Add support to return both enable/status register values
for GPE and fixed event.
ACPICA commit e25d791e4b3d5b9f4ead298269610cb05f89749a
There is a facility in Linux, developers can obtain GPE and fixed event
status via /sys/firmware/interrupts/. This is implemented using
acpi_get_event_status() and acpi_get_gpe_status(). Recently while
debugging some
GPE race issues, it is found that the facility is lacking in the ability
to
obtain real hardware register values, the confusing information makes
debugging difficult.
This patch modifies acpi_get_gpe_status() to return EN register values to
fix
this gap. Then flags returned from acpi_get_event_status() and
acpi_get_gpe_status() are also cleaned up to reflect this change.
The old ACPI_EVENT_FLAG_SET is carefully kept to avoid regressions. It can
be deleted after we can make sure all its references are removed from OSPM
code. Lv Zheng.
Link: https://github.com/acpica/acpica/commit/e25d791e
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 77ddc2fe08329e375505bc36a3df3233fe57317b
Author: Octavian Purdila <octavian.purdila@xxxxxxxxx>
Date: Mon Apr 13 11:49:05 2015 +0800
ACPICA: Tables: Don't release ACPI_MTX_TABLES in
acpi_tb_install_standard_table().
ACPICA commit c70434d4da13e65b6163c79a5aa16b40193631c7
ACPI_MTX_TABLES is acquired and released by the callers of
acpi_tb_install_standard_table() so releasing it in the function itself is
causing the following error in Linux kernel if the table is reloaded:
ACPI Error: Mutex [0x2] is not acquired, cannot release
(20141107/utmutex-321)
Call Trace:
[<ffffffff81b0bd48>] dump_stack+0x4f/0x7b
[<ffffffff81546bf5>] acpi_ut_release_mutex+0x47/0x67
[<ffffffff81544357>] acpi_load_table+0x73/0xcb
Link: https://github.com/acpica/acpica/commit/c70434d4
Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Cc: 3.16+ <stable@xxxxxxxxxxxxxxx> # 3.16+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 2b8760100e1de69b6ff004c986328a82947db4ad
Author: Lv Zheng <lv.zheng@xxxxxxxxx>
Date: Mon Apr 13 11:48:58 2015 +0800
ACPICA: Utilities: split IO address types from data type models.
ACPICA commit aacf863cfffd46338e268b7415f7435cae93b451
It is reported that on a physically 64-bit addressed machine, 32-bit
kernel
can trigger crashes in accessing the memory regions that are beyond the
32-bit boundary. The region field's start address should still be 32-bit
compliant, but after a calculation (adding some offsets), it may exceed
the
32-bit boundary. This case is rare and buggy, but there are real BIOSes
leaked with such issues (see References below).
This patch fixes this gap by always defining IO addresses as 64-bit, and
allows OSPMs to optimize it for a real 32-bit machine to reduce the size
of
the internal objects.
Internal acpi_physical_address usages in the structures that can be fixed
by this change include:
1. struct acpi_object_region:
acpi_physical_address address;
2. struct acpi_address_range:
acpi_physical_address start_address;
acpi_physical_address end_address;
3. struct acpi_mem_space_context;
acpi_physical_address address;
4. struct acpi_table_desc
acpi_physical_address address;
See known issues 1 for other usages.
Note that acpi_io_address which is used for ACPI_PROCESSOR may also suffer
from same problem, so this patch changes it accordingly.
For iasl, it will enforce acpi_physical_address as 32-bit to generate
32-bit OSPM compatible tables on 32-bit platforms, we need to define
ACPI_32BIT_PHYSICAL_ADDRESS for it in acenv.h.
Known issues:
1. Cleanup of mapped virtual address
In struct acpi_mem_space_context, acpi_physical_address is used as a
virtual
address:
acpi_physical_address mapped_physical_address;
It is better to introduce acpi_virtual_address or use acpi_size
instead.
This patch doesn't make such a change. Because this should be done
along
with a change to acpi_os_map_memory()/acpi_os_unmap_memory().
There should be no functional problem to leave this unchanged except
that only this structure is enlarged unexpectedly.
Link: https://github.com/acpica/acpica/commit/aacf863c
Reference: https://bugzilla.kernel.org/show_bug.cgi?id=87971
Reference: https://bugzilla.kernel.org/show_bug.cgi?id=79501
Reported-and-tested-by: Paul Menzel <paulepanter@xxxxxxxxxxxxxxxxxxxxx>
Reported-and-tested-by: Sial Nije <sialnije@xxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Cc: All applicable <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 1d0a0b2f6df2bf2643fadc990eb143361eca6ada
Author: Lv Zheng <lv.zheng@xxxxxxxxx>
Date: Mon Apr 13 11:48:52 2015 +0800
ACPICA: Utilities: Cleanup to remove useless ACPI_PRINTF/FORMAT_xxx
helpers.
ACPICA commit b60612373a4ef63b64a57c124576d7ddb6d8efb6
For physical addresses, since the address may exceed 32-bit address range
after calculation, we should use 0x%8.8X%8.8X instead of ACPI_PRINTF_UINT
and ACPI_FORMAT_UINT64() instead of
ACPI_FORMAT_NATIVE_UINT()/ACPI_FORMAT_TO_UINT().
This patch also removes above replaced macros as there are no users.
This is a preparation to switch acpi_physical_address to 64-bit on 32-bit
kernel builds.
Link: https://github.com/acpica/acpica/commit/b6061237
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit cc2080b0e5a7c6c33ef5e9ffccbc2b8f6f861393
Author: Lv Zheng <lv.zheng@xxxxxxxxx>
Date: Mon Apr 13 11:48:46 2015 +0800
ACPICA: Utilities: Cleanup to convert physical address printing formats.
ACPICA commit 7f06739db43a85083a70371c14141008f20b2198
For physical addresses, since the address may exceed 32-bit address range
after calculation, we should use %8.8X%8.8X (see ACPI_FORMAT_UINT64()) to
convert the %p formats.
This is a preparation to switch acpi_physical_address to 64-bit on 32-bit
kernel builds.
Link: https://github.com/acpica/acpica/commit/7f06739d
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 6d3fd3cc33d50e4c0d0c0bd172de02caaec3127c
Author: Lv Zheng <lv.zheng@xxxxxxxxx>
Date: Mon Apr 13 11:48:37 2015 +0800
ACPICA: Utilities: Cleanup to enforce
ACPI_PHYSADDR_TO_PTR()/ACPI_PTR_TO_PHYSADDR().
ACPICA commit 154f6d074dd38d6ebc0467ad454454e6c5c9ecdf
There are code pieces converting pointers using "(acpi_physical_address)
x"
or "ACPI_CAST_PTR (t, x)" formats, this patch cleans up them.
Known issues:
1. Cleanup of "(ACPI_PHYSICAL_ADDRRESS) x" for a table field
For the conversions around the table fields, it is better to fix it
with
alignment also fixed. So this patch doesn't modify such code. There
should be no functional problem by leaving them unchanged.
Link: https://github.com/acpica/acpica/commit/154f6d07
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit ea2849255f13b63de90483ffa7781b8b65cc7765
Author: Lv Zheng <lv.zheng@xxxxxxxxx>
Date: Mon Apr 13 11:48:31 2015 +0800
ACPICA: Executer: Cleanup to remove an unnecessary conversion.
ACPICA commit c327986430b7eb170c17d0f45735fe71bb62a810
The conversion converts an acpi_physical_address to acpi_physical_address,
this patch thus removes such useless conversion.
Link: https://github.com/acpica/acpica/commit/c3279864
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit e0423edff19a99ed12bedfe4f3605e94efa2c669
Author: Lv Zheng <lv.zheng@xxxxxxxxx>
Date: Mon Apr 13 11:48:24 2015 +0800
ACPICA: Unix: Cleanup to use ACPI_TO_INTEGER() to calc page offset.
ACPICA commit 9e2d8180f4d5e61949b17513bae8aff6412f62dd
The offset calculation needn't convert a pointer to a special integer
type.
So this patch uses ACPI_TO_INTEGER() instead.
This patch only affects acpidump tool.
Link: https://github.com/acpica/acpica/commit/9e2d8180
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit f254e3c57b9d952e987502aefa0804c177dd2503
Author: Lv Zheng <lv.zheng@xxxxxxxxx>
Date: Mon Apr 13 11:48:18 2015 +0800
ACPICA: Tables: Change acpi_find_root_pointer() to use
acpi_physical_address.
ACPICA commit 7d9fd64397d7c38899d3dc497525f6e6b044e0e3
OSPMs like Linux expect an acpi_physical_address returning value from
acpi_find_root_pointer(). This triggers warnings if sizeof (acpi_size)
doesn't
equal to sizeof (acpi_physical_address):
drivers/acpi/osl.c:275:3: warning: passing argument 1 of
'acpi_find_root_pointer' from incompatible pointer type [enabled by default]
In file included from include/acpi/acpi.h:64:0,
from include/linux/acpi.h:36,
from drivers/acpi/osl.c:41:
include/acpi/acpixf.h:433:1: note: expected 'acpi_size *' but argument
is of type 'acpi_physical_address *'
This patch corrects acpi_find_root_pointer().
Link: https://github.com/acpica/acpica/commit/7d9fd643
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 18ae90214d385e9b992ead6653e6976b42097978
Author: Lv Zheng <lv.zheng@xxxxxxxxx>
Date: Mon Apr 13 11:48:12 2015 +0800
ACPICA: Linuxize: Reduce divergences for 20150410 release.
This patch reduces source code differences between the Linux kernel and
the
ACPICA upstream so that the linuxized ACPICA 20150410 release can be
applied with reduced human intervention.
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 5b24e8cf618f03b4f1275c229d0a1d464648f9e2
Merge: 066450b f19e80c
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Tue Apr 14 14:10:56 2015 +0200
Merge tag 'perf-core-for-mingo-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
New features:
- Analyze page allocator events in 'perf kmem' (Namhyung Kim)
User visible changes:
- Fix retprobe 'perf probe' handling when failing to find needed
debuginfo (He Kuang)
- lazy_line probe fixes in 'perf probe' (Naohiro Aota, He Kuang)
Infrastructure changes:
- Record pfn instead of pointer to struct page in tracepoints (Namhyung
Kim)
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 518b4e272d99dcb13699b229ea480bc845c141f6
Merge: 03aecbc ea85dbc 66776a6
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Tue Apr 14 12:53:59 2015 +0200
Merge branches 'powercap' and 'pm-devfreq'
* powercap:
powercap / RAPL: mark rapl_ids array as __initconst
powercap / RAPL: add ID for Broadwell server
* pm-devfreq:
PM / devfreq: tegra: Register governor on module init
PM / devfreq: tegra: Enable interrupts after resuming the devfreq
monitor
PM / devfreq: tegra: Set drvdata before enabling the irq
PM / devfreq: tegra: remove operating-points
PM / devfreq: tegra: Use clock rate constraints
PM / devfreq: tegra: Update to v5 of the submitted patches
PM / devfreq: correct misleading comment
PM / devfreq: event: Add const keyword for devfreq_event_ops structure
commit 03aecbcd71f2d9b9a3bf422a880a1596fd585880
Merge: 0fe0952 5f2e327
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Tue Apr 14 12:53:36 2015 +0200
Merge branch 'acpi-scan'
* acpi-scan:
ACPI / scan: Fix NULL pointer dereference in acpi_companion_match()
commit 2b1193d5287004edfbf89407149a3159656f47f1
Author: John Hunter <zhaojunwang@xxxxxxxxxx>
Date: Tue Apr 14 17:07:22 2015 +0800
drm: fix trivial typo mistake
Signed-off-by: John Hunter <zhjwpku@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit ff7a2adac50873aaba71759779505693806adcc1
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Apr 14 10:16:47 2015 +1000
powerpc: Remove PPC32 code from pseries specific find_and_init_phbs()
In bdc728a849a7 ("powerpc: move find_and_init_phbs() to pSeries
specific code"), find_and_init_phbs() was moved into a pseries
specific file, but PPC32 code wasn't removed. Remove it.
See https://lkml.kernel.org/r/552C0AA6.4010403@xxxxxx
Reported-by: Andreas Ruprecht <andreas.ruprecht@xxxxxx>
Fixes: bdc728a849a7
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 4acd09b4bfd4a653fcf02e422890d98764c0f1ff
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Tue Apr 14 16:49:06 2015 +1000
powerpc/cell: Fix iommu breakage caused by controller_ops change
The recent patch to convert cell to use pci_controller_ops had a small
bug which broke machines using an iommu.
The set of phb->controller_ops was added after the check for name !=
"pci", meaning pcix/pcie PHBs weren't getting their ops set correctly.
Fixes: 9c1368fc50e7 ("powerpc/cell: Move controller ops from ppc_md to
controller_ops")
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 89a51df5ab1d38b257300b8ac940bbac3bb0eb9b
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Tue Apr 14 16:49:05 2015 +1000
powerpc/eeh: Fix crash in eeh_add_device_early() on Cell
The recent change to the EEH probing causes a crash on Cell because
eeh_ops is NULL.
Check if EEH is enabled and if not bail out.
Fixes: ff57b454ddb9 ("powerpc/eeh: Do probe on pci_dn")
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 3968be946a057baa48c9b002166f0bfb85ac7b4b
Author: Matt Roper <matthew.d.roper@xxxxxxxxx>
Date: Mon Apr 13 11:06:13 2015 -0700
drm: Make integer overflow checking cover universal cursor updates (v2)
Our legacy SetPlane updates perform integer overflow checking on a
plane's destination rectangle in drm_mode_setplane(), and atomic updates
handled as part of a drm_atomic_state transaction do the same checking
in drm_atomic_plane_check(). However legacy cursor updates that get
routed through universal plane interfaces may bypass this overflow
checking if the driver's .update_plane is serviced by the transitional
plane helpers rather than the full atomic plane helpers.
Move the check for destination rectangle integer overflow from the
drm_mode_setplane() to __setplane_internal() so that it also covers
cursor operations.
This fixes an issue first noticed with i915 commit:
commit ff42e093e9c9c17a6e1d6aab24875a36795f926e
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date: Mon Mar 2 16:35:20 2015 +0100
Revert "drm/i915: Switch planes from transitional helpers to
full
atomic helpers"
The above revert switched us from full atomic helpers back to the
transitional helpers, and in doing so we lost the overflow checking here
for universal cursor updates. Even though such extreme cursor positions
are unlikely to actually happen in the wild, we still don't want there
to be a change of behavior when drivers switch from transitional helpers
to full helpers.
v2: Move check from setplane ioctl to setplane_internal rather than
adding an additional copy of the checks to the transitional plane
helpers. (Daniel)
Cc: Daniel Vetter <daniel@xxxxxxxx>
Testcase: igt/kms_cursor_crc
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84269
Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 4195f40685a5f2783b4decece13ed740b61ee038
Author: Jan Vesely <jano.vesely@xxxxxxxxx>
Date: Wed Apr 8 21:34:36 2015 -0400
drm/nouveau/bios: fix fetching from acpi on certain systems
nvbios_extend() returns 1 to indicate "extended the array" and 0 to
indicate the array is already big enough. This is used by the core
shadowing code to prevent re-fetching chunks of the image that have
already been shadowed.
The ACPI fetching code may possibly need to extend this further due
to requiring fetches to happen in 4KiB chunks.
Under certain circumstances (that happen if the total image size is
a multiple of 4KiB), the memory allocated to store the shadow will
already be big enough, causing the ACPI code's nvbios_extend() call
to return 0, which is misinterpreted as a failure.
The fix is simple, accept >= 0 as a successful condition here. The
core will have already made sure that we're not re-fetching data we
already have.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89047
v2 (Ben Skeggs):
- dropped hunk which would cause unnecessary re-fetching
- more descriptive explanation
Signed-off-by: Jan Vesely <jano.vesely@xxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 426b20e42eaefecdc703f9eff9f874f45e839dca
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Tue Apr 14 12:06:44 2015 +1000
drm/nouveau/gr/gm206: initial init+ctx code
Uncertain whether the GPC pack change is due to a newer driver version,
or a legitimate difference from GM204. My GM204 has broken vram, so
can't currently try a newer binary driver on it to confirm.
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 985826bccdcc381674a8b83c5d293b54f9a84551
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Tue Apr 14 11:45:29 2015 +1000
drm/nouveau/ce/gm206: enable support via gm204 code
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 5dd7fb771a6b1f00bce8a7f48f7aa4da5da01237
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Tue Apr 14 11:45:10 2015 +1000
drm/nouveau/fifo/gm206: enable support via gm204 code
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 3fed3ea9fd8561ee7a5e6887bc087a4fd97c8e91
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Thu Mar 26 09:28:34 2015 +1000
drm/nouveau/gr/gm204: initial init+ctx code
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 990b4547042a947dce908b81f4f01c8780923c8d
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Tue Apr 14 11:50:35 2015 +1000
drm/nouveau: support for buffer moves via MaxwellDmaCopyA
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit b44881e453246d73bd419bd69e9ec67d923216f0
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Wed Mar 11 12:24:45 2015 +1000
drm/nouveau/ce/gm204: initial support
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit a1020afe88146ece4c1ae77c59b201e030116142
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Tue Apr 14 11:47:24 2015 +1000
drm/nouveau: add support for gm20x fifo channels
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 89025bd458a572f15e30f59d1ac5acb599cb53bc
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Wed Mar 11 12:21:15 2015 +1000
drm/nouveau/fifo/gm204: initial support
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 91c772ec129dc63038ee5642f441a03584474e1e
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Mon Apr 13 13:09:28 2015 +1000
drm/nouveau/gr/gk104-: prevent reading non-existent regs in intr handler
Under certain circumstances the trapped address will contain subc 7,
which GK104 GR doesn't have anymore.
Notice this case to avoid causing additional priv ring faults.
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit ddec1a2b4c01b51134eca13fe6915d945745f1c9
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Thu Mar 26 15:44:04 2015 +1000
drm/nouveau/gr/gm107: very slightly demagic part of attrib cb setup
No idea if "3" is a constant or derived from something else, but the
value is unchanged in the limited traces of gm107/gm204 I have here.
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 6eb70826215f3f3ac04b4749ac0de1ac06047e4f
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Thu Mar 26 13:26:20 2015 +1000
drm/nouveau/gr/gk104-: correct crop/zrop num_active_fbps setting
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 3740c82590d87714b41b8b48bd3062178cbe0b17
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Thu Mar 26 09:18:32 2015 +1000
drm/nouveau/gr/gf100-: add symbolic names for classes
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 8fd4b7d438a1b9b1f639f377da9e98828bd7dacf
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Tue Mar 10 09:20:07 2015 +1000
drm/nouveau/gr/gm107: support tpc "strand" ctxsw in gpccs ucode
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 2a19b3ed65170cb51b5a5286ecba3de41de3a71f
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Tue Apr 7 18:54:40 2015 +1000
drm/nouveau/gr/gf100-: support mmio access with gpc offset from gpccs
ucode
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 7b03ac2ce0695a5c7e221829c5690ce1e8327d36
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Mon Mar 23 13:49:43 2015 +1000
drm/nouveau/gr: fix engine name, cosmetic search+replace mistake
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 7120908d12db5d2d1ba136ee014fee4e95513fc0
Author: Alexandre Courbot <acourbot@xxxxxxxxxx>
Date: Fri Mar 20 19:41:06 2015 +0900
drm/nouveau/pmu/gk20a: add some missing statics
Make static a few functions and structures that should be.
Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit bbf2e92f914019324bb4351fcf0db9f41329a7c3
Author: Alexandre Courbot <acourbot@xxxxxxxxxx>
Date: Fri Mar 20 19:41:05 2015 +0900
drm/nouveau/platform: fix probe error path
A "return 0" found its way in the middle of the error path of
nouveau_platform_probe(), remove it as it will make the kernel crash if
we try to unload the module afterwards.
While we are at it, also remove the IOMMU domain if it has been created,
as we should.
Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 25eb3a924f8589b5ad80e5d50d743befca8a46de
Author: Alexandre Courbot <acourbot@xxxxxxxxxx>
Date: Fri Mar 20 19:41:04 2015 +0900
drm/nouveau/platform: release IOMMU's mm upon exit
nvkm_mm_fini() was not called when exiting the driver, resulting in a
memory leak. Fix this.
Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit ed22e684622533f903dfad9beb99d872536c3040
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Fri Mar 20 15:38:23 2015 +1000
drm/nouveau/gr/gk104-gk20a: call pmu to disable any power-gating before
ctor()
On some of these chipsets, reading NV_PGRAPH_GPC_GPM_PD_PES_TPC_ID_MASK
can trigger a PRI fault and return an error code instead of a TPC mask,
unless PGOB has been disabled first.
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit f02a0e849dbd16541a1e75ef8c8719bc5f611219
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Fri Mar 20 15:28:52 2015 +1000
drm/nouveau/pmu/gk208: implement gr power-up magic with gk110_pmu_pgob()
Before we moved gk110's implementation of this to pmu, the functions were
identical. This commit just switches GK208 to use the new (more complete)
implementation of the power-up sequence.
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit e1fc44fb9dbec4ff4e63c888d206a0bc4ca93f4f
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Fri Mar 20 15:20:17 2015 +1000
drm/nouveau/pmu/gk110: implement gr power-up magic like PGOB on earlier
chips
Turns out the PTHERM part of this dance is bracketed by the same PMU
fiddling that occurs on GK104/6, let's assume it's also PGOB.
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit d9da545e101312f52706c8b05afbd8f1f875ff81
Author: Roy Spliet <rspliet@xxxxxxxxxx>
Date: Thu Mar 12 20:43:23 2015 +0100
drm/nouveau/pbus/hwsq: Make code size u16
So we can actually use the full 512 byte code space
Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 3834b632b2e3f8586692e80b936c52b9dc987144
Author: Roy Spliet <rspliet@xxxxxxxxxx>
Date: Thu Mar 12 20:43:22 2015 +0100
drm/nouveau/pbus/hwsq: Support strided register writes
Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit df16896b866a056da3c275cf416f6f4cc47934bd
Author: Alexandre Courbot <acourbot@xxxxxxxxxx>
Date: Tue Mar 10 15:46:08 2015 +0900
drm/nouveau/instmem/gk20a: fix crash during error path
If a memory allocation fails when using the DMA allocator,
gk20a_instobj_dtor_dma() will be called on the failed instmem object.
At this time, node->handle might not be NULL despite the call to
dma_alloc_attrs() having failed. node->cpuaddr is the right member to
check for such a failure, so use it instead.
Reported-by: Vince Hsu <vinceh@xxxxxxxxxx>
Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Reviewed-by: Thierry Reding <treding@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit b03eaa4d3428ebbc5e32e3595be6027e7d99942b
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Tue Mar 10 09:13:45 2015 +1000
drm/nouveau/disp/gf110-: fix base channel update debug/error output
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 963e965033c002d2238dd3dbd6628109cc6d90de
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Tue Mar 10 09:13:08 2015 +1000
drm/nouveau/disp/nv50-: fix push buffers in vram
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 824527551c6b5dec30e499ffc279f8f4a4711409
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Wed Mar 4 10:17:08 2015 +1000
drm/nouveau: bump driver patchlevel for coherent flag
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 996f545fbb0dc9ed4a640b5ef098f51fe28cca5c
Author: Alexandre Courbot <acourbot@xxxxxxxxxx>
Date: Thu Feb 26 12:44:51 2015 +0900
drm/nouveau/gem: allow user-space to specify an object should be coherent
User-space use mappable BOs notably for fences, and expects that a
value update by the GPU will be immediatly visible through the
user-space mapping.
ARM has a property that may prevent this from happening though: memory
can be mapped multiple times only if the different mappings share the
same caching properties. However all the lowmem memory is already
identity-mapped into the kernel with cache enabled, so when user-space
requests an uncached mapping, we actually get an "undefined caching
policy" one and this has strange side-effects described on Freedesktop
bug 86690.
To prevent this from happening, allow user-space to explicitly specify
which objects should be coherent, and create such objects with the
TTM_PL_FLAG_UNCACHED flag. This will make TTM allocate memory using the
DMA API, which will fix the identify mapping and allow us to safely map
the objects to user-space uncached.
Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Reviewed-by: Lucas Stach <dev@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit a7f6da6e758cd99fcae918b63549273893983189
Author: Alexandre Courbot <acourbot@xxxxxxxxxx>
Date: Fri Feb 20 18:23:04 2015 +0900
drm/nouveau/instmem/gk20a: add IOMMU support
Let GK20A's instmem take advantage of the IOMMU if it is present. Having
an IOMMU means that instmem is no longer allocated using the DMA API,
but instead obtained through page_alloc and made contiguous to the GPU
by IOMMU mappings.
Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 58fd9375c2c5344e8ab6ef9971635bc59cd39658
Author: Alexandre Courbot <acourbot@xxxxxxxxxx>
Date: Fri Feb 20 18:23:03 2015 +0900
drm/nouveau/platform: probe IOMMU if present
Tegra SoCs have an IOMMU that can be used to present non-contiguous
physical memory as contiguous to the GPU and maximize the use of large
pages in the GPU MMU, leading to performance gains. This patch adds
support for probing such a IOMMU if present and make its properties
available in the nouveau_platform_gpu structure so subsystems can take
advantage of it.
Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 5dc240bcfe9a8d30b151be58b174261ba388cb01
Author: Alexandre Courbot <acourbot@xxxxxxxxxx>
Date: Fri Feb 20 18:23:02 2015 +0900
drm/nouveau/instmem/gk20a: use DMA attributes
instmem for GK20A is allocated using dma_alloc_coherent(), which
provides us with a coherent CPU mapping that we never use because
instmem objects are accessed through PRAMIN. Switch to
dma_alloc_attrs() which gives us the option to dismiss that CPU mapping
and free up some CPU virtual space.
Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 14520876751e1022704b58ce08e0dadc8c736656
Author: Alexandre Courbot <acourbot@xxxxxxxxxx>
Date: Fri Feb 20 18:23:01 2015 +0900
drm/nouveau/gk20a: remove RAM device
Now that Nouveau can operate even when there is no RAM device, remove
the dummy one used by GK20A.
Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit a6ff85d386368da8180828e5948ec38b39f4a226
Author: Alexandre Courbot <acourbot@xxxxxxxxxx>
Date: Fri Feb 20 18:23:00 2015 +0900
drm/nouveau/instmem/gk20a: move memory allocation to instmem
GK20A does not have dedicated RAM, thus having a RAM device for it does
not make sense. Move the contiguous physical memory allocation to
instmem.
Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit eaecf0326f096faaba462eae48a3b30bcb1f7009
Author: Alexandre Courbot <acourbot@xxxxxxxxxx>
Date: Fri Feb 20 18:22:59 2015 +0900
make RAM device optional
Having a RAM device does not make sense for chips like GK20A which have
no dedicated video memory. The dummy RAM device that we used so far
works as a temporary band-aid, but in the longer term it is desirable
for the driver to be able to work without any kind of VRAM.
This patch adds a few conditionals in places where a RAM device was
assumed to be present and allows some more objects to be allocated from
the TT domain, allowing Nouveau to handle GPUs for which
pfb->ram == NULL.
Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit c6a7b026a3a80662d8f7bb6b4f7821329aa7111b
Author: Lauri Peltonen <lpeltonen@xxxxxxxxxx>
Date: Thu Feb 26 13:16:48 2015 +0900
drm/nouveau/gr/gf100: Clear notify interrupt
Notify interrupt is only used for cyclestats. We can just clear it and
avoid an "unknown stat" error that gets printed to dmesg otherwise.
Signed-off-by: Lauri Peltonen <lpeltonen@xxxxxxxxxx>
Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 3d951c38006bd007e1b9a6f681691141ed600ea0
Author: Lauri Peltonen <lpeltonen@xxxxxxxxxx>
Date: Tue Feb 17 15:55:42 2015 +0900
drm/nouveau/graph/nvc0: Fix engine pointer retrieval
Other methods in this file suggest this is the correct way to retrieve
the engine pointer.
Signed-off-by: Lauri Peltonen <lpeltonen@xxxxxxxxxx>
Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 30489c230ac9f27e16a17a51b34a556952d4929b
Author: Ben Skeggs <bskeggs@xxxxxxxxxx>
Date: Sat Jan 31 17:13:40 2015 +1000
drm/nouveau/devinit/nv04: change owner to int
We use -1 to mean "not read from hw yet"
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 5dfe7a01796073659a6e6a0830cf942404970539
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Fri Jan 30 11:27:49 2015 +0300
drm/nouveau/mxm: indent an if statement
This if statement is correct but it wasn't indented, so it looked like
some code was missing.
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 3e5ede1defe26ab03f42a0a8c0ad1fa1727f930d
Author: Martin Peres <martin.peres@xxxxxxx>
Date: Sun Jan 25 21:35:44 2015 +0200
drm/nouveau/fuse/gm107: simplify the return logic
Spotted by coccinelle:
drivers/gpu/drm/nouveau/core/subdev/fuse/gm107.c:50:5-8: WARNING: end
returns can be simpified
Signed-off-by: Martin Peres <martin.peres@xxxxxxx>
Reviewed-by: Tobias Klausmann <tobias.johannes.klausmann@xxxxxxxxxx>
Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
commit 9a5cbce421a283e6aea3c4007f141735bf9da8c3
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Tue Apr 14 07:51:03 2015 +1000
powerpc/perf: Cap 64bit userspace backtraces to PERF_MAX_STACK_DEPTH
We cap 32bit userspace backtraces to PERF_MAX_STACK_DEPTH
(currently 127), but we forgot to do the same for 64bit backtraces.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit d6eb9e3ec78c98324097bab8eea266c3bb0d0ac7
Author: Mengdong Lin <mengdong.lin@xxxxxxxxx>
Date: Tue Apr 14 11:25:36 2015 +0800
ALSA: hda - set GET bit when adding a vendor verb to the codec regmap
Some HD-A codecs may add their own vendor 'set' verb to the regmap, thru
func
snd_hdac_add_vendor_verb(). This patch sets the GET bit (bit 11) when
adding
the verb so that its peer vendor 'get' verb is actually added. This can
avoid
I/O error when writing the 'set' verb thru remap, since HD-A regmap
internally
looks up a writable vendor verb with GET bit set at first.
Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 2ba9268dd603d23e17643437b2246acb6844953b
Merge: 7ead5b7 e0bf6c5
Author: Chris Zankel <chris@xxxxxxxxxx>
Date: Tue Apr 14 04:47:53 2015 +0000
Merge tag 'xtensa-for-next-20150413' of
git://github.com/jcmvbkbc/linux-xtensa into for_next
Xtensa improvements for 4.1:
- fix locking issues in ISS network driver;
- document PIC and MX interrupt distributor device tree bindings;
- add CY7C67300 USB controller support to XTFPGA.
Signed-off-by: Chris Zankel <chris@xxxxxxxxxx>
commit 7ead5b7e4a3cf4a16579a8f164022345b93fe972
Merge: 834a316 39a8804
Author: Chris Zankel <chris@xxxxxxxxxx>
Date: Tue Apr 14 03:51:35 2015 +0000
Merge tag 'v4.0' into for_next
Linux 4.0
commit 7debc970ae7a5573ed43a1dfa242fd1a5390d21a
Author: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 15:48:37 2015 +0800
powerpc/perf/hv-24x7: Fail 24x7 initcall if create_events_from_catalog()
fails
As Michael pointed out, create_events_from_catalog() fails when we
either have:
- a kernel bug
- some sort of hypervisor misconfiguration
- ENOMEM
In all the above cases, we can also fail 24x7 initcall.
For hypervisor errors, EIO is used so there is something reported
in dmesg.
Signed-off-by: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit b79013b2449c23f1f505bdf39c5a6c330338b244
Merge: c4be50e c610f7f
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 17:37:33 2015 -0700
Merge tag 'staging-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
Pull staging driver updates from Greg KH:
"Here's the big staging driver patchset for 4.1-rc1.
There's a lot of patches here, the Outreachy application period
happened during this development cycle, so that means that there was a
lot of cleanup patches accepted. Other than the normal coding style
and sparse fixes here, there are some driver updates and work toward
making some of the drivers into "mergable" shape (like the Unisys
drivers.)
All of these have been in linux-next for a while"
* tag 'staging-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1214 commits)
staging: lustre: orthography & coding style
staging: lustre: lnet: lnet: fix error return code
staging: lustre: fix sparse warning
Revert "Staging: sm750fb: Fix C99 Comments"
Staging: rtl8192u: use correct array for debug output
staging: rtl8192e: Remove dead code
staging: rtl8192e: Comment cleanup (style/format)
staging: rtl8192e: Fix indentation in rtllib_rx_auth_resp()
staging: rtl8192e: Decrease nesting of rtllib_rx_auth_resp()
staging: rtl8192e: Divide rtllib_rx_auth()
staging: rtl8192e: Fix PRINTK_WITHOUT_KERN_LEVEL warnings
staging: rtl8192e: Fix DO_WHILE_MACRO_WITH_TRAILING_SEMICOLON warning
staging: rtl8192e: Fix BRACES warning
staging: rtl8192e: Fix LINE_CONTINUATIONS warning
staging: rtl8192e: Fix UNNECESSARY_PARENTHESES warnings
staging: rtl8192e: remove unused EXPORT_SYMBOL_RSL macro
staging: rtl8192e: Fix RETURN_VOID warnings
staging: rtl8192e: Fix UNNECESSARY_ELSE warning
staging: rtl8723au: Remove unneeded comments
staging: rtl8723au: Use __func__ in trace logs
...
commit c4be50eee2bd4d50e0f0ca58776f685c08de69c3
Merge: 42e3a58 c9e15f2
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 17:17:32 2015 -0700
Merge tag 'driver-core-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
Pull driver core updates from Greg KH:
"Here's the driver-core / kobject / lz4 tree update for 4.1-rc1.
Everything here has been in linux-next for a while with no reported
issues. It's mostly just coding style cleanups, with other minor
changes in here as well, nothing big"
* tag 'driver-core-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (32 commits)
debugfs: allow bad parent pointers to be passed in
stable_kernel_rules: Add clause about specification of kernel versions
to patch.
kobject: WARN as tip when call kobject_get() to a kobject not
initialized
lib/lz4: Pull out constant tables
drivers: platform: parse IRQ flags from resources
driver core: Make probe deferral more quiet
drivers/core/of: Add symlink to device-tree from devices with an OF node
device: Add dev_of_node() accessor
drivers: base: fw: fix ret value when loading fw
firmware: Avoid manual device_create_file() calls
drivers/base: cacheinfo: validate device node for all the caches
drivers/base: use tabs where possible in code indentation
driver core: add missing blank line after declaration
drivers: base: node: Delete space after pointer declaration
drivers: base: memory: Use tabs instead of spaces
firmware_class: Fix whitespace and indentation
drivers: base: dma-mapping: Erase blank space after pointer
drivers: base: class: Add a blank line after declarations
attribute_container: fix missing blank lines after declarations
drivers: base: memory: Fix switch indent
...
commit 42e3a58b028e0e51746f596a11abfec01cd1c5c4
Merge: 4fd48b4 00fe52d
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 17:07:21 2015 -0700
Merge tag 'usb-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB driver updates from Greg KH:
"Here's the big USB (and PHY) driver patchset for 4.1-rc1.
Everything here has been in linux-next, and the full details are below
in the shortlog. Nothing major, just the normal round of new
drivers,api updates, and other changes, mostly in the USB gadget area,
as usual"
* tag 'usb-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (252 commits)
drivers/usb/core: devio.c: Removed an uneeded space before tab
usb: dwc2: host: sleep USB_RESUME_TIMEOUT during resume
usb: chipidea: debug: add low power mode check before print registers
usb: chipidea: udc: bypass pullup DP when gadget connect in OTG fsm mode
usb: core: hub: use new USB_RESUME_TIMEOUT
usb: isp1760: hcd: use new USB_RESUME_TIMEOUT
usb: dwc2: hcd: use new USB_RESUME_TIMEOUT
usb: host: sl811: use new USB_RESUME_TIMEOUT
usb: host: r8a66597: use new USB_RESUME_TIMEOUT
usb: host: oxu210hp: use new USB_RESUME_TIMEOUT
usb: host: fusbh200: use new USB_RESUME_TIMEOUT
usb: host: fotg210: use new USB_RESUME_TIMEOUT
usb: host: isp116x: use new USB_RESUME_TIMEOUT
usb: musb: use new USB_RESUME_TIMEOUT
usb: host: uhci: use new USB_RESUME_TIMEOUT
usb: host: ehci: use new USB_RESUME_TIMEOUT
usb: host: xhci: use new USB_RESUME_TIMEOUT
usb: define a generic USB_RESUME_TIMEOUT macro
usb: musb: dsps: fix build on i386 when COMPILE_TEST is set
ehci-hub: use USB_DT_HUB
...
commit 7415d97ee2b809119270fc3a365968ff8d4f544b
Merge: 875dac1 7ab7ef7
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Tue Apr 14 01:52:47 2015 +0200
Merge tag 'at91-clocksource-driver2' of
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into
next/drivers
Pull "A fix for the ST clocksource driver Kconfig option" from Nicolas
Ferre
* tag 'at91-clocksource-driver2' of
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
clocksource: atmel-st: select MFD_SYSCON
commit 89522f0f8bd5056dec21bb7de073cbd5886e435c
Merge: e8621d8 2e57dc0
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Tue Apr 14 01:50:21 2015 +0200
Merge tag 'at91-cleanup4_bis' of
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into
next/multiplatform
Pull "Fourth batch of cleanup for 4.1" from Nicolas Ferre:
- 1 issues revealed by the kbuild test robot fixed
- move of some functions and macros into relevant files to be able to
streamline the at91 specific header afterwards
* tag 'at91-cleanup4_bis' of
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
ARM: at91/pm: move AT91_MEMCTRL_* to pm.h
ARM: at91/pm: move the standby functions to pm.c
ARM: at91: fix pm_suspend.S compilation when ARMv6 is selected
commit 4fd48b45ffc4addd3c2963448b05417aa14abbf7
Merge: a1480a1 34ebe93
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 16:47:11 2015 -0700
Merge branch 'for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
Pull cgroup updates from Tejun Heo:
"Nothing too interesting. Rik made cpuset cooperate better with
isolcpus and there are several other cleanup patches"
* 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
cpuset, isolcpus: document relationship between cpusets & isolcpus
cpusets, isolcpus: exclude isolcpus from load balancing in cpusets
sched, isolcpu: make cpu_isolated_map visible outside scheduler
cpuset: initialize cpuset a bit early
cgroup: Use kvfree in pidlist_free()
cgroup: call cgroup_subsys->bind on cgroup subsys initialization
commit a1480a166dd509f25f90e824411cb488fa9fff7e
Merge: 45141ee c54c719
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 16:42:16 2015 -0700
Merge branch 'for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
Pull libata updates from Tejun Heo:
- Hannes's patchset implements support for better error reporting
introduced by the new ATA command spec.
- the deperecated pci_ dma API usages have been replaced by dma_ ones.
- a bunch of hardware specific updates and some cleanups.
* 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
ata: remove deprecated use of pci api
ahci: st: st_configure_oob must be called after IP is clocked.
ahci: st: Update the ahci_st DT documentation
ahci: st: Update the DT example for how to obtain the PHY.
sata_dwc_460ex: indent an if statement
libata: Add tracepoints
libata-eh: Set 'information' field for autosense
libata: Implement support for sense data reporting
libata: Implement NCQ autosense
libata: use status bit definitions in ata_dump_status()
ide,ata: Rename ATA_IDX to ATA_SENSE
libata: whitespace fixes in ata_to_sense_error()
libata: whitespace cleanup in ata_get_cmd_descript()
libata: use READ_LOG_DMA_EXT
libata: remove ATA_FLAG_LOWTAG
sata_dwc_460ex: re-use hsdev->dev instead of dwc_dev
sata_dwc_460ex: move to generic DMA driver
sata_dwc_460ex: join messages back
sata: xgene: add ACPI support for APM X-Gene SATA ports
ata: sata_mv: add proper definitions for LP_PHY_CTL register values
commit ad30cb9946515f72af5c3e89ad9de18870c1a1e7
Merge: b0a478e d4ed11a
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Tue Apr 14 09:29:23 2015 +1000
Merge branch 'next-sriov' of
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into next
Merge Richard's work to support SR-IOV on PowerNV. All generic PCI
patches acked by Bjorn.
Some minor conflicts with Daniel's pci_controller_ops work.
Conflicts:
arch/powerpc/include/asm/machdep.h
arch/powerpc/platforms/powernv/pci-ioda.c
commit b0a478ede669949682b9c698f6146c0065543b91
Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 09:53:46 2015 -0500
powerpc/pseries: Correct memory hotplug locking
Memory dlpar handling can return from dlpar_memory() without releasing the
device_hotplug lock. Correct this routine to ensure the lock is released.
Fixes: 5f97b2a0d176 ("powerpc/pseries: Implement memory hotplug add in
the kernel")
Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 45141eeafefdb8998d2ab1f87c2afe0457059b47
Merge: 8954672 6ba9442
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 16:19:18 2015 -0700
Merge branch 'for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
Pull workqueue updates from Tejun Heo:
"Workqueue now prints debug information at the end of sysrq-t which
should be helpful when tracking down suspected workqueue stalls. It
only prints out the ones with something currently going on so it
shouldn't add much output in most cases"
* 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
workqueue: Reorder sysfs code
percpu: Fix trivial typos in comments
workqueue: dump workqueues on sysrq-t
workqueue: keep track of the flushing task and pool manager
workqueue: make the workqueues list RCU walkable
commit 9705feacb778d2aa8bb868e8a9ab40557f7f7043
Merge: 643ee0d 8e047c1
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Tue Apr 14 01:18:44 2015 +0200
Merge tag 'imx-dt-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/late
Pull "The i.MX device tree updates for 4.1" from Shawn Guo:
- Convert GPC controller to use stacked interrupt domains
- Add power domain descriptions for i.MX6 platforms
- Improve i.MX25 pin function defines
- Disable PWM devices in <soc>.dtsi by default and enable it at board
level dts where the device is actually available.
- Define labels for SNVS RTC device to ease the board description,
where an external RTC is available.
- Add dr_mode host setting to all i.MX host-only USB instances
- Support Miscellaneous System Control Module (MSCM) for VF610
- Add initial i.MX6SL WaRP Board support
- Add i.MX6SX SDB revision B board support
- A bunch of imx28-apf28dev board updates, including gpio polarity
correction and CAN, AUART device support.
- SolidRun iMX6 platform updates: dual-license of GPLv2/X11, PWM
setup, PCF8523 RTC, GPIO key and SGTL5000 audio support.
- A number of random device additions for boards: SPI and CAN for
vf-colibri, MAX7310 GPIO expander for imx6qdl-sabreauto and LCD
support for imx25-pdk.
Note: Branch imx/cleanup was merged as the base to solve conflict on
imx25 iomux header. Branch imx/soc was merged as the base to solve
conflict on arch/arm/mach-imx/gpc.c. And Jason Cooper's irqchip/vybrid
branch was pulled into the base as a run-time dependency.
* tag 'imx-dt-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (69 commits)
ARM: dts: hummingboard: add sgtl5000 support for Hummingboard Pro
ARM: dts: imx25-pinfunc: Add several pinfunctions
ARM: dts: vf610: fix missing irqs
ARM: dts: cubox: Map gpio-keys to gpio3 8
ARM: dts: hummingboard: Setup pwm lines
ARM: dts: hummingboard: enable PCF8523 RTC support
ARM: dts: Re-license SolidRun iMX6 platform DT GPL v2/X11
ARM: dts: imx28: add alternative pinmuxing for spi3
ARM: dts: imx6sx: Add label snvs_rtc
ARM: dts: imx6sl: Add label snvs_rtc
ARM: imx6: Warn when an old DT is detected
ARM: imx6: Allow GPC interrupts affinity to be changed
ARM: imx6qdl-sabreauto.dtsi: add max7310 support
ARM: dts: imx6sl-warp: Add BCM4330 support
ARM: dts: imx28-apf28dev: add wakeup function to user button
ARM: dts: imx28-apf28dev: fix user button polarity
ARM: dts: imx25-pinfunc: remove input values for pinfuncs without input
register
ARM: dts: vf610: add Miscellaneous System Control Module (MSCM)
ARM: dts: imx6sl-warp: Pass 'bus-width' property
ARM: dts: imx6qdl: disable PWMs by default
...
commit 8b036556d68175caa9bea3fb98768f733fde33c6
Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx>
Date: Sun Apr 5 15:43:53 2015 +0300
ARM: dts: alpine: add internal pci
This patch adds device-tree entry for the internal pci bus on Alpine.
Alpine's on-chip devices appear as pci devices on this bus.
Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx>
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
commit a018bb2ff95868ea592212b6735b35836fda268b
Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx>
Date: Sun Apr 5 15:43:51 2015 +0300
ARM: alpine: add support for generic pci
The Alpine platform requires generic-pci driver to access the internal
pci bus.
Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx>
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
commit b50c9c2de553102d42842db842f57c6cad676494
Author: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx>
Date: Thu Mar 26 20:34:33 2015 +0200
ARM: multi_v7_defconfig: enable alpine platform
The generic PCI driver is required for SATA device probe on Alpine
platform,
so it cannot be modular.
Signed-off-by: Tsahee Zidenberg <tsahee@xxxxxxxxxxxxxxxxx>
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
commit f19e80c640d58ddfd70f2454ee597f81ba966690
Author: He Kuang <hekuang@xxxxxxxxxx>
Date: Mon Apr 13 19:41:30 2015 +0800
perf probe: Fix segfault when probe with lazy_line to file
The first argument passed to find_probe_point_lazy() should be CU die,
which will be passed to die_walk_lines() when lazy_line matches.
Currently, when we probe with lazy_line pattern to file without function
name, NULL pointer is passed and causes a segment fault.
Can be reproduced as following:
$ perf probe -k vmlinux --add='fs/super.c;s->s_count=1;'
[ 1958.984658] perf[1020]: segfault at 10 ip 00007fc6e10d8c71 sp
00007ffcbfaaf900 error 4 in libdw-0.161.so[7fc6e10ce000+34000]
Segmentation fault
After this patch:
$ perf probe -k vmlinux --add='fs/super.c;s->s_count=1;'
Added new event:
probe:_stext (on @fs/super.c)
You can now use it in all perf tools, such as:
perf record -e probe:_stext -aR sleep 1
Signed-off-by: He Kuang <hekuang@xxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428925290-5623-3-git-send-email-hekuang@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 09ed8975c4b13be4469899b210f0e0936021ee8f
Author: Naohiro Aota <naota@xxxxxxxxx>
Date: Fri Mar 13 14:18:40 2015 +0900
perf probe: Find compilation directory path for lazy matching
If we use lazy matching, it failed to open a souce file if perf command
is invoked outside of compilation directory:
$ perf probe -a '__schedule;clear_*'
Failed to open kernel/sched/core.c: No such file or directory
Error: Failed to add events. (-2)
OTOH, other commands like "probe -L" can solve the souce directory by
themselves. Let's make it possible for lazy matching too!
Signed-off-by: Naohiro Aota <naota@xxxxxxxxx>
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Cc: He Kuang <hekuang@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Link:
http://lkml.kernel.org/r/1426223923-1493-1-git-send-email-naota@xxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 643ee0d50a7392671c0488912cdbb37549ac4cc7
Merge: 13a7a6a 2129536
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Tue Apr 14 01:03:29 2015 +0200
Merge tag 'omap-for-v4.1/prcm-dts' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/late
Pull "Clean-up for omap PRCM (Power Reset Clock Management) and
interconnects" from Tony Lindgren
Patches originally from Tero Kristo <t-kristo@xxxxxx>.
This sets gets us into a better position for further clean-up:
- Gets PRCM code closer to being device drivers
- Allows to move the remainig clock code to drivers/clk for v4.2
- Starts enforcing interconnect hierarchy in the SoC specific .dts
files to enforce device drivers are only accesing registers in
the related hardware module
This patchset has seen quite a few revisions but did not come into
mergeable shape until recently. As other patchsets for clock specific
device drivers depend on this, it would be good to get this merged
although it's a bit late for the v4.1 merge window.
Note that as the device entries in the .dts files are moved around,
this is based on earlier non-urgent fixes to avoid a non-trivial
merge conflict.
* tag 'omap-for-v4.1/prcm-dts' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (44 commits)
ARM: OMAP4+: control: add support for initializing control module via DT
ARM: dts: dra7: add minimal l4 bus layout with control module support
ARM: dts: omap5: add minimal l4 bus layout with control module support
ARM: OMAP4+: control: remove support for legacy pad read/write
ARM: OMAP4: display: convert display to use syscon for dsi muxing
ARM: dts: omap4: add minimal l4 bus layout with control module support
ARM: dts: am4372: add minimal l4 bus layout with control module support
ARM: dts: am43xx-epos-evm: fix pinmux node layout
ARM: dts: am33xx: add minimal l4 bus layout with control module support
ARM: dts: omap3: add minimal l4 bus layout with control module support
ARM: dts: omap24xx: add minimal l4 bus layout with control module
support
ARM: OMAP2+: control: add syscon support for register accesses
ARM: OMAP2+: id: cache omap_type value
ARM: OMAP2+: control: remove API for getting control module base address
ARM: OMAP2+: clock: add low-level support for regmap
ARM: OMAP4+: PRM: get rid of cpu_is_omap44xx calls from interrupt init
ARM: OMAP4+: PRM: setup prm_features from the PRM init time flags
ARM: OMAP2+: CM: move SoC specific init calls within a generic API
ARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility
ARM: OMAP2+: PRM: move SoC specific init calls within a generic API
...
commit 49faf809ab824d7362870b55ef10e900ed9ca8d9
Merge: 2c13d8c 4f054d4
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Tue Apr 14 00:56:58 2015 +0200
Merge tag 'mvebu-fixes-4.0-2' of git://git.infradead.org/linux-mvebu into
next/dt
Pull "mvebu fix for 4.0" from Gregory CLEMENT:
use 0xf1000000 as internal registers on Armada 370 DB: needed for the
recent version of the board which no more comes with a bogus version of
the Armada 370 SoC.
* tag 'mvebu-fixes-4.0-2' of git://git.infradead.org/linux-mvebu:
ARM: mvebu: use 0xf1000000 as internal registers on Armada 370 DB
ARM: mvebu: Disable CPU Idle on Armada 38x
commit 8954672d86d036643e3ce7ce3b2422c336db66d0
Merge: 3be1b98 b7dccbe
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 15:54:50 2015 -0700
Merge branch 'irq-core-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq core updates from Thomas Gleixner:
"Managerial summary:
Core code:
- final removal of IRQF_DISABLED
- new state save/restore functions for virtualization support
- wakeup support for stacked irqdomains
- new function to solve the netpoll synchronization problem
irqchips:
- new driver for STi based devices
- new driver for Vybrid MSCM
- massive cleanup of the GIC driver by moving the GIC-addons to
stacked irqdomains
- the usual pile of fixes and updates to the various chip drivers"
* 'irq-core-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)
irqchip: GICv3: Add support for irq_[get, set]_irqchip_state()
irqchip: GIC: Add support for irq_[get, set]_irqchip_state()
genirq: Allow the irqchip state of an IRQ to be save/restored
genirq: MSI: Fix freeing of unallocated MSI
irqchip: renesas-irqc: Add wake-up support
irqchip: armada-370-xp: Allow using wakeup source
irqchip: mips-gic: Add new functions to start/stop the GIC counter
irqchip: tegra: Add Tegra210 support
irqchip: digicolor: Move digicolor_set_gc to init section
irqchip: renesas-irqc: Add functional clock to bindings
irqchip: renesas-irqc: Add minimal runtime PM support
irqchip: renesas-irqc: Add more register documentation
DT: exynos: update PMU binding
ARM: exynos4/5: convert pmu wakeup to stacked domains
irqchip: gic: Don't complain in gic_get_cpumask() if UP system
ARM: zynq: switch from gic_arch_extn to gic_set_irqchip_flags
ARM: ux500: switch from gic_arch_extn to gic_set_irqchip_flags
ARM: shmobile: remove use of gic_arch_extn.irq_set_wake
irqchip: gic: Add an entry point to set up irqchip flags
ARM: omap: convert wakeupgen to stacked domains
...
commit 8b481b01db016bdfefa0ccdfb3ab4abc90db73a3
Merge: 7cef987 3213e67
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Tue Apr 14 00:47:11 2015 +0200
Merge tag 'arm-soc/for-4.1/soc' of http://github.com/broadcom/stblinux
into next/soc
Pull "Trivial change to fix a const declaration for the Cygnus SoC" from
Florian Fainelli:
* tag 'arm-soc/for-4.1/soc' of http://github.com/broadcom/stblinux:
ARM: cygnus: fix const declaration bcm_cygnus_dt_compat
commit 3be1b98e073bdd4c1bb3144201a927c4a21330ba
Merge: 392b46f 5468d5a
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 15:45:47 2015 -0700
Merge tag 'pci-v4.1-changes' of
git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI changes from Bjorn Helgaas:
"Enumeration
- Read capability list as dwords, not bytes (Sean O. Stalley)
Resource management
- Don't check for PNP overlaps with unassigned PCI BARs (Bjorn
Helgaas)
- Mark invalid BARs as unassigned (Bjorn Helgaas)
- Show driver, BAR#, and resource on pci_ioremap_bar() failure (Bjorn
Helgaas)
- Fail pci_ioremap_bar() on unassigned resources (Bjorn Helgaas)
- Assign resources before drivers claim devices (Yijing Wang)
- Claim bus resources before pci_bus_add_devices() (Yijing Wang)
Power management
- Optimize device state transition delays (Aaron Lu)
- Don't clear ASPM bits when the FADT declares it's unsupported
(Matthew Garrett)
Virtualization
- Add ACS quirks for Intel 1G NICs (Alex Williamson)
IOMMU
- Add ptr to OF node arg to of_iommu_configure() (Murali Karicheri)
- Move of_dma_configure() to device.c to help re-use (Murali
Karicheri)
- Fix size when dma-range is not used (Murali Karicheri)
- Add helper functions pci_get[put]_host_bridge_device() (Murali
Karicheri)
- Add of_pci_dma_configure() to update DMA configuration (Murali
Karicheri)
- Update DMA configuration from DT (Murali Karicheri)
- dma-mapping: limit IOMMU mapping size (Murali Karicheri)
- Calculate device DMA masks based on DT dma-range size (Murali
Karicheri)
ARM Versatile host bridge driver
- Check for devm_ioremap_resource() failures (Jisheng Zhang)
Broadcom iProc host bridge driver
- Add Broadcom iProc PCIe driver (Ray Jui)
Marvell MVEBU host bridge driver
- Add suspend/resume support (Thomas Petazzoni)
Renesas R-Car host bridge driver
- Fix position of MSI enable bit (Nobuhiro Iwamatsu)
- Write zeroes to reserved PCIEPARL bits (Nobuhiro Iwamatsu)
- Change PCIEPARL and PCIEPARH to PCIEPALR and PCIEPAUR (Nobuhiro
Iwamatsu)
- Verify that mem_res is 64K-aligned (Nobuhiro Iwamatsu)
Samsung Exynos host bridge driver
- Fix INTx enablement statement termination error (Jaehoon Chung)
Miscellaneous
- Make a shareable UUID for PCI firmware ACPI _DSM (Aaron Lu)
- Clarify policy for vendor IDs in pci.txt (Michael S. Tsirkin)"
* tag 'pci-v4.1-changes' of
git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (36 commits)
PCI: Read capability list as dwords, not bytes
PCI: layerscape: Simplify platform_get_resource_byname() failure
checking
PCI: keystone: Don't dereference possible NULL pointer
PCI: versatile: Check for devm_ioremap_resource() failures
PCI: Don't clear ASPM bits when the FADT declares it's unsupported
PCI: Clarify policy for vendor IDs in pci.txt
PCI/ACPI: Optimize device state transition delays
PCI: Export pci_find_host_bridge() for use inside PCI core
PCI: Make a shareable UUID for PCI firmware ACPI _DSM
PCI: Fix typo in Thunderbolt kernel message
PCI: exynos: Fix INTx enablement statement termination error
PCI: iproc: Add Broadcom iProc PCIe support
PCI: iproc: Add DT docs for Broadcom iProc PCIe driver
PCI: Export symbols required for loadable host driver modules
PCI: Add ACS quirks for Intel 1G NICs
PCI: mvebu: Add suspend/resume support
PCI: Cleanup control flow
sparc/PCI: Claim bus resources before pci_bus_add_devices()
PCI: Assign resources before drivers claim devices (pci_scan_root_bus())
PCI: Fail pci_ioremap_bar() on unassigned resources
...
commit 875dac1c72e4ced725c37685086d52259ccb90dc
Merge: 9d86339 7a4261d
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Tue Apr 14 00:43:28 2015 +0200
Merge tag 'v4.0-next-soc-fix' of https://github.com/mbgg/linux-mediatek
into next/drivers
Merge "fix unused variable warning for pmic-wrapper" from Matthias Brugger
* tag 'v4.0-next-soc-fix' of https://github.com/mbgg/linux-mediatek:
soc/mediatek: Remove unused variables
commit 2c13d8c7a85fdbf7d5c71b4989bb5c249b76a0c1
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Tue Apr 14 00:39:27 2015 +0200
Revert "ARM: dts: mt8135: Add pinctrl/GPIO/EINT node for mt8135."
This reverts commit e6f219b8ec5e4227c8b87b758afb48ed102b4210.
to fix a build error:
arch/arm/boot/dts/mt8135-pinfunc.h:18:40: fatal error:
dt-bindings/pinctrl/mt65xx.h: No such file or directory
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
commit 392b46f31f43a71c5391eb9cffe304979d2d6c30
Merge: a21c1ea 265ef3e
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 15:36:31 2015 -0700
Merge tag 'hsi-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi
Pull HSI changes from Sebastian Reichel:
- nokia-modem: support speech data
- misc fixes
* tag 'hsi-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
HSI: cmt_speech: fix error return code
HSI: nokia-modem: Add cmt-speech support
HSI: cmt_speech: Add cmt-speech driver
HSI: nokia-modem: fix error return code
commit a21c1ea65615f5323575d84508637a9481ca79c6
Merge: d700b05 5939d9d
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 15:21:34 2015 -0700
Merge tag 'for-v4.1' of git://git.infradead.org/battery-2.6
Pull power supply and reset changes from Sebastian Reichel:
- new API for safe access of power supply function attrs
- devres support for power supply (un)registration
- new drivers / chips:
- generic syscon based poweroff driver
- iio & charger driver for da9150
- fuel gauge driver for axp288
- bq27x00: add support for bq27510
- bq2415x: add support for bq24157s
- twl4030-madc-battery: convert to iio consumer
- misc fixes
* tag 'for-v4.1' of git://git.infradead.org/battery-2.6: (66 commits)
power: twl4030_madc_battery: Add missing MODULE_ALIAS
power: twl4030-madc-battery: Convert to iio consumer.
dt: power: Add docs for generic SYSCON poweroff driver.
power: reset: Add generic SYSCON register mapped poweroff.
power: max17042_battery: add missed blank
power: max17042_battery: Use reg type instead of chip type
power/reset: at91: big endian fixes for atsama5d3x
power_supply: charger-manager: Fix dereferencing of ERR_PTR
HID: input: Fix NULL pointer dereference when power_supply_register
fails
power: constify of_device_id array
power/reset/rmobile-reset.c: Fix !HAS_IOMEM build
power_supply: 88pm860x_charger: Fix possible NULL pointer dereference
and use of initialized variable
arm: mach-pxa: Decrement the power supply's device reference counter
mfd: ab8500: Decrement the power supply's device reference counter
power_supply: bq2415x_charger: Decrement the power supply's device
reference counter
power_supply: 88pm860x_charger: Decrement the power supply's device
reference counter
x86/olpc/xo15/sci: Use newly added power_supply_put API
x86/olpc/xo1/sci: Use newly added power_supply_put API
power_supply: charger-manager: Decrement the power supply's device
reference counter
power_supply: Increment power supply use counter when obtaining
references
...
commit 6e8a9d9148b6dc2305fcaaf60550b81cbb6319c6
Merge: 789f558 01e97e6
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Mon Apr 13 18:18:05 2015 -0400
Merge branch 'for-davem' of
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Al Viro says:
====================
netdev-related stuff in vfs.git
There are several commits sitting in vfs.git that probably ought to go in
via net-next.git. First of all, there's merge with vfs.git#iocb - that's
Christoph's aio rework, which has triggered conflicts with the ->sendmsg()
and ->recvmsg() patches a while ago. It's not so much Christoph's stuff
that ought to be in net-next, as (pretty simple) conflict resolution on
merge.
The next chunk is switch to {compat_,}import_iovec/import_single_range -
new
safer primitives for initializing iov_iter. The primitives themselves
come
from vfs/git#iov_iter (and they are used quite a lot in vfs part of
queue),
conversion of net/socket.c syscalls belongs in net-next, IMO. Next
there's
afs and rxrpc stuff from dhowells. And then there's sanitizing
kernel_sendmsg
et.al. + missing inlined helper for "how much data is left in
msg->msg_iter" -
this stuff is used in e.g. cifs stuff, but it belongs in net-next.
That pile is pullable from
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-davem
I'll post the individual patches in there in followups; could you take a
look
and tell if everything in there is OK with you?
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d700b0567132e894971325fbb452a8db9e781c13
Merge: 0055dc5 4ec0853
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 15:13:25 2015 -0700
Merge tag 'regulator-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
Pull regulator updates from Mark Brown:
"Another release, another set of regulator updates. Not much of it is
showing up in the code yet but there's been a lot of discussion going
on about how to enhance the regulator API to work better with modern
SoCs which have a microcontroller sitting between Linux and the
hardware.
I'm hopeful that'll start to come through into mainline for v4.2 but
it's not quite there for v4.1 - what we do have (along with the usual
small updates is) is:
- work from Bjorn Andersson on refactoring the configuration of
regulator loading interfaces to be useful for use with
microcontrollers, the existing interfaces were never actually
useful for anything as-is since nobody was willing to put enough
data into public code.
- a summary tree display in debugfs from Heiko Stübner.
- support for act6000 regulators"
* tag 'regulator-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (34 commits)
regulator: max8660: Handle empty regulator data
regulator: output current-limit for all regulators in summary
regulator: add a summary tree in debugfs
regulator: qcom: Tidy up probe()
regulator: qcom: Rework to single platform device
regulator: qcom: Refactor of-parsing code
regulator: qcom: Don't enable DRMS in driver
regulator: max8660: fix assignment of pdata to data that becomes dead
regulator: Defer lookup of supply to regulator_get
mfd: max77693: Remove unused structures
regulator: max77693: Let core parse DT and drop board files support
regulator: Ensure unique regulator debugfs directory names
regulator: stw481x: Remove unused fields from struct stw481x
regulator: palmas: Add has_regen3 check for TPS659038
regulator: constify of_device_id array
regulator: fixes for regulator_set_optimum_mode name change
regulator: Drop temporary regulator_set_optimum_mode wrapper
usb: phy: phy-msm-usb: Rename regulator_set_optimum_mode
usb: phy: ab8500-usb: Rename regulator_set_optimum_mode
ufs: Rename of regulator_set_optimum_mode
...
commit 0055dc5b23cc1738fc2f14221cf922a83057d8fb
Merge: 1b57c7c 56afdb7
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 15:05:40 2015 -0700
Merge tag 'spi-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
Pull spi updates from Mark Brown:
"Only one framework update this time around, a change from Lars-Peter
to move full to pm_ops and remove the legacy bus PM ops. Otherwise
it's all driver updates:
- make the spidev driver complain loudly if registered as spidev with
DT rather than with a compatible string, hopefully helping people
avoid making that mistake.
- error handling and robustness fixes for the Designware and Intel
MID drivers from Andy Shevchenko.
- substantial performance improvements for the Raspberry Pi driver
from Martin Sperl.
- several new features for spidev_test from Adrian Remonda and Ian
Abbott"
* tag 'spi-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (75 commits)
spi: bcm2835: enabling polling mode for transfers shorter than 30us
spi: bcm2835: transform native-cs to gpio-cs on first spi_setup
spi: img-spfi: Control CS lines with GPIO
spi: img-spfi: Reset controller after each message
spi: img-spfi: Implement a handle_err() callback
spi: img-spfi: Setup TRANSACTION register before CONTROL register
spi: Make master->handle_err() callback optional to avoid crashes
spi: img-spfi: Limit bit clock to 1/4th of input clock
spi: img-spfi: Implement a prepare_message() callback
spi: fsl-dspi: Add ~50ns delay between cs and sck
spi: fsl-dspi: Add cs-sck delays
spi: fsl-dspi: Fix clock rate scale values
spi: signedness bug in qspi_trigger_transfer_out_int()
spi: imx: read back the RX/TX watermark levels earlier
spi: spi-bfin5xx: Initialize cr_width in bfin_spi_pump_transfers()
spi: bitbang: only toggle bitchanges
spi: pxa2xx: missing break in pxa2xx_ssp_get_clk_div()
spi: fsl-dspi: Fix clock rate scale values
spi: Using Trigger number to transmit/receive data
spi: bcm2835: fill FIFO before enabling interrupts to reduce
interrupts/message
...
commit 1b57c7c2fbb81763cd4a6940c8530c98022c409c
Merge: 8d9095c f58078d
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 15:00:55 2015 -0700
Merge tag 'regmap-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap
Pull regmap update from Mark Brown:
"Just one patch for regmap this time around, a change from Steven
Rostedt to prettify the way we're making the regmap internal header
available to the trace events (it turns out that the trace subsystem
doesn't actually need to be in trace/events)"
* tag 'regmap-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
regmap: Move tracing header into drivers/base/regmap
commit 09675bd395458543e70d19544f8046038a2fd053
Merge: bcf5d54 21042d4
Author: Jiri Kosina <jkosina@xxxxxxx>
Date: Mon Apr 13 23:57:27 2015 +0200
Merge branch 'for-4.1/core-s390' into for-linus
commit bcf5d545890e9f7414341c572337ce58cba00a32
Merge: 8cb2c2d 2e3ac94
Author: Jiri Kosina <jkosina@xxxxxxx>
Date: Mon Apr 13 23:57:20 2015 +0200
Merge branch 'for-4.1/core-noarch' into for-linus
commit 8d9095c667a185c8e2449632343a2b6c65ae58f1
Merge: 1a370f4 69f0fb2
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 14:53:03 2015 -0700
Merge tag 'mmc-v4.1' of git://git.linaro.org/people/ulf.hansson/mmc
Pull MMC updates from Ulf Hansson:
"MMC core:
- Add support for marking HPI as broken through devicetree
- Enable runtime PM management of host devices
- Remove the ->enable|disable() callbacks
- Restructure code and cleanups
- Refreshed some of the MMC sections in MAINTAINERS
MMC host:
- dw_mmc: HS400 mode support
- dw_mmc: Add the cmd11 timer to detect a timeout
- dw_mmc: Endian agnostic IO accessors
- dw_mmc: Bugfixes
- sh_mmcif: Add exclusion between cmd and interrupt
- omap_hsmmc: Hibernation support
- omap_hsmmc: Rework and simplify cover/card detect
- omap_hsmmc: Stop using ->enable|disable() callbacks
- atmel-mci: Endian agnostic IO
- sunxi: Enable MMC_CAP_SDIO_IRQ
- sdhci-st: Add support for the stih407 family silicon
- sdhci-st: UHS card support in SDR104 mode
- sdhci-st: HS200 mode support
- sdhci-esdhc-imx: Use common mmc DT parser
- sdhci-of-arasan: Use common mmc DT parser
- sdhci-iproc: Add new driver for Broadcom IPROC SDHCI controller
- sdhci-tegra: Convert to GPIO descriptors
- sdhci-tegra: Optmize write_w path for tegra114 and later
- sdhci-sirf: Update tuning procedure
- sdhci: Fix card presence logic
- sdhci: Cleanups and consolidation"
* tag 'mmc-v4.1' of git://git.linaro.org/people/ulf.hansson/mmc: (79
commits)
mmc: sdhci-st: Update ST SDHCI binding documentation.
mmc: sdhci-st: Update the quirks for this controller.
mmc: sdhci-st: Add sdhci_st_set_uhs_signaling function.
mmc: sdhci-st: Add st_mmcss_cconfig function to configure mmcss glue
registers.
mmc: sdhci-st: Add delay management functions for top registers (eMMC).
mmc: sdhci-st: Add support for de-asserting reset signal and top regs
resource
mmc: sdhci-st: Add macros for register offsets and bitfields for mmcss
glue regs
mmc: sdhci-esdhc-imx: Call mmc_of_parse()
mmc: dw_mmc: Add locking around cmd11 timer
mmc: dw_mmc: Add a return in an unexpected cmd11 timeout
mmc: dw_mmc: Increase cmd11 timeout to 500ms
mmc: dw_mmc: fix fifo ordering in big endian
mmc: dw_mmc: change idmac descriptor files to __le32
mmc: dw_mmc: make IO accessors endian agnostic
mmc: core: Convert the error field in struct mmc_command|data into an
int
mmc: sdhci-of-arasan: Call OF parsing for MMC
mmc: sdhci-pci: fix 64 BIT DMA quirks for rtsx
mmc: Add support for marking hpi as broken through devicetree
mmc: sdhci-tegra: convert to use GPIO descriptors
mmc: omap_hsmmc: use generic slot-gpio isr to manage card detect pin
...
commit 1a370f4cd95e056d55ef5bf1a183880e70195e59
Merge: 4b5ca74 1afaa05
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 14:47:37 2015 -0700
Merge tag 'edac_for_4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp
Pull EDAC updates from Borislav Petkov:
- convert a bunch of drivers to static attribute groups (Takashi Iwai)
- misc cleanups
* tag 'edac_for_4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
EDAC: Constify of_device_id array
EDAC, i82443bxgx: Don't export static symbol
EDAC, amd64_edac: Get rid of per-node driver instances
EDAC: Properly unwind on failure path in edac_init()
EDAC: highbank: Use static attribute groups for sysfs entries
EDAC: octeon: Use static attribute groups for sysfs entries
EDAC: mpc85xx: Use static attribute groups for sysfs entries
EDAC: i7core: Use static attribute groups for sysfs entries
EDAC: i7core: Return proper error codes for kzalloc() errors
EDAC: amd64: Use static attribute groups
EDAC: Allow to pass driver-specific attribute groups
EDAC: Use static attribute groups for managing sysfs entries
EDAC: Delete unnecessary checks before pci_dev_put()
commit 2e455c27bddbf8cf6d1039daea40de8e6865c453
Merge: 05f6d02 b2eafd7
Author: Jiri Kosina <jkosina@xxxxxxx>
Date: Mon Apr 13 23:43:34 2015 +0200
Merge branch 'for-4.1/sensor-hub' into for-linus
Conflicts:
drivers/iio/common/hid-sensors/hid-sensor-trigger.c
include/linux/hid-sensor-hub.h
commit 05f6d02521d4c7a656c5135d6d81c345ce531ac0
Merge: 43faadf feb6faf ee20fe2 a485923 7af05e7 b832da5 2c6e027 f097dee
2e701a3 8fec02a b4bf212
Author: Jiri Kosina <jkosina@xxxxxxx>
Date: Mon Apr 13 23:41:15 2015 +0200
Merge branches 'for-4.0/upstream-fixes', 'for-4.1/genius',
'for-4.1/huion-uclogic-merge', 'for-4.1/i2c-hid',
'for-4.1/kconfig-drop-expert-dependency', 'for-4.1/logitech',
'for-4.1/multitouch', 'for-4.1/rmi', 'for-4.1/sony', 'for-4.1/upstream' and
'for-4.1/wacom' into for-linus
commit 4b5ca74113a1e02f4a7ea80aea9b977705f3d961
Merge: cb0fc55 f354169
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 14:39:25 2015 -0700
Merge tag 'hwmon-for-linus-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
Pull hwmon updates from Guenter Roeck:
"Support for new chips:
- add support for IT8620E, IT8781F, IT8786E, and IT8790E to it87
driver
- add driver for NCT7904
Functional improvements:
- support for new devicetree structure in ibmpowernv driver
- register pwm-fan and gpio-fan drivers as thermal cooling devices
- various minor cleanup and improvements to it87, nct6775, jc42,
ibmpex, and coretemp drivers"
* tag 'hwmon-for-linus-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (43 commits)
hwmon: (pwm-fan) Update the duty cycle inorder to control the pwm-fan
hwmon: (it87) Use feature macros on sio_data
hwmon: (ibmpowernv) Fix build error seen for some configurations
hwmon: (gpio-fan) Move the thermal registration after registration is
complete
hwmon: (ibmpowernv) pretty print labels
hwmon: (ibmpowernv) add a label attribute
hwmon: (ibmpowernv) add support for the new device tree
hwmon: (ibmpowernv) add a helper routine create_hwmon_attr
hwmon: (it87) Add support for 6th fan of IT8620E
hwmon: (it87) Add support for IT8620E
hwmon: (it87) Add support for IT8790E
hwmon: (it87) Introduce feature flag to reflect internal in7 sensor
hwmon: (it87) Introduce configuration field for chip suffix
hwmon: (it87) Fix PWM frequency display for chips with newer PWM control
hwmon: (it87) Fix pwm sysfs attribute removal
hwmon: (ibmpowernv) do not use the OPAL index for hwmon attribute names
hwmon: (ibmpowernv) change create_hwmon_attr_name() prototype
hwmon: (ibmpowernv) add a convert_opal_attr_name() routine
hwmon: (ibmpowernv) add a get_sensor_type() routine
hwmon: (ibmpowernv) replace AMBIENT_TEMP by TEMP
...
commit cb0fc55dea8b498c286976bc4833481f6078c061
Merge: 5142ef1c 940db9e
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 14:19:26 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32
Pull avr32 fix from Hans-Christian Egtvedt.
* 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32:
avr32: fix integer overflow in ELF_ET_DYN_BASE
commit 5142ef1cbda9a48ff87e9b944096767252204c6e
Merge: 6a16dda b24f670
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 14:18:27 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k
Pull m68k updates from Geert Uytterhoeven.
* 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
m68k/mac: Fix out-of-bounds array index in OSS IRQ source initialization
m68k/pci: Remove a superflous KERN_ERR
m68k/defconfig: Update defconfigs for v4.0-rc1
m68k/q40: Make NE2000 builtin instead of modular
m68k: Remove FSF address
commit c4d30668da689de2f27bb0b19de4430d6c95d7cf
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Fri Apr 10 00:22:56 2015 -0400
x86 msr-index: define MSR_TURBO_RATIO_LIMIT,1,2
MSR_TURBO_RATIO_LIMIT has grown into a set of three registers.
Add the documented names for them, in preparation
for deleting the previous ad-hoc names:
+#define MSR_TURBO_RATIO_LIMIT 0x000001ad
+#define MSR_TURBO_RATIO_LIMIT1 0x000001ae
+#define MSR_TURBO_RATIO_LIMIT2 0x000001af
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
Cc: x86@xxxxxxxxxx
commit 789f558cfb3680aeb52de137418637f6b04b7d22
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Sun Apr 12 18:51:09 2015 -0700
tcp/dccp: get rid of central timewait timer
Using a timer wheel for timewait sockets was nice ~15 years ago when
memory was expensive and machines had a single processor.
This does not scale, code is ugly and source of huge latencies
(Typically 30 ms have been seen, cpus spinning on death_lock spinlock.)
We can afford to use an extra 64 bytes per timewait sock and spread
timewait load to all cpus to have better behavior.
Tested:
On following test, /proc/sys/net/ipv4/tcp_tw_recycle is set to 1
on the target (lpaa24)
Before patch :
lpaa23:~# ./super_netperf 200 -H lpaa24 -t TCP_CC -l 60 -- -p0,0
419594
lpaa23:~# ./super_netperf 200 -H lpaa24 -t TCP_CC -l 60 -- -p0,0
437171
While test is running, we can observe 25 or even 33 ms latencies.
lpaa24:~# ping -c 1000 -i 0.02 -qn lpaa23
...
1000 packets transmitted, 1000 received, 0% packet loss, time 20601ms
rtt min/avg/max/mdev = 0.020/0.217/25.771/1.535 ms, pipe 2
lpaa24:~# ping -c 1000 -i 0.02 -qn lpaa23
...
1000 packets transmitted, 1000 received, 0% packet loss, time 20702ms
rtt min/avg/max/mdev = 0.019/0.183/33.761/1.441 ms, pipe 2
After patch :
About 90% increase of throughput :
lpaa23:~# ./super_netperf 200 -H lpaa24 -t TCP_CC -l 60 -- -p0,0
810442
lpaa23:~# ./super_netperf 200 -H lpaa24 -t TCP_CC -l 60 -- -p0,0
800992
And latencies are kept to minimal values during this load, even
if network utilization is 90% higher :
lpaa24:~# ping -c 1000 -i 0.02 -qn lpaa23
...
1000 packets transmitted, 1000 received, 0% packet loss, time 19991ms
rtt min/avg/max/mdev = 0.023/0.064/0.360/0.042 ms
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 6a16dda86ebbcfe690c753c3fb469b4f9ad5a5ef
Merge: ec1bc8e 115db5c
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 13:36:45 2015 -0700
Merge branch 'x86-vdso-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 vdso changes from Ingo Molnar:
"Misc vDSO updates"
* 'x86-vdso-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/vdso: Remove x32 intermediates during 'make clean'
x86/vdso: Teach 'make clean' to remove generated vdso-image-*.c files
x86/vdso32/syscall.S: Do not load __USER32_DS to %ss
x86/vdso: Fix the x86 vdso2c tool includes
commit 20a1d16526b79c76cd45e29cb637aec1d43c41de
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Apr 13 00:52:39 2015 +0200
netfilter: Fix format string of nfnetlink_log proc file
The printed values are all of type unsigned integer, therefore use
%u instead of %d. Otherwise an user can face negative values.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 6b46f7b7e97e58a23fd96c3bfc1efee9da3d1a3d
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Apr 13 00:52:38 2015 +0200
netfilter: Fix format string of nfnetlink_queue proc file
The printed values are all of type unsigned integer, therefore use
%u instead of %d. Otherwise an user can face negative values.
Fixes:
$ cat /proc/net/netfilter/nfnetlink_queue
0 29508 278 2 65531 0 2004213241 -2129885586 1
1 -27747 0 2 65531 0 0 0 1
2 -27748 0 2 65531 0 0 0 1
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit cc6bc4486346aedbdc9ae293c0c675fd29777a98
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Apr 13 00:52:37 2015 +0200
netfilter: Fix portid types
The netlink portid is an unsigned integer, use this type
also in netfilter.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 65bc4f936e6f1c7de59938e832701faa903d2d45
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Apr 13 00:52:36 2015 +0200
nfc: Fix portid type in urelease_work
portid is an unsigned integer. Fix urelease_work to
match all other portid user in the kernel.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0392d099ab29767b8d7d4d1d29e8020f8abe943f
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Apr 13 00:52:35 2015 +0200
netlink: Fix portid type in netlink_notify
portid is an unsigned integer. Fix netlink_notify to
match all other portid user in the kernel.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ec1bc8e4cf47914349cbecf327ea86636bb3265e
Merge: 07f2d8c 22ef882
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 13:34:46 2015 -0700
Merge branch 'x86-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fix from Ingo Molnar:
"Leftover from 4.0
Fix a local stack variable corruption with certain kdump usage
patterns (Dave Young)"
* 'x86-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/mm/numa: Fix kernel stack corruption in
numa_init()->numa_clear_kernel_node_hotplug()
commit 07f2d8c63fa439613405760841e41fce3041023f
Merge: ee799f4 cee8f5a
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 13:33:20 2015 -0700
Merge branch 'x86-ras-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 RAS changes from Ingo Molnar:
"The main changes in this cycle were:
- Simplify the CMCI storm logic on Intel CPUs after yet another
report about a race in the code (Borislav Petkov)
- Enable the MCE threshold irq on AMD CPUs by default (Aravind
Gopalakrishnan)
- Add AMD-specific MCE-severity grading function. Further error
recovery actions will be based on its output (Aravind Gopalakrishnan)
- Documentation updates (Borislav Petkov)
- ... assorted fixes and cleanups"
* 'x86-ras-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/mce/severity: Fix warning about indented braces
x86/mce: Define mce_severity function pointer
x86/mce: Add an AMD severities-grading function
x86/mce: Reindent __mcheck_cpu_apply_quirks() properly
x86/mce: Use safe MSR accesses for AMD quirk
x86/MCE/AMD: Enable thresholding interrupts by default if supported
x86/MCE: Make mce_panic() fatal machine check msg in the same pattern
x86/MCE/intel: Cleanup CMCI storm logic
Documentation/acpi/einj: Correct and streamline text
x86/MCE/AMD: Drop bogus const modifier from AMD's bank4_names()
commit ee799f41eb2bc0484711b0fc942fddf54248289f
Merge: 6cf78d4 a6fcb6d
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 13:32:35 2015 -0700
Merge branch 'x86-platform-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 platform change from Ingo Molnar:
"An Intel Quark SoC fix"
* 'x86-platform-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/intel/quark: Run IMR self-test on IMR capble hw only
commit 6cf78d4b3766bcd25348d72377796f9566ac8e1a
Merge: 0ad5c6b 4e26d11f
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 12:31:32 2015 -0800
Merge branch 'x86-mm-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 mm changes from Ingo Molnar:
"The main changes in this cycle were:
- reduce the x86/32 PAE per task PGD allocation overhead from 4K to
0.032k (Fenghua Yu)
- early_ioremap/memunmap() usage cleanups (Juergen Gross)
- gbpages support cleanups (Luis R Rodriguez)
- improve AMD Bulldozer (family 0x15) ASLR I$ aliasing workaround to
increase randomization by 3 bits (per bootup) (Hector
Marco-Gisbert)
- misc fixlets"
* 'x86-mm-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/mm: Improve AMD Bulldozer ASLR workaround
x86/mm/pat: Initialize __cachemode2pte_tbl[] and __pte2cachemode_tbl[]
in a bit more readable fashion
init.h: Clean up the __setup()/early_param() macros
x86/mm: Simplify probe_page_size_mask()
x86/mm: Further simplify 1 GB kernel linear mappings handling
x86/mm: Use early_param_on_off() for direct_gbpages
init.h: Add early_param_on_off()
x86/mm: Simplify enabling direct_gbpages
x86/mm: Use IS_ENABLED() for direct_gbpages
x86/mm: Unexport set_memory_ro() and set_memory_rw()
x86/mm, efi: Use early_ioremap() in arch/x86/platform/efi/efi-bgrt.c
x86/mm: Use early_memunmap() instead of early_iounmap()
x86/mm/pat: Ensure different messages in STRICT_DEVMEM and PAT cases
x86/mm: Reduce PAE-mode per task pgd allocation overhead from 4K to 32
bytes
commit 0ad5c6b3c2d1183740d225944059b0fdedb2afba
Merge: 421ec90 46423ff
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 13:25:33 2015 -0700
Merge branch 'x86-microcode-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 microcode changes from Ingo Molnar:
"Microcode driver updates: mostly cleanups but also some fixes
(Borislav Petkov)"
* 'x86-microcode-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/microcode/amd: Drop the pci_ids.h dependency
x86/microcode/intel: Fix printing of microcode blobs in show_saved_mc()
x86/microcode/intel: Check scan_microcode()'s retval
x86/microcode/intel: Sanitize microcode_pointer()
x86/microcode/intel: Move mc arg last in get_matching_{microcode|sig}
x86/microcode/intel: Simplify generic_load_microcode_early()
x86/microcode: Consolidate family,model, ... code
x86/microcode/intel: Rename update_match_revision()
x86/microcode/intel: Sanitize _save_mc()
x86/microcode/intel: Make _save_mc() return the updated saved count
x86/microcode/intel: Simplify load_ucode_intel_bsp()
x86/microcode/intel: Get rid of last arg to load_ucode_intel_bsp()
x86/microcode/intel: Do the mc_saved_src NULL check first
x86/microcode/intel: Check if microcode was found before applying
x86/microcode/intel: Fix out of bounds memory access to the extended
header
commit 9d7b45c5721dfd524666bc1f07cf7d0855edb4d5
Author: He Kuang <hekuang@xxxxxxxxxx>
Date: Mon Apr 13 19:41:28 2015 +0800
perf probe: Set retprobe flag when probe in address-based alternative mode
When perf probe searched in a debuginfo file and failed, it tried with
an alternative, in function get_alternative_probe_event():
memcpy(tmp, &pev->point, sizeof(*tmp));
memset(&pev->point, 0, sizeof(pev->point));
In this case, it drops the retprobe flag and forgets to set it back in
find_alternative_probe_point(), so the problem occurs.
Can be reproduced as following:
$ perf probe -v -k vmlinux --add='sys_write%return'
...
Added new event:
Writing event: p:probe/sys_write _stext+1584952
probe:sys_write (on sys_write%return)
$ cat /sys/kernel/debug/tracing/kprobe_events
p:probe/sys_write _stext+1584952
After this patch:
$ perf probe -v -k vmlinux --add='sys_write%return'
Added new event:
Writing event: r:probe/sys_write SyS_write+0
probe:sys_write (on sys_write%return)
$ cat /sys/kernel/debug/tracing/kprobe_events
r:probe/sys_write SyS_write
Signed-off-by: He Kuang <hekuang@xxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428925290-5623-1-git-send-email-hekuang@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 421ec9017f3a1f3f032d894c55c15870f3d474aa
Merge: 64f004a 7fc253e
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 13:24:23 2015 -0700
Merge branch 'x86-fpu-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fpu changes from Ingo Molnar:
"Various x86 FPU handling cleanups, refactorings and fixes (Borislav
Petkov, Oleg Nesterov, Rik van Riel)"
* 'x86-fpu-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
x86/fpu: Kill eager_fpu_init_bp()
x86/fpu: Don't allocate fpu->state for swapper/0
x86/fpu: Rename drop_init_fpu() to fpu_reset_state()
x86/fpu: Fold __drop_fpu() into its sole user
x86/fpu: Don't abuse drop_init_fpu() in flush_thread()
x86/fpu: Use restore_init_xstate() instead of math_state_restore() on
kthread exec
x86/fpu: Introduce restore_init_xstate()
x86/fpu: Document user_fpu_begin()
x86/fpu: Factor out memset(xstate, 0) in fpu_finit() paths
x86/fpu: Change xstateregs_get()/set() to use ->xsave.i387 rather than
->fxsave
x86/fpu: Don't abuse FPU in kernel threads if use_eager_fpu()
x86/fpu: Always allow FPU in interrupt if use_eager_fpu()
x86/fpu: __kernel_fpu_begin() should clear fpu_owner_task even if
use_eager_fpu()
x86/fpu: Also check fpu_lazy_restore() when use_eager_fpu()
x86/fpu: Use task_disable_lazy_fpu_restore() helper
x86/fpu: Use an explicit if/else in switch_fpu_prepare()
x86/fpu: Introduce task_disable_lazy_fpu_restore() helper
x86/fpu: Move lazy restore functions up a few lines
x86/fpu: Change math_error() to use unlazy_fpu(), kill (now) unused
save_init_fpu()
x86/fpu: Don't do __thread_fpu_end() if use_eager_fpu()
...
commit 64f004a2ab68691b5a2e3db4cb460fcd31b6abc6
Merge: b48488d 6d4d198
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 13:23:34 2015 -0700
Merge branch 'x86-debug-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 debug changes from Ingo Molnar:
"Stack printing fixlets"
* 'x86-debug-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/kernel: Use kstack_end() in dumpstack_64.c
x86/kernel: Fix output of show_stack_log_lvl()
commit b48488d10954e0a337c41ea2e6086f274f118acf
Merge: 9f3252f 37dea8c
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 13:21:51 2015 -0700
Merge branch 'x86-cpu-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 cacheinfo sysfs changes from Ingo Molnar:
"This tree converts the x86 cacheinfo sysfs code to use the generic
code in drivers/base/cacheinfo.c.
It's not intended to change the sysfs ABI:
'This patch neither alters any existing sysfs entries nor their
formating, however since the generic cacheinfo has switched to
use the device attributes instead of the traditional raw
kobjects, a directory named 'power' along with its standard
attributes are added similar to any other device'"
* 'x86-cpu-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/cpu/cacheinfo: Fix cache_get_priv_group() for Intel processors
x86/cacheinfo: Move cacheinfo sysfs code to generic infrastructure
commit 9f3252f1ad3f10a96a51ebd79b18ffc20664a1d8
Merge: 5945fba b449159
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 13:20:54 2015 -0700
Merge branch 'x86-cleanups-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 cleanups from Ingo Molnar:
"Various cleanups"
* 'x86-cleanups-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/iommu: Fix header comments regarding standard and _FINISH macros
x86/earlyprintk: Put CONFIG_PCI-only functions under the #ifdef
x86: Fix up obsolete __cpu_set() function usage
commit 5945fba8c596546a075382c42cf35141d1ae6eca
Merge: 8f74bc5 d8eb894
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 13:19:59 2015 -0700
Merge branch 'x86-build-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 build changes from Ingo Molnar:
"Small cleanups and fixes"
* 'x86-build-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/kexec: Cleanup KEXEC_VERIFY_SIG Kconfig help text
x86/build/defconfig: Enable USB_EHCI_TT_NEWSCHED=y
x86/build: Fix mkcapflags.sh bash-ism
x86/Kconfig: Simplify X86_UP_APIC handling
x86/Kconfig: Simplify X86_IO_APIC dependencies
x86/Kconfig: Avoid issuing pointless turned off entries to .config
commit 8f74bc5ff0eb20a055e4cb8d390669164ca15cb3
Merge: 60f898e 1c1d046
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 13:19:10 2015 -0700
Merge branch 'x86-boot-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 boot changes from Ingo Molnar:
"A number of cleanups"
* 'x86-boot-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/boot: Standardize strcmp()
x86/boot/64: Remove pointless early_printk() message
x86/boot/video: Move the 'video_segment' variable to video.c
commit 60f898eeaaa1c5d0162a4240bacf33a6c87ecef6
Merge: 977e1ba 3b75232
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 13:16:36 2015 -0700
Merge branch 'x86-asm-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 asm changes from Ingo Molnar:
"There were lots of changes in this development cycle:
- over 100 separate cleanups, restructuring changes, speedups and
fixes in the x86 system call, irq, trap and other entry code, part
of a heroic effort to deobfuscate a decade old spaghetti asm code
and its C code dependencies (Denys Vlasenko, Andy Lutomirski)
- alternatives code fixes and enhancements (Borislav Petkov)
- simplifications and cleanups to the compat code (Brian Gerst)
- signal handling fixes and new x86 testcases (Andy Lutomirski)
- various other fixes and cleanups
By their nature many of these changes are risky - we tried to test
them well on many different x86 systems (there are no known
regressions), and they are split up finely to help bisection - but
there's still a fair bit of residual risk left so caveat emptor"
* 'x86-asm-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (148 commits)
perf/x86/64: Report regs_user->ax too in get_regs_user()
perf/x86/64: Simplify regs_user->abi setting code in get_regs_user()
perf/x86/64: Do report user_regs->cx while we are in syscall, in
get_regs_user()
perf/x86/64: Do not guess user_regs->cs, ss, sp in get_regs_user()
x86/asm/entry/32: Tidy up JNZ instructions after TESTs
x86/asm/entry/64: Reduce padding in execve stubs
x86/asm/entry/64: Remove GET_THREAD_INFO() in ret_from_fork
x86/asm/entry/64: Simplify jumps in ret_from_fork
x86/asm/entry/64: Remove a redundant jump
x86/asm/entry/64: Optimize [v]fork/clone stubs
x86/asm/entry: Zero EXTRA_REGS for stub32_execve() too
x86/asm/entry/64: Move stub_x32_execvecloser() to stub_execveat()
x86/asm/entry/64: Use common code for rt_sigreturn() epilogue
x86/asm/entry/64: Add forgotten CFI annotation
x86/asm/entry/irq: Simplify interrupt dispatch table (IDT) layout
x86/asm/entry/64: Move opportunistic sysret code to syscall code path
x86, selftests: Add sigreturn selftest
x86/alternatives: Guard NOPs optimization
x86/asm/entry: Clear EXTRA_REGS for all executable formats
x86/signal: Remove pax argument from restore_sigcontext
...
commit 977e1ba50893c15121557b39de586901fe3f75cf
Merge: 7fd5647 1912c7a
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 13:15:09 2015 -0700
Merge branch 'x86-apic-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 apic changes from Ingo Molnar:
"Changes:
- SGI UV APIC driver updates
- dead code removal"
* 'x86-apic-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/apic/uv: Update the UV APIC HUB check
x86/apic/uv: Update the UV APIC driver check
x86/apic/uv: Update the APIC UV OEM check
x86/apic: Remove verify_local_APIC()
commit 8f61f3598d541b12e714d9e3f8f6094cff946c6f
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Mon Mar 23 18:36:57 2015 -0400
tools/power turbostat: label base frequency
syntax only.
The cool kids are now using the phrase "base frequency",
where in the past we used "max non-turbo frequency" or "TSC frequency".
This distinction becomes important when a processor has a TSC
that runs at a different speed than the "base frequency".
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
commit e33cbe852de48c313a8a52686765c58a711dd9e4
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Fri Mar 13 16:30:57 2015 -0400
tools/power turbostat: update PERF_LIMIT_REASONS decoding
cosmetic only.
order the decoding of MSR_PERF_LIMIT_REASONS bits
from MSB to LSB -- which you notice when more than 1 bit is set
and you are, say, comparing the output to the documentation...
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
commit 1cc21f7b6b747220c29b42cfd1c84b5648d12407
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Mon Feb 23 00:34:57 2015 -0500
tools/power turbostat: simplify default output
Casual turbostat users generally just want to know MHz.
So by default, just print enough information to make sense of MHz.
All the other configuration data and columns for C-states and temperature
etc,
are printed with the --debug option.
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
commit 5f2e3274e527ec52413b43b5a9b30422eda4cdd2
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Mon Apr 13 21:35:51 2015 +0200
ACPI / scan: Fix NULL pointer dereference in acpi_companion_match()
Commit e1acdeb0e770 "ACPI / scan: Simplify acpi_match_device()"
introduced code that may lead to a NULL pointer dereference when
trying to unlock a mutex. Fix that.
Fixes: e1acdeb0e770 "ACPI / scan: Simplify acpi_match_device()"
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit fe205bdd1321f95f8f3c35d243ea7cb22af8fbe1
Author: Thomas Meyer <thomas@xxxxxxxx>
Date: Fri Apr 3 16:51:26 2015 +0200
um: Print minimum physical memory requirement
Print a more sensible message about the minimum physical memory
requirement.
Signed-off-by: Thomas Meyer <thomas@xxxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 33bbc3065414722065a20cbdbeaf352173e72f39
Author: Thomas Meyer <thomas@xxxxxxxx>
Date: Sat Mar 28 09:59:46 2015 +0100
um: Move uml_postsetup in the init_thread stack
atomic_notifier_chain_register() and uml_postsetup() do call kernel code
that rely on the "current" kernel macro and a valid task_struct resp.
thread_info struct. Give those functions a valid stack by moving
uml_postsetup() in the init_thread stack. This moves enables a panic()
call in this early code to generate a valid stacktrace, instead of
crashing.
E.g. when an UML kernel is started with an initrd but too few physical
memory the panic() call get's actually processed.
Signed-off-by: Thomas Meyer <thomas@xxxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 04a418495e0852263d77c4fb82adf470feaafef3
Author: Thomas Meyer <thomas@xxxxxxxx>
Date: Sat Mar 28 10:07:37 2015 +0100
um: add a kmsg_dumper
Add a kmsg_dumper, that dumps the kmsg buffer to stdout, when no console
is available. This an enables the printing of early panic() calls
triggered in uml_postsetup().
When a panic() call happens so early in the UML kernel no
earlyprintk/console is available yet, but with a kmsg_dumper in place
the kernel message buffer will be outputted to the user, to give a
better hint, of what the failure was.
Signed-off-by: Thomas Meyer <thomas@xxxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit fc9bea0e28db8cbfe0a08c1bfb1796bfd7adf49b
Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Date: Tue Mar 24 18:31:24 2015 +0300
x86, UML: fix integer overflow in ELF_ET_DYN_BASE
Almost all arches define ELF_ET_DYN_BASE as 2/3 of TASK_SIZE.
Though it seems that some architectures do this in a wrong way.
The problem is that 2*TASK_SIZE may overflow 32-bits so
the real ELF_ET_DYN_BASE becomes wrong.
Fix this overflow by dividing TASK_SIZE prior to multiplying:
(TASK_SIZE / 3 * 2)
Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 502690674281a047abd45f81e64c498bc23a8bb3
Author: david.oberhollenzer@xxxxxxxxxxxxx <david.oberhollenzer@xxxxxxxxxxxxx>
Date: Thu Mar 26 23:59:50 2015 +0100
UBI: power cut emulation for testing
Emulate random power cuts by switching device to ro after a number of
writes to allow simple power cut testing with nand-sim.
Maximum and minimum number of successful writes before power cut and
what kind of writes (EC header, VID header or none) to interrupt
configurable via debugfs.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@xxxxxxxxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 0c9bd6365d0b278728359843b8303047ddedb831
Author: Richard Weinberger <richard@xxxxxx>
Date: Tue Mar 24 15:47:38 2015 +0100
um: hostfs: Reduce number of syscalls in readdir
Currently hostfs issues every time a seekdir(), in fact
it has to do this only upon the first call.
Also telldir() can be omitted as we can obtain the directory
offset from readdir().
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit a98a6d864d3b84219a6ec6213b00c260fb52f9f4
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Mar 18 21:59:35 2015 +0100
um: Remove broken highmem support
Highmem was always buggy and experimental on UML(i386).
In times where 64 bit computers are default we can
remove that experimental code.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 28fa468f53163bc0b867b4cc75a9e36e7ed4dbbd
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Mar 18 21:42:54 2015 +0100
um: Remove broken SMP support
At times where UML used the TT mode to operate it had
kind of SMP support. It never got finished nor was
stable.
Let's rip out that cruft and stop confusing developers
which do tree-wide SMP cleanups.
If someone wants SMP support UML it has do be done from scratch.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit d0b5e15f0c0fdd759dd3dd48dc2dc2e7199e0da0
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Mar 18 21:31:27 2015 +0100
um: Remove SKAS3/4 support
Before we had SKAS0 UML had two modes of operation
TT (tracing thread) and SKAS3/4 (separated kernel address space).
TT was known to be insecure and got removed a long time ago.
SKAS3/4 required a few (3 or 4) patches on the host side which never went
mainline. The last host patch is 10 years old.
With SKAS0 mode (separated kernel address space using 0 host patches),
default since 2005, SKAS3/4 is obsolete and can be removed.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit aaeac66b1a02d399ec8ee63e8d617c1d601ea353
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Mar 18 21:28:15 2015 +0100
um: Remove ppc cruft
That code is a relict from the early days of UML.
ppc support was never completed nor worked.
Let's rip it out.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 23fc5f156bddbaaa8939a74c67dfd5bf6d07f596
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Mar 18 21:27:35 2015 +0100
um: Remove ia64 cruft
That code is a relict from the early days of UML.
ia64 support was never completed nor worked.
Let's rip it out.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit fcf81931a0f9cff10101386685f2e9f30fe5f3d2
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Mar 18 14:11:04 2015 +0100
um: Remove dead code from stacktrace
Remove left over code from commit 970e51feaddb
(um: Add support for CONFIG_STACKTRACE)
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 97b2f0dc331474fb80ba4f4e4aee1d8e9ffbf7ce
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Apr 13 20:40:10 2015 +0200
arm64: Removed unused variable
arch/arm64/kernel/signal.c: In function â??handle_signalâ??:
arch/arm64/kernel/signal.c:290:22: warning: unused variable â??threadâ??
[-Wunused-variable]
Fixes: arm64: Remove signal translation and exec_domain
Reported-by: Thierry Reding <thierry.reding@xxxxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 97bb43c3e06e9bfdc9e3140a312004df462685b9
Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
Date: Mon Apr 13 20:15:21 2015 +0200
netfilter: nf_tables: get rid of the expression example code
There's an example net/netfilter/nft_expr_template.c example file in tree
that
got out of sync along time, remove it.
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
Acked-by: Patrick McHardy <kaber@xxxxxxxxx>
commit 3e135cd499bfbec15684fe9c756162d58df4dc77
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 10:46:42 2015 +0100
netfilter: nft_dynset: dynamic stateful expression instantiation
Support instantiating stateful expressions based on a template that
are associated with dynamically created set entries. The expressions
are evaluated when adding or updating the set element.
This allows to maintain per flow state using the existing set
infrastructure and expression types, with arbitrary definitions of
a flow.
Usage is currently restricted to anonymous sets, meaning only a single
binding can exist, since the desired semantics of multiple independant
bindings haven't been defined so far.
Examples (userspace syntax is still WIP):
1. Limit the rate of new SSH connections per host, similar to iptables
hashlimit:
flow ip saddr timeout 60s \
limit 10/second \
accept
2. Account network traffic between each set of /24 networks:
flow ip saddr & 255.255.255.0 . ip daddr & 255.255.255.0 \
counter
3. Account traffic to each host per user:
flow skuid . ip daddr \
counter
4. Account traffic for each combination of source address and TCP flags:
flow ip saddr . tcp flags \
counter
The resulting set content after a Xmas-scan look like this:
{
192.168.122.1 . fin | psh | urg : counter packets 1001 bytes 40040,
192.168.122.1 . ack : counter packets 74 bytes 3848,
192.168.122.1 . psh | ack : counter packets 35 bytes 3144
}
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 7c6c6e95a12e46f499749bdd496e53d03950f377
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 10:46:41 2015 +0100
netfilter: nf_tables: add flag to indicate set contains expressions
Add a set flag to indicate that the set is used as a state table and
contains expressions for evaluation. This operation is mutually
exclusive with the mapping operation, so sets specifying both are
rejected. The lookup expression also rejects binding to state tables
since it only deals with loopup and map operations.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 151d799a61da1b6f6b7e5116fb776177917bbe9a
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 10:46:40 2015 +0100
netfilter: nf_tables: mark stateful expressions
Add a flag to mark stateful expressions.
This is used for dynamic expression instanstiation to limit the usable
expressions. Strictly speaking only the dynset expression can not be
used in order to avoid recursion, but since dynamically instantiating
non-stateful expressions will simply create an identical copy, which
behaves no differently than the original, this limits to expressions
where it actually makes sense to dynamically instantiate them.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit f25ad2e907f110378159fe5e088aa13176faaa5b
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 10:46:39 2015 +0100
netfilter: nf_tables: prepare for expressions associated to set elements
Preparation to attach expressions to set elements: add a set extension
type to hold an expression and dump the expression information with the
set element.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 0b2d8a7b638b5034d2d68f6add8af94daaa1d4cd
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 10:46:38 2015 +0100
netfilter: nf_tables: add helper functions for expression handling
Add helper functions for initializing, cloning, dumping and destroying
a single expression that is not part of a rule.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 24477e57412a7a7dea62637ac990bc5c1cff0665
Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
Date: Wed Apr 8 19:41:40 2015 +0200
uapi: ebtables: don't include linux/if.h
linux/if.h creates conflicts in userspace with net/if.h
By using it here we force userspace to use linux/if.h while
net/if.h may be needed.
Note that:
include/linux/netfilter_ipv4/ip_tables.h and
include/linux/netfilter_ipv6/ip6_tables.h
don't include linux/if.h and they also refer to IFNAMSIZ, so they are
expecting userspace to include use net/if.h from the client program.
Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 7fd56474db326f7a6df0e2a4e3a9600cc083ab9b
Merge: 49d2953 def7470
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 11:08:28 2015 -0700
Merge branch 'timers-core-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer updates from Ingo Molnar:
"The main changes in this cycle were:
- clockevents state machine cleanups and enhancements (Viresh Kumar)
- clockevents broadcast notifier horror to state machine conversion
and related cleanups (Thomas Gleixner, Rafael J Wysocki)
- clocksource and timekeeping core updates (John Stultz)
- clocksource driver updates and fixes (Ben Dooks, Dmitry Osipenko,
Hans de Goede, Laurent Pinchart, Maxime Ripard, Xunlei Pang)
- y2038 fixes (Xunlei Pang, John Stultz)
- NMI-safe ktime_get_raw_fast() and general refactoring of the clock
code, in preparation to perf's per event clock ID support (Peter
Zijlstra)
- generic sched/clock fixes, optimizations and cleanups (Daniel
Thompson)
- clockevents cpu_down() race fix (Preeti U Murthy)"
* 'timers-core-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (94 commits)
timers/PM: Drop unnecessary braces from tick_freeze()
timers/PM: Fix up tick_unfreeze()
timekeeping: Get rid of stale comment
clockevents: Cleanup dead cpu explicitely
clockevents: Make tick handover explicit
clockevents: Remove broadcast oneshot control leftovers
sched/idle: Use explicit broadcast oneshot control function
ARM: Tegra: Use explicit broadcast oneshot control function
ARM: OMAP: Use explicit broadcast oneshot control function
intel_idle: Use explicit broadcast oneshot control function
ACPI/idle: Use explicit broadcast control function
ACPI/PAD: Use explicit broadcast oneshot control function
x86/amd/idle, clockevents: Use explicit broadcast oneshot control
functions
clockevents: Provide explicit broadcast oneshot control functions
clockevents: Remove the broadcast control leftovers
ARM: OMAP: Use explicit broadcast control function
intel_idle: Use explicit broadcast control function
cpuidle: Use explicit broadcast control function
ACPI/processor: Use explicit broadcast control function
ACPI/PAD: Use explicit broadcast control function
...
commit 3d0d26c7976bf190c3f1d2efbc31462db8246bc0
Author: Kenneth Klette Jonassen <kennetkl@xxxxxxxxxx>
Date: Sat Apr 11 02:17:49 2015 +0200
tcp: fix bogus RTT for CC when retransmissions are acked
Since retransmitted segments are not used for RTT estimation, previously
SACKed segments present in the rtx queue are used. This estimation can be
several times larger than the actual RTT. When a cumulative ack covers
both
previously SACKed and retransmitted segments, CC may thus get a bogus RTT.
Such segments previously had an RTT estimation in tcp_sacktag_one(), so it
seems reasonable to not reuse them in tcp_clean_rtx_queue() at all.
Afaik, this has had no effect on SRTT/RTO because of Karn's check.
Signed-off-by: Kenneth Klette Jonassen <kennetkl@xxxxxxxxxx>
Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx>
Tested-by: Neal Cardwell <ncardwell@xxxxxxxxxx>
Acked-by: Yuchung Cheng <ycheng@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 49d2953c72c64182ef2dcac64f6979c0b4e25db7
Merge: cc76ee7 62a935b
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 10:47:34 2015 -0700
Merge branch 'sched-core-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler changes from Ingo Molnar:
"Major changes:
- Reworked CPU capacity code, for better SMP load balancing on
systems with assymetric CPUs. (Vincent Guittot, Morten Rasmussen)
- Reworked RT task SMP balancing to be push based instead of pull
based, to reduce latencies on large CPU count systems. (Steven
Rostedt)
- SCHED_DEADLINE support updates and fixes. (Juri Lelli)
- SCHED_DEADLINE task migration support during CPU hotplug. (Wanpeng
Li)
- x86 mwait-idle optimizations and fixes. (Mike Galbraith, Len Brown)
- sched/numa improvements. (Rik van Riel)
- various cleanups"
* 'sched-core-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (28 commits)
sched/core: Drop debugging leftover trace_printk call
sched/deadline: Support DL task migration during CPU hotplug
sched/core: Check for available DL bandwidth in cpuset_cpu_inactive()
sched/deadline: Always enqueue on previous rq when dl_task_timer() fires
sched/core: Remove unused argument from init_[rt|dl]_rq()
sched/deadline: Fix rt runtime corruption when dl fails its global
constraints
sched/deadline: Avoid a superfluous check
sched: Improve load balancing in the presence of idle CPUs
sched: Optimize freq invariant accounting
sched: Move CFS tasks to CPUs with higher capacity
sched: Add SD_PREFER_SIBLING for SMT level
sched: Remove unused struct sched_group_capacity::capacity_orig
sched: Replace capacity_factor by usage
sched: Calculate CPU's usage statistic and put it into struct
sg_lb_stats::group_usage
sched: Add struct rq::cpu_capacity_orig
sched: Make scale_rt invariant with frequency
sched: Make sched entity usage tracking scale-invariant
sched: Remove frequency scaling from cpu_capacity
sched: Track group sched_entity usage contributions
sched: Add sched_avg::utilization_avg_contrib
...
commit 4577139b2dabf58973d59d157aae4ddd3bde863a
Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Date: Fri Apr 10 23:07:54 2015 +0200
net: use jump label patching for ingress qdisc in __netif_receive_skb_core
Even if we make use of classifier and actions from the egress
path, we're going into handle_ing() executing additional code
on a per-packet cost for ingress qdisc, just to realize that
nothing is attached on ingress.
Instead, this can just be blinded out as a no-op entirely with
the use of a static key. On input fast-path, we already make
use of static keys in various places, e.g. skb time stamping,
in RPS, etc. It makes sense to not waste time when we're assured
that no ingress qdisc is attached anywhere.
Enabling/disabling of that code path is being done via two
helpers, namely net_{inc,dec}_ingress_queue(), that are being
invoked under RTNL mutex when a ingress qdisc is being either
initialized or destructed.
Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit cc76ee75a9d3201eeacc576d17fbc1511f673010
Merge: 9c65e12 58995a9
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 10:27:28 2015 -0700
Merge branch 'locking-core-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull core locking changes from Ingo Molnar:
"Main changes:
- jump label asm preparatory work for PowerPC (Anton Blanchard)
- rwsem optimizations and cleanups (Davidlohr Bueso)
- mutex optimizations and cleanups (Jason Low)
- futex fix (Oleg Nesterov)
- remove broken atomicity checks from {READ,WRITE}_ONCE() (Peter
Zijlstra)"
* 'locking-core-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
powerpc, jump_label: Include linux/jump_label.h to get HAVE_JUMP_LABEL
define
jump_label: Allow jump labels to be used in assembly
jump_label: Allow asm/jump_label.h to be included in assembly
locking/mutex: Further simplify mutex_spin_on_owner()
locking: Remove atomicy checks from {READ,WRITE}_ONCE
locking/rtmutex: Rename argument in the rt_mutex_adjust_prio_chain()
documentation as well
locking/rwsem: Fix lock optimistic spinning when owner is not running
locking: Remove ACCESS_ONCE() usage
locking/rwsem: Check for active lock before bailing on spinning
locking/rwsem: Avoid deceiving lock spinners
locking/rwsem: Set lock ownership ASAP
locking/rwsem: Document barrier need when waking tasks
locking/futex: Check PF_KTHREAD rather than !p->mm to filter out
kthreads
locking/mutex: Refactor mutex_spin_on_owner()
locking/mutex: In mutex_spin_on_owner(), return true when owner changes
commit 9c65e12a55fea2da50f4069ec0dc47c50b7bd2bb
Merge: 67dbb3a 84a87c6
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 10:22:30 2015 -0700
Merge branch 'core-efi-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull EFI update from Ingo Molnar:
"This tree includes various fixes, cleanups, a new efi=debug boot
option and EFI boot stub memory allocation optimizations"
* 'core-efi-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
efi/libstub: Retrieve FDT size when loaded from UEFI config table
efi: Clean up the efi_call_phys_[prolog|epilog]() save/restore
interaction
efi: Disable interrupts around EFI calls, not in the epilog/prolog calls
x86/efi: Add a "debug" option to the efi= cmdline
firmware: dmi_scan: Use direct access to static vars
firmware: dmi_scan: Use full dmi version for SMBIOS3
commit dfc96c192ad48a16b0d5bba43165d9893a00fe37
Merge: cf89013 14ffbbb
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Mon Apr 13 13:15:14 2015 -0400
Merge branch 'netdev_diet'
Thomas Graf says:
====================
Bring sizeof(net_device) down to < 2K bytes
The size of struct net_device crossed the 2K boundary a while ago which
is a waste in combination with many net namespaces. This series brings
the size of struct net_device down to well below 2K in total size with
a typical configuration. Some reserves a several holes leave room for
further expansion.
Before:
/* size: 2176, cachelines: 34, members: 121 */
After:
/* size: 1984, cachelines: 31, members: 120 */
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 14ffbbb8dab670393a8718adb7b0a385b23fa7bc
Author: Thomas Graf <tgraf@xxxxxxx>
Date: Fri Apr 10 15:52:38 2015 +0200
net_device: Reorder members to fill holes
Some trivial reorders while preserving the RX/TX cache lines
split to fill a couple of holes.
Signed-off-by: Thomas Graf <tgraf@xxxxxxx>
Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e2c6544829f8df396a0a233c86d5ee78f405ffef
Author: Thomas Graf <tgraf@xxxxxxx>
Date: Fri Apr 10 15:52:37 2015 +0200
e1000e: Move pm_qos_req to e1000e adapter
e1000e is the only driver requiring pm_qos_req, instead of causing
every device to waste up to 240 bytes. Allocate it for the specific
driver.
Signed-off-by: Thomas Graf <tgraf@xxxxxxx>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 67dbb3a099d0fe04df5974edddc0b8c64a9f7529
Merge: 9003601 47d6897
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 10:11:18 2015 -0700
Merge tag 'md/4.0-rc7-fix' of git://neil.brown.name/md
Pull md fixes from Neil Brown:
"Two regression fixes for md, one fairly recent and minor (diskstats
has confusing data) and one older and more serious - RAID0 with
non-power-of-2 chunksize corrupts data.
I guess (almost) no-one uses non-power-of-2 chunks.
Summary:
- Revert recent change which broke IO accounting.
- Fix bug with RAID0 arrays with non-power-of-2 chunk size"
* tag 'md/4.0-rc7-fix' of git://neil.brown.name/md:
md/raid0: fix bug with chunksize not a power of 2.
md: fix md io stats accounting broken
commit cf890138087a6da2f56a642acb80476370b04332
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Mon Apr 13 15:20:37 2015 +0200
selinux/nlmsg: add a build time check for rtnl/xfrm cmds
When a new rtnl or xfrm command is added, this part of the code is
frequently
missing. Let's help the developer with a build time test.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 940db9e654dab0cb68b5b9ec52f627945807aac9
Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Date: Tue Mar 24 18:31:22 2015 +0300
avr32: fix integer overflow in ELF_ET_DYN_BASE
Almost all arches define ELF_ET_DYN_BASE as 2/3 of TASK_SIZE.
Though it seems that some architectures do this in a wrong way.
The problem is that 2*TASK_SIZE may overflow 32-bits so
the real ELF_ET_DYN_BASE becomes wrong.
Fix this overflow by dividing TASK_SIZE prior to multiplying:
(TASK_SIZE / 3 * 2)
Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx>
commit 900360131066f192c82311a098d03d6ac6429e20
Merge: 4541fec ca3f087
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 09:47:01 2015 -0700
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull KVM updates from Paolo Bonzini:
"First batch of KVM changes for 4.1
The most interesting bit here is irqfd/ioeventfd support for ARM and
ARM64.
Summary:
ARM/ARM64:
fixes for live migration, irqfd and ioeventfd support (enabling
vhost, too), page aging
s390:
interrupt handling rework, allowing to inject all local interrupts
via new ioctl and to get/set the full local irq state for migration
and introspection. New ioctls to access memory by virtual address,
and to get/set the guest storage keys. SIMD support.
MIPS:
FPU and MIPS SIMD Architecture (MSA) support. Includes some
patches from Ralf Baechle's MIPS tree.
x86:
bugfixes (notably for pvclock, the others are small) and cleanups.
Another small latency improvement for the TSC deadline timer"
* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (146
commits)
KVM: use slowpath for cross page cached accesses
kvm: mmu: lazy collapse small sptes into large sptes
KVM: x86: Clear CR2 on VCPU reset
KVM: x86: DR0-DR3 are not clear on reset
KVM: x86: BSP in MSR_IA32_APICBASE is writable
KVM: x86: simplify kvm_apic_map
KVM: x86: avoid logical_map when it is invalid
KVM: x86: fix mixed APIC mode broadcast
KVM: x86: use MDA for interrupt matching
kvm/ppc/mpic: drop unused IRQ_testbit
KVM: nVMX: remove unnecessary double caching of MAXPHYADDR
KVM: nVMX: checks for address bits beyond MAXPHYADDR on VM-entry
KVM: x86: cache maxphyaddr CPUID leaf in struct kvm_vcpu
KVM: vmx: pass error code with internal error #2
x86: vdso: fix pvclock races with task migration
KVM: remove kvm_read_hva and kvm_read_hva_atomic
KVM: x86: optimize delivery of TSC deadline timer interrupt
KVM: x86: extract blocking logic from __vcpu_run
kvm: x86: fix x86 eflags fixed bit
KVM: s390: migrate vcpu interrupt state
...
commit 4541fec3104bef0c60633f9e180be94ea5ccc2b7
Merge: 39a8804 2bfd4d1
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 13 08:59:21 2015 -0700
Merge tag 'linux-kselftest-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
Pull kselftest updates from Shuah Khan:
"This is a milestone update in a sense. Several new tests and install
and packaging support is added in this update.
This update adds install and packaging tools developed on top of
back-end shared logic enhancemnets to run and install tests. In
addition several timer tests are added.
- New timer tests from John Stultz
- rtc test from Prarit Bhargava
- Enhancements to un and install tests from Michael Ellerman
- Install and packaging tools from Shuah Khan
- Cross-compilation enablement from Tyler Baker
- A couple of bug fixes"
* tag 'linux-kselftest-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (42
commits)
ftracetest: Do not use usleep directly
selftest/mqueue: enable cross compilation
selftest/ipc: enable cross compilation
selftest/memfd: include default header install path
selftest/mount: enable cross compilation
selftest/memfd: enable cross compilation
kselftests: timers: Make set-timer-lat fail more gracefully for
!CAP_WAKE_ALARM
selftests: Change memory on-off-test.sh name to be unique
selftests: change cpu on-off-test.sh name to be unique
selftests/mount: Make git ignore all binaries in mount test suite
kselftests: timers: Reduce default runtime on inconsistency-check and
set-timer-lat
ftracetest: Convert exit -1 to exit $FAIL
ftracetest: Cope properly with stack tracer not being enabled
tools, update rtctest.c to verify passage of time
Documentation, split up rtc.txt into documentation and test file
selftests: Add tool to generate kselftest tar archive
selftests: Add kselftest install tool
selftests: Set CC using CROSS_COMPILE once in lib.mk
selftests: Add install support for the powerpc tests
selftests/timers: Use shared logic to run and install tests
...
commit 49ecb10e01c68b05dcb73005a54430c15caa05d0
Author: Christian König <christian.koenig@xxxxxxx>
Date: Tue Mar 31 17:37:00 2015 +0200
drm/radeon: allow creating overlapping userptrs
Similar to the Intel implementation, but instead of just falling back to a
global linear list when we have an overlapping userptr request we
accumulate
all overlapping userptrs in a local list.
Signed-off-by: Christian König <christian.koenig@xxxxxxx>
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit c6a1fc725a847b75be9bd0d1e91d0e1c529ad93f
Author: Christian König <christian.koenig@xxxxxxx>
Date: Tue Mar 31 17:36:59 2015 +0200
drm/radeon: add userptr config option
This allows selecting CONFIG_MMU_NOTIFIER if it isn't already selected.
Signed-off-by: Christian König <christian.koenig@xxxxxxx>
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit 7d7402642eaf385aef0772eff5a35e34fc4995d7
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 02:27:39 2015 +0100
netfilter: nf_tables: variable sized set element keys / data
This patch changes sets to support variable sized set element keys / data
up to 64 bytes each by using variable sized set extensions. This allows
to use concatenations with bigger data items suchs as IPv6 addresses.
As a side effect, small keys/data now don't require the full 16 bytes
of struct nft_data anymore but just the space they need.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit d0a11fc3dc4ab4c717642c9c15c8ad1cbc00d2ec
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 02:27:38 2015 +0100
netfilter: nf_tables: support variable sized data in nft_data_init()
Add a size argument to nft_data_init() and pass in the available space.
This will be used by the following patches to support variable sized
set element data.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 49499c3e6e18b7677a63316f3ff54a16533dc28f
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 02:27:37 2015 +0100
netfilter: nf_tables: switch registers to 32 bit addressing
Switch the nf_tables registers from 128 bit addressing to 32 bit
addressing to support so called concatenations, where multiple values
can be concatenated over multiple registers for O(1) exact matches of
multiple dimensions using sets.
The old register values are mapped to areas of 128 bits for compatibility.
When dumping register numbers, values are expressed using the old values
if they refer to the beginning of a 128 bit area for compatibility.
To support concatenations, register loads of less than a full 32 bit
value need to be padded. This mainly affects the payload and exthdr
expressions, which both unconditionally zero the last word before
copying the data.
Userspace fully passes the testsuite using both old and new register
addressing.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit b1c96ed37ceeef5573402d4af202897edaf1e4b8
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 02:27:36 2015 +0100
netfilter: nf_tables: add register parsing/dumping helpers
Add helper functions to parse and dump register values in netlink
attributes.
These helpers will later be changed to take care of translation between
the
old 128 bit and the new 32 bit register numbers.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 8cd8937ac0d68435b4ca9bd3c987c3cfea269b4f
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 02:27:35 2015 +0100
netfilter: nf_tables: convert sets to u32 data pointers
Simple conversion to use u32 pointers to the beginning of the data
area to keep follow up patches smaller.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit e562d860d7c8ad28f83dc4c9094fd3ae648ea0d6
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 02:27:34 2015 +0100
netfilter: nf_tables: kill nft_data_cmp()
Only needlessly complicates things due to requiring specific argument
types. Use memcmp directly.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit fad136ea0d32ead1f62e3e2a3d436c26d74e5289
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 02:27:33 2015 +0100
netfilter: nf_tables: convert expressions to u32 register pointers
Simple conversion to use u32 pointers to the beginning of the registers
to keep follow up patches smaller.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 1ca2e1702c050aff352cb3efc8a649363dbaeab2
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 02:27:32 2015 +0100
netfilter: nf_tables: use struct nft_verdict within struct nft_data
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit a55e22e92f1a31018e6dc8fce35380900f022c24
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 02:27:31 2015 +0100
netfilter: nf_tables: get rid of NFT_REG_VERDICT usage
Replace the array of registers passed to expressions by a struct nft_regs,
containing the verdict as a seperate member, which aliases to the
NFT_REG_VERDICT register.
This is needed to seperate the verdict from the data registers completely,
so their size can be changed.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit e082f56313f374d723b0366978ddb062c8fe79ea
Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx>
Date: Fri Feb 27 16:24:28 2015 +0800
btrfs: quota: Update quota tree after qgroup relationship change.
Previous patch modified the in memory struct but it's not written in
quota tree until next commit.
So user will still get old data using "btrfs qgroup show" after
assign/remove.
This patch will call btrfs_run_qgroups in assign ioctl so it will be
updated to in memory quota trees and user will get up-to-date results.
Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx>
Reviewed-by: Josef Bacik <jbacik@xxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 9c8b35b1ba21bbf7527056f394aa6109424c55ef
Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx>
Date: Fri Feb 27 16:24:27 2015 +0800
btrfs: quota: Automatically update related qgroups or mark INCONSISTENT
flags when assigning/deleting a qgroup relations.
Operation like qgroups assigning/deleting qgroup relations will mostly
cause qgroup data inconsistent, since it needs to do the full rescan to
determine whether shared extents are exclusive or still shared in
parent qgroups.
But there are some exceptions, like qgroup with only exclusive extents
(qgroup->excl == qgroup->rfer), in that case, we only needs to
modify all its parents' excl and rfer.
So this patch adds a quick path for such qgroup in qgroup
assign/remove routine, and if quick path failed, the qgroup status will
be marked INCONSISTENT, and return 1 to info user-land.
BTW since the quick path is much the same of qgroup_excl_accounting(),
so move the core of it to __qgroup_excl_accounting() and reuse it.
Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx>
Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Josef Bacik <jbacik@xxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 8ea0ec9e011eb542a3e7b1171776aa4877cf8a90
Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Date: Fri Feb 27 16:24:26 2015 +0800
btrfs: qgroup: clear STATUS_FLAG_ON in disabling quota.
we forgot to clear STATUS_FLAG_ON in quota_disable(), it
will cause a problem shown as below:
# mount /dev/sdc /mnt
# btrfs quota enable /mnt
# btrfs quota disable /mnt
# btrfs quota rescan /mnt
quota rescan started <--- expecting it fail here.
# echo $?
0
Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Josef Bacik <jbacik@xxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 53b7cde9d5aa58cf7605664f0e34419156b02698
Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx>
Date: Fri Feb 27 16:24:25 2015 +0800
btrfs: Update btrfs qgroup status item when rescan is done.
Update qgroup status when rescan is done.
Before this patch, status item is not updated on rescan finish, which
causing the RESCAN and INCONSISTENT flags never cleared.
Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx>
Reviewed-by: Josef Bacik <jbacik@xxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 3393168d22fd5f1be5b5429a818c10f642e88ae3
Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx>
Date: Fri Feb 27 16:24:24 2015 +0800
btrfs: qgroup: Fix dead judgement on qgroup_rescan_leaf() return value.
Old qgroup_rescan_leaf() comment indicates ret == 2 as complete and
cleared INCONSISTENT flag.
This is not true since it will never return 2, and inside it no codes
will clear INCONSISTENT flag.
The flag clearance is done in btrfs_qgroup_rescan_work().
This caused the bug that INCONSISTENT flag is never cleared.
So change the comment and fix the dead judgment.
Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx>
Reviewed-by: Josef Bacik <jbacik@xxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit e09fe2d2119800e6060f9b8ba71e072a0eb0fa4d
Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx>
Date: Fri Feb 27 16:24:23 2015 +0800
btrfs: Don't allow subvolid >= (1 << BTRFS_QGROUP_LEVEL_SHIFT) to be
created
Btrfs will create qgroup on subvolume creation if quota is enabled, but
qgroup uses the high bits(currently 16 bits) as level, to build the
inheritance.
However it is fully possible a subvolume can be created with a
subvolumeid larger than 1 << BTRFS_QGROUP_LEVEL_SHIFT, so it will be
considered as level 1 and can't be assigned to other qgroup in level 1.
This patch will prevent such things so qgroup inheritance will not be
screwed up.
The downside is very clear, btrfs subvolume number limit will decrease
from (u64 max - 256(fisrt free objectid) - 256(last free objectid)) to
(u48 max -256(first free objectid)).
But we still have near u48(that's 15 digits in dec), so that should not
be a huge problem.
Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx>
Reviewed-by: Josef Bacik <jbacik@xxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 8465ecec9611d60cbbc8e374ecf68453e0dd5b50
Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx>
Date: Fri Feb 27 16:24:22 2015 +0800
btrfs: Check qgroup level in kernel qgroup assign.
Although we have qgroup level check in btrfs-progs, it's not enough
since other programe may still call ioctl directly not using
btrfs-progs. For example, systemd.
But it's btrfs-progs to be blame since we don't provide a
full-function(like subvolume create things) btrfs library with enough
check, and only rely on kernel ioctl.
So Add level checks in kernel too.
Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx>
Reviewed-by: Josef Bacik <jbacik@xxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit f5a6b1c53bdd44f79e3904c0f5e59f956b49b2c8
Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Date: Mon Nov 24 10:27:09 2014 -0500
btrfs: qgroup: allow to remove qgroup which has parent but no child.
When a qgroup has parents but no child, it should be removable in
Theory I think. But currently, we can not remove it when it has
either parent or child.
Example:
# btrfs quota enable /mnt
# btrfs qgroup create 1/0 /mnt
# btrfs qgroup create 2/0 /mnt
# btrfs qgroup assign 1/0 2/0 /mnt
# btrfs qgroup show -pcre /mnt
qgroupid rfer excl max_rfer max_excl parent child
-------- ---- ---- -------- -------- ------ -----
0/5 16384 16384 0 0 --- ---
1/0 0 0 0 0 2/0 ---
2/0 0 0 0 0 --- 1/0
At this time, there is no subvol or qgroup depending on it.
Just a qgroup 2/0 is its parent, but 2/0 can work well without
1/0. So I think 1/0 should be removalbe. But:
# btrfs qgroup destroy 1/0 /mnt
ERROR: unable to destroy quota group: Device or resource busy
This patch remove the check of qgroup->parent in removing it,
then we can remove a qgroup when it has a parent.
Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 09870d2772b284d0061a5e4d1e1cdf6fb6764344
Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Date: Tue Nov 11 07:18:22 2014 -0500
btrfs: qgroup: return EINVAL if level of parent is not higher than
child's.
When we create a subvol inheriting a qgroup, we need to check the level
of them. Otherwise, there is a chance a qgroup can inherit another qgroup
at the same level.
Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit e2d1f92399afb6ec518b68867ed10db2585b283a
Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Date: Fri Feb 6 10:26:52 2015 -0500
btrfs: qgroup: do a reservation in a higher level.
There are two problems in qgroup:
a). The PAGE_CACHE is 4K, even when we are writing a data of 1K,
qgroup will reserve a 4K size. It will cause the last 3K in a qgroup
is not available to user.
b). When user is writing a inline data, qgroup will not reserve it,
it means this is a window we can exceed the limit of a qgroup.
The main idea of this patch is reserving the data size of write_bytes
rather than the reserve_bytes. It means qgroup will not care about
the data size btrfs will reserve for user, but only care about the
data size user is going to write. Then reserve it when user want to
write and release it in transaction committed.
In this way, qgroup can be released from the complex procedure in
btrfs and only do the reserve when user want to write and account
when the data is written in commit_transaction().
Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 237c0e9f1fbfdca7287f3539f1fa73e5063156b5
Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Date: Mon Dec 29 06:23:05 2014 -0500
Btrfs: qgroup, Account data space in more proper timings.
Currenly, in data writing, ->reserved is accounted in
fill_delalloc(), but ->may_use is released in clear_bit_hook()
which is called by btrfs_finish_ordered_io(). That's too late,
that said, between fill_delalloc() and btrfs_finish_ordered_io(),
the data is doublely accounted by qgroup. It will cause some
unexpected -EDQUOT.
Example:
# btrfs quota enable /root/btrfs-auto-test/
# btrfs subvolume create /root/btrfs-auto-test//sub
Create subvolume '/root/btrfs-auto-test/sub'
# btrfs qgroup limit 1G /root/btrfs-auto-test//sub
dd if=/dev/zero of=/root/btrfs-auto-test//sub/file bs=1024 count=1500000
dd: error writing '/root/btrfs-auto-test//sub/file': Disk quota exceeded
681353+0 records in
681352+0 records out
697704448 bytes (698 MB) copied, 8.15563 s, 85.5 MB/s
It's (698 MB) when we got an -EDQUOT, but we limit it by 1G.
This patch move the btrfs_qgroup_reserve/free() for data from
btrfs_delalloc_reserve/release_metadata() to btrfs_check_data_free_space()
and btrfs_free_reserved_data_space(). Then the accounter in qgroup
will be updated at the same time with the accounter in space_info updated.
In this way, the unexpected -EDQUOT will be killed.
Reported-by: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx>
Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 31193213f1f9c13f6485007ef1e233b119e46910
Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Date: Fri Dec 12 16:44:35 2014 +0800
Btrfs: qgroup: Introduce a may_use to account space_info->bytes_may_use.
Currently, for pre_alloc or delay_alloc, the bytes will be accounted
in space_info by the three guys.
space_info->bytes_may_use --- space_info->reserved --- space_info->used.
But on the other hand, in qgroup, there are only two counters to account
the
bytes, qgroup->reserved and qgroup->excl. And qg->reserved accounts
bytes in space_info->bytes_may_use and qg->excl accounts bytes in
space_info->used. So the bytes in space_info->reserved is not accounted
in qgroup. If so, there is a window we can exceed the quota limit when
bytes is in space_info->reserved.
Example:
# btrfs quota enable /mnt
# btrfs qgroup limit -e 10M /mnt
# for((i=0;i<20;i++));do fallocate -l 1M /mnt/data$i; done
# sync
# btrfs qgroup show -pcre /mnt
qgroupid rfer excl max_rfer max_excl parent child
-------- ---- ---- -------- -------- ------ -----
0/5 20987904 20987904 0 10485760 --- ---
qg->excl is 20987904 larger than max_excl 10485760.
This patch introduce a new counter named may_use to qgroup, then
there are three counters in qgroup to account bytes in space_info
as below.
space_info->bytes_may_use --- space_info->reserved --- space_info->used.
qgroup->may_use --- qgroup->reserved --- qgroup->excl
With this patch applied:
# btrfs quota enable /mnt
# btrfs qgroup limit -e 10M /mnt
# for((i=0;i<20;i++));do fallocate -l 1M /mnt/data$i; done
fallocate: /mnt/data9: fallocate failed: Disk quota exceeded
fallocate: /mnt/data10: fallocate failed: Disk quota exceeded
fallocate: /mnt/data11: fallocate failed: Disk quota exceeded
fallocate: /mnt/data12: fallocate failed: Disk quota exceeded
fallocate: /mnt/data13: fallocate failed: Disk quota exceeded
fallocate: /mnt/data14: fallocate failed: Disk quota exceeded
fallocate: /mnt/data15: fallocate failed: Disk quota exceeded
fallocate: /mnt/data16: fallocate failed: Disk quota exceeded
fallocate: /mnt/data17: fallocate failed: Disk quota exceeded
fallocate: /mnt/data18: fallocate failed: Disk quota exceeded
fallocate: /mnt/data19: fallocate failed: Disk quota exceeded
# sync
# btrfs qgroup show -pcre /mnt
qgroupid rfer excl max_rfer max_excl parent child
-------- ---- ---- -------- -------- ------ -----
0/5 9453568 9453568 0 10485760 --- ---
Reported-by: Cyril SCETBON <cyril.scetbon@xxxxxxx>
Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 804ca127fb93988c6a9d5f2bf4a8f1a780c9a2d0
Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Date: Fri Dec 12 16:44:34 2014 +0800
Btrfs: qgroup: free reserved in exceeding quota.
When we exceed quota limit in writing, we will free
some reserved extent when we need to drop but not free
account in qgroup. It means, each time we exceed quota
in writing, there will be some remain space in qg->reserved
we can not use any more. If things go on like this, the
all space will be ate up.
Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Josef Bacik <jbacik@xxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 4087cf24ae2af17f7dd9fd34e22fde816952d421
Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Date: Sun Jan 18 10:59:23 2015 -0500
Btrfs: qgroup: cleanup, remove an unsued parameter in
btrfs_create_qgroup().
Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 03477d945f13a284d35a757b2c2323d165d5cd81
Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Date: Fri Feb 6 11:06:25 2015 -0500
btrfs: qgroup: fix limit args override whole limit struct
btrfs_limit_group use arg limit to override the old qgroup_limit of
corresponding qgroup. However, we should override part of old qgroup_limit
according to the bit which has been set in arg limit.
Signed-off-by: Fan Chengniang <fancn.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit d3001ed3a82ec2696bb13c78092d0a3460003fd7
Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Date: Thu Nov 20 21:04:56 2014 -0500
btrfs: qgroup: update limit info in function btrfs_run_qgroups().
When we commit_transaction(), qgroups in btree should be updated.
But, limit info is not considered currently. It will cause a problem
when a qgroup of a snapshot inherit the limit info from srcqgroup,
then there is an inconsistency.
Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 1510e71c620c27ffc7540176a0689f70d6915e28
Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Date: Thu Nov 20 21:01:41 2014 -0500
btrfs: qgroup: consolidate the parameter of fucntion
update_qgroup_limit_item().
Cleanup: Change the parameter of update_qgroup_limit_item() to the family
of
update_qgroup_xxx_item().
Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit e8c8541ac379709db8d2339e1cb720469fc2cd8f
Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Date: Thu Nov 20 20:58:34 2014 -0500
btrfs: qgroup: update qgroup in memory at the same time when we update it
in btree.
When we call btrfs_qgroup_inherit() with BTRFS_QGROUP_INHERIT_SET_LIMITS,
btrfs will update the limit info of qgroup in btree but forget to update
the qgroup in rbtree at the same time. It obviousely will cause an
inconsistency.
This patch fix it by updating the rbtree at the same time.
Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 3eeb4d597efc9e068902057f1bd040cffc69e9e6
Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Date: Thu Nov 20 20:14:38 2014 -0500
btrfs: qgroup: inherit limit info from srcgroup in creating snapshot.
Currently, when we snapshot a subvol, snapshot will not copy the limits
from srcqgroup.
This patch make the qgroup in snapshot inherit the limit info when create
a snapshot.
Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 0d68bc92c48167130b61b449f08be27dc862dba2
Author: Namhyung Kim <namhyung@xxxxxxxxxx>
Date: Mon Apr 6 14:36:10 2015 +0900
perf kmem: Analyze page allocator events also
The perf kmem command records and analyze kernel memory allocation only
for SLAB objects. This patch implement a simple page allocator analyzer
using kmem:mm_page_alloc and kmem:mm_page_free events.
It adds two new options of --slab and --page. The --slab option is for
analyzing SLAB allocator and that's what perf kmem currently does.
The new --page option enables page allocator events and analyze kernel
memory usage in page unit. Currently, 'stat --alloc' subcommand is
implemented only.
If none of these --slab nor --page is specified, --slab is implied.
First run 'perf kmem record' to generate a suitable perf.data file:
# perf kmem record --page sleep 5
Then run 'perf kmem stat' to postprocess the perf.data file:
# perf kmem stat --page --alloc --line 10
-------------------------------------------------------------------------------
PFN | Total alloc (KB) | Hits | Order | Mig.type |
GFP flags
-------------------------------------------------------------------------------
4045014 | 16 | 1 | 2 | RECLAIM |
00285250
4143980 | 16 | 1 | 2 | RECLAIM |
00285250
3938658 | 16 | 1 | 2 | RECLAIM |
00285250
4045400 | 16 | 1 | 2 | RECLAIM |
00285250
3568708 | 16 | 1 | 2 | RECLAIM |
00285250
3729824 | 16 | 1 | 2 | RECLAIM |
00285250
3657210 | 16 | 1 | 2 | RECLAIM |
00285250
4120750 | 16 | 1 | 2 | RECLAIM |
00285250
3678850 | 16 | 1 | 2 | RECLAIM |
00285250
3693874 | 16 | 1 | 2 | RECLAIM |
00285250
... | ... | ... | ... | ... | ...
-------------------------------------------------------------------------------
SUMMARY (page allocator)
========================
Total allocation requests : 44,260 [ 177,256
KB ]
Total free requests : 117 [ 468
KB ]
Total alloc+freed requests : 49 [ 196
KB ]
Total alloc-only requests : 44,211 [ 177,060
KB ]
Total free-only requests : 68 [ 272
KB ]
Total allocation failures : 0 [ 0
KB ]
Order Unmovable Reclaimable Movable Reserved
CMA/Isolated
----- ------------ ------------ ------------ ------------
------------
0 32 . 44,210 .
.
1 . . . .
.
2 . 18 . .
.
3 . . . .
.
4 . . . .
.
5 . . . .
.
6 . . . .
.
7 . . . .
.
8 . . . .
.
9 . . . .
.
10 . . . .
.
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Joonsoo Kim <js1304@xxxxxxxxx>
Cc: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: linux-mm@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1428298576-9785-4-git-send-email-namhyung@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 9fdd8a875c6f3b02af48d5fa426206ca009b2b06
Author: Namhyung Kim <namhyung@xxxxxxxxxx>
Date: Mon Apr 6 14:36:09 2015 +0900
tracing, mm: Record pfn instead of pointer to struct page
The struct page is opaque for userspace tools, so it'd be better to save
pfn in order to identify page frames.
The textual output of $debugfs/tracing/trace file remains unchanged and
only raw (binary) data format is changed - but thanks to libtraceevent,
userspace tools which deal with the raw data (like perf and trace-cmd)
can parse the format easily. So impact on the userspace will also be
minimal.
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Based-on-patch-by: Joonsoo Kim <js1304@xxxxxxxxx>
Acked-by: Ingo Molnar <mingo@xxxxxxxxxx>
Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: linux-mm@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1428298576-9785-3-git-send-email-namhyung@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit c99f1b0c6c45d1621f08afb1352689e24a627844
Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
Date: Mon Mar 2 19:32:20 2015 +0800
btrfs: Support busy loop of write and delete
Reproduce:
while true; do
dd if=/dev/zero of=/mnt/btrfs/file count=[75% fs_size]
rm /mnt/btrfs/file
done
Then we can see above loop failed on NO_SPACE.
It it long-term problem since very beginning, because delayed-iput
after rm are not run.
We already have commit_transaction() in alloc_space code, but it is
not triggered in above case.
This patch trigger commit_transaction() to run delayed-iput and
reflash pinned-space to to make write success.
It is based on previous fix of delayed-iput in commit_transaction(),
need to be applied on top of:
btrfs: Fix NO_SPACE bug caused by delayed-iput
Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit d7c151717a1efe289aec29fb9f94485f64262c0b
Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
Date: Thu Feb 26 10:49:20 2015 +0800
btrfs: Fix NO_SPACE bug caused by delayed-iput
Steps to reproduce:
while true; do
dd if=/dev/zero of=/btrfs_dir/file count=[fs_size * 75%]
rm /btrfs_dir/file
sync
done
And we'll see dd failed because btrfs return NO_SPACE.
Reason:
Normally, btrfs_commit_transaction() call btrfs_run_delayed_iputs()
in end to free fs space for next write, but sometimes it hadn't
done work on time, because btrfs-cleaner thread get delayed-iputs
from list before, but do iput() after next write.
This is log:
[ 2569.050776] comm=btrfs-cleaner func=btrfs_evict_inode() begin
[ 2569.084280] comm=sync func=btrfs_commit_transaction() call
btrfs_run_delayed_iputs()
[ 2569.085418] comm=sync func=btrfs_commit_transaction() done
btrfs_run_delayed_iputs()
[ 2569.087554] comm=sync func=btrfs_commit_transaction() end
[ 2569.191081] comm=dd begin
[ 2569.790112] comm=dd func=__btrfs_buffered_write() ret=-28
[ 2569.847479] comm=btrfs-cleaner func=add_pinned_bytes() 0 + 32677888
= 32677888
[ 2569.849530] comm=btrfs-cleaner func=add_pinned_bytes() 32677888 +
23834624 = 56512512
...
[ 2569.903893] comm=btrfs-cleaner func=add_pinned_bytes() 943976448 +
21762048 = 965738496
[ 2569.908270] comm=btrfs-cleaner func=btrfs_evict_inode() end
Fix:
Make btrfs_commit_transaction() wait current running btrfs-cleaner's
delayed-iputs() done in end.
Test:
Use script similar to above(more complex),
before patch:
7 failed in 100 * 20 loop.
after patch:
0 failed in 100 * 20 loop.
Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 18d018ad2c899d3d9c503c25125d56046ed7d3ca
Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
Date: Tue Feb 24 20:07:44 2015 +0800
btrfs: add WARN_ON() to check is space_info op current
space_info's value calculation is some complex and easy to cause
bug, add WARN_ON() to help debug.
Changelog v1->v2:
Put WARN_ON()s under the ENOSPC_DEBUG mount option.
Suggested by: David Sterba <dsterba@xxxxxxx>
Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit c30666d466c70a30491e45dd8d068360f9dd7693
Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
Date: Wed Feb 25 14:17:20 2015 +0800
btrfs: Set relative data on clear btrfs_block_group_cache->pinned
Bug1:
space_info->bytes_readonly was set to very large(negative) value in
btrfs_remove_block_group().
Reason:
Current code set block_group_cache->pinned = 0 in
btrfs_delete_unused_bgs(),
but above space was not counted to space_info->bytes_readonly.
Then in btrfs_remove_block_group():
block_group->space_info->bytes_readonly -= block_group->key.offset;
We can see following value in trace:
btrfs_remove_block_group: pid=2677 comm=btrfs-cleaner WARNING:
bytes_readonly=12582912, key.offset=134217728
Bug2:
space_info->total_bytes_pinned grow to value larger than fs size.
In a 1.2G fs, we can get following trace log:
at first:
ZL_DEBUG: add_pinned_bytes: pid=2710 comm=sync change
total_bytes_pinned flags=1 869793792 + 95944704 = 965738496
after some op:
ZL_DEBUG: add_pinned_bytes: pid=2770 comm=sync change
total_bytes_pinned flags=1 1780178944 + 95944704 = 1876123648
after some op:
ZL_DEBUG: add_pinned_bytes: pid=3193 comm=sync change
total_bytes_pinned flags=1 2924568576 + 95551488 = 3020120064
...
Reason:
Similar to bug1, we also need to adjust space_info->total_bytes_pinned
in above code block.
Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 264ca0f60becac34395f3b42171ad0cc2e53ea6e
Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
Date: Tue Feb 17 17:25:51 2015 +0800
btrfs: Adjust commit-transaction condition to avoid NO_SPACE more
If we have any chance to make a successful write, we should not give up.
This patch adjust commit-transaction condition from:
pinned >= wanted
to
left + pinned >= wanted
Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit f2ab76188ec185dde84e7fe7c533ef2f5d668a32
Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
Date: Mon Feb 16 18:52:17 2015 +0800
btrfs: Fix tail space processing in find_free_dev_extent()
It is another reason for NO_SPACE case.
When we found enough free space in loop and saved them to
max_hole_start/size before, and tail space contains pending extent,
origional innocent max_hole_start/size are reset in retry.
As a result, find_free_dev_extent() returns less space than it can,
and cause NO_SPACE in user program.
Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx>
Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 94b947b2f3f84f3bba25d34c4e2a229fc2276830
Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
Date: Sat Feb 14 13:23:45 2015 +0800
btrfs: fix condition of commit transaction
Old code bypass commit transaction when we don't have enough
pinned space, but another case is there exist freed bgs in current
transction, it have possibility to make alloc_chunk success.
This patch modify the condition to:
if (have_free_bg || have_pinned_space) commit_transaction()
Confirmed above action by printk before and after patch.
Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit d07db9884a5fba8c8020166c86183c79a18d066a
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 02:27:30 2015 +0100
netfilter: nf_tables: introduce nft_validate_register_load()
Change nft_validate_input_register() to not only validate the input
register number, but also the length of the load, and rename it to
nft_validate_register_load() to reflect that change.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 27e6d2017abdfbdb8b790c34c93d65ee10ce2fc5
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 02:27:29 2015 +0100
netfilter: nf_tables: kill nft_validate_output_register()
All users of nft_validate_register_store() first invoke
nft_validate_output_register(). There is in fact no use for using it
on its own, so simplify the code by folding the functionality into
nft_validate_register_store() and kill it.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 58f40ab6e2427532881a79e139a4aaae7fbe1826
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 02:27:28 2015 +0100
netfilter: nft_lookup: use nft_validate_register_store() to validate types
In preparation of validating the length of a register store, use
nft_validate_register_store() in nft_lookup instead of open coding the
validation.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 1ec10212f9bc62645932b0ca39bab0eb57d5331a
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 02:27:27 2015 +0100
netfilter: nf_tables: rename nft_validate_data_load()
The existing name is ambiguous, data is loaded as well when we read from
a register. Rename to nft_validate_register_store() for clarity and
consistency with the upcoming patch to introduce its counterpart,
nft_validate_register_load().
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 45d9bcda21f4c13be75e3571b0f0ef39e77934b5
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Apr 11 02:27:26 2015 +0100
netfilter: nf_tables: validate len in nft_validate_data_load()
For values spanning multiple registers, we need to validate that enough
space is available from the destination register onwards. Add a len
argument to nft_validate_data_load() and consolidate the existing length
validations in preparation of that.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit de249e66a73d696666281cd812087979c6fae552
Author: Chris Mason <clm@xxxxxx>
Date: Sat Apr 11 05:09:06 2015 -0700
Btrfs: fix uninit variable in clone ioctl
Commit 0d97a64e0 creates a new variable but doesn't always set it up.
This puts it back to the original method (key.offset + 1) for the cases
not covered by Filipe's new logic.
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 3e20a26b02bd4f24945c87407df51948dd488620
Merge: 98b0429 5306a54
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Mon Apr 13 16:03:32 2015 +0200
Merge branch '4.0-fixes' into mips-for-linux-next
commit ccccf3d67294714af2d72a6fd6fd7d73b01c9329
Author: Filipe Manana <fdmanana@xxxxxxxx>
Date: Mon Mar 30 18:23:59 2015 +0100
Btrfs: fix inode eviction infinite loop after cloning into it
If we attempt to clone a 0 length region into a file we can end up
inserting a range in the inode's extent_io tree with a start offset
that is greater then the end offset, which triggers immediately the
following warning:
[ 3914.619057] WARNING: CPU: 17 PID: 4199 at fs/btrfs/extent_io.c:435
insert_state+0x4b/0x10b [btrfs]()
[ 3914.620886] BTRFS: end < start 4095 4096
(...)
[ 3914.638093] Call Trace:
[ 3914.638636] [<ffffffff81425fd9>] dump_stack+0x4c/0x65
[ 3914.639620] [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb
[ 3914.640789] [<ffffffffa03ca44f>] ? insert_state+0x4b/0x10b [btrfs]
[ 3914.642041] [<ffffffff810453f0>] warn_slowpath_fmt+0x46/0x48
[ 3914.643236] [<ffffffffa03ca44f>] insert_state+0x4b/0x10b [btrfs]
[ 3914.644441] [<ffffffffa03ca729>] __set_extent_bit+0x107/0x3f4 [btrfs]
[ 3914.645711] [<ffffffffa03cb256>] lock_extent_bits+0x65/0x1bf [btrfs]
[ 3914.646914] [<ffffffff8142b2fb>] ? _raw_spin_unlock+0x28/0x33
[ 3914.648058] [<ffffffffa03cbac4>] ? test_range_bit+0xcc/0xde [btrfs]
[ 3914.650105] [<ffffffffa03cb3c3>] lock_extent+0x13/0x15 [btrfs]
[ 3914.651361] [<ffffffffa03db39e>] lock_extent_range+0x3d/0xcd [btrfs]
[ 3914.652761] [<ffffffffa03de1fe>] btrfs_ioctl_clone+0x278/0x388 [btrfs]
[ 3914.654128] [<ffffffff811226dd>] ? might_fault+0x58/0xb5
[ 3914.655320] [<ffffffffa03e0909>] btrfs_ioctl+0xb51/0x2195 [btrfs]
(...)
[ 3914.669271] ---[ end trace 14843d3e2e622fc1 ]---
This later makes the inode eviction handler enter an infinite loop that
keeps dumping the following warning over and over:
[ 3915.117629] WARNING: CPU: 22 PID: 4228 at fs/btrfs/extent_io.c:435
insert_state+0x4b/0x10b [btrfs]()
[ 3915.119913] BTRFS: end < start 4095 4096
(...)
[ 3915.137394] Call Trace:
[ 3915.137913] [<ffffffff81425fd9>] dump_stack+0x4c/0x65
[ 3915.139154] [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb
[ 3915.140316] [<ffffffffa03ca44f>] ? insert_state+0x4b/0x10b [btrfs]
[ 3915.141505] [<ffffffff810453f0>] warn_slowpath_fmt+0x46/0x48
[ 3915.142709] [<ffffffffa03ca44f>] insert_state+0x4b/0x10b [btrfs]
[ 3915.143849] [<ffffffffa03ca729>] __set_extent_bit+0x107/0x3f4 [btrfs]
[ 3915.145120] [<ffffffffa038c1e3>] ? btrfs_kill_super+0x17/0x23 [btrfs]
[ 3915.146352] [<ffffffff811548f6>] ? deactivate_locked_super+0x3b/0x50
[ 3915.147565] [<ffffffffa03cb256>] lock_extent_bits+0x65/0x1bf [btrfs]
[ 3915.148785] [<ffffffff8142b7e2>] ? _raw_write_unlock+0x28/0x33
[ 3915.149931] [<ffffffffa03bc325>] btrfs_evict_inode+0x196/0x482 [btrfs]
[ 3915.151154] [<ffffffff81168904>] evict+0xa0/0x148
[ 3915.152094] [<ffffffff811689e5>] dispose_list+0x39/0x43
[ 3915.153081] [<ffffffff81169564>] evict_inodes+0xdc/0xeb
[ 3915.154062] [<ffffffff81154418>] generic_shutdown_super+0x49/0xef
[ 3915.155193] [<ffffffff811546d1>] kill_anon_super+0x13/0x1e
[ 3915.156274] [<ffffffffa038c1e3>] btrfs_kill_super+0x17/0x23 [btrfs]
(...)
[ 3915.167404] ---[ end trace 14843d3e2e622fc2 ]---
So just bail out of the clone ioctl if the length of the region to clone
is zero, without locking any extent range, in order to prevent this issue
(same behaviour as a pwrite with a 0 length for example).
This is trivial to reproduce. For example, the steps for the test I just
made for fstests:
mkfs.btrfs -f SCRATCH_DEV
mount SCRATCH_DEV $SCRATCH_MNT
touch $SCRATCH_MNT/foo
touch $SCRATCH_MNT/bar
$CLONER_PROG -s 0 -d 4096 -l 0 $SCRATCH_MNT/foo $SCRATCH_MNT/bar
umount $SCRATCH_MNT
A test case for fstests follows soon.
CC: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Reviewed-by: Omar Sandoval <osandov@xxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 113e8283869b9855c8b999796aadd506bbac155f
Author: Filipe Manana <fdmanana@xxxxxxxx>
Date: Mon Mar 30 18:26:47 2015 +0100
Btrfs: fix inode eviction infinite loop after extent_same ioctl
If we pass a length of 0 to the extent_same ioctl, we end up locking an
extent range with a start offset greater then its end offset (if the
destination file's offset is greater than zero). This results in a warning
from extent_io.c:insert_state through the following call chain:
btrfs_extent_same()
btrfs_double_lock()
lock_extent_range()
lock_extent(inode->io_tree, offset, offset + len - 1)
lock_extent_bits()
__set_extent_bit()
insert_state()
--> WARN_ON(end < start)
This leads to an infinite loop when evicting the inode. This is the same
problem that my previous patch titled
"Btrfs: fix inode eviction infinite loop after cloning into it" addressed
but for the extent_same ioctl instead of the clone ioctl.
CC: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Reviewed-by: Omar Sandoval <osandov@xxxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit df858e76723ace61342b118aa4302bd09de4e386
Author: Filipe Manana <fdmanana@xxxxxxxx>
Date: Tue Mar 31 14:56:46 2015 +0100
Btrfs: fix range cloning when same inode used as source and destination
While searching for extents to clone we might find one where we only use
a part of it coming from its tail. If our destination inode is the same
the source inode, we end up removing the tail part of the extent item and
insert after a new one that point to the same extent with an adjusted
key file offset and data offset. After this we search for the next extent
item in the fs/subvol tree with a key that has an offset incremented by
one. But this second search leaves us at the new extent item we inserted
previously, and since that extent item has a non-zero data offset, it
it can make us call btrfs_drop_extents with an empty range (start == end)
which causes the following warning:
[23978.537119] WARNING: CPU: 6 PID: 16251 at fs/btrfs/file.c:550
btrfs_drop_extent_cache+0x43/0x385 [btrfs]()
(...)
[23978.557266] Call Trace:
[23978.557978] [<ffffffff81425fd9>] dump_stack+0x4c/0x65
[23978.559191] [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb
[23978.560699] [<ffffffffa047f0ea>] ? btrfs_drop_extent_cache+0x43/0x385
[btrfs]
[23978.562389] [<ffffffff8104544d>] warn_slowpath_null+0x1a/0x1c
[23978.563613] [<ffffffffa047f0ea>] btrfs_drop_extent_cache+0x43/0x385
[btrfs]
[23978.565103] [<ffffffff810e3a18>] ? time_hardirqs_off+0x15/0x28
[23978.566294] [<ffffffff81079ff8>] ? trace_hardirqs_off+0xd/0xf
[23978.567438] [<ffffffffa047f73d>] __btrfs_drop_extents+0x6b/0x9e1
[btrfs]
[23978.568702] [<ffffffff8107c03f>] ? trace_hardirqs_on+0xd/0xf
[23978.569763] [<ffffffff811441c0>] ? ____cache_alloc+0x69/0x2eb
[23978.570817] [<ffffffff81142269>] ? virt_to_head_page+0x9/0x36
[23978.571872] [<ffffffff81143c15>] ?
cache_alloc_debugcheck_after.isra.42+0x16c/0x1cb
[23978.573466] [<ffffffff811420d5>] ?
kmemleak_alloc_recursive.constprop.52+0x16/0x18
[23978.574962] [<ffffffffa0480d07>] btrfs_drop_extents+0x66/0x7f [btrfs]
[23978.576179] [<ffffffffa049aa35>] btrfs_clone+0x516/0xaf5 [btrfs]
[23978.577311] [<ffffffffa04983dc>] ? lock_extent_range+0x7b/0xcd [btrfs]
[23978.578520] [<ffffffffa049b2a2>] btrfs_ioctl_clone+0x28e/0x39f [btrfs]
[23978.580282] [<ffffffffa049d9ae>] btrfs_ioctl+0xb51/0x219a [btrfs]
(...)
[23978.591887] ---[ end trace 988ec2a653d03ed3 ]---
Then we attempt to insert a new extent item with a key that already
exists, which makes btrfs_insert_empty_item return -EEXIST resulting in
abortion of the current transaction:
[23978.594355] WARNING: CPU: 6 PID: 16251 at fs/btrfs/super.c:260
__btrfs_abort_transaction+0x52/0x114 [btrfs]()
(...)
[23978.622589] Call Trace:
[23978.623181] [<ffffffff81425fd9>] dump_stack+0x4c/0x65
[23978.624359] [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb
[23978.625573] [<ffffffffa044ab6c>] ?
__btrfs_abort_transaction+0x52/0x114 [btrfs]
[23978.626971] [<ffffffff810453f0>] warn_slowpath_fmt+0x46/0x48
[23978.628003] [<ffffffff8108a6c8>] ? vprintk_default+0x1d/0x1f
[23978.629138] [<ffffffffa044ab6c>] __btrfs_abort_transaction+0x52/0x114
[btrfs]
[23978.630528] [<ffffffffa049ad1b>] btrfs_clone+0x7fc/0xaf5 [btrfs]
[23978.631635] [<ffffffffa04983dc>] ? lock_extent_range+0x7b/0xcd [btrfs]
[23978.632886] [<ffffffffa049b2a2>] btrfs_ioctl_clone+0x28e/0x39f [btrfs]
[23978.634119] [<ffffffffa049d9ae>] btrfs_ioctl+0xb51/0x219a [btrfs]
(...)
[23978.647714] ---[ end trace 988ec2a653d03ed4 ]---
This is wrong because we should not process the extent item that we just
inserted previously, and instead process the extent item that follows it
in the tree
For example for the test case I wrote for fstests:
bs=$((64 * 1024))
mkfs.btrfs -f -l $bs -O ^no-holes /dev/sdc
mount /dev/sdc /mnt
xfs_io -f -c "pwrite -S 0xaa $(($bs * 2)) $(($bs * 2))" /mnt/foo
$CLONER_PROG -s $((3 * $bs)) -d $((267 * $bs)) -l 0 /mnt/foo /mnt/foo
$CLONER_PROG -s $((217 * $bs)) -d $((95 * $bs)) -l 0 /mnt/foo /mnt/foo
The second clone call fails with -EEXIST, because when we process the
first extent item (offset 262144), we drop part of it (counting from the
end) and then insert a new extent item with a key greater then the key we
found. The next time we search the tree we search for a key with offset
262144 + 1, which leaves us at the new extent item we have just inserted
but we think it refers to an extent that we need to clone.
Fix this by ensuring the next search key uses an offset corresponding to
the offset of the key we found previously plus the data length of the
corresponding extent item. This ensures we skip new extent items that we
inserted and works for the case of implicit holes too (NO_HOLES feature).
A test case for fstests follows soon.
Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 98b0429b7abd5c05efdb23f3eba02ec3f696748e
Merge: 3cf2954 1f3a2c6
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Mon Apr 13 16:01:37 2015 +0200
Merge branch '4.1-fp' into mips-for-linux-next
commit ea5505fabd3b59608750bfd3721d0f8bc5c8b0bb
Author: Tomas Winkler <tomas.winkler@xxxxxxxxx>
Date: Mon Apr 13 13:56:20 2015 +0300
mei: trace: remove unused TRACE_SYSTEM_STRING
fix warning:
include/trace/ftrace.h:28:0: note: this is the location of the previous
definition
^
In file included from include/trace/define_trace.h:90:0,
from drivers/misc/mei/mei-trace.h:76,
from drivers/misc/mei/mei-trace.c:21:
include/trace/ftrace.h:28:0: warning: "TRACE_SYSTEM_STRING" redefined
Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 9a436ee6c3f311f2ae604d775d7de06a49f8c9a0
Author: Jani Nikula <jani.nikula@xxxxxxxxx>
Date: Mon Apr 13 11:21:42 2015 +0300
drm: make crtc/encoder/connector/plane helper_private a const pointer
They're only used to store const pointers anyway. This helps to keep
Ville and the compiler happy.
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Reviewed-by: Christian König <christian.koenig@xxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 0d4d936f49d3baa5e078ea6dafebcbdd3ec4449d
Author: Jani Nikula <jani.nikula@xxxxxxxxx>
Date: Mon Apr 13 11:21:41 2015 +0300
drm/armada: constify struct drm_encoder_helper_funcs pointer
Not to be modified.
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 16bb079e45f2c3a795b6b0546535cd6466275ec5
Author: Jani Nikula <jani.nikula@xxxxxxxxx>
Date: Mon Apr 13 11:21:40 2015 +0300
drm/radeon: constify more struct drm_*_helper funcs pointers
Some non-const pointers were added since the last constification, fix
them.
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Reviewed-by: Christian König <christian.koenig@xxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 1b54bdb8ccbc46e5a406a690d48a1639d5001f4b
Author: Jani Nikula <jani.nikula@xxxxxxxxx>
Date: Mon Apr 13 10:57:14 2015 +0300
drm/edid: add #defines for ELD versions
Add ELD versions according to HDA Specification v1.0a.
2 indicates version 2, which supports CEA_Ver 861D or below. Maximum
Baseline ELD size of 80 bytes (15 SAD count).
31 indicates an ELD that has been partially populated through
implementation specific mean of default programming before an external
graphics driver is loaded. Only the field that is called out as "canned"
field will be populated, and audio driver should ignore the non "canned"
field.
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 08d9bc920d465bbbbd762cac9383249c19bf69a2
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Apr 10 10:59:10 2015 +0300
drm/i915: Allocate connector state together with the connectors
Connector states were being allocated in intel_setup_outputs() in loop
over all connectors. That meant hot-added connectors would have a NULL
state. Since the change to use a struct drm_atomic_state for the legacy
modeset, connector states are necessary for the i915 driver to function
properly, so that would lead to oopses.
Broken by
commit 944b0c76575753da5a332aab0a1d8c6df65a076b
Author: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:07 2015 +0200
drm/i915: Copy the staged connector config to the legacy atomic state
v2: Fix test for intel_connector_init() success in lvds and sdvo (PRTS)
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Reported-and-tested-by: Nicolas Kalkhof <nkalkhof@xxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit ce4524e5a78123fbf2db5b1549798c91a6d98294
Merge: f2aa111 7667428
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Mon Apr 13 14:14:29 2015 +0200
Merge tag 'asoc-v4.1-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Updates for v4.1
More updates for v4.1, pretty much all drivers:
- Lots of cleanups from Lars, mainly moving things from the CODEC level
to the card level.
- Continuing improvements to rcar from Morimoto-san, pcm512x from
Howard and Peter, the Intel platforms from Vinod, Jie, Jin and Han,
and to rt5670 from Bard.
- Support for some non-DSP Qualcomm platforms, Google's Storm
platform, Maxmim MAX98925 CODECs and the Ingenic JZ4780 SoC.
commit 9e1a27ea42691429e31f158cce6fc61bc79bb2e9
Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Date: Mon Apr 13 21:03:49 2015 +0930
virtio_ring: Update weak barriers to use dma_wmb/rmb
This change makes it so that instead of using smp_wmb/rmb which varies
depending on the kernel configuration we can can use dma_wmb/rmb which for
most architectures should be equal to or slightly more strict than
smp_wmb/rmb.
The advantage to this is that these barriers are available to uniprocessor
builds as well so the performance should improve under such a
configuration.
Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit e5d8f59a5cfa76ab5ebe47622d0c569eddd42fbe
Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Date: Mon Apr 13 20:55:15 2015 +0930
modpost: document the use of struct section_check.
struct section_check is used as a generic way of describing what
relocations are authorized/forbidden when running modpost. This commit
tries to describe how each field is used.
Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> (Fixed "mist"ake)
commit 52dc0595d540155436d91811f929bdc8afd6a2a1
Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Date: Mon Apr 13 20:52:53 2015 +0930
modpost: handle relocations mismatch in __ex_table.
__ex_table is a simple table section where each entry is a pair of
addresses - the first address is an address which can fault in kernel
space, and the second address points to where the kernel should jump to
when handling that fault. This is how copy_from_user() does not crash the
kernel if userspace gives a borked pointer for example.
If one of these addresses point to a non-executable section, something is
seriously wrong since it either means the kernel will never fault from
there or it will not be able to jump to there. As both cases are serious
enough, we simply error out in these cases so the build fails and the
developper has to fix the issue.
In case the section is executable, but it isn't referenced in our list of
authorized sections to point to from __ex_table, we just dump a warning
giving more information about it. We do this in case the new section is
executable but isn't supposed to be executed by the kernel. This happened
with .altinstr_replacement, which is executable but is only used to copy
instructions from - we should never have our instruction pointer pointing
in .altinstr_replacement. Admitedly, a proper fix in that case would be
to
just set .altinstr_replacement NX, but we need to warn about future cases
like this.
Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> (added long casts)
commit c31e4b832f124dccdb5d80ba3c1cd4f9081f7fb2
Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Date: Mon Apr 13 20:44:04 2015 +0930
scripts: add check_extable.sh script.
This shell script can be used to sanity check the __ex_table section on an
object file, making sure the relocations in there are pointing to valid
executable sections. If it finds some suspicious relocations, it'll use
addr2line to try and dump where this is coming from.
This works best with CONFIG_DEBUG_INFO.
Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit c7a65e0645b2d1f8382ce27f4edaf1b4f2e09549
Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Date: Mon Apr 13 20:43:45 2015 +0930
modpost: mismatch_handler: retrieve tosym information only when needed.
Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit 356ad538128ed9221f7d01199a3a7d080f158a5d
Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Date: Mon Apr 13 20:43:34 2015 +0930
modpost: factorize symbol pretty print in get_pretty_name().
Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit 644e8f14cb3bca5c66f6ddd944d9d26074eec46e
Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Date: Mon Apr 13 20:43:17 2015 +0930
modpost: add handler function pointer to sectioncheck.
This will be useful when we want to have special handlers which need to go
through more hops to print useful information to the user.
Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit 157d1972d079207332d31a761cdfb81598455e0a
Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Date: Mon Apr 13 20:42:52 2015 +0930
modpost: add .sched.text and .kprobes.text to the TEXT_SECTIONS list.
sched.text and .kprobes.text should behave exactly like .text with regards
to how we should warn about referencing sections which might get discarded
at runtime.
Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit 050e57fd5936eb175cbb7a788252aa6867201120
Author: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Date: Mon Apr 13 20:41:04 2015 +0930
modpost: add strict white-listing when referencing sections.
Prints a warning when a section references a section outside a strict
white-list. This will be useful to print a warning if __ex_table
references a non-executable section.
Signed-off-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit f2aa111041ce36b94e651d882458dea502e76721
Author: Jo-Philipp Wich <jow@xxxxxxxxxxx>
Date: Mon Apr 13 12:47:26 2015 +0200
ALSA: hda/realtek - Enable the ALC292 dock fixup on the Thinkpad T450
The Lenovo Thinkpad T450 requires the ALC292_FIXUP_TPT440_DOCK as well in
order to get working sound output on the docking stations headphone jack.
Patch tested on a Thinkpad T450 (20BVCTO1WW) using kernel 4.0-rc7 in
conjunction with a ThinkPad Ultradock.
Signed-off-by: Jo-Philipp Wich <jow@xxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 1a7e985dd1bf5939af0f56bbd6d13d2caf48dd63
Author: Sheng Yong <shengyong1@xxxxxxxxxx>
Date: Fri Apr 3 03:13:42 2015 +0000
UBIFS: fix output format of INUM_WATERMARK
The INUM_WATERMARK is a unsigned 32bit value, `%d' prints it as negatave:
[ 103.682255] UBIFS warning (ubi0:0 pid 691): ubifs_new_inode: running
out of inode numbers (current 122763, max -256)
Fix it as:
[ 154.422940] UBIFS warning (ubi0:0 pid 688): ubifs_new_inode: running
out of inode numbers (current 122765, max 4294967040)
Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx>
commit f2e2013f757204d4e0a009597722c75bb2332796
Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Date: Fri Feb 13 13:59:53 2015 +0530
ARC: mem init spring cleaning - No functional changes
Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
commit a44ec8bd2a55c7644d458d8e79d83bd9204e1796
Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Date: Sun Mar 8 14:18:21 2015 +0530
ARC: Fix RTT boot printing
Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
commit de60c1a1849c57e864f02f0d921993982b1648f8
Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Date: Fri Nov 7 19:19:37 2014 +0530
ARC: fold __builtin_constant_p() into test_bit()
This makes test_bit() more like its siblings *_bit() routines.
Also add some comments about the constant @nr micro-optimization
Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
commit 0dfb8ec70fd67be02096eaf9898feb94950d6f06
Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Date: Mon Oct 13 15:29:50 2014 +0530
ARC: rename unhandled exception handler
Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
commit dc9e234f91c77a98a8911bf02619275f51b14bfc
Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Date: Mon Sep 22 17:54:45 2014 +0530
ARC: cosmetic: Remove unused ECR bitfield masks
Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
commit 1425d5e72c8c41300d66a24b81ad911cb1239e97
Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Date: Thu Mar 27 11:59:02 2014 +0530
ARC: Fix WRITE_BCR
* There was obvious bit rot due to lack of use
* Old naming was confusing since BCR are read only
Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
commit 5971d81517752749a8155bb3f9b1ff1309bf3ea5
Author: Mischa Jonker <mjonker@xxxxxxxxxxxx>
Date: Thu May 16 23:16:29 2013 +0200
ARC: [nsimosci] Update defconfig
Signed-off-by: Mischa Jonker <mjonker@xxxxxxxxxxxx>
commit c3aeda62878f09da91329693a60a1f08ec97e0b8
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Mon Apr 13 11:01:14 2015 +0200
ALSA: hda - Fix another race in runtime PM refcounting
Although some races in runtime PM refcount was fixed by the commit
[664c715573c2: ALSA: hda - Work around races of power up/down with
runtime PM], there is still a race in the following case:
CPU0: CPU1 :
runtime suspend:
codec->in_pm = 1
snd_hdac_power_up_pm():
pm_runtime_get_sync() skipped
suspend finished:
codec->in_pm = 0
snd_hdac_power_down_pm():
pm_runtime_put_*() is called!
For avoiding this situation, increment in_pm flag atomically when it's
non-zero, and decrement accordingly, to ensure that in_pm is set
consistently for the whole concurrent operations.
Also, since atomic_inc_not_zero() and atomic_dec_if_positive() are
lengthy inline functions, move snd_hdac_power_up_pm() and _down_pm()
to sound/hda/hdac_device.c as no inline functions.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit a1307bba1adcc9b338511180fa94a54b4c3f534b
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Mon Mar 30 12:51:42 2015 +0200
s390/smp: wait until secondaries are active & online
This is the s390 version of 875ebe940d77 ("powerpc/smp: Wait until
secondaries
are active & online").
The race described in length within the commit message is also possible
on s390
and every other architecture. So fix this race on s390 as well.
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit d74419495633493c9cd3f2bbeb7f3529d0edded6
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Wed Mar 25 10:13:33 2015 +0100
s390/hibernate: fix save and restore of kernel text section
Sebastian reported a crash caused by a jump label mismatch after resume.
This happens because we do not save the kernel text section during suspend
and therefore also do not restore it during resume, but use the kernel
image
that restores the old system.
This means that after a suspend/resume cycle we lost all modifications
done
to the kernel text section.
The reason for this is the pfn_is_nosave() function, which incorrectly
returns that read-only pages don't need to be saved. This is incorrect
since
we mark the kernel text section read-only.
We still need to make sure to not save and restore pages contained within
NSS and DCSS segment.
To fix this add an extra case for the kernel text section and only save
those pages if they are not contained within an NSS segment.
Fixes the following crash (and the above bugs as well):
Jump label code mismatch at netif_receive_skb_internal+0x28/0xd0
Found: c0 04 00 00 00 00
Expected: c0 f4 00 00 00 11
New: c0 04 00 00 00 00
Kernel panic - not syncing: Corrupted kernel text
CPU: 0 PID: 9 Comm: migration/0 Not tainted 3.19.0-01975-gb1b096e70f23 #4
Call Trace:
[<0000000000113972>] show_stack+0x72/0xf0
[<000000000081f15e>] dump_stack+0x6e/0x90
[<000000000081c4e8>] panic+0x108/0x2b0
[<000000000081be64>] jump_label_bug.isra.2+0x104/0x108
[<0000000000112176>] __jump_label_transform+0x9e/0xd0
[<00000000001121e6>] __sm_arch_jump_label_transform+0x3e/0x50
[<00000000001d1136>] multi_cpu_stop+0x12e/0x170
[<00000000001d1472>] cpu_stopper_thread+0xb2/0x168
[<000000000015d2ac>] smpboot_thread_fn+0x134/0x1b0
[<0000000000158baa>] kthread+0x10a/0x110
[<0000000000824a86>] kernel_thread_starter+0x6/0xc
Reported-and-tested-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 77bb36e57bbe5586bea29b67ba7f87cfe03610a0
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Wed Mar 18 13:22:00 2015 +0100
s390/cacheinfo: add missing facility check
Git commit d97d929f06d0 ("s390: move cacheinfo sysfs to generic cacheinfo
infrastructure") removed the general-instructions-extension availability
check before the ecag instruction is executed.
Without this check this may lead to crashes on machines without this
facility.
Therefore add the check again where needed.
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit eacf6e0a238923dfce0626450adcb6d486072f28
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Mon Apr 13 10:43:54 2015 +0200
ALSA: hda - Expose codec type sysfs
The type field of HD-audio codec object should be exposed to
user-space so that it can identify which driver type to bind (legacy /
asoc).
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 7a4261d5d35362d1c9ec4f80ba01ad417ca467b7
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Wed Apr 8 10:50:16 2015 +0200
soc/mediatek: Remove unused variables
The PMIC wrapper driver adds a couple of variables that are never used.
Remove them to avoid build warnings.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx>
commit e1c78df1da112f2644058af2425dd5ca3eb1a96a
Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
Date: Sun Apr 12 10:12:25 2015 +0900
ALSA: ctl: fix to handle several elements added by one operation for
userspace element
An element instance can have several elements with the same feature.
Some userspace applications can add such an element instance by add
operation with the number of elements. Then, the element instance
gets a memory object to keep states of these elements.
But the element instance has just one memory object for the elements.
This causes the same result to each read/write operations to the
different elements.
This commit fixes this bug by allocating enough memory objects to the
element instance for each of elements.
Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 9a4f35865ffcb2f4603375eadabe0d475fab1a0f
Merge: eef0342 c30cf8c
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Mon Apr 13 10:23:18 2015 +0200
Merge branch 'for-next' into for-linus
commit 590ee7dbd569a012df705a5204fc5f1066f52b8c
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Mon Apr 13 10:04:59 2015 +0200
cpu: Provide smpboot_thread_init() on !CONFIG_SMP kernels as well
Now that we are using smpboot_thread_init() in init/main.c as well,
provide it for !CONFIG_SMP as well.
This addresses a !CONFIG_SMP build failure.
Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 1d2add28edd268a8290801ccf46b37f6d5239cdb
Merge: bb1dc08 5e501ed
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Mon Apr 13 17:28:57 2015 +1000
Merge tag 'imx-drm-next-2015-03-31' of
git://git.pengutronix.de/git/pza/linux into drm-next
imx-drm changes to use media bus formats and LDB drm_panel support
- Add media bus formats needed by imx-drm
- Switch to use media bus formats to describe the pixel format
on the internal parallel bus between display interface and
encoders
- Some preparations for TV Output via TVEv2 on i.MX5
- Add drm_panel support to the i.MX LVDS driver, allow to
determine the bus pixel format from the panel descriptor.
* tag 'imx-drm-next-2015-03-31' of git://git.pengutronix.de/git/pza/linux:
drm/imx: imx-ldb: allow to determine bus format from the connected panel
drm/imx: imx-ldb: reset display clock input when disabling LVDS
drm/imx: imx-ldb: add drm_panel support
drm/imx: consolidate bus format variable names
drm/imx: switch to use media bus formats
Add RGB666_1X24_CPADHI media bus format
Add YUV8_1X24 media bus format
Add BGR888_1X24 and GBR888_1X24 media bus formats
Add LVDS RGB media bus formats
Add RGB444_1X12 and RGB565_1X16 media bus formats
drm/imx: ipuv3-crtc: Allow to divide DI clock from TVEv2
drm/imx: Add support for interlaced scanout
commit bb1dc08c94ead1b98e750caf535422f79363c1a2
Merge: a7d6883 ecaa490
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Mon Apr 13 17:28:16 2015 +1000
Merge tag 'of-graph-drm-2015-04-08' of
git://git.pengutronix.de/git/pza/linux into drm-next
drm: Use of-graph helpers to loop over endpoints
Convert all drm callers that use of_graph_get_next_endpoint to loop over
of-graph endpoints to the newly introduced for_each_endpoint_of_node
helper macro.
* tag 'of-graph-drm-2015-04-08' of git://git.pengutronix.de/git/pza/linux:
drm/rockchip: use for_each_endpoint_of_node macro, drop endpoint
reference on break
drm/rcar-du: use for_each_endpoint_of_node macro
drm/imx: use for_each_endpoint_of_node macro in
imx_drm_encoder_get_mux_id
drm: use for_each_endpoint_of_node macro in drm_of_find_possible_crtcs
of: Explicitly include linux/types.h in of_graph.h
dt-bindings: brcm: rationalize Broadcom documentation naming
of/unittest: replace 'selftest' with 'unittest'
Documentation: rename of_selftest.txt to of_unittest.txt
Documentation: update the of_selftest.txt
dt: OF_UNITTEST make dependency broken
MAINTAINERS: Pantelis Antoniou device tree overlay maintainer
of: Add of_graph_get_port_by_id function
of: Add for_each_endpoint_of_node helper macro
of: Decrement refcount of previous endpoint in
of_graph_get_next_endpoint
commit a7d6883619584c2dbeeb5f6a1cf86cde6a3993de
Merge: 1d8ac08 68a2913
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Mon Apr 13 17:26:58 2015 +1000
Merge branch 'exynos-drm-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next
This pull request contains just cleanup for atomic pageflip/modeset
support, and some fixeups.
We wanted to merge atomic pageflip/modeset feature support, new drivers
- MIC and DECON for exynos5433 SoC - and relevant patches this time.
However, I'd found that these features are not only safe enough
but also aren't tested yet. So for them, I'd like to have enough times
for the reviews.
* 'exynos-drm-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
drm/exynos: Fix FIMD buffer size calculation
drm/exynos: Enable DP clock to fix display on Exynos5250 and other
drm/exynos: fimd: check whether exynos_drm_crtc_create succeed or not
drm/exynos: dsi: remove the empty mode_valid callback
drm/exynos: add ratio calculation
drm/exynos: use src_x and src_y instead of fb_x and fb_y
drm/exynos: mixer: add 2x scaling to mixer_graph_buffer
drm/exynos: remove superfluous error messages
drm/exynos: fix typos in hdmi and mixer
drm/exynos/ipp: Validate buffer enqueue requests
drm/exynos: track vblank events on a per crtc basis
drm/exynos: remove leftover functions declarations
drm/exynos: remove exynos_plane_destroy()
drm/exynos: make zpos property immutable
drm/exynos: preset zpos value for overlay planes
drm/exynos: remove struct *_win_data abstraction on planes
drm/exynos: remove unused exynos_crtc->win_enable() callback
drm/exynos: fimd: fix alpha setting for XR24 pixel format
commit e0bf6c5ca2d3281f231c5f0c9bf145e9513644de
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Sun Sep 8 06:58:38 2013 +0400
xtensa: xtfpga: add CY7C67300 USB controller support
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 00df35f991914db6b8bde8cf09808e19a9cffc3d
Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Date: Sun Apr 12 08:06:55 2015 -0700
cpu: Defer smpboot kthread unparking until CPU known to scheduler
Currently, smpboot_unpark_threads() is invoked before the incoming CPU
has been added to the scheduler's runqueue structures. This might
potentially cause the unparked kthread to run on the wrong CPU, since the
correct CPU isn't fully set up yet.
That causes a sporadic, hard to debug boot crash triggering on some
systems, reported by Borislav Petkov, and bisected down to:
2a442c9c6453 ("x86: Use common outgoing-CPU-notification code")
This patch places smpboot_unpark_threads() in a CPU hotplug
notifier with priority set so that these kthreads are unparked just after
the CPU has been added to the runqueues.
Reported-and-tested-by: Borislav Petkov <bp@xxxxxxx>
Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit b67c961cb86c2e296742c4e86096effb1f2c6ab8
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Tue Oct 7 00:45:13 2014 +0400
irqchip: xtensa-pic: xtensa-mx: document DT bindings
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 24e94454c8cb6a13634f5a2f5a01da53a546a58d
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Fri Apr 3 09:56:21 2015 +0300
xtensa: ISS: fix locking in TAP network adapter
- don't lock lp->lock in the iss_net_timer for the call of iss_net_poll,
it will lock it itself;
- invert order of lp->lock and opened_lock acquisition in the
iss_net_open to make it consistent with iss_net_poll;
- replace spin_lock with spin_lock_bh when acquiring locks used in
iss_net_timer from non-atomic context;
- replace spin_lock_irqsave with spin_lock_bh in the iss_net_start_xmit
as the driver doesn't use lp->lock in the hard IRQ context;
- replace __SPIN_LOCK_UNLOCKED(lp.lock) with spin_lock_init, otherwise
lockdep is unhappy about using non-static key.
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 3a29dd6d6f445212ddbcf43a2ba6352127ce9ee8
Merge: f7e9e35 51925fb
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Mon Apr 13 15:29:36 2015 +1000
Merge branch 'next-dlpar' of
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into next
Merge series from Nathan Fontenot to do memory hotplug in the kernel.
commit 03bc10ab5b0f9b8f81bffbe6e40c944f9d3dbcc5
Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 03:48:48 2015 +0200
clk: check ->determine/round_rate() return value in clk_calc_new_rates
->determine_rate() and ->round_rate() can return the closest rate to the
requested one or an error code.
clk_calc_new_rates is assuming these functions can't return a negative
value, which leads to a undefined behavior when the clk implementation
returns such an error code.
Fix this by returning NULL in case ->determine_rate() or ->round_rate()
returned an error code.
Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx>
commit 3abafaf2192b1712079edfd4232b19877d6f41a5
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Sat Apr 11 15:32:34 2015 +0200
crypto: arm - workaround for building with old binutils
Old versions of binutils (before 2.23) do not yet understand the
crypto-neon-fp-armv8 fpu instructions, and an attempt to build these
files results in a build failure:
arch/arm/crypto/aes-ce-core.S:133: Error: selected processor does not
support ARM mode `vld1.8 {q10-q11},[ip]!'
arch/arm/crypto/aes-ce-core.S:133: Error: bad instruction `aese.8 q0,q8'
arch/arm/crypto/aes-ce-core.S:133: Error: bad instruction `aesmc.8 q0,q0'
arch/arm/crypto/aes-ce-core.S:133: Error: bad instruction `aese.8 q0,q9'
arch/arm/crypto/aes-ce-core.S:133: Error: bad instruction `aesmc.8 q0,q0'
Since the affected versions are still in widespread use, and this breaks
'allmodconfig' builds, we should try to at least get a successful kernel
build. Unfortunately, I could not come up with a way to make the Kconfig
symbol depend on the binutils version, which would be the nicest solution.
Instead, this patch uses the 'as-instr' Kbuild macro to find out whether
the support is present in the assembler, and otherwise emits a non-fatal
warning indicating which selected modules could not be built.
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Link:
http://storage.kernelci.org/next/next-20150410/arm-allmodconfig/build.log
Fixes: 864cbeed4ab22d ("crypto: arm - add support for SHA1 using ARMv8
Crypto Instructions")
[ard.biesheuvel:
- omit modules entirely instead of building empty ones if binutils is
too old
- update commit log accordingly]
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 4591243102faa8de92da320edea47219901461e9
Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 03:45:33 2015 +0200
clk: at91: usb: propagate rate modification to the parent clk
The at91sam9n12 and at91sam9x5 usb clocks do not propagate rate
modification requests to their parents.
This causes a bug when the PLLB is left uninitialized by the bootloader
(PLL multiplier set to 0, or in other words, PLL rate = 0 Hz).
Implement the determinate_rate method and propagate the change rate
request to the parent clk.
Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+
Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Reported-by: Bo Shen <voice.shen@xxxxxxxxx>
Tested-by: Bo Shen <voice.shen@xxxxxxxxx>
Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx>
commit b48321def4c506057e22845f8e0dcdce2214dbfa
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Sat Apr 11 10:48:44 2015 +0200
crypto: arm/sha256 - avoid sha256 code on ARMv7-M
The sha256 assembly implementation can deal with all architecture levels
from ARMv4 to ARMv7-A, but not with ARMv7-M. Enabling it in an
ARMv7-M kernel results in this build failure:
arm-linux-gnueabi-ld: error: arch/arm/crypto/sha256_glue.o: Conflicting
architecture profiles M/A
arm-linux-gnueabi-ld: failed to merge target specific data of file
arch/arm/crypto/sha256_glue.o
This adds a Kconfig dependency to prevent the code from being disabled
for ARMv7-M.
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 3a9e9cb65be84d6c64fbe9c69a73c15d59f29454
Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Date: Fri Mar 27 17:27:10 2015 +0100
clk: samsung: exynos4: Disable ARMCLK down feature on Exynos4210 SoC
Commit 42773b28e71d ("clk: samsung: exynos4: Enable ARMCLK
down feature") enabled ARMCLK down feature on all Exynos4
SoCs. Unfortunately on Exynos4210 SoC ARMCLK down feature
causes a lockup when ondemand cpufreq governor is used.
Fix it by limiting ARMCLK down feature to Exynos4x12 SoCs.
This patch was tested on:
- Exynos4210 SoC based Trats board
- Exynos4210 SoC based Origen board
- Exynos4412 SoC based Trats2 board
- Exynos4412 SoC based Odroid-U3 board
Cc: Daniel Drake <drake@xxxxxxxxxxxx>
Cc: Tomasz Figa <t.figa@xxxxxxxxxxx>
Cc: Kukjin Kim <kgene@xxxxxxxxxx>
Fixes: 42773b28e71d ("clk: samsung: exynos4: Enable ARMCLK down feature")
Cc: <stable@xxxxxxxxxxxxxxx> # v3.17+
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx>
commit 68a2913407d8defac36f381e4877507a06e57c8e
Author: Daniel Stone <daniels@xxxxxxxxxxxxx>
Date: Wed Apr 8 16:39:06 2015 +0100
drm/exynos: Fix FIMD buffer size calculation
Commit adacb228d72b ("drm: Exynos: Respect framebuffer pitch for
FIMD/Mixer") fixed the buffer size calculation by using the FB
pitch value but later commit 26b9c2813ede1 ("drm/exynos: remove
struct *_win_data abstraction on planes") added a regression so
fix the buffer size calculation again.
Tested on Chromebook Snow / Peach Pit.
Fixes: 26b9c2813ede1 ("drm/exynos: remove struct *_win_data abstraction
on planes")
Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx>
Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit 1c363c7cccf64128087002b0779986ad16aff6dc
Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Date: Tue Apr 7 22:28:50 2015 +0900
drm/exynos: Enable DP clock to fix display on Exynos5250 and other
After adding display power domain for Exynos5250 in commit
2d2c9a8d0a4f ("ARM: dts: add display power domain for exynos5250") the
display on Chromebook Snow and others stopped working after boot.
The reason for this suggested Andrzej Hajda: the DP clock was disabled.
This clock is required by Display Port and is enabled by bootloader.
However when FIMD driver probing was deferred, the display power domain
was turned off. This effectively reset the value of DP clock enable
register.
When exynos-dp is later probed, the clock is not enabled and display is
not properly configured:
exynos-dp 145b0000.dp-controller: Timeout of video streamclk ok
exynos-dp 145b0000.dp-controller: unable to config video
Fixes: 2d2c9a8d0a4f ("ARM: dts: add display power domain for exynos5250")
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Reported-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Tested-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Tested-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit d1222842c1c7c2760ebd412238d9bb6234e6742c
Author: Hyungwon Hwang <human.hwang@xxxxxxxxxxx>
Date: Tue Apr 7 22:19:43 2015 +0900
drm/exynos: fimd: check whether exynos_drm_crtc_create succeed or not
>From the commit "drm/exynos: fix the execution order in FIMD
initialization" (598285bfdce46d7c47632a2ba4b980f60be4a677), the error
checking code is removed improperly. This patch fix the regression.
Signed-off-by: Hyungwon Hwang <human.hwang@xxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit 643c3024a5ee2bf74ee25c8dd03bcd287f3b2833
Author: Hyungwon Hwang <human.hwang@xxxxxxxxxxx>
Date: Thu Apr 2 18:52:20 2015 +0900
drm/exynos: dsi: remove the empty mode_valid callback
Because the helper function which calls this callback checks whether
it is registered or not. It is not necessary if it does nothing.
So it would be better to remove the function for clarity.
Signed-off-by: Hyungwon Hwang <human.hwang@xxxxxxxxxxx>
Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit 3cabaf7ea7044d6a75fd76e2fc53304a55abe965
Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx>
Date: Tue Apr 7 15:59:39 2015 +0900
drm/exynos: add ratio calculation
Calculation ratio from exynos_drm plane codes, then each hw drivers can
use it without extra operation. Also this fixes width and height of
source used for actual crtc shown via screen.
Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit cb8a3db29f8fa8186185ba716f3f485a7f3fabe7
Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx>
Date: Tue Apr 7 15:59:38 2015 +0900
drm/exynos: use src_x and src_y instead of fb_x and fb_y
It's more reasonable to use src_x and src_y to represent source as
counterpart of destination(crtc). Already we are using src_width and
src_height for width and height of source.
Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit 2611015c7511106719bae904cac459383c55ffef
Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 01:14:52 2015 +0200
drm/exynos: mixer: add 2x scaling to mixer_graph_buffer
While the VP (video processor) supports arbitrary scaling
of its input, the mixer just supports a simple 2x (line
doubling) scaling. Expose this functionality and exit
early when an unsupported scaling configuration is
encountered.
This was tested with modetest's DRM plane test (from
the libdrm test suite) on an Odroid-X2 (Exynos4412).
v2: Put if- and return-statement on different lines.
Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx>
Acked-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit 7ded85885d49bac7df1836ea3ac5612d9afcc8de
Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 01:14:51 2015 +0200
drm/exynos: remove superfluous error messages
The messages are redundant since 'check_fb_gem_memory_type'
already prints out exactly the same string when it fails.
Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx>
Acked-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit 1e6d459df61f5386b9d00c9b5b4520240e70eded
Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 01:14:50 2015 +0200
drm/exynos: fix typos in hdmi and mixer
Use the correct spelling for 'progressive'.
Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx>
Acked-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit e44bf6b7a50e331a1a97c23d726e39726b914dc8
Author: Beata Michalska <b.michalska@xxxxxxxxxxx>
Date: Wed Mar 4 15:02:49 2015 +0100
drm/exynos/ipp: Validate buffer enqueue requests
As for now there is no validation of incoming buffer
enqueue request as far as the gem buffers are being
concerned. This might lead to some undesired cases
when the driver tries to operate on invalid buffers
(wiht no valid gem object handle i.e.).
Add some basic checks to rule out those potential issues.
Signed-off-by: Beata Michalska <b.michalska@xxxxxxxxxxx>
[mszyprow: rebased onto v4.0-rc1 and adapted to recent ipp changes]
Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit e752747b98ae64ff0d1484a3b1b812fd2cafed53
Author: Mandeep Singh Baines <msb@xxxxxxxxxxxx>
Date: Wed Apr 1 13:02:12 2015 -0300
drm/exynos: track vblank events on a per crtc basis
The goal of the change is to make sure we send the vblank event on the
current vblank. My hope is to fix any races that might be causing flicker.
After this change I only see a flicker in the transition plymouth and
X11.
Simplified the code by tracking vblank events on a per-crtc basis. This
allowed me to remove all error paths from the callback. It also allowed
me to remove the vblank wait from the callback.
Signed-off-by: Mandeep Singh Baines <msb@xxxxxxxxxxxx>
Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit 5d09a67f1c102468ec8116c10bcd79bba6563508
Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Date: Wed Apr 1 13:02:11 2015 -0300
drm/exynos: remove leftover functions declarations
These functions were already removed by previous cleanup work, but these
ones were left behind.
Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Acked-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit 97464d7d9dd2443571ec4f113b10588ffd4abd79
Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Date: Wed Apr 1 13:02:10 2015 -0300
drm/exynos: remove exynos_plane_destroy()
The .destroy() callback for exynos can be replaced by drm_plane_cleanup().
The only extra operation on exynos_plane_destroy() was a call to
exynos_plane_disable() but the plane is already disabled by a earlier call
to drm_framebuffer_remove().
Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit 92104886e4834c2ceb8748efa49d040714018eb5
Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Date: Wed Apr 1 13:02:09 2015 -0300
drm/exynos: make zpos property immutable
We already set each plane zpos at init, after that changes to zpos are
not expected. This patch turns zpos into a read-only property so now it is
impossible to set zpos.
Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit 6e2a3b66e78b693065ee67af91175a1a7e4dc209
Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Date: Fri Apr 3 21:05:52 2015 +0900
drm/exynos: preset zpos value for overlay planes
Usually userspace don't want to have two overlay planes on the same zpos
so this change assign a different zpos for each plane. Before this change
a zpos of value zero was created for all planes so the userspace had to
set up the zpos of every plane it wanted to use.
Also all places that were storing zpos positions are now unsigned int.
Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit 7ee14cdcbc4f813b9c5875d6e8e3daef71c366b3
Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Date: Fri Apr 3 21:03:40 2015 +0900
drm/exynos: remove struct *_win_data abstraction on planes
struct {fimd,mixer,vidi}_win_data was just keeping the same data
as struct exynos_drm_plane thus get ride of it and use exynos_drm_plane
directly.
It changes how planes are created and remove .win_mode_set() callback
that was only filling all *_win_data structs.
v2: check for return of exynos_plane_init()
Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit 1be4b7ee800a57ca613131304e01cd91ec8bca2a
Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Date: Wed Apr 1 13:02:06 2015 -0300
drm/exynos: remove unused exynos_crtc->win_enable() callback
None of the exynos crtc drivers implements win_enable() so remove it for
better clarity of the code.
Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit 453b44a3f6f3f43f50387a9af27c5356c273e831
Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Date: Wed Apr 1 13:02:05 2015 -0300
drm/exynos: fimd: fix alpha setting for XR24 pixel format
XR24 planes were not shown properly, so now set the right registers
to correctly enable displaying these planes.
It also moves the alpha register settings to fimd_win_set_pixfmt()
to keep all pixel format stuff together.
v2: remove leftover var alpha
Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
commit 3add594bf60a901ba973cdcdafd47af2aac0ac1c
Merge: cf7b6c0 f02dee2
Author: James Morris <james.l.morris@xxxxxxxxxx>
Date: Mon Apr 13 12:07:47 2015 +1000
Merge branch 'tomoyo-cleanup' of
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild into next
commit 6a63ef064b2444883ce8b68b0779d0c739d27204
Merge: a448f8f 21c3ea1
Author: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Mon Apr 13 11:40:16 2015 +1000
Merge branch 'xfs-misc-fixes-for-4.1-3' into for-next
Conflicts:
fs/xfs/xfs_iops.c
commit 21c3ea18819b5f650c75f59a0457415bc05d2b17
Author: Christoph Hellwig <hch@xxxxxx>
Date: Mon Apr 13 11:38:29 2015 +1000
xfs: unlock i_mutex in xfs_break_layouts
We want to drop all I/O path locks when recalling layouts, and that
includes
i_mutex for the write path. Without this we get stuck processe when
recalls
take too long.
[dchinner: fix build with !CONFIG_PNFS]
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit e60a9de49c3744aa44128eaaed3aca965911ca2e
Merge: 1ceb0b8 b641173
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Sun Apr 12 21:36:57 2015 -0400
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue
Jeff Kirsher says:
====================
Intel Wired LAN Driver Updates 2015-04-11
This series contains updates to iflink, ixgbe and ixgbevf.
The entire set of changes come from Vlad Zolotarov to ultimately add
the ethtool ops to VF driver to allow querying the RSS indirection table
and RSS random key.
Currently we support only 82599 and x540 devices. On those devices, VFs
share the RSS redirection table and hash key with a PF. Letting the VF
query this information may introduce some security risks, therefore this
feature will be disabled by default.
The new netdev op allows a system administrator to change the default
behaviour with "ip link set" command. The relevant iproute2 patch has
already been sent and awaits for this series upstream.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 66db8104968ad8c0bf5a45a100ae586ddfadc1e1
Author: Brian Foster <bfoster@xxxxxxxxxx>
Date: Mon Apr 13 11:27:59 2015 +1000
xfs: kill unnecessary firstused overflow check on attr3 leaf removal
xfs_attr3_leaf_remove() removes an attribute from an attr leaf block. If
the attribute nameval data happens to be at the start of the nameval
region, a new start offset (firstused) for the region is calculated
(since the region grows from the tail of the block to the start). Once
the new firstused is calculated, it is checked for zero in an apparent
overflow check.
Now that the in-core firstused is 32-bit, overflow is not possible and
this check can be removed. Since the purpose for this check is not
documented and appears to exist since the port to Linux, be conservative
and replace it with an assert.
Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx>
Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit e87021a2bc100d330ae859c2cc0614be3e335c5a
Author: Brian Foster <bfoster@xxxxxxxxxx>
Date: Mon Apr 13 11:27:10 2015 +1000
xfs: use larger in-core attr firstused field and detect overflow
The on-disk xfs_attr3_leaf_hdr structure firstused field is 16-bit and
subject to overflow when fs block size is 64k. The field is typically
initialized to block size when an attr leaf block is initialized. This
problem is demonstrated by assert failures when running xfstests
generic/117 on an fs with 64k blocks.
To support the existing attr leaf block algorithms for insertion,
rebalance and entry movement, increase the size of the in-core firstused
field to 32-bit and handle the potential overflow on conversion to/from
the on-disk structure. If the overflow condition occurs, set a special
value in the firstused field that is translated back on header read. The
special value is only required in the case of an empty 64k attr block. A
value of zero is used because firstused is initialized to the block size
and grows backwards from there. Furthermore, the attribute block header
occupies the first bytes of the block. Thus, a value of zero has no
other legitimate meaning for this structure. Two new conversion helpers
are created to manage the conversion of firstused to and from disk.
Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx>
Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit 2f6612415436bab4d923a61d8df399b134247810
Author: Brian Foster <bfoster@xxxxxxxxxx>
Date: Mon Apr 13 11:26:02 2015 +1000
xfs: pass attr geometry to attr leaf header conversion functions
The firstused field of the xfs_attr3_leaf_hdr structure is subject to an
overflow when fs blocksize is 64k. In preparation to handle this
overflow in the header conversion functions, pass the attribute geometry
to the functions that convert the in-core structure to and from the
on-disk structure.
Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx>
Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit bbe051c841d522bf2aaa1d362b57fe47457187bf
Author: Eric Sandeen <sandeen@xxxxxxxxxx>
Date: Mon Apr 13 11:25:41 2015 +1000
xfs: disallow ro->rw remount on norecovery mount
There's a bit of a loophole in norecovery mount handling right
now: an initial mount must be readonly, but nothing prevents
a mount -o remount,rw from producing a writable, unrecovered
xfs filesystem.
It might be possible to try to perform a log recovery when this
is requested, but I'm not sure it's worth the effort. For now,
simply disallow this sort of transition.
Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit 1ceb0b8ca5be40d32b0fcf57b117cfb595c9bbfa
Merge: d72da6aa 7a6c8c3
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Sun Apr 12 21:25:14 2015 -0400
Merge branch 'fou-next'
Cong Wang says:
====================
fou: some fixes and updates
Patch 1~3 fix some minor bugs in net/ipv4/fou.c, the only
thing I am not sure is if it's too late to change the
byte order of FOU_ATTR_PORT, if so we have to fix iproute2
instead of kernel.
Patch 4~5 add some new features to make it complete.
v2: make fou->port be16 too
====================
Acked-by: Tom Herbert <tom@xxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7a6c8c34e5b71ac50e39588e20b39494a9e1d8e5
Author: WANG Cong <xiyou.wangcong@xxxxxxxxx>
Date: Fri Apr 10 12:00:30 2015 -0700
fou: implement FOU_CMD_GET
Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx>
Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 02d793c5bbebf2c750da03df4c950fc4e8e8a5a7
Author: WANG Cong <xiyou.wangcong@xxxxxxxxx>
Date: Fri Apr 10 12:00:29 2015 -0700
fou: add network namespace support
Also convert the spinlock to a mutex.
Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx>
Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4cbcdf2b6c8065cb9f2e0eda8c12d33b1b617043
Author: WANG Cong <xiyou.wangcong@xxxxxxxxx>
Date: Fri Apr 10 12:00:28 2015 -0700
fou: always use be16 for port
udp_config.local_udp_port is be16. And iproute2 passes
network order for FOU_ATTR_PORT.
This doesn't fix any bug, just for consistency.
Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx>
Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 67270636a8285166c4ee035e1b53e99a7c55d232
Author: WANG Cong <xiyou.wangcong@xxxxxxxxx>
Date: Fri Apr 10 12:00:27 2015 -0700
fou: exit early when parsing config fails
Not a big deal, just for corretness.
Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx>
Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 9272f048727513c1b28e5cd7b1425dae49111d5d
Author: WANG Cong <xiyou.wangcong@xxxxxxxxx>
Date: Fri Apr 10 12:00:26 2015 -0700
fou: avoid calling udp_del_offload() twice
This fixes the following harmless warning:
./ip/ip fou del port 7777
[ 122.907516] udp_del_offload: didn't find offload for port 7777
Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx>
Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 72c1a73993cfa3572e45e1a878ff7acf31d14fc8
Author: kbuild test robot <fengguang.wu@xxxxxxxxx>
Date: Mon Apr 13 11:25:04 2015 +1000
xfs: xfs_shift_file_space can be static
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit d72da6aa00497ed86836a1d41fc55e2809a8ca18
Merge: 52db70d bd2cba0
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Sun Apr 12 21:19:40 2015 -0400
Merge branch 'selinux_xfrm_nl_cmd'
Nicolas Dichtel says:
====================
selinux: add missing xfrm nl cmd
With this series, xfrm commands are fully synchronized.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit bd2cba07381a6dba60bc1c87ed8b37931d244da1
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Fri Apr 10 16:24:28 2015 +0200
selinux/nlmsg: add XFRM_MSG_MAPPING
This command is missing.
Fixes: 3a2dfbe8acb1 ("xfrm: Notify changes in UDP encapsulation via
netlink")
CC: Martin Willi <martin@xxxxxxxxxxxxxx>
Reported-by: Stephen Smalley <sds@xxxxxxxxxxxxx>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8d465bb777179c4bea731b828ec484088cc9fbc1
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Fri Apr 10 16:24:27 2015 +0200
selinux/nlmsg: add XFRM_MSG_MIGRATE
This command is missing.
Fixes: 5c79de6e79cd ("[XFRM]: User interface for handling
XFRM_MSG_MIGRATE")
Reported-by: Stephen Smalley <sds@xxxxxxxxxxxxx>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b0b59b0056acd6f157a04cc895f7e24692fb08aa
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Fri Apr 10 16:24:26 2015 +0200
selinux/nlmsg: add XFRM_MSG_REPORT
This command is missing.
Fixes: 97a64b4577ae ("[XFRM]: Introduce XFRM_MSG_REPORT.")
Reported-by: Stephen Smalley <sds@xxxxxxxxxxxxx>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 52db70dca5c206741f4f5c89410a2d32864f9840
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Fri Apr 10 06:07:18 2015 -0700
tcp: do not cache align timewait sockets
With recent adoption of skc_cookie in struct sock_common,
struct tcp_timewait_sock size increased from 192 to 200 bytes
on 64bit arches. SLAB rounds then to 256 bytes.
It is time to drop SLAB_HWCACHE_ALIGN constraint for twsk_slab.
This saves about 12 MB of memory on typical configuration reaching
262144 timewait sockets, and has no noticeable impact on performance.
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4e78eb0dbf867ccf206706ff2af34084f71a99bf
Merge: 716723c 6d00ec0
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Sun Apr 12 20:43:46 2015 -0400
Merge tag 'mac80211-next-for-davem-2015-04-10' of
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
Johannes Berg says:
====================
There isn't much left, but we have
* new mac80211 internal software queue to allow drivers to have
shorter hardware queues and pull on-demand
* use rhashtable for mac80211 station table
* minstrel rate control debug improvements and some refactoring
* fix noisy message about TX power reduction
* fix continuous message printing and activity if CRDA doesn't respond
* fix VHT-related capabilities with "iw connect" or "iwconfig ..."
* fix Kconfig for cfg80211 wireless extensions compatibility
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 716723c2d2f0d5af9911966fb3cd8ccd33480d63
Author: Wolfgang Steinwender <wsteinwender@xxxxxxx>
Date: Fri Apr 10 11:42:56 2015 +0200
net/macb: sqe_test_errors are TX errors, not RX errors
The statistics are grouped by TX and RX errors.
The SQE Test Errors Register indicates problems with TX.
Signed-off-by: Wolfgang Steinwender <wsteinwender@xxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 692d8328e8c039f9497eb862c6cf835de922c061
Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Date: Wed Feb 18 10:59:45 2015 +0100
clk: don't use __initconst for non-const arrays
The statement
static const char *name[];
defines a modifiable array of pointers to constant chars. That is
*name[0] = 'f';
is forbidden, but
name[0] = "f";
is not. So marking an array that is defined as above with __initconst is
wrong. Either an additional const must be added such that the whole
definition reads:
static const char *const name[] __initconst;
or where this is not possible __initdata must be used.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx>
commit f354169e0f7dcd1b2c82cf1f98f6d976e85f74c3
Author: Anand Moon <linux.amoon@xxxxxxxxx>
Date: Mon Apr 13 04:14:11 2015 +0930
hwmon: (pwm-fan) Update the duty cycle inorder to control the pwm-fan
pwm_config() must be called with a duty cycle of 0 prior to calling
pwm_disable() to ensure that the pwm signal is set to low.
Reported-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx>
Tested-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx>
Reviewed-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx>
Reviewed-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx>
Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
commit 92bac83dd79e60e65c475222e41a992a70434beb
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Sun Apr 12 15:42:35 2015 -0700
Input: alps - non interleaved V2 dualpoint has separate stick button bits
Non interleaved V2 dualpoint touchpad / stick combos have separate stick
button bits in the touchpad packets, if we do not check these then the
trackpoint buttons will not work when using the touchpad, and when pressed
when the user starts using the touchpad will report a release event even
though the button is still pressed.
This commit fixes this by checking the separate bits, note that we simply
combine the buttons, since the hardware does the same when using the
touchpad
buttons with the trackpoint, so we do not have enough information to
properly
separate them.
Reported-by: Hans de Bruin <jmdebruin@xxxxxxxxx>
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 6bcca19f5dcedc3a006ca0bcc3699a437cadee74
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Apr 8 09:26:42 2015 -0700
Input: alps - fix touchpad buttons getting stuck when used with trackpoint
When the left touchpad button gets pressed, and then the trackpoint is
moved, and then the button is released, the following happens:
1) touchpad packet is received, touchpad evdev node reports BTN_LEFT 1
2) pointing stick packet is received, the hw will report a BTN_LEFT 1 in
this packet because when the trackstick is active it communicates the
combined touchpad + pointing stick buttons in the trackstick packet,
since alps_report_bare_ps2_packet passes NULL (*) for the dev2
parameter
to alps_report_buttons the combining is not detected and the
pointing stick evdev node will also report BTN_LEFT 1
3) on release of the button a pointing stick packet with BTN_LEFT 0 is
received and the pointing stick evdev node will report BTN_LEFT 0
Note how because of the passing as NULL for dev2 the touchpad evdev node
will never send BTN_LEFT 0 in this scenario leading to a stuck mouse
button.
This is a regression in 4.0 introduced by commit 04aae283ba6a8
("Input: ALPS - do not mix trackstick and external PS/2 mouse data")
This commit fixes this by passing in the touchpad evdev as dev2 parameter
when calling alps_report_buttons for the pointingstick on alps v2 devices,
so that alps_report_buttons correctly detect that we're already reporting
the button as pressed via the touchpad evdev node, and will also send the
release event there.
Cc: stable@xxxxxxxxxxxxxxx # 4.0
Reported-by: Hans de Bruin <jmdebruin@xxxxxxxxx>
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 0fe0952b2191b19493adb847eb40c6f88e1caeaf
Merge: 419a48c be77002 df6a0d6
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Mon Apr 13 00:37:13 2015 +0200
Merge branches 'pm-sleep' and 'pm-domains'
* pm-sleep:
PM / watchdog: iTCO: stop watchdog during system suspend
PM / sleep: add pm-trace support for suspending phase
PM / sleep: add configurable delay for pm_test
* pm-domains:
PM / domains: avoid potential oops in pm_genpd_remove_device()
PM / domains: factor out code to get the generic PM domain from a
struct device
PM / domains: quieten down generic pm domains
PM / Domains: Sync runtime PM status with genpd after probe
driver core / PM: Add PM domain callbacks for device setup/cleanup
MAINTAINERS: add entry for Generic PM domains (genpd)
commit 419a48ce8576e2617130bb6b6e20f824ddde1033
Merge: 17528b3 b34ef93 baa9a93
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Mon Apr 13 00:37:07 2015 +0200
Merge branches 'pm-cpufreq' and 'pm-cpuidle'
* pm-cpufreq:
intel_pstate: Knights Landing support
intel_pstate: remove MSR test
cpufreq: fix qoriq uniprocessor build
cpufreq: hisilicon: add acpu driver
cpufreq: powernv: Report cpu frequency throttling
cpufreq: qoriq: rename the driver
cpufreq: qoriq: Make the driver usable on all QorIQ platforms
* pm-cpuidle:
intel_idle: mark cpu id array as __initconst
intel_idle: Add support for the Airmont Core in the Cherrytrail and
Braswell SOCs
intel_idle: Update support for Silvermont Core in Baytrail SOC
ARM: cpuidle: Document the code
ARM: cpuidle: Register per cpuidle device
ARM: cpuidle: Enable the ARM64 driver for both ARM32/ARM64
ARM64: cpuidle: Remove arm64 reference
ARM64: cpuidle: Rename cpu_init_idle to a common function name
ARM64: cpuidle: Replace cpu_suspend by the common ARM/ARM64 function
ARM: cpuidle: Add a cpuidle ops structure to be used for DT
ARM: cpuidle: Remove duplicate header inclusion
commit 17528b31c5e2b2d40bb52954af88849303ebb915
Merge: 9a9ca16 71150d2
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Mon Apr 13 00:36:15 2015 +0200
Merge branch 'pnp'
* pnp:
PNP: Avoid leaving unregistered device objects in lists
PNP: Convert pnp_lock into a mutex
PNP: tty/serial/8250/8250_fintek: Use module_pnp_driver to register
driver
PNP: platform/x86/apple-gmux: Use module_pnp_driver to register driver
PNP: net/sb1000: Use module_pnp_driver to register driver
PNP: media/rc: Use module_pnp_driver to register driver
PNP: ide/ide-pnp: Use module_pnp_driver to register driver
PNP: ata/pata_isapnp: Use module_pnp_driver to register driver
PNP: tpm/tpm_infineon: Use module_pnp_driver to register driver
PNP: Add helper macro for pnp_register_driver boilerplate
PNP / ACPI: Use ACPI_COMPANION_SET() during initialization
commit 9a9ca16e7a36a9daa93f6d2cf912170091d91ed6
Merge: 34a1b99 16ba08d
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Mon Apr 13 00:35:54 2015 +0200
Merge branch 'device-properties'
* device-properties:
device property: Introduce firmware node type for platform data
device property: Make it possible to use secondary firmware nodes
driver core: Implement device property accessors through fwnode ones
driver core: property: Update fwnode_property_read_string_array()
driver core: Add comments about returning array counts
ACPI: Introduce has_acpi_companion()
driver core / ACPI: Represent ACPI companions using fwnode_handle
commit 34a1b99b9b4d81b0d835c08239c1180e83703bb7
Merge: 14bd8d7 8a5de52 6449188
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Mon Apr 13 00:35:38 2015 +0200
Merge branches 'acpi-blacklist' and 'acpi-video'
* acpi-blacklist:
ACPI / blacklist: Disable Vista compatibility for Sony VGN-SR19XN.
* acpi-video:
ACPI / video: Add force native backlight quirk for Lenovo Ideapad Z570
ACPI / video: Allow forcing native backlight on non win8 machines
commit 14bd8d745afc1d84b1aae5357a8917127730373c
Merge: 1a7fd41 1c832b3 9237516 dff1eb0
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Mon Apr 13 00:35:21 2015 +0200
Merge branches 'acpi-ec', 'acpi-battery' and 'acpi-pmic'
* acpi-ec:
ACPI / EC: Call acpi_walk_dep_device_list() after installing EC
opregion handler
ACPI / EC: Add GPE reference counting debugging messages.
ACPI / EC: Cleanup logging/debugging splitter support.
* acpi-battery:
ACPI / battery: make warning greppable
* acpi-pmic:
ACPI/PMIC: Fix typo in MODULE_DESCRIPTION in intel_pmic_crc.c
commit 1a7fd41ac24004fa1d7527828e9cad88bb1f8f5e
Merge: f303906 8765c5b
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Mon Apr 13 00:34:57 2015 +0200
Merge branch 'acpi-scan'
* acpi-scan:
ACPI / scan: Rework modalias creation when "compatible" is present
ACPI / scan: Take the PRP0001 position in the list of IDs into account
ACPI / scan: Simplify acpi_match_device()
ACPI / scan: Generalize of_compatible matching
ACPI / scan: fix fixed event handler return value
commit f303906d4d5c22cdffe309807e2e21d9b8ff9a91
Merge: 39a8804 7b02cce 359597c 7b1a132
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Mon Apr 13 00:34:00 2015 +0200
Merge branches 'acpi-pm', 'acpi-enumeration' and 'acpi-sysfs'
* acpi-pm:
ACPI / PM: Enable all wakeup GPEs in suspend-to-idle
ACPI / sleep: Drop acpi_suspend() which is not used
* acpi-enumeration:
ACPI: Add acpi_device_uid() for convenience
ACPI: Update GPIO documentation to mention _DSD
* acpi-sysfs:
ACPI / sysfs: Treat the count field of counter_show() as unsigned
commit 8765c5ba19490c9167fe0c4e05c2dfdcc39873a3
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Mon Apr 13 00:29:36 2015 +0200
ACPI / scan: Rework modalias creation when "compatible" is present
Currently, the ACPI modalias creation covers two mutually exclusive
cases: If the PRP0001 device ID is present in the device's list of
ACPI/PNP IDs and the "compatible" property is present in _DSD, the
created modalias will follow the OF rules of modalias creation.
Otherwise, ACPI rules are used.
However, that is not really desirable, because the presence of PRP0001
in the list of device IDs generally does not preclude using other
ACPI/PNP IDs with that device and those other IDs may be of higher
priority. In those cases, the other IDs should take preference over
PRP0001 and therefore they also should be present in the modalias.
For this reason, rework the modalias creation for ACPI so that it
shows both the ACPI-style and OF-style modalias strings if the
device has a non-empty list of ACPI/PNP IDs (other than PRP0001)
and a valid "compatible" property at the same time.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
commit 39a8804455fb23f09157341d3ba7db6d7ae6ee76
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 12 15:12:50 2015 -0700
Linux 4.0
commit 720d70716d137c0cb83b9a5279c384286c02a1c0
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Sat Apr 11 19:58:25 2015 -0700
sparc: Fix execution domain removal
ksp must be 8-byte aligned.
Cc: Richard Weinberger <richard@xxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 9058f3b326dbe8cd2ebea7f3cfe367b0d101039b
Author: Richard Weinberger <richard@xxxxxx>
Date: Sat Apr 11 21:45:22 2015 +0200
Remove rest of exec domains.
It is gone from all archs, now we can remove
the final bits.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit fa41b1c7dfa0453931afb32c9988af67a2ee28ae
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Mar 30 07:30:38 2015 +0200
arch: Remove exec_domain from remaining archs
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit e6de3ca91cd7ee252ef271c96a4c480c1f3e071e
Author: Richard Weinberger <richard@xxxxxx>
Date: Fri Mar 27 09:55:52 2015 +0100
arc: Remove signal translation and exec_domain
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 3e66701cbda2e04bb62e0afe2f3d86c9d3d76b24
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Jul 13 17:45:11 2014 +0200
xtensa: Remove signal translation and exec_domain
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit cb418fdb33feba951187f6e01e9f78d3cd2dacbb
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Apr 12 18:10:36 2015 +0200
xtensa: Autogenerate offsets in struct thread_info
Maintaining offsets by hand is no fun.
Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 3050a35fba296196cb00e87f4a96aa7d9ed17a7b
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Jul 13 17:43:51 2014 +0200
x86: Remove signal translation and exec_domain
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 19b6d0b6df3e6b244959d9fc373ff75323f28e92
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Jul 13 17:42:53 2014 +0200
unicore32: Remove signal translation and exec_domain
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit fd223849f10a28fa40201652b5f13d52fa8f2bb0
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Jul 13 17:41:57 2014 +0200
um: Remove signal translation and exec_domain
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 89f191b31ceeb8e79c46815533b7d96c15e83720
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Jul 13 17:40:49 2014 +0200
tile: Remove signal translation and exec_domain
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 14464772c95d351e802b7f07c1860d9e5bf2cafc
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Jul 13 17:39:47 2014 +0200
sparc: Remove signal translation and exec_domain
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Acked-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit daea906dd31843edc062faba82cd43c8b720305d
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Jul 13 17:37:45 2014 +0200
sh: Remove signal translation and exec_domain
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 6a32591a4a38948d785a3bb0dac32d5be1f76354
Author: Richard Weinberger <richard@xxxxxx>
Date: Tue Sep 9 23:50:11 2014 +0200
s390: Remove signal translation and exec_domain
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 78d156b8d8e5884cb5af07f9e57a45a1ae5d59cf
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Jul 13 17:28:15 2014 +0200
mn10300: Remove signal translation and exec_domain
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 6140de5aae4a490e7320215b4197874e37e0969c
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Jul 13 17:21:49 2014 +0200
microblaze: Remove signal translation and exec_domain
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit a0075cd1cb79971ed6162e27fdb2ae76fc3008cf
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Jul 13 17:19:34 2014 +0200
m68k: Remove signal translation and exec_domain
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 445a626afb7f8050ac290fee89d4d9d2ce43b3f2
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Jul 13 17:18:15 2014 +0200
m32r: Remove signal translation and exec_domain
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 37f078ff4c97ad143a6dc2adae31e20a3f780ca7
Author: Richard Weinberger <richard@xxxxxx>
Date: Fri Apr 3 18:20:58 2015 +0200
m32r: Autogenerate offsets in struct thread_info
Maintaining offsets by hand is no fun.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 7bd8301084dfaf9210f66142fadb62a2bee7588b
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Jul 13 17:15:06 2014 +0200
frv: Remove signal translation and exec_domain
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 61622aa399ecc65601331b946395ce095cb7c9d8
Author: Richard Weinberger <richard@xxxxxx>
Date: Fri Apr 3 18:58:10 2015 +0200
blackfin: Remove exec_domain usage
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit ede45dd302385007b7ee83148753654ab8453167
Author: Richard Weinberger <richard@xxxxxx>
Date: Fri Apr 3 18:56:16 2015 +0200
blackfin: Autogenerate offsets in struct thread_info
Maintaining offsets by hand is no fun.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 9699a517e0029c4dc34159787a26a746dfab858b
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Jul 13 17:09:40 2014 +0200
arm64: Remove signal translation and exec_domain
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit a4980448ed658db313da3195bcca634c7a5adafa
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Jul 13 15:24:03 2014 +0200
arm: Remove signal translation and exec_domain
As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 973f911f55a0e510dd6db8bbb29cd82ff138d3c0
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Mar 30 08:14:16 2015 +0200
Remove execution domain support
All users of exec_domain are gone, now we can get rid
of that abandoned feature.
To not break existing userspace we keep a dummy
/proc/execdomains file which will always contain
"0-0 Linux [kernel]".
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 3c7a49d0745a82845f017929eefa9ac1ad117355
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Jul 13 14:52:04 2014 +0200
ia64: Remove Linux/x86 exec domain support
As this series removes exec domain support we can
get rid of this hack.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 125ec7b4e90cbae4eed5a7ff1ee479cc331dcf3c
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Jul 13 14:42:04 2014 +0200
arm: Remove RISC OS personality
The RISC OS personality seems to be unused and untested for a long time.
It is doubtful whether this personality worked ever as expected.
Let's rip it out.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 7667428f80526d908124e0647ac5dbe3dad88900
Merge: ff096ea f263fa3 905a808 99d4223 1a60667 159366e
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:49:22 2015 +0100
Merge remote-tracking branches 'asoc/topic/wm2200', 'asoc/topic/wm5100',
'asoc/topic/wm8731', 'asoc/topic/wm8804' and 'asoc/topic/wm8996' into asoc-next
commit ff096eae2ef7d5f1c62a340a4b670912c2df5b98
Merge: e343818 1b13fe7 f580f8a 5cf57f0
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:49:20 2015 +0100
Merge remote-tracking branches 'asoc/topic/tegra',
'asoc/topic/tlv320aic23' and 'asoc/topic/ux500' into asoc-next
commit e3438187d2a3b149f5c246ed740df3cf9d4df3d6
Merge: 1fa1e07 261e43a3 c36aa0a 1efb53a
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:49:17 2015 +0100
Merge remote-tracking branches 'asoc/topic/rt5641', 'asoc/topic/rt5677'
and 'asoc/topic/sh-cleanup' into asoc-next
commit 1fa1e0731db9e5579afa60b6299b6c47447eee3a
Merge: e1f0599 59c41d1 6a32888 8616774 d53d59e
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:49:11 2015 +0100
Merge remote-tracking branches 'asoc/topic/omap', 'asoc/topic/qcom',
'asoc/topic/rcar' and 'asoc/topic/rt286' into asoc-next
commit e1f059937a2b90a1dbf314959776d3f51b4ab20d
Merge: 626761a 46172b6 c6b424f 5116ede fa41181
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:49:06 2015 +0100
Merge remote-tracking branches 'asoc/topic/link-param',
'asoc/topic/max98090', 'asoc/topic/max98925' and 'asoc/topic/nuc900' into
asoc-next
commit 626761ad022c01450330c5774399b35d7fc7a0ac
Merge: b7af54a 02f5164 967beb2 7f2c52a
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:49:03 2015 +0100
Merge remote-tracking branches 'asoc/topic/jack', 'asoc/topic/jz4740' and
'asoc/topic/kirkwood' into asoc-next
commit b7af54a99218a110e6dcb8a1e9742d60d3c322c9
Merge: 41caf05 0aed112 9a42ab0 1169006 ca26418
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:48:59 2015 +0100
Merge remote-tracking branches 'asoc/topic/dmaengine', 'asoc/topic/fsi',
'asoc/topic/fsl' and 'asoc/topic/fsl-ssi' into asoc-next
commit 41caf0564ea1a8a3b3cb572abc64d5116c150b6c
Merge: 6ca4aba 3255639 b213b44
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:48:56 2015 +0100
Merge remote-tracking branches 'asoc/topic/cx20442' and
'asoc/topic/davinci' into asoc-next
commit 6ca4aba43e52b0743c28a9fa7d550b96df63b4f0
Merge: 7ad2d1d f7d4bfe b3f5dbe 39c2618 158bf4e ada602b
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:48:51 2015 +0100
Merge remote-tracking branches 'asoc/topic/4554', 'asoc/topic/ab8500',
'asoc/topic/ak4642', 'asoc/topic/arizona' and 'asoc/topic/atmel' into asoc-next
commit 7ad2d1d5b069ce658d9c646c55278e161036dfca
Merge: aab0bb1 3732255
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:48:49 2015 +0100
Merge remote-tracking branch 'asoc/topic/rt5645' into asoc-next
commit aab0bb17ef2440ef5f68dcde5f1a6b32dcdfa9fb
Merge: 77b62fa a5e5e12
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:48:33 2015 +0100
Merge remote-tracking branch 'asoc/topic/intel' into asoc-next
commit 77b62fa5d23988155132cf7fee44f2c209e3dc4c
Merge: d1113af4 6b5b042
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:48:31 2015 +0100
Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next
commit d1113af4e8c0f2cd71e52cb904447bd0eec8aa54
Merge: 89a88dd a5053a8
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:48:30 2015 +0100
Merge remote-tracking branch 'asoc/topic/core' into asoc-next
commit 89a88dd3d6823f46bfb1405c4b358f89d5526cd6
Merge: 3eaecb4 d7e3281
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:48:29 2015 +0100
Merge tag 'asoc-v4.1' into asoc-next
ASoC: Changes for v4.1
A selection of changes for v4.1 so far. The main things are:
- Move of jack registration to the card where it belongs.
- Support for DAPM routes specified by both the machine driver and DT.
# gpg: Signature made Thu 05 Mar 2015 01:10:27 GMT using RSA key ID
5D5487D0
# gpg: WARNING: digest algorithm MD5 is deprecated
# gpg: please see https://gnupg.org/faq/weak-digest-algos.html for more
information
# gpg: Oops: keyid_from_fingerprint: no pubkey
# gpg: Good signature from "Mark Brown <broonie@xxxxxxxxxxxxx>"
# gpg: aka "Mark Brown <broonie@xxxxxxxxxx>"
# gpg: aka "Mark Brown <broonie@xxxxxxxxxx>"
# gpg: aka "Mark Brown <broonie@xxxxxxxxxxxxxxx>"
# gpg: aka "Mark Brown <broonie@xxxxxxxxxx>"
# gpg: aka "Mark Brown <Mark.Brown@xxxxxxxxxx>"
commit 3eaecb4b50693378bb55cc633992e7f72be35687
Merge: 250acc7 8787041
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:48:27 2015 +0100
Merge remote-tracking branch 'asoc/fix/wm8741' into asoc-linus
commit 250acc709ee23856eba8432f979e42ba64a9a8b6
Merge: a37a940 c01673e 3a82002 74ff960 a57069e 2f78dd7
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:48:22 2015 +0100
Merge remote-tracking branches 'asoc/fix/ak4642', 'asoc/fix/atmel',
'asoc/fix/cs4271', 'asoc/fix/davinci' and 'asoc/fix/rcar' into asoc-linus
commit a37a9407ca3cec1f9218657eaec43814db1673f6
Merge: a55ede1 cd02e3d
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:48:21 2015 +0100
Merge remote-tracking branch 'asoc/fix/pcm512x' into asoc-linus
commit a55ede1661268c1a6fe94078b7b08906dfa7b77a
Merge: dad0e52 6212755
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:48:20 2015 +0100
Merge remote-tracking branch 'asoc/fix/intel' into asoc-linus
commit dad0e523ede5a6d2d20c54d0e179b36a54a9953b
Merge: f22e6e8 14f0413c
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sun Apr 12 19:48:19 2015 +0100
Merge tag 'asoc-fix-v4.0-rc7' into asoc-linus
ASoC: Last minute fix for v4.0
This patch backs out a change that came in during the merge window which
selects a configuration for GPIO4 on pcm512x CODECs that may not be
suitable for all systems using the device. Changes for v4.1 will make
this properly configurable but for now it's safest to revert to the
v3.19 behaviour and leave the pin configuration alone.
Sorry for sending this direct at the last minute but due to the GPIO
misuse it'd be really good to get it in the release and I'd not realised
it hadn't been sent yet - between some travel, a job change and other
non-urgent fixes coming in I'd lost track of the urgency. It's been in
-next for several weeks now, is isolated to the driver and fairly clear
to inspection.
# gpg: Signature made Sat 11 Apr 2015 22:14:17 BST using RSA key ID
5D5487D0
# gpg: WARNING: digest algorithm MD5 is deprecated
# gpg: please see https://gnupg.org/faq/weak-digest-algos.html for more
information
# gpg: Oops: keyid_from_fingerprint: no pubkey
# gpg: Good signature from "Mark Brown <broonie@xxxxxxxxxxxxx>"
# gpg: aka "Mark Brown <broonie@xxxxxxxxxx>"
# gpg: aka "Mark Brown <broonie@xxxxxxxxxx>"
# gpg: aka "Mark Brown <broonie@xxxxxxxxxxxxxxx>"
# gpg: aka "Mark Brown <broonie@xxxxxxxxxx>"
# gpg: aka "Mark Brown <Mark.Brown@xxxxxxxxxx>"
commit a5e5e12bd4ed5cd1123ace4300b5c07230fbf21e
Author: kbuild test robot <fengguang.wu@xxxxxxxxx>
Date: Mon Apr 13 02:16:21 2015 +0800
ASoC: Intel: fix array_size.cocci warnings
sound/soc/intel/haswell/sst-haswell-ipc.c:646:28-29: WARNING: Use
ARRAY_SIZE
Use ARRAY_SIZE instead of dividing sizeof array with sizeof an element
Semantic patch information:
This makes an effort to find cases where ARRAY_SIZE can be used such as
where there is a division of sizeof the array by the sizeof its first
element or by any indexed element or the element type. It replaces the
division of the two sizeofs by ARRAY_SIZE.
Generated by: scripts/coccinelle/misc/array_size.cocci
CC: Jie Yang <yang.jie@xxxxxxxxx>
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 6a23b45f1d4b9961e9bf38bc9fb64dc154272abf
Merge: 54d8ccc 64b4e25
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 12 10:56:12 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs and fs fixes from Al Viro:
"Several AIO and OCFS2 fixes"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
ocfs2: _really_ sync the right range
ocfs2_file_write_iter: keep return value and current position update in
sync
[regression] ocfs2: do *not* increment ->ki_pos twice
ioctx_alloc(): fix vma (and file) leak on failure
fix mremap() vs. ioctx_kill() race
commit 54d8ccc30270586f869bfb46ff8a8ca330c8aa23
Merge: 56fd85b 541d529
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Apr 12 10:43:30 2015 -0700
Merge branch 'fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal
Pull last minute thermal-SoC management fixes from Eduardo Valentin:
"Specifics:
- Minor fixes on ST and RCAR thermal drivers.
- Avoid flooding kernel log when driver returns -EAGAIN.
Note: I am sending this pull on Rui's behalf while he fixes issues in
his Linux box"
* 'fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal:
drivers: thermal: st: remove several sparse warnings
thermal: constify of_device_id array
thermal: Do not log an error if thermal_zone_get_temp returns -EAGAIN
thermal: rcar: Fix typo in r8a73a4 SoC name
commit 59c41d15e63063545b1f91f7ad5411c25f6d046d
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Sat Apr 11 10:47:58 2015 +0200
ASoC: n810: Automatically disconnect non-connected pins
All CODEC input and output widgets are either in the DAPM routing table or
manually marked as non-connected. This means the card is fully routed and
we
can let the core take care of disconnecting non-connected pins.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit d4bdaced1a81ca2953557f8ecae842b42879fda4
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Sat Apr 11 10:47:57 2015 +0200
ASoC: n810: Consistently pass the card DAPM context to n810_ext_control()
Some callers of n810_ext_control() pass the card DAPM context and some
pass
the CODEC DAPM context. Given that some of the widgets that are accessed
in
the function are in the card's context, always passing it is the obvious
choice.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit b213b44a96ed1f868f68b094dbcf8fc9622984ef
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Sat Apr 11 13:11:28 2015 +0200
ASoC: davinci-evm: Use card DAPM context to access widgets
The dapm field of the snd_soc_codec struct will eventually be removed
(replaced with the DAPM context from the component embedded inside the
CODEC). Replace its usage with the card's DAPM context. The idea is that
DAPM is hierarchical and with the card at the root it is possible to
access
widgets from other contexts through the card context.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 5cf57f0f6b25d046e6ea219d99681077edca5d7c
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Sat Apr 11 13:01:02 2015 +0200
ASoC: mop500_ab8500: Use card DAPM context to access widgets
The dapm field of the snd_soc_codec struct will eventually be removed
(replaced with the DAPM context from the component embedded inside the
CODEC). Replace its usage with the card's DAPM context. The idea is that
DAPM is hierarchical and with the card at the root it is possible to
access
widgets from other contexts through the card context.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 02f51640fedb61ab17fcddbd6fdb40239a4f46d9
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Sat Apr 11 12:52:01 2015 +0200
ASoC: wm1133-ev1: Use card DAPM context to access widgets
The dapm field of the snd_soc_codec struct will eventually be removed
(replaced with the DAPM context from the component embedded inside the
CODEC). Replace its usage with the card's DAPM context. The idea is that
DAPM is hierarchical and with the card at the root it is possible to
access
widgets from other contexts through the card context.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit ada602b30e070e786caa6e14a2e17100c6bd6998
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Sat Apr 11 11:16:19 2015 +0200
ASoC: atmel: Improve machine driver compile test coverage
The Atmel ASoC machine drivers don't have any compile time arch
dependencies
anymore. Make it possible to select them when COMPILE_TEST is enabled to
get
better compile test coverage.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 7ca92b8f5ad80e0d97f093dad81a4e4143c8edeb
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Sat Apr 11 11:16:18 2015 +0200
ASoC: atmel: Add dependency to SND_SOC_I2C_AND_SPI where necessary
The SND_AT91_SOC_SAM9G20_WM8731 and SND_AT91_SOC_SAM9X5_WM8731 machine
driver symbols select SND_SOC_WM8731 which depends on SND_SOC_I2C_AND_SPI.
So the machine driver symbols need to depend on SND_SOC_I2C_AND_SPI as
well,
otherwise we might end up with a invalid configuration, which will sooner
or
later upset the randconfig auto-builders.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 066450be419fa48007a9f29e19828f2a86198754
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Sun Apr 12 11:11:21 2015 +0200
perf/x86/intel/pt: Clean up the control flow in pt_pmu_hw_init()
Dan Carpenter pointed out that the control flow in pt_pmu_hw_init()
is a bit messy: for example the kfree(de_attrs) is entirely
superfluous.
Another problem is the inconsistent mixing of label based and
direct return error handling.
Add modern, label based error handling instead and clean up the code
a bit as well.
Note that we'll still do a kfree(NULL) in the normal case - this does
not matter as this is an init path and kfree() returns early if it
sees a NULL.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Link: http://lkml.kernel.org/r/20150409090805.GG17605@mwanda
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit c30cf8cbe55413cd643a0bdd3442d75950caa918
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Sun Apr 12 09:16:11 2015 +0200
ALSA: control: Fix a typo of SNDRV_CTL_ELEM_ACCESS_TLV_* with
SNDRV_CTL_TLV_OP_*
The commit [39d118677baa: ALSA: ctl: evaluate macro instead of
numerical value] replaced the numbers with constants, but one place
was replaced wrongly with a different type. Fixed now.
Fixes: 39d118677baa ('ALSA: ctl: evaluate macro instead of numerical
value')
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit eef0342cf32689f77d78ee3302999e5caaa6a8f3
Author: Adam Honse <calcprogrammer1@xxxxxxxxx>
Date: Sun Apr 12 01:03:07 2015 -0500
ALSA: usb-audio: Don't attempt to get Microsoft Lifecam Cinema sample rate
Adds Microsoft LifeCam Cinema USB ID to the snd_usb_get_sample_rate_quirk
list as the Lifecam Cinema does not appear to support getting the sample rate.
Fixes the issue where the LifeCam Cinema would wait for USB timeout and
log the message "cannot get freq at ep 0x82" when accessed.
Addresses bug report https://bugzilla.kernel.org/show_bug.cgi?id=95961.
Signed-off-by: Adam Honse <calcprogrammer1@xxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 4461471107b79bee16c497c9f7f69fa26126ae5b
Author: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Date: Sun Apr 12 01:09:05 2015 -0400
ext4 crypto: enable filename encryption
Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx>
Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx>
Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 1f3862b5575b138e83080232706e37ee24b8093e
Author: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Date: Sun Apr 12 01:09:03 2015 -0400
ext4 crypto: filename encryption modifications
Modifies htree_dirblock_to_tree, dx_make_map, ext4_match search_dir,
and ext4_find_dest_de to support fname crypto. Filename encryption
feature is not yet enabled at this patch.
Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx>
Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx>
Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit b30984864406ad01b72eee486add103e9cb3526f
Author: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Date: Sun Apr 12 01:07:01 2015 -0400
ext4 crypto: partial update to namei.c for fname crypto
Modifies dx_show_leaf and dx_probe to support fname encryption.
Filename encryption not yet enabled.
Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx>
Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx>
Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 4bdfc873ba34e425d6532581b4127b960274272a
Author: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Date: Sun Apr 12 00:56:28 2015 -0400
ext4 crypto: insert encrypted filenames into a leaf directory block
Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx>
Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx>
Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 2f61830ae33e2944ad66bb8bb40916f534b2e494
Author: Theodore Ts'o <tytso@xxxxxxx>
Date: Sun Apr 12 00:56:26 2015 -0400
ext4 crypto: teach ext4_htree_store_dirent() to store decrypted filenames
For encrypted directories, we need to pass in a separate parameter for
the decrypted filename, since the directory entry contains the
encrypted filename.
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit d5d0e8c7203a41c01ba05f4e053e16a94ce3c2e1
Author: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Date: Sun Apr 12 00:56:17 2015 -0400
ext4 crypto: filename encryption facilities
Signed-off-by: Uday Savagaonkar <savagaon@xxxxxxxxxx>
Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx>
Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit c9c7429c2e486f375bddd0c338cc3ad366123717
Author: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Date: Sun Apr 12 00:56:10 2015 -0400
ext4 crypto: implement the ext4 decryption read path
Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 2058f83a728adffbe00bded4f804b37a5ee58cbe
Author: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Date: Sun Apr 12 00:55:10 2015 -0400
ext4 crypto: implement the ext4 encryption write path
Pulls block_write_begin() into fs/ext4/inode.c because it might need
to do a low-level read of the existing data, in which case we need to
decrypt it.
Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit dde680cefc842e58524772099a3b8219e5abf551
Author: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Date: Sun Apr 12 00:55:09 2015 -0400
ext4 crypto: inherit encryption policies on inode and directory create
Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit d9cdc903318171571f1cd1e5737fd0cab94186be
Author: Theodore Ts'o <tytso@xxxxxxx>
Date: Sun Apr 12 00:55:08 2015 -0400
ext4 crypto: enforce context consistency
Enforce the following inheritance policy:
1) An unencrypted directory may contain encrypted or unencrypted files
or directories.
2) All files or directories in a directory must be protected using the
same key as their containing directory.
As a result, assuming the following setup:
mke2fs -t ext4 -Fq -O encrypt /dev/vdc
mount -t ext4 /dev/vdc /vdc
mkdir /vdc/a /vdc/b /vdc/c
echo foo | e4crypt add_key /vdc/a
echo bar | e4crypt add_key /vdc/b
for i in a b c ; do cp /etc/motd /vdc/$i/motd-$i ; done
Then we will see the following results:
cd /vdc
mv a b # will fail; /vdc/a and /vdc/b have different
keys
mv b/motd-b a # will fail, see above
ln a/motd-a b # will fail, see above
mv c a # will fail; all inodes in an encrypted
directory
# must be encrypted
ln c/motd-c b # will fail, see above
mv a/motd-a c # will succeed
mv c/motd-a a # will succeed
Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 88bd6ccdcdd638faa11e9746affc21d5f2fe2acf
Author: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Date: Sun Apr 12 00:55:06 2015 -0400
ext4 crypto: add encryption key management facilities
Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Signed-off-by: Ildar Muslukhov <muslukhovi@xxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit b30ab0e03407d2aa2d9316cba199c757e4bfc8ad
Author: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Date: Sun Apr 12 00:43:56 2015 -0400
ext4 crypto: add ext4 encryption facilities
On encrypt, we will re-assign the buffer_heads to point to a bounce
page rather than the control_page (which is the original page to write
that contains the plaintext). The block I/O occurs against the bounce
page. On write completion, we re-assign the buffer_heads to the
original plaintext page.
On decrypt, we will attach a read completion callback to the bio
struct. This read completion will decrypt the read contents in-place
prior to setting the page up-to-date.
The current encryption mode, AES-256-XTS, lacks cryptographic
integrity. AES-256-GCM is in-plan, but we will need to devise a
mechanism for handling the integrity data.
Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Signed-off-by: Ildar Muslukhov <ildarm@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 7da839c475894ea872ec909a5d2e83dddccff5be
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 9 14:01:33 2015 -0400
ocfs2: use __generic_file_write_iter()
we can do that now - all we need is to clear IOCB_DIRECT from ->ki_flags
in
"can't do dio" case.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 2ba48ce513c4e545318d22b138861d5876edf906
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 9 13:52:01 2015 -0400
mirror O_APPEND and O_DIRECT into iocb->ki_flags
... avoiding write_iter/fcntl races.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 3309dd04cbcd2cdad168485af5cf3576b5051e49
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 9 12:55:47 2015 -0400
switch generic_write_checks() to iocb and iter
... returning -E... upon error and amount of data left in iter after
(possible) truncation upon success. Note, that normal case gives
a non-zero (positive) return value, so any tests for != 0 _must_ be
updated.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Conflicts:
fs/ext4/file.c
commit 90320251db0fe3d05f2b10686ec936c7d6ecd99a
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 9 11:14:45 2015 -0400
ocfs2: move generic_write_checks() before the alignment checks
Alignment checks for dio depend upon the range truncation done by
generic_write_checks(). They can be done as soon as we got
ocfs2_rw_lock()
and that actually makes ocfs2_prepare_inode_for_write() simpler.
The only thing to watch out for is restoring the original count
in "unlock and redo without dio" case. Position doesn't need to be
restored, since we change it only in O_APPEND case and in that case it
will be reassigned anyway.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 5dc3161cb63265adca0c34fac79512af59b776a4
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 9 07:25:03 2015 -0400
ocfs2_file_write_iter: stop messing with ppos
it's &iocb->ki_pos; no need to obfuscate.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit dfea934575164497a9e36074ebce606a1a278ed9
Merge: 165f1a6 64b4e25
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Apr 11 22:29:51 2015 -0400
Merge branch 'for-linus' into for-next
commit 165f1a6e300d5a1ffb57cf9a9c8762de731228f2
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 15:26:36 2015 -0400
udf_file_write_iter: reorder and simplify
it's easier to do generic_write_checks() first
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 6b775b18eecf60b8a44723e05f8eb6251b71a7a9
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 15:06:19 2015 -0400
fuse: ->direct_IO() doesn't need generic_write_checks()
already done by caller. We used to call __fuse_direct_write(), which
called generic_write_checks(); now the former got expanded, bringing
the latter to the surface. It used to be called all along and calling
it from there had been wrong all along...
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit e768d7ff7b923a74a019d8782e6ee75dc1de12c1
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 14:48:22 2015 -0400
ext4_file_write_iter: move generic_write_checks() up
simpler that way...
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 99733fa372eaaa59cfb93fd383cee7b0ff056e1d
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 14:25:18 2015 -0400
xfs_file_aio_write_checks: switch to iocb/iov_iter
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 0fa6b005afdb3152ce85df963302e59b61115f9b
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Apr 4 04:05:48 2015 -0400
generic_write_checks(): drop isblk argument
all remaining callers are passing 0; some just obscure that fact.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 7ec7b94a3339756dfbb88234e3e45a428e8c08fb
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 11:35:14 2015 -0400
blkdev_write_iter: expand generic_file_checks() call in there
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 5f380c7fa7e01f15ca0816bd241ece9a64a73192
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 11:28:12 2015 -0400
lift generic_write_checks() into callers of __generic_file_write_iter()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 0b8def9d6dfa6b2a9a2740cf81d8d2c134688d39
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 10:22:53 2015 -0400
__generic_file_write_iter: keep ->ki_pos and return value consistent
A side effect worth noting: in O_APPEND case we set ->ki_pos early,
so if it turns out to be an error or a zero-length write, we'll
end up with ->ki_pos modified. Safe, since all callers never
look at the ->ki_pos after the call of __generic_file_write_iter()
returning non-positive, all the way to caller of ->write_iter() and
those discard ->ki_pos when getting that.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit e9d1593d4e9311bca040ecf6ec7599e6f235140c
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 6 22:44:11 2015 -0400
cifs: fold cifs_iovec_write() into the only caller
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit ccca26835dc27f7ba54e09d7aa03f462684a1927
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sun Apr 5 14:06:24 2015 -0400
ntfs: move iov_iter_truncate() closer to generic_write_checks()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit f765b134c0d3f294f6084d3e0a11de184059a387
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 6 20:50:38 2015 -0400
new_sync_write(): discard ->ki_pos unless the return value is positive
That allows ->write_iter() instances much more convenient life wrt
iocb->ki_pos (and fixes several filesystems with borderline POSIX
violations when zero-length write succeeds and changes the current
position).
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 22c6186ecea0be9eff1c399298ad36e94a59995f
Author: Omar Sandoval <osandov@xxxxxxxxxxx>
Date: Mon Mar 16 04:33:53 2015 -0700
direct_IO: remove rw from a_ops->direct_IO()
Now that no one is using rw, remove it completely.
Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 6f67376318abea58589ebe6d69dffeabb6f6c26a
Author: Omar Sandoval <osandov@xxxxxxxxxxx>
Date: Mon Mar 16 04:33:52 2015 -0700
direct_IO: use iov_iter_rw() instead of rw everywhere
The rw parameter to direct_IO is redundant with iov_iter->type, and
treated slightly differently just about everywhere it's used: some users
do rw & WRITE, and others do rw == WRITE where they should be doing a
bitwise check. Simplify this with the new iov_iter_rw() helper, which
always returns either READ or WRITE.
Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit a95cd6311512bd954e88684eb39373f7f4b0a984
Author: Omar Sandoval <osandov@xxxxxxxxxxx>
Date: Mon Mar 16 04:33:51 2015 -0700
Remove rw from dax_{do_,}io()
And use iov_iter_rw() instead.
Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 17f8c842d24ac054e4212c82b5bd6ae455a334f3
Author: Omar Sandoval <osandov@xxxxxxxxxxx>
Date: Mon Mar 16 04:33:50 2015 -0700
Remove rw from {,__,do_}blockdev_direct_IO()
Most filesystems call through to these at some point, so we'll start
here.
Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit bd8e0ff956456ad9071dbb6c2ed7d33bd22fc216
Author: Omar Sandoval <osandov@xxxxxxxxxxx>
Date: Tue Mar 17 14:04:02 2015 -0700
new helper: iov_iter_rw()
Get either READ or WRITE out of iter->type.
Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 8436318205b9f29e45db88850ec60e326327e241
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Apr 4 01:14:53 2015 -0400
->aio_read and ->aio_write removed
no remaining users
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 1c65d98672e09a0cb28e1e9ae49e9d96355f522f
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Apr 4 00:19:32 2015 -0400
pcm: another weird API abuse
readv() and writev() should _not_ ignore all but the first ->iov_len,
among other things. Really weird abuse of those syscalls - it
expects a vector element per channel, with identical lengths (it
actually assumes them to be identical - no checking is done).
readv() and writev() are really bad match for that. Unfortunately,
userland API is userland API and we can't do anything about them.
Converted to ->read_iter/->write_iter. Please, _please_ don't do
anything of that kind when designing new interfaces.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 4961772560d2f19695c73ece943716033ad62ac2
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Apr 4 00:11:32 2015 -0400
infinibad: weird APIs switched to ->write_iter()
Things Not To Do When Writing A Driver, part 1001st:
have writev() and write() on the same file doing completely
different things. As in, "interpret very different sets of
commands".
We _can_ handle that, but it's a bloody bad idea.
Don't do that in new drivers. Ever.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 9a219bc70b54523c8f14a3c957179854785ee97c
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 22:10:20 2015 -0400
kill do_sync_read/do_sync_write
all remaining instances of aio_{read,write} (all 4 of them) have explicit
->read and ->write resp.; do_sync_read/do_sync_write is never called by
__vfs_read/__vfs_write anymore and no other users had been left.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 6c09e94a32e1094983d39879b9e8ccf9ffdcfa36
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 22:06:08 2015 -0400
fuse: use iov_iter_get_pages() for non-splice path
store reference to iter instead of that to iovec
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit fbdbacca6153101f85cbc4ad8eb19bf0dde6a5cc
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 21:53:39 2015 -0400
fuse: switch to ->read_iter/->write_iter
we just change the calling conventions here; more work to follow.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit cd28e28d801e052a3378161c9cb3231828cfaa77
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 15:57:04 2015 -0400
switch drivers/char/mem.c to ->read_iter/->write_iter
Note that _these_ guys have ->read() and ->write() left in place - they
are
eqiuvalent to what we'd get if we replaced those with NULL, but we are
talking about hot paths here.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 5d5d568975307877e9195f5305f4240e506a2807
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 15:41:18 2015 -0400
make new_sync_{read,write}() static
All places outside of core VFS that checked ->read and ->write for being
NULL or
called the methods directly are gone now, so NULL {read,write} with
non-NULL
{read,write}_iter will do the right thing in all cases.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 86cc05840a0da1afcb6b8151b53f3b606457c91b
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 15:23:17 2015 -0400
coredump: accept any write method
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 283e7e5d249f4861c797679b6a5b53d525194c98
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 15:21:59 2015 -0400
switch /dev/loop to vfs_iter_write()
all writable files that might be used as backing store for /dev/loop
already support ->write_iter()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 79ff50c09eee690985e178417b36d7128ece8b68
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 15:14:42 2015 -0400
serial2002: switch to __vfs_read/__vfs_write
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit e145286685fe6a9eb3f984832b0667d0407081b1
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 15:09:38 2015 -0400
ashmem: use __vfs_read()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 3d04c8a17f1a0041a6851cf64f3da8c40deed837
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 15:09:18 2015 -0400
export __vfs_read()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit a35fb914ae62a58ca7519778fffac722c6ae255f
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 15:07:48 2015 -0400
autofs: switch to __vfs_write()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 493c84c0722ac991a96df2fd6c7798b2126b626c
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 15:06:43 2015 -0400
new helper: __vfs_write()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit c48722c6364ec94738afa42e48b1e1f8f20e3192
Merge: 34d0640 dcdbd7b
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Apr 11 22:28:58 2015 -0400
Merge branch '9p-iov_iter' into for-next
commit 34d0640e268923bb1fb9d244a047cdfcd3f77909
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 11:31:35 2015 -0400
switch hugetlbfs to ->read_iter()
... and fix the case when the area we are asked to read crosses
a hugepage boundary
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit c12c49e70218ed1bde28fc8182ac274889d15b9d
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 10:58:11 2015 -0400
coda: switch to ->read_iter/->write_iter
... and request the same from the local cache - all filesystems with
anything usable for that support those already.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 274a48869b26c53c641f146b312486e1693f4d61
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 23:30:18 2015 -0400
ncpfs: switch to ->read_iter/->write_iter
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit dcdbd7b269003bec7d729ca3fd143f93cf98f56e
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 23:11:36 2015 -0400
net/9p: remove (now-)unused helpers
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 21c9f5ccb103868c730aec6f8548e144ec397fed
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 21:47:49 2015 -0400
p9_client_attach(): set fid->uid correctly
it's almost always equal to current_fsuid(), but there's an exception -
if the first writeback fid is opened by non-root *and* that happens before
root has done any lookups in /, we end up doing attach for root. The
current code leaves the resulting FID owned by root from the server POV
and by non-root from the client one. Unfortunately, it means that e.g.
massive dcache eviction will leave that user buggered - they'll end
up redoing walks from / *and* picking that FID every time. As soon as
they try to create something, the things will get nasty.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit ce85dd58ad5a6c209bb6e7413997b87b667db7ad
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 12:02:03 2015 -0400
9p: we are leaking glock.client_id in v9fs_file_getlock()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit e494b6b5e1034db00571c44e089e6fe3845b6e8c
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 23:59:57 2015 -0400
9p: switch to ->read_iter/->write_iter
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 42b1ab979d92d21ae2ea376e77f33f18973b9581
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 23:49:24 2015 -0400
9p: get rid of v9fs_direct_file_read()
do it in ->direct_IO()...
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit e1200fe68f20759f359698f8a8dc81d06d1265f5
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 23:42:28 2015 -0400
9p: switch p9_client_read() to passing struct iov_iter *
... and make it loop
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 9565a5445240cd441f2c670aa7260ee8eb5dff79
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 22:32:23 2015 -0400
9p: get rid of v9fs_direct_file_write()
just handle it in ->direct_IO()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit c711a6b111322941a41bb024dbcc22b9858d5dd6
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 22:04:46 2015 -0400
9p: fold v9fs_file_write_internal() into the caller
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 371098c6a689da81fbb53bf7acf128f89a6efa09
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 21:54:42 2015 -0400
9p: switch ->writepage() to direct use of p9_client_write()
Don't mess with kmap() - just use ITER_BVEC.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 070b3656cf228eaaef7b28b59264c5c7cdbdd0fb
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 20:17:51 2015 -0400
9p: switch p9_client_write() to passing it struct iov_iter *
... and make it loop until it's done
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 4f3b35c157e43107cc7e1f1aa06694e8b22e10bb
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 19:57:53 2015 -0400
net/9p: switch the guts of p9_client_{read,write}() to iov_iter
... and have get_user_pages_fast() mapping fewer pages than requested
to generate a short read/write.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 6e242a1ceeb1bcf55ffefa84d3079f711fe8a667
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 31 12:35:13 2015 -0400
nommu: use __vfs_read()
... instead of open-coding the call of ->read()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit d0f88f8d5da674445f23ace60bb1896f4a3a3783
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 31 12:30:48 2015 -0400
acct: check FMODE_CAN_WRITE
it's not calling ->write() directly anymore.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 47e393622bbdd48aa21837eb2c55ee1c359e080c
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 31 11:54:59 2015 -0400
aio_run_iocb(): kill dead check
We check if ->ki_pos is positive. However, by that point we have
already done rw_verify_area(), which would have rejected such
unless the file had been one of /dev/mem, /dev/kmem and /proc/kcore.
All of which do not have vectored rw methods, so we would've bailed
out even earlier.
This check had been introduced before rw_verify_area() had been added
there
- in fact, it was a subset of checks done on sync paths by
rw_verify_area()
(back then the /dev/mem exception didn't exist at all). The rest of
checks
(mandatory locking, etc.) hadn't been added until later. Unfortunately,
by the time the call of rw_verify_area() got added, the /dev/mem exception
had already appeared, so it wasn't obvious that the older explicit check
downstream had become dead code. It *is* a dead code, though, since the
few
files for which the exception applies do not have ->aio_{read,write}() or
->{read,write}_iter() and for them we won't reach that check anyway.
What's more, even if we ever introduce vectored methods for /dev/mem
and friends, they'll have to cope with negative positions anyway, since
readv(2) and writev(2) are using the same checks as read(2) and write(2) -
i.e. rw_verify_area().
Let's bury it.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 08397acdd0f02d566154c9ac7f625ae8e77133b3
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 31 11:43:52 2015 -0400
ioctx_alloc(): remove pointless check
Way, way back kiocb used to be picked from arrays, so ioctx_alloc()
checked for multiplication overflow when calculating the size of
such array. By the time fs/aio.c went into the tree (in 2002) they
were already allocated one-by-one by kmem_cache_alloc(), so that
check had already become pointless. Let's bury it...
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 23602adfee71894d04ce2b69cbd6d29ab2e77d6d
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 23:39:16 2015 -0400
lustre: kill unused members of struct vvp_thread_info
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 812408fb51ef580200b169c5a0f653adb248f05b
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 22:15:58 2015 -0400
expand __fuse_direct_write() in both callers
it's actually shorter that way *and* later we'll want iocb in scope
of generic_write_check() caller.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 15316263649d9eed393d75095b156781a877eb06
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 22:08:36 2015 -0400
fuse: switch fuse_direct_io_file_operations to ->{read,write}_iter()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit cfa86a74122942a18806f861eeb2a0b97676a598
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 09:01:45 2015 -0400
cuse: switch to iov_iter
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 39c853ebfe169f187a760b34f9cbf54751bfce00
Merge: fdc81f4 01e97e6
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Apr 11 22:27:19 2015 -0400
Merge branch 'for-davem' into for-next
commit fdc81f45e9f57858da6351836507fbcf1b7583ee
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 20:25:30 2015 -0400
sg_start_req(): use import_iovec()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 451a2886b6bf90e2fb378f7c46c655450fb96e81
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 20:08:18 2015 -0400
sg_start_req(): make sure that there's not too many elements in iovec
unfortunately, allowing an arbitrary 16bit value means a possibility of
overflow in the calculation of total number of pages in
bio_map_user_iov() -
we rely on there being no more than PAGE_SIZE members of sum in the
first loop there. If that sum wraps around, we end up allocating
too small array of pointers to pages and it's easy to overflow it in
the second loop.
X-Coverup: TINC (and there's no lumber cartel either)
Cc: stable@xxxxxxxxxxxxxxx # way, way back
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 8f7e885a4cc167f8b1931800fa1319772ae4b11d
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 20:06:04 2015 -0400
blk_rq_map_user(): use import_single_range()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit e272b89ff8fb63902294ba6eadd14729e2880ade
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 20:02:55 2015 -0400
sg_io(): use import_iovec()
... and don't skip access_ok() validation.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 17d17e728224f69311675e2ff312e992b7cc7b1e
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 14:47:11 2015 -0400
process_vm_access: switch to {compat_,}import_iovec()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit b353a1f7bbd6c015e8563e902f7c78710348e28f
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 17 09:59:38 2015 -0400
switch keyctl_instantiate_key_common() to iov_iter
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 0504c074b546651f19f23a214b76d145d3a0f5af
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 19:40:11 2015 -0400
switch {compat_,}do_readv_writev() to {compat_,}import_iovec()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 32a56afa23e157b444b6c2b943322ea0d119517b
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 19:34:53 2015 -0400
aio_setup_vectored_rw(): switch to {compat_,}import_iovec()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 345995fa48c599210fd339a768eb68dead430b79
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 19:17:55 2015 -0400
vmsplice_to_user(): switch to import_iovec()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit d4fb392f4c5e57197a43b729e6fad5e02e5acaca
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 19:11:55 2015 -0400
kill aio_setup_single_vector()
identical to import_single_range()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 36e9f6535f398952772df5238b23e795a2810f86
Merge: a96114f bc917be
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Apr 11 22:26:51 2015 -0400
Merge branch 'iov_iter' into for-next
commit a96114fa1acaabca1091a27aacebd945a5733075
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 20 20:40:18 2015 -0400
aio: simplify arguments of aio_setup_..._rw()
We don't need req in either of those. We don't need nr_segs in caller.
We don't really need len in caller either - iov_iter_count(&iter) will do.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 4c185ce06dca14f5cea192f5a2c981ef50663f2b
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 20 20:17:32 2015 -0400
aio: lift iov_iter_init() into aio_setup_..._rw()
the only non-trivial detail is that we do it before rw_verify_area(),
so we'd better cap the length ourselves in aio_setup_single_rw()
case (for vectored case rw_copy_check_uvector() will do that for us).
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit ac15ac0669d5f5ce7fddec0d9cf3721c42d77a2c
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 20 20:10:21 2015 -0400
lift iov_iter into {compat_,}do_readv_writev()
get it closer to matching {compat_,}rw_copy_check_uvector().
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit c0fec3a98bd6c4d992f191ee1aa0b3599213f3d4
Merge: c1b8940 e2e40f2
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Apr 11 22:24:41 2015 -0400
Merge branch 'iocb' into for-next
commit c1b8940b42bb6487b10f2267a96b486276ce9ff7
Author: Andrew Elble <aweits@xxxxxxx>
Date: Mon Feb 23 08:51:24 2015 -0500
NFS: fix BUG() crash in notify_change() with patch to chown_common()
We have observed a BUG() crash in fs/attr.c:notify_change(). The crash
occurs during an rsync into a filesystem that is exported via NFS.
1.) fs/attr.c:notify_change() modifies the caller's version of attr.
2.) 6de0ec00ba8d ("VFS: make notify_change pass ATTR_KILL_S*ID to
setattr operations") introduced a BUG() restriction such that "no
function will ever call notify_change() with both ATTR_MODE and
ATTR_KILL_S*ID set". Under some circumstances though, it will have
assisted in setting the caller's version of attr to this very
combination.
3.) 27ac0ffeac80 ("locks: break delegations on any attribute
modification") introduced code to handle breaking
delegations. This can result in notify_change() being re-called. attr
_must_ be explicitly reset to avoid triggering the BUG() established
in #2.
4.) The path that that triggers this is via fs/open.c:chmod_common().
The combination of attr flags set here and in the first call to
notify_change() along with a later failed break_deleg_wait()
results in notify_change() being called again via retry_deleg
without resetting attr.
Solution is to move retry_deleg in chmod_common() a bit further up to
ensure attr is completely reset.
There are other places where this seemingly could occur, such as
fs/utimes.c:utimes_common(), but the attr flags are not initially
set in such a way to trigger this.
Fixes: 27ac0ffeac80 ("locks: break delegations on any attribute
modification")
Reported-by: Eric Meddaugh <etmsys@xxxxxxx>
Tested-by: Eric Meddaugh <etmsys@xxxxxxx>
Signed-off-by: Andrew Elble <aweits@xxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 3d330dc175d3faf518cf035be5ae6a39bf256e6e
Author: J. Bruce Fields <bfields@xxxxxxxxxx>
Date: Tue Feb 10 10:55:53 2015 -0500
dcache: return -ESTALE not -EBUSY on distributed fs race
On a distributed filesystem it's possible for lookup to discover that a
directory it just found is already cached elsewhere in the directory
heirarchy. The dcache won't let us keep the directory in both places,
so we have to move the dentry to the new location from the place we
previously had it cached.
If the parent has changed, then this requires all the same locks as we'd
need to do a cross-directory rename. But we're already in lookup
holding one parent's i_mutex, so it's too late to acquire those locks in
the right order.
The (unreliable) solution in __d_unalias is to trylock() the required
locks and return -EBUSY if it fails.
I see no particular reason for returning -EBUSY, and -ESTALE is already
the result of some other lookup races on NFS. I think -ESTALE is the
more helpful error return. It also allows us to take advantage of the
logic Jeff Layton added in c6a9428401c0 "vfs: fix renameat to retry on
ESTALE errors" and ancestors, which hopefully resolves some of these
errors before they're returned to userspace.
I can reproduce these cases using NFS with:
ssh root@$client '
mount -olookupcache=pos '$server':'$export' /mnt/
mkdir /mnt/TO
mkdir /mnt/DIR
touch /mnt/DIR/test.txt
while true; do
strace -e open cat /mnt/DIR/test.txt 2>&1 | grep EBUSY
done
'
ssh root@$server '
while true; do
mv $export/DIR $export/TO/DIR
mv $export/TO/DIR $export/DIR
done
'
It also helps to add some other concurrent use of the directory on the
client (e.g., "ls /mnt/TO"). And you can replace the server-side mv's
by client-side mv's that are repeatedly killed. (If the client is
interrupted while waiting for the RENAME response then it's left with a
dentry that has to go under one parent or the other, but it doesn't yet
know which.)
Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx>
Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit a632f5593041305c8adbf4727bc1ccdf0b45178b
Author: Anton Altaparmakov <anton@xxxxxxxxxx>
Date: Wed Mar 11 10:43:32 2015 -0400
NTFS: Version 2.1.32 - Update file write from aio_write to write_iter.
Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 171a02032bf1e1bb35442a38d6e25e0dcbb85c63
Author: Anton Altaparmakov <anton@xxxxxxxxxx>
Date: Wed Mar 11 10:43:31 2015 -0400
VFS: Add iov_iter_fault_in_multipages_readable()
simillar to iov_iter_fault_in_readable() but differs in that it is
not limited to faulting in the first iovec and instead faults in
"bytes" bytes iterating over the iovecs as necessary.
Also, instead of only faulting in the first and last page of the
range, all pages are faulted in.
This function is needed by NTFS when it does multi page file
writes.
Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit e5b811e38af7540b385c898d83eb0198310343fd
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 8 23:36:51 2015 -0400
drop bogus check in file_open_root()
For one thing, LOOKUP_DIRECTORY will be dealt with in do_last().
For another, name can be an empty string, but not NULL - no callers
pass that and it would oops immediately if they would.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 3f7036a071b879da017eddaedb10fba173fdf1ff
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 8 19:28:30 2015 -0400
switch security_inode_getattr() to struct path *
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 2247386243747500977dc92b1ab833401303f9f0
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 8 19:24:30 2015 -0400
constify tomoyo_realpath_from_path()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 74008b365dcb921781f7430c1fc279be7778327b
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Mon Feb 23 05:46:21 2015 -0500
whack-a-mole: there's no point doing set_fs(USER_DS) in sigframe setup
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit a555ad450f973528825201a5fedbe46374f86644
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Mon Feb 23 03:21:31 2015 -0500
whack-a-mole: no need to set_fs(USER_DS) in {start,flush}_thread()
flush_old_exec() has already done that. Back on 2011 a bunch of
instances like that had been kicked out, but that hadn't taken
care of then-out-of-tree architectures, obviously, and they served
as reinfection vector...
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 9e7543e9398ddd9679fbc81748a3e62eff4ab105
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Mon Feb 23 02:49:48 2015 -0500
remove incorrect comment in lookup_one_len()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 74eb8cc5a5f8ec85b8f6b8daebbce05a27e77e2a
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Mon Feb 23 02:44:36 2015 -0500
namei.c: fold do_path_lookup() into both callers
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit fd2f7cb5bcac58b63717cd45366bff9a6ab961c6
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sun Feb 22 20:07:13 2015 -0500
kill struct filename.separate
just make const char iname[] the last member and compare name->name with
name->iname instead of checking name->separate
We need to make sure that out-of-line name doesn't end up allocated
adjacent
to struct filename refering to it; fortunately, it's easy to achieve -
just
allocate that struct filename with one byte in ->iname[], so that
->iname[0]
will be inside the same object and thus have an address different from
that
of out-of-line name [spotted by Boqun Feng <boqun.feng@xxxxxxxxx>]
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 56fd85b5dd595c84ed12b4b12e9b271876ac34de
Merge: 12522ee 14f0413c
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 11 15:57:36 2015 -0700
Merge tag 'asoc-fix-v4.0-rc7' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound
Pull last-minute ASoC fix from Mark Brown:
"This patch backs out a change that came in during the merge window
which selects a configuration for GPIO4 on pcm512x CODECs that may not
be suitable for all systems using the device. Changes for v4.1 will
make this properly configurable but for now it's safest to revert to
the v3.19 behaviour and leave the pin configuration alone.
Sorry for sending this direct at the last minute but due to the GPIO
misuse it'd be really good to get it in the release and I'd not
realised it hadn't been sent yet - between some travel, a job change
and other non-urgent fixes coming in I'd lost track of the urgency.
It's been in -next for several weeks now, is isolated to the driver
and fairly clear to inspection"
* tag 'asoc-fix-v4.0-rc7' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound:
ASoC: pcm512x: Remove hardcoding of pll-lock to GPIO4
commit 56afdb70ca9140cdcbdcf01870f3e4e2e8be17f5
Merge: 165f228 956b200a 3006191
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sat Apr 11 23:09:31 2015 +0100
Merge remote-tracking branches 'spi/topic/spidev' and
'spi/topic/spidev-test' into spi-next
commit 165f2288e1fc82df0c429942f2b7aef69de17d72
Merge: 8afba18 612762e 76b17e6 c9bc3e8 0744ea2 b4e2754
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sat Apr 11 23:09:25 2015 +0100
Merge remote-tracking branches 'spi/topic/qup', 'spi/topic/rockchip',
'spi/topic/rspi', 'spi/topic/s3c64xx' and 'spi/topic/sc18is602' into spi-next
commit 8afba181b90fbad372c420c302a57c0c4f9fdae4
Merge: 35fbf84 db91841 d4f9dcd 7183d1e ea022bb eecacf7
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sat Apr 11 23:09:18 2015 +0100
Merge remote-tracking branches 'spi/topic/omap-100k',
'spi/topic/omap-uwire', 'spi/topic/pl022', 'spi/topic/pm' and
'spi/topic/pxa2xx' into spi-next
commit 35fbf8452ce6e7da4389d037a981c9d8d58dc1b7
Merge: 431959c 7f43a87 63031ed e8361f7 0935540
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sat Apr 11 23:09:14 2015 +0100
Merge remote-tracking branches 'spi/topic/fsl-cspi',
'spi/topic/fsl-dspi', 'spi/topic/imx' and 'spi/topic/of-id' into spi-next
commit 431959c0793e0d399303a061424dbaa1b33eb940
Merge: f9de734 057f606 38b6484 207cda9 ff61eb4
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sat Apr 11 23:09:09 2015 +0100
Merge remote-tracking branches 'spi/topic/blackfin', 'spi/topic/cadence',
'spi/topic/dw' and 'spi/topic/err' into spi-next
commit f9de73426c69ec3357c31a10af5f5acb037dbbaa
Merge: 19655dd ea46732 b716c4f 704f32d b3e7766 232a5ad
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sat Apr 11 23:09:03 2015 +0100
Merge remote-tracking branches 'spi/topic/atmel', 'spi/topic/bcm2385',
'spi/topic/bcm2835', 'spi/topic/bcm53xx' and 'spi/topic/bitbang' into spi-next
commit 19655dd083290c371cbb5279839314a6927d9082
Merge: e897f79 8c2c8c0
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sat Apr 11 23:09:01 2015 +0100
Merge remote-tracking branch 'spi/topic/img-spfi' into spi-next
commit e897f795a925c95082b6890c6c6a00286b702012
Merge: 31d25e5 22de3ef
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sat Apr 11 23:09:00 2015 +0100
Merge remote-tracking branch 'spi/topic/core' into spi-next
commit 31d25e5cdad8e627a6509261da8b1eb083d66107
Merge: 68a595c e689d6d f511ab0 754ec43
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sat Apr 11 23:08:56 2015 +0100
Merge remote-tracking branches 'spi/fix/fsl-dspi', 'spi/fix/imx' and
'spi/fix/rockchip' into spi-linus
commit 68a595c7754d22bfe741a27c7df0965160df575d
Merge: f22e6e8 8543d0e
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Sat Apr 11 23:08:54 2015 +0100
Merge remote-tracking branch 'spi/fix/img-spfi' into spi-linus
commit 8616774968f3baf0c49fc6bcca9550cac49034ee
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Sat Apr 11 00:18:37 2015 +0200
ASoC: rnsd: fix build regression without CONFIG_OF
The r-car sound driver only works when CONFIG_OF is set, and
after a recent change has a compile-time dependency as well:
sound/built-in.o: In function `rsnd_dma_request_channel':
:(.text+0x9fb84): undefined reference to `of_dma_request_slave_channel'
This could be fixed either by adding a static inline wrapper
for the function, or by adding a Kconfig dependency. This
implements the second approach, which seems appropriate
because the driver in fact has a hard dependency.
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Fixes: 72adc61f4637aa3 ("ASoC: rsnd: 1st DMAC dma-names cares subnode")
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit f6194213cbe871341cd5dfcfe31b4de78ef9503f
Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Date: Thu Mar 26 13:07:29 2015 +0000
clk: at91: change to using endian agnositc IO
Change to using endian agnostic _relaxed IO accessors instead of __raw
Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
--
CC: Andrew Victor <linux@xxxxxxxxxxxx>
CC: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
CC: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx>
CC: Mike Turquette <mturquette@xxxxxxxxxx> (maintainer:COMMON CLK
FRAMEWORK)
CC: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> (maintainer:COMMON CLK FRAMEWORK)
CC: linux-kernel@xxxxxxxxxxxxxxx (open list:COMMON CLK FRAMEWORK)
Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx>
commit 14f0413ce3c400a74213a861bc8f47dca5e4d231
Author: Howard Mitchell <hm@xxxxxxxxxxxxxx>
Date: Mon Mar 23 21:17:01 2015 +0000
ASoC: pcm512x: Remove hardcoding of pll-lock to GPIO4
Currently GPIO4 is hardcoded to output the pll-lock signal.
Unfortunately this is after the pll-out GPIO is configured which
is selectable in the device tree. Therefore it is not possible to
use GPIO4 for pll-out. Therefore this patch removes the
configuration of GPIO4.
Signed-off-by: Howard Mitchell <hm@xxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 12522eeac88165d0db56a6a19ab607addf728995
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 11 13:46:07 2015 -0700
Revert "dmaengine: Add a warning for drivers not using the generic slave
caps retrieval"
This reverts commit ecc19d17868be9c9f8f00ed928791533c420f3e0.
It added a new warning to try to encourage driver writers to set the
device capabities properly, but drivers haven't been updated and in the
meantime it just generaters a scary message that users cannot actually
do anything about.
Warnings like these are appropriate if you actually expect to fix the
code that causes them. They are not appropriate for releases.
Requested-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ac2111753ca9350c8634c5d5f592628b32652cf3
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 9 14:12:22 2015 -0700
blk-mq: initialize 'struct request' and associated data to zero
Jan Engelhardt reports a strange oops with an invalid ->sense_buffer
pointer in scsi_init_cmd_errh() with the blk-mq code.
The sense_buffer pointer should have been initialized by the call to
scsi_init_request() from blk_mq_init_rq_map(), but there seems to be
some non-repeatable memory corruptor.
This patch makes sure we initialize the whole struct request allocation
(and the associated 'struct scsi_cmnd' for the SCSI case) to zero, by
using __GFP_ZERO in the allocation. The old code initialized a couple
of individual fields, leaving the rest undefined (although many of them
are then initialized in later phases, like blk_mq_rq_ctx_init() etc.
It's not entirely clear why this matters, but it's the rigth thing to do
regardless, and with 4.0 imminent this is the defensive "let's just make
sure everything is initialized properly" patch.
Tested-by: Jan Engelhardt <jengelh@xxxxxxx>
Acked-by: Jens Axboe <axboe@xxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 01e97e6517053d7c0b9af5248e944a9209909cf5
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Mon Dec 15 21:39:31 2014 -0500
new helper: msg_data_left()
convert open-coded instances
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit a2dd3793a1c3ac709f1d7b48ad7751563f4c654f
Merge: d8725c8 53d5864
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Apr 11 15:51:09 2015 -0400
Merge remote-tracking branch 'dh/afs' into for-davem
commit d8725c86aebaf3516e220760aaf5fefc73825188
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Thu Dec 11 00:02:50 2014 -0500
get rid of the size argument of sock_sendmsg()
it's equal to iov_iter_count(&msg->msg_iter) in all cases
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit b641173915ae7b51c79abfde9580c3a381876bb1
Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 21:35:29 2015 +0300
ixgbevf: Add the appropriate ethtool ops to query RSS indirection table
and key
Added get_rxfh_indir_size, get_rxfh_key_size and get_rxfh ethtool_ops
callbacks implementations.
This enables the ethtool's "-x" and "--show-rxfh[-indir]" options for VF
devices.
This patch adds the support for 82599 and x540 devices only. Support for
other devices will be added later.
Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit ad1431e2db5590bcc32ded8a27b3b5c0ced9add7
Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 21:35:28 2015 +0300
ixgbevf: Add RSS Key query code
Add the ixgbevf_get_rss_key() function that queries the PF for an RSS
Random Key using a new VF-PF channel IXGBE_VF_GET_RSS_KEY command.
This patch adds the support for 82599 and x540 devices only. Support for
other devices will be added later.
Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 3c0841a9229d9d3c33bab06b661314b82896c2d9
Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 21:35:27 2015 +0300
ixgbe: Add GET_RSS_KEY command to VF-PF channel commands set
For 82599 and x540 VFs and PF share the same RSS Key. Therefore we will
return the same RSS key for all VFs.
Support for other devices will be added later.
Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 8fa5975900ba4e91e14a63f11fb7a026f60cecd5
Merge: 545124e ffeb13a
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 11 10:52:13 2015 -0700
Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma
Pull dmaengine fix from Vinod Koul:
"I have one more fix to fix the boot warning on cppi driver due to
missing capabilities"
* 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
dmaengine: cppi41: add missing bitfields
commit 545124e7773fc2f5f0f9574e5763583f7920d872
Merge: 3259b12 d0acf73
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 11 10:47:17 2015 -0700
Merge tag 'for-linus-4.0-1' of git://git.code.sf.net/p/openipmi/linux-ipmi
Pull late ipmi fixes from Corey Minyard:
"Some annoying issues in the IPMI driver that would be good to have
fixed before 4.0 is released.
These got reported or discovered late, but they will avoid some
situations that would cause lots of log spam and in one case a
deadlock"
* tag 'for-linus-4.0-1' of git://git.code.sf.net/p/openipmi/linux-ipmi:
ipmi_ssif: Use interruptible completion for waiting in the thread
ipmi/powernv: Fix minor locking bug
ipmi: Handle BMCs that don't allow clearing the rcv irq bit
commit df63b9994eaf942afcdb946d27a28661d7dfbf2a
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Apr 10 14:58:39 2015 +0300
drm/atomic: Add for_each_{connector,crtc,plane}_in_state helper macros
This saves some typing whenever a iteration over all the connector,
crtc or plane states in the atomic state is written, which happens
quite often.
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 99dcab46b5a5b470074bec6d8386e2c7807684cf
Author: Michael Gernoth <michael@xxxxxxxxxxx>
Date: Sat Apr 11 18:00:19 2015 +0200
ALSA: emu10k1: add toggles for E-mu 1010 optical ports
The optical ports on the E-mu 1010 (and dock) can be configured
for ADAT- or S/PDIF-mode, which is currently hardcoded to ADAT.
Add two mixer elements to expose this setting.
Tested on an E-mu 1010 PCIe with connected Micro Dock.
Signed-off-by: Michael Gernoth <michael@xxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 94cf66f87064b8e4b24412f042b98e7cba4ebce2
Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 21:35:26 2015 +0300
ixgbevf: Add a RETA query code
We will currently support only 82599 and x540 devices. Support for other
devices will be added later.
- Added a new API version support.
- Added the query implementation in the ixgbevf.
Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit ffeb13aab68e2d0082cbb147dc765beb092f83f4
Author: Felipe Balbi <balbi@xxxxxx>
Date: Wed Apr 8 11:45:42 2015 -0500
dmaengine: cppi41: add missing bitfields
Add missing directions, residue_granularity,
srd_addr_widths and dst_addr_widths bitfields.
Without those we will see a kernel WARN()
when loading musb on am335x devices.
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit cab2ed7474bffafd2a68a885e03b85526194abcd
Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
Date: Sat Apr 11 17:41:04 2015 +0900
ALSA: ctl: fill identical information to return value when adding
userspace elements
currently some members related identical information are not fiiled
in returned parameter of SNDRV_CTL_IOCTL_ELEM_ADD. This is not better
for userspace application.
This commit copies information to returned value. When failing to copy
into userspace, the added elements are going to be removed. Then, no
applications can lock these elements between adding and removing because
these are already locked.
Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit c378c3b03c8d6eef2d2600d0279e2c718d6a0a44
Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
Date: Sat Apr 11 17:41:03 2015 +0900
ALSA: ctl: fix a bug to return no identical information in info operation
for userspace controls
In operations of SNDRV_CTL_IOCTL_ELEM_INFO, identical information in
returned value is cleared. This is not better to userspace application.
This commit confirms to return full identical information to the
operations.
Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit c78497e010ae62c8abfb33a45d0e0b361218e9bb
Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
Date: Sat Apr 11 17:41:02 2015 +0900
ALSA: ctl: confirm to return all identical information in 'activate' event
When event originator doesn't set numerical ID in identical information,
the event data includes no numerical ID, thus userspace applications
cannot identify the control just by unique ID in event data.
This commit fix this bug so as the event data includes all of identical
information.
Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit fa863b2d5e62e2ea7d86ccfa9a888bd28dd79ebe
Author: Michael Gernoth <michael@xxxxxxxxxxx>
Date: Sat Apr 11 14:34:44 2015 +0200
ALSA: emu10k1: handle dock disconnects
When the dock on an E-mu 1010 card is disconnected, all outputs get
muted by the hardware. Add logic to detect a disconnect and unmute.
Signed-off-by: Michael Gernoth <michael@xxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit c0278669fb61596cc1a10ab8686d27c37269c37b
Author: Yves-Alexis Perez <corsac@xxxxxxxxxx>
Date: Sat Apr 11 09:31:35 2015 +0200
ALSA: hda - Add dock support for ThinkPad X250 (17aa:2226)
This model uses the same dock port as the previous generation.
Signed-off-by: Yves-Alexis Perez <corsac@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 197175427a221fe3200f7727ea35e261727e7228
Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Date: Wed Apr 1 17:30:36 2015 +0300
Documentation/memcg: update memcg/kmem status
Memcg/kmem reclaim support has been finally merged. Reflect this in the
documentation.
Acked-by: Michal Hocko <mhocko@xxxxxxx>
Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
commit 82c91e87642dd6f88b9d9b1e5cc09232b6701eb0
Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx>
Date: Sun Apr 5 11:50:02 2015 +0800
Documentation: blackfin: Makefile: Typo building issue
Miss a ')' for ifneq in Makefile, the related building error:
Documentation/blackfin/Makefile:2: *** invalid syntax in conditional.
Stop.
make[1]: *** [Documentation/blackfin] Error 2
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
commit 3250af197b0ad7b6935a955c7e5492cf49d39ccd
Author: Randy Wright <rwright@xxxxxx>
Date: Fri Apr 10 15:00:02 2015 -0600
Documentation/vm/pagemap.txt: correct location of page-types tool
The page-types tool was relocated to tools/vm in the 3.4 kernel timeframe.
Signed-off-by: Randy Wright <rwright@xxxxxx>
Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
commit 9bd8212f981ea6375911fe055382ad7529be5b28
Author: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Date: Sat Apr 11 07:48:01 2015 -0400
ext4 crypto: add encryption policy and password salt support
Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
Signed-off-by: Ildar Muslukhov <muslukhovi@xxxxxxxxx>
commit 887e2c452255fbfdc8bdb891ff2066fb26908466
Author: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Date: Sat Apr 11 07:47:00 2015 -0400
ext4 crypto: add encryption xattr support
Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit e875a2ddba06ff8e84d4ce1c2bf69b67e4bf3678
Author: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Date: Sat Apr 11 07:46:49 2015 -0400
ext4 crypto: export ext4_empty_dir()
Required for future encryption xattr changes.
Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit b17655fb7f4a1d27c1e50dcc28268612da944a54
Author: Theodore Ts'o <tytso@xxxxxxx>
Date: Sat Apr 11 07:46:47 2015 -0400
ext4 crypto: add ext4 encryption Kconfig
Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit f542fbe8d5e842ed4e9ad6ccc6c2913407451c51
Author: Theodore Ts'o <tytso@xxxxxxx>
Date: Sat Apr 11 07:44:12 2015 -0400
ext4 crypto: reserve codepoints used by the ext4 encryption feature
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 3b75232d55680ca166dffa274d0587d5faf0a016
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Fri Apr 10 15:06:59 2015 +0200
perf/x86/64: Report regs_user->ax too in get_regs_user()
I don't see why we report e.g. orix_ax, which is not always
meaningful, but don't report ax, which is meaningful.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428671219-29341-4-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 32caa06091cc59651222cdc971dc21eaab36b097
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Fri Apr 10 15:06:58 2015 +0200
perf/x86/64: Simplify regs_user->abi setting code in get_regs_user()
user_64bit_mode(regs) basically checks regs->cs to point to a
64-bit segment. This check used to be unreliable here because
regs->cs was not always correct in syscalls.
Now regs->cs is always correct: in syscalls, in interrupts, in
exceptions. No need to emply heuristics here.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428671219-29341-3-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 5df71b396b2d1fdd9d9f5a33e2eda5dc27c5632d
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Fri Apr 10 15:06:57 2015 +0200
perf/x86/64: Do report user_regs->cx while we are in syscall, in
get_regs_user()
Yes, it is true that cx contains return address.
It's not clear why we trash it.
Stop doing that.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428671219-29341-2-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit aa21df0424468dbd991440d41ba0f700c5997103
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Fri Apr 10 15:06:56 2015 +0200
perf/x86/64: Do not guess user_regs->cs, ss, sp in get_regs_user()
After recent changes to syscall entry points,
user_regs->{cs,ss,sp} are always correct. (They used to be
undefined while in syscalls).
We can report them reliably, without guessing.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428671219-29341-1-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit f7e9e358362557c3aa2c1ec47490f29fe880a09e
Author: Dave Olson <olson@xxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 21:28:45 2015 -0700
powerpc: Fix missing L2 cache size in /sys/devices/system/cpu
This problem appears to have been introduced in 2.6.29 by commit
93197a36a9c1 "Rewrite sysfs processor cache info code".
This caused lscpu to error out on at least e500v2 devices, eg:
error: cannot open /sys/devices/system/cpu/cpu0/cache/index2/size: No
such file or directory
Some embedded powerpc systems use cache-size in DTS for the unified L2
cache size, not d-cache-size, so we need to allow for both DTS names.
Added a new CACHE_TYPE_UNIFIED_D cache_type_info structure to handle
this.
Fixes: 93197a36a9c1 ("powerpc: Rewrite sysfs processor cache info code")
Signed-off-by: Dave Olson <olson@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit c54b2bf1b5e99760d53ea0376e96a046f93df6ae
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Thu Apr 9 12:52:56 2015 +1000
powerpc: Add ppc64 hard lockup detector support
The hard lockup detector uses a PMU event as a periodic NMI to
detect if we are stuck (where stuck means no timer interrupts have
occurred).
Ben's rework of the ppc64 soft disable code has made ppc64 PMU
exceptions a partial NMI. They can get disabled if an external
interrupt comes in, but otherwise PMU interrupts will fire in
interrupt disabled regions.
We disable the hard lockup detector by default for a few reasons:
- It breaks userspace event based branches on POWER8.
- It is likely to produce false positives on KVM guests.
- Since PMCs can only count to 2^31, counting cycles means we might
take multiple PMU exceptions per second per hardware thread even
if our hard lockup timeout is 10 seconds.
It can be enabled via a boot option, or via procfs.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit af9feebe60add19fdd15adee80ac5b4eeb2a489b
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Thu Apr 9 12:52:55 2015 +1000
oprofile: Disable oprofile NMI timer on ppc64
We want to enable the hard lockup detector on ppc64, but right now
that enables the oprofile NMI timer too.
We'd prefer not to enable the oprofile NMI timer, it adds another
element to our PMU testing and it requires us to increase our
exported symbols (eg cpu_khz).
Modify the config entry for OPROFILE_NMI_TIMER to disable it on PPC64.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Acked-by: Robert Richter <rric@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit b816ce67fcb57f9d51681cb3d26fd6598b4351ed
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 17 14:14:36 2015 -0500
powerpc/perf/hv-24x7: Add missing put_cpu_var()
Add missing put_cpu_var() for 24x7 requests. This went missing in
commit f34b6c7 (3.18-rc3).
Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit aeab199d84c2616ffc5e29aa4831bd8a660bde96
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 18:53:47 2015 -0700
powerpc/perf/hv-24x7: Break up single_24x7_request
Break up the function single_24x7_request() into smaller functions.
This would later enable us to "prepare" a multi-event request
buffer and then submit a single hcall for several events.
Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 529ce8c9ddd00bd1ee77727f7a83c02dff0684f8
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 18:53:46 2015 -0700
powerpc/perf/hv-24x7: Define update_event_count()
Move the code to update an event count into a new function,
update_event_count().
Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 3ca4ea71cb27b4de781dd86f06e322ee11c82975
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 18:53:45 2015 -0700
powerpc/perf/hv-24x7: Whitespace cleanup
Fix minor whitespace damages.
Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit e3ee15dc5d19d060012d0a89b085d56e50d40a2b
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 18:53:44 2015 -0700
powerpc/perf/hv-24x7: Define add_event_to_24x7_request()
Move code that maps a perf_event to a 24x7 request buffer into a
separate function, add_event_to_24x7_request().
Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 33ba14c0d8ff64d51adb543f689cde7a9a227cd8
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 18:53:43 2015 -0700
powerpc/perf/hv-24x7: Rename hv_24x7_event_update
For consistency with the pmu operation ->read() and with other
pmus, rename hv_24x7_event_update() to hv_24x7_event_read().
Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit f954825dd9c47ffaa0e6ff86e16a2355ae8a81d7
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 18:53:42 2015 -0700
powerpc/perf/hv-24x7: Move debug prints to separate function
To simplify/cleanup code, move the rather long printk() to a separate
function.
Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 8079876497653381c233445374465c3da6450766
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 18:53:41 2015 -0700
powerpc/perf/hv-24x7: Drop event_24x7_request()
The function event_24x7_request() is essentially a wrapper to the
function single_24x7_request() and can be dropped to simplify code.
Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 7aabe0cec2bcfcb08a4e706ec7c794883cbbcf6f
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 18:53:40 2015 -0700
powerpc/perf/hv-24x7: Use pr_devel() to log message
Use pr_devel_ratelimited() to log error message when the 24x7 HCALL
fails. Since users specify events by their sysfs name, the HCALL should
succeed. Any errors reported by the HCALL would be of interest to the
developer, rather than the user/administrator.
Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit f2b1237c732d3f3ce18e85c84782a4d1f3b5ba08
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 18:53:39 2015 -0700
powerpc/perf/hv-24x7: Remove unnecessary parameter
Remove the 'success_expected' parameter and log the message
unconditionally.
Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 145264e2129a5e2fca9bc75f666e80424020f9ea
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 18:53:38 2015 -0700
powerpc/perf/hv-24x7: Modify definition of request and result buffers
The parameters to the 24x7 HCALL have variable number of elements in them.
Set the minimum number of such elements to 1 rather than 0 and eliminate
the temporary structures.
This would enable us to submit multiple counter requests and process
multiple results from a single HCALL (in a follow on patch).
Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit ed59190e41b725e1cfd79541f5fc66c20adb0671
Author: Cyril Bur <cyrilbur@xxxxxxxxx>
Date: Wed Apr 1 14:05:30 2015 +0800
powerpc/powernv: Add interfaces for flash device access
This change adds the OPAL interface definitions to allow Linux to read,
write and erase from system flash devices. We register platform devices
for the flash devices exported by firmware.
We clash with the existing opal_flash_init function, which is really for
the FSP flash update functionality, so we rename that initcall to
opal_flash_update_init().
A future change will add an mtd driver that uses this interface.
Changes from Joel Stanley and Jeremy Kerr.
Signed-off-by: Cyril Bur <cyrilbur@xxxxxxxxx>
Signed-off-by: Jeremy Kerr <jk@xxxxxxxxxx>
Signed-off-by: Joel Stanley <joel@xxxxxxxxx>
Acked-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit d1d915783d90b15236e73d261cd8909db7275001
Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx>
Date: Fri Apr 10 14:16:50 2015 +1000
powerpc/tm: Correct minor documentation typos
Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 7fe924d9d71c96598ed37719c53187b357d6edff
Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx>
Date: Fri Apr 10 14:16:49 2015 +1000
selftests/powerpc: Add transactional syscall test
Check that a syscall made during an active transaction will fail with
the correct failure code and that one made during a suspended
transaction will succeed.
Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 2b03fc1db59d53da327cf21f77e189b4d0a8aced
Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx>
Date: Fri Apr 10 14:16:48 2015 +1000
selftests/powerpc: Move get_auxv_entry() to harness.c
Move get_auxv_entry() from pmu/lib.c up to harness.c in order to make
it available to other tests.
Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit feba40362b11341bee6d8ed58d54b896abbd9f84
Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx>
Date: Fri Apr 10 14:16:47 2015 +1000
powerpc/tm: Abort syscalls in active transactions
This patch changes the syscall handler to doom (tabort) active
transactions when a syscall is made and return immediately without
performing the syscall.
Currently, the system call instruction automatically suspends an
active transaction which causes side effects to persist when an active
transaction fails.
This does change the kernel's behaviour, but in a way that was
documented as unsupported. It doesn't reduce functionality because
syscalls will still be performed after tsuspend. It also provides a
consistent interface and makes the behaviour of user code
substantially the same across powerpc and platforms that do not
support suspended transactions (e.g. x86 and s390).
Performance measurements using
http://ozlabs.org/~anton/junkcode/null_syscall.c
indicate the cost of a system call increases by about 0.5%.
Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx>
Acked-By: Michael Neuling <mikey@xxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 771e569e8200ab6f5cdbcd6513f7a476718bb44d
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:57 2015 +1100
powerpc: dart_iommu: Remove check for controller_ops == NULL case
Now that we have ported the calls to iommu_init_early_dart to always
supply a pci_controller_ops struct, we can safely drop the check.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 467efc2e4fdc44e6cd4be7dd4adf01c14b3d148e
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:56 2015 +1100
powerpc: Remove shims for pci_controller_ops operations
Remove shims, patch callsites to use pci_controller_ops
versions instead.
Also move back the probe mode defines, as explained in the patch
for pci_probe_mode.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 9c1368fc50e78ff862a05d1a0995ce44413c49e2
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:55 2015 +1100
powerpc/cell: Move controller ops from ppc_md to controller_ops
This moves the Cell platform to use the pci_controller_ops
structure rather than ppc_md for PCI controller operations.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 97884e00e29ad6654b8b6939bb805b9d6303427c
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Fri Apr 10 13:15:47 2015 +1000
powerpc: fsl_pci, swiotlb: Move controller ops from ppc_md to
controller_ops
Move the installation of DMA operations out of swiotlb's subsys
initcall, and into the generic PCI controller operations struct.
These ops are installed conditionally, based on the ppc_swiotlb_enable
global. The global can be set in two places:
- swiotlb_detect_4g, which is always called at the arch initcall level
- setup_pci_atmu, which is called as part of the fsl_add_bridge and
fsl_pci_syscore_do_resume.
fsl_pci_syscore_do_resume is called late enough that any changes as a
result of that call will have no effect.
As such, if we test the global and set the operations as part of
fsl_add_bridge, after the call to setup_pci_atmu, we can be confident
that it will cover all the PCI implementations affected by the changes
to dma-swiotlb.c.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 19124d6deed32c5c7096f1892dd9f3882cef4605
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:53 2015 +1100
powerpc/maple: Move controller ops from ppc_md to controller_ops
This moves the Maple platform to use the pci_controller_ops
structure rather than ppc_md for PCI controller operations.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit d28a0d94d752354d9830f8cc0426e9119f9f227d
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:52 2015 +1100
powerpc/pasemi: Move controller ops from ppc_md to controller_ops
This moves the PaSemi platform to use the pci_controller_ops
structure rather than ppc_md for PCI controller operations.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 65ebf4b6370e8eabbf31076de022e49926dd4573
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:51 2015 +1100
powerpc/powernv: Move controller ops from ppc_md to controller_ops
This moves the PowerNV platform to use the pci_controller_ops
structure rather than ppc_md for PCI controller operations.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 38ae9ec40f06f3aef5c25314f432113cf2c1340a
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:50 2015 +1100
powerpc/pseries: Move controller ops from ppc_md to controller_ops
This moves the pSeries platform to use the pci_controller_ops structure,
rather than ppc_md for PCI controller operations.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit e63f26d3757fb8c00116b7f7c75d2a2e15bb5549
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:49 2015 +1100
powerpc/powermac: Move controller ops from ppc_md to controller_ops
This moves the Power Mac platform to use the pci_controller_ops
structure rather than ppc_md for PCI controller operations.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 798248a3c083a4cf0ead44a85e66c6a18647abea
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:48 2015 +1100
powerpc: dart_iommu: optionally populate controller_ops on init
If a pci_controller_ops struct is provided to iommu_init_early_dart,
populate that with the DMA setup ops, rather than ppc_md. If NULL is
provided, populate ppc_md as before.
This also patches the call sites for Maple and Power Mac to pass
NULL, so existing behaviour is preserved.
The benefit of making this optional is that it means we don't have
to change dart, Maple and Power Mac over to the controller_ops
system in one fell swoop.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit cd16c7ba0cc21aa1563e4b8430519b6488d0de60
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:47 2015 +1100
powerpc: Create pci_controller_ops.reset_secondary_bus and shim
Add pci_controller_ops.reset_secondary_bus,
shadowing ppc_md.pcibios_reset_secondary_bus.
Add a shim, and changes the callsites to use the shim.
Use pcibios_reset_secondary_bus_shim, as both
pcibios_reset_secondary_bus and pci_reset_secondary_bus
are already taken.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 542070baf4a0fe9de14cc2c4ca3ff1b43f14f90f
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:46 2015 +1100
powerpc: Create pci_controller_ops.window_alignment and shim
Add pci_controller_ops.window_alignment,
shadowing ppc_md.pcibios_window_alignment.
Add a shim, and changes the callsites to use the shim.
Here, we use pci_window_alignment, as pcibios_window_alignment is
already taken.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit b31e79f8d92ca115a935e37cfd4da74048739689
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:45 2015 +1100
powerpc: Create pci_controller_ops.enable_device_hook and shim
Add pci_controller_ops.enable_device_hook,
shadowing ppc_md.pcibios_enable_device_hook.
Add a shim, and changes the callsites to use the shim.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit ff9df8c87d6807e90c5c3b0e1fd1649d09fd3bcd
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:44 2015 +1100
powerpc: Create pci_controller_ops.probe_mode and shim
Add pci_controller_ops.probe_mode, shadowing ppc_md.pci_probe_mode.
Add a shim, and changes the callsites to use the shim.
We also need to move the probe mode defines to pci-bridge.h from pci.h.
They are required by the shim in order to return a sensible default.
Previously, the were defined in pci.h, but pci.h includes pci-bridge.h
before the relevant #defines. This means the definitions are absent
if pci.h is included before pci-bridge.h. This occurs in some drivers.
So, move the definitons now, and move them back when we remove the shim.
Anything that wants the defines would have had to include pci.h, and
since pci.h includes pci-bridge.h, nothing will lose access to the
defines.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit b122c95494374ab848f8d9f41d98644c2c318ecc
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:43 2015 +1100
powerpc: Create pci_controller_ops.dma_bus_setup and shim
Add pci_controller_ops.dma_bus_setup, shadowing ppc_md.pci_dma_bus_setup.
Add a shim, and changes the callsites to use the shim.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit e02def5bce12b472e9eb6dcdd9f7af72239e6330
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:42 2015 +1100
powerpc: Create pci_controller_ops.dma_dev_setup and shim
Introduces the pci_controller_ops structure.
Add pci_controller_ops.dma_dev_setup, shadowing ppc_md.pci_dma_dev_setup.
Add a shim, and change the callsites to use the shim.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit c88c2a188905cb3077c3c38dc498e7e9f8eebeee
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:41 2015 +1100
powerpc: pcibios_enable_device_hook: return bool rather than int
pcibios_enable_device_hook returned an int. Every implementation
returned either -EINVAL or 0. The return value wasn't propagated by
the caller: any non-zero return value caused pcibios_enable_device
to return -EINVAL itself. Therefore, make the hook return a bool.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit ba9c8f227358bcbc80fca19e7a339883cbc956a5
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:40 2015 +1100
powerpc/powermac: move pmac_pci_probe_mode from setup.c to pci.c
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit bdc728a849a7047e55014c6f968aa300cc9f57fa
Author: Daniel Axtens <dja@xxxxxxxxxx>
Date: Tue Mar 31 16:00:39 2015 +1100
powerpc: move find_and_init_phbs() to pSeries specific code
Previously, find_and_init_phbs() was used in both PowerNV and pSeries
setup. However, since RTAS support has been dropped from PowerNV, we
can move it into a platform-specific file.
Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit b7dccbea6b079be01e07921264709f249009b8e8
Merge: 425b655 a01e7b3
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Sat Apr 11 11:17:28 2015 +0200
Merge tag 'irqchip-core-4.1-3' of
git://git.infradead.org/users/jcooper/linux into irq/core
irqchip core change for v4.1 (round 3) from Jason Cooper
Purge the gic_arch_extn hacks and abuse by using the new stacked domains
NOTE: Due to the nature of these changes, patches crossing subsystems
have
been kept together in their own branches.
- tegra
- Handle the LIC properly
- omap
- Convert crossbar to stacked domains
- kill arm,routable-irqs in GIC binding
- exynos
- Convert PMU wakeup to stacked domains
- shmobile, ux500, zynq (irq_set_wake branch)
- Switch from abusing gic_arch_extn to using gic_set_irqchip_flags
commit 425b655ce479843abae07bf4dc7c496ca9538a5a
Merge: fdb7144 7822335
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Sat Apr 11 11:15:38 2015 +0200
Merge tag 'irqchip-core-4.1-2' of
git://git.infradead.org/users/jcooper/linux into irq/core
irqchip core changes for v4.1 (round 2) from Jason Cooper
- gic
- Tolerate uni-processor systems better in gic_get_cpumask()
- mvebu
- Handle per-cpu interrupts properly
- Enable PMU interrupts
- Enable wakeup source
- vybrid
- Add MSCM interrupt router
- renesas
- Add PM and wakeup support
commit 54cfa458b492fcf76d653698d362743bcb329055
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Fri Apr 10 20:13:40 2015 +0200
x86/asm/entry/32: Tidy up JNZ instructions after TESTs
After TESTs, use logically correct JNZ mnemonic instead of JNE.
This doesn't change code:
md5:
c3005b39a11fe582b7df7908561ad4ee entry_32.o.before.asm
c3005b39a11fe582b7df7908561ad4ee entry_32.o.after.asm
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Acked-by: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428689620-21881-1-git-send-email-dvlasenk@xxxxxxxxxx
[ Added object file comparison. ]
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 3e21a19d1d6775591415efd5617375ba42c41bbd
Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
Date: Sat Apr 11 13:24:47 2015 +0900
ALSA: seq: fill client ID in return value of pool operation
The returned value of 'get/seq client pool' operation has zeroed value
for its client ID, against requested client ID.
This commit fix the bug by filling it with index value of referred
client object.
Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 8b8a518ef16be2de27207991e32fc32b0475c767
Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Date: Thu Apr 9 09:52:31 2015 -0700
Input: atkbd - document "no new force-release quirks" policy
To save people some time let's document that we do not want new quirks for
"force-release" keys in the kernel and that they should patch userspace
(udev) instead.
Suggested-by: Pali Rohár <pali.rohar@xxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 07f19e3db89507ff902b1bb0f64a25ea161d645c
Author: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Date: Fri Apr 10 23:54:31 2015 -0700
Input: ALPS - make alps_get_pkt_id_ss4_v2() and others static
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 5dafd7cb96ec75454eb1fcbf993000bf41175f13
Merge: 51ab715 7b8283b5
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Sat Apr 11 08:31:19 2015 +0200
Merge tag 'perf-core-for-mingo' of
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
New user visible features:
- Support multiple probes on different binaries on the same command
line (Masami Hiramatsu)
User visible changes:
- Fix synthesizing fork_event.ppid for non-main thread (David Ahern)
- Fix cross-endian analysis (David Ahern)
- Fix segfault in 'perf buildid-list' when show DSOs with hits (He
Kuang)
Infrastructure changes:
- Fix type for references to data_head/tail (David Ahern)
- Fix error path to do closedir() when synthesizing threads (Arnaldo
Carvalho de Melo)
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 0351b8f81392c6dbbbb036e5c8f73ceff68726e9
Author: James Bottomley <jbottomley@xxxxxxxx>
Date: Wed Apr 1 09:09:36 2015 +0000
change SCSI Maintainer email
We've recently suffered a rebranding and the Service Provider half of
Parallels has become Odin. This means my email has changed so update
the MAINTAINERS file (and tidy up the pointers to our git trees to be
correct).
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 4ce37a4c05cfb5bfd445419d5b880a91bb19228f
Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 11:24:54 2015 +0300
ixgbe: Add a RETA query command to VF-PF channel API
Add this new command for 82599 and x540 devices only. Support for other
devices will be added later.
82599 and x540 VFs and PF share the same RSS redirection table (RETA).
Therefore we just return it for all VFs.
For 82599 and x540 RETA table is an array of 32 registers (128 bytes) and
the maximum number of registers that may be delivered in a single VF-PF
channel command is 15. On the other hand VFs of these devices can be
configured to have up to 4 RSS queues. Therefore we will "compress" the
RETA by transferring only 2 bits per entry and thereby it will take only 8
registers (DWORDS) to transfer the whole VF RETA.
Thus this patch does the following:
- Adds a new API version (to specify a new commands set).
- Adds the IXGBE_VF_GET_RETA command to the VF-PF commands set.
Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit e65ce0d395c2822e568faedad8bcf5770d3cdcdf
Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 21:35:24 2015 +0300
ixgbe: Add a new netdev op to allow/prevent a VF from querying an RSS info
Implements the new netdev op to allow user to enable/disable the ability
of a specific VF to query its RSS Indirection Table and an RSS Hash Key.
This patch limits the new feature support to 82599 and x540 devices only.
Support for other devices will be added later.
Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 01a3d796813d6302af9f828f34b73d21a4b96c9a
Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 21:35:23 2015 +0300
if_link: Add an additional parameter to ifla_vf_info for RSS querying
Add configuration setting for drivers to allow/block an RSS Redirection
Table and a Hash Key querying for discrete VFs.
On some devices VF share the mentioned above information with PF and
querying it may adduce a theoretical security risk. We want to let a
system administrator to decide if he/she wants to take this risk or not.
Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 7f276efb45f8b022eeb9a0453240937806dc27e3
Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 21:18:58 2015 +0300
ixgbe: Add the appropriate ethtool ops to query RSS indirection table and
key
Added get_rxfh_indir_size, get_rxfh_key_size and get_rxfh ethtool_ops
callbacks implementations.
This enables the ethtool's "-x" and "--show-rxfh[-indir]" options.
Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit dfaf891dd3e1e2e4531c4fd800bd6d8e3079ed72
Author: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 21:18:57 2015 +0300
ixgbe: Refactor the RSS configuration code
This patch is a preparation for enablement of ethtool RSS indirection
table and hash key querying. We don't want to read registers every time
the RSS info is queried. Therefore we will store its current content in
the
arrays in the adapter struct and will read it from there (instead of from
registers) when requested.
Will change the code that writes the indirection table and hash key into
the HW registers to take its content from these arrays. This will also
simplify the indirection table updating ethtool callback implementation
in the future.
Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx>
Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit d0acf734d886ce50bb5103cc75f7ca39f280e8a7
Author: Corey Minyard <cminyard@xxxxxxxxxx>
Date: Sat Apr 4 01:54:26 2015 -0500
ipmi_ssif: Use interruptible completion for waiting in the thread
The code was using an normal completion, but that caused stuck
task errors after a while. Use an interruptible one to avoid that.
Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx>
commit ad1ed2a9dd4c435d6a3ce470211db9a8d107c3e0
Author: Alistair Popple <alistair@xxxxxxxxxxxx>
Date: Fri Apr 10 17:32:20 2015 +1000
ipmi/powernv: Fix minor locking bug
If ipmi_powernv_recv(...) is called without a current message it
prints a warning and returns. However it fails to release the message
lock causing the system to dead lock during any subsequent IPMI
operations.
This error path should never normally be taken unless there are bugs
elsewhere in the system.
Signed-off-by: Alistair Popple <alistair@xxxxxxxxxxxx>
Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx>
commit 1e7d6a45f6b10bc48a1453bca3d829e210546571
Author: Corey Minyard <cminyard@xxxxxxxxxx>
Date: Fri Apr 3 12:13:48 2015 -0500
ipmi: Handle BMCs that don't allow clearing the rcv irq bit
Some BMCs don't let you clear the receive irq bit in the global
enables. This is kind of silly, but they give an error if you
try to clear it. Compensate for this by detecting the situation
and working around it.
Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx>
Tested-by: Thomas D <whissi@xxxxxxxxx>
Reviewed-by: Thomas D <whissi@xxxxxxxxx>
commit c14deee398c344a5f93c8206fa91314388b4a8c2
Merge: 820ad97 c1d676c
Author: Michael Turquette <mturquette@xxxxxxxxxx>
Date: Fri Apr 10 18:06:55 2015 -0700
Merge tag 'clk/for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into clk-next
clk/tegra: Changes for v4.1-rc1
These are mostly cleanups that I've been carrying in my local tree for
far too long. In addition to those, there are some preparatory patches
for the upcoming Tegra210 support and a patch to enable clocks needed
for HDMI audio support.
commit 820ad9752c232239d3278eafe71c2c251ae233d3
Author: Martin Fuzzey <mfuzzey@xxxxxxxxxxx>
Date: Wed Mar 18 14:53:17 2015 +0100
clk: clk-gpio-gate: Fix active low
The active low flag in the DT cell is currently ignored.
This occurs because of_get_named_gpio_flags() does not apply the flags
to the underlying struct gpio_desc so the test in clk_register_gpio_gate()
was bogus.
Note that this patch changes the internal kernel API for
clk_register_gpio_gate() but there are currently no other users.
Signed-off-by: Martin Fuzzey <mfuzzey@xxxxxxxxxxx>
Acked-by: Jyri Sarha <jsarha@xxxxxx>
Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx>
commit 3259b12ae1c79c146809829412ddc0d11a1b8e26
Merge: 49850a1 bba0bdd
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 10 17:41:47 2015 -0700
Merge tag 'scsi-fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI fixes from James Bottomley:
"This is our remaining set of three fixes for 4.0: two oops fixes(one
for cable pulls triggering oopses and the other be2iscsi specific) and
one warn on in sysfs on multipath devices using enclosures"
* tag 'scsi-fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
Defer processing of REQ_PREEMPT requests for blocked devices
be2iscsi: Fix kernel panic when device initialization fails
enclosure: fix WARN_ON removing an adapter in multi-path devices
commit baa9a93a4412330a49245e69c5e8b22086656482
Merge: d5cdc3c cab07a5
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Sat Apr 11 02:28:00 2015 +0200
Merge branch 'cpuidle' of
git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux into pm-cpuidle
Pull intel_idle material for v4.1 from Len Brown.
* 'cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
intel_idle: Add support for the Airmont Core in the Cherrytrail and
Braswell SOCs
intel_idle: Update support for Silvermont Core in Baytrail SOC
commit d5cdc3c4c22fce5a187b51736f3d0dc3e6cbe282
Author: Mathias Krause <minipli@xxxxxxxxxxxxxx>
Date: Wed Mar 25 22:15:14 2015 +0100
intel_idle: mark cpu id array as __initconst
The CPU ids are only tested in intel_idle_probe() which is itself an
__init function. For the MODULE_DEVICE_TABLE() file2alias doesn't care
about the section, just about the symbol name. So it's safe to mark
the cpu id array as __initconst so its memory can be released after
initialization is done.
Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit ea85dbcaec0ff29f2c3f84be4c8a01a94e8bd449
Author: Mathias Krause <minipli@xxxxxxxxxxxxxx>
Date: Wed Mar 25 22:15:52 2015 +0100
powercap / RAPL: mark rapl_ids array as __initconst
The RAPL ids are only tested in rapl_init() which is itself an __init
function. For the MODULE_DEVICE_TABLE() file2alias doesn't care about
the section, just about the symbol name. Therefore it's safe to mark the
rapl_ids[] array as __initconst so its memory can be released after
initialization is done.
Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx>
Acked-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 34dfa36c04c5883c325e8d62905c0ca5551fcf27
Author: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
Date: Tue Apr 7 05:50:35 2015 -0700
powercap / RAPL: add ID for Broadwell server
Validated RAPL functions on this platform. Add support to driver.
Signed-off-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit b34ef932d79ac2a36e1d7ba2742e5d4ba54efa3c
Author: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx>
Date: Fri Apr 10 10:22:18 2015 -0700
intel_pstate: Knights Landing support
1. Add Knights Landing (KNL) CPUID to the list of CPUIDs supported by
the intel_pstate driver.
2. Add a new cpu_default structure for KNL since KNL has a slightly
different mechanism to get turbo pstates from MSRs.
Signed-off-by: Dasaratharaman Chandramouli
<dasaratharaman.chandramouli@xxxxxxxxx>
Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx>
[ rjw: Subject and changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 5f97899d780787a8bbb42dee3be91ab5d8003b7f
Author: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx>
Date: Fri Apr 10 10:21:09 2015 -0700
intel_pstate: remove MSR test
x86_match_cpu will not match our cpuid unless APERF/MPERF flag is
set, so there is no need to do the manual check for this MSR.
Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 4492d1a2e9566495858d25b35093e11509707407
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Sat Apr 11 00:17:11 2015 +0200
cpufreq: fix qoriq uniprocessor build
The qoriq-cpufreq driver contains a hack for powerpc to include
asm/smp.h on uniprocessor builds so it can get the hardware CPU
number. On ARM, it does not require this hack, but instead gets
a compile error:
In file included from drivers/cpufreq/qoriq-cpufreq.c:24:0:
arch/arm/include/asm/smp.h:18:3: error: #error "<asm/smp.h> included in
non-SMP build"
arch/arm/include/asm/smp.h:21:0: warning: "raw_smp_processor_id" redefined
This adds an #ifdef to mirror the one in its get_cpu_physical_id()
function.
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Fixes: 2f249358eedaf ("cpufreq: qoriq: rename the driver")
Cc: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 49850a147c9cba958ce411f93f2aa6d4d92fe5e3
Merge: cfc4957 b815fc1
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 10 16:56:40 2015 -0700
Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
Pull SCSI target fixes from Nicholas Bellinger:
"Just a few small fixes:
Two from Andy, the first addresses a v4.0 target specific regression
to a user visible configfs attribute, and the second adds a set of
missing brackets around IPv6 discovery portal information within
iscsi-target.
And one from Mike that fixes an OOPs regression in traditional
iscsi-target when an iovec allocation fails, that has been present
since v3.10.y code. (CC'd to stable)"
* git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
iscsi target: fix oops when adding reject pdu
iscsi-target: TargetAddress in SendTargets should bracket ipv6 addresses
target: Allow userspace to write 1 to attrib/emulate_fua_write
commit b9f28d863594c429e1df35a0474d2663ca28b307
Author: James Bottomley <JBottomley@xxxxxxxx>
Date: Thu Mar 5 18:47:01 2015 -0800
sd, mmc, virtio_blk, string_helpers: fix block size units
The current string_get_size() overflows when the device size goes over
2^64 bytes because the string helper routine computes the suffix from
the size in bytes. However, the entirety of Linux thinks in terms of
blocks, not bytes, so this will artificially induce an overflow on very
large devices. Fix this by making the function string_get_size() take
blocks and the block size instead of bytes. This should allow us to
keep working until the current SCSI standard overflows.
Also fix virtio_blk and mmc (both of which were also artificially
multiplying by the block size to pass a byte side to string_get_size()).
The mathematics of this is pretty simple: we're taking a product of
size in blocks (S) and block size (B) and trying to re-express this in
exponential form: S*B = R*N^E (where N, the exponent is either 1000 or
1024) and R < N. Mathematically, S = RS*N^ES and B=RB*N^EB, so if RS*RB
< N it's easy to see that S*B = RS*RB*N^(ES+EB). However, if RS*BS > N,
we can see that this can be re-expressed as RS*BS = R*N (where R =
RS*BS/N < N) so the whole exponent becomes R*N^(ES+EB+1)
[jejb: fix incorrect 32 bit do_div spotted by kbuild test robot
<fengguang.wu@xxxxxxxxx>]
Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Reviewed-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit a01e7b3258bea93fbf1f028fab1c739d80c61823
Merge: fb414e9 008e4d6
Author: Jason Cooper <jason@xxxxxxxxxxxxxx>
Date: Fri Apr 10 22:58:19 2015 +0000
Merge branch 'irqchip/stacked-irq_set_wake' into irqchip/core
Conflicts:
drivers/irqchip/irq-gic.c
commit fb414e908b15ae3d704aa0572f77981a516279b9
Merge: 07c523f d4ad075
Author: Jason Cooper <jason@xxxxxxxxxxxxxx>
Date: Fri Apr 10 22:57:58 2015 +0000
Merge branch 'irqchip/stacked-exynos' into irqchip/core
commit 07c523f1493b6860662e74a3d7e1ae0e7d67d416
Merge: 37b25ff 7136d45
Author: Jason Cooper <jason@xxxxxxxxxxxxxx>
Date: Fri Apr 10 22:57:56 2015 +0000
Merge branch 'irqchip/stacked-omap' into irqchip/core
commit 37b25fffd1435dd9b77ac5882a6791f7d5691097
Merge: 7822335 1eec582
Author: Jason Cooper <jason@xxxxxxxxxxxxxx>
Date: Fri Apr 10 22:57:53 2015 +0000
Merge branch 'irqchip/stacked-tegra' into irqchip/core
commit e03b07d9084d03e896b7f1a598a7f6aa18f6eeda
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Wed Apr 1 19:38:20 2015 -0700
f2fs: do not recover wrong data index
During the roll-forward recovery, if we found a new data index written
fsync
lastly, we need to recover new block address.
But, if that address was corrupted, we should not recover that.
Otherwise, f2fs gets kernel panic from:
In check_index_in_prev_nodes(),
sentry = get_seg_entry(sbi, segno);
--------------------------> out-of-range segno.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 418f6c277011d89c394309e72df9ad058e0a3f7d
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Tue Mar 31 18:03:29 2015 -0700
f2fs: do not increase link count during recovery
If there are multiple fsynced dnodes having a dent flag, roll-forward
routine
sets FI_INC_LINK for their inode, and recovery_dentry increases its link
count
accordingly.
That results in normal file having a link count as 2, so we can't unlink
those
files.
This was added to handle several inode blocks having same inode number
with
different directory paths.
But, current f2fs doesn't replay all of path changes and only recover its
dentry
for the last fsynced inode block.
So, there is no reason to do this.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit cb58463bc94470c428f3b9f4cda748e7755218ca
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Mon Mar 30 15:23:45 2015 -0700
f2fs: assign parent's i_mode for empty dir
When assigning i_mode for dotdot, it needs to assign parent's i_mode.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 510022a85839a8409d1e6a519bb86ce71a84f30a
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Mon Mar 30 15:07:16 2015 -0700
f2fs: add F2FS_INLINE_DOTS to recover missing dot dentries
If f2fs was corrupted with missing dot dentries, it needs to recover them
after
fsck.f2fs detection.
The underlying precedure is:
1. The fsck.f2fs remains F2FS_INLINE_DOTS flag in directory inode, if it
detects
missing dot dentries.
2. When f2fs looks up the corrupted directory, it triggers f2fs_add_link
with
proper inode numbers and their dot and dotdot names.
3. Once f2fs recovers the directory without errors, it removes
F2FS_INLINE_DOTS
finally.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit c9ef481097d17fb8ff8ea7930ce715b5a676f10f
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Thu Mar 26 18:46:38 2015 -0700
f2fs: fix mismatching lock and unlock pages for roll-forward recovery
Previously, inode page is not correctly locked and unlocked in pair during
the roll-forward recovery.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit adad81ed42bbc537f37192dcdd9a83e34bb61987
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Tue Mar 24 12:04:20 2015 -0700
f2fs: fix sparse warnings
This patch fixes the below warning.
sparse warnings: (new ones prefixed by >>)
>> fs/f2fs/inode.c:56:23: sparse: restricted __le32 degrades to integer
>> fs/f2fs/inode.c:56:52: sparse: restricted __le32 degrades to integer
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 1b3e27a92ab60452b8fbb35e3ba691ac34f2c0fb
Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
Date: Tue Mar 24 13:08:05 2015 +0800
f2fs: limit b_size of mapped bh in f2fs_map_bh
Map bh over max size which caller defined is not needed, limit it in
f2fs_map_bh.
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 30c62fdb25cc0c55fa442245f7aaab074d2e701a
Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
Date: Mon Mar 23 10:37:39 2015 +0800
f2fs: persist system.advise into on-disk inode
This patch fixes to dirty inode for persisting i_advise of f2fs inode
info into
on-disk inode if user sets system.advise through setxattr. Otherwise the
new
value will be lost.
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 84e97c2767f9ed711718b47b8722ddd137f1dfe9
Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
Date: Mon Mar 23 10:36:15 2015 +0800
f2fs: avoid NULL pointer dereference in f2fs_xattr_advise_get
We will encounter oops by executing below command.
getfattr -n system.advise /mnt/f2fs/file
Killed
message log:
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<f8b54d69>] f2fs_xattr_advise_get+0x29/0x40 [f2fs]
*pdpt = 00000000319b7001 *pde = 0000000000000000
Oops: 0002 [#1] SMP
Modules linked in: f2fs(O) snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm
snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq joydev
snd_seq_device snd_timer bnep snd rfcomm microcode bluetooth soundcore
i2c_piix4 mac_hid serio_raw parport_pc ppdev lp parport
binfmt_misc hid_generic psmouse usbhid hid e1000 [last unloaded: f2fs]
CPU: 3 PID: 3134 Comm: getfattr Tainted: G O 4.0.0-rc1 #6
Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox
12/01/2006
task: f3a71b60 ti: f19a6000 task.ti: f19a6000
EIP: 0060:[<f8b54d69>] EFLAGS: 00010246 CPU: 3
EIP is at f2fs_xattr_advise_get+0x29/0x40 [f2fs]
EAX: 00000000 EBX: f19a7e71 ECX: 00000000 EDX: f8b5b467
ESI: 00000000 EDI: f2008570 EBP: f19a7e14 ESP: f19a7e08
DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
CR0: 80050033 CR2: 00000000 CR3: 319b8000 CR4: 000007f0
Stack:
f8b5a634 c0cbb580 00000000 f19a7e34 c1193850 00000000 00000007 f19a7e71
f19a7e64 c0cbb580 c1193810 f19a7e50 c1193c00 00000000 00000000 00000000
c0cbb580 00000000 f19a7f70 c1194097 00000000 00000000 00000000 74737973
Call Trace:
[<c1193850>] generic_getxattr+0x40/0x50
[<c1193810>] ? xattr_resolve_name+0x80/0x80
[<c1193c00>] vfs_getxattr+0x70/0xa0
[<c1194097>] getxattr+0x87/0x190
[<c11801d7>] ? path_lookupat+0x57/0x5f0
[<c11819d2>] ? putname+0x32/0x50
[<c116653a>] ? kmem_cache_alloc+0x2a/0x130
[<c11819d2>] ? putname+0x32/0x50
[<c11819d2>] ? putname+0x32/0x50
[<c11819d2>] ? putname+0x32/0x50
[<c11827f9>] ? user_path_at_empty+0x49/0x70
[<c118283f>] ? user_path_at+0x1f/0x30
[<c11941e7>] path_getxattr+0x47/0x80
[<c11948e7>] SyS_getxattr+0x27/0x30
[<c163f748>] sysenter_do_call+0x12/0x12
Code: 66 90 55 89 e5 57 56 53 66 66 66 66 90 8b 78 20 89 d3 ba 67 b4 b5
f8 89 d8 89 ce e8 42 7c 7b c8 85 c0 75 16 0f b6 87 44 01 00
00 <88> 06 b8 01 00 00 00 5b 5e 5f 5d c3 8d 76 00 b8 ea ff ff ff eb
EIP: [<f8b54d69>] f2fs_xattr_advise_get+0x29/0x40 [f2fs] SS:ESP
0068:f19a7e08
CR2: 0000000000000000
---[ end trace 860260654f1f416a ]---
The reason is that in getfattr there are two steps which is indicated by
strace info:
1) try to lookup and get size of specified xattr.
2) get value of the extented attribute.
strace info:
getxattr("/mnt/f2fs/file", "system.advise", 0x0, 0) = 1
getxattr("/mnt/f2fs/file", "system.advise", "\x00", 256) = 1
For the first step, getfattr may pass a NULL pointer in @value and zero
in @size
as parameters for ->getxattr, but we access this @value pointer directly
without
checking whether the pointer is valid or not in f2fs_xattr_advise_get, so
the
oops occurs.
This patch fixes this issue by verifying @value pointer before using.
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit df6136ef5533421e68ea7ff9c33d5b2ac9005ff9
Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
Date: Mon Mar 23 10:33:37 2015 +0800
f2fs: preallocate fallocated blocks for direct IO
Normally, due to DIO_SKIP_HOLES flag is set by default,
blockdev_direct_IO in
f2fs_direct_IO tries to skip DIO in holes when writing inside i_size, this
makes us falling back to buffered IO which shows lower performance.
So in commit 59b802e5a453 ("f2fs: allocate data blocks in advance for
f2fs_direct_IO"), we improve perfromance by allocating data blocks in
advance
if we meet holes no matter in i_size or not, since with it we can avoid
falling
back to buffered IO.
But we forget to consider for unwritten fallocated block in this commit.
This patch tries to fix it for fallocate case, this helps to improve
performance.
Test result:
Storage info: sandisk ultra 64G micro sd card.
touch /mnt/f2fs/file
truncate -s 67108864 /mnt/f2fs/file
fallocate -o 0 -l 67108864 /mnt/f2fs/file
time dd if=/dev/zero of=/mnt/f2fs/file bs=1M count=64 conv=notrunc
oflag=direct
Time before applying the patch:
67108864 bytes (67 MB) copied, 36.16 s, 1.9 MB/s
real 0m36.162s
user 0m0.000s
sys 0m0.180s
Time after applying the patch:
67108864 bytes (67 MB) copied, 27.7776 s, 2.4 MB/s
real 0m27.780s
user 0m0.000s
sys 0m0.036s
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 75342797988a0f9ebec400a2dde8d4de581c4079
Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Date: Tue Mar 24 10:20:27 2015 +0800
f2fs: enable inline data by default
Enable inline_data feature by default since it brings us better
performance and space utilization and now has already stable.
Add another option noinline_data to disable it during mount.
Suggested-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Suggested-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 0bdee482509fe8c3cf0e66231ed37b8e70954093
Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
Date: Thu Mar 19 19:27:51 2015 +0800
f2fs: preserve extent info for extent cache
This patch tries to preserve last extent info in extent tree cache into
on-disk
inode, so this can help us to reuse the last extent info next time for
performance.
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 028a41e89383e1208dff1afe3e260b8cb6d3431c
Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
Date: Thu Mar 19 19:26:02 2015 +0800
f2fs: initialize extent tree with on-disk extent info of inode
With normal extent info cache, we records largest extent mapping between
logical
block and physical block into extent info, and we persist extent info in
on-disk
inode.
When we enable extent tree cache, if extent info of on-disk inode is
exist, and
the extent is not a small fragmented mapping extent. We'd better to load
the
extent info into extent tree cache when inode is loaded. By this way we
can have
more chance to hit extent tree cache rather than taking more time to read
dnode
page for block address.
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 93dfc52656e9ae1009ccba67e67ff69285b7743f
Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
Date: Thu Mar 19 19:24:59 2015 +0800
f2fs: introduce __{find,grab}_extent_tree
This patch introduces __{find,grab}_extent_tree for reusing by following
patches.
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 216a620a7c3d35ae604ba519c99c5cd1ce4dad6e
Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
Date: Thu Mar 19 19:23:32 2015 +0800
f2fs: split set_data_blkaddr from f2fs_update_extent_cache
Split __set_data_blkaddr from f2fs_update_extent_cache for readability.
Additionally rename __set_data_blkaddr to set_data_blkaddr for exporting.
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 368a0e40b5aedb036de3d78333571c8689869490
Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Date: Thu Mar 19 13:23:48 2015 +0800
f2fs: enable fast symlink by utilizing inline data
Fast symlink can utilize inline data flow to avoid using any
i_addr region, since we need to handle many cases such as
truncation, roll-forward recovery, and fsck/dump tools.
Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 8ce67cb07dbf6ba35aea1e07e8ad1ea004ced27b
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Tue Mar 17 17:58:08 2015 -0700
f2fs: add some tracepoints to debug volatile and atomic writes
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 3c6c2bebef79999b1827041696dc1881e637e3af
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Tue Mar 17 17:16:35 2015 -0700
f2fs: avoid punch_hole overhead when releasing volatile data
This patch is to avoid some punch_hole overhead when releasing volatile
data.
If volatile data was not written yet, we just can make the first page as
zero.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 83e21db6939dd6ff50a81d54aaef4b44847aefff
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Mon Mar 16 16:54:52 2015 -0700
f2fs: avoid wrong f2fs_bug_on when truncating inline_data
This patch removes wrong f2fs_bug_on in truncate_inline_inode.
When there is no space, it can happen a corner case where i_isze is over
MAX_INLINE_SIZE while its inode is still inline_data.
The scenario is
1. write small data into file #A.
2. fill the whole partition to 100%.
3. truncate 4096 on file #A.
4. write data at 8192 offset.
--> f2fs_write_begin
-> -ENOSPC = f2fs_convert_inline_page
-> f2fs_write_failed
-> truncate_blocks
-> truncate_inline_inode
BUG_ON, since i_size is 4096.
Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 78373b7319abdf15050af5b1632c4c8b8b398f33
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Fri Mar 13 21:44:36 2015 -0700
f2fs: enhance multi-threads performance
Previously, f2fs_write_data_pages has a mutex, sbi->writepages, to
serialize
data writes to maximize write bandwidth, while sacrificing multi-threads
performance.
Practically, however, multi-threads environment is much more important for
users. So this patch tries to remove the mutex.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 3402e87cfb5e762f9c95071bf4a2ad65fd9392a2
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Wed Mar 11 23:27:25 2015 -0400
f2fs: set buffer_new when new blocks are allocated
This patch modifies to call set_buffer_new, if new blocks are allocated.
Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 2adc3505cfb819c91855a64d997a7cdd9731ee6e
Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
Date: Mon Mar 16 21:08:44 2015 +0800
f2fs: set SBI_NEED_FSCK when encountering exception in recovery
This patch tries to set SBI_NEED_FSCK flag into sbi only when we fail to
recover
in fill_super, so we could skip fscking image when we fail to fill super
for
other reason.
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 21cb1d99bcc77252e6426010bcc6433f75b581bb
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Wed Mar 11 13:42:48 2015 -0400
f2fs: fix to cover sentry_lock for block allocation
In the following call stack, f2fs changes the bitmap for dirty segments
and # of
dirty sentries without grabbing sit_i->sentry_lock.
This can result in mismatch on bitmap and # of dirty sentries, since if
there
are some direct_io operations.
In allocate_data_block,
- __allocate_new_segments
- mutex_lock(&curseg->curseg_mutex);
- s_ops->allocate_segment
- new_curseg/change_curseg
- reset_curseg
- __set_sit_entry_type
- __mark_sit_entry_dirty
- set_bit(dirty_sentries_bitmap)
- dirty_sentries++;
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit d6d4f1cb912d9bcf988a529d0934568d4550f7b5
Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
Date: Thu Mar 12 17:04:24 2015 +0800
f2fs: fix to check current blkaddr in __allocate_data_blocks
In __allocate_data_blocks, we should check current blkaddr which is
located at
ofs_in_node of dnode page instead of checking first blkaddr all the time.
Otherwise we can only allocate one blkaddr in each dnode page. Fix it.
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 0bfcfcca3d4351f129b8c8a73c114c7ffa99228e
Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
Date: Tue Mar 10 13:16:25 2015 +0800
f2fs: fix to truncate inline data past EOF
Previously if inode is with inline data, we will try to invalid partial
inline
data in page #0 when we truncate size of inode in
truncate_partial_data_page().
And then we set page #0 to dirty, after this we can synchronize inode
page with
page #0 at ->writepage().
But sometimes we will fail to operate page #0 in
truncate_partial_data_page()
due to below reason:
a) if offset is zero, we will skip setting page #0 to dirty.
b) if page #0 is not uptodate, we will fail to update it as it has no
mapping
data.
So with following operations, we will meet recent data which should be
truncated.
1.write inline data to file
2.sync first data page to inode page
3.truncate file size to 0
4.truncate file size to max_inline_size
5.echo 1 > /proc/sys/vm/drop_caches
6.read file --> meet original inline data which is remained in inode page.
This patch renames truncate_inline_data() to truncate_inline_inode() for
code
readability, then use truncate_inline_inode() to truncate inline data in
inode
page in truncate_blocks() and truncate page #0 in
truncate_partial_data_page()
for fixing.
v2:
o truncate partially #0 page in truncate_partial_data_page to avoid
keeping
old data in #0 page.
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 83dfe53c185e3554c102708c70dc1e5ff4bcac2c
Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
Date: Mon Mar 9 18:18:19 2015 +0800
f2fs: fix reference leaks in f2fs_acl_create
Our f2fs_acl_create is copied and modified from posix_acl_create to avoid
deadlock bug when inline_dentry feature is enabled.
Now, we got reference leaks in posix_acl_create, and this has been fixed
in
commit fed0b588be2f ("posix_acl: fix reference leaks in posix_acl_create")
by Omar Sandoval.
https://lkml.org/lkml/2015/2/9/5
Let's fix this issue in f2fs_acl_create too.
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Reviewed-by: Changman Lee <cm224.lee@xxxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit bda190760b07a7350de7ca8d9afe0fd8c667ad2d
Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
Date: Mon Mar 9 17:33:16 2015 +0800
f2fs: fix to calculate max length of contiguous free slots correctly
When lookuping for creating, we will try to record the level of current
dentry
hash table if current dentry has enough contiguous slots for storing name
of new
file which will be created later, this can save our lookup time when add
a link
into parent dir.
But currently in find_target_dentry, our current length of contiguous
free slots
is not calculated correctly. This make us leaving some holes in dentry
block
occasionally, it wastes our space of dentry block.
Let's refactor the lookup flow for max slots as following to fix this
issue:
a) increase max_len if current slot is free;
b) update max_slots with max_len if max_len is larger than max_slots;
c) reset max_len to zero if current slot is not free.
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 57ed1e95babbd2df33f70eb820c7a9984199557b
Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Date: Mon Mar 9 11:00:55 2015 +0800
f2fs: fix unlocked nat set cache operation
nm_i->nat_tree_lock is used to sync both the operations of nat entry
cache tree and nat set cache tree, however, it isn't held when flush
nat entries during checkpoint which lead to potential race, this patch
fix it by holding the lock when gang lookup nat set cache and delete
item from nat set cache.
Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit e0150392ddfaaf5ccf338893f6db177a2c64a7ee
Author: Changman Lee <cm224.lee@xxxxxxxxxxx>
Date: Mon Mar 9 08:07:04 2015 +0900
f2fs: cleanup statement about max orphan inodes calc
Through each macro, we can read the meaning easily.
Signed-off-by: Changman Lee <cm224.lee@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit d9f46bb1a84ee15f58c9c58ab91962b7dc6eb9a4
Author: Yuan Zhong <yuan.mark.zhong@xxxxxxxxxxx>
Date: Mon Mar 9 02:43:50 2015 +0000
f2fs: remove unnecessary condition judgment
Remove the unnecessary condition judgment, because
'max_slots' has been initialized to '0' at the beginging
of the function, as following:
if (max_slots)
*max_slots = 0;
Signed-off-by: Yuan Zhong <yuan.mark.zhong@xxxxxxxxxxx>
Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit b1f73b79d26ffd8966404c268e558d6fec448814
Author: Yuan Zhong <yuan.mark.zhong@xxxxxxxxxxx>
Date: Sat Mar 7 10:07:42 2015 +0000
f2fs: set the correct place of initializing *res_page
The function 'find_in_inline_dir()' contain 'res_page'
as an argument. So, we should initiaize 'res_page' before
this function.
Signed-off-by: Yuan Zhong <yuan.mark.zhong@xxxxxxxxxxx>
Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 7fd97019b8db0668a4eb8b08d707bdce9f51d58e
Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Date: Fri Mar 6 15:00:55 2015 +0800
f2fs: reduce searching region of segmap when set free section
In __set_free we will check whether all segment are free in one section
when free one segment, in order to set section to free status. But the
searching region of segmap is from start segno to last segno of main
area, it's not necessary. So let's just only check all segment bitmap
of target section.
Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit fdf6c8be337af72b066548f325abcbcdf626dea8
Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Date: Fri Mar 6 15:00:54 2015 +0800
f2fs: fix extent cache memory leak
extent tree/node slab cache is created during f2fs insmod,
how, it isn't destroyed during f2fs rmmod, this patch fix
it by destroy extent tree/node slab cache once rmmod f2fs.
Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit d7196c5a32caf6ebbe60771ff04ee7d797039d74
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Tue Mar 3 17:06:55 2015 -0800
f2fs: relocate Kconfig from misc filesystems
The f2fs has been shipped on many smartphone devices during a couple of
years.
So, it is worth to relocate Kconfig into main page from misc filesystems
for
developers to choose it more easily.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 76629165913a6d5542bbe735191b021f31dd3798
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Mon Mar 2 16:28:16 2015 -0800
f2fs: report -ENOENT for unreached data indices
If inode has inline_data, it should report -ENOENT when accessing
out-of-bound
region.
This is used by f2fs_fiemap which treats -ENOENT with no error.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit cff28521bbbfcd97ba56c515d4be5554c0d26014
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Mon Mar 2 10:48:56 2015 -0800
f2fs: clear append/update flags once fsync is done
When fsync is done through checkpoint, previous f2fs missed to clear
append
and update flag. This patch fixes to clear them.
This was originally catched by Changman Lee before.
Signed-off-by: Changman Lee <cm224.lee@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit d5669f7b9b0344a7f1e874ac86b9403434381ba8
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Fri Feb 27 13:37:39 2015 -0800
f2fs: avoid to trigger writepage during POR
This patch doesn't make any effect on previous behavior, since
f2fs_write_data_page bypasses writing the page during POR.
But, the difference is that this patch avoids holding writepages mutex.
This is to avoid the following false warning, since this can happen only
when mount and shutdown are triggered at the same time.
======================================================
[ INFO: possible circular locking dependency detected ]
4.0.0-rc1+ #3 Tainted: G O
-------------------------------------------------------
kworker/u8:0/2270 is trying to acquire lock:
(&sbi->gc_mutex){+.+.+.}, at: [<ffffffffa02bdd33>]
f2fs_balance_fs+0x73/0x90 [f2fs]
but task is already holding lock:
(&sbi->writepages){+.+...}, at: [<ffffffffa02b261b>]
f2fs_write_data_pages+0xcb/0x3a0 [f2fs]
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #2 (&sbi->writepages){+.+...}:
[<ffffffff810e2b11>] lock_acquire+0xe1/0x2f0
[<ffffffff8185e1b3>] mutex_lock_nested+0x63/0x530
[<ffffffffa02b261b>] f2fs_write_data_pages+0xcb/0x3a0 [f2fs]
[<ffffffff811c38c1>] do_writepages+0x21/0x50
[<ffffffff8126c5a6>] __writeback_single_inode+0x76/0xbf0
[<ffffffff8126e23a>] writeback_single_inode+0xea/0x1c0
[<ffffffff8126e425>] write_inode_now+0x95/0xa0
[<ffffffff81259dab>] iput+0x20b/0x3f0
[<ffffffffa02c1c8b>] recover_data.constprop.14+0x26b/0xa80 [f2fs]
[<ffffffffa02c2776>] recover_fsync_data+0x2b6/0x5e0 [f2fs]
[<ffffffffa02a9744>] f2fs_fill_super+0xb24/0xb90 [f2fs]
[<ffffffff8123d7f4>] mount_bdev+0x1a4/0x1e0
[<ffffffffa02a3c85>] f2fs_mount+0x15/0x20 [f2fs]
[<ffffffff8123e159>] mount_fs+0x39/0x180
[<ffffffff8125e51b>] vfs_kern_mount+0x6b/0x160
[<ffffffff81261554>] do_mount+0x204/0xbe0
[<ffffffff8126223b>] SyS_mount+0x8b/0xe0
[<ffffffff81863e6d>] system_call_fastpath+0x16/0x1b
-> #1 (&sbi->cp_mutex){+.+...}:
[<ffffffff810e2b11>] lock_acquire+0xe1/0x2f0
[<ffffffff8185e1b3>] mutex_lock_nested+0x63/0x530
[<ffffffffa02acbf2>] write_checkpoint+0x42/0x1230 [f2fs]
[<ffffffffa02a847d>] f2fs_sync_fs+0x9d/0x2a0 [f2fs]
[<ffffffff81272f82>] sync_filesystem+0x82/0xb0
[<ffffffff8123c214>] generic_shutdown_super+0x34/0x100
[<ffffffff8123c5f7>] kill_block_super+0x27/0x70
[<ffffffffa02a3c60>] kill_f2fs_super+0x20/0x30 [f2fs]
[<ffffffff8123ca49>] deactivate_locked_super+0x49/0x80
[<ffffffff8123d05e>] deactivate_super+0x4e/0x70
[<ffffffff8125df63>] cleanup_mnt+0x43/0x90
[<ffffffff8125e002>] __cleanup_mnt+0x12/0x20
[<ffffffff810a82e4>] task_work_run+0xc4/0xf0
[<ffffffff8101f0bd>] do_notify_resume+0x8d/0xa0
[<ffffffff81864141>] int_signal+0x12/0x17
-> #0 (&sbi->gc_mutex){+.+.+.}:
[<ffffffff810e2866>] __lock_acquire+0x1ac6/0x1c90
[<ffffffff810e2b11>] lock_acquire+0xe1/0x2f0
[<ffffffff8185e1b3>] mutex_lock_nested+0x63/0x530
[<ffffffffa02bdd33>] f2fs_balance_fs+0x73/0x90 [f2fs]
[<ffffffffa02b5938>] f2fs_write_data_page+0x348/0x5b0 [f2fs]
[<ffffffffa02af9da>] __f2fs_writepage+0x1a/0x50 [f2fs]
[<ffffffff811c1b54>] write_cache_pages+0x274/0x6f0
[<ffffffffa02b2630>] f2fs_write_data_pages+0xe0/0x3a0 [f2fs]
[<ffffffff811c38c1>] do_writepages+0x21/0x50
[<ffffffff8126c5a6>] __writeback_single_inode+0x76/0xbf0
[<ffffffff8126d44a>] writeback_sb_inodes+0x32a/0x710
[<ffffffff8126d8cf>] __writeback_inodes_wb+0x9f/0xd0
[<ffffffff8126dcdb>] wb_writeback+0x3db/0x850
[<ffffffff8126e848>] bdi_writeback_workfn+0x148/0x980
[<ffffffff810a3782>] process_one_work+0x1e2/0x840
[<ffffffff810a3f01>] worker_thread+0x121/0x460
[<ffffffff810a9dc8>] kthread+0xf8/0x110
[<ffffffff81863dbc>] ret_from_fork+0x7c/0xb0
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit e1235983e385afafb33bab3578bfc83a7d871ce1
Author: Changman Lee <cm224.lee@xxxxxxxxxxx>
Date: Tue Dec 23 08:37:39 2014 +0900
f2fs: add stat info for moved blocks by background gc
This patch is for looking into gc performance of f2fs in detail.
Signed-off-by: Changman Lee <cm224.lee@xxxxxxxxxxx>
[Jaegeuk Kim: fix build errors]
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit b28c3f94933dae663eeca24637bf9ff962bf02dc
Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
Date: Sat Feb 28 17:23:30 2015 +0800
f2fs: fix to issue small discard in real-time mode discard
Now in f2fs, we share functions and structures for batch mode and
real-time mode
discard. For real-time mode discard, in shared function
add_discard_addrs, we
will use uninitialized trim_minlen in struct cp_control to compare with
length
of contiguous free blocks to decide whether skipping discard fragmented
freespace
or not, this makes us ignore small discard sometimes. Fix it.
Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Reviewed-by : Changman Lee <cm224.lee@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 7ecebe5e07958a0b7e54a560dbc24144287c6b41
Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
Date: Fri Feb 27 13:13:14 2015 +0100
f2fs: add cond_resched() to sync_dirty_dir_inodes()
In a preempt-off enviroment a alot of FS activity (write/delete) I run
into a CPU stall:
| NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [kworker/u2:2:59]
| Modules linked in:
| CPU: 0 PID: 59 Comm: kworker/u2:2 Tainted: G W
3.19.0-00010-g10c11c51ffed #153
| Workqueue: writeback bdi_writeback_workfn (flush-179:0)
| task: df230000 ti: df23e000 task.ti: df23e000
| PC is at __submit_merged_bio+0x6c/0x110
| LR is at f2fs_submit_merged_bio+0x74/0x80
â?¦
| [<c00085c4>] (gic_handle_irq) from [<c0012e84>] (__irq_svc+0x44/0x5c)
| Exception stack(0xdf23fb48 to 0xdf23fb90)
| fb40: deef3484 ffff0001 ffff0001 00000027 deef3484
00000000
| fb60: deef3440 00000000 de426000 deef34ec deefc440 df23fbb4 df23fbb8
df23fb90
| fb80: c02191f0 c0218fa0 60000013 ffffffff
| [<c0012e84>] (__irq_svc) from [<c0218fa0>]
(__submit_merged_bio+0x6c/0x110)
| [<c0218fa0>] (__submit_merged_bio) from [<c02191f0>]
(f2fs_submit_merged_bio+0x74/0x80)
| [<c02191f0>] (f2fs_submit_merged_bio) from [<c021624c>]
(sync_dirty_dir_inodes+0x70/0x78)
| [<c021624c>] (sync_dirty_dir_inodes) from [<c0216358>]
(write_checkpoint+0x104/0xc10)
| [<c0216358>] (write_checkpoint) from [<c021231c>]
(f2fs_sync_fs+0x80/0xbc)
| [<c021231c>] (f2fs_sync_fs) from [<c0221eb8>]
(f2fs_balance_fs_bg+0x4c/0x68)
| [<c0221eb8>] (f2fs_balance_fs_bg) from [<c021e9b8>]
(f2fs_write_node_pages+0x40/0x110)
| [<c021e9b8>] (f2fs_write_node_pages) from [<c00de620>]
(do_writepages+0x34/0x48)
| [<c00de620>] (do_writepages) from [<c0145714>]
(__writeback_single_inode+0x50/0x228)
| [<c0145714>] (__writeback_single_inode) from [<c0146184>]
(writeback_sb_inodes+0x1a8/0x378)
| [<c0146184>] (writeback_sb_inodes) from [<c01463e4>]
(__writeback_inodes_wb+0x90/0xc8)
| [<c01463e4>] (__writeback_inodes_wb) from [<c01465f8>]
(wb_writeback+0x1dc/0x28c)
| [<c01465f8>] (wb_writeback) from [<c0146dd8>]
(bdi_writeback_workfn+0x2ac/0x460)
| [<c0146dd8>] (bdi_writeback_workfn) from [<c003c3fc>]
(process_one_work+0x11c/0x3a4)
| [<c003c3fc>] (process_one_work) from [<c003c844>]
(worker_thread+0x17c/0x490)
| [<c003c844>] (worker_thread) from [<c0041398>] (kthread+0xec/0x100)
| [<c0041398>] (kthread) from [<c000ed10>] (ret_from_fork+0x14/0x24)
As it turns out, the code loops in sync_dirty_dir_inodes() and waits for
others to make progress but since it never leaves the CPU there is no
progress made. At the time of this stall, there is also a rm process
blocked:
| rm R running 0 1989 1774 0x00000000
| [<c047c55c>] (__schedule) from [<c00486dc>] (__cond_resched+0x30/0x4c)
| [<c00486dc>] (__cond_resched) from [<c047c8c8>]
(_cond_resched+0x4c/0x54)
| [<c047c8c8>] (_cond_resched) from [<c00e1aec>]
(truncate_inode_pages_range+0x1f0/0x5e8)
| [<c00e1aec>] (truncate_inode_pages_range) from [<c00e1fd8>]
(truncate_inode_pages+0x28/0x30)
| [<c00e1fd8>] (truncate_inode_pages) from [<c00e2148>]
(truncate_inode_pages_final+0x60/0x64)
| [<c00e2148>] (truncate_inode_pages_final) from [<c020c92c>]
(f2fs_evict_inode+0x4c/0x268)
| [<c020c92c>] (f2fs_evict_inode) from [<c0137214>] (evict+0x94/0x140)
| [<c0137214>] (evict) from [<c01377e8>] (iput+0xc8/0x134)
| [<c01377e8>] (iput) from [<c01333e4>] (d_delete+0x154/0x180)
| [<c01333e4>] (d_delete) from [<c0129870>] (vfs_rmdir+0x114/0x12c)
| [<c0129870>] (vfs_rmdir) from [<c012d644>] (do_rmdir+0x158/0x168)
| [<c012d644>] (do_rmdir) from [<c012dd90>] (SyS_unlinkat+0x30/0x3c)
| [<c012dd90>] (SyS_unlinkat) from [<c000ec40>]
(ret_fast_syscall+0x0/0x4c)
As explained by Jaegeuk Kim:
|This inode is the directory (c.f., do_rmdir) causing a infinite loop on
|sync_dirty_dir_inodes.
|The sync_dirty_dir_inodes tries to flush dirty dentry pages, but if the
|inode is under eviction, it submits bios and do it again until eviction
|is finished.
This patch adds a cond_resched() (as suggested by Jaegeuk) after a BIO
is submitted so other thread can make progress.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
[Jaegeuk Kim: change fs/f2fs to f2fs in subject as naming convention]
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 14b42817763903070fa8cbf087369461400cc021
Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Date: Fri Feb 27 17:38:13 2015 +0800
f2fs: fix max orphan inodes calculation
cp_payload is introduced for sit bitmap to support large volume, and it is
just after the block of f2fs_checkpoint + nat bitmap, so the first segment
should include F2FS_CP_PACKS + NR_CURSEG_TYPE + cp_payload + orphan
blocks.
However, current max orphan inodes calculation don't consider cp_payload,
this patch fix it by reducing the number of cp_payload from total blocks
of
the first segment when calculate max orphan inodes.
Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 2b11a74b21b040270d19fc3b61265c75413c0dc1
Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Date: Fri Feb 27 16:52:50 2015 +0800
f2fs: don't need to collect dirty sit entries and flush journal when
there's no dirty sit entries
Don't need to collect dirty sit entries and flush sit journal to sit
entries when there's no dirty sit entries. This patch check
dirty_sentries
earlier just like flush_nat_entries.
Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 2bda542d59f970b61095bd8205c6c76062f286e3
Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Date: Fri Feb 27 15:56:16 2015 +0800
f2fs: fix block_ops trace point
block operations is used to flush all dirty node and dentry blocks in
the page cache and suspend ordinary writing activities, however, there
are some facts such like cp error or mount read-only etc which lead to
block operations can't be invoked. Current trace point print block_ops
start premature even if block_ops doesn't have opportunity to execute.
This patch fix it by move block_ops trace point just before block_ops.
Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit b7f204cca4b7155f47e64555614b1f534a53737e
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Wed Feb 25 19:54:48 2015 -0800
f2fs: check its block allocation to avoid producing wrong dirty pages
If a page is cached but its block was deallocated, we don't need to make
the page dirty again by gc and truncate_partial_data_page.
In that case, it needs to check its block allocation all the time instead
of giving up-to-date page.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 2bca1e2388a8a9e8a3db0daf54fcc124516a3e83
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Wed Feb 25 19:25:01 2015 -0800
f2fs: clear page's up-to-date if block was deallocated
If page's on-disk block was deallocated, let's remove up-to-date flag to
avoid
further access with wrong contents.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 3c64298579a1343cbdf3d2f17adf774a58546aae
Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Date: Thu Feb 26 07:57:21 2015 +0800
f2fs: fix the number of orphan inode blocks
cp_pack_start_sum is calculated in do_checkpoint and is equal to
cpu_to_le32(1 + cp_payload_blks + orphan_blocks). The number of
orphan inode blocks is take advantage of by recover_orphan_inodes
to readahead meta pages and recovery inodes. However, current codes
forget to reduce the number of cp payload blocks when calculate
the number of orphan inode blocks. This patch fix it.
Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 551414861fbd494d58d50f4750d1d1b7f42b6df1
Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Date: Thu Feb 26 07:57:20 2015 +0800
f2fs: introduce macro __cp_payload
This patch introduce macro __cp_payload.
Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 1abff93d01eddaab7ccdcf15f8cda4d91cbbcd9a
Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Date: Thu Jan 8 19:15:53 2015 -0800
f2fs: support fs shutdown
This patch introduces a generic ioctl for fs shutdown, which was used by
xfs.
If this shutdown is triggered, filesystem stops any further IOs according
to the
following options.
1. FS_GOING_DOWN_FULLSYNC
: this will flush all the data and dentry blocks, and do checkpoint
before
shutdown.
2. FS_GOING_DOWN_METASYNC
: this will do checkpoint before shutdown.
3. FS_GOING_DOWN_NOSYNC
: this will trigger shutdown as is.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
commit 9a74ccdbbb8fa6302ae1ba606f2ef0c03d3242ab
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Fri Feb 13 20:18:52 2015 +0100
clk: Add PWM clock driver
Some board designers, when running out of clock output pads, decide to
(mis)use PWM output pads to provide a clock to external components.
This driver supports this practice by providing an adapter between the
PWM and clock bindings in the device tree. As the PWM bindings specify
the period in the device tree, this is a fixed clock.
Tested-by: Janusz Uzycki <j.uzycki@xxxxxxxxxxxxxx>
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx>
commit cdfb080e1853660952db5e5332727e59427856df
Author: Chris Mason <clm@xxxxxx>
Date: Mon Apr 6 18:17:00 2015 -0700
Btrfs: fix use after free when close_ctree frees the orphan_rsv
Near the end of close_ctree, we're calling btrfs_free_block_rsv
to free up the orphan rsv. The problem is this call updates the
space_info, which has already been freed.
This adds a new __ function that directly calls kfree instead of trying
to update the space infos.
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 1bbc621ef28462456131c035eaeb5567a1a2a2fe
Author: Chris Mason <clm@xxxxxx>
Date: Mon Apr 6 12:46:08 2015 -0700
Btrfs: allow block group cache writeout outside critical section in commit
We loop through all of the dirty block groups during commit and write
the free space cache. In order to make sure the cache is currect, we do
this while no other writers are allowed in the commit.
If a large number of block groups are dirty, this can introduce long
stalls during the final stages of the commit, which can block new procs
trying to change the filesystem.
This commit changes the block group cache writeout to take appropriate
locks and allow it to run earlier in the commit. We'll still have to
redo some of the block groups, but it means we can get most of the work
out of the way without blocking the entire FS.
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 2b108268006e06d57ec9810f4ccf5d99d7e5b598
Author: Chris Mason <clm@xxxxxx>
Date: Mon Apr 6 07:48:20 2015 -0700
Btrfs: don't use highmem for free space cache pages
In order to create the free space cache concurrently with FS
modifications,
we need to take a few block group locks.
The cache code also does kmap, which would schedule with the locks held.
Instead of going through kmap_atomic, lets just use lowmem for the cache
pages.
Signed-off-by: Chris Mason <clm@xxxxxx>
commit c9dc4c6578502c2085705347375b82089aad18d0
Author: Chris Mason <clm@xxxxxx>
Date: Sat Apr 4 17:14:42 2015 -0700
Btrfs: two stage dirty block group writeout
Block group cache writeout is currently waiting on the pages for each
block group cache before moving on to writing the next one. This commit
switches things around to send down all the caches and then wait on them
in batches.
The end result is much faster, since we're keeping the disk pipeline
full.
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 4c6d1d85ad89fd8e32dc9204b7f944854399bda9
Author: Chris Mason <clm@xxxxxx>
Date: Mon Apr 6 13:17:20 2015 -0700
btrfs: move struct io_ctl into ctree.h and rename it
We'll need to put the io_ctl into the block_group cache struct, so
name it struct btrfs_io_ctl and move it into ctree.h
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 3bce876fd58a745b8a1bc0bd8325c3e5b4cebeb0
Author: Josef Bacik <jbacik@xxxxxx>
Date: Tue Feb 24 12:35:51 2015 -0800
Btrfs: don't steal from the global reserve if we don't have the space
btrfs_evict_inode() needs to be more careful about stealing from the
global_rsv. We dont' want to end up aborting commit with ENOSPC just
because the evict_inode code was too greedy.
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 365c5313776730acf433d54226f0216a1d075e9a
Author: Josef Bacik <jbacik@xxxxxx>
Date: Wed Feb 18 13:58:15 2015 -0800
Btrfs: don't commit the transaction in the async space flushing
We're triggering a huge number of commits from
btrfs_async_reclaim_metadata_space. These aren't really requried,
because everyone calling the async reclaim code is going to end up
triggering a commit on their own.
Signed-off-by: Chris Mason <clm@xxxxxx>
commit cb723e491955ac11a1591ae25cada7c3b1470609
Author: Josef Bacik <jbacik@xxxxxx>
Date: Wed Feb 18 08:06:57 2015 -0800
Btrfs: reserve space for block groups
This changes our delayed refs calculations to include the space needed
to write back dirty block groups.
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 28f75a0e6cdfbce8115487ecbc0968a2c4e01806
Author: Chris Mason <clm@xxxxxx>
Date: Wed Feb 4 06:59:29 2015 -0800
Btrfs: refill block reserves during truncate
When truncate starts, it allocates some space in the block reserves so
that we'll have enough to update metadata along the way.
For very large files, we can easily go through all of that space as we
loop through the extents. This changes truncate to refill the space
reservation as it progresses through the file.
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 1262133b8d6f10f5ca7621cd4cf65ddf6254126a
Author: Josef Bacik <jbacik@xxxxxx>
Date: Tue Feb 3 07:50:16 2015 -0800
Btrfs: account for crcs in delayed ref processing
As we delete large extents, we end up doing huge amounts of COW in order
to delete the corresponding crcs. This adds accounting so that we keep
track of that space and flushing of delayed refs so that we don't build
up too much delayed crc work.
This helps limit the delayed work that must be done at commit time and
tries to avoid ENOSPC aborts because the crcs eat all the global
reserves.
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 28ed1345a50491d78e1454ad4005dc5d3557a69e
Author: Chris Mason <clm@xxxxxx>
Date: Wed Dec 17 09:41:04 2014 -0800
btrfs: actively run the delayed refs while deleting large files
When we are deleting large files with large extents, we are building up
a huge set of delayed refs for processing. Truncate isn't checking
often enough to see if we need to back off and process those, or let
a commit proceed.
The end result is long stalls after the rm, and very long commit times.
During the commits, other processes back up waiting to start new
transactions and we get into trouble.
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 1ccdd04f536510b7bd9b09efe31b7002ebfedf9c
Author: Jassi Brar <jaswinder.singh@xxxxxxxxxx>
Date: Wed Mar 4 19:04:03 2015 +0800
clk: Add clock driver for mb86s7x
The CRG11 clock controller is managed by remote f/w.
This driver simply maps Linux CLK ops onto mailbox api.
Signed-off-by: Andy Green <andy.green@xxxxxxxxxx>
Signed-off-by: Vincent Yang <vincent.yang@xxxxxxxxxxxxx>
Signed-off-by: Tetsuya Nuriya <nuriya.tetsuya@xxxxxxxxxxxxx>
Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx>
commit c7739aebec22d43fa78389f286bd5520fc53562b
Author: Robert Jarzmik <robert.jarzmik@xxxxxxx>
Date: Sat Feb 14 15:54:58 2015 +0100
clk: pxa: pxa3xx: add missing os timer clock
The pxa3xx scheduler relies on the pxa-timer, which requires a clock for
its rate. As the clock handling will be taken over by the clock
framework, add this missing clock.
The miss was discovered by attempting to run a zylonite platform in a
device-tree configuration, with the future patch to shift clocks
handling to clock framework applied.
Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx>
Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx>
commit b2eafd7282fdfd148fc09032540b0ff42bfedfbf
Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>
Date: Fri Apr 10 11:22:23 2015 -0700
HID: sensor: Update document for custom sensor
Added custom sensor documentation
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>
Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx>
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit 4a7de0519df5e8fb89cef6ee062330ffe4b50a4d
Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>
Date: Fri Apr 10 11:22:22 2015 -0700
HID: sensor: Custom and Generic sensor support
HID Sensor Spec defines two usage ids for custom sensors
HID_USAGE_SENSOR_TYPE_OTHER_CUSTOM (0x09, 0xE1)
HID_USAGE_SENSOR_TYPE_OTHER_GENERIC(0x09, 0xE2)
In addition the standard also defines usage ids for custom fields.
The purpose of these sensors is to extend the functionality or provide a
way to
obfuscate the data being communicated by a sensor. Without knowing the
mapping
between the data and its encapsulated form, it is difficult for an driver
to
determine what data is being communicated by the sensor. This allows some
differentiating use cases, where vendor can provide applications. Since
these
can't be represented by standard sensor interfaces like IIO, we present
these
as fields with
- type (input/output)
- units
- min/max
- get/set value
In addition an dev interface to transfer report events. Details about this
interface is described in /Documentation/hid/hid-sensor.txt.
Manufacturers
should not use these ids for any standard sensors, otherwise the the
product/vendor id can be added to black list.
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>
Reviewed-by: Jonathan Cameron <jic23@xxxxxxxxxx>
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit 5288ec157cf1d1bf7cfa3581f958b1812a37fec9
Merge: 78ebb0d 020f1d9
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri Apr 10 12:49:34 2015 -0700
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue
Jeff Kirsher says:
====================
Intel Wired LAN Driver Updates 2015-04-10
This series contains updates to ixgbe and documentation for igb,
ixgbe and ixgb.
Stephen cleans up documentation to igb, ixgbe and ixgb.
Don updates how bridge mode is stored to minimize obfuscation and
makes updates for future silicon easier. Adds a new bridge mode
support function which gathers all the logic needed to configure
bridge modes. Adds Source Address Prunning for VEPA bridge mode
for x550 devices.
Vasu adds specific FCoE offloads for x550 for DDP context programming
and increased DDP exchanges.
Alex Duyck cleans up the use of HW_VLAN_CTAG_FILTER in hw_features,
where the driver was actually ignoring the value of the bit and was
just assuming it was always set. Also cleans up the use of rcu_barrier()
since the driver has not used call_rcu() to free the rings for some
time now.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 78ebb0d00b49125ea03a1adcaa4db39de38be41c
Author: Thomas Graf <tgraf@xxxxxxx>
Date: Fri Apr 10 01:45:53 2015 +0200
rtnetlink: Mark name argument of rtnl_create_link() const
Signed-off-by: Thomas Graf <tgraf@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b815fc12d4dd2b5586184fb4f867caff05a810d4
Author: Mike Christie <michaelc@xxxxxxxxxxx>
Date: Fri Apr 10 02:47:27 2015 -0500
iscsi target: fix oops when adding reject pdu
This fixes a oops due to a double list add when adding a reject PDU for
iscsit_allocate_iovecs allocation failures. The cmd has already been
added to the conn_cmd_list in iscsit_setup_scsi_cmd, so this has us call
iscsit_reject_cmd.
Note that for ERL0 the reject PDU is not actually sent, so this patch
is not completely tested. Just verified we do not oops. The problem is the
add reject functions return -1 which is returned all the way up to
iscsi_target_rx_thread which for ERL0 will drop the connection.
Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 704f32d48af221fd6d6ffcafe679f04ddcf5e7f6
Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx>
Date: Mon Apr 6 17:16:30 2015 +0000
spi: bcm2835: enabling polling mode for transfers shorter than 30us
In cases of short transfer times the CPU is spending lots of time
in the interrupt handler and scheduler to reschedule the worker thread.
Measurements show that we have times where it takes 29.32us to between
the last clock change and the time that the worker-thread is running again
returning from wait_for_completion_timeout().
During this time the interrupt-handler is running calling complete()
and then also the scheduler is rescheduling the worker thread.
This time can vary depending on how much of the code is still in
CPU-caches, when there is a burst of spi transfers the subsequent delays
are in the order of 25us, so the value of 30us seems reasonable.
With polling the whole transfer of 4 bytes at 10MHz finishes after 6.16us
(CS down to up) with the real transfer (clock running) taking 3.56us.
So the efficiency has much improved and is also freeing CPU cycles,
reducing interrupts and context switches.
Because of the above 30us seems to be a reasonable limit for polling.
Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit a30a555d7435a440fab06fe5960cf3448d8cedd3
Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx>
Date: Mon Apr 6 17:16:31 2015 +0000
spi: bcm2835: transform native-cs to gpio-cs on first spi_setup
Transforms the bcm-2835 native SPI-chip select to their gpio-cs
equivalent.
This allows for some support of some optimizations that are not
possible due to HW-gliches on the CS line - especially filling
the FIFO before enabling SPI interrupts (by writing to CS register)
while the transfer is already in progress (See commit: e3a2be3030e2)
This patch also works arround some issues in bcm2835-pinctrl which does
not
set the value when setting the GPIO as output - it just sets up output and
(typically) leaves the GPIO as low. When a fix for this is merged then
this
gpio_set_value can get removed from bcm2835_spi_setup.
Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit cfc4957b46d78115351ad6ff3ce0cd0da7b83730
Merge: 6fb805f 3dc8523
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 10 11:16:54 2015 -0700
Merge tag 'sound-4.0' of
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai:
"Here are fixes gathered for 4.0-final; one FireFire endian fix, two
USB-audio quirks, and three HD-audio quirks.
All relatively small and device-specific fixes, should be pretty safe
to apply"
* tag 'sound-4.0' of
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: usb - Creative USB X-Fi Pro SB1095 volume knob support
ALSA: hda - Fix headphone pin config for Lifebook T731
ALSA: bebob: fix to processing in big-endian machine for sending cue
ALSA: hda/realtek - Make more stable to get pin sense for ALC283
ALSA: usb-audio: don't try to get Benchmark DAC1 sample rate
ALSA: hda/realtek - Support Dell headset mode for ALC256
commit 4ec0853ac5d55e8984d7f727bc16bf16675e6484
Merge: bea3672 1b42085
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Fri Apr 10 19:16:06 2015 +0100
Merge remote-tracking branch 'regulator/topic/wm8350' into regulator-next
commit bea3672833dac06e37651e755d24ffdb0c471907
Merge: 3984c9d 7e476c7 046db76 e999c72 ce8ae17 14aef29
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Fri Apr 10 19:16:03 2015 +0100
Merge remote-tracking branches 'regulator/topic/mode',
'regulator/topic/notifier', 'regulator/topic/palmas', 'regulator/topic/qcom'
and 'regulator/topic/stw481x' into regulator-next
commit 3984c9da458dbdc352a82909a51c42cf2860a4a5
Merge: e507384 af78114 2b85c28 eb2d90c c0cf5a59
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Fri Apr 10 19:16:02 2015 +0100
Merge remote-tracking branches 'regulator/topic/dbx500',
'regulator/topic/load-op', 'regulator/topic/max77693' and
'regulator/topic/max8660' into regulator-next
commit e5073849f9d78cd091dccc2a993c0fa5d65f0014
Merge: 5fc31b4 c8b263c ec454d7 a7b976a a46a073
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Fri Apr 10 19:16:00 2015 +0100
Merge remote-tracking branches 'regulator/topic/act8865',
'regulator/topic/arizona-ldo1', 'regulator/topic/arizona-micsupp' and
'regulator/topic/da9211' into regulator-next
commit 5fc31b43d59a983c47c37b7a6d327f83395609ed
Merge: f22e6e8 498e530
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Fri Apr 10 19:15:59 2015 +0100
Merge remote-tracking branch 'regulator/topic/core' into regulator-next
commit 498e530e50ffccb979cf5f2f2e5bbce01afe1b6e
Merge: 6261b06 2329609
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Fri Apr 10 19:05:21 2015 +0100
Merge branch 'topic/debugfs' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into
regulator-core
commit 0e7921e9583b72be93d8fa82536a7594974b7eea
Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx>
Date: Tue Apr 7 09:33:32 2015 +0800
ASoC: Intel: Use the generic IPC/mailbox APIs in Broadwell
Use the generic IPC/mailbox APIs to replace the original processing
code for Broadwell platform.
Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx>
Acked-by: Jie Yang <yang.jie@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 48cec59b6f383c63b2b828b93656ee2030abecc0
Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx>
Date: Tue Apr 7 09:33:31 2015 +0800
ASoC: Intel: Use the generic IPC/mailbox APIs in Baytrail
Use the generic IPC/mailbox APIs to replace the original processing
code for Baytrail platform.
Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx>
Acked-by: Jie Yang <yang.jie@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit a33c1ec5cf82efb76f0e7339b13f11cfb53a2a2f
Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx>
Date: Tue Apr 7 09:33:30 2015 +0800
ASoC: Intel: Refactor common IPC/mailbox code into generic APIs
Currently in Intel SST driver, some similar IPC/mailbox processing
code are used in different platforms (e.g. in baytrail/broadwell).
This patch extracts the common code and creates new files
(sst-ipc.c/sst-ipc.h) to contain the common code and provide the generic
APIs for IPC/mailbox processing.
Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx>
Acked-by: Jie Yang <yang.jie@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 6fb805fb104de653ad28384192c1e469505b6bdd
Merge: e5e02de 4a89c30
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 10 10:51:34 2015 -0700
Merge tag 'nios2-fixes-v4.0-final' of
git://git.rocketboards.org/linux-socfpga-next
Pull arch/nios2 fixes from Ley Foon Tan:
"There are 3 arch/nios2 fixes for 4.0 final:
- fix cache coherency issue when debugging with gdb
- move restart_block to struct task_struct (aligned with other
architectures)
- fix for missing registers defines for ptrace"
* tag 'nios2-fixes-v4.0-final' of
git://git.rocketboards.org/linux-socfpga-next:
nios2: fix cache coherency issue when debug with gdb
nios2: add missing ptrace registers defines
nios2: signal: Move restart_block to struct task_struct
commit 1169006b054ed98f6056b67fd7f18231b65794a0
Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Date: Thu Apr 9 15:32:09 2015 -0300
ASoC: fsl: Add the audio interface acronyms in Kconfig text
To keep consistency with the other Kconfig entries, use the audio
interface acronyms (SSI and SPDIF) in the Kconfig menu text.
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit c0cf5a59fb69527151eb8e332a1b9660200f66c6
Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Date: Fri Apr 10 15:23:42 2015 +0200
regulator: max8660: Handle empty regulator data
It is not necessary to have regulator init data for a regulator. This
patch removes the necessity of this data and handles a NULL pointer
properly.
Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 2bbd681ba2bfa0f3805fb541b0840b96893c5727
Author: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx>
Date: Wed Mar 18 17:20:29 2015 +0530
i2c: xlp9xx: Driver for Netlogic XLP9XX/5XX I2C controller
Add an I2C bus driver i2c-xlp9xx.c to support the I2C block in the
XLP9xx/XLP5xx MIPS SoC. Update Kconfig and Makefile to add the
CONFIG_I2C_XLP9XX option.
Signed-off-by: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx>
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit 85e4564ab234221f81b13e08ec5eb235734e51b0
Author: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx>
Date: Wed Mar 18 17:20:28 2015 +0530
of: Add vendor prefix 'netlogic'
Add vendor name "netlogic" in vendor-prefixes.txt, which will be used for
the Netlogic XLP and XLPII MIPS SoCs. These processors were from NetLogic
Microsystems that is now a part of Broadcom Corporation.
Signed-off-by: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx>
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit 7ef97e9a312c359a2b32a7b5d918c60f238b69b2
Author: Grygorii Strashko <grygorii.strashko@xxxxxx>
Date: Mon Apr 6 15:38:41 2015 +0300
i2c: davinci: use ICPFUNC to toggle I2C as gpio for bus recovery
Having a board where the I2C bus locks up occasionally made it clear
that the bus recovery in the i2c-davinci driver will only work on
some boards, because on regular boards, this will only toggle GPIO
lines that aren't muxed to the actual pins.
The I2C controller on SoCs like da850 (and da830), Keystone 2 has the
built-in capability to bit-bang its lines by using the ICPFUNC registers
of the i2c controller.
Implement the suggested procedure by toggling SCL and checking SDA using
the ICPFUNC registers of the I2C controller when present. Allow platforms
to indicate the presence of the ICPFUNC registers with a has_pfunc
platform
data flag and add optional DT property "ti,has-pfunc" to indicate
the same in DT.
Reviewed-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Acked-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx>
Tested-by: Michael Lawnick <michael.lawnick@xxxxxxxxx>
Signed-off-by: Ben Gardiner <bengardiner@xxxxxxxxxxxxxx>
Signed-off-by: Mike Looijmans <milo-software@xxxxxxxxxxxxxxxxxxxxx>
[grygorii.strashko@xxxxxx: combined patches from Ben Gardiner and
Mike Looijmans and reimplemented ICPFUNC bus recovery using I2C
bus recovery infrastructure]
Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit 2e65676f710e8feb9f76a7beee649b0e5ff95ca3
Author: Grygorii Strashko <grygorii.strashko@xxxxxx>
Date: Mon Apr 6 15:38:40 2015 +0300
i2c: davinci: use bus recovery infrastructure
This patch converts Davinci I2C driver to use I2C bus recovery
infrastructure, introduced by commit 5f9296ba21b3 ("i2c: Add
bus recovery infrastructure").
The i2c_bus_recovery_info is configured for Davinci I2C adapter
only in case scl_pin is provided in platform data.
As the controller must be held in reset while doing so, the
recovery routine must re-init the controller. Since this was already
being done after each call to i2c_recover_bus, move those calls into
the recovery_prepare/unprepare routines and as well.
Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit 2b2190a375d796a5ad9ec557cb51269f36b264d4
Author: Grygorii Strashko <grygorii.strashko@xxxxxx>
Date: Mon Apr 6 15:38:39 2015 +0300
i2c: change input parameter to i2c_adapter for prepare/unprepare_recovery
This patch changes type of input parameter for
prepare/unprepare_recovery() callbacks from struct i2c_bus_recovery_info
* to struct i2c_adapter *. This allows to simplify implementation of
these callbacks and avoid type conversations from i2c_bus_recovery_info
to i2c_adapter. The i2c_bus_recovery_info can be simply retrieved from
struct i2c_adapter which contains pointer on it. There are no users
currently, so this is safe to do.
Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Acked-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx>
Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit cad2e03d8607793fd71a830b4b41fc8e9e9995ea
Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx>
Date: Tue Mar 31 17:37:14 2015 +0300
ufs: add support to allow non standard behaviours (quirks)
Some implementation of UFS host controller HW might have some non-standard
behaviours (quirks) when compared to behaviour specified by UFSHCI
specification. This patch add support to allow specifying all such quirks
to standard UFS host controller driver so standard driver takes them into
account.
In this change a UFSHCD_QUIRK_DELAY_BEFORE_DME_CMDS is introduced,
where a minimum delay of 1ms is required before DME commands for
stability purposes.
Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx>
Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit bfdbe8ba21291c024afcec95b7bd515b5bf69689
Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx>
Date: Tue Mar 31 17:37:13 2015 +0300
ufs-qcom: save controller revision info in internal structure
Sometimes, specific information about the UFS controller revision is
required in order to determine certain operations or execute
controller dependent quirks.
In order to avoid reading the controller revision multiple times,
we simply read it once and save this information in internal structure.
Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx>
Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit a776e39416cc4580b5a1688c3e44258888955996
Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Date: Thu Apr 9 15:00:08 2015 -0400
qla2xxx: Update driver version to 8.07.00.18-k
Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx>
Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 718abbdca79f8ad87b359cc2cbcc4b1cb3aa6759
Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx>
Date: Thu Apr 9 15:00:07 2015 -0400
qla2xxx: Restore physical port WWPN only, when port down detected for
FA-WWPN port.
For FA-WWPN is enabled port, if NPIV created on that port and,
if port link is brought down, then WWPN was restored from flash for both
physical and NPIV port. This will result in NPIV port and physical port
sharing same WWPN. Any application refreshing ports information will
not be able to scan NPIV port because of this behavior. So while
restoring WWPN,
only restore physical port WWPN.
Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx>
Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit ded6411fd88267510dcee6d6c29cfd0bd82d4f0e
Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx>
Date: Thu Apr 9 15:00:06 2015 -0400
qla2xxx: Fix virtual port configuration, when switch port is
disabled/enabled.
On some vendor switches, when switch port is toggled (down /up),
then in some condition driver tries to configure virtual port,
before FW is actually in ready state to process any commands on wire.
At this time, configuring virtual port can fail. Add fix in driver
to make driver wait, for FW to be ready state before
Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx>
Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit e8fb1250ba5898c6c53e0063bbdcc9cadd580797
Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Date: Thu Apr 9 15:00:05 2015 -0400
qla2xxx: Prevent multiple firmware dump collection for ISP27XX.
For ISP27XX, driver will capture new firmware dump even if there is
one already collected. Prevent this from happening by checking
fw_dumped flag.
Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx>
Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit fd564b5d5ddeead05f5b5cb8fbac6694f13f1007
Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Date: Thu Apr 9 15:00:04 2015 -0400
qla2xxx: Disable Interrupt handshake for ISP27XX.
Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx>
Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit d14e72fb859cf9a767ce3758342466883611cc57
Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Date: Thu Apr 9 15:00:03 2015 -0400
qla2xxx: Add debugging info for MBX timeout.
Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx>
Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 064135e01e0abc21bad9dfb9ae42d0b88c87ed32
Author: Andrew Vasquez <andrew.vasquez@xxxxxxxxxx>
Date: Thu Apr 9 15:00:02 2015 -0400
qla2xxx: Add serdes read/write support for ISP27XX
Signed-off-by: Andrew Vasquez <andrew.vasquez@xxxxxxxxxx>
Signed-off-by: Harish Zunjarrao <harish.zunjarrao@xxxxxxxxxx>
Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 0137e59e6271fc91f9e6c854d7833ad8ff8cb50b
Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Date: Thu Apr 9 15:00:01 2015 -0400
qla2xxx: Add udev notification to save fw dump for ISP27XX
Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx>
Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit f4bf5e3c11dbc1e030ad245d970ce7a2df4b21dd
Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Date: Thu Apr 9 15:00:00 2015 -0400
qla2xxx: Add message for sucessful FW dump collected for ISP27XX.
o Added message indicating firmware dump was sucessfully collected
for ISP27XX.
o Improve logging to help debug firmware dump process for ISP27XX.
Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx>
Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit f1458cda44eb89c0222bae4a964aae2bc5ad1e76
Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx>
Date: Thu Apr 9 14:59:59 2015 -0400
qla2xxx: Add support to load firmware from file for ISP 26XX/27XX.
Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx>
Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit b21ba319dc4c68045a982b64b710c84f482f32d8
Author: Nigel Kirkland <nigel.kirkland@xxxxxxxxxx>
Date: Thu Apr 9 14:59:58 2015 -0400
qla2xxx: Fix beacon blink for ISP27XX.
Signed-off-by: Nigel Kirkland <nigel.kirkland@xxxxxxxxxx>
Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 334614912b252b49f2e218e3efaddf86edd7f91a
Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx>
Date: Thu Apr 9 14:59:57 2015 -0400
qla2xxx: Increase the wait time for firmware to be ready for P3P.
Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx>
Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 6cbfb1ebbbcdc49eac2f49e146452507b05fcae5
Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Date: Thu Apr 9 14:59:56 2015 -0400
qla2xxx: Fix crash due to wrong casting of reg for ISP27XX.
[Bart: additional sparse warning caused by this patch]
[jejb: fix sparse warning]
Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx>
Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Cc: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 8fec02a73e31407e14986fca67dab48d4f777f0e
Author: Jiri Kosina <jkosina@xxxxxxx>
Date: Thu Apr 9 13:32:35 2015 +0200
HID: debug: fix error handling in hid_debug_events_read()
In the unlikely case of hdev vanishing while hid_debug_events_read() was
sleeping, we can't really break out of the case switch as with other
cases,
as on the way out we'll try to remove ourselves from the hdev waitqueue.
Fix this by taking a shortcut exit path and avoiding cleanup that doesn't
make sense in case hdev doesn't exist any more anyway.
Reported-by: Jiri Slaby <jslaby@xxxxxxx>
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit dd83cb2c168f32a8d2ad0acaacb56b2a4078df3a
Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Date: Thu Apr 9 14:59:55 2015 -0400
qla2xxx: Fix warnings reported by static checker.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx>
Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit a5053a8e200e865ab786384df3f985a3cbb346fe
Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Date: Fri Apr 10 09:47:00 2015 +0000
ASoC: core: call snd_soc_runtime_set_dai_fmt() before soc_new_pcm()
Current snd_soc_runtime_set_dai_fmt() is called after
soc_probe_link_dais(). this means snd_soc_dai_set_fmt() will be
called after soc_new_pcm().
Before appling 1efb53a220b78fdfdbb97b726a2156713e75bdab
(ASoC: simple-card: Remove support for setting differing DAI formats)
simple-card user had (1) snd_soc_dai_set_fmt() -> soc_new_pcm(),
but, after that it is (2) soc_new_pcm() -> snd_soc_dai_set_fmt().
At least rsnd driver is assuming (1) pattern.
This patch move snd_soc_dai_set_fmt() into soc_probe_link_dais()
after the dai_link->init section to solve this issue.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 1ddca24c532247894eb4430e9315e690306cf860
Merge: 5f97a4b 3185878
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Fri Apr 10 16:09:21 2015 +0100
Merge branch 'topic/dapm-dt' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-core
commit 5f97a4bd2c92aff216581d662a37163881ac3888
Merge: 6553bf06 7c0e3fa
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Fri Apr 10 16:04:46 2015 +0100
Merge branch 'topic/delay' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-core
commit d09c78f8f3ab6dc77dd12049447921ba4a132bc2
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:29 2015 -0400
lpfc: Update version to 10.5.0.0 for upstream patch set
Update version to 10.5.0.0 for upstream patch set
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit f25e8e79bdb269b47de28ac263af09b9e29c775a
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:28 2015 -0400
lpfc: Update copyright to 2015
Update copyright to 2015
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 4fbdf9cbcc5c0e154d9eb9da4ac3a6d8f9df7ada
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:27 2015 -0400
lpfc: Fix for lun discovery issue with saturn adapter.
FCP_CMD payload was not always properly initialized on SLI-3 devices.
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit ad490b6e70c5756d0479ce1a7336626859b8b546
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:26 2015 -0400
lpfc: Fix crash in device reset handler.
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 6c7cf486d35e0441c81f9bb8c49e6c826028bbb6
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:25 2015 -0400
lpfc: Fix OS crash when running loopback test in applications
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 6eae430328d23e2d6adaa649a7c0bac18e04dda8
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:23 2015 -0400
lpfc: Fix internal loopback failure.
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit be6bb94100dc6803a530e20aad05360e6267f56b
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:22 2015 -0400
lpfc: Fix premature release of rpi bit in bitmask
Currently, the driver plays off the fact that older sli4 adapters have a
different rpi access pattern that allowed for the rpi reference to be
released earlier in the teardown sequence, allowing the driver to recycle
the rpi value sooner. Newer sli4 adapters have a different access pattern
that
requires us to wait for a later mailbox completion. This changes the put
call location on the newer sli4 adapters.
Symptoms of the error are "0110 ELS" and the "0372 iotag" errors.
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 34154e05bc135f16804584d81a8c810611a4abe9
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:21 2015 -0400
lpfc: Initiator sends wrong BBCredit value for either FLOGI or FLOGI_ACC
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 63e480fd2f598e9ad37f89e79c36834e7dd60ba0
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:20 2015 -0400
lpfc: Fix null ndlp dereference in target_reset_handler
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 76b2c34aeb947a649e52e0f03f5b930ef936e506
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:19 2015 -0400
lpfc: Fix FDMI Fabric support in driver for Brocade
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit f0bf5f91908f7c8819d4111c7bd793178021aa3f
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:18 2015 -0400
lpfc: Fix provide host name and OS name in RSNN-NN FC-GS command
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 26d830ec7fb660130a00f5d27601f37da70a4c1e
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:17 2015 -0400
lpfc: Parse the new 20G, 25G and 40G link speeds in the lpfc driver
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit a0683bf67a0502c6ed8b75a1f1a65762c7790635
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:16 2015 -0400
lpfc: Add support for reporting option_rom_version on newer adapters
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 2c9c5a001002cf95d36636c2debd897a17781b06
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:15 2015 -0400
lpfc: Fix setting of EQ (interrupt) delay Multiplier
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit ea4142f6b10585f271a40ee52eec2f55e48aeccf
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:13 2015 -0400
lpfc: Fix host reset escalation killing all IOs.
Fix host reset escalation killing all IOs.
SLI-3 adapters will use a new host template. The template differs
from SLI-4 adapters in that it does not have an eh_host_reset_handler.
Lpfc has traditionally never had a host_reset. The host reset
handler was added when we ran into a stuck hardware condition on a
SLI-4 adapter. The host_reset will reset and reinit the pci function,
clearing the hardware condition.
Unfortunately, the host reset handler uses attach/detach code paths,
which makes scsi_add_host() and scsi_remove_host() calls. Meaning, a
host_reset will completely remove the scsi_host from the system. As a
new call to scsi_add_host() is made, the shost# changes, which results
in completely new scsi_devices and device names. All the older scsi
devices on the old shost# are now orphaned and unrecoverable.
We realize we need to re-implement the host_reset_handler so the scsi_host
stays registered across the host_reset, but that will be a rather
lengthy effort. In the short term, we had an immediate need to restore
the SLI-3 devices to their working behavior, with the easiest path being
to remove their host_reset handler.
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 23296099e70854a272fc369bab8ddcc57f27f97a
Author: Heiko Stübner <heiko@xxxxxxxxx>
Date: Fri Apr 10 13:48:41 2015 +0200
regulator: output current-limit for all regulators in summary
Voltage regulators can have (unregulated) current limits too, so we should
probably output both voltage and current for all regulators.
Holding the rdev->mutex actually conflicts with
_regulator_get_current_limit
but also is not really necessary, as the global regulator_list_mutex
already
protects us from the regulator vanishing while we go through the list.
On the rk3288-firefly the summary now looks like:
regulator use open bypass voltage current min
max
-------------------------------------------------------------------------------
vcc_sys 0 12 0 5000mV 0mA 5000mV
5000mV
vcc_lan 1 1 0 3300mV 0mA 3300mV
3300mV
ff290000.ethernet 0mV
0mV
vcca_33 0 0 0 3300mV 0mA 3300mV
3300mV
vcca_18 0 0 0 1800mV 0mA 1800mV
1800mV
vdd10_lcd 0 0 0 1000mV 0mA 1000mV
1000mV
[...]
Suggested-by: Mark Brown <broonie@xxxxxxxxxx>
Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 7c225ec90c368a474daa9803922f4b7d6fe6d5c8
Author: Heiko Stübner <heiko@xxxxxxxxx>
Date: Tue Apr 7 16:16:39 2015 +0200
regulator: add a summary tree in debugfs
On modern systems the regulator hierarchy can get quite long and nested
with regulators supplying other regulators. In some cases when debugging
it might be nice to get a tree of these regulators, their consumers
and the regulation constraints in one go.
To achieve this add a regulator_summary sysfs node, similar to
clk_summary in the common clock framework, that walks the regulator
list and creates a tree out of the regulators, their consumers and
core per-regulator settings.
On a rk3288-firefly the regulator_summary would for example look
something like:
regulator use open bypass value min max
-----------------------------------------------------------------------
vcc_sys 0 12 0 5000mV 5000mV 5000mV
vcc_lan 1 1 0 3300mV 3300mV 3300mV
ff290000.ethernet 0mV 0mV
vcca_33 0 0 0 3300mV 3300mV 3300mV
vcca_18 0 0 0 1800mV 1800mV 1800mV
vdd10_lcd 0 0 0 1000mV 1000mV 1000mV
vccio_sd 0 0 0 3300mV 3300mV 3300mV
vcc_20 0 3 0 2000mV 2000mV 2000mV
vcc18_lcd 0 0 0 1800mV 1800mV 1800mV
vcc_18 0 2 0 1800mV 1800mV 1800mV
ff100000.saradc 0mV 0mV
ff0d0000.dwmmc 1650mV 1950mV
vdd_10 0 0 0 1000mV 1000mV 1000mV
vdd_log 0 0 0 1100mV 1100mV 1100mV
vcc_io 0 3 0 3300mV 3300mV 3300mV
ff0f0000.dwmmc 3300mV 3400mV
vcc_flash 1 1 0 1800mV 1800mV 1800mV
ff0f0000.dwmmc 1700mV 1950mV
vcc_sd 1 1 0 3300mV 3300mV 3300mV
ff0c0000.dwmmc 3300mV 3400mV
vcc_ddr 0 0 0 1200mV 1200mV 1200mV
vdd_gpu 0 0 0 1000mV 850mV 1350mV
vdd_cpu 0 1 0 900mV 850mV 1350mV
cpu0 900mV 900mV
vcc_5v 0 2 0 5000mV 5000mV 5000mV
vcc_otg_5v 0 0 0 5000mV 5000mV 5000mV
vcc_host_5v 0 0 0 5000mV 5000mV 5000mV
regulator-dummy 0 0 0 0mV 0mV 0mV
Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 85c0f177200b49cbed0f9c9ac67fe2656749f9cd
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:12 2015 -0400
lpfc: Linux lpfc driver doesn't re-establish the link after a cable pull
on LPe12002
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit ed4afe7405f3839236fd34c7918204640c00e4e8
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:11 2015 -0400
lpfc: Fix to handle PLOGI when already logged in
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit c63779702094bcfdb2ead17181fbcd04b71b0215
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:10 2015 -0400
lpfc: Add new mbx cmd recognition
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 946727dc073dbac5751f98902c1c73e3b7268218
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:09 2015 -0400
lpfc: Add Lancer Temperature Event support to the lpfc driver
This will detect and send an async event if overtemp is detected
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 77d093fb009c339f9fa15a2865787eb94eee22c6
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Tue Apr 7 15:07:08 2015 -0400
lpfc: Fix the iteration count to match the 30 sec comment in the routine
lpfc_pci_function_reset
Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx>
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit c749e6bca57ffcc161c1ede8d9dcf274044eca15
Author: James Smart <james.smart@xxxxxxxxxx>
Date: Thu Apr 2 15:50:52 2015 -0400
scsi_transport_fc: Add support for 25Gbit speed
Signed-off-by: James Smart <james.smart@xxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit ca2641891d8f0503f166502d168690c1e7d38e49
Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Date: Fri Apr 10 07:12:29 2015 -0300
ASoC: fsl_ssi: Use devm_ioremap_resource()
Using platform_get_resource() and devm_ioremap_resource() can make the
code a bit simpler.
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 7b8283b56d9fb36106ff1c459dfd399a20bd374d
Author: David Ahern <dsahern@xxxxxxxxx>
Date: Tue Apr 7 09:20:37 2015 -0600
perf evlist: Fix type for references to data_head/tail
The data_head and data_tail fields are defined as __u64 in
linux/perf_event.h, but perf userspace uses int and unsigned int.
Convert all references to u64 for consistency.
Signed-off-by: David Ahern <dsahern@xxxxxxxxx>
Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428420037-26599-1-git-send-email-dsahern@xxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 2b9c698efa58bf7d9a0d3d3b28115cf9e55ca818
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Fri Apr 10 16:07:51 2015 +0200
ACPI / scan: Take the PRP0001 position in the list of IDs into account
If the special PRP0001 device ID is present in a device's _CID list,
it should not prevent any ACPI/PNP IDs preceding it in the device's
list of identifiers from being matched first. That is, only if none
of the IDs preceding PRP0001 in the device's PNP/ACPI IDs list
matches the IDs recognized by the driver, the driver's list of
"compatible" IDs should be matched against the device's "compatible"
property, if present.
In addition to that, drivers can provide both acpi_match_table and
of_match_table at the same time and the of_compatible matching
should be used in that case too if PRP0001 is present in the
device's list of identifiers.
To make that happen, rework acpi_driver_match_device() to do the
"compatible" property check in addition to matching the driver's
list of ACPI IDs against the device's one.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
commit e1acdeb0e7707f4220aa14ad6739102ba26e07c0
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Fri Apr 10 16:07:38 2015 +0200
ACPI / scan: Simplify acpi_match_device()
Redefine acpi_companion_match() to return an ACPI device object
pointer instead of a bool and use it to remove some redundant code
from acpi_match_device().
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
commit 54fe9ce385d499fe5a2bb0c68f092c97dad9365c
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Fri Apr 10 16:07:30 2015 +0200
ACPI / scan: Generalize of_compatible matching
Redefine the function used for matching the device's "compatible"
property against a given list of "compatible" strings to take
a pointer to that list instead of a driver object pointer to
make it more general.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
commit ca3f0874723fad81d0c701b63ae3a17a408d5f25
Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Date: Wed Apr 8 14:16:48 2015 +0200
KVM: use slowpath for cross page cached accesses
kvm_write_guest_cached() does not mark all written pages as dirty and
code comments in kvm_gfn_to_hva_cache_init() talk about NULL memslot
with cross page accesses. Fix all the easy way.
The check is '<= 1' to have the same result for 'len = 0' cache anywhere
in the page. (nr_pages_needed is 0 on page boundary.)
Fixes: 8f964525a121 ("KVM: Allow cross page reads and writes from cached
translations.")
Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Message-Id: <20150408121648.GA3519@xxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c1d676cec572544616273d5853cb7cc38fbaa62b
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Thu Mar 26 17:53:01 2015 +0100
clk: tegra: Use the proper parent for plld_dsi
The current parent, plld_out0, does not exist. The proper name is
pll_d_out0. While at it, rename the plld_dsi clock to pll_d_dsi_out to
be more consistent with other clock names.
Fixes: b270491eb9a0 ("clk: tegra: Define PLLD_DSI and remove dsia(b)_mux")
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit a84724a1c3cccd03b4ca1c8aea135095d0a6204e
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Thu Mar 26 17:50:06 2015 +0100
clk: tegra: Use generic tegra_osc_clk_init() on Tegra114
There is no reason why Tegra114 cannot use the same generic code to set
up the oscillator, clk_m and pll_ref clocks. The only effective change
that this causes is that the CLK_SET_PARENT_RATE flag is dropped, but
since these clocks are all fixed it is not needed anyway.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 63cc5a4da1fafedee24d8f5af67c1dd9d08f95c7
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Thu Mar 26 17:43:56 2015 +0100
clk: tegra: Model oscillator as clock
Currently the Tegra clock driver simplifies the clock tree somewhat by
taking advantage of the fact that clk_m runs at the same frequency as
the oscillator. While that's true on all currently supported SoCs, it
does not apply to Tegra210 anymore. On Tegra210 clk_m is typically
divided down from the oscillator frequency. To support that setup, add
a separate clock for the oscillator that both clk_m and pll_ref derive
from.
Modify the tegra_osc_clk_init() function to take an additional divider
parameter for clk_m. Existing SoCs always pass in 1, whereas Tegra210
will read the divider from a register in the clock & reset controller.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 699b477a0d3a5bc68034a1520a4337ea0a20f63b
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Mon Mar 23 10:52:45 2015 +0100
clk: tegra: Add peripheral registers for bank Y
Tegra210 has an extra bank of peripheral clock registers. Add it to the
generic peripheral clock code.
Cc: Peter De Schrijver <pdeschrijver@xxxxxxxxxx>
Cc: Prashant Gaikwad <pgaikwad@xxxxxxxxxx>
Reviewed-by: Paul Walmsley <paul@xxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 5e43e259171e1eee8bc074d9c44be434e685087b
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Mon Mar 23 10:57:46 2015 +0100
clk: tegra: Register the proper number of resets
The number of resets controls is 32 times the number of peripheral
register banks rather than 32 times the number of clocks. This reduces
(drastically) the number of reset controls registered from 10080 (315
clocks * 32) to 224 (6 peripheral register banks * 32).
This also fixes a potential crash because trying to use any of the
excess reset controls (224-10079) would have caused accesses beyond
the array bounds of the peripheral register banks definition array.
Cc: Peter De Schrijver <pdeschrijver@xxxxxxxxxx>
Cc: Prashant Gaikwad <pgaikwad@xxxxxxxxxx>
Fixes: 6d5b988e7dc5 ("clk: tegra: implement a reset driver")
Cc: stable@xxxxxxxxxxxxxxx # 3.14+
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 44a6f3dbf1ac63b4d689cf081a3540cde03aa5d5
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Wed Feb 18 16:25:16 2015 +0100
clk: tegra: Remove needless initializations
The ret variable is often explicitly initialized to 0, but there is no
need to do so in many cases because it will immediately be overwritten
with the return value from a function.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 12cf33c0eb7fbedb2a26b6da2f9f7863b2f4ddda
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Fri Jan 23 09:42:33 2015 +0100
clk: tegra: Use consistent indentation
Some of the .dev_id entries in the devclks table were oddly indented.
Make them consistent with the rest of the table.
Reviewed-by: Paul Walmsley <paul@xxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 6bb18c532d08438f4ae4e282da6d12e86a86dcfb
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Fri Aug 1 10:44:20 2014 +0200
clk: tegra: Various whitespace cleanups
Make usage of blank lines as separators more consistent.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 04794d982e830d4fdc39c1e1b8699fe53a7bd947
Author: Dylan Reid <dgreid@xxxxxxxxxxxx>
Date: Mon May 19 19:17:23 2014 -0700
clk: tegra: Enable HDA to HDMI clocks on Tegra124
Add the clocks used for HDMI audio played through the HDA controller.
Initialize the codec clock to 48Mhz and the HDA clock to 102MHz per
the TRM.
Signed-off-by: Dylan Reid <dgreid@xxxxxxxxxxxx>
Acked-by: Stephen Warren <swarren@xxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit f081c89606f2abba40fafae7133082801d332009
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Mon Jul 21 13:16:36 2014 +0200
clk: tegra: Fix a bunch of sparse warnings
The second to last parameter of the TEGRA_CLK_PERIPH macro denotes a
table and should therefore users should pass in NULL instead of 0.
Fixes a bunch of sparse warnings like this:
warning: Using plain integer as NULL pointer
Reviewed-by: Paul Walmsley <paul@xxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 8106462faa3e9f140c8953939745fe2c0d8a6435
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Tue Aug 5 13:26:12 2014 +0200
clk: tegra: Fix typo tabel -> table
The clock initialization structure is named struct clk_init_table.
Update the kerneldoc comment to use the correct name.
Reviewed-by: Paul Walmsley <paul@xxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 5306a5450824691e27d68f711758515debedeeac
Author: Markos Chandras <markos.chandras@xxxxxxxxxx>
Date: Thu Apr 2 14:42:52 2015 +0100
MIPS: Makefile: Fix MIPS ASE detection code
Commit 32098ec7bcba ("MIPS: Makefile: Move the ASEs checks after
setting the core's CFLAGS") re-arranged the MIPS ASE detection code
and also added the current cflags to the detection logic. However,
this introduced a few bugs. First of all, the mips-cflags should not
be quoted since that ends up being passed as a string to subsequent
commands leading to broken detection from the cc-option-* tools.
Moreover, in order to avoid duplicating the cflags-y because of how
cc-option works, we rework the logic so we pass only those cflags which
are needed by the selected ASE. Finally, fix some typos resulting in MSA
not being detected correctly.
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
Fixes: Commit 32098ec7bcba ("MIPS: Makefile: Move the ASEs checks after
setting the core's CFLAGS")
Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9661/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 48f8eaee3f59848809644507fc47363b37e54450
Author: Markos Chandras <markos.chandras@xxxxxxxxxx>
Date: Thu Feb 26 11:11:30 2015 +0000
MIPS: asm: elf: Set O32 default FPU flags
Set good default FPU flags (FR0) for O32 binaries similar to what the
kernel does for the N64/N32 ones. This also fixes a regression
introduced in commit 46490b572544 ("MIPS: kernel: elf: Improve the
overall ABI and FPU mode checks") when MIPS_O32_FP64_SUPPORT is
disabled. In that case, the mips_set_personality_fp() did not set the
FPU mode at all because it assumed that the FPU mode was already set
properly. That led to O32 userland problems.
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
Reported-by: Mans Rullgard <mans@xxxxxxxxx>
Fixes: 46490b572544 ("MIPS: kernel: elf: Improve the overall ABI and FPU
mode checks")
Tested-by: Mans Rullgard <mans@xxxxxxxxx>
Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Cc: Matthew Fortune <Matthew.Fortune@xxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: http://patchwork.linux-mips.org/patch/9344/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 96f7c21363e0e0d19f3471f54a719ed06d708513
Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Date: Wed Apr 1 16:01:02 2015 +0200
MIPS: BCM47XX: Fix detecting Microsoft MN-700 & Asus WL500G
Since the day of adding this code it was broken. We were iterating over
a wrong array and checking for wrong NVRAM entry.
Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Hauke Mehrtens <hauke@xxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9654/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 6ca716f2e5571d25a3899c6c5c91ff72ea6d6f5e
Author: Markos Chandras <markos.chandras@xxxxxxxxxx>
Date: Tue Nov 25 09:15:45 2014 +0000
MIPS: Kconfig: Disable SMP/CPS for 64-bit
A 64-bit build for Malta produces far too many build problems
when SMP/CPS is selected. Moreover, there is currently no 64-bit
product with SMP/CPS so we disable SMP/CPS when building for
64-bit until it is properly supported.
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8573/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit a843d00d038b11267279e3b5388222320f9ddc1d
Author: Huacai Chen <chenhc@xxxxxxxxxx>
Date: Sun Mar 29 10:54:05 2015 +0800
MIPS: Hibernate: flush TLB entries earlier
We found that TLB mismatch not only happens after kernel resume, but
also happens during snapshot restore. So move it to the beginning of
swsusp_arch_suspend().
Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx>
Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9621/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 90db024f140d0d6ad960cc5f090e3c8ed890ca55
Author: Niklas Cassel <niklas.cassel@xxxxxxxx>
Date: Thu Jan 15 16:41:13 2015 +0100
MIPS: smp-cps: cpu_set FPU mask if FPU present
If we have an FPU, enroll ourselves in the FPU-full mask.
Matching the MT_SMP and CMP implementations of smp_setup.
Signed-off-by: Niklas Cassel <niklass@xxxxxxxx>
Cc: paul.burton@xxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8948/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit f8483988cadd7dd22de928db29ed3bcbe02faf78
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Wed Feb 25 13:08:05 2015 +0000
MIPS: lose_fpu(): Disable FPU when MSA enabled
The lose_fpu() function only disables the FPU in CP0_Status.CU1 if the
FPU is in use and MSA isn't enabled.
This isn't necessarily a problem because KSTK_STATUS(current), the
version of CP0_Status stored on the kernel stack on entry from user
mode, does always get updated and gets restored when returning to user
mode, but I don't think it was intended, and it is inconsistent with the
case of only the FPU being in use. Sometimes leaving the FPU enabled may
also mask kernel bugs where FPU operations are executed when the FPU
might not be enabled.
So lets disable the FPU in the MSA case too.
Fixes: 33c771ba5c5d ("MIPS: save/disable MSA in lose_fpu")
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9323/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit a7b7aad383c5dd9221a06e378197350dd27c1163
Author: John Crispin <blogic@xxxxxxxxxxx>
Date: Mon Feb 23 06:17:33 2015 +0100
MIPS: ralink: add missing symbol for RALINK_ILL_ACC
A driver was added in commit 5433acd81e87 ("MIPS: ralink: add illegal
access
driver") without the Kconfig section being added. Fix this by adding the
symbol
to the Kconfig file.
Signed-off-by: John Crispin <blogic@xxxxxxxxxxx>
Reported-by: Paul Bolle <pebolle@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9299/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 93a7de8819a661d06eb11f4de3d6888b9a842b30
Author: John Crispin <blogic@xxxxxxxxxxx>
Date: Mon Feb 23 06:17:32 2015 +0100
MIPS: ralink: Fix bad config symbol in PCI makefile.
A wrong symbol is referenced by commit 187c26ddf0b2 ("MIPS: ralink: add
rt2880
pci driver"). Fix this by changing it to the correct symbol.
Signed-off-by: John Crispin <blogic@xxxxxxxxxxx>
Reported-by: Paul Bolle <pebolle@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9298/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 179fa46fb666c8f2aa2bbb1f3114d5d826d59d3d
Author: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx>
Date: Wed Mar 25 16:31:42 2015 +0100
SSB: fix Kconfig dependencies
The commit 21400f252a97 ("MIPS: BCM47XX: Make ssb init NVRAM instead of
bcm47xx polling it") introduces a dependency to SSB_SFLASH but did not
add it to the Kconfig.
drivers/ssb/driver_mipscore.c:216:36: error: 'struct ssb_mipscore' has no
member named 'sflash'
struct ssb_sflash *sflash = &mcore->sflash;
^
drivers/ssb/driver_mipscore.c:249:12: error: dereferencing pointer to
incomplete type
if (sflash->present) {
^
Signed-off-by: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx>
Cc: m@xxxxxxx
Cc: zajec5@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9598/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit f7f8aea4b97c4d48e42f02cb37026bee445f239f
Author: Markos Chandras <markos.chandras@xxxxxxxxxx>
Date: Fri Feb 27 07:51:32 2015 +0000
MIPS: Malta: Detect and fix bad memsize values
memsize denotes the amount of RAM we can access from kseg{0,1} and
that should be up to 256M. In case the bootloader reports a value
higher than that (perhaps reporting all the available RAM) it's best
if we fix it ourselves and just warn the user about that. This is
usually a problem with the bootloader and/or its environment.
[ralf@xxxxxxxxxxxxxx: Remove useless parens as suggested bei Sergei.
Reformat long pr_warn statement to fit into 80 column limit.]
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9362/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 9eaffa84a8a46adab065c983401fc9d5949c958f
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Wed Mar 25 13:18:27 2015 +0100
Revert "MIPS: Avoid pipeline stalls on some MIPS32R2 cores."
For a discussion, see http://patchwork.linux-mips.org/patch/9539/.
This reverts commit 625c0a21700bdb90844d926a1508a17a77e369c9.
commit f05ff43355e6997c18f82ddcee370a6e5f8643ce
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Wed Mar 25 13:21:51 2015 +0100
MIPS: Octeon: Delete override of cpu_has_mips_r2_exec_hazard.
This is no longer needed with the fixed, new and improved definition
of cpu_has_mips_r2_exec_hazard in <asm/cpu-features.h>.
For a discussion, see http://patchwork.linux-mips.org/patch/9539/.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 9cdf30bd3bac697fc533988f44a117434a858f69
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Wed Mar 25 13:14:16 2015 +0100
MIPS: Fix cpu_has_mips_r2_exec_hazard.
Returns a non-zero value if the current processor implementation requires
an IHB instruction to deal with an instruction hazard as per MIPS R2
architecture specification, zero otherwise.
For a discussion, see http://patchwork.linux-mips.org/patch/9539/.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit aebac99384f7a6d83a3dcd42bf2481eed2670083
Author: Markos Chandras <markos.chandras@xxxxxxxxxx>
Date: Tue Mar 3 18:48:49 2015 +0000
MIPS: kernel: entry.S: Set correct ISA level for mips_ihb
Commit 6ebb496ffc7e("MIPS: kernel: entry.S: Add MIPS R6 related
definitions") added the MIPSR6 definition but it did not update the
ISA level of the actual assembly code so a pre-MIPSR6 jr.hb instruction
was generated instead. Fix this by using the MISP_ISA_LEVEL_RAW macro.
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
Fixes: 6ebb496ffc7e("MIPS: kernel: entry.S: Add MIPS R6 related
definitions")
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9386/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 518222161d4a2d3f3b2700098563b62383f83878
Author: Markos Chandras <markos.chandras@xxxxxxxxxx>
Date: Tue Mar 3 18:48:48 2015 +0000
MIPS: asm: spinlock: Fix addiu instruction for R10000_LLSC_WAR case
Commit 5753762cbd1c("MIPS: asm: spinlock: Replace "sub" instruction
with "addiu") replaced the "sub" instruction with addiu but it did
not update the immediate value in the R10000_LLSC_WAR case.
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
Fixes: 5753762cbd1c("MIPS: asm: spinlock: Replace "sub" instruction with
"addiu"")
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9385/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit f6b39ae6f4d6ee835bb16e452086121aa010f1a7
Author: Markos Chandras <markos.chandras@xxxxxxxxxx>
Date: Tue Mar 3 18:48:47 2015 +0000
MIPS: r4kcache: Use correct base register for MIPS R6 cache flushes
Commit 934c79231c1b("MIPS: asm: r4kcache: Add MIPS R6 cache unroll
functions") added support for MIPS R6 cache flushes but it used the
wrong base address register to perform the flushes so the same lines
were flushed over and over. Moreover, replace the "addiu" instructions
with LONG_ADDIU so the correct base address is calculated for 64-bit
cores.
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
Fixes: 934c79231c1b("MIPS: asm: r4kcache: Add MIPS R6 cache unroll
functions")
Cc: linux-mips@xxxxxxxxxxxxxx
Reviewed-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9384/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 07edf0d46c07568d08feee95bbaa38c71b084150
Author: Markos Chandras <markos.chandras@xxxxxxxxxx>
Date: Tue Mar 10 12:30:56 2015 +0000
MIPS: Kconfig: Fix typo for the r2-to-r6 emulator kernel parameter
Commit b0a668fb2038 ("MIPS: kernel: mips-r2-to-r6-emul: Add R2 emulator
for MIPS R6") added the mips r2-to-r6 emulator so an R2 userland can be
executed on R6 kernels. This needed both build time and runtime support.
The runtime support needed the "mipsr2emu" kernel parameter instead of
the "mipsr2emul" listed in the Kconfig help message.
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
Fixes: b0a668fb2038 ("MIPS: kernel: mips-r2-to-r6-emul: Add R2 emulator
for MIPS R6")
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Markos Chandras <markos.chandras@xxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9504/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 6eae35485b26f9e51ab896eb8a936bed9908fdf6
Author: Markos Chandras <markos.chandras@xxxxxxxxxx>
Date: Mon Mar 9 14:54:52 2015 +0000
MIPS: unaligned: Fix regular load/store instruction emulation for EVA
When emulating a regular lh/lw/lhu/sh/sw we need to use the appropriate
instruction if we are in EVA mode. This is necessary for userspace
applications which trigger alignment exceptions. In such case, the
userspace load/store instruction needs to be emulated with the correct
eva/non-eva instruction by the kernel emulator.
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
Fixes: c1771216ab48 ("MIPS: kernel: unaligned: Handle unaligned accesses
for EVA")
Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9503/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 3563c32d6532ece53c9dd8905a8e41983ef9952f
Author: Markos Chandras <markos.chandras@xxxxxxxxxx>
Date: Mon Mar 9 14:54:51 2015 +0000
MIPS: unaligned: Surround load/store macros in do {} while statements
It's best to surround such complex macros with do {} while statements
so they can appear as independent logical blocks when used within other
control blocks.
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9502/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit eeb538950367e3966cbf0237ab1a1dc30e059818
Author: Markos Chandras <markos.chandras@xxxxxxxxxx>
Date: Mon Mar 9 14:54:50 2015 +0000
MIPS: unaligned: Prevent EVA instructions on kernel unaligned accesses
Commit c1771216ab48 ("MIPS: kernel: unaligned: Handle unaligned
accesses for EVA") allowed unaligned accesses to be emulated for
EVA. However, when emulating regular load/store unaligned accesses,
we need to use the appropriate "address space" instructions for that.
Previously, an unaligned load/store instruction in kernel space would
have used the corresponding EVA instructions to emulate it which led to
segmentation faults because of the address translation that happens
with EVA instructions. This is now fixed by using the EVA instruction
only when emulating EVA unaligned accesses.
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
Fixes: c1771216ab48 ("MIPS: kernel: unaligned: Handle unaligned accesses
for EVA")
Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9501/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 60cd7e08e453bc6828ac4b539f949e4acd80f143
Author: Markos Chandras <markos.chandras@xxxxxxxxxx>
Date: Mon Mar 9 14:54:49 2015 +0000
MIPS: asm: asm-eva: Introduce kernel load/store variants
Introduce new macros for kernel load/store variants which will be
used to perform regular kernel space load/store operations in EVA
mode.
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9500/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 872cd4c2c617bb3a203ebe18115fd0c697112b87
Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx>
Date: Wed Jan 7 16:58:26 2015 +0530
MIPS: Netlogic: Fix for SATA PHY init
Update to the SATA PHY initialization. This is needed for SATA detection
to succeed in all configurations.
Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx>
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8886/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit b083518c52ab75a345d668ca7fa41e530df08d51
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Sun Mar 22 17:55:39 2015 +0200
MIPS: OCTEON: fix PCI interrupt mapping for D-Link DSR-1000N
Fix PCI interrupt mapping for DSR1000N. This will get the PCI slot
interrupts working. The mapping is based on D-Link GPL tarball.
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9593/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 73bf3c2a500b2db8ac966469591196bf55afb409
Author: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx>
Date: Wed Mar 18 14:05:21 2015 +0100
MIPS: Octeon: Remove udelay() causing huge IRQ latency
udelay() in PCI/PCIe read/write callbacks cause 30ms IRQ latency on Octeon
platforms because these operations are called from PCI_OP_READ() and
PCI_OP_WRITE() under raw_spin_lock_irqsave().
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: David Daney <ddaney@xxxxxxxxxx>
Cc: Rob Herring <robh@xxxxxxxxxx>
Cc: Jiri Kosina <jkosina@xxxxxxx>
Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Cc: Masanari Iida <standby24x7@xxxxxxxxx>
Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Cc: Mathias <mathias.rulf@xxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9576/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit e68410ebf62676dfb93aafff7c55b76644f37072
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Apr 9 12:55:48 2015 +0200
crypto: x86/sha512_ssse3 - move SHA-384/512 SSSE3 implementation to base
layer
This removes all the boilerplate from the existing implementation,
and replaces it with calls into the base layer. It also changes the
prototypes of the core asm functions to be compatible with the base
prototype
void (sha512_block_fn)(struct sha256_state *sst, u8 const *src, int
blocks)
so that they can be passed to the base layer directly.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 1631030ae63aef0a54fe08813e0f4e26c8ef9c78
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Apr 9 12:55:47 2015 +0200
crypto: x86/sha256_ssse3 - move SHA-224/256 SSSE3 implementation to base
layer
This removes all the boilerplate from the existing implementation,
and replaces it with calls into the base layer. It also changes the
prototypes of the core asm functions to be compatible with the base
prototype
void (sha256_block_fn)(struct sha256_state *sst, u8 const *src, int
blocks)
so that they can be passed to the base layer directly.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 824b43763c562ee2feec16bb4017785528f3b54c
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Apr 9 12:55:46 2015 +0200
crypto: x86/sha1_ssse3 - move SHA-1 SSSE3 implementation to base layer
This removes all the boilerplate from the existing implementation,
and replaces it with calls into the base layer.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 03802f6a80b3a993067af97b0dc094f60d6fbc8b
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Apr 9 12:55:45 2015 +0200
crypto: arm64/sha2-ce - move SHA-224/256 ARMv8 implementation to base
layer
This removes all the boilerplate from the existing implementation,
and replaces it with calls into the base layer.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 07eb54d306f4f0efabe0a0d5dd6739d079d90e0e
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Apr 9 12:55:44 2015 +0200
crypto: arm64/sha1-ce - move SHA-1 ARMv8 implementation to base layer
This removes all the boilerplate from the existing implementation,
and replaces it with calls into the base layer.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 9205b94923213ee164d7398fdc90826e463c281a
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Apr 9 12:55:43 2015 +0200
crypto: arm/sha2-ce - move SHA-224/256 ARMv8 implementation to base layer
This removes all the boilerplate from the existing implementation,
and replaces it with calls into the base layer.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit b59e2ae3690c8ef5f8ddeeb0b6b3313521b915e6
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Apr 9 12:55:42 2015 +0200
crypto: arm/sha256 - move SHA-224/256 ASM/NEON implementation to base
layer
This removes all the boilerplate from the existing implementation,
and replaces it with calls into the base layer.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit dde00981e64b3c6621cafe3eea2eef6a4055208c
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Apr 9 12:55:41 2015 +0200
crypto: arm/sha1-ce - move SHA-1 ARMv8 implementation to base layer
This removes all the boilerplate from the existing implementation,
and replaces it with calls into the base layer.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 51e515faa887e40e7e30a3e13607ea6be418e4c4
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Apr 9 12:55:40 2015 +0200
crypto: arm/sha1_neon - move SHA-1 NEON implementation to base layer
This removes all the boilerplate from the existing implementation,
and replaces it with calls into the base layer.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 90451d6bdb787e1631c6ce4619221eb59562343c
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Apr 9 12:55:39 2015 +0200
crypto: arm/sha1 - move SHA-1 ARM asm implementation to base layer
This removes all the boilerplate from the existing implementation,
and replaces it with calls into the base layer.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit ca142584bc8ebc8e15b317680771ade58ca96315
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Apr 9 12:55:38 2015 +0200
crypto: sha512-generic - move to generic glue implementation
This updated the generic SHA-512 implementation to use the
generic shared SHA-512 glue code.
It also implements a .finup hook crypto_sha512_finup() and exports
it to other modules. The import and export() functions and the
.statesize member are dropped, since the default implementation
is perfectly suitable for this module.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit a2e5ba4fedd6e590bb2cd83817c2bf0cd0de69d1
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Apr 9 12:55:37 2015 +0200
crypto: sha256-generic - move to generic glue implementation
This updates the generic SHA-256 implementation to use the
new shared SHA-256 glue code.
It also implements a .finup hook crypto_sha256_finup() and exports
it to other modules. The import and export() functions and the
.statesize member are dropped, since the default implementation
is perfectly suitable for this module.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 7c71f0f760d65f270aca0849caebb1fd5d53c66b
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Apr 9 12:55:36 2015 +0200
crypto: sha1-generic - move to generic glue implementation
This updated the generic SHA-1 implementation to use the generic
shared SHA-1 glue code.
It also implements a .finup hook crypto_sha1_finup() and exports
it to other modules. The import and export() functions and the
.statesize member are dropped, since the default implementation
is perfectly suitable for this module.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit b84a2a0b4ec214fc5d4ba1d3d5b26d4f88733dba
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Apr 9 12:55:35 2015 +0200
crypto: sha512 - implement base layer for SHA-512
To reduce the number of copies of boilerplate code throughout
the tree, this patch implements generic glue for the SHA-512
algorithm. This allows a specific arch or hardware implementation
to only implement the special handling that it needs.
The users need to supply an implementation of
void (sha512_block_fn)(struct sha512_state *sst, u8 const *src, int
blocks)
and pass it to the SHA-512 base functions. For easy casting between the
prototype above and existing block functions that take a 'u64 state[]'
as their first argument, the 'state' member of struct sha512_state is
moved to the base of the struct.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 11b8d5ef91388162103bf28f2e9d6dfd400d192d
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Apr 9 12:55:34 2015 +0200
crypto: sha256 - implement base layer for SHA-256
To reduce the number of copies of boilerplate code throughout
the tree, this patch implements generic glue for the SHA-256
algorithm. This allows a specific arch or hardware implementation
to only implement the special handling that it needs.
The users need to supply an implementation of
void (sha256_block_fn)(struct sha256_state *sst, u8 const *src, int
blocks)
and pass it to the SHA-256 base functions. For easy casting between the
prototype above and existing block functions that take a 'u32 state[]'
as their first argument, the 'state' member of struct sha256_state is
moved to the base of the struct.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit c4d5b9ffa31f7283b34cba991514dacae4c8d3de
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Apr 9 12:55:33 2015 +0200
crypto: sha1 - implement base layer for SHA-1
To reduce the number of copies of boilerplate code throughout
the tree, this patch implements generic glue for the SHA-1
algorithm. This allows a specific arch or hardware implementation
to only implement the special handling that it needs.
The users need to supply an implementation of
void (sha1_block_fn)(struct sha1_state *sst, u8 const *src, int blocks)
and pass it to the SHA-1 base functions. For easy casting between the
prototype above and existing block functions that take a 'u32 state[]'
as their first argument, the 'state' member of struct sha1_state is
moved to the base of the struct.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 9c521a200bc3c12bd724e48a75c57d5358f672be
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Thu Apr 9 12:09:55 2015 +0200
crypto: api - remove instance when test failed
A cipher instance is added to the list of instances unconditionally
regardless of whether the associated test failed. However, a failed
test implies that during another lookup, the cipher instance will
be added to the list again as it will not be found by the lookup
code.
That means that the list can be filled up with instances whose tests
failed.
Note: tests only fail in reality in FIPS mode when a cipher is not
marked as fips_allowed=1. This can be seen with cmac(des3_ede) that does
not have a fips_allowed=1. When allocating the cipher, the allocation
fails with -ENOENT due to the missing fips_allowed=1 flag (which
causes the testmgr to return EINVAL). Yet, the instance of
cmac(des3_ede) is shown in /proc/crypto. Allocating the cipher again
fails again, but a 2nd instance is listed in /proc/crypto.
The patch simply de-registers the instance when the testing failed.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit e9b8e5beb7befe682f9fe90428ea534b01d66568
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 9 17:40:35 2015 +0800
crypto: api - Move alg ref count init to crypto_check_alg
We currently initialise the crypto_alg ref count in the function
__crypto_register_alg. As one of the callers of that function
crypto_register_instance needs to obtain a ref count before it
calls __crypto_register_alg, we need to move the initialisation
out of there.
Since both callers of __crypto_register_alg call crypto_check_alg,
this is the logical place to perform the initialisation.
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Acked-by: Stephan Mueller <smueller@xxxxxxxxxx>
commit e183201b9e917daf2530b637b2f34f1d5afb934d
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Sat Mar 14 14:04:00 2015 -0300
[media] uvcvideo: add support for VIDIOC_QUERY_EXT_CTRL
Add support for the new VIDIOC_QUERY_EXT_CTRL ioctl. Since uvc doesn't use
the control framework, support for this ioctl isn't automatic.
This is makes v4l2-compliance happy as well.
[Added blank lines for improved readability]
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 5468d5a64bf1e002e5081fa280186d0eba09fa0e
Merge: 4dd1f57 55db320
Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Date: Fri Apr 10 08:27:18 2015 -0500
Merge branch 'pci/misc' into next
* pci/misc:
PCI: Read capability list as dwords, not bytes
PCI: Don't clear ASPM bits when the FADT declares it's unsupported
PCI: Clarify policy for vendor IDs in pci.txt
PCI/ACPI: Optimize device state transition delays
PCI: Export pci_find_host_bridge() for use inside PCI core
PCI: Make a shareable UUID for PCI firmware ACPI _DSM
PCI: Fix typo in Thunderbolt kernel message
commit 4dd1f57956ada782fd80b1c11c30a9595d6caafc
Merge: 8e79584 01d06a9 1fb37a8 f76ea57 e3dc17a ab14d45 7a27db2 8735816
Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Date: Fri Apr 10 08:26:54 2015 -0500
Merge branches 'pci/host-exynos', 'pci/host-iproc', 'pci/host-keystone',
'pci/host-layerscape', 'pci/host-mvebu', 'pci/host-rcar' and
'pci/host-versatile' into next
* pci/host-exynos:
PCI: exynos: Fix INTx enablement statement termination error
* pci/host-iproc:
PCI: iproc: Add Broadcom iProc PCIe support
PCI: iproc: Add DT docs for Broadcom iProc PCIe driver
PCI: Export symbols required for loadable host driver modules
* pci/host-keystone:
PCI: keystone: Don't dereference possible NULL pointer
* pci/host-layerscape:
PCI: layerscape: Simplify platform_get_resource_byname() failure
checking
* pci/host-mvebu:
PCI: mvebu: Add suspend/resume support
* pci/host-rcar:
PCI: rcar: Verify that mem_res is 64K-aligned
PCI: rcar: Change PCIEPARL and PCIEPARH to PCIEPALR and PCIEPAUR
PCI: rcar: Write zeroes to reserved PCIEPARL bits
PCI: rcar: Fix position of MSI enable bit
* pci/host-versatile:
PCI: versatile: Check for devm_ioremap_resource() failures
commit 1461fe7ab6e61c4ad59f54e308872c0bae09d609
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Fri Apr 3 06:53:42 2015 -0300
[media] uvcvideo: fix cropcap v4l2-compliance failure
The v4l2-compliance tool expects that if VIDIOC_CROPCAP is defined, then
VIDIOC_G_SELECTION for TGT_CROP_BOUNDS/DEFAULT is also defined (or COMPOSE
in the case of an output device).
In fact, all that a driver has to do to implement cropcap is to support
those two targets since the v4l2 core will implement cropcap and fill in
the pixelaspect to 1/1 by default.
Implementing cropcap is only needed if the pixelaspect isn't square.
So implement g_selection instead of cropcap in uvc to fix the
v4l2-compliance
failure.
[Added blank lines for improved readability]
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit befd25a2bd61f1706508280f705e18be8b283e3e
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Fri Apr 3 14:12:58 2015 -0300
[media] media: omap3isp: remove unused clkdev
No merged platform supplies xclks via platform data. As we want to
slightly change the clkdev interface, rather than fixing this unused
code, remove it instead.
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 8cb0aa4c2db395b143cd5165586dc17677960002
Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Date: Wed Apr 1 19:25:42 2015 +0900
perf probe: Check the orphaned -x option
To avoid probing in unintended binary, the orphaned -x option must be
checked and warned.
Without this patch, following command sets up the probe in the kernel.
-----
# perf probe -a strcpy -x ./perf
Added new event:
probe:strcpy (on strcpy)
You can now use it in all perf tools, such as:
perf record -e probe:strcpy -aR sleep 1
-----
But in this case, it seems that the user may want to probe in the perf
binary. With this patch, perf-probe correctly handles the orphaned -x.
-----
# perf probe -a strcpy -x ./perf
Error: -x/-m must follow the probe definitions.
...
-----
Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/20150401102541.17137.75477.stgit@xxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 7afb3fab390871b1d20b1dbb94e03b8a3861cb0d
Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Date: Wed Apr 1 19:25:39 2015 +0900
perf probe: Support multiple probes on different binaries
Support multiple probes on different binaries with just
one command.
In the result, this example sets up the probes on icmp_rcv in
kernel, on main and set_target in perf, and on pcspkr_event
in pcspker.ko driver.
-----
# perf probe -a icmp_rcv -x ./perf -a main -a set_target \
-m /lib/modules/4.0.0-rc5+/kernel/drivers/input/misc/pcspkr.ko \
-a pcspkr_event
Added new event:
probe:icmp_rcv (on icmp_rcv)
You can now use it in all perf tools, such as:
perf record -e probe:icmp_rcv -aR sleep 1
Added new event:
probe_perf:main (on main in
/home/mhiramat/ksrc/linux-3/tools/perf/perf)
You can now use it in all perf tools, such as:
perf record -e probe_perf:main -aR sleep 1
Added new event:
probe_perf:set_target (on set_target in
/home/mhiramat/ksrc/linux-3/tools/perf/perf)
You can now use it in all perf tools, such as:
perf record -e probe_perf:set_target -aR sleep 1
Added new event:
probe:pcspkr_event (on pcspkr_event in pcspkr)
You can now use it in all perf tools, such as:
perf record -e probe:pcspkr_event -aR sleep 1
-----
Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx>
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/20150401102539.17137.46454.stgit@xxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 5e78c69b72276853ac64070a010e6df64723dba9
Author: He Kuang <hekuang@xxxxxxxxxx>
Date: Fri Apr 10 17:35:00 2015 +0800
perf buildid-list: Fix segfault when show DSOs with hits
commit: f3b623b8490a ("perf tools: Reference count struct thread")
appends every thread->node to dead_threads in machine__remove_thread()
and list_del_init() this node in thread__put().
perf_event__exit_del_thread() releases thread wihout using
machine__remove_thread(), and causes a NULL pointer crash when
list_del_init(&thread->node) is called. Fix this by using
machine_remove_thread() instead of using thread__put() directly.
This problem can be reproduced as following:
$ perf record ls
$ perf buildid-list --with-hits
[ 3874.195070] perf[1018]: segfault at 0 ip 00000000004b0b15 sp
00007ffc35b44780 error 6 in perf[400000+166000]
Segmentation fault
After this patch:
$ perf record ls
$ perf buildid-list --with-hits
bc23e7c3281e542650ba4324421d6acf78f4c23e /proc/kcore
643324cb0e969f30c56d660f167f84a150845511 [vdso]
0000000000000000000000000000000000000000 /bin/busybox
...
Signed-off-by: He Kuang <hekuang@xxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428658500-6483-1-git-send-email-hekuang@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 1060ab857f64f33a9445881fd31fa91470aeb622
Author: David Ahern <david.ahern@xxxxxxxxxx>
Date: Thu Apr 9 16:15:46 2015 -0400
perf tools: Fix cross-endian analysis
Trying to analyze a big endian data file on little endian system fails
with the error:
0xa9b40 [0x70]: failed to process type: 9
The problem is that header parsing is not done correctly because the
file attributes are not swapped. Make it so. With this patch able to
analyze a sparc64 data file on x86_64.
Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428610546-178789-1-git-send-email-david.ahern@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit d998b732599b304c3865e8e5c7ba6250faba6589
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Wed Apr 8 11:57:03 2015 -0300
perf tools: Fix error path to do closedir() when synthesizing threads
When traversing /proc to synthesize the PERF_RECORD_FORK et al events we
were bailing out on errors without calling closedir(), fix it.
Reported-by: David Ahern <dsahern@xxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link: http://lkml.kernel.org/n/tip-vxtp593rfztgbi8noy0m967p@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 9a1a8f9953f3f101ce769878fc7bbbc43a4fd2dc
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Thu Jan 29 14:36:00 2015 -0300
[media] coda: Add tracing support
This patch adds tracepoints to the coda driver that can be used together
with the v4l2:v4l2_qbuf and v4l2:v4l2_dqbuf tracepoints to to follow video
frames through the mem2mem device.
For encoding with the BIT processor:
coda:coda_enc_pic_run
coda:coda_enc_pic_done
For decoding with the BIT processor:
coda:coda_bit_queue
coda:coda_dec_pic_run
coda:coda_dec_pic_done
coda:coda_dec_rot_done
Additionally, two low level tracepoints register whenever the BIT
processor
is started and returns:
coda:coda_bit_run
coda:coda_bit_done
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 8191919bff678ae16050c60e1f86355d7731ac73
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Wed Mar 25 13:45:09 2015 -0300
[media] coda: drop dma_sync_single_for_device in coda_bitstream_queue
Issuing a cache flush for the whole bitstream buffer is not optimal in
the first
place when only a part of it was written. But given that the buffer is
mapped in
writecombine mode, it is not needed at all.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Tested-by: Ian Molton <imolton@xxxxxxxxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 582d887211612c197fc8ea9435503f9b278ce76f
Author: Philipp Zabel <philipp.zabel@xxxxxxxxx>
Date: Tue Mar 24 14:30:57 2015 -0300
[media] coda: fix fill bitstream errors in nonstreaming case
When queueing a buffer into the bitstream fails, it has to be requeued
in the videobuf2 queue before streaming starts, but while streaming it
should be returned to userspace with an error.
Signed-off-by: Philipp Zabel <philipp.zabel@xxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 7764a385f60bd200304a33124bdb4e684caeabdf
Author: David Ahern <david.ahern@xxxxxxxxxx>
Date: Thu Apr 9 12:48:27 2015 -0400
perf tools: Fix synthesizing fork_event.ppid for non-main thread
Commit ca6c41c59b9 sets the ppid based on what is read from the
/proc/pid/status file when synthesizing fork events.
This is correct thing to do for new processes but not threads of a
process.
Fix ppid for threads to be the main thread when synthesizing fork events
(ie., assume main thread spawned all sub-threads in a process).
Reported-by: Arnaldo Carvalho de Melo <arnaldo.melo@xxxxxxxxx>
Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Acked-by: Don Zickus <dzickus@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428598107-178999-1-git-send-email-david.ahern@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 5c76c2c3e2783886975ff536c50d9c446e0ecb6e
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Tue Mar 24 14:30:56 2015 -0300
[media] coda: call SEQ_END when the first queue is stopped
This allows to stop and restart the output queue to start a new sequence
while keeping the capture queue running. Before, sequence end would only
be issued if both output and capture queue were stopped and the sequence
start issued when reenabling the output queue would fail.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 23b6ee5cd9d99d9d99d92ff923d6971a33dc7b03
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Tue Mar 24 14:30:55 2015 -0300
[media] coda: fail to start streaming if userspace set invalid formats
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 6ba53b81b6f8ad0fde3d7834ad7714abc12aacaa
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Tue Mar 24 14:30:54 2015 -0300
[media] coda: remove duplicate error messages for buffer allocations
coda_alloc_aux_buf already prints an error, no need to print duplicate
error messages all over the place.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 650b939ecd3f0a1a9dc800155f7efadeb1794868
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Tue Mar 24 14:30:53 2015 -0300
[media] coda: move parameter buffer in together with context buffer
allocation
The parameter buffer is a per-context buffer, so we can allocate and free
it
together with the other context buffers during REQBUFS.
Since this was the last context buffer allocated in coda-common.c, we can
now
move coda_alloc_context_buf into coda-bit.c.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit ad532d37b2958f6c7652429be36ddd46a65ab67a
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Tue Mar 24 14:30:52 2015 -0300
[media] coda: allocate bitstream buffer from REQBUFS, size depends on the
format
Allocating the bitstream buffer only when the format is set allows to
guarantee
that at least two frames fit into the bitstream buffer. For small frame
sizes
a smaller bitstream buffer can be allocated. Since the bitstream buffer
size now
depends on the format, replace CODA_MAX_FRAME_SIZE with
ctx->bitstream.size
where appropriate and remove the now unused constant.
Since REQBUFS can be called multiple times, but the format can't be
changed
unless REQBUFS 0 was called before, we can just keep the allocated
context and
bitstream buffers if REQBUFS is called multiple times with a non-zero
buffer
count.
[fixed a resource leak preventing repeatedly decoding]
Signed-off-by: Peter Seiderer <ps.report@xxxxxxx>
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 73751da61c00db9914ae1c47a25f7462722bc76b
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Tue Mar 24 14:30:51 2015 -0300
[media] coda: allocate per-context buffers from REQBUFS
Allocate the per-context buffers from REQBUFS instead in start_encoding or
start_decoding. This allows to stop and start streaming independently of
buffer (re)allocation
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit bf249daf079492d60306ad1c5c78d53255ff15a3
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Tue Mar 24 14:30:50 2015 -0300
[media] coda: use strlcpy instead of snprintf
There is no need to take the detour through a "%s" format string
to create a copy of a string.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 2b7684683d4b6e41717b9d1354d4080fdee970fc
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Tue Mar 24 14:30:49 2015 -0300
[media] coda: bitstream payload is unsigned
kfifo_len is unsigned int, return it as such.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit d446ec8e122c210a9260f103cbf8da5a56de9c82
Author: Peter Seiderer <ps.report@xxxxxxx>
Date: Tue Mar 24 14:30:48 2015 -0300
[media] coda: fix double call to debugfs_remove
In coda_free_aux_buf() call debugfs_remove only if buffer entry
is valid (and therfore dentry is valid), double protect by
invalidating dentry value.
Fixes erroneous prematurely dealloc of debugfs caused by
incorrect reference count incrementing.
Signed-off-by: Peter Seiderer <ps.report@xxxxxxx>
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit a7f933a56908587e30539d649a9ae808d0601bc5
Author: Peter Seiderer <ps.report@xxxxxxx>
Date: Tue Mar 24 14:30:47 2015 -0300
[media] coda: check kasprintf return value in coda_open
kasprintf might fail if free memory is low.
Signed-off-by: Peter Seiderer <ps.report@xxxxxxx>
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 92b042ecedea7aa3d47391be57411709dab52cd7
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Wed Mar 18 08:15:36 2015 -0300
[media] coda: bitrate can only be set in kbps steps
We divide the bitrate by 1000 before writing it to the register.
Communicate to userspace that the bitrate granularity is kbps.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit d5451c1d9257622105a1c5bee732c050b3e82cf0
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Wed Mar 11 12:57:50 2015 -0300
[media] v4l2-mem2mem: no need to initialize b in v4l2_m2m_next_buf and
v4l2_m2m_buf_remove
The first time b is used, it is assigned to the first element of the
rdy_queue
list. There is no need to set it to NULL before.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit e6c9dec3e7d68c477768e2955c7f8ed78a09bfd6
Author: Kamil Debski <k.debski@xxxxxxxxxxx>
Date: Mon Feb 23 09:26:19 2015 -0300
[media] s5p-mfc: set allow_zero_bytesused flag for vb2_queue_init
The s5p-mfc driver interprets a buffer with bytesused equal to 0 as a
special case indicating end-of-stream. After vb2: fix bytesused == 0
handling (8a75ffb) patch videobuf2 modified the value of bytesused if it
was 0. The allow_zero_bytesused flag was added to videobuf2 to keep
backward compatibility.
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit e4af23d33193c4da52fa84b835374e975085f8fd
Author: Kamil Debski <k.debski@xxxxxxxxxxx>
Date: Mon Feb 23 09:26:18 2015 -0300
[media] coda: set allow_zero_bytesused flag for vb2_queue_init
The coda driver interprets a buffer with bytesused equal to 0 as a special
case indicating end-of-stream. After vb2: fix bytesused == 0 handling
(8a75ffb) patch videobuf2 modified the value of bytesused if it was 0.
The allow_zero_bytesused flag was added to videobuf2 to keep
backward compatibility.
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit f61bf13b6a07a93b9348e77808d369803f40b681
Author: Kamil Debski <k.debski@xxxxxxxxxxx>
Date: Mon Feb 23 09:26:17 2015 -0300
[media] vb2: add allow_zero_bytesused flag to the vb2_queue struct
The vb2: fix bytesused == 0 handling (8a75ffb) patch changed the behavior
of __fill_vb2_buffer function, so that if bytesused is 0 it is set to the
size of the buffer. However, bytesused set to 0 is used by older codec
drivers as as indication used to mark the end of stream.
To keep backward compatibility, this patch adds a flag passed to the
vb2_queue_init function - allow_zero_bytesused. If the flag is set upon
initialization of the queue, the videobuf2 keeps the value of bytesused
intact in the OUTPUT queue and passes it to the driver.
Reported-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 06e7a9b638467fddf8f62ca9f07adc7754319461
Author: Kamil Debski <k.debski@xxxxxxxxxxx>
Date: Mon Feb 23 09:26:16 2015 -0300
[media] vb2: split the io_flags member of vb2_queue into a bit field
This patch splits the io_flags member of vb2_queue into a bit field.
Instead of an enum with flags separate bit fields were introduced.
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 5dbc32a88f1e73f244e6134fc119dd4d60a398c0
Author: Julia Lawall <Julia.Lawall@xxxxxxx>
Date: Sun Mar 29 14:54:13 2015 +0200
n_gsm: Drop unneeded cast on netdev_priv
The result of netdev_priv is already implicitly cast to the type of the
left side of the assignment.
The semantic patch that fixes this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
type T;
T *x;
@@
x =
- (T *)
netdev_priv(...)
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f0e381158a95a63a283be4cde64795d37e32134b
Author: Jakub Kicinski <kubakici@xxxxx>
Date: Tue Mar 31 21:11:40 2015 +0200
sc16is7xx: expose RTS inversion in RS-485 mode
Hardware is capable of inverting RTS signal when working
in RS-485 mode. Expose this functionality to user space.
Relay on a matching combination of standard flags
(SER_RS485_RTS_ON_SEND and SER_RS485_RTS_AFTER_SEND) to
detect when user space is requesting inverted RTS mode.
Signed-off-by: Jakub Kicinski <kubakici@xxxxx>
Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 6a8bc239a8c3e6ad34fceabb61ff8ec6222dad4e
Author: Peter Hung <hpeter@xxxxxxxxx>
Date: Wed Apr 1 14:00:21 2015 +0800
serial: 8250_pci: port failed after wakeup from S3
Serial ports of F81504/F81508/F81512 will failed when wakeup from S3(STR).
It's due to when the system wakeup from S3(STR), this PCI device's
configuration space from 0x40 to 0x40 + max_port * 0x08 should be
re-configured.
We move all initialization from pci_fintek_setup() to pci_fintek_init()
and
set it to pci_serial_quirks .init section. It's will re-init this device
when
system wakeup from pciserial_resume_ports().
Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ca782f16ce02e3f4fa2ae28a5ff256ac69f731e2
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 6 10:52:39 2015 -0400
earlycon: 8250: Document kernel command line options
Document the expected behavior of kernel command lines of the forms:
console=uart[8250],io|mmio|mmio32,<addr>[,options]
console=uart[8250],<addr>[,options]
and
earlycon=uart[8250],io|mmio|mmio32,<addr>[,options]
earlycon=uart[8250],<addr>[,options]
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 87515772c33ee8a0cc08d984a7d2401eeff074cd
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 6 10:48:49 2015 -0400
earlycon: 8250: Fix command line regression
Restore undocumented behavior of kernel command line parameters of
the forms:
console=uart[8250],io|mmio|mmio32,<addr>[,options]
console=uart[8250],<addr>[,options]
where 'options' have not been specified; in this case, the hardware
is assumed to be initialized.
Fixes: c7cef0a84912cab3c9df8 ("console: Add extensible console matching")
Reported-by: Yinghai Lu <yinghai@xxxxxxxxxx>
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 99492c39f39fc2d8c4ae36ecfb88d7de5d8106b5
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 08:57:51 2015 -0400
earlycon: Fix __earlycon_table stride
The compiler and the linker must agree on the alignment of
struct earlycon_id; empirical testing and commit 07fca0e57fca92
("tracing: Properly align linker defined symbols") suggests
32-byte alignment is the LCD.
Reported-by: Yinghai Lu <yinghai@xxxxxxxxxx>
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 00fe52deb45b1a5ef42b0aa82e632e2df012eddc
Author: Chase Metzger <chasemetzger15@xxxxxxxxx>
Date: Thu Apr 9 21:41:52 2015 -0700
drivers/usb/core: devio.c: Removed an uneeded space before tab
Ran checkpatch.pl on file and removed a warning about an unwanted space
before
a tab.
Signed-off-by: Chase Metzger <chasemetzger15@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 42a6630a875c17b8ad129d2cc0472217107147ad
Author: Gregory Herrero <gregory.herrero@xxxxxxxxx>
Date: Fri Apr 3 10:53:25 2015 +0200
usb: dwc2: host: sleep USB_RESUME_TIMEOUT during resume
msleep(USB_RESUME_TIMEOUT) must be done when the controller drives
the resume. This is true after HPRT0_RES is written.
Moreover, restore the delay after controller power is up.
Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b9cd825d066c911cd6076a539986bcf22f1cbcd7
Merge: 2aebe3f 0c4d6af
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 10 13:51:20 2015 +0200
Merge tag 'usb-ci-v4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb into usb-next
Peter writes:
Two Chipidea updates
- Forbid dumpping registers when the controller in low power mode
- dp pullup needs to be controlled by fsm when working at otg
fsm mode
commit 2aebe3f3b20724e09ec76b196e16404d1ea573d9
Merge: c8d1bc1 e95cf39
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 10 13:47:50 2015 +0200
Merge tag 'for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into usb-next
Kishon writes:
New Features
============
*) Add driver for USB PHYs on sun9i
*) Add driver for USB PHY on dm816x
*) Modified exynos5-usbdrd driver to add support for Exynos5433 SoC
Fixes
=====
*) Fix power_on/power_off failure paths in some drivers
*) Make miphy365x use generic PHY type constants
*) Fix build errors due to missing export symbols in qcom-ufs driver
*) Make all the functions return proper error values
Cleanups
========
*) use PTR_ERR_OR_ZERO to simplify code
*) use devm_kcalloc instead of devm_kzalloc with multiply
*) remove un-necessary ifdef CONFIG_OF
commit c8d1bc12c7986c166bd3504213d9df2bc11ad7d6
Merge: b7a4abb bbc78c0
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 10 13:45:27 2015 +0200
Merge tag 'usb-for-v4.1-part2' of
git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-testing
Felipe writes:
usb: generic resume timeout for v4.1
This part 2 pull request contains only the patches
which make sure everybody on linux uses the same
resume timeout value.
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit af8fcb9c58f1b2f02ddc04ba64710aaa52da00db
Author: Clint Taylor <clinton.a.taylor@xxxxxxxxx>
Date: Thu Apr 9 13:42:06 2015 -0700
drm/i915/chv: Remove DPIO force latency causing interpair skew issue
Latest version of the "CHV DPIO programming notes" no longer requires
writes
to TX DW 11 to fix a +2UI interpair skew issue. The current code from
April 2014 was actually causing additional skew issues between all
TMDS pairs.
ver2: added same treatment to intel_dp.c based on Ville's testing.
Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Signed-off-by: Clint Taylor <clinton.a.taylor@xxxxxxxxx>
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit 88f933a8b03474ebcd16935d3620e5c10b557f6f
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date: Thu Apr 9 16:44:16 2015 +0200
drm/i915: Don't cancel DRRS worker synchronously for flush/invalidate
It's not needed since the worker rechecks that it didn't race. We only
need to cancel synchronously after disabling drrs to make sure the
worker really is gone (e.g. for driver unload). But for normal
operation the stall is just wasted time.
Reported-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Cc: Ramalingam C <ramalingam.c@xxxxxxxxx>
Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
Cc: Vandana Kannan <vandana.kannan@xxxxxxxxx>
Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx>
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit 9da7d69357389ea63893434fe3b17b9fbc2c2d2d
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date: Thu Apr 9 16:44:15 2015 +0200
drm/i915: Fix locking in DRRS flush/invalidate hooks
We must acquire the mutex before we can check drrs.dp, otherwise
someone might sneak in with a modeset, clear the pointer after we've
checked it and then the code will Oops.
This issue has been introduced in
commit a93fad0f7fb8a3ff12e8814b630648f6d187954c
Author: Vandana Kannan <vandana.kannan@xxxxxxxxx>
Date: Sat Jan 10 02:25:59 2015 +0530
drm/i915: DRRS calls based on frontbuffer
v2: Don't blow up on uninitialized mutex and work item by checking
whether DRRS is support or not first. Also unconditionally initialize
the mutex/work item to avoid future trouble.
Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Cc: Ramalingam C <ramalingam.c@xxxxxxxxx>
Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
Cc: Vandana Kannan <vandana.kannan@xxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx (4.0+ only)
Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Tested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx>
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit 91bf0c2dcb935a87e5c0795f5047456b965fd143
Author: Michael Gernoth <michael@xxxxxxxxxxx>
Date: Thu Apr 9 23:42:15 2015 +0200
ALSA: emu10k1: don't deadlock in proc-functions
The functions snd_emu10k1_proc_spdif_read and snd_emu1010_fpga_read
acquire the emu_lock before accessing the FPGA. The function used
to access the FPGA (snd_emu1010_fpga_read) also tries to take
the emu_lock which causes a deadlock.
Remove the outer locking in the proc-functions (guarding only the
already safe fpga read) to prevent this deadlock.
[removed superfluous flags variables too -- tiwai]
Signed-off-by: Michael Gernoth <michael@xxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 69f0fb2a592fc9ebc5e3e55178055d1cff31d479
Author: Peter Griffin <peter.griffin@xxxxxxxxxx>
Date: Fri Apr 10 10:40:29 2015 +0100
mmc: sdhci-st: Update ST SDHCI binding documentation.
This patch updates the binding information to reflect the
extra dt options which are now supported by the sdhci-st.c
driver which enable support for stih407 family silicon.
STiH410 SoC and later support UHS modes for eMMC, so the
driver now makes use of these common bindings. Examples
are provided for both eMMC (which has additional bindings)
and also sd slot for STiH407.
Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx>
Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 4e187d3154e6a47dfb8561aa0003d93243ec7e4a
Author: Peter Griffin <peter.griffin@xxxxxxxxxx>
Date: Fri Apr 10 10:40:28 2015 +0100
mmc: sdhci-st: Update the quirks for this controller.
Some additional quirks need to be enabled now we support UHS
modes. This avoids some spurious warnings like
"Got data interrupt 0x00000002 even though no data operation was in
progress"
Testing on stih410-b2120 board achieves the following speeds
with HS200 eMMC card.
max-frequency = 200Mhz
/dev/mmcblk0p1:
Timing buffered disk reads: 270 MB in 3.02 seconds = 89.54 MB/sec
max-frequency = 100Mhz
root@debian-armhf:~# hdparm -t /dev/mmcblk0p1
/dev/mmcblk0p1:
Timing buffered disk reads: 210 MB in 3.00 seconds = 70.00 MB/sec
max-frequency = 50Mhz
root@debian-armhf:~# hdparm -t /dev/mmcblk0p1
/dev/mmcblk0p1:
Timing buffered disk reads: 118 MB in 3.00 seconds = 39.28 MB/sec
This is better than the 3.10 kernel which achieves 77.59 MB/sec
at 200Mhz clock (same board/soc/eMMC).
Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx>
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx>
Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit cf48d32efb4b9e70ca1e17f2c38f77756e9aae58
Author: Peter Griffin <peter.griffin@xxxxxxxxxx>
Date: Fri Apr 10 10:40:27 2015 +0100
mmc: sdhci-st: Add sdhci_st_set_uhs_signaling function.
To allow UHS modes to work properly we need to provide the st specific
set_uhs_signaling callback function. This function differs from the
generic sdhci_set_uhs_signaling callback in that we need to configure
the correct delay depending on the UHS mode, and also set the V18_EN
bit.
Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx>
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx>
Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 2053812f6e1af0b8c3d18d4d6d9f356b0c0d0039
Author: Peter Griffin <peter.griffin@xxxxxxxxxx>
Date: Fri Apr 10 10:40:26 2015 +0100
mmc: sdhci-st: Add st_mmcss_cconfig function to configure mmcss glue
registers.
STiH407 family SoC's have glue registers in the flashSS subsystem which
are used to configure the Arasan HC. This patch configures these glue
registers according to what has been specified in the DT.
Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx>
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx>
Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit bfa448041fb51311e32f0fd6342619b8c5672175
Author: Peter Griffin <peter.griffin@xxxxxxxxxx>
Date: Fri Apr 10 10:40:25 2015 +0100
mmc: sdhci-st: Add delay management functions for top registers (eMMC).
Due to the tight timing constraints in some UHS modes, it is required to
have
some delay management in the design. Two types of delay management are
supported
in the HW: -
1) Static delay management
2) Dynamic delay management
NB: The delay management is only there when eMMC interface is selected.
1: Static delay management: is used to provide PVT dependent static delay
on the
clock/data lines to manage setup/hold requirements of the interface. The
maximum
delay possible is 3.25ns. These delays are PVT dependent, and thus delay
values
applied are not accurate and vary across provcess voltage and temperature
range.
Due to this these delays must not be used on the very time critical paths.
2. Dynamic delay locked loop (DLL): is used to provide dynamic delay
management.
The advantage of DLL is that it provides accurate & PVT indepedent delay.
The DLL is used to provide delay on the loopback clock on "Read Path" to
capture
read data reliably. On TX path the clock on which output data is
transmitted is
delayed, resulting in delay of TX data.
Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx>
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 406c24310a7bd7ce152662647fcb76c4a67971a5
Author: Peter Griffin <peter.griffin@xxxxxxxxxx>
Date: Fri Apr 10 10:40:24 2015 +0100
mmc: sdhci-st: Add support for de-asserting reset signal and top regs
resource
STiH407 family SoC's can have a reset signal for the controller which
needs to
be managed. Also the eMMC controller has some additional 'top' memory
mapped
registers which are used to manage the dynamic and static delay required
for
UHS modes. This patch adds support for creating the mapping, which will
be used
by subsequent patches.
Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx>
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx>
Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 8bef7178a630dc41ca5868e6bb54ffee91e1c83a
Author: Peter Griffin <peter.griffin@xxxxxxxxxx>
Date: Fri Apr 10 10:40:23 2015 +0100
mmc: sdhci-st: Add macros for register offsets and bitfields for mmcss
glue regs
The stih407 family SoC's have additional glue registers in the flashSS
which
are used to configure the Arasan controller.
This patch adds macros for the register offsets and bitfields which will
be
used by subsequent patches to support stih407 family SoC's.
Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx>
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx>
Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 299e7e97cc33d2d8894250ae2a3101bfb5670141
Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Date: Thu Apr 9 14:56:41 2015 -0300
ASoC: fsl_ssi: Use devm_snd_soc_register_component()
Using devm_snd_soc_register_component() can make the code shorter and
cleaner.
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit c01673e0b7236140eb5bbe1c7b30aa262f142d7e
Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Date: Fri Apr 10 08:46:22 2015 +0000
ASoC: ak4642: fixup channels_min
ak4642 doesn't have Mono record, ak4643 have it, but not supported.
This patch fixes channel mismatch
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit a7f4ee1fe93aa9ae191971be9324edb8f9fbcb4a
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Sat Apr 4 19:28:50 2015 +1100
powerpc: Drop return value of smp_ops->probe()
smp_ops->probe() is currently supposed to return the number of cpus in
the system.
The last actual usage of the value was removed in May 2007 in e147ec8f1808
"[POWERPC] Simplify smp_space_timers". We still passed the value around
until June 2010 when even that was finally removed in c1aa687d499a
"powerpc: Clean up obsolete code relating to decrementer and timebase".
So drop that requirement, probe() now returns void, and update all
implementations.
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 7261b956b276aa97fbf60d00f1d7717d2ea6ee78
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Fri Apr 3 14:11:54 2015 +1100
powerpc/cell: Fix cell iommu after it_page_shift changes
The patch to add it_page_shift incorrectly changed the increment of
uaddr to use it_page_shift, rather then (1 << it_page_shift).
This broke booting on at least some Cell blades, as the iommu was
basically non-functional.
Fixes: 3a553170d35d ("powerpc/iommu: Add it_page_shift field to determine
iommu page size")
Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit b0dd00addc5035f87ec9c5820dacc1ebc7fcb3e6
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Fri Apr 3 14:11:53 2015 +1100
powerpc/cell: Fix crash in iic_setup_cpu() after per_cpu changes
The conversion from __get_cpu_var() to this_cpu_ptr() in iic_setup_cpu()
is wrong. It causes an oops at boot.
We need the per-cpu address of struct cpu_iic, not cpu_iic.regs->prio.
Sparse noticed this, because we pass a non-iomem pointer to out_be64(),
but we obviously don't check the sparse results often enough.
Fixes: 69111bac42f5 ("powerpc: Replace __get_cpu_var uses")
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 7e862d7e7d118e3becc5b495af10ca076f087180
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Mon Mar 30 17:38:09 2015 +1100
powerpc: Reword the "returning from prom_init" message
We get way too many bug reports that say "the kernel is hung in
prom_init", which stems from the fact that the last piece of output
people see is "returning from prom_init".
The kernel is almost never hung in prom_init(), it's just that it's
crashed somewhere after prom_init() but prior to the console coming up.
The existing message should give a clue to that, ie. "returning from"
indicates that prom_init() has finished, but it doesn't seem to work.
Let's try something different.
This prints:
Quiescing Open Firmware ...
Booting Linux via __start() ...
Which hopefully makes it clear that prom_init() is not the problem, and
although __start() probably isn't either, it's at least the right place
to begin looking.
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Wistfully-Acked-by: Jeremy Kerr <jk@xxxxxxxxxx>
commit f691fa1080c37c48da0cdfeae082c3bef5df2643
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Mon Mar 30 14:10:37 2015 +1100
powerpc: Replace mem_init_done with slab_is_available()
We have a powerpc specific global called mem_init_done which is "set on
boot once kmalloc can be called".
But that's not *quite* true. We set it at the bottom of mem_init(), and
rely on the fact that mm_init() calls kmem_cache_init() immediately
after that, and nothing is running in parallel.
So replace it with the generic and 100% correct slab_is_available().
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 4f9c53c8cc76ed84e3bb0cca8c4ffa2b170d0239
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Wed Mar 25 20:11:57 2015 +1100
powerpc: Fix compile errors with STRICT_MM_TYPECHECKS enabled
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
[mpe: Fix the 32-bit code also]
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit be770021011f00bd6220c87876292053221ca5f1
Merge: e5e02de f321c9cb
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Fri Apr 10 12:01:59 2015 +0200
Merge back earlier suspend/hibernate material for v4.1.
commit cdde51b9fe83a20fd6c50e81473e6ffb5ba63b92
Merge: e5e02de 993c592
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Fri Apr 10 12:01:24 2015 +0200
Merge back earlier cpuidle material for v4.1.
commit 38fc7839bae2db7a1321d9f6bfc7b5b3ccb59d2a
Merge: e5e02de 5acb972
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Fri Apr 10 12:00:36 2015 +0200
Merge back earlier cpufreq material for v4.1.
commit 6c5c2a01fcfdb70f2e95e30e96ccf53b88e81023
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Sat Apr 4 23:22:07 2015 +0100
ARM: proc-arm94*.S: fix setup function
Both ARM946 and ARM940 setup functions were corrupting r1 and r2,
which is not permissible - these are used to carry the machine ID
and boot data into the kernel, and must be preserved.
The code responsible for this was the same in both files: they were
using the registers to generate a protection region register value.
Fix this by turning this process into a macro, and using that macro
in both these files with an alternative register allocation. r0,
r3 and r7 can be used for temporary values here.
Reported-by: Alex Dumitrache <broscutamaker@xxxxxxxxx>
Tested-by: Georg Hofstetter <g3gg0.de@xxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 03daa6f82f2b634019fe8261698f6af3c133497f
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Fri Apr 10 11:35:45 2015 +0200
Revert "gpio: sch: use uapi/linux/pci_ids.h directly"
This reverts commit d1e10dc8c104d533547f6e499550fafc36809943.
This commit should not go through this tree.
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 1912c7afa39d2683a574011ff455fe49ada8016c
Author: Mike Travis <travis@xxxxxxx>
Date: Thu Apr 9 13:26:31 2015 -0500
x86/apic/uv: Update the UV APIC HUB check
Update the check for UV2000/3000. Note when the HUB is not recognized.
Signed-off-by: Mike Travis <travis@xxxxxxx>
Acked-by: Hedi Berriche <hedi@xxxxxxx>
Acked-by: Dimitri Sivanich <sivanich@xxxxxxx>
Link:
http://lkml.kernel.org/r/20150409182629.267239403@xxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 379b97e280971ef7673db5166c7e0f7ab49b81de
Author: Mike Travis <travis@xxxxxxx>
Date: Thu Apr 9 13:26:30 2015 -0500
x86/apic/uv: Update the UV APIC driver check
Fix a bug in the OEM check function that determines if the
system is a UV system and the BIOS is compatible with the
kernel's UV apic driver. This prevents some possibly obscure
panics and guards the system against being started on SGI
hardware that does not have the required kernel support.
Signed-off-by: Mike Travis <travis@xxxxxxx>
Acked-by: Hedi Berriche <hedi@xxxxxxx>
Acked-by: Dimitri Sivanich <sivanich@xxxxxxx>
Link:
http://lkml.kernel.org/r/20150409182629.112998930@xxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 7a4e017041136de05527722b97e0c1f8702a5cbe
Author: Mike Travis <travis@xxxxxxx>
Date: Thu Apr 9 13:26:29 2015 -0500
x86/apic/uv: Update the APIC UV OEM check
Optimize the first "SGI" OEM check to return faster if the
system is not an SGI or UV system.
Signed-off-by: Mike Travis <travis@xxxxxxx>
Acked-by: Hedi Berriche <hedi@xxxxxxx>
Acked-by: Dimitri Sivanich <sivanich@xxxxxxx>
Link:
http://lkml.kernel.org/r/20150409182628.952357922@xxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit f4d3129c2b580ad2b82aa3211a6216bbf7ad007c
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Fri Apr 10 09:53:04 2015 +0200
ALSA: hda/realtek - Fix a typo
A comma was used instead of a semicolon, which may lead to a build
error.
Fixes: cffd39668177 ('ALSA: hda/realtek - Fix the regression by widget
power-saving')
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 39d118677baa531cd9ee4c025a34f243746a3d18
Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
Date: Fri Apr 10 08:43:00 2015 +0900
ALSA: ctl: evaluate macro instead of numerical value
SNDRV_CTL_TLV_OP_XXX is defined but not used in core code. Instead,
raw numerical value is evaluated.
This commit replaces these values to these macros for better looking.
Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 834a316eeebcb75316c0a7d9088fa638c52dc584
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Tue Apr 7 22:49:54 2015 -0700
xtensa: Fix fix linker script transformation for .text / .text.fixup
Commit 779c88c94c34 ("ARM: 8321/1: asm-generic: introduce .text.fixup
input section") introduced a new .text.fixup section which is merged
with .text at link time. This causes xtensa builds to fail with lots
of error messages similar to the following.
lib/lib.a(kobject.o): In function `kobject_create':
(.text+0x498): dangerous relocation: l32r: literal placed after use:
(.literal+0x150)
Linker script transformation needs to be updated to detect and handle
the new section.
Fixes: 779c88c94c34 ("ARM: 8321/1: asm-generic: introduce .text.fixup
input section")
Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Chris Zankel <chris@xxxxxxxxxx>
commit 020f1d9d9ae3f476d887f2b043223d8a89652174
Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Date: Thu Apr 9 22:03:24 2015 -0700
ixgbe: Drop unnecessary call to rcu_barrier
The ixgbe driver hasn't used call_rcu to free the rings for some time now.
Since that is the case the call to rcu_barrier can be dropped since calls
to kfree_rcu don't require it.
Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 87031c0df521d80af3b168bb2425a8faa999b629
Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Date: Thu Apr 9 22:03:24 2015 -0700
ixgbe: Remove NETIF_F_HW_VLAN_CTAG_FILTER from hw_features
This change makes it so that the HW_VLAN_CTAG_FILTER bit is not falsely
advertised as being a feature that can be toggled on ixgbe parts. The
driver was setting the bit in features and letting it be inherited by
hw_features, however the driver was actually ignoring the value of the bit
and just assuming it was always set. As a result VLAN filtering was
always
enabled which is a requirement for SR-IOV, VMDq, DCB, FCoE, and possibly
other features within the adapters.
Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit ea412015a2e72faf066e90765bdd1dc4e4ecea41
Author: Vasu Dev <vasu.dev@xxxxxxxxx>
Date: Thu Apr 9 22:03:23 2015 -0700
ixgbe: adds x550 specific FCoE offloads
Adds x550 specific FCoE offloads for DDP context programming and
increased DDP exchanges.
Signed-off-by: Vasu Dev <vasu.dev@xxxxxxxxx>
Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 6d4c96ad4afd7265d2d214e02d28e66cfdaf9bb4
Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx>
Date: Thu Apr 9 22:03:23 2015 -0700
ixgbe: add support for X550 source_address_prunning
This patch will enable X550 Source Address Prunning for VEPA
bridge mode. This requires that we also have replication enabled
as well, while in this mode.
Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx>
Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 219efe97bb8a6989dfc93ae6bf97cd72e5b72de3
Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx>
Date: Thu Apr 9 22:03:22 2015 -0700
ixgbe: add new bridge mode support function.
This patch gathers together all the logic needed to configure bridge
modes. Currently that it is rather simple but this is really laying
the ground work for future X550 feature enhancement.
Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx>
Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 47d68979cc968535cb87f3e5f2e6a3533ea48fbd
Author: NeilBrown <neilb@xxxxxxx>
Date: Fri Apr 10 13:19:04 2015 +1000
md/raid0: fix bug with chunksize not a power of 2.
Since commit 20d0189b1012a37d2533a87fb451f7852f2418d1
in v3.14-rc1 RAID0 has performed incorrect calculations
when the chunksize is not a power of 2.
This happens because "sector_div()" modifies its first argument, but
this wasn't taken into account in the patch.
So restore that first arg before re-using the variable.
Reported-by: Joe Landman <joe.landman@xxxxxxxxx>
Reported-by: Dave Chinner <david@xxxxxxxxxxxxx>
Fixes: 20d0189b1012a37d2533a87fb451f7852f2418d1
Cc: stable@xxxxxxxxxxxxxxx (3.14 and later).
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit aa2bacb60963870919ec5bc59ac69f0c31572d26
Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx>
Date: Thu Apr 9 22:03:22 2015 -0700
ixgbe: Move bridge mode from flag to variable
We are currently storing our BRIDGE_MODE as a bit in our adapter flags.
This patch will store the actual mode instead which minimizes obfuscation
and makes following patches for X550 simpler.
Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx>
Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 322d3ed1679047e4ed0c9997d84acf3cdd4f1d29
Author: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 9 22:03:21 2015 -0700
ixgb: remove references to ifconfig
Move documentation into this century, even if this device hasn't
been available for some time.
Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit d7018be0ae2aee988331d2908234d1a1ee3196ac
Author: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 9 22:03:21 2015 -0700
ixgbe: fix documentation
The MTU values in the documentation do not match the source.
The source has frame limit of IXGBE_MAX_JUMBO_FRAME_SIZE (9728)
which is MTU of 9710 because of the accounting for Ethernet header
and CRC.
Also, don't refer to the obsolete ifconfig command.
Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit c0a34ebd43959ca83df86ba2ffc63ab0ddb2ea75
Author: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 9 21:02:02 2015 -0700
igb: doc don't refer to ifconfig
ifconfig command is obsolete, best to remove all references so that
new users learn ip.
Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 4a89c3088ff61aa24754e9cd6dc665cc719f7efe
Author: Ley Foon Tan <lftan@xxxxxxxxxx>
Date: Fri Apr 10 11:10:08 2015 +0800
nios2: fix cache coherency issue when debug with gdb
Remove the end address checking for flushda function. We need to flush
each address line for flushda instruction, from start to end address.
This is because flushda instruction only flush the cache if tag and line
fields are matched.
Change to use ldwio instruction (bypass cache) to load the instruction
that causing trap. Our interest is the actual instruction that executed
by the processor, this should be uncached.
Note, EA address might be an userspace cached address.
Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx>
commit eef77801b56b098cd7e1daf8a03854dd203a051c
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:57 2015 +0100
aha1542: remove loop from aha1542_outb
The loop in aha1542_outb with double-check is no longer needed, remove it.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 7061dec40c07265f819ae0a6842846f74f889aa9
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:56 2015 +0100
aha1542: Fix bus reset
Bus reset always fails because aha1542_reset waits for the controller to
assert
the INIT bit (Mailbox Initialization Required) which it never does. This
bit is
asserted only after host reset.
Remove the requirement for INIT bit (we really need only the IDLE bit).
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 1b0224b0ec6003c06cc369188510642a5fb3b864
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:55 2015 +0100
aha1542: rework locking
Remove aha1542_lock and use host_lock instead.
Remove interrupt and queuecommand function wrappers.
Remove locking from lowlevel _out and _in functions, they now can
onle be called (at runtime) with host_lock being held.
Remove ssleep(4) in aha1542_reset as we can't sleep while holding a
spinlock.
It's useless anyway as wait_mask will wait until the controller is idle
and
kernel waits for 10 seconds (HOST_RESET_SETTLE_TIME) after that.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 764a0c7e840085828afbc16fb9b47be5712f5531
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:54 2015 +0100
aha1542: Don't reduce functionality with DEBUG enabled
Enabling DEBUG disables write commands and devices with ID > 1.
Remove this "feature" to allow real debugging.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 6ddc8cf40a2011af0c1a5dd300cc75d727c3c3a8
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:53 2015 +0100
aha1542: Use print_hex_dump_bytes in debug code
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit fde1fb8a4a74607c82a47389be9ee3a134c854cb
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:52 2015 +0100
aha1542: remove DEB macro and simplify debug code
Remove DEB macro and join ifdef DEBUG blocks
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 2906b3ceb1bfc4a1abd59dd7a5f09268b8d585a6
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:51 2015 +0100
aha1542: Use shost_printk instead of printk
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 37d607bd7944ce8d9d7b3baecc4f0ca725240fb8
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:50 2015 +0100
aha1542: Change aha1542_set_bus_times parameters
Pass struct Scsi_Host *sh and dma parameters instead of index to
aha1542_set_bus_times.
This is required for printk conversion.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 68ea9de3a6256195ab4d92fa7d0edf6ed657a500
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:49 2015 +0100
aha1542: Pass struct Scsi_Host * to functions
Pass struct Scsi_Host * to functions instead of base address.
This reduces the number of parameters and is also required for printk
conversion.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 954a9fd79b165c14e136e8f90e822ba3d186f6b1
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:48 2015 +0100
aha1542: cleanup includes
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 1d084d200d2a57219ec2c912c700ddff09f0676c
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:47 2015 +0100
aha1542: remove useless changelog
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit e51dacbf4eadcae006aeac5dcf87f29a37b770e9
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:46 2015 +0100
aha1542: fix include guard and remove useless changelog
Fix include guard in header file and remove useless changelog
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit c2532f68266d3b10fe71e0b3e63f4c29d73e6ee5
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:45 2015 +0100
aha1542: Always name Scsi_Host variables sh
Make Scsi_Host variable names consistent - use sh everywhere.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 55b28f9fc033f9af090a58ea97063ca51552a2a6
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:44 2015 +0100
aha1524: Use struct scsi_cmnd
Use struct scsi_cmnd instead of Scsi_Cmnd and also rename the variables
to get rid of SC prefix
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit cad2fc72cfc092ed3448a0235f59fe003f4f85c3
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:43 2015 +0100
aha1542: clean up cmd variables
Make sure that there's no variable named cmd
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 17787a09fdfcb07ccc361758737af0dfa1ea4214
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:42 2015 +0100
aha1542: Simplify aha1542_biosparam
Simplify aha1542_biosparam, use sector_div, remove unused
BIOS_TRANSLATION_1632.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit f71429ab535d90806a35bc346adcdebfc8996008
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:41 2015 +0100
aha1542: rework configuration parameters
Remove __setup and introduce separate io, bus_on, bus_off and dma_speed
module parameters.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 3a70c006edbe6071bd78e1e0c8004791cd4b531c
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:40 2015 +0100
aha1542: rework hw_init
Cleanup hw_init, use goto for error handling.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 23e6940a9ecfc6477fb1216cad062e2fa12ea98f
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:39 2015 +0100
aha1542: Call wait_mask from aha1542_out
aha1542_out call is always followed by wait_mask.
Move the call into aha1542_out to simplify code.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit b847fd0d85060fa213a14fa78b46e0ca5b09c5df
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:38 2015 +0100
aha1542: split out code from aha1542_hw_init
Split out bus times related block of aha1542_hw_init into separate
function
aha1542_set_bus_times.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 8537cba8b6e14ff86f088dd71592090606c97050
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:37 2015 +0100
aha1542: Merge aha1542_host_reset and aha1542_bus_reset
aha1542_host_reset and aha1542_bus_reset are almost same, merge them
into aha1542_reset
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit dfd7c991f31261fb4fb14adf0479206b178d270d
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:36 2015 +0100
aha1542: Remove aha1542_restart
aha1542_restart does nothing (except useless printk), remove it
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit bdebe2241eb49bf2308571b6158fa5635b9e708e
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:35 2015 +0100
aha1542: remove useless code from aha1542_test_port
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit a13b3722a352dffa838994eb713573e2e189d928
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:34 2015 +0100
aha1542: Remove unneeded gotos
Remove gotos that are no longer needed.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 0c2b64819105986c12d7412a1cb5b91e3d80c15c
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:33 2015 +0100
aha1542: Split aha1542_out
aha1542_out are in fact two separate functions.
Split them into aha1542_out and aha1542_outb to simplify the code.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit f8846be334443b432f5daf22099e9f4bdd02ba9f
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:32 2015 +0100
aha1542: Unify aha1542_in and aha1542_in1
Unify aha1542_in and aha1542_in1 functions, they differ only in timeout
and printk.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 2093bfa1364472759d4711d034c634594d35188a
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:31 2015 +0100
aha1542: Remove WAIT and WAITd macros
Convert the ugly WAIT and WAITd macros into wait_mask function.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 6d9ffe6a01be435dae0984d94f92e2e85e3e5195
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:30 2015 +0100
aha1542: Use BIT() macro
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit f232d538017ec0da1df66cf22dc5a5842077b0e6
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:29 2015 +0100
aha1542: remove empty aha1542_stat
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 09a44833887dfc856facff0a9b21f3def0367f0c
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:28 2015 +0100
aha1542: Reorder functions to remove forward declarations
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit cb5b570ce3cc7e91f47339e60efba75a4bbc347c
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:27 2015 +0100
aha1542: Use u8 instead of unchar
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit f1bbef63442f36f5a0fc91f73da104aa8a39a873
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:26 2015 +0100
aha1542: Convert aha1542_intr_reset to function
Convert aha1542_intr_reset macro to inline function
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit e98878f737293d8c43e5e5982f3cd4317c423ba5
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:25 2015 +0100
aha1542: Remove HOSTDATA macro
Remove HOSTDATA macro and use shost_priv instead
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 10be62506f5dd8013bf76f168c89ed4f7608c4d4
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:24 2015 +0100
aha1542: Remove SCSI_BUF_PA, SCSI_SG_PA, AHA1542_SCATTER and
AHA1542_CMDLUN
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 6f82fbf3868712576f137ebdf0b9a72aa99b5935
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:23 2015 +0100
aha1542: remove dead code
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 643a7c43f11ee776701e06410d7b3f9a41e5d284
Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Feb 6 23:11:22 2015 +0100
aha1542: Stop using scsi_module.c
Convert aha1542 to use scsi_add_host instead of scsi_module.c
Use pnp_driver and isa_driver to manage cards.
Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit e5e02de0665ef2477e7a018193051387c6fe0fbc
Merge: 3cfb2f7 b2d5fb9
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 9 17:44:27 2015 -0700
Merge tag 'pm+acpi-4.0-rc8' of
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management and ACPI fixes from Rafael Wysocki:
"These are stable-candidate fixes of some recently reported issues in
the cpufreq core, cpuidle core, the ACPI cpuidle driver and the
hibernate core.
Specifics:
- Revert a 3.17 hibernate commit that was supposed to fix an issue
related to e820 reserved regions, but broke resume from hibernation
on Lenovo x230 (Rafael J Wysocki).
- Prevent the ACPI cpuidle driver from overwriting the name and
description of the C0 state set by the core when the list of
C-states changes (Thomas Schlichter).
- Remove the no longer needed state_count field from struct
cpuidle_device which prevents the list of C-states shown by the
sysfs interface from becoming incorrect when the current number of
them is different from the number of C-states on boot (Bartlomiej
Zolnierkiewicz).
- The cpufreq core updates the policy object of the only online CPU
during system resume to make it reflect the current hardware state,
but it always assumes that CPU to be CPU0 which need not be the
case, so fix the code to avoid that assumption (Viresh Kumar)"
* tag 'pm+acpi-4.0-rc8' of
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
Revert "PM / hibernate: avoid unsafe pages in e820 reserved regions"
cpuidle: ACPI: do not overwrite name and description of C0
cpuidle: remove state_count field from struct cpuidle_device
cpufreq: Schedule work for the first-online CPU on resume
commit f20dffc7c67b1c88aedd600031229cc97a4ddb97
Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Date: Thu Mar 26 10:41:32 2015 -0400
aacraid: driver version change
Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit dab04b0151975103ed6c56a0c03e66dd85f6c158
Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Date: Thu Mar 26 10:41:31 2015 -0400
aacraid: AIF raw device remove support
Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit ef6162333a6910007c0ae2237e750ffd5bf25811
Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Date: Thu Mar 26 10:41:30 2015 -0400
aacraid: performance improvement changes
Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit f9c4259678cbde854a4e94398d66ef379178fd7c
Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Date: Thu Mar 26 10:41:29 2015 -0400
aacraid: IOCTL fix
After getting the platform shutdown command "VM_CloseAll" response from
the
firmware, driver was getting configuration IOCTL request from the upper
layers
and it sends down to firmware. This causes firmware assert issue.
This patch fixes the firmware assert issue. During the shutdown, if driver
gets commands from the upper layer, driver sends error code to the upper
layers.
Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit dafde947bce37b10f3681d6b9df473ba7136fc05
Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Date: Thu Mar 26 10:41:28 2015 -0400
aacraid: IOP RESET command handling changes
This patch fixes the IOP_RESET issue. Sending IOP_RESET command need to
wait
for only 10 sec instead of 5 minutes in case of firmware does not response
IOP_RESET command. Disable interrupt before setup interrupt routine to
prevent spurious interrupts.
Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit a7129a5443cd01b0a3544785974e09032f19b464
Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Date: Thu Mar 26 10:41:27 2015 -0400
aacraid: 240 simple volume support
Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 5d9106490c7f7533abc6b8e15ceab64f2c7f466a
Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Date: Thu Mar 26 10:41:26 2015 -0400
aacraid: vpd page code 0x83 support
Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 495c021767bd78c998a46cf8cdd7a4ebf3a9cfd1
Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Date: Thu Mar 26 10:41:25 2015 -0400
aacraid: MSI-x support
Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit b836439faf04b16c80ffd9a0699a2354ebde13e1
Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Date: Thu Mar 26 10:41:24 2015 -0400
aacraid: 4KB sector support
Also fix up a name truncation problem
Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 2f5d1f7998b67d49263ee9d9a49669e1b8d0e302
Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Date: Thu Mar 26 10:41:23 2015 -0400
aacraid: IOCTL pass-through command fix
The Linux aacriad driver fails to detect the case of SG list count=0 on
IOCTL
pass-through command and cause intermittent fault. The result is the
Linux
aacriad driver send down IOCTL pass-through command with one not
initialized
SG list to firmware when receiving SG list count =0 on pass-through
command.
Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 46154a0224cfb82a14405e7d7ce486b6e6af63e0
Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Date: Thu Mar 26 10:41:22 2015 -0400
aacraid: AIF support for SES device add/remove
Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit c3d0dac6935e388547d7b7721e80b9c996eb90a1
Merge: b52e692 23310f6
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Thu Apr 9 18:31:50 2015 -0400
Merge branch 'for-upstream' of
git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
Johan Hedberg says:
====================
pull request: bluetooth-next 2015-04-09
We've had enough new patches during the past week (especially from
Marcel) that it'd be good to still get these queued for 4.1.
The majority of the changes are from Marcel with lots of cleanup &
refactoring patches for the HCI UART driver. Marcel also split out some
Broadcom & Intel vendor specific functionality into two new btintel &
btbcm modules.
In addition to the HCI driver changes there's the completion of our
local OOB data interface for pairing, added support for requesting
remote LE features when connecting, as well as a couple of minor fixes
for mac802154.
Please let me know if there are any issues pulling. Thanks.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b52e69217b5a02469f8431934f59c0d7103dd32f
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Thu Apr 9 14:36:42 2015 -0700
tcp: md5: fix a typo in tcp_v4_md5_lookup()
Lookup key for tcp_md5_do_lookup() has to be taken
from addr_sk, not sk (which can be the listener)
Fixes: fd3a154a00fb ("tcp: md5: get rid of tcp_v[46]_reqsk_md5_lookup()")
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 55db3208f238ee776f1f747734051723d8a3c13e
Author: Sean O. Stalley <sean.stalley@xxxxxxxxx>
Date: Thu Apr 2 14:10:19 2015 -0700
PCI: Read capability list as dwords, not bytes
Reading both the capability ID and "next" pointer at the same time lets us
parse the list with half the number of config reads.
Signed-off-by: Sean O. Stalley <sean.stalley@xxxxxxxxx>
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
commit 2963e3f7e8e3465895897a175560210120b932ac
Author: Jens Axboe <axboe@xxxxxx>
Date: Thu Apr 9 15:54:05 2015 -0600
blk-mq: cleanup blk_mq_rq_to_pdu()
Casting to void and adding the size of the request is "shit code" and
only a "crazy monkey on crack" would write that. So lets clean it up.
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 2e9095234daa5ac3aa5f53f66b00c92d32271343
Merge: 1e53d5b a8373f1
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Thu Apr 9 17:35:37 2015 -0400
Merge branch 'xgbe-next'
Tom Lendacky says:
====================
amd-xgbe: AMD XGBE driver updates 2015-04-09
The following series of patches includes functional updates and changes
to the driver.
- Allow ethtool rx-frames coalescing to be changed while the device is up
- Consolidate initialization routine into the init function
- Add support for the TX watchdog timeout
This patch series is based on net-next.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a8373f1a60d0716e25f5c4cd4d6e3909bfdb41bd
Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx>
Date: Thu Apr 9 12:12:03 2015 -0500
amd-xgbe: Add support for the netdev Tx watchdog
Add support to be able to detect a hung Tx task by adding the netdev
ndo_tx_timeout function callback. Do not set the watchdog_timeo value
so as to use the system default time (currently 5 seconds).
Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b876382bac0fe2ed1129247c47029799bb4d763a
Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx>
Date: Thu Apr 9 12:11:57 2015 -0500
amd-xgbe: Move Rx mode configuration into init
Currently a call to configure the Rx mode (promiscuous mode, all
multicast mode, etc.) is made in xgbe_start separate from the xgbe_init
function. This call to set the Rx mode should be part of the xgbe_init
function so that calls to the init function don't have to be preceded
with calls to configure the Rx mode.
Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8dee19e619bb6d4aefdf0ce5260099fec08601a3
Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx>
Date: Thu Apr 9 12:11:51 2015 -0500
amd-xgbe: Allow rx-frames coalescing to be changed anytime
Currently the device must be down in order to update the rx-frames
coalescing setting because the interrupt indicator is set in the
descriptor data during initialization. Allow this setting to be changed
while the device is up by moving the interrupt decision into the
descriptor reset function and base the decision off of the supplied
descriptor index value.
Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1e53d5bb8878dcbdbffde334ab89b1f57778b48c
Author: Hubert Sokolowski <hubert.sokolowski@xxxxxxxxx>
Date: Thu Apr 9 12:16:17 2015 +0000
net: Pass VLAN ID to rtnl_fdb_notify.
When an FDB entry is added or deleted the information about VLAN
is not passed to listening applications like 'bridge monitor fdb'.
With this patch VLAN ID is passed if it was set in the original
netlink message.
Also remove an unused bdev variable.
Signed-off-by: Hubert Sokolowski <hubert.sokolowski@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b50edd7812852d989f2ef09dcfc729690f54a42d
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Thu Apr 9 13:31:56 2015 -0700
tcp: tcp_make_synack() should clear skb->tstamp
I noticed tcpdump was giving funky timestamps for locally
generated SYNACK messages on loopback interface.
11:42:46.938990 IP 127.0.0.1.48245 > 127.0.0.2.23850: S
945476042:945476042(0) win 43690 <mss 65495,nop,nop,sackOK,nop,wscale 7>
20:28:58.502209 IP 127.0.0.2.23850 > 127.0.0.1.48245: S
3160535375:3160535375(0) ack 945476043 win 43690 <mss
65495,nop,nop,sackOK,nop,wscale 7>
This is because we need to clear skb->tstamp before
entering lower stack, otherwise net_timestamp_check()
does not set skb->tstamp.
Fixes: 7faee5c0d514 ("tcp: remove TCP_SKB_CB(skb)->when")
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b2d5fb97d37fb35708a0811af74d9e76e44d421c
Merge: f22e6e8 f82daee c75de0a c7e8bdf
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Thu Apr 9 23:25:23 2015 +0200
Merge branches 'pm-sleep', 'pm-cpufreq' and 'pm-cpuidle'
* pm-sleep:
Revert "PM / hibernate: avoid unsafe pages in e820 reserved regions"
* pm-cpufreq:
cpufreq: Schedule work for the first-online CPU on resume
* pm-cpuidle:
cpuidle: ACPI: do not overwrite name and description of C0
cpuidle: remove state_count field from struct cpuidle_device
commit 29854a4f7b035204c821a67e4e7a60c6d216b794
Author: Brian King <brking@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 26 11:24:00 2015 -0500
ipr: Driver version 2.6.1
Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit f8ee25d7d2395212ba614ba08c12d1255f612f0e
Author: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 26 11:23:58 2015 -0500
ipr: AF DASD raw mode implementation in ipr driver
This patch implements raw mode support for AF DASD in ipr driver
which allows for tools to send commands directly to physical
devices which are members of RAID arrays when enabled in the firmware.
[jejb: fix up whitespace]
Signed-off-by: Wen Xiong<wenxiong@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Daniel Kreling <kreling@xxxxxxxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit ea30c1deb6c6ccbceb29b6a3d48e1f601aefddf1
Author: Brian King <brking@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 26 11:23:56 2015 -0500
ipr: Re-enable write same
Re-enable write same support for ipr RAID adapters.
Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Daniel Kreling <kreling@xxxxxxxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit a65e8f128eca1efafeb16039650ae36b25cfd0dc
Author: Brian King <brking@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 26 11:23:55 2015 -0500
ipr: Fix possible error path oops during initialization
Fixes a possible oops during adapter initialization in some
memory allocation failure error paths scenarios.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Daniel Kreling <kreling@xxxxxxxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 2796ca5e51737ed0be8ebb6cf73fd56af05da0a7
Author: Brian King <brking@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 26 11:23:52 2015 -0500
ipr: Reset in task context
The pci_set_pcie_reset_state has changed semantics to not be callable
from interrupt context, so change ipr's usage of the API to comply with
this change by ensuring this occurs from a workqueue.
Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Daniel Kreling <kreling@xxxxxxxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 4fdd7c7aabbec3aa9e5dc41c129bc9f6aed7e615
Author: Brian King <brking@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 26 11:23:50 2015 -0500
ipr: Reboot speed improvements
Currently when performing a reboot with an ipr adapter,
the adapter gets shutdown completely, flushing all write
cache, as well as performing a full hardware reset of the card
during the shutdown phase of the old kernel. This ensures
the adapter is in a fully quiesced state across the reboot.
There are scenarios, however, such as when performing
kexec, where this full adapter shutdown is not required
and not desired, since it can make the reboot process take
noticeably longer.
This patch adds a module parameter to allow for skipping the
full shutdown during reboot. Rather than performing a full
adapter shutdown and reset, we simply cancel any outstanding
error buffers, place the adapter into a state where it has no
memory of any DMA addresses from the old kernel, then disable
the device. This significantly speeds up kexec boot, particularly
in configurations with multiple ipr adapters.
Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Daniel Kreling <kreling@xxxxxxxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit be0cf6ca301c61458dc4aa1a37acf4f58d2ed3d6
Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Date: Fri Mar 27 00:27:20 2015 -0700
scsi: storvsc: Set the tablesize based on the information given by the
host
Set the tablesize based on the information given by the host.
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Reviewed-by: Long Li <longli@xxxxxxxxxxxxx>
Tested-by: Long Li <longli@xxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit aaced9934d2231227fec4255f394eb86af818ce2
Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Date: Fri Mar 27 00:27:19 2015 -0700
scsi: storvsc: Don't assume that the scatterlist is not chained
The current code assumes that the scatterlists presented are not chained.
Fix the code to not make this assumption.
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Reviewed-by: Long Li <longli@xxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 8de580742fee8bc34d116f57a20b22b9a5f08403
Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Date: Fri Mar 27 00:27:18 2015 -0700
scsi: storvsc: Fix a bug in copy_from_bounce_buffer()
We may exit this function without properly freeing up the maapings
we may have acquired. Fix the bug.
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Reviewed-by: Long Li <longli@xxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 5117b93696fae092be92acf1b80ae19cb28f4ba3
Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Date: Fri Mar 27 00:27:17 2015 -0700
scsi: storvsc: Retrieve information about the capability of the target
The storage protocol informs the guest of the I/O capabilities of the
storage
stack. Retrieve this information and use it in the guest.
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Reviewed-by: Long Li <longli@xxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 0147dabc4404b3c91d65a47151283d9aa478b666
Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Date: Fri Mar 27 00:27:16 2015 -0700
scsi: storvsc: Always send on the selected outgoing channel
The current code always sent packets without data on the primary channel.
Properly distribute sending of packets with no data amongst all available
channels. I would like to thank Long Li for noticing this problem.
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Reviewed-by: Long Li <longli@xxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit f458aada75891e6e9aff391f8f12a2cb2aac7d58
Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Date: Fri Mar 27 00:27:15 2015 -0700
scsi: storvsc: Size the queue depth based on the ringbuffer size
Size the queue depth based on the ringbuffer size. Also accommodate for
the
fact that we could have multiple channels (ringbuffers) per adaptor.
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Reviewed-by: Long Li <longli@xxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit b9ec3a55389560a13e226c8d835db6bf0b3d61fd
Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Date: Fri Mar 27 00:27:14 2015 -0700
scsi: storvsc: Increase the ring buffer size
Increase the default ring buffer size as this can significantly
improve performance especially on high latency storage back-ends.
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Reviewed-by: Long Li <longli@xxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 114fc1d9a8cc7e8eb34fb3896d908992dac09b58
Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 26 17:51:46 2015 -0700
aic7xxx: replace kmalloc/memset by kzalloc
This replaces kmalloc + memset by a call to kzalloc
This also fixes one checkpatch.pl issue in the process.
This improvement was suggested by "make coccicheck"
Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx>
commit e3dc17a53f9649d0a67ec69ec883e781fa9dd920
Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Date: Thu Apr 9 14:36:52 2015 -0500
PCI: layerscape: Simplify platform_get_resource_byname() failure checking
devm_ioremap_resource() validates the resource it receives, so if we check
for devm_ioremap_resource() failure, we need not check for failure of the
preceding platform_get_resource().
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
commit f76ea574d615cd003b2fc51580006f7dc220897c
Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Date: Thu Apr 9 14:34:10 2015 -0500
PCI: keystone: Don't dereference possible NULL pointer
Check for failure from platform_get_resource() (this check actually
happens
inside devm_ioremap_resource()) before dereferencing the pointer returned
from platform_get_resource().
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
commit 873581698d391ff070fc1eb8fb298c85e873c07c
Author: Jisheng Zhang <jszhang@xxxxxxxxxxx>
Date: Fri Apr 3 21:17:05 2015 +0800
PCI: versatile: Check for devm_ioremap_resource() failures
Check for failure of devm_ioremap_resource().
devm_ioremap_resource() validates the resource it receives, so if we check
for devm_ioremap_resource() failure, we need not check for failure of the
preceding platform_get_resource().
[bhelgaas: changelog]
Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx>
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
commit 387d37577fdd05e9472c20885464c2a53b3c945f
Author: Matthew Garrett <mjg59@xxxxxxxxxx>
Date: Tue Apr 7 11:07:00 2015 -0700
PCI: Don't clear ASPM bits when the FADT declares it's unsupported
Communications with a hardware vendor confirm that the expected behaviour
on systems that set the FADT ASPM disable bit but which still grant full
PCIe control is for the OS to leave any BIOS configuration intact and
refuse to touch the ASPM bits. This mimics the behaviour of Windows.
Signed-off-by: Matthew Garrett <mjg59@xxxxxxxxxx>
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
commit b736a623bd099cdf5521ca9bd03559f3bc7fa31c
Author: Jesse Gross <jesse@xxxxxxxxxx>
Date: Thu Apr 9 11:19:14 2015 -0700
udptunnels: Call handle_offloads after inserting vlan tag.
handle_offloads() calls skb_reset_inner_headers() to store
the layer pointers to the encapsulated packet. However, we
currently push the vlag tag (if there is one) onto the packet
afterwards. This changes the MAC header for the encapsulated
packet but it is not reflected in skb->inner_mac_header, which
breaks GSO and drivers which attempt to use this for encapsulation
offloads.
Fixes: 1eaa8178 ("vxlan: Add tx-vlan offload support.")
Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ca69d7102fde3e22b09536867ba14ace84ea80e1
Merge: 3ab1a30 aadd51a
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Thu Apr 9 14:46:04 2015 -0400
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next
Pablo Neira Ayuso says:
====================
Netfilter updates for net-next
The following patchset contains Netfilter updates for your net-next tree.
They are:
* nf_tables set timeout infrastructure from Patrick Mchardy.
1) Add support for set timeout support.
2) Add support for set element timeouts using the new set extension
infrastructure.
4) Add garbage collection helper functions to get rid of stale elements.
Elements are accumulated in a batch that are asynchronously released
via RCU when the batch is full.
5) Add garbage collection synchronization helpers. This introduces a new
element busy bit to address concurrent access from the netlink API and
the
garbage collector.
5) Add timeout support for the nft_hash set implementation. The garbage
collector peridically checks for stale elements from the workqueue.
* iptables/nftables cgroup fixes:
6) Ignore non full-socket objects from the input path, otherwise cgroup
match may crash, from Daniel Borkmann.
7) Fix cgroup in nf_tables.
8) Save some cycles from xt_socket by skipping packet header parsing when
skb->sk is already set because of early demux. Also from Daniel.
* br_netfilter updates from Florian Westphal.
9) Save frag_max_size and restore it from the forward path too.
10) Use a per-cpu area to restore the original source MAC address when
traffic
is DNAT'ed.
11) Add helper functions to access physical devices.
12) Use these new physdev helper function from xt_physdev.
13) Add another nf_bridge_info_get() helper function to fetch the
br_netfilter
state information.
14) Annotate original layer 2 protocol number in nf_bridge info, instead
of
using kludgy flags.
15) Also annotate the pkttype mangling when the packet travels back and
forth
from the IP to the bridge layer, instead of using a flag.
* More nf_tables set enhancement from Patrick:
16) Fix possible usage of set variant that doesn't support timeouts.
17) Avoid spurious "set is full" errors from Netlink API when there are
pending
stale elements scheduled to be released.
18) Restrict loop checks to set maps.
19) Add support for dynamic set updates from the packet path.
20) Add support to store optional user data (eg. comments) per set
element.
BTW, I have also pulled net-next into nf-next to anticipate the conflict
resolution between your okfn() signature changes and Florian's
br_netfilter
updates.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3ab1a30fbded99936956442d8cf8f379064e4a26
Merge: 9399bdc f56d9e2
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Thu Apr 9 14:43:13 2015 -0400
Merge tag 'wireless-drivers-next-for-davem-2015-04-09' of
git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next
Kalle Valo says:
====================
Major changes:
iwlwifi:
* some more work on LAR
* fixes for UMAC scan
* more work on debugging framework
* more work for 8000 devices
* cleanups and small bugfixes
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 9399bdcbb54b1e224a8532c01d496ada87e526bd
Merge: 6fb8c38 7400599
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Thu Apr 9 14:41:47 2015 -0400
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next
Steffen Klassert says:
====================
pull request (net-next): ipsec-next 2015-04-09
1) Prohibit the use/abuse of the xfrm netlink interface on
32/64 bit compatibility tasks. We need a full compat
layer before we can allow this. From Fan Du.
Please pull or let me know if there are problems.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 634d8ee4de9e41726d4f6f68f57cdd8647b3d204
Merge: 11f17ef 092a29a
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Thu Apr 9 14:39:37 2015 -0400
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec
Steffen Klassert says:
====================
pull request (net): ipsec 2015-04-09
1) We dereferenced the xfrm outer_mode too early, larval
SAs don't have it set. Move the dereference of the
outer mode below the larval SA check to fix it.
From Alexey Dobriyan.
2) Fix vti6 tunnel uninit on namespace crosssing.
From Yao Xiwei.
Please pull or let me know if there are problems.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 11f17ef3154fc8a7876a9ada1d1b80d41106960a
Author: Oliver Neukum <oneukum@xxxxxxx>
Date: Thu Apr 9 10:09:04 2015 +0200
usbnet: rename work handler
"kevent" is an extremely generic name that causes trouble
if debugging for work queues is used. So change it to
something clear.
Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 37a9c502c0af013aaae094556830100c2bb133ac
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Mar 30 10:32:34 2015 +0200
PCI: Clarify policy for vendor IDs in pci.txt
Clarify pci.txt so it matches the "do not add new entries unless they are
shared between multiple drivers" comment in include/linux/pci_ids.h.
[bhelgaas: changelog, strengthen language]
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
commit 6fb8c381a6412981c05741d7d077c3f537eb5d14
Merge: f13b168 c335869
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Thu Apr 9 14:25:26 2015 -0400
Merge branch 'dma_rmb_wmb'
Alexander Duyck says:
====================
Replace wmb()/rmb() with dma_wmb()/dma_rmb() where appropriate, round 2
More cleanup of drivers in order to start making use of dma_rmb and
dma_wmb
calls. This is another pass of what I would consider to be low hanging
fruit. There may be other opportunities to make use of the barriers in
the
Mellanox and Chelsio drivers but I didn't want to risk meddling with code
I
was not completely familiar with so I am leaving that for future work.
I have revisited the Mellanox driver changes. This time around I went
only
for the sections with a clearly defined pattern. For dma_wmb I used it
between accesses of the descriptor bits followed by owner or size. For
dma_rmb I used it to replace rmb following a read of the ownership bit in
the descriptor.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit c335869fb934ebcccab69315f1cbe7b34f6d9414
Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Date: Wed Apr 8 18:49:49 2015 -0700
e100: Use dma_rmb/wmb where appropriate
Reduce the CPU overhead for transmit and receive by using lightweight dma_
barriers instead of full barriers where they are applicable.
Cc: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 67317166dd6e8e78f20768e9f07fcc80846b207b
Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Date: Wed Apr 8 18:49:43 2015 -0700
i40e/i40evf: Use dma_rmb where appropriate
Update i40e and i40evf to use dma_rmb. This should improve performance by
decreasing the barrier overhead on strong ordered architectures.
Cc: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 12b3375f3963536ba3ad47d2db49f72067b4905e
Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Date: Wed Apr 8 18:49:36 2015 -0700
mlx4/mlx5: Use dma_wmb/rmb where appropriate
This patch should help to improve the performance of the mlx4 and mlx5 on
a
number of architectures. For example, on x86 the dma_wmb/rmb equates out
to a barrer() call as the architecture is already strong ordered, and on
PowerPC the call works out to a lwsync which is significantly less
expensive
than the sync call that was being used for wmb.
I placed the new barriers between any spots that seemed to be trying to
order memory/memory reads or writes, if there are any spots that involved
MMIO I left the existing wmb in place as the new barriers cannot order
transactions between coherent and non-coherent memories.
v2: Reduced the replacments to just the spots where I could clearly
identify the usage pattern.
Cc: Amir Vadai <amirv@xxxxxxxxxxxx>
Cc: Ido Shamay <idos@xxxxxxxxxxxx>
Cc: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 019be1cff44bdfed23163be7469419be4f38589b
Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Date: Wed Apr 8 18:49:29 2015 -0700
cxgb3/4/4vf: Update drivers to use dma_rmb/wmb where appropriate
Update the Chelsio Ethernet drivers to use the dma_rmb/wmb calls instead
of
the full barriers in order to improve performance.
Cc: Santosh Raspatur <santosh@xxxxxxxxxxx>
Cc: Hariprasad S <hariprasad@xxxxxxxxxxx>
Cc: Casey Leedom <leedom@xxxxxxxxxxx>
Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 27015f8c17578e14b3c6cc098b915b0f8db3ac36
Author: Phil Reid <preid@xxxxxxxxxxxxxxxxx>
Date: Wed Apr 8 18:41:34 2015 -0700
stmmac: devm_reset_control_get can return PROBE_DEFER
In socfpga_dwmac_parse_data forward error code from
devm_reset_control_get.
This gives the driver another chance to laod if altr,rst-mgr is loaded
after
the network driver.
Signed-off-by: Phil Reid <preid@xxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 23310f6f3a8f30f4b6794e941763da4708f7471a
Author: Varka Bhadram <varkabhadram@xxxxxxxxx>
Date: Thu Apr 9 13:55:11 2015 +0530
mac802154: fix transmission power datatype
Netlink attribute for the power is s8. But for the driver level
operations we are collection power level value into integer.
It has to be change to s8 from int.
Signed-off-by: Varka Bhadram <varkab@xxxxxxx>
Acked-by: Alexander Aring <alex.aring@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 3cfb2f7976a2f9cfe48eda4e6d7e4ce74fee09e3
Merge: 20624d1 d10b730
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 9 10:17:44 2015 -0700
Merge tag 'pci-v4.0-fixes-3' of
git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI fixes from Bjorn Helgaas:
"Here are some fixes for v4.0. I apologize for how late they are. We
were hoping for some better fixes, but couldn't get them polished in
time. These fix:
- a Xen domU oops with PCI passthrough devices
- a sparc T5 boot failure
- a STM SPEAr13xx crash (use after initdata freed)
- a cpcihp hotplug driver thinko
- an AER thinko that printed stack junk
Details:
Enumeration
- Don't look for ACPI hotplug parameters if ACPI is disabled (Bjorn
Helgaas)
Resource management
- Revert "sparc/PCI: Clip bridge windows to fit in upstream windows"
(Bjorn Helgaas)
AER
- Avoid info leak in __print_tlp_header() (Rasmus Villemoes)
PCI device hotplug
- Add missing curly braces in cpci_configure_slot() (Dan Carpenter)
ST Microelectronics SPEAr13xx host bridge driver
- Drop __initdata from spear13xx_pcie_driver (Matwey V. Kornilov)
* tag 'pci-v4.0-fixes-3' of
git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
Revert "sparc/PCI: Clip bridge windows to fit in upstream windows"
PCI: Don't look for ACPI hotplug parameters if ACPI is disabled
PCI: cpcihp: Add missing curly braces in cpci_configure_slot()
PCI/AER: Avoid info leak in __print_tlp_header()
PCI: spear: Drop __initdata from spear13xx_pcie_driver
commit e0c9c0afd2fc958ffa34b697972721d81df8a56f
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date: Wed Apr 1 18:30:06 2015 -0500
mnt: Update detach_mounts to leave mounts connected
Now that it is possible to lazily unmount an entire mount tree and
leave the individual mounts connected to each other add a new flag
UMOUNT_CONNECTED to umount_tree to force this behavior and use
this flag in detach_mounts.
This closes a bug where the deletion of a file or directory could
trigger an unmount and reveal data under a mount point.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
commit f53e57975151f54ad8caa1b0ac8a78091cd5700a
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date: Mon Jan 19 11:48:45 2015 -0600
mnt: Fix the error check in __detach_mounts
lookup_mountpoint can return either NULL or an error value.
Update the test in __detach_mounts to test for an error value
to avoid pathological cases causing a NULL pointer dereferences.
The callers of __detach_mounts should prevent it from ever being
called on an unlinked dentry but don't take any chances.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
commit ce07d891a0891d3c0d0c2d73d577490486b809e1
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date: Tue Dec 23 21:37:03 2014 -0600
mnt: Honor MNT_LOCKED when detaching mounts
Modify umount(MNT_DETACH) to keep mounts in the hash table that are
locked to their parent mounts, when the parent is lazily unmounted.
In mntput_no_expire detach the children from the hash table, depending
on mnt_pin_kill in cleanup_mnt to decrement the mnt_count of the children.
In __detach_mounts if there are any mounts that have been unmounted
but still are on the list of mounts of a mountpoint, remove their
children from the mount hash table and those children to the unmounted
list so they won't linger potentially indefinitely waiting for their
final mntput, now that the mounts serve no purpose.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
commit 820f9f147dcce2602eefd9b575bbbd9ea14f0953
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date: Thu Apr 2 16:35:48 2015 -0500
fs_pin: Allow for the possibility that m_list or s_list go unused.
This is needed to support lazily umounting locked mounts. Because the
entire unmounted subtree needs to stay together until there are no
users with references to any part of the subtree.
To support this guarantee that the fs_pin m_list and s_list nodes
are initialized by initializing them in init_fs_pin allowing
for the possibility that pin_insert_group does not touch them.
Further use hlist_del_init in pin_remove so that there is
a hlist_unhashed test before the list we attempt to update
the previous list item.
Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
commit 6a46c5735c29175da55b2fa9d53775182422cdd7
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date: Thu Jan 15 22:58:33 2015 -0600
mnt: Factor umount_mnt from umount_tree
For future use factor out a function umount_mnt from umount_tree.
This function unhashes a mount and remembers where the mount
was mounted so that eventually when the code makes it to a
sleeping context the mountpoint can be dput.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
commit 7bdb11de8ee4f4ae195e2fa19efd304e0b36c63b
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date: Mon Dec 29 13:03:41 2014 -0600
mnt: Factor out unhash_mnt from detach_mnt and umount_tree
Create a function unhash_mnt that contains the common code between
detach_mnt and umount_tree, and use unhash_mnt in place of the common
code. This add a unncessary list_del_init(mnt->mnt_child) into
umount_tree but given that mnt_child is already empty this extra
line is a noop.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
commit cd4a40174b71acd021877341684d8bb1dc8ea4ae
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date: Wed Jan 7 14:28:26 2015 -0600
mnt: Fail collect_mounts when applied to unmounted mounts
The only users of collect_mounts are in audit_tree.c
In audit_trim_trees and audit_add_tree_rule the path passed into
collect_mounts is generated from kern_path passed an audit_tree
pathname which is guaranteed to be an absolute path. In those cases
collect_mounts is obviously intended to work on mounted paths and
if a race results in paths that are unmounted when collect_mounts
it is reasonable to fail early.
The paths passed into audit_tag_tree don't have the absolute path
check. But are used to play with fsnotify and otherwise interact with
the audit_trees, so again operating only on mounted paths appears
reasonable.
Avoid having to worry about what happens when we try and audit
unmounted filesystems by restricting collect_mounts to mounts
that appear in the mount tree.
Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
commit 0a1f00a1c86421cc07cec87011c7cf4df68ee54b
Author: Michal Marek <mmarek@xxxxxxx>
Date: Wed Apr 8 13:30:42 2015 +0200
kconfig: Do not print status messages in make -s mode
Add an -s option to the various frontends and pass it when make -s is
used. Also, use $(kecho) instead of @echo in the Makefile.
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit 3dc8523fa7412e731441c01fb33f003eb3cfece1
Author: Dmitry M. Fedin <dmitry.fedin@xxxxxxxxx>
Date: Thu Apr 9 17:37:03 2015 +0300
ALSA: usb - Creative USB X-Fi Pro SB1095 volume knob support
Adds an entry for Creative USB X-Fi to the rc_config array in
mixer_quirks.c to allow use of volume knob on the device.
Adds support for newer X-Fi Pro card, known as "Model No. SB1095"
with USB ID "041e:3237"
Signed-off-by: Dmitry M. Fedin <dmitry.fedin@xxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit e52786ac3ca721636a6fb0ae88521f5b9ece88a3
Author: Julia Lawall <Julia.Lawall@xxxxxxx>
Date: Sat Apr 4 16:59:29 2015 +0200
clk: versatile: test returned value
Put NULL test on the result of the previous call instead on one of its
arguments. A simplified version of the semantic match that finds this
problem is as follows (http://coccinelle.lip6.fr/):
// <smpl>
r@
expression *e1;
expression *e2;
identifier f;
statement S1,S2;
@@
e1 = f(...,e2,...);
(
if (e1 == NULL || ...) S1 else S2
|
*if (e2 == NULL || ...) S1 else S2
)
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
commit f83a9cb6228472a464c2ab4abb9bd1e83939aec2
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Tue Mar 31 09:31:34 2015 -0700
hwmon: (it87) Use feature macros on sio_data
Feature macros work on sio_data as well, so use them there.
Reviewed-by: Jean Delvare <jdelvare@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
commit cfd3113e7cc358b68bc13a2ca46714b0445dca56
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Thu Apr 9 15:23:59 2015 +0200
ALSA: hda/via - Add missing stream_pm ops setup
Similar like the case for Realtek, VIA codec driver needs this ops as
well for making the widget power-save working.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 6553bf06a369683408895b87e5172aa99a9266bd
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Thu Apr 9 10:52:38 2015 +0200
ASoC: Don't try to register debugfs entries if the parent does not exist
If the registration of a debugfs directory fails this is treated as a
non-fatal error in ASoC and operation continues as normal. This means we
need to be careful and check if the parent debugfs directory exists if we
try to register a debugfs file or sub-directory. Otherwise we might end up
passing NULL for the parent and the file or directory will be registered
in
the top-level debugfs directory.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 64b4e2526d1cf6e6a4db6213d6e2b6e6ab59479a
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 8 17:00:32 2015 -0400
ocfs2: _really_ sync the right range
"ocfs2 syncs the wrong range" had been broken; prior to it the
code was doing the wrong thing in case of O_APPEND, all right,
but _after_ it we were syncing the wrong range in 100% cases.
*ppos, aka iocb->ki_pos is incremented prior to that point,
so we are always doing sync on the area _after_ the one we'd
written to.
Spotted by Joseph Qi <joseph.qi@xxxxxxxxxx> back in January;
unfortunately, I'd missed his mail back then ;-/
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit be8e58d93fba531b12ef2fce4fb33c9c5fb5b69f
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
Date: Thu Apr 9 07:33:45 2015 -0300
Revert "[media] Add device tree support to adp1653 flash driver"
As requested by Sakari:
"The driver changes are still being reviewed.
It's been proposed that the max-microamp property be renamed."
So, as the DT bindings are not agreed upstream yet, let's revert
it.
Requested-by: Sakari Ailus <sakari.ailus@xxxxxx>
This reverts commit b6100f10bdc2019a65297d2597c388de2f7dd653.
commit 2e55b90a5e234524f8195c657006ec4f71103dff
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Thu Apr 9 10:52:37 2015 +0200
ASoC: Make soc_dpcm_debugfs_add() non-fatal
Failing to register the debugfs entries is not fatal and will not affect
normal operation of the sound card. Don't abort the card registration if
soc_dpcm_debugfs_add() fails.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit d53d59ecad74f3e90c6eefedd2186abbadd64d7c
Author: Bard Liao <bardliao@xxxxxxxxxxx>
Date: Thu Apr 9 11:20:32 2015 +0800
ASoC: rt286: Restore default in probe
RT286 can't do register reset. If the hardware power is still existing
in power off, rt286 will keep the register settings. So, we need to
restore the default register value in probe to make sure the cache value
is the same as the real register value.
Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit e3e29f990cc77c5b23280c77275812a3f010cc41
Author: Ley Foon Tan <lftan@xxxxxxxxxx>
Date: Thu Apr 9 18:28:05 2015 +0800
nios2: add missing ptrace registers defines
These are all register available in nios2.
Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx>
commit 0757d834eb7482e5763fb9ee014abb50789f906a
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Thu Apr 9 10:52:36 2015 +0200
ASoC: Create card debugfs directory earlier
Create the card debugfs directory at the begining of the initilization
rather then the end as various steps in the initilization sequence will
try
to register files and sub-directories in the card directory.
Fixes: 4e2576bd36a1 ("ASoC: soc-core: initialize debugfs in
snd_soc_instantiate_card()")
Reported-by: Fabio Estevam <festevam@xxxxxxxxx>
Reported-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx>
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 95a9ca74768089d89c17ba958d6f009aa9c18525
Merge: 4e2576b f22e6e8
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Thu Apr 9 11:23:57 2015 +0100
Merge tag 'v4.0-rc7' into asoc-core
Linux 4.0-rc7
commit cffd39668177afe5566104a2f289242c3c5ce3d1
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Thu Apr 9 10:30:25 2015 +0200
ALSA: hda/realtek - Fix the regression by widget power-saving
While enabling the widget power-saving for ALC269 & co, the important
setup was forgotten -- stream_pm ops. Without this setup, the paths
for PCM won't be powered up at all.
Also, the power_filter callbacks used in ALC269 & co need to chain to
the default snd_hda_gen_path_power_filter().
Tested-by: Hui Wang <hui.wang@xxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 75afbd052b3675e9b812f9327e19be63f3e7b5de
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Thu Apr 9 12:02:39 2015 +0300
ASoC: Intel: do cast earlier in sst_cdev_tstamp()
My static checker complains about these because it looks like the
multiply can overflow and then we cast to a larger data type. I don't
think this is a problem, but it's also harmless to do the cast earlier
so let's silence the static checker warning.
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit b1f85c0fec20e6cde2a511345f24f6133f247e70
Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Date: Wed Jan 21 18:06:08 2015 +0300
backlight: da9052_bl: Terminate da9052_wled_ids array with empty element
Array of platform_device_id elements should be terminated
with empty element.
Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit c6f77bc2b3f9512fd8d637a45060408061a035a9
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Wed Jan 14 14:51:59 2015 +0100
backlight: 88pm860x_bl: Use of_get_child_by_name() instead of refcount
hack
of_find_node_by_name() calls of_node_put() on its "from" parameter.
To counter this, pm860x_backlight_dt_init() calls of_node_get() first.
Use of_get_child_by_name() instead to get rid of the refcount hack.
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit e554a99ee8d09132e80dc467433c9a4df9054645
Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Date: Thu Apr 2 16:36:15 2015 +0200
mfd: sec: Fix RTC alarm interrupt number on S2MPS11
The RTC on S2MPS11 is the same as S2MPS14. However interrupt numbers of
RTC alarms 0 and 1 were inversed between these two devices. So when
rtc-s5m driver requested S2MPS14_IRQ_RTCA0 interrupt, it matched to
S2MPS11_IRQ_RTCA1, not RTCA0.
Fix this by using consistent RTC alarm interrupt numbers and adding a
BUILD_BUG_ON for future generations.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit dcbbcba92601dc05e5c9a844cb35a9112cb7d7ad
Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 18:25:59 2015 +0100
mfd: wm5102: Remove registers for output 3R from readable list
The earpiece on 5102 is mono, thus there is no output 3R. Remove the
registers associated with the unused right channel from the readable
registers list.
Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit bb733707913389d77223fa3b2849b41ab540f69b
Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Date: Mon Mar 9 10:47:15 2015 -0700
mfd: tps65010: Remove incorrect __exit markups
Even if bus is not hot-pluggable, the devices can be unbound from the
driver via sysfs, so we should not be using __exit annotations on
remove() methods. The only exception is drivers registered with
platform_driver_probe() which specifically disables sysfs bind/unbind
attributes.
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit 8d2f1a9d36f270b28cca960510f293f2b9eb905d
Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Date: Mon Apr 6 16:33:56 2015 -0700
mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes
Add the regulator subnodes to the Qualcomm RPM MFD device tree bindings.
Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit bdb01f78235537e6eee3bb8a985e2af00058c4db
Author: Ramakrishna Pallala <ramakrishna.pallala@xxxxxxxxx>
Date: Fri Apr 3 00:49:47 2015 +0530
mfd: axp20x: Add support for extcon cell
This patch adds the mfd cell info for axp288 extcon device.
Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@xxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit 72715757880b36bdd7ff67f768a31324ee31c156
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Tue Mar 31 14:47:29 2015 +0300
mfd: lpc_ich: Sort IDs
The patch sorts IDs in the table for easier maintenance. There is no
functional change.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit b44915927ca88084a7292e4ddd4cf91036f365e1
Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx>
Date: Thu Apr 9 10:51:48 2015 +0200
x86/iommu: Fix header comments regarding standard and _FINISH macros
The comment line regarding IOMMU_INIT and IOMMU_INIT_FINISH
macros is incorrect:
"The standard vs the _FINISH differs in that the _FINISH variant
will continue detecting other IOMMUs in the call list..."
It should be "..the *standard* variant will continue
detecting..."
Fix that. Also, make it readable while at it.
Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx>
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: konrad.wilk@xxxxxxxxxx
Fixes: 6e9636693373 ("x86, iommu: Update header comments with appropriate
naming")
Link:
http://lkml.kernel.org/r/1428508017-5316-1-git-send-email-Aravind.Gopalakrishnan@xxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 549c5dc19ee33f4af5a343884c3a559adc53a44c
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Thu Apr 9 10:32:50 2015 +0200
gpio: dwapb: remove dependencies
The Synopsys DesignWare DWAPB GPIO block is popular to
synthesize amongst many architectures: X86, ARM, ARC.
The driver was restricted to only these archs due to
using [read|write]l_relaxed() accessors that were not
universally available in the past,
but as of commit 9439eb3ab9d1ece6e4ad7baaa4a7f534f9b9dab0
"asm-generic: io: implement relaxed accessor macros as
conditional wrappers" these accessors are available on all
archs so this should not be a problem any more. Enable the
driver for all archs.
Cc: Alexey Brodkin <Alexey.Brodkin@xxxxxxxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 24fef9022a83d789ee372a393ea4782dc22b9b51
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Thu Apr 9 10:28:15 2015 +0200
ALSA: hda/generic - Don't override power_filter when power_save_node is
set
Currently the generic parser sets codec->power_filter when
power_save_node flag is set. But this overrides the existing filter
that has been already set by the codec driver, thus it looses some
features. Instead, set the default power_filter only when it's not
set yet.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit b6c09b3c7b54743cbc58af8c27bbae8299c4f8cc
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Thu Apr 9 10:25:03 2015 +0200
ALSA: hda/generic - Make snd_hda_gen_path_power_filter() always applicable
Add the check of power_save_node flag at the beginning of the function
so that it skips the rest if the flag isn't set. In this way, we can
call this function safely no matter whether the widget power-saving is
really used or not.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit d5ac0100a9027bdf488cf20247b1041f26f796f3
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Thu Apr 9 10:21:30 2015 +0200
ALSA: hda/generic - Fix wrong initial power state for fixed pins
When the widget power-saving is enabled, the first automute hook
invocation checks through the whole pins and it also tries to
synchronize the power state. However, this results in a wrong state
because it calls unconditionally snd_hda_jack_detect_state().
This patch adds a check of jack detectability before the actual jack
detection call.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 2206dc949286fe0010c69213d3d8b4c53e6a2295
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Thu Apr 9 10:18:31 2015 +0200
ALSA: hda/generic - Check power state cap at updating the widget power
The new widget power-saving tries to apply the power change no matter
whether the node has a power cap or not. It's bad (although most of
codecs chip just ignore it). Check the capability properly
beforehand.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit a37f34a325d90856314ccd4994e1070dcc6bdcc4
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Tue Apr 7 22:43:44 2015 +0200
x86/asm/entry/64: Reduce padding in execve stubs
execve stubs are 7 bytes only. Padding them to 16 bytes is a
waste.
text data bss dec hex filename
12594 0 0 12594 3132 entry_64.o.before
12530 0 0 12530 30f2 entry_64.o
Run-tested.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428439424-7258-8-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 54a81e914b2432a86dd49cf611b0f71ef44ca7ad
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Tue Apr 7 22:43:43 2015 +0200
x86/asm/entry/64: Remove GET_THREAD_INFO() in ret_from_fork
It used to be used to check for _TIF_IA32, but the check has
been removed.
Remove GET_THREAD_INFO() too.
Run-tested.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428439424-7258-7-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 66ad4efa51805964521db03d8aa827a8dd9058b9
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Tue Apr 7 22:43:42 2015 +0200
x86/asm/entry/64: Simplify jumps in ret_from_fork
Replace
test
jz 1f
jmp label
1:
with
test
jnz label
Run-tested.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428439424-7258-6-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a30b0085f54efae11f6256df4e4a16af7eefc1c4
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Tue Apr 7 22:43:41 2015 +0200
x86/asm/entry/64: Remove a redundant jump
Jumping to the very next instruction is not very useful:
jmp label
label:
Removing the jump.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428439424-7258-5-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 772951c4e4b06cdffeff499259dba07b544f3166
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Tue Apr 7 22:43:40 2015 +0200
x86/asm/entry/64: Optimize [v]fork/clone stubs
Replace "call func; ret" with "jmp func".
Run-tested.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428439424-7258-4-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 0f90fb979d7b53d80a6d5cb6e127b4b4b249907e
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Tue Apr 7 22:43:39 2015 +0200
x86/asm/entry: Zero EXTRA_REGS for stub32_execve() too
The change which affected how execve clears EXTRA_REGS missed
32-bit execve syscalls.
Fix this by using 64-bit execve stub epilogue for them too.
Run-tested.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428439424-7258-3-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 05f1752d195c145d02ae40881d0985c2cfbee473
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Tue Apr 7 22:43:38 2015 +0200
x86/asm/entry/64: Move stub_x32_execvecloser() to stub_execveat()
This is a preparatory patch for moving stub32_execve[at]() to this
file. It makes sense to have all execve stubs in one place, so
that they can reuse code.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428439424-7258-2-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 31f0119b817f6474a7b4c48fed7588af1b62c543
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Tue Apr 7 22:43:37 2015 +0200
x86/asm/entry/64: Use common code for rt_sigreturn() epilogue
Similarly to stub_execve, we can reuse the epilogue in
stub_rt_sigreturn() and stub_x32_rt_sigreturn().
Add a comment explaining why we can't eliminage SAVE_EXTRA_REGS
here.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428439424-7258-1-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 1dfe0d159dc7f7b6d1734b2010aabda2bbe87d5a
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Wed Apr 23 23:13:01 2014 +0200
pinctrl: sirf: move sgpio lock into state container
Instead of referring to a global static variable for the sgpio
locking, use the state container to contain the lock.
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit ccd6da2ab81815e03c0713069597a8fc8f6f8431
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Thu Apr 9 00:35:19 2015 -0700
Bluetooth: btusb: Use proper data structures for Intel vendor events
The Intel vendors events indicating firmware loading result and the
bootup of the operational firmware are currently hardcoded byte
comparisons. So intead of doing that, provide proper data structures
and actually use them.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 58995a9a5b292458f94a2356b8c878230fa56fe0
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Thu Apr 9 13:51:32 2015 +1000
powerpc, jump_label: Include linux/jump_label.h to get HAVE_JUMP_LABEL
define
Commit 1bc9e47aa8e4 ("powerpc/jump_label: Use HAVE_JUMP_LABEL")
converted uses of CONFIG_JUMP_LABEL to HAVE_JUMP_LABEL in
some assembly files.
HAVE_JUMP_LABEL is defined in linux/jump_label.h, so we need to
include this or we always get the non jump label fallback code.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: benh@xxxxxxxxxxxxxxxxxxx
Cc: catalin.marinas@xxxxxxx
Cc: davem@xxxxxxxxxxxxx
Cc: heiko.carstens@xxxxxxxxxx
Cc: jbaron@xxxxxxxxxx
Cc: linux@xxxxxxxxxxxxxxxx
Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
Cc: liuj97@xxxxxxxxx
Cc: mgorman@xxxxxxx
Cc: mmarek@xxxxxxx
Cc: paulus@xxxxxxxxx
Cc: ralf@xxxxxxxxxxxxxx
Cc: rostedt@xxxxxxxxxxx
Cc: schwidefsky@xxxxxxxxxx
Cc: will.deacon@xxxxxxx
Fixes: 1bc9e47aa8e4 ("powerpc/jump_label: Use HAVE_JUMP_LABEL")
Link:
http://lkml.kernel.org/r/1428551492-21977-3-git-send-email-anton@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit c0ccf6f99e3a43b87980c9df7da48427885206d0
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Thu Apr 9 13:51:31 2015 +1000
jump_label: Allow jump labels to be used in assembly
To use jump labels in assembly we need the HAVE_JUMP_LABEL
define, so we select a fallback version if the toolchain does
not support them.
Modify linux/jump_label.h so it can be included by assembly
files. We also need to add -DCC_HAVE_ASM_GOTO to KBUILD_AFLAGS.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: benh@xxxxxxxxxxxxxxxxxxx
Cc: catalin.marinas@xxxxxxx
Cc: davem@xxxxxxxxxxxxx
Cc: heiko.carstens@xxxxxxxxxx
Cc: jbaron@xxxxxxxxxx
Cc: linux@xxxxxxxxxxxxxxxx
Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
Cc: liuj97@xxxxxxxxx
Cc: mgorman@xxxxxxx
Cc: mmarek@xxxxxxx
Cc: mpe@xxxxxxxxxxxxxx
Cc: paulus@xxxxxxxxx
Cc: ralf@xxxxxxxxxxxxxx
Cc: rostedt@xxxxxxxxxxx
Cc: schwidefsky@xxxxxxxxxx
Cc: will.deacon@xxxxxxx
Link:
http://lkml.kernel.org/r/1428551492-21977-2-git-send-email-anton@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 55dd0df781e58ec23d218376ea4a676e7362a98c
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Thu Apr 9 13:51:30 2015 +1000
jump_label: Allow asm/jump_label.h to be included in assembly
Wrap asm/jump_label.h for all archs with #ifndef __ASSEMBLY__.
Since these are kernel only headers, we don't need #ifdef
__KERNEL__ so can simplify things a bit.
If an architecture wants to use jump labels in assembly, it
will still need to define a macro to create the __jump_table
entries (see ARCH_STATIC_BRANCH in the powerpc asm/jump_label.h
for an example).
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: benh@xxxxxxxxxxxxxxxxxxx
Cc: catalin.marinas@xxxxxxx
Cc: davem@xxxxxxxxxxxxx
Cc: heiko.carstens@xxxxxxxxxx
Cc: jbaron@xxxxxxxxxx
Cc: linux@xxxxxxxxxxxxxxxx
Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
Cc: liuj97@xxxxxxxxx
Cc: mgorman@xxxxxxx
Cc: mmarek@xxxxxxx
Cc: mpe@xxxxxxxxxxxxxx
Cc: paulus@xxxxxxxxx
Cc: ralf@xxxxxxxxxxxxxx
Cc: rostedt@xxxxxxxxxxx
Cc: schwidefsky@xxxxxxxxxx
Cc: will.deacon@xxxxxxx
Link:
http://lkml.kernel.org/r/1428551492-21977-1-git-send-email-anton@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 94910d419a506a8e21333cc87ffb80db8b89d88a
Author: Varka Bhadram <varkab@xxxxxxx>
Date: Thu Apr 9 12:05:43 2015 +0530
mac802154: fix typo for device
Signed-off-by: Varka Bhadram <varkab@xxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 8d86e4fcccf61bafe54212f6ea9fb47a455abc56
Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Date: Wed Apr 8 10:17:44 2015 -0300
mmc: sdhci-esdhc-imx: Call mmc_of_parse()
Currently it is not possible to use 'mmc-pwrseq-simple' property with this
driver because mmc_of_parse() is never called.
mmc_of_parse() calls mmc_pwrseq_alloc() that manages MMC power sequence
and
allows passing GPIOs in the devicetree to properly power/reset the Wifi
chipset.
When using mmc_of_parse() we no longer need to have custom code to request
card-detect and write-protect pins, as this can now be handled by the mmc
core.
Tested on a imx6sl-warp board where BT/Wifi is functional and also on a
imx6q-sabresd.
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 49ba030221d23ad8e35deb66b74873b852f4d7bf
Author: Doug Anderson <dianders@xxxxxxxxxxxx>
Date: Fri Apr 3 11:13:07 2015 -0700
mmc: dw_mmc: Add locking around cmd11 timer
It is possible for the cmd11 interrupt to fire and delete the
cmd11_timer before the cmd11_timer was actually setup. Let's fix this
race by adding a few spinlocks. Note that the race wasn't seen in
practice without adding some printk statements, but it still seems
wise to fix.
Fixes: 5c935165da79 ("mmc: dw_mmc: Add a timeout for sending CMD11")
Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx>
Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit fd6741983386a7ec1c707a4c93e7a26e383cc571
Author: Doug Anderson <dianders@xxxxxxxxxxxx>
Date: Fri Apr 3 11:13:06 2015 -0700
mmc: dw_mmc: Add a return in an unexpected cmd11 timeout
If we get an unexpected cmd11 timeout we shouldn't actually treat it
as a timeout (not that we really expect to get an unexpected cmd11
timeout, but still).
Fixes: 5c935165da79 ("mmc: dw_mmc: Add a timeout for sending CMD11")
Reported-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx>
Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 8886a6fd19775eb43b7834850d0ad3f749b70053
Author: Doug Anderson <dianders@xxxxxxxxxxxx>
Date: Fri Apr 3 11:13:05 2015 -0700
mmc: dw_mmc: Increase cmd11 timeout to 500ms
Although the cmd11 interrupt should come within 2ms, that's a very
short time. Let's increase the timeout to be really sure that we
don't get an accidnetal timeout. One case in particular this is
useful is if you've got a serial console and printk in just the right
places. Under that scenario I've seen delays of up to 130ms before
the interrupt fired.
CMD11 is only sent during card insertion, so this extra timeout
shouldn't be terrible.
Fixes: 5c935165da79 ("mmc: dw_mmc: Add a timeout for sending CMD11")
Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx>
Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 76184ac17edf3c640390b0eddc3aa7be1095fb9f
Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 11:27:52 2015 +0000
mmc: dw_mmc: fix fifo ordering in big endian
The dw_mmc driver changes to make the IO accesors endian agnostic did not
take into account the fifo accesses do not need to be swapped. To fix this
add a mmci_fifo_read/write wrapper to allow these to be passed through the
IO without being swapped.
Since these are now specific functions, it would be easier just to store
the pointer to the fifo registers in the host block instead of the offset
to them. So change the host->data_offset to host->fifo_reg (which also
means we catch all the places this is read or written).
Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 6687c42fa71acd6ae39608c5af4146c82bd0c0ea
Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 11:27:51 2015 +0000
mmc: dw_mmc: change idmac descriptor files to __le32
The dw_mmc driver does not take into account the processor may be in
big endian when writing the descriptors. Change the descriptors for
the 32bit IDMA to use __le32 and ensure they are suitably swapped
before writing.
Note, this has not been tested as the socfpga driver does not try to
use idma.
Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit a2f17680f42878ee8d55a5e66c1466465a412f62
Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 11:27:50 2015 +0000
mmc: dw_mmc: make IO accessors endian agnostic
The dw_mmc driver does not use endian agnostic IO accessors, so fix
the use of __raw reads and writes to be the relaxed versions.
This fixes the dw_mmc driver initialisation on Altera socfpga in big
endian.
Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 9efe2731db3a8944d26233bb47532011411810fb
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Thu Apr 9 07:58:46 2015 +0200
ALSA: hda - Always allow access for POWER_STATE verbs via regmap
The hdac regmap code checks whether the codec is powered on while
accessing, but there must be an exception -- the verbs to control the
power state.
Currently HD-audio driver doesn't access them via regmap, so this
patch doesn't fix any current behavior, but it's just for future.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 01ac33c1f907b366dcc50551316b372f1519cca9
Author: Jason Low <jason.low2@xxxxxx>
Date: Wed Apr 8 12:39:19 2015 -0700
locking/mutex: Further simplify mutex_spin_on_owner()
Similar to what Linus suggested for rwsem_spin_on_owner(), in
mutex_spin_on_owner() instead of having while (true) and
breaking out of the spin loop on lock->owner != owner, we can
have the loop directly check for while (lock->owner == owner) to
improve the readability of the code.
It also shrinks the code a bit:
text data bss dec hex filename
3721 0 0 3721 e89 mutex.o.before
3705 0 0 3705 e79 mutex.o.after
Signed-off-by: Jason Low <jason.low2@xxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Aswin Chandramouleeswaran <aswin@xxxxxx>
Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428521960-5268-2-git-send-email-jason.low2@xxxxxx
[ Added code generation info. ]
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 0fe29fd1cd77ffbdb8e36ec1715868d9d8011c9b
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Wed Apr 8 09:05:27 2015 -0700
Bluetooth: Read LE remote features during connection establishment
When establishing a Bluetooth LE connection, read the remote used
features mask to determine which features are supported. This was
not really needed with Bluetooth 4.0, but since Bluetooth 4.1 and
also 4.2 have introduced new optional features, this becomes more
important.
This works the same as with BR/EDR where the connection enters the
BT_CONFIG stage and hci_connect_cfm call is delayed until the remote
features have been retrieved. Only after successfully receiving the
remote features, the connection enters the BT_CONNECTED state.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 8416915c16d4335980c5d5d6d39957adbfe40b55
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Wed Apr 8 21:02:47 2015 -0700
hwmon: (ibmpowernv) Fix build error seen for some configurations
Fix
drivers/hwmon/ibmpowernv.c: In function 'get_logical_cpu':
drivers/hwmon/ibmpowernv.c:121:3:
error: implicit declaration of function 'get_hard_smp_processor_id'
seen for some configurations, possibly if SMP is not configured.
Fixes: 3df2f59f0aae ("hwmon: (ibmpowernv) pretty print labels")
Cc: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
commit 6aa248145ab0b1809de2411cf129ec1fc315a46f
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 19:56:16 2015 -0400
switch kernel_sendmsg() and kernel_recvmsg() to iov_iter_kvec()
For kernel_sendmsg() that eliminates the need to play with setfs();
for kernel_recvmsg() it does *not* - a couple of callers are using
it with non-NULL ->msg_control, which would be treated as userland
address on recvmsg side of things.
In all cases we are really setting a kvec-backed iov_iter, though.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit da18428498fb24438a23d982259461fe22bc1f46
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 19:29:06 2015 -0400
net: switch importing msghdr from userland to {compat_,}import_iovec()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 602bd0e90e14c0b50246b361290dbbbe551ada98
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 19:12:32 2015 -0400
net: switch sendto() and recvfrom() to import_single_range()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit fe3cce2e01ef7a2796c9674b1ec3a28a85f53547
Merge: 237dae8 bc917be
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 9 00:02:06 2015 -0400
Merge branch 'iov_iter' into for-davem
commit 237dae889051ed4ebf438b08ca6c0e7c54b97774
Merge: 7abccdb e2e40f2
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 9 00:00:30 2015 -0400
Merge branch 'iocb' into for-davem
trivial conflict in net/socket.c and non-trivial one in crypto -
that one had evaded aio_complete() removal.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit e76ea26142821894bf78b0b311c8f7aceff0aa9b
Author: Nishanth Menon <nm@xxxxxx>
Date: Wed Apr 8 18:23:52 2015 -0500
hwmon: (gpio-fan) Move the thermal registration after registration is
complete
Thermal framework may already be ready and cooling policies might
already be functional when we are attempting to register gpio fan as
a cooling device. This can be reproduced by changing probe order in
which registration of various modules are done in a system. In such
a case, kernel generates an oops since the data structures are not
completely populated with the wrong assumption that thermal framework
is not yet ready. Fix this by reordering the thermal framework
registration to occur after hwmon registration of the fan is complete.
Example kernel oops:
[ 149.005828] Unable to handle kernel NULL pointer dereference at
virtual address 0000008c
[ 149.014369] pgd = ecf48000
[ 149.017204] [0000008c] *pgd=ac065831, *pte=00000000, *ppte=00000000
[ 149.023820] Internal error: Oops: 17 [#1] SMP ARM
[ 149.028745] Modules linked in: gpio_fan(+) cpufreq_dt ipv6 evdev
leds_gpio led_class omap_wdt phy_omap_usb2 rtc_palmas palmas_pwrbutton tmp102
ti_soc_thermal dwc3_omap thermal_sys extcon rtc_omap rtc_ds1307 hwmon
[ 149.048629] CPU: 1 PID: 1183 Comm: modprobe Not tainted
4.0.0-rc7-next-20150407-00002-g7a82da074c99 #3
[ 149.058383] Hardware name: Generic DRA74X (Flattened Device Tree)
[ 149.064763] task: edec1240 ti: ec0e0000 task.ti: ec0e0000
[ 149.070421] PC is at dev_driver_string+0x0/0x38
[ 149.075165] LR is at __dev_printk+0x24/0x70
[ 149.079540] pc : [<c03d6cd0>] lr : [<c03d72c4>] psr: 20000013
[ 149.079540] sp : ec0e1c28 ip : edec1240 fp : 00000000
[ 149.091568] r10: edf3eee0 r9 : 00000000 r8 : ffffffff
[ 149.097040] r7 : edf3eea0 r6 : 00000034 r5 : 00000010 r4 : ec0e1c44
[ 149.103871] r3 : ec0e1c4c r2 : ec0e1c44 r1 : c079d800 r0 : 00000010
[ 149.110709] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM
Segment user
[ 149.118182] Control: 10c5387d Table: acf4806a DAC: 00000015
[ 149.124198] Process modprobe (pid: 1183, stack limit = 0xec0e0218)
[ 149.130673] Stack: (0xec0e1c28 to 0xec0e2000)
[ 149.135235] 1c20: 60000013 c05e2ae0 00000000
edf3ec00 ec934a10 c03d73d4
...
[ 149.392230] 1fe0: befe1888 befe1878 00019418 b6ea08f0 80000010
00000003 00000000 00000000
[ 149.400798] [<c03d6cd0>] (dev_driver_string) from [<c03d72c4>]
(__dev_printk+0x24/0x70)
[ 149.409193] [<c03d72c4>] (__dev_printk) from [<c03d73d4>]
(dev_warn+0x34/0x48)
[ 149.416767] [<c03d73d4>] (dev_warn) from [<bf0f54fc>]
(get_fan_speed_index+0x94/0xa4 [gpio_fan])
[ 149.425980] [<bf0f54fc>] (get_fan_speed_index [gpio_fan]) from
[<bf0f5524>] (gpio_fan_get_cur_state+0x18/0x30 [gpio_fan])
[ 149.437476] [<bf0f5524>] (gpio_fan_get_cur_state [gpio_fan]) from
[<bf02767c>] (thermal_zone_trip_update+0xe8/0x2a4 [thermal_sys])
[ 149.449794] [<bf02767c>] (thermal_zone_trip_update [thermal_sys]) from
[<bf027844>] (step_wise_throttle+0xc/0x74 [thermal_sys])
[ 149.461832] [<bf027844>] (step_wise_throttle [thermal_sys]) from
[<bf024ff4>] (handle_thermal_trip+0x5c/0x188 [thermal_sys])
[ 149.473603] [<bf024ff4>] (handle_thermal_trip [thermal_sys]) from
[<bf0256c4>] (thermal_zone_device_update+0x94/0x108 [thermal_sys])
[ 149.486104] [<bf0256c4>] (thermal_zone_device_update [thermal_sys])
from [<bf026470>] (__thermal_cooling_device_register+0x2e8/0x374 [thermal_sys])
[ 149.499956] [<bf026470>] (__thermal_cooling_device_register
[thermal_sys]) from [<bf0f58e4>] (gpio_fan_probe+0x350/0x4d0 [gpio_fan])
[ 149.512438] [<bf0f58e4>] (gpio_fan_probe [gpio_fan]) from [<c03db8a0>]
(platform_drv_probe+0x48/0x98)
[ 149.522109] [<c03db8a0>] (platform_drv_probe) from [<c03da30c>]
(driver_probe_device+0x1b0/0x26c)
[ 149.531399] [<c03da30c>] (driver_probe_device) from [<c03da45c>]
(__driver_attach+0x94/0x98)
[ 149.540238] [<c03da45c>] (__driver_attach) from [<c03d8bb0>]
(bus_for_each_dev+0x54/0x88)
[ 149.548814] [<c03d8bb0>] (bus_for_each_dev) from [<c03d9a34>]
(bus_add_driver+0xdc/0x1d4)
[ 149.557381] [<c03d9a34>] (bus_add_driver) from [<c03dac30>]
(driver_register+0x78/0xf4)
[ 149.565765] [<c03dac30>] (driver_register) from [<c0009784>]
(do_one_initcall+0x80/0x1d8)
[ 149.574340] [<c0009784>] (do_one_initcall) from [<c00c2278>]
(do_init_module+0x5c/0x1b8)
[ 149.582833] [<c00c2278>] (do_init_module) from [<c00c3bbc>]
(load_module+0x1720/0x1dcc)
[ 149.591212] [<c00c3bbc>] (load_module) from [<c00c43d0>]
(SyS_finit_module+0x68/0x6c)
[ 149.599418] [<c00c43d0>] (SyS_finit_module) from [<c000f3c0>]
(ret_fast_syscall+0x0/0x4c)
[ 149.607994] Code: 15830000 e1a00006 e28dd008 e8bd8070 (e590307c)
Cc: Eduardo Valentin <edubezval@xxxxxxxxx>
Fixes: b5cf88e46bad ("(gpio-fan): Add thermal control hooks")
Signed-off-by: Nishanth Menon <nm@xxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
commit f13b1689d753f333459878ac27cb12d414502a09
Author: WANG Cong <xiyou.wangcong@xxxxxxxxx>
Date: Wed Apr 8 14:48:30 2015 -0700
vxlan: do not exit on error in vxlan_stop()
We need to clean up vxlan despite vxlan_igmp_leave() fails.
This fixes the following kernel warning:
WARNING: CPU: 0 PID: 6 at lib/debugobjects.c:263
debug_print_object+0x7c/0x8d()
ODEBUG: free active (active state 0) object type: timer_list hint:
vxlan_cleanup+0x0/0xd0
CPU: 0 PID: 6 Comm: kworker/u8:0 Not tainted 4.0.0-rc7+ #953
Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
Workqueue: netns cleanup_net
0000000000000009 ffff88011955f948 ffffffff81a25f5a 00000000253f253e
ffff88011955f998 ffff88011955f988 ffffffff8107608e 0000000000000000
ffffffff814deba2 ffff8800d4e94000 ffffffff82254c30 ffffffff81fbe455
Call Trace:
[<ffffffff81a25f5a>] dump_stack+0x4c/0x65
[<ffffffff8107608e>] warn_slowpath_common+0x9c/0xb6
[<ffffffff814deba2>] ? debug_print_object+0x7c/0x8d
[<ffffffff81076116>] warn_slowpath_fmt+0x46/0x48
[<ffffffff814deba2>] debug_print_object+0x7c/0x8d
[<ffffffff81666bf1>] ? vxlan_fdb_destroy+0x5b/0x5b
[<ffffffff814dee02>] __debug_check_no_obj_freed+0xc3/0x15f
[<ffffffff814df728>] debug_check_no_obj_freed+0x12/0x16
[<ffffffff8117ae4e>] slab_free_hook+0x64/0x6c
[<ffffffff8114deaa>] ? kvfree+0x31/0x33
[<ffffffff8117dc66>] kfree+0x101/0x1ac
[<ffffffff8114deaa>] kvfree+0x31/0x33
[<ffffffff817d4137>] netdev_freemem+0x18/0x1a
[<ffffffff817e8b52>] netdev_release+0x2e/0x32
[<ffffffff815b4163>] device_release+0x5a/0x92
[<ffffffff814bd4dd>] kobject_cleanup+0x49/0x5e
[<ffffffff814bd3ff>] kobject_put+0x45/0x49
[<ffffffff817d3fc1>] netdev_run_todo+0x26f/0x283
[<ffffffff817d4873>] ? rollback_registered_many+0x20f/0x23b
[<ffffffff817e0c80>] rtnl_unlock+0xe/0x10
[<ffffffff817d4af0>] default_device_exit_batch+0x12a/0x139
[<ffffffff810aadfa>] ? wait_woken+0x8f/0x8f
[<ffffffff817c8e14>] ops_exit_list+0x2b/0x57
[<ffffffff817c9b21>] cleanup_net+0x154/0x1e7
[<ffffffff8108b05d>] process_one_work+0x255/0x4ad
[<ffffffff8108af69>] ? process_one_work+0x161/0x4ad
[<ffffffff8108b4b1>] worker_thread+0x1cd/0x2ab
[<ffffffff8108b2e4>] ? process_scheduled_works+0x2f/0x2f
[<ffffffff81090686>] kthread+0xd4/0xdc
[<ffffffff8109eca3>] ? local_clock+0x19/0x22
[<ffffffff810905b2>] ? __kthread_parkme+0x83/0x83
[<ffffffff81a31c48>] ret_from_fork+0x58/0x90
[<ffffffff810905b2>] ? __kthread_parkme+0x83/0x83
For the long-term, we should handle NETDEV_{UP,DOWN} event
from the lower device of a tunnel device.
Fixes: 56ef9c909b40 ("vxlan: Move socket initialization to within rtnl
scope")
Cc: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx>
Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 69304cc986bdcd7a09df179aeda3736f7e1544a5
Author: Ajit Khaparde <ajit.khaparde@xxxxxxxxxx>
Date: Wed Apr 8 16:59:48 2015 -0500
be2net: Fix a bug in Rx buffer posting
The numPosted field in the ERX Doorbell register is 8-bits wide.
So the max buffers that we can post at a time is 255 and not 256
which we are doing currently.
Signed-off-by: Ajit Khaparde <ajit.khaparde@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit dd929c1b3df94a7236c637fe294f04653d07b0d5
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Wed Apr 8 15:34:04 2015 -0700
tcp: do not rearm rsk_timer on FastOpen requests
FastOpen requests are not like other regular request sockets.
They do not yet use rsk_timer : tcp_fastopen_queue_check()
simply manually removes one expired request from fastopenq->rskq_rst
list.
Therefore, tcp_check_req() must not call mod_timer_pending(),
otherwise we crash because rsk_timer was not initialized.
Fixes: fa76ce7328b ("inet: get rid of central tcp/dccp listener timer")
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 20624d17963c737bbd9f242402bf3136cb664d10
Merge: 9a08da1 f4274e2
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 8 15:12:25 2015 -0700
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Pull drm fixes from Dave Airlie:
"Final drm fixes: one core locking imbalance regression, and a bunch of
i915 baytrail s/r fixes"
* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
drm: fix drm_mode_getconnector() locking imbalance regression
drm/i915/vlv: remove wait for previous GFX clk disable request
drm/i915/chv: Remove Wait for a previous gfx force-off
drm/i915/vlv: save/restore the power context base reg
commit 1957d6bed15fd7635c2867f7c21c17e6baa9a672
Author: Leo Liu <leo.liu@xxxxxxx>
Date: Tue Mar 31 11:19:50 2015 -0400
drm/radeon: add video usability info support for VCE
v2: bump version to make sure userspace backward compatibility
Reviewed-by: Christian König <christian.koenig@xxxxxxx>
Signed-off-by: Leo Liu <leo.liu@xxxxxxx>
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit 3cf29543413207d3ab1c3f62a88c09bb46f2264e
Author: Florian Fainelli <f.fainelli@xxxxxxxxx>
Date: Tue Apr 7 13:34:02 2015 -0700
MIPS: BCM63xx: Provide a plat_post_dma_flush hook
Broadcom BCM63xx DSL SoCs utilize BMIPS CPUs, and as such are required
to perform a read-ahead cache flush after a DMA transfer. Utilize
asm/bmips.h to provide a plat_post_dma_flush_hook, and
mach-generic/dma-coherence.h for everything else.
Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: cernekee@xxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9726/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 68ba7cb083300409eb92282417db4c179081ade3
Author: Florian Fainelli <f.fainelli@xxxxxxxxx>
Date: Tue Apr 7 13:34:01 2015 -0700
MIPS: DMA: Allow platforms to override only the post DMA hook
Instead of having platforms to copy the entirety of
mach-generic/dma-coherence.h, check whether these platforms have already
defined a plat_post_dma_flush hook, and if not, provide an inline stub.
Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: cernekee@xxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9725/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 36fe97635826d54d07c51a5953148235b7dd6a04
Author: Florian Fainelli <f.fainelli@xxxxxxxxx>
Date: Tue Apr 7 13:34:00 2015 -0700
MIPS: BMIPS: Move post DMA flush implementation to common header
arch/mips/include/asm/mach-bmips/dma-coherence.h contains the
plat_post_dma_flush implementation which is not specific to mach-bmips,
but required for all BMIPS-based systems.
Move plat_post_dma_flush to arch/mips/include/asm/bmips.h, rename it to
bmips_post_dma_flush such that other platforms like bcm63xx can utilize
it.
Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: cernekee@xxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9724/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 9a08da1c8b4865a16eb991776d4c53770eb6f31f
Merge: b97fdef 6d7fdb0
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 8 14:51:56 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
Pull ceph revert from Sage Weil:
"This corrects a recent misadventure with __GFP_MEMALLOC and
PF_MEMALLOC; it turns out it's not a good fit for RBD and we're better
off relying on dirty page throttling"
* 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
Revert "libceph: use memalloc flags for net IO"
commit 1d8ac08d498d579aae36221a80b4b724b2f52f39
Merge: 5c7f0c2 f22e6e8
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Thu Apr 9 07:48:27 2015 +1000
Merge tag 'v4.0-rc7' into drm-next
Linux 4.0-rc7
Requested by Alex for fixes -next needs.
Conflicts:
drivers/gpu/drm/i915/intel_sprite.c
commit b97fdef8e680ca8bdfea6114eea19fb6832d54be
Merge: 3afe9f8 6b79c57
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 8 14:42:49 2015 -0700
Merge branch 'akpm' (patches from Andrew)
Merge misc fixes from Andrew Morton:
"Three fixes"
* emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>:
mm: numa: disable change protection for vma(VM_HUGETLB)
include/linux/dmapool.h: declare struct device
mm: move zone lock to a different cache line than order-0 free page
lists
commit fdb7144ba36ef0c1882df3484cc9dfb7d57b2a26
Merge: b594c6e c955865
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Wed Apr 8 23:41:28 2015 +0200
Merge tag 'irqchip-core-4.0' of
git://git.infradead.org/users/jcooper/linux into irq/core
irqchip core changes for v4.0 from Jason Cooper
- ST
- New driver, irq-st
- Renesas
- Use u32 type for 32bit regs
commit 3afe9f849600645723246baa95e7559caeca6ce9
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 10:33:49 2015 -0700
Copy the kernel module data from user space in chunks
Unlike most (all?) other copies from user space, kernel module loading
is almost unlimited in size. So we do a potentially huge
"copy_from_user()" when we copy the module data from user space to the
kernel buffer, which can be a latency concern when preemption is
disabled (or voluntary).
Also, because 'copy_from_user()' clears the tail of the kernel buffer on
failures, even a *failed* copy can end up wasting a lot of time.
Normally neither of these are concerns in real life, but they do trigger
when doing stress-testing with trinity. Running in a VM seems to add
its own overheadm causing trinity module load testing to even trigger
the watchdog.
The simple fix is to just chunk up the module loading, so that it never
tries to copy insanely big areas in one go. That bounds the latency,
and also the amount of (unnecessarily, in this case) cleared memory for
the failure case.
Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit cae2a173fe94ab3a437416af6f092fae2e65837e
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 6 10:26:17 2015 -0700
x86: clean up/fix 'copy_in_user()' tail zeroing
The rule for 'copy_from_user()' is that it zeroes the remaining kernel
buffer even when the copy fails halfway, just to make sure that we don't
leave uninitialized kernel memory around. Because even if we check for
errors, some kernel buffers stay around after thge copy (think page
cache).
However, the x86-64 logic for user copies uses a copy_user_generic()
function for all the cases, that set the "zerorest" flag for any fault
on the source buffer. Which meant that it didn't just try to clear the
kernel buffer after a failure in copy_from_user(), it also tried to
clear the destination user buffer for the "copy_in_user()" case.
Not only is that pointless, it also means that the clearing code has to
worry about the tail clearing taking page faults for the user buffer
case. Which is just stupid, since that case shouldn't happen in the
first place.
Get rid of the whole "zerorest" thing entirely, and instead just check
if the destination is in kernel space or not. And then just use
memset() to clear the tail of the kernel buffer if necessary.
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit b594c6e20c7ff65e0f0775cb1866e97501c96846
Author: Marc Zyngier <marc.zyngier@xxxxxxx>
Date: Wed Mar 18 11:01:24 2015 +0000
irqchip: GICv3: Add support for irq_[get, set]_irqchip_state()
Add the required hooks for the internal state of an interrupt
to be exposed to other subsystems.
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: Abhijeet Dharmapurikar <adharmap@xxxxxxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: Phong Vo <pvo@xxxxxxx>
Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
Cc: Tin Huynh <tnhuynh@xxxxxxx>
Cc: Y Vo <yvo@xxxxxxx>
Cc: Toan Le <toanle@xxxxxxx>
Cc: Bjorn Andersson <bjorn@xxxxxxx>
Cc: Jason Cooper <jason@xxxxxxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Link:
http://lkml.kernel.org/r/1426676484-21812-4-git-send-email-marc.zyngier@xxxxxxx
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
commit 567178077c369ae6a32f90926fb4172f7cf1f87f
Author: Marc Zyngier <marc.zyngier@xxxxxxx>
Date: Wed Mar 18 11:01:23 2015 +0000
irqchip: GIC: Add support for irq_[get, set]_irqchip_state()
Add the required hooks for the internal state of an interrupt
to be exposed to other subsystems.
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: Abhijeet Dharmapurikar <adharmap@xxxxxxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: Phong Vo <pvo@xxxxxxx>
Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
Cc: Tin Huynh <tnhuynh@xxxxxxx>
Cc: Y Vo <yvo@xxxxxxx>
Cc: Toan Le <toanle@xxxxxxx>
Cc: Bjorn Andersson <bjorn@xxxxxxx>
Cc: Jason Cooper <jason@xxxxxxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Link:
http://lkml.kernel.org/r/1426676484-21812-3-git-send-email-marc.zyngier@xxxxxxx
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
commit 1b7047edfcfb257f69e306c9afbab150cb987717
Author: Marc Zyngier <marc.zyngier@xxxxxxx>
Date: Wed Mar 18 11:01:22 2015 +0000
genirq: Allow the irqchip state of an IRQ to be save/restored
There is a number of cases where a kernel subsystem may want to
introspect the state of an interrupt at the irqchip level:
- When a peripheral is shared between virtual machines,
its interrupt state becomes part of the guest's state,
and must be switched accordingly. KVM on arm/arm64 requires
this for its guest-visible timer
- Some GPIO controllers seem to require peeking into the
interrupt controller they are connected to to report
their internal state
This seem to be a pattern that is common enough for the core code
to try and support this without too many horrible hacks. Introduce
a pair of accessors (irq_get_irqchip_state/irq_set_irqchip_state)
to retrieve the bits that can be of interest to another subsystem:
pending, active, and masked.
- irq_get_irqchip_state returns the state of the interrupt according
to a parameter set to IRQCHIP_STATE_PENDING, IRQCHIP_STATE_ACTIVE,
IRQCHIP_STATE_MASKED or IRQCHIP_STATE_LINE_LEVEL.
- irq_set_irqchip_state similarly sets the state of the interrupt.
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Tested-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: Abhijeet Dharmapurikar <adharmap@xxxxxxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: Phong Vo <pvo@xxxxxxx>
Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
Cc: Tin Huynh <tnhuynh@xxxxxxx>
Cc: Y Vo <yvo@xxxxxxx>
Cc: Toan Le <toanle@xxxxxxx>
Cc: Bjorn Andersson <bjorn@xxxxxxx>
Cc: Jason Cooper <jason@xxxxxxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Link:
http://lkml.kernel.org/r/1426676484-21812-2-git-send-email-marc.zyngier@xxxxxxx
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
commit fe0c52fc003bc046380e52fe6799c96d770770cc
Author: Marc Zyngier <marc.zyngier@xxxxxxx>
Date: Mon Jan 26 19:10:19 2015 +0000
genirq: MSI: Fix freeing of unallocated MSI
While debugging an unrelated issue with the GICv3 ITS driver, the
following trace triggered:
WARNING: CPU: 1 PID: 1 at kernel/irq/irqdomain.c:1121
irq_domain_free_irqs+0x160/0x17c()
NULL pointer, cannot free irq
Modules linked in:
CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 3.19.0-rc6+ #3690
Hardware name: FVP Base (DT)
Call trace:
[<ffffffc000089398>] dump_backtrace+0x0/0x13c
[<ffffffc0000894e4>] show_stack+0x10/0x1c
[<ffffffc00066d134>] dump_stack+0x74/0x94
[<ffffffc0000a92f8>] warn_slowpath_common+0x9c/0xd4
[<ffffffc0000a938c>] warn_slowpath_fmt+0x5c/0x80
[<ffffffc0000ee04c>] irq_domain_free_irqs+0x15c/0x17c
[<ffffffc0000ef918>] msi_domain_free_irqs+0x58/0x74
[<ffffffc000386f58>] free_msi_irqs+0xb4/0x1c0
// The msi_prepare callback fails here
[<ffffffc0003872c0>] pci_enable_msix+0x25c/0x3d4
[<ffffffc00038746c>] pci_enable_msix_range+0x34/0x80
[<ffffffc0003924ac>] vp_try_to_find_vqs+0xec/0x528
[<ffffffc000392954>] vp_find_vqs+0x6c/0xa8
[<ffffffc0003ee2a8>] init_vq+0x120/0x248
[<ffffffc0003eefb0>] virtblk_probe+0xb0/0x6bc
[<ffffffc00038fc34>] virtio_dev_probe+0x17c/0x214
[<ffffffc0003d4a04>] driver_probe_device+0x7c/0x23c
[<ffffffc0003d4cb0>] __driver_attach+0x98/0xa0
[<ffffffc0003d2c60>] bus_for_each_dev+0x60/0xb4
[<ffffffc0003d455c>] driver_attach+0x1c/0x28
[<ffffffc0003d41b0>] bus_add_driver+0x150/0x208
[<ffffffc0003d54c0>] driver_register+0x64/0x130
[<ffffffc00038f9e8>] register_virtio_driver+0x24/0x68
[<ffffffc00091320c>] init+0x70/0xac
[<ffffffc0000828f0>] do_one_initcall+0x94/0x1d0
[<ffffffc0008e9b00>] kernel_init_freeable+0x144/0x1e4
[<ffffffc00066a434>] kernel_init+0xc/0xd8
---[ end trace f9ee562a77cc7bae ]---
The ITS msi_prepare callback having failed, we end-up trying to
free MSIs that have never been allocated. Oddly enough, the kernel
is pretty upset about it.
It turns out that this behaviour was expected before the MSI domain
was introduced (and dealt with in arch_teardown_msi_irqs).
The obvious fix is to detect this early enough and bail out.
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Reviewed-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1422299419-6051-1-git-send-email-marc.zyngier@xxxxxxx
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
commit 462b69b1e43ceccab68a47d65b1e46520cd0fdc0
Merge: d8bf368 f22e6e8
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Wed Apr 8 23:26:21 2015 +0200
Merge branch 'linus' into irq/core to get the GIC updates which
conflict with pending GIC changes.
Conflicts:
drivers/usb/isp1760/isp1760-core.c
commit e33caa82e221b0bbeba373b507e3f134dc2efa1a
Author: Aaron Lu <aaron.lu@xxxxxxxxx>
Date: Wed Mar 25 14:37:06 2015 +0800
PCI/ACPI: Optimize device state transition delays
The PCI "ACPI additions for FW latency optimizations" ECN (link below)
defines two functions in the PCI _DSM:
Function 8, "Reset Delay," applies to the entire hierarchy below a PCI
host bridge. If it returns one, the OS may assume that all devices in
the hierarchy have already completed power-on reset delays.
Function 9, "Device Readiness Durations," applies only to the object
where it is located. It returns delay durations required after various
events if the device requires less time than the spec requires. Delays
from this function take precedence over the Reset Delay function.
Add support for Reset Delay and part of Device Readiness Durations.
[bhelgaas: changelog, comments]
Link:
https://www.pcisig.com/specifications/conventional/pci_firmware/ECN_fw_latency_optimization_final.pdf
Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx>
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
commit 82740b9ac2fbd935361c1dc770ec49b692c28e7d
Merge: 51df60f 3590ebc
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Wed Apr 8 17:12:50 2015 -0400
Merge tag 'nfc-next-4.1-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-next
Samuel Ortiz says:
====================
NFC: 4.1 pull request
This is the NFC pull request for 4.1.
This is a shorter one than usual, as the Intel Field Peak NFC
driver could not make it in time.
We have:
- A new driver for NXP NCI based chipsets, like e.g. the NPC100 or
the PN7150. It currently only supports an i2c physical layer, but
could easily be extended to work on top of e.g. SPI.
This driver also includes support for user space triggered firmware
updates.
- A few minor st21nfc[ab] fixes, cleanups, and comments improvements.
- A pn533 error return fix.
- A few NFC related logs formatting cleanups.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f4274e23fb16721449d973ed607505f5dbdcd2df
Merge: 04bdf44 5df0582
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Thu Apr 9 06:59:50 2015 +1000
Merge tag 'drm-intel-fixes-2015-04-08' of
git://anongit.freedesktop.org/drm-intel into drm-fixes
three commits, all cc: stable, to address Baytrail
suspend/resume issues.
* tag 'drm-intel-fixes-2015-04-08' of
git://anongit.freedesktop.org/drm-intel:
drm/i915/vlv: remove wait for previous GFX clk disable request
drm/i915/chv: Remove Wait for a previous gfx force-off
drm/i915/vlv: save/restore the power context base reg
commit 9ce5a232b8a941be9e74c055535d81508207a570
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 8 15:45:02 2015 -0400
ocfs2_file_write_iter: keep return value and current position update in
sync
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit cf1b5ea1c5cd26a003b01d4798266a4bdf0ffe64
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 8 15:41:17 2015 -0400
[regression] ocfs2: do *not* increment ->ki_pos twice
generic_file_direct_write() already does that. Broken by
"ocfs2: do not fallback to buffer I/O write if appending"
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit b6100f10bdc2019a65297d2597c388de2f7dd653
Author: Pavel Machek <pavel@xxxxxx>
Date: Fri Mar 13 17:48:40 2015 -0300
[media] Add device tree support to adp1653 flash driver
Nokia N900 is switching to device tree, make sure we can use flash
there, too.
Signed-off-by: Pavel Machek <pavel@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 51df60f5a428c249cd458451e0b56269417f3cda
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Wed Apr 8 16:30:01 2015 -0400
sfc: Revert SRIOV changes.
This reverts commits:
d92916f71a57582ce7276547510cedb2c10b6bd6 ("sfc: Own header for
nic-specific sriov functions,")
25672dba9535b804331145379c79f835ba2205c5 ("sfc: Enable VF's via a write
to the sysfs file
sriov_numvfs")
As they break the build with SRIOV disabled and there is no
easy way to fix it the way things are arranged.
Reported-by: Eric Dumazet <eric.dumazet@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7a4580075d37d334b40f510cab54008d2dc66827
Author: Sylvain Trias <bozo@xxxxxxxxxxx>
Date: Wed Apr 8 10:27:57 2015 +0200
Documentation/memory-barriers.txt: typo fix
Fix an obvious typo in the documentation.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
commit 1b13fe718b6ebca2b12cfa3d6cd32b8b68a03e38
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Fri Apr 3 13:04:08 2015 +0200
ASoC: tegra_wm9712: Use card DAPM context to access widgets
The dapm field of the snd_soc_codec struct will eventually be removed
(replaced with the DAPM context from the component embedded inside the
CODEC). Replace its usage with the card's DAPM context. The idea is that
DAPM is hierarchical and with the card at the root it is possible to
access
widgets from other contexts through the card context.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 14e954f5ddc56c0dc9c32fadf188f44f5855e0fa
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Fri Apr 3 13:04:07 2015 +0200
ASoC: tegra_wm8903: Use card DAPM context to access widgets
The dapm field of the snd_soc_codec struct will eventually be removed
(replaced with the DAPM context from the component embedded inside the
CODEC). Replace its usage with the card's DAPM context. The idea is that
DAPM is hierarchical and with the card at the root it is possible to
access
widgets from other contexts through the card context.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit c67a443b11d96f35f8514283334c50302253f2b4
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Fri Apr 3 13:04:06 2015 +0200
ASoC: tegra_rt5677: Use card DAPM context to access widgets
The dapm field of the snd_soc_codec struct will eventually be removed
(replaced with the DAPM context from the component embedded inside the
CODEC). Replace its usage with the card's DAPM context. The idea is that
DAPM is hierarchical and with the card at the root it is possible to
access
widgets from other contexts through the card context.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 884c0f5b2ad542037b6f04de84a3fd3f82b15828
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Fri Apr 3 13:04:05 2015 +0200
ASoC: tegra_alc5632: Use card DAPM context to access widgets
The dapm field of the snd_soc_codec struct will eventually be removed
(replaced with the DAPM context from the component embedded inside the
CODEC). Replace its usage with the card's DAPM context. The idea is that
DAPM is hierarchical and with the card at the root it is possible to
access
widgets from other contexts through the card context.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit c77dc2c203908fe03582770b016ffc7c84242939
Merge: 012baec 77c7176
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Wed Apr 8 21:09:54 2015 +0100
Merge branch 'topic/jack' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-tegra
commit 8c2c8c03cdcb9b0a75b5585e611715fdd8096c38
Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Date: Wed Apr 8 10:03:16 2015 -0700
spi: img-spfi: Control CS lines with GPIO
When the CONTINUE bit is set, the interrupt status we are polling to
identify if a transaction has finished can be sporadic. Even though
the transfer has finished, the interrupt status may erroneously
indicate that there is still data in the FIFO. This behaviour causes
random timeouts in large PIO transfers.
Instead of using the CONTINUE bit to control the CS lines, use the SPI
core's CS GPIO handling. Also, now that the CONTINUE bit is not being
used, we can poll for the ALLDONE interrupt to indicate transfer
completion.
Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx>
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit a25202b04f17830dbf241a24838f8c8575a56611
Merge: ba33d8a 8543d0e
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Wed Apr 8 21:04:43 2015 +0100
Merge branch 'fix/img-spfi' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-img-spfi
commit ba33d8ac0c93fdfbdbc825ef690caab5d57e22c2
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Wed Apr 8 10:03:15 2015 -0700
spi: img-spfi: Reset controller after each message
Imagination has recommended that the SPFI controller be reset after
each message, regardless of success or failure. Do this in an
unprepare_message() callback.
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 824ab37df006ea2d06e4c4817344c0e8c056b744
Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Date: Wed Apr 8 10:03:14 2015 -0700
spi: img-spfi: Implement a handle_err() callback
The driver can be greatly simplified by moving the transfer timeout
handling to a handle_err() callback.
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 89cda06d7f9c3c111a81fcdf5464926f5f984ebc
Merge: ede8342b f22e6e8
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Wed Apr 8 21:04:25 2015 +0100
Merge tag 'v4.0-rc7' into spi-img-spfi
Linux 4.0-rc7
commit 3390e0850b711d163b35508464cfbe0a4477dfe2
Author: Aaron Lu <aaron.lu@xxxxxxxxx>
Date: Wed Mar 25 14:32:25 2015 +0800
PCI: Export pci_find_host_bridge() for use inside PCI core
The find_pci_host_bridge() function can be useful to other PCI code so
export it. Change its name to pci_find_host_bridge().
Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx>
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
commit 18e94a3384368340d438cf67fcaebd72084f34f8
Author: Aaron Lu <aaron.lu@xxxxxxxxx>
Date: Wed Mar 25 14:31:41 2015 +0800
PCI: Make a shareable UUID for PCI firmware ACPI _DSM
The PCI Firmware Specification, r3.0, sec 4.6.4.1.3, defines a single UUID
for an ACPI _DSM method to provide device-specific control functions.
This
_DSM method support several functions, including PCI Express Slot
Information, PCI Express Slot Number, PCI Bus Capabilities, etc.
Move the UUID definition from pci/pci-label.c, where it could be used only
for one function, to pci/pci-acpi.c where it can be shared for all these
functions.
[bhelgaas: changelog]
Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx>
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit c89ac4433030fa95a453b14857358cc6ec2e30db
Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
Date: Tue Mar 31 19:38:38 2015 -0700
PCI: Fix typo in Thunderbolt kernel message
Fix a typo in one of the kernel messages.
Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
commit 5eeb2922152042b78eccfb6cf70458019296654f
Author: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Date: Wed Apr 8 06:04:31 2015 -0700
fou: Don't use const __read_mostly
const __read_mostly is a senseless combination. If something
is already const it cannot be __read_mostly. Remove the bogus
__read_mostly in the fou driver.
This fixes section conflicts with LTO.
Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3bca4cf6022ee2ff1ff2142bed28a6fca00d3a44
Author: Alessio Igor Bogani <alessio.bogani@xxxxxxxxxx>
Date: Wed Apr 8 12:15:18 2015 +0200
net: phy: broadcom: Add BCM54616S phy entry
Signed-off-by: Alessio Igor Bogani <alessio.bogani@xxxxxxxxxx>
Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 01d06a9a4c28b6b0121014591a3c3da5e908d51e
Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Date: Wed Mar 25 14:13:12 2015 +0900
PCI: exynos: Fix INTx enablement statement termination error
Use a semicolon, not a comma, to terminate a statement.
Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
commit c1f866767777d1c6abae0ec57effffcb72017c00
Author: David Miller <davem@xxxxxxxxxxxxx>
Date: Tue Apr 7 23:05:42 2015 -0400
netfilter: Fix switch statement warnings with recent gcc.
More recent GCC warns about two kinds of switch statement uses:
1) Switching on an enumeration, but not having an explicit case
statement for all members of the enumeration. To show the
compiler this is intentional, we simply add a default case
with nothing more than a break statement.
2) Switching on a boolean value. I think this warning is dumb
but nevertheless you get it wholesale with -Wswitch.
This patch cures all such warnings in netfilter.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 1fb37a8178da007cad75f48e2355b9dcb0711e06
Author: Ray Jui <rjui@xxxxxxxxxxxx>
Date: Wed Apr 8 11:21:35 2015 -0700
PCI: iproc: Add Broadcom iProc PCIe support
Add support for the Broadcom iProc PCIe controller.
pcie-iproc.c is the common core driver, and a front-end bus interface
needs
to be added to support different bus interfaces.
pcie-iproc-platform.c contains the support for the platform bus interface.
Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx>
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx>
Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
commit 1b55d62259187fe77ade87dccc33522d51f113ee
Author: Ray Jui <rjui@xxxxxxxxxxxx>
Date: Wed Apr 8 11:21:34 2015 -0700
PCI: iproc: Add DT docs for Broadcom iProc PCIe driver
Document the Broadcom iProc PCIe platform interface device tree binding.
Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx>
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx>
Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
commit e85e85c85a6ae250ef2549065fc0c7377ba4689b
Merge: 5f9755d 5b5800f
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Wed Apr 8 15:19:17 2015 -0400
Merge branch 'selinux-nlmsg'
Nicolas Dichtel says:
====================
selinux: add some missing nlmsg commands
It's not a critical issue, thus the patches are based on net-next.
Patches are splitted because the 'Fixes' tag is not the same for all
commands.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 5b5800fad072133e4a9c2efbf735baaac83dec86
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Wed Apr 8 18:36:42 2015 +0200
selinux/nlmsg: add XFRM_MSG_[NEW|GET]SADINFO
These commands are missing.
Fixes: 28d8909bc790 ("[XFRM]: Export SAD info.")
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 5e6deebafb45fb271ae6939d48832e920b8fb74e
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Wed Apr 8 18:36:41 2015 +0200
selinux/nlmsg: add XFRM_MSG_GETSPDINFO
This command is missing.
Fixes: ecfd6b183780 ("[XFRM]: Export SPD info")
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2b7834d3e1b828429faa5dc41a480919e52d3f31
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Wed Apr 8 18:36:40 2015 +0200
selinux/nlmsg: add XFRM_MSG_NEWSPDINFO
This new command is missing.
Fixes: 880a6fab8f6b ("xfrm: configure policy hash table thresholds by
netlink")
Reported-by: Christophe Gouault <christophe.gouault@xxxxxxxxx>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 387f989a60db00207c39b9fe9ef32c897356aaba
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Wed Apr 8 18:36:39 2015 +0200
selinux/nlmsg: add RTM_GETNSID
This new command is missing.
Fixes: 9a9634545c70 ("netns: notify netns id events")
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 5bdfbc1f19d047a182d2bab102c22bbf2a1ea244
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Wed Apr 8 18:36:38 2015 +0200
selinux/nlmsg: add RTM_NEWNSID and RTM_GETNSID
These new commands are missing.
Fixes: 0c7aecd4bde4 ("netns: add rtnl cmd to add and get peer netns ids")
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1ec1e23d1d43ce96fe9a3b96ffbf3fbb702a8db7
Merge: 0ad2a83 443be0e
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Wed Apr 8 15:17:38 2015 -0400
Merge branch 'rds'
Sowmini Varadhan says:
====================
RDS: RDS-core fixes
This patch-series updates the RDS core and rds-tcp modules with
some bug fixes that were originally authored by Andy Grover,
Zach Brown, and Chris Mason.
v2: Code review comment by Sergei Shtylov
V3: DaveM comments:
- dropped patches 3, 5 for "heuristic" changes in rds_send_xmit().
Investigation into the root-cause of these IB-triggered changes
produced the feedback: "I don't remember seeing "RDS: Stuck RM"
message in last 1-1.5 years and checking with other folks. It may very
well be some old workaround for stale connection for which long term
fix is already made and this part of code not exercised anymore."
Any such fixes, *if* they are needed, can/should be done in the
IB specific RDS transport modules.
- similarly dropped the LL_SEND_FULL patch (patch 6 in v2 set)
v4: Documentation/networking/rds.txt contains incorrect references
to "missing sysctl values for pf_rds and sol_rds in mainline".
The sysctl values were never needed in mainline, thus fix the
documentation.
v5: Clarify comment per http://www.spinics.net/lists/netdev/msg324220.html
v6: Re-added entire version history to cover letter.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 443be0e5affe3acb6dd81e7402951677e0a0eb35
Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Date: Wed Apr 8 12:33:47 2015 -0400
RDS: make sure not to loop forever inside rds_send_xmit
If a determined set of concurrent senders keep the send queue full,
we can loop forever inside rds_send_xmit. This fix has two parts.
First we are dropping out of the while(1) loop after we've processed a
large batch of messages.
Second we add a generation number that gets bumped each time the
xmit bit lock is acquired. If someone else has jumped in and
made progress in the queue, we skip our goto restart.
Original patch by Chris Mason.
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1789b2c077f6d6c82b04cfe49a0fec020dc42488
Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Date: Wed Apr 8 12:33:46 2015 -0400
RDS: only use passive connections when addresses match
Passive connections were added for the case where one loopback IB
connection between identical addresses needs another connection to store
the second QP. Unfortunately, they were also created in the case where
the addesses differ and we already have both QPs.
This lead to a message reordering bug.
- two different IB interfaces and addresses on a machine: A B
- traffic is sent from A to B
- connection from A-B is created, connect request sent
- listening accepts connect request, B-A is created
- traffic flows, next_rx is incremented
- unacked messages exist on the retrans list
- connection A-B is shut down, new connect request sent
- listen sees existing loopback B-A, creates new passive B-A
- retrans messages are sent and delivered because of 0 next_rx
The problem is that the second connection request saw the previously
existing parent connection. Instead of using it, and using the existing
next_rx_seq state for the traffic between those IPs, it mistakenly
thought that it had to create a passive connection.
We fix this by only using passive connections in the special case where
laddr and faddr match. In this case we'll only ever have one parent
sending connection requests and one passive connection created as the
listening path sees the existing parent connection which initiated the
request.
Original patch by Zach Brown
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e6b29deafad3ce020dcf873a27a95c0cb9966c5b
Author: Ray Jui <rjui@xxxxxxxxxxxx>
Date: Wed Apr 8 11:21:33 2015 -0700
PCI: Export symbols required for loadable host driver modules
Export the following symbols so they can be referenced by a PCI host
bridge
driver compiled as a kernel loadable module:
pci_common_swizzle
pci_create_root_bus
pci_stop_root_bus
pci_remove_root_bus
pci_assign_unassigned_bus_resources
pci_fixup_irqs
Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx>
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
commit ebe96e641dee2cbd135ee802ae7e40c361640088
Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Date: Wed Apr 8 12:33:45 2015 -0400
RDS: Documentation: Document AF_RDS, PF_RDS and SOL_RDS correctly.
AF_RDS, PF_RDS and SOL_RDS are available in header files,
and there is no need to get their values from /proc. Document
this correctly.
Fixes: 0c5f9b8830aa ("RDS: Documentation")
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 5f9755d26fbfcb6787a6746653f1760fef0d5ba5
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Tue Apr 7 13:38:45 2015 -0700
stmmac: Add an optional register interface clock
The DWMAC block on certain SoCs (such as IMG Pistachio) have a second
clock which must be enabled in order to access the peripheral's
register interface, so add support for requesting and enabling an
optional "pclk".
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: James Hartley <james.hartley@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2790460e145d198fe6925d405301a49b2d8cb03f
Author: WANG Cong <xiyou.wangcong@xxxxxxxxx>
Date: Wed Apr 8 10:17:58 2015 -0700
vxlan: fix a shadow local variable
Commit 79b16aadea32cce077
("udp_tunnel: Pass UDP socket down through udp_tunnel{, 6}_xmit_skb()")
introduce 'sk' but we already have one inner 'sk'.
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit cc7016ab1a22fb26f388c2fb2b692b89897cbc3e
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Wed Apr 8 20:47:55 2015 +0200
ALSA: hda - Fix headphone pin config for Lifebook T731
Some BIOS version of Fujitsu Lifebook T731 seems to set up the
headphone pin (0x21) without the assoc number 0x0f while it's set only
to the output on the docking port (0x1a). With the recent commit
[03ad6a8c93b6: ALSA: hda - Fix "PCM" name being used on one DAC when
there are two DACs], this resulted in the weird mixer element
mapping where the headphone on the laptop is assigned as a shared
volume with the speaker and the docking port is assigned as an
individual headphone.
This patch improves the situation by correcting the headphone pin
config to the more appropriate value.
Reported-and-tested-by: Taylor Smock <smocktaylor@xxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 09f50121e3b96a613e7c9724e7bbf31fdec640f7
Author: Christian Dale <kernel@xxxxxxxxxxxx>
Date: Mon Mar 9 02:19:01 2015 -0300
[media] WinFast DTV2000 DS Plus
Add Leadtek WinFast DTV2000DS Plus device based on Realtek RTL2832U.
I have not tested the remote, but it is the Y04G0051 model.
Signed-off-by: Christian Dale <kernel@xxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 1a60667fc81fdab3733a1d41480da3a5d0ccecea
Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 12:55:10 2015 +0100
ASoC: wm8804: Enable runtime PM
Currently both the oscillator and the PLL are powered up in
set_bias_level. This can be problematic when using output clocks from
the wm8804 for other devices. The snd_soc_codec_set_pll API defines that
a clock should be available once the call returns, however, with all the
clocking controlled in set_bias_level this is not currently the case.
This patch enables pm_runtime for the wm8804, enabling both the
regulators and the oscillator when the chip resumes, and enabling the
PLL in the snd_soc_codec_set_pll call. Naturally the enabling the PLL
will also cause the chip to resume.
Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 5631f18763f1b0989cec7cbf8f3badcb74dfe469
Author: Sapthagiri Baratam <sapthagiri.baratam@xxxxxxxxxxxxx>
Date: Tue Apr 7 12:55:09 2015 +0100
ASoC: wm8804: Add DAPM widgets for SPDIF/AIF
This change converts the driver to use DAPM to control the power for the
various blocks on the chip. As part of this change the existing controls
"TX Playback Switch" (controlled power for the SPDIF TX block) and "AIF
Playback Switch" (controlled power for the AIF block) are both removed,
as they are now redundant since the power state of those blocks is
controlled automatically by DAPM.
There are several benefits of this change, the most important of which
is this change adds support for powering down the SPDIF RX block. The RX
block will automatically assume control of the PLL on the chip when it
is receiving a signal, so leaving this enabled all the time as was
currently done in the driver can be problematic. An incoming SPDIF signal
that is not being used can completely destroy the clocking for an in use
TX signal. But this change ensures that the RX block will only be
powered when the user intends to be receiving data, thus avoiding this
issue.
Additional benefits include the chip being simpler to operate as the
power no longer needs to be manually controlled between use-cases and a
small power saving (although it is acknowledged that this is likely
unimportant in the typical use-cases for this chip).
Signed-off-by: Sapthagiri Baratam <sapthagiri.baratam@xxxxxxxxxxxxx>
Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 2f272e7b015c6d0f308d1a03e71557c962b10ce9
Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx>
Date: Tue Apr 7 17:14:51 2015 +0300
clk: qcom: Fix parent_map translations
When we introduced the parent_map tables, we missed to update
some of the functions where mapping is translated. Fix this.
Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx>
Tested-by: Nicolas Dechesne <nicolas.dechesne@xxxxxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
commit 00c78a3728dff798b4c9d5e2d38c86106ff6e8c7
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
Date: Wed Apr 8 15:04:35 2015 -0300
dvb-frontends: use IS_REACHABLE() instead of IS_ENABLED()
Changeset 9b174527e7b7 added this new macro, ensuring that it
is true only if the function is actually reachable.
However, newer drivers were added since when it was written.
So, change those drivers to also use it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 9b174527e7b756cda9f5d9e541f87b7fec9cfdf0
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Wed Feb 18 14:12:42 2015 -0300
[media] Add and use IS_REACHABLE macro
In the media drivers, the v4l2 core knows about all submodules
and calls into them from a common function. However this cannot
work if the modules that get called are loadable and the
core is built-in. In that case we get
drivers/built-in.o: In function `set_type':
drivers/media/v4l2-core/tuner-core.c:301: undefined reference to
`tea5767_attach'
drivers/media/v4l2-core/tuner-core.c:307: undefined reference to
`tea5761_attach'
drivers/media/v4l2-core/tuner-core.c:349: undefined reference to
`tda9887_attach'
drivers/media/v4l2-core/tuner-core.c:405: undefined reference to
`xc4000_attach'
This was working previously, until the IS_ENABLED() macro was used
to replace the construct like
#if defined(CONFIG_DVB_CX24110) || (defined(CONFIG_DVB_CX24110_MODULE)
&& defined(MODULE))
with the difference that the new code no longer checks whether it is being
built as a loadable module itself.
To fix this, this new patch adds an 'IS_REACHABLE' macro, which evaluates
true in exactly the condition that was used previously. The downside
of this is that this trades an obvious link error for a more subtle
runtime failure, but it is clear that the change that introduced the
link error was unintentional and it seems better to revert it for
now. Also, a similar change was originally created by Trent Piepho
and then reverted by teh change to the IS_ENABLED macro.
Ideally Kconfig would be used to avoid the case of a broken dependency,
or the code restructured in a way to turn around the dependency, but
either
way would require much larger changes here.
Fixes: 7b34be71db53 ("[media] use IS_ENABLED() macro")
See-also: c5dec9fb248e ("V4L/DVB (4751): Fix DBV_FE_CUSTOMISE for card
drivers compiled into kernel")
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit a87a4d34286e5f790d2b495db5f37753ef75a80d
Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx>
Date: Thu Feb 26 07:13:06 2015 -0300
[media] si2168: tda10071: m88ds3103: Fix trivial typos
Change 'firmare' to 'firmware'
Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx>
Acked-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 856260a57cdfa5c121c7b7a6e816409bab07885c
Author: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx>
Date: Mon Sep 22 21:30:46 2014 -0300
[media] xc5000: fix memory corruption when unplugging device
This patch addresses a regression introduced in the following patch:
commit 5264a522a597032c009f9143686ebf0fa4e244fb
Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
[media] media: tuner xc5000 - release firmwware from xc5000_release()
The "priv" struct is actually reference counted, so the xc5000_release()
function gets called multiple times for hybrid devices. Because
release_firmware() was always being called, it would work fine as expected
on the first call but then the second call would corrupt aribtrary memory.
Set the pointer to NULL after releasing so that we don't call
release_firmware() twice.
This problem was detected in the HVR-950q where plugging/unplugging the
device multiple times would intermittently show panics in completely
unrelated areas of the kernel.
Signed-off-by: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx>
Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 3df2f59f0aae2f5380a9d8037c91dcab75c4478d
Author: Cédric Le Goater <clg@xxxxxxxxxx>
Date: Wed Apr 8 19:19:50 2015 +0200
hwmon: (ibmpowernv) pretty print labels
The new OPAL device tree adds a few properties which can be used to add
extra information on the sensor label.
In the case of a cpu core sensor, the firmware exposes the physical
identifier of the core in the "ibm,pir" property. The driver
translates this identifier in a linux cpu number and prints out a
range corresponding to the hardware threads of the core (as they
share the same sensor).
The numbering gives a hint on the localization of the core in the
system (which socket, which chip).
Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
commit 2bcd3787b946b725a37763c0877da0996f5ec064
Author: Cédric Le Goater <clg@xxxxxxxxxx>
Date: Wed Apr 8 19:19:49 2015 +0200
hwmon: (ibmpowernv) add a label attribute
Currently, sensors are only identified by their type and index.
The new OPAL device tree can expose extra properties to identify
some sensors by their name or location. This patch adds the creation
of a new hwmon *_label attribute when such properties are detected.
Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
commit 14681637ab3013d3577cc59633159f425733532e
Author: Cédric Le Goater <clg@xxxxxxxxxx>
Date: Wed Apr 8 19:19:48 2015 +0200
hwmon: (ibmpowernv) add support for the new device tree
The new OPAL device tree for sensors has a different layout and uses new
property names, for the type and for the handler used to capture the
sensor data.
This patch modifies the ibmpowernv driver to support such a tree in a
way preserving compatibility with older OPAL firmwares.
This is achieved by changing the error path of the routine parsing
an OPAL node name. The node is simply considered being from the new
device tree layout and fallback values are used.
Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
commit 9e4f74b11925d033dcbe429f1fb6202cab03ad8f
Author: Cédric Le Goater <clg@xxxxxxxxxx>
Date: Wed Apr 8 19:19:47 2015 +0200
hwmon: (ibmpowernv) add a helper routine create_hwmon_attr
This should shorten a bit the code necessary to create a hmwon attribute.
Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
commit c6b424fee7511407107403d3a7c50e0756ae282e
Author: Caesar Wang <wxt@xxxxxxxxxxxxxx>
Date: Wed Apr 8 19:05:56 2015 +0800
ASoC: max98090: add shutdown callback for max98090
To fix pop noise when shutdown,the pop noise during shutdown
is the pmic cutoff power of codec without any notice.
Signed-off-by: jay.xu <xjq@xxxxxxxxxxxxxx>
Signed-off-by: zhengxing <zhengxing@xxxxxxxxxxxxxx>
Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 1f544fd8ff377127a512e20358045cc9b92c245c
Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
Date: Wed Apr 8 18:34:25 2015 +0530
ASoC: Intel: remove unused functions
these functions were never called by anyone.
Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit bba0bdd7ad4713d82338bcd9b72d57e9335a664b
Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
Date: Wed Mar 4 10:31:47 2015 +0100
Defer processing of REQ_PREEMPT requests for blocked devices
SCSI transport drivers and SCSI LLDs block a SCSI device if the
transport layer is not operational. This means that in this state
no requests should be processed, even if the REQ_PREEMPT flag has
been set. This patch avoids that a rescan shortly after a cable
pull sporadically triggers the following kernel oops:
BUG: unable to handle kernel paging request at ffffc9001a6bc084
IP: [<ffffffffa04e08f2>] mlx4_ib_post_send+0xd2/0xb30 [mlx4_ib]
Process rescan-scsi-bus (pid: 9241, threadinfo ffff88053484a000, task
ffff880534aae100)
Call Trace:
[<ffffffffa0718135>] srp_post_send+0x65/0x70 [ib_srp]
[<ffffffffa071b9df>] srp_queuecommand+0x1cf/0x3e0 [ib_srp]
[<ffffffffa0001ff1>] scsi_dispatch_cmd+0x101/0x280 [scsi_mod]
[<ffffffffa0009ad1>] scsi_request_fn+0x411/0x4d0 [scsi_mod]
[<ffffffff81223b37>] __blk_run_queue+0x27/0x30
[<ffffffff8122a8d2>] blk_execute_rq_nowait+0x82/0x110
[<ffffffff8122a9c2>] blk_execute_rq+0x62/0xf0
[<ffffffffa000b0e8>] scsi_execute+0xe8/0x190 [scsi_mod]
[<ffffffffa000b2f3>] scsi_execute_req+0xa3/0x130 [scsi_mod]
[<ffffffffa000c1aa>] scsi_probe_lun+0x17a/0x450 [scsi_mod]
[<ffffffffa000ce86>] scsi_probe_and_add_lun+0x156/0x480 [scsi_mod]
[<ffffffffa000dc2f>] __scsi_scan_target+0xdf/0x1f0 [scsi_mod]
[<ffffffffa000dfa3>] scsi_scan_host_selected+0x183/0x1c0 [scsi_mod]
[<ffffffffa000edfb>] scsi_scan+0xdb/0xe0 [scsi_mod]
[<ffffffffa000ee13>] store_scan+0x13/0x20 [scsi_mod]
[<ffffffff811c8d9b>] sysfs_write_file+0xcb/0x160
[<ffffffff811589de>] vfs_write+0xce/0x140
[<ffffffff81158b53>] sys_write+0x53/0xa0
[<ffffffff81464592>] system_call_fastpath+0x16/0x1b
[<00007f611c9d9300>] 0x7f611c9d92ff
Reported-by: Max Gurtuvoy <maxg@xxxxxxxxxxxx>
Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit 2e7cee027b26cbe7e6685a7a14bd2850bfe55d33
Author: John Soni Jose <sony.john-n@xxxxxxxxxx>
Date: Thu Feb 12 06:45:47 2015 +0530
be2iscsi: Fix kernel panic when device initialization fails
Kernel panic was happening as iscsi_host_remove() was called on
a host which was not yet added.
Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx>
Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxx>
commit aadd51aa71f8d013c818a312bb2a0c5714830dbc
Merge: 68e942e ee90b81
Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
Date: Wed Apr 8 17:40:17 2015 +0200
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Resolve conflicts between 5888b93 ("Merge branch 'nf-hook-compress'") and
Florian Westphal br_netfilter works.
Conflicts:
net/bridge/br_netfilter.c
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 803afb316eba2df2bba16d984eb90b67c147c922
Merge: 8ae178f e88f7e0
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Wed Apr 8 12:27:26 2015 -0400
Merge branch 'hv_netvsc_linearize'
Vitaly Kuznetsov says:
====================
hv_netvsc: linearize SKBs bigger than MAX_PAGE_BUFFER_COUNT-2 pages
This patch series fixes the same issue which was fixed in Xen with commit
97a6d1bb2b658ac85ed88205ccd1ab809899884d ("xen-netfront: Fix handling
packets on
compound pages with skb_linearize").
It is relatively easy to create a packet which is small in size but
occupies
more than 30 (MAX_PAGE_BUFFER_COUNT-2) pages. Here is a kernel-mode
reproducer
which tries sending a packet with only 34 bytes of payload (but on 34
pages)
and fails:
static int __init sendfb_init(void)
{
struct socket *sock;
int i, ret;
struct sockaddr_in in4_addr = { 0 };
struct page *pages[17];
unsigned long flags;
ret = sock_create_kern(AF_INET, SOCK_STREAM, IPPROTO_TCP, &sock);
if (ret) {
pr_err("failed to create socket: %d!\n", ret);
return ret;
}
in4_addr.sin_family = AF_INET;
/* www.google.com, 74.125.133.99 */
in4_addr.sin_addr.s_addr = cpu_to_be32(0x4a7d8563);
in4_addr.sin_port = cpu_to_be16(80);
ret = sock->ops->connect(sock, (struct sockaddr *)&in4_addr,
sizeof(in4_addr), 0);
if (ret) {
pr_err("failed to connect: %d!\n", ret);
return ret;
}
/* We can send up to 17 frags */
flags = MSG_MORE;
for (i = 0; i < 17; i++) {
if (i == 16)
flags = MSG_EOR;
pages[i] = alloc_pages(GFP_KERNEL | __GFP_COMP, 1);
if (!pages[i]) {
pr_err("out of memory!");
goto free_pages;
}
sock->ops->sendpage(sock, pages[i], PAGE_SIZE -1, 2, flags);
}
free_pages:
for (; i > 0; i--)
__free_pages(pages[i - 1], 1);
printk("sendfb_init: test done\n");
return -1;
}
module_init(sendfb_init);
MODULE_LICENSE("GPL");
A try to load such module results in multiple
'kernel: hv_netvsc vmbus_15 eth0: Packet too big: 100' messages as all
retries
fail as well. It should also be possible to trigger the issue from
userspace, I
expect e.g. NFS under heavy load to get stuck sometimes.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e88f7e078e47d4261a22e6f20a574620cbfc7a4b
Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Date: Wed Apr 8 17:54:06 2015 +0200
hv_netvsc: try linearizing big SKBs before dropping them
In netvsc_start_xmit() we can handle packets which are scattered around
not
more than MAX_PAGE_BUFFER_COUNT-2 pages. It is, however, easy to create a
packet which is not big in size but occupies more pages (e.g. if it uses
frags
on compound pages boundaries). When we drop such packet it cases sender
to try
resending it but in most cases it will try resending the same packet
which will
also get dropped, this will cause the particular connection to stick. To
solve
the issue we can try linearizing skb.
Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 981a1bd85a959bb3b44e07c212ebc61c62ad7cf9
Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Date: Wed Apr 8 17:54:05 2015 +0200
hv_netvsc: use single existing drop path in netvsc_start_xmit
... which validly uses dev_kfree_skb_any() instead of dev_kfree_skb().
Setting ret to -EFAULT and -ENOMEM have no real meaning here (we need to
set
it to anything but -EAGAIN) as we drop the packet and return NETDEV_TX_OK
anyway.
Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a053fc318bc5d28cd25168c948255fd48a29ea26
Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
Date: Thu Apr 9 01:15:03 2015 +0900
ALSA: bebob: fix to processing in big-endian machine for sending cue
Some M-Audio devices require to receive bootup command just after
powering on, while codes in BeBoB driver doesn't work properly in
big-endian machine because the command should be aligned by
little-endian.
This commit fixes this bug. This fix should go to stable kernel.
Cc: Takayuki Shiroma <t.shiroma.oki@xxxxxxxxx>
Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 8ae178fb1ce0428d1a22c36c8493bda4807ad3b8
Merge: b5de97b 25672db
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Wed Apr 8 12:21:36 2015 -0400
Merge branch 'sfc-next'
Shradha Shah says:
====================
sfc: Nic specific sriov functions, netdev_ops and sriov_configure
First two patches among the series of patches to support SRIOV on EF10.
First patch declares nic specific sriov functions in nic specific headers,
creates only one instance of the netdev_ops, removes sriov functionality
from Falcon code.
Second patch adds support for sriov_configure.
The Virtual Functions can be enabled but they do not bind to the SFC
driver just yet.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 25672dba9535b804331145379c79f835ba2205c5
Author: Shradha Shah <sshah@xxxxxxxxxxxxxx>
Date: Wed Apr 8 15:25:04 2015 +0100
sfc: Enable VF's via a write to the sysfs file sriov_numvfs
This patch adds support for the use of sriov_configure on EF10
to enable Virtual Functions while the driver is loaded.
Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d92916f71a57582ce7276547510cedb2c10b6bd6
Author: Shradha Shah <sshah@xxxxxxxxxxxxxx>
Date: Wed Apr 8 15:24:45 2015 +0100
sfc: Own header for nic-specific sriov functions, single instance of
netdev_ops and sriov removed from Falcon code
By putting all the efx_{siena,ef10}_sriov_* declarations in
{siena,ef10}_sriov.h, ensure they cannot be called from nic-generic code.
Also fixes up an instance of this, where mcdi.c was calling
efx_siena_sriov_flr.
The single instance of netdev_ops should call general high level
functions that can then call something adapter specific in efx_nic_type.
We should only do adapter specialisation via efx_nic_type.
Removal of sriov functionality from the Falcon code means that tests
are needed for the presence of some callbacks.
Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 09bf4a858d72a632dd12a61bda1d5272d67b2ce9
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
Date: Wed Apr 8 13:16:57 2015 -0300
Revert "[media] v4l: vb2-memops: use vma slab when vma allocation"
Please revert this patch: vm_area_cachep is not exported, so you cannot
use
this in a module.
This reverts commit 5ed1c328ea077d70e1ebcd5188dc77cdc754df3a.
Reported-by: Hans Verkuil <hverkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit b5de97bc1753fb9c5be103a820ea5473923ca067
Merge: 04abac5 837a1db
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Wed Apr 8 12:15:15 2015 -0400
Merge branch 'dma_rmb_wmb'
Alexander Duyck says:
====================
Replace wmb()/rmb() with dma_wmb()/dma_rmb() where appropriate
This is a start of a side project cleaning up the drivers that can make
use
of the dma_wmb and dma_rmb calls. The general idea is to start removing
the unnecessary wmb/rmb calls from a number of drivers and to make use of
the lighter weight dma_wmb/dma_rmb calls as this should allow for an
overall improvement in performance as each barrier can cost a significant
number of cycles and on architectures such as x86 this is unnecessary.
These changes are what I would consider low hanging fruit. The likelihood
of the changes introducing an error should be low since the use of the
barriers in these cases are fairly obvious.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 837a1dba0078d0bad755f6cb13a48c1623d11ff5
Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Date: Tue Apr 7 16:55:27 2015 -0700
e1000, e1000e: Use dma_rmb instead of rmb for descriptor read ordering
This change replaces calls to rmb with dma_rmb in the case where we want
to
order all follow-on descriptor reads after the check for the descriptor
status bit.
Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 03cc864a2571af278fc83d24b6a78d8424f92736
Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Date: Tue Apr 7 16:55:21 2015 -0700
s2io: Update driver to use dma_wmb
This change updates several spots where a wmb was being used to instead
use
a dma_wmb to flush out writes before updating the control portion of the
descriptor.
Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b4468cc6f2aeccaea74baa3b211a49851fd84158
Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Date: Tue Apr 7 16:55:14 2015 -0700
sungem, sunhme, sunvnet: Update drivers to use dma_wmb/rmb
This patch goes through and replaces wmb/rmb with dma_wmb/dma_rmb in cases
where the barrier is being used to order writes or reads to just memory
and
doesn't involve any programmed I/O.
Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 882302c8598aa9d3d82adef10f283fa7ec29fb32
Author: Dimitris Lampridis <dlampridis@xxxxxxxxx>
Date: Sat Feb 14 11:11:34 2015 -0300
[media] rtl28xxu: add support for Turbo-X DTT2000
ID 1b80:d3a4 Afatech
Simply added the PID (0xd3a4) of this DVB-T USB device to the list of
rtl2832u-supported devices. VID (0x1b80) is same as KWORLD2.
Tested and verified to work in amd64 with kernels 3.13.0 and 3.16.0.
Signed-off-by: Dimitris Lampridis <dlampridis@xxxxxxxxxxxxxxx>
Reviewed-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 203577562449c1889caa3a321be572ed2b972ac9
Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx>
Date: Wed Feb 11 08:08:51 2015 -0300
[media] rtl2832: remove compiler warning
Cleaning up the following compiler warning:
rtl2832.c:703:12: warning: 'tmp' may be used uninitialized in this
function
Even though it could never happen since if rtl2832_rd_demod_reg ()
doesn't set
tmp, this line would never run because we go to err. It is still nice to
avoid
compiler warnings.
[mchehab@xxxxxxxxxxxxxxx: fix a merge conflict with another patch meant
to fix the same bug, but doing it at the wrong way]
Signed-off-by: Luis de Bethencourt <luis.bg@xxxxxxxxxxx>
Reviewed-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 04abac5fd6ad9341434add1c27047f4b16ada92c
Author: Mahesh Bandewar <maheshb@xxxxxxxxxx>
Date: Tue Apr 7 16:16:29 2015 -0700
bonding: Remove unnecessary initialization
bond_3ad_bind_slave() calls ad_initialize_port() and then immediately
assigns correct values making some of that initialization unnecessary.
Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit c3cd9ee11dd72cfb8ff5d3dde47cd197e9b22cd2
Author: Mahesh Bandewar <maheshb@xxxxxxxxxx>
Date: Tue Apr 7 16:16:11 2015 -0700
bonding: Code re-factoring for admin, oper-key operations
This patch breaks the rich assignments into it's own statements
and removes some duplicate code where admin-key, & oper-key are
updated.
Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1b112871186e3ab8333851c0caf203b47d7561b9
Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 8 17:01:23 2015 +0200
ipv6: call iptunnel_xmit with NULL sock pointer if no tunnel sock is
available
Fixes: 79b16aadea32cce ("udp_tunnel: Pass UDP socket down through
udp_tunnel{, 6}_xmit_skb().")
Reported-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 926a882f6916fd76b6f8ee858d45a2241c5e7999
Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 8 17:01:22 2015 +0200
ipv4: ip_tunnel: use net namespace from rtable not socket
The socket parameter might legally be NULL, thus sock_net is sometimes
causing a NULL pointer dereference. Using net_device pointer in dst_entry
is more reliable.
Fixes: b6a7719aedd7e5c ("ipv4: hash net ptr into fragmentation bucket
selection")
Reported-by: Rick Jones <rick.jones2@xxxxxx>
Cc: Rick Jones <rick.jones2@xxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 80ccf4ad06dc9d2f06a8347b2d309cdc959f72b3
Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx>
Date: Tue Feb 10 07:41:56 2015 -0300
[media] rc: img-ir: fix error in parameters passed to irq_free()
img_ir_remove() passes a pointer to the ISR function as the 2nd
parameter to irq_free() instead of a pointer to the device data
structure.
This issue causes unloading img-ir module to fail with the below
warning after building and loading img-ir as a module.
WARNING: CPU: 2 PID: 155 at ../kernel/irq/manage.c:1278
__free_irq+0xb4/0x214() Trying to free already-free IRQ 58
Modules linked in: img_ir(-)
CPU: 2 PID: 155 Comm: rmmod Not tainted 3.14.0 #55 ...
Call Trace:
...
[<8048d420>] __free_irq+0xb4/0x214
[<8048d6b4>] free_irq+0xac/0xf4
[<c009b130>] img_ir_remove+0x54/0xd4 [img_ir] [<8073ded0>]
platform_drv_remove+0x30/0x54 ...
Fixes: 160a8f8aec4d ("[media] rc: img-ir: add base driver")
Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # 3.15+
Acked-by: James Hogan <james.hogan@xxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 974e08d8f02fdfc97915054d8e0c7d3cbe6b9e6e
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Tue Feb 17 11:30:34 2015 -0300
[media] cxusb: Use enum to represent table offsets rather than
hard-coding numbers
Use enum to represent table offsets rather than hard-coding numbers to
avoid
problems with the numbers becoming out of sync with the table.
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit d10b730f97a7f1fa58c9ec300828f87157cd6b95
Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Date: Wed Apr 8 10:04:55 2015 -0500
Revert "sparc/PCI: Clip bridge windows to fit in upstream windows"
This reverts commit d63e2e1f3df904bf6bd150bdafb42ddbb3257ea8.
David Ahern reported that d63e2e1f3df9 breaks booting on an 8-socket T5
sparc system. He also verified that the system boots with d63e2e1f3df9
reverted. Yinghai has some fixes, but they need a little more polishing
than we can do before v4.0.
Link: http://lkml.kernel.org/r/5514391F.2030300@xxxxxxxxxx # report
Link:
http://lkml.kernel.org/r/1427857069-6789-1-git-send-email-yinghai@xxxxxxxxxx #
patches
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
CC: stable@xxxxxxxxxxxxxxx # v3.19+
commit 51ab7155c08baf45cc2aa911961e5b78422e478f
Merge: 6645f31 a1e12da
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Wed Apr 8 17:03:47 2015 +0200
Merge tag 'perf-core-for-mingo' of
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
User visible changes:
- Teach 'perf record' about perf_event_attr.clockid (Peter Zijlstra)
- Improve 'perf sched replay' on high CPU core count machines (Yunlong
Song)
- Consider PERF_RECORD_ events with cpumode == 0 in 'perf top',
removing one
cause of long term memory usage buildup, i.e. not processing
PERF_RECORD_EXIT
events (Arnaldo Carvalho de Melo)
- Add 'I' event modifier for perf_event_attr.exclude_idle bit (Jiri
Olsa)
- Respect -i option 'in perf kmem' (Jiri Olsa)
Infrastructure changes:
- Honor operator priority in libtraceevent (Namhyung Kim)
- Merge all perf_event_attr print functions (Peter Zijlstra)
- Check kmaps access to make code more robust (Wang Nan)
- Fix inverted logic in perf_mmap__empty() (He Kuang)
- Fix ARM 32 'perf probe' building error (Wang Nan)
- Fix perf_event_attr tests (Jiri Olsa)
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a490c656c96b54e7582a6c846c7d1d3dba61e373
Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Date: Tue Mar 31 11:30:07 2015 +0300
gpio: dwapb: enable for ARC
Synopsys SDP platform uses DW GPIO controller in design with
ARC cores. So adding ARC to architectures that may select this
GPIO controller.
Even though support for Synopsys SDP is yet to be submitted we'll need
this tiny option enabled at least for properly working interrupts (DW
GPIO controller is used as interrupt controller).
Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx>
Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 7414b0993cd020aea14574065c28b55f3f849688
Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
Date: Tue Mar 31 12:37:18 2015 +0300
pinctrl: Add support for PM8916 GPIO's and MPP's
Add compatible string definitions and supported pin functions.
Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 8647ca9ad5a0065ad53a2ad7e39163592b6ed35e
Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Date: Tue Mar 24 11:12:45 2015 -0500
PCI: Don't look for ACPI hotplug parameters if ACPI is disabled
Booting a v3.18 or newer Xen domU kernel with PCI devices passed through
results in an oops (this is a 32-bit 3.13.11 dom0 with a 64-bit 4.4.0
hypervisor and 32-bit domU):
BUG: unable to handle kernel paging request at 0030303e
IP: [<c06ed0e6>] acpi_ns_validate_handle+0x12/0x1a
Call Trace:
[<c06eda4d>] ? acpi_evaluate_object+0x31/0x1fc
[<c06b78e1>] ? pci_get_hp_params+0x111/0x4e0
[<c0407bc7>] ? xen_force_evtchn_callback+0x17/0x30
[<c04085fb>] ? xen_restore_fl_direct_reloc+0x4/0x4
[<c0699d34>] ? pci_device_add+0x24/0x450
Don't look for ACPI configuration information if ACPI has been disabled.
I don't think this is the best fix, because we can boot plain Linux (no
Xen) with "acpi=off", and we don't need this check in pci_get_hp_params().
There should be a better fix that would make Xen domU work the same way.
The domU kernel has ACPI support but it has no AML. There should be a way
to initialize the ACPI data structures so things fail gracefully rather
than oopsing. This is an interim fix to address the regression.
Fixes: 6cd33649fa83 ("PCI: Add pci_configure_device() during enumeration")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=96301
Reported-by: Michael D Labriola <mlabriol@xxxxxxxx>
Tested-by: Michael D Labriola <mlabriol@xxxxxxxx>
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
CC: stable@xxxxxxxxxxxxxxx # v3.18+
commit 9828413d4715d4ed12bc92b161f4ed377d777ffb
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Tue Mar 31 17:23:45 2015 -0400
tracing: Add enum_map file to show enums that have been mapped
Add a enum_map file in the tracing directory to see what enums have been
saved to convert in the print fmt files.
As this requires the enum mapping to be persistent in memory, it is only
created if the new config option CONFIG_TRACE_ENUM_MAP_FILE is enabled.
This is for debugging and will increase the persistent memory footprint
of the kernel.
Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 91df6089aa330f12f31cf4b710350a3d6e3d66e6
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Fri Mar 27 17:08:41 2015 -0400
writeback: Export enums used by tracepoint to user space
The enums used in tracepoints for __print_symbolic() do not have their
values shown in the tracepoint format files and this makes it difficult
for user space tools to convert the binary values to the strings they
are to represent.
Add TRACE_DEFINE_ENUM(x) macros to export the enum names to their values
to make the tracing output from user space tools more robust.
Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx
Cc: Dave Chinner <dchinner@xxxxxxxxxx>
Cc: Jens Axboe <axboe@xxxxxxxxx>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 68e942e88add0ac8576fc8397e86495edf3dcea7
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sun Apr 5 14:43:38 2015 +0200
netfilter: nf_tables: support optional userdata for set elements
Add an userdata set extension and allow the user to attach arbitrary
data to set elements. This is intended to hold TLV encoded data like
comments or DNS annotations that have no meaning to the kernel.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 22fe54d5fefcfa98c58cc2f4607dd26d9648b3f5
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sun Apr 5 14:41:08 2015 +0200
netfilter: nf_tables: add support for dynamic set updates
Add a new "dynset" expression for dynamic set updates.
A new set op ->update() is added which, for non existant elements,
invokes an initialization callback and inserts the new element.
For both new or existing elements the extenstion pointer is returned
to the caller to optionally perform timer updates or other actions.
Element removal is not supported so far, however that seems to be a
rather exotic need and can be added later on.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 11113e190bf0ad73086884f87efccc994ff28b3d
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sun Apr 5 14:41:07 2015 +0200
netfilter: nf_tables: support different set binding types
Currently a set binding is assumed to be related to a lookup and, in
case of maps, a data load.
In order to use bindings for set updates, the loop detection checks
must be restricted to map operations only. Add a flags member to the
binding struct to hold the set "action" flags such as NFT_SET_MAP,
and perform loop detection based on these.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 3dd0673ac3cd7d05cde103396ec7ec410a901de2
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sun Apr 5 14:41:06 2015 +0200
netfilter: nf_tables: prepare set element accounting for async updates
Use atomic operations for the element count to avoid races with async
updates.
To properly handle the transactional semantics during netlink updates,
deleted but not yet committed elements are accounted for seperately and
are treated as being already removed. This means for the duration of
a netlink transaction, the limit might be exceeded by the amount of
elements deleted. Set implementations must be prepared to handle this.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 4a8678efbec6b0ea46baafb77cd297e6e02da933
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sun Apr 5 14:41:05 2015 +0200
netfilter: nf_tables: fix set selection when timeouts are requested
The NFT_SET_TIMEOUT flag is ignore in nft_select_set_ops, which may
lead to selection of a set implementation that doesn't actually
support timeouts.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 43d0f71f0e3f36cc54de8e95bd8005063fa9e818
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Fri Mar 27 17:04:45 2015 -0400
v4l: Export enums used by tracepoints to user space
Enums used by tracepoints for __print_symbolic() are shown in the
tracepoint format files with just their names and not their values.
This makes it difficult for user space tools to know how to convert the
binary data into their string representations.
By adding the use of TRACE_DEFINE_ENUM(), the enum names will be mapped
to their values and shown in the tracing file system to let tools
convert the data as necessary.
Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx
Acked-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit c54c719b558e0eb3ba60b1390aeb47ed25ff4352
Author: Quentin Lambert <lambert.quentin@xxxxxxxxx>
Date: Wed Apr 8 14:34:10 2015 +0200
ata: remove deprecated use of pci api
Replace occurences of the pci api by appropriate call to the dma api.
A simplified version of the semantic patch that finds this problem is as
follows: (http://coccinelle.lip6.fr)
@deprecated@
idexpression id;
position p;
@@
(
pci_dma_supported@p ( id, ...)
|
pci_alloc_consistent@p ( id, ...)
)
@bad1@
idexpression id;
position deprecated.p;
@@
...when != &id->dev
when != pci_get_drvdata ( id )
when != pci_enable_device ( id )
(
pci_dma_supported@p ( id, ...)
|
pci_alloc_consistent@p ( id, ...)
)
@depends on !bad1@
idexpression id;
expression direction;
position deprecated.p;
@@
(
- pci_dma_supported@p ( id,
+ dma_supported ( &id->dev,
...
+ , GFP_ATOMIC
)
|
- pci_alloc_consistent@p ( id,
+ dma_alloc_coherent ( &id->dev,
...
+ , GFP_ATOMIC
)
)
Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit c4941e072ed5ac1aaad7365ba1290fdd44e7058c
Author: Varka Bhadram <varkabhadram@xxxxxxxxx>
Date: Tue Apr 7 21:34:40 2015 +0530
gpio: removing kfree remove functionality
commit 3de07e5aaf290a0b58919 ("drivers: gpio: use devm_kzalloc")
introduce devm_kzalloc() for allocating the memory. In this case kfree
is not required to use. Above commit id introduced the bug that kfree
is not removed from the remove function.
This patch fix the above bug.
Signed-off-by: Varka Bhadram <varkab@xxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit a1e67951e6c0b11bb11c256f8e1c45ed51fcd760
Author: Florian Westphal <fw@xxxxxxxxx>
Date: Thu Apr 2 14:31:45 2015 +0200
netfilter: bridge: make BRNF_PKT_TYPE flag a bool
nf_bridge_info->mask is used for several things, for example to
remember if skb->pkt_type was set to OTHER_HOST.
For a bridge, OTHER_HOST is expected case. For ip forward its a
non-starter
though -- routing expects PACKET_HOST.
Bridge netfilter thus changes OTHER_HOST to PACKET_HOST before hook
invocation and then un-does it after hook traversal.
This information is irrelevant outside of br_netfilter.
After this change, ->mask now only contains flags that need to be
known outside of br_netfilter in fast-path.
Future patch changes mask into a 2bit state field in sk_buff, so that
we can remove skb->nf_bridge pointer for good and consider all remaining
places that access nf_bridge info content a not-so fastpath.
Signed-off-by: Florian Westphal <fw@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 3eaf402502e49ad9c58c73e8599c7c4f345d62da
Author: Florian Westphal <fw@xxxxxxxxx>
Date: Thu Apr 2 14:31:44 2015 +0200
netfilter: bridge: start splitting mask into public/private chunks
->mask is a bit info field that mixes various use cases.
In particular, we have flags that are mutually exlusive, and flags that
are only used within br_netfilter while others need to be exposed to
other parts of the kernel.
Remove BRNF_8021Q/PPPoE flags. They're mutually exclusive and only
needed within br_netfilter context.
Signed-off-by: Florian Westphal <fw@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 383307838d41935841ba6b2e939b968326e2dea1
Author: Florian Westphal <fw@xxxxxxxxx>
Date: Thu Apr 2 14:31:43 2015 +0200
netfilter: bridge: add and use nf_bridge_info_get helper
Don't access skb->nf_bridge directly, this pointer will be removed soon.
Signed-off-by: Florian Westphal <fw@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit a99074ae1f5cce08c769542440391981899ac04c
Author: Florian Westphal <fw@xxxxxxxxx>
Date: Thu Apr 2 14:31:42 2015 +0200
netfilter: physdev: use helpers
Avoid skb->nf_bridge accesses where possible.
Signed-off-by: Florian Westphal <fw@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit c737b7c4510026c200e14de51eb0006adea0fb2f
Author: Florian Westphal <fw@xxxxxxxxx>
Date: Thu Apr 2 14:31:41 2015 +0200
netfilter: bridge: add helpers for fetching physin/outdev
right now we store this in the nf_bridge_info struct, accessible
via skb->nf_bridge. This patch prepares removal of this pointer from skb:
Instead of using skb->nf_bridge->x, we use helpers to obtain the in/out
device (or ifindexes).
Followup patches to netfilter will then allow nf_bridge_info to be
obtained by a call into the br_netfilter core, rather than keeping a
pointer to it in sk_buff.
Signed-off-by: Florian Westphal <fw@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit e70deecbf8e1562cac0b19f23848919e2f5d65aa
Author: Florian Westphal <fw@xxxxxxxxx>
Date: Thu Apr 2 14:31:40 2015 +0200
netfilter: bridge: don't use nf_bridge_info data to store mac header
br_netfilter maintains an extra state, nf_bridge_info, which is attached
to skb via skb->nf_bridge pointer.
Amongst other things we use skb->nf_bridge->data to store the original
mac header for every processed skb.
This is required for ip refragmentation when using conntrack
on top of bridge, because ip_fragment doesn't copy it from original skb.
However there is no need anymore to do this unconditionally.
Move this to the one place where its needed -- when br_netfilter calls
ip_fragment().
Also switch to percpu storage for this so we can handle fragmenting
without accessing nf_bridge meta data.
Only user left is neigh resolution when DNAT is detected, to hold
the original source mac address (neigh resolution builds new mac header
using bridge mac), so rename ->data and reduce its size to whats needed.
Signed-off-by: Florian Westphal <fw@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit d64d80a2cde94f3e89caebd27240be419fec5b81
Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Date: Thu Apr 2 14:28:30 2015 +0200
netfilter: x_tables: don't extract flow keys on early demuxed sks in
socket match
Currently in xt_socket, we take advantage of early demuxed sockets
since commit 00028aa37098 ("netfilter: xt_socket: use IP early demux")
in order to avoid a second socket lookup in the fast path, but we
only make partial use of this:
We still unnecessarily parse headers, extract proto, {s,d}addr and
{s,d}ports from the skb data, accessing possible conntrack information,
etc even though we were not even calling into the socket lookup via
xt_socket_get_sock_{v4,v6}() due to skb->sk hit, meaning those cycles
can be spared.
After this patch, we only proceed the slower, manual lookup path
when we have a skb->sk miss, thus time to match verdict for early
demuxed sockets will improve further, which might be i.e. interesting
for use cases such as mentioned in 681f130f39e1 ("netfilter: xt_socket:
add XT_SOCKET_NOWILDCARD flag").
Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit b8a19382ac6212d18b21fcc7867060a5d54fe1a2
Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 11:43:45 2015 +0100
pinctrl: bcm2835: Fix support for threaded level triggered IRQs
Currently, the driver uses handle_simple_irq for all IRQ types and hard
codes the acknowledge for different IRQ types into the handler. It is
better to use the IRQ core as intended and let it handle the differences
between the various types of IRQ. For example the current system does
not work for threaded level triggered IRQs as these need to be masked
until the threaded handler has run.
Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 4f054d445139d63868f931328f897ac5ef87242e
Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 14:23:03 2015 +0200
ARM: mvebu: use 0xf1000000 as internal registers on Armada 370 DB
All Marvell EBU SoCs (Kirkwood, Dove, Orion, Armada) have the
capability of changing the location of their internal registers (i.e
the registers for most hardware blocks inside the SoC). When coming
out of reset, the internal registers are mapped at 0xd0000000, but
since years and years, the tradition has been to have the internal
registers remapped at 0xf1000000 by the bootloader, and Linux has
since then assumed that the internal registers for the SoC were
located at 0xf1000000 on Kirkwood, Dove, Orion, etc. Linux has never
been aware that those registers are remappable (and there is no way to
know where they are mapped at runtime, since the register to configure
the address of the registers is itself within the internal registers).
Then came the Armada 370 and Armada XP, in which some of the very
early silicon steppings had an issue, which forced to use 0xd0000000:
the SoC was no longer working properly when the internal registers
were remapped at 0xf1000000. This issue is only affecting very early
silicon steppings and production steppings are not affected: the issue
has been fixed in between.
Since what we (Free Electrons) used to do the initial submission of
the Armada 370 and Armada XP platforms was evaluation boards with
those very early steppings, we submitted Device Tree that assumed the
internal registers were mapped at 0xd0000000. This is the case for
Armada 370 DB, Armada XP DB and Armada XP GP.
However, in practice, since Marvell has been shipping the evaluation
boards with production steppings of the SoC, they are shipping those
boards with bootloaders that remap the registers to 0xf1000000. We
have already changed this internal register address to 0xf1000000 for
the Armada XP DB in commit 82066bdb5a75 and for the Armada XP GP in
commit 91ed32200e6e (both merged in v3.15).
We only recently got our hand on an Armada 370 DB with a production
stepping of the SoC, which uses a bootloader that remaps internal
registers at 0xf1000000. Therefore, this commit aligns the Armada 370
DB to be like the Armada XP DB and Armada XP GP: assume that the
internal registers are mapped at 0xf1000000.
We would like to stress out the fact that the usage of 0xd0000000 as
the internal register base address was a temporary workaround for
early steppings deficiencies, and that the real long-term solution is
the usage of 0xf1000000. Having 0xd0000000 is an *accident* in the
life of the Marvell platform support in the kernel, as is confirmed by
the usage of 0xf1000000 in all previous Marvell platforms (Dove,
Kirkwood, Orion).
There are unfortunately a number of commercial devices that continue
to use 0xd0000000 even though they use production steppings of the
SoC, simply because the vendors of such devices have never bothered
using a more recent bootloader version from Marvell. There is not much
we can do about it, and we plan on keeping 0xd0000000 in the Device
Tree of such devices.
The main reason for remapping the internal registers at 0xf1000000
instead of 0xd0000000 is that it leaves more space in the 0 -> 4 GB
part of the physical address space for RAM. With registers at
0xd0000000, all RAM between 0xd0000000 to 0xffffffff is lost because
it's covered by the I/O registers.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
Acked-by: Andrew Lunn <andrew@xxxxxxx>
Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx>
Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx>
commit 61819549f572edd7fce53f228c0d8420cdc85f71
Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 17:11:11 2015 +0200
gpio: mvebu: Fix mask/unmask managment per irq chip type
Level IRQ handlers and edge IRQ handler are managed by tow different
sets of registers. But currently the driver uses the same mask for the
both registers. It lead to issues with the following scenario:
First, an IRQ is requested on a GPIO to be triggered on front. After,
this an other IRQ is requested for a GPIO of the same bank but
triggered on level. Then the first one will be also setup to be
triggered on level. It leads to an interrupt storm.
The different kind of handler are already associated with two
different irq chip type. With this patch the driver uses a private
mask for each one which solves this issue.
It has been tested on an Armada XP based board and on an Armada 375
board. For the both boards, with this patch is applied, there is no
such interrupt storm when running the previous scenario.
This bug was already fixed but in a different way in the legacy
version of this driver by Evgeniy Dushistov:
9ece8839b1277fb9128ff6833411614ab6c88d68 "ARM: orion: Fix for certain
sequence of request_irq can cause irq storm". The fact the new version
of the gpio drive could be affected had been discussed there:
http://thread.gmane.org/gmane.linux.ports.arm.kernel/344670/focus=364012
Reported-by: Evgeniy A. Dushistov <dushistov@xxxxxxx>
Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.7 +
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 30133177957dca9a3e2a37b720f891d3225a92a1
Author: Abhi Das <adas@xxxxxxxxxx>
Date: Wed Apr 8 09:03:56 2015 -0500
gfs2: fix quota refresh race in do_glock()
quotad periodically syncs in-memory quotas to the ondisk quota file
and sets the QDF_REFRESH flag so that a subsequent read of a synced
quota is re-read from disk.
gfs2_quota_lock() checks for this flag and sets a 'force' bit to
force re-read from disk if requested. However, there is a race
condition here. It is possible for gfs2_quota_lock() to find the
QDF_REFRESH flag unset (i.e force=0) and quotad comes in immediately
after and syncs the relevant quota and sets the QDF_REFRESH flag.
gfs2_quota_lock() resumes with force=0 and uses the stale in-memory
quota usage values that result in miscalculations.
This patch fixes this race by moving the check for the QDF_REFRESH
flag check further out into the gfs2_quota_lock() process, i.e, in
do_glock(), under the protection of the quota glock.
Signed-off-by: Abhi Das <adas@xxxxxxxxxx>
Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx>
Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx>
commit 1711045fb11b4aa9afda066ce5fe68b2345d52c5
Author: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx>
Date: Tue Apr 7 17:13:42 2015 +0200
crypto: sahara - fix AES descriptor create
The AES implementation still assumes, that the hw_desc[0] has a valid
key as long as no new key needs to be set; consequentialy it always
sets the AES key header for the first descriptor and puts data into
the second one (hw_desc[1]).
Change this to only update the key in the hardware, when a new key is
to be set and use the first descriptor for data otherwise.
Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit ddacc621f6597d503ed6a06e2beb1ed21df759f6
Author: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx>
Date: Tue Apr 7 17:13:41 2015 +0200
crypto: sahara - use the backlog
With commit
7e77bdebff5cb1e9876c561f69710b9ab8fa1f7e crypto: af_alg - fix backlog
handling
in place, the backlog works under all circumstances where it previously
failed, atleast
for the sahara driver. Use it.
Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 016baaa1183bb0c5fb2a7de42413bba8a51c1bc8
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 21:27:01 2015 +0800
crypto: user - Fix crypto_alg_match race
The function crypto_alg_match returns an algorithm without taking
any references on it. This means that the algorithm can be freed
at any time, therefore all users of crypto_alg_match are buggy.
This patch fixes this by taking a reference count on the algorithm
to prevent such races.
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 9cd223239a79df3cc758ecabb8473ca91599021b
Author: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Date: Tue Apr 7 17:45:11 2015 +0800
crypto: atmel-aes - correct usage of dma_sync_* API
The output buffer is used for CPU access, so
the API should be dma_sync_single_for_cpu which
makes the cache line invalid in order to reload
the value in memory.
Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 289b2623df34ebec4c25b7d31804b70fc90b92c6
Author: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Date: Tue Apr 7 17:45:10 2015 +0800
crypto: atmel-aes - sync the buf used in DMA or CPU
The input buffer and output buffer are mapped for DMA transfer
in Atmel AES driver. But they are also be used by CPU when
the requested crypt length is not bigger than the threshold
value 16. The buffers will be cached in cache line when CPU
accessed them. When DMA uses the buffers again, the memory
can happened to be flushed by cache while DMA starts transfer.
So using API dma_sync_single_for_device and dma_sync_single_for_cpu
in DMA to ensure DMA coherence and CPU always access the correct
value. This fix the issue that the encrypted result periodically goes
wrong when doing performance test with OpenSSH.
Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 8a10eb8d36ffc86512ae66a35c8888f07b8ec921
Author: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Date: Tue Apr 7 17:45:09 2015 +0800
crypto: atmel-aes - initialize spinlock in probe
Kernel will report "BUG: spinlock lockup suspected on CPU#0"
when CONFIG_DEBUG_SPINLOCK is enabled in kernel config and the
spinlock is used at the first time. It's caused by uninitialized
spinlock, so just initialize it in probe.
Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 1d1b91637ce1d0968d17b0a288de557946a9494e
Author: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Date: Tue Apr 7 17:45:08 2015 +0800
crypto: atmel-tdes - initialize spinlock in probe
Kernel will report "BUG: spinlock lockup suspected on CPU#0"
when CONFIG_DEBUG_SPINLOCK is enabled in kernel config and the
spinlock is used at the first time. It's caused by uninitialized
spinlock, so just initialize it in probe.
Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 3f1992c002064f5628eafbec9649f7a82f439eaf
Author: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Date: Tue Apr 7 17:45:07 2015 +0800
crypto: atmel-sha - correct the max burst size
The maximum source and destination burst size is 16
according to the datasheet of Atmel DMA. And the value
is also checked in function at_xdmac_csize of Atmel
DMA driver. With the restrict, the value beyond maximum
value will not be processed in DMA driver, so SHA384 and
SHA512 will not work and the program will wait forever.
So here change the max burst size of all the cases to 16
in order to make SHA384 and SHA512 work and keep consistent
with DMA driver and datasheet.
Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 62728e82026c90af004dd2c328c1314f2f3e6b58
Author: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Date: Tue Apr 7 17:45:06 2015 +0800
crypto: atmel-sha - initialize spinlock in probe
Kernel will report "BUG: spinlock lockup suspected on CPU#0"
when CONFIG_DEBUG_SPINLOCK is enabled in kernel config and the
spinlock is used at the first time. It's caused by uninitialized
spinlock, so just initialize it in probe.
Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 803eeae8f3eb394d898a7aa65ba706628dd6a85c
Author: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Date: Tue Apr 7 17:45:05 2015 +0800
crypto: atmel-sha - fix sg list management
Having a zero length sg doesn't mean it is the end of the sg list. This
case happens when calculating HMAC of IPSec packet.
Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 0099286b664493c85f0f2248f09f3b467a0e3a78
Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx>
Date: Tue Apr 7 17:45:04 2015 +0800
crypto: atmel-sha - correct the way data are split
When a hash is requested on data bigger than the buffer allocated by the
SHA driver, the way DMA transfers are performed is quite strange:
The buffer is filled at each update request. When full, a DMA transfer
is done. On next update request, another DMA transfer is done. Then we
wait to have a full buffer (or the end of the data) to perform the dma
transfer. Such a situation lead sometimes, on SAMA5D4, to a case where
dma transfer is finished but the data ready irq never comes. Moreover
hash was incorrect in this case.
With this patch, dma transfers are only performed when the buffer is
full or when there is no more data. So it removes the transfer whose size
is equal the update size after the full buffer transmission.
Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx>
Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 141824d0ae3b125a499b35138c01c985e81c0aca
Author: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Date: Tue Apr 7 17:45:03 2015 +0800
crypto: atmel-sha - add new version
Add new version of atmel-sha available with SAMA5D4 devices.
Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit cf1f0d12792cc57404582c9a7a693cf8f975e967
Author: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Date: Tue Apr 7 17:45:02 2015 +0800
crypto: atmel-aes - add new version
Add new version of atmel-aes available with SAMA5D4 devices.
Signed-off-by: Leilei Zhao <leilei.zhao@xxxxxxxxx>
Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 5a0ff17741c1785b27229a16b5ab77470d71b170
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Wed Apr 8 08:11:51 2015 -0600
vfio-pci: Fix use after free
Reported by 0-day test infrastructure.
Fixes: ecaa1f6a0154 ("vfio-pci: Add VGA arbiter client")
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit a1e12da4796a4ddd0e911687a290eb396d1c64bf
Author: Jiri Olsa <jolsa@xxxxxxxxxx>
Date: Tue Apr 7 23:25:14 2015 +0200
perf tools: Add 'I' event modifier for exclude_idle bit
Adding 'I' event modifier to have complete set of modifiers for
perf_event_attr:exclude_* bits.
Any event specified with 'I' modifier will have the
perf_event_attr:exclude_idle bit set.
$ perf record -e cycles:I -vv ls 2>&1 | grep exclude_idle
exclude_hv 0 exclude_idle 1
Adding automated tests.
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: William Cohen <wcohen@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428441919-23099-2-git-send-email-jolsa@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit f6fcc1433a4a9057b2977313f31eadbc1c84268b
Author: Wang Nan <wangnan0@xxxxxxxxxx>
Date: Wed Apr 8 10:59:32 2015 +0000
perf report: Don't call map__kmap if map is NULL.
report__warn_kptr_restrict() calls map__kmap(kernel_map) before checking
kernel_map againest NULL.
Which is dangerous, since map__kmap() will return a invalid and not NULL
address.
It will trigger a warning message in map__kmap() after the patch "perf:
kmaps: enforce usage of kmaps to protect futher bugs." was applied.
This patch fixes it by adding the missing checking.
Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Zefan Li <lizefan@xxxxxxxxxx>
Cc: pi3orama@xxxxxxx
Link:
http://lkml.kernel.org/r/1428490772-135393-1-git-send-email-wangnan0@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 54a50f93eb13ab5efa7366627534e2b0f7caa8e5
Author: Jiri Olsa <jolsa@xxxxxxxxxx>
Date: Tue Apr 7 19:17:15 2015 +0200
perf tests: Fix attr tests
Following commit:
1a5941312414 perf: Add wakeup watermark control to the AUX area
enlarged perf_event_attr, but did not updated attr tests.
Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx>
Cc: Kan Liang <kan.liang@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Markus T Metzger <markus.t.metzger@xxxxxxxxx>
Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
Link: http://lkml.kernel.org/n/20150407171715.GA22603@xxxxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit f6c15621f04b97ce882c66e5055f0ac325fb8eb8
Author: Wang Nan <wangnan0@xxxxxxxxxx>
Date: Wed Apr 8 02:14:34 2015 +0000
perf probe: Fix ARM 32 building error
Commit 9b118acae310f57baee770b5db402500d8695e50 ("perf probe: Fix to
handle aliased symbols in glibc") uses an absolute format '%lx' to
print u64 argument, which causes compiling error on ARM 32.
This patch replaces it with PRIx64.
Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Zefan Li <lizefan@xxxxxxxxxx>
Cc: pi3orama@xxxxxxx
Link:
http://lkml.kernel.org/r/1428459274-138470-1-git-send-email-wangnan0@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 6ba16eefcdaa8634e1c1d70d5c31b0495c99ab02
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Fri Mar 27 16:53:03 2015 -0400
SUNRPC: Export enums in tracepoints to user space
The enums used in the tracepoints for __print_symbolic() have their
names shown in the tracepoint format files. User space tools do not know
how to convert those names into their values to be able to convert the
binary data.
Use TRACE_DEFINE_ENUM() to export the enum names to their values for
userspace to do the parsing correctly.
Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx
Acked-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 190f0b76ca498789b4dc6acb8c8e9a31b6548f9d
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Fri Mar 27 16:48:57 2015 -0400
mm: tracing: Export enums in tracepoints to user space
The enums used in tracepoints with __print_symbolic() have their
names shown in the tracepoint format files and not their values.
This makes it difficult for user space tools to convert the binary
data to the strings as user space does not know what those enums
are about.
By having them use TRACE_DEFINE_ENUM(), the names of the enums will
be mapped to the values and shown to user space.
Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit f0a91b3caa053c9964f1d1e6941f0963d002a670
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Fri Mar 27 16:31:44 2015 -0400
irq/tracing: Export enums in tracepoints to user space
The enums used by the softirq mapping is what is shown in the output
of the __print_symbolic() and not their values, that are needed
to map them to their strings. Export them to userspace with the
TRACE_DEFINE_ENUM() macro so that user space tools can map the enums
with their values.
Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 5511b9a471f3bb2f1cd5d7bf6b4191403e49315e
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Fri Mar 27 16:18:07 2015 -0400
f2fs: Export the enums in the tracepoints to userspace
The tracepoints that use __print_symbolic() use enums as the value
to convert to strings. Unfortunately, the format files for these
tracepoints show the enum name and not their value. This causes some
userspace tools not to know how to convert __print_symbolic() to
their strings.
Add TRACE_DEFINE_ENUM() macros to export the enums used to userspace
to let those tools know what those enum values are.
Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx
Cc: Namjae Jeon <namjae.jeon@xxxxxxxxxxx>
Cc: Pankaj Kumar <pankaj.km@xxxxxxxxxxx>
Cc: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 56e1b226088b07d14ad863bb73753ae24d48c113
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Fri Mar 27 16:15:07 2015 -0400
net/9p/tracing: Export enums in tracepoints to userspace
The tracepoints in the 9p code use a lot of enums for the
__print_symbolic()
function. These enums are shown in the tracepoint format files, and user
space tools such as trace-cmd does not have the information to parse it.
Add helper macros to export the enums with TRACE_DEFINE_ENUM().
Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx
Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Cc: Eric Van Hensbergen <ericvh@xxxxxxxxx>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 23b9766261aa9bd4cc9ba770deda794608708bdc
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Tue Mar 24 18:15:57 2015 -0400
x86/tlb/trace: Export enums in used by tlb_flush tracepoint
Have the enums used in __print_symbolic() by the trace_tlb_flush()
tracepoint exported to userpace such that they can be parsed by
userspace tools.
Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx
Cc: Dave Hansen <dave@xxxxxxxx>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 32eb3d0d09943ab9dcc01fb8d2619b64e965992c
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Wed Apr 1 15:55:36 2015 -0400
tracing/samples: Update the trace-event-sample.h with TRACE_DEFINE_ENUM()
Document the use of TRACE_DEFINE_ENUM() by adding enums to the
trace-event-sample.h and using this macro to convert them in the format
files.
Also update the comments and sho the use of __print_symbolic() and
__print_flags() as well as adding comments abount __print_array().
Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 3673b8e4ce7237160fa31ee8d7e94a4d5a9976a1
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Wed Mar 25 15:44:21 2015 -0400
tracing: Allow for modules to convert their enums to values
Update the infrastructure such that modules that declare
TRACE_DEFINE_ENUM()
will have those enums converted into their values in the tracepoint
print fmt strings.
Link: http://lkml.kernel.org/r/87vbhjp74q.fsf@xxxxxxxxxxxxxxx
Acked-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 0c564a538aa934ad15b2145aaf8b64f3feb0be63
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Tue Mar 24 17:58:09 2015 -0400
tracing: Add TRACE_DEFINE_ENUM() macro to map enums to their values
Several tracepoints use the helper functions __print_symbolic() or
__print_flags() and pass in enums that do the mapping between the
binary data stored and the value to print. This works well for reading
the ASCII trace files, but when the data is read via userspace tools
such as perf and trace-cmd, the conversion of the binary value to a
human string format is lost if an enum is used, as userspace does not
have access to what the ENUM is.
For example, the tracepoint trace_tlb_flush() has:
__print_symbolic(REC->reason,
{ TLB_FLUSH_ON_TASK_SWITCH, "flush on task switch" },
{ TLB_REMOTE_SHOOTDOWN, "remote shootdown" },
{ TLB_LOCAL_SHOOTDOWN, "local shootdown" },
{ TLB_LOCAL_MM_SHOOTDOWN, "local mm shootdown" })
Which maps the enum values to the strings they represent. But perf and
trace-cmd do no know what value TLB_LOCAL_MM_SHOOTDOWN is, and would
not be able to map it.
With TRACE_DEFINE_ENUM(), developers can place these in the event header
files and ftrace will convert the enums to their values:
By adding:
TRACE_DEFINE_ENUM(TLB_FLUSH_ON_TASK_SWITCH);
TRACE_DEFINE_ENUM(TLB_REMOTE_SHOOTDOWN);
TRACE_DEFINE_ENUM(TLB_LOCAL_SHOOTDOWN);
TRACE_DEFINE_ENUM(TLB_LOCAL_MM_SHOOTDOWN);
$ cat /sys/kernel/debug/tracing/events/tlb/tlb_flush/format
[...]
__print_symbolic(REC->reason,
{ 0, "flush on task switch" },
{ 1, "remote shootdown" },
{ 2, "local shootdown" },
{ 3, "local mm shootdown" })
The above is what userspace expects to see, and tools do not need to
be modified to parse them.
Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx
Cc: Guilherme Cox <cox@xxxxxxxxxxxx>
Cc: Tony Luck <tony.luck@xxxxxxxxx>
Cc: Xie XiuQi <xiexiuqi@xxxxxxxxxx>
Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 889204278ccf98c5c097b1d1ae69babc6a3222fd
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Wed Apr 1 14:57:27 2015 -0400
tracing: Update trace-event-sample with TRACE_SYSTEM_VAR documentation
Add documentation about TRACE_SYSTEM needing to be alpha-numeric or with
underscores, and that if it is not, then the use of TRACE_SYSTEM_VAR is
required to make something that is.
An example of this is shown in samples/trace_events/trace-events-sample.h
Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit acd388fd3af350ab24c6ab6f19b83fc4a4f3aa60
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Tue Mar 31 14:37:12 2015 -0400
tracing: Give system name a pointer
Normally the compiler will use the same pointer for a string throughout
the file. But there's no guarantee of that happening. Later changes will
require that all events have the same pointer to the system string.
Name the system string and have all events point to it.
Testing this, it did not increases the size of the text, except for the
notes section, which should not harm the real size any.
Link: http://lkml.kernel.org/r/20150403013802.220157513@xxxxxxxxxxx
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 6e9dd8ddbdbb3b7aeba7fd9b987579534cfc260b
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Tue Apr 7 12:08:37 2015 -0400
brcmsmac: Move each system tracepoints to their own header
Every tracing file must have its own TRACE_SYSTEM defined.
The brcmsmac tracepoint header broke this and added in the middle
of the file:
#undef TRACE_SYSTEM
#define TRACE_SYSTEM brcmsmac
#undef TRACE_SYSTEM
#define TRACE_SYSTEM brcmsmac_tx
#undef TRACE_SYSTEM
#define TRACE_SYSTEM brcmsmac_msg
Unfortunately, this broke new code in the ftrace infrastructure.
Moving each of these TRACE_SYSTEMs into their own trace file with
just one TRACE_SYSTEM per file fixes the issue.
Link: http://lkml.kernel.org/r/5524D99C.1050902@xxxxxxxxxxxx
Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit c5ef935d01a29211551073f2620c93ba5ca897c4
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Tue Apr 7 11:25:14 2015 -0400
iwlwifi: Move each system tracepoints to their own header
Every tracing file must have its own TRACE_SYSTEM defined.
The iwlwifi tracepoint header broke this and added in the middle
of the file:
#undef TRACE_SYSTEM
#define TRACE_SYSTEM iwlwifi_io
#undef TRACE_SYSTEM
#define TRACE_SYSTEM iwlwifi_ucode
#undef TRACE_SYSTEM
#define TRACE_SYSTEM iwlwifi_msg
#undef TRACE_SYSTEM
#define TRACE_SYSTEM iwlwifi_data
#undef TRACE_SYSTEM
#define TRACE_SYSTEM iwlwifi
Unfortunately, this broke new code in the ftrace infrastructure.
Moving each of these TRACE_SYSTEMs into their own trace file with
just one TRACE_SYSTEM per file fixes the issue.
Link: http://lkml.kernel.org/r/1428479094.2809.3.camel@xxxxxxxxxxxxxxxx
Reviewed-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 177b0381c5e39180b237284231a02fa783a3af3b
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Wed Apr 8 15:11:16 2015 +0200
gpio: split GPIO drivers in submenus
Create Kconfig submenus for memory mapped, I2C, MFD,
PCI, SPI and USB GPIO drivers to help navigate the forest
of drivers in this subsystem. The I2C, SPI and USB menus
get dependencies so we don't have to see them unless we
have the required subsystem enabled in the first place.
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit be9cab5bed454acfb253fe703682bc05ed370e99
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Wed Apr 8 14:51:23 2015 +0200
gpio: move MFD GPIO drivers under their own comment
Get rid of AC97, MODULbus and other weird subheadings for
GPIO drivers. Move all MFD drivers out of I2C etc and in under
the MFD comment. This is too weird as it is and makes no
sense, if the dependent parent driver is MFD, group these as
MFD GPIO drivers. Alphabetize and move this comment group
inbetween "I2C" and "PCI" to also have the groups in
alphabetic order.
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 2c5e8c52c6354f77c4019357be8231bcc34456f8
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Tue Apr 7 11:09:54 2015 +0200
perf tools: Merge all perf_event_attr print functions
Currently there's 3 (that I found) different and incomplete
implementations of printing perf_event_attr.
This is quite silly. Merge the lot.
While this patch does not retain the exact form all printing that I
found is debug output and thus it should not be critical.
Also, I cannot find a single print_event_desc() caller.
Pre:
$ perf record -vv -e cycles -- sleep 1
------------------------------------------------------------
perf_event_attr:
type 0
size 104
config 0
sample_period 4000
sample_freq 4000
sample_type 0x107
read_format 0
disabled 1 inherit 1
pinned 0 exclusive 0
exclude_user 0 exclude_kernel 0
exclude_hv 0 exclude_idle 0
mmap 1 comm 1
mmap2 1 comm_exec 1
freq 1 inherit_stat 0
enable_on_exec 1 task 1
watermark 0 precise_ip 0
mmap_data 0 sample_id_all 1
exclude_host 0 exclude_guest 1
excl.callchain_kern 0 excl.callchain_user 0
wakeup_events 0
wakeup_watermark 0
bp_type 0
bp_addr 0
config1 0
bp_len 0
config2 0
branch_sample_type 0
sample_regs_user 0
sample_stack_user 0
sample_regs_intr 0
------------------------------------------------------------
$ perf evlist -vv
cycles: sample_freq=4000, size: 104, sample_type: IP|TID|TIME|PERIOD,
disabled: 1, inherit: 1, mmap: 1, mmap2: 1, comm: 1, comm_exec: 1,
freq: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1
Post:
$ ./perf record -vv -e cycles -- sleep 1
------------------------------------------------------------
perf_event_attr:
size 112
{ sample_period, sample_freq } 4000
sample_type IP|TID|TIME|PERIOD
disabled 1
inherit 1
mmap 1
comm 1
freq 1
enable_on_exec 1
task 1
sample_id_all 1
exclude_guest 1
mmap2 1
comm_exec 1
------------------------------------------------------------
$ ./perf evlist -vv
cycles: size: 112, { sample_period, sample_freq }: 4000, sample_type:
IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq:
1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1,
mmap2: 1, comm_exec: 1
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Acked-by: Ingo Molnar <mingo@xxxxxxxxxx>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150407091150.644238729@xxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 814c8c38e13c7050259c72f89bb01f3fc903f642
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Tue Mar 31 00:19:31 2015 +0200
perf record: Add clockid parameter
Teach perf-record about the new perf_event_attr::{use_clockid, clockid}
fields. Add a simple parameter to set the clock (if any) to be used for
the events to be recorded into the data file.
Since we store the entire perf_event_attr in the EVENT_DESC section we
also already store the used clockid in the data file.
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: David Ahern <dsahern@xxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Yunlong Song <yunlong.song@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/20150407154851.GR23123@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[ Conditionally define CLOCK_BOOTTIME, at least rhel6 doesn't have it -
dsahern
Ditto for CLOCK_MONOTONIC_RAW, sles11sp2 doesn't have it - yunlong.song
]
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit ea948cff41999cdf891e955cf08a8f918e3a1546
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Wed Apr 8 14:36:17 2015 +0200
gpio: move BCM Kona Kconfig option
Move the Kconfig option for the Broadcom BCM Kona up to the
commin GPIO controllers, as it is currently grouped under
MODULbus expanders which it definately is not.
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit a7ec2e7f150c193f3ea6ffd6bf7b6cedfbdc7a25
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Wed Apr 8 14:34:51 2015 +0200
gpio: arrange SPI Kconfig symbols alphabetically
Rearrange the SPI GPIO expanders in alphabetic order
as already indicated by the comment in the file.
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 92c33ef7ef1ed232199ffaeecbe65b7b6fab2302
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Wed Apr 8 14:30:37 2015 +0200
gpio: arrange PCI GPIO controllers alphabetically
Rearrange PCI GPIO controllers in alphabetic order
as already indicated by the comment in the file.
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit bf5a16bae51808d1748508f122bacd858bad2837
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Wed Apr 8 14:14:40 2015 +0200
gpio: arrange I2C Kconfig symbols alphabetically
Rearrange the I2C GPIO expanders in alphabetic order
as already indicated by the comment in the file.
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit ff5f3bbd40bfb8632f826f1f83223d95363f36af
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Tue Mar 31 21:46:36 2015 +0800
perf sched replay: Use replay_repeat to calculate the runavg of cpu usage
instead of the default value 10
Since sched->replay_repeat is set to 10 as default, the sched->run_avg,
sched->runavg_cpu_usage, and sched->runavg_parent_cpu_usage all use
10 to calculate their value.
However, the replay_repeat can be changed to other value by using -r
option, so the calculation above should use replay_repeat to achieve
more accurate results instead of the default value 10.
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427809596-29559-10-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit f0dd330fdf07d295ac468660cf60341796d5d501
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Tue Mar 31 21:46:35 2015 +0800
perf sched replay: Support using -f to override perf.data file ownership
Enable to use perf.data when it is not owned by current user or root.
Example:
$ ls -al perf.data
-rw------- 1 Yunlong.Song Yunlong.Song 5321918 Mar 25 15:14 perf.data
$ sudo id
uid=0(root) gid=0(root) groups=0(root),64(pkcs11)
Before this patch:
$ sudo perf sched replay -f
run measurement overhead: 98 nsecs
sleep measurement overhead: 52909 nsecs
the run test took 1000015 nsecs
the sleep test took 1054253 nsecs
File perf.data not owned by current user or root (use -f to override)
As shown above, the -f option does not work at all.
After this patch:
$ sudo perf sched replay -f
run measurement overhead: 221 nsecs
sleep measurement overhead: 40514 nsecs
the run test took 1000003 nsecs
the sleep test took 1056098 nsecs
nr_run_events: 10
nr_sleep_events: 1562
nr_wakeup_events: 5
task 0 ( :1: 1), nr_events: 1
task 1 ( :2: 2), nr_events: 1
task 2 ( :3: 3), nr_events: 1
...
...
task 1549 ( :163132: 163132), nr_events: 1
task 1550 ( :163540: 163540), nr_events: 1
task 1551 ( <unknown>: 0), nr_events: 10
------------------------------------------------------------
#1 : 50.198, ravg: 50.20, cpu: 2335.18 / 2335.18
#2 : 219.099, ravg: 67.09, cpu: 2835.11 / 2385.17
#3 : 238.626, ravg: 84.24, cpu: 3278.26 / 2474.48
#4 : 200.364, ravg: 95.85, cpu: 2977.41 / 2524.77
#5 : 176.882, ravg: 103.96, cpu: 2801.35 / 2552.43
#6 : 191.093, ravg: 112.67, cpu: 2813.70 / 2578.56
#7 : 189.448, ravg: 120.35, cpu: 2809.21 / 2601.62
#8 : 200.637, ravg: 128.38, cpu: 2849.91 / 2626.45
#9 : 248.338, ravg: 140.37, cpu: 4380.61 / 2801.87
#10 : 511.139, ravg: 177.45, cpu: 3077.73 / 2829.45
As shown above, the -f option really works now.
Besides for replay, -f option can also work for latency and map.
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427809596-29559-9-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 939cda521a24ae4dbf3beec983abd519bce56231
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Tue Mar 31 21:46:34 2015 +0800
perf sched replay: Fix the EMFILE error caused by the limitation of the
maximum open files
The soft maximum number of open files for a calling process is 1024,
which is defined as INR_OPEN_CUR in include/uapi/linux/fs.h, and the
hard maximum number of open files for a calling process is 4096, which
is defined as INR_OPEN_MAX in include/uapi/linux/fs.h.
Both INR_OPEN_CUR and INR_OPEN_MAX are used to limit the value of
RLIMIT_NOFILE in include/asm-generic/resource.h.
And the soft maximum number finally decides the limitation of the
maximum files which are allowed to be opened.
That is to say a process can use at most 1024 file descriptors for its
o pened files, or an EMFILE error will happen.
This error can be fixed by increasing the soft maximum number, under the
constraint that the soft maximum number can not exceed the hard maximum
number, or both soft and hard maximum number should be increased
simultaneously with privilege.
For perf sched replay, it uses sys_perf_event_open to create the file
descriptor for each of the tasks in order to handle information of perf
events.
That is to say each task needs a unique file descriptor. In x86_64,
there may be over 1024 or 4096 tasks correspoinding to the record in
perf.data, which causes that no enough file descriptors can be used.
As a result, EMFILE error happens and stops the replay process. To solve
this problem, we adaptively increase the soft and hard maximum number of
open files with a '-f' option.
Example:
Test environment: x86_64 with 160 cores
$ cat /proc/sys/kernel/pid_max
163840
$ cat /proc/sys/fs/file-max
6815744
$ ulimit -Sn
1024
$ ulimit -Hn
4096
Before this patch:
$ perf sched replay
...
task 1549 ( :163132: 163132), nr_events: 1
task 1550 ( :163540: 163540), nr_events: 1
task 1551 ( <unknown>: 0), nr_events: 10
Error: sys_perf_event_open() syscall returned with -1 (Too many open
files)
After this patch:
$ perf sched replay
...
task 1549 ( :163132: 163132), nr_events: 1
task 1550 ( :163540: 163540), nr_events: 1
task 1551 ( <unknown>: 0), nr_events: 10
Error: sys_perf_event_open() syscall returned with -1 (Too many open
files)
Have a try with -f option
$ perf sched replay -f
...
task 1549 ( :163132: 163132), nr_events: 1
task 1550 ( :163540: 163540), nr_events: 1
task 1551 ( <unknown>: 0), nr_events: 10
------------------------------------------------------------
#1 : 54.401, ravg: 54.40, cpu: 3285.21 / 3285.21
#2 : 199.548, ravg: 68.92, cpu: 4999.65 / 3456.66
#3 : 170.483, ravg: 79.07, cpu: 1349.94 / 3245.99
#4 : 192.034, ravg: 90.37, cpu: 1322.88 / 3053.67
#5 : 182.929, ravg: 99.62, cpu: 1406.51 / 2888.96
#6 : 152.974, ravg: 104.96, cpu: 1167.54 / 2716.82
#7 : 155.579, ravg: 110.02, cpu: 2992.53 / 2744.39
#8 : 130.557, ravg: 112.08, cpu: 1126.43 / 2582.59
#9 : 138.520, ravg: 114.72, cpu: 1253.22 / 2449.65
#10 : 134.328, ravg: 116.68, cpu: 1587.95 / 2363.48
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427809596-29559-8-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 1aff59be53ef37aa9943fb5f772f03148f789bb6
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Tue Mar 31 21:46:33 2015 +0800
perf sched replay: Handle the dead halt of sem_wait when create_tasks()
fails for any task
Since there is sem_wait for each task in the wait_for_tasks(), e.g.
sem_wait(&task->work_done_sem).
The sem_wait can continue only when work_done_sem is greater than 0, or
it will be blocked.
For perf sched replay, one task may sem_post the work_done_sem of
another task, which causes the work_done_sem of that task processed in a
reasonable sequence, e.g. sem_post, sem_wait, sem_wait, sem_post...
This sequence simulates the sched process of the running tasks at the
time when perf sched record runs.
As a result, all the tasks are required and their threads must be
successfully created.
If any one (task A) of the tasks fails to create its thread, then
another task (task B), whose work_done_sem needs sem_post from that
failed task A, may likely block itself due to seg_wait.
And this is a dead halt, since task B's thread_func cannot continue at
all.
To solve this problem, perf sched replay should exit once any task fails
to create its thread.
Example:
Test environment: x86_64 with 160 cores
Before this patch:
$ perf sched replay
...
Error: sys_perf_event_open() syscall returned with -1 (Too many open
files)
------------------------------------------------------------ <- dead
halt
After this patch:
$ perf sched replay
...
task 1551 ( <unknown>: 0), nr_events: 10
Error: sys_perf_event_open() syscall returned with -1 (Too many open
files)
$
As shown above, perf sched replay finishes the process after printing an
error message and does not block itself.
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427809596-29559-7-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 08097abc11bcee21355dd857852a807b2a30b79f
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Tue Mar 31 21:46:32 2015 +0800
perf sched replay: Fix the segmentation fault problem caused by pr_err in
threads
The pr_err in self_open_counters() prints error message to stderr.
Unlike stdout, stderr uses memory buffer on the stack of each calling
process.
The pr_err in self_open_counters() works in a thread called thread_func
created in function create_tasks, which concurrently creates
sched->nr_tasks threads.
If the error happens and pr_err prints the error message in each of
these threads, the stack size of the perf process (default is 8192
kbytes) will quickly run out and the segmentation fault will happen
then.
To solve this problem, pr_err with self_open_counters() should be moved
from newly created threads to the old main thread of the perf process.
Then the pr_err can work in a stable situation without the strange
segmentation fault problem.
Example:
Test environment: x86_64 with 160 cores
Before this patch:
$ perf sched replay
...
task 1549 ( :163132: 163132), nr_events: 1
task 1550 ( :163540: 163540), nr_events: 1
task 1551 ( <unknown>: 0), nr_events: 10
Segmentation fault
After this patch:
$ perf sched replay
...
task 1549 ( :163132: 163132), nr_events: 1
task 1550 ( :163540: 163540), nr_events: 1
task 1551 ( <unknown>: 0), nr_events: 10
...
As shown above, the result continues without any segmentation fault.
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427809596-29559-6-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 3a423a5c36d1a28a258beaa7db855568b82d07ab
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Tue Mar 31 21:46:31 2015 +0800
perf sched replay: Realloc the memory of pid_to_task stepwise to adapt to
the different pid_max configurations
Although the memory of pid_to_task can be allocated via calloc according
to the value of /proc/sys/kernel/pid_max, it cannot handle the case when
pid_max is changed after 'perf sched record' has created its perf.data.
If the new pid_max configured in 'perf sched replay' is smaller than the
old pid_max configured in 'perf sched record', then it will cause the
assertion failure problem.
To solve this problem, we realloc the memory of pid_to_task stepwise
once the passed-in pid parameter in register_pid is larger than the
current pid_max.
Example:
Test environment: x86_64 with 160 cores
$ cat /proc/sys/kernel/pid_max
163840
$ perf sched record ls
$ echo 5000 > /proc/sys/kernel/pid_max
$ cat /proc/sys/kernel/pid_max
5000
Before this patch:
$ perf sched replay
run measurement overhead: 221 nsecs
sleep measurement overhead: 55356 nsecs
the run test took 1000011 nsecs
the sleep test took 1060940 nsecs
perf: builtin-sched.c:337: register_pid: Assertion `!(pid >= (unsigned
long)pid_max)' failed.
Aborted
After this patch:
$ perf sched replay
run measurement overhead: 221 nsecs
sleep measurement overhead: 55611 nsecs
the run test took 1000026 nsecs
the sleep test took 1060486 nsecs
nr_run_events: 10
nr_sleep_events: 1562
nr_wakeup_events: 5
task 0 ( :1: 1), nr_events: 1
task 1 ( :2: 2), nr_events: 1
task 2 ( :3: 3), nr_events: 1
task 3 ( :5: 5), nr_events: 1
...
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427809596-29559-5-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit cb06ac256a16fc1a5ab063107c2b35b3b9e95102
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Tue Mar 31 21:46:30 2015 +0800
perf sched replay: Alloc the memory of pid_to_task dynamically to adapt
to the unexpected change of pid_max
The current memory allocation of struct task_desc *pid_to_task[MAX_PID]
is in a permanent and preset way, and it has two problems:
Problem 1: If the pid_max, which is the max number of pids in the
system, is much smaller than MAX_PID (1024*1000), then it causes a waste
of stack memory. This may happen in the case where the number of cpu
cores is much smaller than 1000.
Problem 2: If the pid_max is changed from the default value to a value
larger than MAX_PID, then it will cause assertion failure problem. The
maximum value of pid_max can be set to pid_max_max (see pidmap_init
defined in kernel/pid.c), which equals to PID_MAX_LIMIT. In x86_64,
PID_MAX_LIMIT is 4*1024*1024 (defined in include/linux/threads.h). This
value is much larger than MAX_PID, and will take up 32768 Kbytes
(4*1024*1024*8/1024) for memory allocation of pid_to_task, which is much
larger than the default 8192 Kbytes of the stack size of calling
process.
Due to these two problems, we use calloc to allocate the memory of
pid_to_task dynamically.
Example:
Test environment: x86_64 with 160 cores
$ cat /proc/sys/kernel/pid_max
163840
$ echo 1025000 > /proc/sys/kernel/pid_max
$ cat /proc/sys/kernel/pid_max
1025000
Run some applications until the pid of some process is greater than
the value of MAX_PID (1024*1000).
Before this patch:
$ perf sched replay
run measurement overhead: 221 nsecs
sleep measurement overhead: 55480 nsecs
the run test took 1000008 nsecs
the sleep test took 1063151 nsecs
perf: builtin-sched.c:330: register_pid: Assertion `!(pid >= 1024000)'
failed.
Aborted
After this patch:
$ perf sched replay
run measurement overhead: 221 nsecs
sleep measurement overhead: 55435 nsecs
the run test took 1000004 nsecs
the sleep test took 1059312 nsecs
nr_run_events: 10
nr_sleep_events: 1562
nr_wakeup_events: 5
task 0 ( :1: 1), nr_events: 1
task 1 ( :2: 2), nr_events: 1
task 2 ( :3: 3), nr_events: 1
task 3 ( :5: 5), nr_events: 1
...
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427809596-29559-4-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit a35e27d0e5d801ff75481a8f639bb4d59ea1aafa
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Tue Mar 31 21:46:29 2015 +0800
perf sched replay: Increase the MAX_PID value to fix assertion failure
problem
Current MAX_PID is only 65536, which will cause assertion failure problem
when CPU cores are more than 64 in x86_64.
This is because the pid_max value in x86_64 is at least
PIDS_PER_CPU_DEFAULT * num_possible_cpus() (see function pidmap_init
defined in kernel/pid.c), where PIDS_PER_CPU_DEFAULT is 1024 (defined in
include/linux/threads.h).
Thus for MAX_PID = 65536, the correspoinding CPU cores are
65536/1024=64. This is obviously not enough at all for x86_64, and will
cause an assertion failure problem due to BUG_ON(pid >= MAX_PID) in the
codes.
We increase MAX_PID value from 65536 to 1024*1000, which can be used in
x86_64 with 1000 cores.
This number is finally decided according to the limitation of stack size
of calling process.
Use 'ulimit -a', the result shows the stack size of any process is 8192
Kbytes, which is defined in include/uapi/linux/resource.h (#define
_STK_LIM (8*1024*1024)).
Thus we choose a large enough value for MAX_PID, and make it satisfy to
the limitation of the stack size, i.e., making the perf process take up
a memory space just smaller than 8192 Kbytes.
We have calculated and tested that 1024*1000 is OK for MAX_PID.
This means perf sched replay can now be used with at most 1000 cores in
x86_64 without any assertion failure problem.
Example:
Test environment: x86_64 with 160 cores
$ cat /proc/sys/kernel/pid_max
163840
Before this patch:
$ perf sched replay
run measurement overhead: 240 nsecs
sleep measurement overhead: 55379 nsecs
the run test took 1000004 nsecs
the sleep test took 1059424 nsecs
perf: builtin-sched.c:330: register_pid: Assertion `!(pid >= 65536)'
failed.
Aborted
After this patch:
$ perf sched replay
run measurement overhead: 221 nsecs
sleep measurement overhead: 55397 nsecs
the run test took 999920 nsecs
the sleep test took 1053313 nsecs
nr_run_events: 10
nr_sleep_events: 1562
nr_wakeup_events: 5
task 0 ( :1: 1), nr_events: 1
task 1 ( :2: 2), nr_events: 1
task 2 ( :3: 3), nr_events: 1
task 3 ( :5: 5), nr_events: 1
...
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427809596-29559-3-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 0755bc4dc77a876aa60d4b3d33b5f6506f21f91b
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Tue Mar 31 21:46:28 2015 +0800
perf sched replay: Use struct task_desc instead of struct task_task for
correct meaning
There is no struct task_task at all, thus it is a typo error in the old
commits, now fix it to what it should be in order to avoid unnecessary
misunderstanding.
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427809596-29559-2-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 28939e1a1f6d198239d86b1d77fa9fd55773189a
Author: Jiri Olsa <jolsa@xxxxxxxxxx>
Date: Mon Apr 6 14:36:08 2015 +0900
perf kmem: Respect -i option
Currently the perf kmem does not respect -i option.
Initializing the file.path properly after options get parsed.
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Joonsoo Kim <js1304@xxxxxxxxx>
Cc: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: linux-mm@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1428298576-9785-2-git-send-email-namhyung@xxxxxxxxxx
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 3201f0dc42f7fad9387afc4692cea3d0c730cba2
Author: Namhyung Kim <namhyung@xxxxxxxxxx>
Date: Mon Apr 6 14:36:16 2015 +0900
tools lib traceevent: Honor operator priority
Currently it ignores operator priority and just sets processed args as a
right operand. But it could result in priority inversion in case that
the right operand is also a operator arg and its priority is lower.
For example, following print format is from new kmem events.
"page=%p", REC->pfn != -1UL ? (((struct page *)(0xffffea0000000000UL))
+ (REC->pfn)) : ((void *)0)
But this was treated as below:
REC->pfn != ((null - 1UL) ? ((struct page *)0xffffea0000000000UL +
REC->pfn) : (void *) 0)
In this case, the right arg was '?' operator which has lower priority.
But it just sets the whole arg so making the output confusing - page was
always 0 or 1 since that's the result of logical operation.
With this patch, it can handle it properly like following:
((REC->pfn != (null - 1UL)) ? ((struct page *)0xffffea0000000000UL +
REC->pfn) : (void *) 0)
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Joonsoo Kim <js1304@xxxxxxxxx>
Cc: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: linux-mm@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1428298576-9785-10-git-send-email-namhyung@xxxxxxxxxx
[ Replaced 'swap' with 'rotate' in a comment as requested by Steve and
agreed by Namhyung ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit ba92732e9808df679ddf75c5ea1c0caae6d7dce2
Author: Wang Nan <wangnan0@xxxxxxxxxx>
Date: Tue Apr 7 08:22:45 2015 +0000
perf kmaps: Check kmaps to make code more robust
This patch add checks in places where map__kmap is used to get kmaps
from struct kmap.
Error messages are added at map__kmap to warn invalid accessing of kmap
(for the case of !map->dso->kernel, kmap(map) does not exists at all).
Also, introduces map__kmaps() to warn uninitialized kmaps.
Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>
Cc: pi3orama@xxxxxxx
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Zefan Li <lizefan@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428394966-131044-2-git-send-email-wangnan0@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 8ea92ceb748535799e3e9f35afb85bdc23bf6d7c
Author: He Kuang <hekuang@xxxxxxxxxx>
Date: Tue Apr 7 17:31:10 2015 +0800
perf evlist: Fix inverted logic in perf_mmap__empty
perf_evlist__mmap_consume() uses perf_mmap__empty() to judge whether
perf_mmap is empty and can be released. But the result is inverted so
fix it.
Signed-off-by: He Kuang <hekuang@xxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428399071-7141-1-git-send-email-hekuang@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 664c715573c2c116c2d8f5de7d59ce85a98a1751
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Wed Apr 8 11:43:14 2015 +0200
ALSA: hda - Work around races of power up/down with runtime PM
Currently, snd_hdac_power_up()/down() helpers checks whether the codec
is being in pm (suspend/resume), and skips the call of runtime get/put
during it. This is needed as there are lots of power up/down
sequences called in the paths that are also used in the PM itself. An
example is found in hda_codec.c::codec_exec_verb(), where this can
power up the codec while it may be called again in its power up
sequence, too.
The above works in most cases, but sometimes we really want to wait
for the real power up. For example, the control element get/put may
want explicit power up so that the value change is assured to reach to
the hardware. Using the current snd_hdac_power_up(), however,
results in a race, e.g. when it's called during the runtime suspend is
being performed. In the worst case, as found in patch_ca0132.c, it
can even lead to the deadlock because the code assumes the power up
while it was skipped due to the check above.
For dealing with such cases, this patch makes snd_hdac_power_up() and
_down() to two variants: with and without in_pm flag check. The
version with pm flag check is named as snd_hdac_power_up_pm() while
the version without pm flag check is still kept as
snd_hdac_power_up(). (Just because the usage of the former is fewer.)
Then finally, the patch replaces each call potentially done in PM with
the new _pm() variant.
In theory, we can implement a unified version -- if we can distinguish
the current context whether it's in the pm path. But such an
implementation is cumbersome, so leave the code like this a bit messy
way for now...
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=96271
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 67a260f1eb5020888b157794007b4bdabdd85898
Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx>
Date: Thu Feb 12 19:11:47 2015 -0300
[media] dib0700: remove unused macros
Remove unused macros RC_REPEAT_DELAY and RC_REPEAT_DELAY_V1_20
Signed-off-by: Luis de Bethencourt <luis.bg@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit ce8ae17c5d86db92cecd8291ad6a137dc19031ad
Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Date: Mon Apr 6 16:34:00 2015 -0700
regulator: qcom: Tidy up probe()
Tidy up error reporting and move rpm reference retrieval out of the for
loop for improved readability.
Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 087a1b5cdd555970feb8a340dc008b6914f05128
Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Date: Mon Apr 6 16:33:59 2015 -0700
regulator: qcom: Rework to single platform device
Modeling the individual RPM resources as platform devices consumes at
least 12-15kb of RAM, just to hold the platform_device structs. Rework
this to instead have one device per pmic exposed by the RPM.
With this representation we can more accurately define the input pins on
the pmic and have the supply description match the data sheet.
Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 469a951446460da843028014a90100428ff6e0c1
Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Date: Mon Apr 6 16:33:58 2015 -0700
regulator: qcom: Refactor of-parsing code
Refactor out all custom property parsing code from the probe function
into a function suitable for regulator_desc->of_parse_cb usage.
Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 4d1e4d629a484b725d5fc88d7e0f967435ab6edd
Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Date: Mon Apr 6 16:33:57 2015 -0700
regulator: qcom: Don't enable DRMS in driver
The driver itself should not flag regulators as being DRMS compatible,
this should come from board or dt files.
Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit ec73b9fdc7c4fe3da8937a8e7b6a03a1e002d6ac
Author: Christian Engelmayer <cengelma@xxxxxx>
Date: Wed Feb 11 17:58:23 2015 -0300
[media] si2165: Fix possible leak in si2165_upload_firmware()
In case of an error function si2165_upload_firmware() releases the already
requested firmware in the exit path. However, there is one deviation where
the function directly returns. Use the correct cleanup so that the
firmware
memory gets freed correctly. Detected by Coverity CID 1269120.
Signed-off-by: Christian Engelmayer <cengelma@xxxxxx>
Signed-off-by: Matthias Schwarzott <zzam@xxxxxxxxxx>
Reviewed-by: Luis de Bethencourt <luis.bg@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 1cba0c305758c3c1786ecaceb03e142c95a4edc9
Author: Michal Marek <mmarek@xxxxxxx>
Date: Wed Apr 8 11:11:57 2015 +0200
kconfig: Simplify Makefile
Use a single rule for targets handled directly by the conf program.
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit dfb85ba1140ab649f6f0bf3e502ac37c0f69dbcb
Author: Colin Ian King <colin.king@xxxxxxxxxxxxx>
Date: Tue Apr 7 23:06:46 2015 +0100
regulator: max8660: fix assignment of pdata to data that becomes dead
pdata is assigned to &pdata_of, however, pdata_of becomes dead (when it
goes out of scope) so pdata effectively becomes a dead pointer to the
out of scope object. This is detected by static analysis:
[drivers/regulator/max8660.c:411]: (error) Dead pointer usage.
Pointer 'pdata' is dead if it has been assigned '&pdata_of' at line 404.
Move declaration of pdata_of so it is always in scope.
Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 51b5b3d6c96ee244c51ec57265fc3c5ae5897610
Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx>
Date: Thu Feb 5 07:09:10 2015 -0300
[media] s5k5baf: Add missing error check for devm_kzalloc
This patch add a missing a check on the return value of devm_kzalloc,
which would cause a NULL pointer dereference in a OOM situation.
Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx>
Acked-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 5ed1c328ea077d70e1ebcd5188dc77cdc754df3a
Author: KyongHo Cho <pullip.cho@xxxxxxxxxxx>
Date: Thu Feb 5 02:52:42 2015 -0300
[media] v4l: vb2-memops: use vma slab when vma allocation
The slab for vm_area_struct which is vm_area_cachep is already prepared
for the general use. Instead of kmalloc() for the vma copy for userptr,
allocation from vm_area_cachep is more beneficial.
CC: Hans Verkuil <hans.verkuil@xxxxxxxxx>
CC: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Cho KyongHo <pullip.cho@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit cc4e8c3dc95369c08615a4151bce8506b00356d9
Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx>
Date: Wed Feb 4 13:48:14 2015 -0300
[media] rc: img-ir: Add and enable sys clock for img-ir
Gets a handle to the system clock, already described in the binding
document, and calls the appropriate common clock framework functions
to mark it prepared/enabled, the common clock framework initially
enables the clock and doesn't disable it at least until the
device/driver is removed.
It's important the systen clock is enabled before register interface is
accessed by the driver.
The system clock to IR is needed for the driver to communicate with the
IR hardware via MMIO accesses on the system bus, so it must not be
disabled during use or the driver will malfunction.
Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx>
Acked-by: James Hogan <james.hogan@xxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit a2bbf5d05918a3156e9854a7144a8b2806badb53
Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Feb 3 12:47:48 2015 -0300
[media] DVB: Less function calls in dvb_ca_en50221_init() after error
detection
The functions "dvb_unregister_device" and "kfree" could still be called
by the dvb_ca_en50221_init() function in the case that a previous resource
allocation failed.
* Corresponding details could be improved by adjustments for jump targets.
* Let us delete also an unnecessary check for the variable "ca" there.
Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 07d0e554b5d10522b4cd6448108c0ad16403fea6
Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Feb 3 12:01:40 2015 -0300
[media] DVB: Delete an unnecessary check before the function call
"dvb_unregister_device"
The dvb_unregister_device() 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@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit e68c2fe64c52c33e55f2d259d41a956a9e1f2a83
Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx>
Date: Wed Feb 4 10:42:12 2015 -0300
[media] dvb-usb: fix spaces after commas
Fixing a few checkpatch errors of type: space required after that ','
Signed-off-by: Luis de Bethencourt <luis.bg@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 5164d6aac0ed1b711a7b29bb556844e40f422ec6
Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Feb 3 11:27:38 2015 -0300
[media] V4L2: Delete an unnecessary check before the function call
"media_entity_put"
The media_entity_put() 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@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 0ea4bce7c09e29dc0a1891f6c7ba17794ec5f2b1
Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue Feb 3 11:05:26 2015 -0300
[media] sp2: Delete an unnecessary check before the function call "kfree"
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@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit ede8342bf63166e8d8fc3c05fc0985b27cc8186b
Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx>
Date: Mon Apr 6 14:29:06 2015 -0700
spi: img-spfi: Setup TRANSACTION register before CONTROL register
Setting the transfer length in the TRANSACTION register after the
CONTROL register is programmed causes intermittent timeout issues in
SPFI transfers when using the SPI framework to control the CS GPIO
lines. To avoid this issue, set transfer length before programming
the CONTROL register.
Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx>
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 8e64aedf80ae14b852abc0d7ca262530b69e9a18
Author: Jie Yang <yang.jie@xxxxxxxxx>
Date: Tue Apr 7 20:14:59 2015 +0800
ASoC: Intel: Fix a buffer overflow issue
0day robot reported a buffer overflow issue:
...
sound/soc/intel/haswell/sst-haswell-pcm.c:1107 hsw_pcm_probe() error:
buffer\
overflow 'hsw_dais' 4 <= 4
sound/soc/intel/haswell/sst-haswell-pcm.c:1109 hsw_pcm_probe() error:
buffer\
overflow 'hsw_dais' 4 <= 4
...
Fix it by initializing the index(i) to correct value.
Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 275350a0467ef50c3d9a820fe7a45a9c01a69d18
Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Date: Mon Jan 12 16:10:02 2015 -0300
[media] r820t: enable flt_ext_wide for SYS_DVBC_ANNEX_A standard
Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit d03b550910e6ad99a56b0d3a17163df13810e816
Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Date: Mon Jan 12 16:10:03 2015 -0300
[media] r820t: add settings for SYS_DVBC_ANNEX_C standard
Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit f5c5179b9a8ab8e3255f78e233d94ea54f23f832
Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Date: Tue Mar 31 12:41:55 2015 +0200
mmc: core: Convert the error field in struct mmc_command|data into an int
Everybody expects the error field in the struct mmc_command|data to be
and int but it's actually an unsigned int. Let's convert it into an int
to meet the expectations.
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 16b23787fc709fe60c5d2bd05927b1a3da33d4e9
Author: Michal Simek <michal.simek@xxxxxxxxxx>
Date: Tue Apr 7 07:57:32 2015 +0200
mmc: sdhci-of-arasan: Call OF parsing for MMC
Also check MMC OF properties. The controller supports MMC too.
Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit e30b978f17446d10dcb92c6979b4da9991a18005
Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx>
Date: Tue Apr 7 11:32:01 2015 +0800
mmc: sdhci-pci: fix 64 BIT DMA quirks for rtsx
rts5250 chip failed handle 64 bit ADMA for address below 4G.
Add 64 BIT quirks to disable this feature.
Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 021cd2d21b5d68d6e7c1edb468e990e1c0caf6fb
Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Date: Fri Dec 5 21:25:33 2014 -0300
[media] mn88472: add ts mode and ts clock to driver
Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Reviewed-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit d8da7513bcf9834abbb1963f909f96a9f513dd65
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:34:11 2015 -0300
[media] uvc: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit d4352f3639d780f1727c26708cb511a3e3702226
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:34:06 2015 -0300
[media] em28xx: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 23fb4c5ea11814f48249ea3ab9f3ddb4dff77be1
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:34:02 2015 -0300
[media] bttv: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 34080bc25fa04e07691e853cd516c431b67be5f4
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:34:00 2015 -0300
[media] cx88: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 55cda4ab5386418b31e626e91bbf4eedf209b9bb
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Thu Apr 2 08:34:31 2015 -0300
[media] cx18: replace cropping ioctls by selection ioctls
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 3a29a4f177e99af0d80b5c4396a7aa1e9418742c
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Thu Apr 2 08:34:30 2015 -0300
[media] cx18: fix VIDIOC_ENUMINPUT: wrong std value
The std field of v4l2_input is always V4L2_STD_ALL. For tuner inputs
this should be cx->tuner_std.
This fixes a v4l2-compliance failure.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 142267c9e026827ca5fa622f1f13780b6db26cf8
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Wed Apr 8 11:41:59 2015 +0200
ALSA: hda - Create AFG sysfs node at last
... so that user-space can know that the whole nodes have been
created. Unfortunately, this can't be implemented easily in race-free
way, so it's a kind of compromise.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit eaa80c44d69a790feab29ccb07ced5ac38e98e4d
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Thu Apr 2 08:34:29 2015 -0300
[media] cx18: add support for control events
v4l2-compliance failed due to missing control event support in cx18.
Add this to the driver.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit b36ae8532f48916d46f92c048d4866ee50e5fc67
Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Date: Thu Mar 26 17:47:53 2015 -0300
[media] media: radio-si4713: improve usage of gpiod API
Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions)
which appeared in v3.17-rc1, the gpiod_get* functions take an additional
parameter that allows to specify direction and initial value for output.
Simplify accordingly.
Moreover use the _optional variant which has tighter error checking, but
is simpler to use which allows further simplification.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 4a203349593a636bff46c49be3f955e0a0c0b0d2
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Fri Mar 20 14:05:06 2015 -0300
[media] vivid: use V4L2_DV_FL_IS_CE_VIDEO instead of V4L2_DV_BT_STD_CEA861
Don't rely on V4L2_DV_BT_STD_CEA861 since that include the
640x480p format, which is an IT format, not CE.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 680fee04a227d60dca5850e55597a09d15b92eb3
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Fri Mar 20 14:05:05 2015 -0300
[media] adv: use V4L2_DV_FL_IS_CE_VIDEO instead of V4L2_DV_BT_STD_CEA861
Don't rely on V4L2_DV_BT_STD_CEA861 since that include the
640x480p format, which is an IT format, not CE.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Cc: Martin Bugge <marbugge@xxxxxxxxx>
Cc: Mats Randgaard <mats.randgaard@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 8b44b4e513a8da1d68759897445431b5d2e99d91
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Fri Mar 20 14:05:04 2015 -0300
[media] DocBook media: document the new V4L2_DV_FL_IS_CE_VIDEO flag
Document this new flag.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Cc: Martin Bugge <marbugge@xxxxxxxxx>
Cc: Mats Randgaard <mats.randgaard@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit e1e62b98ebddc3234f3259019d3236f66fc667f8
Author: Kailang Yang <kailang@xxxxxxxxxxx>
Date: Wed Apr 8 16:01:22 2015 +0800
ALSA: hda/realtek - Support Dell headset mode for ALC288
Dell create new platform with ALC288 codec.
This patch will enable headset mode for Dino platform.
[slight code refactoring and compile fix by tiwai]
Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 74d802d8888667fce5d943f6e415d04418c2ee29
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Fri Apr 3 06:27:02 2015 -0300
[media] v4l2-dv-timings: log new V4L2_DV_FL_IS_CE_VIDEO flag
Add support for the new flag to v4l2_print_dv_timings().
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 5ce65d1f874ddc109780fc781bb3b099bff82001
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Fri Mar 20 14:05:03 2015 -0300
[media] videodev2.h/v4l2-dv-timings.h: add V4L2_DV_FL_IS_CE_VIDEO flag
In the past the V4L2_DV_BT_STD_CEA861 standard bit was used to
determine whether the format is a CE (Consumer Electronics) format
or not. However, the 640x480p59.94 format is part of the CEA-861
standard, but it is *not* a CE video format.
Add a new flag to make this explicit. This information is needed
in order to determine the default R'G'B' encoding for the format:
for CE video this is limited range (16-235) instead of full range
(0-255).
The header with all the timings has been updated with this new
flag.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Cc: Martin Bugge <marbugge@xxxxxxxxx>
Cc: Mats Randgaard <mats.randgaard@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit acd2b672b45e557829c1f080e46457586aab9d74
Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx>
Date: Fri Mar 20 11:13:14 2015 -0300
[media] media/Documentation: New flag EXECUTE_ON_WRITE
Document new flag V4L2_CTRL_FLAG_EXECUTE_ON_WRITE, and the new behavior
of CH_VALUE event on VOLATILE controls.
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 45f014c5264f5e68ef0e51b36f4ef5ede3d18397
Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx>
Date: Fri Mar 20 10:55:37 2015 -0300
[media] media/v4l2-ctrls: Always execute EXECUTE_ON_WRITE ctrls
Any control with V4L2_CTRL_FLAG_EXECUTE_ON_WRITE set should return
changed == true in cluster_changed.
This forces the value to be passed to the driver even if it has not
changed.
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit ef66c0ca09595d72f058b11bd7b542b0d95a1350
Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx>
Date: Fri Mar 20 11:21:28 2015 -0300
[media] media/v4l2-ctrls: Add execute flags to write_only controls
Any control that sets FLAG_WRITE_ONLY should OR it with
FLAG_EXECUTE_ON_WRITE.
So we can keep the current meaning of WRITE_ONLY.
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit b6e5b8f1a90230f922de8af59cdaf1ad83e1ac1e
Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx>
Date: Fri Mar 20 10:45:43 2015 -0300
[media] media: New flag V4L2_CTRL_FLAG_EXECUTE_ON_WRITE
Create a new flag that represent controls which its value needs to be
passed to the driver even if it has not changed.
They typically represent actions, like triggering a flash or clearing an
error flag. So writing to such a control means some action is executed.
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit b08d8d26f4520187e09191f0c45374383b5a74eb
Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx>
Date: Fri Mar 20 10:30:46 2015 -0300
[media] media/v4l2-ctrls: volatiles should not generate CH_VALUE
Volatile controls should not generate CH_VALUE events.
Set has_changed to false to prevent this happening.
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 5190931d1d992fadc6ad9cc53b630783cf8e39c5
Author: Prashant Laddha <prladdha@xxxxxxxxx>
Date: Sat Mar 21 09:29:14 2015 -0300
[media] vivid: add support to set CVT, GTF timings
In addition to v4l2_find_dv_timings_cap(), where timings are searched
against the list of preset timings, the incoming timing from v4l2-ctl
is checked against CVT and GTF standards. If it confirms to be CVT or
GTF, it is treated as valid timing and vivid format is updated with
new timings.
Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 29103668e9be0aa28e3c893b398cb69978b920ad
Author: Prashant Laddha <prladdha@xxxxxxxxx>
Date: Fri Mar 20 03:41:45 2015 -0300
[media] vivid: add CVT,GTF standards to vivid dv timings caps
Currently vivid supports V4L2_DV_BT_STD_DMT and V4L2_DV_BT_STD_CEA861
discrete video standards. Extending the capability set to allow for
setting CVT and GTF standards. This change, along with adding the
support for calculating CVT, GTF timings in v4l2-ctl would extend
the number of resolutions supported by vivid to almost any custom
resolution.
Also extending the limits on min and max pixel clock to accommodate
pixel clock range provided by cvt/gtf for resolutions ranging from
640x360p50 to 4kx2Kp60.
Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit f3b703326541d0c1ce85f5e570f6d2b6bd4296ec
Author: Kailang Yang <kailang@xxxxxxxxxxx>
Date: Wed Apr 8 15:01:17 2015 +0800
ALSA: hda/realtek - Support headset mode for ALC286/288
Support headset mode for ALC286 and ALC288 platforms.
Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 0a599838737a2527c35e4d94f794aefe59df1781
Merge: 2d846c7 a59d719
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Wed Apr 8 11:29:56 2015 +0200
Merge branch 'for-linus' into for-next
Back merge HD-audio quirks to for-next branch, so that we can apply
a couple of more quirks.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit a59d7199f62b8336570972dcc288321d0ec999fe
Author: Kailang Yang <kailang@xxxxxxxxxxx>
Date: Wed Apr 8 16:34:00 2015 +0800
ALSA: hda/realtek - Make more stable to get pin sense for ALC283
Pin sense will active when power pin is wake up.
Power pin will not wake up immediately during resume state.
Add some delay to wait for power pin activated.
Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit d3633329e88fb33eecbc9448730e9f3125763313
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Fri Apr 3 05:15:09 2015 -0300
[media] ov2640: add missing consumer.h include
Needed for mips and sh platforms
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit c2529908a1905cd8b76bed0a6039975226cb24eb
Author: Florian Echtler <floe@xxxxxxxxxxxxxx>
Date: Tue Mar 31 06:43:28 2015 -0300
[media] sur40: fix occasional hard freeze due to buffer queue underrun
This patch fixes a kernel panic which occurs when buf_list is empty. This
can
happen occasionally when user space is under heavy load (e.g. due to image
processing on the CPU) and new buffers aren't re-queued fast enough. In
that
case, vb2_start_streaming_called can return true, but when the spinlock
is taken and sur40_poll attempts to fetch the next buffer from buf_list,
the
list is in fact empty.
This patch needs to be applied on top of the queued one adding V4L2
support
to the sur40 driver.
Signed-off-by: Florian Echtler <floe@xxxxxxxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit af7f388e7452e1707f862378f38a0372c6c33728
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Thu Mar 26 10:06:21 2015 -0300
[media] cx23885: Always initialise dev->slock spinlock
The slock spinlock in the cx23885_dev struct is only initialised if
analogue
video is being used, but is used in other places too, leading to the
attached
lockdep complaint.
Move the lock initialisation so that it is done unconditionally.
INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
CPU: 1 PID: 4413 Comm: scandvb Tainted: G W
4.0.0-rc1-fsdevel+ #25
Hardware name: System manufacturer System Product Name/P5Q PRO TURBO,
BIOS 0701 10/08/2012
0000000000000000 ffff880129d779d8 ffffffff8162bbdf 0000000000000006
0000000000000000 ffff880129d77aa8 ffffffff810780e3 0000000000000001
0000000000000046 0000000000000004 ffffffff81c3f180 0000000000000000
Call Trace:
[<ffffffff8162bbdf>] dump_stack+0x4c/0x65
[<ffffffff810780e3>] __lock_acquire+0x7b5/0x1a0e
[<ffffffff810799ee>] lock_acquire+0x97/0x10c
[<ffffffffa006494e>] ? cx23885_buf_queue+0x69/0x142 [cx23885]
[<ffffffff8102e9bc>] ? amd_set_subcaches+0x19b/0x19b
[<ffffffff816313b4>] _raw_spin_lock_irqsave+0x36/0x4a
[<ffffffffa006494e>] ? cx23885_buf_queue+0x69/0x142 [cx23885]
[<ffffffffa006494e>] cx23885_buf_queue+0x69/0x142 [cx23885]
[<ffffffffa00662cb>] buffer_queue+0x17/0x19 [cx23885]
[<ffffffffa00382d5>] __enqueue_in_driver+0x6a/0x6f [videobuf2_core]
[<ffffffffa0038ead>] vb2_start_streaming+0x37/0x129 [videobuf2_core]
[<ffffffffa003a6c0>] vb2_internal_streamon+0xc5/0x105 [videobuf2_core]
[<ffffffffa003b889>] __vb2_init_fileio+0x224/0x286 [videobuf2_core]
[<ffffffffa003bcc0>] ? vb2_thread_start+0x7b/0x15f [videobuf2_core]
[<ffffffffa0050182>] ? vb2_dvb_start_feed+0x86/0x86 [videobuf2_dvb]
[<ffffffffa003bd06>] vb2_thread_start+0xc1/0x15f [videobuf2_core]
[<ffffffff8150d393>] ? dmx_section_feed_start_filtering+0x2f/0x14f
[<ffffffffa0050157>] vb2_dvb_start_feed+0x5b/0x86 [videobuf2_dvb]
[<ffffffff8150d461>] dmx_section_feed_start_filtering+0xfd/0x14f
[<ffffffff8150afc7>] dvb_dmxdev_filter_start+0x23f/0x315
[<ffffffff8150b6ad>] dvb_demux_do_ioctl+0x1fb/0x556
[<ffffffff81509e94>] dvb_usercopy+0xb4/0x11c
[<ffffffff8150b4b2>] ? dvb_dmxdev_ts_callback+0xd0/0xd0
[<ffffffff8150a11a>] dvb_demux_ioctl+0x10/0x14
[<ffffffff81144ac4>] do_vfs_ioctl+0x3c1/0x474
[<ffffffff8126f181>] ? file_has_perm+0x5b/0x7f
[<ffffffff810bf6ca>] ? __audit_syscall_entry+0xbc/0xde
[<ffffffff81144bcc>] SyS_ioctl+0x55/0x7a
[<ffffffff81631d52>] system_call_fastpath+0x12/0x17
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit ecaa4902222fd4d28692203bec028513fbac29c7
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Sun Dec 21 15:38:02 2014 +0100
drm/rockchip: use for_each_endpoint_of_node macro, drop endpoint
reference on break
Using the for_each_... macro should make the code a bit shorter and
easier to read. Also, when breaking out of the loop, the endpoint node
reference count needs to be decremented.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx>
commit 4af642d5bf75c726c874a198daf742589db30981
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Mon Dec 22 11:46:40 2014 +0100
drm/rcar-du: use for_each_endpoint_of_node macro
Using the for_each_... macro should make the code a bit shorter and
easier to read.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
commit 539bb6a248858edd99d8645677345799f37ca51d
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Thu Jul 3 23:07:49 2014 +0200
drm/imx: use for_each_endpoint_of_node macro in imx_drm_encoder_get_mux_id
Using the for_each_... macro should make the code bit shorter and
easier to read. This patch also properly decrements the endpoint node
reference count before returning out of the loop.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
commit 7416f4e33b5e924baa030ddab1f261a0a85fa32e
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Thu Jul 3 22:59:51 2014 +0200
drm: use for_each_endpoint_of_node macro in drm_of_find_possible_crtcs
Using the for_each_... macro should make the code a bit shorter and
easier to read.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
commit 3ea3b7fa9af067982f34b6745584558821eea79d
Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Date: Fri Apr 3 15:40:25 2015 +0800
kvm: mmu: lazy collapse small sptes into large sptes
Dirty logging tracks sptes in 4k granularity, meaning that large sptes
have to be split. If live migration is successful, the guest in the
source machine will be destroyed and large sptes will be created in the
destination. However, the guest continues to run in the source machine
(for example if live migration fails), small sptes will remain around
and cause bad performance.
This patch introduce lazy collapsing of small sptes into large sptes.
The rmap will be scanned in ioctl context when dirty logging is stopped,
dropping those sptes which can be collapsed into a single large-page spte.
Later page faults will create the large-page sptes.
Reviewed-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx>
Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Message-Id: <1428046825-6905-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1119022c71fb11826041787cf0ebffc1a1b0ba5b
Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 03:10:38 2015 +0300
KVM: x86: Clear CR2 on VCPU reset
CR2 is not cleared as it should after reset. See Intel SDM table named
"IA-32
Processor States Following Power-up, Reset, or INIT".
Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Message-Id: <1427933438-12782-5-git-send-email-namit@xxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ae561edeb421fbc24f97df7af8607c14009c16b2
Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 03:10:37 2015 +0300
KVM: x86: DR0-DR3 are not clear on reset
DR0-DR3 are not cleared as they should during reset and when they are set
from
userspace. It appears to be caused by c77fb5fe6f03 ("KVM: x86: Allow the
guest
to run with dirty debug registers").
Force their reload on these situations.
Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Message-Id: <1427933438-12782-4-git-send-email-namit@xxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 58d269d8cccc53643f1a0900cfc0940e85ec9691
Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 03:10:36 2015 +0300
KVM: x86: BSP in MSR_IA32_APICBASE is writable
After reset, the CPU can change the BSP, which will be used upon INIT.
Reset
should return the BSP which QEMU asked for, and therefore handled
accordingly.
To quote: "If the MP protocol has completed and a BSP is chosen,
subsequent
INITs (either to a specific processor or system wide) do not cause the MP
protocol to be repeated."
[Intel SDM 8.4.2: MP Initialization Protocol Requirements and
Restrictions]
Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Message-Id: <1427933438-12782-3-git-send-email-namit@xxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3b5a5ffa928a3f875b0d5dd284eeb7c322e1688a
Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Date: Thu Feb 12 19:41:34 2015 +0100
KVM: x86: simplify kvm_apic_map
recalculate_apic_map() uses two passes over all VCPUs. This is a relic
from time when we selected a global mode in the first pass and set up
the optimized table in the second pass (to have a consistent mode).
Recent changes made mixed mode unoptimized and we can do it in one pass.
Format of logical MDA is a function of the mode, so we encode it in
apic_logical_id() and drop obsoleted variables from the struct.
Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Message-Id: <1423766494-26150-5-git-send-email-rkrcmar@xxxxxxxxxx>
[Add lid_bits temporary in apic_logical_id. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3548a259f6990d8cb4f520e6c14f4b45b1f2fd38
Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Date: Thu Feb 12 19:41:33 2015 +0100
KVM: x86: avoid logical_map when it is invalid
We want to support mixed modes and the easiest solution is to avoid
optimizing those weird and unlikely scenarios.
Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Message-Id: <1423766494-26150-4-git-send-email-rkrcmar@xxxxxxxxxx>
[Add comment above KVM_APIC_MODE_* defines. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9ea369b032d87b88f1a47187b51ad4321dea5766
Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Date: Thu Feb 12 19:41:32 2015 +0100
KVM: x86: fix mixed APIC mode broadcast
Broadcast allowed only one global APIC mode, but mixed modes are
theoretically possible. x2APIC IPI doesn't mean 0xff as broadcast,
the rest does.
x2APIC broadcasts are accepted by xAPIC. If we take SDM to be logical,
even addreses beginning with 0xff should be accepted, but real hardware
disagrees. This patch aims for simple code by considering most of real
behavior as undefined.
Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Message-Id: <1423766494-26150-3-git-send-email-rkrcmar@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 03d2249ea60818e97475ac529aa183cf130935bb
Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Date: Thu Feb 12 19:41:31 2015 +0100
KVM: x86: use MDA for interrupt matching
In mixed modes, we musn't deliver xAPIC IPIs like x2APIC and vice versa.
Instead of preserving the information in apic_send_ipi(), we regain it
by converting all destinations into correct MDA in the slow path.
This allows easier reasoning about subsequent matching.
Our kvm_apic_broadcast() had an interesting design decision: it didn't
consider IOxAPIC 0xff as broadcast in x2APIC mode ...
everything worked because IOxAPIC can't set that in physical mode and
logical mode considered it as a message for first 8 VCPUs.
This patch interprets IOxAPIC 0xff as x2APIC broadcast.
Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Message-Id: <1423766494-26150-2-git-send-email-rkrcmar@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 19456060315cedc5595a47007f886369871dfbc5
Author: Arseny Solokha <asolokha@xxxxxxxxxx>
Date: Tue Feb 24 16:05:04 2015 +0700
kvm/ppc/mpic: drop unused IRQ_testbit
Drop unused static procedure which doesn't have callers within its
translation unit. It had been already removed independently in QEMU[1]
from the OpenPIC implementation borrowed from the kernel.
[1] https://lists.gnu.org/archive/html/qemu-devel/2014-06/msg01812.html
Signed-off-by: Arseny Solokha <asolokha@xxxxxxxxxx>
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-Id: <1424768706-23150-3-git-send-email-asolokha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 92d71bc6951364c20f7d8c70a83cd93a68a63ea7
Author: Eugene Korenevsky <ekorenevsky@xxxxxxxxx>
Date: Sun Mar 29 23:56:44 2015 +0300
KVM: nVMX: remove unnecessary double caching of MAXPHYADDR
After speed-up of cpuid_maxphyaddr() it can be called frequently:
instead of heavyweight enumeration of CPUID entries it returns a cached
pre-computed value. It is also inlined now. So caching its result became
unnecessary and can be removed.
Signed-off-by: Eugene Korenevsky <ekorenevsky@xxxxxxxxx>
Message-Id: <20150329205644.GA1258@gnote>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9090422f1ca5270795738549cf91a4ae7cb47662
Author: Eugene Korenevsky <ekorenevsky@xxxxxxxxx>
Date: Sun Mar 29 23:56:27 2015 +0300
KVM: nVMX: checks for address bits beyond MAXPHYADDR on VM-entry
On each VM-entry CPU should check the following VMCS fields for zero bits
beyond physical address width:
- APIC-access address
- virtual-APIC address
- posted-interrupt descriptor address
This patch adds these checks required by Intel SDM.
Signed-off-by: Eugene Korenevsky <ekorenevsky@xxxxxxxxx>
Message-Id: <20150329205627.GA1244@gnote>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5a4f55cde81f1633cb7ae9f0963b722e47acdc36
Author: Eugene Korenevsky <ekorenevsky@xxxxxxxxx>
Date: Sun Mar 29 23:56:12 2015 +0300
KVM: x86: cache maxphyaddr CPUID leaf in struct kvm_vcpu
cpuid_maxphyaddr(), which performs lot of memory accesses is called
extensively across KVM, especially in nVMX code.
This patch adds a cached value of maxphyaddr to vcpu.arch to reduce the
pressure onto CPU cache and simplify the code of cpuid_maxphyaddr()
callers. The cached value is initialized in kvm_arch_vcpu_init() and
reloaded every time CPUID is updated by usermode. It is obvious that
these reloads occur infrequently.
Signed-off-by: Eugene Korenevsky <ekorenevsky@xxxxxxxxx>
Message-Id: <20150329205612.GA1223@gnote>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 80f0e95d1b221688b2608e0a80134e7acccd9a89
Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Date: Thu Apr 2 21:11:05 2015 +0200
KVM: vmx: pass error code with internal error #2
Exposing the on-stack error code with internal error is cheap and
potentially useful.
Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Message-Id: <1428001865-32280-1-git-send-email-rkrcmar@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 80f7fdb1c7f0f9266421f823964fd1962681f6ce
Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Date: Thu Apr 2 20:44:23 2015 +0200
x86: vdso: fix pvclock races with task migration
If we were migrated right after __getcpu, but before reading the
migration_count, we wouldn't notice that we read TSC of a different
VCPU, nor that KVM's bug made pvti invalid, as only migration_count
on source VCPU is increased.
Change vdso instead of updating migration_count on destination.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Fixes: 0a4e6be9ca17 ("x86: kvm: Revert "remove sched notifier for
cross-cpu migrations"")
Message-Id: <1428000263-11892-1-git-send-email-rkrcmar@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3180a7fcbc0ec7ed7cc85ed5015bdd7a8c2176e8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Apr 2 14:08:20 2015 +0200
KVM: remove kvm_read_hva and kvm_read_hva_atomic
The corresponding write functions just use __copy_to_user. Do the
same on the read side.
This reverts what's left of commit 86ab8cffb498 (KVM: introduce
gfn_to_hva_read/kvm_read_hva/kvm_read_hva_atomic, 2012-08-21)
Cc: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-Id: <1427976500-28533-1-git-send-email-pbonzini@xxxxxxxxxx>
commit 9c8fd1ba2201c072bd3cf6940e2ca4d0a7aed723
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 6 12:58:42 2015 +0100
KVM: x86: optimize delivery of TSC deadline timer interrupt
The newly-added tracepoint shows the following results on
the tscdeadline_latency test:
qemu-kvm-8387 [002] 6425.558974: kvm_vcpu_wakeup: poll
time 10407 ns
qemu-kvm-8387 [002] 6425.558984: kvm_vcpu_wakeup: poll
time 0 ns
qemu-kvm-8387 [002] 6425.561242: kvm_vcpu_wakeup: poll
time 10477 ns
qemu-kvm-8387 [002] 6425.561251: kvm_vcpu_wakeup: poll
time 0 ns
and so on. This is because we need to go through kvm_vcpu_block again
after the timer IRQ is injected. Avoid it by polling once before
entering kvm_vcpu_block.
On my machine (Xeon E5 Sandy Bridge) this removes about 500 cycles (7%)
from the latency of the TSC deadline timer.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 362c698f8220e636edf1c40b1935715fa57f492f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 6 12:48:04 2015 +0100
KVM: x86: extract blocking logic from __vcpu_run
Rename the old __vcpu_run to vcpu_run, and extract part of it to a new
function vcpu_block.
The next patch will add a new condition in vcpu_block, avoid extra
indentation.
Reviewed-by: David Matlack <dmatlack@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 35fd68a38d574188835110cde2937d18fe9b46dd
Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Date: Wed Apr 8 14:08:14 2015 +0800
kvm: x86: fix x86 eflags fixed bit
Guest can't be booted w/ ept=0, there is a message dumped as below:
If you're running a guest on an Intel machine without unrestricted mode
support, the failure can be most likely due to the guest entering an
invalid
state for Intel VT. For example, the guest maybe running in big real mode
which is not supported on less recent Intel processors.
EAX=00000011 EBX=f000d2f6 ECX=00006cac EDX=000f8956
ESI=bffbdf62 EDI=00000000 EBP=00006c68 ESP=00006c68
EIP=0000d187 EFL=00000004 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =e000 000e0000 ffffffff 00809300 DPL=0 DS16 [-WA]
CS =f000 000f0000 ffffffff 00809b00 DPL=0 CS16 [-RA]
SS =0000 00000000 ffffffff 00809300 DPL=0 DS16 [-WA]
DS =0000 00000000 ffffffff 00809300 DPL=0 DS16 [-WA]
FS =0000 00000000 ffffffff 00809300 DPL=0 DS16 [-WA]
GS =0000 00000000 ffffffff 00809300 DPL=0 DS16 [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT= 000f6a80 00000037
IDT= 000f6abe 00000000
CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000
DR3=0000000000000000
DR6=00000000ffff0ff0 DR7=0000000000000400
EFER=0000000000000000
Code=01 1e b8 6a 2e 0f 01 16 74 6a 0f 20 c0 66 83 c8 01 0f 22 c0 <66> ea
8f d1 0f 00 08 00 b8 10 00 00 00 8e d8 8e c0 8e d0 8e e0 8e e8 89 c8 ff e2 89
c1 b8X
X86 eflags bit 1 is fixed set, which means that 1 << 1 is set instead of
1,
this patch fix it.
Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Message-Id: <1428473294-6633-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 223fa2725a0fb43b303a29fe215a1997e70acd82
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Wed Apr 8 10:08:56 2015 +0200
gpio: arrange Kconfig symbols alphabetically
This rearranges the GPIO drivers Kconfig symbols alphabetically
as the top comment in the file already states they should be.
No functional changes whatsoever.
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 62e08f25bd09b088f266ea6fc34d2f596d83c04e
Author: Aaron Sierra <asierra@xxxxxxxxxxx>
Date: Tue Mar 31 10:11:47 2015 -0500
gpio: ich: Implement get_direction function
Allow the kernel to query the driver for a GPIO's pin direction.
Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit afeb7b45e96239f0bfa610dd40945786f5a9b164
Author: Varka Bhadram <varkabhadram@xxxxxxxxx>
Date: Tue Mar 31 09:49:11 2015 +0530
gpio: use (!foo) instead of (foo == NULL)
Signed-off-by: Varka Bhadram <varkab@xxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 4878b46679f5b0ec86cc6ff48f4edb8a54e2a4d0
Author: Varka Bhadram <varkabhadram@xxxxxxxxx>
Date: Tue Mar 31 09:49:10 2015 +0530
gpio: arizona: drop owner assignment from platform_drivers
This driver no need to set the owner field, it will be populated
by driver core.
Signed-off-by: Varka Bhadram <varkab@xxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 76a2dae0e69b0ee511c6d64ad5c37596e7356a93
Author: Varka Bhadram <varkabhadram@xxxxxxxxx>
Date: Tue Mar 31 09:49:09 2015 +0530
gpio: max7300: remove 'ret' variable
Signed-off-by: Varka Bhadram <varkab@xxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 7898b31ebafbf01d2ad56d251cfc9bfa4e5c644a
Author: Varka Bhadram <varkabhadram@xxxxxxxxx>
Date: Tue Mar 31 09:49:08 2015 +0530
gpio: use devm_kzalloc
We can use devres API for allocating memory. No need of using kfree.
Signed-off-by: Varka Bhadram <varkab@xxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit d1e10dc8c104d533547f6e499550fafc36809943
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Mar 29 15:40:39 2015 +0200
gpio: sch: use uapi/linux/pci_ids.h directly
Header moved from linux/pci_ids.h to uapi/linux/pci_ids.h,
use the new header directly so we can drop
the wrapper in include/linux/pci_ids.h.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 33c07b46774219ceaa2e6650413aa4d2cd6d6dd0
Author: Vladimir Zapolskiy <vz@xxxxxxxxx>
Date: Sun Mar 29 05:37:20 2015 +0300
gpio: x-gene: fix devm_ioremap_resource() check
devm_ioremap_resource() returns IOMEM_ERR_PTR() and it never
returns NULL, fix the check to prevent access to invalid
virtual address.
Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit cbfb3ea7f8c8da2e12d6d5aeca6d483de4297427
Author: Huacai Chen <chenhc@xxxxxxxxxx>
Date: Wed Apr 1 10:20:09 2015 +0800
gpio: loongson: Add Loongson-3A/3B GPIO driver support
Improve Loongson-2's GPIO driver to support Loongson-3A/3B, and update
Loongson-3's default config file.
Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx>
Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 6d00ec0514bd909e89ede59501342732dbef49fd
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Wed Apr 8 09:16:32 2015 +0200
cfg80211: don't allow disabling WEXT if it's required
The change to only export WEXT symbols when required could break
the build if CONFIG_CFG80211_WEXT was explicitly disabled while
a driver like orinoco selected it.
Fix this by hiding the symbol when it's required so it can't be
disabled in that case.
Fixes: 2afe38d15cee ("cfg80211-wext: export symbols only when needed")
Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Reported-by: Jim Davis <jim.epost@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 8b3607b5b8c591d8bf045911cb7c90ecaa6e7b73
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Tue Apr 7 18:42:47 2015 +0200
x86/asm/entry/64: Add forgotten CFI annotation
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428424967-14460-1-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 3304c9c37bef30ebd2ef71d986e6568372ce80f8
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Fri Apr 3 21:49:13 2015 +0200
x86/asm/entry/irq: Simplify interrupt dispatch table (IDT) layout
Interrupt entry points are handled with the following code,
each 32-byte code block contains seven entry points:
...
[push][jump 22] // 4 bytes
[push][jump 18] // 4 bytes
[push][jump 14] // 4 bytes
[push][jump 10] // 4 bytes
[push][jump 6] // 4 bytes
[push][jump 2] // 4 bytes
[push][jump common_interrupt][padding] // 8 bytes
[push][jump]
[push][jump]
[push][jump]
[push][jump]
[push][jump]
[push][jump]
[push][jump common_interrupt][padding]
[padding_2]
common_interrupt:
And there is a table which holds pointers to every entry point,
IOW: to every push.
In cold cache, two jumps are still costlier than one, even
though we get the benefit of them residing in the same
cacheline.
This change replaces short jumps with near ones to
'common_interrupt', and pads every push+jump pair to 8 bytes. This
way, each interrupt takes only one jump.
This change replaces ".p2align CONFIG_X86_L1_CACHE_SHIFT" before
dispatch table with ".align 8" - we do not need anything
stronger than that.
The table of entry addresses (the interrupt[] array) is no
longer necessary, the address of entries can be easily
calculated as (irq_entries_start + i*8).
text data bss dec hex filename
12546 0 0 12546 3102 entry_64.o.before
11626 0 0 11626 2d6a entry_64.o
The size decrease is because 1656 bytes of .init.rodata are
gone. That's initdata, though. The resident size does go up a
bit.
Run-tested (32 and 64 bits).
Acked-and-Tested-by: Borislav Petkov <bp@xxxxxxx>
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428090553-7283-1-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit fffbb5dcfd29f8831e41b4dd2ab938bd36d35283
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Thu Apr 2 18:46:59 2015 +0200
x86/asm/entry/64: Move opportunistic sysret code to syscall code path
This change does two things:
Copy-pastes "retint_swapgs:" code into syscall handling code,
the copy is under "syscall_return:" label. The code is unchanged
apart from some label renames.
Removes "opportunistic sysret" code from "retint_swapgs:" code
block, since now it won't be reached by syscall return. This in
fact removes most of the code in question.
text data bss dec hex filename
12530 0 0 12530 30f2 entry_64.o.before
12562 0 0 12562 3112 entry_64.o
Run-tested.
Acked-and-Tested-by: Borislav Petkov <bp@xxxxxxx>
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427993219-7291-1-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 4bcc7827b02feea2c762fa6d46a1bffb300d7403
Merge: 3f705df f22e6e8
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Wed Apr 8 09:01:54 2015 +0200
Merge tag 'v4.0-rc7' into x86/asm, to resolve conflicts
Conflicts:
arch/x86/kernel/entry_64.S
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 0c4d6af42d8375e003f0e4626f2f661862b5df4b
Author: Li Jun <jun.li@xxxxxxxxxxxxx>
Date: Fri Mar 27 19:43:01 2015 +0800
usb: chipidea: debug: add low power mode check before print registers
Since the required clock to access registers is gated off in low power
mode,
add ci->in_lpm check before try to dump registers value.
Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx>
Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
commit 2c336e3a2e1728d9b3116422655832184dc7046c
Author: Christoph Hellwig <hch@xxxxxx>
Date: Tue Apr 7 19:11:17 2015 +0200
target: simplify target_xcopy_init_pt_lun
Drop unused argument & return value and consolidate a duplicate
assignment.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit c3d0a7c21db219ef87679c2a667aba9f138524db
Author: Christoph Hellwig <hch@xxxxxx>
Date: Tue Apr 7 19:11:16 2015 +0200
target: remove the unused SCF_CMD_XCOPY_PASSTHROUGH flag
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 6766cc81191c946dcb8e8bfe49f220f9a1cc8b5c
Author: Akinobu Mita <akinobu.mita@xxxxxxxxx>
Date: Sun Apr 5 23:59:38 2015 +0900
target/rd: reduce code duplication in rd_execute_rw()
Factor out code duplication in rd_execute_rw() into a helper function
rd_do_prot_rw(). This change is required to minimize the forthcoming
fix in rd_do_prot_rw().
(Fix up v4.1 for-next fuzz - nab)
Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>
Cc: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx>
Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
Cc: target-devel@xxxxxxxxxxxxxxx
Cc: linux-scsi@xxxxxxxxxxxxxxx
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 2e1cd90d718a5fc721e0caa0dc9f037d9b1f46b8
Author: Ming Lin <mlin@xxxxxxxxxx>
Date: Sun Mar 29 23:11:30 2015 -0700
tcm_loop: fixup tpgt string to integer conversion
Currently, for example, mkdir "tpgt_xyz" doesn't return error.
mkdir /sys/kernel/config/target/loopback/naa.60014055f195952b/tpgt_xyz
Replace obsoleted simple_strtoul with kstrtoul and check the conversion.
Signed-off-by: Ming Lin <mlin@xxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 9e35eff449fc7c7106ea0fd64457afacf68f3bb3
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:20 2015 +0300
iser-target: Bump version to 1.0
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit dac6ab305d73b5a67bbb2a0b3d8e2bd6a1383447
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:19 2015 +0300
iser-target: Remove conn_ prefix from struct isert_conn members
These variables are always accessed via struct isert_conn so
no need to have a "conn_" prefix for them.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 992607e813811778a76f9ff25f31e33a1660e146
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:18 2015 +0300
iser-target: Remove un-needed rdma_listen backlog
iser target can handle as many connect request as
the fabric sends to it. This backlog should not set as
a back-pressure mechanism (which is not very useful).
isert does need a back-pressure mechanism, but it should
be added in isert by monitoring the number of pending
established connections (will be added in a later stage).
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 57df81e3b1bc7e65f48c2146ba1b3affbd709d5c
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:17 2015 +0300
iser-target: Remove redundant check on the device
In iser_connect_release there is no chance that
the iser device is set to NULL, if this happens
we have a BUG. So use BUG_ON.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit c6b8e9180de76624d0a01148d6edd0107edebed1
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:16 2015 +0300
iser-target: Get rid of redundant max_accept
Not sure what it was used for, but there is
no real need for it now as I see it. Go ahead
and get rid of it.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit ae9ea9ed38c9c8f6cf19c669d7b032cab3dadede
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:15 2015 +0300
iser-target: Split some logic in isert_connect_request to routines
Move login buffer alloc/free code to dedicated
routines and introduce isert_conn_init which
initializes the connection lists and locks.
Simplifies and cleans up the code a little bit.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit cf8ae95823ae99186729834a630f24ff9e7b1501
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:14 2015 +0300
iser-target: Rename device find/release routines
isert_device_find_by_ib_dev and isert_device_try_release
can have a better, more common name like isert_device_[get|put].
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 7748681bb8100f24571a53d42f180e9f4fe8f39f
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:13 2015 +0300
iser-target: Rename rend/recv completion routines
Make receive/send completion handling routines symmetrical.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit fd8205e883cd3a7ca4ca86baecf44be3114bafcf
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:12 2015 +0300
iser-target: Remove redundant assignment to local variable
No need to keep a local ib_dev as a device pointer.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 172369c5703861ca54ec1dcd2708ad75e1ec171a
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:11 2015 +0300
iser-target: Introduce isert_[alloc|free]_comps
Move the code for completion context handling to dedicated
routines. This simplifies the code and removes code duplication.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 40fc069ad8c910e2c20348bd9adeb79b3a945fef
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:10 2015 +0300
iser-target: Split isert_setup_qp
Simplify iser QP creation by splitting some unrelated
logic bulks to routines.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 6700425eb0fc92a5e3944ec3e43711877d2d5862
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:09 2015 +0300
iser-target: Remove redundant casting on void pointers
No need to cast void pointers.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit fb140271414be416c5d13d2a16a96fbe6e8cde01
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:08 2015 +0300
iser-target: Remove redundant local variable
No need for this assignment.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit b859203473d5d61260e8447915e22328442deb0b
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:07 2015 +0300
iser-target: Remove dead code
unmap_list is unused.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit e26e6ef703f78943e1a4e69ad82f6e5143925ffc
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:06 2015 +0300
iser-target: Remove redundant check on recv completion
We have a switch default for this.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 67cb39492571433b95eb2952edca46f024ddf16c
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:05 2015 +0300
iser-target: Use a single DMA MR and PD per device
This is to favor the HCA cache hit rate using less MRs
and PDs. This commit partially reverts commit:
"eb6ab13 IB/isert: separate connection protection domains and dma MRs"
At the time I thought this would be needed.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 4a579da2586bd3b79b025947ea24ede2bbfede62
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:04 2015 +0300
iser-target: Fix possible deadlock in RDMA_CM connection error
Before we reach to connection established we may get an
error event. In this case the core won't teardown this
connection (never established it), so we take care of freeing
it ourselves.
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 364189f0ada5478e4faf8a552d6071a650d757cd
Author: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Date: Sun Mar 29 15:52:03 2015 +0300
iser-target: Fix session hang in case of an rdma read DIF error
This hang was a result of a missing command put when
a DIF error occurred during a rdma read (and we sent
an CHECK_CONDITION error without passing it to the
backend).
Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 901c04a33f138e5fb935a1621375a1a0997fe7b1
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Sun Mar 29 19:36:16 2015 -0700
iscsi/iser-target: Add fabric_prot_type attribute support
This patch updates iscsi/iser-target to add a new fabric_prot_type
TPG attribute for iser-target, used for controlling LLD level
protection into LIO when the backend device does not support T10-PI.
This is required for ib_isert to enable WRITE_STRIP + READ_INSERT
hardware offloads.
It's disabled by default and controls which se_sesion->sess_prot_type
are set at iscsi_target_locate_portal() session registration time.
Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: Martin Petersen <martin.petersen@xxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 64b16887749fd8e8000cc2ad1acca3cd29f84086
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Fri Mar 27 23:30:57 2015 -0700
tcm_qla2xxx: Add fabric_prot_type attribute support
This patch updates qla2xxx target to add a new fabric_prot_type TPG
attribute, used for controlling LLD level protection into LIO when
the backend device does not support T10-PI.
This is required for qla_target.c to enable WRITE_STRIP + READ_INSERT
hardware offloads.
It's disabled by default and controls which se_sesion->sess_prot_type
are set at tcm_qla2xxx_check_initiator_node_acl() session registration
time.
Cc: Quinn Tran <quinn.tran@xxxxxxxxxx>
Cc: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx>
Cc: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx>
Cc: Martin Petersen <martin.petersen@xxxxxxxxxx>
Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 59bb0ff5db755a6a833acd633015b406d0894253
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Sun Feb 8 12:49:46 2015 -0800
tcm_qla2xxx: Set TARGET_PROT_ALL for sup_prot_ops
This patch adds the missing TARGET_PROT_ALL when initializing a new
session and declaring the capable se_sess->sup_prot_ops for T10-PI.
This is required in order to function with existing qla_target.c
DIF protection offload support.
Cc: Quinn Tran <quinn.tran@xxxxxxxxxx>
Cc: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx>
Cc: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx>
Cc: Martin Petersen <martin.petersen@xxxxxxxxxx>
Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit b1d75fe53ef20b90bb64b1e48b905416f0dfde23
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Sat Mar 28 00:03:51 2015 -0700
vhost/scsi: Add fabric_prot_type attribute support
This patch updates vhost-scsi to add a new fabric_prot_type TPG
attribute, used for controlling LLD level protection into LIO when
the backend device does not support T10-PI.
This is required for vhost-scsi to enable WRITE_STRIP + READ_INSERT
operations using software emulation + crct10dif instruction offload.
It's disabled by default and controls which se_sesion->sess_prot_type
are set at vhost_scsi_make_nexus() session registration time.
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Cc: Martin Petersen <martin.petersen@xxxxxxxxxx>
Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 436f4a0a99520623ef3fb994d70d2938fc9f00b6
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Sun Feb 8 12:31:39 2015 -0800
loopback: Add fabric_prot_type attribute support
This patch updates loopback to add a new fabric_prot_type TPG attribute,
used for controlling LLD level protection into LIO when the backend
device does not support T10-PI.
Also, go ahead and set DIN_PASS + DOUT_PASS so target-core knows that
it will be doing any WRITE_STRIP and READ_INSERT operations.
Cc: Martin Petersen <martin.petersen@xxxxxxxxxx>
Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 1762742f3fd276570456eb669922e34e11bd98b7
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Fri Mar 27 23:15:04 2015 -0700
target/rd: Add checks for backend DIF emulation
Make sure that RAMDISK only attempts to use backend DIF emulation
when it's actually enabled at device level.
Cc: Martin Petersen <martin.petersen@xxxxxxxxxx>
Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 6f16ec43e06e37dc5c3bed52ae76803c13ee2f8c
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Fri Mar 27 23:14:16 2015 -0700
target/iblock: Add checks for backend DIF emulation
Make sure that IBLOCK only attempts to use backend DIF emulation
when it's actually enabled at device level.
Cc: Martin Petersen <martin.petersen@xxxxxxxxxx>
Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit ee920469d61e896d124fec528250ecfba1ec9f8d
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Sat Feb 28 02:44:19 2015 -0800
target/file: Add checks for backend DIF emulation
Make sure that FILEIO only attempts to use backend DIF emulation
when it's actually enabled at device level.
Cc: Martin Petersen <martin.petersen@xxxxxxxxxx>
Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 72c0385014a140b6029c5c8bf88efb9ad166ae48
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Sun Feb 8 04:02:08 2015 -0800
target: Add internal READ_INSERT support
This patch adds READ_INSERT support in target_read_prot_action() that
invokes sbc_dif_generate() when LIO is responsible for generating the
outgoing T10-PI.
Required for supporting fabrics that exchange protection information,
and would like to function with un-protected devices.
Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit fdeab852983249fd1b8859f8bf54a5bfd8581c90
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Sun Feb 8 02:53:25 2015 -0800
target: Move cmd->prot_op check into target_read_prot_action
This patch moves the existing target_complete_ok_work() check for
cmd->prot_op into it's own function, so it's easier to add future
support for READ INSERT.
Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 5132d1e655dc4befcc075ef32a261eb9733bb04c
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Sun Feb 8 03:06:17 2015 -0800
target: Add internal WRITE_STRIP support
This patch adds WRITE_STRIP support in target_write_prot_action() that
invokes sbc_dif_verify_write() for checking T10-PI metadata before
submitting the I/O to a backend driver.
Upon verify failure, the specific sense code is propigated up the
failure path up to transport_generic_request_failure().
Also, update sbc_dif_verify_write() to only perform the subsequent
protection metadata copy when a valid *sg is passed.
(Use ilog2 instead of division and unlikely for pi_err - Sagi)
Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit aa58b53168e12342aa0561c12bf5d6729487c63e
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Sun Feb 8 12:39:06 2015 -0800
target: Move cmd->prot_op check into target_write_prot_action
This patch moves the existing target_execute_cmd() check for
cmd->prot_op into it's own function, so it's easier to add
future support for WRITE STRIP.
(Use better target_write_prot_action name - Sagi)
Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 9ef5466ee2f0599caf8d84203d36e581c6fc7035
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Fri Feb 27 22:05:33 2015 -0800
target: Update SPC/SBC emulation for sess_prot_type
This patch updates standard INQUIRY, INQUIRY EVPD=0x86, READ_CAPACITY_16
and control mode pages to use se_sess->sess_prot_type when determing which
type of T10-PI related feature bits can be exposed.
This is required for fabric sessions supporting T10-PI metadata to
backend devices that don't have protection enabled.
Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Doug Gilbert <dgilbert@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 38b57f82f66dfb21ebe321d71c84c0e3469980c4
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Fri Feb 27 22:05:21 2015 -0800
target: Add protected fabric + unprotected device support
This patch adds a new target_core_fabric_ops callback for allowing fabric
drivers to expose a TPG attribute for signaling when a T10-PI protected
fabric wants to function with an un-protected device without T10-PI.
This specifically is to allow LIO to perform WRITE_STRIP + READ_INSERT
operations when functioning with non T10-PI enabled devices, seperate
from any available hw offloads the fabric supports.
This is done using a new se_sess->sess_prot_type that is set at fabric
session creation time based upon the TPG attribute. It currently cannot
be changed for individual sessions after initial creation.
Also, update existing target_core_sbc.c code to honor sess_prot_type when
setting up cmd->prot_op + cmd->prot_type assignments.
(Add unlikely and !! boolean conversion in sbc_check_prot - Sagi)
Cc: Martin Petersen <martin.petersen@xxxxxxxxxx>
Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Doug Gilbert <dgilbert@xxxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 823ddd877f3a5c301490196d369f68baa6c020e4
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Fri Feb 27 22:42:11 2015 -0800
target: Convert DIF emulation to use cmd->prot_type
This patch changes existing DIF emulation to check the command
descriptor's
prot_type, instead of what the backend device is exposing in pi_prot_type.
Since this value is already set in sbc_check_prot(), go ahead and use it
to
allow protected fabrics to function with unprotected devices.
Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 3f705dfdf85a6416f5f12e52b7610144a99cbedc
Author: Andy Lutomirski <luto@xxxxxxxxxx>
Date: Mon Apr 6 23:11:06 2015 -0700
x86, selftests: Add sigreturn selftest
This is my sigreturn test, added mostly unchanged from its old
home. It exercises the sigreturn(2) syscall, specifically
focusing on its interactions with various IRET corner cases.
It tests for correct behavior in several areas that were
historically dangerously buggy. For example, it exercises espfix
on kernels of both bitnesses under various conditions, and it
contains testcases for several now-fixed bugs in IRET error
handling.
If you run it on older kernels without the fixes, your system will
crash. It probably won't eat your data in the process.
There is no released kernel on which the sigreturn_64 test will
pass, but it passes on tip:x86/asm.
I plan to switch to lib.mk for Linux 4.2.
I'm not using the ksft_ helpers at all yet. I can do that later.
Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
Acked-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Shuah Khan <shuah.kh@xxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/89d10b76b92c7202d8123654dc8d36701c017b3d.1428386971.git.luto@xxxxxxxxxx
[ Fixed empty format string GCC build warning in trivial_32bit_program.c ]
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 9b6567e19bc55187bc1bb094b00a9f63acb30071
Author: Li Jun <jun.li@xxxxxxxxxxxxx>
Date: Mon Mar 23 16:03:35 2015 +0800
usb: chipidea: udc: bypass pullup DP when gadget connect in OTG fsm mode
By pass pullup DP in OTG fsm mode when do gadget connect, to let it
handled
by OTG state machine.
This patch can fix the problem you found with my HNP polling patchset
after
below 3 patches introduced:
467a78c usb: chipidea: udc: apply new usb_udc_vbus_handler interface
628ef0d usb: udc: add usb_udc_vbus_handler
dfea9c9 usb: udc: store usb_udc pointer in struct usb_gadget
Problem:
- Connect USB cable and MicroAB cable between two boards
- Boot up two boards
- load g_mass_storage at B-device side, the enumeration will success,
and A will see a usb mass-storage device
- load g_mass_storage at A-device side, the problem has occurred, the
connection will be lost at the beginning, then connect again.
This patch is based on
commit eff933c1d3a2e046492b3dfc86db813856553a29
(chipidea: pci: make it depends on NOP_USB_XCEIV)
on branch peter-usb-dev of
git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git
Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx>
Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
commit 7587d12647f1d952a4fbe5fb54a52e98b5509dcc
Author: Ley Foon Tan <lftan@xxxxxxxxxx>
Date: Wed Apr 8 13:44:18 2015 +0800
nios2: signal: Move restart_block to struct task_struct
See https://lkml.org/lkml/2014/10/29/643 and commit f56141e3e2d9
("all arches, signal: move restart_block to struct task_struct")
Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx>
commit 04bdf441787a385487fb7b08d9a3f35a1271b474
Author: Tommi Rantala <tt.rantala@xxxxxxxxx>
Date: Fri Apr 3 10:45:29 2015 +0300
drm: fix drm_mode_getconnector() locking imbalance regression
Regression in commit 2caa80e72b57c6216aec6f6a11fcfb4fec46daa0
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date: Sun Feb 22 11:38:36 2015 +0100
drm: Fix deadlock due to getconnector locking changes
If the drm_connector_find() call returns NULL, we should no longer
call drm_modeset_unlock() to avoid locking imbalance.
Signed-off-by: Tommi Rantala <tt.rantala@xxxxxxxxx>
Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>
Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>
commit f64e02fe9bc6a359cab95632b33900094d225ae1
Author: Theodore Ts'o <tytso@xxxxxxx>
Date: Wed Apr 8 00:00:32 2015 -0400
ext4 crypto: add ext4_mpage_readpages()
This takes code from fs/mpage.c and optimizes it for ext4. Its
primary reason is to allow us to more easily add encryption to ext4's
read path in an efficient manner.
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit cdbff611940882b36d6964ced177bc167012f5c0
Author: Pali Rohár <pali.rohar@xxxxxxxxx>
Date: Sun Mar 29 15:38:50 2015 +0200
MAINTAINERS: Add me on list of Dell laptop drivers
I have written many parts of dell laptop drivers dell-laptop.c,
dell-wmi.c and dell-smo8800.c
Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx>
Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit 6cff8d60aa0aba5583ecda09984dbcb2f24cc28d
Author: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx>
Date: Thu Feb 19 11:58:29 2015 +0100
platform: x86: dell-laptop: Add support for keyboard backlight
This patch adds the support for the configuration of the keyboard
backlight on supported Dell laptops.
With this patch it is possible to set:
* keyboard backlight level
* timeout after which the backlight will be automatically turned off
* input activity triggers (keyboard, touchpad, mouse) that enable the
backlight
* ambient light settings
The settings are exposed via /sys/class/leds/dell::kbd_backlight/
The code is based on the newly released documentation by Dell in the
libsmbios project.
Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx>
Signed-off-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx>
Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit 9659bee43bf010d4c7037fee9c023124f144c6ca
Author: Azael Avalos <coproscefalo@xxxxxxxxx>
Date: Thu Apr 2 19:28:07 2015 -0600
Documentation/ABI: Update sysfs-driver-toshiba_acpi entry
This patch updates the sysfs-driver-toshiba_acpi entry, adding the
missing entries for USB Sleep functions.
And also, while at the neighborhood, fix some typos and add a note
that some features require a reboot.
Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx>
Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit bb26f1893a086db77edca73529d5f59a8338ff30
Author: Azael Avalos <coproscefalo@xxxxxxxxx>
Date: Thu Apr 2 19:26:21 2015 -0600
toshiba_acpi: Fix pr_* messages from USB Sleep Functions
This patch fixes the messages displayed by the USB Sleep Functions,
they were printing wrong messages not associated to the feature
currently queried.
Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx>
Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit c8c918425ac88cf314db3a223dbbfd75ed6306d6
Author: Azael Avalos <coproscefalo@xxxxxxxxx>
Date: Thu Apr 2 19:26:20 2015 -0600
toshiba_acpi: Update and fix USB Sleep and Charge modes
This patch fixes the USB Sleep and Charge mode on certain models
where the value returned by the BIOS is different, and thus, making
this feature not to work for those models.
Also, the "Typical" charging mode was added as a supported mode.
Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx>
Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit 097c27fcb256415e7c1612e7ab916aa906874f9b
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Mon Mar 30 10:43:20 2015 -0700
wmi: Use bool function return values of true/false not 1/0
Use the normal return values for bool functions
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit 74672d069b298b03e9f657fd70915e055739882e
Author: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx>
Date: Fri Apr 3 08:44:47 2015 +0800
md: fix md io stats accounting broken
Simon reported the md io stats accounting issue:
"
I'm seeing "iostat -x -k 1" print this after a RAID1 rebuild on 4.0-rc5.
It's not abnormal other than it's 3-disk, with one being SSD (sdc) and
the other two being write-mostly:
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s
avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00
md0 0.00 0.00 0.00 0.00 0.00 0.00
0.00 345.00 0.00 0.00 0.00 0.00 100.00
md2 0.00 0.00 0.00 0.00 0.00 0.00
0.00 58779.00 0.00 0.00 0.00 0.00 100.00
md1 0.00 0.00 0.00 0.00 0.00 0.00
0.00 12.00 0.00 0.00 0.00 0.00 100.00
"
The cause is commit "18c0b223cf9901727ef3b02da6711ac930b4e5d4" uses the
generic_start_io_acct to account the disk stats rather than the open code,
but it also introduced the increase to .in_flight[rw] which is needless to
md. So we re-use the open code here to fix it.
Reported-by: Simon Kirby <sim@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> 3.19
Signed-off-by: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit 8bc0034cf6951a107e0c75c2d10b17b57d681229
Author: Sheng Yong <shengyong1@xxxxxxxxxx>
Date: Wed Apr 8 01:26:18 2015 +0000
net: remove extra newlines
Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 976f2ab4985a1dbe3f3f0777ce01d4fdb404c62a
Merge: a67a951 77387b8
Author: Jens Axboe <axboe@xxxxxx>
Date: Tue Apr 7 20:00:45 2015 -0600
Merge branch 'stable/for-jens-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-4.1/drivers
Konrad writes:
This pull has one fix and an cleanup.
Note that David Vrabel in the xen/tip.git tree has other changes for the
Xen block drivers that are related to his grant work - and they do not
conflict with this git pull.
commit 5c7f0c27956a9884e29dbe5f83e56609fa00290f
Merge: fa37a8c 8f361b2
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Wed Apr 8 11:19:24 2015 +1000
Merge tag 'imx-drm-fixes-2015-03-31' of
git://git.pengutronix.de/git/pza/linux into drm-next
imx-drm limit fixes
Fix IPU IC downscaler to its hardware limitation of 4:1 and the
IPU DI pixel clock divider integer part to 8-bit.
* tag 'imx-drm-fixes-2015-03-31' of
git://git.pengutronix.de/git/pza/linux:
gpu: ipu-v3: turns out the IPU can only downsize 4:1
gpu: ipu-v3: limit pixel clock divider to 8-bits
drm/radeon: programm the VCE fw BAR as well
drm/radeon: always dump the ring content if it's available
radeon: Do not directly dereference pointers to BIOS area.
drm/radeon/dpm: fix 120hz handling harder
commit fa37a8c8237613d525437c4f9ec8add41749b314
Merge: a08aad5 d5af49c
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Wed Apr 8 11:14:40 2015 +1000
Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux
into drm-next
1) support for "stolen mem" for splash-screen take-over
2) additional hdmi pixel clks
3) various pipe flush related fixes
4) support for snapdragon 410 (8x16)
5) support for DSI and dual-DSI
It includes one small patch to export tile-group functions (which was
ack'd
by you), as these are used to explain to userspace dual-dsi configurations
(with left and right tile).
* 'msm-next' of git://people.freedesktop.org/~robclark/linux: (24 commits)
drm/msm/mdp5: Enable DSI connector in msm drm driver
drm/msm: Initial add DSI connector support
drm/msm: Add split display interface
drm/msm/mdp5: Move *_modeset_init out of construct_encoder function
drm: export tile-group functions
drm/msm/mdp5: Remove CTL flush dummy bits
drm/msm/mdp5: Update headers (add CTL flush bits)
drm/msm/mdp5: Add hardware configuration for msm8x16
drm/msm/mdp5: Get SMP client list from mdp5_cfg
drm/msm/mdp5: Update headers (remove enum mdp5_client_id)
drm/msm/mdp5: Separate MDP5 domain from MDSS domain
drm/msm/mdp5: Update headers (introduce MDP5 domain)
drm/msm/dsi: Update generated DSI header file
drm/msm/mdp5: Fix PIPE source image size settings
drm/msm/mdp5: Update generated mdp5 header file with DSI support
drm/msm/mdp5: Add pingpong entry to mdp5 config table
drm/msm/mdp5: Make the intf connection in config module
drm/msm/mdp5: Add START signal to kick off certain pipelines
drm/msm/mdp5: Enhance operation mode for pipeline configuration
drm/msm/mdp5: Update generated header files
...
commit a08aad54be7fca595af2cc7f482961e1af99c4a8
Merge: 1ddd36e 1c550fa1
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Wed Apr 8 11:14:10 2015 +1000
Merge tag 'drm/panel/for-4.1-rc1' of
git://anongit.freedesktop.org/tegra/linux into drm-next
drm/panel: Changes for v4.1-rc1
This set of changes adds support for a whole bunch of new panels, mostly
simple ones. There's now also support for panels to provide display
timings rather than fixed modes, which should allow panels to work with
a larger number of display drivers. Eventually drivers should migrate to
this new interface and the fixed modes removed from panels.
There are also a couple of sparse fixes for the PS8622 and PS8625 bridge
drivers.
* tag 'drm/panel/for-4.1-rc1' of
git://anongit.freedesktop.org/tegra/linux:
drm/panel: Add support for Ampire AM-800480R3TMQW-A1H 800x480 7" panel
of: Add vendor prefix for Ampire Co., Ltd.
drm/panel: Add display timing for HannStar HSD070PWW1
drm/panel: simple: Add display timing support
drm/panel: Add display timing support
drm/panel: Add support for OrtusTech COM43H4M85ULC panel
of: Add vendor prefix for Ortus Technology Co., Ltd.
drm/panel: Add bus format for Giantplus GPG482739QS5 panel
drm/panel: simple: Add support for AUO b101ean01 panel
drm/panel: simple: Add support for Innolux ZJ070NA-01P
drm/panel: simple: Add support for Innolux AT043TN24
drm/panel: simple: Add support for Shelly SCA07010-BFN-LNN
drm/panel: simple: Add support for Samsung LTN140AT29 panel
drm: Remove unused DRM_MODE_OBJECT_BRIDGE
drm/bridge: ptn3460: Fix sparse warnings
drm/bridge: ps8622: Fix sparse warnings
drm/bridge: Add I2C based driver for ps8622/ps8625 bridge
commit 1ddd36eda1a577837826a8e465ab9d43b024d382
Merge: 67a0375 535a65d
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Wed Apr 8 11:13:06 2015 +1000
Merge tag 'drm/tegra/for-4.1-rc1' of
git://anongit.freedesktop.org/tegra/linux into drm-next
drm/tegra: Changes for v4.1-rc1
Perhaps the most noteworthy change in this set is the implementation of
a hardware VBLANK counter using host1x syncpoints. The SOR registers can
now be dumped via debugfs, which can be useful while debugging. The IOVA
address space maintained by the driver can also be dumped via debugfs.
Other than than, these changes are mostly cleanup work, such as making
register names more consistent or removing unused code (that was left
over after the atomic mode-setting conversion). There's also a fix for
eDP that makes the driver cope with firmware that already initialized
the display (such as the firmware on the Tegra-based Chromebooks).
* tag 'drm/tegra/for-4.1-rc1' of
git://anongit.freedesktop.org/tegra/linux:
drm/tegra: sor: Reset during initialization
drm/tegra: gem: Return 64-bit offset for mmap(2)
drm/tegra: hdmi: Name register fields consistently
drm/tegra: hdmi: Resets are synchronous
drm/tegra: dc: Document tegra_dc_state_setup_clock()
drm/tegra: dc: Remove unused callbacks
drm/tegra: dc: Remove unused function
drm/tegra: dc: Use base atomic state helpers
drm/atomic: Add helpers for state-subclassing drivers
drm/tegra: dc: Implement hardware VBLANK counter
gpu: host1x: Export host1x_syncpt_read()
drm/tegra: sor: Dump registers via debugfs
drm/tegra: sor: Registers are 32-bit
drm/tegra: Provide debugfs file for the IOVA space
drm/tegra: dc: Check for valid parent clock
commit 67a0375f5e27c1daa50554de7a01fdfa4a9ea0bf
Merge: 4d0982c 1d601da
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Wed Apr 8 11:11:48 2015 +1000
Merge tag 'omapdrm-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux into drm-next
omapdrm changes for 4.1
* universal plane support
* refactoring to prepare work atomic modesetting work
* a lot of small fixes
* tag 'omapdrm-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (36 commits)
drm/omap: tiler: add hibernation callback
drm/omap: add hibernation callbacks
drm/omap: keep ref to old_fb
drm/omap: fix race conditon in DMM
drm/omap: fix race condition with dev->obj_list
drm/omap: do not use BUG_ON(!spin_is_locked(x))
drm/omap: only ignore DIGIT SYNC LOST for TV output
drm/omap: fix race with error_irq
drm/omap: use DRM_ERROR_RATELIMITED() for error irqs
drm/omap: stop connector polling during suspend
drm/omap: remove dummy PM functions
drm/omap: tiler: fix race condition with engine->async
drm/omap: fix plane's channel selection
drm/omap: fix TILER on OMAP5
drm/omap: handle incompatible buffer stride and pixel size
drm/omap: fix error handling in omap_framebuffer_create()
drm/omap: fix operation without fbdev
drm/omap: add a comment why locking is missing
drm/omap: add pin refcounting to omap_framebuffer
drm/omap: clear omap_obj->paddr in omap_gem_put_paddr()
...
commit a67a95134ffddd0ca4527c77e86375c3deb2938f
Author: Keith Busch <keith.busch@xxxxxxxxx>
Date: Tue Apr 7 16:57:19 2015 -0600
NVMe: Meta data handling through submit io ioctl
This adds support for the extended metadata formats through the submit
IO ioctl, and simplifies the rest when using a separate metadata format.
Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 7f749d9c109223e4d1724e674e7d603082e85839
Author: Keith Busch <keith.busch@xxxxxxxxx>
Date: Tue Apr 7 15:34:18 2015 -0600
NVMe: Add translation for block limits
Adds SCSI-to-NVMe translation for VPD B0h, block limits inquiry data.
Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 4d0982c6eab072d17201c83d5c7af495fb1dec33
Merge: 502e95c 5d82d1a
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Wed Apr 8 11:10:56 2015 +1000
Merge branch 'drm-next0401' of
git://github.com/markyzq/kernel-drm-rockchip into drm-next
These are based on drm-next branch, fix some drm/rockchip problem.
Please pull them.
* 'drm-next0401' of git://github.com/markyzq/kernel-drm-rockchip:
drm/rockchip: vop: add vop power domain support
drm: rockchip: Turn off VT switching on suspend
drm/rockchip: register all connectors after bind
drm/rockchip: fix clk enable disable mismatch in vop_crtc_mode_set
commit 447228023eaa8c96a48a8a459be7a992008df830
Author: Keith Busch <keith.busch@xxxxxxxxx>
Date: Tue Apr 7 15:48:26 2015 -0600
NVMe: Remove check for null
Checking fails static analysis due to additional arithmetic prior to
the NULL check. Mapping doesn't return NULL here anyway, so removing
the check.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit c727040bdaa28cd7aa9dbc086eee7b236e0fb270
Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>
Date: Sat Mar 7 01:43:41 2015 +0300
NVMe: Fix error handling of class_create("nvme")
class_create() returns ERR_PTR on failure,
so IS_ERR() should be used instead of check for NULL.
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>
Acked-by: Keith Busch <keith.busch@xxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 1997e625963e24994a81070fef169e78965f6496
Author: Andy Grover <agrover@xxxxxxxxxx>
Date: Tue Mar 31 10:43:18 2015 -0700
iscsi-target: TargetAddress in SendTargets should bracket ipv6 addresses
"The domainname can be specified as either a DNS host name, a
dotted-decimal IPv4 address, or a bracketed IPv6 address as specified
in [RFC2732]."
See https://bugzilla.redhat.com/show_bug.cgi?id=1206868
Reported-by: Kyle Brantley <kyle@xxxxxxxxxxxxxx>
Signed-off-by: Andy Grover <agrover@xxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 7b43b47373d40d557cd7e1a84a0bd8ebc4d745ab
Merge: f22e6e8 b18042a
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 17:38:31 2015 -0700
Merge tag 'media/v3.20-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab:
"A series of fixup patches for version 4.0:
- one VB2 core fixup, when stopping the stream;
- one VB2 core fixup for dma-contig memory type;
- driver fixes at rtl28xx, s5p (tv, jpeg, mfc, soc-camera, sh_veu,
cx23885, gspca"
* tag 'media/v3.20-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
[media] rtl28xxu: return success for unimplemented FE callback
[media] rtl2832: disable regmap register cache
[media] vb2: Fix dma_dir setting for dma-contig mem type
[media] media: s5p-mfc: fix broken pointer cast on 64bit arch
[media] media: s5p-mfc: fix mmap support for 64bit arch
[media] cx23885: fix querycap
[media] sh_veu: v4l2_dev wasn't set
[media] s5p-mfc: Fix NULL pointer dereference caused by not set q->lock
[media] s5p-jpeg: exynos3250: fix erroneous reset procedure
[media] s5p-tv: hdmi needs I2C support
[media] s5p-jpeg: Initialize cb and cr to zero
[media] media: fix gspca drivers build dependencies
[media] soc-camera: Fix devm_kfree() in soc_of_bind()
[media] media: atmel-isi: increase the burst length to improve the
performance
[media] vb2: fix 'UNBALANCED' warnings when calling vb2_thread_stop()
commit 6b79c57b92cdd90853002980609af516d14c4f9c
Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Date: Tue Apr 7 14:26:47 2015 -0700
mm: numa: disable change protection for vma(VM_HUGETLB)
Currently when a process accesses a hugetlb range protected with
PROTNONE, unexpected COWs are triggered, which finally puts the hugetlb
subsystem into a broken/uncontrollable state, where for example
h->resv_huge_pages is subtracted too much and wraps around to a very
large number, and the free hugepage pool is no longer maintainable.
This patch simply stops changing protection for vma(VM_HUGETLB) to fix
the problem. And this also allows us to avoid useless overhead of minor
faults.
Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Suggested-by: Mel Gorman <mgorman@xxxxxxx>
Cc: Hugh Dickins <hughd@xxxxxxxxxx>
Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx>
Cc: David Rientjes <rientjes@xxxxxxxxxx>
Cc: Rik van Riel <riel@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit ce66b032ad7b838bf376e3b1bb4d8bce1a69ee5c
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Tue Apr 7 14:26:44 2015 -0700
include/linux/dmapool.h: declare struct device
dmapool uses struct device in function arguments but relies on an
implicit inclusion to declare struct device causing warnings in some
configurations:
include/linux/dmapool.h:31:7: warning: 'struct device' declared inside
parameter list
Fix this by adding a struct device declaration to the file.
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit a368ab67aa55615a03b2c9c00fb965bee3ebeaa4
Author: Mel Gorman <mgorman@xxxxxxx>
Date: Tue Apr 7 14:26:41 2015 -0700
mm: move zone lock to a different cache line than order-0 free page lists
Huang Ying reported the following problem due to commit 3484b2de9499 ("mm:
rearrange zone fields into read-only, page alloc, statistics and page
reclaim lines") from the Intel performance tests
24b7e5819ad5cbef 3484b2de9499df23c4604a513b
---------------- --------------------------
%stddev %change %stddev
\ | \
152288 \261 0% -46.2% 81911 \261 0% aim7.jobs-per-min
237 \261 0% +85.6% 440 \261 0%
aim7.time.elapsed_time
237 \261 0% +85.6% 440 \261 0%
aim7.time.elapsed_time.max
25026 \261 0% +70.7% 42712 \261 0%
aim7.time.system_time
2186645 \261 5% +32.0% 2885949 \261 4%
aim7.time.voluntary_context_switches
4576561 \261 1% +24.9% 5715773 \261 0%
aim7.time.involuntary_context_switches
The problem is specific to very large machines under stress. It was not
reproducible with the machines I had used to justify the original patch
because large numbers of CPUs are required. When pressure is high enough,
the cache line is bouncing between CPUs trying to acquire the lock and the
holder of the lock adjusting free lists. The intention was that the
acquirer of the lock would automatically have the cache line holding the
free lists but according to Huang, this is not a universal win.
One possibility is to move the zone lock to its own cache line but it
increases the size of the zone. This patch moves the lock to the other
end of the free lists where they do not contend under high pressure. It
does mean the page allocator paths now require more cache lines but Huang
reports that it restores performance to previous levels on large machines
%stddev %change %stddev
\ | \
84568 \261 1% +94.3% 164280 \261 1% aim7.jobs-per-min
2881944 \261 2% -35.1% 1870386 \261 8%
aim7.time.voluntary_context_switches
681 \261 1% -3.4% 658 \261 0%
aim7.time.user_time
5538139 \261 0% -12.1% 4867884 \261 0%
aim7.time.involuntary_context_switches
44174 \261 1% -46.0% 23848 \261 1%
aim7.time.system_time
426 \261 1% -48.4% 219 \261 1%
aim7.time.elapsed_time
426 \261 1% -48.4% 219 \261 1%
aim7.time.elapsed_time.max
468 \261 1% -43.1% 266 \261 2% uptime.boot
Signed-off-by: Mel Gorman <mgorman@xxxxxxx>
Reported-by: Huang Ying <ying.huang@xxxxxxxxx>
Tested-by: Huang Ying <ying.huang@xxxxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
commit 3937567ded412bd03b327b596a21eb4bb6377702
Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Date: Tue Apr 7 14:12:04 2015 +0200
clk: qcom: fix driver dependencies
Support for Qualcomm's clock controllers should be available only
on Qualcomm platforms.
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
Cc: Mike Turquette <mturquette@xxxxxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
commit 87842661a315618dfdeeede188257e4011164023
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Tue Apr 7 20:29:08 2015 +0200
MIPS: Octeon: Don't set .owner.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 04f156c9a5cc34729554e561b33cd3f0efd953a6
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Tue Apr 7 15:01:48 2015 +0200
MIPS: Netlogic: Fix double inclusion of <asm/netlogic/common.h>.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 8af2f6967cb9eeedb0f85979a8c20a59a6332d50
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Tue Apr 7 14:59:18 2015 +0200
MIPS: Fix double inclusion of headers in misalignment emulator.
Introduced in 34c2f668d0f6b2ca1c076d8170d6cd4f2235a9d4 (MIPS: microMIPS:
Add unaligned access support.)
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 5ffd7c8b13643f4bb6e35b2eababf5336d5e8353
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:32:22 2015 +0100
MIPS: DEC: Do not set up the FPU interrupt if no FPU
Following the arrangement for processors that wire FPU exceptions to the
FPE CPU exception handle the case where no FPU is in use -- which for
DECstation systems will only ever happen when the "nofpu" kernel option
has been used -- do not register the FPU interrupt in such a case
either.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9714/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit f02cf4691e19ab61d4415b2fbfeb64aa8a93757e
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:32:08 2015 +0100
MIPS: DEC: Implement FPU interrupt counter
Implement a cheap way to count FPU interrupts for R2k/R3k DECstation
systems. Do this manually in handcoded assembly, rather than calling
`kstat_incr_irq_this_cpu' that would require setting up a stack frame
and a lot of redirection. This is not going to be a problem because the
FPU interrupt is local to the CPU and also there is one CPU only anyway.
So at bootstrap determine the address of the correct location within
`struct irq_desc', and then only refer to it directly in the interrupt
handler.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9713/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 7aecd5ca80d1c08f882a5357ddae8c677c7fd1af
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:27:54 2015 +0100
MIPS: Factor out FPU feature probing
Factor out FPU feature probing, mainly to remove code duplication from
`fpu_disable'. No functional change although shuffle some code to avoid
forward references.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9712/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 9b26616c8d9dae53fbac7f7cb2c6dd1308102976
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:27:48 2015 +0100
MIPS: Respect the ISA level in FCSR handling
Define the central place the default FCSR value is set from, initialised
in `cpu_probe'. Determine the FCSR mask applied to values written to
the register with CTC1 in the full emulation mode and via ptrace(2),
according to the ISA level of processor hardware or the writability of
bits 31:18 if actual FPU hardware is used.
Software may rely on FCSR bits whose functions our emulator does not
implement, so it should not allow them to be set or software may get
confused. For ptrace(2) it's just sanity.
[ralf@xxxxxxxxxxxxxx: Fixed double inclusion of <asm/current.h>.]
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9711/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 232b6ec5df874236166fb0167cd473601a631715
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:27:43 2015 +0100
MIPS: math-emu: Make ABS.fmt and NEG.fmt arithmetic again
The ABS.fmt and NEG.fmt instructions have been specified as arithmetic
in the MIPS architecture, which in particular implies handling NaN data
in the usual way with qNaN bit patterns propagated unchanged and sNaN
bit patterns signalling the usual IEEE 754 Invalid Operation exception
and quieted by default.
A series of changes applied over time to our implementation:
c5033d78 [MIPS] ieee754[sd]p_neg workaround
cea2be44 MIPS: Fix abs.[sd] and neg.[sd] emulation for NaN operands
has led to the current situation where the sign bit is updated according
to the operation requested even for NaN inputs. This is according to
these commits a workaround so that broken binaries produced by GCC
disregarding the properties of these instructions have a chance to work.
For sNaN inputs this remains within IEEE Std 754 as the standard leaves
the choice of output qNaN bit patterns produced under the default
Invalid Operation exception handling for individual sNaN input bit
patterns to implementer's discretion, even though it still recommends as
much NaN input information to be preserved in NaN outputs.
For qNaN inputs however it violates the standard as it requires a qNaN
input bit patterns to propagate unchanged to output.
This is also unlike real MIPS FPU hardware behaves where sNaN and/or
qNaN processing has been fully implemented with no Unimplemented
Operation exception signalled. Such hardware propagates any input qNaN
bit pattern unchanged. It also quiets any input sNaN bit pattern in an
implementer-specific manner, for example the MIPS 74Kf processor returns
the default qNaN pattern with the sign bit always clear and the Broadcom
SB-1 and BMIPS5000 processors propagate the input sNaN bit pattern with
the sign bit unchanged and the quiet bit first cleared in the trailing
significand field and then the next lower bit set if clearing the quiet
bit left the field with no other bit set.
Especially the latter observation indicates the limited usefulness of
the workaround as it will cover many hardware configurations, but not
all of them, only making it harder to discover such broken binaries that
need to be recompiled with GCC told to avoid the use of ABS.fmt and
NEG.fmt instructions where non-arithmetic semantics is required by the
algorithm used.
Revert the damage done by the series of changes then, and take the
opportunity to simplify implementation by calling `ieee754dp_sub' and
`ieee754dp_add' as required and also the rounding mode set towards -Inf
temporarily so that the sign of 0 is correctly handled.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9710/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit f1f3b7ebac08161761c352fd070cfa07b7b94c54
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:27:38 2015 +0100
MIPS: math-emu: Define IEEE 754-2008 feature control bits
Define IEEE 754-2008 feature control bits: FIR.HAS2008, FCSR.ABS2008 and
FCSR.NAN2008, and update the `_ieee754_csr' structure accordingly.
For completeness define FIR.UFRP too.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9709/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit c491cfa2ca804e58f4e88386736c1608c82da08a
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:27:33 2015 +0100
MIPS: math-emu: Implement the FCCR, FEXR and FENR registers
Implement the FCCR, FEXR and FENR "shadow" FPU registers for the
architecture levels that include them, for the CFC1 and CTC1
instructions in the full emulation mode.
For completeness add macros for the CP1 UFR and UNFR registers too, no
actual implementation though.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9708/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit f684362689ddc4a4e055be438d6416cc280a1372
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:27:26 2015 +0100
MIPS: math-emu: Set FIR feature flags for full emulation
Implement FIR feature flags in the FPU emulator according to features
supported and architecture level requirements. The W, L and F64 bits
have only been added at level #2 even though the features they refer to
were also included with the MIPS64r1 ISA and the W fixed-point format
also with the MIPS32r1 ISA.
This is only relevant for the full emulation mode and the emulated CFC1
instruction as well as ptrace(2) accesses.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9707/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 9cb60e202631d71b7b8d38fa84ae7663805244b6
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:27:21 2015 +0100
MIPS: Correct ISA masking in FPU feature determination
Correct an ISA level determination problem introduced with 8b8aa636
[MIPS: kernel: cpu-probe.c: Add support for MIPS R6], reverting explicit
masking against individual `MIPS_CPU_ISA_*' macros in FPU feature
determination.
Feature macros such as `cpu_has_mips_r' cannot be used here, because
they operate on CPU #0 and we want to refer to the current CPU instead.
They cannot be used for masking against the current CPU either because
they mask against CPU #0 too, e.g.:
# define cpu_has_mips32r1 (cpu_data[0].isa_level & MIPS_CPU_ISA_M32R1)
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9706/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 304acb717e5b67cf56f05bc5b21123758e1f7ea0
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:27:15 2015 +0100
MIPS: Set `si_code' for SIGFPE signals sent from emulation too
Rework `process_fpemu_return' and move IEEE 754 exception interpretation
there, from `do_fpe'. Record the cause bits set in FCSR before they are
cleared and pass them through to `process_fpemu_return' so as to set
`si_code' correctly too for SIGFPE signals sent from emulation rather
than those issued by hardware with the FPE processor exception only.
For simplicity `mipsr2_decoder' assumes `*fcr31' has been preinitialised
and only sets it to anything if an FPU instruction has been emulated,
which in turn is the only case SIGFPE can be issued for here.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9705/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 443c44032a54f9acf027a8e688380fddc809bc19
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:27:10 2015 +0100
MIPS: Always clear FCSR cause bits after emulation
Clear any FCSR cause bits recorded in the saved FPU context after
emulation in all cases rather than in `do_fpe' only, so that any
unmasked IEEE 754 exception left from emulation does not cause a fatal
kernel-mode FPE hardware exception with the CTC1 instruction used by the
kernel to subsequently restore FCSR hardware from the saved FPU context.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9704/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit ed2d72c1eb3643b7c109bdf387563d9b9a30c279
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:27:06 2015 +0100
MIPS: Respect the FCSR exception mask for `si_code'
Respect the FCSR exception mask when interpreting the IEEE 754 exception
condition to report with SIGFPE in `si_code', so as not to use one that
has been masked where a different one set in parallel caused the FPE
hardware exception to trigger. As per the IEEE Std 754 the Inexact
exception can happen together with Overflow or Underflow.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9703/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit cfafc4feb39a5f5f12cf30da33c0b6ae89ce907d
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:27:01 2015 +0100
MIPS: math-emu: Move long fixed-point support into an `ar' library
Complement 593d33fe [MIPS: math-emu: Move various objects into an ar
library.] and also move sp_tlong.o, sp_flong.o, dp_tlong.o, and
dp_flong.o into an `ar' library. These objects implement long
fixed-point format support that can be omitted from MIPS I, MIPS II and
MIPS32r1 configurations.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9702/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 9ab4471c9f1b3e986f4d429951492f736c888ff6
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:26:56 2015 +0100
MIPS: math-emu: Correct delay-slot exception propagation
Restore EPC at the branch whose delay slot is emulated if the delay-slot
instruction signals. This is so that code in `fpu_emulator_cop1Handler'
does not see EPC having advanced and mistakenly successfully resume
userland execution from the location at the branch target in that case.
Restoring EPC guarantees an immediate exit from the emulation loop and
if EPC hasn't advanced at all since entering the loop, also issuing the
signal reported by the delay-slot instruction.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9701/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 2d83fea786d7aeb5b3b76bd492d9b3bccc0f823c
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:26:49 2015 +0100
MIPS: Correct FP ISA requirements
Correct ISA requirements for floating-point instructions:
* the CU3 exception signifies a real COP3 instruction in MIPS I & II,
* the BC1FL and BC1TL instructions are not supported in MIPS I,
* the SQRT.fmt instructions are indeed supported in MIPS II,
* the LDC1 and SDC1 instructions are indeed supported in MIPS32r1,
* the CEIL.W.fmt, FLOOR.W.fmt, ROUND.W.fmt and TRUNC.W.fmt instructions
are indeed supported in MIPS32,
* the CVT.L.fmt and CVT.fmt.L instructions are indeed supported in
MIPS32r2 and MIPS32r6,
* the CEIL.L.fmt, FLOOR.L.fmt, ROUND.L.fmt and TRUNC.L.fmt instructions
are indeed supported in MIPS32r2 and MIPS32r6,
* the RSQRT.fmt and RECIP.fmt instructions are indeed supported in
MIPS64r1,
Also simplify conditionals for MIPS III and MIPS IV FPU instructions and
the handling of the MOVCI minor opcode.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9700/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 80cbfad790962125b542cb0cb637954c04386b30
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:26:44 2015 +0100
MIPS: Correct MIPS I FP context layout
Implement the correct ordering of individual floating-point registers
within double-precision register pairs for the MIPS I FP context, as
required by our FP emulation code and expected by userland talking via
ptrace(2). Use L.D and S.D assembly macros that do the right thing like
LDC1 and SDC1 from MIPS II up, avoiding the need to mess up with
endianness conditionals.
This in particular fixes the handling of denormals and NaN generation in
Unimplemented Operation emulation traps.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9699/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 7737b20b9e071f3595582686e894bf56377c43e4
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:26:37 2015 +0100
MIPS: math-emu: Fix delay-slot emulation cache incoherency
Correct a cache coherency regression introduced with be1664c4 [Another
round of fixes for the fp emulator.] for the emulation frame used in
delay-slot emulation.
Two instructions are copied into the frame and as from the commit
referred a cache synchronisation call is made for the second instruction
aka `badinst' of the two only. The `flush_cache_sigtramp' interface is
reused that guarantees that synchronisation will be made for 8 bytes or
2 instructions starting from the address requested, although if cache
lines are wider then a larger area may be synchronised.
Change the call to point to the first of the two instructions aka `emul'
instead, removing unpredictable behaviour resulting from cache
incoherency.
This bug only ever manifested itself on systems implementing 4-byte
cache lines, typically MIPS I systems, causing all kinds of weirdness.
This is because the sequence of two instructions starting from `emul' is
8-byte aligned and for 8-byte or wider cache lines the line synchronised
will span both, so the vast majority of systems have escaped unharmed.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9698/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit c9875032015ec94033295382a098657d4e38bf89
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:26:32 2015 +0100
MIPS: Fix BREAK code interpretation heuristics
Do not lose the other half of the BREAK code where there is an upper
half. This is so that e.g. `BREAK 7, 7' is not interpreted as a divide
by zero trap, while `BREAK 0, 7' or `BREAK 7, 0' still are.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9697/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit f6a31da50158c1003bd487968d89a6b27ff25bb6
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:26:27 2015 +0100
MIPS: BREAK instruction interpretation corrections
Add the missing microMIPS BREAK16 instruction code interpretation and
reshape code removing instruction fetching duplication and the separate
call to `do_trap_or_bp' in the MIPS16 path.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9696/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 68893e0051419ccdc14fd6eafcdecc96533c6cc3
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:26:21 2015 +0100
MIPS: Correct MIPS16 BREAK code interpretation
Correct the interpretation of the immediate MIPS16 BREAK instruction
code embedded in the instruction word across bits 10:5 rather than 11:6
as current code implies, fixing the interpretation of integer overflow
and divide by zero traps.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9695/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 18a2c2c6b9319503eeac8a38b62fc82c9ff81b0d
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:26:04 2015 +0100
MIPS: Correct `nofpu' non-functionality
The `cpu_has_fpu' feature flag must not be hardcoded to 1 or the `nofpu'
kernel option will be ignored. Remove any such overrides and add a
cautionary note. Hardcoding to 0 is fine for FPU-less platforms.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9694/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit e06b530b92364b2d6ce2981f2c775d2e79dc8f21
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:25:57 2015 +0100
MIPS: math-emu: Make NaN classifiers static
The `ieee754sp_isnan' and `ieee754dp_isnan' NaN classifiers are now no
longer externally referred, remove their header prototypes and make them
local to the two only respective places still making use of them.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9693/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit b0c2f8fbdb52b95b969c96994bcab7c084530199
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:25:52 2015 +0100
MIPS: math-emu: Optimise qNaN handling in `ieee754sp_fdp'
Rewrite qNaN handling in `ieee754sp_fdp' using the `ieee754_class_nan'
helper recently added, removing the external call to `ieee754sp_isnan'
and reducing the size of code by 16 instructions or 64 bytes.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9692/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 42fa24242182771394ae93361914b7da4099a60d
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:25:48 2015 +0100
MIPS: math-emu: Remove dead comparison helpers
None of the comparison helpers in ieee754.h is used, remove them.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9691/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit bd267a53055c1a0fb3a8ad7fa74ae91ece13dcfb
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:25:43 2015 +0100
MIPS: math-emu: Remove redundant code from NaN comparison
Remove a redundant call to `ieee754_setandtestcx' in `ieee754sp_cmp' and
`ieee754dp_cmp'. The IEEE 754 exception requested will have already
been set by a call to `ieee754_setcx' immediately above, because `sig'
has to be non-zero to reach here, and the comparison result returned
will be 0 regardless of the result from the call. Simplify the return
expression remaining. All this reducing the size of code by 16 and 12
instructions or 64 and 48 bytes respectively.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9690/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit c9a1084516e35ff4f1d5b83e77530ed019ca364b
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:25:38 2015 +0100
MIPS: math-emu: Optimise NaN handling in comparisons
We have the input operands already classified in `ieee754sp_cmp' and
`ieee754dp_cmp' comparison operations, so use the class obtained to tell
NaNs and numbers apart rather than classifying inputs again for this
purpose, reducing the size of code by 24 and 40 instructions or 96 and
160 bytes respectively.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9689/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit d5afa7e905544a3d9e2bb29d9cafebc8e544c978
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:25:34 2015 +0100
MIPS: math-emu: Reinstate sNaN quieting handlers
Revert the changes made by commit fdffbafb [Lots of FPU bug fixes from
Kjeld Borch Egevang.] to `ieee754sp_nanxcpt' and `ieee754dp_nanxcpt'
sNaN quieting handlers and their callers so that sNaN processing is done
within the handlers againg. Pass the sNaN causing an IEEE 754 invalid
operation exception down to the relevant handler. Pass the sNaN in `fs'
where two sNaNs are supplied to a binary operation.
Set the Invalid Operation FCSR exception bits in the quieting handlers
rather than at their call sites throughout. Make the handlers exclusive
for sNaN processing.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9688/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 539bfb579babbe5a14b405370ecc99b4ed53bc4e
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:25:30 2015 +0100
MIPS: math-emu: Don't pass qNaNs through quieting handlers
Don't call the `ieee754sp_nanxcpt' and `ieee754dp_nanxcpt' sNaN quieting
handlers for a qNaN supplied to floating-point format conversions or
SQRT.S/SQRT.D instructions, or for a qNaN produced out of a negative
operand supplied to SQRT.S/SQRT.D instructions. Return the qNaN right
away in these cases.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9687/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit d19cf86e2e295b0406b5fa3a35609fb0a99f1bde
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:25:23 2015 +0100
MIPS: math-emu: Factor out NaN FP format conversions
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9686/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit ec98f9a01ffb23ea72471ccbc8c390c8c2e4c0b3
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:25:18 2015 +0100
MIPS: math-emu: Update sNaN quieting handlers
Commit fdffbafb [Lots of FPU bug fixes from Kjeld Borch Egevang.]
replaced the two single `ieee754sp_nanxcpt' and `ieee754dp_nanxcpt'
places, where sNaN quieting used to happen for single and double
floating-point operations respectively, with individual qNaN
instantiations across all the call sites instead. It also made most of
these two functions dead code as where called on a qNaN they return
right away.
To revert the damage and make sNaN quieting uniform again first rewrite
`ieee754sp_nanxcpt' and `ieee754dp_nanxcpt' to do the same quieting all
the call sites do, that is return the default qNaN encoding for all
input sNaN values; never propagate any sNaN payload bits from its
trailing significand field.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9685/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 1f6d2c29b08bbd29a3d3b8476e9a26546e03104e
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:25:14 2015 +0100
MIPS: Use `FPU_CSR_ALL_X' in `__build_clear_fpe'
Replace a hardcoded numeric bitmask for FCSR cause bits with
`FPU_CSR_ALL_X' in `__build_clear_fpe'.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9684/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 27e28e8ec47a5ce335ebf25d34ca356c80635908
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:25:08 2015 +0100
MIPS: Normalise code flow in the CpU exception handler
Changes applied to `do_cpu' over time reduced the use of the SIGILL
issued with `force_sig' at the end to a single CU3 case only in the
switch statement there. Move that `force_sig' call over to right where
required then and toss out the pile of gotos now not needed to skip over
the call, replacing them with regular breaks out of the switch.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9683/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit d4f5b088937e2dae7528245c597dcab7e57eb5f3
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:25:04 2015 +0100
MIPS: math-emu: Factor out CFC1/CTC1 emulation
Move CFC1/CTC1 emulation code to separate functions to avoid excessive
indentation in forthcoming changes. Adjust formatting in a minor way
and remove extraneous round brackets.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9682/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit cb5d4aad6844cdbe2f3b9f5d581ae1c9ec342009
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:25:00 2015 +0100
MIPS: bitops.h: Avoid inline asm for constant FLS
GCC is smart enough to substitute the final result for FLS calculations
as implemented in the fallback C code we have in `__fls' and `fls'
applied to constant values. The presence of inline asm defeats the
compiler though, forcing it to emit extraneous CLZ/DCLZ calculation for
processors that support these instructions.
Use `__builtin_constant_p' then to avoid inline asm altogether for
constants.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9681/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 2cfcf8a8313bd9bdb54d62ca4ea581f130869aca
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:24:56 2015 +0100
MIPS: math-emu: Remove `modeindex' macro
Commit 56a64733 [MIPS: math-emu: Switch to using the MIPS rounding
modes.] removed the distinction between hardware and emulator rounding
mode encodings, the hardware encoding is now used in emulation as well.
Complement the change and remove the `modeindex' macro previously used
for indexing into encoding translation tables, it now does nothing and
only obfuscates code by reinserting the value extracted from FCSR.
Adjust comments accordingly.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9680/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 4a7c2371823a4d35eb4d4f5802c472469934c57d
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:24:51 2015 +0100
MIPS: Reindent R6 RI exception emulation
Fold a nested `if' statement for the R6 case in `do_ri' into its
containing `if' block, removing excessive indentation causing code to
extend beyond 79 columns.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9679/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit fad0bfdb893acfc2444deba6111e700ef013a954
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:24:46 2015 +0100
MIPS: mips-r2-to-r6-emul.h: Inline empty `mipsr2_decoder'
Use `static inline' rather than `static __maybe_unused' for
`mipsr2_decoder' in the empty case, making inlining explicit where it
will happen anyway.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9678/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit a49dc4276e07fb94858bcaf46bf99ac3effd026a
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:24:41 2015 +0100
MIPS: ELF: Drop `get_fp_abi'
Commit 46490b57 [MIPS: kernel: elf: Improve the overall ABI and FPU mode
checks] reduced `get_fp_abi' to an elaborate pass-through. Drop it
then.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: Markos Chandras <markos.chandras@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9677/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit b844bc781b7bb4fa49c0a26f998d9ba10ecc3742
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:24:35 2015 +0100
MIPS: math-emu: Fix oversize lines in comparisons
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9676/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 241e9c465f5ff424b1b6de0d8100962a9bddc3f3
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:24:29 2015 +0100
MIPS: Correct the comment for and reformat `movf_func'
Correct a copy-and-paste issue with the description for `movf_func'
referring to `movt_func'. Reformat the former function to match the
latter.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9675/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 5d77cf2895edea277878a526b4c47abfdbf6ffd2
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:24:24 2015 +0100
MIPS: math-emu: Reindent `bc_op' emulation
Correct the double-tab indentation of the branch-likely not-taken case.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9674/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit f6c70ff4de7f244f2aac0b25925fdcfcfdfe4578
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:24:18 2015 +0100
MIPS: Clarify the comment for `__cpu_has_fpu'
Reword the comment for `__cpu_has_fpu' to make it unambiguous this code
is for external floating-point units only, generally MIPS I processors
using the original CP1 hardware interface.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9673/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 1f443779009c10e118e03569939807a4bfe0d330
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:24:14 2015 +0100
MIPS: Correct the comment for FPU emulator traps
Adjust the explanatory comment for FPU emulator traps according to
ba3049ed [MIPS: Switch FPU emulator trap to BREAK instruction.];
originally coming from `do_ade'.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9672/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 1796ec774237948156936cd4b8f543585699e8a9
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:24:09 2015 +0100
MIPS: ieee754.h: Supplement comments for special values
Add the remaining missing comments for IEEE 754 special value array
indices. Reindent macro definitions for consistency.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9671/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit b3fea96269679a50802ffb5051d19b8e3f7dd80e
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:24:01 2015 +0100
MIPS: ieee754.h: Correct comments for special values
IEEE754_SPCVAL_NMIN denotes the index into the special value array where
the closest to zero negative normal number expressible is stored.
Similarly IEEE754_SPCVAL_NMIND denotes such index for the closest to
zero negative subnormal number expressible. Make comments match that.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9670/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 1054533a322204042344b563012421e2dff6104d
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:23:56 2015 +0100
MIPS: mipsregs.h: Reindent CP0 Cause macros
Reindent CP0 Cause macros for a single space after #define, leaving
extra indentation for individual Interrupt Pending bits as with CP0
Status register's Interrupt Mask bits.
[ralf@xxxxxxxxxxxxxx: Fix conflict.]
[ralf@xxxxxxxxxxxxxx: Fix indentation of the CAUSEB_FDCI and CAUSEF_FDCI
definitions.]
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9669/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit e08384cad86b5ddd78ff8ef3262e846a1c4b2faa
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:23:50 2015 +0100
MIPS: mipsregs.h: Move TX39 macros out of the way
TX39 CP0 Configuration Register 3 macro definitions have been randomly
thrown in the middle of a block of CP0 Status register value macros.
Move them to the end of the whole CP0 register value macro block,
complementing the location of the TX39 Cache register name macro at the
end of the CP0 register name macro block.
[ralf@xxxxxxxxxxxxxx: Fix conflict.]
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9668/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit fda51906ea282c554fbe735d2000d9b00a0c6669
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:23:46 2015 +0100
MIPS: mipsregs.h: Reorder CP1 macro definitions
Originally CP1 macros were placed between CP0 register name macros and
CP0 register value macros. As changes were applied to the header the
position of CP1 macros gradually has become more and more arbitrary and
two separate blocks were created. This may only cause confusion.
Move them out of the way then and place together after all the CP0
macros. No semantic change.
[ralf@xxxxxxxxxxxxxx: Fix conflict.]
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9667/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 124f43d30ffe84a9ffd1fe448022467a2bfb70bc
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:23:41 2015 +0100
MIPS: mipsregs.h: Remove broken comments
Remove a duplicate FPU Status Register reference that has been there
since forever and a mistakenly copied and pasted R4xx0 manual reference.
[ralf@xxxxxxxxxxxxxx: Fix conflict.]
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9666/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit fab43ef4c8b825d8cbe05e8f70c9138de1951980
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Date: Fri Apr 3 23:23:34 2015 +0100
DOC: kernel-parameters.txt: Mark `nofpu' for MIPS too
The MIPS port has supported this option since forever, long before SH
was even in plans.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9665/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit ee90b81203a91d4e5385622811ee7872b5bcfe76
Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Date: Mon Apr 6 15:22:54 2015 -0700
hv_netvsc: Fix the packet free when it is in skb headroom
In the two places changed, we now use netvsc_xmit_completion() which
properly
frees hv_netvsc_packet in or not in skb headroom.
Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 721514222db13498613706709409c21c105e0f4a
Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Date: Mon Apr 6 15:22:53 2015 -0700
hv_netvsc: Define a macro RNDIS_AND_PPI_SIZE
The sum of RNDIS msg and PPI struct sizes is used in multiple places, so
we define
a macro for them.
Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0d158852a8089099a6959ae235b20f230871982f
Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Date: Mon Apr 6 15:22:52 2015 -0700
hv_netvsc: Clean up two unused variables
Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2646c831c00c5d22aa72b79d24069c1b412cda7c
Author: Daniel Lee <Longinus00@xxxxxxxxx>
Date: Mon Apr 6 14:37:27 2015 -0700
tcp: RFC7413 option support for Fast Open client
Fast Open has been using an experimental option with a magic number
(RFC6994). This patch makes the client by default use the RFC7413
option (34) to get and send Fast Open cookies. This patch makes
the client solicit cookies from a given server first with the
RFC7413 option. If that fails to elicit a cookie, then it tries
the RFC6994 experimental option. If that also fails, it uses the
RFC7413 option on all subsequent connect attempts. If the server
returns a Fast Open cookie then the client caches the form of the
option that successfully elicited a cookie, and uses that form on
later connects when it presents that cookie.
The idea is to gradually obsolete the use of experimental options as
the servers and clients upgrade, while keeping the interoperability
meanwhile.
Signed-off-by: Daniel Lee <Longinus00@xxxxxxxxx>
Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx>
Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7f9b838b71eb78a27de27a12ca5de8542fac3115
Author: Daniel Lee <Longinus00@xxxxxxxxx>
Date: Mon Apr 6 14:37:26 2015 -0700
tcp: RFC7413 option support for Fast Open server
Fast Open has been using the experimental option with a magic number
(RFC6994) to request and grant Fast Open cookies. This patch enables
the server to support the official IANA option 34 in RFC7413 in
addition.
The change has passed all existing Fast Open tests with both
old and new options at Google.
Signed-off-by: Daniel Lee <Longinus00@xxxxxxxxx>
Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx>
Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0ad2a8365975d6794d79a4e4dde60fcc036692c7
Author: Beshay, Joseph <jdb109120@xxxxxxxxxxxx>
Date: Mon Apr 6 18:00:56 2015 +0000
netem: Fixes byte backlog accounting for the first of two chained netem
instances
Fixes byte backlog accounting for the first of two chained netem
instances.
Bytes backlog reported now corresponds to the number of queued packets.
When two netem instances are chained, for instance to apply rate and queue
limitation followed by packet delay, the number of backlogged bytes
reported
by the first netem instance is wrong. It reports the sum of bytes in the
queues
of the first and second netem. The first netem reports the correct number
of
backlogged packets but not bytes. This is shown in the example below.
Consider a chain of two netem schedulers created using the following
commands:
$ tc -s qdisc replace dev veth2 root handle 1:0 netem rate 10000kbit
limit 100
$ tc -s qdisc add dev veth2 parent 1:0 handle 2: netem delay 50ms
Start an iperf session to send packets out on the specified interface and
monitor the backlog using tc:
$ tc -s qdisc show dev veth2
Output using unpatched netem:
qdisc netem 1: root refcnt 2 limit 100 rate 10000Kbit
Sent 98422639 bytes 65434 pkt (dropped 123, overlimits 0 requeues 0)
backlog 172694b 73p requeues 0
qdisc netem 2: parent 1: limit 1000 delay 50.0ms
Sent 98422639 bytes 65434 pkt (dropped 0, overlimits 0 requeues 0)
backlog 63588b 42p requeues 0
The interface used to produce this output has an MTU of 1500. The output
for
backlogged bytes behind netem 1 is 172694b. This value is not correct.
Consider
the total number of sent bytes and packets. By dividing the number of sent
bytes by the number of sent packets, we get an average packet size of
~=1504.
If we divide the number of backlogged bytes by packets, we get ~=2365.
This is
due to the first netem incorrectly counting the 63588b which are in netem
2's
queue as being in its own queue. To verify this is the case, we subtract
them
from the reported value and divide by the number of packets as follows:
172694 - 63588 = 109106 bytes actualled backlogged in netem 1
109106 / 73 packets ~= 1494 bytes (which matches our MTU)
The root cause is that the byte accounting is not done at the
same time with packet accounting. The solution is to update the backlog
value
every time the packet queue is updated.
Signed-off-by: Joseph D Beshay <joseph.beshay@xxxxxxxxxxxx>
Acked-by: Hagen Paul Pfeifer <hagen@xxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 812034f11628aaaab0e2d7af1d3bc50a49eb396b
Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Date: Mon Apr 6 20:23:23 2015 +0530
cxgb4: Move ethtool related code to a separate file
Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 40f66c05c360777e847033ddbe076d88123719d1
Author: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Date: Tue Apr 7 21:52:22 2015 +0300
Bluetooth: Add local SSP OOB data to OOB ext data mgmt command
The Read Local Out Of Band Extended Data mgmt command is specified to
return the SSP values when given a BR/EDR address type as input
parameter. The returned values may include either the 192-bit variants
of C and R, or their 256-bit variants, or both, depending on the status
of Secure Connections and Secure Connections Only modes. If SSP is not
enabled the command will only return the Class of Device value (like it
has done so far).
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 388069d30240e9524ad69ce6cc692fff2a5a7829
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Tue Apr 7 12:10:16 2015 +0200
netdevice.h: remove iflink description
Also move 'group' description to match the order of the net_device
structure.
Fixes: 7a66bbc96ce9 ("net: remove iflink field from struct net_device")
Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 26ba9e8c3f455b1328d805937a320719cb152e80
Merge: e0e8db2 a143c40
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Apr 7 17:29:47 2015 -0400
Merge branch 'netns-next'
Nicolas Dichtel says:
====================
netns: enhance netlink interface for nsid
The first patch is a small cleanup. The second patch implements
notifications
for netns id events. And the last one allows to dump existing netns id
from
userland.
iproute2 patches are available, I can send them on demand.
v2: drop the first patch (the fix is now in net-next)
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a143c40c32bb8a6d6a556920646021d7e96d1f91
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Tue Apr 7 11:51:54 2015 +0200
netns: allow to dump netns ids
Which this patch, it's possible to dump the list of ids allocated for peer
netns.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 9a9634545c7051f567096117d417e9c3be24706d
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Tue Apr 7 11:51:53 2015 +0200
netns: notify netns id events
With this patch, netns ids that are created and deleted are advertised
into the
group RTNLGRP_NSID.
Because callers of rtnl_net_notifyid() already know the id of the peer,
there is
no need to call __peernet2id() in rtnl_net_fill().
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b111e4e1112316e800dd1f1debdf017d2cf940b2
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Tue Apr 7 11:51:52 2015 +0200
netns: minor cleanup in rtnl_net_getid()
No need to initialize err, it will be overridden by the value of
nlmsg_parse().
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d619ffcfbd07983d34dc87d474af6cb5c21adf27
Author: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Date: Tue Apr 7 21:52:21 2015 +0300
Bluetooth: Update SSP OOB data EIR definitions
Since Bluetooth 4.1 there are two additional values for SSP OOB data,
namely C-256 and R-256. This patch updates the EIR definitions to take
into account both the 192 and 256 bit variants of C and R.
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 541d529f9845d249d1cb84f1b395e48f0a117e3f
Author: Eduardo Valentin <edubezval@xxxxxxxxx>
Date: Tue Apr 7 13:42:12 2015 -0700
drivers: thermal: st: remove several sparse warnings
Simple patch to make symbols static. Symbols that are not
shared with other parts of the kernel can be made static.
This change also removes several sparse complains.
Cc: Zhang Rui <rui.zhang@xxxxxxxxx>
Cc: Lee Jones <lee.jones@xxxxxxxxxx>
Cc: Pavel Machek <pavel@xxxxxx>
Cc: Ajit Pal Singh <ajitpal.singh@xxxxxx>
Cc: linux-pm@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx>
commit d877a62b20f0592971a3c434486b58c425492732
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Mon Mar 16 20:17:09 2015 +0100
thermal: constify of_device_id array
of_device_id is always used as const.
(See driver.of_match_table and open firmware functions)
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx>
commit 7e497a7375fe5d5c5d751a71d006f4fd515bbcd8
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Sat Mar 21 15:02:55 2015 +0100
thermal: Do not log an error if thermal_zone_get_temp returns -EAGAIN
Some temperature sensors only get updated every few seconds and while
waiting for the first irq reporting a (new) temperature to happen there
get_temp operand will return -EAGAIN as it does not have any data to
report
yet.
Not logging an error in this case avoids messages like these from showing
up in dmesg on affected systems:
[ 1.219353] thermal thermal_zone0: failed to read out thermal zone 0
[ 2.015433] thermal thermal_zone0: failed to read out thermal zone 0
[ 2.416737] thermal thermal_zone0: failed to read out thermal zone 0
Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx>
commit 2771d00081a4e70f52a9b290dae1b68b1bdf41f6
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Wed Mar 18 19:42:41 2015 +0100
thermal: rcar: Fix typo in r8a73a4 SoC name
r8a73a4 is R-Mobile APE6, not AP6.
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx>
commit e0e8db2f89bac4529fa12dde2595d6295e313952
Merge: a3786a5 79b16aa
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Apr 7 15:29:30 2015 -0400
Merge branch 'udp_tunnel_sk'
Prevent UDP tunnels from operating on garbage socket
So this should do the rest of the work such that when we encapsulate
into a UDP tunnel, the output path works on the UDP tunnel's socket
rather than skb->sk.
Part of this work is based upon changes done by Jiri Pirko some time
ago.
Basically the first step is to pass the socket through the nf_hook
okfn(), and then next we do the same for the UDP tunnel xmit routines.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 79b16aadea32cce077acbe9e229fcb58a7801687
Author: David Miller <davem@xxxxxxxxxxxxx>
Date: Sun Apr 5 22:19:09 2015 -0400
udp_tunnel: Pass UDP socket down through udp_tunnel{, 6}_xmit_skb().
That was we can make sure the output path of ipv4/ipv6 operate on
the UDP socket rather than whatever random thing happens to be in
skb->sk.
Based upon a patch by Jiri Pirko.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
commit f02dee2d148ba854464e7dbf09f1241ee159173a
Author: Michal Marek <mmarek@xxxxxxx>
Date: Thu Jan 15 10:39:22 2015 +0100
tomoyo: Do not generate empty policy files
The Makefile automatically generates the tomoyo policy files, which are
not removed by make clean (because they could have been provided by the
user). Instead of generating the missing files, use /dev/null if a
given file is not provided. Store the default exception_policy in
exception_policy.conf.default.
Acked-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit bf7a9ab43c2f692bce4ee3ed1456f42c77eb1346
Author: Michal Marek <mmarek@xxxxxxx>
Date: Fri Jan 9 14:36:27 2015 +0100
tomoyo: Use if_changed when generating builtin-policy.h
Combine the generation of builtin-policy.h into a single command and use
if_changed, so that the file is regenerated each time the command
changes. The next patch will make use of this.
Acked-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit 7e114bbf51fbb015dc25d8123e090afcce5b5048
Author: Michal Marek <mmarek@xxxxxxx>
Date: Fri Jan 9 14:08:26 2015 +0100
tomoyo: Use bin2c to generate builtin-policy.h
Simplify the Makefile by using a readily available tool instead of a
custom sed script. The downside is that builtin-policy.h becomes
unreadable for humans, but it is only a generated file.
Acked-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit 7026b1ddb6b8d4e6ee33dc2bd06c0ca8746fa7ab
Author: David Miller <davem@xxxxxxxxxxxxx>
Date: Sun Apr 5 22:19:04 2015 -0400
netfilter: Pass socket pointer down through okfn().
On the output paths in particular, we have to sometimes deal with two
socket contexts. First, and usually skb->sk, is the local socket that
generated the frame.
And second, is potentially the socket used to control a tunneling
socket, such as one the encapsulates using UDP.
We do not want to disassociate skb->sk when encapsulating in order
to fix this, because that would break socket memory accounting.
The most extreme case where this can cause huge problems is an
AF_PACKET socket transmitting over a vxlan device. We hit code
paths doing checks that assume they are dealing with an ipv4
socket, but are actually operating upon the AF_PACKET one.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1c984f8a5df085bcf35364a8a870bd4db4da4ed3
Author: David Miller <davem@xxxxxxxxxxxxx>
Date: Sun Apr 5 22:19:00 2015 -0400
netfilter: Add socket pointer to nf_hook_state.
It is currently always set to NULL, but nf_queue is adjusted to be
prepared for it being set to a real socket by taking and releasing a
reference to that socket when necessary.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 107a9f4dc9211c1f91703d1739d7fd22ac58b332
Author: David Miller <davem@xxxxxxxxxxxxx>
Date: Sun Apr 5 22:18:54 2015 -0400
netfilter: Add nf_hook_state initializer function.
This way we can consolidate where we setup new nf_hook_state objects,
to make sure the entire thing is initialized.
The only other place an nf_hook_object is instantiated is nf_queue,
wherein a structure copy is used.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a3786a5ff7551d03029219f93306106d0a6bdf55
Author: Julia Lawall <julia.lawall@xxxxxxx>
Date: Sun Apr 5 14:06:28 2015 +0200
cosa: fix error return code
Return a negative error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 27d751bfa41bdc022d1357479ff67c6902c02c8c
Author: Julia Lawall <julia.lawall@xxxxxxx>
Date: Sun Apr 5 14:06:21 2015 +0200
wan: lmc: fix error return code
Return a negative error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ff61eb422024a4614f898c1c73625e222b219a5d
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Tue Apr 7 20:39:19 2015 +0200
spi: Make master->handle_err() callback optional to avoid crashes
If a driver doesn't implement the master->handle_err() callback and an
SPI transfer fails, the kernel will crash with a NULL pointer
dereference:
Unable to handle kernel NULL pointer dereference at virtual address
00000000
pgd = c0003000
[00000000] *pgd=80000040004003, *pmd=00000000
Internal error: Oops: 80000206 [#1] SMP ARM
Modules linked in:
CPU: 1 PID: 1 Comm: swapper/0 Not tainted
4.0.0-rc7-koelsch-05861-g1fc9fdd4add4f783 #1046
Hardware name: Generic R8A7791 (Flattened Device Tree)
task: eec359c0 ti: eec54000 task.ti: eec54000
PC is at 0x0
LR is at spi_transfer_one_message+0x1cc/0x1f0
Make the master->handle_err() callback optional to avoid the crash.
Also fix a spelling mistake in the callback documentation while we're at
it.
Fixes: b716c4ffc6a2b0bf ("spi: introduce master->handle_err() callback")
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit bbc78c07a51f6fd29c227b1220a9016e585358ba
Author: Felipe Balbi <balbi@xxxxxx>
Date: Fri Feb 13 15:38:33 2015 -0600
usb: core: hub: use new USB_RESUME_TIMEOUT
Make sure we're using the new macro, so our
resume signaling will always pass certification.
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit 59c9904cce77b55892e15f40791f1e66e4d3a1e6
Author: Felipe Balbi <balbi@xxxxxx>
Date: Fri Feb 13 15:04:06 2015 -0600
usb: isp1760: hcd: use new USB_RESUME_TIMEOUT
Make sure we're using the new macro, so our
resume signaling will always pass certification.
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit 74bd7b69801819707713b88e9d0bc074efa2f5e7
Author: Felipe Balbi <balbi@xxxxxx>
Date: Fri Feb 13 15:03:13 2015 -0600
usb: dwc2: hcd: use new USB_RESUME_TIMEOUT
Make sure we're using the new macro, so our
resume signaling will always pass certification.
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit 08debfb13b199716da6153940c31968c556b195d
Author: Felipe Balbi <balbi@xxxxxx>
Date: Fri Feb 13 15:00:38 2015 -0600
usb: host: sl811: use new USB_RESUME_TIMEOUT
Make sure we're using the new macro, so our
resume signaling will always pass certification.
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit 7a606ac29752a3e571b83f9b3fceb1eaa1d37781
Author: Felipe Balbi <balbi@xxxxxx>
Date: Fri Feb 13 14:58:53 2015 -0600
usb: host: r8a66597: use new USB_RESUME_TIMEOUT
While this driver was already using a 50ms resume
timeout, let's make sure everybody uses the same
macro so it's easy to fix later should anything
go wrong.
It also gives a more "stable" expectation to Linux
users.
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit 84c0d178eb9f3a3ae4d63dc97a440266cf17f7f5
Author: Felipe Balbi <balbi@xxxxxx>
Date: Fri Feb 13 14:57:54 2015 -0600
usb: host: oxu210hp: use new USB_RESUME_TIMEOUT
Make sure we're using the new macro, so our
resume signaling will always pass certification.
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit 595227db1f2d98bfc33f02a55842f268e12b247d
Author: Felipe Balbi <balbi@xxxxxx>
Date: Fri Feb 13 14:55:34 2015 -0600
usb: host: fusbh200: use new USB_RESUME_TIMEOUT
Make sure we're using the new macro, so our
resume signaling will always pass certification.
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit 7e136bb71a08e8b8be3bc492f041d9b0bea3856d
Author: Felipe Balbi <balbi@xxxxxx>
Date: Fri Feb 13 14:54:38 2015 -0600
usb: host: fotg210: use new USB_RESUME_TIMEOUT
Make sure we're using the new macro, so our
resume signaling will always pass certification.
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit 8c0ae6574ccfd3d619876a65829aad74c9d22ba5
Author: Felipe Balbi <balbi@xxxxxx>
Date: Fri Feb 13 14:50:10 2015 -0600
usb: host: isp116x: use new USB_RESUME_TIMEOUT
Make sure we're using the new macro, so our
resume signaling will always pass certification.
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit 309be239369609929d5d3833ee043f7c5afc95d1
Author: Felipe Balbi <balbi@xxxxxx>
Date: Fri Feb 13 14:46:27 2015 -0600
usb: musb: use new USB_RESUME_TIMEOUT
Make sure we're using the new macro, so our
resume signaling will always pass certification.
Based on original work by Bin Liu <Bin Liu <b-liu@xxxxxx>>
Cc: Bin Liu <b-liu@xxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit b8fb6f79f76f478acbbffccc966daa878f172a0a
Author: Felipe Balbi <balbi@xxxxxx>
Date: Fri Feb 13 14:44:17 2015 -0600
usb: host: uhci: use new USB_RESUME_TIMEOUT
Make sure we're using the new macro, so our
resume signaling will always pass certification.
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit ea16328f80ca8d74434352157f37ef60e2f55ce2
Author: Felipe Balbi <balbi@xxxxxx>
Date: Fri Feb 13 14:42:25 2015 -0600
usb: host: ehci: use new USB_RESUME_TIMEOUT
Make sure we're using the new macro, so our
resume signaling will always pass certification.
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit b9e451885deb6262dbaf5cd14aa77d192d9ac759
Author: Felipe Balbi <balbi@xxxxxx>
Date: Fri Feb 13 14:39:13 2015 -0600
usb: host: xhci: use new USB_RESUME_TIMEOUT
Make sure we're using the new macro, so our
resume signaling will always pass certification.
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Acked-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx>
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit 62f0342de1f012f3e90607d39e20fce811391169
Author: Felipe Balbi <balbi@xxxxxx>
Date: Fri Feb 13 14:34:25 2015 -0600
usb: define a generic USB_RESUME_TIMEOUT macro
Every USB Host controller should use this new
macro to define for how long resume signalling
should be driven on the bus.
Currently, almost every single USB controller
is using a 20ms timeout for resume signalling.
That's problematic for two reasons:
a) sometimes that 20ms timer expires a little
before 20ms, which makes us fail certification
b) some (many) devices actually need more than
20ms resume signalling.
Sure, in case of (b) we can state that the device
is against the USB spec, but the fact is that
we have no control over which device the certification
lab will use. We also have no control over which host
they will use. Most likely they'll be using a Windows
PC which, again, we have no control over how that
USB stack is written and how long resume signalling
they are using.
At the end of the day, we must make sure Linux passes
electrical compliance when working as Host or as Device
and currently we don't pass compliance as host because
we're driving resume signallig for exactly 20ms and
that confuses certification test setup resulting in
Certification failure.
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit f56d9e23b78e311fbd992a1bd80b8bf2adaee29b
Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Date: Sun Apr 5 18:39:27 2015 +0200
ssb: add delay after PCI reset to fix SoC reboots
Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 61b559dea40ec1712be4a0ea712a2922a8f38588
Author: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx>
Date: Wed Apr 1 10:19:57 2015 +0800
ath9k: add extra GPIO led support
ar9550 or later chips, the AR_GPIO_IN_OUT register only can
control GPIO[0:3]. For the extra GPIO, use standard GPIO calls
instead of WMAC internal registers.
Signed-off-by: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 6eb7018705de09b4138ca05d6a157203e0ea791a
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Apr 7 11:14:46 2015 -0600
vfio-pci: Move idle devices to D3hot power state
We can save some power by putting devices that are bound to vfio-pci
but not in use by the user in the D3hot power state. Devices get
woken into D0 when opened by the user. Resets return the device to
D0, so we need to re-apply the low power state after a bus reset.
It's tempting to try to use D3cold, but we have no reason to inhibit
hotplug of idle devices and we might get into a loop of having the
device disappear before we have a chance to try to use it.
A new module parameter allows this feature to be disabled if there are
devices that misbehave as a result of this change.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 561d72ddbbe480e2cae6c1a63c688986586ef2b1
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Apr 7 11:14:44 2015 -0600
vfio-pci: Remove warning if try-reset fails
As indicated in the comment, this is not entirely uncommon and
causes user concern for no reason.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 80c7e8cc2aaa36944acdfbce46f373101b9f21ff
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Apr 7 11:14:43 2015 -0600
vfio-pci: Allow PCI IDs to be specified as module options
This copies the same support from pci-stub for exactly the same
purpose, enabling a set of PCI IDs to be automatically added to the
driver's dynamic ID table at module load time. The code here is
pretty simple and both vfio-pci and pci-stub are fairly unique in
being meta drivers, capable of attaching to any device, so there's no
attempt made to generalize the code into pci-core.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit ecaa1f6a01544604de5f9531379a303eee886162
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Apr 7 11:14:41 2015 -0600
vfio-pci: Add VGA arbiter client
If VFIO VGA access is disabled for the user, either by CONFIG option
or module parameter, we can often opt-out of VGA arbitration. We can
do this when PCI bridge control of VGA routing is possible. This
means that we must have a parent bridge and there must only be a
single VGA device below that bridge. Fortunately this is the typical
case for discrete GPUs.
Doing this allows us to minimize the impact of additional GPUs, in
terms of VGA arbitration, when they are only used via vfio-pci for
non-VGA applications.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 88c0dead9fb2cc66962b64064770558eecf3eafd
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Apr 7 11:14:40 2015 -0600
vfio-pci: Add module option to disable VGA region access
Add a module option so that we don't require a CONFIG change and
kernel rebuild to disable VGA support. Not only can VGA support be
troublesome in itself, but by disabling it we can reduce the impact
to host devices by doing a VGA arbitration opt-out.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 0ea18b40cdd382a8a338d02e06c4646c35bd753b
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Apr 7 11:14:38 2015 -0600
vgaarb: Stub vga_set_legacy_decoding()
vga_set_legacy_decoding() is defined in drivers/gpu/vga/vgaarb.c,
which is only compiled with CONFIG_VGA_ARB. A caller would
therefore get an undefined symbol if the VGA arbiter is not
enabled.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Acked-by: Dave Airlie <airlied@xxxxxxxxxx>
commit fcc658dabf5ef0320de1fbb28a9478e265e60422
Author: Masanari Iida <standby24x7@xxxxxxxxx>
Date: Mon Mar 30 22:27:47 2015 +0900
wl1251: Fix typo in MODULE_DESCRIPTION in wl1251/main.c
This patch fix a spelling typo in MODULE_DESCRIPTION in
wl1251/main.c
Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 12827fecf4dd47cc6e2b3a37edcdf81b52c9e2fa
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Sun Mar 29 18:29:42 2015 -0700
wireless: Use bool function returns of true/false instead of 1/0
Use bool constants as the return values instead of 1 and 0.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit cad737dfde3566e3293e884e8b391e2cae7e8068
Author: Taehee Yoo <ap420073@xxxxxxxxx>
Date: Sat Mar 28 00:22:39 2015 +0900
rtlwifi: Add encryption argument in rtl_is_special_data for checking DHCP
packet.
rtl8192cu can't connect to AP after physical reconnect.
according to dmesg, that problem's cause was DHCP timeout.
rtl_is_special_data function checks packet type for adjusting rate.
when that function is called from _rtl_rc_get_highest_rix, it can not
calculate offset correctly. so i add argument is_encn in
rtl_is_special_data.
is_enc variable mean that iv header is added in skb parameter.
i test only rtl8192cu chipset. because i doesn't have other rtlwifi
chipsets.
Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 00ca18034f62a6a3f29b8e660198e4ea573f2657
Author: Fred Chou <fred.chou.nd@xxxxxxxxx>
Date: Fri Mar 13 16:32:38 2015 +0800
ath9k_htc: check seq number instead of cmd id for timeout
As the driver may send multiple wmi commands with identical cmd id,
it is more robust to check seq number for timeout instead.
Signed-off-by: Fred Chou <fred.chou.nd@xxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 6dcaac59d08b77d5730f2ae824bca1c0bf8130dc
Merge: 7abccdb 3175520
Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
Date: Tue Apr 7 19:55:57 2015 +0300
Merge tag 'iwlwifi-next-for-kalle-2015-04-02' of
https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next
* some more work on LAR
* fixes for UMAC scan
* more work on debugging framework
* more work for 8000 devices
* cleanups and small bugfixes
commit bca03c959ab377010d87bef2679890a4a4e66e37
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Mon Apr 6 00:52:14 2015 -0700
Bluetooth: hci_uart: Use generic Intel support for address setting
The Bluetooth address setting for Intel devices is provided by a generic
module now. Start using that module instead of relying it being included
in the driver.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 59a077c4792e2226b8a95430c0f17d1098939647
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Mon Apr 6 00:52:13 2015 -0700
Bluetooth: btusb: Move Intel command structs into its own header
Since the Intel Bluetooth support has its own header, it makes sense
to move all command structs into it.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 4185a0f5d0431bf91ea1ec202fdf12e6e3b73c46
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Mon Apr 6 00:52:12 2015 -0700
Bluetooth: btusb: Use generic Intel support for address support
The Bluetooth address handling for Intel devices is provided by a generic
module now. Start using that module instead of relying it being included
in the driver.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 48f0ed1bb68589db5d6566bd3cd28ec675feaf2f
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Mon Apr 6 00:52:11 2015 -0700
Bluetooth: btintel: Introduce generic Intel Bluetooth support
The majority of Intel Bluetooth vendor commands are shared between USB
and UART transports. This creates a separate module that eventually
will hold all Intel specific commands, but for now just start with the
commands to change the Bluetooth public address and check for the
default address.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 79b8df9362e8bd1951e1fddbd65ca87af8df52c8
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sun Apr 5 23:44:59 2015 -0700
Bluetooth: hci_uart: Provide generic H:4 receive framework
Future H:4 based UART drivers require custom packet types and custom
receive functions. To support this, extended the h4_recv_buf function
with a packet definition table.
For the default H:4 packets types of ACL data, SCO data and events,
provide helpers to reduce the amount of code duplication.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 9a0bb57d2d08f1923aeef3af1877ec0b6f3209ba
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sun Apr 5 22:52:19 2015 -0700
Bluetooth: btbcm: Add firmware table for UART based devices
The Broadcom UART based devices seem to use a little bit different
firmare naming prefix. So add a separate table for these devices.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit bdd8818e05da187cd028f64ef2c0a2a6a582bcb1
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sun Apr 5 22:52:18 2015 -0700
Bluetooth: hci_uart: Add protocol support for Broadcom UART devices
This adds the protocol support for Broadcom based UART devices to
enable firmware and patchram download procedure. It is a pretty
straight forward H:4 driver with the exception of actually having
its own setup and address configuration callbacks.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 6ae4fddf78c11dedfb13a518a9050e9b265529ca
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sun Apr 5 22:52:17 2015 -0700
Bluetooth: hci_uart: Move setup callback into different location
The setup callback got wrongly inserted between the enqueue and dequeue
callbacks. Move it to a better location.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 34dced9bd6baf677fa6cfbfb65f002601a10d1e7
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sun Apr 5 22:52:16 2015 -0700
Bluetooth: btusb: Update version number of the module
The version number is cosmetic, but pretty handy for debugging purposes
and since the Broadcom protocol support is now optional, just increase
it to indicate the difference.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 941521e24fa8019b94eedecdd0b39942b0060399
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sun Apr 5 22:52:15 2015 -0700
Bluetooth: btusb: Move Broadcom quirk setting into support module
The quirks for Broadcom devices can be set from the setup function and
to keep the code simple, just move them into Broadcom support module.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit c2bfb10092ece07f9e9cf5096cfeec0ef92a97c5
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sun Apr 5 22:52:14 2015 -0700
Bluetooth: btusb: Add option for Broadcom protocol support
With the generic Broadcom Bluetooth support module, it is possible to
turn support for firmware and patchram download into an optional
feature.
To keep backwards compatibility with previous kernel configurations,
the new option defaults to enabled.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 1c8ba6d013c553bd13c50c139d652daac3348685
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sun Apr 5 22:52:13 2015 -0700
Bluetooth: btbcm: Add support for Broadcom controller setup
To unify the controller setup of Broadcom devices between USB and UART
transport, add the patchram download support into the Broadcom module.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 3e0ac12a1a610b4ab47282a25ee5945064228e35
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sun Apr 5 22:52:12 2015 -0700
Bluetooth: hci_uart: Use generic functionality from Broadcom module
The new Broadcom Bluetooth support module provides generic functionality
for changing and checking the Bluetooth device address. Use these new
features instead of keeping a duplicate in the driver.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 1df1f5910825821ebac5eb1a74da2af8fdcaebf3
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sun Apr 5 22:52:11 2015 -0700
Bluetooth: btusb: Use generic functionality by Broadcom module
The new Broadcom Bluetooth support module provides generic functionality
for changing and checking the Bluetooth device address. Use these new
features instead of keeping a duplicate in the driver.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 4fba30f07f51617438835f75b58e37fb610b2d8d
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sun Apr 5 22:52:10 2015 -0700
Bluetooth: btbcm: Introduce generic Broadcom Bluetooth support
The majority of Broadcom Bluetooth vendor commands are shared between
USB and UART transports. This creates a separate module that eventually
will hold all Broadcom specific commands, but for now just start with
the commands to change the Bluetooth public address and check for the
default address.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 788a675675b3ec5b64d232eae25e8e3e897cd31b
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 22:36:04 2015 -0700
Bluetooth: hci_uart: Update version number driver
This version number is more cosmetic and for debugging purposes, but
since there has been a few changes lately, increase it now.
Two left-over and not used version constants that were never exposed
anywhere are removed since they have no actual value.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 01009eec70a7d80773267b34522b0bb1208a73e9
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 22:27:35 2015 -0700
Bluetooth: hci_uart: Remove the manual protocol init message
The init function for each HCI UART protocol prints the same on success
and failure. This information is so generic, remove it and let the main
HCI UART handling print it instead.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 7c40fb8db135288485f4f6226ceb69d64610a84e
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 22:27:34 2015 -0700
Bluetooth: hci_uart: Add name information to hci_uart_proto struct
This adds an extra name field to the hci_uart_proto struct that provides
a simple way of adding a string identifier to the protocol.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 4ee7ef19894c0ac35cc6dc374d65658a26d7496a
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 22:11:43 2015 -0700
Bluetooth: hci_uart: Make struct hci_uart_proto always const
The usage of struct hci_uart_proto should always be const. Change the
function headers and individual protocol drivers.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 2d7cc19eebc182dbdda228aa26eb5bfff97ac072
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 21:59:27 2015 -0700
Bluetooth: Remove hci_recv_stream_fragment function
The hci_recv_stream_fragment function should have never been introduced
in the first place. The Bluetooth core does not need to know anything
about the HCI transport protocol.
With all transport protocol specific detailed moved back into the
drivers where they belong (mainly generic USB and UART drivers), this
function can now be removed.
This reduces the size of hci_dev structure and also removes an exported
symbol from the Bluetooth core module.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit d90aa68236137d4170e39055dba41a5a000c568e
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 21:59:26 2015 -0700
Bluetooth: hci_uart: Use h4_recv_buf helper for Atheros AR300x
Instead of using hci_recv_stream_fragment, use the local available
h4_recv_buf helper function.
To ensure that the function is available select BT_HCIUART_H4.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit c27799f99f589e76ea84642508a32638091a409a
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 21:59:25 2015 -0700
Bluetooth: hci_uart: Use h4_recv_buf helper for H:4 protocol
Instead of using hci_recv_stream_fragment, use the local available
h4_recv_buf helper function.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit e1a38d70d8e07db6fbf93621f289c08bbcca0ba3
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 21:59:24 2015 -0700
Bluetooth: hci_uart: Introduce h4_recv_buf helper function
The h4_recv_buf helper function can be used for receiving H:4 packets
out of a TTY stream. It is self-contained and allows for reuse by all
HCI UART protocols.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 9d1c40ebb66416f166b92c6828af48549ca99307
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 20:59:41 2015 -0700
Bluetooth: hci_uart: Use const data pointer for received data
The TTY layer provides its data pointers as const, but the HCI UART
callbacks expect them as general data pointers. This is of course
wrong and instead of casting them, just fix the individual drivers
to actually take a const data pointer.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 5c7d2dd2852c7cd8f07cf91291b351c01b781044
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 20:59:40 2015 -0700
Bluetooth: Make data pointer of hci_recv_stream_fragment const
The data pointer provided to hci_recv_stream_fragment function should
have been marked const. The function has no business in modifying the
original data. So fix this now.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 940cbe3a6b2282551e2e458d307967ae37cbba18
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 20:29:27 2015 -0700
Bluetooth: hci_uart: Remove unused h4->rx_state and h4->rx_count field
The fields h4->rx_state and h4->rx_count are not used at all and with
that they can be just removed.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 72b9439be96ffc816a131cd92fd33ef6541871d7
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 20:25:50 2015 -0700
Bluetooth: hci_uart: Remove unused h4->rx_skb field
The h4->rx_skb is not used anymore and with that just remove it. Seems
this was a leftover and even the kfree_skb call freeing it is rather
pointless since it got never allocated.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit facf5225e88c03170e66f76ff498e0c29f41a64a
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 19:57:22 2015 -0700
Bluetooth: hci_uart: Fix indentation issues for multi-line functions
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit dfe19d28200f0d2306ef1510bbea3df18e22a6bc
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 19:57:21 2015 -0700
Bluetooth: hci_uart: Remove unneeded cast of tty->disc_data
Casting the tty->disc_data to (void *) is not needed at all. So just
remove this cast and assign the object without a cast.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit e9a2dd261ac3d7bffbf55368a60401f5982dcc59
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 16:13:03 2015 -0700
Bluetooth: hci_uart: Add support Broadcom address configuration
When using vendor detection, this adds support for the Broadcom
specific address configuration command.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 16e3887f9c625dbcbc5d7cc939881dd4515141c5
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 16:13:02 2015 -0700
Bluetooth: hci_uart: Add support Intel address configuration
When using vendor detection, this adds support for the Intel specific
address configuration command.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit fb2ce8d11f0399a1359e02fa2fcc5ad7e595544a
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Apr 4 16:13:01 2015 -0700
Bluetooth: hci_uart: Add support for vendor detection flag
This adds a new HCI_UART_VND_DETECT flag to allow automatic vendor
detection. This allows to enable known vendor commands (for example
for setting the public device address) when using a standard H:4
UART protocol or when running in virtual machines.
When this new flag is configured and no vendor specific setup
routine is provided, then the local version information are read
and the provided manufacturer information can be evaluated to
configure extra vendor callbacks.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 1bc1e4d048d372a0191e78124b247747864dfde3
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Mon Apr 6 23:02:22 2015 -0400
mac80211: Move message tracepoints to their own header
Every tracing file must have its own TRACE_SYSTEM defined.
The mac80211 tracepoint header broke this and add in the middle
of the file had:
#undef TRACE_SYSTEM
#define TRACE_SYSTEM mac80211_msg
Unfortunately, this broke new code in the ftrace infrastructure.
Moving the mac80211_msg into its own trace file with its own
TRACE_SYSTEM defined fixes the issue.
Link: http://lkml.kernel.org/r/1428389938.1841.1.camel@xxxxxxxxxxxxxxxx
Reviewed-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 7267b23859ba4188873e3d1c90c9b29031cc9356
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Wed Apr 1 14:22:01 2015 -0400
tracing: Add TRACE_SYSTEM_VAR to xhci-hcd
New code will require TRACE_SYSTEM to be a valid C variable name,
but some tracepoints have TRACE_SYSTEM with '-' and not '_', so
it can not be used. Instead, add a TRACE_SYSTEM_VAR that can
give the tracing infrastructure a unique name for the trace system.
Cc: Xenia Ragiadakou <burzalodowa@xxxxxxxxx>
Cc: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit bd41202214f8e89db3a64f8031d29d081f268190
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Wed Apr 1 14:19:06 2015 -0400
tracing: Add TRACE_SYSTEM_VAR to kvm-s390
New code will require TRACE_SYSTEM to be a valid C variable name,
but some tracepoints have TRACE_SYSTEM with '-' and not '_', so
it can not be used. Instead, add a TRACE_SYSTEM_VAR that can
give the tracing infrastructure a unique name for the trace system.
Link:
http://lkml.kernel.org/r/20150402111500.5e52c1ed.cornelia.huck@xxxxxxxxxx
Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Cc: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx>
Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 882156e0407f06ca3d4c6500a7d347c3a2ed88b4
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Wed Apr 1 14:14:53 2015 -0400
tracing: Add TRACE_SYSTEM_VAR to intel-sst
New code will require TRACE_SYSTEM to be a valid C variable name,
but some tracepoints have TRACE_SYSTEM with '-' and not '_', so
it can not be used. Instead, add a TRACE_SYSTEM_VAR that can
give the tracing infrastructure a unique name for the trace system.
Link: http://lkml.kernel.org/r/20150402142831.GT6023@xxxxxxxxxxxxx
Acked-by: Mark Brown <broonie@xxxxxxxxxx>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 77cb2fea1e5fc4b083dd967f231bbf6edd96150e
Author: Steven Rostedt <rostedt@xxxxxxxxxxx>
Date: Thu Apr 2 12:37:36 2015 -0400
tracing/drm: Remove unused TRACE_SYSTEM_STRING define
The tracing infrastructure is adding a macro TRACE_SYSTEM_STRING, and
hit the following build failure:
In file included from include/trace/define_trace.h:90:0,
from drivers/gpu/drm/.//radeon/radeon_trace.h:209,
from
drivers/gpu/drm/.//radeon/radeon_trace_points.c:9:
>> include/trace/ftrace.h:28:0: warning: "TRACE_SYSTEM_STRING" redefined
#define TRACE_SYSTEM_STRING
__app(TRACE_SYSTEM_VAR,__trace_system_name)
Seems that the DRM folks have added their own use to the
TRACE_SYSTEM_STRING, with:
#define TRACE_SYSTEM_STRING __stringify(TRACE_SYSTEM)
Although, I can not find its use anywhere. I could simply use another
name, but if this macro is not being used, it should be removed.
Link: http://lkml.kernel.org/r/20150402123736.01eda052@xxxxxxxxxxxxxxxxxx
Cc: Alex Deucher <alexander.deucher@xxxxxxx>
Cc: Christian König <christian.koenig@xxxxxxx>
Cc: David Airlie <airlied@xxxxxxxx>
Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx>
Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 0578be680c6623ad6515b60a0b41ec70ebc1f204
Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>
Date: Tue Apr 7 15:56:07 2015 +0200
drm: Use kref_put_mutex in drm_gem_object_unreference_unlocked
If kref_put_mutex returns true then the caller or the put function is
responsible
for unlocking the mutex. The usual pattern assumes that the free
callback unlocks the mutex, but since that is shared with the locked
variant we need to explicitly unlock here.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit be26a66de5f5722388966a62d772df832818bcb9
Author: Jani Nikula <jani.nikula@xxxxxxxxx>
Date: Wed Mar 11 11:51:06 2015 +0200
drm/drm: constify all struct drm_*_helper funcs pointers
They are not to be modified.
Generated using the semantic patch:
@@
@@
(
const struct drm_crtc_helper_funcs *
|
- struct drm_crtc_helper_funcs *
+ const struct drm_crtc_helper_funcs *
)
@@
@@
(
const struct drm_encoder_helper_funcs *
|
- struct drm_encoder_helper_funcs *
+ const struct drm_encoder_helper_funcs *
)
@@
@@
(
const struct drm_connector_helper_funcs *
|
- struct drm_connector_helper_funcs *
+ const struct drm_connector_helper_funcs *
)
@@
@@
(
const struct drm_plane_helper_funcs *
|
- struct drm_plane_helper_funcs *
+ const struct drm_plane_helper_funcs *
)
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Reviewed-by: Christian König <christian.koenig@xxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 71279a11380faabf70ea2827dc168b4156a10971
Author: Jani Nikula <jani.nikula@xxxxxxxxx>
Date: Wed Mar 11 11:51:05 2015 +0200
drm/qxl: constify all struct drm_*_helper funcs pointers
They are not to be modified.
Generated using the semantic patch:
@@
@@
(
const struct drm_crtc_helper_funcs *
|
- struct drm_crtc_helper_funcs *
+ const struct drm_crtc_helper_funcs *
)
@@
@@
(
const struct drm_encoder_helper_funcs *
|
- struct drm_encoder_helper_funcs *
+ const struct drm_encoder_helper_funcs *
)
@@
@@
(
const struct drm_connector_helper_funcs *
|
- struct drm_connector_helper_funcs *
+ const struct drm_connector_helper_funcs *
)
@@
@@
(
const struct drm_plane_helper_funcs *
|
- struct drm_plane_helper_funcs *
+ const struct drm_plane_helper_funcs *
)
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit d58ded7625a6811593616420cf1bcea902ce2c76
Author: Jani Nikula <jani.nikula@xxxxxxxxx>
Date: Wed Mar 11 11:51:04 2015 +0200
drm/nouveau: constify all struct drm_*_helper funcs pointers
They are not to be modified.
Generated using the semantic patch:
@@
@@
(
const struct drm_crtc_helper_funcs *
|
- struct drm_crtc_helper_funcs *
+ const struct drm_crtc_helper_funcs *
)
@@
@@
(
const struct drm_encoder_helper_funcs *
|
- struct drm_encoder_helper_funcs *
+ const struct drm_encoder_helper_funcs *
)
@@
@@
(
const struct drm_connector_helper_funcs *
|
- struct drm_connector_helper_funcs *
+ const struct drm_connector_helper_funcs *
)
@@
@@
(
const struct drm_plane_helper_funcs *
|
- struct drm_plane_helper_funcs *
+ const struct drm_plane_helper_funcs *
)
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 7f22b45d66b8e603e2e85e78f209531779f8b1cc
Merge: bf0fb67 816c766
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 7 18:10:03 2015 +0200
Merge tag 'kvm-s390-next-20150331' of
git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
Features and fixes for 4.1 (kvm/next)
1. Assorted changes
1.1 allow more feature bits for the guest
1.2 Store breaking event address on program interrupts
2. Interrupt handling rework
2.1 Fix copy_to_user while holding a spinlock (cc stable)
2.2 Rework floating interrupts to follow the priorities
2.3 Allow to inject all local interrupts via new ioctl
2.4 allow to get/set the full local irq state, e.g. for migration
and introspection
commit bf0fb67cf957fc8ecfaaa2819b7d6a0f795e2ef2
Merge: 8999602 d44758c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 7 18:09:20 2015 +0200
Merge tag 'kvm-arm-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into 'kvm-next'
KVM/ARM changes for v4.1:
- fixes for live migration
- irqfd support
- kvm-io-bus & vgic rework to enable ioeventfd
- page ageing for stage-2 translation
- various cleanups
commit 6d7fdb0ab351b33d4c12d53fe44be030b90fc9d4
Author: Ilya Dryomov <idryomov@xxxxxxxxx>
Date: Thu Apr 2 14:40:58 2015 +0300
Revert "libceph: use memalloc flags for net IO"
This reverts commit 89baaa570ab0b476db09408d209578cfed700e9f.
Dirty page throttling should be sufficient for us in the general case
so there is no need to use __GFP_MEMALLOC - it would be needed only in
the swap-over-rbd case, which we currently don't support. (It would
probably take approximately the commit that is being reverted to add
that support, but we would also need the "swap" option to distinguish
from the general case and make sure swap ceph_client-s aren't shared
with anything else.) See ceph-devel threads [1] and [2] for the
details of why enabling pfmemalloc reserves for all cases is a bad
thing.
On top of potential system lockups related to drained emergency
reserves, this turned out to cause ceph lockups in case peers are on
the same host and communicating via loopback due to sk_filter()
dropping pfmemalloc skbs on the receiving side because the receiving
loopback socket is not tagged with SOCK_MEMALLOC.
[1] "SOCK_MEMALLOC vs loopback"
http://www.spinics.net/lists/ceph-devel/msg22998.html
[2] "[PATCH] libceph: don't set memalloc flags in loopback case"
http://www.spinics.net/lists/ceph-devel/msg23392.html
Conflicts:
net/ceph/messenger.c [ context: tcp_nodelay option ]
Cc: Mike Christie <michaelc@xxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Sage Weil <sage@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx # 3.18+, needs backporting
Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
Acked-by: Mike Christie <michaelc@xxxxxxxxxxx>
Acked-by: Mel Gorman <mgorman@xxxxxxx>
commit 8999602d08a804ae9cb271fdd5378f910058112d
Merge: 1d804d0 ae70593
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 7 18:06:01 2015 +0200
Merge tag 'kvm-arm-fixes-4.0-rc5' of
git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into 'kvm-next'
Fixes for KVM/ARM for 4.0-rc5.
Fixes page refcounting issues in our Stage-2 page table management code,
fixes a missing unlock in a gicv3 error path, and fixes a race that can
cause lost interrupts if signals are pending just prior to entering the
guest.
commit 7abccdba25be45630eede85053496f1f48d36ec8
Merge: c85d697 38c8af6
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Apr 7 11:47:52 2015 -0400
Merge branch 'for-upstream' of
git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
Johan Hedberg says:
====================
pull request: bluetooth-next 2015-04-04
Here's what's probably the last bluetooth-next pull request for 4.1:
- Fixes for LE advertising data & advertising parameters
- Fix for race condition with HCI_RESET flag
- New BNEPGETSUPPFEAT ioctl, needed for certification
- New HCI request callback type to get the resulting skb
- Cleanups to use BIT() macro wherever possible
- Consolidate Broadcom device entries in the btusb HCI driver
- Check for valid flags in CMTP, HIDP & BNEP
- Disallow local privacy & OOB data combo to prevent a potential race
- Expose SMP & ECDH selftest results through debugfs
- Expose current Device ID info through debugfs
Please let me know if there are any issues pulling. Thanks.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8d289842c8ab99edc9437609bd41656295b72cf9
Author: Masaki Ota <masaki.ota@xxxxxxxxxxx>
Date: Fri Mar 27 21:30:46 2015 -0700
Input: ALPS - V7 devices can report 5-finger taps
Signed-off-by: Masaki Ota <masaki.ota@xxxxxxxxxxx>
Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 3db5b9f782b50a309fe0fb89fb890f6b4f66d9ae
Author: Masaki Ota <masaki.ota@xxxxxxxxxxx>
Date: Fri Mar 27 20:57:52 2015 -0700
Input: ALPS - add support for SS4 touchpad devices
This change adds support for SS4 touchpad devices as ALPS_PROTO_V8
protocol. They are real multi-touch devices and can be found in TOSHIBA
Tecra C50.
Signed-off-by: Masaki Ota <masaki.ota@xxxxxxxxxxx>
Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 8eccd39340adb502ac7131552e8a4a2f35c35e06
Author: Masaki Ota <masaki.ota@xxxxxxxxxxx>
Date: Fri Mar 27 20:44:21 2015 -0700
Input: ALPS - refactor alps_set_abs_params_mt()
In preparation for adding support for SS4 touchpads, let's split
alps_set_abs_params_mt into common, v7-specific, and other protocols
portions.
Signed-off-by: Masaki Ota <masaki.ota@xxxxxxxxxxx>
Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 5f63e885ac32429fc1340f5a61e1484022efc773
Merge: b6d2d32 f22e6e8
Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Date: Tue Apr 7 08:46:23 2015 -0700
Merge tag 'v4.0-rc7' into next
Sync up with Linux 4.0-rc7 to bring in ALPS changes.
commit 319d1e14109047b4f002394a80fe89a96ced64ed
Author: Jani Nikula <jani.nikula@xxxxxxxxx>
Date: Wed Mar 11 11:51:02 2015 +0200
drm/radeon: constify all struct drm_*_helper funcs pointers
They are not to be modified.
Generated using the semantic patch:
@@
@@
(
const struct drm_crtc_helper_funcs *
|
- struct drm_crtc_helper_funcs *
+ const struct drm_crtc_helper_funcs *
)
@@
@@
(
const struct drm_encoder_helper_funcs *
|
- struct drm_encoder_helper_funcs *
+ const struct drm_encoder_helper_funcs *
)
@@
@@
(
const struct drm_connector_helper_funcs *
|
- struct drm_connector_helper_funcs *
+ const struct drm_connector_helper_funcs *
)
@@
@@
(
const struct drm_plane_helper_funcs *
|
- struct drm_plane_helper_funcs *
+ const struct drm_plane_helper_funcs *
)
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Reviewed-by: Christian König <christian.koenig@xxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 45fe734c304edc36acb9bee653f16fa6fed64351
Author: Jani Nikula <jani.nikula@xxxxxxxxx>
Date: Wed Mar 11 11:51:01 2015 +0200
drm/gma500: constify all struct drm_*_helper funcs pointers
They are not to be modified.
Generated using the semantic patch:
@@
@@
(
const struct drm_crtc_helper_funcs *
|
- struct drm_crtc_helper_funcs *
+ const struct drm_crtc_helper_funcs *
)
@@
@@
(
const struct drm_encoder_helper_funcs *
|
- struct drm_encoder_helper_funcs *
+ const struct drm_encoder_helper_funcs *
)
@@
@@
(
const struct drm_connector_helper_funcs *
|
- struct drm_connector_helper_funcs *
+ const struct drm_connector_helper_funcs *
)
@@
@@
(
const struct drm_plane_helper_funcs *
|
- struct drm_plane_helper_funcs *
+ const struct drm_plane_helper_funcs *
)
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Reviewed-by: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit d584ff822b19ac788dcda7d764b567001178cfe5
Author: Jani Nikula <jani.nikula@xxxxxxxxx>
Date: Wed Mar 11 11:51:00 2015 +0200
drm/mgag200: constify all struct drm_*_helper funcs pointers
They are not to be modified.
Generated using the semantic patch:
@@
@@
(
const struct drm_crtc_helper_funcs *
|
- struct drm_crtc_helper_funcs *
+ const struct drm_crtc_helper_funcs *
)
@@
@@
(
const struct drm_encoder_helper_funcs *
|
- struct drm_encoder_helper_funcs *
+ const struct drm_encoder_helper_funcs *
)
@@
@@
(
const struct drm_connector_helper_funcs *
|
- struct drm_connector_helper_funcs *
+ const struct drm_connector_helper_funcs *
)
@@
@@
(
const struct drm_plane_helper_funcs *
|
- struct drm_plane_helper_funcs *
+ const struct drm_plane_helper_funcs *
)
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Reviewed-by: Ian Romanick <ian.d.romanick@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit b0f8778a34186455f3661308676f068f43fc9335
Author: Jani Nikula <jani.nikula@xxxxxxxxx>
Date: Wed Mar 11 11:50:59 2015 +0200
drm/exynos: constify all struct drm_*_helper funcs pointers
They are not to be modified.
Generated using the semantic patch:
@@
@@
(
const struct drm_crtc_helper_funcs *
|
- struct drm_crtc_helper_funcs *
+ const struct drm_crtc_helper_funcs *
)
@@
@@
(
const struct drm_encoder_helper_funcs *
|
- struct drm_encoder_helper_funcs *
+ const struct drm_encoder_helper_funcs *
)
@@
@@
(
const struct drm_connector_helper_funcs *
|
- struct drm_connector_helper_funcs *
+ const struct drm_connector_helper_funcs *
)
@@
@@
(
const struct drm_plane_helper_funcs *
|
- struct drm_plane_helper_funcs *
+ const struct drm_plane_helper_funcs *
)
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 16d78bc2e4d69df962a750ac37ce69dd8eda401b
Author: John Hunter <zhaojunwang@xxxxxxxxxx>
Date: Tue Apr 7 19:38:50 2015 +0800
drm: Fix some typos
Signed-off-by: John Hunter <zhjwpku@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit f6ac49ba29499387e12e864a22e6d4bf46dafe9b
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Thu Apr 2 15:38:18 2015 +0100
ARM: vexpress: fix CPU hotplug with CT9x4 tile.
The Cortex A9 tile fails to unplug CPUs if errata 643719 is not enabled.
This leads to random weird behaviours, but ultimately seem to lock the
kernel one way or another when a CPU is hot unplugged.
Symptoms range from a spinlock lockup in the scheduler, the entire
system hanging, to dumping out the kernel printk buffer a few lines at
a time, and other weird behaviours.
This is caused by the outgoing CPU not having its inner caches properly
flushed before it exits coherency - flush_cache_louis() is used to
achieve this, but as a result of the hardware bug, this function ends
up doing nothing without the errata workaround enabled.
As the Versatile Express has an affected CPU, this errata must always
be enabled.
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 77387b82d1b2bada25a7b566ab7716408fedc5e9
Author: Tao Chen <boby.chen@xxxxxxxxxx>
Date: Wed Apr 1 15:04:22 2015 +0000
xen-blkback: define pr_fmt macro to avoid the duplication of DRV_PFX
Define pr_fmt macro with {xen-blkback: } prefix, then remove all use
of DRV_PFX in the pr sentences. Replace all DPRINTK with pr sentences,
and get rid of DPRINTK macro. It will simplify the code.
And if the pr sentences miss a \n, add it in the end. If the DPRINTK
sentences have redundant \n, remove it. It will format the code.
These all make the readability of the code become better.
Signed-off-by: Tao Chen <boby.chen@xxxxxxxxxx>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
commit 1375590d3e18b4d87d2f768178e93a0c8644a7dc
Author: Tao Chen <boby.chen@xxxxxxxxxx>
Date: Fri Mar 27 13:15:54 2015 +0000
xen-blkback: enlarge the array size of blkback name
The blkback name is like blkback.domid.xvd[a-z], if domid has four digits
(means larger than 1000), then the backmost xvd wouldn't be fully shown.
Define a BLKBACK_NAME_LEN macro to be 20, enlarge the array size of
blkback name, so it will be fully shown in any case.
Signed-off-by: Tao Chen <boby.chen@xxxxxxxxxx>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
commit 22ef882e6b5bd2bf668d10b1e2be3dc2fc365b99
Author: Dave Young <dyoung@xxxxxxxxxx>
Date: Tue Apr 7 21:41:32 2015 +0800
x86/mm/numa: Fix kernel stack corruption in
numa_init()->numa_clear_kernel_node_hotplug()
I got below kernel panic during kdump test on Thinkpad T420
laptop:
[ 0.000000] No NUMA configuration found
[ 0.000000] Faking a node at [mem
0x0000000000000000-0x0000000037ba4fff]
[ 0.000000] Kernel panic - not syncing: stack-protector: Kernel stack
is corrupted in: ffffffff81d21910
...
[ 0.000000] Call Trace:
[ 0.000000] [<ffffffff817c2a26>] dump_stack+0x45/0x57
[ 0.000000] [<ffffffff817bc8d2>] panic+0xd0/0x204
[ 0.000000] [<ffffffff81d21910>] ?
numa_clear_kernel_node_hotplug+0xe6/0xf2
[ 0.000000] [<ffffffff8107741b>] __stack_chk_fail+0x1b/0x20
[ 0.000000] [<ffffffff81d21910>]
numa_clear_kernel_node_hotplug+0xe6/0xf2
[ 0.000000] [<ffffffff81d21e5d>] numa_init+0x1a5/0x520
[ 0.000000] [<ffffffff81d222b1>] x86_numa_init+0x19/0x3d
[ 0.000000] [<ffffffff81d22460>] initmem_init+0x9/0xb
[ 0.000000] [<ffffffff81d0d00c>] setup_arch+0x94f/0xc82
[ 0.000000] [<ffffffff81d05120>] ? early_idt_handlers+0x120/0x120
[ 0.000000] [<ffffffff817bd0bb>] ? printk+0x55/0x6b
[ 0.000000] [<ffffffff81d05120>] ? early_idt_handlers+0x120/0x120
[ 0.000000] [<ffffffff81d05d9b>] start_kernel+0xe8/0x4d6
[ 0.000000] [<ffffffff81d05120>] ? early_idt_handlers+0x120/0x120
[ 0.000000] [<ffffffff81d05120>] ? early_idt_handlers+0x120/0x120
[ 0.000000] [<ffffffff81d055ee>] x86_64_start_reservations+0x2a/0x2c
[ 0.000000] [<ffffffff81d05751>] x86_64_start_kernel+0x161/0x184
[ 0.000000] ---[ end Kernel panic - not syncing: stack-protector:
Kernel sta
This is caused by writing over the end of numa mask bitmap
in numa_clear_kernel_node().
numa_clear_kernel_node() tries to set the node id in a mask bitmap,
by iterating all reserved regions and assuming that every region
has a valid nid.
This assumption is not true because there's an exception for some
graphic memory quirks. See trim_snb_memory() in arch/x86/kernel/setup.c
It is easily to reproduce the bug in the kdump kernel because kdump
kernel use pre-reserved memory instead of the whole memory, but
kexec pass other reserved memory ranges to 2nd kernel as well.
like below in my test:
kdump kernel ram 0x2d000000 - 0x37bfffff
One of the reserved regions: 0x40000000 - 0x40100000 which
includes 0x40004000, a page excluded in trim_snb_memory(). For
this memblock reserved region the nid is not set, it is still
default value MAX_NUMNODES. later node_set will set bit
MAX_NUMNODES thus stack corruption happen.
This also happens when booting with mem= kernel commandline
during my test.
Fixing it by adding a check, do not call node_set in case nid is
MAX_NUMNODES.
Signed-off-by: Dave Young <dyoung@xxxxxxxxxx>
Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: bhe@xxxxxxxxxx
Cc: qiuxishi@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/20150407134132.GA23522@xxxxxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit b4e97050248d9cbf84a5fd023eb20c253b7ab35b
Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx>
Date: Fri Apr 3 08:41:17 2015 -0700
crypto: qat - fix double release_firmware on error path
release_firmware was called twice on error path causing an Oops.
Reported-by: Ahsan Atta <ahsan.atta@xxxxxxxxx>
Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 8b5cf097c3b0940f2be0d20dd16178405ebb63ec
Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx>
Date: Fri Apr 3 08:40:58 2015 -0700
crypto: qat - print ring name in debug output
Ring name was allocated but never refenenced.
It was supposed to be printed out in debug output.
Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 1e6232f87b2d8b45f561cbb37a60cfc40b1a1b0d
Author: Masanari Iida <standby24x7@xxxxxxxxx>
Date: Sat Apr 4 00:20:30 2015 +0900
crypto: serpent_sse2 - Fix a typo in Kconfig
This patch fix a spelling typo in crypto/Kconfig.
Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 7374ccc0c322a6dc55f783a1a9c816c6f308d990
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Fri Apr 3 14:50:28 2015 +0200
fbdev: sh_mobile_lcdc: Fix destruction of uninitialized mutex
If sh_mobile_lcdc_probe() fails after the allocation of driver-private
data, but before the initialization of all channels, a warning will be
printed due to the destruction of an uninitialized mutex:
WARNING: CPU: 0 PID: 1 at kernel/locking/mutex-debug.c:116
mutex_destroy+0x5c/0x7c()
DEBUG_LOCKS_WARN_ON(mutex_is_locked(lock))
...
Backtrace:
...
[<c00425b4>] (mutex_destroy) from [<c01d5858>]
(sh_mobile_lcdc_remove+0x1bc/0x230)
r4:df6a4800 r3:00000000
[<c01d569c>] (sh_mobile_lcdc_remove) from [<c01d6620>]
(sh_mobile_lcdc_probe+0xd54/0xe28)
Move the initialization of the mutexes from sh_mobile_lcdc_channel_init()
to immediately after the allocation of driver-private data to fix this.
Note that the interrupt number is moved to a new variable "irq", so we
can reuse the existing variable "i" for iterating over the channels.
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
commit 19ef697d1eb7be06dcd0d0eb170ee5cc206e8f84
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 31 00:30:02 2015 +0300
sh-pfc: r8a7790: add EtherAVB pin groups
Add EtherAVB pin groups to R8A7790 PFC driver.
Based on original patch by Mitsuhiro Kimura
<mitsuhiro.kimura.kc@xxxxxxxxxxx>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit cec656501fc20a5d1b20a43cfa4679705fa7e1ef
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Mon Mar 30 16:16:54 2015 -0700
pinctrl: Document "function" + "pins" pinmux binding
Currently the "function" + "groups" combination is the only documented
format for pinmux nodes, although many drivers use "function" + "pins".
Update the generic pinctrl binding to include the "function" + "pins"
combination as well.
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Rob Herring <robh+dt@xxxxxxxxxx>
Cc: Pawel Moll <pawel.moll@xxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx>
Cc: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit c627589282213bbef12a482c0b87f23526ceb3f0
Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
Date: Mon Mar 30 14:54:15 2015 -0400
Input - mt: Fix input_mt_get_slot_by_key
The case occurred recently with a touchscreen using twice a slot during a
single EV_SYN event:
E: 0.288415 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
E: 0.296207 0003 002f 0000 # EV_ABS / ABS_MT_SLOT 0
E: 0.296207 0003 0039 -001 # EV_ABS / ABS_MT_TRACKING_ID -1
E: 0.296207 0003 002f 0001 # EV_ABS / ABS_MT_SLOT 1
E: 0.296207 0003 0035 0908 # EV_ABS / ABS_MT_POSITION_X 908
E: 0.296207 0003 0036 1062 # EV_ABS / ABS_MT_POSITION_Y 1062
E: 0.296207 0003 002f 0000 # EV_ABS / ABS_MT_SLOT 0
E: 0.296207 0003 0039 8787 # EV_ABS / ABS_MT_TRACKING_ID 8787
E: 0.296207 0003 0035 1566 # EV_ABS / ABS_MT_POSITION_X 1566
E: 0.296207 0003 0036 0861 # EV_ABS / ABS_MT_POSITION_Y 861
E: 0.296207 0003 0000 0908 # EV_ABS / ABS_X 908
E: 0.296207 0003 0001 1062 # EV_ABS / ABS_Y 1062
E: 0.296207 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
This occurred because while having already slots 0 and 1 assigned, the
touchscreen sent:
0.293377 Tip Switch: 0 | Contact Id: 0 | X: 539 | Y: 1960 | Contact
Count: 3
0.294783 Tip Switch: 1 | Contact Id: 1 | X: 908 | Y: 1062 | Contact
Count: 0
0.296187 Tip Switch: 1 | Contact Id: 2 | X: 1566 | Y: 861 | Contact
Count: 0
Slot 0 is released correclty, but when we look for Contact ID 2, the slot
0 is then picked up again because it is marked as inactive (trackingID <
0).
This is wrong, and we should not reuse a slot in the same frame.
The test should also check for input_mt_is_used().
In addition, we need to initialize mt->frame to an other value than 0.
With mt->frame being 0, all slots are tags as currently used, and so
input_mt_get_slot_by_key() would return -1 for all requests.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=88903
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit 7981c0015af26323281c937c8983dfeabc3395fe
Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
Date: Mon Mar 30 17:31:49 2015 +0300
pinctrl: intel: Add Intel Sunrisepoint pin controller and GPIO support
This driver supports pinctrl/GPIO hardware found on Intel Sunrisepoint (a
Skylake PCH) providing users a pinctrl and GPIO interfaces (including GPIO
interrupts).
The driver is split into core and platform parts so that the same core
driver can be reused in other drivers for other Intel GPIO hardware that
is
based on the same host controller design.
Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx>
Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 5df0582bf036bb5f9a8ad8db5884fe13a55347d1
Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
Date: Wed Apr 1 14:22:58 2015 -0700
drm/i915/vlv: remove wait for previous GFX clk disable request
Looks like it was introduced in:
commit 650ad970a39f8b6164fe8613edc150f585315289
Author: Imre Deak <imre.deak@xxxxxxxxx>
Date: Fri Apr 18 16:35:02 2014 +0300
drm/i915: vlv: factor out vlv_force_gfx_clock and check for pending
force-of
but I'm not sure why. It has caused problems for us in the past (see
85250ddff7a6 "drm/i915/chv: Remove Wait for a previous gfx force-off"
and 8d4eee9cd7a1 "drm/i915: vlv: increase timeout when forcing on the
GFX clock") and doesn't seem to be required, so let's just drop it.
References: https://bugs.freedesktop.org/show_bug.cgi?id=89611
Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
Tested-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx # c9c52e24194a: drm/i915/chv: Remove Wait ...
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit 16837f9588819c06469e635c04a8135f98ab9ae6
Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Date: Tue Mar 24 16:26:18 2015 +0100
pinctrl: fsl: imx: Check for 0 config register
0 is used in all pinfunction definitions when a config register is not
available, for example imx25-pinfunc.h. If a configuration value is used
for such a pinfunction the driver will always write it to the
configuration register if it is not -1. For a 0 configuration register
the configuration value is written to offset 0x0. This can lead to a
crashing/hanging system without any warning message.
This patch checks for 0 config register and sets the internal value to
-1. If the configuration value is not NO_PADCTL this leads to an error
message that applying the configuration failed.
Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Tested-by: Stefan Agner <stefan@xxxxxxxx>
Acked-by: Stefan Agner <stefan@xxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 2d846c74027231264e57e4e34faf9576394e3ce0
Author: Libin Yang <libin.yang@xxxxxxxxx>
Date: Tue Apr 7 20:32:20 2015 +0800
ALSA: hda_intel: add AZX_DCAPS_I915_POWERWELL for SKL and BSW
HDMI/DP codec on SKL/BSW is in the power well.
The power well must be turned on before probing the
HDMI/DP codec.
This is a temporary patch, which will power on the
powerwell by adding AZX_DCAPS_I915_POWERWELL for SKL
and BSW. After restructuring and new flag is added,
this patch will be reverted.
Signed-off-by: Libin Yang <libin.yang@xxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit c9c52e24194a741f9fca96e7aa965f0fa36af504
Author: Deepak S <deepak.s@xxxxxxxxxxxxxxx>
Date: Sat Mar 28 15:23:34 2015 +0530
drm/i915/chv: Remove Wait for a previous gfx force-off
On CHV, PUNIT team confirmed that 'VLV_GFX_CLK_STATUS_BIT' is not a
sticky bit and it will always be set. So ignore Check for previous
Gfx force off during suspend and allow the force clk as part S0ix
Sequence
Signed-off-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit 9c25210fd30991e68f93e2ec0857de2d967b5766
Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
Date: Wed Apr 1 14:22:57 2015 -0700
drm/i915/vlv: save/restore the power context base reg
Some BIOSes (e.g. the one on the Minnowboard) don't save/restore this
reg. If it's unlocked, we can just restore the previous value, and if
it's locked (in case the BIOS re-programmed it for us) the write will be
ignored and we'll still have "did it move" sanity check in the PM code to
warn us if something is still amiss.
References: https://bugs.freedesktop.org/show_bug.cgi?id=89611
Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
Tested-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx>
Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx>
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
commit 46b9d180141dac76cd6065bf497cec44816ab4c6
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Tue Mar 31 16:09:13 2015 +0200
cfg80211: send extended capabilities IE in connect
If the connect request from userspace didn't include an extended
capabilities IE, create one using the driver capabilities. This
fixes VHT associations, since those need to set the operating mode
notification capability.
Reviewed-by: Gregory Greenman <gregory.greenman@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 29464ccc78f1e8f77b8c37ddbe95af46d13c2ec2
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Tue Mar 31 15:36:22 2015 +0200
cfg80211: move IE split utilities here from mac80211
As the next patch will require the IE splitting utility functions
in cfg80211, move them there from mac80211.
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 9b5c352e5425622b4371387d4718060da5d3ae32
Author: Charles Keepax <ckeepax@xxxxxxxxx>
Date: Tue Apr 7 11:34:51 2015 +0100
ASoC: wm8804: Update binding documentation to include reset GPIO
Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 7e5ee1c33e9ce4e4be0a6b8955c760e9a41a9e84
Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 11:34:50 2015 +0100
ASoC: wm8804: Add support for hardware reset line
It is best to use the physical reset if it is available. This patch adds
support for a GPIO controlled physical reset for the chip.
Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 8543d0e72d4340001d756bd89bee70ce239e1ea5
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Mon Apr 6 14:29:03 2015 -0700
spi: img-spfi: Limit bit clock to 1/4th of input clock
Although the SPFI BITCLK divider supports a value of up to 255, only
values up to 128 are usable. This results in a maximum possible bit
clock rate of 1/4th the input clock rate.
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit b6fe39770aa63d14129bc7e061c95cfc3cb1419a
Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Date: Mon Apr 6 14:29:04 2015 -0700
spi: img-spfi: Implement a prepare_message() callback
In preparation for switching to using the SPI core's CS GPIO handling,
move setup of the PORT_STATE register, which must be configured before
CS is asserted, to a prepare_message() callback.
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit c8c7c44b7cf5ef7163e4bd6aedbdeb6f6031ee3e
Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx>
Date: Sun Jan 4 12:32:45 2015 -0300
[media] s5p-jpeg: Remove some unused functions
Removes some functions that are not used anywhere:
s5p_jpeg_input_raw_y16() s5p_jpeg_timer_disable() s5p_jpeg_timer_enable().
This was partially found by using a static code analysis program called
cppcheck.
Signed-off-by: Rickard Strandqvist
<rickard_strandqvist@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 12b055662ac6216c518d7ec09bf2f7d75435015c
Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx>
Date: Thu Mar 5 10:56:25 2015 -0300
[media] s5p-jpeg: Initialize jpeg_addr fields to zero
JPEG codecs on Exynos4 and Exynos3250 SoCs utilize different number
of planes for storing the raw image data, depending on the format
of the image being processed. For the unused planes a random data
was being written to the related registers. Regardless of the fact
that this seemed not to be harmful, fix the issue for clarity reasons.
Reported-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx>
Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 7c15fd4bf3d367bfc80f76814559f51f75c4d28a
Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx>
Date: Mon Mar 9 09:32:46 2015 -0300
[media] s5p-jpeg: add 5420 family support
JPEG IP found in Exynos5420 is similar to what is in Exynos3250, but
there are some subtle differences which this patch takes into account.
Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 4eb297e068736f3f67586077799c1233154209ec
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Sat Apr 4 09:04:32 2015 -0300
[media] m88ts2022: remove from Makefile
Remove target from Makefile: this driver no longer exists.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 4cd9db08598454e4d051b818c5f1d61ac7539a47
Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx>
Date: Tue Apr 7 14:03:53 2015 +0300
ASoC: davinci-mcasp: Fix ruledata setup in davinci_mcasp_startup
Passing &mcasp->ruledata[dir] to snd_pcm_hw_rule_add() is not correct
since
commit:
7b3d165a2821 ASoC: davinci-mcasp: Index ruledata in drvdata with
substream->stream
now sets up the struct based on the substream->stream (0 or 1) while we
pass
a pointer which we take with dir (1 or 2). This will lead kernel crash.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 41b585b2ed793db6f02ec87d0026d73382e8180a
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Mon Mar 30 15:20:32 2015 +0200
Kbuild: kallsyms: drop special handling of pre-3.0 GCC symbols
Since we have required at least GCC v3.2 for some time now, we
can drop the special handling of the 'gcc[0-9]_compiled.' label
which is not emitted anymore since GCC v3.0.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit bd8b22d2888e75063c9012b95341d6cb36456434
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Mon Mar 30 15:20:31 2015 +0200
Kbuild: kallsyms: ignore veneers emitted by the ARM linker
When linking large kernels on ARM, the linker will insert veneers
(i.e., PLT like stubs) when function symbols are out of reach for
the ordinary relative branch/branch-and-link instructions.
However, due to the fact that the kallsyms region sits in .rodata,
which is between .text and .init.text, additional veneers may be
emitted in the second pass due to the fact that the size of the
kallsyms region itself has pushed the .init.text section further
apart, requiring even more veneers.
So ignore the veneers when generating the symbol table. Veneers
have no corresponding source code, and they will not turn up in
backtraces anyway.
This patch also lightly refactors the symbol_valid() function
to use a local 'sym_name' rather than the obfuscated 'sym + 1'
and 'sym + offset'
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit 63031ed6b8bd69d4baff6a46f5c9b79b51bd1eaa
Merge: 95bf15f e689d6d
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Tue Apr 7 11:54:40 2015 +0100
Merge branch 'fix/fsl-dspi' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-fsl-dspi
Conflicts:
drivers/spi/spi-fsl-dspi.c
commit 3590ebc040c9ee5d06754ce926f0e7c3a595e46d
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Tue Apr 7 00:17:00 2015 -0700
NFC: logging neatening
Add missing terminating newlines to nfc_info and nfc_err
to avoid possible interleaving from other messages.
Miscellanea:
o typo fix of "unknonwn" in message
o remove unnecessary OOM messages as there's a generic dump_stack()
o realign arguments
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit 0fefcb6876d0d650ac2255c57051b31c48c1b165
Author: Carlo Caione <carlo@xxxxxxxxxxxx>
Date: Sun Mar 29 12:56:42 2015 +0200
pinctrl: Add support for Meson8b
This patch adds support for the AmLogic Meson8b SoC.
Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx>
Acked-by: Beniamino Galvani <b.galvani@xxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit faa246debff1cfc0950f73c778f2db83451aa38b
Author: Carlo Caione <carlo@xxxxxxxxxxxx>
Date: Thu Mar 19 22:34:11 2015 +0100
documentation: Extend pinctrl docs for Meson8b
Add the compatible string for Meson8b in Meson pinctrl documentation
and add new information for Meson8b in source code comments.
Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx>
Acked-by: Beniamino Galvani <b.galvani@xxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 0cf6f3c2b5ef0b5b3bb82f02edbeda4751b27763
Author: Carlo Caione <carlo@xxxxxxxxxxxx>
Date: Thu Mar 19 22:34:10 2015 +0100
pinctrl: Cleanup Meson8 driver
This patch introduces a new PIN macro and few small modifications to
simplify and shorten the Meson pinctrl drivers and cleanup the support
file for the AmLogic Meson8 SoC.
Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx>
Acked-by: Beniamino Galvani <b.galvani@xxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 25a853d037a40b7ac2c317adef6442ef92d8407e
Author: Ken Xue <Ken.Xue@xxxxxxx>
Date: Fri Mar 27 17:44:26 2015 +0800
Fix inconsistent spinlock of AMD GPIO driver which can be
recognized by static analysis tool smatch. Declare constant
Variables with Sparse's suggestion.
Signed-off-by: Ken Xue <Ken.Xue@xxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit b7a4abb67416aa07cd65446dd39e64525ccfe8e5
Merge: d30323f f22e6e8
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 11:17:34 2015 +0200
Merge 4.0-rc7 into usb-next
We want the fixes in here, and to help resolve merge issues.
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 991ff4e3d71dcad184d18f9b1b241f3191601909
Author: Huacai Chen <chenhc@xxxxxxxxxx>
Date: Wed Apr 1 10:20:08 2015 +0800
MIPS: Move Loongson GPIO driver to drivers/gpio
Move Loongson-2's GPIO driver to drivers/gpio and add Kconfig options.
Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx>
Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit df5dade4a7b29b003e000c5db5c35612e0b1019b
Author: Huacai Chen <chenhc@xxxxxxxxxx>
Date: Wed Apr 1 10:20:07 2015 +0800
MIPS: Cleanup Loongson-2F's gpio driver
This cleanup is prepare to move the driver to drivers/gpio. Custom
definitions of gpio_get_value()/gpio_set_value() are dropped.
Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx>
Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit b3e3bf2ef2c74f5ce5c19510edbbb9bfc1d249c2
Merge: fbf4763 f22e6e8
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 11:07:20 2015 +0200
Merge 4.0-rc7 into tty-next
We want the fixes in here as well, also to help out with merge issues.
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d480239ba4963c7d994582ccddc9310127593e14
Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Date: Thu Mar 26 12:18:49 2015 +0000
pinctrl: at91: convert __raw to endian agnostic IO
Use endian agnostic _relaxed IO accessors instead of the __raw ones.
Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Cc: Andrew Victor <linux@xxxxxxxxxxxx>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit c610f7f772aa06ae2bd8e5ace87cde4d90f70198
Merge: f9541f8 f22e6e8
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Tue Apr 7 11:03:02 2015 +0200
Merge 4.0-rc7 into staging-next
We want those fixes (iio primarily) into the -next branch to help with
merge and testing issues.
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 5dd4e4f6fe9495f02d4594bd460b84008a3e8e93
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Wed Mar 25 20:11:55 2015 +1100
powerpc/mm: Change setbat() to take a pgprot_t rather than flags
The callers of setbat() are actually passing a pgprot_t for the flags
parameter. This doesn't matter unless STRICT_MM_TYPECHECKS is enabled.
So we can turn that on without breaking the build, change setbat() to
take a pgprot_t and have it convert it to an unsigned long internally.
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 911083350e010e23719a8ecb4dd5f170f22854eb
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Wed Mar 25 20:11:54 2015 +1100
powerpc/mm: Remove duplicate declaration of setbat()
This is already declared in mmu_decl.h, so we don't need a second
version in the C file.
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit bf4981a00636347ddcef3fc008e4dd979380a851
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Thu Mar 19 15:15:20 2015 +1100
powerpc: Remove the celleb support
The celleb code has seen no actual development for ~7 years.
We (maintainers) have no access to test hardware, and it is highly
likely the code has bit-rotted.
As far as we're aware the hardware was never widely available, and is
certainly no longer available, and no one on the list has shown any
interest in it over the years.
So remove it. If anyone has one and cares please speak up.
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Acked-by: Jeremy Kerr <jk@xxxxxxxxxx>
commit 646b54f2f2041473495f166479e3e17fd59a9dd1
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Thu Mar 12 17:27:11 2015 +1100
powerpc/powernv: Remove powernv RTAS support
The powernv code has some conditional support for running on bare metal
machines that have no OPAL firmware, but provide RTAS.
No released machines ever supported that, and even in the lab it was
just a transitional hack in the days when OPAL was still being
developed.
So remove the code.
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Acked-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx>
commit 092a29a40bab8bb4530bb3e58a0597001cdecdef
Author: Yao Xiwei <xiwei.yao@xxxxxxxxx>
Date: Thu Apr 2 17:31:17 2015 +0200
vti6: fix uninit when using x-netns
When the kernel deleted a vti6 interface, this interface was not removed
from
the tunnels list. Thus, when the ip6_vti module was removed, this old
interface
was found and the kernel tried to delete it again. This was leading to a
kernel
panic.
Fixes: 61220ab34948 ("vti6: Enable namespace changing")
Signed-off-by: Yao Xiwei <xiwei.yao@xxxxxxxxx>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx>
commit 68c11e98ef6748ddb63865799b12fc45abb3755d
Author: Alexey Dobriyan <adobriyan@xxxxxxxxx>
Date: Thu Apr 2 10:58:24 2015 +0300
xfrm: fix xfrm_input/xfrm_tunnel_check oops
https://bugzilla.kernel.org/show_bug.cgi?id=95211
Commit 70be6c91c86596ad2b60c73587880b47df170a41
("xfrm: Add xfrm_tunnel_skb_cb to the skb common buffer") added check
which dereferences ->outer_mode too early but larval SAs don't have
this pointer set (yet). So check for tunnel stuff later.
Mike Noordermeer reported this bug and patiently applied all the
debugging.
Technically this is remote-oops-in-interrupt-context type of thing.
BUG: unable to handle kernel NULL pointer dereference at 0000000000000034
IP: [<ffffffff8150dca2>] xfrm_input+0x3c2/0x5a0
...
[<ffffffff81500fc6>] ? xfrm4_esp_rcv+0x36/0x70
[<ffffffff814acc9a>] ? ip_local_deliver_finish+0x9a/0x200
[<ffffffff81471b83>] ? __netif_receive_skb_core+0x6f3/0x8f0
...
RIP [<ffffffff8150dca2>] xfrm_input+0x3c2/0x5a0
Kernel panic - not syncing: Fatal exception in interrupt
Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx>
Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx>
commit b7f859dda95c231a276f2ec915253708f1ca7bdb
Merge: 428d4d6 0eebf9b
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Tue Apr 7 13:25:14 2015 +1000
Merge branch 'next-remove-ldst' of
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into next
commit 428d4d6520a0b8683fe9eac6df3077001e13d00b
Merge: 28ea605 027fa02
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Tue Apr 7 13:24:55 2015 +1000
Merge branch 'next-eeh' of
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into next
commit 28ea605caac49497e5e34a73ee4f4682fc035f1d
Merge: 6a84079 d41444d
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Tue Apr 7 13:07:42 2015 +1000
Merge branch 'next' of
git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux into next
Freescale updates from Scott:
"Highlights include BMan device tree nodes, an MSI erratum workaround, a
couple minor performance improvements, config updates, and misc
fixes/cleanup."
commit c85d6975ef923cffdd56de3e0e6aba0977282cff
Merge: 60302ff f22e6e8
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Mon Apr 6 21:52:19 2015 -0400
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
drivers/net/ethernet/mellanox/mlx4/cmd.c
net/core/fib_rules.c
net/ipv4/fib_frontend.c
The fib_rules.c and fib_frontend.c conflicts were locking adjustments
in 'net' overlapping addition and removal of code in 'net-next'.
The mlx4 conflict was a bug fix in 'net' happening in the same
place a constant was being replaced with a more suitable macro.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit cf7b6c0205f11cdb015384244c0b423b00e35c69
Author: Stephen Smalley <sds@xxxxxxxxxxxxx>
Date: Tue Mar 24 16:54:18 2015 -0400
selinux: increase avtab max buckets
Now that we can safely increase the avtab max buckets without
triggering high order allocations and have a hash function that
will make better use of the larger number of buckets, increase
the max buckets to 2^16.
Original:
101421 entries and 2048/2048 buckets used, longest chain length 374
With new hash function:
101421 entries and 2048/2048 buckets used, longest chain length 81
With increased max buckets:
101421 entries and 31078/32768 buckets used, longest chain length 12
Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx>
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
commit 33ebc1932a07efd8728975750409741940334489
Author: John Brooks <john.brooks@xxxxxxxxx>
Date: Tue Mar 24 16:54:17 2015 -0400
selinux: Use a better hash function for avtab
This function, based on murmurhash3, has much better distribution than
the original. Using the current default of 2048 buckets, there are many
fewer collisions:
Before:
101421 entries and 2048/2048 buckets used, longest chain length 374
After:
101421 entries and 2048/2048 buckets used, longest chain length 81
The difference becomes much more significant when buckets are increased.
A naive attempt to expand the current function to larger outputs doesn't
yield any significant improvement; so this function is a prerequisite
for increasing the bucket size.
sds: Adapted from the original patches for libsepol to the kernel.
Signed-off-by: John Brooks <john.brooks@xxxxxxxxx>
Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx>
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
commit ba39db6e0519aa8362dbda6523ceb69349a18dc3
Author: Stephen Smalley <sds@xxxxxxxxxxxxx>
Date: Tue Mar 24 16:54:16 2015 -0400
selinux: convert avtab hash table to flex_array
Previously we shrank the avtab max hash buckets to avoid
high order memory allocations, but this causes avtab lookups to
degenerate to very long linear searches for the Fedora policy. Convert to
using a flex_array instead so that we can increase the buckets
without such limitations.
This change does not alter the max hash buckets; that is left to a
separate follow-on change.
Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx>
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
commit da8026fa0f9154b1c571c4d160dd51a7b8c34495
Author: Paul Moore <pmoore@xxxxxxxxxx>
Date: Tue Feb 17 15:30:23 2015 -0500
selinux: reconcile security_netlbl_secattr_to_sid() and
mls_import_netlbl_cat()
Move the NetLabel secattr MLS category import logic into
mls_import_netlbl_cat() where it belongs, and use the
mls_import_netlbl_cat() function in security_netlbl_secattr_to_sid().
Reported-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
commit 83d4a806ae46397f606de7376b831524bd3a21e5
Author: Jeff Vander Stoep <jeffv@xxxxxxxxxx>
Date: Thu Feb 26 13:54:17 2015 -0800
selinux: remove unnecessary pointer reassignment
Commit f01e1af445fa ("selinux: don't pass in NULL avd to
avc_has_perm_noaudit")
made this pointer reassignment unnecessary. Avd should continue to
reference
the stack-based copy.
Signed-off-by: Jeff Vander Stoep <jeffv@xxxxxxxxxx>
Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx>
[PM: tweaked subject line]
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
commit f82daee49c09cf6a99c28303d93438a2566e5552
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Tue Apr 7 01:07:39 2015 +0200
Revert "PM / hibernate: avoid unsafe pages in e820 reserved regions"
Commit 84c91b7ae07c (PM / hibernate: avoid unsafe pages in e820 reserved
regions) is reported to make resume from hibernation on Lenovo x230
unreliable, so revert it.
We will revisit the issue the commit in question was supposed to fix
in the future.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=96111
Reported-by: rhn <kebuac.rhn@xxxxxxxxxxxxxxxxxxxx>
Cc: 3.17+ <stable@xxxxxxxxxxxxxxx> # 3.17+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit f22e6e847115abc3a0e2ad7bb18d243d42275af1
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 6 15:39:45 2015 -0700
Linux 4.0-rc7
commit bd884149aca61de269fd9bad83fe2a4232ffab21
Author: Ulrik De Bie <ulrik.debie-os@xxxxxxxxx>
Date: Mon Apr 6 15:35:38 2015 -0700
Input: elantech - fix absolute mode setting on some ASUS laptops
On ASUS TP500LN and X750JN, the touchpad absolute mode is reset each
time set_rate is done.
In order to fix this, we will verify the firmware version, and if it
matches the one in those laptops, the set_rate function is overloaded
with a function elantech_set_rate_restore_reg_07 that performs the
set_rate with the original function, followed by a restore of reg_07
(the register that sets the absolute mode on elantech v4 hardware).
Also the ASUS TP500LN and X750JN firmware version, capabilities, and
button constellation is added to elantech.c
Cc: stable@xxxxxxxxxxxxxxx
Reported-and-tested-by: George Moutsopoulos <gmoutso@xxxxxxxxxxx>
Signed-off-by: Ulrik De Bie <ulrik.debie-os@xxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 442bb4bad90134e1c49ffb3ccdefca391ce05600
Merge: 9e44163 fde913e
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 6 15:19:59 2015 -0700
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller:
1) In TCP, don't register an FRTO for cumulatively ACK'd data that was
previously SACK'd, from Neal Cardwell.
2) Need to hold RNL mutex in ipv4 multicast code namespace cleanup,
from Cong WANG.
3) Similarly we have to hold RNL mutex for fib_rules_unregister(), also
from Cong WANG.
4) Revert and rework netns nsid allocation fix, from Nicolas Dichtel.
5) When we encapsulate for a tunnel device, skb->sk still points to the
user socket. So this leads to cases where we retraverse the
ipv4/ipv6 output path with skb->sk being of some other address
family (f.e. AF_PACKET). This can cause things to crash since the
ipv4 output path is dereferencing an AF_PACKET socket as if it were
an ipv4 one.
The short term fix for 'net' and -stable is to elide these socket
checks once we've entered an encapsulation sequence by testing
xmit_recursion.
Longer term we have a better solution wherein we pass the tunnel's
socket down through the output paths, but that is way too invasive
for 'net' and -stable.
From Hannes Frederic Sowa.
6) l2tp_init() failure path forgets to unregister per-net ops, from
Cong WANG.
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
net/mlx4_core: Fix error message deprecation for ConnectX-2 cards
net: dsa: fix filling routing table from OF description
l2tp: unregister l2tp_net_ops on failure path
mvneta: dont call mvneta_adjust_link() manually
ipv6: protect skb->sk accesses from recursive dereference inside the
stack
netns: don't allocate an id for dead netns
Revert "netns: don't clear nsid too early on removal"
ip6mr: call del_timer_sync() in ip6mr_free_table()
net: move fib_rules_unregister() under rtnl lock
ipv4: take rtnl_lock and mark mrt table as freed on namespace cleanup
tcp: fix FRTO undo on cumulative ACK of SACKed range
xen-netfront: transmit fully GSO-sized packets
commit deeb8525f9bcea60f5e86521880c1161de7a5829
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 6 17:57:44 2015 -0400
ioctx_alloc(): fix vma (and file) leak on failure
If we fail past the aio_setup_ring(), we need to destroy the
mapping. We don't need to care about anybody having found ctx,
or added requests to it, since the last failure exit is exactly
the failure to make ctx visible to lookups.
Reproducer (based on one by Joe Mario <jmario@xxxxxxxxxx>):
void count(char *p)
{
char s[80];
printf("%s: ", p);
fflush(stdout);
sprintf(s, "/bin/cat /proc/%d/maps|/bin/fgrep -c '/[aio] (deleted)'",
getpid());
system(s);
}
int main()
{
io_context_t *ctx;
int created, limit, i, destroyed;
FILE *f;
count("before");
if ((f = fopen("/proc/sys/fs/aio-max-nr", "r")) == NULL)
perror("opening aio-max-nr");
else if (fscanf(f, "%d", &limit) != 1)
fprintf(stderr, "can't parse aio-max-nr\n");
else if ((ctx = calloc(limit, sizeof(io_context_t))) == NULL)
perror("allocating aio_context_t array");
else {
for (i = 0, created = 0; i < limit; i++) {
if (io_setup(1000, ctx + created) == 0)
created++;
}
for (i = 0, destroyed = 0; i < created; i++)
if (io_destroy(ctx[i]) == 0)
destroyed++;
printf("created %d, failed %d, destroyed %d\n",
created, limit - created, destroyed);
count("after");
}
}
Found-by: Joe Mario <jmario@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit b2edffdd912b4205899a8efa0974dfbbc3216109
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Mon Apr 6 17:48:54 2015 -0400
fix mremap() vs. ioctx_kill() race
teach ->mremap() method to return an error and have it fail for
aio mappings in process of being killed
Note that in case of ->mremap() failure we need to undo move_page_tables()
we'd already done; we could call ->mremap() first, but then the failure of
move_page_tables() would require undoing whatever _successful_ ->mremap()
has done, which would be a lot more headache in general.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit fde913e25496761a4e2a4c81230c913aba6289a2
Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx>
Date: Sun Apr 5 17:50:48 2015 +0300
net/mlx4_core: Fix error message deprecation for ConnectX-2 cards
Commit 1daa4303b4ca ("net/mlx4_core: Deprecate error message at
ConnectX-2 cards startup to debug") did the deprecation only for port 1
of the card. Need to deprecate for port 2 as well.
Fixes: 1daa4303b4ca ("net/mlx4_core: Deprecate error message at
ConnectX-2 cards startup to debug")
Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 303038135afbd0520d1e241c02592be6e4ea7204
Author: Pavel Nakonechny <pavel.nakonechny@xxxxxxxxxx>
Date: Sun Apr 5 00:46:21 2015 +0300
net: dsa: fix filling routing table from OF description
According to description in 'include/net/dsa.h', in cascade switches
configurations where there are more than one interconnected devices,
'rtable' array in 'dsa_chip_data' structure is used to indicate which
port on this switch should be used to send packets to that are destined
for corresponding switch.
However, dsa_of_setup_routing_table() fills 'rtable' with port numbers
of the _target_ switch, but not current one.
This commit removes redundant devicetree parsing and adds needed port
number as a function argument. So dsa_of_setup_routing_table() now just
looks for target switch number by parsing parent of 'link' device node.
To remove possible misunderstandings with the way of determining target
switch number, a corresponding comment was added to the source code and
to the DSA device tree bindings documentation file.
This was tested on a custom board with two Marvell 88E6095 switches with
following corresponding routing tables: { -1, 10 } and { 8, -1 }.
Signed-off-by: Pavel Nakonechny <pavel.nakonechny@xxxxxxxxxx>
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 9e441639d1ed78245600191f0fa45e106935a9dc
Merge: f8b3d8a 58d8a3b
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Apr 6 14:10:08 2015 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input fixes from Dmitry Torokhov:
"Updates for the input subsystem - two more tweaks for ALPS driver to
work out kinks after splitting the touchpad, trackstick, and potential
external PS/2 mouse into separate input devices.
Changes to support ALPS SS4 devices (protocol V8) will be coming in
4.1..."
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: alps - document stick behavior for protocol V2
Input: alps - report V2 Dualpoint Stick events via the right evdev node
Input: alps - report interleaved bare PS/2 packets via dev3
commit 4c385b25fab119144bffb255ad77712fe586ac10
Author: Archit Taneja <architt@xxxxxxxxxxxxxx>
Date: Thu Apr 2 11:20:41 2015 +0530
clk: qcom: Add EBI2 clocks for IPQ806x
The NAND controller within EBI2 requires EBI2_CLK and
EBI2_ALWAYS_ON_CLK clocks. Create structs for these clocks so
that they can be used by the NAND controller driver. Add an entry
for EBI2_AON_CLK in the gcc-ipq806x DT binding document.
Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
commit 67e04c29ec0daad9ba29341b4dab4b89526994cf
Author: WANG Cong <xiyou.wangcong@xxxxxxxxx>
Date: Fri Apr 3 13:46:09 2015 -0700
l2tp: unregister l2tp_net_ops on failure path
Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 60302ff631f0f3eac0ec592e128b776f0676b397
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Apr 2 13:05:47 2015 +0200
virtio: document queue state logic
commit d631b94e7a15277858ec5f88d674d93080506999
virtio: change comment in transmit
started clarifying the logic behind queue state management,
but introduced an inaccuracy: TX_BUSY does not cause
a BUG message.
Clean this up some more, explaining the tradeoffs in detail.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 91bc4822c3d61b9bb7ef66d3b77948a4f9177954
Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Date: Wed Apr 1 17:12:13 2015 -0700
tc: bpf: add checksum helpers
Commit 608cd71a9c7c ("tc: bpf: generalize pedit action") has added the
possibility to mangle packet data to BPF programs in the tc pipeline.
This patch adds two helpers bpf_l3_csum_replace() and
bpf_l4_csum_replace()
for fixing up the protocol checksums after the packet mangling.
It also adds 'flags' argument to bpf_skb_store_bytes() helper to avoid
unnecessary checksum recomputations when BPF programs adjusting l3/l4
checksums and documents all three helpers in uapi header.
Moreover, a sample program is added to show how BPF programs can make use
of the mangle and csum helpers.
Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b6d2d3289f84e9c7449dff04fb959e29207acd80
Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx>
Date: Mon Apr 6 13:10:30 2015 -0700
Input: atmel_mxt_ts - split out touchpad initialisation logic
If the "linux,gpio-keymap" DT property is defined, the T19 keys are
configured and the device is setup as a touchpad rather than a
touchscreen.
The logic is part of the input device initialization routine but it can be
factored out to its own function to simplify the former.
Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx>
Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit b23157dc74272ac8ebffd1a566e3e822dbc3e65f
Author: Nick Dyer <nick.dyer@xxxxxxxxxxx>
Date: Mon Apr 6 11:25:13 2015 -0700
Input: atmel_mxt_ts - implement support for T100 touch object
Add support for the new T100 object which replaces the previous T9
multitouch touchscreen object in recent maXTouch devices. T100 provides
improved reporting with selectable auxiliary information, and a type field
for hover/stylus/glove reporting.
The hovering finger support was based on Chung-Yih's work in the
ChromiumOS
downstream kernel:
https://chromium-review.googlesource.com/#/c/219280/
Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx>
Acked-by: Yufeng Shen <miletus@xxxxxxxxxxxx>
[javier: Factor out T9 and T100 init functions and rework hover support]
Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit ecf7b361a6bc1fd5441e4d6a3d7433abbe577064
Author: Stas Sergeev <stsp@xxxxxxx>
Date: Wed Apr 1 19:23:29 2015 +0300
mvneta: dont call mvneta_adjust_link() manually
mvneta_adjust_link() is a callback for of_phy_connect() and should
not be called directly. The result of calling it directly is as below:
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f60e5990d9c1424af9dbca60a23ba2a1c7c1ce90
Author: hannes@xxxxxxxxxxxxxxxxxxx <hannes@xxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 17:07:44 2015 +0200
ipv6: protect skb->sk accesses from recursive dereference inside the stack
We should not consult skb->sk for output decisions in xmit recursion
levels > 0 in the stack. Otherwise local socket settings could influence
the result of e.g. tunnel encapsulation process.
ipv6 does not conform with this in three places:
1) ip6_fragment: we do consult ipv6_npinfo for frag_size
2) sk_mc_loop in ipv6 uses skb->sk and checks if we should
loop the packet back to the local socket
3) ip6_skb_dst_mtu could query the settings from the user socket and
force a wrong MTU
Furthermore:
In sk_mc_loop we could potentially land in WARN_ON(1) if we use a
PF_PACKET socket ontop of an IPv6-backed vxlan device.
Reuse xmit_recursion as we are currently only interested in protecting
tunnel devices.
Cc: Jiri Pirko <jiri@xxxxxxxxxxx>
Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f34c4bc7e599bb895f77381c4d91ccc77635d68f
Author: kbuild test robot <fengguang.wu@xxxxxxxxx>
Date: Tue Apr 7 03:06:06 2015 +0800
ASoC: Intel: read_shim_data() can be static
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 5939d9dfe4406a49d8688eb827d88abcaf233c42
Author: Marek Belisko <marek@xxxxxxxxxxxxx>
Date: Tue Mar 10 22:27:27 2015 +0100
power: twl4030_madc_battery: Add missing MODULE_ALIAS
Without MODULE_ALIAS twl4030_madc_battery won't get loaded automatically.
Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx>
Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
commit 7e5e43893d24b44507f8239a07064596401820d8
Author: Marek Belisko <marek@xxxxxxxxxxxxx>
Date: Tue Mar 10 22:27:22 2015 +0100
power: twl4030-madc-battery: Convert to iio consumer.
Because of added iio error handling private data allocation was converted
to managed to simplify code.
Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx>
Reviewed-By: Sebastian Reichel <sre@xxxxxxxxxx>
Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
commit 95bf15f386417f3ba80bb860c1385b1ebfdcdffa
Author: Aaron Brice <aaron.brice@xxxxxxxxxxxx>
Date: Fri Apr 3 13:39:31 2015 -0700
spi: fsl-dspi: Add ~50ns delay between cs and sck
Add delay between chip select and clock signals, before clock starts and
after clock stops.
Signed-off-by: Aaron Brice <aaron.brice@xxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit c1c14957afd3026dcbc2e7ca599e6d035c7d8e01
Author: Aaron Brice <aaron.brice@xxxxxxxxxxxx>
Date: Fri Apr 3 13:39:30 2015 -0700
spi: fsl-dspi: Add cs-sck delays
Adding fsl,spi-cs-sck-delay and fsl,spi-sck-cs-delay properties to
support delays before and after starting the clock in a transfer.
Signed-off-by: Aaron Brice <aaron.brice@xxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit e689d6df8257f92abf59e93736632b79c9b2aa66
Author: Aaron Brice <aaron.brice@xxxxxxxxxxxx>
Date: Fri Apr 3 13:39:29 2015 -0700
spi: fsl-dspi: Fix clock rate scale values
Previous algorithm had an outer loop with the values {2,3,5,7} and an
inner loop with {2,4,6,8,16,32,...,32768}, and would pick the first
value over the required scaling value (where the total scale was the two
numbers multiplied).
Since the inner loop went up to 32768 it would always pick a value of 2
for PBR and a much higher than necessary value for BR. The desired
scale factor was being divided by two I believe to compensate for the
much higher scale factors (the divide by two not specified in the
reference manual).
Updated to check all values and find the smallest scale factor possible
without going over the desired clock rate.
Signed-off-by: Aaron Brice <aaron.brice@xxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit ef30a406468a3eae007210ae0dc5ed8d5eb59b7d
Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Date: Mon Apr 6 09:44:59 2015 -0700
Input: cros_ec_keyb - fix clearing keyboard state on wakeup
As the comment right before explains, the keyboard state is to be cleared
only if the EC wasn't a wakeup source in the last suspend.
Without this commit, there's an unneeded delay when resuming from suspend
and we also lose the key that was pressed while suspended.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 0db739fa06f95a040313c4479e1940caeb48e92f
Author: Moritz Fischer <moritz.fischer@xxxxxxxxx>
Date: Wed Mar 11 17:37:19 2015 -0700
dt: power: Add docs for generic SYSCON poweroff driver.
Add documentation for generic SYSCON poweroff driver.
Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx>
Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
commit 8a577608ba4a3cab1d74025cea382e40544ab9cd
Author: Moritz Fischer <moritz.fischer@xxxxxxxxx>
Date: Wed Mar 11 17:37:18 2015 -0700
power: reset: Add generic SYSCON register mapped poweroff.
Add a generic SYSCON register mapped poweroff mechanism.
Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx>
Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
commit b97169da06992ef04081e66ed22bbdb23dbf6610
Author: Jie Yang <yang.jie@xxxxxxxxx>
Date: Thu Apr 2 15:37:04 2015 +0800
ASoC: Intel: create atom folder and move atom platform files in
Restructure the sound/soc/intel/ directory: create atom folder, and move
sst atom platform files here.
Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx>
Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 66a6fd9846f0aecdbab9324b792b319fd8e95e77
Author: Jie Yang <yang.jie@xxxxxxxxx>
Date: Thu Apr 2 15:37:03 2015 +0800
ASoC: Intel: create baytrail folder and move baytrail platform files in
Restructure the sound/soc/intel/ directory: create baytrail folder, and
move
sst baytrail platform files here.
Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx>
Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>
Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit e56c72d5f201044b14191c5b83a25e17f2d68ccf
Author: Jie Yang <yang.jie@xxxxxxxxx>
Date: Thu Apr 2 15:37:02 2015 +0800
ASoC: Intel: create boards folder and move sst boards files in
Restructure the sound/soc/intel/ directory: create boards folder, and move
sst boards files here.
Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx>
Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx>
Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>
Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit ba57f68235cf6e9105bf649b01cf9eafc321ea7b
Author: Jie Yang <yang.jie@xxxxxxxxx>
Date: Thu Apr 2 15:37:01 2015 +0800
ASoC: Intel: create haswell folder and move haswell platform files in
Restructure the sound/soc/intel/ directory: create haswell folder, and
move haswell platform files here.
Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx>
Reviewed-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 2106241a680397f6f49da796a4ce11eb5cf2698e
Author: Jie Yang <yang.jie@xxxxxxxxx>
Date: Thu Apr 2 15:37:00 2015 +0800
ASoC: Intel: create common folder and move common files in
Restructure the sound/soc/intel/ directory: create common folder, and move
sst common files here.
Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx>
Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>
Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit a54aecbd3ad08f6a5e9546a3602af7d88cc5a613
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Apr 6 09:23:30 2015 -0700
Input: gscps2 - drop pci_ids dependency
This driver does not use any PCI IDs, don't include the pci_ids.h header.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 63c4fda3c0bb841b1aad1298fc7fe94058fc79f8
Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
Date: Sun Apr 5 13:45:04 2015 -0700
Input: synaptics - allocate 3 slots to keep stability in image sensors
When slowly dropping 1, 2 and then 3 fingers on an image sensor touchpad,
we can see that the first finger gets reassigned a new slot while it did
not move. This is due to the kernel tracking algorithm which can not
assign
correctly the 3 touches, being out of slots.
Declaring that we support 3 slots allows to actually forward:
slot 0 -> down, slot 1 -> up, slot 2 -> down
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Acked-by: Henrik Rydberg <rydberg@xxxxxxxxxxx
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 58fd9af6e1ccabec6bc799b32eea22a82103d5ae
Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
Date: Sun Apr 5 13:44:12 2015 -0700
Input: Revert "Revert "synaptics - use dmax in input_mt_assign_slots""
This reverts commit 09d042a2eb90 ("Revert "Input: synaptics - use dmax in
input_mt_assign_slots"")
Now that balanced slots assignments seem to be fixed, let's re-enable the
use in synaptics.c and wait for users to complain if there are still
problems.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Acked-by: Henrik Rydberg <rydberg@xxxxxxxxxxx
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 73e8a8e777d8dde6a67df1cf4b18371e27d080d8
Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
Date: Sun Apr 5 13:41:35 2015 -0700
Input: MT - make slot assignment work for overcovered solutions
The recent inclusion of a deassignment cost in the slot assignment
algorithm did not properly account for the corner cases where the
solutions are overcovered. This change makes sure the resulting
assignment is unique, allocating new slots when necessary.
Signed-off-by: Henrik Rydberg <rydberg@xxxxxxxxxxx>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit c9bc3e8bf04225968f1cee34b50216263ed58000
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Fri Apr 3 11:45:27 2015 +0300
spi: signedness bug in qspi_trigger_transfer_out_int()
We need "ret" to be unsigned for the error handling to work. The
signedness of "i" and "n" don't matter but qspi_set_send_trigger()
returns an int so I've changed them to int as well.
Fixes: 4b6fe3edcbba ('spi: Using Trigger number to transmit/receive data')
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 158bf4ed7f686f92ea6c046c5d9d04afad92eb17
Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 18:28:32 2015 +0100
ASoC: wm5102: Remove set of volume update bits for output 3R
The earpiece on wm5102 is mono, thus there is no output 3R. Don't toggle
the volume update bits for this output, although worth noting that doing
so had no negative effects it is just redundant.
Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit bbaeeaaf314aaf5e32e20070378bc14792ae3752
Author: Beomho Seo <beomho.seo@xxxxxxxxxxx>
Date: Fri Apr 3 17:26:09 2015 +0900
power: max17042_battery: add missed blank
This patch add missed blank line after decalations.
Signed-off-by: Beomho Seo <beomho.seo@xxxxxxxxxxx>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
commit 709c2c70c8ea73f488971f1de3c39fbdac995951
Author: Beomho Seo <beomho.seo@xxxxxxxxxxx>
Date: Fri Apr 3 17:26:08 2015 +0900
power: max17042_battery: Use reg type instead of chip type
Currently, max17042 battery driver choose register map by MAX17042_DevName
register. But it is return IC specific firmware version. So other maxim
chip
hard to use this drvier. This patch choose chip type from driver_data.
Signed-off-by: Beomho Seo <beomho.seo@xxxxxxxxxxx>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
commit 6ba94429c8e7b87b0fff13c5ac90731b239b77fa
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date: Thu Apr 2 19:14:39 2015 +0800
workqueue: Reorder sysfs code
The sysfs code usually belongs to the botom of the file since it deals
with high level objects. In the workqueue code it's misplaced and such
that we'll need to work around functions references to allow the sysfs
code to call APIs like apply_workqueue_attrs().
Lets move that block further in the file, almost the botom.
And declare workqueue_sysfs_unregister() just before destroy_workqueue()
which reference it.
tj: Moved workqueue_sysfs_unregister() forward declaration where other
forward declarations are.
Suggested-by: Tejun Heo <tj@xxxxxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>
Cc: Kevin Hilman <khilman@xxxxxxxxxx>
Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
Cc: Mike Galbraith <bitbucket@xxxxxxxxx>
Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit 69df353ff305805fc16082d0c5bfa6e20fa8b863
Author: Borislav Petkov <bp@xxxxxxx>
Date: Sat Apr 4 23:07:42 2015 +0200
x86/alternatives: Guard NOPs optimization
Take a look at the first instruction byte before optimizing the NOP -
there might be something else there already, like the ALTERNATIVE_2()
in rdtsc_barrier() which NOPs out on AMD even though we just
patched in an MFENCE.
This happens because the alternatives sees X86_FEATURE_MFENCE_RDTSC,
AMD CPUs set it, we patch in the MFENCE and right afterwards it sees
X86_FEATURE_LFENCE_RDTSC which AMD CPUs don't set and we blindly
optimize the NOP.
Checking whether at least the first byte is 0x90 prevents that.
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428181662-18020-1-git-send-email-bp@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit fc3e958a2b552fe6210e6de3bebb4348156a0b5f
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Sat Apr 4 20:55:19 2015 +0200
x86/asm/entry: Clear EXTRA_REGS for all executable formats
On failure, sys_execve() does not clobber EXTRA_REGS, so we can
just return to userpsace without saving/restoring them.
On success, ELF_PLAT_INIT() in sys_execve() clears all these
registers.
On other executable formats:
- binfmt_flat.c has similar FLAT_PLAT_INIT, but x86 (and everyone
else except sh) doesn't define it.
- binfmt_elf_fdpic.c has ELF_FDPIC_PLAT_INIT, but x86 (and most
others) doesn't define it.
- There are no such hooks in binfmt_aout.c et al. We inherit
EXTRA_REGS from the prior executable.
This inconsistency was not intended.
This change removes SAVE/RESTORE_EXTRA_REGS in stub_execve,
removes register clearing in ELF_PLAT_INIT(),
and instead simply clears them on success in stub_execve.
Run-tested.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428173719-7637-1-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 6a3713f001b3b53587e411ab0d3036ae9b0fb93b
Author: Brian Gerst <brgerst@xxxxxxxxx>
Date: Sat Apr 4 08:58:23 2015 -0400
x86/signal: Remove pax argument from restore_sigcontext
The 'pax' argument is unnecesary. Instead, store the RAX value
directly in regs.
This pattern goes all the way back to 2.1.106pre1, when
restore_sigcontext()
was changed to return an error code instead of EAX directly:
https://git.kernel.org/cgit/linux/kernel/git/history/history.git/diff/arch/i386/kernel/signal.c?id=9a8f8b7ca3f319bd668298d447bdf32730e51174
In 2007 sigaltstack syscall support was added, where the return
value of restore_sigcontext() was changed to carry the memory-copying
failure code.
But instead of putting 'ax' into regs->ax directly, it was carried
in via a pointer and then returned, where the generic syscall return
code copied it to regs->ax.
So there was never any deeper reason for this suboptimal pattern, it
was simply never noticed after being introduced.
Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428152303-17154-1-git-send-email-brgerst@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 81a1209c90914cbf5639a2bc9a325d9821f89faa
Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
Date: Thu Feb 5 18:39:03 2015 +0200
mtd: spi-nor: Add support for Macronix mx25u6435f serial flash
Add Macronix (mx25u6435f) 8MB flash to the list of supported chips.
Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit e88e567f15a26fc62da8e4e0c56d5319b40f628b
Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
Date: Thu Feb 5 18:39:02 2015 +0200
mtd: spi-nor: Add support for Winbond w25q64dw serial flash
Add Winbond (w25q64dw) 8MB flash to the list of supported chips.
Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 40d19ab69c79da373cdf561a444fbb9778a2ab7d
Author: Gabor Juhos <juhosg@xxxxxxxxxxx>
Date: Thu Mar 26 23:58:02 2015 +0100
mtd: spi-nor: add support for the Winbond W25X05 flash
Signed-off-by: Gabor Juhos <juhosg@xxxxxxxxxxx>
Signed-off-by: Luka Perkov <luka@xxxxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 072b56ab86d2bb2eb6aea4a810cebfa9f105b732
Author: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx>
Date: Fri Mar 27 17:38:30 2015 +0800
mtd: spi-nor: support en25s64 device
Add support for EON en25s64 SPI flash.
Signed-off-by: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 1103b8517041b08286cae0da8481bef9164c961a
Author: Brian Norris <computersforpeace@xxxxxxxxx>
Date: Fri Mar 27 10:29:50 2015 -0700
mtd: m25p80: bind to "nor-jedec" ID, for auto-detection
Use the new 'nor-jedec' binding to provide automatic detection of flash
that use the 0x9F READ ID opcode. This can help for use cases where
platforms just specify compatibility with "m25p80", and then see
messages like this:
m25p80 spi32766.0: found s25fl256s1, expected m25p80
Instead, they can just specify the generic string and see this:
m25p80 spi32766.0: s25fl256s1 (32768 Kbytes)
Also, update the language about m25p_ids[] to straighten out the
expectations here. We should no longer need to continuously grow the
m25p_ids[] table, and in fact, we might want to start removing entries
which are not used in device trees so far, so we can just default to
auto-detection as much as possible in the future.
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
Cc: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
commit 8ff16cf77ce314c20d7bd57c788f5b7719b450e1
Author: Brian Norris <computersforpeace@xxxxxxxxx>
Date: Fri Mar 27 10:29:49 2015 -0700
Documentation: devicetree: m25p80: add "nor-jedec" binding
Almost all flash that are "compatible" with m25p80 support the JEDEC
READ ID opcode (0x9F), and in fact, that is often the only thing that is
used to differentiate them. Let's add a compatible string that
represents this lowest common denominator of compatibility.
Device trees can still specify manufacturer/device names in addition,
but (until some reason is found to differentiate between them through
device tree) software will likely want to bind just against the generic
name, and avoid unnecessarily growing its device ID binding tables.
This is related to the work of commit a5b7616c55e1 ("mtd:
m25p80,spi-nor: Fix module aliases for m25p80"), which showed that
maintaining these device tables as stable device-tree/modalias binding
tables is not a worthwhile burden for mostly-comptatible flash.
At the same time, let's update the binding doc to point to the
m25p_ids[] ID list instead of spi_nor_ids[]. The former can be used for
device tree bindings, but the latter cannot. In the future, we should
pare down the m25p_ids[] list to only those IDs which are actually used
in device trees.
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
Cc: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Reviewed-by: Marek Vasut <marex@xxxxxxx>
commit 2a6a28e7922c07c116ba8f2aa3682c03ef8be678
Author: Richard Weinberger <richard@xxxxxx>
Date: Sun Mar 29 21:52:06 2015 +0200
mtd: Make MTD tests cancelable
I always go nuts when I start an MTD test on a slow device and have to
wait forever until it finishes. From the debug output I already know
what the issue is but I have to wait or reset the board hard. Resetting
is often not an option (remote access, you don't want lose the current
state, etc...).
The solution is easy, check for pending signals at key positions in the
code. Using that one can even stop a test by pressing CTRL-C as
insmod/modprobe have SIGINT pending.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit d2b51c808745ca93c020ba34a3cf256ad52adc63
Author: Roger Quadros <rogerq@xxxxxx>
Date: Fri Dec 5 17:18:39 2014 +0200
mtd: mtd_oobtest: Fix bitflip_limit usage in test case 3
In test case 3, we set vary_offset to write at different
offsets and lengths in the OOB available area. We need to
do the bitflip_limit check while checking for 0xff outside the
OOB offset + length area that we didn't modify during write.
Signed-off-by: Roger Quadros <rogerq@xxxxxx>
[Brian: whitespace fixup]
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 45fd357a491ecc56c0f9bb110bd05d9caf28889f
Author: Brian Norris <computersforpeace@xxxxxxxxx>
Date: Tue Mar 31 09:53:37 2015 -0700
mtd: docg3: remove invalid __exit annotations
The .remove callback may be used when detaching a device via sysfs, so
we can't expect to free up this memory.
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx>
commit 95d706657311f24407d0f7a0cf79b55904ec6524
Author: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Date: Fri Mar 13 07:23:47 2015 -0400
mtd: fsl_ifc_nand: use msecs_to_jiffies for time conversion
This is only an API consolidation and should make things more readable
it replaces var * HZ / 1000 by msecs_to_jiffies(var) which helps
readability
and also handles all corner-cases properly.
Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 41c7540d0c4e362212845aa2258c15aaa878665f
Author: Wu, Josh <Josh.wu@xxxxxxxxx>
Date: Thu Apr 2 14:13:47 2015 +0800
mtd: atmel_nand: don't map the ROM table if no pmecc table offset in DT
if atmel,pmecc-lookup-table-offset is not found in DT node, we don't
need to map the ROM table as we will build a runtime gf table anyway.
Reported-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 477478aedc8bdf1925785835609bc7e790f69aef
Author: Josh Wu <josh.wu@xxxxxxxxx>
Date: Thu Apr 2 14:12:33 2015 +0800
mtd: atmel_nand: add a definition for the oob reserved bytes
It's better to use a macro instead of just a number.
Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 3a434f66e6dab645d74a59c95651cdbe16497a50
Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx>
Date: Thu Apr 2 15:15:12 2015 -0700
mtd: part: Remove partition overlap checks
This patch makes MTD dynamic partitioning more flexible by removing
overlap checks for dynamic partitions. I don't see any particular
reason why overlapping dynamic partitions should be prohibited while
static partitions are allowed to overlap freely.
The checks previously had an off-by-one error, where 'end' should be
one less than what it is currently set at, and adding partitions out of
increasing order will fail. Disabling the checks resolves this issue.
Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit a62c24d75529118d10c45350c3b75715d52ff574
Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx>
Date: Thu Apr 2 15:15:11 2015 -0700
mtd: part: Add sysfs variable for offset of partition
This patch makes a sysfs variable called 'offset' on each partition
which contains the offset in bytes from the beginning of the master
device that the partition starts.
Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 727dc612c46b8f3858537ea23805b3e897cf127e
Author: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx>
Date: Thu Apr 2 15:15:10 2015 -0700
mtd: part: Create the master device node when partitioned
For many use cases, it helps to have a device node for the entire
MTD device as well as device nodes for the individual partitions.
For example, this allows querying the entire device's properties.
A common idiom is to create an additional partition which spans
over the whole device.
This patch makes a config option, CONFIG_MTD_PARTITIONED_MASTER,
which makes the master partition present even when the device is
partitioned. This isn't turned on by default since it presents
a backwards-incompatible device numbering.
The patch also makes the parent of a partition device be the master,
if the config flag is set, now that the master is a full device.
Signed-off-by: Dan Ehrenberg <dehrenberg@xxxxxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 5df848f37b1d20e5dd64bea16ba9f69ed321e11b
Author: Julia Lawall <Julia.Lawall@xxxxxxx>
Date: Sun Apr 5 14:06:36 2015 +0200
NFC: pn533: fix error return code
Return a negative error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit 9421ce10ad87f799263bddad74b91e2166f020a1
Author: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
Date: Mon Apr 6 00:58:51 2015 +0200
NFC: nxp-nci: Release firmware when switching to FW mode fails
In that case, the firmware work will never be scheduled, will
never complete and thus the firmware will never be released.
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit 2b591257d97550e575f761e83c607d99b0f86899
Author: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
Date: Mon Apr 6 00:51:17 2015 +0200
NFC: nxp-nxi: Remove useless fw pointer check
It request_firmware returns 0, the request succeeded and the
firmware pointer is valid. No need to check for it.
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit 9dbe776338e7f97483452cc00adf0d527d6900dd
Author: Christophe Ricard <christophe.ricard@xxxxxxxxx>
Date: Tue Mar 31 08:02:23 2015 +0200
nfc: st21nfca: Add additional comments about EVT_TRANSACTION
Add comments about HCI EVT_TRANSACTION in order to make the code
understandable by other readers.
Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx>
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit 1dab57f0ed753ddef07a8aa987d490c74884ff18
Author: Christophe Ricard <christophe.ricard@xxxxxxxxx>
Date: Tue Mar 31 08:02:22 2015 +0200
nfc: st21nfcb: Add additional comments about EVT_TRANSACTION
Add comments about HCI EVT_TRANSACTION in order to make the code
understandable by other readers.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx>
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit 1f74f323e2c30b7fd53f6ad16c1990f2c80bbfc0
Author: Christophe Ricard <christophe.ricard@xxxxxxxxx>
Date: Tue Mar 31 08:02:21 2015 +0200
nfc: nci: Add comment to explain NCI_HCI_MAX_PIPES
According to specification etsi 102 622 chapter 4.4 pipes
identifier is 7 bits long giving a 127 possible pipes value.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx>
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit 05db6e94fe7f63e10df94bd628a033b2ecb0bf7b
Author: Christophe Ricard <christophe.ricard@xxxxxxxxx>
Date: Tue Mar 31 08:02:20 2015 +0200
nfc: st21nfcb: Add missing break statement in switch section
Add missing break statement when ST21NFCB_EVT_TRANSACTION switch
section ends.
Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx>
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit 0fc4a1291aeef338593e44e5396559df27f0bfdf
Author: Christophe Ricard <christophe.ricard@xxxxxxxxx>
Date: Tue Mar 31 08:02:19 2015 +0200
nfc: Reduce nfc_evt_transaction params length to 0
According to etsi 102 622 chapter 11.2.2.4 EVT_TRANSACTION,
the nfc_evt_transaction parameters can be 0 up to 255 byte long.
Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx>
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit 0b040964a01ccfd880207ddc498e55e6c990a5d5
Author: Christophe Ricard <christophe.ricard@xxxxxxxxx>
Date: Tue Mar 31 08:02:18 2015 +0200
nfc: hci: Add comment to explain NFC_HCI_MAX_PIPES
According to specification etsi 102 622 chapter 4.4 pipes identifier
is 7 bits long giving a 127 possible pipes value.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx>
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit a8f686ec1041bd704748a2d919cea9652e8e943e
Author: Christophe Ricard <christophe.ricard@xxxxxxxxx>
Date: Tue Mar 31 08:02:17 2015 +0200
NFC: st21nfca: Change st21nfca_get_iso14443_3_uid parameter name
st21nfca_get_iso14443_3_uid gate parameter name is incorrect
and should be uid.
Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx>
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit 9906a88df224bc2b8be50fdb14df5eda0936fe34
Author: Christophe Ricard <christophe.ricard@xxxxxxxxx>
Date: Tue Mar 31 08:02:16 2015 +0200
NFC: st21nfca: fix st21nfca_get_iso14443_3_uid data copy
st21nfca_get_iso14443_3_uid() does not correctly copy the uid from
uid_skb->data to its gate parameter. "gate = uid_skb->data;" only
puts a pointer to uid_skb->data to the local variable gate.
This means that in st21nfca_hci_target_from_gate() the content
of "u8 uid[NFC_NFCID1_MAXSIZE]" local variable is never initialized
before being used in memcpy(target->nfcid1, uid, len).
Fix this by replacing the local variable assignment with a memcpy.
This was found by compiling Linux with
"gcc -Wunused-but-set-parameter".
Acked-by: Christophe Ricard <christophe-h.ricard@xxxxxx>
Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx>
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit d4a41d10b2cb5890aeda6b2912973b2a754b05b1
Author: Christophe Ricard <christophe.ricard@xxxxxxxxx>
Date: Tue Mar 31 08:02:15 2015 +0200
NFC: st21nfcb: Retry i2c_master_send if it returns a negative value
i2c_master_send may return many negative values different than
-EREMOTEIO.
In case an i2c transaction is NACK'ed, on raspberry pi B+
kernel 3.18, -EIO is generated instead.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx>
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit 2ca21002798a1a88196a90f407b80df3a25c69dc
Author: Christophe Ricard <christophe.ricard@xxxxxxxxx>
Date: Tue Mar 31 08:02:14 2015 +0200
NFC: st21nfcb: Fix memory leak in secure element probing stage
In case the hci session is successfully initialized we never
release the nci_core_conn_create dest_params.
Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx>
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit b832da56024b33e6c7f06f766c59d90e4f377a9b
Author: Julia Lawall <Julia.Lawall@xxxxxxx>
Date: Sun Apr 5 14:06:29 2015 +0200
HID: logitech-hidpp: fix error return code
Return a negative error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit 7ab7ef741a467e7af50c9b7446ec992bec9ea6a7
Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 19 14:17:48 2015 +0100
clocksource: atmel-st: select MFD_SYSCON
Enforce MFD_SYSCON selection as the driver needs it. Else, it will still
compile with some warning about X1, x2 or sr being used uninitialized.
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
commit 2e57dc087c27b8b0bd4a9e5f2c6f28f3cd0b47ff
Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 16 23:44:38 2015 +0100
ARM: at91/pm: move AT91_MEMCTRL_* to pm.h
the AT91_MEMCTRL_* defines are only used by the pm code, move them to pm.h
Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
commit a18d0699dd18ba5661c321ebd67e6056656b6765
Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 16 23:44:37 2015 +0100
ARM: at91/pm: move the standby functions to pm.c
The standby functions are now only used in pm.c, move them there.
Also, they are not inlined as a pointer to those functions is passed to
the
cpuidle driver.
Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
commit 176a1b3dadf08835b9435bed4957daa066702a39
Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 19 21:14:40 2015 +0100
ARM: at91: fix pm_suspend.S compilation when ARMv6 is selected
When compiling for multiplatform for both ARMv6 and ARMv7, the default
compiler
flags are for ARMv6, and results in:
arch/arm/mach-at91/pm_suspend.S:144: Error: selected processor does not
support ARM mode `dsb'
Enforce ARMv7 flags for pm_suspend.o when CPU_V7 is selected.
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
commit f32c1c1b46c2bd5fda77b49e28b9f9329cd830d1
Author: Michael Gernoth <michael@xxxxxxxxxxx>
Date: Sat Mar 28 19:20:35 2015 +0100
ALSA: emu10k1: add Audigy 5/Rx
The Audigy 5/Rx is essentially an Audigy 4 behind a PLX PCIe-
bridge with an additional TOSLINK output.
Signed-off-by: Michael Gernoth <michael@xxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 58d8a3be36cf0fe2eb2609e205bb07a141c29a7c
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Apr 3 17:30:31 2015 -0700
Input: alps - document stick behavior for protocol V2
Document that protocol V2 uses standard (bare) PS/2 mouse packets for the
DualPoint stick.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Acked-By: Pali Rohár <pali.rohar@xxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit e3a79212eae6eb64ed68c78409778f8d1a84c2a1
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Apr 3 17:20:05 2015 -0700
Input: alps - report V2 Dualpoint Stick events via the right evdev node
On V2 devices the DualPoint Stick reports bare packets, these should be
reported via the "AlpsPS/2 ALPS DualPoint Stick" dev2 evdev node, which
also
has the INPUT_PROP_POINTING_STICK propbit set.
Note that since there is no way to distinguish these packets from an
external
PS/2 mouse (insofar as these laptops have an external PS/2 port) this
means
that we will be reporting PS/2 mouse events via this evdev node too, as
we've
been doing in kernel 3.19 and older.
This has been tested on a Dell Latitude D620 and a Dell Latitude E6400,
which both have a V2 touchpad + a DualPoint Stick which reports bare
packets.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Reviewed-by: Pali Rohár <pali.rohar@xxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 59c30afbd37c26168597e737297a1de68848c332
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Fri Apr 3 17:14:40 2015 -0700
Input: alps - report interleaved bare PS/2 packets via dev3
Bare packets should be reported via the same evdev device independent on
whether they are detected on the beginning of a packet or in the middle
of a packet.
This has been tested on a Dell Latitude E6400, where the DualPoint Stick
reports bare packets, which get reported via dev3 when the touchpad is
idle, and via dev2 when the touchpad and stick are used simultaneously.
This commit fixes this inconsistency by always reporting bare packets via
dev3. Note that since the come from a DualPoint Stick they really should
be
reported via dev2, this gets fixed in a later commit.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Reviewed-by: Pali Rohár <pali.rohar@xxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit f9541f8239a5765595543b021b2dce6a8d6653ab
Author: Amaury.Bouchra.Pilet@xxxxxx <Amaury.Bouchra.Pilet@xxxxxx>
Date: Sun Apr 5 00:58:16 2015 +0200
staging: lustre: orthography & coding style
Orthography and coding style corrections.
Signed-off-by: Amaury Bouchra Pilet <Amaury.Bouchra.Pilet@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a18ac314ebff427b972a0bb5ddfc205b8145e04e
Author: Julia Lawall <Julia.Lawall@xxxxxxx>
Date: Sun Apr 5 14:06:35 2015 +0200
staging: lustre: lnet: lnet: fix error return code
Return a negative error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b183c11217e10c274720795daed5703c2186a459
Author: Tal Shorer <tal.shorer@xxxxxxxxx>
Date: Sun Apr 5 13:54:09 2015 +0300
staging: lustre: fix sparse warning
Sparse reports:
drivers/staging/lustre/lustre/obdclass/obd_mount.c:1284:6: warning:
symbol 'lustre_kill_super' was not declared. Should it be static?
Fix this warning by making lustre_kill_super static.
It is not used outside this file.
Signed-off-by: Tal Shorer <tal.shorer@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 646cb6dae4994eb332ddf7376520eed255c5a8b4
Author: Julia Lawall <Julia.Lawall@xxxxxxx>
Date: Sun Apr 5 14:06:33 2015 +0200
ALSA: au1x00: fix error return code
Return a negative error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit fa3f70d62844bd91880ea634c06b46585fefd74b
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Wed Mar 25 23:15:32 2015 -0700
hwmon: (it87) Add support for 6th fan of IT8620E
IT8620E supports up to 6 fan tachometers.
Reviewed-by: Jean Delvare <jdelvare@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
commit 3ba9d977a9b8a90c586f46444448d977bdbdcc3b
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Fri Feb 13 20:13:20 2015 -0800
hwmon: (it87) Add support for IT8620E
IT8620E is mostly compatible to IT7828F. Add generic support for it.
IT8620E supports up to 6 fan tachometers and 6 pwm controls.
Support for the 6th tachometer and for the additional pwm controls
are addded in separate patches.
Reviewed-by: Jean Delvare <jdelvare@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
commit 4ee07157d690b1b824328a473816a371130de6f2
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Wed Mar 25 23:26:28 2015 -0700
hwmon: (it87) Add support for IT8790E
IT8790E is a super-IO chip with three fan tachometers. It is mostly
compatible to IT8728F, but only supports three fan tachometers
instead of five.
Reviewed-by: Jean Delvare <jdelvare@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
commit 7f5726c39ad469447545233f41a13d202a233d6b
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 26 08:49:18 2015 -0700
hwmon: (it87) Introduce feature flag to reflect internal in7 sensor
On some chips, in7 is always an internal voltage sensor. Introduce
feature flag to reflect this condition to simplify adding support
for new chips.
Reviewed-by: Jean Delvare <jdelvare@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
commit faf392fb843007ade20720f18920f8444660cd8b
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 26 08:36:18 2015 -0700
hwmon: (it87) Introduce configuration field for chip suffix
ITE chips may have 'E', 'F', or both 'E' and 'F' suffixes.
Introduce suffic configuration to the it87_devices structure
to simplify adding new chips.
Reviewed-by: Jean Delvare <jdelvare@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
commit f56c9c0aa66034b0de4f6fdeb0d41d38cdbb6dc1
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 26 20:01:24 2015 -0700
hwmon: (it87) Fix PWM frequency display for chips with newer PWM control
On chips with newer PWM control, the PWM frequency divider is 256
instead of 128. Since the base PWM frequency remained the same, the actual
PWM frequency is half of what it used to be with the older PWM control
mechanism.
Reviewed-by: Jean Delvare <jdelvare@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
commit 265ef3ee9575e6d150f485d28dbe153a50d27f4c
Author: Julia Lawall <Julia.Lawall@xxxxxxx>
Date: Sun Apr 5 14:06:26 2015 +0200
HSI: cmt_speech: fix error return code
Return a negative error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
commit eab0fbfa41040f4f76b173cad17c0c8ed40cba33
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Sat Apr 4 13:38:25 2015 -0700
ALSA: Use const struct ac97_quirk
Use const to reduce data by ~3Kb.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit f8b3d8a5af7559a58613384cd23fc03a3c787acf
Merge: 8eb6dcf d3a3d28
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 4 12:26:28 2015 -0700
Merge tag 'usb-4.0-rc6' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB fixes from Greg KH:
"Here are some small USB fixes and new device ids for 4.0-rc6. Nothing
major, some xhci fixes for reported problems, and some usb-serial
device ids.
All have been in linux-next for a while"
* tag 'usb-4.0-rc6' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
USB: ftdi_sio: Use jtag quirk for SNAP Connect E10
usb: isp1760: fix spin unlock in the error path of isp1760_udc_start
usb: xhci: apply XHCI_AVOID_BEI quirk to all Intel xHCI controllers
usb: xhci: handle Config Error Change (CEC) in xhci driver
USB: keyspan_pda: add new device id
USB: ftdi_sio: Added custom PID for Synapse Wireless product
commit 5888b93b750609680735d6b8b737703083ef40ff
Merge: b81b7be b85c3dc
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Sat Apr 4 15:23:15 2015 -0400
Merge branch 'nf-hook-compress'
netfilter: Compress hook function signatures.
Currently netfilter hooks have a function signature that is huge and
has many arguments. This propagates from the hook entry points down
into the individual hook implementations themselves.
This means that if, for example, we want to change the type of one of
these arguments then we have to touch hundreds of locations.
The main initial motivation behind this is that we'd like to change
the signature of "okfn" so that a socket pointer can be passed in (and
reference counted properly) for the sake of using the proper socket
context in the case of tunnels whilst not releasing the top level user
socket from skb->sk (and thus releasing it's socket memory quota
usage) in order to accomodate this.
This also makes it clear who actually uses 'okfn', nf_queue(). It is
absolutely critical to make this obvious because any user of 'okfn'
down in these hook chains have the be strictly audited for
escapability. Specifically, escapability of references to objects
outside of the packet processing path. And that's exactly what
nf_queue() does via it's packet reinjection framework.
In fact this points out a bug in Jiri's original attempt to push the
socket pointer down through netfilter's okfn. It didn't grab and drop
a reference to the socket in net/netfilter/nf_queue.c as needed.
Furthermore, so many code paths are simplified, and should in fact be
more efficient because we aren't passing in arguments that often are
simply not used by the netfilter hook at all.
Further simplifications are probably possible, but this series takes
care of the main cases.
Unfortunately I couldn't convert ebt_do_table() because ebtables is
complete and utter crap and uses ebt_do_table() outside of the hook
call chains. But that should not be news to anyone.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 8eb6dcf9d2b15bb1ac066d378e503f79efcbe65c
Merge: eca8258 dce5bdf
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 4 12:22:31 2015 -0700
Merge tag 'staging-4.0-rc6' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
Pull staging driver fixes from Greg KH:
"Here are some staging driver fixes, well, really all just IIO driver
fixes, for 4.0-rc6. They fix issues that have been reported with
these drivers.
All of these patches have been in linux-next for a while"
* tag 'staging-4.0-rc6' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
iio: imu: Use iio_trigger_get for indio_dev->trig assignment
iio: adc: vf610: use ADC clock within specification
iio/adc/cc10001_adc.c: Fix !HAS_IOMEM build
iio: core: Fix double free.
iio:inv-mpu6050: Fix inconsistency for the scale channel
staging: iio: dummy: Fix undefined symbol build error
iio: inv_mpu6050: Clear timestamps fifo while resetting hardware fifo
staging: iio: hmc5843: Set iio name property in sysfs
iio: bmc150: change sampling frequency
iio: fix drivers that check buffer->scan_mask
commit eca8258be3e60c88383aa439751d3e2069b56241
Merge: 1cced50 8e4934c
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 4 12:11:57 2015 -0700
Merge tag 'tty-4.0-rc6' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty/serial fixes from Greg KH:
"Here are 3 serial driver fixes for 4.0-rc6. They fix some reported
issues with the samsung and fsl_lpuart drivers.
All have been in linux-next for a while"
* tag 'tty-4.0-rc6' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
tty: serial: fsl_lpuart: clear receive flag on FIFO flush
tty: serial: fsl_lpuart: specify transmit FIFO size
serial: samsung: Clear operation mode on UART shutdown
commit b85c3dc9bd5347ad9540ec8d103b7c049c48b7cd
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri Apr 3 21:18:46 2015 -0400
netfilter: Pass nf_hook_state through arpt_do_table().
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 073bfd56860446a2cb349bcf282fc17a36ca386c
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri Apr 3 21:16:25 2015 -0400
netfilter: Pass nf_hook_state through nft_set_pktinfo*().
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8f8a37152df49d541c43f010543f2b0176fcfb8e
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri Apr 3 21:09:51 2015 -0400
netfilter: Pass nf_hook_state through ip6t_do_table().
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8fe22382d1e73dc0ded8098ccf761c986149f72b
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri Apr 3 21:05:07 2015 -0400
netfilter: Pass nf_hook_state through nf_nat_ipv6_{in,out,fn,local_fn}().
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1c491ba2592f621f21a693d43fab06302527fc0f
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri Apr 3 20:56:08 2015 -0400
netfilter: Pass nf_hook_state through ipt_do_table().
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d7cf4081ed454dba02cb632e492ecf5e29d1ee44
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri Apr 3 20:51:13 2015 -0400
netfilter: Pass nf_hook_state through nf_nat_ipv4_{in,out,fn,local_fn}().
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 238e54c9cb9385a1ba99e92801f3615a2fb398b6
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri Apr 3 20:32:56 2015 -0400
netfilter: Make nf_hookfn use nf_hook_state.
Pass the nf_hook_state all the way down into the hook
functions themselves.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1d1de89b9a4746f1dd055a3b8d073dd2f962a3b6
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri Apr 3 16:31:01 2015 -0400
netfilter: Use nf_hook_state in nf_queue_entry.
That way we don't have to reinstantiate another nf_hook_state
on the stack of the nf_reinject() path.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit cfdfab314647b1755afedc33ab66f3f247e161ae
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri Apr 3 16:23:58 2015 -0400
netfilter: Create and use nf_hook_state.
Instead of passing a large number of arguments down into the nf_hook()
entry points, create a structure which carries this state down through
the hook processing layers.
This makes is so that if we want to change the types or signatures of
any of these pieces of state, there are less places that need to be
changed.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit dbe4058a6a44af4ca5d146aebe01b0a1f9b7fd2a
Author: Borislav Petkov <bp@xxxxxxx>
Date: Sat Apr 4 15:34:43 2015 +0200
x86/alternatives: Fix ALTERNATIVE_2 padding generation properly
Quentin caught a corner case with the generation of instruction
padding in the ALTERNATIVE_2 macro: if len(orig_insn) <
len(alt1) < len(alt2), then not enough padding gets added and
that is not good(tm) as we could overwrite the beginning of the
next instruction.
Luckily, at the time of this writing, we don't have
ALTERNATIVE_2() invocations which have that problem and even if
we did, a simple fix would be to prepend the instructions with
enough prefixes so that that corner case doesn't happen.
However, best it would be if we fixed it properly. See below for
a simple, abstracted example of what we're doing.
So what we ended up doing is, we compute the
max(len(alt1), len(alt2)) - len(orig_insn)
and feed that value to the .skip gas directive. The max() cannot
have conditionals due to gas limitations, thus the fancy integer
math.
With this patch, all ALTERNATIVE_2 sites get padded correctly;
generating obscure test cases pass too:
#define alt_max_short(a, b) ((a) ^ (((a) ^ (b)) & -(-((a) < (b)))))
#define gen_skip(orig, alt1, alt2, marker) \
.skip -((alt_max_short(alt1, alt2) - (orig)) > 0) * \
(alt_max_short(alt1, alt2) - (orig)),marker
.pushsection .text, "ax"
.globl main
main:
gen_skip(1, 2, 4, 0x09)
gen_skip(4, 1, 2, 0x10)
...
.popsection
Thanks to Quentin for catching it and double-checking the fix!
Reported-by: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx>
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150404133443.GE21152@xxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit c8a329c777f5a38e39b25425d29b2e37cbb06614
Author: Tobias Klauser <tklauser@xxxxxxxxxx>
Date: Mon Mar 30 15:49:26 2015 +0200
doc: Add guest_nice column to example output of `cat /proc/stat'
Commit ce0e7b28fb75cb00 ("sched, cpuacct: Fix niced guest time
accounting") added the guest_nice column to /proc/stat, but the example
output of `cat /proc/stat' in Documentation/filesystems/proc.txt wasn't
updated accordingly. Do so now.
Cc: Ryota Ozaki <ozaki.ryota@xxxxxxxxx>
Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx>
Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
commit f29ba61d0abad6ad0beed5237cd337b5e25adad7
Author: Borislav Petkov <bp@xxxxxxx>
Date: Fri Mar 27 16:15:18 2015 +0100
Documentation/kernel-parameters: Move "eagerfpu" to its right place
We're at least trying to be alphabetically sorted. So move "eagerfpu="
in the vicinity of where it belongs at least.
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
commit cfc507648c2c9060aeba0d1a41bb5e5985f16636
Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
Date: Wed Apr 1 11:13:16 2015 +0300
Documentation: gpio: Update ACPI part of the document to mention _DSD
With ACPI 5.1 _DSD (Device Specific Data) it is now possible to name
functions just like Device Tree is doing. Make sure that the documentation
mentions _DSD as the recommended way to describe GPIOs in ACPI systems.
Reported-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
commit 7085f6c354e1d0b1cc6efafc1389dc63f8b0699a
Author: Jonathan Corbet <corbet@xxxxxxx>
Date: Fri Mar 27 10:16:35 2015 -0600
docs/completion.txt: Various tweaks and corrections
Mostly language improvements to the new completions.txt document, but
there
is also a semantic correction in the description of completion_done() at
the very end.
Acked-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
commit 4988aaa6e508614e5d4c4f08723635fc8191188b
Author: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Date: Fri Feb 20 12:28:48 2015 -0500
doc: completion: context, scope and language fixes
Fix for imprecise/wrong statements on context in which
wait_for_completion*()
can be called, updated notes on "going out of scope" problems and some
language fixups.
Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Acked-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
commit 4997166a393851d0595f85cbe1195208d582e172
Author: Fu Wei <wefu@xxxxxxxxxx>
Date: Tue Mar 24 00:43:17 2015 +0800
Documentation:Update Documentation/zh_CN/arm64/memory.txt
This is a update of Chinese
documentation:Documentation/zh_CN/arm64/memory.txt
It is based on the modifications of Documentation/arm64/memory.txt in
submission:
"08375198", "4edae01e", "a24637d5", "383c2799".
Signed-off-by: Fu Wei <wefu@xxxxxxxxxx>
Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
commit 89098bfcf5944e4aab98c83de3cf4c0d802e8d3f
Author: Fu Wei <wefu@xxxxxxxxxx>
Date: Tue Mar 24 17:37:19 2015 +0800
Documentation:Update Documentation/zh_CN/arm64/booting.txt
This is a update of Chinese documentation:
Documentation/zh_CN/arm64/booting.txt
It is based on the modifications of Documentation/arm64/booting.txt in
submission:
"a2c1d73b", "cdd78578", "c218bca7", "63f8344c".
Signed-off-by: Fu Wei <wefu@xxxxxxxxxx>
Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
commit 007c33bb9c8ee4ca7a7f0003a4529ad7df0c9e5c
Author: Fu Wei <wefu@xxxxxxxxxx>
Date: Thu Mar 26 17:49:25 2015 +0800
Documentation: Chinese translation of arm64/legacy_instructions.txt
This is a Chinese translated version of
Documentation/arm64/legacy_instructions.txt
It is based on the modifications of
Documentation/arm64/legacy_instructions.txt in submission: "587064b6",
"bd35a4ad", "2d888f48", "c852f320".
Signed-off-by: Fu Wei <wefu@xxxxxxxxxx>
Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
commit 751e2216899cb143fe1d5909fe762870faa945f6
Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
Date: Thu Apr 2 16:51:43 2015 +0530
ALSA: hda: fix possible null dereference
we are dereferencing pcm first then checking pcm. instead now lets put
them in same if condition so that pcm is checked first.
Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 9fc88ad6fd86ff6ce979105c633c58cc3980129c
Author: Eric Wong <normalperson@xxxxxxxx>
Date: Tue Mar 31 07:34:05 2015 +0000
ALSA: usb-audio: don't try to get Benchmark DAC1 sample rate
Adding this quirk allows us to avoid the noisy
"cannot get freq at ep 0x1" message in dmesg output every time
playback starts.
This ought to affect other Benchmark DAC1 variations using the same
"Microchip Technology, Inc." chip as well, but I have only tested
with the "Pre" variant.
Signed-off-by: Eric Wong <normalperson@xxxxxxxx>
Cc: Joe Turner <joe@xxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 7081adf3f98f4c39dc6758208775b2aa48f51f8a
Author: Kailang Yang <kailang@xxxxxxxxxxx>
Date: Mon Mar 30 17:05:37 2015 +0800
ALSA: hda/realtek - Support Dell headset mode for ALC256
Dell new platform of ALC256 audio codec.
Support headset mode for Dell ALC256 platform.
Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 382fd7becc409be9cc18dea8e3d53f6d184f9a5c
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Sat Apr 4 12:24:00 2015 +0200
ALSA: hda - Enable widget power saving for Realtek codecs
Recent Realtek codecs support the finer power state control on each
widget. Let's enable the new feature.
Tested-by: Hui Wang <hui.wang@xxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit d545a57c5f84c01b50187177921e232a450858c7
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Sat Apr 4 12:17:28 2015 +0200
ALSA: hda - Sync node attributes at resume from widget power saving
So far we assumed that the node attributes like amp values remain
during the power state transition of the node itself. While this is
true for IDT/STAC codecs I've tested, but some other codecs don't seem
behaving in that way.
This patch implements a partial sync mechanism specific to the given
widget node. Now we've merged the regmap support, and it can be
easily written with regcache_sync_region().
Tested-by: Hui Wang <hui.wang@xxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 664bc5c55923712a8aabd2a390ed7477325e32df
Merge: ffda568 9d82f92
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Sat Apr 4 12:15:32 2015 +0200
Merge branch 'topic/hda-regmap' into for-next
This merges the support of regmap in HD-audio infrastructure.
Many in-house cache codes in HD-audio driver are relaced with the
more standard regmap base now.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit ffda568e8b4979c6a04bbdd92acfd93b5dc5e163
Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx>
Date: Wed Apr 1 12:43:00 2015 +0200
ALSA: hda - Fix subsystem ID read regression
A regression was introduced in 7639a06c23c7d4cda3: if AC_PAR_SUBSYSTEM_ID
reads as zero, one should retry using AC_VERB_GET_SUBSYSTEM_ID.
This seems to hit many codecs (my own laptop included), and causes
quirks for some machines not to apply correctly.
Reported-by: TienFu Chen <tienfu.chen@xxxxxxxxxxxxx>
Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 97498bb5764b8ddb3e14f7699c50e6bacbc4581c
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Sat Apr 4 12:00:25 2015 +0200
Revert "Staging: sm750fb: Fix C99 Comments"
This reverts commit 6ad6b5ed3e2472b399b567a2f036006bf25df467.
It added a file that should not be in the kernel source tree.
Cc: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 38c8af60046edab4c9db5f26e79746b1bd52c837
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Fri Apr 3 13:23:12 2015 -0700
Bluetooth: Fix location of TX power field in LE advertising data
The TX power field in the LE advertising data should be placed last
since it needs to be possible to enable kernel controlled TX power,
but still allow for userspace provided flags field.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit fd6413d882304ca66d99199db1561382e18396e4
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Fri Apr 3 11:02:10 2015 -0700
Bluetooth: hidp: Use BIT(x) instead of (1 << x)
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit b2ddeb11738464ce8f75c15384a3b8132cb80357
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Fri Apr 3 11:02:09 2015 -0700
Bluetooth: cmtp: Use BIT(x) instead of (1 << x)
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 61125591e1de23992279938eebf8c54f47d7e0a9
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Fri Mar 27 09:32:06 2015 -0700
mfd: tc3589x: enforce device-tree only mode
All systems using the TC3589x multifunction expander uses
devicetree, so don't clutter the place with a lot of
and assume it is there.
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
Acked-by: Lee Jones <lee.jones@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 8b6f53c2f6d3d04c077e74fdb07130242a2d6f58
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Fri Mar 27 09:28:16 2015 -0700
Input: tc3589x - localize platform data
This driver can only get its platform data from the device tree, and all
platforms using it do that. Localize the platform data for the keypad. A
later patch will enforce the device tree / OF dependence.
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
Acked-by: Lee Jones <lee.jones@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 7cef9875f304d10fff18c2625ebd8a5bd748ce8b
Merge: f83255c bd0d888
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 15:05:41 2015 -0700
Merge tag 'samsung-updates' of
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc
Merge "Samsung mach updates for v4.1" from Kukjin Kim:
- for s3c64xx
: use fixed IRQ bases to avoid conflicts on Cragganmore
- for exynos3250
: add cpuidle and AFTR mode support
: fix CPU1 hotplug
- for exynos SoCs
: add code for setting/clearing boot flag for cpuidle AFTR
: remove left over 'extra_save' and constify 'exynos_pm_data' array
: use static in suspend.c as per compiler suggestions
: use platform device name as power domain name
: add support for async-bridge clocks for pm_domains (exynos5420)
* tag 'samsung-updates' of
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: EXYNOS: allow cpuidle driver usage on Exynos3250 SoC
ARM: EXYNOS: add AFTR mode support for Exynos3250
ARM: EXYNOS: add code for setting/clearing boot flag
ARM: EXYNOS: fix CPU1 hotplug on Exynos3250
ARM: S3C64XX: Use fixed IRQ bases to avoid conflicts on Cragganmore
ARM: EXYNOS: Remove left over 'extra_save'
ARM: EXYNOS: Constify exynos_pm_data array
ARM: EXYNOS: use static in suspend.c
ARM: EXYNOS: Use platform device name as power domain name
ARM: EXYNOS: add support for async-bridge clocks for pm_domains
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit fb0d305dcb05f2ab11d77e900362811019b4983b
Merge: 4b3be93 f27b907
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 14:59:52 2015 -0700
Merge tag 'samsung-dt' of
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt
Merge "Samsung DT updates for v4.1" from Kukjin Kim:
- for exynos3250
: add assigned clock parents for CMU nodes
- for exynos4412-odroid
: add eMMC reset line
- for exynos5250
: fixed typo for interrupt-cells
- for exynos5250-snow
: define stdout-path property
: represent bridge and panel connection
: enable wifi power-on and add cap-sdio-irq to wifi mmc node
- for exynos5250-spring
: define stdout-path property
- for exynos5420
: fixed typo for interrupt-cells
: add async-bridge clocks for gsc and disp1 PDs
- for exynos5420 boards
: Mux XMMCnDATA[0] pad correctly
- for exynos5420-odroidxu3
: add eMMC reset line
- for Peach boards
: add HS400 support and define stdout-path property
: add mclk entry and add WiFi module support
: represent bridge and panel connection
* tag 'samsung-dt' of
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: dts: Fixed typo interrupt-cells for exynos5420 and exynos5250
ARM: dts: Add HS400 support for exynos5420 and exynos5800
ARM: dts: add async-bridge clocks to gsc power domain for exynos5420
ARM: dts: add async-bridge clocks to disp1 power domain for exynos5420
dt-bindings: add asynchronous bridge clock for exynos
ARM: dts: Define stdout-path property for exynos5250-spring
ARM: dts: Define stdout-path property for exynos5250-snow
ARM: dts: Define stdout-path property for Peach boards
ARM: dts: Add assigned clock parents to CMU node for exynos3250
ARM: dts: Add mclk entry for Peach boards
ARM: dts: Add WiFi module support for Peach boards
ARM: dts: Mux XMMCnDATA[0] pad correctly for Exynos5420 boards
ARM: dts: add eMMC reset line for exynos5422-odroidxu3
ARM: dts: add eMMC reset line for exynos4412-odroid-common
ARM: dts: represent bridge and panel connection for exynos5420-peach-pit
ARM: dts: represent bridge and panel connection for exynos5250-snow
ARM: dts: Add cap-sdio-irq to wifi mmc node for exynos5250-snow
ARM: dts: Enable wifi power-on for exynos5250-snow
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit d66e8d2e3c03bd380f23b29699d1991b1f064f22
Merge: d8ea264 bb84296
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 14:57:51 2015 -0700
Merge tag 'samsung-defconfig' of
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into
next/defconfig
Merge "Samsung defconfig updates for v4.1" from Kukjin Kim:
- update exynos-defconfig
: enable HDMI, CPUidle, ChromeOS EC chardev driver
and thermal emulation, Marvell WiFi-Ex, CPUfreq,
and support for NFS rootfs
: remove EXYNOS_THERMAL_CORE define
and disable IOMMU support until support it
* tag 'samsung-defconfig' of
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: exynos_defconfig: Enable HDMI support
ARM: exynos_defconfig: Enable options to mount a rootfs via NFS
ARM: exynos_defconfig: Enable ChromeOS EC chardev driver
ARM: exynos_defconfig: Enable CPU idle
ARM: exynos_defconfig: Enable Marvell WiFi-Ex support
ARM: exynos_defconfig: Disable IOMMU support
ARM: exynos_defconfig: Enable support for cpufreq on Exynos SoCs
ARM: exynos_defconfig: Enable thermal emulation for Exynos TMU
ARM: exynos_defconfig: Remove CONFIG_EXYNOS_THERMAL_CORE define
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 30a5c1894a4c932f5a417f0a6ec369c7da81204b
Merge: 77e3c09 a11176e
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 14:56:56 2015 -0700
Merge tag 'samsung-fixes-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into
next/fixes-non-critical
Merge "Samsung non-critical fixes for v4.1" from Kukjin Kim:
- mostly trivial build fixes with random configurations
from Arnd Bergmann
for s3c24xx:
avoid a Kconfig warning and fix header file inclusions,
and fix building without PM_SLEEP and use SAMSUNG_WAKEMASK
for s3c64xx:
fix __initdata section mismatch and add I2C dependencies,
and fix building with PM_SLEEP
* tag 'samsung-fixes-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: S3C24XX: avoid a Kconfig warning
ARM: S3C24XX: fix header file inclusions
ARM: S3C24XX: fix building without PM_SLEEP
ARM: S3C24XX: use SAMSUNG_WAKEMASK for s3c2416
ARM: S3C64XX: fix __initdata section mismatch
ARM: S3C64XX: fix building without CONFIG_PM_SLEEP
ARM: S3C64XX: add I2C dependencies where needed
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 98b80987c940956da48f0c703f60340128bb8521
Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Date: Tue Mar 31 10:56:10 2015 +0200
ARM: at91/dt: sama5d3 xplained: add phy address for macb1
After 57a38effa598 (net: phy: micrel: disable broadcast for
KSZ8081/KSZ8091)
the macb1 interface refuses to work properly because it tries
to cling to address 0 which isn't able to communicate in broadcast with
the mac anymore. The micrel phy on the board is actually configured
to show up at address 1.
Adding the phy node and its real address fixes the issue.
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Cc: Johan Hovold <johan@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> #3.19
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 4b3be93dd095af7488b0aee6e53c0e74a6130303
Merge: ccca5d7 292a354
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 14:54:13 2015 -0700
Merge tag 'mvebu-dt-4.1-3' of git://git.infradead.org/linux-mvebu into
next/dt
Merge "ARM: mvebu: dt changes for v4.1 (round 3)" from Gregory Clement:
mvebu dt changes for v4.1 (part #3)
These changes have no influence on the kernel behavior (except
removing a warning message), but they allow to have a better
representation of the hardware.
- conform L2CC node with ePAPR specification by adding cache-level
- remove cpuclk resources overlapping coredivclk registers on Armada XP
* tag 'mvebu-dt-4.1-3' of git://git.infradead.org/linux-mvebu:
ARM: mvebu: Conform L2CC node with ePAPR specification by adding
cache-level
ARM: mvebu: clk: remove cpuclk resources overlapping coredivclk
registers on Armada XP
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 03a1e74cad817a381b4789fb9cc39c47c263c8a8
Merge: 1eddf57 cfdda35
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 14:51:10 2015 -0700
Merge tag 'samsung-fixes-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes
Merge "Samsung 2nd fixes for v4.0" from Kukjin Kim:
- Fix build breakage exynos cpuidle driver on !SMP
because it is coupled built-in so added check for SMP.
- Fix lid, power pin-functions and mmc node updates
for exynos5250-spring: Fixes commit ID 53dd4138bb0a
("ARM: dts: Add exynos5250-spring device tree")
* tag 'samsung-fixes-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: EXYNOS: Fix build breakage cpuidle on !SMP
ARM: dts: fix lid and power pin-functions for exynos5250-spring
ARM: dts: fix mmc node updates for exynos5250-spring
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 9d8633915ba52158d53b016d276ca30616a6e6b3
Merge: 47f36e4 1f022d8
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 14:49:52 2015 -0700
Merge tag 'v4.0-next-soc' of https://github.com/mbgg/linux-mediatek into
next/drivers
Merge "ARM: mediatek: soc updates for v4.1" from Matthias Brugger:
- enable the pin controller in Kconfig
- Add PMIC wrapper for MT8135 and MT8173 SoCs
* tag 'v4.0-next-soc' of https://github.com/mbgg/linux-mediatek:
soc: mediatek: Add PMIC wrapper for MT8135 and MT8173 SoCs
ARM: mediatek: enable the pin controller
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit ccca5d7d0844f9d97a985dc159056cf6d2e5d9eb
Merge: efc98f7 85fc20b
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 14:47:54 2015 -0700
Merge tag 'v4.0-next-dts' of https://github.com/mbgg/linux-mediatek into
next/dt
Merge "ARM: mediatek: dts updates for v4.1" from Matthias Brugger:
- Add pinctrl/GPIO/EINT node for mt8135.
- document binding for the PMIC wrapper
- Add watchdog to mt6589
* tag 'v4.0-next-dts' of https://github.com/mbgg/linux-mediatek:
ARM: DTS: Add watchdog to mt6589
dt-bindings: ARM: Mediatek: document binding for the PMIC wrapper
ARM: dts: mt8135: Add pinctrl/GPIO/EINT node for mt8135.
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit bb1518f39bec1b3061425ad378793cf9c4bdb3d2
Merge: 2b01311 359f936
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 14:47:11 2015 -0700
Merge tag 'v4.0-next-arm64' of https://github.com/mbgg/linux-mediatek
into next/arm64
Merge "ARM: mediatek: arm64 changes for 4.1" from Matthias Brugger:
- Select PINCTRL for Mediatek platform
- Add pinctrl/GPIO/EINT node for mt8173.
* tag 'v4.0-next-arm64' of https://github.com/mbgg/linux-mediatek:
arm64: dts: mt8173: Add pinctrl/GPIO/EINT node for mt8173.
arm64: mediatek: Select PINCTRL for Mediatek platform
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit d8ea2645e91c8a6446bc987a74ed67688763e7d4
Merge: b98849c bfc6dc1
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 14:46:26 2015 -0700
Merge tag 'imx-defconfig-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/defconfig
Merge "ARM: imx: defconfig updates for 4.1" from Shawn Guo:
The i.MX defconfig updates for 4.1:
- Enable VFAT, Bluetooth and PCA953X GPIO expander support
* tag 'imx-defconfig-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
ARM: imx_v6_v7_defconfig: Enable Bluetooth support
ARM: imx_v6_v7_defconfig: Add CONFIG_GPIO_PCA953X
ARM: imx_v4_v5_defconfig: Add VFAT support
ARM: mxs_defconfig: Add VFAT support
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 16ba08d5c9ec44f89ec03c67ecf7a9c5e2d204fd
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Fri Apr 3 16:05:11 2015 +0200
device property: Introduce firmware node type for platform data
Introduce data structures and code allowing "built-in" properties
to be associated with devices in such a way that they will be used
by the device_property_* API if no proper firmware node (neither DT
nor ACPI) is present for the given device.
Each property is to be represented by a property_entry structure.
An array of property_entry structures (terminated with a null
entry) can be pointed to by the properties field of struct
property_set that can be added as a firmware node to a struct
device using device_add_property_set(). That will cause the
device_property_* API to use that property_set as the source
of properties if the given device does not have a DT node or
an ACPI companion device object associated with it.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Tested-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 97badf873ab60e841243b66133ff9eff2a46ef29
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Fri Apr 3 23:23:37 2015 +0200
device property: Make it possible to use secondary firmware nodes
Add a secondary pointer to struct fwnode_handle so as to make it
possible for a device to have two firmware nodes associated with
it at the same time, for example, an ACPI node and a node with
a set of properties provided by platform initialization code.
In the future that will allow device property lookup to fall back
from the primary firmware node to the secondary one if the given
property is not present there to make it easier to provide defaults
for device properties used by device drivers.
Introduce two helper routines, set_primary_fwnode() and
set_secondary_fwnode() allowing callers to add a primary/secondary
firmware node to the given device in such a way that
(1) If there's only one firmware node for that device, it will be
pointed to by the device's firmware node pointer.
(2) If both the primary and secondary firmware nodes are present,
the primary one will be pointed to by the device's firmware
node pointer, while the secondary one will be pointed to by the
primary node's secondary pointer.
(3) If one of these nodes is removed (by calling one of the new
nelpers with NULL as the second argument), the other one will
be preserved.
Make ACPI use set_primary_fwnode() for attaching its firmware nodes
to devices.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Tested-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 836a061b19d7b4e2e5e05c2a87a366e33127cf88
Author: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx>
Date: Fri Apr 3 12:14:55 2015 +0200
Bluetooth: bnep: Handle BNEP connection setup request
With this patch kernel will be able to handle setup request. This is
needed if we would like to handle control mesages with extension
headers. User space will be only resposible for reading setup data and
checking if scenario is conformance to specification (dst and src device
bnep role). In case of new user space, setup data must be leaved(peek
msg) on queue. New bnep session will be responsible for handling this
data.
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit bf8b9a9cb77b14e37a8bc925be5db7bfd54d69a8
Author: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx>
Date: Fri Apr 3 12:14:54 2015 +0200
Bluetooth: bnep: Add support to extended headers of control frames
Handling extended headers of control frames is required BNEP
functionality. This patch refractor bnep rx frame handling function.
Extended header for control frames shouldn't be omitted as it was
previously done. Every control frame should be checked if it contains
extended header and then every extension should be parsed separately.
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 0477e2e868ceead7fd96218e1a062e01631ce717
Author: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx>
Date: Fri Apr 3 12:14:53 2015 +0200
Bluetooth: bnep: Add support for get bnep features via ioctl
This is needed if user space wants to know supported bnep features
by kernel, e.g. if kernel supports sending response to bnep setup
control message. By now there is no possibility to know supported
features by kernel in case of bnep. Ioctls allows only to add connection,
delete connection, get connection list, get connection info. Adding
connection if it's possible (establishing network device connection) is
equivalent to starting bnep session. Bnep session handles data queue of
transmit, receive messages over bnep channel. It means that if we add
connection the received/transmitted data will be parsed immediately. In
case of get bnep features we want to know before session start, if we
should leave setup data on socket queue and let kernel to handle with it,
or in case of no setup handling support, if we should pull this message
and handle setup response within user space.
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit f83255cca7ce437e9a071a6e177453371cec78b8
Merge: 50ae4bb ae4aee9
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 13:57:26 2015 -0700
Merge tag 'imx-soc-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc
Merge "ARM: imx: soc changes for 4.1" from Shawn Guo:
The i.MX SoC changes for 4.1:
- An error handling improvement on imx-weim bus driver
- A number of imx6q clock tree update around MIPI support
- Add support for i.MX6 GPU/VPU power domain
- Enable SMP_ON_UP build for Vybrid
- Let MXC_DEBUG_BOARD depend on 3-stack (3DS) boards
* tag 'imx-soc-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
ARM: imx: depend MXC debug board on 3DS machines
ARM: imx6: gpc: Add PU power domain for GPU/VPU
Documentation: Add device tree bindings for Freescale i.MX GPC
bus: imx-weim: improve error handling upon child probe-failure
ARM: imx6q: clk: Add support for mipi_ipg clock as a shared clock gate
ARM: imx6q: clk: Add support for mipi_core_cfg clock as a shared clock
gate
ARM: imx6q: clk: Change hsi_tx clock to be a shared clock gate
ARM: imx6q: clk: Change hdmi_isfr clock's parent to be video_27m clock
ARM: imx6q: clk: Add the video_27m clock
ARM: imx6q: Add GPR3 MIPI muxing control register field shift bits
definition
ARM: vf610: use SMP_ON_UP for Vybrid SoC
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit c4c14f393fe4991a423c21516511ff1011140143
Merge: 5602d12 dc98b0c
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 13:56:36 2015 -0700
Merge tag 'imx-cleanup-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/cleanup
Merge "ARM: imx: cleanup for 4.1" from Shawn Guo:
The i.MX cleanup for v4.1:
- Convert i.MX25 to be a DT only platform and remove the code that is
only used by non-DT support
- A couple trivial cleanup on iomux-v3 code
* tag 'imx-cleanup-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
ARM: imx_v4_v5_defconfig: Remove CONFIG_MACH_MX25_3DS
ARM: mx25: Remove imxdi_rtc platform code
ARM: mx25: Remove "mx25.h" header file
ARM: mx25: Remove static memory mapping
ARM: mx25: Retrieve IIM base from dt
ARM: mx25: Remove mx25_clocks_init()
ARM: mx25: Remove platform code support files
ARM: mx25: Convert to a dt-only platform
ARM: imx25: Remove eukrea mx25 board files
ARM: mx25: Remove mach-mx25_3ds board file
ARM: imx: Fix trivial typo in comments
ARM: imx: Kconfig: Fix grammar in help text
ARM: imx/iomux-v3: allow pad_list to be const
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 1eddf578e25521267cf734935b2a856ed2be28fc
Merge: 77479b3 548ae94
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 13:55:38 2015 -0700
Merge tag 'mvebu-fixes-4.0' of git://git.infradead.org/linux-mvebu into
fixes
Merge "ARM: mvebu: fixes for v4.0" from Gregory Clement:
mvebu fix for 4.0
Disable CPU Idle on Armada 38x
* tag 'mvebu-fixes-4.0' of git://git.infradead.org/linux-mvebu:
ARM: mvebu: Disable CPU Idle on Armada 38x
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit b98849ccc7b906b38646dac60558ea9e46de443a
Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Date: Mon Mar 30 16:40:16 2015 +0200
ARM: multi_v7_defconfig: Add gpio-restart driver
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 3021af88d5fb59ee9ec4319b08f69be69c4cd124
Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Date: Mon Mar 30 16:40:15 2015 +0200
ARM: multi_v7_defconfig: Build the Marvell WiFi-Ex driver as a module
Needed in several Chromebook models such as the Tegra-based ones.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 049b94d614a0bd60602d433fe68a7e8a02e11f46
Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Date: Mon Mar 30 16:40:14 2015 +0200
ARM: multi_v7_defconfig: Enable support for ELAN i2c trackpads
Needed in several Chromebook models such as the Tegra-based ones.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit d0c0639e6d864e1b201bae41d937467a09fce9b3
Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Date: Mon Mar 30 16:40:13 2015 +0200
ARM: multi_v7_defconfig: Enable Tegra ACTMON support
This brings the DevFreq framework in and builds the ACTMON driver that
on Tegra124 will scale the external memory clock based on current load.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 77479b38e2f58890eb221a0418357502a5b41cd6
Author: Nathan Rossi <nathan.rossi@xxxxxxxxxx>
Date: Mon Mar 30 14:39:08 2015 +0200
kbuild: Create directory for target DTB
When building specific DTBs out of the kernel tree the vendor subdirs
(boot/dts/<vendor>) are not created, ensure that they are before
building the DTB.
Signed-off-by: Nathan Rossi <nathan.rossi@xxxxxxxxxx>
Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit efc98f776234fedf5fc1069c6dc22c7d5bb1916a
Merge: 06c49f2 03650bd
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 13:50:55 2015 -0700
Merge tag 'tegra-for-4.1-dt' of
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt
Merge "ARM: tegra: Device tree changes for v4.1-rc1" from Thierry Reding:
A bunch of changes to improve support on the Nyan Big (Acer Chromebook
13). These enable the trackpad and make the WiFi card work. Changes to
the userspace-exposed name of the soundcard are required for a better
audio experience.
Support for Nyan Blaze (HP Chromebook 14) is added. It is very similar
to Nyan Big and therefore can enjoys many of the above improvements.
Since the EMC driver can now be used to scale the frequency at which
external memory is clocked, corresponding EMC frequency tables are added
for Jetson TK1 and the Nyan boards.
The Jetson TK1, Beaver and Nyan boards now also use generated pinmux
data, which makes it easier to keep it in sync with the data provided by
syseng.
* tag 'tegra-for-4.1-dt' of
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
ARM: tegra: Add EMC timings to Nyan Blaze device tree
ARM: tegra: Add EMC timings to Nyan Big device tree
ARM: tegra: Add EMC timings to Jetson TK1 device tree
ARM: tegra: Add EMC to Tegra124 device tree
ARM: tegra: Add Tegra124 ACTMON support
of: Add binding for NVIDIA Tegra ACTMON node
ARM: tegra: nyan: The WiFi card is kept powered during suspend
ARM: tegra: nyan: Add gpio-restart node
ARM: tegra: nyan: Set maximum frequency for SPI flash
ARM: tegra: Use generated pinmux data for Nyan Big
ARM: tegra: Use pwrseq-simple for the wifi in Nyan
ARM: tegra: Add node for trackpad in Nyan boards
ARM: tegra: Add DTS for the nyan-blaze board
ARM: tegra: Move generic parts out of the nyan-big DT
ARM: tegra: Change model of sound card in Nyan Big
ARM: tegra: Use generated pinmux for Beaver board
ARM: tegra: Import latest Jetson TK1 pinmux
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 2b01311afc120ffb0ce5ec94721a77f05c84763f
Author: Will Deacon <will.deacon@xxxxxxx>
Date: Mon Mar 30 10:59:30 2015 +0100
arm64: dts: add interrupt-affinity property to pmu node for juno
Make the Juno .dts robust against potential reordering of the CPU nodes
by adding an explicit interrupt-affinity property to the PMU node. While
we're at it, fix the PMU interrupts numbers too.
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Acked-by: Liviu Dudau <liviu.dudau@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 50ae4bb946126d1ae52b83446eb125117af9dcd3
Merge: 5f493ac a6b188e
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 13:41:29 2015 -0700
Merge tag 'v4.1-soc' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc
Merge "omap soc changes for v4.1" from Tony Lindgren:
SoC related changes for omaps. Mostly hwmod related changes via
Paul Walmsley <paul@xxxxxxxxx>:
OMAP hwmod data changes for AM43xx and DRA7xx for v4.1
Add support for the AM43xx HDQ/1-wire driver and fix the GPTIMER data
for DRA7xx.
Note that I do not have AM43xx nor DRA7xx boards, and cannot test these
patches on those platforms.
Basic build, boot, and PM test logs are available at:
http://www.pwsan.com/omap/testlogs/omap-hwmod-a-for-v4.1/20150324185246/
* tag 'v4.1-soc' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: DRA7: hwmod: Fix the hwmod class for GPTimer4
ARM: DRA7: hwmod: Add data for GPTimers 13 through 16
ARM: omap-device: add missed callback for suspend-to-disk
ARM: OMAP2: hwmod: AM43XX: Add hwmod support for HDQ-1W
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 77e3c09e451ae78b64f7b89fc1690804da726787
Merge: dc0961b 209431e
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 13:40:34 2015 -0700
Merge tag 'omap-for-v4.1/fixes-0' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into
next/fixes-non-critical
Merge "omap non-urgent fixes for v4.1" from Tony Lindgren:
Fixes for omaps that were not considered urgent enough for the -rc cycle.
This is mostly to enable errata 798181 and thermal support for dra7,
configure ocp2scp for am437x, remove dead code for OMAP4_ERRATA_I688
and fix build warnings for omap1510 only config.
* tag 'omap-for-v4.1/fixes-0' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: DRA7: Enable Cortex A15 errata 798181
ARM: dts: am57xx-beagle-x15: Add thermal map to include fan and tmp102
ARM: dts: DRA7: Add bandgap and related thermal nodes
bus: ocp2scp: SYNC2 value should be changed to 0x6
ARM: dts: am4372: Add "ti,am437x-ocp2scp" as compatible string for
OCP2SCP
ARM: OMAP2+: remove superfluous NULL pointer check
ARM: OMAP4: remove dead kconfig option OMAP4_ERRATA_I688
MAINTAINERS: add OMAP defconfigs under OMAP SUPPORT
ARM: OMAP1: PM: fix some build warnings on 1510-only Kconfigs
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 47f36e4921ae11dccf3163f75f70bb55686780f1
Merge: 63fad06 874c571
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 13:38:43 2015 -0700
Merge tag 'arm-perf-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into next/drivers
Merge "arm-cci PMU updates for 4.1" from Will Deacon:
CCI-400 PMU updates
This series reworks some of the CCI-400 PMU code so that it can be used
on both ARM and ARM64-based systems, without the need to boot in secure
mode on the latter. This paves the way for CCI-500 support in future.
* tag 'arm-perf-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/will/linux:
arm-cci: Fix CCI PMU event validation
arm-cci: Split the code for PMU vs driver support
arm-cci: Get rid of secure transactions for PMU driver
arm-cci: Abstract the CCI400 PMU specific definitions
arm-cci: Rearrange code for splitting PMU vs driver code
drivers: cci: reject groups spanning multiple HW PMUs
+ Linux 4.0-rc4
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 06c49f2b88eb177f4f96d68d561f28fb125e7c0c
Author: Lina Iyer <lina.iyer@xxxxxxxxxx>
Date: Wed Mar 25 14:25:35 2015 -0600
ARM: dts: qcom: Add idle state device nodes for 8064
Add ARM common idle state device bindings for cpuidle support for APQ
8064.
Support Standalone power collapse (SPC) idle state (power down that does
not
affect any SoC idle states) for each cpu.
Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit d8664979e6ba97024c43d6248f94982ee0c8d1ee
Author: Lina Iyer <lina.iyer@xxxxxxxxxx>
Date: Wed Mar 25 14:25:34 2015 -0600
ARM: dts: qcom: Add idle states device nodes for 8084
Add ARM common idle states device bindings for cpuidle support for APQ
8084.
Support Standalone power collapse (SPC) idle state (power down that does
not
affect any SoC idle states) for each cpu.
Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit d596d620d82f64989aaf73144bac82002204d88c
Author: Lina Iyer <lina.iyer@xxxxxxxxxx>
Date: Wed Mar 25 14:25:33 2015 -0600
ARM: dts: qcom: Add idle states device nodes for 8974/8074
Add ARM common idle states device bindings for cpuidle support for APQ
8974/8074.
Support Standalone power collapse (SPC) idle state (power down that does
not affect any SoC idle states) for each cpu.
Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 9fc23ce3bfb8c205f2a43de94f3730aa301f2efe
Author: Lina Iyer <lina.iyer@xxxxxxxxxx>
Date: Wed Mar 25 14:25:32 2015 -0600
ARM: dts: qcom: Update power-controller device node for 8064 Krait CPUs
Update the SAW2 DT bindings to add qcom,apq8064-saw2-v1.1-cpu compatible
binding string to configure SPM registers and allow the SPM to put the
core in deeper idle states when the core is idle.
Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx>
Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 030e27f6c60d37a24bbbff060936954ad6f77b0b
Author: Lina Iyer <lina.iyer@xxxxxxxxxx>
Date: Wed Mar 25 14:25:31 2015 -0600
ARM: dts: qcom: Add power-controller device node for 8084 Krait CPUs
Each Krait CPU in the QCOM 8084 SoC has an SAW power controller to
regulate the power to the cpu and aide the core in entering idle states.
Reference the SAW instance and associate the instance with the CPU core.
Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx>
Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 8c76a6382eb0c45d152c0cf37206e4ec9c3781cd
Author: Lina Iyer <lina.iyer@xxxxxxxxxx>
Date: Wed Mar 25 14:25:30 2015 -0600
ARM: dts: qcom: Add power-controller device node for 8074 Krait CPUs
Each Krait CPU in the QCOM 8074/8974 SoC has an SAW power controller to
regulate the power to the cpu and aide the core in entering idle states.
Reference the SAW instance and associate the instance with the CPU core.
Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx>
Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 52cd8451818bffa25bec2f69bc6286b3cc045bf7
Author: Lina Iyer <lina.iyer@xxxxxxxxxx>
Date: Wed Mar 25 14:25:28 2015 -0600
devicetree: bindings: Document qcom,idle-states
Document cpuidle states of QCOM cpus. In addition to arm-idle-state
compatible string, the ARM idle state definition must define one of the
following compatible strings -
"qcom,idle-state-ret",
"qcom,idle-state-spc",
"qcom,idle-state-pc",
The compatibles helps the SPM platform driver to use the correct idle
function when the index to the idle state is passed to the platform
driver.
Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 005c5dc9b3dd72970992d05ea63f1148d020112c
Author: Lina Iyer <lina.iyer@xxxxxxxxxx>
Date: Wed Mar 25 14:25:27 2015 -0600
devicetree: bindings: Update qcom,saw2 node bindings
Update qcom,saw2 node bindings with compatible strings to identify nodes
that provides cpuidle functionality for a particular SoC. Remove
unused compatible strings.
Update examples for different SAW nodes.
Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 83bd147952ef5c8a99df27b8597ee21f2424348d
Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx>
Date: Wed Mar 18 16:08:21 2015 +0200
dt-bindings: Add #defines for MSM8916 clocks and resets
Add clocks/resets defines for the global clock controller
found on Qualcomm MSM8916 SoCs.
Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit f49cadeb48a2717d1baaab701066bda9b69cfed4
Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx>
Date: Fri Mar 13 01:01:08 2015 -0700
arm: dts: qcom: Add LPASS Audio HW to IPQ8064 device tree
Model the Qualcomm Technologies LPASS hardware for the ipq806x SOC.
Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx>
Acked-by: Banajit Goswami <bgoswami@xxxxxxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit e321cbbd55270bcced00ab73ea8e2ee1390861af
Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx>
Date: Tue Feb 3 14:18:00 2015 +0200
arm: dts: qcom: Add APQ8084 chipset SPMI PMIC's nodes
PMA8084 have 2 SPMI devices per physical package. Add their
configuration nodes and include them in boards which are using
AQP8084 based chipset.
Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit c91278931d7b469d8203b7c3ea6d202df5832755
Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx>
Date: Tue Feb 3 14:17:59 2015 +0200
arm: dts: qcom: Add 8x74 chipset SPMI PMIC's nodes
PM8841 and PM8941 have 2 SPMI devices per physical package.
Add their configuration nodes and include them in boards
which are using 8x74 based chipset.
Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit af22e46d3e8e29d7a1edb6f171745e4991d40cf1
Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx>
Date: Tue Feb 3 14:17:58 2015 +0200
arm: dts: qcom: Add SPMI PMIC Arbiter nodes for APQ8084 and MSM8974
Add SPMI PMIC Arbiter configuration nodes for APQ8084 and MSM8974.
Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 1e1177bf4c24d593afddf40f9f63538136aee6c9
Author: Kumar Gala <galak@xxxxxxxxxxxxxx>
Date: Wed Jan 28 13:36:12 2015 -0800
arm: dts: qcom: Add LCC nodes
Add the node for the LPASS clock controller found on a few qcom
SoCs so that the clock driver can probe.
Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
[sboyd@xxxxxxxxxxxxxx: Added apq8064 and msm8960 nodes]
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 3860d43c807c40ad6193280716be2f241f7a4c28
Author: Andy Gross <agross@xxxxxxxxxxxxxx>
Date: Mon Feb 9 16:01:11 2015 -0600
arm: dts: qcom: Add TCSR support for MSM8960
This patch adds TCSR support for use by the GSBI to automatically
configure ADM CRCI values based on the GSBI port configuration.
Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit da047acd173478fd0dd901bfd268d91d35c4f4b8
Author: Andy Gross <agross@xxxxxxxxxxxxxx>
Date: Mon Feb 9 16:01:10 2015 -0600
arm: dts: qcom: Add TCSR support for MSM8660
This patch adds TCSR support for use by the GSBI to automatically
configure ADM CRCI values based on the GSBI port configuration.
Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 4d9b766bfe08d63ca1b6867be005a7bc603f9985
Author: Andy Gross <agross@xxxxxxxxxxxxxx>
Date: Mon Feb 9 16:01:09 2015 -0600
arm: dts: qcom: Add TCSR support for IPQ8064
This patch adds TCSR support for use by the GSBI to automatically
configure ADM CRCI values based on the GSBI port configuration.
Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 4105d9d60a7f28a60198302e8d4b79bd308cac35
Author: Andy Gross <agross@xxxxxxxxxxxxxx>
Date: Mon Feb 9 16:01:08 2015 -0600
arm: dts: qcom: Add TCSR support for APQ8064
This patch adds TCSR support for use by the GSBI to automatically
configure ADM CRCI values based on the GSBI port configuration.
Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit a8b21018de2ec8864176670c87015b19babdfe58
Author: Andy Gross <agross@xxxxxxxxxxxxxx>
Date: Mon Feb 9 16:01:07 2015 -0600
mfd: qcom,tcsr: Add device tree binding for TCSR
This patch adds the device tree binding for the Qualcomm Top Control and
Status Register device. The TCSR is comprised of a set of registers that
provide various control and status functions for attached peripherals.
Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 2d9ad4f85ed43101f55816472895e112203f9881
Author: Kumar Gala <galak@xxxxxxxxxxxxxx>
Date: Wed Mar 4 13:52:44 2015 -0600
arm: qcom: dts: gic: add compatible string for Qualcomm MSM GICs
Document the Qualcomm MSM GICs implementation as compatible with the
ARM GIC standard.
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 282703e8285026dbb051055ebeba1baa13be4a21
Author: Kumar Gala <galak@xxxxxxxxxxxxxx>
Date: Fri Mar 20 13:39:54 2015 -0500
arm64: dts: Add Qualcomm APQ8016 SBC evaluation board dts
Add initial device tree support for Qualcomm APQ8016 SBC Evaluation board.
This board is also referred to as the DragonBoard 410c.
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 57f0a7eae6bd5f5811f070f63ffa482c7d6faad7
Author: Kumar Gala <galak@xxxxxxxxxxxxxx>
Date: Fri Feb 27 15:48:59 2015 -0600
arm64: dts: Add Qualcomm MSM8916 SoC and evaluation board dts
Add initial device tree support for Qualcomm MSM8916 SoC and MTP8916
evaluation board. At the current time we only boot up a single processor.
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit a6964d90fe54ac0a5c610fea0f5b6f6608c22b2a
Merge: 3726767 dc344b6
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 13:23:33 2015 -0700
Merge tag 'qcom-defconfig-for-4.1-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into
next/defconfig
Merge "qcom defconfig changes for 4.1-1" from Kumar Gala:
Qualcomm ARM Based defconfig Updates for v4.1-1
* Increase MMC_BLOCK_MINORS to 32 since qcom platforms have more than
16 partitions
* tag 'qcom-defconfig-for-4.1-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom:
ARM: qcom: Increase MMC_BLOCK_MINORS in defconfig
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit ee327179b9f5f9c0259f43493a5a7e96854094de
Merge: 6054ef2 83c3a7d
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 13:22:39 2015 -0700
Merge tag 'omap-for-v4.1/wl12xx-dt' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt
Merge "wireless wl12xx and omap device tree changes for v4.1" from Tony
Lindgren:
Wireless and omap changes to make wl12xx driver to use device tree
data instead of platform data from Eliad Peller <eliad@xxxxxxxxxx>:
- Add device-tree support to the wlcore (wl12xx/wl18xx) driver.
- Update the current users to use the bindings instead of pdata-quirks.
- Finally, remove the deprecated wl12xx_platform_data struct
Note that da850 board file code that still uses the platform data,
but we have da850.dtsi that can be used instead. So it was decided
that we should try to remove the wl12xx support from the da850
board file as suggested by Sekhar Nori <nsekhar@xxxxxx>. As it's
the last patch in the series, the last patch can be simply reverted
if needed.
As this series touches quite a bit of arch code, it was suggested
by Kalle Valo <kvalo@xxxxxxxxxxxxxx> that the whole series should
be merged via the arm-soc tree.
* tag 'omap-for-v4.1/wl12xx-dt' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
wlcore: remove wl12xx_platform_data
ARM: dts: add wl12xx/wl18xx bindings
wlcore: add device-tree support
dt: bindings: add TI's wilink wireless device
wl12xx: use frequency instead of enumerations for pdata clocks
wlcore: set irq_trigger in board files instead of hiding behind a quirk
+ Linux 4.0-rc4
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 5602d12a861340e9ed2c17cdefc500fa12b52446
Merge: 0a47acf 27842bb
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 13:20:42 2015 -0700
Merge tag 'qcom-cleanup-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/cleanup
Merge "qcom cleanup changes for 4.1" from Kumar Gala:
General cleanups for MSM/QCOM for 4.1
* Removal of mach-msm and associated drivers cleanups that have been
ack'd by associated maintainers
* tag 'qcom-cleanup-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom:
mmc: Remove msm_sdcc driver
gpio: Remove gpio-msm-v1 driver
ARM: Remove mach-msm and associated ARM architecture code
+ Linux 4.0-rc3
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 37267675c9f0037b550d6c4c253a669fb728dfe5
Merge: f28ae3b a198d27
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 13:06:52 2015 -0700
Merge tag 'sunxi-defconfig-for-4.1' of
https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into
next/defconfig
Merge "Allwinner defconfig changes for 4.1" from Maxime Ripard:
Nothing really standing out here, just a few options to enable in the
defconfigs
* tag 'sunxi-defconfig-for-4.1' of
https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
ARM: sunxi_defconfig: increase the number of maximum number of CPUs to 8
ARM: multi_v7_defconfig: Enable CONFIG_PHY_SUN9I_USB
ARM: sunxi_defconfig: Enable CONFIG_PHY_SUN9I_USB
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 623e4ecb869ea5c643715a08f376987887664de1
Author: Ioan Nicu <ioan.nicu.ext@xxxxxxxxx>
Date: Mon Mar 30 15:03:38 2015 +0200
i2c: i2c-mux-gpio: remove error messages for probe deferrals
Probe deferral is not an error case. It happens only when
the necessary dependencies are not there yet.
The driver core is already printing a message when a driver
requests probe deferral, so this can be traced in the logs
without these error prints.
This patch removes the error messages for these deferral cases.
Signed-off-by: Ionut Nicu <ioan.nicu.ext@xxxxxxxxx>
Acked-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx>
Acked-by: Peter Korsgaard <peter.korsgaard@xxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit 5f493ace72db9fdb59301366d77d8b9a1d2f68b9
Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>
Date: Mon Mar 16 17:16:07 2015 -0400
ARM: Exynos: migrate DCSCB to the new MCPM backend abstraction
The custom suspend callback is removed for this change. The extra call
to exynos_cpu_power_up(() that was present at the end of exynos_suspend()
is now relocated to the cpu_is_up callback.
Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx>
Tested-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 323ab95339b515330a4e0908e53b06498f2cafde
Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>
Date: Sat Mar 14 21:13:48 2015 -0400
ARM: vexpress: migrate DCSCB to the new MCPM backend abstraction
Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 03fd5db717918b36a4ac1dbfc197222041608eab
Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>
Date: Sat Mar 14 20:29:44 2015 -0400
ARM: vexpress: DCSCB: tighten CPU validity assertion
Currently the cpu argument validity check uses a hardcoded limit of 4.
The DCSCB configuration data provides the actual number of CPUs and
we already use it elsewhere. Let's improve the cpu argument validity
check by using that information instead.
Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 41f26e2d94374f7a31d3dc0b03223df7006a83cd
Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>
Date: Sat Mar 14 17:58:33 2015 -0400
ARM: vexpress: migrate TC2 to the new MCPM backend abstraction
Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit d3a875444ad8d5e64c5a932361ca579312e49801
Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>
Date: Wed Mar 11 18:16:13 2015 -0400
ARM: MCPM: move the algorithmic complexity to the core code
All backends are reimplementing a variation of the same CPU reference
count handling. They are also responsible for driving the MCPM special
low-level locking. This is needless duplication, involving algorithmic
requirements that are not necessarily obvious to the uninitiated.
And from past code review experience, those were all initially
implemented badly.
After 3 years, it is time to refactor as much common code to the core
MCPM facility to make the backends as simple as possible. To avoid a
flag day, the new scheme is introduced in parallel to the existing
backend interface. When all backends are converted over, the
compatibility interface could be removed.
The new MCPM backend interface implements simpler methods addressing
very platform specific tasks performed under lock protection while
keeping the algorithmic complexity and race avoidance local to the
core code.
Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx>
Tested-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 3341ada4367df002603354e0570048e3fa2b1a18
Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx>
Date: Wed Mar 25 20:52:11 2015 +0800
arm64: dts: sprd: adding coresight entries to Spreadtrum SC9836
Support only for ETF, FUNNEL, STM are included currently.
Support for ETM, TPIU and the replicator linked to it are not included in
this version patch.
Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit ba92222ed63a12d09120df9b92f56cc990abac19
Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx>
Date: Tue Mar 31 14:03:55 2015 +0100
i2c: jz4780: Add i2c bus controller driver for Ingenic JZ4780
Adds the i2c bus controller driver for the Ingenic JZ4780 SoC.
Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit b81b7be6ae830a507d15cf4fc626be02cc9ab79b
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 12:29:50 2015 +0800
test_rhashtable: Remove bogus max_size setting
Now that resizing is completely automatic, we need to remove
the max_size setting or the test will fail.
Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Acked-by: Thomas Graf <tgraf@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b98d8075e65c9cb688e73b941d873986e7bbf7ae
Merge: bcad571 898b297
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri Apr 3 15:08:20 2015 -0400
Merge branch 'mvneta-sgmii'
Stas Sergeev says:
====================
mvneta: SGMII-based in-band link state signaling
Currently the fixed-link DT binding is pre-configured and
cannot be changed in run-time. This means the cable unplug
events are not being detected, and the link parameters can't
be negotiated.
The following patches are needed when mvneta is used
in fixed-link mode (without MDIO).
They add an API to fixed_phy that allows to update
status, and use that API in the mvneta driver when parsing
the SGMII in-band status.
There is also another implementation that doesn't add any API
and does everything in mvneta driver locally:
https://lkml.org/lkml/2015/3/31/327
I'll let people decide which approach is better.
No strong opinion on my side.
====================
Signed-off-by: Stas Sergeev <stsp@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 898b2970e2c91e4543b579998922822894325866
Author: Stas Sergeev <stsp@xxxxxxx>
Date: Wed Apr 1 20:32:49 2015 +0300
mvneta: implement SGMII-based in-band link state signaling
When MDIO bus is unavailable (common setup for SGMII), the in-band
signaling must be used to correctly track link state.
This patch enables the in-band status delivery for link state changes,
namely:
- link up/down
- link speed
- duplex full/half
fixed_phy_update_state() is used to update phy status.
CC: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
CC: Florian Fainelli <f.fainelli@xxxxxxxxx>
CC: netdev@xxxxxxxxxxxxxxx
CC: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Stas Sergeev <stsp@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a3bebdce4135a44d09e96ba66c40797c8f9fa902
Author: Stas Sergeev <stsp@xxxxxxx>
Date: Wed Apr 1 20:30:31 2015 +0300
add fixed_phy_update_state() - update state of fixed_phy
Currently fixed_phy uses a callback to periodically poll the link state.
This patch adds the fixed_phy_update_state() API.
It solves the following problems:
- On link state interrupt, MAC driver can't update status.
Instead it needs to provide the callback to periodically query
the HW about the link state. It is more efficient to update status
after interrupt.
- The callback needs to be unregistered before phy_disconnect(),
or otherwise it will be called with net_dev==NULL. phy_disconnect()
does not have enough info to unregister the callback automatically.
- The callback needs to be registered before of_phy_connect() to
avoid running with outdated state, but of_phy_connect() returns the
phy_device pointer, which is needed to register the callback. Registering
it before of_phy_connect() will therefore require a hack to get the
pointer earlier.
Overall, this addition makes the subsequent patch that implements
SGMII link status for mvneta, much cleaner.
CC: Florian Fainelli <f.fainelli@xxxxxxxxx>
CC: netdev@xxxxxxxxxxxxxxx
CC: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Stas Sergeev <stsp@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit bcad57182425426dd4aa14deb27f97acb329f3cd
Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Date: Fri Apr 3 20:52:24 2015 +0200
ebpf: add skb->priority to offset map for usage in {cls, act}_bpf
This adds the ability to read out the skb->priority from an eBPF
program, so that it can be taken into account from a tc filter
or action for the use-case where the priority is not being used
to directly override the filter classification in a qdisc, but
to tag traffic otherwise for the classifier; the priority can be
assigned from various places incl. user space, in future we may
also mangle it from an eBPF program.
Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0a47acfa16a5043f5fad562abb8e3e4b53367a43
Merge: c25a9fa df67a2b
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 11:26:08 2015 -0700
Merge tag 'renesas-soc-cleanup3-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup
Merge "Third Round of Renesas ARM Based SoC Cleanup for v4.1" from Simon
Horman:
* Remove default cpuidle driver, it does not appear to serve any purpose
* tag 'renesas-soc-cleanup3-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: cpuidle: Remove the pointless default driver
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 6054ef25e20219a604429c1437bc601f8ead87a4
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 11:24:26 2015 -0700
ARM: dts: fix typo in bcm7445.dtsi
Reported-by: Brian Norris <computersforpeace@xxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit ceca038a354f65005babf4c462eaf4af9604f4d1
Merge: e0199d9 0c02ace
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 11:23:19 2015 -0700
Merge tag 'arm-soc/for-4.1/devicetree-part-3' of
http://github.com/broadcom/stblinux into next/dt
Merge "Broadcom Device Tree changes for 4.1 #3" from Brian Norris:
This pull request contains changes to the BCM7445 reference DTS files from
Brian:
- making a clock-frequency property decimal instead of hexadecimal
- adding the irq0 interrupt controller node to make the reference DTS
bootable
again
* tag 'arm-soc/for-4.1/devicetree-part-3' of
http://github.com/broadcom/stblinux:
ARM: dts: brcmstb: add IRQ0 controller
ARM: dts: brcmstb: un-hexify clock frequency
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit e0199d9829e56d3b3a85b14bb3480fa1c4d151b9
Merge: c674695 3c42ae3
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 11:08:28 2015 -0700
Merge tag 'at91-dt2' of
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/dt
Merge "at91: dt for 4.1 #2" from Nicolas Ferre:
Second batch of DT changes for 4.1:
- RTC nodes for at91sam9x5 boards and at91sam9n12ek
- HLCDC nodes and pin definitions for sama5d3 & sama5d4
- additional uarts for sama5d3
* tag 'at91-dt2' of
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
ARM: at91/dt: sama5d4: add rgb777 LCD line configuration
ARM: at91/dt: sama5d4: fix LCD pins for RGB666 format
ARM: at91/dt: sama5d4: add hlcdc node
ARM: at91/dt: sama5d4: add lcdc pin definitions
ARM: at91/dt: sama5d3: add uart1 pinctrl definition
ARM: at91/dt: sama5d3: add uart0
ARM: at91/dt: define the HLCDC node available on sama5d3 SoCs
ARM: at91/dt: add alternative pin muxing for sama5d3 lcd pins
ARM: at91/dt: split sama5d3 lcd pin definitions to match RGB mode
configs
ARM: at91/dt: at91sam9n12ek: enable RTC
ARM: at91/dt: at91sam9x5cm: enable RTC
DT: video: atmel_lcdc: Add example of fixed framebuffer memory
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 63fad06a2733f78f7565a436a97848aee8099600
Merge: aabab88 4b613e9
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 11:00:47 2015 -0700
Merge tag 'gpmc-omap-for-v4.1' of git://github.com/rogerq/linux into
next/drivers
Merge "OMAP-GPMC driver fixes for v4.1" from Roger Quandros:
* Fixed WAITMONITORINGTIME programming to be based on
GPMC_CLK instead of GPMC_FCLK. The GPMC clock divider
programming is fixed for both synchronous and asynchronous
modes.
* Allow GPMC's children of default bus type to be populated in
the device tree.
* Improved DEBUG output data and format.
* Prevent writing 1 into reserved bits of GPMC_CONFIG7.
* tag 'gpmc-omap-for-v4.1' of git://github.com/rogerq/linux:
ARM OMAP2+ GPMC: fix programming/showing reserved timing parameters
ARM OMAP2+ GPMC: fix WAITMONITORINGTIME divider bug
ARM OMAP2+ GPMC: calculate GPMCFCLKDIVIDER based on WAITMONITORINGTIME
ARM OMAP2+ GPMC: always program GPMCFCLKDIVIDER
ARM OMAP2+ GPMC: change get_gpmc_timing_reg output for DTS
ARM OMAP2+ GPMC: fix debug output alignment
ARM OMAP2+ GPMC: add bus children
ARM OMAP2+ GPMC: don't undef DEBUG
ARM: OMAP2+: gpmc: make gpmc_cs_get_name() static
ARM: OMAP2+: gpmc: Fix writing in gpmc_cs_set_memconf
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit c6746958bc1ea33489c946aec1b90114e9d9e74b
Merge: 263c3f5 7776ab7
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 10:55:21 2015 -0700
Merge tag 'mvebu-dt-4.1-2' of git://git.infradead.org/linux-mvebu into
next/dt
Merge "ARM: mvebu: dt changes for v4.1 (round 2)" from Gregory Clement:
mvebu dt changes for v4.1 (part #2)
- add support for Performance Monitor Unit on most of mvebu SoCs
- add nas2big support
- add support for USB3 port On Armada 385 AP
* tag 'mvebu-dt-4.1-2' of git://git.infradead.org/linux-mvebu:
ARM: mvebu: armada-385-ap: Enable USB3 port
ARM: mvebu: Enable Performance Monitor Unit on Armada 380/385 SoC
ARM: mvebu: Enable Performance Monitor Unit on Armada 375 SoC
ARM: mvebu: Enable Performance Monitor Unit on Armada XP/370 SoCs
ARM: Kirkwood: add DT description for nas2big
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit f28ae3ba10f3d9535289e7902293c52a494ed476
Merge: cef9f50 76b21e3
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 10:54:34 2015 -0700
Merge tag 'mvebu-defconfig-4.1-2' of git://git.infradead.org/linux-mvebu
into next/defconfig
Merge "ARM: mvebu: defconfig changes for v4.1 (round 2)" from Gregory
Clement:
mvebu defconfig changes for v4.1 (part #2)
- add perf support in mvebu_v7_defconfig
* tag 'mvebu-defconfig-4.1-2' of git://git.infradead.org/linux-mvebu:
ARM: mvebu: Enable perf support in mvebu_v7_defconfig
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit cef9f501305480c2bff7259b5d260131aca4445a
Merge: 342f346 bb3ab87
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 10:53:09 2015 -0700
Merge tag 'renesas-defconfig-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig
Merge "Renesas ARM Based SoC Defconfig Updates for v4.1" from Simon
Horman:
Multiplatform defconfig updates
* Enable bockw and ape6evm boards
* Drop useless SERIAL_8250_EXTENDED=y
* Enable R-Mobile reset
* tag 'renesas-defconfig-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Enable bockw board in multiplatform defconfig
ARM: shmobile: defconfig: Drop useless SERIAL_8250_EXTENDED=y
ARM: shmobile: Enable R-Mobile reset driver in multiplatform defconfig
ARM: shmobile: Enable ape6evm board in multiplatform defconfig
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit e0fdbab1699b89a9b0c192d4cb355f8ab43a8f17
Author: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx>
Date: Fri Apr 3 12:14:52 2015 +0200
Bluetooth: bnep: Return err value while sending cmd is not understood
Send command not understood response should be verified if it was
successfully sent, like all send responses.
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit c25a9fada42395b43ad332a208f328975471f38e
Merge: 69f2a08 a8caad6
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 10:52:29 2015 -0700
Merge tag 'renesas-pm-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup
Merge "Renesas ARM Based SoC PM Updates for v4.1" from Simon Horman:
* Consolidate the pm code for R-Car Gen2
* Correct SYSCIER value for r8a7790 and r8a7791 SoCs
* tag 'renesas-pm-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Consolidate the pm code for R-Car Gen2
ARM: shmobile: r8a7791: Correct SYSCIER value
ARM: shmobile: r8a7790: Correct SYSCIER value
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 69f2a08047d0e5177f92835d8dc06d6d8b17fb93
Merge: 5ec5e79 01ea0d4
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 10:51:02 2015 -0700
Merge tag 'v4.1-legacy' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into
next/cleanup
Merge "omap legacy boot clean-up for v4.1" from Tony Lindgren:
Drop three omap3 legacy board-*.c files
We want to get omap3 moved over to device tree only based booting.
These three board-*.c files seem to be inactive, so let's attempt
to drop them now rather than later. With these dropped, we have
omap3 device tree conversion status in a known state. Then we know
that we have .dts support for the remaining omap3 board-*.c files,
or it's being worked on.
By dropping these files now, we can simply revert them if really
needed for the next few merge cycles if we run into suprises.
Reverting things later on will not be so easily done.
* tag 'v4.1-legacy' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: Remove legacy support for omap3 TouchBook
ARM: OMAP3: Remove legacy support for devkit8000
ARM: OMAP3: Remove legacy support for EMA-Tech Stalker board
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 342f346af11dbe9b05466ecaeb8d853cfd06327d
Merge: e7199d3 1fd6d08
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 10:49:51 2015 -0700
Merge tag 'v4.1-defconfig' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into
next/defconfig
Merge "omap defconfig changes for v4.1" from Tony Lindgren:
Few omap2plus_defconfig updates to add commonly used drivers as
loadable modules.
Note that I'll do patches for armv7_defconfig for these at some
point too once we're happy with omap2plus_defconfig to avoid
extra churn on the defconfig files.
* tag 'v4.1-defconfig' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: omap2plus_defconfig: Enable n900 modem as loadable modules
ARM: omap2plus_defconfig: Update bluetooth options
ARM: omap2plus_defconfig: Enable leds-pwm
ARM: omap1_defconfig: drop obsolete Kconfig symbols
arm: config: omap2plus_defconfig: switch over to LZMA compression
ARM: omap2plus_defconfig: Enable EXTCON_GPIO_USB
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 263c3f50bec8f868aa454d78ae2809c28e0f8cf8
Merge: ebdf8cc 10709c0
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 10:48:38 2015 -0700
Merge tag 'v4.1-dt' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt
Merge "omap device tree changes for v4.1, part1" from Tony Lindgren:
Device tree related changes for omaps:
- Add support for ChiliSOM
- Add support for OpenPandora
- Add support for BeagleBoard NAND
- Enable crypto devices for omap3 devices
- Add bindings for omap3 camera support
- Updates for am437x and dra7x and dm816x SoCs
* tag 'v4.1-dt' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (27 commits)
ARM: dts: Update Nanobone dts file
ARM: dts: n950, n9: Add primary camera support
ARM: dts: omap3: Add DT entries for OMAP 3 ISP
Documentation: DT: Add bindings for omap3isp
ARM: dts: Remove files omap34xx-hs.dtsi and omap36xx-hs.dtsi
ARM: dts: omap3-tao3530: Include directly omap34xx.dtsi
ARM: dts: n900: Enable omap sham and include directly omap34xx.dtsi
ARM: dts: n9/n950: Enable omap crypto support
ARM: dts: Remove PIN_INPUT for dm816x McSPI
ARM: dts: Add cppi41 support for dm816x MUSB
ARM: dts: Fix typo for dm816x usb0_pins
ARM: dts: dra7x-evm: beagle-x15: Fix USB Peripheral
ARM: dts: am57xx-beagle-x15: Do not include the atl header
ARM: dts: DRA7: Remove ti,timer-dsp and ti,timer-pwm properties
Documentation: omap-twl4030: Move ti,codec property to optional
ARM: dts: omap3: Remove all references to ti,codec property
ARM: dts: omap3-beagle: Add NAND device
ARM: dts: AM4372: update hdq compatible property
ARM: dts: omap3-pandora: add DM3730 1 GHz version
ARM: dts: omap3-pandora: add OMAP3530 600 MHz version
...
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit e8621d83c10ee95798bdb5e04f54439a7c1c9a2b
Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Date: Thu Apr 2 17:07:57 2015 +0200
ARM: at91: add a Kconfig dependency on multi-platform
When building a legacy (non-multi) platforms and if the ARCH_AT91 config
option
is enabled there is a build error. We need AT91 to depend on
multi-platform
core type options.
Reported-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit aabab880c5441cd39aef75fc1ecaa3125efb7a89
Merge: 4580cb8 8590ca6
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Fri Apr 3 10:44:28 2015 -0700
Merge tag 'at91-cleanup3' of
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into
next/drivers
Merge "at91: cleanup for 4.1 #3" from Nicolas Ferre:
Third batch of cleanup for 4.1:
- System Timer (ST) for at91rm9200 re-work (syscon/regmap):
- watchdog
- restart handler
- timer as a proper clocksource
=> remove mach dependency + cleanup
* tag 'at91-cleanup3' of
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: (54 commits)
ARM: at91: remove useless include
clocksource: atmel-st: remove mach/hardware dependency
clocksource: atmel-st: use syscon/regmap
ARM: at91: time: move the system timer driver to drivers/clocksource
ARM: at91: properly initialize timer
ARM: at91: at91rm9200: remove deprecated arm_pm_restart
watchdog: at91rm9200: implement restart handler
watchdog: at91rm9200: use the system timer syscon
mfd: syscon: Add atmel system timer registers definition
ARM: at91/dt: declare atmel,at91rm9200-st as a syscon
ARM: at91: remove old setup
ARM: at91: sama5d4: remove useless map_io
ARM: at91: sama5 use SoC detection infrastructure
ARM: at91: at91sam9: use SoC detection infrastructure
ARM: at91: at91rm9200 use SoC detection infrastructure
ARM: at91: add soc detection infrastructure
ARM: at91/dt: introduce atmel,<chip>-dbgu
ARM: at91: remove unused _matrix.h headers
ARM: at91: remove unused at91_ioremap_matrix and header
ARM: at91: remove NEED_MACH_IO_H
...
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit d30323f810e4da94eb75cf4bfe5165b9518c64df
Author: Tony Lindgren <tony@xxxxxxxxxxx>
Date: Wed Mar 25 14:18:37 2015 -0700
usb: musb: dsps: fix build on i386 when COMPILE_TEST is set
Commit 3e457371f436 ("usb: musb: Fix fifo reads for dm816x with
musb_dsps")
fixed a USB error on dm816x, but introduced a new build error on i386
when COMPILE_TEST is set:
drivers/usb/musb/musb_dsps.c: In function â??dsps_read_fifo32â??:
drivers/usb/musb/musb_dsps.c:624:3: error: implicit declaration of
function
â??readslâ?? [-Werror=implicit-function-declaration]
readsl(fifo, dst, len >> 2);
Let's fix this by using ioread32_rep() instead of readsl() as that's
more portable.
Fixes: 3e457371f436 ("usb: musb: Fix fifo reads for dm816x with
musb_dsps")
Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Cc: Bin Liu <binmlist@xxxxxxxxx>
Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx>
Cc: George Cherian <george.cherian@xxxxxx>
Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 625a4c5910cc8aa63da2afcf662aeb2ca64458e1
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:03:03 2015 +0300
ehci-hub: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 51a114bc5d20d6540418bc40422a9631cfa73da8
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:04:50 2015 +0300
fhci-hub: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 4631f4e9856efc296c1e80bcd69b3375d75bf834
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:06:21 2015 +0300
fotg210-hcd: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 87327b14621a10f0382c49ac181de7aaa5c2c88a
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:07:43 2015 +0300
fusbh200-hcd: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 72cce8cb05bfe9ff545520606e51651adb1bac33
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:09:06 2015 +0300
imx21-hcd: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 6a0855673ea81f436625ff0e471e990e503232c9
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:10:43 2015 +0300
isp116x-hcd: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 00d29b3e9320112c3d53d6865af60492dbc29163
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:12:31 2015 +0300
isp1362-hcd: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e3d02e0e54bce76e331529dd6f47d61cecc9d375
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:14:03 2015 +0300
max3421-hcd: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 7a2d2672b89d402312b4b741544ab5fdcd48df19
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:19:48 2015 +0300
ohci-hub: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 2c42c08774f07824ac689cf198e26ffba7831564
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:21:10 2015 +0300
oxu210hp-hcd: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 5e77beafb10e451b8370e8248b25207810110ed8
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:24:24 2015 +0300
r8a66597-hcd: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e283ef1549f7e9de198d1a8988eff97c9e42f878
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:26:55 2015 +0300
sl811-hcd: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 0ce6fe9e1b4666ebccb403e6fa4e8304599d50bd
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:28:15 2015 +0300
u132-hcd: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3e5dd4c349465066b85a487af6fabd4fc32c7987
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:30:04 2015 +0300
uhci-hub: use USB_DT_HUB
Fix using the bare numbers to set the 'bHubCharacteristics' field of
the Hub
Descriptor while the values are #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e27465f51aa40f9826553547f3de25330bfcdeec
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:34:12 2015 +0300
c67x00-hcd: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a5dd03950aa8be19b61a802cea8e9edde462d4ea
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:36:28 2015 +0300
dwc2: hcd: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 2569ffd58b03d900f53b073054df4dc45ca67873
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:39:09 2015 +0300
dummy_hcd: use USB_DT[_SS]_HUB
Fix using the bare numbers to set the 'bDescriptorType' field of the
Hub
Descriptors while the values are #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1cf6563b3e9ecdfd8378fb81484632f715607a04
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:40:24 2015 +0300
isp1760-hcd: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e95af3aa1dc791d04795dbd12597cbe71405765d
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:42:06 2015 +0300
musb_virthub: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b11373debee613760e81f520899e8807368188ad
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:43:25 2015 +0300
renesas_usbhs: mod_host: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 8f413d807b37efcc7c7fa45f824f08d614a8cc0a
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:45:02 2015 +0300
usbip: vhci_hcd: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Acked-by: Valentina Manea <valentina.manea.m@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 22299d13c28b13fe6140037980e79bc6fdb5f329
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 01:46:39 2015 +0300
wusbcore: rh: use USB_DT_HUB
Fix using the bare number to set the 'bDescriptorType' field of the Hub
Descriptor while the value is #define'd in <linux/usb/ch11.h>.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d9aab404e60d122ded979fa0b81db42fb680d867
Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Date: Thu Apr 2 17:10:55 2015 -0700
usb/misc: fix chaoskey build, needs HW_RANDOM
Fix build errors when HW_RANDOM is not enabled:
drivers/built-in.o: In function `chaoskey_disconnect':
chaoskey.c:(.text+0x5f3f00): undefined reference to `hwrng_unregister'
drivers/built-in.o: In function `chaoskey_probe':
chaoskey.c:(.text+0x5f42a6): undefined reference to `hwrng_register'
Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit c6ab3aec4bc4beda2d6eb8ea43c6f5be3b215d3f
Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
Date: Thu Apr 2 20:22:34 2015 +0900
usb: phy: rcar-gen2-usb: Fix USBHS_UGSTS_LOCK value
According to the technical update (No. TN-RCS-B011A/E), the UGSTS LOCK
bit location is bit 8, not bits 9 and 8. So, this patch fixes the
USBHS_UGSTS_LOCK value.
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e845d64743ee397ff132e7f81e6bfb3597f9f479
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Sun Mar 29 02:21:20 2015 -0700
Revert "usb: host/sl811-hcd: fix sparse warning"
This reverts commit 1dc6120ef7f003305d99ef12f598a6b05eacc38c.
Commit 1dc6120ef7f0 results in the following error when compiling
x86_64:allyesconfig.
sl811_cs.c:(.text+0x1d3cb72): undefined reference to `sl811h_driver'
Fixes: 1dc6120ef7f0 ("usb: host/sl811-hcd: fix sparse warning")
Cc: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3510c8164ccbda7150379900f71078ce6ab23550
Merge: 8b86ed0 65dd82a
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 18:59:34 2015 +0200
Merge tag 'usb-serial-4.1-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-next
Johan writes:
USB-serial updates for v4.1-rc1
Fix up the f81232 driver, which up to this point has mostly been a
placeholder without a proper implementation.
Included is also a minor clean up of ch341.
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
commit 2e7056c433216f406b90a003aa0ba42e19d3bdcf
Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Date: Tue Mar 31 14:19:10 2015 -0700
jhash: Update jhash_[321]words functions to use correct initval
Looking over the implementation for jhash2 and comparing it to
jhash_3words
I realized that the two hashes were in fact very different. Doing a bit
of
digging led me to "The new jhash implementation" in which lookup2 was
supposed to have been replaced with lookup3.
In reviewing the patch I noticed that jhash2 had originally initialized a
and b to JHASH_GOLDENRATIO and c to initval, but after the patch a, b, and
c were initialized to initval + (length << 2) + JHASH_INITVAL. However
the
changes in jhash_3words simply replaced the initialization of a and b with
JHASH_INITVAL.
This change corrects what I believe was an oversight so that a, b, and c
in
jhash_3words all have the same value added consisting of initval + (length
<< 2) + JHASH_INITVAL so that jhash2 and jhash_3words will now produce the
same hash result given the same inputs.
Fixes: 60d509c823cca ("The new jhash implementation")
Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 5c5e0ad3f9dca572198f3ad6fbf7dc2e647bcf0c
Merge: e79d842 42d255c
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri Apr 3 12:40:50 2015 -0400
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue
Jeff Kirsher says:
====================
Intel Wired LAN Driver Updates 2015-04-03
This series contains updates to i40e and i40evf only.
Anjali provides a fix for verifying outer UDP receive checksum. Also
adds helpful information to display when figuring out the cause of
HMC errors.
Mitch provides a fix to prevent a malicious or buggy VF driver from
sending an invalid index into the VSI array which could panic the host.
Cleans up the code where a function was moved, but the message did
not follow. Adds protection to the VLAN filter list, same as the
MAC filter list, to protect from corruption if the watchdog happens
to run at the same time as a VLAN filter is being added/deleted.
Jesse changes several memcpy() statements to struct assignments which
are type safe and preferable. Fixed a bug when skb allocation fails,
where we should not continue using the skb pointer. Also fixed a void
function in FCoE which should not be returning anything.
Greg fixes both i40e and i40evf to set the Ethernet protocol correctly
when transmit VLAN offloads are disabled.
Shannon fixes up VLAN messages when ports are added or removed, which
were giving bogus index info. Also aligned the message text style
with other messages in the driver.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e79d8429aac95a5cbe4c235795c7cd554c91f924
Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Date: Fri Apr 3 22:17:17 2015 +1030
netdevice: document NETDEV_TX_BUSY deprecation.
This paraphrases DaveM (and steals some of his words) explaining why
a device shouldn't return NETDEV_TX_BUSY, even though it looks so inviting
to driver authors.
See http://www.spinics.net/lists/netdev/msg322350.html
Inspired-by: David Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 576b7cd2f6ff1e90b3fc0a000d2fe74f8a50a4bb
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Fri Apr 3 12:02:37 2015 +0200
netns: don't allocate an id for dead netns
First, let's explain the problem.
Suppose you have an ipip interface that stands in the netns foo and its
link
part in the netns bar (so the netns bar has an nsid into the netns foo).
Now, you remove the netns bar:
- the bar nsid into the netns foo is removed
- the netns exit method of ipip is called, thus our ipip iface is
removed:
=> a netlink message is built in the netns foo to advertise this
deletion
=> this netlink message requests an nsid for bar, thus a new nsid is
allocated for bar and never removed.
This patch adds a check in peernet2id() so that an id cannot be allocated
for
a netns which is currently destroyed.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 6d458f5b4ece8542a5c2281e40008823fec91814
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Fri Apr 3 12:02:36 2015 +0200
Revert "netns: don't clear nsid too early on removal"
This reverts
commit 4217291e592d ("netns: don't clear nsid too early on removal").
This is not the right fix, it introduces races.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0bd66827220a7292bfbed54fb547c83363e07405
Merge: 11a9c78 00db412
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri Apr 3 12:11:15 2015 -0400
Merge branch 'ipv4-null-cmp'
Ian Morris says:
====================
ipv4: coding style - comparisons with NULL
Per the suggestion of Joe Perches, attached is a patch which aligns the
coding style in ipv4 for comparisons with NULL.
The code uses multiple different styles when comparing with NULL (I.e.
x == NULL and !x as well as x != NULL and x). Generally the latter form
is preferred in netdev and so this changes aligns the code to this style.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 00db41243e8d5032c2e0f5bf6063bb19324bfdb3
Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx>
Date: Fri Apr 3 09:17:27 2015 +0100
ipv4: coding style: comparison for inequality with NULL
The ipv4 code uses a mixture of coding styles. In some instances check
for non-NULL pointer is done as x != NULL and sometimes as x. x is
preferred according to checkpatch and this patch makes the code
consistent by adopting the latter form.
No changes detected by objdiff.
Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 51456b2914a34d16b1255b7c55d5cbf6a681d306
Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx>
Date: Fri Apr 3 09:17:26 2015 +0100
ipv4: coding style: comparison for equality with NULL
The ipv4 code uses a mixture of coding styles. In some instances check
for NULL pointer is done as x == NULL and sometimes as !x. !x is
preferred according to checkpatch and this patch makes the code
consistent by adopting the latter form.
No changes detected by objdiff.
Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2bfd4d1f8c2bee8b0b8832be0c38d3916713625f
Author: Namhyung Kim <namhyung@xxxxxxxxxx>
Date: Fri Apr 3 09:27:58 2015 +0900
ftracetest: Do not use usleep directly
The usleep is only provided on distros from Redhat so running ftracetest
on other distro resulted in failures due to the missing usleep.
The reason of using [u]sleep in the test was to generate (scheduler)
events. It can be done various ways like this:
yield() { ping localhost -c 1 || sleep .001 || usleep 1 || sleep 1; }
For more information to the history of this patch, please refer to:
Link:
http://lkml.kernel.org/r/1427329943-16896-1-git-send-email-namhyung@xxxxxxxxxx
Reported-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Reported-by: Dave Jones <davej@xxxxxxxxxxxxxxxxx>
Reported-by: Luis Henriques <luis.henriques@xxxxxxxxxxxxx>
Suggested-by: Pádraig Brady <P@xxxxxxxxxxxxxx>
Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
commit e12fb97222fc41e8442896934f76d39ef99b590a
Author: Lukas Czerner <lczerner@xxxxxxxxxx>
Date: Fri Apr 3 10:46:58 2015 -0400
ext4: make fsync to sync parent dir in no-journal for real this time
Previously commit 14ece1028b3ed53ffec1b1213ffc6acaf79ad77c added a
support for for syncing parent directory of newly created inodes to
make sure that the inode is not lost after a power failure in
no-journal mode.
However this does not work in majority of cases, namely:
- if the directory has inline data
- if the directory is already indexed
- if the directory already has at least one block and:
- the new entry fits into it
- or we've successfully converted it to indexed
So in those cases we might lose the inode entirely even after fsync in
the no-journal mode. This also includes ext2 default mode obviously.
I've noticed this while running xfstest generic/321 and even though the
test should fail (we need to run fsck after a crash in no-journal mode)
I could not find a newly created entries even when if it was fsynced
before.
Fix this by adjusting the ext4_add_entry() successful exit paths to set
the inode EXT4_STATE_NEWENTRY so that fsync has the chance to fsync the
parent directory as well.
Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
Reviewed-by: Jan Kara <jack@xxxxxxx>
Cc: Frank Mayhar <fmayhar@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit c9e15f25f514a76d906be01e621f400cdee94558
Author: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 14:59:15 2015 +0200
debugfs: allow bad parent pointers to be passed in
If something went wrong with creating a debugfs file/symlink/directory,
that value could be passed down into debugfs again as a parent dentry.
To make caller code simpler, just error out if this happens, and don't
crash the kernel.
Reported-by: Alex Elder <elder@xxxxxxxxxx>
Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Reviewed-by: Alex Elder <elder@xxxxxxxxxx>
commit 1ac4e6fee41d6534b6e54dcbed381590e242bdcb
Author: Sebastian Reichel <sre@xxxxxxxxxx>
Date: Fri Mar 27 15:39:46 2015 +0100
DTS: ARM: OMAP3-N900: Add lis3lv02d support
This adds support for the N900's accelerometer to
the Nokia N900 DTS file.
Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
Acked-by: Tony Lindgren <tony@xxxxxxxxxxx>
Reviewed-by: Ã?ric Piel <eric.piel@xxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 21e8681862a544517c1c9d6515770efe3897e326
Author: Sebastian Reichel <sre@xxxxxxxxxx>
Date: Fri Mar 27 15:39:45 2015 +0100
Documentation: DT: lis302: update wakeup binding
This updated the documentation of the DT binding to
describe the added wakeup threshold and second wakeup
engine.
It also adds a note, that the axis values may be
negative.
Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
Reviewed-by: Ã?ric Piel <eric.piel@xxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit c5131a373613713fccd3b7a377d957391c498f21
Author: Sebastian Reichel <sre@xxxxxxxxxx>
Date: Fri Mar 27 15:39:44 2015 +0100
lis3lv02d: DT: add wakeup unit 2 and wakeup threshold
This adds support for the the wakeup threshold and
support for the second wakeup unit to the DT based
setup.
Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
Reviewed-by: Ã?ric Piel <eric.piel@xxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit cdcd6f824ecb6b5e5fd6729c2552c1254012c3ca
Author: Sebastian Reichel <sre@xxxxxxxxxx>
Date: Fri Mar 27 15:39:43 2015 +0100
lis3lv02d: DT: use s32 to support negative values
st,axis-{x,y,z} can be negative to imply inverted
axis.
Apart from that the minimal and maximal threshold
may be negative.
Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
Reviewed-by: Ã?ric Piel <eric.piel@xxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 797f88c987b02a8de8d4fac94ec2877b92ec35a2
Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Date: Tue Mar 31 11:16:41 2015 -0700
Drivers: hv: hv_balloon: correctly handle num_pages>INT_MAX case
balloon_wrk.num_pages is __u32 and it comes from host in struct dm_balloon
where it is also __u32. We, however, use 'int' in balloon_up() and in case
we happen to receive num_pages>INT_MAX request we'll end up allocating
zero
pages as 'num_pages < alloc_unit' check in alloc_balloon_pages() will
pass.
Change num_pages type to unsigned int.
In real life ballooning request come with num_pages in [512, 32768] range
so
this is more a future-proof/cleanup.
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ba0c444153889a9b672974d85a4a57a8eeb49fe3
Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Date: Tue Mar 31 11:16:40 2015 -0700
Drivers: hv: hv_balloon: correctly handle val.freeram<num_pages case
'Drivers: hv: hv_balloon: refuse to balloon below the floor' fix does not
correctly handle the case when val.freeram < num_pages as val.freeram is
__kernel_ulong_t and the 'val.freeram - num_pages' value will be a huge
positive value instead of being negative.
Usually host doesn't ask us to balloon more than val.freeram but in case
he have a memory hog started after we post the last pressure report we
can get into troubles.
Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 6a84d63d22a0ac79ab422b69ef2b4d75002c5641
Author: Tomas Winkler <tomas.winkler@xxxxxxxxx>
Date: Fri Mar 27 00:27:59 2015 +0200
mei: replace check for connection instead of transitioning
The function mei_cl_is_transitioning is just opposite
of mei_cl_is_connected. What we actually wanted to
check is if we lost connection so we can discard
the check for transition and check for 'not connected'
Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f3de9b635d93a3d268adda428e1df94091506a42
Author: Tomas Winkler <tomas.winkler@xxxxxxxxx>
Date: Fri Mar 27 00:27:58 2015 +0200
mei: use mei_cl_is_connected consistently
Replace open coded check for cl->state !=/== MEI_FILE_CONNECTED
with mei_cl_is_connected function.
Note that cl->state != MEI_FILE_CONNECTED is not the same
as cl->state == MEI_FILE_DISCONNECTED
Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1d9013f09203c694e2cba478b05afc6484d55180
Author: Tomas Winkler <tomas.winkler@xxxxxxxxx>
Date: Fri Mar 27 00:27:57 2015 +0200
mei: fix mei_poll operation
mei_poll returned with POLLIN w/o checking whether the operation
has really completed.
remove redundant check and locking in amthif specific handler
Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e1c0d82dab4a4605d3bd1968436f030dfed4a829
Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Date: Fri Mar 27 09:10:14 2015 -0700
hv_vmbus: Add gradually increased delay for retries in vmbus_post_msg()
Most of the retries can be done within a millisecond successfully, so we
sleep 1ms before the first retry, then gradually increase the retry
interval to 2^n with max value of 2048ms. Doing so, we will have shorter
overall delay time, because most of the cases succeed within 1-2 attempts.
Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Reviewed-by: Dexuan Cui <decui@xxxxxxxxxxxxx>
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 0a1a86ac046091d7228c9f3a283dea5be96275dd
Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Date: Fri Mar 27 09:10:13 2015 -0700
Drivers: hv: hv_balloon: survive ballooning request with num_pages=0
... and simplify alloc_balloon_pages() interface by removing redundant
alloc_error from it.
If we happen to enter balloon_up() with balloon_wrk.num_pages = 0 we will
enter
infinite 'while (!done)' loop as alloc_balloon_pages() will be always
returning
0 and not setting alloc_error. We will also be sending a meaningless
message to
the host on every iteration.
The 'alloc_unit == 1 && alloc_error -> num_ballooned == 0' change and
alloc_error elimination requires a special comment. We do
alloc_balloon_pages()
with 2 different alloc_unit values and there are 4 different
alloc_balloon_pages() results, let's check them all.
alloc_unit = 512:
1) num_ballooned = 0, alloc_error = 0: we do 'alloc_unit=1' and retry
pre- and
post-patch.
2) num_ballooned > 0, alloc_error = 0: we check 'num_ballooned ==
num_pages'
and act accordingly, pre- and post-patch.
3) num_ballooned > 0, alloc_error > 0: we report this chunk and remain
within
the loop, no changes here.
4) num_ballooned = 0, alloc_error > 0: we do 'alloc_unit=1' and retry
pre- and
post-patch.
alloc_unit = 1:
1) num_ballooned = 0, alloc_error = 0: this can happen in two cases: when
we
passed 'num_pages=0' to alloc_balloon_pages() or when there was no
space in
bl_resp to place a single response. The second option is not possible as
bl_resp is of PAGE_SIZE size and single response 'union
dm_mem_page_range' is
8 bytes, but the first one is (in theory, I think that Hyper-V host
never
places such requests). Pre-patch code loops forever, post-patch code
sends
a reply with more_pages = 0 and finishes.
2) num_ballooned > 0, alloc_error = 0: we ran out of space in bl_resp, we
report partial success and remain within the loop, no changes pre- and
post-patch.
3) num_ballooned > 0, alloc_error > 0: pre-patch code finishes,
post-patch code
does one more try and if there is no progress (we finish with
'num_ballooned = 0') we finish. So we try a bit harder with this patch.
4) num_ballooned = 0, alloc_error > 0: both pre- and post-patch code enter
'more_pages = 0' branch and finish.
So this patch has two real effects:
1) We reply with an empty response to 'num_pages=0' request.
2) We try a bit harder on alloc_unit=1 allocations (and reply with an
empty
tail reply in case we fail).
An empty reply should be supported by host as we were able to send it
even with
pre-patch code when we were not able to allocate a single page.
Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 7fb0e1a65075a871c58cbcf8c877d1f9ae5cd83c
Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Date: Fri Mar 27 09:10:12 2015 -0700
Drivers: hv: hv_balloon: eliminate jumps in piecewiese linear floor
function
Commit 79208c57da53 ("Drivers: hv: hv_balloon: Make adjustments in
computing
the floor") was inacurate as it introduced a jump in our piecewiese linear
'floor' function:
At 2048MB we have:
Left limit:
104 + 2048/8 = 360
Right limit:
256 + 2048/16 = 384 (so the right value is 232)
We now have to make an adjustment at 8192 boundary:
232 + 8192/16 = 744
512 + 8192/32 = 768 (so the right value is 488)
Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d6cbd2c3a3db437708520c66f285c69ef028ac1f
Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Date: Fri Mar 27 09:10:11 2015 -0700
Drivers: hv: hv_balloon: do not online pages in offline blocks
Currently we add memory in 128Mb blocks but the request from host can be
aligned differently. In such case we add a partially backed block and
when this block goes online we skip onlining pages which are not backed
(hv_online_page() callback serves this purpose). When we receive next
request for the same host add region we online pages which were not backed
before with hv_bring_pgs_online(). However, we don't check if the the
block
in question was onlined and online this tail unconditionally. This is bad
as
we avoid all online_pages() logic: these pages are not accounted, we don't
send notifications (and hv_balloon is not the only receiver of them),...
And, first of all, nobody asked as to online these pages. Solve the issue
by
checking if the last previously backed page was onlined and onlining the
tail
only in case it was.
Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit aadc3780f31865edc84c587ab718a33a8eeeb09d
Author: Dexuan Cui <decui@xxxxxxxxxxxxx>
Date: Fri Mar 27 09:10:10 2015 -0700
hv: remove the per-channel workqueue
It's not necessary any longer, since we can safely run the blocking
message handlers in vmbus_connection.work_queue now.
Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx>
Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d43e2fe7da320310834467a3fd87a10adb25a221
Author: Dexuan Cui <decui@xxxxxxxxxxxxx>
Date: Fri Mar 27 09:10:09 2015 -0700
hv: don't schedule new works in vmbus_onoffer()/vmbus_onoffer_rescind()
Since the 2 fucntions can safely run in vmbus_connection.work_queue
without
hang, we don't need to schedule new work items into the per-channel
workqueue.
Actally we can even remove the per-channel workqueue now -- we'll do it
in the next patch.
Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx>
Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 652594c7dfd9bf6392e3a727bc69d89a2562d953
Author: Dexuan Cui <decui@xxxxxxxxxxxxx>
Date: Fri Mar 27 09:10:08 2015 -0700
hv: run non-blocking message handlers in the dispatch tasklet
A work item in vmbus_connection.work_queue can sleep, waiting for a new
host message (usually it is some kind of "completion" message). Currently
the new message will be handled in the same workqueue, but since work
items
in the workqueue is serialized, we actually have no chance to handle
the new message if the current work item is sleeping -- as as result, the
current work item will hang forever.
K. Y. has posted the below fix to resolve the issue:
Drivers: hv: vmbus: Perform device register in the per-channel work
element
Actually we can simplify the fix by directly running non-blocking message
handlers in the dispatch tasklet (inspired by K. Y.).
This patch is the fundamental change. The following 2 patches will
simplify
the message offering and rescind-offering handling a lot.
Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx>
Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 01081f5ab9916603555f236b11f76bb00e4e01e9
Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
Date: Mon Mar 30 14:13:41 2015 -0600
coresight: moving to new "hwtracing" directory
Keeping drivers related to HW tracing on ARM, i.e coresight,
under "drivers/coresight" doesn't make sense when other
architectures start rolling out technologies of the same
nature.
As such creating a new "drivers/hwtracing" directory where all
drivers of the same kind can reside, reducing namespace
pollution under "drivers/".
Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a2d6e1849329b7735f2872af4221727c7b9502dd
Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
Date: Mon Mar 30 14:13:40 2015 -0600
coresight-tmc: Adding a status interface to sysfs
Knowing the state of various control register is always
useful for degging and tuning. As such add an entry in
sysfs that expose to userspace the most important registers.
Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 223437c72ae008094e43199dea93c3a144c4e153
Author: Kaixu Xia <xiakaixu@xxxxxxxxxx>
Date: Mon Mar 30 14:13:39 2015 -0600
coresight: remove the unnecessary configuration coresight-default-sink
The coresight-default-sink configuration option has been
removed from the framework. As such remove it from DT and bindings.
Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx>
Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a0a500efab41c761a1d1fd919d2e42a3a3545b2e
Author: Xia Kaixu <kaixu.xia@xxxxxxxxxx>
Date: Mon Mar 30 14:13:38 2015 -0600
coresight: adding the LINKSINK block as a sink type
>From the TMC TRM, the ETF can be configured as buffer mode, so ETF can
be a sink type.
Signed-off-by: Xia Kaixu <kaixu.xia@xxxxxxxxxx>
Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b29d5c1f057f583bc15be3d1ec4993e90cc53641
Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
Date: Mon Mar 30 14:13:37 2015 -0600
coresight: Correcting documentation typographical error
Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3288731e628e0269c20d86e43b647d0b92f2b3fc
Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
Date: Mon Mar 30 14:13:36 2015 -0600
coresight: Adding coresight support for arm64 architecture
Most CoreSight blocks are 64-bit ready. As such move configuration
entries from "arch/arm/Kconfig.config" to the driver's subdirectory
and source the newly created Kconfig from architecture specific
Kconfig.debug files.
Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 72f641fe6818a403aed52fb3a5b8a241ff76c24f
Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
Date: Mon Mar 30 14:13:35 2015 -0600
coresight: fixing compilation warnings picked up by 64bit compiler
Compiling coresight drivers with a 64-bit compiler highlights a couple
of formatting issues, which are fixed by this patch.
Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 8c02a5ba34a1fae6def8cb5a39bb582f09bca49c
Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
Date: Mon Mar 30 14:13:34 2015 -0600
coresight: making cpu index lookup arm64 compliant
Function "get_logical_index()" is not available on arm64.
Instead of adding the function simply using "of_get_cpu_node()" and
comparing the return value with cpu handles yields the same
result.
Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d86fb45b5c52d8f2a3e78e81afd85a2a9d4478d7
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Thu Mar 26 22:12:49 2015 +0300
mcb: request_mem_region() returns NULL on error
The code here is checking for IS_ERR() when request_mem_region() only
returns NULL on error and never an ERR_PTR.
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 127af8828518074ab24e9b5678229513d198d832
Author: Eli Billauer <eli.billauer@xxxxxxxxx>
Date: Fri Mar 27 11:56:06 2015 +0300
char: xillybus: Don't return -EFAULT on user-triggered flush
The API allows the application to flush a host-to-FPGA stream by calling
write() with the data count set to zero. Before this patch,
copy_from_user()
was called with a non-zero byte count, which possibly made it attempt to
read
from unmapped user memory. Such attempts caused the driver to return
-EFAULT
instead of 0, even though the desired operation went through fine.
This patch ensures the driver returns 0 on a successful flush.
Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit be29bc2eaa5360537df422a237c889dc493492f4
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Mar 29 17:04:27 2015 +0200
mic: drop pci_msi_off call on probe
pci core now disables msi on probe automatically,
drop this from device-specific code.
Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Cc: linux-pci@xxxxxxxxxxxxxxx
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 149cb911ae242242e5aae698710bf59e804a96e6
Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
Date: Wed Apr 1 10:46:19 2015 +0300
spmi: pmic_arb: remove ARM build time dependency
Qualcomm PMIC arbiter driver already depends on ARCH_QCOM,
which could be either ARM or ARM64. New version of the PMIC
arbiter controller is available on 64 bit platforms.
Remove ARM dependency to allow driver to be build for 64 bit
platforms.
Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f580d730c90c11be0ef4fe88aff3de80845176cb
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Mon Mar 30 16:46:10 2015 -0700
virtio_console: Use bool function return values of true/false not 1/0
Use the normal return values for bool functions
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Reviewed-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 0b509d8d336eef6d622d66b3ae2a1fc3a072bf92
Author: Tom Van Braeckel <tomvanbraeckel@xxxxxxxxx>
Date: Tue Mar 31 16:39:21 2015 +0200
misc: pass miscdevice through file's private_data
Make the miscdevice accessible through the file's private_data.
Previously, this was done only when an open() file operation had been
registered. If no custom open() file operation was defined,
private_data was set to NULL.
This subtle quirk was confusing, to the point where kernel code
registered *empty* file open operations to have private_data point to
the misc device structure and avoid duplicating that logic.
And it could easily lead to bugs, where the addition or removal of a
custom open() file operation surprisingly changes the initial value of
a file's private_data structure.
To resolve this, we now place the miscdevice in the file's private_data
member unconditionally when open() is called.
Signed-off-by: Tom Van Braeckel <tomvanbraeckel@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 16c9c8e1ae228e89b66cbc03ec6c753ee44d39bc
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 16:04:21 2015 +0200
Revert "uio: constify of_device_id array"
This reverts commit 4d8beff2ae07fad85d723b4cdf704b05f0ed4794.
It causes build warnings, and it's incorrect as we do write to this
structure.
Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Cc: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 9b3075c59f858d64478f46a15daa6ecda3cf2318
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Wed Apr 1 01:37:05 2015 -0700
nfsd: add NFSEXP_PNFS to the exflags array
Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
commit c4151700bbf661d0f73c1beffb35b2039f5306fd
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Tue Mar 31 11:58:55 2015 +0300
Staging: rtl8192u: use correct array for debug output
This is supposed to be ->rates_ex[] instead of ->rates[]. I found this
because static checkers complain than ->rates is too small so we're
reading beyond the end of the array. It has 12 elements instead of 15.
This bug was apparently copy and pasted from ipw2x00. I fixed it before
in that driver 428e3cf5f98c ('ipw2x00: printing the wrong array in
debug code')
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 8852112e1c23a27e41f1b6b401c254c2de0f82b5
Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Date: Wed Apr 1 00:24:38 2015 +0200
staging: rtl8192e: Remove dead code
Remove commented-out code
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 14b40d92881533dca8b25647f105b9546433cda2
Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Date: Wed Apr 1 00:24:37 2015 +0200
staging: rtl8192e: Comment cleanup (style/format)
- Multiline comments use "network subsystem comment style"
- Merge short multiline comments
- Remove empty comments
- Remove function name comment at the end of small (<1 screen) functions
- Reformat 802.11 data frame format to use spaces and network format
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e725fb6f814b290fbf967e475f2a136efca66986
Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Date: Wed Apr 1 00:24:36 2015 +0200
staging: rtl8192e: Fix indentation in rtllib_rx_auth_resp()
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f7567e20708ed4129ccec1a21c4c55b9725b66d0
Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Date: Wed Apr 1 00:24:35 2015 +0200
staging: rtl8192e: Decrease nesting of rtllib_rx_auth_resp()
Return from rtllib_rx_auth_resp() if auth_parse() fails.
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e8f05b0b01ea1593c8cc6311704c227fb0d08b04
Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Date: Wed Apr 1 00:24:34 2015 +0200
staging: rtl8192e: Divide rtllib_rx_auth()
Move authentication response processing to rtllib_rx_auth_resp() function.
No logic is affected.
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 61dbdf36f2f1083a0b224afbb0feb13ad44792a5
Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Date: Wed Apr 1 00:24:33 2015 +0200
staging: rtl8192e: Fix PRINTK_WITHOUT_KERN_LEVEL warnings
Replace custom hex dumping function with print_hex_dump_bytes()
to make checkpatch.pl happy
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ff28b74c1c1d2fdb899dc646fc1e536365794af4
Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Date: Wed Apr 1 00:24:32 2015 +0200
staging: rtl8192e: Fix DO_WHILE_MACRO_WITH_TRAILING_SEMICOLON warning
Fix 'do {} while (0) macros should not be semicolon terminated'
checkpatch.pl warning
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit bec027ea3845058bf8e7cf2c00626374963c3ca5
Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Date: Wed Apr 1 00:24:31 2015 +0200
staging: rtl8192e: Fix BRACES warning
Fix 'braces {} are not necessary for single statement blocks'
checkpatch.pl warning
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e2ac043118eed826444972bd81ab0bf70461a0fe
Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Date: Wed Apr 1 00:24:30 2015 +0200
staging: rtl8192e: Fix LINE_CONTINUATIONS warning
Fix 'Avoid unnecessary line continuations' checkpatch.pl warning
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 025b8bbe49939dfd68a57cc94bca65c39a5409b8
Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Date: Wed Apr 1 00:24:29 2015 +0200
staging: rtl8192e: Fix UNNECESSARY_PARENTHESES warnings
Fix 'Unnecessary parentheses' checkpatch.pl warning
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b2e70746e9ae42620a5790926736864c03ac5245
Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Date: Wed Apr 1 00:24:28 2015 +0200
staging: rtl8192e: remove unused EXPORT_SYMBOL_RSL macro
This macro caused checkpatch.pl warning and is not used.
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 0f0688b3ced6cf085a1bce52fb9984ecc8f39a45
Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Date: Wed Apr 1 00:24:27 2015 +0200
staging: rtl8192e: Fix RETURN_VOID warnings
Fix 'void function return statements are not generally useful'
checkpatch.pl warnings
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 285b7c00e06b4fdd6e9ac63b9b8082508340f1ab
Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Date: Wed Apr 1 00:24:26 2015 +0200
staging: rtl8192e: Fix UNNECESSARY_ELSE warning
Fix checkpatch warnings 'else is not generally useful after a break or
return'
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 6b51311c976593fb7311322b1647a912cd456ec4
Author: Borislav Petkov <bp@xxxxxxxxx>
Date: Fri Apr 3 14:25:28 2015 +0200
x86/asm/entry/64: Use a define for an invalid segment selector
... instead of a naked number, for better readability.
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428054130-25847-1-git-send-email-bp@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 7c74d5b7b7b63fc279ed446ebd78de20d81f2824
Author: Borislav Petkov <bp@xxxxxxx>
Date: Fri Apr 3 11:42:10 2015 +0200
x86/asm/entry/64: Fix MSR_IA32_SYSENTER_CS MSR value
Commit:
d56fe4bf5f3c ("x86/asm/entry/64: Always set up SYSENTER MSRs")
missed to add "ULL" to the 0 and wrmsrl_safe() complains:
arch/x86/kernel/cpu/common.c: In function â??syscall_initâ??:
arch/x86/kernel/cpu/common.c:1226:2: warning: right shift count >=
width of type wrmsrl_safe(MSR_IA32_SYSENTER_CS, 0);
Fix it.
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428054130-25847-1-git-send-email-bp@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 78cac48c0434c82e860fade3cd0420a7a4adbb08
Author: Borislav Petkov <bp@xxxxxxx>
Date: Wed Apr 1 12:49:52 2015 +0200
x86/mm/KASLR: Propagate KASLR status to kernel proper
Commit:
e2b32e678513 ("x86, kaslr: randomize module base load address")
made module base address randomization unconditional and didn't regard
disabled KKASLR due to CONFIG_HIBERNATION and command line option
"nokaslr". For more info see (now reverted) commit:
f47233c2d34f ("x86/mm/ASLR: Propagate base load address calculation")
In order to propagate KASLR status to kernel proper, we need a single bit
in boot_params.hdr.loadflags and we've chosen bit 1 thus leaving the
top-down allocated bits for bits supposed to be used by the bootloader.
Originally-From: Jiri Kosina <jkosina@xxxxxxx>
Suggested-by: H. Peter Anvin <hpa@xxxxxxxxx>
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 28eb1f3b640f793371a7cac599f3ac0f89f63b54
Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Date: Sat Mar 28 21:07:58 2015 -0400
staging: rtl8723au: Remove unneeded comments
This commit removes a number of unneeded comments. Two of the
aforementioned comments were most likely meant to aid with version
control, whereas the remaining two comments relate to (now unused)
local variable names.
Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 58b39a90977c3ac067895c87c3940132f6adc1c4
Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Date: Sat Mar 28 21:07:57 2015 -0400
staging: rtl8723au: Use __func__ in trace logs
Rework the trace log-related lines in rtl8723au's rtw_security.c
to use the __func__ GCC magic variable instead of hardcoding the
function names into the trace log strings. This also corrects a
copy-paste-related typo in the function named rtw_tkip_decrypt23a.
Thanks to Jes Sorensen for the suggestion to use __func__.
Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 87a432944f13b408167208dc509a8af62c66312c
Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Date: Sat Mar 28 21:07:56 2015 -0400
staging: rtl8723au: Rework two byte array comparisons
Prior to this commit, rtl8723au's rtw_security.c had two instances of
byte array comparisons (for CRC checks) where the individual elements
of the byte arrays were compared one by one and an error trace would
be output if the byte arrays were determined to be different.
This commit improves the readability of the CRC verification by
placing the individual 4 bytes of each byte array into an 32-bit
unsigned integer and comparing the two resulting integers.
Thanks to Larry Finger for spotting the code style issues in the
previous version of this commit, and thanks to Joe Perches for
suggesting the use of 32-bit integer comparisons instead of byte
array comparisons.
Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 046ca5f7e10c476a6fd762c1561cc07f259f97a8
Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Date: Sat Mar 28 21:07:55 2015 -0400
staging: rtl8723au: suspect code indent for conditional statements
Correct a number of indentation-with-spaces-and-tabs issues in
rtl8723au's rtw_security.c, according to checkpatch.pl:
WARNING: suspect code indent for conditional statements
Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1d6b1ac0b654e5d94b6f92292a7047d33af44d2e
Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Date: Sat Mar 28 21:07:54 2015 -0400
staging: rtl8723au: Adjust whitespace in and around comments
As the subject indicates, adjust whitespace in and around comments
in rtl8723au's rtw_security.c.
Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 268523aa6a408f9b9ea04fdd8b344c2b5fbcf2e4
Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Date: Sat Mar 28 21:07:53 2015 -0400
staging: rtl8723au: No spaces at the start of a line
Prior to this commit, a large block of constants used to represent
an AES S-box table were indented with spaces in rtl8723au's
rtw_security.c. Correct the checkpatch.pl warnings indicating that
spaces should not be used to indent lines:
WARNING: please, no spaces at the start of a line
Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3104ebad91c15b9b3b17d28837b67f0a74088dbe
Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Date: Sat Mar 28 21:07:52 2015 -0400
staging: rtl8723au: that open brace should be on the previous line
Correct two instances of the checkpatch.pl error indicating that the
opening curly braces should not be on new lines:
ERROR: that open brace { should be on the previous line
Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 06641b2a38447c2c446af5e6b1a15b06f7535433
Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Date: Sat Mar 28 21:07:51 2015 -0400
staging: rtl8723au: trailing statements should be on next line
Correct a number of checkpatch.pl errors in rtl8723au's rtw_security.c
related to trailing statements:
ERROR: trailing statements should be on next line
Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 47b720a16cff11ba822000104bac7dcf6fa1cfbb
Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Date: Sat Mar 28 21:07:50 2015 -0400
staging: rtl8723au: Remove unneeded curly braces
Correct a number of checkpatch.pl warnings in rtl8723au's rtw_security.c
related to the existence of unnecessary curly braces around single
statement blocks:
WARNING: braces {} are not necessary for single statement blocks
Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 444c704321a6e97efbc16d252cbecb5897749221
Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Date: Sat Mar 28 21:07:49 2015 -0400
staging: rtl8723au: else is not generally useful after a return
Correct a checkpatch.pl warning regarding rtl8723au's
rtw_security.c::crc32_init pointing out that having an else statement
after a break or a return is not useful.
drivers/staging/rtl8723au/core/rtw_security.c:105:
WARNING: else is not generally useful after a break or return
Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit c3cc7593ecaf1c2b84e36fccccd81b6d3a8dd104
Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Date: Sat Mar 28 21:07:48 2015 -0400
staging: rtl8723au: Reorganize a few functions to remove indentation
Prior to this commit, functions rtw_tkip_encrypt23a and
rtw_tkip_decrypt23a had
large if blocks which contained the majority of the logic in the
functions.
Rework these functions so that if the negated version of the
aforementioned if
blocks' conditions are true, we return from the function with _FAIL, as
expected by the calling code.
This lets us remove two levels of indentation from the functions in
question, making them more readable.
Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a2390239582fbb16564bed93e37ca4cf8d219c79
Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Date: Sat Mar 28 21:07:47 2015 -0400
staging: rtl8723au: Fix the indentation of two lines
Correct the indentation of two lines in rtw_tkip_encrypt23a function in
rtl8723au's rtw_security.c.
Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 2d7b3a7bb81fb585a4f794667297406438605090
Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Date: Sat Mar 28 21:07:46 2015 -0400
staging: rtl8723au: else should follow close brace
Correct checkpatch.pl errors in rtl8723au's rtw_security.c indicating
that an else statement should follow the closing brace of the previous
if/else if code block:
ERROR: else should follow close brace '}'
Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 9c0cfd4b6f51af9a935dbec680a60a4521b5f2b8
Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Date: Sat Mar 28 21:07:45 2015 -0400
staging: rtl8723au: Fix "before/around/after" whitespace issues
Correct a number of "space(s) required before/around/after" checkpatch.pl
issues in a number of functions in rtl8723au's rtw_security.c.
Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f321c9cbf3bbf86f6e6153419eaf93ad085e3d74
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Fri Apr 3 15:25:04 2015 +0200
PM / watchdog: iTCO: stop watchdog during system suspend
If the target sleep state of the system is not an ACPI sleep state
(S1, S2 or S3), the TCO watchdog needs to be stopped during system
suspend, because it may not be possible to ping it any more after
timekeeping has been suspended (suspend-to-idle does that for
one example).
For this reason, provide ->suspend_noirq and ->resume_noirq
callbacks for the iTCO watchdog driver and use them to stop
and restart the watchdog during system suspend and resume,
respectively, if the system is not going to enter an ACPI
sleep state (in which case the watchdog will be stopped
by the platform firmware before the state is entered).
Reported-and-tested-by: Borun Fu <borun.fu@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
commit 7f99f8b94c9355acdb14f1be28cb19aac741da68
Author: Mark Einon <mark.einon@xxxxxxxxx>
Date: Wed Apr 1 22:32:04 2015 +0100
x86/earlyprintk: Put CONFIG_PCI-only functions under the #ifdef
Two static functions are only used if CONFIG_PCI is defined, so only
build them if this is the case. Fixes the build warnings:
arch/x86/kernel/early_printk.c:98:13: warning: â??mem32_serial_outâ??
defined but not used [-Wunused-function]
static void mem32_serial_out(unsigned long addr, int offset, int value)
^
arch/x86/kernel/early_printk.c:105:21: warning: â??mem32_serial_inâ??
defined but not used [-Wunused-function]
static unsigned int mem32_serial_in(unsigned long addr, int offset)
^
Also convert a few related instances of uintXX_t to kernel specific uXX
defines.
Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx>
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: stuart.r.anderson@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1427923924-22653-1-git-send-email-mark.einon@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit cee8f5a6c8c917613dd021552909d071b1dab592
Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx>
Date: Tue Mar 31 10:04:41 2015 -0500
x86/mce/severity: Fix warning about indented braces
Dan reported compiler warnings about missing curly braces in
mce_severity_amd(). Reindent the catch-all "return MCE_AR_SEVERITY"
correctly to single tab.
While at it, chain ctx == IN_KERNEL check with mcgstatus check to make
it cleaner, as suggested by Boris.
No functional changes are introduced by this patch.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx>
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Tony Luck <tony.luck@xxxxxxxxx>
Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427814281-18192-1-git-send-email-Aravind.Gopalakrishnan@xxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit def747087e83aa5f6a71582cfa71e18341988688
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Fri Apr 3 15:31:32 2015 +0200
timers/PM: Drop unnecessary braces from tick_freeze()
Some braces in tick_freeze() are not necessary, so drop them.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: peterz@xxxxxxxxxxxxx
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1534128.H5hN3KBFB4@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 422fe7502e3f16dc1c680f22d31f59f022edc10d
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Fri Apr 3 15:21:51 2015 +0200
timers/PM: Fix up tick_unfreeze()
A recent conflict resolution has left tick_resume() in
tick_unfreeze() which leads to an unbalanced execution of
tick_resume_broadcast() every time that function runs.
Fix that by replacing the tick_resume() in tick_unfreeze()
with tick_resume_local() as appropriate.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: boris.ostrovsky@xxxxxxxxxx
Cc: david.vrabel@xxxxxxxxxx
Cc: konrad.wilk@xxxxxxxxxx
Cc: peterz@xxxxxxxxxxxxx
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/8099075.V0LvN3pQAV@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit f5d8bde742a5dbea11eed35a026bc4d968001119
Author: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Date: Sat Mar 28 21:07:44 2015 -0400
staging: rtl8723au: Reformat whitespace to increase readability
Adjust the whitespace in the signature, local variable declaration and
initialization parts of a number of functions to increase readability
in rtl8723au's rtw_security.c.
Signed-off-by: M. Vefa Bicakci <m.v.b@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 8f47c28b5a0346728259291d9e4a1de90a5d3624
Author: Julia Lawall <Julia.Lawall@xxxxxxx>
Date: Sun Mar 29 14:54:12 2015 +0200
staging: rtl8712: Drop unneeded cast on netdev_priv
The result of netdev_priv is already implicitly cast to the type of the
left side of the assignment.
The semantic patch that fixes this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
type T;
T *x;
@@
x =
- (T *)
netdev_priv(...)
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 86d7b29e12b3bfba9b46761448476c878cf6e8b1
Author: Phong Tran <tranmanphong@xxxxxxxxx>
Date: Thu Apr 2 21:36:05 2015 +0700
staging: android: ion_test: Add the MODULE_LICENSE macro
Base on the file comment should define GPL v2 for ion test driver
Signed-off-by: Phong Tran <tranmanphong@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a6388e68321a1e0a0f408379c2a36396807745b3
Author: Malcolm Priestley <tvboxspy@xxxxxxxxx>
Date: Wed Apr 1 22:32:52 2015 +0100
staging: vt6655: use ieee80211_tx_info to select packet type.
Information for packet type is in ieee80211_tx_info
band IEEE80211_BAND_5GHZ for PK_TYPE_11A.
IEEE80211_TX_RC_USE_CTS_PROTECT via tx_rate flags selects PK_TYPE_11GB
This ensures that the packet is always the right type.
Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.19+
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit df18480650df1d9dc94188bc7dd7e47b5c888d05
Author: Malcolm Priestley <tvboxspy@xxxxxxxxx>
Date: Wed Apr 1 22:32:51 2015 +0100
staging: vt6655: s_vGenerateTxParameter Replace PSTxBufHead with struct
vnt_tx_fifo_head
With endian correction on fifo_ctl and current_rate.
Removing pTxBufHead, pFifoHead and wFifoCtl
Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d049c7f8191440d881bf2224af8ed0de74d8d9a3
Author: Piotr Witoslawski <pwitos@xxxxxxxxx>
Date: Thu Apr 2 15:37:30 2015 +0200
drivers: staging: rtl8723au: fix "warning: cast to restricted __le16"
This patch fixes the sparse warning: "cast to restricted __le16" reported
for rtl8723au/hal/rtl8723au_xmit.c
Signed-off-by: Piotr Witoslawski <pwitos@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 0429c2b5c1c4c8ba6cd563c1964baf3ed238df26
Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx>
Date: Fri Apr 3 09:04:04 2015 -0400
locks: use cmpxchg to assign i_flctx pointer
During the v3.20/v4.0 cycle, I had originally had the code manage the
inode->i_flctx pointer using a compare-and-swap operation instead of the
i_lock.
Sasha Levin though hit a problem while testing with trinity that made me
believe that that wasn't safe. At the time, changing the code to protect
the i_flctx pointer seemed to fix the issue, but I now think that was
just coincidence.
The issue was likely the same race that Kirill Shutemov hit while
testing the pre-rc1 v4.0 kernel and that Linus spotted. Due to the way
that the spinlock was dropped in the middle of flock_lock_file, you
could end up with multiple flock locks for the same struct file on the
inode.
Reinstate the use of a CAS operation to assign this pointer since it's
likely to be more efficient and gets the i_lock completely out of the
file locking business.
Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx>
commit 3648888e90bb7fe6d0586ec177511e6678ee22c3
Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx>
Date: Fri Apr 3 09:04:04 2015 -0400
locks: get rid of WE_CAN_BREAK_LSLK_NOW dead code
As Bruce points out, there's no compelling reason to change /proc/locks
output at this point. If we did want to do this, then we'd almost
certainly want to introduce a new file to display this info (maybe via
debugfs?).
Let's remove the dead WE_CAN_BREAK_LSLK_NOW ifdef here and just plan to
stay with the legacy format.
Reported-by: J. Bruce Fields <bfields@xxxxxxxxxx>
Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx>
commit cae80b305e1c3944746dd93e33e9b2ccd5a490c1
Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx>
Date: Fri Apr 3 09:04:04 2015 -0400
locks: change lm_get_owner and lm_put_owner prototypes
The current prototypes for these operations are somewhat awkward as they
deal with fl_owners but take struct file_lock arguments. In the future,
we'll want to be able to take references without necessarily dealing
with a struct file_lock.
Change them to take fl_owner_t arguments instead and have the callers
deal with assigning the values to the file_lock structs.
Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx>
commit 5c1c669a1b2435e071d566b6db1a8e6b26542ba1
Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx>
Date: Fri Apr 3 09:04:03 2015 -0400
locks: don't allocate a lock context for an F_UNLCK request
In the event that we get an F_UNLCK request on an inode that has no lock
context, there is no reason to allocate one. Change
locks_get_lock_context to take a "type" pointer and avoid allocating a
new context if it's F_UNLCK.
Then, fix the callers to return appropriately if that function returns
NULL.
Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx>
commit 663d5af750b8c025d0dfea2cf2a4b4a78cafa3a7
Author: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx>
Date: Fri Apr 3 09:04:03 2015 -0400
locks: Add lockdep assertion for blocked_lock_lock
Annonate insert, remove and iterate function that we need
blocked_lock_lock held.
Signed-off-by: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx>
Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx>
commit 9b8c86956dea44276e2b2bb368f1f34895f4c5ea
Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx>
Date: Fri Apr 3 09:04:02 2015 -0400
locks: remove extraneous IS_POSIX and IS_FLOCK tests
We know that the locks being passed into this function are of the
correct type, now that they live on their own lists.
Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx>
commit 9cd29044bd7be430f0d38620a6b0b6a0c017c6c9
Author: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx>
Date: Fri Apr 3 09:04:02 2015 -0400
locks: Remove unnecessary IS_POSIX test
Since following change
commit bd61e0a9c852de2d705b6f1bb2cc54c5774db570
Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx>
Date: Fri Jan 16 15:05:55 2015 -0500
locks: convert posix locks to file_lock_context
all Posix locks are kept on their a separate list, so the test is
redudant.
Signed-off-by: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx>
Cc: Jeff Layton <jlayton@xxxxxxxxxxxxxxx>
Cc: "J. Bruce Fields" <bfields@xxxxxxxxxxxx>
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx>
commit e95cf393d2097a7744f98de1c7936fcbde0843e3
Author: Peter Griffin <peter.griffin@xxxxxxxxxx>
Date: Wed Apr 1 07:42:41 2015 +0100
MAINTAINERS: Add phy-miphy28lp.c and phy-miphy365x.c to ARCH/STI
architecture
This patch adds the phy-miphy28lp.c and phy-miphy365x.c phy drivers found
on
STMicroelectronics stih407 family SoC's into the STI arch section of the
maintainers file.
Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx>
Acked-by: Lee Jones <lee.jones@xxxxxxxxxx>
Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>
commit 407ed8357464851cf12d68c4a969cd933f8dbcaf
Author: Axel Lin <axel.lin@xxxxxxxxxx>
Date: Wed Apr 1 08:45:33 2015 +0800
phy: spear1340-miphy: Return proper error for spear1340_miphy_xlate
The of_xlate callback should return ERR_PTR on error.
Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx>
Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>
commit 247e21c613649f34bcf2f71e57e813e6ed18b458
Author: Axel Lin <axel.lin@xxxxxxxxxx>
Date: Wed Apr 1 08:44:32 2015 +0800
phy: spear1310-miphy: Return proper error for spear1310_miphy_xlate
The of_xlate callback should return ERR_PTR on error.
Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx>
Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>
commit fbea230e7884044ee2e84bb28f6879dc30e1db24
Author: Peter Griffin <peter.griffin@xxxxxxxxxx>
Date: Mon Mar 30 16:17:07 2015 +0100
phy: miphy365x: Use the generic phy type constants in
dt-bindings/phy/phy.h
Now there are generic phy type constants declared in phy.h, migrate over
to
using them rather than defining our own. This change has been done as one
atomic commit to be bisectable.
Note: The values of the defines are the same, so there is no ABI breakage
with this patch.
Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx>
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Acked-by: Lee Jones <lee.jones@xxxxxxxxxx>
Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx>
Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>
commit 9c3b443026368583d2df3373a11b1c18c361d9a6
Author: Chen-Yu Tsai <wens@xxxxxxxx>
Date: Sat Mar 14 11:57:16 2015 +0800
phy: Add driver to support individual USB PHYs on sun9i
Unlike previous Allwinner SoCs, there is no central PHY control block
on the A80. Also, OTG support is completely split off into a different
controller.
This adds a new driver to support the regular USB PHYs.
Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx>
Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>
commit 609adde838f4557f9d209b0432f4bac5c5eb5e86
Author: Tony Lindgren <tony@xxxxxxxxxxx>
Date: Thu Mar 19 17:08:07 2015 -0700
phy: Add a driver for dm816x USB PHY
Add a minimal driver for dm816x USB. This makes USB work on dm816x
without any other changes needed as it can use the existing musb_dsps
glue layer for the USB controller.
Note that this phy is different from dm814x and am335x.
Cc: Bin Liu <binmlist@xxxxxxxxx>
Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx>
Cc: Felipe Balbi <balbi@xxxxxx>
Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx>
Cc: Paul Bolle <pebolle@xxxxxxxxxx>
Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>
commit 52ea796b9161b1b81242e6831d9e128ee207ad2d
Author: Axel Lin <axel.lin@xxxxxxxxxx>
Date: Mon Mar 23 12:08:18 2015 +0800
phy: qcom-ufs: Don't return error if fail to get optional resource
"dev_ref_clk_ctrl_mem" is optional resource, so don't return error if
fail to
get the resource. Since it's an optional resource, don't emit error if
fail to get dev_ref_clk_ctrl_mem.
Also remove redundant test for res, it's done by devm_ioremap_resource().
Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx>
Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>
commit 358d6c87e73310c8e6564153cb556c0cd9e523fc
Author: Axel Lin <axel.lin@xxxxxxxxxx>
Date: Mon Mar 23 11:54:50 2015 +0800
phy: qcom-ufs: Fix build error due to missing export symbols
Fix below build error when compile the driver as a module.
ERROR: "ufs_qcom_phy_power_off" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko]
undefined!
ERROR: "ufs_qcom_phy_power_on" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko]
undefined!
ERROR: "ufs_qcom_phy_exit" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko]
undefined!
ERROR: "ufs_qcom_phy_calibrate" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko]
undefined!
ERROR: "ufs_qcom_phy_generic_probe"
[drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined!
ERROR: "ufs_qcom_phy_init_vregulators"
[drivers/phy/phy-qcom-ufs-qmp-20nm.ko] undefined!
ERROR: "ufs_qcom_phy_init_clks" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko]
undefined!
ERROR: "ufs_qcom_phy_remove" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko]
undefined!
ERROR: "get_ufs_qcom_phy" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko]
undefined!
ERROR: "ufs_qcom_phy_power_off" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko]
undefined!
ERROR: "ufs_qcom_phy_power_on" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko]
undefined!
ERROR: "ufs_qcom_phy_exit" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko]
undefined!
ERROR: "ufs_qcom_phy_generic_probe"
[drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined!
ERROR: "ufs_qcom_phy_init_vregulators"
[drivers/phy/phy-qcom-ufs-qmp-14nm.ko] undefined!
ERROR: "ufs_qcom_phy_init_clks" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko]
undefined!
ERROR: "ufs_qcom_phy_calibrate" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko]
undefined!
ERROR: "ufs_qcom_phy_remove" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko]
undefined!
ERROR: "get_ufs_qcom_phy" [drivers/phy/phy-qcom-ufs-qmp-14nm.ko]
undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2
Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx>
Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>
commit a4820acfaf179982a86783ee0c0d5d39a9c5ab20
Author: Julia Lawall <Julia.Lawall@xxxxxxx>
Date: Sun Mar 29 14:54:14 2015 +0200
staging: ft1000: Drop unneeded cast on netdev_priv
The result of netdev_priv is already implicitly cast to the type of the
left side of the assignment.
The semantic patch that fixes this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
type T;
T *x;
@@
x =
- (T *)
netdev_priv(...)
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 528a5691ad2f687d8f59ce1f3d058507a00927b6
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Sat Mar 28 21:46:29 2015 +0200
staging: octeon-ethernet: delete cvm_oct_set_carrier()
Delete unused function cvm_oct_set_carrier().
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 203d77621405345c1f3ffc4c1db3f7ff89571b58
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Sat Mar 28 21:24:34 2015 +0200
staging: octeon-usb: make CVMX_WAIT_FOR_FIELD32 to take condition
expression
Make CVMX_WAIT_FOR_FIELD32 to take full condition expression.
This should make the usage simpler, and the macro more readable.
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 6068e81879c81f83b1e3dcaa02746b20be2af0c0
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Sat Mar 28 21:24:33 2015 +0200
staging: octeon-usb: assume union type for FIELD32 macros
Assume union type for FIELD32 macros to simplify usage.
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 9a02e8d211d54d2e8f6a3b22cff72f2a4b2933e1
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Sat Mar 28 21:24:32 2015 +0200
staging: octeon-usb: octeon_usb_probe: delete unused variable
"flags" is not used, delete it.
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a3d3390d1ee4a7e30cc48402c434eca82c16cb38
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Sat Mar 28 21:24:31 2015 +0200
staging: octeon-usb: make cvmx_fifo_setup void
Make cvmx_fifo_setup void, it does not return any value.
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a227437e860d3b7d5584a14b60953992b0634f7f
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Mar 30 12:59:49 2015 +0200
staging/olpc: drop pci dependencies
This file does not use any pci APIs, drop
pci header includes.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3b0a9b10378d25b9ecb11ed85a983a82d3b7799e
Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx>
Date: Fri Mar 27 16:01:09 2015 -0500
staging: fsl-mc: Changed version matching rules for MC object drivers
Before this change, we were requiring a complete version match (major and
minor version numbers) between MC objects and corresponding drivers, to
allow MC objects to be bound to their drivers. We realized that a mismatch
in minor version numbers should be tolerated, as long as the major version
numbers match. This allows the driver to decide what to do in the minor
version mismatch case. For example, a driver may decide to run with
downgraded functionality if the MC firmware object has older minor version
number than the driver. Also, a driver with older minor version than the
MC firmware object may decide to run even though it cannot use newer
functionality of the MC object.
As part of this change, the dpmng Flib version was also updated
to match the latest MC firmware version.
Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e91ffa9ec18e79214eef9bafc400f5d3b8d4aa98
Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx>
Date: Fri Mar 27 16:01:08 2015 -0500
staging: fsl-mc: Refactored fsl_mc_object_allocator driver init/exit
The fsl_mc_allocator driver does not need to be its own module
as it is tightly integrated into the MC bus main driver. It is really
just a sub-component of the MC bus driver. By not making fsl_mc_allocator
its own module, we can have more control of when its initialization
happens
and we want it to happen before any driver that depends on the MC bus
driver gets initialized.
Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 2bdc55d94fef59296f9f1aeda2a503d4c64cad86
Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx>
Date: Fri Mar 27 16:01:07 2015 -0500
staging: fsl-mc: Fix crash in fsl_mc_device_remove()
Only call fsl_mc_io_destroy() if the DPRC being removed
actually had an mc_io object associated with. Child DPRCs
that have not been bound to the DPRC driver or the VFIO driver
will not have an mc_io associated with them.
Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1663e80982eef51892576cb2e3d4978af787ca4d
Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx>
Date: Fri Mar 27 16:01:06 2015 -0500
staging: fsl-mc: Bind/unbind driver when MC object is plugged/unplugged
Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 0b528775948d9224c0eb26ed1c0fab973e6b2502
Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx>
Date: Fri Mar 27 16:01:05 2015 -0500
staging: fsl-mc: Removed reordering of MC objects during bus scan
MC objects discovered during an MC bus scan were being reordered
to ensure that all allocatable objects are probed before all
non-allocatable objects. However, this is not necessary, as
drivers of non-allocatable objects, that allocate allocatable
objects in their probe function, can return -EPROBE_DEFER
if such allocations fail.
Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f83e775d6ef55ea4edbe2740b8a56a94f97158b5
Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
Date: Sat Mar 28 14:33:41 2015 +0530
staging: sm7xxfb: disable pci device
disable the pci device when the module exits.
Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 77371fbd440f482bc6f092d8a33d141f45dc3b70
Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx>
Date: Fri Mar 27 16:01:04 2015 -0500
staging: fsl-mc: Name MC object devices using decimal numbers
MC object devices were being named using hexadecimaal numbers.
This was not consistent with the object naming conventions used
by MC DPLs and the MC restool.
Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f30a746bec5507d9781e876626d4bba7f5ab0c8e
Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
Date: Sat Mar 28 14:33:40 2015 +0530
staging: sm7xxfb: reserve PCI resource
before starting to access any address inside the PCI region we should
reserve the resource and release the resource when the module exits.
Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 63b8ebe44ab6bc812f849818250e49e9157c309c
Author: Shirish Gajera <gshirishfree@xxxxxxxxx>
Date: Sat Mar 28 13:21:39 2015 -0700
staging: speakup: Fix warning of line over 80 characters.
This patch fixes the checkpatch.pl warning:
WARNING: line over 80 characters
All line over 80 characters in driver/staging/speakup/* are fixed.
Signed-off-by: Shirish Gajera <gshirishfree@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 7f688833662dac4c48dcc18198a1a3a35fcbf0cd
Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
Date: Fri Mar 27 15:26:11 2015 +0530
staging: unisys: remove forward declaration
rearranged the functions to get rid of the forward declarations.
Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 2e71c9e42799ad5a7ece815a14cd8467eaa3be26
Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
Date: Fri Mar 27 15:26:10 2015 +0530
staging: unisys: use error codes
we were just returning -1 to the calling function which was again
returning that if the module failed to load. Now we are returning the
actual error codes.
Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 6bdb610142fc0433077e24bb36f90e7c52bcaded
Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
Date: Fri Mar 27 15:26:09 2015 +0530
staging: unisys: unregister chardev on error
after registering the major numbers if the cdev_add fails then we were
not releasing the major numbers. now we are doing that.
Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 61c507cf652da1bc8436bdb909343f33175fd566
Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Date: Thu Mar 26 23:27:25 2015 +0100
staging: sm750: move assignment out of if cond
This patch moves the assignments from the if conditions to the line
before the condition.
The 3 occurrence are return values and the checks for errors.
Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit eb1167a36cdb48ae6328132ad68bf1bdc29339cf
Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Date: Thu Mar 26 23:27:09 2015 +0100
staging: sm750: fix whitspace for cast to pointer
This patch fixes the checkpatch.pl warning:
'ERROR: "(foo*)" should be "(foo *)"'
Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a0c838f10a18982a02f1a46904637748d066a6b9
Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Date: Thu Mar 26 23:26:52 2015 +0100
staging: sm750: fix whitespace
This patch fixes whitespace checkpatch.pl warnings and errors.
Mainly whitespaces around operators.
- ERROR: spaces required around that ':' (ctx:VxW)
- ERROR: space required after that ';' (ctx:VxV)
- ERROR: spaces required around that '<' (ctx:VxV)
- ERROR: spaces required around that '!=' (ctx:VxV)
And some small warnings around whitespace:
- ERROR: trailing whitespace
- WARNING: space prohibited before semicolon
- WARNING: unnecessary whitespace before a quoted newline
Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 876e5a701f17e447ca6a828b9eda320f1cd835d7
Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Date: Thu Mar 26 23:26:37 2015 +0100
staging: sm750: blank line after declaration
This patch fixes "WARNING: Missing a blank line after declaration"
checkpatch.pl warnings.
Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3318bb5e945f7007842fef4b6c69e559bc6a0e79
Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Date: Thu Mar 26 23:26:23 2015 +0100
staging: sm750: 80 characters per line
This patch inserts line breaks to make lines fit into 80 characters and
increase readability.
Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 4bd9503d0becdb6f825fc13b3f4f5a194a91f7be
Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Date: Thu Mar 26 23:26:04 2015 +0100
staging: sm750: comment formating
This patch fixes checkpatch.pl warnings / errors:
- "WARNING: please, no space before tabs"
- "ERROR: do not use C99 // comments"
Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f46a04c75605fd55879c797fd7f349f8cb32bb88
Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Date: Fri Mar 27 19:42:48 2015 +0100
staging: sm750: no braces for single stmt if blocks
This patches fixes checkpatch.pl warning:
"WARNING: braces {} are not necessary for single statement blocks"
Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 27fa159bd2958ed2146d794c295c32e4fe4dd055
Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Date: Thu Mar 26 23:25:37 2015 +0100
staging: sm750: fix whitespaces around pointers
This patch fixes checkpatch.pl errors:
- ERROR: "foo * bar" should be "foo *bar"
- ERROR: "foo* bar" should be "foo *bar"
Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 5ace4e10c1cf7c8e9069b1299582899a61c9994f
Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Date: Thu Mar 26 23:25:22 2015 +0100
staging: sm750: fix whitespace around braces
Fix multiple similar checkpatch.pl errors:
- "ERROR: space required before the open parenthesis '('"
- "ERROR: space required before the open brace '{'"
- "ERROR: space prohibited after that open parenthesis '('"
- "ERROR: space prohibited before that close parenthesis ')'"
Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 70407df77665c0e6bb6f6dea5e1561670fbadf18
Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Date: Thu Mar 26 23:25:08 2015 +0100
staging: sm750: move '{' to previous line
Fix checkpatch.pl error:
"ERROR: that open brace { should be on the previous line"
Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 45e3b3da820ae612268294caac44776beb5ab885
Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Date: Thu Mar 26 23:24:53 2015 +0100
staging: sm750: add missing spaces after ','
Fixes checkpatch.pl error:
"ERROR: space required after that ',' (ctx:VxV)"
Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit c52c3700d8a603dace184aed453c5e635645c523
Author: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Date: Thu Mar 26 23:24:32 2015 +0100
staging: sm750: Reindent
The reindent fixes the
"WARNING: please, no spaces at the start of a line",
"ERROR: code indent should use tabs where possible"
and some other small checkpatch.pl warnings and errors.
Signed-off-by: Michel von Czettritz <michel.von.czettritz@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit c7e8bdf5872c5a8f5a6494e16fe839c38a0d3d3d
Author: Thomas Schlichter <thomas.schlichter@xxxxxx>
Date: Tue Mar 31 20:24:39 2015 +0200
cpuidle: ACPI: do not overwrite name and description of C0
Fix a bug that leads to showing the name and description of C-state C0
as "<null>" in sysfs after the ACPI C-states changed (e.g. after AC->DC
or DC->AC
transition).
The function poll_idle_init() in drivers/cpuidle/driver.c initializes the
state 0 during cpuidle_register_driver(), so we better do not overwrite it
again with '\0' during acpi_processor_cst_has_changed().
Signed-off-by: Thomas Schlichter <thomas.schlichter@xxxxxx>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Cc: 3.13+ <stable@xxxxxxxxxxxxxxx> # 3.13+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit d75e4af14e228bbe3f86e29bcecb8e6be98d4e04
Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Date: Tue Mar 31 20:15:09 2015 +0200
cpuidle: remove state_count field from struct cpuidle_device
Thomas Schlichter reports the following issue on his Samsung NC20:
"The C-states C1 and C2 to the OS when connected to AC, and additionally
provides the C3 C-state when disconnected from AC. However, the number
of C-states shown in sysfs is fixed to the number of C-states present
at boot.
If I boot with AC connected, I always only see the C-states up to C2
even if I disconnect AC.
The reason is commit 130a5f692425 (ACPI / cpuidle: remove
dev->state_count
setting). It removes the update of dev->state_count, but sysfs uses
exactly this variable to show the C-states.
The fix is to use drv->state_count in sysfs. As this is currently the
last user of dev->state_count, this variable can be completely
removed."
Remove dev->state_count as per the above.
Reported-by: Thomas Schlichter <thomas.schlichter@xxxxxx>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Cc: 3.14+ <stable@xxxxxxxxxxxxxxx> # 3.14+
[ rjw: Changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 4c97b37a8447976f95493afc45dfdcb160dae4bf
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:40 2015 +0000
staging: comedi: remove "comedi_fc.h"
None of the comedi low-level drivers include "comedi_fc.h" any longer,
so remove it.
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 8a8626b4f83a66bd219964127b1bfad75ff55615
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:39 2015 +0000
staging: comedi: usbduxsigma: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f53398ebde69e7f554cdb7ab3d7e34f855557701
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:38 2015 +0000
staging: comedi: usbduxfast: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 2b012d948c00f1c74c7e70ab7444ff3f3944778f
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:37 2015 +0000
staging: comedi: usbdux: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d044e28f38dcc5b9de460eb0ce8a68df5cc2707b
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:36 2015 +0000
staging: comedi: s626: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 57fab5a22edc3841ae2b9be189a756afd92fe29d
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:35 2015 +0000
staging: comedi: rtd520: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 75a12586cb717fb57197d3b3a9467ebab216c984
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:34 2015 +0000
staging: comedi: quatech_daqp_cs: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 21de3b8d84dd8ec0e129c7d2909e135e8af6f58e
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:33 2015 +0000
staging: comedi: pcmuio: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b21a766f7c5476db7730653bee2915ff0a9e40a8
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:32 2015 +0000
staging: comedi: pcmmio: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 95373ceb1e236c0d9ca298b7db028a11115b5297
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:31 2015 +0000
staging: comedi: pcl818: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 5cf36bd747a631afa78e59518f65368ab3f6708f
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:30 2015 +0000
staging: comedi: pcl816: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 75ebc7fe7a55bc19f6c56742aa34cccb42c754b7
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:29 2015 +0000
staging: comedi: pcl812: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit bdd62d8dde7dd13f6640b3de89613a70aa68ed0e
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:28 2015 +0000
staging: comedi: pcl726: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1efa78f6bcbbde6437ac487411dcc1ca672b4e77
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:27 2015 +0000
staging: comedi: pcl711: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit eeae1cc974a711478cf7b229dec7f69321f999ad
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:26 2015 +0000
staging: comedi: ni_tiocmd: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 21ebbb1473fa5b148c77a218a77e008179643309
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:25 2015 +0000
staging: comedi: ni_pcidio: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 311fd9b2e59fee401c884bb4eca8897a25d5e6d2
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:24 2015 +0000
staging: comedi: ni_mio_common: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 4179164e9f9e3fd6d2d8be6eb37df8135f106354
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:23 2015 +0000
staging: comedi: ni_labpc_common: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 2684a5e94a3b126a46d14ab438769db228112d79
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:22 2015 +0000
staging: comedi: ni_atmio16d: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ded2468314ea8f81be3ee16f398ee8206fe22f37
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:21 2015 +0000
staging: comedi: ni_at_a2150: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 4e9782c1c20412f535b10f62dce5d525a2fd4e41
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:20 2015 +0000
staging: comedi: ni_65xx: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 6664e2efa2e643975c6eba712fd0c1034681410c
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:19 2015 +0000
staging: comedi: ni_6527: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 51ec1db9d93422b1bbe536bd93e0589bafafd336
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:18 2015 +0000
staging: comedi: me4000: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 86ca1cdda3e8e4aa76dd9289f302349f96414fc5
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:17 2015 +0000
staging: comedi: gsc_hpdi: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e9a3c4317b96b794ea013f512adbf1aab4121185
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:16 2015 +0000
staging: comedi: dt3000: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 34e444c8581866a32e7f3ed3229909c732c621f5
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:15 2015 +0000
staging: comedi: dt282x: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 71bb49d055e510a8c0ff0bb02529b5859d587b84
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:14 2015 +0000
staging: comedi: dt2814: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b504252a768c3d939f017f2c9044e3f7309be51e
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:13 2015 +0000
staging: comedi: dmm32at: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 5519108b114e7a5bc012d51e33a2d651efe4047a
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:12 2015 +0000
staging: comedi: das800: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e70d6377525618f4b206bf3614865d3ab9617dea
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:11 2015 +0000
staging: comedi: das6402: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 05e07db18552de231f0a62172c2f7715a58c46cd
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:10 2015 +0000
staging: comedi: das1800: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit dedb59fc69f72f5af8cee8ca6e3c646a2e0b83cb
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:09 2015 +0000
staging: comedi: das16m1: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d8cfb3fb9b22d38214791789565e4ecf0bc7337e
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:08 2015 +0000
staging: comedi: das16: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 61f7697033bff3a1696ff1434d84aeda269e505b
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:07 2015 +0000
staging: comedi: comedi_test: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 070c8e167bec5fba8ea020eb615c583062f8f9b0
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:06 2015 +0000
staging: comedi: comedi_parport: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3b339d322b279e234533a98cbc644e95e8077198
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:05 2015 +0000
staging: comedi: cb_pcidas: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 571cea09014711d801f8a6a81a8cb18aa78eba14
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:04 2015 +0000
staging: comedi: cb_pcidas64: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a716811441368c90efd55955d1404c3f51aac391
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:03 2015 +0000
staging: comedi: amplc_pci230: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e0703e09e719819da1cc5e380c70a56f9c248663
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:02 2015 +0000
staging: comedi: amplc_pci224: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 29d9edd0d0e03211b4b6c2e8057a043eb94a91a5
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:01 2015 +0000
staging: comedi: amplc_pc236_common: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f95354325eee75d67d632a60c3b91aa83254028a
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:14:00 2015 +0000
staging: comedi: amplc_dio200_common: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f900aec97b52ce875d97b566c3882ff825c53c95
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:59 2015 +0000
staging: comedi: aio_iiro_16: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3087f440c226c014e2461e909e5669a53db7fb03
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:58 2015 +0000
staging: comedi: adv_pci1710: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 94fff03def69fa26b85057f2a57e186ea7310946
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:57 2015 +0000
staging: comedi: adl_pci9118: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1a4888c18fe0e2331087bcb690191036eea3b187
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:56 2015 +0000
staging: comedi: adl_pci9111: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit c0618689e58d08b27c99c1f0acb472bff65e4586
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:55 2015 +0000
staging: comedi: addi_apci_3xxx: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 25e8046478c7755319eea0a77734bdf97139555d
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:54 2015 +0000
staging: comedi: addi_apci_3120: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ea7040e6364fc69291a0a3d5ded5948d66ceaa09
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:53 2015 +0000
staging: comedi: addi_apci_2032: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 39a89e14697a82678ecfd68155ad2494b21d8d04
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:52 2015 +0000
staging: comedi: addi_apci_1564: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1a7c337c49969d7c842718503e82bccd4b5fda8c
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:51 2015 +0000
staging: comedi: addi_apci_1500: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e63db6f775b803bcdc66d28c983b0c1f552dbe29
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:50 2015 +0000
staging: comedi: addi_apci_1032: remove #include "comedi_fc.h"
As preparation for removal of "comedi_fc.h", replace calls to the
`cfc_check_trigger_...` functions from "comedi_fc.h" with the
replacement `comedi_check_trigger_...` functions from "../comedidev.h"
and remove the inclusion of "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 557e0c1c6575aaaf190534b291131afb972e6774
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:49 2015 +0000
staging: comedi: ni_labpc_isadma: remove #include "comedi_fc.h"
"ni_labpc_isadma.c" doesn't use anything from "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e3baeea2848e939c55a6d8ff0c8e2375c52e6e90
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:48 2015 +0000
staging: comedi: ni_660x: remove #include "comedi_fc.h"
"ni_660x.c" doesn't use anything from "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b8044cc3b314d751000fc0fa7e0e15eff9c380fa
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:47 2015 +0000
staging: comedi: mite: remove #include "comedi_fc.h"
"mite.c" doesn't use anything from "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 8bac7d15718a9703380e8e55ebfe02225fdb00ed
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:46 2015 +0000
staging: comedi: cb_pcidda: remove #include "comedi_fc.h"
"cb_pcidda.c" doesn't use anything from "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 830c6190466a487ee36d93b451614ab5fe7f907b
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:45 2015 +0000
staging: comedi: cb_das16_cs: remove #include "comedi_fc.h"
"cb_das16_cs.c" doesn't use anything from "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 49da482e691e921e51967e71f7b639cf3789c5e7
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:44 2015 +0000
staging: comedi: addi_apci_3501: remove #include "comedi_fc.h"
"addi_apci_3501.c" doesn't use anything from "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 782658427b89a0beaf891eeac98e9ebc211bb057
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:43 2015 +0000
staging: comedi: addi_apci_1516: remove #include "comedi_fc.h"
"addi_apci_1516.c" doesn't use anything from "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 39d9333eaa75c25d7a9b597d53b2db449e703108
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:42 2015 +0000
staging: comedi: 8255: remove #include "comedi_fc.h"
"8255.c" doesn't use anything from "comedi_fc.h".
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 5e1a61928eb9622d2bc8eec2a354616281c0e475
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 19:13:41 2015 +0000
staging: comedi: comedi_fc.h: begin migration to comedidev.h
"comedi_fc.h" contains a few inline functions used by the `do_cmdtest`
handler functions for comedi subdevices in several low-level comedi
drivers for checking asynchronous command trigger sources and arguments.
They all use the prefix `cfc_check_trigger_arg`. Copy them over to
"../comedidev.h", but change the `cfc_` prefix to `comedi_`. Change the
original functions in "comedi_fc.h" into simple wrappers for their
replacements.
Once the drivers have been changed to call the replacement functions,
"comedi_fc.h" can be removed.
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 78cff59e88eb0f3ae81f50741a8ce2e38f890139
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 15:58:19 2015 +0000
staging: comedi: make comedi_internal.h self-reliant
Add `#include`s and declare incomplete types to "comedi_internal.h" so
that .c files still compile when it is the first file included.
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ef4b4b274cf96a857dd78b49558509b55d75163a
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 15:13:06 2015 +0000
staging: comedi: comedi_fops: extend spin-lock scope in comedi_event()
`comedi_event()` is called from low-level drivers to handle comedi
asynchronous command event flags. As a safety check, it checks the
subdevice's "run" flags to make sure an asynchronous command is running.
It can also change the run flags to mark the command as no longer
running (possibly also marking it as terminated with an error).
Checking the runflags and modifying them involves two uses of the
subdevice's spin-lock. It seems better to do it with a single use of
the spin-lock. This also avoids possible interactions with
`do_become_nonbusy()`.
Acquire the subdevice's spin-lock at the start of `comedi_event()` and
release it near the end, before a possible call to `kill_fasync()` (but
after it's parameter values have been determined).
Add and make use of few new inline helper functions:
* `__comedi_clear_subdevice_runflags()` -- clears some run flags without
using the spin-lock
* `__comedi_set_subdevice_runflags()` -- sets some run flags without
using the spin-lock
* `__comedi_get_subdevice_runflags()` -- a spin-lockless version of
`comedi_get_subdevice_runflags()
* `__comedi_is_subdevice_running()` -- a spin-lockless version of
* `comedi_is_subdevice_running()`
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit aa33122f005069cb3408acf609b78b9a62f58021
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 15:13:05 2015 +0000
staging: comedi: comedi_fops: send SIGIO according to command direction
`comedi_event()` is called from low-level drivers to handle comedi
asynchronous command event flags. Some events cause waiting tasks to be
woken up, and a `SIGIO` signal to be sent via `kill_fasync()`. The
signal code is `POLL_OUT` if the subdevice supports commands in the
"write" direction, or `POLL_IN` for the "read" direction. If the
subdevice supports commands in either direction, it sends two `SIGIO`
signals, one with each code. Change that latter case to only send one
`SIGIO` signal, using the direction of the current command to determine
the signal code. If the `CMDF_WRITE` flag is set in the current
command, it's in the "write" direction, otherwise it's in the "read"
direction.
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 922d9ced718268e464a0884ecee09da436e00d70
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 15:13:04 2015 +0000
staging: comedi: comedi_fops: always clear events
`comedi_event()` is called from low-level drivers to handle asynchronous
command event flags that are stored in `s->async->events` for subdevice
`s`. It normally clears the event flags as well. As a safety check, it
does nothing if no asynchronous command is running, but it leaves
`s->async->events` unchanged in this case. For additional safety,
change it to always clear the event flags to avoid leaving stale event
flags set when another asynchronous command is set up.
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 258c1dd76bf1223a0f67ff8d799b5eb383a3a632
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 15:13:03 2015 +0000
staging: comedi: comedi_fops: remove unnecessary s->async use
In places where the `s->async` value has been stored in a local
variable, use the variable instead of repeating `s->async`.
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 38ee1fd309a629a618c031238c5d681ed4239af4
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 15:13:02 2015 +0000
staging: comedi: comedi_fops: simplify comedi_is_subdevice_idle()
Don't use a conditional operator when a simple "not" will do.
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b183a836fe02a59c2b55273655196ba288f3adb7
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 15:13:01 2015 +0000
staging: comedi: comedi_fops: eliminate a use of subdevice spin-lock
`comedi_is_subdevice_in_error()` is only used by `comedi_read()` and
`comedi_write()` and is only called (soon) after
`comedi_is_subdevice_running()` returns `false` (with extra conditions
in the case of `comedi_write()`). `comedi_is_subdevice_running()` and
`comedi_get_subdevice_runflags()` both call
`comedi_get_subdevice_runflags()` which uses the subdevice's spin-lock.
Eliminate one use of the subdevice's spin-lock in `comedi_read()` and
`comedi_write()` by calling `comedi_get_subdevice_runflags()` and
checking the runflags directly. Add a couple of inline functions to
check the runflags: `comedi_is_runflags_running()` and
`comedi_is_runflags_in_error()`. These do the same test on runflags as
`comedi_is_subdevice_running()` and `comedi_is_subdevice_in_error()` but
get passed the runflags value directly.
`comedi_is_subdevice_in_error()` is no longer used, so remove it.
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit cc64ea4239c354d30f88130ecf5aa81a506b57e3
Author: Ian Abbott <abbotti@xxxxxxxxx>
Date: Fri Mar 27 15:13:00 2015 +0000
staging: comedi: comedi_fops: rename comedi_set_subdevice_runflags()
`comedi_set_subdevice_runflags()` changes the comedi subdevice's
`runflags` member according to a bit-mask and new bit values. It's name
might suggest that it only "sets", not "clears". Rename it to
`comedi_update_subdevice_runflags()` to avoid confusion.
Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit c75de0ac0756d4b442f460e10461720c7c2412c2
Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Date: Thu Apr 2 10:21:33 2015 +0530
cpufreq: Schedule work for the first-online CPU on resume
All CPUs leaving the first-online CPU are hotplugged out on suspend and
and cpufreq core stops managing them.
On resume, we need to call cpufreq_update_policy() for this CPU's policy
to make sure its frequency is in sync with cpufreq's cached value, as it
might have got updated by hardware during suspend/resume.
The policies are always added to the top of the policy-list. So, in
normal circumstances, CPU 0's policy will be the last one in the list.
And so the code checks for the last policy.
But there are cases where it will fail. Consider quad-core system, with
policy-per core. If CPU0 is hotplugged out and added back again, the
last policy will be on CPU1 :(
To fix this in a proper way, always look for the policy of the first
online CPU. That way we will be sure that we are calling
cpufreq_update_policy() for the only CPU that wasn't hotplugged out.
Cc: 3.15+ <stable@xxxxxxxxxxxxxxx> # 3.15+
Fixes: 2f0aea936360 ("cpufreq: suspend governors on system
suspend/hibernate")
Reported-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx>
Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Acked-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 7928848997a708dcdf21e2d2f0875fe6764c5870
Merge: 7a3888a e416a89
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Fri Apr 3 12:56:05 2015 +0200
Merge lustre patches based on 4.0-rc5 into staging-testing
This is done to handle some lustre patches that were made against the
wrong kernel branch, which was my fault, as I gave a lecture where I
messed things up for the students, it wasn't their fault.
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 42d255ce43e1dbe28b5907ec276cd88330952661
Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx>
Date: Tue Mar 31 00:45:06 2015 -0700
i40e: Bump to version 1.3.1
Bump.
Change-ID: I7dc88baa33264e5919bc938adf76706573209432
Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 9a9c8ae1c1b43e12a5ab786d3463b251fe2fd4aa
Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx>
Date: Tue Mar 31 00:45:06 2015 -0700
i40evf: Refactor VF RSS code
Refactor VF RSS code to allow RSS on a single queue and eliminate
the need for the next_queue function.
Change-ID: I9253bad96b7f542ee7036e15636db0e5d58d8ef2
Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 13acb54683f834cb16baf7ad7fd6e15a97b0762f
Author: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Date: Tue Mar 31 00:45:05 2015 -0700
i40evf: protect VLAN filter list
The MAC filter list is protected by a critical task bit, and the VLAN
list should be protected as well. This prevents list corruption if the
watchdog happens to run at the same time as a VLAN filter is being added
or deleted.
Change-ID: Ia4867cebbbb046a1f38012771b288a634ca5882b
Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit fdf0e0bfc363a9b5380ecb5e9c46d6f5a39a9b75
Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx>
Date: Tue Mar 31 00:45:05 2015 -0700
i40e: Communicate VSI id in place of VSI index to the VFs
This does not affect the Virtual channel API as such but it changes the
meaning of what is communicated to the VSI resource struct as vsi_id.
Earlier vsi_idx was being passed in, which was the index in the PF's VSI
array. Now we pass vsi_id as communicated by the FW to the driver.
This will help with future expansion of VF and FW communication.
With this in place now the VF and Virtual channel driver change to move
over
to VSI id use is complete and is validated.
Change-ID: I14246ef82b3b3dc1fa76291d2dd0c05d12cedb7c
Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 3932dbfe1ecdcf05578cc6aca7ca1b6c6dbd311e
Author: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Date: Tue Mar 31 00:45:04 2015 -0700
i40e: stop flow director on shutdown
In some cases, the hardware would continue to try to access the FDIR
ring after entering D3Hot state, which would cause either PCIe errors or
NMIs, depending upon system configuration.
Explicitly stop FDIR in our shutdown routine to eliminate this
possibility.
Change-ID: Ib98060d6352ec595ab9a78bfe252675a9fa5d8bc
Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit c22c06c8d1b62cd2a42a8f276c7e72bc17067183
Author: Shannon Nelson <shannon.nelson@xxxxxxxxx>
Date: Tue Mar 31 00:45:04 2015 -0700
i40e: fix up VXLAN messages
When the VXLAN ports are added and removed, the messaging was giving some
bogus index info, the port was always '0' for the delete, and the message
text style didn't match other messages in the driver. Also, there was an
over-use of the tertiary statement which made reading a little harder
than necessary.
Change-ID: Ie805182a697b8b4c12024403ada87fd4e4fa2358
Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit c142b1dc898efd4702aeacc787bbef8918c401e7
Author: Neerav Parikh <neerav.parikh@xxxxxxxxx>
Date: Tue Mar 31 00:45:03 2015 -0700
i40e: Don't register/de-register apps on NIC partitions in MFP mode
Do not register or try to de-register DCB applications with the DCBNL
layer in case of NIC partitions when adapter is in MFP mode.
Change-ID: I603d042a61983a6562be471c6a2b181572504118
Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 31eaaccff0fedb7cf6b6716efa3a2b8b8315ec68
Author: Greg Rose <gregory.v.rose@xxxxxxxxx>
Date: Tue Mar 31 00:45:03 2015 -0700
i40e/i40evf: Set Ethernet protocol correctly when Tx VLAN offloads are
disabled
If transmit VLAN HW offloads are disabled then the network stack sends up
an skb with the protocol set to 8021q. In that case to get the correct
checksum offloads we have to reset the skb protocol to the encapsulated
ethertype.
Change-ID: I903d78533de09b1c5d3ec695ee1990dd0fa5dd0d
Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 6d7b967db3b1607c789f62936d68ced6321482ed
Author: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Date: Tue Mar 31 00:45:02 2015 -0700
i40e: warn at the right time
The call to pci_disable_sriov got moved, but the message about not
disabling VFs didn't move. So move it. While we're at, reword the
message a bit to make it more consistent with other driver messages.
Change-ID: I17d3e15e4fcfd5c9431a96ecb0117d728d3da18b
Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit b38da40190a1f8a1a0edcc70f983f7838aabadd4
Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx>
Date: Tue Mar 31 00:45:02 2015 -0700
i40e: fix invalid void return in FCoE code
A function was calling i40e_tx_map with return, but tx_map returns
void, and the caller returns void, so just drop the return, and
everything is good.
Change-ID: I53fc676d517864761e7cbb8ca83f1ef0c15b1f8f
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 8b6ed9c202c0c7c179ab7a6cf8010ff0b63d2d4f
Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx>
Date: Tue Mar 31 00:45:01 2015 -0700
i40e/i40evf: fix bug when skb allocation fails
If the skb allocation fails we should not continue using the skb
pointer. Breaking out at the point of failure means that at the next
RX interrupt the driver will try the allocation again.
Change-ID: Iefaad69856ced7418bfd92afe55322676341f82e
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 1a2f62489b5dc15bd2aadb1de2e38f732e2c4553
Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx>
Date: Tue Mar 31 00:45:01 2015 -0700
i40e: Change some memcpys to struct assignments
Several memcpys are not necessary and can be changed to structure
assignments. Struct assignments are always type safe so this
is preferable.
Change-ID: I7daf45a4b5e799c686b9d5c8ba9db047584ab82b
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 25fc0e6590d7c18886cab667430c0da16f0586c4
Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx>
Date: Tue Mar 31 00:45:01 2015 -0700
i40e: Print some more info to help figure out the cause of HMC error
HMC_ERRORINFO and HMC_ERRORDATA helps explain the cause of HMC error.
Change-ID: I053bbc175a5f4c5c3e9ec2ea7400d5c56aaa4ec1
Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit b57459e913afeca56b43b09f35588e3e8b2b0f26
Author: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Date: Tue Mar 31 00:45:00 2015 -0700
i40e: validate VSI param from VFs
Validate that the VF has sent us a valid VSI index before actually using
that index. Without this code, a malicious or buggy VF driver could
panic the host by sending an invalid index into the VSI array.
Change-ID: I66a177687a0dcc281ec83e714d3813d70d18c8b4
Reported-by: Nick Nunley <nicholas.d.nunley@xxxxxxxxx>
Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 818f2e7b25ac3ae12b1a40690e3aa082ff5896ee
Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx>
Date: Tue Mar 31 00:44:59 2015 -0700
i40evf: Fix Outer UDP RX checksum code
Inner protocol being UDP should not stop us from verifying Outer UDP
checksum correctness.
If the Outer protocol is not UDP (NVGRE) we should not be doing a UDP
checksum check. If the packet has zero checksum, skip checksum check.
Change-ID: Ie7f153feb276a59f66a54a0938901b2c0a8100fa
Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 7a3888a3ad15796c834dc6cb00d247d27021f01b
Author: Guillaume Matheron <guillaume.matheron@xxxxxx>
Date: Thu Apr 2 19:52:07 2015 +0200
Staging: lustre: o2iblnd.c: Finished cleaning code style
I fixed lines over 80 characters and unnecessary returns
Signed-off-by: Guillaume Matheron <guillaume.matheron@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 6fe7f9624d64831c6ebf8845c90c56ae5244a155
Author: Guillaume Matheron <guillaume.matheron@xxxxxx>
Date: Thu Apr 2 17:04:55 2015 +0200
Staging: lustre: o2iblnd_cb.c: Removed the rest of unnecessary spaces
before parenthesis
I removed all the 'unneeded space' warnings given by checkpatch.pl
Signed-off-by: Guillaume Matheron <guillaume.matheron@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit febe73bdab9ab069144d6068248631ce1b5e80cd
Author: Guillaume Matheron <guillaume.matheron@xxxxxx>
Date: Thu Apr 2 19:35:45 2015 +0200
Staging: lustre: o2iblnd.c: Started fixing coding style
I focused on function declarations (placed return type on the same line
as function name), and spaces between function name and parenthesis
Signed-off-by: Guillaume Matheron <guillaume.matheron@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 9fb186cf6907ba4e873d8396d7e5abfa4f22ca4e
Author: Georges-Axel Jaloyan <georges-axel.jaloyan@xxxxxx>
Date: Thu Apr 2 16:10:31 2015 +0200
Staging: Lustre: rw26.c: include according to checkpatch.pl
Signed-off-by: Georges-Axel Jaloyan <georges-axel.jaloyan@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit acc59a8b93ed4b57598506f30c89275dbb3f7f61
Author: Cyrille Ruggero <cyrille.ruggero@xxxxxx>
Date: Thu Apr 2 16:09:14 2015 +0200
Staging: lustre: dir.c: adding a blank after a declaration.
Adding a blank in this file after a declaration as reported by
checkpatch.pl.
Signed-off-by: Cyrille Ruggero <cyrille.ruggero@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 21c25a9ff87502e74130b568c102802b27891f1b
Author: Luca Wehrstedt <luca.wehrstedt@xxxxxx>
Date: Thu Apr 2 16:33:34 2015 +0200
Staging: lustre: lov_io.c: remove useless unary pluses
Replace two occurrences of "+1" with simply "1".
Signed-off-by: Luca Wehrstedt <luca.wehrstedt@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 0b0033a15f6fe79015eea477c4e7b4c2ff4357c5
Author: Gwendoline Chouasne-Guillon <chouasne@xxxxxxxxxxxxxx>
Date: Thu Apr 2 16:11:04 2015 +0200
Staging: lustre: o2iblnd_modparam.c: remove unneeded space
before the arguments of a function
Remove unneeded space before the arguments of a function
Signed_off_by: Gwendoline Chouasne-guillon <chouasne@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit af967b29c810bfceb547f312ea62920675094738
Author: Guillaume Matheron <guillaume.matheron@xxxxxx>
Date: Thu Apr 2 16:10:15 2015 +0200
Staging: lustre: o2iblnd_cb.c: Removed a bunch of spaces before
parenthesis
Fixed warnings as reported by checkpatch.pl
Also fixed padding before function arguments when needed
Signed-off-by: Guillaume Matheron <guillaume.matheron@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e416a893210a4b4f17bb7e6670f8cd218080a3d5
Author: Rafaël Bocquet <rafaelbocquet+personnel@xxxxxxxxx>
Date: Thu Apr 2 17:12:34 2015 +0200
Staging: lustre: config.c: fix a "do not add new typedefs" warning
reported by checkpatch.pl
Signed-off-by: Rafaël Bocquet <rafael.bocquet@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3a338e201486897ce7d633dcbb8c43983cb1d237
Author: Rafaël Bocquet <rafaelbocquet+personnel@xxxxxxxxx>
Date: Thu Apr 2 17:12:33 2015 +0200
Staging: lustre: config.c: fix lines exceeding 80 characters reported by
checkpatch.pl
Signed-off-by: Rafaël Bocquet <rafael.bocquet@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f2f770d74a8d12265e023f2792ad2eb996cabe1a
Author: Sami Tolvanen <samitolvanen@xxxxxxxxxx>
Date: Fri Apr 3 18:03:40 2015 +0800
crypto: arm/sha256 - Add optimized SHA-256/224
Add Andy Polyakov's optimized assembly and NEON implementations for
SHA-256/224.
The sha256-armv4.pl script for generating the assembly code is from
OpenSSL commit 51f8d095562f36cdaa6893597b5c609e943b0565.
Compared to sha256-generic these implementations have the following
tcrypt speed improvements on Motorola Nexus 6 (Snapdragon 805):
bs b/u sha256-neon sha256-asm
16 16 x1.32 x1.19
64 16 x1.27 x1.15
64 64 x1.36 x1.20
256 16 x1.22 x1.11
256 64 x1.36 x1.19
256 256 x1.59 x1.23
1024 16 x1.21 x1.10
1024 256 x1.65 x1.23
1024 1024 x1.76 x1.25
2048 16 x1.21 x1.10
2048 256 x1.66 x1.23
2048 1024 x1.78 x1.25
2048 2048 x1.79 x1.25
4096 16 x1.20 x1.09
4096 256 x1.66 x1.23
4096 1024 x1.79 x1.26
4096 4096 x1.82 x1.26
8192 16 x1.20 x1.09
8192 256 x1.67 x1.23
8192 1024 x1.80 x1.26
8192 4096 x1.85 x1.28
8192 8192 x1.85 x1.27
Where bs refers to block size and b/u to bytes per update.
Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx>
Cc: Andy Polyakov <appro@xxxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 87b1675634e1e9f1570445c55604204771ac9078
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 22:39:40 2015 +0800
crypto: api - Change crypto_unregister_instance argument type
This patch makes crypto_unregister_instance take a crypto_instance
instead of a crypto_alg. This allows us to remove a duplicate
CRYPTO_ALG_INSTANCE check in crypto_unregister_instance.
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 1f7237109951ebe8dc194461716443a5d8caf308
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 22:31:22 2015 +0800
crypto: api - Fix races in crypto_unregister_instance
There are multiple problems in crypto_unregister_instance:
1) The cra_refcnt BUG_ON check is racy and can cause crashes.
2) The cra_refcnt check shouldn't exist at all.
3) There is no reference on tmpl to protect the tmpl->free call.
This patch rewrites the function using crypto_remove_spawn which
now morphs into crypto_remove_instance.
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 13cf394c8c79b5655cdc76f7ae0d9869a1434103
Author: Vutla, Lokesh <lokeshvutla@xxxxxx>
Date: Thu Apr 2 15:32:45 2015 +0530
crypto: omap-sham - Add the offset of sg page to vaddr
kmap_atomic() gives only the page address of the input page.
Driver should take care of adding the offset of the scatterlist
within the page to the returned page address.
omap-sham driver is not adding the offset to page and directly operates
on the return vale of kmap_atomic(), because of which the following
error comes when running crypto tests:
00000000: d9 a1 1b 7c aa 90 3b aa 11 ab cb 25 00 b8 ac bf
[ 2.338169] 00000010: c1 39 cd ff 48 d0 a8 e2 2b fa 33 a1
[ 2.344008] alg: hash: Chunking test 1 failed for omap-sha256
So adding the scatterlist offset to vaddr.
Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 07eb422db401fd584801197cff156b585c9ce7a9
Author: Martin Vassor <martin.vassor@xxxxxxx>
Date: Thu Apr 2 16:47:39 2015 +0200
Staging: lustre: lib-md.c format line too long
Format comment such that it is under 80 chars
Signed-off-by: Martin Vassor <martin.vassor@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 659dc3417e8502bf93c189b891d4a048edc10683
Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx>
Date: Thu Apr 2 20:01:15 2015 +0200
staging: lustre: include: remove unused macros
OBD_CHECK_DEV and OBD_CHECK_DEV_ACTIVE have been replaced by static
inline functions. They are removed since they are not used anymore.
Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f36b6553e0ffe2c06ffc025b23c13967754ce7f4
Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx>
Date: Thu Apr 2 20:00:24 2015 +0200
staging: lustre: include: replace OBD_CHECK_DEV_ACTIVE by
obd_check_dev_active
Static inline functions are preferred over macros. The inline function
obd_check_dev_active is introduced to replace OBD_CHECK_DEV_ACTIVE.
All functions that call obd_check_dev_active store the return values
and return them if they represent an error code.
Some of the changes were carried out manually while others were done
using coccinelle.
Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 4ca1b8fbe609b7c52aeaa78a5f4678efcc9b8d73
Author: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx>
Date: Thu Apr 2 19:59:15 2015 +0200
staging: lustre: include: replace OBD_CHECK_DEV by obd_check_dev
Static inline functions are preferred over macros. Hence, the function
obd_check_dev was introduced. obd_check_dev replaces the macro
OBD_CHECK_DEV. All functions that call obd_check_dev store the return
values and return them if they represent an error code.
Some of the changes were carried out manually while others were done
using coccinelle.
Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a18dd4702c923167e98acbb0c9d94463ce19546f
Author: Théotime Grohens <theotime.grohens@xxxxxx>
Date: Thu Apr 2 16:24:36 2015 +0200
Staging: lustre: lnet: selftest: lconctl.c: fixed indentation of the
switch
Signed-off-by: Théotime Grohens <theotime.grohens@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit c209069e9b81b1d2a9f344c1da102f3256460c16
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 16:28:12 2015 +0200
Staging: lustre: module.c: remove unneeded return statement
Remove an unneeded return statement in this file as reported by
checkpatch.pl.
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 59f084070c96f777f977ebd58dc934b9d2a1d95b
Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx>
Date: Thu Apr 2 23:01:04 2015 +0530
Staging: sm750fb: Remove zero testing pointer typed value
Removes variable comparison with 0.
Done using following coccinelle script.
@ disable is_zero,isnt_zero @
expression *E;
expression E1,f;
@@
E = f(...)
<...
(
- E == 0
+ !E
|
- E != 0
+ E
|
- 0 == E
+ !E
|
- 0 != E
+ E
)
...>
?E = E1
@ disable is_zero,isnt_zero @
expression *E;
@@
(
E ==
- 0
+ NULL
|
E !=
- 0
+ NULL
|
- 0
+ NULL
== E
|
- 0
+ NULL
!= E
)
Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e261e69e2d16b69eb712123b9e73bac50282b6a7
Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx>
Date: Thu Apr 2 22:57:55 2015 +0530
Staging: sm750fb: Fixed indent of switch-case
Fixed indent of switch-case by adding space using tabs.
Problem found using checkpatch.pl
ERROR: space required after that ';' (ctx:VxV)
Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 6ad6b5ed3e2472b399b567a2f036006bf25df467
Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx>
Date: Thu Apr 2 22:55:18 2015 +0530
Staging: sm750fb: Fix C99 Comments
Used C89 instead of C99 Comment and removed C99 comments performing
prints only.
Problem found using checkpatch.pl
ERROR: do not use C99 // comments
Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ecfd2267311ebe3fb2fe5e173dfd8f84f981ba0f
Author: Charlie Wong Super <1213charlie@xxxxxxxxx>
Date: Thu Apr 2 18:10:04 2015 +0800
Staging: comedi: addi_apci_1564: Delete a tap
Fix the checkpatch.pl WARNING: line over 80 characters
Signed-off-by: Charlie Wong Super <1213charlie@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 005b23d6b6e7e798b6799bedffc60f33494058ea
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Wed Apr 1 11:13:03 2015 +0300
staging: lustre: prevent underflows in lnet_parse_reply()
I don't know if "hdr->payload_length;" can really be negative, but if so
then we shouldn't allow it. Do the comparison as an unsigned.
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit faec8ab42b4a0f119a1cfbceef0c14b7b61059cb
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Wed Apr 1 11:12:15 2015 +0300
Staging: lustre: integer overflow in ioctl
hdr->ioc_len is a user controlled u32 so the addition can overflow,
especially on 32 bit systems.
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b311ebac5babac7ce2b11e35a1462815580324b8
Author: Achille Aknin <achille.aknin@xxxxxx>
Date: Thu Apr 2 16:12:04 2015 +0200
Staging: lustre: brw_test.c: remove unneeded return statement
Remove an unneeded return statement in this file
Signed-off-by: Achille Aknin <achille.aknin@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 62a935b256f68a71697716595347209fb5275426
Author: Borislav Petkov <bp@xxxxxxx>
Date: Fri Apr 3 10:42:50 2015 +0200
sched/core: Drop debugging leftover trace_printk call
Commit:
3c18d447b3b3 ("sched/core: Check for available DL bandwidth in
cpuset_cpu_inactive()")
forgot a trace_printk() debugging piece in and Steve's banner screamed
in dmesg. Remove it.
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxx>
Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1428050570-21041-1-git-send-email-bp@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 47091e3c5b072daca29a15d2a3caf40359b0d140
Author: Borislav Petkov <bp@xxxxxxx>
Date: Fri Apr 3 10:28:34 2015 +0200
x86/asm/entry: Drop now unused ENABLE_INTERRUPTS_SYSEXIT32
Commit:
4214a16b0297 ("x86/asm/entry/64/compat: Use SYSRETL to return from
compat mode SYSENTER")
removed the last user of ENABLE_INTERRUPTS_SYSEXIT32. Kill the
macro now too.
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
Link:
http://lkml.kernel.org/r/1428049714-829-1-git-send-email-bp@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 4214a16b02971c60960afd675d03544e109e0d75
Author: Andy Lutomirski <luto@xxxxxxxxxx>
Date: Thu Apr 2 17:12:12 2015 -0700
x86/asm/entry/64/compat: Use SYSRETL to return from compat mode SYSENTER
SYSEXIT is scary on 64-bit kernels -- SYSEXIT must be invoked
with usergs and IRQs on. That means that we rely on STI to
correctly mask interrupts for one instruction. This is okay by
itself, but the semantics with respect to NMIs are unclear.
Avoid the whole issue by using SYSRETL instead. For background,
Intel CPUs don't allow SYSCALL from compat mode, but they do
allow SYSRETL back to compat mode. Go figure.
To avoid doing too much at once, this doesn't revamp the calling
convention. We still return with EBP, EDX, and ECX on the user
stack.
Oddly this seems to be 30 cycles or so faster. Avoiding POPFQ
and STI will account for under half of that, I think, so my best
guess is that Intel just optimizes SYSRET much better than
SYSEXIT.
Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/57a0bf1b5230b2716a64ebe48e9bc1110f7ab433.1428019097.git.luto@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 347c6f6dda1098318088feb8e60188f0161e743d
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:39:05 2015 +0200
timekeeping: Get rid of stale comment
Arch specific management of xtime/jiffies/wall_to_monotonic is
gone for quite a while. Zap the stale comment.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Acked-by: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: John Stultz <john.stultz@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/2422730.dmO29q661S@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a49b116dcb1265f238f3169507424257b0519069
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:38:05 2015 +0200
clockevents: Cleanup dead cpu explicitely
clockevents_notify() is a leftover from the early design of the
clockevents facility. It's really not a notification mechanism,
it's a multiplex call. We are way better off to have explicit
calls instead of this monstrosity.
Split out the cleanup function for a dead cpu and invoke it
directly from the cpu down code. Make it conditional on
CPU_HOTPLUG as well.
Temporary change, will be refined in the future.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
[ Rebased, added clockevents_notify() removal ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1735025.raBZdQHM3m@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 52c063d1adbc16c76e70fffa20727fcd4e9343b3
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:37:24 2015 +0200
clockevents: Make tick handover explicit
clockevents_notify() is a leftover from the early design of the
clockevents facility. It's really not a notification mechanism,
it's a multiplex call. We are way better off to have explicit
calls instead of this monstrosity.
Split out the tick_handover call and invoke it explicitely from
the hotplug code. Temporary solution will be cleaned up in later
patches.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
[ Rebase ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1658173.RkEEILFiQZ@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit ffa48c0d76803057ee89bf220305466d74256d7b
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Fri Apr 3 02:36:10 2015 +0200
clockevents: Remove broadcast oneshot control leftovers
Now that all users are converted over to explicit calls into the
clockevents state machine, remove the notification chain leftovers.
Original-from: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: John Stultz <john.stultz@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/14018863.NQUzkFuafr@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 335f49196fd6011521f078cb44f445847e5aa183
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:34:49 2015 +0200
sched/idle: Use explicit broadcast oneshot control function
Replace the clockevents_notify() call with an explicit function call.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/6422336.RMm7oUHcXh@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a0b4122447a3c1a467ce4e4f1bb863e1170394d5
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:32:14 2015 +0200
ARM: Tegra: Use explicit broadcast oneshot control function
Replace the clockevents_notify() call with an explicit function call.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Alexandre Courbot <gnurou@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Stephen Warren <swarren@xxxxxxxxxxxxx>
Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
Link: http://lkml.kernel.org/r/2131111.rjxRLX1eZB@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit fb7f0398a98020def9429ddd7b4a8fc2d948b092
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:31:29 2015 +0200
ARM: OMAP: Use explicit broadcast oneshot control function
Replace the clockevents_notify() call with an explicit function call.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Tony Lindgren <tony@xxxxxxxxxxx>
Link: http://lkml.kernel.org/r/3123047.uVjevtxDV7@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit f6cee191fc6b286f9056a13456c4c8ade0aeb890
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:14:23 2015 +0200
intel_idle: Use explicit broadcast oneshot control function
Replace the clockevents_notify() call with an explicit function call.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Len Brown <lenb@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20714596.QMfNNPbuyU@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 7815701c5cd7276b712d898b3cf49c55e587dbb1
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:12:03 2015 +0200
ACPI/idle: Use explicit broadcast control function
Replace the clockevents_notify() call with an explicit function call.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/2653377.MSAlfA939I@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit c79521354e71a1fbcee040ee3147cadc0f8e3c97
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:06:37 2015 +0200
ACPI/PAD: Use explicit broadcast oneshot control function
Replace the clockevents_notify() call with an explicit function call.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Len Brown <lenb@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1552509.UntNmyqF5v@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 435c350e8197488f12c97e7df28a9c2199bd1673
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:05:53 2015 +0200
x86/amd/idle, clockevents: Use explicit broadcast oneshot control
functions
Replace the clockevents_notify() call with an explicit function call.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/8569669.lgxIty9PKW@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 1fe5d5c3c9ba0c4ade18e3325cba0ffe35127941
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:05:15 2015 +0200
clockevents: Provide explicit broadcast oneshot control functions
clockevents_notify() is a leftover from the early design of the
clockevents facility. It's really not a notification mechanism,
it's a multiplex call. We are way better off to have explicit
calls instead of this monstrosity.
Split out the broadcast oneshot control into a separate function
and provide inline helpers. Switch clockevents_notify() over.
This will go away once all callers are converted.
This also gets rid of the nested locking of clockevents_lock and
broadcast_lock. The broadcast oneshot control functions do not
require clockevents_lock. Only the managing functions
(setup/shutdown/suspend/resume of the broadcast device require
clockevents_lock.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Alexandre Courbot <gnurou@xxxxxxxxx>
Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Cc: Len Brown <lenb@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Stephen Warren <swarren@xxxxxxxxxxxxx>
Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
Cc: Tony Lindgren <tony@xxxxxxxxxxx>
Link: http://lkml.kernel.org/r/13000649.8qZuEDV0OA@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 89feddbfe7023ccfb4a6d7f5e3f5161d91b28b18
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:03:42 2015 +0200
clockevents: Remove the broadcast control leftovers
All users converted. Remove the notify leftovers.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/2076318.76XJZ8QYP3@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit fa8589fe3bfafadd80677c8eabae97dc5dab22c0
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:02:47 2015 +0200
ARM: OMAP: Use explicit broadcast control function
Replace the clockevents_notify() call with an explicit function call.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Tony Lindgren <tony@xxxxxxxxxxx>
Link: http://lkml.kernel.org/r/2124877.3nbWGILHCV@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 76962caa4b691ad09556903602143fc8b16802ae
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:02:34 2015 +0200
intel_idle: Use explicit broadcast control function
Replace the clockevents_notify() call with an explicit function call.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Len Brown <lenb@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/3878165.rXNXrtVNuy@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit ee7a1438b548fb5e206058d6bd0e2a5adf081dbf
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:02:18 2015 +0200
cpuidle: Use explicit broadcast control function
Replace the clockevents_notify() call with an explicit function call.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/2106401.cYdJzzA6Ic@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit ee41eebf9cef624b2e766a4b8688eeeedb65114c
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:02:00 2015 +0200
ACPI/processor: Use explicit broadcast control function
Replace the clockevents_notify() call with an explicit function call.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/25071624.dkenaL3SGT@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 979081e7440056da28b19e57acf20098caf49103
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:01:49 2015 +0200
ACPI/PAD: Use explicit broadcast control function
Replace the clockevents_notify() call with an explicit function call.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Len Brown <lenb@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1521832.mm0ZfkTzTA@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 162a688e84df49c5bcc855a5e5bf812d0ec89ad5
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:01:28 2015 +0200
x86/amd/idle, clockevents: Use explicit broadcast control function
Replace the clockevents_notify() call with an explicit function call.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1528188.S1pjqkSL1P@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 592a438ff3fea61d303c5784c209b3f1fd3e16df
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 02:01:10 2015 +0200
clockevents: Provide explicit broadcast control functions
clockevents_notify() is a leftover from the early design of the
clockevents facility. It's really not a notification mechanism,
it's a multiplex call. We are way better off to have explicit
calls instead of this monstrosity.
Split out the broadcast control into a separate function and
provide inline helpers. Switch clockevents_notify() over. This
will go away once all callers are converted.
This also gets rid of the nested locking of clockevents_lock and
broadcast_lock. The broadcast control functions do not require
clockevents_lock. Only the managing functions
(setup/shutdown/suspend/resume of the broadcast device require
clockevents_lock.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Cc: Len Brown <lenb@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Tony Lindgren <tony@xxxxxxxxxxx>
Link: http://lkml.kernel.org/r/8086559.ttsuS0n1Xr@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 3ff70551a942b4c1d3c2e96e31a5c6e369a6d0be
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Fri Apr 3 01:46:34 2015 +0200
ACPI/PAD: Remove the local APIC nonsense
While looking through the (ab)use of the clockevents_notify()
function I stumbled over the following gem in the acpi_pad code:
if (lapic_detected_unstable && !lapic_marked_unstable) {
/* LAPIC could halt in idle, so notify users */
for_each_online_cpu(i)
clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ON, &i);
lapic_marked_unstable = 1;
}
This code calls on the cpu which detects the lapic unstable
condition first clockevents_notify() to tell the core code that
the broadcast should be enabled on all online cpus. Brilliant
stuff that as it notifies the core code a num_online_cpus()
times that the broadcast should be enabled on the current cpu.
This probably has never been noticed because that code got never
tested with NOHZ=n and HIGHRES_TIMER=n or it just worked by
chance because one of the other mechanisms told the core in the
right way that the local apic timer is wreckaged.
Sigh, this is:
- The 4th incarnation of idle drivers which has their own mechanism
to detect and deal with X86_FEATURE_ARAT.
- The 2nd incarnation of fake idle mechanisms with a different set of
brainmelting bugs.
- Has been merged against an explicit NAK of the scheduler
maintainer with the promise to improve it over time.
- Another example of featuritis driven trainwreck engineering.
- Another pointless waste of my time.
Fix this nonsense by removing that lapic detection and
notification logic and simply call into the clockevents code
unconditonally. The ARAT feature is marked in the lapic
clockevent already so the core code will just ignore the
requests and return.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1887788.RObRuI4tSv@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit cf9328cc9989e028fdc64d8c0a7b1b043dc96735
Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Date: Thu Apr 2 12:41:45 2015 -0700
x86/asm/entry/32: Stop caching MSR_IA32_SYSENTER_ESP in tss.sp1
We write a stack pointer to MSR_IA32_SYSENTER_ESP exactly once,
and we unnecessarily cache the value in tss.sp1. We never
read the cached value.
Remove all of the caching. It serves no purpose.
Suggested-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/05a0163eb33ef5208363f0015496855da7cebadd.1428002830.git.luto@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit ff8287f36381deff729aa4e7b02296a080519fd0
Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Date: Thu Apr 2 12:41:44 2015 -0700
x86/asm/entry/32: Improve a TOP_OF_KERNEL_STACK_PADDING comment
At Denys' request, clean up the comment describing stack padding
in the 32-bit sysenter path.
No code changes.
Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/41fee7bb8490ae840fe7ef2699f9c2feb932e729.1428002830.git.luto@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 5d82d1a785155fe4ff65628a88b677cfacea863b
Author: Mark Yao <yzq@xxxxxxxxxxxxxx>
Date: Wed Apr 1 13:48:53 2015 +0800
drm/rockchip: vop: add vop power domain support
Reference the power domain incase vop power down when
in use.
Signed-off-by: Mark Yao <yzq@xxxxxxxxxxxxxx>
commit b340b3fb71473291ea924a47e0069828c83da729
Author: Caesar Wang <wxt@xxxxxxxxxxxxxx>
Date: Tue Mar 31 18:22:50 2015 +0800
drm: rockchip: Turn off VT switching on suspend
drm/rockchip already has support for disabling all displays on suspend
and enabling them on resume.
Disable automatic VT switching on suspend by the pm console tracking
layer.
Tested on veyron, used `echo mem > sys/power/state`
=> verified no VT switch
Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx>
Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx>
commit d3007dabeff493d82416a7ed69e0ff055a579fa1
Author: Daniel Kurtz <djkurtz@xxxxxxxxxxxx>
Date: Fri Jan 30 10:14:17 2015 +0100
drm/rockchip: register all connectors after bind
Register connectors with userspace after all components are bound.
Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx>
Reviewed-by: Dominik Behr <dbehr@xxxxxxxxxxxx>
drm_connector_get_name -> connector->name
This patch is necessary to make X11 see screens it seems.
Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx>
commit 7f53fbba3cf8db8f584b26e89802413bc2e8d902
Author: Heiko Stuebner <heiko@xxxxxxxxx>
Date: Fri Jan 30 20:28:48 2015 +0100
drm/rockchip: fix clk enable disable mismatch in vop_crtc_mode_set
The function disables the dclk at the beginning, so don't simply return
when an error happens, but instead enable the clock again, so that
enable and disable calls are balanced.
ret_clk is introduced to hold the clk_enable result and not mangle the
original error code.
Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx>
Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx>
commit 8e56f33f8439b2f8e7f4ae7f3d0bfe683ecc3b09
Author: John Stultz <john.stultz@xxxxxxxxxx>
Date: Wed Apr 1 20:34:39 2015 -0700
clocksource: Improve comment explaining clocks_calc_max_nsecs()'s 50%
safety margin
Ingo noted that the description of clocks_calc_max_nsecs()'s
50% safety margin was somewhat circular. So this patch tries
to improve the comment to better explain what we mean by the
50% safety margin and why we need it.
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Prarit Bhargava <prarit@xxxxxxxxxx>
Cc: Richard Cochran <richardcochran@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-20-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 0fa88cb4b82b5cf7429bc1cef9db006ca035754e
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:38 2015 -0700
time, drivers/rtc: Don't bother with rtc_resume() for the nonstop
clocksource
If a system does not provide a persistent_clock(), the time
will be updated on resume by rtc_resume(). With the addition
of the non-stop clocksources for suspend timing, those systems
set the time on resume in timekeeping_resume(), but may not
provide a valid persistent_clock().
This results in the rtc_resume() logic thinking no one has set
the time and it then will over-write the suspend time again,
which is not necessary and only increases clock error.
So, fix this for rtc_resume().
This patch also improves the name of persistent_clock_exist to
make it more grammatical.
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-19-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 264bb3f79f2a465477cdcd2f0554e21aedc443a3
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:37 2015 -0700
time: Fix a bug in timekeeping_suspend() with no persistent clock
When there's no persistent clock, normally
timekeeping_suspend_time should always be zero, but this can
break in timekeeping_suspend().
At T1, there was a system suspend, so old_delta was assigned T1.
After some time, one time adjustment happened, and xtime got the
value of T1-dt(0s<dt<2s). Then, there comes another system
suspend soon after this adjustment, obviously we will get a
small negative delta_delta, resulting in a negative
timekeeping_suspend_time.
This is problematic, when doing timekeeping_resume() if there is
no nonstop clocksource for example, it will hit the else leg and
inject the improper sleeptime which is the wrong logic.
So, we can solve this problem by only doing delta related code
when the persistent clock is existent. Actually the code only
makes sense for persistent clock cases.
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-18-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 814dcf8ead04f5ebcec74af06c705b207887f0fa
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:36 2015 -0700
drivers/rtc: Remove redundant rtc_valid_tm() from rtc_resume()
rtc_read_time() has already judged valid tm by rtc_valid_tm(),
so just remove it.
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-17-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 7f2981393af31a854879f2496cab4c978e886902
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:35 2015 -0700
time: Don't build timekeeping_inject_sleeptime64() if no one uses it
timekeeping_inject_sleeptime64() is only used by RTC
suspend/resume, so add build dependencies on the necessary RTC
related macros.
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
[ Improve commit message clarity. ]
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-16-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a5312f56e0a67deed5c7d1191140e00b6d367e01
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:34 2015 -0700
alpha, rtc: Change to use rtc_class_ops's set_mmss64()
Change alpha_rtc_set_mmss() and remote_set_mmss() to use
rtc_class_ops's set_mmss64(), to be y2038 safe.
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-15-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 933623c38f014b10db564f0ec44f9db64a5ced84
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:33 2015 -0700
drivers/rtc/mxc: Update driver to address y2038/y2106 issues
This driver has a number of y2038/y2106 issues.
This patch resolves them by:
- Replacing rtc_time_to_tm() with rtc_time64_to_tm()
- Replacing rtc_tm_to_time() with rtc_tm_to_time64()
- Changing mxc_rtc_set_mmss() to use rtc_class_ops's set_mmss64()
After this patch, the driver should not have any remaining
y2038/y2106 issues.
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-14-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a015b8aabfd2fb58875dea001f1eac8100eacc2e
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:32 2015 -0700
drivers/rtc/mxc: Convert get_alarm_or_time()/set_alarm_or_time() to use
time64_t
We want to convert mxc_rtc_set_mmss() to use rtc_class_ops's
set_mmss64(), but it uses get_alarm_or_time()/set_alarm_or_time()
internal interfaces which are y2038 unsafe.
So here as a separate patch, it converts these two internal
interfaces of "mxc" to use safe time64_t to make some
preparations.
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-13-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 482494a8d395877c4776a3d76f89342d7ad7c4c6
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:31 2015 -0700
drivers/rtc/mxc: Modify rtc_update_alarm() not to touch the alarm time
rtc_class_ops's set_alarm() shouldn't deal with the alarm date,
as this is handled in the rtc core.
See rtc_dev_ioctl()'s RTC_ALM_SET and RTC_WKALM_SET cases.
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-12-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 0307b0d77a0830b0fd4a22b5db4a9fa723a5fa5f
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:30 2015 -0700
drivers/rtc/mc13xxx: Update driver to address y2038/y2106 issues
This driver has a number of y2038/y2106 issues.
This patch resolves them by:
- Replacing rtc_time_to_tm() with rtc_time64_to_tm()
- Changing mc13xxx_rtc_set_mmss() to use rtc_class_ops's set_mmss64()
After this patch, the driver should not have any remaining
y2038/y2106 issues.
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-11-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 5c7e11bc66647f2e4bc95de9b4302fff6d612f3a
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:29 2015 -0700
drivers/rtc/ab3100: Update driver to address y2038/y2106 issues
This driver has a number of y2038/y2106 issues.
This patch resolves them by:
- Replacing rtc_tm_to_time() with rtc_tm_to_time64()
- Replacing rtc_time_to_tm() with rtc_time64_to_tm()
- Changing ab3100_rtc_set_mmss() to use rtc_class_ops's set_mmss64()
After this patch, the driver should not have any remaining
y2038/y2106 issues.
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-10-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 4d644ab84c6ed66f7a628c74d83c34d85bec13bf
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:28 2015 -0700
drivers/rtc/test: Update driver to address y2038/y2106 issues
This driver has a number of y2038/y2106 issues.
This patch resolves them by:
- Replacing get_seconds() with ktime_get_real_seconds()
- Replacing rtc_time_to_tm() with rtc_time64_to_tm()
Also add test_rtc_set_mmss64() for testing rtc_class_ops's
set_mmss64(), which can be activated by "test_mmss64" module
parameter.
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-9-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 8e4ff1a81aa91d12856287c7103d0301ac91351a
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:27 2015 -0700
drivers/rtc: Provide y2038 safe rtc_class_ops.set_mmss() replacement
Currently the rtc_class_op's set_mmss() function takes a 32-bit
second value (on 32-bit systems), which is problematic for dates
past y2038.
This patch provides a safe version named set_mmss64() using
y2038 safe time64_t.
After this patch, set_mmss() is deprecated and all its users
will be fixed to use set_mmss64(), it can be removed when having
no users.
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
[jstultz: Add whitespace fix for checkpatch]
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-8-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit cb850717b076d979058d52529e15f1736359d811
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:26 2015 -0700
ARM, clocksource/drivers: Provide read_boot_clock64() and
read_persistent_clock64() and use them
As part of addressing "y2038 problem" for in-kernel uses, this
patch converts read_boot_clock() to read_boot_clock64() and
read_persistent_clock() to read_persistent_clock64() using
timespec64 by converting clock_access_fn to use timespec64.
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Acked-by: Thierry Reding <treding@xxxxxxxxxx> (for tegra part)
Cc: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-7-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a0c2998f918e7e597d3c686c5f3d5a30d0382dd6
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:25 2015 -0700
clocksource/drivers/tegra: Provide y2038-safe
tegra_read_persistent_clock() replacement
As part of addressing "y2038 problem" for in-kernel uses, this
patch adds the y2038-safe tegra_read_persistent_clock64() using
timespec64.
Because we rely on some subsequent changes to convert arm
multiarch support, tegra_read_persistent_clock() will be removed
then.
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Acked-by: Thierry Reding <treding@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-6-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a451570c008b9e19592e29f15cfd295bdf818c7a
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:24 2015 -0700
ARM: OMAP: 32k counter: Provide y2038-safe omap_read_persistent_clock()
replacement
As part of addressing "y2038 problem" for in-kernel uses, this
patch adds the y2038-safe omap_read_persistent_clock64() using
timespec64.
Because we rely on some subsequent changes to convert arm
multiarch support, omap_read_persistent_clock() will be removed
then.
Also remove the needless spinlock, because
read_persistent_clock() doesn't run simultaneously.
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Acked-by: Tony Lindgren <tony@xxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-5-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 3c00a1fe8496ff29ab62764bb3f4ce4b48089004
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:23 2015 -0700
time: Add y2038 safe update_persistent_clock64()
As part of addressing in-kernel y2038 issues, this patch adds
update_persistent_clock64() and replaces all the call sites of
update_persistent_clock() with this function. This is a __weak
implementation, which simply calls the existing y2038 unsafe
update_persistent_clock().
This allows architecture specific implementations to be
converted independently, and eventually y2038-unsafe
update_persistent_clock() can be removed after all its
architecture specific implementations have been converted to
update_persistent_clock64().
Suggested-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-4-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 2ee966320028ac846654eba5344540eeb4dc228d
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:22 2015 -0700
time: Add y2038 safe read_persistent_clock64()
As part of addressing in-kernel y2038 issues, this patch adds
read_persistent_clock64() and replaces all the call sites of
read_persistent_clock() with this function. This is a __weak
implementation, which simply calls the existing y2038 unsafe
read_persistent_clock().
This allows architecture specific implementations to be
converted independently, and eventually the y2038 unsafe
read_persistent_clock() can be removed after all its
architecture specific implementations have been converted to
read_persistent_clock64().
Suggested-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-3-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 9a806ddbb9a18c510e4acdcc828b9a87f5fd3aef
Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Date: Wed Apr 1 20:34:21 2015 -0700
time: Add y2038 safe read_boot_clock64()
As part of addressing in-kernel y2038 issues, this patch adds
read_boot_clock64() and replaces all the call sites of
read_boot_clock() with this function. This is a __weak
implementation, which simply calls the existing y2038 unsafe
read_boot_clock().
This allows architecture specific implementations to be
converted independently, and eventually the y2038 unsafe
read_boot_clock() can be removed after all its architecture
specific implementations have been converted to
read_boot_clock64().
Suggested-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427945681-29972-2-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 6645f3187f5beb64f7a40515cfa18f3889264ece
Merge: 2e54a5b bd05954
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Fri Apr 3 07:00:02 2015 +0200
Merge tag 'perf-core-for-mingo' of
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
User visible changes:
- Support unnamed union/structure members data collection in 'perf
probe'. (Masami Hiramatsu)
- Support missing -f to override perf.data file ownership. (Yunlong
Song)
Infrastructure changes:
- No need to lookup thread twice when processing samples in 'perf
script'. (Arnaldo Carvalho de Melo)
- No need to pass thread twice to the scripting callbacks. (Arnaldo
Carvalho de Melo)
- No need to pass thread twice to the db-export facility. (Arnaldo
Carvalho de Melo)
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit d9dc64f30abe42f71bc7e9eb9d38c41006cf39f9
Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>
Date: Tue Jan 27 09:53:51 2015 -0700
x86/asm: Add support for the CLWB instruction
Add support for the new CLWB (cache line write back)
instruction. This instruction was announced in the document
"Intel Architecture Instruction Set Extensions Programming
Reference" with reference number 319433-022.
https://software.intel.com/sites/default/files/managed/0d/53/319433-022.pdf
The CLWB instruction is used to write back the contents of
dirtied cache lines to memory without evicting the cache lines
from the processor's cache hierarchy. This should be used in
favor of clflushopt or clflush in cases where you require the
cache line to be written to memory but plan to access the data
again in the near future.
One of the main use cases for this is with persistent memory
where CLWB can be used with PCOMMIT to ensure that data has been
accepted to memory and is durable on the DIMM.
This function shows how to properly use CLWB/CLFLUSHOPT/CLFLUSH
and PCOMMIT with appropriate fencing:
void flush_and_commit_buffer(void *vaddr, unsigned int size)
{
void *vend = vaddr + size - 1;
for (; vaddr < vend; vaddr += boot_cpu_data.x86_clflush_size)
clwb(vaddr);
/* Flush any possible final partial cacheline */
clwb(vend);
/*
* Use SFENCE to order CLWB/CLFLUSHOPT/CLFLUSH cache flushes.
* (MFENCE via mb() also works)
*/
wmb();
/* PCOMMIT and the required SFENCE for ordering */
pcommit_sfence();
}
After this function completes the data pointed to by vaddr is
has been accepted to memory and will be durable if the vaddr
points to persistent memory.
Regarding the details of how the alternatives assembly is set
up, we need one additional byte at the beginning of the CLFLUSH
so that we can flip it into a CLFLUSHOPT by changing that byte
into a 0x66 prefix. Two options are to either insert a 1 byte
ASM_NOP1, or to add a 1 byte NOP_DS_PREFIX. Both have no
functional effect with the plain CLFLUSH, but I've been told
that executing a CLFLUSH + prefix should be faster than
executing a CLFLUSH + NOP.
We had to hard code the assembly for CLWB because, lacking the
ability to assemble the CLWB instruction itself, the next
closest thing is to have an xsaveopt instruction with a 0x66
prefix. Unfortunately XSAVEOPT itself is also relatively new,
and isn't included by all the GCC versions that the kernel needs
to support.
Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>
Acked-by: Borislav Petkov <bp@xxxxxxx>
Acked-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1422377631-8986-3-git-send-email-ross.zwisler@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 9d21c9fa2cc24e2a195a79c27b6550e1a96051a4
Author: Eric Whitney <enwlinux@xxxxxxxxx>
Date: Fri Apr 3 00:17:31 2015 -0400
ext4: don't release reserved space for previously allocated cluster
When xfstests' auto group is run on a bigalloc filesystem with a
4.0-rc3 kernel, e2fsck failures and kernel warnings occur for some
tests. e2fsck reports incorrect iblocks values, and the warnings
indicate that the space reserved for delayed allocation is being
overdrawn at allocation time.
Some of these errors occur because the reserved space is incorrectly
decreased by one cluster when ext4_ext_map_blocks satisfies an
allocation request by mapping an unused portion of a previously
allocated cluster. Because a cluster's worth of reserved space was
already released when it was first allocated, it should not be released
again.
This patch appears to correct the e2fsck failure reported for
generic/232 and the kernel warnings produced by ext4/001, generic/009,
and generic/033. Failures and warnings for some other tests remain to
be addressed.
Signed-off-by: Eric Whitney <enwlinux@xxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 94426f4b9648154dc5a6760b59e6953e640ab3b1
Author: Eric Whitney <enwlinux@xxxxxxxxx>
Date: Fri Apr 3 00:13:42 2015 -0400
ext4: fix loss of delalloc extent info in ext4_zero_range()
In ext4_zero_range(), removing a file's entire block range from the
extent status tree removes all records of that file's delalloc extents.
The delalloc accounting code uses this information, and its loss can
then lead to accounting errors and kernel warnings at writeback time and
subsequent file system damage. This is most noticeable on bigalloc
file systems where code in ext4_ext_map_blocks() handles cases where
delalloc extents share clusters with a newly allocated extent.
Because we're not deleting a block range and are correctly updating the
status of its associated extent, there is no need to remove anything
from the extent status tree.
When this patch is combined with an unrelated bug fix for
ext4_zero_range(), kernel warnings and e2fsck errors reported during
xfstests runs on bigalloc filesystems are greatly reduced without
introducing regressions on other xfstests-bld test scenarios.
Signed-off-by: Eric Whitney <enwlinux@xxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 0f2af21aae11972fa924374ddcf52e88347cf5a8
Author: Lukas Czerner <lczerner@xxxxxxxxxx>
Date: Fri Apr 3 00:09:13 2015 -0400
ext4: allocate entire range in zero range
Currently there is a bug in zero range code which causes zero range
calls to only allocate block aligned portion of the range, while
ignoring the rest in some cases.
In some cases, namely if the end of the range is past i_size, we do
attempt to preallocate the last nonaligned block. However this might
cause kernel to BUG() in some carefully designed zero range requests
on setups where page size > block size.
Fix this problem by first preallocating the entire range, including
the nonaligned edges and converting the written extents to unwritten
in the next step. This approach will also give us the advantage of
having the range to be as linearly contiguous as possible.
Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit a5562f65b1371a0988b707c10c44fcc2bba56990
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Wed May 15 11:36:56 2013 -0300
[media] v4l: xilinx: Add Test Pattern Generator driver
The TPG generates multiple static or dynamic test patterns. The driver
currently hardcodes the pattern to the moving box pattern.
Signed-off-by: Christian Kohn <christian.kohn@xxxxxxxxxx>
Signed-off-by: Hyun Kwon <hyun.kwon@xxxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>
Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 5a4f3145aa685ddc2caf424763d42d3eaaebbc6f
Author: Maurizio Lombardi <mlombard@xxxxxxxxxx>
Date: Fri Apr 3 00:02:53 2015 -0400
ext4: remove unnecessary lock/unlock of i_block_reservation_lock
This is a leftover of commit 71d4f7d032149b935a26eb3ff85c6c837f3714e1
Signed-off-by: Maurizio Lombardi <mlombard@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
Reviewed-by: Lukas Czerner <lczerner@xxxxxxxxxx>
commit 40ac9b196d07813132e2d5a14aae40d5812f131e
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Wed Mar 26 11:46:25 2014 -0300
[media] v4l: xilinx: Add Video Timing Controller driver
The Video Timing Controller (VTC) includes a timing detector and/or a
timing generator. Only the generator is currently supported.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>
Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit df3305156f989339529b3d6744b898d498fb1f7b
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Wed May 15 11:36:19 2013 -0300
[media] v4l: xilinx: Add Xilinx Video IP core
Xilinx platforms have no hardwired video capture or video processing
interface. Users create capture and memory to memory processing
pipelines in the FPGA fabric to suit their particular needs, by
instantiating video IP cores from a large library.
The Xilinx Video IP core is a framework that models a video pipeline
described in the device tree and expose the pipeline to userspace
through the media controller and V4L2 APIs.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Hyun Kwon <hyun.kwon@xxxxxxxxxx>
Signed-off-by: Radhey Shyam Pandey <radheys@xxxxxxxxxx>
Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>
Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 08439fec266c3cc5702953b4f54bdf5649357de0
Author: Christoph Hellwig <hch@xxxxxx>
Date: Thu Apr 2 23:56:32 2015 -0400
ext4: remove block_device_ejected
bdi->dev now never goes away, so this function became useless.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 5f80f62adae2a2920781a847805d34b36b323f7d
Author: Wei Yuan <weiyuan.wei@xxxxxxxxxx>
Date: Thu Apr 2 23:50:48 2015 -0400
ext4: remove useless condition in if statement.
In this if statement, the previous condition is useless, the later one
has covered it.
Signed-off-by: Weiyuan <weiyuan.wei@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
Reviewed-by: Lukas Czerner <lczerner@xxxxxxxxxx>
commit c9bca8b33118573da9b7ac2ea21947a8e4d287dd
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Fri May 17 07:31:04 2013 -0300
[media] v4l: of: Add v4l2_of_parse_link() function
The function fills a link data structure with the device node and port
number at both the local and remote ends of a link defined by one of its
endpoint nodes.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 2dca0551e4e2f3fc2b9beee784c7071e1e79c14b
Author: Hyun Kwon <hyun.kwon@xxxxxxxxxx>
Date: Tue Mar 18 13:18:15 2014 -0300
[media] v4l: Add VUY8 24 bits bus format
Add VUY8 24 bits bus format, V4L2_MBUS_FMT_VUY8_1X24.
Signed-off-by: Hyun Kwon <hyun.kwon@xxxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit e8b2d7a565ae4fc8627ffe35b953062ff6119533
Author: Hyun Kwon <hyun.kwon@xxxxxxxxxx>
Date: Tue Mar 18 13:18:14 2014 -0300
[media] v4l: Sort YUV formats of v4l2_mbus_pixelcode
Keep the formats sorted by type, bus_width, bits per component, samples
per pixel and order of subsamples, in that order.
Signed-off-by: Hyun Kwon <hyun.kwon@xxxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 72b8e0f9fa8aee7e623808af1a5f33b70ebcb2c7
Author: Sheng Yong <shengyong1@xxxxxxxxxx>
Date: Thu Apr 2 23:47:42 2015 -0400
ext4: remove unused header files
Remove unused header files and header files which are included in
ext4.h.
Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 7b0fd4568bee379474eb0d989ef1125064f19fa7
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Wed May 15 11:34:26 2013 -0300
[media] v4l: Add RBG and RGB 8:8:8 media bus formats on 24 and 32 bit
busses
Add support and documentation for two media bus formats:
MEDIA_BUS_FMT_RBG888_1X24 and MEDIA_BUS_FMT_RGB888_1X32_PADHI
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 5a5394be30dd9725351cdd0f923c1e374dc140cc
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Wed Mar 26 00:01:44 2014 -0300
[media] media: entity: Document the media_entity_ops structure
Currently, there's no documentation for the structure. Add a
kernel-doc nano documentation to it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 08569d6477d76e2fc8fdd41cfb0ce02f59333c69
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:34:03 2015 -0300
[media] cx18: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 38a1421ddd68edecb53e6dd16bae3a4b089fa1cf
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 30 04:53:11 2015 -0300
[media] ivtv: disable fbuf support if ivtvfb isn't loaded
Disable all fbuf-related functionality if ivtvfb isn't loaded. This
caused various v4l2-compliance failures.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit bbc9fa2ece0f2bb1db9b195d7a6ac88468cd45d4
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 30 13:54:13 2015 -0300
[media] ivtv: replace crop by selection
Replace the old g/s_crop ioctls by the new g/s_selection ioctls.
This solves a v4l2-compliance failure, and it is something that needs
to be done anyway to eventually be able to remove the old g/s_crop
ioctl ops.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 4db4ca7450f97c300ebf74f5dca69015ad0d5ed3
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:34:04 2015 -0300
[media] sta2x11: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Cc: Federico Vaga <federico.vaga@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit d079f99f00f75065feb0c33cd7c7b8e4d224d3c9
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Mon Mar 9 19:10:51 2015 -0300
[media] media: sh_vou: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit afd270d1a45043cef14341bcceff62ed50e8dc9a
Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>
Date: Fri Mar 27 19:39:09 2015 -0300
[media] usbvision: fix leak of usb_dev on failure paths in
usbvision_probe()
There is no usb_put_dev() on failure paths in usbvision_probe().
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit cc7d2dfb75b3ac0f248801ceed65f69465eb0389
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Sun Mar 15 14:30:25 2015 -0300
[media] v4l2_plane_pix_format: use __u32 bytesperline instead of __u16
While running v4l2-compliance tests on vivid I suddenly got errors due to
a call to vmalloc_user with size 0 from vb2.
Digging deeper into the cause I discovered that this was due to the fact
that
struct v4l2_plane_pix_format defines bytesperline as a __u16 instead of a
__u32.
The test I was running selected a format of 4 * 4096 by 4 * 2048 with a 32
bit pixelformat.
So bytesperline was 4 * 4 * 4096 = 65536, which becomes 0 in a __u16. And
bytesperline * height is suddenly 0 as well. While the vivid driver may be
a virtual driver, it is to be expected that this limit will be hit for
real
hardware as well in the near future: 8k deep-color video will already
reach
it.
The solution is to change the type to __u32. The only drivers besides
vivid
that use the multiplanar API are little-endian ARM and SH platforms
(exynos,
ti-vpe, vsp1), so this is safe.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 03c278f01d70ce168a24f85a08e11636df30f580
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Tue Mar 10 14:53:05 2015 -0300
[media] media: davinci: vpfe_capture: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 60acf187681aa61f339030540aef74e4d0db875e
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:34:13 2015 -0300
[media] cx231xx: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 2aa689dd80575606a569951467eee6ac98710d33
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:34:12 2015 -0300
[media] usbvision: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 65b88c0be1f3fff0c652db19d5e13d8448764cf5
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:34:10 2015 -0300
[media] tm6000: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 4b30409b1b77975ed6197e3494662eedc7a1e26f
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:34:09 2015 -0300
[media] hdpvr: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit dbe98b30d3a0d703369fef9712482e12fc685805
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:34:08 2015 -0300
[media] gadget/uvc: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit cab9bf11f8ef433151a15b9519e3e0a56302c9a4
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:34:07 2015 -0300
[media] wl128x: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 650e629bf7a782ce3c646f12a0ec381147b2c9b9
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:34:05 2015 -0300
[media] m2m-deinterlace: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Cc: Javier Martin <javier.martin@xxxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit e239129ca7c5aa1791fa66528bfdd43854cf0d48
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:34:01 2015 -0300
[media] meye: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit f91fccde35cd41b085756b134d94b6f87ed1c94e
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:33:59 2015 -0300
[media] dt3155v4l: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 54ad7b9d427e62f21138aacf92f8d7585344f6df
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:33:58 2015 -0300
[media] radio-bcm2048: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 3ae863e0db47ae7815f9e52975e1fddfca59520a
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:33:57 2015 -0300
[media] saa7146: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 093654201e209b2a1aa59bd6c0bc1e33c1f6c4d2
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:33:56 2015 -0300
[media] vim2m: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Cc: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 635d62f073247e71b51167a01b84f08ff4ca000c
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 13:33:55 2015 -0300
[media] ivtv: embed video_device
Embed the video_device struct to simplify the error handling and in
order to (eventually) get rid of video_device_alloc/release.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 0c56fe31420ca599c90240315f7959bf1b4eb6ce
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date: Mon Jan 5 13:38:04 2015 -0600
mnt: Don't propagate unmounts to locked mounts
If the first mount in shared subtree is locked don't unmount the
shared subtree.
This is ensured by walking through the mounts parents before children
and marking a mount as unmountable if it is not locked or it is locked
but it's parent is marked.
This allows recursive mount detach to propagate through a set of
mounts when unmounting them would not reveal what is under any locked
mount.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
commit 5d88457eb5b86b475422dc882f089203faaeedb5
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date: Sat Jan 3 05:39:35 2015 -0600
mnt: On an unmount propagate clearing of MNT_LOCKED
A prerequisite of calling umount_tree is that the point where the tree
is mounted at is valid to unmount.
If we are propagating the effect of the unmount clear MNT_LOCKED in
every instance where the same filesystem is mounted on the same
mountpoint in the mount tree, as we know (by virtue of the fact
that umount_tree was called) that it is safe to reveal what
is at that mountpoint.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
commit 411a938b5abc9cb126c41cccf5975ae464fe0f3e
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date: Mon Dec 22 19:12:07 2014 -0600
mnt: Delay removal from the mount hash.
- Modify __lookup_mnt_hash_last to ignore mounts that have MNT_UMOUNTED
set.
- Don't remove mounts from the mount hash table in propogate_umount
- Don't remove mounts from the mount hash table in umount_tree before
the entire list of mounts to be umounted is selected.
- Remove mounts from the mount hash table as the last thing that
happens in the case where a mount has a parent in umount_tree.
Mounts without parents are not hashed (by definition).
This paves the way for delaying removal from the mount hash table even
farther and fixing the MNT_LOCKED vs MNT_DETACH issue.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
commit 590ce4bcbfb4e0462a720a4ad901e84416080bba
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date: Mon Dec 22 18:30:08 2014 -0600
mnt: Add MNT_UMOUNT flag
In some instances it is necessary to know if the the unmounting
process has begun on a mount. Add MNT_UMOUNT to make that reliably
testable.
This fix gets used in fixing locked mounts in MNT_DETACH
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
commit c003b26ff98ca04a180ff34c38c007a3998d62f9
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date: Thu Dec 18 13:10:48 2014 -0600
mnt: In umount_tree reuse mnt_list instead of mnt_hash
umount_tree builds a list of mounts that need to be unmounted.
Utilize mnt_list for this purpose instead of mnt_hash. This begins to
allow keeping a mount on the mnt_hash after it is unmounted, which is
necessary for a properly functioning MNT_LOCKED implementation.
The fact that mnt_list is an ordinary list makding available list_move
is nice bonus.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
commit 8318e667f176f7ea34451a1a530634e293f216ac
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date: Wed Dec 24 07:35:10 2014 -0600
mnt: Don't propagate umounts in __detach_mounts
Invoking mount propagation from __detach_mounts is inefficient and
wrong.
It is inefficient because __detach_mounts already walks the list of
mounts that where something needs to be done, and mount propagation
walks some subset of those mounts again.
It is actively wrong because if the dentry that is passed to
__detach_mounts is not part of the path to a mount that mount should
not be affected.
change_mnt_propagation(p,MS_PRIVATE) modifies the mount propagation
tree of a master mount so it's slaves are connected to another master
if possible. Which means even removing a mount from the middle of a
mount tree with __detach_mounts will not deprive any mount propagated
mount events.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
commit e819f152104c9f7c9fe50e1aecce6f5d4bf06d65
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date: Wed Dec 24 07:20:01 2014 -0600
mnt: Improve the umount_tree flags
- Remove the unneeded declaration from pnode.h
- Mark umount_tree static as it has no callers outside of namespace.c
- Define an enumeration of umount_tree's flags.
- Pass umount_tree's flags in by name
This removes the magic numbers 0, 1 and 2 making the code a little
clearer and makes it possible for there to be lazy unmounts that don't
propagate. Which is what __detach_mounts actually wants for example.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
commit a3b3c5627c8301ac850962b04f645dfab81e6a60
Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
Date: Thu Apr 2 20:33:53 2015 -0500
mnt: Use hlist_move_list in namespace_unlock
Small cleanup to make the code more readable and maintainable.
Signed-off-by: Eric Biederman <ebiederm@xxxxxxxxxxxx>
commit b3226f961aa91eb94971939400c7506e7dcc86c0
Author: Antti Palosaari <crope@xxxxxx>
Date: Tue Mar 24 09:40:58 2015 -0300
[media] ts2020: do not use i2c_transfer() on sleep()
There is no need to use bulk i2c_transfer() to write single register.
Use write register function instead.
Tested-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit ce0b065a7cc3cad8e974f1e8a5bead61563a3885
Author: Antti Palosaari <crope@xxxxxx>
Date: Mon Mar 23 20:35:57 2015 -0300
[media] m88ts2022: remove obsolete driver
This driver was replaced by ts2020 driver.
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 0fecb6c0944f841561067a2b7ae8738602f48cdb
Author: Antti Palosaari <crope@xxxxxx>
Date: Sun Mar 29 19:28:39 2015 -0300
[media] dw2102: switch ts2022 to ts2020 driver
Change ts2022 driver to ts2020 driver. ts2020 driver supports
both tuner chip models.
That affects TechnoTrend TT-connect S2-4600 DVB-S/S2 device, which
Olli just added.
Cc: Olli Salonen <olli.salonen@xxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit f31a6386000eb1459e89099867723e9bcc513fd6
Author: Antti Palosaari <crope@xxxxxx>
Date: Mon Mar 23 20:32:39 2015 -0300
[media] dvbsky: switch ts2022 to ts2020 driver
Change ts2022 driver to ts2020 driver. ts2020 driver supports
both tuner chip models.
Cc: Nibble Max <nibble.max@xxxxxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 2ad8dd417a6af899d6298869bf6d2f76b1eab6a6
Author: Antti Palosaari <crope@xxxxxx>
Date: Mon Mar 23 20:22:28 2015 -0300
[media] smipcie: switch ts2022 to ts2020 driver
Change ts2022 driver to ts2020 driver. ts2020 driver supports
both tuner chip models.
Cc: Nibble Max <nibble.max@xxxxxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit d76e08784cb8c08669613b6c1103452b5e4094c0
Author: Antti Palosaari <crope@xxxxxx>
Date: Mon Mar 23 18:52:46 2015 -0300
[media] cx23885: switch ts2022 to ts2020 driver
Change ts2022 driver to ts2020 driver. ts2020 driver supports
both chip models.
Cc: Olli Salonen <olli.salonen@xxxxxx>
Cc: Nibble Max <nibble.max@xxxxxxxxx>
Tested-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 83c1b6ce7562efe157faac04d388144e1fd3c053
Author: Antti Palosaari <crope@xxxxxx>
Date: Mon Mar 23 18:33:29 2015 -0300
[media] em28xx: switch PCTV 461e to ts2020 driver
Change ts2022 driver to ts2020 driver as ts2020 driver now supports
both models.
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit dc245a5f9b5163511e0c164c8aa47848f07b75a9
Author: Antti Palosaari <crope@xxxxxx>
Date: Mon Mar 23 18:26:55 2015 -0300
[media] ts2020: implement I2C client bindings
Implement I2C binding model.
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit abd9025b95619c02f83583c9659298bc65dcdf50
Author: Antti Palosaari <crope@xxxxxx>
Date: Mon Mar 23 14:14:40 2015 -0300
[media] ts2020: add support for TS2022
TS2022 is slightly newer and different version of same tuner, which
could be supported with rather small changes. Tuner type is
auto-detected.
Tested-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 27254c36346b8c3990f4951c39afc495c7c2c2ad
Author: Olli Salonen <olli.salonen@xxxxxx>
Date: Mon Mar 16 14:22:18 2015 -0300
[media] dw2102: TechnoTrend TT-connect S2-4600 DVB-S/S2 tuner
TechnoTrend TT-connect S2-4600 is a USB2.0 DVB-S/S2 tuner using the
popular
Montage M88DS3103/M88TS2022 demod/tuner.
The demodulator needs a firmware. Antti posted a firmware when releasing
support for PCTV 461e, available here:
http://palosaari.fi/linux/v4l-dvb/firmware/M88DS3103/
Signed-off-by: Olli Salonen <olli.salonen@xxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 70769b24d2973428907de3429dd2a5792e4ce317
Author: Olli Salonen <olli.salonen@xxxxxx>
Date: Mon Mar 16 14:14:05 2015 -0300
[media] dw2102: store i2c client for tuner into dw2102_state
Prepare the dw2102 driver for tuner drivers that are implemented as I2C
drivers (such as m88ts2022). The I2C client is stored in to the state
and released at disconnect.
Signed-off-by: Olli Salonen <olli.salonen@xxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 2c4ffe27d0a45b50ee1c7ed4da37409098483fcd
Author: Olli Salonen <olli.salonen@xxxxxx>
Date: Mon Mar 16 14:14:04 2015 -0300
[media] dw2102: combine su3000_state and s6x0_state into dw2102_state
Two separate state structs are defined for different devices inside the
dw2102. Combine them, as both only contain one element.
This will also make it easier to further cleanup the driver.
Signed-off-by: Olli Salonen <olli.salonen@xxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 67e6590aa9384f87492e20f78a5943718baa695b
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Fri Mar 20 10:37:38 2015 -0300
[media] m88ts2022: Nested loops shouldn't use the same index variable
There are a pair of nested loops inside m88ts2022_cmd() that use the same
index variable, but for different things. Split the variable.
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 0fd68f2f7aee2343f2396188362ba41447d8004f
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Mon Mar 9 20:44:40 2015 -0300
[media] smiapp: Clean up smiapp_get_pdata()
Don't set rval when it's not used (the function returns a pointer to
struct
smiapp_platform_data).
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit c4c0283ab3cd78f8c53e708f8e75e8ed80468a31
Author: Benoit Parrot <bparrot@xxxxxx>
Date: Fri Mar 20 18:03:52 2015 -0300
[media] media: i2c: add support for omnivision's ov2659 sensor
this patch adds support for omnivision's ov2659
sensor, the driver supports following features:
1: Asynchronous probing
2: DT support
3: Media controller support
Signed-off-by: Benoit Parrot <bparrot@xxxxxx>
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit d16cae25cba9372fb504ba1c024b775cbbe62618
Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 22 15:35:56 2015 -0300
[media] DocBook media: fix broken EIA hyperlink
This fixes the bibliography hyperlink to "http://www.eia.org"
which now redirects to a page with a "404 Not found" error.
The latest update to the document referred to is now available
on the Consumer Electronics Association website.
Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 924b34ea48252cdf258aec759638b61c7d82f282
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Fri Mar 20 14:05:02 2015 -0300
[media] DocBook media: improve V4L2_DV_FL_HALF_LINE documentation
Explicitly specify where the half-line is added or removed in
each field.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Cc: Prashant Laddha <prladdha@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit e202e515b7278e4b418df3ceafae3fdd2bd31128
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Fri Mar 20 13:23:06 2015 -0300
[media] vivid-tpg.c: fix wrong Bt.2020 coefficients
Mistyping 0.2627 as 0.2726 I can understand, but -0.4598 as -0.4629? No
idea how
I managed that. Anyway, these coefficients are now correct again.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 486e56be5274848fb1adc68a39a5b4e69cab8ca8
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Thu Mar 19 11:31:10 2015 -0300
[media] DocBook media: fix BT.2020 description
One number was wrong (0.6789 -> 0.6780) and Y' should have been Yc'.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit b766586b1a87c5417ee6d1f3806f06ccfc335277
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Wed Mar 18 07:05:31 2015 -0300
[media] DocBook media: improve event documentation
It always annoyed me that the event type documentation was separate from
the struct
v4l2_event documentation. This patch moves it all to one place,
VIDIOC_DQEVENT.
This makes much more sense.
Also changed the 'changes-flags' ref to 'ctrl-changes-flags' since this
referred to
control changes. There is a src-changes-flags as well, so 'changes-flags'
was a bit
vague.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 9a68c9fa760c958653def811ed7257e3e9bb2ee5
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Mon Mar 9 18:46:32 2015 -0300
[media] smiapp: Read link-frequencies property from the endpoint node
The documentation stated that the link-frequencies property belongs to the
endpoint node, not to the device's of_node. Fix this.
There are no DT board descriptions using the driver yet, so a fix in the
driver is sufficient.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 0aa83bb1814e64bfc744abb6bae85e264edee4ef
Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Date: Sat Mar 21 07:18:07 2015 -0300
[media] mn88473: implement lock for all delivery systems
Add capability to check if digital TV has lock for all delivery
systems.
Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit d73ab406137fb137f1ac56ed43cfb8a151179940
Author: Antti Palosaari <crope@xxxxxx>
Date: Mon Mar 16 19:01:53 2015 -0300
[media] mn88472: define symbol rate limits
w_scan complains about missing symbol rate limits:
This dvb driver is *buggy*: the symbol rate limits are undefined - please
report to linuxtv.org
Lets add some reasonable limits in order to keep w_scan happy :)
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 8459e41da53b48e9b5f92312f27e07a67ea6b27a
Author: Antti Palosaari <crope@xxxxxx>
Date: Mon Mar 16 18:56:21 2015 -0300
[media] mn88473: define symbol rate limits
w_scan complains about missing symbol rate limits:
This dvb driver is *buggy*: the symbol rate limits are undefined - please
report to linuxtv.org
Lets add some reasonable limits in order to keep w_scan happy :)
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 4752eb273133778816e7affe6c8381712f363c50
Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Date: Sun Mar 15 19:57:54 2015 -0300
[media] mn88472: check if firmware is already running before loading it
Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 567627bfb2b5837315fe467e52c1bbca634acc00
Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Date: Sun Mar 15 19:57:53 2015 -0300
[media] mn88473: check if firmware is already running before loading it
Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 0f21ac7f92e8a014a3c653337fbae7af4c240c3a
Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Date: Sun Mar 15 19:57:52 2015 -0300
[media] mn88473: implement firmware parity check
Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 307e95c92257fe2602b457ab6df56d9ef9a7444e
Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Date: Sun Mar 15 19:57:51 2015 -0300
[media] mn88472: implement firmware parity check
Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 7ba0c47c34a1ea5bc7a24ca67309996cce0569b5
Author: WANG Cong <xiyou.wangcong@xxxxxxxxx>
Date: Tue Mar 31 11:01:47 2015 -0700
ip6mr: call del_timer_sync() in ip6mr_free_table()
We need to wait for the flying timers, since we
are going to free the mrtable right after it.
Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 419df12fb5fa558451319276838c1842f2b11f8f
Author: WANG Cong <xiyou.wangcong@xxxxxxxxx>
Date: Tue Mar 31 11:01:46 2015 -0700
net: move fib_rules_unregister() under rtnl lock
We have to hold rtnl lock for fib_rules_unregister()
otherwise the following race could happen:
fib_rules_unregister(): fib_nl_delrule():
... ...
... ops = lookup_rules_ops();
list_del_rcu(&ops->list);
list_for_each_entry(ops->rules) {
fib_rules_cleanup_ops(ops); ...
list_del_rcu(); list_del_rcu();
}
Note, net->rules_mod_lock is actually not needed at all,
either upper layer netns code or rtnl lock guarantees
we are safe.
Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Cc: Thomas Graf <tgraf@xxxxxxx>
Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ed785309c94445dd90e242370e1f7bb034e008fd
Author: WANG Cong <xiyou.wangcong@xxxxxxxxx>
Date: Tue Mar 31 11:01:45 2015 -0700
ipv4: take rtnl_lock and mark mrt table as freed on namespace cleanup
This is the IPv4 part for commit 905a6f96a1b1
(ipv6: take rtnl_lock and mark mrt6 table as freed on namespace cleanup).
Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ba6d6d8a06c323782badf8cbead6e4ec1c742235
Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Date: Sun Mar 15 19:57:50 2015 -0300
[media] mn88472: implement lock for all delivery systems
The increase of the lock timeout is needed for dvb-t2.
Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 46cf7074828e148bdc9112d0f81bab2dfcbefe62
Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Date: Sun Mar 15 19:57:48 2015 -0300
[media] rtl28xxu: lower the rc poll time to mitigate i2c transfer errors
The Astrometa device has issues with i2c transfers. Lowering the
poll time somehow makes these errors disappear.
Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit b91bfcda45a984288f5977b3574aca56eee6f2e4
Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Date: Sun Mar 15 19:57:47 2015 -0300
[media] r820t: change read_gain() code to match register layout
Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 7b7ef4b4a5997229a42c02435e1775623e4ab379
Author: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Date: Sun Mar 15 19:57:46 2015 -0300
[media] r820t: add DVBC profile in sysfreq_sel
This will make the Astrometa DVB-T/T2/C usb stick be able to pick up
muxes around 290-314 MHz.
Signed-off-by: Benjamin Larsson <benjamin@xxxxxxxxxxxx>
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit f2272e1347c452fb6cc4cb6eeea8b7266cc87ae5
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Wed Jan 1 14:40:35 2014 -0300
[media] v4l: mt9v032: Add OF support
Parse DT properties into a platform data structure when a DT node is
available.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 5888f9df0dcd5eb3479345301e0a35a19fcb52a9
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Thu Mar 12 20:53:51 2015 -0300
[media] of: Add vendor prefix for Aptina Imaging
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 2d01209fd2d96cb9cd07b5c353efc47b525d71dc
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Wed Jan 1 14:40:35 2014 -0300
[media] v4l: mt9v032: Consider control initialization errors as fatal
The device requires control to be properly operated, they're not
optional.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 7c3be9f812be6c2466ecb705200fc13cc34caa9c
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Sat Sep 20 18:38:56 2014 -0300
[media] v4l: mt9p031: Convert to the gpiod API
This simplifies platform data and DT integration.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Reviewed-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 9012d0888c8fc473d5760f2367b002dfddee80f9
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Fri Feb 27 13:10:19 2015 -0300
[media] media: i2c: mt9p031: add support for asynchronous probing
Both synchronous and asynchronous mt9p031 subdevice probing
is supported by this patch.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 15af4a532f7fb21f7e02973a4829735ce13190c0
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Thu Feb 26 15:05:38 2015 -0300
[media] media: i2c: mt9p031: make sure we destroy the mutex
Make sure to call mutex_destroy() in case of probe failure or module
unload.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 198b47ddd23498cd88f4ec2c2a050eb727cc357c
Author: Enrico Scholz <enrico.scholz@xxxxxxxxxxxxxxxxx>
Date: Wed Feb 4 11:53:32 2015 -0300
[media] mt9p031: fixed calculation of clk_div
There must be used 'min_t', not 'max_t' for calculating the divider.
Signed-off-by: Enrico Scholz <enrico.scholz@xxxxxxxxxxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit ac0eb4809e88357b885c72b4e95def98235613c8
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Tue Mar 3 08:08:42 2015 -0300
[media] staging: media: omap4iss: video: Don't WARN() on unknown pixel
formats
When mapping from a V4L2 pixel format to a media bus format in the
VIDIOC_TRY_FMT and VIDIOC_S_FMT handlers, the requested format may be
unsupported by the driver. Return a hardcoded default format instead of
WARN()ing in that case.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 9d9104fb9db90f7d806b1f0ba270c209b8d4fa25
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Thu Dec 11 10:23:57 2014 -0300
[media] staging: media: omap4iss: Cleanup media entities after
unregistration
The ipipeif, ipipe and resizer media entities are cleaned up before
unregistering the media device, creating a race condition. Fix it by
cleaning them up at cleanup time.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit e831cd251fb91d6c25352d322743db0d17ea11dd
Author: Florian Echtler <floe@xxxxxxxxxxxxxx>
Date: Mon Mar 16 06:48:23 2015 -0300
[media] add raw video stream support for Samsung SUR40
This patch adds raw video support for the Samsung SUR40 using
vbuf2-dma-sg.
All tests from v4l2-compliance pass. Support for VB2_USERPTR is currently
disabled due to unexpected interference with dma-sg buffer sizes.
Signed-off-by: Florian Echtler <floe@xxxxxxxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
[hans.verkuil@xxxxxxxxx: fix compile warning: %ld -> %zd]
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 5f853487328ba4d9d99d5be4900d804b1fdf1f15
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Sun Mar 15 17:54:30 2015 -0300
[media] DocBook media: fix awkward language in VIDIOC_QUERYCAP
Fix some awkward language in the VIDIOC_QUERYCAP description.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 3c828ff8965630c757cceab8acfac060aa4da69f
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Sun Mar 15 17:51:54 2015 -0300
[media] DocBook media: fix VIDIOC_CROPCAP type description
The type field of VIDIOC_CROPCAP does not allow the MPLANE variants, just
as all the other crop/selection related ioctls.
Fix the description of CROPCAP and G_CROP and make the text describing
this consistent for all selection ioctls.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 82bdb26abcae2988c74be29203caf23dabbe4be3
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sun Mar 15 13:40:04 2015 -0300
[media] vivid: sanitize selection rectangle
Handle values like ~0 as width, height, left or top fields.
Just strip off the top 16 bits will ensure that the calculations
remain OK.
Found with v4l2-compliance.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 29813a6f34042da13d201694964d9dea3d4658ef
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Fri Mar 13 13:22:07 2015 -0300
[media] vivid: report only one frameinterval
The vivid driver reports a range of frame intervals for non-webcams, when
in fact
the frame interval is fixed for those inputs as it depends on the DV
timings or
standard. Just report the single discrete frame interval instead.
Caught by v4l2-compliance.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 1bd0835a27a8651c0a2a06415a64fdab161cbeba
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Sat Mar 14 09:35:23 2015 -0300
[media] vivid: allow s_dv_timings if it is the same as the current
Allow setting the same timings as the current timings (i.e., do nothing
in that
case). The code was actually there, but the vb2_is_busy() call was done
before
the timings check instead of afterwards.
Found by v4l2-compliance.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 02aa769d9fa12d51213e7b1db34bb9b200a967a3
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sat Mar 14 08:01:50 2015 -0300
[media] vivid: add support for 8-bit Bayer formats
Add support for: PIX_FMT_SBGGR8, SGBRG8, SGRBG8 and SRGGB8.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 87c674e24362cf0f8d5b70d2e20f6160045fd753
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Fri Mar 13 07:41:05 2015 -0300
[media] vivid: use v4l2_device.release to clean up the driver
Use the release callback of the v4l2_device to clean up the memory.
This prevents vivid from breaking if someone tries to unbind the
driver.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit f46d740fb0258982f00ffdbddc6486e674edafb5
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Fri Mar 13 05:40:37 2015 -0300
[media] vivid: turn this into a platform_device
This turns this driver into a platform device. This ensures that it
appears in /sys/bus/platform_device since it now has a proper parent
device.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 628821c84e9047bffab8357668a6b1ef6c0038a5
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Fri Mar 13 06:35:40 2015 -0300
[media] vivid: add support for packed YUV formats
Add support for the packed YUV formats YUV444, YUV555, YUV565 and YUV32.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 68cd4e9f21d9d3b868f78eb3a85165229cb4f024
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Fri Mar 13 05:36:08 2015 -0300
[media] vivid: add support for BGR666
Add support for the four byte BGR666 format.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit f234a76e10e700a01ad473358921bc695b6ef5c9
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Fri Mar 13 07:54:12 2015 -0300
[media] DocBook media: clarify BGR666
The documentation is not clear whether this is a three or four byte
format. Clarify this.
Also move the BGR666 format to the other 32 bit formats.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 71491063b85c04e6b68803db52cca7a9f14a945e
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Thu Mar 12 15:40:36 2015 -0300
[media] vivid: add support for PIX_FMT_RGB332
Add support for the one-byte-per-pixel RGB332 format.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit dde72bd773dfce36fd0fb193d8ac5096f31e041c
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Fri Mar 13 05:51:21 2015 -0300
[media] vivid: add support for NV24 and NV42
Add support for the YUV 4:4:4 formats NV24 and NV42.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 8f1ff5435d314d607504964f13593a074e8efac9
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Thu Mar 12 05:08:01 2015 -0300
[media] vivid: add support for [A|X]RGB555X
Only RGB555X was supported, add support for the other two variants.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 9e1b73cfed2e28061810221467aa3bdd5284cc83
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Wed Mar 11 08:16:03 2015 -0300
[media] vivid: fix format comments
Clarify which formats have an alpha channel and which do not by
using 'x' instead of 'a' if there is no alpha channel.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 8aca230b6d2769a0441782bcba242d0d007f0cea
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Wed Mar 11 08:14:34 2015 -0300
[media] vivid: add RGB444 support
Add support for (A/X)RGB444 formats.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit b521c375519f7d2a2d703f004f122a0831d8f22e
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 10:37:52 2015 -0300
[media] vivid: add the new planar and monochrome formats
Everything is in place to support these formats, so add them to
the list.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 1f9f23f62fb46d6cef93febe57bf41fb21fd01fa
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 12:06:27 2015 -0300
[media] vivid: add downsampling support
Add support in vivid for downsampling. Most of the changes are in
vivid_copy_buffer which needs to know about the right line widths.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit ddcaee9dd4c00174db8ddf913c87ddf3773c446e
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 12:03:52 2015 -0300
[media] vivid: add support for single buffer planar formats
Make vivid aware of the difference of planes and buffers. Note that
this does not yet add support for hor/vert downsampled formats.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 96c76efae3211c7b798553602d3165b4ea34aa95
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sat Mar 7 15:04:49 2015 -0300
[media] vivid: add new format fields
These fields are necessary to handle the new planar formats.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit ecb9e91b2dfa3ef69c17c03b2e73ce935254fa65
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 11:52:43 2015 -0300
[media] vivid-tpg: split off the pattern drawing code
The last part of the vivid-tpg refactoring: split off the pattern
drawing code into a function of its own. This greatly improves the
readability and maintainability of this code.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit c6ff1c1b5ba0cff72f899e3b3ba0343b5a0e0024
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 11:47:48 2015 -0300
[media] vivid-tpg: move the 'extras' drawing to a separate function
This moves the drawing code for the extras (border, square, etc) to
a function of its own instead of having this in the main for loop.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 07386b9ab1d2adcf83543dfee0e835db56ccb3d5
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 11:39:19 2015 -0300
[media] vivid-tpg: move 'extras' parameters to tpg_draw_params
Any parameters related to drawing 'extras' like the border, the square,
etc. are moved to struct tpg_draw_params.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit f0ce4fd6e03afcc22c6b2cd59e155832cea644a9
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 11:30:05 2015 -0300
[media] vivid-tpg: move pattern-related fields to struct tpg_draw_params
Add a new function that fills in pattern-related fields in struct
tpg_draw_params.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 5e72939322862770f5dea9634c3cd2700dff9ca2
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 11:26:43 2015 -0300
[media] vivid-tpg: move common parameters to tpg_draw_params
Replace local variables by fields in the tpg_draw_params struct.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit e76036d8507ca8568661e5c4f5010219d7097497
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 11:07:23 2015 -0300
[media] vivid-tpg: add a new tpg_draw_params structure
This is needed to refactor the drawing function which is much too big.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit dfff048953eb1e38e1f1ee718ff1295f219f1a89
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 11:04:02 2015 -0300
[media] vivid-tpg: add const where appropriate
Added 'const' to several functions where that is possible to do.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 9991deff1ac9361abbe0c5938b27f903f16d1ca0
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sun Mar 8 05:53:10 2015 -0300
[media] vivid-tpg: add helper functions to simplify common calculations
Add helper functions to handle horizontal downscaling and horizontal
scaling.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 51f309683510ced24b1b3886f0935a0ab32d1e0b
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sat Mar 7 14:57:50 2015 -0300
[media] vivid-tpg: add support for V4L2_PIX_FMT_GREY
Add monochrome support to the TPG.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 68c90d64964de8a0c8c19825f373943096e3f673
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sat Mar 7 14:55:09 2015 -0300
[media] vivid-tpg: add support for more planar formats
Now that the support for hor/vert downsampled planar formats is in
place we can add support for such formats to the TPG.
This patch adds support for:
V4L2_PIX_FMT_YUV420M
V4L2_PIX_FMT_YVU420M
V4L2_PIX_FMT_YUV420
V4L2_PIX_FMT_YVU420
V4L2_PIX_FMT_YUV422P
V4L2_PIX_FMT_NV16
V4L2_PIX_FMT_NV61
V4L2_PIX_FMT_NV12
V4L2_PIX_FMT_NV21
V4L2_PIX_FMT_NV12P
V4L2_PIX_FMT_NV21P
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 280abe474ec3c4e14b9bf3bdbe19c12b08530408
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sat Mar 7 14:50:41 2015 -0300
[media] vivid-tpg: finish hor/vert downsampling support
Implement horizontal and vertical downsampling when filling in the
plane. The TPG is now ready to support such formats.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 3e14e7a82c1efdd15253a67cf5dccb84b1e9b7f1
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sat Mar 7 14:23:16 2015 -0300
[media] vivid-tpg: add hor/vert downsampling support to tpg_gen_text
This will just skip lines/pixels since color fidelity is not quite
as important here as it is with the test patterns themselves.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 1f088dc162ff191b95d4737d9a3664d8b6a4fca8
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sat Mar 7 14:15:25 2015 -0300
[media] vivid-tpg: correctly average the two pixels in gen_twopix()
gen_twopix() is always called twice: once for the first and once for
the second pixel. Improve the code to properly average the two if the
format requires horizontal downsampling.
This is necessary for patterns like 1x1 red/blue checkers.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 5d7c539e194af598a8f8d8f616ce97581f3d079a
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sat Mar 7 14:06:43 2015 -0300
[media] vivid-tpg: precalculate downsampled lines
When dealing with vertical downsampling two successive lines have to be
averaged. In the case of the test pattern generator that only happens
if the two lines are using different patterns. So precalculate the average
between two pattern lines: one of pattern P and one of pattern P + 1.
That way there is no need to do any on-the-fly downsampling: it's all done
in the precalculate phase.
This patch also implements horizontal downsampling in the precalculate
phase.
The only thing that needs to be done is to half the width since the actual
downsampling happens when two pixels at a time are generated.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit ba01f673e031ade4f60583ab1ac4f06dd260a972
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sat Mar 7 13:57:27 2015 -0300
[media] vivid-tpg: add hor/vert downsampling fields
This is step one of supporting horizontal and vertical downsampling.
This just adds support for the h/vdownsampling fields and it increases
the maximum number of planes to 3.
Currently none of the planar formats need horizontal or vertical
downsampling, so this change has no effect at the moment.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 4db22041892946348f98672a5524bdf2f18f66f5
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sat Mar 7 13:39:01 2015 -0300
[media] vivid-tpg: add helper functions for single buffer planar formats
Add helpers functions to determine the line widths and image sizes
for planar formats that are stores in a single buffer.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 06d1f0c2eaaebe04fa3ea780ca37dcd6e05ade16
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sat Mar 7 13:01:53 2015 -0300
[media] vivid-tpg: separate planes and buffers
Add a new field that contains the number of buffers. This may be
less than the number of planes in case multiple planes are combined
into one buffer.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit ba24b442033b7f50e24798685f4b24b8e4c3aaa2
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 10:06:55 2015 -0300
[media] vivid: do not allow video loopback for SEQ_TB/BT
Sequential top-bottom/bottom-top fields are not supported as video
loopback.
This is too much work to implement for field settings that are rarely
used.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 9c35bd48d54345b2c89426dd2efdb33adaa0aac3
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sat Mar 7 12:53:39 2015 -0300
[media] vivid-tpg: don't add offset when switching to monochrome
The grayscale values are still full range sRGB, so don't add the
limited range offset.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 1a05d3133f826c9578986d9ec6ffab64ced62a03
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sat Mar 7 12:49:57 2015 -0300
[media] vivid: add new checkboard patterns
Add a 2x2 checker patterns and 1x1 and 2x2 red/blue checker patterns.
Useful for testing 4:2:2 and 4:2:0 formats.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 43047f6b7467c2c9e3ef0b8113469c40b0b78cc3
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sat Mar 7 12:38:42 2015 -0300
[media] vivid: fix test pattern movement for V4L2_FIELD_ALTERNATE
The successive TOP/BOTTOM fields did not move as they should: only
every other field actually changed position.
The cause was that the tpg needs to know if it is dealing with a
FIELD_ALTERNATE case since that requires slightly different handling.
So tell the TPG whether or not the field setting is for the ALTERNATE
case or not.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit c501abcfbfd75da44f35992d0da39af92860fb01
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sat Mar 7 12:30:43 2015 -0300
[media] vivid: use TPG_MAX_PLANES instead of hardcoding plane-arrays
Two arrays of size 'max number of planes' have a hardcoded size instead
of using TPG_MAX_PLANES. Fix that, since TPG_MAX_PLANES will be increased
later on.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit a94e7d6e825ac20f17436477120fb3fd8a755ebf
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Fri Mar 6 11:24:04 2015 -0300
[media] vivid: wrong top/bottom order for FIELD_ALTERNATE
The condition to decide whether the current field is top or bottom
was inverted. Fix this.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 360565fcf72637258ebe6d3984c669bc9d86f7cd
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sat Mar 7 12:19:36 2015 -0300
[media] vivid: fix typo in plane size checks
The plane size check was hardcoded to plane 0 instead of using the plane
index.
This failed when using the NV61M format which has a larger plane size for
the second plane compared to the first plane.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 9832e0e013c5cbbf688c1c2421a0b05e01fe409b
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Mon Mar 9 12:34:32 2015 -0300
[media] vivid: the overlay API wasn't disabled completely for multiplanar
If the vivid driver is loaded in multiplanar mode, then the capture
overlay
functionality should be disabled. This wasn't fully done, which led to
v4l2-compliance errors.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 78223354a64284fe1ef74c5a7900435776fcf2a0
Merge: 2a6c0f0 6f46aed
Author: Jason Cooper <jason@xxxxxxxxxxxxxx>
Date: Thu Apr 2 23:27:23 2015 +0000
Merge branch 'irqchip/renesas' into irqchip/core
commit 2a6c0f0ad5c0127d18b43674bd94785fae2ef5fe
Merge: fa6ed4c 0d8e1d8
Author: Jason Cooper <jason@xxxxxxxxxxxxxx>
Date: Thu Apr 2 23:27:10 2015 +0000
Merge branch 'irqchip/mvebu' into irqchip/core
commit 6f46aedb9c85873b67f6186a8b0f9d7a769b6b2c
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Wed Apr 1 14:00:06 2015 +0200
irqchip: renesas-irqc: Add wake-up support
The IRQC module clock is managed through Runtime PM and PM Domains.
If wake-up is enabled, this clock must not be disabled during system
suspend.
Hence implement irq_chip.irq_set_wake(), which increments/decrements the
clock's enable_count when needed.
This fixes wake-up by gpio-keys on r8a73a4/ape6evm.
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx>
Link:
https://lkml.kernel.org/r/1427889606-18671-1-git-send-email-geert+renesas@xxxxxxxxx
Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx>
commit 0d8e1d80bbe9852f42784072880df002534c6e0f
Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 16:04:37 2015 +0200
irqchip: armada-370-xp: Allow using wakeup source
On the Armada 370/XP SoCs, in standby mode the SoC stay powered and it
is possible to wake-up from any interrupt sources. This patch adds
flag to the MPIC irqchip driver to let linux know this.
Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx>
Link:
https://lkml.kernel.org/r/1427724278-12379-5-git-send-email-gregory.clement@xxxxxxxxxxxxxxxxxx
Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx>
commit 739cfd9be9af6bbbe4c652077add59409adf2225
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Mon Mar 9 03:39:35 2015 -0300
[media] rcar-vin: Don't implement empty optional clock operations
The clock_start and clock_stop operations are now optional, don't
implement empty stubs.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 3781760a3d2bed2df8ed4cc3d061f8541bf7bd1d
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Mon Mar 9 03:39:34 2015 -0300
[media] soc-camera: Make clock_start and clock_stop operations optional
Instead of forcing drivers to implement empty clock operations, make
them optional.
v4l2 clock registration in the soc-camera core should probably be
conditionned on the availability of those operations, but careful
review and/or testing of all drivers would be needed, so that should be
a separate step.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 2af12f025870f664244defab14796da2fdb5009e
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Mon Mar 9 03:39:33 2015 -0300
[media] soc-camera: Unregister v4l2 clock in the OF bind error path
The v4l2 clock registered in soc_of_bind() must be unregistered if an
error occurs and makes the function fail.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 4e65172f7bd20fcbfa87453d1e5711ad129d4216
Author: Josh Wu <josh.wu@xxxxxxxxx>
Date: Tue Feb 10 06:31:35 2015 -0300
[media] media: ov2640: add primary dt support
Add device tree support for ov2640.
In device tree, user needs to provide the master clock (xvclk).
User can add the reset/pwdn pins if they have.
Cc: devicetree@xxxxxxxxxxxxxxx
Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 87838addf6143430061823c334792185b56ede47
Author: Josh Wu <josh.wu@xxxxxxxxx>
Date: Tue Feb 10 06:31:36 2015 -0300
[media] media: ov2640: dt: add the device tree binding document
Add the document for ov2640 dt.
Cc: devicetree@xxxxxxxxxxxxxxx
Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit f180ebae1ac05805acdb808eb92e63ddbd014934
Author: Josh Wu <josh.wu@xxxxxxxxx>
Date: Sun Mar 1 22:52:38 2015 -0300
[media] media: ov2640: add async probe function
In async probe, there is a case that ov2640 is probed before the
host device which provided 'mclk'.
To support this async probe, we will get 'mclk' at first in the probe(),
if failed it will return -EPROBE_DEFER. That will let ov2640 wait for
the host device probed.
Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 0b9508aa030f8119c20fcf64b4b36bc792b59d41
Author: Josh Wu <josh.wu@xxxxxxxxx>
Date: Tue Feb 10 06:31:33 2015 -0300
[media] media: soc-camera: use icd->control instead of icd->pdev for
reset()
icd->control is the sub device dev, i.e. i2c device.
icd->pdev is the soc camera device's device.
To be consitent with power() function, we will call reset() with
icd->control as well.
Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 4f528afcfbcac540c8690b41307cac5c22088ff1
Author: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
Date: Sun Feb 1 08:12:33 2015 -0300
[media] V4L: add CCF support to the v4l2_clk API
V4L2 clocks, e.g. used by camera sensors for their master clock, do not
have to be supplied by a different V4L2 driver, they can also be
supplied by an independent source. In this case the standart kernel
clock API should be used to handle such clocks. This patch adds support
for such cases.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Tested-by: Josh Wu <josh.wu@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit a37462b919e1368ea3cf4bb0cbdb00ca8e76959c
Author: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
Date: Sat Jan 31 20:21:32 2015 -0300
[media] V4L: remove clock name from v4l2_clk API
All uses of the v4l2_clk API so far only register one clock with a fixed
name. This allows us to get rid of it, which also will make CCF and DT
integration easier.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Tested-by: Josh Wu <josh.wu@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 9b239b22df3ced4629af97e7edda558f1e7531b6
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Sat Mar 14 13:28:25 2015 -0300
[media] v4l2-ioctl: allow all controls if ctrl_class == 0
The check_ext_ctrls() function in v4l2-ioctl.c checks if all controls in
the
control array are from the same control class as c->ctrl_class. However,
that check should only be done if c->ctrl_class != 0. A 0 value means
that this restriction does not apply.
So return 1 (OK) if c->ctrl_class == 0.
Found by running v4l2-compliance on the uvc driver.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 2c9fc463d60b9d09111fde5903e1f3e8e891a674
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Fri Mar 13 13:25:53 2015 -0300
[media] v4l2-dev: disable selection ioctls for non-video devices
The selection/cropping ioctls are only valid for video nodes, not for vbi.
Found by v4l2-compliance when run on a VBI device node.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 8a55ddd94c3a763f701f003fd56e39f7c317063d
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Fri Mar 13 10:41:39 2015 -0300
[media] au0828: fix broken streaming
Commit c5036d61e0bed3f4f51391a145638b426825e69c ("media: au0828: drop
vbi_buffer_filled() and re-use buffer_filled()") broke video and vbi
streaming.
The vb2_buffer struct was copied instead of taking a pointer to it, but
vb2_buffer_done() needs the real object, not a copy, since it is hooking
the buffer into a different list.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit b18042a673e88c9457a6d1716219c2367ca447b0
Author: Antti Palosaari <crope@xxxxxx>
Date: Sat Mar 14 13:03:55 2015 -0300
[media] rtl28xxu: return success for unimplemented FE callback
Return success for FE callback on case we don't have any special
implementation. fc0013 tuner driver calls that callback in order to
switch antenna input, even we don't provide antenna switch.
Returning error caused fc0013 driver given up tuning.
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit b3b2bf820e82d7581462dea28a9c3af1bd8cc747
Author: Antti Palosaari <crope@xxxxxx>
Date: Sat Mar 14 11:13:07 2015 -0300
[media] rtl2832: disable regmap register cache
Caching register reads causes some random I/O errors on channel
change. Disable caching now in order to avoid those errors.
Reverts partly commit dcadb82
Signed-off-by: Antti Palosaari <crope@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit ba445432e384f86c1d8a4bff4b6f9ebc19d1b19c
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Fri Mar 13 08:00:05 2015 -0300
[media] DocBook media: fix PIX_FMT_SGRBR8 example
Fix the example of the V4L2_PIX_FMT_SGRBG8 Bayer format.
The even lines should read BGBG, not RBRB.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 27eb5e24e0d6f4e3be236e861475ed3aacd3c6d2
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Fri Mar 13 07:00:07 2015 -0300
[media] cx231xx: fix compiler warnings
If CONFIG_VIDEO_CX231XX_RC is undefined, then these compiler warnings
are generated:
In file included from drivers/media/usb/cx231xx/cx231xx-cards.c:23:0:
drivers/media/usb/cx231xx/cx231xx-cards.c: In function
â??cx231xx_release_resourcesâ??:
drivers/media/usb/cx231xx/cx231xx.h:982:30: warning: statement with no
effect [-Wunused-value]
#define cx231xx_ir_exit(dev) (0)
^
drivers/media/usb/cx231xx/cx231xx-cards.c:1158:2: note: in expansion of
macro â??cx231xx_ir_exitâ??
cx231xx_ir_exit(dev);
^
drivers/media/usb/cx231xx/cx231xx-cards.c: In function
â??cx231xx_init_devâ??:
drivers/media/usb/cx231xx/cx231xx.h:981:30: warning: statement with no
effect [-Wunused-value]
#define cx231xx_ir_init(dev) (0)
^
drivers/media/usb/cx231xx/cx231xx-cards.c:1351:2: note: in expansion of
macro â??cx231xx_ir_initâ??
cx231xx_ir_init(dev);
^
drivers/media/usb/cx231xx/cx231xx-cards.c: In function
â??cx231xx_usb_probeâ??:
drivers/media/usb/cx231xx/cx231xx.h:982:30: warning: statement with no
effect [-Wunused-value]
#define cx231xx_ir_exit(dev) (0)
^
drivers/media/usb/cx231xx/cx231xx-cards.c:1705:2: note: in expansion of
macro â??cx231xx_ir_exitâ??
cx231xx_ir_exit(dev);
^
drivers/media/usb/cx231xx/cx231xx-cards.c: In function
â??cx231xx_usb_disconnectâ??:
drivers/media/usb/cx231xx/cx231xx.h:982:30: warning: statement with no
effect [-Wunused-value]
#define cx231xx_ir_exit(dev) (0)
^
drivers/media/usb/cx231xx/cx231xx-cards.c:1754:3: note: in expansion of
macro â??cx231xx_ir_exitâ??
cx231xx_ir_exit(dev);
^
Fix by using static inlines instead of defines.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 78e9b7de78bb53e8bc7f4c4a60ebacb250c0c190
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Thu Mar 12 07:29:42 2015 -0300
[media] wl128x-radio really depends on TI_ST
All other drivers using the TI_ST infrastructure use
'depends on' for this symbol, and it makes no sense
to only enable that if CONFIG_NET is enable, because
the radio driver also depends on CONFIG_NET itself:
ERROR: "skb_queue_purge" [drivers/media/radio/wl128x/fm_drv.ko] undefined!
ERROR: "skb_push" [drivers/media/radio/wl128x/fm_drv.ko] undefined!
ERROR: "skb_pull" [drivers/media/radio/wl128x/fm_drv.ko] undefined!
Making the driver dependency explicit solves randconfig
build problems and makes it more obvious to the reader.
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit f2e37b9b733c720de917aa7616cce3a1c52225eb
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Thu Mar 12 04:27:43 2015 -0300
[media] rtl2832: fix compiler warning
>From the daily build:
rtl2832.c: In function 'rtl2832_read_status':
rtl2832.c:703:12: warning: 'tmp' may be used uninitialized in this
function [-Wmaybe-uninitialized]
} else if (tmp == 10) {
^
The code is OK, it's just the compiler that cannot figure out what's
going on. So just init 'tmp' to 0.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit fae119beddb5c102f117f7f4bd59803e0f6637df
Author: Julia Lawall <Julia.Lawall@xxxxxxx>
Date: Wed Mar 11 13:56:29 2015 -0300
[media] media: pci: cx23885: don't export static symbol
The semantic patch that fixes this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@r@
type T;
identifier f;
@@
static T f (...) { ... }
@@
identifier r.f;
declarer name EXPORT_SYMBOL;
@@
-EXPORT_SYMBOL(f);
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 073e24f5217019850ac586a8b93cf596c9e1900b
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Wed Mar 11 09:51:12 2015 -0300
[media] DocBook media: fix section IDs
The colorspace section IDs were assigned to the title instead of to the
section. Some links failed because of that.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 2ddb77bb1138dccb5067690e8696e991093e22c6
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Wed Mar 11 09:00:45 2015 -0300
[media] DocBook v4l: update bytesperline handling
The documentation says that the bytesperline field in v4l2_pix_format
refers
to the largest plane in the case of planar formats (i.e. multiple planes
stores in a single buffer).
For almost all planar formats the first plane is also the largest (or
equal)
plane, except for two formats: V4L2_PIX_FMT_NV24/NV42. For this YUV 4:4:4
format the second chroma plane is twice the size of the first luma plane.
Looking at the very few drivers that support this format the bytesperline
value that they report is actually that of the first plane and not that
of the largest plane.
Rather than fixing the drivers it makes more sense to update the
documentation
since it is very difficult to use the largest plane for this. You would
have
to check what the format is in order to know to which plane bytesperline
belongs, which makes calculations much more difficult.
This patch updates the documentation accordingly.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 3259aa57dba142c04da3f37e207f9cbcf30a76df
Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 10 11:43:20 2015 -0300
[media] MAINTAINERS: Update the maintainer mail address for stk1160
I'd rather use my work mail address to get patches, so let's update it.
Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit aeff09276748b66072f2db2e668cec955cf41959
Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 10 11:37:14 2015 -0300
[media] stk1160: Make sure current buffer is released
The available (i.e. not used) buffers are returned by
stk1160_clear_queue(),
on the stop_streaming() path. However, this is insufficient and the
current
buffer must be released as well. Fix it.
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit e933c6bc67d8129d184d5add4230eb8250646cb8
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 18:57:24 2015 -0300
[media] media: davinci: vpif_display: embed video_device struct in
channel_obj
Embed video_device struct (video_dev) in channel_obj and also the
Unregister path doesn't need to free the video_device structure,
hence, change the video_device.release callback point to
video_device_release_empty.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 8eef6669d3d4a9a8694bb6703fb81bd17bb9080e
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 18:57:23 2015 -0300
[media] media: davinci: vpif_capture: embed video_device struct in
channel_obj
Embed video_device struct (video_dev) in channel_obj and also the
Unregister path doesn't need to free the video_device structure,
hence, change the video_device.release callback point to
video_device_release_empty.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit afb7a966b54600d678f57535be6e5ef3156f04f1
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:53 2015 -0300
[media] media: blackfin: bfin_capture: embed video_device struct in
bcap_device
Embed video_device struct (video_dev) in bcap_device and
Unregister path doesn't need to free the video_device
structure, hence, change the video_device.release callback
point to video_device_release_empty.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 225ccaa307b544f13014600a2ca689a7d9847f18
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:52 2015 -0300
[media] media: blackfin: bfin_capture: drop bcap_get_unmapped_area()
this patch drops bcap_get_unmapped_area() and uses
vb2_fop_get_unmapped_area() helper provided by the vb2 core.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 9d490e529d567d15e984923aebe487c53e6c9ed3
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:51 2015 -0300
[media] media: blackfin: bfin_capture: set v4l2 buffer sequence
this patch adds support to set the v4l2 buffer sequence.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 812447e5871da28aba8bd752d49c2620569ed797
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:50 2015 -0300
[media] media: blackfin: bfin_capture: add support for VIDIOC_EXPBUF
this patch adds support for VIDIOC_EXPBUF.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 70753b5e70033c1f0ef649f6024c76615621f83a
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:49 2015 -0300
[media] media: blackfin: bfin_capture: add support for VB2_DMABUF
this patch adds support for VB2_DMABUF.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 8df229bdec3e13120b673713fbbb2aff0e9c0165
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:48 2015 -0300
[media] media: blackfin: bfin_capture: add support for vidioc_create_bufs
this patch adds support for vidioc_create_bufs.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 116a6488d32ac62336b9c1a1dd989fdbfab128bd
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:47 2015 -0300
[media] media: blackfin: bfin_capture: return -ENODATA for *dv_timings
calls
this patch adds support to return -ENODATA for *dv_timings calls
if the current output does not support it.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit fe00b716e75f78cb9f90328b6a5f18cc88089050
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:46 2015 -0300
[media] media: blackfin: bfin_capture: return -ENODATA for *std calls
this patch adds supports to return -ENODATA to *_std calls
if the selected output does not support it.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 2bf34b2f0952eeb15f10434ce0d1ee7356c005ff
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:45 2015 -0300
[media] media: blackfin: bfin_capture: make sure all buffers are returned
on stop_streaming() callback
In start_streaming() callback the buffer is removed from the
dma_queue list and assigned to cur_frm, this patch makes sure
that is returned to vb2 core with VB2_BUF_STATE_ERROR flag.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit d61233bf4cc3cdd378cb20236f1209ed8c2023f5
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:44 2015 -0300
[media] media: blackfin: bfin_capture: use vb2_ioctl_* helpers
this patch adds support to vb2_ioctl_* helpers.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit f0e91c65a9eb9faa25ba6d0a63683cf0152eb77f
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:43 2015 -0300
[media] media: blackfin: bfin_capture: use v4l2_fh_open and
vb2_fop_release
this patch adds support to use v4l2_fh_open() and vb2_fop_release,
which allows to drop driver specific struct bcap_fh, as this is handled
by core.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 8fd05b7eee4b5a8653751cab90b3d1aa7901ccf7
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:42 2015 -0300
[media] media: blackfin: bfin_capture: use vb2_fop_mmap/poll
No need to reinvent the wheel. Just use the already existing
functions provided by vb2.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit f314002279a4984cca86b5fa3920b6c84171beab
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:41 2015 -0300
[media] media: blackfin: bfin_capture: improve queue_setup() callback
This patch does the following:
a: returns -EINVAL in case format image size is less
then current image size.
b: assigns nbuffers to two in case the total of vq->num_buffers
and nbuffers is less then the number of buffers required by driver.
c: sets the sizes[0] of plane according to the fmt passed or which is
being set in the device.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit cd3c38effc6f7eac1b1aa64ba08dc8d5c5d0c809
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:40 2015 -0300
[media] media: blackfin: bfin_capture: set vb2 buffer field
set the vb2 buffer field in buf_prepare() callback,
alongside drop local variable buf as we already have
a pointer to vb2 buffer.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 5f65ca81c321e8390645b80460444c3aa04c856f
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:39 2015 -0300
[media] media: blackfin: bfin_capture: set min_buffers_needed
this patch sets the min_buffers_needed field of the vb2 queue
so that the vb2 core will make sure start_streaming() callback
is called only when we have minimum buffers queued.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 6692871a7c898ff05b33e58f1eab3ec1975bc894
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:38 2015 -0300
[media] media: blackfin: bfin_capture: release buffers in case
start_streaming() call back fails
this patch adds support to release the buffer by calling
vb2_buffer_done(), with state marked as VB2_BUF_STATE_QUEUED
if start_streaming() call back fails.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit b4e81b23788448c2ed9f4b8a3e3fdeb013a4a8f6
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sun Mar 8 11:40:37 2015 -0300
[media] media: blackfin: bfin_capture: drop buf_init() callback
this patch drops the buf_init() callback as init
of buf list is not required.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Tested-by: Scott Jiang <scott.jiang.linux@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit c0b50d951283eddec292811440f1d38eb2a3f455
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sun Mar 8 04:53:33 2015 -0300
[media] vivid: BT.2020 R'G'B' is limited range
According to the standard the R'G'B' BT.2020 colorspace is limited
range, not full range. Fix this.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit aa05b979f14998fec16fa38f1c91eaa197e73148
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sun Mar 8 04:53:32 2015 -0300
[media] videodev2.h: fix comment
The quantization comment in the header was incorrect w.r.t. BT.2020.
Fix this.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 1acb93ad3f68a0a509ccb50d78d65c1ea2f7ad7f
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sun Mar 8 04:53:31 2015 -0300
[media] DocBook media: BT.2020 RGB uses limited quantization range
In contrast to all other colorspaces, the BT.2020 colorspace uses
limited range R'G'B' quantization as the default.
This was incorrected documented, so fix this.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit f658d133ba40af54b167a69b149a78bd966fa269
Author: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Date: Sun Mar 8 04:53:30 2015 -0300
[media] DocBook media: fix xv601/709 formulas
The denominator for the scaling and offsets is 256, not 255. Fix this.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 1e8faa5945155ee8035cc3f9add6a715197f36ed
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Sun Mar 8 04:30:47 2015 -0300
[media] v4l2-ioctl: tidy up debug messages
Make sure the format fields are reported consistently.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 66108e3cb39f28b5b165519f90ae2001ce8b82a5
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Sun Mar 8 04:30:03 2015 -0300
[media] v4l2-framework.txt: debug -> dev_debug
The debug attribute was renamed to dev_debug. Update the doc accordingly.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 8b97e0e3f437ba01efeece830817c6adddc32641
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sat Mar 7 13:12:09 2015 -0300
[media] media: am437x-vpfe: embed video_device struct in vpfe_device
Embed video_device struct (video_dev) in vpfe_device and
Unregister path doesn't need to free the video_device
structure, hence, change the video_device.release callback
point to video_device_release_empty.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 7d87db3df00ccc138d6243ec12eb354e9c3f48ec
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sat Mar 7 12:30:50 2015 -0300
[media] media: am437x-vpfe: return error in case memory allocation failure
return error in case devm_kzalloc() fails.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit d37232390fd4d1f76061879390b0447287730e6b
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Sat Mar 7 12:30:49 2015 -0300
[media] media: am437x-vpfe: match the OF node/i2c addr instead of name
Instead of matching the subdevs with their name, match
it with OF node/ i2c address and adapter number.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 4eaa3a6cc4c577103d678492ec50979b3aa360a4
Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx>
Date: Thu Mar 5 23:39:40 2015 -0300
[media] drivers: media: platform: vivid: Fix possible null derefrence
Check for dev_fmt being null before derefrencing it, to assign it
to planes.
Found using Coccinelle.
Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx>
Acked-by: Julia Lawall <julia.lawall@xxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 64bf8049a2ec1e61e1475eb02b5514d7061d443e
Author: Masatake YAMATO <yamato@xxxxxxxxxx>
Date: Wed Mar 4 17:13:24 2015 -0300
[media] am437x: include linux/videodev2.h for expanding
BASE_VIDIOC_PRIVATE
In am437x-vpfe.h BASE_VIDIOC_PRIVATE is used for
making the name of ioctl command(VIDIOC_AM437X_CCDC_CFG).
The definition of BASE_VIDIOC_PRIVATE is in linux/videodev2.h.
However, linux/videodev2.h is not included in am437x-vpfe.h.
As the result an application using has to include both
am437x-vpfe.h and linux/videodev2.h.
With this patch, the application can include just am437x-vpfe.h.
Signed-off-by: Masatake YAMATO <yamato@xxxxxxxxxx>
Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit ff05cb4b81d81e997476dc6d2c18e884389b5196
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Tue Mar 3 08:23:59 2015 -0300
[media] vb2: check if vb2_fop_write/read is allowed
Return -EINVAL if read() or write() is not supported by the queue. This
makes it possible to provide both vb2_fop_read and vb2_fop_write in a
struct v4l2_file_operations since the vb2_fop_* function will check if
the file operation is allowed.
A similar check exists in __vb2_init_fileio() which is called from
__vb2_perform_fileio(), but that check is only done if no file I/O is
active. So the sequence of read() followed by write() would be allowed,
which is obviously a bug.
In addition, vb2_fop_write/read should always return -EINVAL if the
operation is not allowed, and by putting the check in the lower levels
of the code it is possible that other error codes are returned (EBUSY
or ERESTARTSYS).
All these issues are avoided by just doing a quick explicit check.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit ee662d44a23df45e2b3ff8b122e165b57672b656
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Mon Feb 23 11:49:21 2015 -0300
[media] media: am437x: Don't release OF node reference twice
The remote port reference is released both at the end of the OF graph
parsing loop, and in the error code path at the end of the function.
Those two calls will release the same reference, causing the reference
count to go negative.
Fix the problem by removing the second call.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Acked-by: Benoit Parrot <bparrot@xxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 4255c224b97f6d286d9d791962dec2b02c652b42
Author: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx>
Date: Thu Apr 2 16:53:11 2015 -0400
ext4: fix comments in ext4_can_extents_be_merged()
Since commit a9b8241594add, we are allowed to merge unwritten extents,
so here these comments are wrong, remove it.
Signed-off-by: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 80cfb71e2e9222b86399a554a69e299877f2dc27
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 16:42:43 2015 -0400
ext4: fix transposition typo in format string
According to C99, %*.s means the same as %*.0s, in other words, print as
many spaces as the field width argument says and effectively ignore the
string argument. That is certainly not what was meant here. The kernel's
printf implementation, however, treats it as if the . was not there,
i.e. as %*s. I don't know if de->name is nul-terminated or not, but in
any case I'm guessing the intention was to use de->name_len as precision
instead of field width.
[ Note: this is debugging code which is commented out, so this is not
security issue; a developer would have to explicitly enable
INLINE_DIR_DEBUG before this would be an issue. ]
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
commit 666b805150efd62f05810ff0db08f44a2370c937
Author: Neal Cardwell <ncardwell@xxxxxxxxxx>
Date: Wed Apr 1 20:26:46 2015 -0400
tcp: fix FRTO undo on cumulative ACK of SACKed range
On processing cumulative ACKs, the FRTO code was not checking the
SACKed bit, meaning that there could be a spurious FRTO undo on a
cumulative ACK of a previously SACKed skb.
The FRTO code should only consider a cumulative ACK to indicate that
an original/unretransmitted skb is newly ACKed if the skb was not yet
SACKed.
The effect of the spurious FRTO undo would typically be to make the
connection think that all previously-sent packets were in flight when
they really weren't, leading to a stall and an RTO.
Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx>
Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx>
Fixes: e33099f96d99c ("tcp: implement RFC5682 F-RTO")
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 11a9c7821c583aa22b35f37fba20539def9e8f14
Merge: c448b5e 64613d9
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Thu Apr 2 16:33:43 2015 -0400
Merge branch 'mlx5-next'
Eli Cohen says:
====================
mlx5 batch of patches for net-next
This series contains small fixes to the mlx5 core driver and also
preparation steps towards adding Ethernet support for ConnectX4
devices which will be part of mlx5 driver.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 64613d9499c4887485d4350387919ea507330d90
Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Date: Thu Apr 2 17:07:34 2015 +0300
net/mlx5_core: Extend struct mlx5_interface to support multiple protocols
Preparation for ethernet driver.
Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx>
Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ce0f75093282c5dca1e79ae3e3e893deaea86166
Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Date: Thu Apr 2 17:07:33 2015 +0300
net/mlx5_core: Modify arm CQ in preparation for upcoming Ethernet driver
Pass consumer index as a parameter to arm CQ
Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 233d05d28ad942929b6b4fbc48aa8dd083c16484
Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Date: Thu Apr 2 17:07:32 2015 +0300
net/mlx5_core: Move completion eqs from mlx5_ib to mlx5_core
Preparation for ethernet driver.
These functions will be used in drivers other than mlx5_ib.
Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx>
Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4ae6c18c59f1419202ab5e2a918e551099d88f9f
Author: Achiad Shochat <achiad@xxxxxxxxxxxx>
Date: Thu Apr 2 17:07:31 2015 +0300
net/mlx5_core: Update module info macros for ConnectX4 Support
Declare the support of new ConnectX4 HCA in module info
Pump up the module version
Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx>
Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 6cf0a15f07a5a4600beb72f3a246fcd9325e86aa
Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Date: Thu Apr 2 17:07:30 2015 +0300
IB/mlx5: Fix Mellanox copyright note
Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx>
Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 302bdf68fc56a6330bc6b10ce435b4d466417537
Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Date: Thu Apr 2 17:07:29 2015 +0300
net/mlx5_core: Fix Mellanox copyright note
Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx>
Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4cbdd27c9c3abf87d6fe88cdd749218193ed3e12
Author: Achiad Shochat <achiad@xxxxxxxxxxxx>
Date: Thu Apr 2 17:07:28 2015 +0300
net/mlx5_core: Fix a bug in alloc_token
In alloc_token(), the token '1' would be allocated twice consecutively.
Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx>
Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 21db507439ec3a76a9587f2ad50ad3e4d13f4440
Author: Ira Gusinsky <irenag@xxxxxxxxxxxx>
Date: Thu Apr 2 17:07:27 2015 +0300
net/mlx5_core: Avoid usage command work entry after writing command
doorbell
Avoid usage of command work entry in cmd_work_handler since it can be
released
by mlx5_cmd_invoke before the work handler returns to running.
Signed-off-by: Ira Gusinsky <irenag@xxxxxxxxxxxx>
Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 05e4ecd1dc8b085a9010f20dcb5409b25488480a
Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 17:07:26 2015 +0300
net/mlx5_core: Avoid copying outbox in aysnc command completion
Avoid copying to the output buffer in cmd_exec since this is done after
the
command is completed. Failure to do this may cause cases where the
callback
handler is called before the copy done by cmd_exec which then overwrites
it.
Reported-by: Tamer Hleihel <tamerh@xxxxxxxxxxxx>
Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 64599cca51de08cef94bc13a0f98351e5bb01f41
Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 17:07:25 2015 +0300
net/mlx5_core: Use coherent memory for command interface page
Use coherent memory for the commands descriptor page. Take measures to
make
sure the page is aligned to MLX5_ADAPTER_PAGE_SIZE as required by the
hardware.
Reported-by: Yevgeny Kliteynik <kliteyn@xxxxxxxxxxxx>
Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 60722c2ba02be052140998bc80ed77d74e3c03df
Author: Achiad Shochat <achiad@xxxxxxxxxxxx>
Date: Thu Apr 2 17:07:24 2015 +0300
net/mlx5_core: Use the right inbox struct in destroy mkey command
struct mlx5_query_mkey_mbox_in rather than mlx5_destroy_mkey_mbox_in
Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx>
Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b812b5441e359adb9bd44108f7f91e5b0ba4a768
Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Date: Thu Apr 2 17:07:23 2015 +0300
net/mlx5_core: Clear doorbell record inside mlx5_db_alloc()
Do it in one place instead of every where the function is invoked
Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx>
Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 9ef9baa2acda077f3831f6e7cdf751bc8691f78f
Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 17:07:22 2015 +0300
net/mlx5_core: Avoid setting DC requestor/responder resources
PRM does not support setting these values so avoid setting them.
Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7bef7ad24b9aa15cb06870f78ba8bd84bb7e1407
Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 17:07:21 2015 +0300
net/mlx5_core: Coding style fix
Put a line of space before return and next statement.
Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit c3c6c9c810e100ab92c782e855f9ab9991065f4e
Author: Haggai Abramonvsky <hagaya@xxxxxxxxxxxx>
Date: Thu Apr 2 17:07:20 2015 +0300
net/mlx5_core: Fix call to mlx5_core_qp_modify
Pass 0 in the sqd_event parameter.
Signed-off-by: Haggai Abramovsky <hagaya@xxxxxxxxxxxx>
Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ad1891062adcdacb5818e104707dca8c193c33d8
Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx>
Date: Thu Apr 2 17:07:19 2015 +0300
net/mlx5_core: Allocate firmware pages from device's NUMA node
Allocate firmware pages from the NUMA node which is close to the device.
Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7071b715873a66b69a9c0c5839963bb51aeae41b
Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
Date: Thu Apr 2 16:32:15 2015 -0400
ext4: fix bh leak on error paths in ext4_rename() and ext4_cross_rename()
Release references to buffer-heads if ext4_journal_start() fails.
Fixes: 5b61de757535 ("ext4: start handle at least possible moment when
renaming files")
Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
Reviewed-by: Jan Kara <jack@xxxxxxx>
commit 1cdf60c97a9e7bc1829cca2e52d61be75f02c13c
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Fri Mar 6 09:54:47 2015 -0300
[media] uvcvideo: Validate index during step-wise frame intervals
enumeration
Frame intervals exposed as an interval and step (so-called step-wise)
are restricted by the V4L2 API to a single enumeration entry. Return an
error when the index is not zero.
Reported-by: Alexey Smirnoff <fling@xxxxxxxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
[mchehab@xxxxxxxxxxxxxxx: add a missing collon at the end of the return
statement, in order to avoid compilation breakage]
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit fe6524719d67623786f1a993421388d3b373ab9d
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Mon Feb 16 15:30:10 2015 -0300
[media] uvcvideo: Recognize the Tasco USB microscope
The device is based on an Aveo chipset, implements UVC but advertises a
vendor-specific class on all interfaces.
Support it by listing the USB VID:PID explicitly.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 9e68c53910721ffc55c05ee9bbc08129c796b470
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Mon Feb 16 14:38:28 2015 -0300
[media] uvcvideo: Don't call vb2 mmap and get_unmapped_area with queue
lock held
videobuf2 has long been subject to AB-BA style deadlocks due to the
queue lock and mmap_sem being taken in different orders for the mmap and
get_unmapped_area operations. The problem has been fixed by making those
two operations callable without taking the queue lock, using an
mmap_lock internal to videobuf2.
The uvcvideo driver still calls the mmap and get_unmapped_area
operations with the queue lock held, resulting in a potential deadlock.
As the operations can now be called without locking the queue, fix it.
Reported-by: Bjørn Mork <bjorn@xxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit cfa967224382f8ac3adbb40117be776838b91ebc
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Sat Jan 31 21:11:46 2015 -0300
[media] smiapp: Make pixel_order_str static
pixel_order_str is only referred to in smiapp-core.c, it should be thus
static. Thanks to Hans Verkuil for pointing this out.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit c448b5e7853b5921957c4cbf5ad54a20eff79882
Merge: c5531ca ed193ec
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Thu Apr 2 16:27:13 2015 -0400
Merge branch 'tipc-next'
Jon Maloy says:
====================
tipc: remove some unnecessary complexity
The TIPC code is unnecessarily complex in some places, often because
the conditions or assumptions that were the cause for the complexity
are not valid anymore.
In these three commits, we eliminate some cases of such redundant
complexity.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ed193ece2649c194a87a9d8470195760d367c075
Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx>
Date: Thu Apr 2 09:33:02 2015 -0400
tipc: simplify link mtu negotiation
When a link is being established, the two endpoints advertise their
respective interface MTU in the transmitted RESET and ACTIVATE messages.
If there is any difference, the lower of the two MTUs will be selected
for use by both endpoints.
However, as a remnant of earlier attempts to introduce TIPC level
routing. there also exists an MTU discovery mechanism. If an intermediate
node has a lower MTU than the two endpoints, they will discover this
through a bisectional approach, and finally adopt this MTU for common use.
Since there is no TIPC level routing, and probably never will be,
this mechanism doesn't make any sense, and only serves to make the
link level protocol unecessarily complex.
In this commit, we eliminate the MTU discovery algorithm,and fall back
to the simple MTU advertising approach. This change is fully backwards
compatible.
Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit dff29b1a88524fe6afe296d6c477c491d1e02af0
Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx>
Date: Thu Apr 2 09:33:01 2015 -0400
tipc: eliminate delayed link deletion at link failover
When a bearer is disabled manually, all its links have to be reset
and deleted. However, if there is a remaining, parallel link ready
to take over a deleted link's traffic, we currently delay the delete
of the removed link until the failover procedure is finished. This
is because the remaining link needs to access state from the reset
link, such as the last received packet number, and any partially
reassembled buffer, in order to perform a successful failover.
In this commit, we do instead move the state data over to the new
link, so that it can fulfill the procedure autonomously, without
accessing any data on the old link. This means that we can now
proceed and delete all pertaining links immediately when a bearer
is disabled. This saves us from some unnecessary complexity in such
situations.
We also choose to change the confusing definitions CHANGEOVER_PROTOCOL,
ORIGINAL_MSG and DUPLICATE_MSG to the more descriptive TUNNEL_PROTOCOL,
FAILOVER_MSG and SYNCH_MSG respectively.
Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2da7142516527a5213588f47ed302e79a5d9527a
Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx>
Date: Thu Apr 2 09:33:00 2015 -0400
tipc: drop tunneled packet duplicates at reception
In commit 8b4ed8634f8b3f9aacfc42b4a872d30c36b9e255
("tipc: eliminate race condition at dual link establishment")
we introduced a parallel link synchronization mechanism that
guarentees sequential delivery even for users switching from
an old to a newly established link. The new mechanism makes it
unnecessary to deliver the tunneled duplicate packets back to
the old link, as we are currently doing. It is now sufficient
to use the last tunneled packet's inner sequence number as
synchronization point between the two parallel links, whereafter
it can be dropped.
In this commit, we drop the duplicate packets arriving on the new
link, after updating the synchronization point at each new arrival.
Although it would now have been sufficient for the other endpoint
to only tunnel the last packet in its send queue, and not the
entire queue, we must still do this to maintain compatibility
with older nodes.
This commit makes it possible to get rid if some complex
interaction between the two parallel links.
Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3f39fb0f1e52617fc502d989cac72dd3779fccd4
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Sun Nov 30 12:33:55 2014 -0300
[media] smiapp: Use of_property_read_u64_array() to read a 64-bit number
array
of_property_read_u64_array() wasn't yet part of the kernel tree when the
functionality was needed. Do use it now.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit c5531ca2bf3de4e172d2dcc12b97b9f663ab0453
Merge: 9f0d34b db60304
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Thu Apr 2 16:25:27 2015 -0400
Merge branch 'mlx4-next'
Or Gerlitz says:
====================
Mellanox mlx4 driver updates
The main feature added by this series are Ido's changes to support
Granular QoS for VFs, where for the time being only max rate is supported.
Muhammad added support for setting rx-fcs and rx-all through ethtool,
and Ido did the interface identify work.
Last, add Ido as a maintainer for the mlx4 Ethernet driver!
Some of next week is the Passover holiday here and I will be
mostly OOO. If needed (...) Ido or Amir will send V1 and such.
Rebased against net-next commit 033f46b "crypto: algif -
explicitly mark end of data".
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit db60304718583f99162adabb7dd96e2f7073f8f3
Author: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:23 2015 +0300
MAINTAINERS: Update mlx4_en entry
Add Ido Shamay as co-maintainer for the mlx4 Ethernet driver.
Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 78500b8c03236a18d454c9cc8a24cccca506b200
Author: Muhammad Mahajna <muhammadm@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:22 2015 +0300
net/mlx4_en: Add RX-ALL support
Enabled when the device supports KEEP FCS and IGNORE FCS.
When the flag is set, pass all received frames up the stack,
even ones with invalid FCS, controlled by ethtool.
Signed-off-by: Muhammad Mahajna <muhammadm@xxxxxxxxxxxx>
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f0df35037a0a0df902a31f79065222951888bbc9
Author: Muhammad Mahajna <muhammadm@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:21 2015 +0300
net/mlx4_en: Add RX-FCS support
Enabled when device supports KEEP FCS. When the flag is set, Ethernet FCS
is appended to the end of the frame, controlled by ethtool.
Signed-off-by: Muhammad Mahajna <muhammadm@xxxxxxxxxxxx>
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 51af33cfed248dc8f36fa82df06b85e10038a01e
Author: Ido Shamay <idos@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:20 2015 +0300
net/mlx4_en: Add interface identify support
Add support for the interface ethtool identify feature.
Make the physical port LED to blink with green and yellow colors.
The device handles the LED blink by itself (synchrous use of
set_phys_id), by returning 0 to ETHTOOL_ID_ACTIVE command.
Signed-off-by: Eyal Grossman <eyalgr@xxxxxxxxxxxx>
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a130b59057320192b4b00ed0ba4bc8a38f66f289
Author: Ido Shamay <idos@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:19 2015 +0300
net/mlx4: Add SET_PORT opcode modifiers enumeration
The calls to SET_PORT used hard-code numbers, when supplying command's
opcode modifiers, fix that to use well defined constants.
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 38438f7c7e8cdbb0e9f55aae0e43da67c460639f
Author: Ido Shamay <idos@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:18 2015 +0300
net/mlx4: Set enhanced QoS support by default when ETS supported
If HCA supports ETS QoS feature, set enhanced QoS bit in init_hca as
default.
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3742cc65512cd4897a63dce94104f9a6e74997a0
Author: Ido Shamay <idos@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:17 2015 +0300
net/mlx4: Warn users of depracated QoS Firmware
A new capability bit was introduced in the past to to differ devices
using the QoS ETS feature. The old was deprecated since then.
If driver sees device which set only the old capabilty, it will print
warning to user suggesting to upgrade the FW.
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit cda373f4849d5dd6fedceb4aeba35682a0e1a833
Author: Ido Shamay <idos@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:16 2015 +0300
net/mlx4_en: Enable TX rate limit per VF
Support granular QoS per VF, by implementing the ndo_set_vf_rate.
Enforce a rate limit per VF when called, and enabled only for VFs in
VST mode with user priority supported by the device.
We don't enforce VFs to be in VST mode at the moment of configuration,
but rather save the given rate limit and enforce it when the VF is
moved to VST with user priority which is supported (currently 0).
VST<->VGT or VST qos value state changes are disallowed when a rate
limit is configured. Minimum BW share is not supported yet.
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 08068cd5683f11e4505aa9c8cc6ed5942f8ad299
Author: Ido Shamay <idos@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:15 2015 +0300
net/mlx4: Added qos_vport QP configuration in VST mode
Granular QoS per VF feature introduce a new QP field, qos_vport.
PF administrator can connect VF QPs to a certain QoS Vport, to
inherit its proporties. Connecting QPs to the default QoS Vport
(defined as 0) is always allowed, even when there are no allocated VPPs.
At this point, only the default vport is connected to QPs.
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 666672d480fbae1af2e086f2bea200ed5607f967
Author: Ido Shamay <idos@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:14 2015 +0300
net/mlx4: Allocate VPPs for each port on PF init
Initialization of granular Qos per VF mechanism.
Query the port availible VPPs and allocates those on all supported
priorities in an equal share. Allocation is done only in SRIOV mode,
when the feature is supported by the device and port type is Ethernet.
Allocation currently is done only on the default priority 0.
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d019fcb2244519d453694bfce868f3e717bfcebb
Author: Ido Shamay <idos@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:13 2015 +0300
net/mlx4: Query device for QoS per VF support
Checks in QUERY_DEV_CAP if the granular QoS per VF feature is
supported by the device. Disabled for guests.
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1c29146d3821be984030b49cf9509a269edc3b8b
Author: Ido Shamay <idos@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:12 2015 +0300
net/mlx4: Add mlx4_SET_VPORT_QOS implementation
Add the SET_VPORT_QOS device command, which is ntended for virtual
granular QoS configuration per VF in SRIOV mode. The SET_VPORT_QOS
command sets and queries QoS parameters of a VPort. Each priority
allowed for a VPort is assigned with a share of the BW, and a BW
limitation. QoS parameters can be modified at any time, but must be
initialized before any QP is associated with the VPort.
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7e95bb99a8f969d4534867452793e44cc4731ca9
Author: Ido Shamay <idos@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:11 2015 +0300
net/mlx4: Add mlx4_ALLOCATE_VPP implementation
Implements device ALLOCATE_VPP command, to be used for granular QoS
configuration of VFs by the PF device. Defines and queries the amount
of VPPs assigned to each port, and the amount of VPPs assigned to each
priority of each port. Once the total VPPs are split between the
priorities
of a port, they may be assigned with a share of the BW or a rate limit.
Split into two functions (get/set) whoch are supplied with
mlx4_alloc_vpp_context and physical port number.
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 12a889c057504fbf307dd237aedb87263ef2848a
Author: Ido Shamay <idos@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:10 2015 +0300
net/mlx4: New file for QoS related firmware commands
Create two new files fw_qos.h and fw_qos.c in mlx4_core module.
It gathers all relevant QoS firmware related commands etc, thus improving
encapsulation of the mlx4_core module. For now it contains the QoS
existing
commands: mlx4_SET_PORT_SCHEDULER and mlx4_SET_PORT_PRIO2TC.
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4abccb61578694372dc9b245afd41f55b5f1e546
Author: Ido Shamay <idos@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:09 2015 +0300
net/mlx4: Aesthetic code changes in multi_func_init
Previous vf_oper and vf_admin code created very long lines, making it hard
to read the code. Added relevant in-struct pointers to reduce code
complexity and avoid code lines spread over 80 lines. Same logic is
preserved.
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit fccea6436a5bd16aed6f722efce13ec2c90427d7
Author: Ido Shamay <idos@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:08 2015 +0300
net/mlx4: Make mlx4_is_eth visible inline funcion
Currently implemented as static function in resource_tracker.c --
this change will allow other files in mlx4_core to use it as well.
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 241a08c3a767ca2f6ab1c99c4db4c3ff867de8aa
Author: Ido Shamay <idos@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:07 2015 +0300
net/mlx4_en: Change loopback only upon feature change
Currently any change of netdev features results in a call to
mlx4_en_update_loopback_state(). Those calls are unnecessary,
and should be called only upon loopback feature change.
Also moved some of the logic into mlx4_en_update_loopback_state().
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 802f42a8d99254b8602bf65cc50e8333bf479f13
Author: Ido Shamay <idos@xxxxxxxxxxxx>
Date: Thu Apr 2 16:31:06 2015 +0300
net/mlx4: Add RSS support for fragmented IP datagrams
Enable RSS support for fragmented IP packets, when device supports it.
Until now, fragmented IP packets were directed only to the default_qpn.
Since IP fragments (datagram) have no upper protocols (L3 IP packets),
hash is performed on 3-tuple - dst MAC, source IP and dest IP. The HW
makes sure that this holds for the 1st fragment too, so all fragments
go to the same QP.
Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0c36820e2ab7d943ab1188230fdf2149826d33c0
Author: Jonathan Davies <jonathan.davies@xxxxxxxxxx>
Date: Tue Mar 31 11:05:15 2015 +0100
xen-netfront: transmit fully GSO-sized packets
xen-netfront limits transmitted skbs to be at most 44 segments in size.
However,
GSO permits up to 65536 bytes, which means a maximum of 45 segments of
1448
bytes each. This slight reduction in the size of packets means a slight
loss in
efficiency.
Since c/s 9ecd1a75d, xen-netfront sets gso_max_size to
XEN_NETIF_MAX_TX_SIZE - MAX_TCP_HEADER,
where XEN_NETIF_MAX_TX_SIZE is 65535 bytes.
The calculation used by tcp_tso_autosize (and also tcp_xmit_size_goal
since c/s
6c09fa09d) in determining when to split an skb into two is
sk->sk_gso_max_size - 1 - MAX_TCP_HEADER.
So the maximum permitted size of an skb is calculated to be
(XEN_NETIF_MAX_TX_SIZE - MAX_TCP_HEADER) - 1 - MAX_TCP_HEADER.
Intuitively, this looks like the wrong formula -- we don't need two TCP
headers.
Instead, there is no need to deviate from the default gso_max_size of
65536 as
this already accommodates the size of the header.
Currently, the largest skb transmitted by netfront is 63712 bytes (44
segments
of 1448 bytes each), as observed via tcpdump. This patch makes netfront
send
skbs of up to 65160 bytes (45 segments of 1448 bytes each).
Similarly, the maximum allowable mtu does not need to subtract
MAX_TCP_HEADER as
it relates to the size of the whole packet, including the header.
Fixes: 9ecd1a75d977 ("xen-netfront: reduce gso_max_size to account for
max TCP header")
Signed-off-by: Jonathan Davies <jonathan.davies@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 9f0d34bc344889c2e6c593bd949d7ab821f0f4a5
Merge: e4a924f 0a48127
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Thu Apr 2 16:16:53 2015 -0400
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
drivers/net/usb/asix_common.c
drivers/net/usb/sr9800.c
drivers/net/usb/usbnet.c
include/linux/usb/usbnet.h
net/ipv4/tcp_ipv4.c
net/ipv6/tcp_ipv6.c
The TCP conflicts were overlapping changes. In 'net' we added a
READ_ONCE() to the socket cached RX route read, whilst in 'net-next'
Eric Dumazet touched the surrounding code dealing with how mini
sockets are handled.
With USB, it's a case of the same bug fix first going into net-next
and then I cherry picked it back into net.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 152635c6eadf41931892cccaac5fe8b627d9951b
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Mon Feb 16 07:45:01 2015 -0300
[media] Revert "[media] smiapp: Don't compile of_read_number() if
CONFIG_OF isn't defined"
This reverts commit cb88d7384e5e05f90c1daa7750bdb467fd026261.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 6c9fe765360efa97c63b89af685b620baf5e0012
Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Date: Wed Mar 4 10:55:22 2015 -0300
[media] media: s5p-mfc: fix broken pointer cast on 64bit arch
Unsigned int cannot be used to store casted pointer on 64bit
architecture, so correct such casts to properly use unsigned long
variables.
Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
[k.debski@xxxxxxxxxxx: removed volatile and __iomem from cast]
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit a301ea1f50e487393636901876ab44d22ec590b3
Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Date: Wed Mar 4 10:55:21 2015 -0300
[media] media: s5p-mfc: fix mmap support for 64bit arch
TASK_SIZE is depends on the systems architecture (32 or 64 bits) and it
should not be used for defining offset boundary for mmaping buffers for
CAPTURE and OUTPUT queues. This patch fixes support for MMAP calls on
the CAPTURE queue on 64bit architectures (like ARM64).
Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit f95c16ea70cac9987f5cdc28b937ba83ce8f0f98
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Wed Mar 25 19:57:39 2015 -0300
[media] omap3isp: Deprecate platform data support
Print a warning when the driver is used with platform data. Existing
platform data users should move to DT now.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit da7f3843d2c797419af6befcc0fdd54f6e13b6f4
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Wed Mar 25 19:57:38 2015 -0300
[media] omap3isp: Add support for the Device Tree
Add the ISP device to omap3 DT include file and add support to the driver
to
use it.
Also obtain information on the external entities and the ISP configuration
related to them through the Device Tree in addition to the platform data.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit b6eec1c4939962838ff51b10a8feb7a49bccc0d2
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Wed Mar 25 19:57:37 2015 -0300
[media] v4l: of: Read lane-polarities endpoint property
Add lane_polarities field to struct v4l2_of_bus_mipi_csi2 and write the
contents of the lane-polarities property to it. The field tells the
polarity
of the physical lanes starting from the first one. Any unused lanes are
ignored, i.e. only the polarity of the used lanes is specified.
Also rework reading the "data-lanes" property a little.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 9e1ee1b7307e384716a8c2cefca9036a2cf170e5
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Wed Mar 25 19:57:36 2015 -0300
[media] dt: bindings: Add lane-polarity property to endpoint nodes
Add lane-polarity property to endpoint nodes. This essentially tells that
the order of the differential signal wires is inverted.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 8644cdf972dd6dfebf98161025900f6a9d1ad58a
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Wed Mar 25 19:57:35 2015 -0300
[media] omap3isp: Replace many MMIO regions by two
The omap3isp MMIO register block is contiguous in the MMIO register space
apart from the fact that the ISP IOMMU register block is in the middle of
the area. Ioremap it at two occasions, and keep the rest of the layout of
the register space internal to the omap3isp driver.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Acked-by: Tony Lindgren <tony@xxxxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 503596a15225e00bdf24f0805567d5195f6c749f
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Wed Mar 25 19:57:34 2015 -0300
[media] omap3isp: Move the syscon register out of the ISP register maps
The syscon register isn't part of the ISP, use it through the syscom
driver
regmap instead. The syscom block is considered to be from 343x on ISP
revision 2.0 whereas 15.0 is assumed to have 3630 syscon.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Acked-by: Tony Lindgren <tony@xxxxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 00ccbf2f5b7580cd7dcdaeda84828d14f0cba3c9
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Thu Feb 19 15:56:14 2015 +0100
ftrace/x86: Let dynamic trampolines call ops->func even for dynamic fops
Dynamically allocated trampolines call ftrace_ops_get_func to get the
function which they should call. For dynamic fops (FTRACE_OPS_FL_DYNAMIC
flag is set) ftrace_ops_list_func is always returned. This is reasonable
for static trampolines but goes against the main advantage of dynamic
ones, that is avoidance of going through the list of all registered
callbacks for functions that are only being traced by a single callback.
We can fix it by returning ops->func (or recursion safe version) from
ftrace_ops_get_func whenever it is possible for dynamic trampolines.
Note that dynamic trampolines are not allowed for dynamic fops if
CONFIG_PREEMPT=y.
Link:
http://lkml.kernel.org/r/alpine.LNX.2.00.1501291023000.25445@xxxxxxxxxxxxx
Link:
http://lkml.kernel.org/r/1424357773-13536-1-git-send-email-mbenes@xxxxxxx
Reported-by: Miroslav Benes <mbenes@xxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 4fcfeca833c48e8cb899ae9cff31de481ae52ca2
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Wed Mar 25 19:57:33 2015 -0300
[media] omap3isp: Replace mmio_base_phys array with the histogram block
base
Only the histogram sub-block driver uses the physical address. Do not
store
it for other sub-blocks.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 6387b75284aa7b78c2e947934fb874444ab427e9
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Wed Mar 25 19:57:32 2015 -0300
[media] omap3isp: Calculate vpclk_div for CSI-2
The video port clock is l3_ick divided by vpclk_div. This clock must be
high
enough for the external pixel rate. The video port requires two clock
cycles
to process a pixel.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 3494bb05940e4c392baeb85f77c1e7c8a78b4e1a
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Wed Mar 25 19:57:31 2015 -0300
[media] omap3isp: Rename regulators to better suit the Device Tree
Rename VDD_CSIPHY1 as vdd-csiphy1 and VDD_CSIPHY2 as vdd-csiphy2.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 6890874772e4c5e2925187f262893df0eb0322ba
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Wed Mar 25 19:57:30 2015 -0300
[media] omap3isp: Refactor device configuration structs for Device Tree
Make omap3isp configuration data structures more suitable for consumption
by
the DT by separating the I2C bus information of all the sub-devices in a
group and the ISP bus information from each other. The ISP bus information
is made a pointer instead of being directly embedded in the struct.
In the case of the DT only the sensor specific information on the ISP bus
configuration is retained. The structs are renamed to reflect that.
After this change the structs needed to describe device configuration can
be
allocated and accessed separately without those needed only in the case of
platform data. The platform data related structs can be later removed once
the support for platform data can be removed.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Acked-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> (for cm-t35)
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 4c8f14861cccb7b19cfd582e135847aa772f3854
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Wed Mar 25 19:57:29 2015 -0300
[media] omap3isp: Platform data could be NULL
Only check for call platform data callback functions if there's platform
data. Also take care of a few other cases where the NULL pdata pointer
could
have been accessed, and remove the check for NULL dev->platform_data
pointer.
Removing the check for NULL dev->platform_data isn't strictly needed by
the
DT support but there's no harm from that either: the device now can be
used
without sensors, for instance.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 64904b574e33f897cc425fcbe64cebab92b3c6fb
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Wed Mar 25 19:57:28 2015 -0300
[media] omap3isp: DT support for clocks
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 703e6f625bd9400e76fd9dcda56011b67b954a10
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Wed Mar 25 19:57:27 2015 -0300
[media] omap3isp: Separate external link creation from platform data
parsing
Move the code which connects the external entity to an ISP entity into a
separate function. This disconnects it from parsing the platform data.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 8b3aff7cdd6c2e7c9a3df755b23525e393195102
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Wed Mar 25 19:57:26 2015 -0300
[media] omap3isp: Avoid a BUG_ON() in media_entity_create_link()
If an uninitialised v4l2_subdev struct was passed to
media_entity_create_link(), one of the BUG_ON()'s in the function will be
hit since media_entity.num_pads will be zero. Avoid this by checking
whether
the num_pads field is non-zero for the interface.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 697cca21b09ce4c641bce821b90e90b3e95d17f6
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Wed Mar 25 19:57:25 2015 -0300
[media] omap3isp: Fix error handling in probe
The mutex was not destroyed correctly if dma_coerce_mask_and_coherent()
failed for some reason.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 0ff4e419dc6a409a60dc492fbbc58288af78bed7
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Sat Feb 21 17:59:54 2015 -0300
[media] media: omap3isp: hist: Move histogram DMA to DMA engine
Replace the custom OMAP DMA API usage by DMA engine. Feature-wise the
driver has lost the ability to get notified of DMA transfers failure
through the completion handler, as the DMA engine API doesn't expose
that status information.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 32346b9cc01566126034f47afd94ff8a39238d3a
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Thu Feb 26 15:58:19 2015 -0300
[media] media: omap3isp: video: Use v4l2_get_timestamp()
Replace the open-coded copy by a function call.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 13dab904d5575c494d54643079f690b2a698ac14
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Mon Feb 23 17:19:31 2015 -0300
[media] media: omap3isp: video: drop setting of vb2 buffer state to
VB2_BUF_STATE_ACTIVE
There isn't a need to assign the state of vb2_buffer to active
as this is already done by the core.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 9be29369598543ff1d4800c2591640bc11ef2197
Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Date: Tue Feb 24 07:39:49 2015 -0300
[media] media: omap3isp: video: Don't call vb2 mmap with queue lock held
videobuf2 has long been subject to AB-BA style deadlocks due to the
queue lock and mmap_sem being taken in different orders for the mmap
operation. The problem has been fixed by making this operation callable
without taking the queue lock, using an mmap_lock internal to videobuf2.
The omap3isp driver still calls the mmap operation with the queue lock
held, resulting in a potential deadlock. As the operation can now be
called without locking the queue, fix it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit e213568ad6b06ac828fe2a050fe4ec7b69f09f37
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Thu Apr 2 12:00:58 2015 -0700
Bluetooth: Disallow LE local out-of-band data when LE privacy is used
When the LE pivacy feature is used, then pairing has to happen based
on resolvable random addresses (RPA), but currently there is no clean
way to retrieve the correct RPA. So instead of returning an outdated
RPA, just disallow this command when LE privacy is in use.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 6886f41d885e1a0c0e95069e3c73d27eed89d8ed
Author: Tyler Baker <tyler.baker@xxxxxxxxxx>
Date: Wed Apr 1 16:20:20 2015 -0700
selftest/mqueue: enable cross compilation
Use the CC variable instead of hard coding gcc. Also clean up the compiler
options by creating a CFLAGS variable.
Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx>
Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
commit 5de830490454315fa64fd42a6efa6ad83bf123da
Author: Tyler Baker <tyler.baker@xxxxxxxxxx>
Date: Wed Apr 1 16:20:19 2015 -0700
selftest/ipc: enable cross compilation
Use the CC variable instead of hard coding gcc.
Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx>
Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
commit ab923bb9e2aedc9333aa0153a610a9de8993345e
Author: Tyler Baker <tyler.baker@xxxxxxxxxx>
Date: Wed Apr 1 16:20:18 2015 -0700
selftest/memfd: include default header install path
Include the default path for INSTALL_HDR_PATH to make it less intrusive
when
cross building.
Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx>
Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
commit 365ce9997b40c763413e965bd6a3a87dfce01f74
Author: Tyler Baker <tyler.baker@xxxxxxxxxx>
Date: Wed Apr 1 16:20:17 2015 -0700
selftest/mount: enable cross compilation
Use the CC variable instead of hard coding gcc. Also clean up the compiler
options by creating a CFLAGS variable.
Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx>
Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
commit 52dd5576cd0d9d23b0b83b133d853a8ef074ee77
Author: Tyler Baker <tyler.baker@xxxxxxxxxx>
Date: Wed Apr 1 16:20:15 2015 -0700
selftest/memfd: enable cross compilation
Use the CC variable instead of hard coding gcc. Also clean up the compiler
options by creating a CFLAGS variable.
Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx>
Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
commit de9ad6d4edb63e0ba5d5aae365fb3565064fc00d
Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Date: Thu Apr 2 10:11:41 2015 +0200
nbd: Return error pointer directly
Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Acked-by: Pavel Machek <pavel@xxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit dab5313aa4e668d87253dd4289c816cb08f63e52
Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Date: Thu Apr 2 10:11:40 2015 +0200
nbd: Return error code directly
By returning the error code directly, we can avoid the jump label
error_out.
Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Acked-by: Pavel Machek <pavel@xxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit e018e7570c8b0f9f5a4bb0e1eff9b1e7f768f49b
Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Date: Thu Apr 2 10:11:39 2015 +0200
nbd: Remove fixme that was already fixed
The mentioned problem is not present anymore.
Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit d18509f5979881ae326e910115ab2ba914c016b6
Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Date: Thu Apr 2 10:11:38 2015 +0200
nbd: Restructure debugging prints
dprintk has some name collisions with other frameworks and drivers. It
is also not necessary to have these custom debug print filters. Dynamic
debug offers the same amount of filtered debugging.
This patch replaces all dprintks with dev_dbg(). It also removes the
ioctl dprintk which prints the ingoing ioctls which should be
replaceable by strace or similar stuff.
Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Acked-by: Pavel Machek <pavel@xxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit b9c495bb6d8edc719fd23af2ac67de8303cfc1e8
Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Date: Thu Apr 2 10:11:37 2015 +0200
nbd: Fix device bytesize type
The block subsystem uses loff_t to store the device size. Change the
type for nbd_device bytesize to loff_t.
Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Acked-by: Pavel Machek <pavel@xxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit d06df60b9460838553d37d01049d04c43a36f396
Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Date: Thu Apr 2 10:11:36 2015 +0200
nbd: Replace kthread_create with kthread_run
kthread_run includes the wake_up_process() call, so instead of
kthread_create() followed by wake_up_process() we can use this macro.
Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Acked-by: Pavel Machek <pavel@xxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 13e71d69cc7444b7d840bab581dbe831e440fb62
Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Date: Thu Apr 2 10:11:35 2015 +0200
nbd: Remove kernel internal header
The header is not included anywhere. Remove it and include the private
nbd_device struct in nbd.c.
Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 4e5b44ca7b5c44872b6ec172331a5545116e2d46
Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Date: Thu Apr 2 10:11:34 2015 +0200
Documentation: nbd: Add list of module parameters
Add a list of available module parameters as attachment to the
documentation.
Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit ef8d9e7db285ea3d26b13dfeb6762346c95dc0d1
Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Date: Thu Apr 2 10:11:33 2015 +0200
Documentation: nbd: Reformat to allow more documentation
Reformat the existing documentation to have more structure. This allows
for more documentation seperated from the existing paragraphs.
Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit e4a924f5768c55002c02ceba9b9f86824c35f956
Merge: 033f46b a45253b
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Thu Apr 2 14:05:02 2015 -0400
Merge branch 'netdev_iflink_remove'
Nicolas Dichtel says:
====================
Remove iflink field from the net_device structure
The first goal of this series was to advertise the veth peer via the
IFLA_LINK
attribute, but iflink was not ready for network namespaces.
The iflink of an interface should be set to its ifindex for a physical
interface
and to another value (0 if not relevant) for a virtual interface.
This was not the case for some interfaces, like vxlan, bond, or bridge for
example.
There is also a risk, if the targeted interface moves to another netns,
that the
ifindex changes without updating corresponding iflink fields (eg. vlan).
Moving the management of this property into virtual interface drivers
allows to
better handle this last case because most of virtual interface drivers
have a
pointer to the link netdevice.
Anyway, dev->iflink value was always a copy of some internal data of the
virtual
interface driver, thus let's use these internal data directly.
So, this series removes the iflink field and let the drivers manage it.
Only the last patch was present in the v1, but I fully rework it.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a45253bf32bf49cdb2807bad212b84f5ab51ac26
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Thu Apr 2 17:07:11 2015 +0200
veth: set iflink to the peer veth
Now that the peer netns is advertised in rtnl messages, we can set this
property
so that IFLA_LINK will advertise the peer ifindex. It allows the userland
to get
the full veth configuration.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e1622baf54df8cc958bf29d71de5ad545ea7d93c
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Thu Apr 2 17:07:10 2015 +0200
dev: set iflink to 0 for virtual interfaces
Virtual interfaces are supposed to set an iflink value != of their
ifindex.
It was not the case for some of them, like vxlan, bond or bridge.
Let's set iflink to 0 when dev->rtnl_link_ops is set.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7a66bbc96ce9ad8261fa5f7f6ae65370eb6866ee
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Thu Apr 2 17:07:09 2015 +0200
net: remove iflink field from struct net_device
Now that all users of iflink have the ndo_get_iflink handler available,
it's
possible to remove this field.
By default, dev_get_iflink() returns the ifindex of the interface.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit abd2be00d474956c542a1c2ec848af7196b7fd51
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Thu Apr 2 17:07:08 2015 +0200
dsa: implement ndo_get_iflink
Don't use dev->iflink anymore.
CC: Florian Fainelli <f.fainelli@xxxxxxxxx>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 5aa7add8f14bc29105bca841c053f574c8d232dd
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Thu Apr 2 17:07:07 2015 +0200
infiniband/ipoib: implement ndo_get_iflink
Don't use dev->iflink anymore.
CC: Roland Dreier <roland@xxxxxxxxxx>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7c4116588b2ad5f45c693e0f12b612b621604c92
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Thu Apr 2 17:07:06 2015 +0200
ipvlan: implement ndo_get_iflink
Don't use dev->iflink anymore.
CC: Mahesh Bandewar <maheshb@xxxxxxxxxx>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ef5fa6bc46ee516f732d1171323cf3b8524bb8c2
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Thu Apr 2 17:07:05 2015 +0200
macvlan: implement ndo_get_iflink
Don't use dev->iflink anymore.
CC: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2dbf6b5058ace6b12e0674b07d59d47177741ae7
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Thu Apr 2 17:07:04 2015 +0200
vlan: implement ndo_get_iflink
Don't use dev->iflink anymore.
CC: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ee9b9596a8dd90fc59a910f840a419321be5917b
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Thu Apr 2 17:07:03 2015 +0200
ipmr,ip6mr: implement ndo_get_iflink
Don't use dev->iflink anymore.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1e99584b911cb6f3d2a681e2532d8dc3f9339c9c
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Thu Apr 2 17:07:02 2015 +0200
ipip,gre,vti,sit: implement ndo_get_iflink
Don't use dev->iflink anymore.
CC: Steffen Klassert <steffen.klassert@xxxxxxxxxxx>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ecf2c06a88d2ed534a87b84b8c1a467ab23352dd
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Thu Apr 2 17:07:01 2015 +0200
ip6tnl,gre6,vti6: implement ndo_get_iflink
Don't use dev->iflink anymore.
CC: Steffen Klassert <steffen.klassert@xxxxxxxxxxx>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a54acb3a6f853e8394c4cb7b6a4d93c88f13eefd
Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Date: Thu Apr 2 17:07:00 2015 +0200
dev: introduce dev_get_iflink()
The goal of this patch is to prepare the removal of the iflink field. It
introduces a new ndo function, which will be implemented by virtual
interfaces.
There is no functional change into this patch. All readers of iflink field
now call dev_get_iflink().
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 74ff960222d90999508b4ba0d3449f796695b6d5
Author: Pascal Huerst <pascal.huerst@xxxxxxxxx>
Date: Thu Apr 2 10:17:40 2015 +0200
ASoC: cs4271: Increase delay time after reset
The delay time after a reset in the codec probe callback was too short,
and did not work on certain hw because the codec needs more time to
power on. This increases the delay time from 1us to 1ms.
Signed-off-by: Pascal Huerst <pascal.huerst@xxxxxxxxx>
Acked-by: Brian Austin <brian.austin@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit 1c550fa193d08920255240743f57731d4d57cd4d
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Wed Feb 11 18:50:09 2015 +0100
drm/panel: Add support for Ampire AM-800480R3TMQW-A1H 800x480 7" panel
This adds support for the AM-800480R3TMQW-A1H 7" 800x480 panel to the
DRM simple panel driver.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 9df6d49adb4eecc50538e56c0bb0ccdcaae8c697
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Wed Feb 11 18:50:08 2015 +0100
of: Add vendor prefix for Ampire Co., Ltd.
Add Ampire Co., Ltd. to the list of device tree vendor prefixes.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit ab07725abc9aa1e3dbc41ee429ad19336b31f207
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Thu Dec 11 18:32:46 2014 +0100
drm/panel: Add display timing for HannStar HSD070PWW1
The HannStar HSD070PWW1 LVDS panel data sheet lists allowed ranges
additionally to the typical values for pixel clock rate (64.3-82 MHz)
and blanking intervals (54-681 clock cycles horizontally, 3-23 lines
vertically).
This patch replaces this panel's display mode with the display timing
information to describe acceptable timings. Since the HSYNC and VSYNC
are unused, the distribution between front porches, back porches, and
sync pulse lengths was chosen at will.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit a5d3e625148073587955bb0c49dbbba231b3234a
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Thu Dec 11 18:32:45 2014 +0100
drm/panel: simple: Add display timing support
The simple panel driver's ->get_modes() implementation calculates the
display mode list from the typical timings and the ->get_timings()
implementation returns the timings to the connected encoder for mode
validation and fixup.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
[treding@xxxxxxxxxx: select VIDEOMODE_HELPERS]
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 2938931f3732a4ec70c299e221ec8dea01dfd796
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Thu Dec 11 18:32:44 2014 +0100
drm/panel: Add display timing support
Many panel data sheets, additionally to typical values, list allowed
ranges for timings such as hsync/vsync lengths, porches, and the pixel
clock rate. These can be stored in a struct display_timing, to be used
by an encoder mode_fixup callback to clamp user provided timing values
or to validate workarounds for clock source limitations.
This patch adds a new drm_panel_funcs callback that returns the panel's
available display_timing entries.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 725c9d40f3fe61256903adfab868f302e249fa2a
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Wed Feb 11 18:50:11 2015 +0100
drm/panel: Add support for OrtusTech COM43H4M85ULC panel
This adds support for the COM43H4M85ULC 3.7" 800x480 panel to the
DRM simple panel driver.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit d75ce3854bc95f8d439a9ffcebdeb473de0605f3
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Wed Feb 11 18:50:10 2015 +0100
of: Add vendor prefix for Ortus Technology Co., Ltd.
Add Ortus Technology Co., Ltd. to the list of device tree vendor prefixes.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 33536a09f02e4b179a4594fdb986dda1415339ee
Author: Philipp Zabel <philipp.zabel@xxxxxxxxx>
Date: Wed Feb 11 18:50:07 2015 +0100
drm/panel: Add bus format for Giantplus GPG482739QS5 panel
This patch adds the bus_format field to the GPG482739QS5 panel structure.
Signed-off-by: Philipp Zabel <philipp.zabel@xxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit a531bc3d952ffd6ebe6452bd39cb3c64cfa5ceb3
Author: Huang Lin <hl@xxxxxxxxxxxxxx>
Date: Sat Feb 28 10:18:58 2015 +0800
drm/panel: simple: Add support for AUO b101ean01 panel
The AUO b101ean01 panel is a 10.1" 1280x800 panel which can be supported
by the simple panel driver.
Signed-off-by: Huang Lin <hl@xxxxxxxxxxxxxx>
Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit bccac3f121d53b645c882cae7948facb50940043
Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx>
Date: Thu Mar 19 12:22:44 2015 +0100
drm/panel: simple: Add support for Innolux ZJ070NA-01P
The Innolux ZJ070NA-01P is a 7.0" TFT LCD panel with an integrated LED
backlight unit.
This panel is used on the Technexion Toucan.
Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 41bcceb4de9c5b120459610fe8a9157dee418d75
Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Date: Thu Mar 19 14:43:01 2015 +0100
drm/panel: simple: Add support for Innolux AT043TN24
The Innolux AT043TN24 4.3" WQVGA TFT LCD panel.
This panel with backlight is found in PDA 4.3" LCD screen (TM43xx series
for
instance).
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 9c6615bc379d2a85d7ef593d1c89a72abcc8186c
Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 19 14:43:00 2015 +0100
drm/panel: simple: Add support for Shelly SCA07010-BFN-LNN
The Shelly SCA07010-BFN-LNN is a 7.0" WVGA TFT LCD panel.
This panel with backlight is found in PDA 7" LCD screen (TM70xx series for
instance).
Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 0c934306ec9a63bd271a4376caa014c21b20072b
Author: Stéphane Marchesin <marcheu@xxxxxxxxxxxx>
Date: Wed Mar 18 10:52:18 2015 +0100
drm/panel: simple: Add support for Samsung LTN140AT29 panel
This panel is used by the Nyan Blaze board and can be supported by the
simple-panel driver.
Signed-off-by: Stéphane Marchesin <marcheu@xxxxxxxxxxxx>
[tomeu.vizoso@xxxxxxxxxxxxx: add device tree binding document]
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Acked-by: Stephen Warren <swarren@xxxxxxxxxx>
Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 535a65db484ff4e4654a037f2ea7e1ff21431b77
Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Date: Mon Mar 30 10:33:03 2015 +0200
drm/tegra: sor: Reset during initialization
As there isn't a way for the firmware on the Nyan Chromebooks to hand
over the display to the kernel, and the kernel isn't redoing the whole
configuration at present.
With this patch, the SOR is brought to a known state and we get correct
display on every boot.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit bdf765071a8b573f7b1ba14c02881fa3e623825e
Author: Sean Paul <seanpaul@xxxxxxxxxxxx>
Date: Fri Jan 30 13:57:01 2015 -0500
drm/tegra: gem: Return 64-bit offset for mmap(2)
On 64-bit targets, tegra_gem_mmap() only returns a partial offset to
userspace. As such, subsequent calls to mmap(2) may fail. Change the
arguments to use a 64-bit offset to fix this.
Signed-off-by: Sean Paul <seanpaul@xxxxxxxxxxxx>
Acked-by: Erik Faye-Lund <kusmabite@xxxxxxxxx>
[treding@xxxxxxxxxx: tweak commit message]
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 5c1c071a3667600d1b8426dba031b2d4a20a3efa
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Wed Jan 28 16:32:52 2015 +0100
drm/tegra: hdmi: Name register fields consistently
Name the fields of the SOR_SEQ_CTL register consistently.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 375e118437716acdccda224abb3d464ecfe92884
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Wed Jan 28 16:14:26 2015 +0100
drm/tegra: hdmi: Resets are synchronous
Resets on Tegra are synchronous, so keep the clock enabled while
asserting the reset.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 9d910b6068be9b6670d0ebba2ddc3e7816dd8881
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Wed Jan 28 15:25:54 2015 +0100
drm/tegra: dc: Document tegra_dc_state_setup_clock()
This function is called by output drivers so should be documented. While
at it, move it to a more appropriate location.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit d0852ab9bb63aaf8e31d39f8819e67ce210d8dbb
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Wed Jan 28 15:10:48 2015 +0100
drm/tegra: dc: Remove unused callbacks
The ->mode_set() and ->mode_set_base() callbacks are no longer used with
full atomic mode-setting drivers, so remove them.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 3774363c75fa32cfb415df14b362e0d426418e93
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Wed Jan 28 15:08:40 2015 +0100
drm/tegra: dc: Remove unused function
The tegra_dc_setup_clock() function is unused after the conversion to
atomic mode-setting, so remove it.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 3b59b7ac02e434f267f7cb1ef8fe48c23ddbe9a2
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Wed Jan 28 15:01:22 2015 +0100
drm/tegra: dc: Use base atomic state helpers
Instead of duplicating the code, make use of the newly introduced atomic
state duplicate and destroy helpers. This allows changes to the base
atomic state handling to automatically propagate to the Tegra driver and
thereby prevent breakage resulting from both copies going out of sync.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit f5e7840b0c4368f8cdbb055188c2a0eef50c3052
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Wed Jan 28 14:54:32 2015 +0100
drm/atomic: Add helpers for state-subclassing drivers
Drivers that subclass CRTC, plane or connector state need to carefully
duplicate the code that the atomic helpers have. This is bound to cause
breakage eventually because it requires auditing all drivers and update
them when code is added to the helpers.
In order to avoid that, implement new helpers that perform the required
steps when copying and destroying state. These new helpers are exported
so that state-subclassing drivers can use them. The default helpers are
implemented using them as well, providing a single location that needs
to be changed when adding to base atomic states.
Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
Reviewed-by: Eric Anholt <eric@xxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 42e9ce0523699b3f3383b7c5c0bcc2657a77d0ca
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Wed Jan 28 14:43:05 2015 +0100
drm/tegra: dc: Implement hardware VBLANK counter
The display controller on Tegra can use syncpoints to count VBLANK
events. syncpoints are 32-bit unsigned integers, so well suited as
VBLANK counters.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit b4a20144e0c0a45431695fa5968ce2ed8c9ce6ca
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Wed Jan 28 14:29:02 2015 +0100
gpu: host1x: Export host1x_syncpt_read()
This function is used to read the current value of the syncpt and is
useful in situations where drivers don't schedule work and wait for the
syncpoint to increment. One particular use-case is using the syncpoint
as a VBLANK counter.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit dab163366a2a0f134cfa13a64ab750945648a18a
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Mon Jan 26 16:04:08 2015 +0100
drm/tegra: sor: Dump registers via debugfs
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 28fe2076004da062e9affac1cec98c697de53eb1
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Mon Jan 26 16:02:48 2015 +0100
drm/tegra: sor: Registers are 32-bit
Use a sized unsigned 32-bit data type (u32) to store register contents.
The SOR registers are 32 bits wide irrespective of the architecture's
data width.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 28c23373b88bcc244b573ea45596a51e9db73d2c
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Fri Jan 23 09:16:03 2015 +0100
drm/tegra: Provide debugfs file for the IOVA space
The Tegra DRM driver uses a single IO virtual address space for buffer
mappings. Provide a table of the address space usage in debugfs.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit d29827484b9cf6026506a0e376fb5d246580ffd8
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Thu Jan 22 08:48:25 2015 +0100
drm/tegra: dc: Check for valid parent clock
Check that the desired parent clock is indeed a valid parent for the
display controller clock. This is purely cosmetic at this point since
the parent clocks are specified in DT and all the currently defined
parents are in fact valid parents of the display controller clock.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 48fd77d1444a387435c3bbc773fa4e7ab6b6aca3
Author: John Stultz <john.stultz@xxxxxxxxxx>
Date: Wed Apr 1 20:43:39 2015 -0700
kselftests: timers: Make set-timer-lat fail more gracefully for
!CAP_WAKE_ALARM
The set-timer-lat test fails when testing CLOCK_BOOTTIME_ALARM
or CLOCK_REALTIME_ALARM when the user isn't running as root or
with CAP_WAKE_ALARM.
So this patch improves the error checking so we report the
issue more clearly and continue rather then reporting a failure.
Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
Cc: Prarit Bhargava <prarit@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
commit bd05954bfa17f03a7bd4454178ba09786b35e383
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Thu Apr 2 21:47:19 2015 +0800
perf data: Support using -f to override perf.data file ownership for
'convert'
Enable perf data convert to use perf.data when it is not owned by
current user or root.
Example:
# perf record ls
# chown Yunlong.Song:Yunlong.Song perf.data
# ls -al perf.data
-rw------- 1 Yunlong.Song Yunlong.Song 28260 Apr 2 17:35 perf.data
# id
uid=0(root) gid=0(root) groups=0(root),64(pkcs11)
Before this patch:
# perf data convert --to-ctf=./ctf-data/
File perf.data not owned by current user or root (use -f to override)
# perf data convert --to-ctf=./ctf-data/ -f
Error: unknown switch `f'
usage: perf data convert [<options>]
-v, --verbose be more verbose
-i, --input <file> input file name
--to-ctf ... Convert to CTF format
After this patch:
# perf data convert --to-ctf=./ctf-data/
File perf.data not owned by current user or root (use -f to override)
# perf data convert --to-ctf=./ctf-data/ -f
# ls ctf-data/
metadata perf_stream_0
As shown above, the -f option really works now.
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427982439-27388-11-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit e366a6d8949f3cfab01906b42c591098d59f3f35
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Thu Apr 2 21:47:18 2015 +0800
perf trace: Support using -f to override perf.data file ownership
Enable perf trace to use perf.data when it is not owned by current user
or root.
Example:
# perf trace record ls
# chown Yunlong.Song:Yunlong.Song perf.data
# ls -al perf.data
-rw------- 1 Yunlong.Song Yunlong.Song 4153101 Apr 2 15:28 perf.data
# id
uid=0(root) gid=0(root) groups=0(root),64(pkcs11)
Before this patch:
# perf trace -i perf.data
File perf.data not owned by current user or root (use -f to override)
# perf trace -i perf.data -f
Error: unknown switch `f'
usage: perf trace [<options>] [<command>]
or: perf trace [<options>] -- <command> [<options>]
or: perf trace record [<options>] [<command>]
or: perf trace record [<options>] -- <command> [<options>]
--event <event> event selector. use 'perf list' to list
available events
--comm show the thread COMM next to its id
--tool_stats show tool stats
-e, --expr <expr> list of events to trace
-o, --output <file> output file name
-i, --input <file> Analyze events in file
-p, --pid <pid> trace events on existing process id
-t, --tid <tid> trace events on existing thread id
--filter-pids <float>
...
As shown above, the -f option does not work at all.
After this patch:
# perf trace -i perf.data
File perf.data not owned by current user or root (use -f to override)
# perf trace -i perf.data -f
0.056 ( 0.002 ms): ls/47325 brk( ...
0.108 ( 0.018 ms): ls/47325 mmap(len: 4096, prot: READ|WRITE, ...
0.145 ( 0.013 ms): ls/47325 access(filename: 0x7f31259a0eb0, ...
0.172 ( 0.008 ms): ls/47325 open(filename: 0x7fffeb9a0d00, ...
0.180 ( 0.004 ms): ls/47325 stat(filename: 0x7fffeb9a0d00, ...
0.185 ( 0.004 ms): ls/47325 open(filename: 0x7fffeb9a0d00, ...
0.189 ( 0.003 ms): ls/47325 stat(filename: 0x7fffeb9a0d00, ...
0.195 ( 0.004 ms): ls/47325 open(filename: 0x7fffeb9a0d00, ...
0.199 ( 0.002 ms): ls/47325 stat(filename: 0x7fffeb9a0d00, ...
0.205 ( 0.004 ms): ls/47325 open(filename: 0x7fffeb9a0d00, ...
0.211 ( 0.004 ms): ls/47325 stat(filename: 0x7fffeb9a0d00, ...
0.220 ( 0.007 ms): ls/47325 open(filename: 0x7f312599e8ff, ...
...
...
As shown above, the -f option really works now.
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427982439-27388-10-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 44f7e432e3dc8a13f5661e8b722f53645df083d1
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Thu Apr 2 21:47:17 2015 +0800
perf timechart: Support using -f to override perf.data file ownership
Enable perf timechart to use perf.data when it is not owned by current
user or root.
Example:
# perf timechart record ls
# chown Yunlong.Song:Yunlong.Song perf.data
# ls -al perf.data
-rw------- 1 Yunlong.Song Yunlong.Song 5471744 Apr 2 15:15 perf.data
# id
uid=0(root) gid=0(root) groups=0(root),64(pkcs11)
Before this patch:
# perf timechart
File perf.data not owned by current user or root (use -f to override)
# perf timechart -f
Error: unknown switch `f'
usage: perf timechart [<options>] {record}
-i, --input <file> input file name
-o, --output <file> output file name
-w, --width <n> page width
--highlight <duration or task name>
highlight tasks. Pass duration in ns or
process name.
-P, --power-only output power data only
-T, --tasks-only output processes data only
-p, --process <process>
process selector. Pass a pid or process name.
--symfs <directory>
Look for files with symbols relative to this
directory
-n, --proc-num <n> min. number of tasks to print
-t, --topology sort CPUs according to topology
--io-skip-eagain skip EAGAIN errors
--io-min-time <time>
all IO faster than min-time will visually
appear longer
--io-merge-dist <time>
merge events that are merge-dist us apart
As shown above, the -f option does not work at all.
After this patch:
# perf timechart
File perf.data not owned by current user or root (use -f to override)
# perf timechart -f
Written 0.0 seconds of trace to output.svg.
# cat output.svg
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="1000" height="10110" version="1.1"
xmlns="http://www.w3.org/2000/svg">
<defs>
<style type="text/css">
<![CDATA[
rect { stroke-width: 1; }
...
...
As shown above, the -f option really works now.
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427982439-27388-9-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 06af0f2c919d7c8f05efebe0d96a6f22297aafd4
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Thu Apr 2 21:47:16 2015 +0800
perf script: Support using -f to override perf.data file ownership
Enable perf script to use perf.data when it is not owned by current user
or root. Change the short option name of --fields to -F to avoid confusion
with --force.
Example:
# perf record ls
# chown Yunlong.Song:Yunlong.Song perf.data
# ls -al perf.data
-rw------- 1 Yunlong.Song Yunlong.Song 28360 Apr 2 14:53 perf.data
# id
uid=0(root) gid=0(root) groups=0(root),64(pkcs11)
Before this patch:
# perf script
File perf.data not owned by current user or root (use -f to override)
# perf script -f
Error: switch `f' requires a value
usage: perf script [<options>]
or: perf script [<options>] record <script> [<record-options>]
<command>
or: perf script [<options>] report <script> [script-args]
or: perf script [<options>] <script> [<record-options>] <command>
or: perf script [<options>] <top-script> [script-args]
-f, --fields <str> comma separated output fields prepend with
'type:'. Valid types: hw,sw,trace,raw. Fields:
comm,tid,pid,time,cpu,event,trace,ip,sym,dso,addr,symoff,period
As shown above, the -f option does not work at all. And -f is already
taken up by --fields, which makes --force confused, so change the short
option name of --fields to -F like what other perf commands do (e.g.
perf report -F) and use -f as the short option name of --force.
After this patch:
# perf script
File perf.data not owned by current user or root (use -f to override)
# perf script -f
:41298 41298 2590086.564226: 1 cycles: ffffffff8103efc6
native_write_msr_safe ([kernel.kallsyms])
:41298 41298 2590086.564244: 1 cycles: ffffffff8103efc6
native_write_msr_safe ([kernel.kallsyms])
:41298 41298 2590086.564249: 7 cycles: ffffffff8103efc6
native_write_msr_safe ([kernel.kallsyms])
:41298 41298 2590086.564255: 176 cycles: ffffffff8103efc6
native_write_msr_safe ([kernel.kallsyms])
ls 41298 2590086.567346: 4059 cycles: ffffffff8105a592
raise_softirq ([kernel.kallsyms])
ls 41298 2590086.567353: 3717 cycles: ffffffff8105a592
raise_softirq ([kernel.kallsyms])
ls 41298 2590086.567358: 63058 cycles: ffffffff8105a592
raise_softirq ([kernel.kallsyms])
ls 41298 2590086.567448: 1706255 cycles: 406ae0
[unknown] (/usr/bin/ls)
As shown above, the -f option really works now.
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427982439-27388-8-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 62a1a63a77451dee8fd318a5106ca108d6a8ebcb
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Thu Apr 2 21:47:15 2015 +0800
perf mem: Support using -f to override perf.data file ownership
Enable perf mem to use perf.data when it is not owned by current user or
root.
Example:
# perf mem -t load record ls
# chown Yunlong.Song:Yunlong.Song perf.data
# ls -al perf.data
-rw------- 1 Yunlong.Song Yunlong.Song 16392 Apr 2 14:34 perf.data
# id
uid=0(root) gid=0(root) groups=0(root),64(pkcs11)
Before this patch:
# perf mem -D report
File perf.data not owned by current user or root (use -f to override)
# perf mem -D -f report
Error: unknown switch `f'
usage: perf mem [<options>] {record|report}
-t, --type <type> memory operations(load,store) Default
load,store
-D, --dump-raw-samples
dump raw samples in ASCII
-U, --hide-unresolved
Only display entries resolved to a symbol
-i, --input <file> input file name
-C, --cpu <cpu> list of cpus to profile
-x, --field-separator <separator>
separator for columns, no spaces will be added
between columns '.' is reserved.
As shown above, the -f option does not work at all.
After this patch:
# perf mem -D report
File perf.data not owned by current user or root (use -f to override)
# perf mem -D -f report
# PID, TID, IP, ADDR, LOCAL WEIGHT, DSRC, SYMBOL
39095 39095 0xffffffff81127e40 0x016ffff887f45148338 8 0x68100142
/proc/kcore:perf_event_aux
39095 39095 0xffffffff8100a3fe 0xffff89007f8cb7d0 6 0x68100142
/proc/kcore:native_sched_clock
39095 39095 0xffffffff81309139 0xffff88bf44c9ded8 6 0x68100142
/proc/kcore:acpi_map_lookup
39095 39095 0xffffffff810f8c4c 0xffff89007f8ccd88 6 0x68100142
/proc/kcore:rcu_nmi_exit
39095 39095 0xffffffff81136346 0xffff88fea995dd50 6 0x68100142
/proc/kcore:unlock_page
39095 39095 0xffffffff812a64a2 0xffff88fea995dcc8 6 0x68100142
/proc/kcore:half_md4_transform
39095 39095 0x7f0cf877c7e9 0x25dfb94 6 0x68100142
/lib64/libc-2.19.so:__readdir64
39095 39095 0x7f0cf87575a3 0x7f0cf9163731 6 0x68100142
/lib64/libc-2.19.so:__strcoll_l
39095 39095 0xffffffff8116910e 0xffffea01c1bfbd50 23 0x68100242
/proc/kcore:page_remove_rmap
As shown above, the -f option really works now.
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427982439-27388-7-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit c4ac732a0377d1544a8385393a9877b693ff0652
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Thu Apr 2 21:47:14 2015 +0800
perf lock: Support using -f to override perf.data file ownership
Enable perf lock to use perf.data when it is not owned by current user
or root.
Example:
# perf lock record ls
# chown Yunlong.Song:Yunlong.Song perf.data
# ls -al perf.data
-rw------- 1 Yunlong.Song Yunlong.Song 4880686 Apr 2 14:14 perf.data
# id
uid=0(root) gid=0(root) groups=0(root),64(pkcs11)
Before this patch:
# perf lock report
File perf.data not owned by current user or root (use -f to override)
Initializing perf session failed
# perf lock report -f
Error: unknown switch `f'
usage: perf lock report [<options>]
-k, --key <acquired> key for sorting (acquired / contended /
avg_wait / wait_total / wait_max / wait_min)
As shown above, the -f option does not work at all.
After this patch:
# perf lock report
File perf.data not owned by current user or root (use -f to override)
Initializing perf session failed
# perf lock report -f
Name acquired contended avg wait (ns) total wait
(ns) ...
&ldata->output_l... 128 0 0
0 ...
&ctx->lock 114 0 0
0 ...
&p->pi_lock 112 0 0
0 ...
&(&pool->lock)->... 112 0 0
0 ...
&(&dentry->d_loc... 70 0 0
0 ...
&(&newf->file_lo... 62 0 0
0 ...
&(&fs->lock)->rl... 43 0 0
0 ...
...
As shown above, the -f option really works now.
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427982439-27388-6-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 8cc5ec1f754355ed788838390e86389c9ffb7590
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Thu Apr 2 21:47:13 2015 +0800
perf kvm: Support using -f to override perf.data.guest file ownership
Enable perf kvm to use perf.data.guest when it is not owned by current
user or root.
Example:
# perf kvm stat record ls
# chown Yunlong.Song:Yunlong.Song perf.data.guest
# ls -al perf.data.guest
-rw------- 1 Yunlong.Song Yunlong.Song 4128937 Apr 2 11:05
perf.data.guest
# id
uid=0(root) gid=0(root) groups=0(root),64(pkcs11)
Before this patch:
# perf kvm stat report
File perf.data.guest not owned by current user or root (use -f to
override)
Initializing perf session failed
# perf kvm stat report -f
Error: unknown switch `f'
usage: perf kvm stat report [<options>]
--event <report event>
event for reporting: vmexit, mmio (x86 only),
ioport (x86 only)
--vcpu <n> vcpu id to report
-k, --key <sort-key> key for sorting: sample(sort by samples
number) time (sort by avg
time)
-p, --pid <pid> analyze events only for given process id(s)
As shown above, the -f option does not work at all.
After this patch:
# perf kvm stat report
File perf.data.guest not owned by current user or root (use -f to
override)
Initializing perf session failed
# perf kvm stat report -f
Analyze events for all VMs, all VCPUs:
VM-EXIT Samples Samples% Time% Min Time Max Time Avg
time
Total Samples:0, Total events handled time:0.00us.
As shown above, the -f option really works now. Since we have not
launched any KVM related process, the result shows 0 sample here.
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427982439-27388-5-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit d1eeb77c1811fd178442ccb8f58004a19ec40dd3
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Thu Apr 2 21:47:12 2015 +0800
perf kmem: Support using -f to override perf.data file ownership
Enable perf kmem to use perf.data when it is not owned by current user
or root.
Example:
# perf kmem record ls
# chown Yunlong.Song:Yunlong.Song perf.data
# ls -al perf.data
-rw------- 1 Yunlong.Song Yunlong.Song 5315665 Apr 2 10:54 perf.data
# id
uid=0(root) gid=0(root) groups=0(root),64(pkcs11)
Before this patch:
# perf kmem stat
File perf.data not owned by current user or root (use -f to override)
# perf kmem stat -f
Error: unknown switch `f'
usage: perf kmem [<options>] {record|stat}
-i, --input <file> input file name
-v, --verbose be more verbose (show symbol address, etc)
--caller show per-callsite statistics
--alloc show per-allocation statistics
-s, --sort <key[,key2...]>
sort by keys: ptr, call_site, bytes, hit,
pingpong, frag
-l, --line <num> show n lines
--raw-ip show raw ip instead of symbol
As shown above, the -f option does not work at all.
After this patch:
# perf kmem stat
File perf.data not owned by current user or root (use -f to override)
# perf kmem stat -f
SUMMARY
=======
Total bytes requested: 437599
Total bytes allocated: 615472
Total bytes wasted on internal fragmentation: 177873
Internal fragmentation: 28.900259%
Cross CPU allocations: 6/1192
As shown above, the -f option really works now.
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427982439-27388-4-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit ccaa474c8a0983d26ecb3eac755672b546b997c3
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Thu Apr 2 21:47:11 2015 +0800
perf inject: Support using -f to override perf.data file ownership
Enable perf inject to use perf.data when it is not owned by current user
or root.
Example:
# perf record ls
# chown Yunlong.Song:Yunlong.Song perf.data
# ls -al perf.data
-rw------- 1 Yunlong.Song Yunlong.Song 28260 Apr 2 10:37 perf.data
# id
uid=0(root) gid=0(root) groups=0(root),64(pkcs11)
Before this patch:
# perf inject -v -b -i perf.data -o perf.data.new
File perf.data not owned by current user or root (use -f to override)
# perf inject -v -b -i perf.data -o perf.data.new -f
Error: unknown switch `f'
usage: perf inject [<options>]
-b, --build-ids Inject build-ids into the output stream
-i, --input <file> input file name
-o, --output <file> output file name
-s, --sched-stat Merge sched-stat and sched-switch for getting
events where and how long tasks slept
-v, --verbose be more verbose (show build ids, etc)
--kallsyms <file>
kallsyms pathname
As shown above, the -f option does not work at all.
After this patch:
# perf inject -v -b -i perf.data -o perf.data.new
File perf.data not owned by current user or root (use -f to override)
# perf inject -v -b -i perf.data -o perf.data.new -f
build id event received for [kernel.kallsyms]:
f6dcb66d8b98f1c0d9eb87bf043444b69f91d30c
symsrc__init: cannot get elf header.
Looking at the vmlinux_path (7 entries long)
Using /proc/kcore for kernel object code
Using /proc/kallsyms for symbols
As shown above, the -f option really works now.
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427982439-27388-3-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 9e3b6ec17374299516d83c2e36135b958a895aa3
Author: Yunlong Song <yunlong.song@xxxxxxxxxx>
Date: Thu Apr 2 21:47:10 2015 +0800
perf evlist: Support using -f to override perf.data file ownership
Enable perf evlist to use perf.data when it is not owned by current user
or root.
Example:
# perf record ls
# chown Yunlong.Song:Yunlong.Song perf.data
# ls -al perf.data
-rw------- 1 Yunlong.Song Yunlong.Song 28260 Apr 2 10:18 perf.data
# id
uid=0(root) gid=0(root) groups=0(root),64(pkcs11)
Before this patch:
# perf evlist
File perf.data not owned by current user or root (use -f to override)
# perf evlist -f
Error: unknown switch `f'
usage: perf evlist [<options>]
-i, --input <file> Input file name
-F, --freq Show the sample frequency
-v, --verbose Show all event attr details
-g, --group Show event group information
As shown above, the -f option does not work at all.
After this patch:
# perf evlist
File perf.data not owned by current user or root (use -f to override)
# perf evlist -f
cycles
As shown above, the -f option really works now.
Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427982439-27388-2-git-send-email-yunlong.song@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit c72738355b2ac79506fbfa10ffee8fe3a27e69da
Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Date: Thu Apr 2 16:33:12 2015 +0900
perf probe: Fix to track down unnamed union/structure members
Fix 'perf probe' to track down unnamed union/structure members.
perf probe did not track down the tree of unnamed union/structure
members, since it just failed to find given "name" in a parent
structure/union. To solve this issue, I've introduced 2 changes.
- Fix die_find_member() to track down the type-DIE if it is
unnamed, and if it contains the specified member, returns the
unnamed member.
(note that we don't return found member, since unnamed member
has the offset in the parent structure)
- Fix convert_variable_fields() to track down the unnamed union/
structure (one-by-one).
With this patch, perf probe can access unnamed fields:
-----
#./perf probe -nfx ./perf lock__delete ops 'locked_ops=ops->locked.ops'
Added new event:
probe_perf:lock__delete (on lock__delete in
/home/mhiramat/ksrc/linux-3/tools/perf/perf with ops locked_ops=ops->locked.ops)
You can now use it in all perf tools, such as:
perf record -e probe_perf:lock__delete -aR sleep 1
-----
Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Report-Link: https://lkml.org/lkml/2015/3/5/431
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/20150402073312.14482.37942.stgit@xxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit b83e868d0a0350c107b98417b4dcc73834506f98
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Thu Apr 2 11:16:05 2015 -0300
perf db-export: No need to have ->thread twice in struct export_sample
As it comes from address_location->thread, that is already stored as
export_sample->al, where the thread can be obtained.
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150402141542.GA9630@xxxxxxxxxx
Link: http://lkml.kernel.org/n/tip-bzotbl4epoztw0jd6sm2stpf@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 7327259d7ea96d04d02e7dbe51ee9201319dc204
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Thu Apr 2 11:08:30 2015 -0300
perf db-export: No need to pass thread twice to db_export__sample
As it is available via another parameter, address_location->thread.
Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link: lkml.kernel.org/r/551D08F8.3040706@xxxxxxxxx
Link: http://lkml.kernel.org/n/tip-6dbn0tcm9hyv92g7h3zj2dbt@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit f9d5d549d2c2934be84b0bc7e5e034834459f591
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Wed Apr 1 13:29:25 2015 -0300
perf scripting: No need to pass thread twice to the scripting callbacks
It is already in the addr_location, so remove the redundant 'thread'
parameter from the callback signatures.
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427906210-10519-3-git-send-email-acme@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 79628f2cfe0f488b23e5dc99a4a9a599032fa653
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Wed Apr 1 13:26:45 2015 -0300
perf script: No need to lookup thread twice
We get the thread when we call perf_event__preprocess_sample(), no need
to do it before that.
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427906210-10519-2-git-send-email-acme@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 2e54a5bdba107f80a9ba90065fb43bba0498147d
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Thu Apr 2 17:57:59 2015 +0200
perf/x86/intel/pt: Fix the 32-bit build
On a 32-bit build I got:
arch/x86/kernel/cpu/perf_event_intel_pt.c:413:5: warning: cast to
pointer from integer of different size [-Wint-to-pointer-cast]
arch/x86/kernel/cpu/perf_event_intel_bts.c:162:24: warning: cast from
pointer to integer of different size [-Wpointer-to-int-cast]
Fix it. The code should probably be (re-)tested on 32-bit systems to make
sure all is fine.
Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: acme@xxxxxxxxxxxxx
Cc: adrian.hunter@xxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: markus.t.metzger@xxxxxxxxx
Cc: mathieu.poirier@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 3650b57fdf208bc0e36cbe7b5e0744bd0e0cf34d
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Tue Mar 31 20:49:02 2015 +0530
timer: Further simplify the SMP and HOTPLUG logic
Remove one CONFIG_HOTPLUG_CPU #ifdef in trade for introducing one
CONFIG_SMP #ifdef.
The CONFIG_SMP ifdef avoids declaring the per-CPU __tvec_bases storage
on UP systems since they already have boot_tvec_bases.
Also (re)add a runtime check on the base alignment -- for the paranoid
amongst us :-)
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/fdd2d35e169bdc554ffa3fe77f77716298c75ada.1427814611.git.viresh.kumar@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 8def906044c02edcedac79aa3d6310ab4d90c4d8
Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Date: Tue Mar 31 20:49:01 2015 +0530
timer: Don't initialize 'tvec_base' on hotplug
There is no need to call init_timers_cpu() on every CPU hotplug event,
there is not much we need to reset.
- Timer-lists are already empty at the end of migrate_timers().
- timer_jiffies will be refreshed while adding a new timer, after the
CPU is online again.
- active_timers and all_timers can be reset from migrate_timers().
Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/54a1c30ea7b805af55beb220cadf5a07a21b0a4d.1427814611.git.viresh.kumar@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit b337a9380f7effd60d082569dd7e0b97a7549730
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Tue Mar 31 20:49:00 2015 +0530
timer: Allocate per-cpu tvec_base's statically
Memory for the 'tvec_base' array is allocated separately for the boot CPU
(statically)
and non-boot CPUs (dynamically).
The reason is because __TIMER_INITIALIZER() needs to set ->base to a
valid pointer (because we've made NULL special, hint: lock_timer_base())
and we cannot get a compile time pointer to per-cpu entries because we
don't know where we'll map the section, even for the boot cpu.
This can be simplified a bit by statically allocating per-cpu memory.
The only disadvantage is that memory for one of the structures will stay
unused, i.e. for the boot CPU, which uses boot_tvec_bases.
This will also guarantee that tvec_base is cacheline aligned. Even
though tvec_base has ____cacheline_aligned stuck on, kzalloc_node() does
not actually respect that (but guarantees a minimum u64 alignment).
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/17cdf560f2727f687ab159707d0aa591f8a2f82d.1427814611.git.viresh.kumar@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit fa9c9d10e97e38d9903fad1829535175ad261f45
Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Date: Fri Mar 27 07:08:35 2015 +0800
sched/deadline: Support DL task migration during CPU hotplug
I observed that DL tasks can't be migrated to other CPUs during CPU
hotplug, in addition, task may/may not be running again if CPU is
added back.
The root cause which I found is that DL tasks will be throtted and
removed from the DL rq after comsuming all their budget, which
leads to the situation that stop task can't pick them up from the
DL rq and migrate them to other CPUs during hotplug.
The method to reproduce:
schedtool -E -t 50000:100000 -e ./test
Actually './test' is just a simple for loop. Then observe which CPU the
test task is on and offline it:
echo 0 > /sys/devices/system/cpu/cpuN/online
This patch adds the DL task migration during CPU hotplug by finding a
most suitable later deadline rq after DL timer fires if current rq is
offline.
If it fails to find a suitable later deadline rq then it falls back to
any eligible online CPU in so that the deadline task will come back
to us, and the push/pull mechanism should then move it around properly.
Suggested-and-Acked-by: Juri Lelli <juri.lelli@xxxxxxx>
Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427411315-4298-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 3c18d447b3b36a8d3c90dc37dfbd363cdb685d0a
Author: Juri Lelli <juri.lelli@xxxxxxx>
Date: Tue Mar 31 09:53:37 2015 +0100
sched/core: Check for available DL bandwidth in cpuset_cpu_inactive()
Hotplug operations are destructive w.r.t. cpusets. In case such an
operation is performed on a CPU belonging to an exlusive cpuset, the
DL bandwidth information associated with the corresponding root
domain is gone even if the operation fails (in sched_cpu_inactive()).
For this reason we need to move the check we currently have in
sched_cpu_inactive() to cpuset_cpu_inactive() to prevent useless
cpusets reconfiguration in the CPU_DOWN_FAILED path.
Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427792017-7356-2-git-send-email-juri.lelli@xxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 4cd57f97135840f637431c92380c8da3edbe44ed
Author: Juri Lelli <juri.lelli@xxxxxxx>
Date: Tue Mar 31 09:53:36 2015 +0100
sched/deadline: Always enqueue on previous rq when dl_task_timer() fires
dl_task_timer() may fire on a different rq from where a task was removed
after throttling. Since the call path is:
dl_task_timer() ->
enqueue_task_dl() ->
enqueue_dl_entity() ->
replenish_dl_entity()
and replenish_dl_entity() uses dl_se's rq, we can't use current's rq
in dl_task_timer(), but we need to lock the task's previous one.
Tested-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxx>
Fixes: 3960c8c0c789 ("sched: Make dl_task_time() use task_rq_lock()")
Link:
http://lkml.kernel.org/r/1427792017-7356-1-git-send-email-juri.lelli@xxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 07c54f7a7ff77bb47bae26e566969e9c4b6fb0c6
Author: Abel Vesa <abelvesa@xxxxxxxxx>
Date: Tue Mar 3 13:50:27 2015 +0200
sched/core: Remove unused argument from init_[rt|dl]_rq()
Obviously, 'rq' is not used in these two functions, therefore,
there is no reason for it to be passed as an argument.
Signed-off-by: Abel Vesa <abelvesa@xxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1425383427-26244-1-git-send-email-abelvesa@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit cd1f11de69226cc7ce7e7f22bdab9010103ddaa6
Author: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Date: Fri Mar 20 10:11:24 2015 -0700
perf/x86/intel: Avoid rewriting DEBUGCTL with the same value for LBRs
perf with LBRs on has a tendency to rewrite the DEBUGCTL MSR with
the same value. Add a little optimization to skip the unnecessary
write.
Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: eranian@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1426871484-21285-2-git-send-email-andi@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 1a78d93750bb5f61abdc59a91fc3bd06a214542a
Author: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Date: Fri Mar 20 10:11:23 2015 -0700
perf/x86/intel: Streamline LBR MSR handling in PMI
The perf PMI currently does unnecessary MSR accesses when
LBRs are enabled. We use LBR freezing, or when in callstack
mode force the LBRs to only filter on ring 3.
So there is no need to disable the LBRs explicitely in the
PMI handler.
Also we always unnecessarily rewrite LBR_SELECT in the LBR
handler, even though it can never change.
5) | /* write_msr: MSR_LBR_SELECT(1c8), value 0 */
5) | /* read_msr: MSR_IA32_DEBUGCTLMSR(1d9), value 1801 */
5) | /* write_msr: MSR_IA32_DEBUGCTLMSR(1d9), value 1801
*/
5) | /* write_msr: MSR_CORE_PERF_GLOBAL_CTRL(38f), value
70000000f */
5) | /* write_msr: MSR_CORE_PERF_GLOBAL_CTRL(38f), value
0 */
5) | /* write_msr: MSR_LBR_SELECT(1c8), value 0 */
5) | /* read_msr: MSR_IA32_DEBUGCTLMSR(1d9), value 1801 */
5) | /* write_msr: MSR_IA32_DEBUGCTLMSR(1d9), value 1801
*/
This patch:
- Avoids disabling already frozen LBRs unnecessarily in the PMI
- Avoids changing LBR_SELECT in the PMI
Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: eranian@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1426871484-21285-1-git-send-email-andi@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 15fde1101a1aed11958e0d86bc360f01866a74b1
Author: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Date: Fri Feb 27 09:48:32 2015 -0800
perf/x86: Only dump PEBS register when PEBS has been detected
Technically PEBS_ENABLED is only guaranteed to exist when we
detected PEBS. So add a check for this to the PMU dump function.
I don't think it can happen on a real CPU, but could in a VM.
Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: eranian@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1425059312-18217-4-git-send-email-andi@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit da3e606d885a17525eb18afd423f5c438860b833
Author: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Date: Fri Feb 27 09:48:31 2015 -0800
perf/x86: Dump DEBUGCTL in PMU dump
LBRs and LBR freezing are controlled through the DEBUGCTL MSR. So
dump the state of DEBUGCTL too when dumping the PMU state.
Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: eranian@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1425059312-18217-3-git-send-email-andi@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 8882edf735738c949aba4b65d3ec3453066bab12
Author: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Date: Fri Feb 27 09:48:30 2015 -0800
perf/x86/intel: Reset more state in PMU reset
The PMU reset code didn't quite keep up with newer PMU features.
Improve it a bit to really reset a modern PMU:
- Clear all overflow status
- Clear LBRs and freezing state
- Disable fixed counters too
Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: eranian@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1425059312-18217-2-git-send-email-andi@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit b37609c30e41264c4df4acff78abfc894499a49b
Author: Stephane Eranian <eranian@xxxxxxxxxx>
Date: Mon Nov 17 20:07:04 2014 +0100
perf/x86/intel: Make the HT bug workaround conditional on HT enabled
This patch disables the PMU HT bug when Hyperthreading (HT)
is disabled. We cannot do this test immediately when perf_events
is initialized. We need to wait until the topology information
is setup properly. As such, we register a later initcall, check
the topology and potentially disable the workaround. To do this,
we need to ensure there is no user of the PMU. At this point of
the boot, the only user is the NMI watchdog, thus we disable
it during the switch and re-enable it right after.
Having the workaround disabled when it is not needed provides
some benefits by limiting the overhead is time and space.
The workaround still ensures correct scheduling of the corrupting
memory events (0xd0, 0xd1, 0xd2) when HT is off. Those events
can only be measured on counters 0-3. Something else the current
kernel did not handle correctly.
Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: bp@xxxxxxxxx
Cc: jolsa@xxxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: maria.n.dimakopoulou@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1416251225-17721-13-git-send-email-eranian@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit b3738d29323344da3017a91010530cf3a58590fc
Author: Stephane Eranian <eranian@xxxxxxxxxx>
Date: Mon Nov 17 20:07:03 2014 +0100
watchdog: Add watchdog enable/disable all functions
This patch adds two new functions to enable/disable
the watchdog across all CPUs.
This will be used by the HT PMU bug workaround code to
disable/enable the NMI watchdog across quirk enablement.
Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: bp@xxxxxxxxx
Cc: jolsa@xxxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: maria.n.dimakopoulou@xxxxxxxxx
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1416251225-17721-12-git-send-email-eranian@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit c02cdbf60b51b8d98a49185535f5d527a2965142
Author: Stephane Eranian <eranian@xxxxxxxxxx>
Date: Mon Nov 17 20:07:02 2014 +0100
perf/x86/intel: Limit to half counters when the HT workaround is enabled,
to avoid exclusive mode starvation
This patch limits the number of counters available to each CPU when
the HT bug workaround is enabled.
This is necessary to avoid situation of counter starvation. Such can
arise from configuration where one HT thread, HT0, is using all 4 counters
with corrupting events which require exclusion the the sibling HT, HT1.
In such case, HT1 would not be able to schedule any event until HT0
is done. To mitigate this problem, this patch artificially limits
the number of counters to 2.
That way, we can gurantee that at least 2 counters are not in exclusive
mode and therefore allow the sibling thread to schedule events of the
same type (system vs. per-thread). The 2 counters are not determined
in advance. We simply set the limit to two events per HT.
This helps mitigate starvation in case of events with specific counter
constraints such a PREC_DIST.
Note that this does not elimintate the starvation is all cases. But
it is better than not having it.
(Solution suggested by Peter Zjilstra.)
Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: bp@xxxxxxxxx
Cc: jolsa@xxxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: maria.n.dimakopoulou@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1416251225-17721-11-git-send-email-eranian@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a90738c2cb0dceb882e0d7f7f9141e0062809b4d
Author: Stephane Eranian <eranian@xxxxxxxxxx>
Date: Mon Nov 17 20:07:01 2014 +0100
perf/x86/intel: Fix intel_get_event_constraints() for dynamic constraints
With dynamic constraint, we need to restart from the static
constraints each time the intel_get_event_constraints() is called.
Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Reviewed-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx>
Cc: bp@xxxxxxxxx
Cc: jolsa@xxxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1416251225-17721-10-git-send-email-eranian@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit b63b4b459a78a9a45ea47a4803b8d1868e9d17d5
Author: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx>
Date: Mon Nov 17 20:07:00 2014 +0100
perf/x86/intel: Enforce HT bug workaround with PEBS for SNB/IVB/HSW
This patch modifies the PEBS constraint tables for SNB/IVB/HSW
such that corrupting events supporting PEBS activate the HT
workaround.
Signed-off-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: bp@xxxxxxxxx
Cc: jolsa@xxxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1416251225-17721-9-git-send-email-eranian@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 93fcf72cc0fa286aa8c3e11a1a8fd4659f0e27c0
Author: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx>
Date: Mon Nov 17 20:06:59 2014 +0100
perf/x86/intel: Enforce HT bug workaround for SNB/IVB/HSW
This patches activates the HT bug workaround for the
SNB/IVB/HSW processors. This covers non-PEBS mode.
Activation is done thru the constraint tables.
Both client and server processors needs this workaround.
Signed-off-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: bp@xxxxxxxxx
Cc: jolsa@xxxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1416251225-17721-8-git-send-email-eranian@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit e979121b1b1556e184492e6fc149bbe188fc83e6
Author: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx>
Date: Mon Nov 17 20:06:58 2014 +0100
perf/x86/intel: Implement cross-HT corruption bug workaround
This patch implements a software workaround for a HW erratum
on Intel SandyBridge, IvyBridge and Haswell processors
with Hyperthreading enabled. The errata are documented for
each processor in their respective specification update
documents:
- SandyBridge: BJ122
- IvyBridge: BV98
- Haswell: HSD29
The bug causes silent counter corruption across hyperthreads only
when measuring certain memory events (0xd0, 0xd1, 0xd2, 0xd3).
Counters measuring those events may leak counts to the sibling
counter. For instance, counter 0, thread 0 measuring event 0xd0,
may leak to counter 0, thread 1, regardless of the event measured
there. The size of the leak is not predictible. It all depends on
the workload and the state of each sibling hyper-thread. The
corrupting events do undercount as a consequence of the leak. The
leak is compensated automatically only when the sibling counter measures
the exact same corrupting event AND the workload is on the two threads
is the same. Given, there is no way to guarantee this, a work-around
is necessary. Furthermore, there is a serious problem if the leaked count
is added to a low-occurrence event. In that case the corruption on
the low occurrence event can be very large, e.g., orders of magnitude.
There is no HW or FW workaround for this problem.
The bug is very easy to reproduce on a loaded system.
Here is an example on a Haswell client, where CPU0, CPU4
are siblings. We load the CPUs with a simple triad app
streaming large floating-point vector. We use 0x81d0
corrupting event (MEM_UOPS_RETIRED:ALL_LOADS) and
0x20cc (ROB_MISC_EVENTS:LBR_INSERTS). Given we are not
using the LBR, the 0x20cc event should be zero.
$ taskset -c 0 triad &
$ taskset -c 4 triad &
$ perf stat -a -C 0 -e r81d0 sleep 100 &
$ perf stat -a -C 4 -r20cc sleep 10
Performance counter stats for 'system wide':
139 277 291 r20cc
10,000969126 seconds time elapsed
In this example, 0x81d0 and r20cc ar eusing sinling counters
on CPU0 and CPU4. 0x81d0 leaks into 0x20cc and corrupts it
from 0 to 139 millions occurrences.
This patch provides a software workaround to this problem by modifying the
way events are scheduled onto counters by the kernel. The patch forces
cross-thread mutual exclusion between counters in case a corrupting event
is measured by one of the hyper-threads. If thread 0, counter 0 is
measuring
event 0xd0, then nothing can be measured on counter 0, thread 1. If no
corrupting
event is measured on any hyper-thread, event scheduling proceeds as
before.
The same example run with the workaround enabled, yield the correct
answer:
$ taskset -c 0 triad &
$ taskset -c 4 triad &
$ perf stat -a -C 0 -e r81d0 sleep 100 &
$ perf stat -a -C 4 -r20cc sleep 10
Performance counter stats for 'system wide':
0 r20cc
10,000969126 seconds time elapsed
The patch does provide correctness for all non-corrupting events. It does
not
"repatriate" the leaked counts back to the leaking counter. This is
planned
for a second patch series. This patch series makes this repatriation more
easy by guaranteeing the sibling counter is not measuring any useful
event.
The patch introduces dynamic constraints for events. That means that
events which
did not have constraints, i.e., could be measured on any counters, may
now be
constrained to a subset of the counters depending on what is going on the
sibling
thread. The algorithm is similar to a cache coherency protocol. We call
it XSU
in reference to Exclusive, Shared, Unused, the 3 possible states of a PMU
counter.
As a consequence of the workaround, users may see an increased amount of
event
multiplexing, even in situtations where there are fewer events than
counters
measured on a CPU.
Patch has been tested on all three impacted processors. Note that when
HT is off, there is no corruption. However, the workaround is still
enabled,
yet not costing too much. Adding a dynamic detection of HT on turned out
to
be complex are requiring too much to code to be justified.
This patch addresses the issue when PEBS is not used. A subsequent patch
fixes the problem when PEBS is used.
Signed-off-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx>
[spinlock_t -> raw_spinlock_t]
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: bp@xxxxxxxxx
Cc: jolsa@xxxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1416251225-17721-7-git-send-email-eranian@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 6f6539cad926f55d5eb6e79d05bbe99f0d54d56d
Author: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx>
Date: Mon Nov 17 20:06:57 2014 +0100
perf/x86/intel: Add cross-HT counter exclusion infrastructure
This patch adds a new shared_regs style structure to the
per-cpu x86 state (cpuc). It is used to coordinate access
between counters which must be used with exclusion across
HyperThreads on Intel processors. This new struct is not
needed on each PMU, thus is is allocated on demand.
Signed-off-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx>
[peterz: spinlock_t -> raw_spinlock_t]
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: bp@xxxxxxxxx
Cc: jolsa@xxxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1416251225-17721-6-git-send-email-eranian@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 79cba822443a168c8f7f5b853d9c7225a6d5415e
Author: Stephane Eranian <eranian@xxxxxxxxxx>
Date: Mon Nov 17 20:06:56 2014 +0100
perf/x86: Add 'index' param to get_event_constraint() callback
This patch adds an index parameter to the get_event_constraint()
x86_pmu callback. It is expected to represent the index of the
event in the cpuc->event_list[] array. When the callback is used
for fake_cpuc (evnet validation), then the index must be -1. The
motivation for passing the index is to use it to index into another
cpuc array.
Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: bp@xxxxxxxxx
Cc: jolsa@xxxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: maria.n.dimakopoulou@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1416251225-17721-5-git-send-email-eranian@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit c5362c0c376486afcf3c91d3c2691d348ac1e2fd
Author: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx>
Date: Mon Nov 17 20:06:55 2014 +0100
perf/x86: Add 3 new scheduling callbacks
This patch adds 3 new PMU model specific callbacks
during the event scheduling done by x86_schedule_events().
->start_scheduling(): invoked when entering the schedule routine.
->stop_scheduling(): invoked at the end of the schedule routine
->commit_scheduling(): invoked for each committed event
To be used optionally by model-specific code.
Signed-off-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: bp@xxxxxxxxx
Cc: jolsa@xxxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1416251225-17721-4-git-send-email-eranian@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 90413464313e00fe4975f4a0ebf25fe31d01f793
Author: Stephane Eranian <eranian@xxxxxxxxxx>
Date: Mon Nov 17 20:06:54 2014 +0100
perf/x86: Vectorize cpuc->kfree_on_online
Make the cpuc->kfree_on_online a vector to accommodate
more than one entry and add the second entry to be
used by a later patch.
Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Reviewed-by: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx>
Cc: bp@xxxxxxxxx
Cc: jolsa@xxxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1416251225-17721-3-git-send-email-eranian@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 9a5e3fb52ae5458c8bf1a67129b96c39b541a582
Author: Stephane Eranian <eranian@xxxxxxxxxx>
Date: Mon Nov 17 20:06:53 2014 +0100
perf/x86: Rename x86_pmu::er_flags to 'flags'
Because it will be used for more than just tracking the
presence of extra registers.
Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: bp@xxxxxxxxx
Cc: jolsa@xxxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: maria.n.dimakopoulou@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1416251225-17721-2-git-send-email-eranian@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit c2b078e78ace39710356a7bb6b984177d942a699
Merge: 8062382 c420f19
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Thu Apr 2 17:17:46 2015 +0200
Merge branch 'perf/urgent' into perf/core, before applying dependent
patches
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 8062382c8dbe2dc11d37e7f0b139508cf10de9d4
Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Date: Fri Jan 30 12:40:35 2015 +0200
perf/x86/intel/bts: Add BTS PMU driver
Add support for Branch Trace Store (BTS) via kernel perf event
infrastructure.
The difference with the existing implementation of BTS support is that
this
one is a separate PMU that exports events' trace buffers to userspace by
means
of AUX area of the perf buffer, which is zero-copy mapped into userspace.
The immediate benefit is that the buffer size can be much bigger,
resulting in
fewer interrupts and no kernel side copying is involved and little to no
trace
data loss. Also, kernel code can be traced with this driver.
The old way of collecting BTS traces still works.
Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: acme@xxxxxxxxxxxxx
Cc: adrian.hunter@xxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: markus.t.metzger@xxxxxxxxx
Cc: mathieu.poirier@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1422614435-114702-1-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 52ca9ced3f70779589e6ecc329baffe69d8f5f7a
Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Date: Fri Jan 30 12:39:52 2015 +0200
perf/x86/intel/pt: Add Intel PT PMU driver
Add support for Intel Processor Trace (PT) to kernel's perf events.
PT is an extension of Intel Architecture that collects information about
software execuction such as control flow, execution modes and timings and
formats it into highly compressed binary packets. Even being compressed,
these packets are generated at hundreds of megabytes per second per core,
which makes it impractical to decode them on the fly in the kernel.
This driver exports trace data by through AUX space in the perf ring
buffer, which is zero-copy mapped into userspace for faster data
retrieval.
Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: acme@xxxxxxxxxxxxx
Cc: adrian.hunter@xxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: markus.t.metzger@xxxxxxxxx
Cc: mathieu.poirier@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1422614392-114498-1-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 4807034248bed58d49a4f9f450c024e3b0f58577
Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Date: Wed Jan 14 14:18:20 2015 +0200
perf/x86: Mark Intel PT and LBR/BTS as mutually exclusive
Intel PT cannot be used at the same time as LBR or BTS and will cause a
general protection fault if they are used together. In order to avoid
fixing up GPs in the fast path, instead we disallow creating LBR/BTS
events when PT events are present and vice versa.
Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: acme@xxxxxxxxxxxxx
Cc: adrian.hunter@xxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: markus.t.metzger@xxxxxxxxx
Cc: mathieu.poirier@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1421237903-181015-12-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit ed69628b3b04578179334393d7f5fe60a2681f1c
Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Date: Wed Jan 14 14:18:19 2015 +0200
x86: Add Intel Processor Trace (INTEL_PT) cpu feature detection
Intel Processor Trace is an architecture extension that allows for program
flow tracing.
Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: acme@xxxxxxxxxxxxx
Cc: adrian.hunter@xxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: markus.t.metzger@xxxxxxxxx
Cc: mathieu.poirier@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1421237903-181015-11-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit ec0d7729bbaed4b9d2d3fada693278e13a3d1368
Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Date: Wed Jan 14 14:18:23 2015 +0200
perf: Add ITRACE_START record to indicate that tracing has started
For counters that generate AUX data that is bound to the context of a
running task, such as instruction tracing, the decoder needs to know
exactly which task is running when the event is first scheduled in,
before the first sched_switch. The decoder's need to know this stems
from the fact that instruction flow trace decoding will almost always
require program's object code in order to reconstruct said flow and
for that we need at least its pid/tid in the perf stream.
To single out such instruction tracing pmus, this patch introduces
ITRACE PMU capability. The reason this is not part of RECORD_AUX
record is that not all pmus capable of generating AUX data need this,
and the opposite is *probably* also true.
While sched_switch covers for most cases, there are two problems with it:
the consumer will need to process events out of order (that is, having
found RECORD_AUX, it will have to skip forward to the nearest sched_switch
to figure out which task it was, then go back to the actual trace to
decode it) and it completely misses the case when the tracing is enabled
and disabled before sched_switch, for example, via PERF_EVENT_IOC_DISABLE.
Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: acme@xxxxxxxxxxxxx
Cc: adrian.hunter@xxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: markus.t.metzger@xxxxxxxxx
Cc: mathieu.poirier@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1421237903-181015-15-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 1a5941312414c71dece6717da9a0fa1303127afa
Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Date: Wed Jan 14 14:18:18 2015 +0200
perf: Add wakeup watermark control to the AUX area
When AUX area gets a certain amount of new data, we want to wake up
userspace to collect it. This adds a new control to specify how much
data will cause a wakeup. This is then passed down to pmu drivers via
output handle's "wakeup" field, so that the driver can find the nearest
point where it can generate an interrupt.
We repurpose __reserved_2 in the event attribute for this, even though
it was never checked to be zero before, aux_watermark will only matter
for new AUX-aware code, so the old code should still be fine.
Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: acme@xxxxxxxxxxxxx
Cc: adrian.hunter@xxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: markus.t.metzger@xxxxxxxxx
Cc: mathieu.poirier@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1421237903-181015-10-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 2023a0d2829e521fe6ad6b9907f3f90bfbf57142
Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Date: Wed Jan 14 14:18:17 2015 +0200
perf: Support overwrite mode for the AUX area
This adds support for overwrite mode in the AUX area, which means "keep
collecting data till you're stopped", turning AUX area into a circular
buffer, where new data overwrites old data. It does not depend on data
buffer's overwrite mode, so that it doesn't lose sideband data that is
instrumental for processing AUX data.
Overwrite mode is enabled at mapping AUX area read only. Even though
aux_tail in the buffer's user page might be user writable, it will be
ignored in this mode.
A PERF_RECORD_AUX with PERF_AUX_FLAG_OVERWRITE set is written to the perf
data stream every time an event writes new data to the AUX area. The pmu
driver might not be able to infer the exact beginning of the new data in
each snapshot, some drivers will only provide the tail, which is
aux_offset + aux_size in the AUX record. Consumer has to be able to tell
the new data from the old one, for example, by means of time stamps if
such are provided in the trace.
Consumer is also responsible for disabling any events that might write
to the AUX area (thus potentially racing with the consumer) before
collecting the data.
Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: acme@xxxxxxxxxxxxx
Cc: adrian.hunter@xxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: markus.t.metzger@xxxxxxxxx
Cc: mathieu.poirier@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1421237903-181015-9-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit fdc2670666f40ab3e03143f04d1ebf4a05e2c24a
Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Date: Wed Jan 14 14:18:16 2015 +0200
perf: Add API for PMUs to write to the AUX area
For pmus that wish to write data to ring buffer's AUX area, provide
perf_aux_output_{begin,end}() calls to initiate/commit data writes,
similarly to perf_output_{begin,end}. These also use the same output
handle structure. Also, similarly to software counterparts, these
will direct inherited events' output to parents' ring buffers.
After the perf_aux_output_begin() returns successfully, handle->size
is set to the maximum amount of data that can be written wrt aux_tail
pointer, so that no data that the user hasn't seen will be overwritten,
therefore this should always be called before hardware writing is
enabled. On success, this will return the pointer to pmu driver's
private structure allocated for this aux area by pmu::setup_aux. Same
pointer can also be retrieved using perf_get_aux() while hardware
writing is enabled.
PMU driver should pass the actual amount of data written as a parameter
to perf_aux_output_end(). All hardware writes should be completed and
visible before this one is called.
Additionally, perf_aux_output_skip() will adjust output handle and
aux_head in case some part of the buffer has to be skipped over to
maintain hardware's alignment constraints.
Nested writers are forbidden and guards are in place to catch such
attempts.
Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: acme@xxxxxxxxxxxxx
Cc: adrian.hunter@xxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: markus.t.metzger@xxxxxxxxx
Cc: mathieu.poirier@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1421237903-181015-8-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 68db7e98c3a6ebe7284b6cf14906ed7c55f3f7f0
Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Date: Wed Jan 14 14:18:15 2015 +0200
perf: Add AUX record
When there's new data in the AUX space, output a record indicating its
offset and size and a set of flags, such as PERF_AUX_FLAG_TRUNCATED, to
mean the described data was truncated to fit in the ring buffer.
Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: adrian.hunter@xxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: markus.t.metzger@xxxxxxxxx
Cc: mathieu.poirier@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1421237903-181015-7-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit bed5b25ad9c8a2f5d735ef0bc746ec870c01c1b0
Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Date: Fri Jan 30 12:31:06 2015 +0200
perf: Add a pmu capability for "exclusive" events
Usually, pmus that do, for example, instruction tracing, would only ever
be able to have one event per task per cpu (or per perf_event_context).
For
such pmus it makes sense to disallow creating conflicting events early on,
so as to provide consistent behavior for the user.
This patch adds a pmu capability that indicates such constraint on event
creation.
Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: acme@xxxxxxxxxxxxx
Cc: adrian.hunter@xxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: markus.t.metzger@xxxxxxxxx
Cc: mathieu.poirier@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1422613866-113186-1-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 6a279230391b63130070e0219b0ad09d34d28c89
Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Date: Wed Jan 14 14:18:13 2015 +0200
perf: Add a capability for AUX_NO_SG pmus to do software double buffering
For pmus that don't support scatter-gather for AUX data in hardware, it
might still make sense to implement software double buffering to avoid
losing data while the user is reading data out. For this purpose, add
a pmu capability that guarantees multiple high-order chunks for AUX
buffer,
so that the pmu driver can do switchover tricks.
To make use of this feature, add PERF_PMU_CAP_AUX_SW_DOUBLEBUF to your
pmu's capability mask. This will make the ring buffer AUX allocation code
ensure that the biggest high order allocation for the aux buffer pages is
no bigger than half of the total requested buffer size, thus making sure
that the buffer has at least two high order allocations.
Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: acme@xxxxxxxxxxxxx
Cc: adrian.hunter@xxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: markus.t.metzger@xxxxxxxxx
Cc: mathieu.poirier@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1421237903-181015-5-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 0a4e38e64f5e91ce131cc42ee5bb3925377ec840
Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Date: Wed Jan 14 14:18:12 2015 +0200
perf: Support high-order allocations for AUX space
Some pmus (such as BTS or Intel PT without multiple-entry ToPA capability)
don't support scatter-gather and will prefer larger contiguous areas for
their output regions.
This patch adds a new pmu capability to request higher order allocations.
Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: acme@xxxxxxxxxxxxx
Cc: adrian.hunter@xxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: markus.t.metzger@xxxxxxxxx
Cc: mathieu.poirier@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1421237903-181015-4-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 45bfb2e50471abbbfd83d40d28c986078b0d24ff
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Wed Jan 14 14:18:11 2015 +0200
perf: Add AUX area to ring buffer for raw data streams
This patch introduces "AUX space" in the perf mmap buffer, intended for
exporting high bandwidth data streams to userspace, such as instruction
flow traces.
AUX space is a ring buffer, defined by aux_{offset,size} fields in the
user_page structure, and read/write pointers aux_{head,tail}, which abide
by the same rules as data_* counterparts of the main perf buffer.
In order to allocate/mmap AUX, userspace needs to set up aux_offset to
such an offset that will be greater than data_offset+data_size and
aux_size to be the desired buffer size. Both need to be page aligned.
Then, same aux_offset and aux_size should be passed to mmap() call and
if everything adds up, you should have an AUX buffer as a result.
Pages that are mapped into this buffer also come out of user's mlock
rlimit plus perf_event_mlock_kb allowance.
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: acme@xxxxxxxxxxxxx
Cc: adrian.hunter@xxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: markus.t.metzger@xxxxxxxxx
Cc: mathieu.poirier@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1421237903-181015-3-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit e8c6deac69629c0cb97c3d3272f8631ef17f8f0f
Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Date: Wed Jan 14 14:18:10 2015 +0200
perf: Add data_{offset,size} to user_page
Currently, the actual perf ring buffer is one page into the mmap area,
following the user page and the userspace follows this convention. This
patch adds data_{offset,size} fields to user_page that can be used by
userspace instead for locating perf data in the mmap area. This is also
helpful when mapping existing or shared buffers if their size is not
known in advance.
Right now, it is made to follow the existing convention that
data_offset == PAGE_SIZE and
data_offset + data_size == mmap_size.
Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: acme@xxxxxxxxxxxxx
Cc: adrian.hunter@xxxxxxxxx
Cc: kan.liang@xxxxxxxxx
Cc: markus.t.metzger@xxxxxxxxx
Cc: mathieu.poirier@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1421237903-181015-2-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit e9ab674e23872f5c13fa0ccb531c6bc52741d23a
Author: Auguste Olivry <auguste.olivry@xxxxxx>
Date: Thu Apr 2 16:07:17 2015 +0200
staging: lustre: ping_test.c : remove space after function names
remove space between function names and open parentheses as reported by
checkpatch.pl.
Signed-off-by: Auguste Olivry <auguste.olivry@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 612544fbde1b3cf60eb1c06ce1b6640c5d61bcdd
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Thu Apr 2 17:07:26 2015 +0200
MIPS: SEAD3: Combine all platform device registrations in one file.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 822aa3e22f6eace077b53b28176aaf001a92a61d
Author: Luca Wehrstedt <luca.wehrstedt@xxxxxx>
Date: Thu Apr 2 16:33:34 2015 +0200
Staging: lustre: lov_io.c: remove useless unary pluses
Replace two occurrences of "+1" with simply "1".
Signed-off-by: Luca Wehrstedt <luca.wehrstedt@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d4a4e3f5a3e8bcd8aa778120d5f902b06a0e1019
Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Date: Fri Mar 27 20:43:38 2015 +0900
kbuild: ia64: use $(src)/Makefile.gate rather than particular path
Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit 5f655c7a4c9fcf7152b8a34e987d936f7b5255b8
Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Date: Fri Mar 27 20:43:37 2015 +0900
kbuild: include $(src)/Makefile rather than $(obj)/Makefile
This commit actually has no impact because $(src) and $(obj) point
to the same path, but $(src)/Makefile looks better when we include
source files.
Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit a436bb7b806383ae0593cab53d17fc9676270cd3
Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Date: Fri Mar 27 20:43:36 2015 +0900
kbuild: use relative path more to include Makefile
Prior to this commit, it was impossible to use relative path to
include Makefiles from the top level Makefile because the option
"--include-dir=$(srctree)" becomes effective when Make enters into
sub Makefiles.
To use relative path in any places, this commit moves the option
above the "sub-make" target.
Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit 7aacad53aeb57b7ff52399f56eb6d7d4010e72e9
Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Date: Fri Mar 27 20:43:35 2015 +0900
kbuild: use relative path to include Makefile
The "MAKEFLAGS += --include-dir=$(srctree)" line in the top Makefile
allows us to do this.
Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit 21c784b93b0a19af4ae7bcce0d22120ba91970cf
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Thu Apr 2 16:37:00 2015 +0200
MIPS: SEAD3: Make static in sead3-ehci what can be made static.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 8a58e1628ce4416490fb00e958b867fb5b9b1f90
Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Date: Thu Mar 26 20:59:52 2015 +0900
kbuild: do not add $(bounds-file) and $(offsets-file) to targets
$(always) is added to targets by scripts/Makefile.build.
Moreover, filechk does not need .*.cmd files.
Adding these two files to targets is redundant.
Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit e1abf2cc8d5d80b41c4419368ec743ccadbb131e
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Thu Apr 2 15:51:39 2015 +0200
bpf: Fix the build on BPF_SYSCALL=y && !CONFIG_TRACING kernels, make it
more configurable
So bpf_tracing.o depends on CONFIG_BPF_SYSCALL - but that's not its only
dependency, it also depends on the tracing infrastructure and on kprobes,
without which it will fail to build with:
In file included from kernel/trace/bpf_trace.c:14:0:
kernel/trace/trace.h: In function â??trace_test_and_set_recursionâ??:
kernel/trace/trace.h:491:28: error: â??struct task_structâ?? has no
member named â??trace_recursionâ??
unsigned int val = current->trace_recursion;
[...]
It took quite some time to trigger this build failure, because right now
BPF_SYSCALL is very obscure, depends on CONFIG_EXPERT. So also make
BPF_SYSCALL
more configurable, not just under CONFIG_EXPERT.
If BPF_SYSCALL, tracing and kprobes are enabled then enable the
bpf_tracing
gateway as well.
We might want to make this an interactive option later on, although
I'd not complicate it unnecessarily: enabling BPF_SYSCALL is enough of
an indicator that the user wants BPF support.
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 6b09adcf6a96bbc1d7456b0a4da160fa737c6c2f
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Thu Apr 2 16:26:32 2015 +0200
MIPS: SEAD3: sead3-ehci should not be a module.
So let's remove everythig that only make sense for a kernel module and
build the thing unconditionally.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 85f215cf9b8a8888e1742bbfb00a29f609f28022
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Thu Apr 2 16:20:04 2015 +0200
MIPS: SEAD3: sead3-platform is not a module.
So let's remove everything that only makes sense for kernel modules.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 9d4b5b9e869677154bc5dd27f9cb57c8141deca5
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Thu Apr 2 16:19:29 2015 +0200
MIPS: SEAD3: sead3-net is not a module.
So let's remove everything that only makes sense for kernel modules.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 1b9441f8ec426223f6f54f2af10ee01c8b743e5b
Author: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Date: Thu Apr 2 13:41:13 2015 +0300
Bluetooth: Convert local OOB data reading to use HCI request
Now that there's a HCI request API available where the callback receives
the resulting skb, we can convert the local OOB data reading to use this
new API. This patch does the necessary update in mgmt.c (which also
requires moving the callback higher up since it's now a static function)
and removes the custom calls from hci_event.c that are no-longer
necessary.
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 757aa0b56da5d1089c55bf349fa15836dae22b6f
Author: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Date: Thu Apr 2 13:41:12 2015 +0300
Bluetooth: Move hci_get_cmd_complete() to hci_event.c
To make the hci_req_run_skb() API consistent with hci_cmd_sync_ev()
the callback should receive the cmd_complete parameters in the 'normal'
case and the full HCI event if a special event was expected. This patch
moves the hci_get_cmd_complete() function from hci_core.c to hci_event.c
where it's used to strip the skb from the needed headers before passing
it on to the callback.
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit abe66a4d036933c7376b40b0d7bb5de0458331aa
Author: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Date: Thu Apr 2 13:41:11 2015 +0300
Bluetooth: Remove unused hci_req_pending() function
The hci_req_pending() function has no users anymore, so simply remove
it.
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit f7d9e97592aeb7742084814c5f37e25571b2d51d
Author: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Date: Thu Apr 2 13:41:10 2015 +0300
Bluetooth: Remove unneeded recv_event variable
Now that the synchronous HCI requests use the new API and a new private
variable the recv_evt member of hci_dev is no-longer needed. This patch
removes it.
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit f60cb30579d3401cab1ed36b42df5c0568ae0ba7
Author: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Date: Thu Apr 2 13:41:09 2015 +0300
Bluetooth: Convert hci_req_sync family of function to new request API
Now that there's an API in place that allows passing the resulting skb
to the request callback we can conveniently convert the hci_req_sync and
related functions to use it. Since we still need to get the skb from the
async callback into the sleeping _sync() function the patch adds another
req_skb variable to hci_dev where the sync request state is tracked.
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit e6214487492566b15ff24e97c6747bb2e5d9e040
Author: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Date: Thu Apr 2 13:41:08 2015 +0300
Bluetooth: Add second hci_request callback option for full skb
This patch adds a second possible callback for HCI requests where the
callback will receive the full skb of the last successfully completed
HCI command. This API is useful for cases where we want to use a request
to read some data and the existing hci_event.c handlers do not store it
e.g. in the hci_dev struct.
The reason the patch is a bit bigger than just adding the new API is
because the hci_req_cmd_complete() functions required some refactoring
to enable it: now hci_req_cmd_complete() is simply used to request the
callback pointers if any, and the actual calling of them happens from a
single place at the end of hci_event_packet(). The reason for this is
that we need to pass the original skb (without any skb_pull, etc
modifications done to it) and it's simplest to keep track of it within
the hci_event_packet() function.
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 444c6dd54d81edf81c606f571cb52eff4d47fa99
Author: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Date: Thu Apr 2 13:41:07 2015 +0300
Bluetooth: Add clarifying comment to command status handling
When dealing with HCI command status events, the reasoning for trying to
mark a request as complete if no specific event is being waited for and
status was success is not self-evident. This patch adds a clarifying
comment above the if-statement.
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit b4bf2120d40b96552326a6606d5fb90e2ab04841
Author: Ping Cheng <pinglinux@xxxxxxxxx>
Date: Wed Mar 25 17:08:13 2015 -0700
HID: wacom: Add support for Cintiq 13HD Touch
Cintiq 13HD Touch is a new display tablet with pen and 10 finger touches.
Signed-off-by: Ping Cheng <pingc@xxxxxxxxx>
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit 9188dbaed68a4b23dc96eba165265c08caa7dc2a
Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
Date: Thu Mar 26 12:41:57 2015 -0400
HID: logitech-hidpp: add a module parameter to keep firmware gestures
The Logitech T650 used to report 3 fingers swipes to the up as a press on
the
Super key. When we switched the touchpad to the raw mode, we also disable
such
firmware gesture and some users may rely on it.
Unfortunately, 3 finger swipes are still not supported in most of the
Linux
environments, which means that we disabled a feature of the touchpad.
Allow users to revert the raw reporting mode and keep going with the
firmware
gestures by providing a new module parameter.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit 43faadfe96d3f049f4ae2c4090d2e57b9aafb995
Author: Oliver Neukum <oneukum@xxxxxxx>
Date: Mon Mar 30 12:36:36 2015 +0200
HID: usbhid: yet another mouse with ALWAYS_POLL
The device exists with two device IDs instead of one as previously
believed.
Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit 003e817a9ecf6cfded59630858bbf04056d71e9a
Author: Oliver Neukum <oneukum@xxxxxxx>
Date: Mon Mar 30 12:36:35 2015 +0200
HID: usbhid: more mice with ALWAYS_POLL
During a stress test these mice kept dropping and reappearing
in runlevel 1 as opposed to 5.
Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit 345527b1edce8df719e0884500c76832a18211c3
Author: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 14:59:19 2015 +0530
clockevents: Fix cpu_down() race for hrtimer based broadcasting
It was found when doing a hotplug stress test on POWER, that the
machine either hit softlockups or rcu_sched stall warnings. The
issue was traced to commit:
7cba160ad789 ("powernv/cpuidle: Redesign idle states management")
which exposed the cpu_down() race with hrtimer based broadcast mode:
5d1638acb9f6 ("tick: Introduce hrtimer based broadcast")
The race is the following:
Assume CPU1 is the CPU which holds the hrtimer broadcasting duty
before it is taken down.
CPU0 CPU1
cpu_down() take_cpu_down()
disable_interrupts()
cpu_die()
while (CPU1 != CPU_DEAD) {
msleep(100);
switch_to_idle();
stop_cpu_timer();
schedule_broadcast();
}
tick_cleanup_cpu_dead()
take_over_broadcast()
So after CPU1 disabled interrupts it cannot handle the broadcast
hrtimer anymore, so CPU0 will be stuck forever.
Fix this by explicitly taking over broadcast duty before cpu_die().
This is a temporary workaround. What we really want is a callback
in the clockevent device which allows us to do that from the dying
CPU by pushing the hrtimer onto a different cpu. That might involve
an IPI and is definitely more complex than this immediate fix.
Changelog was picked up from:
https://lkml.org/lkml/2015/2/16/213
Suggested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Tested-by: Nicolas Pitre <nico@xxxxxxxxxx>
Signed-off-by: Preeti U. Murthy <preeti@xxxxxxxxxxxxxxxxxx>
Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
Cc: mpe@xxxxxxxxxxxxxx
Cc: nicolas.pitre@xxxxxxxxxx
Cc: peterz@xxxxxxxxxxxxx
Cc: rjw@xxxxxxxxxxxxx
Fixes:
http://linuxppc.10917.n7.nabble.com/offlining-cpus-breakage-td88619.html
Link:
http://lkml.kernel.org/r/20150330092410.24979.59887.stgit@xxxxxxxxxxxxxxxxx
[ Merged it to the latest timer tree, renamed the callback, tidied up the
changelog. ]
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 0149931e6d2fa995fbcee590bb6cf9007a8839fc
Author: Ping Cheng <pinglinux@xxxxxxxxx>
Date: Fri Mar 20 14:58:01 2015 -0700
HID: wacom: set stylus_in_proximity before checking touch_down
In wacom_bpt_pen, we checked touch_down before assigning new
stylus_in_proximity value. This would cause stylus_in_proximity not
updated
properly if touch is down before pen is in proximity.
[jkosina@xxxxxxx: fix if-else style]
Signed-off-by: Ping Cheng <pingc@xxxxxxxxx>
Reviewed-by: Jason Gerecke <jason.gerecke@xxxxxxxxx>
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit 7d059ed01ca18d20e0a94ef785ee81a45c19d78c
Author: Ping Cheng <pinglinux@xxxxxxxxx>
Date: Fri Mar 20 14:57:21 2015 -0700
HID: wacom: use wacom_wac_finger_count_touches to set touch_down
Counting number of touching fingers by wacom_wac_finger_count_touches so
we
don't have to count them inside individual routines.
Signed-off-by: Ping Cheng <pingc@xxxxxxxxx>
Reviewed-by: Jason Gerecke <jason.gerecke@xxxxxxxxx>
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit f3586d2f819af6dbe5b08d2a6f1d22b1a97e2b64
Author: Ping Cheng <pinglinux@xxxxxxxxx>
Date: Fri Mar 20 14:57:00 2015 -0700
HID: wacom: remove hardcoded WACOM_QUIRK_MULTI_INPUT
The quirk was added for devices that support both pen and touch. It
decides if
a device supports multiple inputs by hardcoded feature type. However, for
some
devices, we do not know if they support both before accessing their HID
descriptors.
This patch relies on dynamically assigned device_type to make the
decision.
Also, we make it certain that wacom_wac->shared is always created. That
is, the
driver will not be loaded if it fails to create wacom_wac->shared.
Signed-off-by: Ping Cheng <pingc@xxxxxxxxx>
Reviewed-by: Jason Gerecke <jason.gerecke@xxxxxxxxx>
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit 1fd29be5cede285e673d3ed73d9ed9db59536b33
Merge: 5fcad16 b70b825
Author: Jiri Kosina <jkosina@xxxxxxx>
Date: Thu Apr 2 14:09:09 2015 +0200
Merge branch 'for-4.0/upstream-fixes' into for-4.1/wacom
Conflicts:
drivers/hid/wacom_wac.c
Need to fetch the 4.0 fixes to apply 4.1 patches based on top
of those.
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit e754dfcfe37f49c9249152e2e98e58887a4d87c8
Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Date: Thu Apr 2 12:30:24 2015 +0200
MIPS: BCM47xx: Move filling most of SPROM to the generic function
This simplifies code a lot by dropping many per-revision-group
functions. There are still some paths left that use uncommon NVRAM read
helpers or fill arrays. They will need to be handled in separated patch.
I've tested this (by printing SPROM content) for regressions on:
1) BCM4704 (SPROM revision 2)
2) BCM4706 (SPROM revision 8 plus 11 & 9 on extra WiFi cards)
The only difference is not reading board_type from SPROM rev 11 which is
unsupported and treated as rev 1. This change for rev 1 is expected.
Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Hauke Mehrtens <hauke@xxxxxxxxxx>
Cc: Jonas Gorski <jonas.gorski@xxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9660/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 4879785ed511083676f27a016c9ad6c46c8e5737
Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Date: Fri Feb 13 04:42:37 2015 -0300
[media] vb2: Fix dma_dir setting for dma-contig mem type
The last argument of vb2_dc_get_user_pages() is of type enum
dma_data_direction, but the caller, vb2_dc_get_userptr() passes a value
which is the result of comparison dma_dir == DMA_FROM_DEVICE. This results
in the write parameter to get_user_pages() being zero in all cases, i.e.
that the caller has no intent to write there.
This was broken by patch "vb2: replace 'write' by 'dma_dir'".
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx # for v3.19
Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit d55a52ccf8f80cdf51af2c5c6e56c825f98c4f85
Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Date: Thu Apr 2 09:13:49 2015 +0200
MIPS: BCM47xx: Add generic function filling SPROM entries
Handling many SPROM revisions became messy, we have tons of functions
specific to various revision groups which are quite hard to track.
For years there is yet another revision 11 asking for support, but
adding it in current the form would make things even worse.
To resolve this problem let's add new function with table-like entries
that will contain revision bitmask for every SPROM variable.
Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Hauke Mehrtens <hauke@xxxxxxxxxx>
Cc: Jonas Gorski <jonas.gorski@xxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9659/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 7ae7ef3ffdd62454a1c0e6b69ebc7a14b523f0cc
Author: Wu Zhangjin <wuzhangjin@xxxxxxxxx>
Date: Sat Dec 25 23:11:49 2010 +0800
MIPS: Reduce kernel image size for !CONFIG_DEBUG_ZBOOT
!CONFIG_DEBUG_ZBOOT doesn't need puts() and puthex(), remove them and
the corrospindig strings for !CONFIG_DEBUG_ZBOOT, as a result, it saves
about 1280 bytes.
[ralf@xxxxxxxxxxxxxx: Resolved reject.]
Signed-off-by: Wu Zhangjin <wuzhangjin@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Wu Zhangjin <wuzhangjin@xxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/1898/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 160f14312b0b7d35759535b1f60be79247b263c4
Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Date: Wed Apr 1 18:18:02 2015 +0200
MIPS: BCM47xx: Devices database update for 4.1 (or 4.2?)
Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Hauke Mehrtens <hauke@xxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9656/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 7515c6f1da334184c3ece06e6f61461086d8e2b1
Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Date: Wed Apr 1 18:18:01 2015 +0200
MIPS: BCM47xx: Keep ID entries for non-standard devices together
Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Hauke Mehrtens <hauke@xxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9655/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 5db7ccdc9f685fd742cc32efe58aa0c036f380b9
Author: Daniel Walter <dwalter@xxxxxxxxxx>
Date: Tue Jun 24 16:39:59 2014 +0100
MIPS: AR7: Replace mac address parsing
Replace sscanf() with mac_pton().
[ralf@xxxxxxxxxxxxxx: Resolved conflict.]
Signed-off-by: Daniel Walter <dwalter@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/7151/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 1f8d271385d542796ab7917692908beef10acdc9
Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx>
Date: Thu Jan 1 17:48:23 2015 +0100
MIPS: Lasat: Remove unused function from sysctl code.
Remove the function proc_dolasatint() that is not used anywhere.
This was partially found by using a static code analysis program called
cppcheck.
Signed-off-by: Rickard Strandqvist
<rickard_strandqvist@xxxxxxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8868/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 40d12172c8a5c2f3fc39642fc564b053575cd000
Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Date: Wed Apr 1 08:23:05 2015 +0200
MIPS: BCM47XX: Don't try guessing NVRAM size on MTD partition
When dealing with whole flash content (bcm47xx_nvram_init_from_mem) we
need to find NVRAM start trying various partition sizes (nvram_sizes).
This is not needed when using MTD as we have direct partition access.
Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Hauke Mehrtens <hauke@xxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9652/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 6ab7c29099390b3d23c97f14498fd26a5ef6b22b
Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Date: Wed Apr 1 08:23:04 2015 +0200
MIPS: BCM47XX: Increase NVRAM buffer size to 64 KiB
For years Broadcom devices use 64 KiB NVRAM partition size and some of
them indeed have it filled in more than 50%. This change allows reading
whole NVRAM e.g. on Netgear WNDR4500 and Netgear R8000.
Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Hauke Mehrtens <hauke@xxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9651/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 50c979109c484c07358a1ac75b99df36d563c132
Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Date: Wed Apr 1 08:23:03 2015 +0200
MIPS: BCM47XX: Include io.h directly and fix brace indent
We use IO functions like readl & ioremap_nocache, so include linux/io.h
Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Hauke Mehrtens <hauke@xxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9650/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit e2e7f29af84aa59dd8191b9f6fee80aafa4e06cd
Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx>
Date: Sun Nov 16 01:02:29 2014 +0000
MIPS: c-r4k.c: Fix the 74K D-cache alias erratum workaround
Fix the 74K D-cache alias erratum workaround so that it actually works.
Our current code sets MIPS_CACHE_VTAG for the D-cache, but that flag
only has any effect for the I-cache. Additionally MIPS_CACHE_PINDEX is
set for the D-cache if CP0.Config7.AR is also set for an affected
processor, leading to confusing information in the bootstrap log (the
flag isn't used beyond that).
So delete the setting of MIPS_CACHE_VTAG and rely on MIPS_CACHE_ALIASES,
set in a common place, removing I-cache coherency issues seen in GDB
testing with software breakpoints, gdbserver and ptrace(2), on affected
systems.
While at it add a little piece of explanation of what CP0.Config6.SYND
is so that people do not have to chase documentation.
Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8507/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 12a8471de9e8dc3c867e15bbf4a37152d2f690b8
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Wed Feb 11 13:27:19 2015 -0800
MIPS: Remove prototype for copy_user_page
MIPS architecture code does not provide copy_user_page,
so it should not provide a prototype for it either.
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9266/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 7f65ef01e131650d455875598099cd06fea6096b
Merge: 509fca8 2f119c7 d4b0366 b61e2e6 804cb54 89be34a
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Apr 2 13:33:19 2015 +0200
Merge branches 'iommu/fixes', 'x86/vt-d', 'x86/amd', 'arm/smmu',
'arm/tegra' and 'core' into next
Conflicts:
drivers/iommu/amd_iommu.c
drivers/iommu/tegra-gart.c
drivers/iommu/tegra-smmu.c
commit d4b036648402bb4ef6d4a0df51375a2fb705b6cc
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Wed Apr 1 14:58:52 2015 +0200
iommu/amd: Correctly encode huge pages in iommu page tables
When a default page-size for given level should be mapped,
the level encoding must be 0 rather than 7. This fixes an
issue seen on IOMMUv2 hardware, where this encoding is
enforced.
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit b24b1b63a37d05d61601d643ef30f95dd2452048
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Wed Apr 1 14:58:51 2015 +0200
iommu/amd: Optimize amd_iommu_iova_to_phys for new fetch_pte interface
Now that fetch_pte returns the page-size of the pte, this
function can be optimized too.
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 5d7c94c3f4f20964b217d64ee44a9a08320c315a
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Wed Apr 1 14:58:50 2015 +0200
iommu/amd: Optimize alloc_new_range for new fetch_pte interface
Now that fetch_pte returns the page-size of the pte, the
call in this function can also be optimized a little bit.
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 71b390e9bec5121d25c45326ff0b0b96a143f9a8
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Wed Apr 1 14:58:49 2015 +0200
iommu/amd: Optimize iommu_unmap_page for new fetch_pte interface
Now that fetch_pte returns the page-size of the pte, this
function can be optimized a lot.
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 3039ca1b1c37e61cc9239dbb3903db55141ecabd
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Wed Apr 1 14:58:48 2015 +0200
iommu/amd: Return the pte page-size in fetch_pte
Extend the fetch_pte function to also return the page-size
that is mapped by the returned pte.
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 3b839a57998515bb44c091bbcb8ea0da9d2adef4
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Wed Apr 1 14:58:47 2015 +0200
iommu/amd: Add support for contiguous dma allocator
Add code to allocate memory from the contiguous memory
allocator to support coherent allocations larger than 8MB.
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 5fc872c7323534e8f7dc21bab635e7a9b9659e07
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Wed Apr 1 14:58:46 2015 +0200
iommu/amd: Don't allocate with __GFP_ZERO in alloc_coherent
Don't explicitly add __GFP_ZERO to the allocator flags.
Leave this up to the caller.
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 7139a2e929b9e3ca8d5c217cb8aec560be1faf00
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Wed Apr 1 14:58:45 2015 +0200
iommu/amd: Ignore BUS_NOTIFY_UNBOUND_DRIVER event
Detaching a device from its domain at this event is
problematic for several reasons:
* The device might me in an alias group and
detaching it will also detach all other devices in
the group. This removes valid DMA mappings from
the other devices causing io-page-faults and lets
these devices fail.
* Devices might have unity mappings specified by the
IVRS table. These mappings are required for the
device even when no device driver is attached.
Detaching the device from its domain in driver
unbind will also remove these unity mappings.
This patch removes the handling of the BUS_NOTIFY_UNBOUND_DRIVER
event to prevent these issues and align it better with the
behavior of the VT-d driver.
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 6c5cc8015793cdfd56d9997bcfddf2740ff716c5
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Wed Apr 1 14:58:44 2015 +0200
iommu/amd: Use BUS_NOTIFY_REMOVED_DEVICE
Use the new device-notifier event instead of the old
BUS_NOTIFY_DEL_DEVICE to make sure the device driver had a
chance to uninit the device before all its mappings are
teared down.
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 9811e35359d4b18baf5bb603b225e957255b9c46
Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Date: Wed Mar 25 12:49:26 2015 -0700
samples/bpf: Add kmem_alloc()/free() tracker tool
One BPF program attaches to kmem_cache_alloc_node() and
remembers all allocated objects in the map.
Another program attaches to kmem_cache_free() and deletes
corresponding object from the map.
User space walks the map every second and prints any objects
which are older than 1 second.
Usage:
$ sudo tracex4
Then start few long living processes. The 'tracex4' will print
something like this:
obj 0xffff880465928000 is 13sec old was allocated at ip ffffffff8105dc32
obj 0xffff88043181c280 is 13sec old was allocated at ip ffffffff8105dc32
obj 0xffff880465848000 is 8sec old was allocated at ip ffffffff8105dc32
obj 0xffff8804338bc280 is 15sec old was allocated at ip ffffffff8105dc32
$ addr2line -fispe vmlinux ffffffff8105dc32
do_fork at fork.c:1665
As soon as processes exit the memory is reclaimed and 'tracex4'
prints nothing.
Similar experiment can be done with the __kmalloc()/kfree() pair.
Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427312966-8434-10-git-send-email-ast@xxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 5c7fc2d27d004f28f3a94b35edd40e68f779e35a
Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Date: Wed Mar 25 12:49:25 2015 -0700
samples/bpf: Add IO latency analysis (iosnoop/heatmap) tool
BPF C program attaches to
blk_mq_start_request()/blk_update_request() kprobe events to
calculate IO latency.
For every completed block IO event it computes the time delta
in nsec and records in a histogram map:
map[log10(delta)*10]++
User space reads this histogram map every 2 seconds and prints
it as a 'heatmap' using gray shades of text terminal. Black
spaces have many events and white spaces have very few events.
Left most space is the smallest latency, right most space is
the largest latency in the range.
Usage:
$ sudo ./tracex3
and do 'sudo dd if=/dev/sda of=/dev/null' in other terminal.
Observe IO latencies and how different activity (like 'make
kernel') affects it.
Similar experiments can be done for network transmit latencies,
syscalls, etc.
'-t' flag prints the heatmap using normal ascii characters:
$ sudo ./tracex3 -t
heatmap of IO latency
# - many events with this latency
- few events
|1us |10us |100us |1ms |10ms |100ms |1s |10s
*ooo. *O.#.
# 221
. *# .
# 125
.. .o#*..
# 55
. . . . .#O
# 37
.#
# 175
.#*.
# 37
#
# 199
. . *#*.
# 55
*#..*
# 42
#
# 266
...***Oo#*OO**o#* .
# 629
#
# 271
. .#o* o.*o*
# 221
. . o* *#O..
# 50
Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427312966-8434-9-git-send-email-ast@xxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit d822a192684912c80950d28a0b7adc96261e957c
Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Date: Wed Mar 25 12:49:24 2015 -0700
samples/bpf: Add counting example for kfree_skb() function calls and the
write() syscall
this example has two probes in one C file that attach to
different kprove events and use two different maps.
1st probe is x64 specific equivalent of dropmon. It attaches to
kfree_skb, retrevies 'ip' address of kfree_skb() caller and
counts number of packet drops at that 'ip' address. User space
prints 'location - count' map every second.
2nd probe attaches to kprobe:sys_write and computes a histogram
of different write sizes
Usage:
$ sudo tracex2
location 0xffffffff81695995 count 1
location 0xffffffff816d0da9 count 2
location 0xffffffff81695995 count 2
location 0xffffffff816d0da9 count 2
location 0xffffffff81695995 count 3
location 0xffffffff816d0da9 count 2
557145+0 records in
557145+0 records out
285258240 bytes (285 MB) copied, 1.02379 s, 279 MB/s
syscall write() stats
byte_size : count distribution
1 -> 1 : 3 | |
2 -> 3 : 0 | |
4 -> 7 : 0 | |
8 -> 15 : 0 | |
16 -> 31 : 2 | |
32 -> 63 : 3 | |
64 -> 127 : 1 | |
128 -> 255 : 1 | |
256 -> 511 : 0 | |
512 -> 1023 : 1118968 |************************************* |
Ctrl-C at any time. Kernel will auto cleanup maps and programs
$ addr2line -ape ./bld_x64/vmlinux 0xffffffff81695995
0xffffffff816d0da9 0xffffffff81695995:
./bld_x64/../net/ipv4/icmp.c:1038 0xffffffff816d0da9:
./bld_x64/../net/unix/af_unix.c:1231
Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427312966-8434-8-git-send-email-ast@xxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit b896c4f95ab4052d6bad3acde95167d30242a84f
Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Date: Wed Mar 25 12:49:23 2015 -0700
samples/bpf: Add simple non-portable kprobe filter example
tracex1_kern.c - C program compiled into BPF.
It attaches to kprobe:netif_receive_skb()
When skb->dev->name == "lo", it prints sample debug message into
trace_pipe via bpf_trace_printk() helper function.
tracex1_user.c - corresponding user space component that:
- loads BPF program via bpf() syscall
- opens kprobes:netif_receive_skb event via perf_event_open()
syscall
- attaches the program to event via ioctl(event_fd,
PERF_EVENT_IOC_SET_BPF, prog_fd);
- prints from trace_pipe
Note, this BPF program is non-portable. It must be recompiled
with current kernel headers. kprobe is not a stable ABI and
BPF+kprobe scripts may no longer be meaningful when kernel
internals change.
No matter in what way the kernel changes, neither the kprobe,
nor the BPF program can ever crash or corrupt the kernel,
assuming the kprobes, perf and BPF subsystem has no bugs.
The verifier will detect that the program is using
bpf_trace_printk() and the kernel will print 'this is a DEBUG
kernel' warning banner, which means that bpf_trace_printk()
should be used for debugging of the BPF program only.
Usage:
$ sudo tracex1
ping-19826 [000] d.s2 63103.382648: : skb ffff880466b1ca00
len 84
ping-19826 [000] d.s2 63103.382684: : skb ffff880466b1d300
len 84
ping-19826 [000] d.s2 63104.382533: : skb ffff880466b1ca00
len 84
ping-19826 [000] d.s2 63104.382594: : skb ffff880466b1d300
len 84
Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427312966-8434-7-git-send-email-ast@xxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 9c959c863f8217a2ff3d7c296e8223654d240569
Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Date: Wed Mar 25 12:49:22 2015 -0700
tracing: Allow BPF programs to call bpf_trace_printk()
Debugging of BPF programs needs some form of printk from the
program, so let programs call limited trace_printk() with %d %u
%x %p modifiers only.
Similar to kernel modules, during program load verifier checks
whether program is calling bpf_trace_printk() and if so, kernel
allocates trace_printk buffers and emits big 'this is debug
only' banner.
Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427312966-8434-6-git-send-email-ast@xxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit d9847d310ab4003725e6ed1822682e24bd406908
Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Date: Wed Mar 25 12:49:21 2015 -0700
tracing: Allow BPF programs to call bpf_ktime_get_ns()
bpf_ktime_get_ns() is used by programs to compute time delta
between events or as a timestamp
Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427312966-8434-5-git-send-email-ast@xxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 2541517c32be2531e0da59dfd7efc1ce844644f5
Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Date: Wed Mar 25 12:49:20 2015 -0700
tracing, perf: Implement BPF programs attached to kprobes
BPF programs, attached to kprobes, provide a safe way to execute
user-defined BPF byte-code programs without being able to crash or
hang the kernel in any way. The BPF engine makes sure that such
programs have a finite execution time and that they cannot break
out of their sandbox.
The user interface is to attach to a kprobe via the perf syscall:
struct perf_event_attr attr = {
.type = PERF_TYPE_TRACEPOINT,
.config = event_id,
...
};
event_fd = perf_event_open(&attr,...);
ioctl(event_fd, PERF_EVENT_IOC_SET_BPF, prog_fd);
'prog_fd' is a file descriptor associated with BPF program
previously loaded.
'event_id' is an ID of the kprobe created.
Closing 'event_fd':
close(event_fd);
... automatically detaches BPF program from it.
BPF programs can call in-kernel helper functions to:
- lookup/update/delete elements in maps
- probe_read - wraper of probe_kernel_read() used to access any
kernel data structures
BPF programs receive 'struct pt_regs *' as an input ('struct pt_regs' is
architecture dependent) and return 0 to ignore the event and 1 to store
kprobe event into the ring buffer.
Note, kprobes are a fundamentally _not_ a stable kernel ABI,
so BPF programs attached to kprobes must be recompiled for
every kernel version and user must supply correct LINUX_VERSION_CODE
in attr.kern_version during bpf_prog_load() call.
Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427312966-8434-4-git-send-email-ast@xxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 72cbbc8994242b5b43753738c01bf07bf29cb70d
Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Date: Wed Mar 25 12:49:19 2015 -0700
tracing: Add kprobe flag
add TRACE_EVENT_FL_KPROBE flag to differentiate kprobe type of
tracepoints, since bpf programs can only be attached to kprobe
type of PERF_TYPE_TRACEPOINT perf events.
Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427312966-8434-3-git-send-email-ast@xxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 4e537f7fbdce5e8ae7c33ebaa8a1956c7727d5a7
Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Date: Wed Mar 25 12:49:18 2015 -0700
bpf: Make internal bpf API independent of CONFIG_BPF_SYSCALL #ifdefs
Socket filter code and other subsystems with upcoming eBPF
support should not need to deal with the fact that we have
CONFIG_BPF_SYSCALL defined or not.
Having the bpf syscall as a config option is a nice thing and
I'd expect it to stay that way for expert users (I presume one
day the default setting of it might change, though), but code
making use of it should not care if it's actually enabled or
not.
Instead, hide this via header files and let the rest deal with it.
Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx>
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427312966-8434-2-git-send-email-ast@xxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 223aa646d5aa6096230a9481e4c6c9cb67cfc4a6
Merge: aaa9fa3 34f4392
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Thu Apr 2 13:22:35 2015 +0200
Merge branch 'perf/timer' into perf/core
This WIP branch is now ready to be merged.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a6fcb6d4804b51ffcae7881c7f99483f4981ddf1
Author: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx>
Date: Tue Mar 31 12:15:36 2015 +0100
x86/intel/quark: Run IMR self-test on IMR capble hw only
Automated testing with LKP shows IMR self test code running and
printing error messages on QEMU hardware lacking IMR support.
Update IMR self-test code to run only when IMR hardware should
be present. Tested on Quark X1000 and QEMU.
Signed-off-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx>
Acked-by: Ong Boon Leong <boon.leong.ong@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: andriy.shevchenko@xxxxxxxxx
Cc: dvhart@xxxxxxxxxxxxxxx
Cc: huang.ying.caritas@xxxxxxxxx
Cc: ying.huang@xxxxxxxxx
Link:
http://lkml.kernel.org/r/1427800536-32339-1-git-send-email-pure.logic@xxxxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 453dcdb5ba048011d823cd31710f78ce2fd57da3
Author: Vinod Koul <vinod.koul@xxxxxxxxx>
Date: Thu Apr 2 16:11:35 2015 +0530
dmaengine: fsl_raid: statify fsl_re_chan_probe
Function fsl_re_chan_probe should be declared static, so do it
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit ad80da658bbcaaac1d3617ea6cb0f4d5e16da422
Author: Xuelin Shi <xuelin.shi@xxxxxxxxxxxxx>
Date: Tue Mar 3 14:26:22 2015 +0800
dmaengine: Driver support for FSL RaidEngine device.
The RaidEngine is a new FSL hardware used for Raid5/6 acceration.
This patch enables the RaidEngine functionality and provides
hardware offloading capability for memcpy, xor and pq computation.
It works with async_tx.
Signed-off-by: Harninder Rai <harninder.rai@xxxxxxxxxxxxx>
Signed-off-by: Xuelin Shi <xuelin.shi@xxxxxxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit a3f92e8ebe1547705dfda9c04bacb31417510692
Author: kbuild test robot <fengguang.wu@xxxxxxxxx>
Date: Thu Apr 2 17:50:56 2015 +0800
dmaengine: xgene_dma_init_ring_mngr() can be static
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit 9eed56e889d8a0bb7870e1216d8d4326dd63ec50
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Thu Apr 2 11:26:23 2015 +0200
clockevents: Clean up clockchips.h
Do various cleanups on the clockchips.h file:
- indent preprocessor blocks to make it more clear which block we are in,
this also makes merge resolution easier
- comment larger preprocessor blocks consistently, using the:
#if FOO
...
#else /* !FOO: */
...
#endif /* !FOO */
notation.
- unbreak lines
- etc.
No change in functionality.
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 3f85483bd80ef1de8cbbf0361be59f6a069b59d4
Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Date: Wed Apr 1 10:12:14 2015 -0400
x86/cpu: Factor out common CPU initialization code, fix 32-bit Xen PV
guests
Some of x86 bare-metal and Xen CPU initialization code is common
between the two and therefore can be factored out to avoid code
duplication.
As a side effect, doing so will also extend the fix provided by
commit a7fcf28d431e ("x86/asm/entry: Replace this_cpu_sp0() with
current_top_of_stack() to x86_32") to 32-bit Xen PV guests.
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: konrad.wilk@xxxxxxxxxx
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx
Link:
http://lkml.kernel.org/r/1427897534-5086-1-git-send-email-boris.ostrovsky@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 40e4f2d177f748a83e7639554ea7d11568a9fa1f
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Wed Apr 1 16:50:58 2015 +0200
x86/asm/boot/64: Use __BOOT_TSS instead of literal $0x20
__BOOT_TSS = (GDT_ENTRY_BOOT_TSS * 8)
GDT_ENTRY_BOOT_TSS = (GDT_ENTRY_BOOT_CS + 2)
GDT_ENTRY_BOOT_CS = 2
(2 + 2) * 8 = 4 * 8 = 32 = 0x20
No code changes.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Acked-by: Borislav Petkov <bp@xxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427899858-7165-2-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 0784b36448a2a85b95b6eb21a69b9045c896c065
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Wed Apr 1 16:50:57 2015 +0200
x86/asm/entry/64: Fold the 'test_in_nmi' macro into its only user
No code changes.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Acked-by: Borislav Petkov <bp@xxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427899858-7165-1-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 3ae7a939165c6159afb3c09e1d7405b6d1807f2b
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Thu Apr 2 11:26:06 2015 +0200
tick: Further simplify tick-internal.h
Move the broadcasting related section to the GENERIC_CLOCKEVENTS=y
section - this also solves build failures on architectures that
don't use generic clockevents yet.
Also standardize include file style to make it easier to read, and
use nesting depth aware preprocessor directives to make future merges
easier.
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit e1e2f6e4c5759aab3a8cfb1a0c19017ea770dfd2
Author: Florian Fainelli <f.fainelli@xxxxxxxxx>
Date: Fri Jan 9 19:34:43 2015 +0100
ARM: 8276/1: Make CPU_DCACHE_DISABLE depend on !SMP
Enabling CPU_DCACHE_DISABLE on a SMP capable system will prevent the
kernel from booting because of the following ldrex instruction in
arch_spin_lock:
(gdb) x/10i $pc
=> 0xc053cfa8 <_raw_spin_lock+4>: ldrex r3, [r0]
0xc053cfac <_raw_spin_lock+8>: add r2, r3, #65536 ; 0x10000
which is taken by the very first printk call:
at /home/fainelli/work/linux/arch/arm/include/asm/spinlock.h:65
fmt=0xc0637650 " 01 66Booting Linux on physical CPU 0x%xn",
args=<incomplete type>)
at kernel/printk/printk.c:1525
fmt=0xc05370f4 <printk+52> " 24320215342 04340235344 20320215342
36377/341 17") at kernel/printk/printk.c:1688
ldrex requires exclusive monitor(s) (local or global) which are no longer
working when the Data cache is disabled in CP15 and will just hang the CPU
there.
Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 38e42f121601fc0640c032871a38efa5a59cff68
Author: Paul Walmsley <paul@xxxxxxxxx>
Date: Thu Mar 26 08:58:31 2015 +0100
ARM: 8335/1: Documentation: DT bindings: Tegra AHB: document the legacy
base address
Documentation: DT bindings: Tegra AHB: require the legacy base address
for existing chips
Per Stephen Warren, note in the Tegra AHB DT binding documentation
that we specifically deprecate any attempt to use the IP block's
actual hardware base address, and advocate the use of the legacy
"off-by-four" address in the 'regs' property, for Tegra chips with
existing upstream Linux DT files that include a Tegra AHB node. This
patch updates the documentation accordingly.
Changing the existing kernel DT data isn't under consideration because
Linux kernel DT data policy is to preserve compatibility between newer
DT data files and older kernels. However, this additional step of
changing the documentation should discourage others from sending
kernel patches to try to change the legacy kernel DT data.
Furthermore, for out-of-tree software (such as bootloaders or other
operating systems) that may rely on Linux kernel DT binding
documentation as an ABI (but not the Linux kernel DT data itself),
such a change may allow future convergence with the Linux kernel DT
data without additional code changes.
Signed-off-by: Paul Walmsley <paul@xxxxxxxxx>
Cc: Paul Walmsley <pwalmsley@xxxxxxxxxx>
Cc: Stephen Warren <swarren@xxxxxxxxxxxxx>
Cc: Alexandre Courbot <gnurou@xxxxxxxxx>
Cc: Eduardo Valentin <edubezval@xxxxxxxxx>
Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx>
Cc: Kumar Gala <galak@xxxxxxxxxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Pawel Moll <pawel.moll@xxxxxxx>
Cc: Rob Herring <robh+dt@xxxxxxxxxx>
Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Acked-by: Stephen Warren <swarren@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit ce7a10b0ff3db63a43d2d7885aa0f43dc8c96419
Author: Paul Walmsley <paul@xxxxxxxxx>
Date: Thu Mar 26 08:56:35 2015 +0100
ARM: 8334/1: amba: tegra-ahb: detect and correct bogus base address
amba: tegra-ahb: detect and correct bogus base address
From a hardware SoC integration point of view, the starting address of
this IP block in the existing Tegra SoC DT files is off by 4 bytes
from the actual base address. Since we attempt to make old DT files
forward-compatible with newer kernels, we cannot fix the IP block base
address in old DT data. This patch works around the problem by
detecting the four byte base address offset in the driver code, and
correcting it if it's detected. (In general, IP block base addresses
almost always have a null low byte.)
Future SoC DT data for Tegra AHB should use the correct Tegra AHB base
address, in cases where there is no DT data backward compatibility
requirement.
This patch is a revision of the patch originally titled
"amba: tegra-ahb: use correct base address for future chip support".
This revision implements changes requested by Russell King:
http://marc.info/?l=linux-tegra&m=142658851825062&w=2
http://marc.info/?l=linux-tegra&m=142658873925178&w=2
Signed-off-by: Paul Walmsley <paul@xxxxxxxxx>
Cc: Paul Walmsley <pwalmsley@xxxxxxxxxx>
Cc: Alexandre Courbot <gnurou@xxxxxxxxx>
Cc: Hiroshi DOYU <hdoyu@xxxxxxxxxx>
Cc: Stephen Warren <swarren@xxxxxxxxxxxxx>
Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Acked-by: Stephen Warren <swarren@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 049e4b3f801778569c619324a36b4518d955dba4
Author: Paul Walmsley <paul@xxxxxxxxx>
Date: Thu Mar 26 08:53:57 2015 +0100
ARM: 8333/1: amba: tegra-ahb: fix register offsets in the macros
amba: tegra-ahb: fix register offsets in the macros
From a hardware SoC integration point of view, the offsets of the
Tegra AHB registers that are currently defined in tegra-ahb.c macros
are all off by four bytes. Similarly, the starting address of this IP
block in our existing DT files is also off by four bytes. Since we
attempt to make old DT files forward-compatible with newer kernels, we
cannot fix the IP block base address in old DT data. However, we can
fix the offsets in the driver so that they are correct with respect to
the hardware, which is what this patch does. And a subsequent patch
will allow the offset to be removed for DT 'compatible' strings used
in future DT files for newer Tegra chips that the kernel does not yet
support.
Signed-off-by: Paul Walmsley <paul@xxxxxxxxx>
Cc: Paul Walmsley <pwalmsley@xxxxxxxxxx>
Cc: Alexandre Courbot <gnurou@xxxxxxxxx>
Cc: Hiroshi DOYU <hdoyu@xxxxxxxxxx>
Cc: Stephen Warren <swarren@xxxxxxxxxxxxx>
Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Acked-by: Stephen Warren <swarren@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit c14e2591bf54c45c9f80cf728fb90976c4e10384
Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 21:40:37 2015 +0200
ASoC: atmel-pcm-dma: increase buffer_bytes_max
atmel-pcm-dma is not limited to a buffer size of 64kB like atmel-pcm-pdc.
Increase buffer_bytes_max to 512kB to allow for higher bit rates (i.e.
32bps at
192kHz) to work correctly. By default, keep the prealloc at 64kB.
Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 7c07005eea967db09163491d39bd0c1cda485c21
Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Wed Apr 1 13:37:11 2015 +0100
ARM: 8339/1: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL
Several interrupt controllers support both edge and level interrupts, so
it's useful to provide that information in /proc/interrupts.
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit fee3fd4fd2ad136b26226346c3f8b446cc120bf5
Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Wed Apr 1 13:36:57 2015 +0100
ARM: 8338/1: kexec: Relax SMP validation to improve DT compatibility
When trying to kexec into a new kernel on a platform where multiple CPU
cores are present, but no SMP bringup code is available yet, the
kexec_load system call fails with:
kexec_load failed: Invalid argument
The SMP test added to machine_kexec_prepare() in commit 2103f6cba61a8b8b
("ARM: 7807/1: kexec: validate CPU hotplug support") wants to prohibit
kexec on SMP platforms where it cannot disable secondary CPUs.
However, this test is too strict: if the secondary CPUs couldn't be
enabled in the first place, there's no need to disable them later at
kexec time. Hence skip the test in the absence of SMP bringup code.
This allows to add all CPU cores to the DTS from the beginning, without
having to implement SMP bringup first, improving DT compatibility.
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Acked-by: Stephen Warren <swarren@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 81f8a7be6642b4c26ab681b2e0f4c4120a6de1b0
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Apr 1 17:26:23 2015 +0200
mmc: Add support for marking hpi as broken through devicetree
The eMMC on a tablet I've will stop working / communicating as soon as
the kernel executes:
mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
EXT_CSD_HPI_MGMT, 1,
card->ext_csd.generic_cmd6_time);
There seems to be no way to reliable identify eMMC-s which have a broken
hpi implementation, but at least for eMMC's which are soldered onto a
board
we can work around this by specifying that hpi is broken in devicetree.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 49f28aa6b0d0735dbe5f04263c49a199ed0c5bb7
Author: Tomasz Figa <tfiga@xxxxxxxxxxxx>
Date: Wed Apr 1 07:26:33 2015 +0100
ARM: 8337/1: mm: Do not invoke OOM for higher order IOMMU DMA allocations
IOMMU should be able to use single pages as well as bigger blocks, so if
higher order allocations fail, we should not affect state of the system,
with events such as OOM killer, but rather fall back to order 0
allocations.
This patch changes the behavior of ARM IOMMU DMA allocator to use
__GFP_NORETRY, which bypasses OOM invocation, for orders higher than
zero and, only if that fails, fall back to normal order 0 allocation
which might invoke OOM killer.
Signed-off-by: Tomasz Figa <tfiga@xxxxxxxxxxxx>
Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx>
Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 045ab94e10ee17038066d71abc8fdce719ab56f9
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Wed Apr 1 17:02:45 2015 +0100
ARM: move reboot code to arch/arm/kernel/reboot.c
Move shutdown and reboot related code to a separate file, out of
process.c. This helps to avoid polluting process.c with non-process
related code.
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 767bf7e7a1e82a81c59778348d156993d0a6175d
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Wed Apr 1 16:20:39 2015 +0100
ARM: fix broken hibernation
Normally, when a CPU wants to clear a cache line to zero in the external
L2 cache, it would generate bus cycles to write each word as it would do
with any other data access.
However, a Cortex A9 connected to a L2C-310 has a specific feature where
the CPU can detect this operation, and signal that it wants to zero an
entire cache line. This feature, known as Full Line of Zeros (FLZ),
involves a non-standard AXI signalling mechanism which only the L2C-310
can properly interpret.
There are separate enable bits in both the L2C-310 and the Cortex A9 -
the L2C-310 needs to be enabled and have the FLZ enable bit set in the
auxiliary control register before the Cortex A9 has this feature
enabled.
Unfortunately, the suspend code was not respecting this - it's not
obvious from the code:
swsusp_arch_suspend()
cpu_suspend() /* saves the Cortex A9 auxiliary control register */
arch_save_image()
soft_restart() /* turns off FLZ in Cortex A9, and disables L2C */
cpu_resume() /* restores the Cortex A9 registers, inc auxcr */
At this point, we end up with the L2C disabled, but the Cortex A9 with
FLZ enabled - which means any memset() or zeroing of a full cache line
will fail to take effect.
A similar issue exists in the resume path, but it's slightly more
complex:
swsusp_arch_suspend()
cpu_suspend() /* saves the Cortex A9 auxiliary control register */
arch_save_image() /* image with A9 auxcr saved */
...
swsusp_arch_resume()
call_with_stack()
arch_restore_image() /* restores image with A9 auxcr saved above */
soft_restart() /* turns off FLZ in Cortex A9, and disables L2C */
cpu_resume() /* restores the Cortex A9 registers, inc auxcr */
Again, here we end up with the L2C disabled, but Cortex A9 FLZ enabled.
There's no need to turn off the L2C in either of these two paths; there
are benefits from not doing so - for example, the page copies will be
faster with the L2C enabled.
Hence, fix this by providing a variant of soft_restart() which can be
used without turning the L2 cache controller off, and use it in both
of these paths to keep the L2C enabled across the respective resume
transitions.
Fixes: 8ef418c7178f ("ARM: l2c: trial at enabling some Cortex-A9
optimisations")
Reported-by: Sean Cross <xobs@xxxxxxxxxx>
Tested-by: Sean Cross <xobs@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 0b67c43ce36a9964f1d5e3f973ee19eefd3f9f8f
Author: Florian Westphal <fw@xxxxxxxxx>
Date: Wed Apr 1 22:36:27 2015 +0200
netfilter: bridge: really save frag_max_size between PRE and POST_ROUTING
We also need to save/store in forward, else br_parse_ip_options call
will zero frag_max_size as well.
Fixes: 93fdd47e5 ('bridge: Save frag_max_size between PRE_ROUTING and
POST_ROUTING')
Signed-off-by: Florian Westphal <fw@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit fe90ced9e9d7bdba75ccae83100ae656807a6261
Author: Rameshwar Prasad Sahu <rsahu@xxxxxxx>
Date: Wed Mar 18 19:17:36 2015 +0530
Documentation: dma: Add documentation for the APM X-Gene SoC DMA device
DTS binding
This patch adds documentation for the APM X-Gene SoC DMA device DTS
binding
Signed-off-by: Rameshwar Prasad Sahu <rsahu@xxxxxxx>
Signed-off-by: Loc Ho <lho@xxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit 74e353e1530044ac0dac82d64012850358e60248
Author: Rameshwar Prasad Sahu <rsahu@xxxxxxx>
Date: Wed Mar 18 19:17:35 2015 +0530
arm64: dts: Add APM X-Gene SoC DMA device and DMA clock DTS nodes
This patch adds the device tree node for APM X-Gene SoC
DMA controller and DMA clock.
Signed-off-by: Rameshwar Prasad Sahu <rsahu@xxxxxxx>
Signed-off-by: Loc Ho <lho@xxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit 9f2fd0dfa594d857fbdaeda523ff7a46f16567f5
Author: Rameshwar Prasad Sahu <rsahu@xxxxxxx>
Date: Wed Mar 18 19:17:34 2015 +0530
dmaengine: Add support for APM X-Gene SoC DMA engine driver
This patch implements the APM X-Gene SoC DMA engine driver. The APM X-Gene
SoC DMA engine consists of 4 DMA channels for performing DMA operations.
These DMA operations include memory copy, scatter-gather memory copy,
raid5 xor, and raid6 p+q offloading.
Signed-off-by: Rameshwar Prasad Sahu <rsahu@xxxxxxx>
Signed-off-by: Loc Ho <lho@xxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit 1ca510b0ea6da1a4ff3a385f0613e045f670304e
Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Date: Wed Apr 1 18:50:17 2015 +0300
iio: light: ltr501: Powerdown device on error
Power down device when an error occurs in order to avoid wasting
power. Move powerdown function up to be seen by the new call and
align parameters for the ltr501_write_contr() call.
Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 0c1c8ff32fa29e425b4938934c21afdb81104431
Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
Date: Wed Apr 1 15:22:45 2015 +0900
dmaengine: usb-dmac: Add Renesas USB DMA Controller (USB-DMAC) driver
This DMAC is Renesas USB high-speed module DMA controller that
supports slave transfer.
This USB-DMAC has similar register sets with R-Car Gen2 DMAC, but
the USB-DMAC has specific registers to control the USB transactions.
If this code is added into the rcar-dmac driver, it will become
unreadable. So, this driver is independent from the rcar-dmac.
And, this USB-DMAC uses virt-dma infrastructure.
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit a7267831565030ab94dab76eb1afe5d4b63a1009
Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
Date: Wed Apr 1 15:22:44 2015 +0900
dmaengine: renesas,usb-dmac: Add device tree bindings documentation
Document the device tree bindings for the Renesas USB DMA
Controller (USB-DMAC).
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit 31755207afc5d5a30e3eea9e4f2a518fc5b680c1
Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Date: Mon Mar 30 10:55:57 2015 +0300
iwlwifi: mvm: capture connection loss as part of MLME trigger
The only other way to catch these would have been to monitor
the Tx deauth event, but we can send a deauth when we roam.
So it would have been tricky to make sure we capture the
connection losses only.
Define a separate trigger for the connection losses to make
it easier to catch them.
Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 874c174eb9950a62032a7c90c4a23947a2bb863d
Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Date: Wed Mar 25 22:40:47 2015 +0200
iwlwifi: mvm: add trigger for time events
This will allow to collect data when a time event
notifcation with a certain id and action is coming from
the firmware. This can be very useful to debug various
flows.
Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 5d4f929e3d0c09838677a116ffd168d9d519ada7
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Tue Mar 31 09:12:54 2015 +0200
iwlwifi: mvm: do string formatting in debug triggers
The current code has a lot of duplicates of printing into a buffer
(while having to make sure it's NUL-filled and -terminated) and
then passing that to the debug trigger collection.
Since that's error-prone, instead make the debug trigger collection
function take a format string and format arguments (with compiler
validity checking) and handle the buffer internally.
This makes one behavioural change -- instead of sending the whole
buffer to userspace (clearing is needed to not leak stack data) it
just passes the actual string (including NUL-terminator.)
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 0d365ae5f2715a4a749e41ce5e75e34f03090db6
Author: Sara Sharon <sara.sharon@xxxxxxxxx>
Date: Tue Mar 31 12:24:05 2015 +0300
iwlwifi: fix spelling errors
Fix spelling error across the driver.
Modified only comments and prints.
Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx>
Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 10a7c028dbf9920ba6781bf1adde1811dc50de86
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Wed Apr 1 10:00:31 2015 +0200
iwlwifi: mvm: don't return uninitialized value in get_survey()
If ucode_loaded isn't true the function returns the 'ret' variable
without having assigned a value properly. Fix that.
Reported-by: Haim Dreyfuss <haim.dreyfuss@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit d42f53503406d5dcedbad9ea18c964f189f72d84
Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Date: Tue Feb 10 14:29:48 2015 +0200
iwlwifi: mvm: add trigger for firmware dump upon MLME failures
This will allow to catch failures in MLME and get the
firmware data when this happens.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit b916693a7731670429609854c32de1a71775d070
Merge: 21023b1 2c44be8
Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Date: Thu Apr 2 09:26:51 2015 +0300
Merge tag 'mac80211-next-for-davem-2015-03-30' into iwlwifi-next
Lots of updates for net-next; along with the usual flurry
of small fixes, cleanups and internal features we have:
* VHT support for TDLS and IBSS (conditional on drivers though)
* first TX performance improvements (the biggest will come later)
* many suspend/resume (race) fixes
* name_assign_type support from Tom Gundersen
commit 21023b1e7f9862015fd8c91d5619217da8d9a06a
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Tue Mar 31 08:58:16 2015 +0200
iwlwifi: mvm: remove unused arguments
The str/len arguments to iwl_fw_dbg_trigger_simple_stop() aren't used,
and for a simple trigger don't really need to be used as the trigger
code itself encodes the reason, so remove them.
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 6ed13164450a916116cf7f0f38fe0da4679a45c9
Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx>
Date: Mon Mar 30 16:50:07 2015 +0300
iwlwifi: mvm: Fix wrongfully flushing frames in the roc/off channel queue
Sending multiple action frames off channel, one after the other can create
a race that will result in a timeout:
1. Start sending action frame off channel.
2. Once the frame is sent or the time event is over, the flow will
eventually call ieee80211_start_next_roc to start the next roc frame &
iwl_mvm_roc_finished schedules to schedule a work to flush the queue.
3. Start sending new roc frame and write it to the queue before the
flush work has started.
4. The work is called and it flushes the new packet that was placed on the
on the queue so the packet is lost.
This causes the frame to be removed & not sent, that causes a timeout in
userspace.
Flush the work queue that flushes the roc/off channel queue before
starting
to send a new frame off channel, in order to avoid a race between the new
frame that is transmitted off channel & the flushing of the queue.
Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx>
Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit b6e160ab15c203fe77d13a121081b1a9bce7cbfe
Author: Arik Nemtsov <arik@xxxxxxxxxx>
Date: Mon Mar 23 14:32:53 2015 +0200
iwlwifi: mvm: always reconfigure last MCC on init
Currently the last found MCC is reconfigured only in the recovery flow.
But it should always be used when available, for the ifdown/up or
RF-Kill/CT-Kill scenarios.
While at it, fix a couple of bugs in the init-from-last-MCC flow. Return
an error value when a current MCC is not found. Pass on the regdomain to
cfg80211 only if it was changed and don't ignore the return value from
the cfg80211-setter function.
Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx>
Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 484b3d13b4ac3d721f3479433ad82100e1277580
Author: Luciano Coelho <luciano.coelho@xxxxxxxxx>
Date: Mon Mar 30 20:46:32 2015 +0300
iwlwifi: mvm: add debugfs entry with the number of net-detect scans
Our testers need to know the number of scans performed while in
net-detect mode before the device wakes up. The firmware already
passes this information to the driver, so we can save it and report it
in a debugfs entry.
Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx>
Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 7b9d74e44a9f504e22a505e36327a00dc301a968
Author: Eyal Shapira <eyal@xxxxxxxxxx>
Date: Sun Mar 29 18:38:07 2015 +0300
iwlwifi: mvm: rs: refactor rs_update_rate_tbl
Minor cleanup and refactoring.
Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx>
Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 64dd374eac154f747623b256c59ecaf5affba724
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Wed Apr 1 12:52:13 2015 -0700
Bluetooth: Export SMP selftest result in debugfs
When SMP selftest is enabled, then besides printing the result into the
kernel message buffer, also create a debugfs file that allows retrieving
the same information.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 6de50f9fdb60a8d4c1cd94556106200ab1592e2d
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Wed Apr 1 12:52:12 2015 -0700
Bluetooth: Export ECDH selftest result in debugfs
When ECDH selftest is enabled, then besides printing the result into the
kernel message buffer, also create a debugfs file that allows retrieving
the same information.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 0151e426b150db17992b49fa9ce96b79dace2aed
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Wed Apr 1 13:51:54 2015 -0700
Bluetooth: Restrict BNEP flags to only valid ones
The BNEP flags should be clearly restricted to valid ones. So this puts
extra checks in place to ensure this.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 5f5da99f1da5b01c7c45473a500c7dbb77a00958
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Wed Apr 1 13:51:53 2015 -0700
Bluetooth: Restrict HIDP flags to only valid ones
The HIDP flags should be clearly restricted to valid ones. So this puts
extra checks in place to ensure this.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 8bf17a3619250944957c732e71659787528131c3
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Wed Apr 1 13:51:52 2015 -0700
Bluetooth: Restrict CMTP flags to only valid ones
The CMTP flags should be clearly restricted to valid ones. So this puts
extra checks in place to ensure this.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 41533fe5b4f92adb3c40f263b889dc6addff550e
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Wed Apr 1 13:51:51 2015 -0700
Bluetooth: Remove unneeded extra ( ) in valid flags check
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit c3370de64d563fa0db5e773b97b77ea7a961d131
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Wed Apr 1 13:21:37 2015 -0700
Bluetooth: Expose current Device ID information via debugfs
For debugging purposes it is good to be able to read the current
configured Device ID details.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 86d65dc4fe74d5b3228fe13c5eff0b10ae6808eb
Author: Andy Grover <agrover@xxxxxxxxxx>
Date: Tue Mar 31 15:04:37 2015 -0700
target: Allow userspace to write 1 to attrib/emulate_fua_write
Before 4.0, reading attrib/emulate_fua_write has returned 1. Saved
configs created on a pre-4.0 kernel will try to write that back when
restoring LIO configuration. This should succeed with no effect,
and issue a warning.
See https://bugzilla.redhat.com/show_bug.cgi?id=1206184
Reported-by: Yanko Kaneti <yaneti@xxxxxxxxxxx>
Reported-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Andy Grover <agrover@xxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 033f46b3c13d4072d8ee6b26dd1e90fdd06895d0
Author: tadeusz.struk@xxxxxxxxx <tadeusz.struk@xxxxxxxxx>
Date: Wed Apr 1 13:53:06 2015 -0700
crypto: algif - explicitly mark end of data
After the TX sgl is expanded we need to explicitly mark end of data
at the last buffer that contains data.
Changes in v2
- use type 'bool' and true/false for 'mark'.
Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 99949a74aa8f1b0b1befbd1afaa6959a3654cd72
Merge: 05e8bb8 f3a8b6b
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Wed Apr 1 22:55:41 2015 -0400
Merge branch 'dsa-next'
Andrew Lunn says:
====================
DSA Mavell drivers refactoring and cleanup
v1->v2:
* Add missing signed-of-by: For patches authored by Guenter Roeck.
* Add Reviewed by from Guenter Roack to patch #5.
This is a collection of patches again net-next from today containing
refactoring and consolidate of code, cleanups and using #define's to
replace register numbers.
Patch #1 Swaps the 6131 driver to use the consolidated setup code.
Patch #2 Moves the Switch IDs used during probe into a central
location. We need these later so that we can differentiate
the different features the devices have.
Patch #3 Makes the 6131 driver set the number of ports in the private
state structure. It then uses this, rather than hard coded
maximum number of ports.
Patch #4 Similar to Patch #3, but for the 6123_61_65 driver.
Patch #5 Similar to Patch #3, and #4, but for all the remaining
drivers. This greatly increases the similarity of the code
between drivers, allow further patches to consolidate the
duplicated code.
Patch #6 Consolidate the switch reset code, which has two minor
variants. Removes around 35 lines per driver.
Patch #7 Moves phy page access functions out of the 6352 driver into
the shared code. Currently only the 6352 driver uses this,
but it is likely other devices will come along wanting this
functionality.
Patch #8 Consolidates the code used to access phy registers. Removes
around 40 lines of code per driver.
Patch #9 Fixes missing mutex locking in the EEE code, and refactors
the code a bit to make it more understandable with respect to
locks.
Patch #10 Consolidates reading statistics. This is very similar code
for all devices, but the number of available statistics
differ, which can be determined from the product ID. Removes
around 65 lines per driver.
Patch #11 Add #defines for registers, and bits within the
registers. For the moment, this is limited to the shared
code. The individual drivers will be converted once the
remaining duplicated code is consolidated
Patch #12 Fix broken statistic counters on the 6172. The 6352 family
requires the port number is poked into a different set of
bits in the register compared to other devices.
Many thanks to Guenter Roeck for repeatedly reviewing the patches and
testing them on his hardware.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f3a8b6b6a155210dac1f2a6ec4eb1b9ad04219df
Author: Andrew Lunn <andrew@xxxxxxx>
Date: Thu Apr 2 04:06:40 2015 +0200
net: dsa: mv88e6xxx: Fix stats counters for 6352 family
The statistic counters for the mv88e6172 never worked. This device is
a member of the 6352 family of chips, which has a slightly different
layout of the register used for capturing statistics. Add support for
detecting this family and poking the port in the right place in the
register.
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit cca8b1337541253f0414f744919c09f8b10bd962
Author: Andrew Lunn <andrew@xxxxxxx>
Date: Thu Apr 2 04:06:39 2015 +0200
net: dsa: Use mnemonics rather than register numbers
Rather than refer to registers by number, define mnemonics. Also
define mnemonics for the commonly used bits within the registers.
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e413e7e1f7493910274c552d7f70ae396c93199a
Author: Andrew Lunn <andrew@xxxxxxx>
Date: Thu Apr 2 04:06:38 2015 +0200
net: dsa: Consolidate getting the statistics
Reading the statistics from the hardware is the same for all
chips. What differs is the number of available statistics. Have just
one copy of the code in the shared mv88e6xxx.
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2f40c6981ac0adcaa2b3fc64e6ae81f80809aec8
Author: Andrew Lunn <andrew@xxxxxxx>
Date: Thu Apr 2 04:06:37 2015 +0200
net: dsa: mv88e6xxx: Add missing mutex's in EEE operations.
The phy_mutex should be held while reading and writing to the phy.
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit fd3a0ee4063e4f44d915df8f117d9e0d8b05950a
Author: Andrew Lunn <andrew@xxxxxxx>
Date: Thu Apr 2 04:06:36 2015 +0200
net: dsa: Consolidate phy read and write functions
Move the common code for reading and writing phy registers into the
shared mv88e6xxx.
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4914358567d81d6f1d95f7809c77658c55555f1c
Author: Andrew Lunn <andrew@xxxxxxx>
Date: Thu Apr 2 04:06:35 2015 +0200
net: dsa: Move phy page access functions into shared code
These functions could in future be used by other drivers. Move them
into the shared area.
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 143a83073aaea145aa050cd0ebb80454c9362608
Author: Andrew Lunn <andrew@xxxxxxx>
Date: Thu Apr 2 04:06:34 2015 +0200
net: dsa: Centralize Marvell switch reset
Marvell switches are all reset in nearly the same way. The only
difference is if the PPU should be enabled or not. Move this
code into the shared mv88x6xxx.c.
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 44e50ddbc74a4bd6a862be9e6de22bce8c0b4150
Author: Andrew Lunn <andrew@xxxxxxx>
Date: Thu Apr 2 04:06:33 2015 +0200
net: dsa: Consistently set and use ps->num_ports
As a step towards consolidating code, consistently set the
number of ports in the private state structure, and make use of it in
loops.
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 14ef6ad22a2db28021e8ea8cd068fe5fcd88de7b
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Apr 2 04:06:32 2015 +0200
net: dsa: mv88e6123_61_65: Determine and use number of switch ports
Determine and use number of switch ports from chip ID instead of always
using the maximum, and return error when an attempt is made to access a
non-existing port.
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d198893e73c66ceb36cc1b1c3f261e82b7cc5700
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Apr 2 04:06:31 2015 +0200
net: dsa: mv88e6131: Determine and use number of switch ports
Determine and use number of switch ports from chip ID instead of always
using the maximum, and return error when an attempt is made to access a
non-existing port.
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b2eb06627718836f7d133141693ec9685b4c4ef5
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Apr 2 04:06:30 2015 +0200
net: dsa: mv88e6xxx: Move switch product IDs into common include file
This will let us use the switch product IDs in the common source code.
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0d65da4a238d3e9fc358b8e1540a193d63f92e20
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Apr 2 04:06:29 2015 +0200
net: dsa: mv88e6131: Use common initialization functions
Common initialization functions will be needed to enable
HW bridging support.
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 05e8bb860b55acc2646b59cd5746c6b4189fa29e
Author: Simon Horman <simon.horman@xxxxxxxxxxxxx>
Date: Thu Apr 2 11:20:23 2015 +0900
pkt_sched: fq: correct spelling of locally
Correct spelling of locally.
Also remove extra space before tab character in struct fq_flow.
Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit c4b495128c5d941607179f18ec07c36bd2a3fc38
Author: Simon Horman <simon.horman@xxxxxxxxxxxxx>
Date: Thu Apr 2 11:17:58 2015 +0900
vxlan: correct spelling in comments
Fix some spelling / typos:
* droppped -> dropped
* asddress -> address
* compatbility -> compatibility
Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7887456e9da0fc57e8cc5ab50743539440e50750
Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 15:33:08 2015 -0700
vmxnet3: spelling fixes
Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 58bc2d9b160e1d2ce517eb05552b5a07efa814ef
Merge: c0b0bb6 1164f67
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Wed Apr 1 17:58:11 2015 -0700
Merge tag 'at91-multiplatform' of
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into
next/multiplatform
Merge "at91: multiplatform for 4.1 #1" from Nicolas Ferre:
This is the multi-platform support for AT91:
- reworked arch/arm/mach-at91/Kconfig and arch/arm/Kconfig to switch to
multi-platform
- updated at91_dt_defconfig
- continue the cleanup of unneeded files and code chunks
* tag 'at91-multiplatform' of
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: (61 commits)
ARM: at91: drop AT91_TIMER_HZ
ARM: at91: remove hardware.h
ARM: at91: remove SoC headers
ARM: at91: remove useless mach/cpu.h
ARM: at91: remove unused headers
ARM: at91: switch at91_dt_defconfig to multiplatform
ARM: at91: switch to multiplatform
ARM: at91: remove useless include
clocksource: atmel-st: remove mach/hardware dependency
clocksource: atmel-st: use syscon/regmap
ARM: at91: time: move the system timer driver to drivers/clocksource
ARM: at91: properly initialize timer
ARM: at91: at91rm9200: remove deprecated arm_pm_restart
watchdog: at91rm9200: implement restart handler
watchdog: at91rm9200: use the system timer syscon
mfd: syscon: Add atmel system timer registers definition
ARM: at91/dt: declare atmel,at91rm9200-st as a syscon
ARM: at91: remove old setup
ARM: at91: sama5d4: remove useless map_io
ARM: at91: sama5 use SoC detection infrastructure
...
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 5ec5e792feac6b52915dc68a1ec286bc6770281b
Merge: 9fb71bc 6cfdf55
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Wed Apr 1 17:56:33 2015 -0700
Merge tag 'davinci-for-v4.1/mcasp' of
git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into
next/cleanup
Merge "DaVinci McASP changes for v4.1" from Sekhar Nori:
This pull request contains cleanups and non-urgent fixes for DaVinci
McASP platform support code.
* tag 'davinci-for-v4.1/mcasp' of
git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
ARM: davinci: dm646x: Add interrupt resource for McASPs
ARM: davinci: irqs: Correct McASP1 TX interrupt definition for DM646x
ARM: davinci: dm646x: Clean up the McASP DMA resources
ARM: davinci: devices-da8xx: Add support for McASP2 on da830
ARM: davinci: devices-da8xx: Clean up and correct the McASP device
creation
ARM: davinci: devices-da8xx: Add interrupt resource to McASP structs
ARM: davinci: devices-da8xx: Add resource name for the McASP DMA request
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit e7199d32608b4d59a92f82addb78afb69bccb094
Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Date: Thu Mar 19 05:30:09 2015 +0000
ARM: configs: remove all CONFIG_RCAR_AUDMAC_PP from ARM defconfigs
Renesas R-Car sound (= rsnd) needs 2 DMAC which are called as
Audio DMAC (= 1st DMAC) and Audio DMAC peri peri (2nd DMAC).
And rsnd had assumed that 1st / 2nd DMACs are implemented as DMAEngine.
But, in result of DMA ML discussion, 2nd DMAC was concluded that it is
not a general purpose DMAC (2nd DMAC is for Device to Device inside
sound system). Additionally, current DMAEngine can't support Device to
Device, and we don't have correct DT bindings for it at this point.
So the easiest solution for it is that move it from DMAEngine to rsnd
driver.
Audio DMAC peri peri DMAEngine is no longer needed.
Remove all CONFIG_RCAR_AUDMAC_PP from ARM defconfigs
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit ebdf8cc0009d535a79fb3ac34a2ee341886c7472
Merge: cdf77d7 6357333
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Wed Apr 1 17:54:16 2015 -0700
Merge tag 'renesas-dt3-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt
Merge "Third Round of Renesas ARM Based SoC DT Updates for v4.1" from
Simon
Horman:
* Add DMA sound support to r8a7791 and r8a7790 SoCs
* tag 'renesas-dt3-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: r8a7791: sound enables Audio DMAC entry on DTSI
ARM: shmobile: r8a7790: sound enables Audio DMAC entry on DTSI
ARM: shmobile: r8a7791: enable Audio DMAC peri peri via sound driver
ARM: shmobile: r8a7790: enable Audio DMAC peri peri via sound driver
ARM: shmobile: r8a7791: add reg-names for sound
ARM: shmobile: r8a7790: add reg-names for sound
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit cdf77d767e0952bc45e45974c2874f4204993e83
Merge: d24363a 91d5cb7
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Wed Apr 1 17:52:46 2015 -0700
Merge tag 'v4.1-rockchip-dts1' of
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt
Merge "ARM: rockchip: dts changes for 4.1" from Heiko Stuebner:
This adds and enables the usbphy nodes on the rk3288 boards and enables
the gmac on the firefly board. A new board the Popmetal-rk3288 is also
added. And finally the pmic supplies for act8846 based boards are added,
as the act8865/act8846 driver gained supply handling in the regulator
tree.
* tag 'v4.1-rockchip-dts1' of
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
ARM: dts: rockchip: complete rk3288-evb pmic supplies
ARM: dts: rockchip: add input supplies for the act8846 on Radxa Rock
ARM: dts: add rk3288 PopMetal board
dt-bindings: add root compatible property for PopMetal board
ARM: dts: rockchip: enable gmac on rk3288-firefly
ARM: dts: rockchip: enable usbphy on rk3288-firefly
ARM: dts: rockchip: Enable usb PHY on rk3288-evb board
ARM: dts: rockchip: add rk3288 usb PHY
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 824f25c1ccded5de2d3e18268b91cddccdad3868
Merge: ffe971e a0307d1
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Wed Apr 1 17:52:02 2015 -0700
Merge tag 'v4.1-rockchip-soc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/soc
Merge "ARM: rockchip: soc code changes for 4.1" from Heiko Stuebner:
Some suspend improvements reducing resume time and making sure the
watchdog does not reset after 12 hours and a change to constify and
staticize some smp parts.
* tag 'v4.1-rockchip-soc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
ARM: rockchip: disable watchdog during suspend
ARM: rockchip: decrease the wait time for resume
ARM: rockchip: Constify struct regmap_config and staticize local
function
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 80737123e934547e32502c707c67c12cbfd9e8fb
Merge: a90c138 9e0388c
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Wed Apr 1 17:38:19 2015 -0700
Merge tag 'qcom-defconfig-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into
next/defconfig
Merge "qcom defconfig changes for v4.1" from Kumar Gala:
Qualcomm ARM Based defconfig Updates for v4.1
* Enable LPASS clock support for IPQ806x in defconfig
* Update qcom_defconfig to select GPIOLIB
* tag 'qcom-defconfig-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom:
arm: qcom: Update defconfig
arm: qcom: Enable lpass clock driver in defconfig
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit e5710319382e2e204b8386e05ee76cdcb41f651c
Merge: c4bb799 d7f64a4
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Wed Apr 1 17:36:52 2015 -0700
Merge tag 'qcom-arm64-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/arm64
Merge "qcom ARM64 changes for v4.1" from Kumar Gala:
Qualcomm ARM64 Updates for v4.1
* Add support for Qualcomm MSM8916 SoC
* tag 'qcom-arm64-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom:
arm64: qcom: Add support for Qualcomm MSM8916 SoC
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 4580cb8a9812c3acc7a1663064d2a2800b3541bd
Merge: 3f9b66b e5fdad6
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Wed Apr 1 17:35:34 2015 -0700
Merge tag 'qcom-soc-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/drivers
Merge "qcom SoC changes for v4.1" from Kumar Gala:
Qualcomm ARM Based SoC Updates for v4.1
* Merged the based Qualcomm SCM and SCM boot support
* Cleaned up SCM interface to only expose functional SCM APIs
* Moved Qualcomm SCM code into drivers/firmware
* Updated the SCM APIs for setting cpu cold and warm boot addresses
* Added support for ADM CRCI muxing
* tag 'qcom-soc-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom:
soc: qcom: gsbi: Add support for ADM CRCI muxing
firmware: qcom: scm: Support cpu power down through SCM
firmware: qcom: scm: Add qcom_scm_set_warm_boot_addr function
firmware: qcom: scm: Clean cold boot entry to export only the API
firmware: qcom: scm: Move the scm driver to drivers/firmware
ARM: qcom: Prep scm code for move to drivers/firmware
ARM: qcom: Cleanup scm interface to only export what is needed
ARM: qcom: Merge scm and scm boot code together
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 5acb972fed8bcfe6c38a4bdef4e74148eaad04b2
Author: Leo Yan <leo.yan@xxxxxxxxxx>
Date: Mon Mar 30 13:26:37 2015 +0800
cpufreq: hisilicon: add acpu driver
Add acpu driver for hisilicon SoC, acpu is application processor
subsystem. Currently the acpu has the coupled clock domain for two
clusters, so this driver will directly use cpufreq-dt driver as
backend.
Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx>
Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 1c832b3e85b6ac35e5f113fa4204eb725c54794e
Author: Lan Tianyu <tianyu.lan@xxxxxxxxx>
Date: Wed Apr 1 09:47:18 2015 +0800
ACPI / EC: Call acpi_walk_dep_device_list() after installing EC opregion
handler
On some machines(E,G Mircosoft surface 3), ACPI battery depends on
the EC operation region and it has _DEP method which contains EC.
Current code doesn't support such devices whose dep_unmet will be
not be decreased after EC opregion handler being installed. This
blocks battery device to be attached with its driver. This patch
is to fix the issue.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=90161
Reported-and-tested-by: Lompik <lompik@xxxxxxxx>
Tested-by: Valentin Lab <valentin.lab_bugzilla.kernel.org@xxxxxxxxxxx>
Signed-off-by: Lan Tianyu <tianyu.lan@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit d24363a5a40a3b7f976faada311b623fc8047b1e
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Wed Apr 1 17:05:54 2015 -0700
ARM: dts: fix typo in makefile for alpine-db
File uses dash in the filename, not underscore.
Reported-by: Russell King <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 4f9a60f5c7e74f3e413a1ede1e8b959d01df4e57
Merge: 1018bc2 18779b7
Author: James Morris <james.l.morris@xxxxxxxxxx>
Date: Thu Apr 2 11:03:58 2015 +1100
Merge branch 'smack-for-4.1' of git://github.com/cschaufler/smack-next
into next
commit c0b0bb6e1490f48f2675c3557653fb554a9c8817
Merge: d36d520 3c7585b
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Wed Apr 1 16:37:30 2015 -0700
Merge tag 'renesas-sh73a0-multiplatform-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into
next/multiplatform
Merge "Renesas ARM Based SoC sh73a0 Multiplatform Updates for v4.1" from
Simon
Horman:
* Add multiplatform support to sh73a0 and its kzm9g board
* Use Bus State Controller to enable ethernet for multiplatform
sh73a0/kzm9g
* Add PM domain support to multiplatform sh73a0
* tag 'renesas-sh73a0-multiplatform-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (43 commits)
ARM: shmobile: sh73a0: Remove restart callback
ARM: shmobile: sh73a0 dtsi: Add PM domain support
ARM: shmobile: sh73a0: Remove unused sh73a0_add_standard_devices_dt()
ARM: shmobile: sh73a0 dtsi: Add Cortex-A9 TWD node
ARM: shmobile: kzm9g-reference: Remove board C code and DT file
ARM: shmobile: kzm9g dts: Move Ethernet node to BSC
ARM: shmobile: sh73a0 dtsi: Add Bus State Controller node
ARM: shmobile: kzm9g: Build DTS for Multiplatform
ARM: shmobile: kzm9g dts: Sync with kzm9g-reference dts
ARM: shmobile: sh73a0: Add Multiplatform support
ARM: shmobile: sh73a0: Introduce generic setup callback
ARM: shmobile: r8a7794: add SDHI DT support
ARM: shmobile: r8a7790: add ADSP clocks
ARM: shmobile: r8a7791: add ADSP clocks
ARM: shmobile: henninger: add CAN0 DT support
ARM: shmobile: r8a7791: add CAN DT support
ARM: shmobile: r8a7791: add CAN clocks
ARM: shmobile: r8a7790: add CAN DT support
ARM: shmobile: r8a7790: add CAN clocks
ARM: shmobile: emev2-kzm9d dts: Add PFC information for uart1
...
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit d5af49c92a8aff8236e7b0bb35e9af364000c017
Author: Hai Li <hali@xxxxxxxxxxxxxx>
Date: Thu Mar 26 19:25:17 2015 -0400
drm/msm/mdp5: Enable DSI connector in msm drm driver
This change adds the support in mdp5 kms driver for single
and dual DSI. Dual DSI case depends on the framework API
and sequence change to support dual data path.
v1: Initial change
v2: Address Rob Clark's comment
- Separate command mode encoder to a new file mdp5_cmd_encoder.c
- Rebase to not depend on msm_drm_sub_dev change
Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit a689554ba6ed81cf606c16539f6ffc2a1dcdaf8e
Author: Hai Li <hali@xxxxxxxxxxxxxx>
Date: Tue Mar 31 14:36:33 2015 -0400
drm/msm: Initial add DSI connector support
This change adds the DSI connector support in msm drm driver.
v1: Initial change
v2:
- Address comments from Archit + minor clean-ups
- Rebase to not depend on msm_drm_sub_dev change [Rob's comment]
v3: Fix issues when initialization is failed
Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit 7a6dc9550d0a17e3f24b2c13582f093193cd08ef
Author: Hai Li <hali@xxxxxxxxxxxxxx>
Date: Thu Mar 26 19:25:15 2015 -0400
drm/msm: Add split display interface
This change is to add an interface to MDP for connector devices
setting split display information.
Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit 5722a9e303be25adbe25c174f66c5e1e9e17c276
Author: Hai Li <hali@xxxxxxxxxxxxxx>
Date: Thu Mar 26 19:25:14 2015 -0400
drm/msm/mdp5: Move *_modeset_init out of construct_encoder function
This change is to make the content in construct_encoder reflect its
name.
Also, DSI connector may be connected to video mode or command mode
encoder, so that 2 different encoders need to be constructed for DSI.
Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit 81ddd1bc5cff2df619559860f2481393ba74e3a0
Author: Rob Clark <robdclark@xxxxxxxxx>
Date: Fri Mar 27 13:01:52 2015 -0400
drm: export tile-group functions
Normally these are called from within drm core, from the EDID parsing
code. But for dual-dsi in some drivers (at least drm/msm) we need to
call these from the driver. So they should be exported.
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
Acked-by: Dave Airlie <airlied@xxxxxxxxxx>
commit 531db9ff3d3aabc36772bb02a9c636e398d0f21c
Author: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Date: Tue Mar 24 09:30:02 2015 -0400
drm/msm/mdp5: Remove CTL flush dummy bits
This TODO can now be removed and replaced by the previous patch
"drm/msm/mdp5: Update headers (add CTL flush bits)"
Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit 87ed66c41441589b9718331410ceea7aeb8a740b
Author: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Date: Tue Mar 24 09:30:01 2015 -0400
drm/msm/mdp5: Update headers (add CTL flush bits)
Some upcoming targets have more bits to set in CTL_FLUSH
registers.
Example: msm8x16 needs to set TIMING1 bit so that some of the
INTF1's interface registers get flushed.
Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit 02dfd9d2ba2b86068a23fb1ff8b9b633a61e732e
Author: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Date: Tue Mar 24 15:06:02 2015 -0400
drm/msm/mdp5: Add hardware configuration for msm8x16
This change adds the hw configuration for msm8x16 chipsets in
mdp5_cfg module.
Note that only one external display interface is present in this
configuration (DSI) but has not been enabled yet. It will be enabled
once drm/msm driver supports DSI connectors.
v2: add CTL flush register's hardware mask [pointed by Archit]
Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit 6fa6acdfa37737fce6f69a7aa50606825ccea5ea
Author: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Date: Mon Mar 9 09:11:06 2015 -0400
drm/msm/mdp5: Get SMP client list from mdp5_cfg
SMP blocks are configured for specific client IDs (ports).
These client IDs can be different from one chip to another for a
given pipe.
e.g.: DMA0 pipe fetch Y component is connected to:
- port #10 for MDP5 v1.3
- port #4 for MDP5 v1.6
In order to be compatible for upcoming versions of MDP5, the
client ID list is passed through the MDP5 config module rather
than using a list of hard-coded enum values.
Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit de50d351b37ba43a8d9e944e78c4df37f88d4ae2
Author: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Date: Mon Mar 9 09:11:05 2015 -0400
drm/msm/mdp5: Update headers (remove enum mdp5_client_id)
This patch contains the generated header file of the following
change "drm/msm/mdp5: Get SMP client list from mdp5_cfg".
Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit f52538125e4dfb2a74f2efd915430d6fc39d0124
Author: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Date: Mon Mar 9 09:11:04 2015 -0400
drm/msm/mdp5: Separate MDP5 domain from MDSS domain
MDP block is actually contained inside the MDSS block. For some
chipsets, the base address of the MDP registers is different from the
current (assumed) 0x100 offset.
Like CTL and LM blocks, this changes introduce a dynamic offset
for the MDP instance, which can be found out at runtime, once the
MDSS HW version is read.
Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit ba474a02cb1009574a7cdcc29de9ca2d0b3c6df6
Author: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Date: Mon Mar 9 09:11:03 2015 -0400
drm/msm/mdp5: Update headers (introduce MDP5 domain)
This change contains the generated header file for the following
change "drm/msm/mdp5: Separate MDP5 domain from MDSS domain".
Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit 3b3627a35d866946aa34adf8a2c57d62bb9dc570
Author: Hai Li <hali@xxxxxxxxxxxxxx>
Date: Fri Mar 13 19:24:15 2015 -0400
drm/msm/dsi: Update generated DSI header file
Prepare for initial DSI implementation
Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit de31ea694466fa199b5ff3cc71fb8308a1f0791e
Author: Hai Li <hali@xxxxxxxxxxxxxx>
Date: Thu Mar 5 15:20:49 2015 -0500
drm/msm/mdp5: Fix PIPE source image size settings
The width and height in SSPP_SRC_IMG_SIZE register should be the
size of the entire source framebuffer, not the fetch size.
Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit 81c71ad324beaf4776c45573cd620fab660fd476
Author: Hai Li <hali@xxxxxxxxxxxxxx>
Date: Thu Mar 5 15:20:48 2015 -0500
drm/msm/mdp5: Update generated mdp5 header file with DSI support
This change adds the registers in mdp5 ping pong blocks
and split display control registers.
Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit 38305907ef28e2df3656bd17bcbf39aeb66f10fc
Author: Hai Li <hali@xxxxxxxxxxxxxx>
Date: Thu Mar 5 15:20:47 2015 -0500
drm/msm/mdp5: Add pingpong entry to mdp5 config table
Pingpong register base addresses are different across platforms.
This change adds this information to config table and initialize
the values for 8x74 and 8084.
Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit 67ac0a2d6994fef77a611106fa7f6fcc58f4bb8d
Author: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Date: Fri Mar 13 15:49:34 2015 -0400
drm/msm/mdp5: Make the intf connection in config module
Up until now, we assume that eDP is tight to intf_0 and HDMI to
intf_3. This information shall actually come from the mdp5_cfg
module since it can change from one chip to another.
v2: rename macro to mdp5_cfg_intf_is_virtual() [pointed by Archit]
v3: add sanity check before writing in INTF_TIMING_ENGINE_EN registers
Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit 389b09a1822db2bf5050060acc63611ea6c4670d
Author: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Date: Fri Mar 13 15:49:33 2015 -0400
drm/msm/mdp5: Add START signal to kick off certain pipelines
Some interfaces (WB, DSI Command Mode) need to be kicked off
through a START Signal. This signal needs to be sent at the right
time and requests in some cases to keep track of the pipeline
status (eg: whether pipeline registers are flushed AND output WB
buffers are ready, in case of WB interface).
Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit d145dd78d7e72ac07c84f6919283569e6b45a5c3
Author: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Date: Fri Mar 13 15:49:32 2015 -0400
drm/msm/mdp5: Enhance operation mode for pipeline configuration
DSI and WB interfaces need a more complex pipeline configuration
than the current mdp5_ctl_set_intf().
For example, memory output connections need to be selected for
WB. Interface mode (Video vs. Command modes) also need to be
configured for DSI.
This change takes care of configuring the whole pipeline as far
as operation mode goes. DSI and WB interfaces will be added
later.
v2: rename macro to mdp5_cfg_intf_is_virtual() [pointed by Archit]
Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx>
[Remove temp bisectability hack -Rob]
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit a13cebabc81d709e1649c8d8475f0c0f66c0dd24
Author: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Date: Fri Mar 13 15:49:31 2015 -0400
drm/msm/mdp5: Update generated header files
Prepare for pipeline operation mode configuration, in particular
for DSI and WB modes.
Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx>
[Throw in a #define temporarily to keep things bisectable -Rob]
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit a73f3382dae242261338588d8411057938501701
Author: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Date: Tue Jan 27 11:35:56 2015 -0500
drm/msm/mdp5: only flush on a CRTC ->atomic_flush()
MDP5 hardware has some limitation and requires to avoid flushing
registers more than once between two Vblanks.
This change removes all FLUSH operations (except for HW cursor)
beside the one coming from a CRTC's ->atomic_flush().
This avoid this type of behavior (eg: CRTC + 1 plane overlay):
[drm:mdp5_crtc_vblank_irq] vblank
[drm:mdp5_ctl_commit] flush (20048) CTL + LM0 + RGB0
[drm:mdp5_ctl_commit] flush (20040) CTL + LM0
[drm:mdp5_crtc_vblank_irq] blank
[drm:mdp5_ctl_commit] flush (20049) CTL + LM0 + RGB0 + VIG0
[drm:mdp5_crtc_vblank_irq] blank
and replaces it by:
[drm:mdp5_crtc_vblank_irq] vblank
[drm:mdp5_ctl_commit] flush (20048) CTL + LM0 + RGB0
[drm:mdp5_crtc_vblank_irq] blank
[drm:mdp5_ctl_commit] flush (20049) CTL + LM0 + RGB0 + VIG0
[drm:mdp5_crtc_vblank_irq] blank
Only *one* FLUSH is called between Vblanks interrupts.
Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx>
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit 034c5150ae8777265f5beae257f8e7f2721ebccc
Author: Rob Clark <robdclark@xxxxxxxxx>
Date: Tue Jan 27 09:05:59 2015 -0500
drm/msm/hdmi: add 74.176MHz and 154.0MHz pix clks
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit 072f1f9168ed67d6ddc94bb76b1dfc04795062b4
Author: Rob Clark <robdclark@xxxxxxxxx>
Date: Tue Mar 3 15:04:25 2015 -0500
drm/msm: add support for "stolen" mem
Add support to use the VRAM carveout (if specified in dtb) for fbdev
scanout buffer. This allows drm/msm to take over a bootloader splash-
screen, and avoids corruption on screen that results if the kernel uses
memory that is still being scanned out for itself.
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit 5bf9c0b614542d69fb9a8681a0411715cc3e8ba8
Author: Rob Clark <robdclark@xxxxxxxxx>
Date: Tue Mar 3 15:04:24 2015 -0500
drm/msm: split out vram initialization
We'll want to extend this a bit to handle also a reserved-memory
("stolen") region, so that drm/msm can take-over bootloader splash
screen. First split it out into it's own fxn to reduce noise in
the following patch.
Signed-off-by: Rob Clark <robdclark@xxxxxxxxx>
commit d36d520ae669ab95e6113f3a5e52493dfaa59f8d
Merge: 369237a 914d7d1
Author: Olof Johansson <olof@xxxxxxxxx>
Date: Wed Apr 1 16:29:08 2015 -0700
Merge tag 'renesas-r8a73a4-ccf-and-multiplatform-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into
next/multiplatform
Merge "Renesas ARM Based SoC r8a73a4 CCF and Multiplatform Updates for
v4.1" from Simon Horman:
* Add CCF and them multiplatform support to r8a73a4 SoC and its
ape6evm board.
* Then remove legacy r8a73a4 SoC and ape6evm board code.
----------------------------------------------------------------
Geert Uytterhoeven (6):
ARM: shmobile: r8a73a4 dtsi: Add Bus State Controller node
ARM: shmobile: ape6evm dts: Move Ethernet node to BSC
ARM: shmobile: r8a73a4: Move pfc node to work around probe ordering
bug
ARM: shmobile: ape6evm dts: Drop console= bootargs parameter
PM / Domains: R-Mobile SYSC: Document R-Mobile APE6 (r8a73a4)
binding
ARM: shmobile: r8a73a4 dtsi: Add PM domain support
Laurent Pinchart (1):
ARM: shmobile: r8a73a4: Remove legacy code
Simon Horman (1):
ARM: shmobile: r8a73a4: ape6evm: Remove legacy platform
Ulrich Hecht (5):
ARM: shmobile: r8a73a4: Add CPG register bits header
ARM: shmobile: r8a73a4: Common clock framework DT description
ARM: shmobile: ape6evm: Disable legacy clock initialization
ARM: shmobile: r8a73a4: Add MSTP clock assignments to DT
ARM: shmobile: ape6evm-reference: Remove board C code and DT file
Documentation/devicetree/bindings/arm/shmobile.txt | 2 -
.../bindings/power/renesas,sysc-rmobile.txt | 1 +
MAINTAINERS | 1 -
arch/arm/boot/dts/Makefile | 2 -
arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts | 156 -----
arch/arm/boot/dts/r8a73a4-ape6evm.dts | 37 +-
arch/arm/boot/dts/r8a73a4.dtsi | 557
++++++++++++++++-
arch/arm/configs/ape6evm_defconfig | 109 ----
arch/arm/mach-shmobile/Kconfig | 25 -
arch/arm/mach-shmobile/Makefile | 3 -
arch/arm/mach-shmobile/Makefile.boot | 2 -
arch/arm/mach-shmobile/board-ape6evm-reference.c | 60 --
arch/arm/mach-shmobile/board-ape6evm.c | 306 ----------
arch/arm/mach-shmobile/clock-r8a73a4.c | 659
---------------------
arch/arm/mach-shmobile/r8a73a4.h | 17 -
arch/arm/mach-shmobile/setup-r8a73a4.c | 273 +--------
include/dt-bindings/clock/r8a73a4-clock.h | 62 ++
17 files changed, 615 insertions(+), 1657 deletions(-)
delete mode 100644 arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts
delete mode 100644 arch/arm/configs/ape6evm_defconfig
delete mode 100644 arch/arm/mach-shmobile/board-ape6evm-reference.c
delete mode 100644 arch/arm/mach-shmobile/board-ape6evm.c
delete mode 100644 arch/arm/mach-shmobile/clock-r8a73a4.c
delete mode 100644 arch/arm/mach-shmobile/r8a73a4.h
create mode 100644 include/dt-bindings/clock/r8a73a4-clock.h
* tag 'renesas-r8a73a4-ccf-and-multiplatform-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: r8a73a4: Remove legacy code
ARM: shmobile: r8a73a4 dtsi: Add PM domain support
PM / Domains: R-Mobile SYSC: Document R-Mobile APE6 (r8a73a4) binding
ARM: shmobile: ape6evm dts: Drop console= bootargs parameter
ARM: shmobile: r8a73a4: ape6evm: Remove legacy platform
ARM: shmobile: ape6evm-reference: Remove board C code and DT file
ARM: shmobile: r8a73a4: Move pfc node to work around probe ordering bug
ARM: shmobile: ape6evm dts: Move Ethernet node to BSC
ARM: shmobile: r8a73a4 dtsi: Add Bus State Controller node
ARM: shmobile: r8a73a4: Add MSTP clock assignments to DT
ARM: shmobile: ape6evm: Disable legacy clock initialization
ARM: shmobile: r8a73a4: Common clock framework DT description
ARM: shmobile: r8a73a4: Add CPG register bits header
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit a90c13819b17fed8ccbaaeb15433a86c87709df0
Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 3 15:41:15 2015 +0100
ARM: configs: enable Marvell Armada 39x in multi_v7_defconfig
Following the introduction of the Marvell Armada 39x support, let's
enable this support by default in multi_v7_defconfig.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
Cc: <arm@xxxxxxxxxx>
Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
commit 502e95c6678505474f1056480310cd9382bacbac
Author: Zach Reizner <zachr@xxxxxxxxxx>
Date: Wed Mar 4 16:33:41 2015 -0800
drm/vgem: implement virtual GEM
This patch implements the virtual GEM driver with PRIME sharing which
allows vgem to import a gem object from other drivers for the purpose
of mmap-ing them to userspace. The mmap is done using the mmap
operation exported by other drivers.
v2: remove platform_device and do not attach to dma bufs
v3: use drm helpers for get/put pages
v4: correct dumb create pitch
Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> (v3)
Reviewed-by: Stéphane Marchesin <marcheu@xxxxxxxxxxxx> (v3)
Signed-off-by: Adam Jackson <ajax@xxxxxxxxxx>
Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx>
Signed-off-by: Zach Reizner <zachr@xxxxxxxxxx>
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>
commit 66776a67f7b1aeb4b0fac83df0a3379ed47af05c
Merge: e42391c 358b615
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Thu Apr 2 00:20:08 2015 +0200
Merge tag 'pull_req_20150331' of
https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq into pm-devfreq
Pull devfreq updates for v4.1 from MyungJoo Ham.
"This set includes tegra driver update and style fixes."
* tag 'pull_req_20150331' of
https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq:
PM / devfreq: tegra: Register governor on module init
PM / devfreq: tegra: Enable interrupts after resuming the devfreq
monitor
PM / devfreq: tegra: Set drvdata before enabling the irq
PM / devfreq: tegra: remove operating-points
PM / devfreq: tegra: Use clock rate constraints
PM / devfreq: tegra: Update to v5 of the submitted patches
PM / devfreq: correct misleading comment
PM / devfreq: event: Add const keyword for devfreq_event_ops structure
commit 09a972d1620934142d30cfda455ffe429af751c4
Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 15:16:34 2015 +0530
cpufreq: powernv: Report cpu frequency throttling
The power and thermal safety of the system is taken care by an
On-Chip-Controller (OCC) which is real-time subsystem embedded within
the POWER8 processor. OCC continuously monitors the memory and core
temperature, the total system power, state of power supply and fan.
The cpu frequency can be throttled by OCC for the following reasons:
1)If a processor crosses its power and temperature limit then OCC will
lower its Pmax to reduce the frequency and voltage.
2)If OCC crashes then the system is forced to Psafe frequency.
3)If OCC fails to recover then the kernel is not allowed to do any
further frequency changes and the chip will remain in Psafe.
The user can see a drop in performance when frequency is throttled and
is unaware of throttling. So detect and report such a condition, so
the user can check the OCC status to reboot the system or check for
power supply or fan failures.
The current status of the core is read from Power Management Status
Register(PMSR) to check if any of the throttling condition is occurred
and the appropriate throttling message is reported.
Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 53d5864bc673288f03bb7892a3cffa41a173082b
Author: Nathaniel Wesley Filardo <nwf@xxxxxxxxxx>
Date: Thu Aug 21 14:10:55 2014 -0400
kafs: Add more "unified AFS" error codes
This should cover the set emitted by viced and the volume server.
Signed-off-by: Nathaniel Wesley Filardo <nwf@xxxxxxxxxx>
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
commit 7b3d165a282145e605247148d3dec034814e0a78
Author: Jyri Sarha <jsarha@xxxxxx>
Date: Fri Mar 27 11:47:51 2015 +0200
ASoC: davinci-mcasp: Index ruledata in drvdata with substream->stream
The serializer direction definitions runs from 1 to 2, which does not
suite the purpose. The substream->stream is perfect for the purpose
and should have been used from the beginning.
Signed-off-by: Jyri Sarha <jsarha@xxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit f511ab09dfb0fe7b2335eccac51ff9f001a32e4a
Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
Date: Wed Apr 1 10:46:15 2015 +0200
spi: imx: read back the RX/TX watermark levels earlier
They are used to decide if the controller can do DMA on a buffer
of a specific length and thus are needed before any transfer is attempted.
This fixes a memory leak where the SPI core uses the drivers can_dma()
callback to determine if a buffer needs to be mapped. As the watermark
levels aren't correct at that point the driver falsely claims to be able
to
DMA the buffer when it fact it isn't.
After the transfer has been done the core uses the same callback to
determine if it needs to unmap the buffers. As the driver now correctly
claims to not being able to DMA the buffer the core doesn't attempt to
unmap the buffer which leaves the SGT leaking.
Fixes: f62caccd12c17e4 (spi: spi-imx: add DMA support)
Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit 7b425f264fc2572bea8b15fe97948659507c6a45
Author: Jyri Sarha <jsarha@xxxxxx>
Date: Wed Apr 1 20:35:57 2015 +0300
ASoC: omap-hdmi-audio: No not use IEC958_AES1_PRO_MODE_NOTID
No IEC958_AES?_PRO_* macros should be used in HDMI consumer audio mode
and IEC958_AES1_PRO_MODE_NOTID should be applied to byte 1 when
applicable. However IEC958_AES1_PRO_MODE_NOTID is defined as 0 so this
fix does not affect the functionality in any way.
Reported-by: Russell King <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Jyri Sarha <jsarha@xxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 057f6061a1972b0d63383cbbbb98795e8ef0a752
Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx>
Date: Thu Apr 2 03:03:33 2015 +0800
spi: spi-bfin5xx: Initialize cr_width in bfin_spi_pump_transfers()
cr_width may be not initialized before using by cr, the related warning
(with defconfig under blackfin by gcc5):
CC drivers/spi/spi-bfin5xx.o
drivers/spi/spi-bfin5xx.c: In function 'bfin_spi_pump_transfers':
drivers/spi/spi-bfin5xx.c:655:5: warning: 'cr_width' may be used
uninitialized in this function [-Wmaybe-uninitialized]
cr |= cr_width;
^
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 7c0e3facf39a68f30c2eae69e969918eca1ff9d6
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Mon Mar 30 21:04:52 2015 +0200
ASoC: dapm: Remove delayed_work from dapm context struct
The delayed_work field in the snd_soc_dapm_context struct is now unused
and
can be removed. Removing it reduces the size of the snd_soc_dapm_context
struct by ~50% from 100 bytes to 48 bytes.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit cd5d822688f3b32af286a76f7078dfe49c716282
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Mon Mar 30 21:04:51 2015 +0200
ASoC: wm8350: Move delayed work struct from DAPM context to driver state
The wm8350 driver is the last driver that still uses the delayed_work
field
from the snd_soc_dapm_context struct. Moving this over to the driver's
private data struct will allow us to remove the field from the DAPM
context,
which will drastically reduce its size.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 37660b6daf6d28bb2206c95ec75c8063f2db1606
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Mon Mar 30 21:04:50 2015 +0200
ASoC: Remove suspend_bias_level from DAPM context struct
The only two users of the suspend_bias_level field were two rather old
drivers which weren't exactly doing things by the book. Those drivers have
been updated and field is now unused and can be removed.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit a1f0b9674936bf55d5d49813de01547de2667690
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Mon Mar 30 21:04:49 2015 +0200
ASoC: wm8753: Cleanup manual bias level transitions
Set the CODEC driver's suspend_bias_off flag rather than manually going to
SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes
the code a bit shorter and cleaner.
Since the ASoC core now takes care of setting the bias level to
SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it
manually
anymore either.
The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe()
can also be removed as the core will automatically do this after the CODEC
has been probed.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 35afd9221b301d1959eadab2d45a2cb94dcb7d30
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Mon Mar 30 21:04:48 2015 +0200
ASoC: wm8753: Integrate capacitor charging into the DAPM sequence
When being powered on, either initially on probe or when resuming from
suspend, the wm8971 configures the device for quick output capacitor
charging. Since the charging can take a rather long time (up to multiple
seconds) it is done asynchronously without blocking. A delayed work item
is
run once the charging is finished and the device is switched to the target
bias level.
This all done asynchronously to the regular DAPM sequence accessing the
same
data structures and registers without any looking, which can lead to race
conditions. Furthermore this potentially delays the start of stream on the
CODEC while the rest of the system is already up and running, meaning the
first bytes of audio are lost. It also does no comply with the assumption
of
the DAPM core that if set_bias_level() returned successfully the device
will
be at the requested bias level.
This patch slightly refactors things and makes sure that the caps charging
is properly integrated into the DAPM sequence. When transitioning from
SND_SOC_BIAS_OFF to SND_SOC_BIAS_STANDBY the part will be put into fast
charging mode and a work item will be scheduled that puts it back into
standby charging once the charging period has elapsed. If a playback or
capture stream is started while charging is in progress the driver will
now
wait in SND_SOC_BIAS_PREPARE until the charging is done. This makes sure
that charging is done asynchronously in the background when the chip is
idle, but at the same time makes sure that playback/capture is not started
before the charging is done.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit c59e6abba9dd7bc273c3dd389ae9927d1da88f35
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Mon Mar 30 21:04:47 2015 +0200
ASoC: wm8971: Cleanup manual bias level transitions
Set the CODEC driver's suspend_bias_off flag rather than manually going to
SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes
the code a bit shorter and cleaner.
Since the ASoC core now takes care of setting the bias level to
SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it
manually
anymore either.
The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe()
can also be removed as the core will automatically do this after the CODEC
has been probed.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 643518403c3fdecd40d9edfd50f4bafcebeda79b
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Mon Mar 30 21:04:46 2015 +0200
ASoC: wm8971: Integrate capacitor charging into the DAPM sequence
When being powered on, either initially on probe or when resuming from
suspend, the wm8971 configures the device for quick output capacitor
charging. Since the charging can take a rather long time (up to multiple
seconds) it is done asynchronously without blocking. A delayed work item
is
run once the charging is finished and the device is switched to the target
bias level.
This all done asynchronously to the regular DAPM sequence accessing the
same
data structures and registers without any looking, which can lead to race
conditions. Furthermore this potentially delays the start of stream on the
CODEC while the rest of the system is already up and running, meaning the
first bytes of audio are lost. It also does no comply with the assumption
of
the DAPM core that if set_bias_level() returned successfully the device
will
be at the requested bias level.
This patch slightly refactors things and makes sure that the caps charging
is properly integrated into the DAPM sequence. When transitioning from
SND_SOC_BIAS_OFF to SND_SOC_BIAS_STANDBY the part will be put into fast
charging mode and a work item will be scheduled that puts it back into
standby charging once the charging period has elapsed. If a playback or
capture stream is started while charging is in progress the driver will
now
wait in SND_SOC_BIAS_PREPARE until the charging is done. This makes sure
that charging is done asynchronously in the background when the chip is
idle, but at the same time makes sure that playback/capture is not started
before the charging is done.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit ab87ce1d9bb0501fccfc00d5e5ce7c16cd2bcc3e
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Mon Mar 30 21:04:45 2015 +0200
ASoC: wm8971: Use system_power_efficient_wq instead of custom workqueue
The delayed work used by the wm8971 driver to manage the caps charging
doesn't have any special requirements that would justify using a custom
workqueue, just use the generic system_power_efficient_wq instead.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 488cb533911b96fe41af68a0206878aa46b799bc
Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 19:54:54 2015 +0200
ASoC: atmel-pcm-pdc: merge atmel-pcm back in
atmel-pcm.c was split into two files to create a generic framework for
both PDC
and DMA.
atmel-pcm-dma.c is using the generic dmaengine framework since
95e0e07e710e
(ASoC: atmel-pcm: use generic dmaengine framework).
Merge atmel-pcm.c in atmel-pcm-pdc.c as this is now the only user.
Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 43cb6954f8c8a68fdc354226fa045ff43c7e4d39
Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Date: Wed Apr 1 04:15:16 2015 +0000
ASoC: rsnd: add Synchronous SRC mode
Renesas R-Car sound SRC (= Sampling Rate Converter) has
Asynchronous/Synchronous SRC mode. Asynchronous mode is already
supported via DPCM. This patch adds Synchronous mode on it.
The condition of enabling Synchronous mode are
- SoC is clock master
- Sound uses SRC
- Sound doesn't use DVC
- Sound card uses DPCM (= rsrc-card card)
amixer set "SRC Out Rate" on
aplay xxx.wav &
amixer set "SRC Out Rate" 48000
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 6261b06de565baafa590e58a531a1a5522cea0b6
Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Date: Tue Mar 24 18:56:05 2015 -0700
regulator: Defer lookup of supply to regulator_get
Instead of resolving regulator supplies during registration move this to
the time of a consumer retrieving a handle. The benefit is that it's
possible for one driver to register regulators with internal
dependencies out of order.
Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit f1a8ff21d083c6b37bba9e4ad2c1d899ae41f75d
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 1 12:29:13 2015 -0700
vxge: Add const to ethtool_driver_stats_keys
Move about half a KB of data to text.
Miscellanea:
o Move strings out of the .h file into the .c file
in case the .h file is ever #included twice
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 82d929207a11402f9cfe2131013a94939967828a
Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx>
Date: Mon Mar 30 14:25:44 2015 -0700
crypto: algif - use kmalloc instead of kzalloc
No need to use kzalloc to allocate sgls as the structure is initialized
anyway.
Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit bd50752034e4c4847d413e812f554f1bde1e668c
Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx>
Date: Mon Mar 30 14:25:43 2015 -0700
crypto: af_alg - make exports consistant
Use EXPORT_SYMBOL_GPL instead of EXPORT_SYMBOL.
Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4a3d1caf8a2c16c55424a0768eade54ee0922341
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Fri Mar 13 01:58:46 2015 -0700
fs: btrfs: Add missing include file
Building alpha:allmodconfig fails with
fs/btrfs/inode.c: In function 'check_direct_IO':
fs/btrfs/inode.c:8050:2: error: implicit declaration of function
'iov_iter_alignment'
due to a missing include file.
Fixes: 3737c63e1fb0 ("fs: move struct kiocb to fs.h")
Cc: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Acked-by: David Sterba <dsterba@xxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 21295368367beaa563b310d5492166dba158b884
Merge: 209431e ca125b5
Author: Tony Lindgren <tony@xxxxxxxxxxx>
Date: Wed Apr 1 12:24:29 2015 -0700
Merge branch '4.0-rc1-prcm-cleanup-v6' of
https://github.com/t-kristo/linux-pm into omap-for-v4.1/prcm-cleanup
Conflicts:
arch/arm/boot/dts/dra7.dtsi
commit ba8c3d6f16a1f9305c23ac1d2fd3992508c5ac03
Author: Felix Fietkau <nbd@xxxxxxxxxxx>
Date: Fri Mar 27 21:30:37 2015 +0100
mac80211: add an intermediate software queue implementation
This allows drivers to request per-vif and per-sta-tid queues from which
they can pull frames. This makes it easier to keep the hardware queues
short, and to improve fairness between clients and vifs.
The task of scheduling packet transmission is left up to the driver -
queueing is controlled by mac80211. Drivers can only dequeue packets by
calling ieee80211_tx_dequeue. This makes it possible to add active queue
management later without changing drivers using this code.
This can also be used as a starting point to implement A-MSDU
aggregation in a way that does not add artificially induced latency.
Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
[resolved minor context conflict, minor changes, endian annotations]
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit cef2fc1ce4326f7f24c3cf938b94a661fbe773e3
Author: John Linville <linville@xxxxxxxxxxxxx>
Date: Tue Mar 31 10:49:14 2015 -0400
mac80211: reduce log spam from ieee80211_handle_pwr_constr
This changes a couple of messages from sdata_info to sdata_dbg.
This should reduce some log spam, as reported here:
https://bugzilla.redhat.com/show_bug.cgi?id=1206468
Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 5f919abc76fc3de1e5965ea03c925f7563c7fc15
Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 21:09:43 2015 +0100
mac80211: add standard deviation to Minstrel stats
This patch adds the statistical descriptor "standard deviation"
to better describe the current properties of Minstrel and
Minstrel-HTs success probability distribution. The standard
deviation (SD) is calculated as exponential weighted moving
standard deviation (EWMSD) and its current value is added as
new column in all rc_stats (in debugfs).
Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit ade6d4a2ec57d258bc181a155288c267dd8cf094
Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 21:09:42 2015 +0100
mac80211: reduce calculation costs of EWMA
This patch reduces the calculation costs of the EWMA macro from
"2x multiplication and 1 addition" down to "1x multiplication and
2x additions". This slightly improves performance depending on the
CPU architecture.
Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 50e55a8ea76fb593403cc09767b6371c17364ba8
Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 21:09:41 2015 +0100
mac80211: add max lossless throughput per rate
This patch adds the new statistic "maximum possible lossless
throughput" to Minstrels and Minstrel-HTs rc_stats (in debugfs). This
enables comprehensive comparison between current per-rate throughput
and max. achievable per-rate throughput.
Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 6a27b2c40b4829e625bc1dfdd0705c5ece720ab4
Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 21:09:40 2015 +0100
mac80211: restructure per-rate throughput calculation into function
This patch moves Minstrels and Minstrel-HTs per-rate throughput
calculation (EWMA(thr)) into a dedicated function to be called.
Therefore the variable "unsigned int cur_tp" within struct
"minstrel_rate_stats" becomes obsolete. and is removed to free
up its space.
Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 9134073bc693633b5e1f1a7252c93b3fb262aae4
Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 21:09:39 2015 +0100
mac80211: improve Minstrel variable & function naming
This patch ensures a consistent usage of variable names for type
"minstrel_rate_stats" to be used as "mrs" and from type minstrel_rate
as "mr" across both Minstrel & Minstrel-HT. In addition some
variable and function names got changed to more meaningful ones.
Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit f62838bcc5f58f580961aaf8c9fe59036b7be825
Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 21:09:38 2015 +0100
mac80211: unify Minstrel & Minstrel-HTs calculation of rate statistics
This patch unifies the calculation of Minstrels and Minstrel-HTs
per-rate statistic. The new common function minstrel_calc_rate_stats()
is called when a statistic update is performed.
Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 2cae0b6a70d666f8905f0f4bf788e56df1273878
Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 21:09:37 2015 +0100
mac80211: add new Minstrel-HT statistic output via csv
This patch adds a new debugfs file "rc_stats_csv" to output
Minstrel-HTs statistics in a common csv format that is easy
to parse.
Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Venz <ikstream86@xxxxxxxxx>
Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx>
[remove printing current time of day]
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 6d4885177929b1d978babe24d61ece687782c303
Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 21:09:36 2015 +0100
mac80211: add new Minstrel statistic output via csv
This patch adds a new debugfs file "rc_stats_csv" to output Minstrels
statistics in a common csv format that is easy to parse.
Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Venz <ikstream86@xxxxxxxxx>
Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx>
[remove printing current time of day]
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 9ca683c6d1482714a12170632afb74d43f0ece5a
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Apr 1 08:49:24 2015 -0700
chelsio cxgb/cxgb3: Make stats_strings arrays const
Move ~2KB of strings in each driver from data to text.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 45eb5168873c93b4f1c3c3867fea65aad4c6abd6
Merge: b9600d2 9374e7d
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Wed Apr 1 14:27:28 2015 -0400
Merge tag 'wireless-drivers-next-for-davem-2015-04-01' of
git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next
Kalle Valo says:
====================
Major changes:
ath9k:
* add Active Interference Cancellation, a method implemented in the HW
to counter WLAN RX > sensitivity degradation when BT is transmitting
at the same time. This feature is supported by cards like WB222
based on AR9462.
iwlwifi:
* Location Aware Regulatory was added by Arik
* 8000 device family work
* update to the BT Coex firmware API
brmcfmac:
* add new BCM43455 and BCM43457 SDIO device support
* add new BCM43430 SDIO device support
wil6210:
* take care of AP bridging
* fix NAPI behavior
* found approach to achieve 4*n+2 alignment of Rx frames
rt2x00:
* add new rt2800usb device DWA 130
rtlwifi:
* add USB ID for D-Link DWA-131
* add USB ID ASUS N10 WiFi dongle
mwifiex:
* throughput enhancements
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f375573c96470a27b911aeb1c0a25212d0e145a2
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Tue Mar 31 20:50:42 2015 +0200
clk: constify of_device_id array
of_device_id is always used as const.
(See driver.of_match_table and open firmware functions)
__initdata updated to __initconst for
static const struct of_device_id ti_clkdm_match_table[]
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
commit b9600d2d0901cd0f91cb372e72bd53d22f49638d
Merge: 8d88c6e 79d5eed
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Wed Apr 1 13:58:06 2015 -0400
Merge tag 'linux-can-next-for-4.1-20150401' of
git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next
Marc Kleine-Budde says:
====================
pull-request: can-next 2015-04-01
this is a pull request of 5 patches for net-next/master.
There are two patches for the ems_usb driver by Gerhard Uttenthaler and
me, which fix sparse endianess warnings. Oliver Hartkopp adds two
patches to improve and extend the CAN-ID filter handling on RAW CAN
sockets. The last patch is by me, it silences an uninitialized variable
warning in the peak_usb driver.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8d88c6ebb34c3e54debe81e9b0d81b60411f8179
Author: Petri Gynther <pgynther@xxxxxxxxxx>
Date: Wed Apr 1 00:40:00 2015 -0700
net: bcmgenet: enable MoCA link state change detection
Currently, MoCA fixed PHYs are always in link-up state, regardless of
whether the link is actually up or not.
Add code to properly detect MoCA link state changes and to reflect the
new state in MoCA fixed PHY. Only GENET V3 and V4 MACs are capable of
detecting MoCA link state changes.
The code works as follows:
1. GENET MAC detects MoCA link state change and issues UMAC_IRQ_LINK_UP
or UMAC_IRQ_LINK_DOWN interrupt.
2. Link up/down interrupt is processed in bcmgenet_irq_task(), which
calls phy_mac_interrupt().
3. phy_mac_interrupt() updates the fixed PHY phydev->link and kicks
the PHY state machine.
4. PHY state machine proceeds to read the fixed PHY link status
register.
5. When the fixed PHY link status register is being read, the new
function bcmgenet_fixed_phy_link_update() gets called. It copies
the fixed PHY phydev->link value to the fixed PHY status->link.
6. PHY state machine receives the new link state of the fixed PHY.
7. MoCA fixed PHY link state now correctly reflects the real MoCA
hardware link state.
Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2841a2d3a1b4b4e5cd22851928087b664a4dafad
Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Date: Thu Mar 19 23:14:06 2015 +0200
iwlwifi: check the size of the trigger struct from the firmware file
When we access the triggers we need to make sure that the
data we expect was actually provided by the firmware file.
Check this when we decode the triggers from the firmware
file.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 687908c2b6498130172286f3387ec0eb0a20080e
Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Date: Tue Mar 31 22:08:45 2015 +0200
net: phy: at803x: simplify using devm_gpiod_get_optional and its 4th
argument
Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions)
which appeared in v3.17-rc1, the gpiod_get* functions take an additional
parameter that allows to specify direction and initial value for output.
Moreover use devm_gpiod_get_optional instead of ignoring all errors
returned by devm_gpiod_get and simplify accordingly.
The result is more strict error handling which is good.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 906a7985f72ee2f28433e2dd847a013da0e4cdea
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 31 16:05:23 2015 +0200
caif: remove unused struct member
The tty_name member of struct ser_device is never set or used, so it
can be removed. (The definition of struct ser_device is private to
this .c file, and the identifier tty_name only occurs in this one
place.)
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 072264fee89633b676f656613efff7dd5cdbf88a
Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
Date: Fri Mar 27 10:07:33 2015 -0600
selftests: Change memory on-off-test.sh name to be unique
cpu and memory hotplug scripts use the same name. Change
memory on-off-test.sh to mem-on-off-test.sh.
Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit cc16782169e5a7d523c82a45a24ead70d6e2275f
Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
Date: Fri Mar 27 10:03:48 2015 -0600
selftests: change cpu on-off-test.sh name to be unique
cpu and memory hotplug scripts use the same name. Change
cpu on-off-test.sh to cpu-on-off-test.sh.
Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 9a1e75e11a8d09c5cba022e1ac04b0785354f708
Author: Peter Griffin <peter.griffin@xxxxxxxxxx>
Date: Tue Mar 31 08:35:09 2015 +0100
ahci: st: st_configure_oob must be called after IP is clocked.
Currently the ahci_st driver will hang the system on probe, as the
st_configure_oob function does some register writes before the IP
is clocked. This patch moves the function call to after
ahci_platform_enable_resources (which enables the IP clock), and
resolves the hang.
Addtionally st_ahci_configure_oob should be called in the st_ahci_resume
function, so we also rectify that ensuring it is also called after
the IP clock has been enabled.
Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx>
Acked-by: Lee Jones <lee.jones@xxxxxxxxxx>
Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit 9a8340bfeb03c5fc20b39aa533b164844ef582f9
Author: Peter Griffin <peter.griffin@xxxxxxxxxx>
Date: Tue Mar 31 08:35:07 2015 +0100
ahci: st: Update the ahci_st DT documentation
As part of testing ahci_st driver working on stih407 I noticed
several things wrong in the DT documentation: -
1) Compatible string doesn't match the driver code
2) pwr-rst reset isn't documented (but exists in the driver)
3) some whitespace issues (spaces not tabs)
Also add in a stih407 family example into the doc.
Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx>
Acked-by: Lee Jones <lee.jones@xxxxxxxxxx>
Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit b6305d62234642a37fa1a68d15e741cfc3428c45
Author: Peter Griffin <peter.griffin@xxxxxxxxxx>
Date: Tue Mar 31 18:37:12 2015 +0100
ahci: st: Update the DT example for how to obtain the PHY.
The example is wrong in that the phys property should take a
phandle to the phy port.
Also with the changing over to generic PHY type constants we also
update that as well.
Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx>
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Acked-by: Lee Jones <lee.jones@xxxxxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit c471c989addf4d806c62ece60d6cfd6d9ad50c95
Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx>
Date: Tue Mar 31 02:29:35 2015 +0300
staging: dgnc_sysfs: Replace printk(KERN_ERR ) with pr_err()
Fix the following checkpatch warning:
WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ...
then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ...
Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit dd82525956744c3a5e6b7275cd468b6180cc5b72
Author: Chris Mason <clm@xxxxxx>
Date: Wed Apr 1 08:36:05 2015 -0700
Btrfs: free and unlock our path before
btrfs_free_and_pin_reserved_extent()
The error handling path for alloc_reserved_tree_block is calling
btrfs_free_and_pin_reserved_extent with a spinning tree lock held. This
might sleep as we allocate extent_state objects:
BUG: sleeping function called from invalid context at mm/slub.c:1268
in_atomic(): 1, irqs_disabled(): 0, pid: 11093, name: kworker/u4:7
5 locks held by kworker/u4:7/11093:
#0: ("%s-%s""btrfs", name){++++.+}, at: [<ffffffff81091d51>]
process_one_work+0x151/0x520
#1: ((&work->normal_work)){+.+.+.}, at: [<ffffffff81091d51>]
process_one_work+0x151/0x520
#2: (sb_internal){++++.+}, at: [<ffffffffa003a70e>]
start_transaction+0x43e/0x590 [btrfs]
#3: (&head_ref->mutex){+.+...}, at: [<ffffffffa0089f8c>]
btrfs_delayed_ref_lock+0x4c/0x240 [btrfs]
#4: (btrfs-extent-00){++++..}, at: [<ffffffffa007697b>]
btrfs_clear_lock_blocking_rw+0x9b/0x150 [btrfs]
CPU: 0 PID: 11093 Comm: kworker/u4:7 Tainted: G W
4.0.0-rc6-default+ #246
Hardware name: Intel Corporation Santa Rosa platform/Matanzas, BIOS
TSRSCRB1.86C.0047.B00.0610170821 10/17/06
Workqueue: btrfs-extent-refs btrfs_extent_refs_helper [btrfs]
00000000000004f4 ffff88006dd17848 ffffffff81ab0e3b ffff88006dd17848
ffff88007a944760 ffff88006dd17868 ffffffff8109d516 ffff88006dd17898
0000000000000000 ffff88006dd17898 ffffffff8109d5b2 ffffffff81aba2bb
Call Trace:
[<ffffffff81ab0e3b>] dump_stack+0x4f/0x6c
[<ffffffff8109d516>] ___might_sleep+0xf6/0x140
[<ffffffff8109d5b2>] __might_sleep+0x52/0x90
[<ffffffff81aba2bb>] ? ftrace_call+0x5/0x34
[<ffffffff81196363>] kmem_cache_alloc+0x163/0x1b0
[<ffffffffa0056f31>] ? alloc_extent_state+0x31/0x150 [btrfs]
[<ffffffffa0056f20>] ? alloc_extent_state+0x20/0x150 [btrfs]
[<ffffffffa0056f31>] alloc_extent_state+0x31/0x150 [btrfs]
[<ffffffffa005805b>] __set_extent_bit+0x37b/0x5d0 [btrfs]
[<ffffffff81aba2bb>] ? ftrace_call+0x5/0x34
[<ffffffffa005888d>] ? set_extent_bit+0xd/0x30 [btrfs]
[<ffffffffa00588a3>] set_extent_bit+0x23/0x30 [btrfs]
[<ffffffffa0058e80>] set_extent_dirty+0x20/0x30 [btrfs]
[<ffffffffa00195ba>] pin_down_extent+0xaa/0x170 [btrfs]
[<ffffffffa001d8ef>] __btrfs_free_reserved_extent+0xcf/0x160 [btrfs]
[<ffffffffa0023856>] btrfs_free_and_pin_reserved_extent+0x16/0x20
[btrfs]
[<ffffffffa002482a>] __btrfs_run_delayed_refs+0xfca/0x1290 [btrfs]
[<ffffffffa0026eae>] btrfs_run_delayed_refs+0x6e/0x2e0 [btrfs]
[<ffffffffa0027378>] delayed_ref_async_start+0x48/0xb0 [btrfs]
[<ffffffffa006c883>] normal_work_helper+0x83/0x350 [btrfs]
[<ffffffffa006cd79>] ? btrfs_extent_refs_helper+0x9/0x20 [btrfs]
[<ffffffffa006cd82>] btrfs_extent_refs_helper+0x12/0x20 [btrfs]
[<ffffffff81091dcb>] process_one_work+0x1cb/0x520
[<ffffffff81091d51>] ? process_one_work+0x151/0x520
[<ffffffff811c7abf>] ? seq_read+0x3f/0x400
[<ffffffff8109260b>] worker_thread+0x5b/0x4e0
[<ffffffff81097be2>] ? __kthread_parkme+0x12/0xa0
[<ffffffff810925b0>] ? rescuer_thread+0x450/0x450
[<ffffffff81098686>] kthread+0xf6/0x120
[<ffffffff81098590>] ? flush_kthread_worker+0x1b0/0x1b0
[<ffffffff81ab8088>] ret_from_fork+0x58/0x90
[<ffffffff81098590>] ? flush_kthread_worker+0x1b0/0x1b0
------------[ cut here ]------------
This changes things to free the path first, which will also unlock the
extent buffer.
Signed-off-by: Chris Mason <clm@xxxxxx>
Reported-by: Dave Sterba <dsterba@xxxxxxx>
Tested-by: Dave Sterba <dsterba@xxxxxxx>
commit 4b80af40ebd61fcaaa9a2326a4ce401b5fe7c103
Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Date: Sat Mar 28 23:55:04 2015 +0530
Staging: lustre: Mark internal functions static in llog_cat.c
This patch marks functions llog_cat_set_first_idx and cat_cancel_cb
static as these are used only within this file. Also since cat_cancel_cb
is made static do not export it.
This eliminates the following sparse warning:
warning: symbol * was not declared. Should it be static?
Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 0bf31f075c5138bab1a5d9c61798739424f51781
Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Date: Sat Mar 28 23:13:56 2015 +0530
Staging: lustre: Mark internal functions as static
This patch makes functions mgc_logname2resid, mgc_set_info_async
and mgc_init static as these are only used internally.
This also eliminates sparse warnings of the type:
warning: symbol * was not declared. Should it be static?
Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 171aee168e4fe04502e2e065750dcbe0b2e0ffa9
Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Date: Sat Mar 28 23:13:55 2015 +0530
Staging: lustre: Include header file that declares lprocfs_mdc_init_vars
This patch includes the header file mdc_internal.h that declares the
function lprocfs_mdc_init_vars.
This also eliminates the sparse warning:
warning: symbol 'lprocfs_mdc_init_vars' was not declared. Should it be
static?
Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b5edcf2f8679d2a4434f791ee19eb82b2d6997f3
Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Date: Sat Mar 28 23:13:54 2015 +0530
Staging: lustre: Include header for functions prototypes
This patch includes the header lustre/include/lclient.h that declares
the functions lov_lsm_put and lov_read_and_clear_async_rc defined in
lov_object.c.
This eliminates warnings reported by sparse:
warning: symbol was not declared. Should it be static?
Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 80e177380b3a9e08a3c74ae0562c020c80ce3c2c
Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Date: Sat Mar 28 23:13:53 2015 +0530
Staging: lustre: Add header that declares function lprocfs_lmv_init_vars
This patch includes the header file lmv_internal.h that declares
the function lprocfs_lmv_init_vars defined in lproc_lmv.c.
This eliminates the sparse warning:
warning: symbol 'lprocfs_lmv_init_vars' was not declared. Should it be
static?
Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 132eacb7fbd32cbfd55d47a230aea636e48ee959
Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Date: Sat Mar 28 23:13:52 2015 +0530
Staging: lustre: Make obd_proc_version_seq_show static
The function obd_proc_version_seq_show is only used in this
file, so make it static.
This eliminates the following sparse warning:
warning: symbol 'obd_proc_version_seq_show' was not declared. Should it
be static?
Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 44ba06987c0b10faa998b9324850e8a6564c714d
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Wed Apr 1 16:31:26 2015 +0100
RxRPC: Handle VERSION Rx protocol packets
Handle VERSION Rx protocol packets. We should respond to a VERSION packet
with a string indicating the Rx version. This is a maximum of 64
characters
and is padded out to 65 chars with NUL bytes.
Note that other AFS clients use the version request as a NAT keepalive so
we
need to handle it rather than returning an abort.
The standard formulation seems to be:
<project> <version> built <yyyy>-<mm>-<dd>
for example:
" OpenAFS 1.6.2 built 2013-05-07 "
(note the three extra spaces) as obtained with:
rxdebug grand.mit.edu -version
from the openafs package.
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
commit 967db076bd3eddb36c4699743f8304a5ffcbd814
Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Date: Sat Mar 28 17:12:53 2015 +0530
Staging: lustre: Add function prototypes in console.h
Sparse reported the following warnings:
warning: symbol 'lstcon_console_init' was not declared. Should it be
static?
warning: symbol 'lstcon_console_fini' was not declared. Should it be
static?
warning: symbol 'lstcon_ioctl_entry' was not declared. Should it be
static?
However since these functions are used in other files,
they cannot be made static, so add protoypes for the same in console.h.
Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 5c7d08c32d0cb96ec0e831539bb68b7fe5b45973
Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx>
Date: Wed Apr 1 00:52:18 2015 +0530
Staging: rtl8712: Remove zero-testing pointer typed value
Removes variable comparison with 0 by using !. Done using following
coccinelle script.
@ disable is_zero,isnt_zero @
expression *E;
expression E1,f;
@@
E = f(...)
<...
(
- E == 0
+ !E
|
- E != 0
+ E
|
- 0 == E
+ !E
|
- 0 != E
+ E
)
...>
?E = E1
@ disable is_zero,isnt_zero @
expression *E;
@@
(
E ==
- 0
+ NULL
|
E !=
- 0
+ NULL
|
- 0
+ NULL
== E
|
- 0
+ NULL
!= E
)
Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b6955a8f4350686321ccc4efd2b2333d91c5c2f5
Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Date: Sat Mar 28 03:30:12 2015 +0200
Staging: rtl8712: Remove duplicated argument to |
Delete duplicated argument to | for the state argument in
the _clr_fwstate_() function call as it is redundant.
Detected with coccinelle.
Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 45de432775d6df1b349b02c4d783237937278906
Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Date: Sat Mar 28 02:57:34 2015 +0200
Staging: rtl8712: Use memdup_user() instead of copy_from_user()
Use memdup_user() to avoid its duplicated implementation and simplify
code. memdup_user() uses GFP_KERNEL instead of GFP_ATOMIC,
which is valid because copy_from_user() might sleep and it's useless
to make the allocation atomic. Found with coccinelle.
Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 66687e6aed4ab25ab5aac52ed94b277c4db2093f
Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Date: Wed Apr 1 14:01:11 2015 +0300
iio: magnetometer: mag3110: Place driver on standby on error
Place driver on standby mode on error in order to prevent wasting
power. Move standby function above to be seen by the new call.
Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit aa5587f3cb9fde2db852b5549ee561198aa95748
Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Date: Tue Mar 31 13:04:29 2015 +0300
Staging: iio: accel: Remove explicit NULL comparison
This patch removes explicit NULL comparison and writes it in its
equivalent shorter form. Done with coccinelle.
@replace_rule@
expression e;
@@
-e == NULL
+ !e
Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d3f31e87dbcc2c6d3a9cf28e1404cf43ef265ebe
Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Date: Tue Mar 31 13:04:07 2015 +0300
Staging: iio: adc: Remove explicit NULL comparison
This patch removes explicit NULL comparison and writes it in its
shorter form. Detected with coccinelle.
Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 16d55be4cc694f76bff0cd99a8101e943e878d38
Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Date: Tue Mar 31 13:03:38 2015 +0300
Staging: iio: impedance-analyzer: Remove explicit NULL comparison
This patch removes explicit NULL comparison and replaces it with
its shorter form. Detected with coccinelle.
Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e84d0724101ba8a38afab21c118135815f707733
Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Date: Tue Mar 31 13:03:12 2015 +0300
Staging: iio: trigger: Remove explicit NULL comparison
This patch removes explicit NULL comparison and replaces it
with its shorter form. Detected with coccinelle.
Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 45297571e90bd59195011ae8e328dae84534ecef
Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Date: Tue Mar 31 13:01:18 2015 +0300
Staging: iio: meter: Remove explicit NULL comparison
This patch removes explicit NULL comparison and replaces it with
its shorter form. Detected with coccinelle.
@replace_rule@
expression e;
@@
-e == NULL
+ !e
Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 8f94c31feeba8b872ed18d075b57de5d04575d05
Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Date: Tue Mar 31 12:51:38 2015 +0300
Staging: iio: iio_simple_dummy: Remove explicit NULL comparison
This patch removes explicit NULL comparison and writes it in its
simpler form. Done with coccinelle:
@replace_rule@
expression e;
@@
-e == NULL
+ !e
Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 025c7da9eeba3a6c77ef9485a4c1c1a797dd7a4e
Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Date: Tue Mar 31 12:51:10 2015 +0300
Staging: iio: iio_dummy_evgen: Simplify NULL comparison
Remove explicit NULL comparison and write it in its simpler form.
Replacement done with coccinelle:
@replace_rule@
expression e;
@@
-e == NULL
+ !e
Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b72eb70209a0aac7651166d3f610ffb57b4c6e5f
Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Date: Sun Mar 29 16:14:39 2015 +0300
Staging: iio: Add error check on iio_register_device()
This patch checks if an error occurred on probe and stops the
device in order to avoid wasting power.
Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 9c057b3e02184b111d3392be75efc7c94f0fdf20
Author: Huacai Chen <chenhc@xxxxxxxxxx>
Date: Sun Mar 29 10:54:10 2015 +0800
MIPS: Loongson-3: Add chipset ACPI platform driver
This add south-bridge (SB700/SB710/SB800 chipset) ACPI platform driver
for Loongson-3. This will be used by EC (Embedded Controller, used by
laptops) driver and STR (Suspend To RAM).
[ralf@xxxxxxxxxxxxxx: Fix build error if !CONFIG_CPU_LOONGSON3. Build
doesn't like it if no obj-* variable is defined at all in a Makefile.
Obviously this has not been tested on other platforms.]
Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx>
Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx>
Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9619/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 64f09aa967e1a6effdffcbf14c912ec5f9e3715e
Author: Huacai Chen <chenhc@xxxxxxxxxx>
Date: Sun Mar 29 10:54:09 2015 +0800
MIPS: Loongson-3: Add CPU Hwmon platform driver
This add CPU Hwmon (temperature sensor) platform driver for Loongson-3.
Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx>
Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx>
Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9617/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit f14ceff75545f9a1e62430fe9cc796208569b972
Author: Huacai Chen <chenhc@xxxxxxxxxx>
Date: Sun Mar 29 10:54:08 2015 +0800
MIPS: perf: Add hardware perf events support for Loongson-3
This patch enable hardware performance counter support for Loongson-3's
perf events.
Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx>
Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx>
Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9618/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit a2e50f53d535fa885a432fb9fc3e3ca5ed97364c
Author: Joshua Kinard <kumba@xxxxxxxxxx>
Date: Mon Jan 19 04:19:20 2015 -0500
MIPS: PCI: Add a hook for IORESOURCE_BUS in
pci_controller/bridge_controller
On SGI Origin 2k/Onyx2 and SGI Octane systems, there can exist multiple
PCI
buses attached to the Xtalk bus. The current code will stop counting PCI
buses
after it finds the first one. If one installs the optional PCI cardcage
("shoebox") into these systems, because of the order of the Xtalk
widgets, the
current PCI code will find the cardcage first, and fail to detect the
BaseIO
PCI devices, which are on a higher Xtalk widget ID.
This patch adds the hooks needed for resolving this issue in the IP27 PCI
code
(in a later patch).
Verified on both an SGI Onyx2 and an SGI Octane.
Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx>
Cc: Linux MIPS List <linux-mips@xxxxxxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9074/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 3db2742554bb7cc077de478c2ebf9c1efdd317f5
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Mon Mar 30 16:46:03 2015 -0700
MIPS: Use bool function return values of true/false not 1/0
Use the normal return values for bool functions
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9640/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 97b290b5637f473588a297834c10cd750718e980
Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx>
Date: Mon Mar 30 17:01:01 2015 +0100
MIPS: Octeon: Fix to IP checksum offloading in Little Endian
When hardware checksum generation is switched on the checksum
generation was only being signalled to the hardware correctly
in Big Endian mode.
Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9634/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit d2a948d2db68bda8780df636cf6390748953793f
Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx>
Date: Mon Mar 30 17:01:00 2015 +0100
MIPS: Octeon: Make octeon-md5 driver endian-agnostic
The octeon crypto co-processor expects values to be big endian.
Wrap the data transfers with cpu_to_be64() and be64_to_cpu()
transformations.
This passes for all the MD5 test vectors in crypto/testmgr.h
Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9631/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 8a5cc923af4298e7d40a434398743c03ef875fb1
Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx>
Date: Mon Mar 30 17:00:59 2015 +0100
MIPS: Octeon: Set up ethernet hardware for little endian
Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9635/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit f1e770cf51fc0567b7d2b1d242b5ab8d23399d09
Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx>
Date: Mon Mar 30 17:00:58 2015 +0100
MIPS: Octeon: Reverse the order of register accesses to the FAU
64 bit access is unaffected but for 32 bit access, swap high and
low words. Similarly for 16 bit access, reverse the order of the
four possible words, and for 8 bit access reverse the order of byte
accesses.
Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9630/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit b0abf36ffdc2b7efbb74e02b9dad99b40e85ec3b
Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx>
Date: Mon Mar 30 17:00:57 2015 +0100
MIPS: Octeon: Set appropriate endianness in L2C registers
Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9629/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 11db04c8f3f2353b45848ceda2e6e3440520f7cb
Author: Paul Martin <paul.martin@xxxxxxxxxxxxxxx>
Date: Mon Mar 30 17:00:56 2015 +0100
MIPS: Octeon: Turn hardware bitfields and structures inside out.
Although the proper way to do this for bitfields would be to use
the macro that Ralf has provided, this is a little easier to
understand as a diff.
Signed-off-by: Paul Martin <paul.martin@xxxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9628/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 0a1cd2c5887cc87178adf9f58191a18cca8c55c0
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Mon Mar 30 23:02:51 2015 +0200
MIPS: IP32: ip32-platform is not a module.
So let's remove everything that only makes sense for kernel modules.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 3057739138eb8fbaa5154b149a864f5218898c73
Author: Joshua Kinard <kumba@xxxxxxxxxx>
Date: Wed Jan 21 07:59:45 2015 -0500
MIPS: Add R16000 detection
This allows the kernel to correctly detect an R16000 MIPS CPU on systems
that
have those. Otherwise, such systems will detect the CPU as an R14000,
due to
similarities in the CPU PRId value.
Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx>
Cc: Linux MIPS List <linux-mips@xxxxxxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9092/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 5b4e845393d313af1d319b8bd01c9daaca3aa487
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Mon Feb 23 18:28:34 2015 -0800
CLOCKSOURCE: mips-gic: Allow GIC clock to be specified in device-tree
As an alternative to the "clock-frequency" property, allow the GIC
timer operating clock to be specified in the device-tree instead.
This is useful on systems which use common clock or where the GIC
is not fixed to a particular frequency and is instead, for example,
derived from the CPU clock.
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Rob Herring <robh+dt@xxxxxxxxxx>
Cc: Pawel Moll <pawel.moll@xxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx>
Cc: Kumar Gala <galak@xxxxxxxxxxxxxx>
Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9309/
commit 615eb603f4e1da4f151c7fac4aa175753a9913ec
Author: Chen Jie <chenj@xxxxxxxxxx>
Date: Fri Mar 27 01:07:24 2015 +0800
MIPS: csum_partial: Improve instruction parallelism.
Computing sum introduces true data dependency. This patch removes some
true data depdendencies, hence increases instruction level parallelism.
This patch brings up to 50% csum performance gain on Loongson 3a.
One example about how this patch works is in CSUM_BIGCHUNK1:
// ** original ** vs ** patch applied **
ADDC(sum, t0) ADDC(t0, t1)
ADDC(sum, t1) ADDC(t2, t3)
ADDC(sum, t2) ADDC(sum, t0)
ADDC(sum, t3) ADDC(sum, t2)
In the original implementation, each ADDC(sum, ...) depends on the sum
value updated by previous ADDC(as source operand).
With this patch applied, the first two ADDC operations are independent,
hence can be executed simultaneously if possible.
Another example is in the "copy and sum calculating chunk":
// ** original ** vs ** patch applied **
STORE(t0, UNIT(0) ... STORE(t0, UNIT(0) ...
ADDC(sum, t0) ADDC(t0, t1)
STORE(t1, UNIT(1) ... STORE(t1, UNIT(1) ...
ADDC(sum, t1) ADDC(sum, t0)
STORE(t2, UNIT(2) ... STORE(t2, UNIT(2) ...
ADDC(sum, t2) ADDC(t2, t3)
STORE(t3, UNIT(3) ... STORE(t3, UNIT(3) ...
ADDC(sum, t3) ADDC(sum, t2)
With this patch applied, ADDC and the **next next** ADDC are independent.
Signed-off-by: chenj <chenj@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9608/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit d548ca6b0784a99f0fcae397f115823ccd0361a5
Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Date: Wed Dec 10 17:38:26 2014 +0100
MIPS: BCM47XX: Fix coding style to match kernel standards
[ralf@xxxxxxxxxxxxxx: Fixed conflicts.]
Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Paul Walmsley <paul@xxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/8665/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 05f5507f59d6d3eab1c2172c6266b664b61599b5
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Mon Mar 30 00:04:56 2015 +0300
MIPS: OCTEON: add GPIO LED support for DSR-1000N
DSR-1000N board has two GPIO LEDs next to USB ports. Add support for them.
[ralf@xxxxxxxxxxxxxx: Resolved conflict due to the moving of the DTS files
into vendor subdirectories.]
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9624/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit f8fd30ebdb36f2598f382a6e57fa010477ad094f
Author: Huacai Chen <chenhc@xxxxxxxxxx>
Date: Sun Mar 29 10:54:06 2015 +0800
MIPS: Hibernate: Restructure files and functions
This patch has no functional changes, it just to keep the assembler
code to a minimum. Files and functions naming is borrowed from X86.
Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx>
Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx>
Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9616/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 2a21dc7c196209d94cb570a0d340faa6c760f7f8
Author: Huacai Chen <chenhc@xxxxxxxxxx>
Date: Sun Mar 29 10:54:05 2015 +0800
MIPS: Hibernate: flush TLB entries earlier
We found that TLB mismatch not only happens after kernel resume, but
also happens during snapshot restore. So move it to the beginning of
swsusp_arch_suspend().
Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx>
Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9621/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 4c9164b9f77cebe715db18f179329c48b95243bb
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Sun Mar 29 22:09:02 2015 +0200
MIPS: SEAD3: Nuke remaining I2C bits.
With no I2C driver available, keeping the platform device registration
makes no sense just as keeping the code to instantiage the I2C devices.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 968c94bcd891075ac06dd2f669c557f58a6523fc
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Sun Mar 29 22:06:51 2015 +0200
MIPS: SEAD3: Nuke I2C driver that never was wired up in Makefile.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit e598e47144e41e8429bf127266bc3e8017d1a5f4
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Sun Mar 29 16:06:03 2015 +0200
MIPS: SEAD3: Use symbolic addresses from sead-addr.h in I2C driver.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit fbacc8dfd8bab24d326b3055d38246ca7a2e1da5
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Fri Mar 27 23:50:58 2015 +0100
MIPS: SEAD3: Use symbolic addresses from sead-addr.h in LED driver.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit be2d960e0017a9a100edaccc18249d29b427b6ec
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Fri Mar 27 23:47:59 2015 +0100
MIPS: SEAD3: New header file sead3-addr.h with hardware addresses.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 2c0916d4b706bff58221cf7f58a40ef8e997f537
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Fri Mar 27 21:57:36 2015 +0100
MIPS: SEAD3: Get rid of DRVNAME from LED driver for readability.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 2ead2d73494ec86b8e35e0a8a1054b16bb66b5c0
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Fri Mar 27 21:56:01 2015 +0100
MIPS: SEAD3: Get rid of useless pr_debug calls in the LED driver.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 50a73f19e67a966f518192f808ed7bfa8f80ff97
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Fri Mar 27 21:47:42 2015 +0100
MIPS: SEAD3: Convert I2C driver to module_platform_driver.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 4558e09469fe376752a8d3ba097a0cfe42691b72
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Fri Mar 27 21:47:01 2015 +0100
MIPS: SEAD3: Convert LED driver to module_platform_driver.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 01f7ab34325e76301915d5a4604834c5e2a91e74
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Fri Oct 24 01:32:25 2014 +0200
MIPS: SEAD3: Collect LED platform device registration in a single file.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Markos Chandras <markos.chandras@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Bryan Wu <cooloney@xxxxxxxxx>
Cc: Richard Purdie <rpurdie@xxxxxxxxx>
Cc: linux-leds@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8203/
commit 8a5f1efbb1a13cd2e2a1c2d1ae3773821e8b1d67
Author: Florian Fainelli <f.fainelli@xxxxxxxxx>
Date: Wed Mar 25 21:55:15 2015 -0700
MIPS: BMIPS: restrict DTB selection to BMIPS_GENERIC
Since we are always sourcing arch/mips/bmips/Kconfig and there is no
dependency on BMIPS_GENERIC, we will offer building BMIPS-related DTBs
while this is not relevant for the other MIPS platforms.
Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: cernekee@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9603/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 554b7f56b998c72316ab2d5c21963512fd6c9a5e
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Fri Mar 27 15:17:31 2015 +0100
MIPS: BMIPS: Flush the readahead cache after DMA.
BMIPS 3300/435x/438x CPUs have a readahead cache that is separate from
the L1/L2. During a DMA operation, accesses adjacent to a DMA buffer
may cause parts of the DMA buffer to be prefetched into the RAC. To
avoid possible coherency problems, flush the RAC upon DMA completion.
Derived from Kevin Cernekee's
https://patchwork.linux-mips.org/patch/9602/.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 0acbfc66d09e97e5a01e7a23ac7e99f360ff851b
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Fri Mar 27 15:10:30 2015 +0100
MIPS: DMA: Implement platform hook to perform post-DMA cache flushes.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 253073801363e5cea3cd368fed1afc3111a21c35
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Fri Mar 27 13:11:51 2015 +0100
MIPS: ath25: Remove unused DMA helper functions.
These got merged with the ath25 support after 4e7f72660c39 (MIPS: Remove
unnecessary platform dma helper functions) had already removed them for
all other platforms.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit eec99f2079df0f58c346652f03f3c18c6799bd79
Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 26 18:33:41 2015 -0700
MIPS: Loongson-3: remove deprecated IRQF_DISABLED
This removes the use of the IRQF_DISABLED flag
from arch/mips/loongson/loongson-3/hpet.c
It's a NOOP since 2.6.35.
Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
Cc: chenhc@xxxxxxxxxx
Cc: taohl@xxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9609/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 138173d4e826587da66c7d321da1a91283222536
Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Date: Mon Dec 1 07:58:18 2014 +0100
MIPS: BCM47xx: Move NVRAM header to the include/linux/.
There are two reasons for having this header in the common place:
1) Simplifying drivers that read NVRAM entries. We will be able to
safely call bcm47xx_nvram_* functions without #ifdef-s.
2) Getting NVRAM driver out of MIPS arch code. This is needed to support
BCM5301X arch which also requires this NVRAM driver. Patch for that
will follow once we get is reviewed.
Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Paul Walmsley <paul@xxxxxxxxx>
Cc: linux-soc@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8619/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 5ae03b1220ac22b823d8414997329806db16020c
Author: David Daney <david.daney@xxxxxxxxxx>
Date: Tue Feb 24 15:35:34 2015 -0800
MIPS: Expand __swp_offset() to carry 40 significant bits for 64-bit
kernel.
With CONFIG_MIGRATION, the PFN of the migrating pages is stored in
__swp_offset(), so we must have enough bits to store the largest
possible PFN. OCTEON NUMA systems have 41 bits of physical address
space, so with 4K pages (12-bits), we need at least 29 bits to store
the PFN.
The current width of 24-bits is too narrow, so expand it all the way
out to 40-bits. This leaves the low order 16 bits as zero which does
not interfere with any of the PTE bits.
Signed-off-by: David Daney <david.daney@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9315/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 80aaaa8b93d860f828e2cf883f307894640765f0
Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Date: Wed Dec 10 11:49:54 2014 +0100
MIPS: BCM47XX: Use strnchr to avoid reading out of the buffer
Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Cc: Hauke Mehrtens <hauke@xxxxxxxxxx>
Cc: Paul Walmsley <paul@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8662/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 23d2bc42aceb829eaf90c694941e4523c22865e8
Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Date: Wed Dec 10 11:49:53 2014 +0100
MIPS: BCM47XX: Use helpers for reading NVRAM content
Also drop some unneeded memset-s.
Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx>
Cc: Hauke Mehrtens <hauke@xxxxxxxxxx>
Cc: Paul Walmsley <paul@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8661/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit aa816c1b390aacb698dd6faf5a8cbffb5123c03a
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Thu Feb 26 01:31:04 2015 +0200
MIPS: mark prom_free_prom_memory() everywhere with __init
On OCTEON the function is non-trivial and we can potentially even save
some memory.
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Acked-by: David Daney <david.daney@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9338/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit f45e388ff0f90b922b77bef959a2cfb0645cffbe
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Wed Mar 25 10:25:44 2015 -0700
MIPS: Provide fallback reboot/poweroff/halt implementations
If a machine-specific hook is not implemented for restart, poweroff,
or halt, fall back to halting secondary CPUs, disabling interrupts,
and spinning. In the case of restart, attempt to restart the system
via do_kernel_restart() (which will call any registered restart
handlers) before halting.
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9600/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit ea925a72a271f6868dddef98426b396f110da211
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Wed Mar 25 10:25:43 2015 -0700
MIPS: smp: Make stop_this_cpu() actually stop the CPU
Since cpu_wait() enables interrupts upon return, CPUs which have
entered stop_this_cpu() may still end up handling interrupts.
This can lead to the softlockup detector firing on a panic or
restart/poweroff/halt. Just disable interrupts and spin to ensure
nothing else runs on the CPU once it has entered stop_this_cpu().
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9601/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit c1bed31f9c67f7d315ba13e6eb215fb412a33514
Author: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx>
Date: Thu Dec 18 13:05:40 2014 +0100
MIPS: ath79: Increase max memory limit to 256MByte
At least QCA955x can handle up to 256MBytes.
Signed-off-by: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Gabor Juhos <juhosg@xxxxxxxxxxx>
Cc: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/8738/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 2707cd293cc2386f8eea6fee1ba72e8b190f25cc
Author: David Daney <david.daney@xxxxxxxxxx>
Date: Wed Dec 3 11:12:23 2014 -0800
MIPS: Add FPU emulator counter for emulated delay slots.
Delay slot emulation in the FPU emulator is the only kernel user of an
executable stack, it is also very slow. Add a counter so we can see
how many of these emulations are done.
Signed-off-by: David Daney <david.daney@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8634/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 7d168923a35551ed6572d02a0f159e7d61f62cfc
Author: Joshua Kinard <kumba@xxxxxxxxxx>
Date: Thu Dec 11 21:15:35 2014 -0500
MIPS: Update arch/mips/include/asm/sgi/sgi.h
Update arch/mips/include/asm/sgi/sgi.h with some updated information on
SGI
systems.
Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx>
Cc: Linux MIPS List <linux-mips@xxxxxxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/8666/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 02e47ca9bceb4f20c7e321590e17f1fb1e0cdf9b
Author: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Date: Sun Dec 21 22:14:24 2014 +0100
MIPS: pci: Drop owner assignment from platform_drivers
This platform_driver does not need to set an owner, it will be populated
by the
driver core.
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8824/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 1e294287bb5baec9a0173aff91df16e7eb68de09
Author: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Date: Sun Dec 21 22:14:23 2014 +0100
MIPS: lantiq: xway: drop owner assignment from platform_drivers
This platform_driver does not need to set an owner, it will be populated
by the
driver core.
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8823/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 94e37fc22a99ce8f4b1995e4ead1c51c27923ae3
Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx>
Date: Wed Jan 7 16:58:38 2015 +0530
MIPS: Netlogic: Add built-in dts for XLP5xx boards
Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx>
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8896/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 065d7029a83dab2c4d3947c0c8462e5c4ae5a5a6
Author: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx>
Date: Wed Jan 7 16:58:37 2015 +0530
MIPS: Netlogic: i2c IRQ mappings for XLP9XX
The new I2C block in XLP9XX has 4 interrupts, add the mapping for
these in nlm_hal.c
Signed-off-by: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx>
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8897/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit c982232a3c3627d5735fbc1be0ed9a77bf8e3de1
Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx>
Date: Wed Jan 7 16:58:36 2015 +0530
MIPS: Netlogic: Add irq mapping and setup for XHCI port 3
Add support for third XHCI port in XLPII processors.
Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx>
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8895/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 94e2b96ecea3ee2a3cbd5147fa380e05a6c4b4bc
Author: Jayachandran C <jchandra@xxxxxxxxxxxx>
Date: Wed Jan 7 16:58:35 2015 +0530
MIPS: Netlogic: Do not enable SUE for core
Enabling the SUE bit for core can can result in rare cache errors
which are difficult to track down, so do not enable it. This can
cause a minor performance loss in some tests.
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8894/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 5084e93dfeebd171e0ad02cc7ea560364a7f80b3
Author: Jayachandran C <jchandra@xxxxxxxxxxxx>
Date: Fri Jan 9 16:13:20 2015 +0530
MIPS: Netlogic: Handle XLP hardware errata
Core configuration register IFU_BRUB_RESERVE has to be setup to handle
a silicon errata which can result in a CPU hang.
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8902/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit b3b73ae62ca82744c92c1c2d49381add26d0a8bd
Author: Jayachandran C <jchandra@xxxxxxxxxxxx>
Date: Wed Jan 7 16:58:33 2015 +0530
MIPS: Netlogic: Update function to read DRAM BARs
Change name of xlp_get_dram_map to nlm_get_dram_map to be consistent
with the rest of the functions in the file. Pass the the size of the
array 'dram_map' to the function, and ensure that it does not write
past the end of the array.
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8892/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit ddba6833bbc5d0e1ed264ada2c00927c9f7cc11f
Author: Prem Mallappa <pmallapp@xxxxxxxxxxxx>
Date: Wed Jan 7 16:58:32 2015 +0530
MIPS: Netlogic: Added HugeTLB as default
Enable CPU_SUPPORTS_HUGEPAGES for XLP processors.
Signed-off-by: Prem Mallappa <pmallapp@xxxxxxxxxxxx>
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8891/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 7d1859dcf5bef2fb974c8b0617bee6b085767807
Author: Jayachandran C <jchandra@xxxxxxxxxxxx>
Date: Wed Jan 7 16:58:31 2015 +0530
MIPS: Netlogic: nlm_core_id for xlp9xx
XLP9XX has 5 bits that specify the core in the EBASE register. XLP5XX
case added as well for completeness.
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8890/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit c2736525465a5d6fe1456da8cc2bc701f9128682
Author: Jayachandran C <jchandra@xxxxxxxxxxxx>
Date: Wed Jan 7 16:58:30 2015 +0530
MIPS: Netlogic: Move cores per node out of multi-node.h
Use the current_cpu_data package field to get the node of the current CPU.
This allows us to remove xlp_cores_per_node and move
nlm_threads_per_node()
and nlm_cores_per_node() to netlogic/common.h, which simplifies code.
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8889/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 65fecc2725e5c8d5ef988d971b798b28b94e1865
Author: Jayachandran C <jchandra@xxxxxxxxxxxx>
Date: Wed Jan 7 16:58:29 2015 +0530
MIPS: Netlogic: Use MIPS topology.h
commit bda4584cd943 ("MIPS: Support CPU topology files in sysfs")
added topology related macros for all MIPS platforms and commit
bbbf6d8768f5 ("MIPS: NL: Fix nlm_xlp_defconfig build error")
removed most of the contents from mach-netlogic/topology.h.
The netlogic specific topology is not needed anymore, we just need
to setup the package field in current_cpu_data.
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8888/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 53f676977dddaa6784dab7b058cfe8895e3c8772
Author: Jayachandran C <jchandra@xxxxxxxxxxxx>
Date: Wed Jan 7 16:58:28 2015 +0530
MIPS: MSI: Update MSI handling for XLP
The per-cpu interrupt ACK using EIRR has to be done just once after
all the bits in the status register are processed.
PIC ack has to be done once in case of MSI, and for every interrupt
in case of MSI-X
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8887/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit a3613be442aaf435d7d3b224c81cea0b0f702d6a
Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx>
Date: Wed Jan 7 16:58:27 2015 +0530
MIPS: Netlogic: Fix frequency calculation register
Change the PIC frequency calculation to use the register that has the
current configuration. The existing code used the register that is
written to change frequency, which can have an invalid value if the
firmware did not set it up correctly.
Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx>
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8885/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 72e0605b4346c3b018a5926ab0b3f535ab1f9b82
Author: Jayachandran C <jchandra@xxxxxxxxxxxx>
Date: Wed Jan 7 16:58:25 2015 +0530
MIPS: Netlogic: Disable writing IRT for disabled blocks
If the device header of a block is not present, return invalid IRT
value so that we do not program an incorrect offset.
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8882/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 9bbc6c7d35e2b3370e5e447f3d165892882d35a8
Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx>
Date: Wed Jan 7 16:58:24 2015 +0530
MIPS: Netlogic: Fix cop0 prid check in AHCI init
PRID register should be masked with IMP_MASK to get processor ID.
Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx>
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8883/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 8db23f7df6be572d816f0d056fec16c954d3bdf6
Author: Qingmin Liu <qingmin@xxxxxxxxxxxx>
Date: Wed Jan 7 16:58:23 2015 +0530
MIPS: Netlogic: Fix nlm_xlp2_get_pic_frequency to use ref_div
The variable ref_div is initialized to the correct divisor but not
used in the frequency calculation. This caused incorrect frequency
to be reported when the clock divisor is not 3.
Signed-off-by: Qingmin Liu <qingmin@xxxxxxxxxxxx>
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8884/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 46ab6f24ac7b05c07e2936124b45da5f2f8fdc61
Author: Shanghui Liu <shliu@xxxxxxxxxxxx>
Date: Wed Jan 7 16:58:22 2015 +0530
MIPS: Netlogic: Fix wait for slave CPUs
For core 0, the condition of "cpu == bootcpu" is always true, so it
does not wait for other three threads to become ready. Fix this by
using correct check.
Signed-off-by: Shanghui Liu <shliu@xxxxxxxxxxxx>
Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8881/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit c775aa12307efecb00ea78265210535dc41cdd49
Author: Toma Tabacu <toma.tabacu@xxxxxxxxxx>
Date: Tue Feb 24 15:25:11 2015 +0000
MIPS: LLVMLinux: Silence variable self-assignment warnings.
Remove variable self-assignments.
This silences a bunch of -Wself-assign warnings reported by clang.
The changed code can be compiled without warnings by both gcc and clang.
Signed-off-by: Toma Tabacu <toma.tabacu@xxxxxxxxxx>
Signed-off-by: Daniel Sanders <daniel.sanders@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9314/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 20c82d93d3c284700c7749f51d4eff3eaaf3e13f
Author: Daniel Sanders <daniel.sanders@xxxxxxxxxx>
Date: Tue Feb 24 15:25:10 2015 +0000
MIPS: LLVMLinux: Fix an 'inline asm input/output type mismatch' error.
Replace incorrect matching constraint that caused the error with an
alternative
that still has the required constraints on the inline assembly.
This is the error message reported by clang:
arch/mips/include/asm/checksum.h:285:27: error: unsupported inline asm:
input with type '__be32' (aka 'unsigned int') matching output with type
'unsigned short'
"0" (htonl(len)), "1" (htonl(proto)), "r" (sum));
^~~~~~~~~~~~
The changed code can be compiled successfully by both gcc and clang.
Signed-off-by: Daniel Sanders <daniel.sanders@xxxxxxxxxx>
Signed-off-by: Toma Tabacu <toma.tabacu@xxxxxxxxxx>
Suggested-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Markos Chandras <markos.chandras@xxxxxxxxxx>
Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9313/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit e6baf0e0b6757082554b9fc217f1f036e9e4ee8f
Author: Toma Tabacu <toma.tabacu@xxxxxxxxxx>
Date: Tue Feb 24 15:25:09 2015 +0000
MIPS: LLVMLinux: Fix a 'cast to type not present in union' error.
Remove a cast to the 'mips16e_instruction' union inside an if
condition and instead do an assignment to a local
'union mips16e_instruction' variable's 'full' member before the if
statement and use this variable in the if condition.
This is the error message reported by clang:
arch/mips/kernel/branch.c:38:8: error: cast to union type from type
'unsigned short' not present in union
if (((union mips16e_instruction)inst).ri.opcode
^ ~~~~
The changed code can be compiled successfully by both gcc and clang.
Signed-off-by: Toma Tabacu <toma.tabacu@xxxxxxxxxx>
Signed-off-by: Daniel Sanders <daniel.sanders@xxxxxxxxxx>
Cc: Andreas Herrmann <andreas.herrmann@xxxxxxxxxxxxxxxxxx>
Cc: David Daney <david.daney@xxxxxxxxxx>
Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9312/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit fe92da0f355e9f664a56702c36c50e20e84c51cd
Author: Daniel Sanders <daniel.sanders@xxxxxxxxxx>
Date: Tue Feb 24 15:02:57 2015 +0000
MIPS: Changed current_thread_info() to an equivalent supported by both
clang and GCC
Without this, a 'break' instruction is executed very early in the boot and
the boot hangs.
The problem is that clang doesn't honour named registers on local
variables
and silently treats them as normal uninitialized variables. However, it
does honour them on global variables.
Signed-off-by: Daniel Sanders <daniel.sanders@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Markos Chandras <markos.chandras@xxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Cc: David Daney <ddaney.cavm@xxxxxxxxx>
Acked-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9311/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 65c6896d266616e505d1c51fdd52120e90defa80
Author: Steven J. Hill <Steven.Hill@xxxxxxxxxx>
Date: Thu Feb 26 18:16:39 2015 -0600
MIPS: XPA: Add new configuration file.
Add in new config files for enabling a XPA platform.
Signed-off-by: Steven J. Hill <Steven.Hill@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9354/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit fe2360f8f505ea8340f710f1c80a8f56462bdd62
Author: Chandrakala Chavva <cchavva@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 5 18:06:11 2015 +0300
MIPS: OCTEON: Use correct CSR to soft reset
This fixes reboot for Octeon III boards
[ralf@xxxxxxxxxxxxxx: Dropped segment for function cvmx_reset_octeon()
which was removed by the preceeding commit.]
Signed-off-by: Chandrakala Chavva <cchavva@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx>
Cc: David Daney <david.daney@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9464/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 254f0bd99d37341b96977b9fdb153874e20db449
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Wed Mar 25 11:44:09 2015 +0100
MIPS: Octeon: Remove unused function cvmx_reset_octeon().
As suggested by David Daney.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 7f481716bc90442bb19e77b53b28c59a41499300
Author: David Daney <david.daney@xxxxxxxxxx>
Date: Thu Mar 5 17:31:31 2015 +0300
MIPS: OCTEON: Use device tree to probe for flash chips.
Don't assume they are there, the device tree will tell us.
Signed-off-by: David Daney <david.daney@xxxxxxxxxx>
Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx>
Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9461/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 8c1e6b14e27d78fcea4aa6ba09e56c41f528f1cc
Author: David Daney <david.daney@xxxxxxxxxx>
Date: Thu Mar 5 17:31:30 2015 +0300
MIPS: OCTEON: Protect accesses to bootbus flash with octeon_bootbus_sem.
Without this, we get bus errors.
Signed-off-by: David Daney <david.daney@xxxxxxxxxx>
Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9460/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 24d4e7f642882a8a13da170b4ba86eec8fa91bf2
Author: David Daney <david.daney@xxxxxxxxxx>
Date: Thu Mar 5 17:31:29 2015 +0300
MIPS: OCTEON: Add semaphore to serialize bootbus accesses.
Some hardware blocks attached to the OCTEON bootbus run asynchronously
to accesses from the CPUs. These include MMC/SD host, CF(when using
DMA), and NAND controller. A bus error, or corrupt data may occur if
a CPU is trying to access a bootbus connected device at the same time
the bus is running asynchronous operations.
To work around these problems we add this semaphore that must be
acquired before initiating bootbus activity. Subsequent patches will
add users for this.
Signed-off-by: David Daney <david.daney@xxxxxxxxxx>
[aleksey.makarov@xxxxxxxxxx: combine the patches]
Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx>
Signed-off-by: Chandrakala Chavva <cchavva@xxxxxxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9459/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 8945e37e103b165f12c403cc412740718969f811
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:20 2014 -0800
MIPS: BMIPS: Add DTS files for several platforms
Most of the supported chips use legacy (non-DT) bootloaders, so they will
need to select an appropriate builtin DTB at compile time until the
bootloader is updated. Provide suitable DTS files, and a means to compile
one of them into the kernel image.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8858/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 81a07b4abe1b574605b67e01e3167be44b541980
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:19 2014 -0800
MIPS: BMIPS: Update DT bindings to reflect new SoC support
Add an entry for each supported Broadcom SoC.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8857/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit cd586ebc324d7514ca1129f5847fbf83b0a59b60
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:18 2014 -0800
MIPS: BMIPS: Refresh BCM3384 DTS files
The DT bindings for this platform have changed as the bootloader and
product requirements evolved. In particular, there are both
Linux-on-Zephyr and Linux-on-Viper configurations.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8856/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 60b858f225256a574d33e7321246ae501b7d8693
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:17 2014 -0800
MIPS: BMIPS: Enable additional peripheral and CPU support in defconfig
Also, add an LE defconfig for set-top box (BCM7xxx). This will allow the
BMIPS kernel to run on several non-BCM3384 platforms.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8855/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 66cc8ff3eb150850cd9230e3aae6c73dee93b06b
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:16 2014 -0800
MIPS: BMIPS: Use a non-default FIXADDR_TOP setting
This will be required to support BMIPS3300 platforms.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8854/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit e5a6fcc05831b269be35ec266639d901b43cba78
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:15 2014 -0800
MIPS: BMIPS: Delete the irqchip driver from irq.c
BCM3384/BCM63xx can use the common drivers/irqchip/irq-bcm7120-l2.c for
this purpose; BCM7xxx will use drivers/irqchip/irq-bcm7038-l1.c. We no
longer need this code under arch/mips.
[ralf@xxxxxxxxxxxxxx: Fix conflicts.]
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8853/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 4b049a6b275db68c2c028937b89abd732dcdf536
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:14 2014 -0800
MIPS: BMIPS: Add quirks for several Broadcom platforms
A couple of chips require special handling in order to make SMP secondary
boot and/or exception vectors work correctly. Take care of these in
setup.c.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8852/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit c4b257091745170183e73d476906cabaf7edd540
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:13 2014 -0800
MIPS: BMIPS: Remove bogus bus name
There is no "bcm3384" bus so let's just remove it to avoid confusion.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8851/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 1ada656f67b0ada37309199997b9e4da9411ef7c
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:12 2014 -0800
MIPS: BMIPS: Rewrite DMA code to use "dma-ranges" property
This is a more standardized way of handling DMA remapping, and it is
suitable for the memory map found on BCM3384.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8850/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 9c24ce29b2b8c60d4bcca90c0a4da54b28f0b4e7
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:11 2014 -0800
MIPS: BMIPS: Document the firmware->kernel DTB interface
Add a new section covering the Generic BMIPS machine type.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8849/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 5432eeb6fa5a43ec223ea7b5e06212ce422c9462
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:09 2014 -0800
MIPS: Reorder MIPS_L1_CACHE_SHIFT priorities
Enabling support for more than one BMIPS CPU in the same build may
result in different L1_CACHE_SHIFT values, e.g.
CPU_BMIPS5000 selects MIPS_L1_CACHE_SHIFT_7
CPU_BMIPS4380 selects MIPS_L1_CACHE_SHIFT_6
anything else defaults to MIPS_L1_CACHE_SHIFT_5
Ensure that if more than one MIPS_L1_CACHE_SHIFT_x option is selected,
Kconfig sets CONFIG_MIPS_L1_CACHE_SHIFT to the highest value.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8847/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 9127dc478cd6c3bae3f20df78ea932528cd6b092
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:07 2014 -0800
MIPS: Let __dt_register_buses accept a single bus type
Some machines only have one bus type to register (e.g. "simple-bus").
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8845/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 5f7f0317ed28b86bdae9baf65bb72d405b6f79ee
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:06 2014 -0800
IRQCHIP: Add new driver for BCM7038-style level 1 interrupt controllers
This is the main peripheral IRQ controller on the BCM7xxx MIPS chips;
it has the following characteristics:
- 64 to 160+ level IRQs
- Atomic set/clear registers
- Reasonably predictable register layout (N status words, then N
mask status words, then N mask set words, then N mask clear words)
- SMP affinity supported on most systems
- Typically connected to MIPS IRQ 2,3,2,3 on CPUs 0,1,2,3
This driver registers one IRQ domain and one IRQ chip to cover all
instances of the block. Up to 4 instances of the block may appear, as
it supports 4-way IRQ affinity on BCM7435.
The same block exists on the ARM BCM7xxx chips, but typically the ARM GIC
is used instead. So this driver is primarily intended for MIPS STB chips.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8844/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 7b7230e70e9eda75356cf15c450b65b77924486f
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:05 2014 -0800
IRQCHIP: bcm7120-l2: Add support for BCM3380-style controllers
These controllers support multiple enable/status pairs (64+ IRQs),
can put the enable/status words at different offsets, and do not
support multiple parent IRQs.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8843/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit ca40f1b23df70c6f31b14a5743a6f3b60e862ce1
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:04 2014 -0800
IRQCHIP: bcm7120-l2: Split STB-specific logic into its own function
The BCM7xxx instances of this block (listed in the register manual as
simply "IRQ0") all have the following items in common:
- brcm,int-map-mask: for routing different bits in the L2 to different
parent IRQs
- brcm,int-fwd-mask: for hardwiring certain IRQs to bypass the L2 and
use dedicated L1 lines
- one enable/status pair (32 bits only)
Much of the driver code can be shared with BCM3380-style controllers, but
in order to do this cleanly, let's split out the BCM7xxx-specific logic
first.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8842/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 5b5468cf1fe9d16e568b45685b31dd4c72588778
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:03 2014 -0800
IRQCHIP: bcm7120-l2: Refactor driver for arbitrary IRQEN/IRQSTAT offsets
Currently the driver assumes that REG_BASE+0x00 is the IRQ enable mask,
and REG_BASE+0x04 is the IRQ status mask. This is true on BCM3384 and
BCM7xxx, but it is not true for some of the controllers found on BCM63xx
chips. So we will change a couple of key assumptions:
- Don't assume that both the IRQEN and IRQSTAT registers will be
covered by a single ioremap() operation.
- Don't assume any particular ordering (IRQSTAT might show up before
IRQEN on some chips).
- For an L2 controller with >=64 IRQs, don't assume that every
IRQEN/IRQSTAT pair will use the same register spacing.
This patch changes the "plumbing" but doesn't yet provide a way for users
to instantiate a controller with arbitrary IRQEN/IRQSTAT offsets.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8841/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit c9ae71e0f78fb72eedd674c788415cdf1eb34195
Author: Brian Norris <computersforpeace@xxxxxxxxx>
Date: Thu Dec 25 09:49:02 2014 -0800
IRQCHIP: brcmstb-l2: don't clear wakeable interrupts at init time
Wakeable interrupts might be pending at boot/init time, because wakeup
interrupts might have triggered a resume from S5. So don't clear such
wakeups.
This means that any driver which requests a wakeable interrupt bit
should be prepared to handle an interrupt as soon as they call
request_irq(). (This is technically already the correct development
practice, but some drivers probably expect not to receive interrupts
until they have performed some I/O.)
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8840/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 7e229fa07da10ee3dc3f88989b515293758c42eb
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:01 2014 -0800
IRQCHIP: Update docs regarding irq_domain_add_tree()
Several drivers now use this API, including the ARM GIC driver, so remove
the outdated comment.
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8839/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 5f2d44591fb374ae346a3df682d722b68552adc2
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Thu Dec 25 09:49:00 2014 -0800
MIPS: bcm3384: Rename "bcm3384" target to "bmips"
This platform is configured primarily through device tree, and we can
reuse the same code to support a bunch of other chips. Change the name
to reflect this.
[ralf@xxxxxxxxxxxxxx: Fix conflicts with other patches.]
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: abrestic@xxxxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8838/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit eb2236ea580bb21c954c889cc3dc05b3e98238cd
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Thu Dec 25 09:48:58 2014 -0800
MIPS: Add dtbs_install target
Add the dtbs_install Makefile target to install the dtb files into
$INSTALL_DTBS_PATH.
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Tested-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8836/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 8c0b9ee8665c43ee370108930ff51cab9a545c1c
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Thu Dec 25 09:48:57 2014 -0800
MIPS: Move device-trees into vendor sub-directories
Move the MIPS device-trees into the appropriate vendor sub-directories.
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Tested-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: f.fainelli@xxxxxxxxx
Cc: jaedon.shin@xxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: jogo@xxxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: computersforpeace@xxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/8835/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit ec9ddad3c6a5789373e4f67009a0dea276febc47
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:35 2015 -0800
MIPS: Add support for fine granularity task level IRQ time accounting
With sched_clock being ready, it makes sense to add the option of IRQ time
accounting -- When we have a fast enough sched_clock, IRQ time accounting
will be enabled (see sched_clock_register).
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: macro@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9489/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 262f1c92912fcf4150cafb1b1e78a2e4e646d008
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:34 2015 -0800
MIPS: csrc-sb1250: Implement read_sched_clock
Use sb1250 hpt for sched_clock source. This implementation will give high
resolution cputime accounting.
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: macro@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9488/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 0dc886aba2c170118da8986c8ec73cc9902f7340
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:33 2015 -0800
MIPS: csrc-sb1250: Remove FSF mail address from GPL notice
This is to make checkpatch.pl happy for the next patch. It would otherwise
say --
ERROR: Do not include the paragraph about writing to the Free Software
Foundation's mailing address from the sample GPL notice. The FSF has
changed addresses in the past, and may do so again. Linux already includes
a copy of the GPL.
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: macro@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9487/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 02710fc8512f77597e9fa68d2d00000107b84242
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:32 2015 -0800
MIPS: csrc-sb1250: Extract hpt cycle acquisition from sb1250_hpt_read
This is to prepare for the upcoming read_sched_clock implementation, which
will also need to get cycles from the high precision timer.
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: macro@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9486/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 944081ac53c38f7f2b86165553bf9d4aa9fd5d97
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:31 2015 -0800
MIPS: jz4740: Implement read_sched_clock
Use jz4740 timer counter for sched_clock source. This implementation will
give high resolution cputime accounting.
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: macro@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9485/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit a6071af914caec91d97d9db42a1bb0e9d6ad6890
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:30 2015 -0800
MIPS: cevt-txx9: Implement read_sched_clock
Use txx9 up-counter for sched_clock source. This implementation will give
high resolution cputime accounting.
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: macro@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9484/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit c41cef36530a4b4afa79981e8f1a31f49b871a90
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:29 2015 -0800
MIPS: sgi-ip27: Implement read_sched_clock
Use ip27 hub real time counter for sched_clock source. This implementation
will give high resolution cputime accounting.
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: macro@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9483/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 7cb24b700349f4287f4104bb9f3266d7f383d4cc
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:28 2015 -0800
MIPS: csrc-ioasic: Implement read_sched_clock
Use DEC I/O ASIC's free-running counter for sched_clock source. This
implementation will give high resolution cputime accounting.
Acked-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: macro@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9482/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 317adb12e5417167162bf7f8a3265c06ae9ef216
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:27 2015 -0800
MIPS: csrc-ioasic: Remove FSF mail address from GPL notice
This is to make checkpatch.pl happy for the next patch. It would otherwise
say --
ERROR: Do not include the paragraph about writing to the Free Software
Foundation's mailing address from the sample GPL notice. The FSF has
changed addresses in the past, and may do so again. Linux already includes
a copy of the GPL.
Acked-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: macro@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9481/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 27acdea8fefeb6bec6f5af771df233c83aeac683
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:26 2015 -0800
MIPS: csrc-bcm1480: Implement read_sched_clock
Use the ZBbus cycle counter for sched_clock source. This implementation
will give high resolution cputime accounting.
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: macro@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9480/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 788049e2d523e64fa48a9a4bce99ed93a8dc943a
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:25 2015 -0800
MIPS: csrc-bcm1480: Remove FSF mail address from GPL notice
This is to make checkpatch.pl happy for the next patch. It would otherwise
say --
ERROR: Do not include the paragraph about writing to the Free Software
Foundation's mailing address from the sample GPL notice. The FSF has
changed addresses in the past, and may do so again. Linux already includes
a copy of the GPL.
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: macro@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9479/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit e9cef549c34603cd312cf536d8b624243a7963d4
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:24 2015 -0800
MIPS: csrc-r4k: Implement read_sched_clock
Use c0 count register for sched_clock source. This implementation will
give
high resolution cputime accounting.
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: macro@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9478/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 929de4cc9719398f3a7246854b6c254070e18b0a
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:23 2015 -0800
MIPS: Add sched_clock support
This will provide sched_clock interface to implement individual
read_sched_clock(). Not for CAVIUM_OCTEON_SOC as it defines its own
sched_clock() directly (not using the sched_clock_register interface).
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: macro@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9477/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit ff37015b6d8078eed8641fa7602e09fee7db761a
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:22 2015 -0800
CLOCKSOURCE: versatile: Add PLAT_VERSATILE dependency
GENERIC_SCHED_CLOCK can be selected by architectures other than ARM. The
current dependencies of CLKSRC_VERSATILE make it possible that other
architectures will have CLKSRC_VERSATILE available in configuration once
they select GENERIC_SCHED_CLOCK, whereas this clock source should be
solely
available to ARM in reality.
This patch adds one more dependency to CLKSRC_VERSATILE to fix the issue.
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Reported-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9476/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit bb877e96bea1f411106bdc639ce6858095775c3a
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:21 2015 -0800
MIPS: Add support for full dynticks CPU time accounting
With the correct cmpxchg64 on 32-bit platforms, we can now add the config
HAVE_VIRT_CPU_ACCOUNTING_GEN into arch/mips/Kconfig.
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: macro@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9475/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit e2093c7b03c116238dd8e36bdbe03fff97e1cae9
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:20 2015 -0800
MIPS: Fall back to generic implementation of cmpxchg64 on 32-bit platforms
This is in preparation of adding HAVE_VIRT_CPU_ACCOUNTING_GEN support in
the next patch.
Without having cmpxchg64 to use the generic implementation, kernel linking
will complain:
kernel/built-in.o: In function `cputime_adjust':
cputime.c:(.text+0x33748): undefined reference to
`__cmpxchg_called_with_bad_pointer'
cputime.c:(.text+0x33810): undefined reference to
`__cmpxchg_called_with_bad_pointer'
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: macro@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9474/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 96685b17108b4dbbbaea06307c3fcdb32eb152d0
Author: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Date: Sat Mar 7 10:30:19 2015 -0800
MIPS: Add SCHED_HRTICK support
We have HIGH_RES_TIMERS to support SCHED_HRTICK. But SCHED_HRTICK is in
kernel/Kconfig.hz where HZ values unsuitable for MIPS are defined. So we
simply add this config in arch/mips/Kconfig as opposed to including the
whole kernel/Kconfig.hz.
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: macro@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9473/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 73569d87e2cc5fdc0010e612a3c94f919228e301
Author: David Daney <david.daney@xxxxxxxxxx>
Date: Fri Mar 20 19:11:58 2015 +0300
MIPS: OCTEON: Enable little endian kernel.
Now it is supported, so let people select it.
[ralf@xxxxxxxxxxxxxx: Folded in fix for bogus CONFIG_ kconfig symbol
prefix. Issue reported by Valentin Rothberg
<valentinrothberg@xxxxxxxxx>.]
Signed-off-by: David Daney <david.daney@xxxxxxxxxx>
Signed-off-by: Leonid Rosenboim <lrosenboim@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9592/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit e7916357e7d037594ca356221b8595754bec1a8a
Author: David Daney <david.daney@xxxxxxxxxx>
Date: Fri Mar 20 19:11:57 2015 +0300
MIPS: OCTEON: Add mach-cavium-octeon/mangle-port.h
Needed for little-endian ioport access.
This fixes NOR flash in little-endian mode
Signed-off-by: David Daney <david.daney@xxxxxxxxxx>
Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9591/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 534c158ea64b8977c7971a0a609018ab48c5c055
Author: David Daney <david.daney@xxxxxxxxxx>
Date: Fri Mar 20 19:11:56 2015 +0300
MIPS: Octeon: Handle bootloader structures in little-endian mode.
Compensate for the differences in the layout of in-memory bootloader
information as seen from little-endian mode.
Signed-off-by: David Daney <david.daney@xxxxxxxxxx>
Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9590/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 4c1eaa2344fb26bb5e936fb4d8ee307343ea0089
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Wed Apr 1 09:12:19 2015 +0200
drivers/block/pmem: Fix 32-bit build warning in pmem_alloc()
Fix:
drivers/block/pmem.c: In function â??pmem_allocâ??:
drivers/block/pmem.c:138:7: warning: format â??%llxâ?? expects argument
of type â??long long unsigned intâ??, but argument 3 has type â??phys_addr_tâ??
[-Wformat=]
By using the proper %pa format specifier we use for 'phys_addr_t'
arguments.
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Dan Williams <dan.j.williams@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Jens Axboe <axboe@xxxxxx>
Cc: Jens Axboe <axboe@xxxxxxxxx>
Cc: Keith Busch <keith.busch@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>
Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: linux-nvdimm@xxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 9e853f2313e5eb163cb1ea461b23c2332cf6438a
Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>
Date: Wed Apr 1 09:12:19 2015 +0200
drivers/block/pmem: Add a driver for persistent memory
PMEM is a new driver that presents a reserved range of memory as
a block device. This is useful for developing with NV-DIMMs,
and can be used with volatile memory as a development platform.
This patch contains the initial driver from Ross Zwisler, with
various changes: converted it to use a platform_device for
discovery, fixed partition support and merged various patches
from Boaz Harrosh.
Tested-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>
Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Jens Axboe <axboe@xxxxxx>
Cc: Jens Axboe <axboe@xxxxxxxxx>
Cc: Keith Busch <keith.busch@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: linux-nvdimm@xxxxxxxxxxx
Link: http://lkml.kernel.org/r/1427872339-6688-3-git-send-email-hch@xxxxxx
[ Minor cleanups. ]
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit bfd4e9562c8769feadba9b5262200448656b8048
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Wed Apr 1 16:03:46 2015 +0100
AFS: afs_send_empty_reply() doesn't require an iovec array
afs_send_empty_reply() doesn't require an iovec array with which to
initialise
the msghdr, but can pass NULL instead.
Suggested-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
commit ec776ef6bbe1734c29cd6bd05219cd93b2731bd4
Author: Christoph Hellwig <hch@xxxxxx>
Date: Wed Apr 1 09:12:18 2015 +0200
x86/mm: Add support for the non-standard protected e820 type
Various recent BIOSes support NVDIMMs or ADR using a
non-standard e820 memory type, and Intel supplied reference
Linux code using this type to various vendors.
Wire this e820 table type up to export platform devices for the
pmem driver so that we can use it in Linux.
Based on earlier work from:
Dave Jiang <dave.jiang@xxxxxxxxx>
Dan Williams <dan.j.williams@xxxxxxxxx>
Includes fixes for NUMA regions from Boaz Harrosh.
Tested-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Jens Axboe <axboe@xxxxxx>
Cc: Jens Axboe <axboe@xxxxxxxxx>
Cc: Keith Busch <keith.busch@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: linux-nvdimm@xxxxxxxxxxx
Link: http://lkml.kernel.org/r/1427872339-6688-2-git-send-email-hch@xxxxxx
[ Minor cleanups. ]
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 382d7974de31ef5e64dceee0d9cada3d3864b767
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Wed Apr 1 15:43:26 2015 +0100
RxRPC: Use iov_iter_count() in rxrpc_send_data() instead of the len
argument
Use iov_iter_count() in rxrpc_send_data() to get the remaining data length
instead of using the len argument as the len argument is now redundant.
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
commit aab94830a7fdf17aac07fea54d4cb43b0ad001b8
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Wed Apr 1 15:48:00 2015 +0100
RxRPC: Don't call skb_add_data() if there's no data to copy
Don't call skb_add_data() in rxrpc_send_data() if there's no data to copy
and
also skip the calculations associated with it in such a case.
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
commit 64a31be39b8c0c0b0a00cf46a3e10a90dc336a0e
Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx>
Date: Tue Mar 31 09:30:55 2015 -0700
crypto: qat - fix checkpatch CODE_INDENT issue
ERROR:CODE_INDENT: code indent should use tabs where possible
Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 724c76ce30aeb7699561f7dd4c8bd63d30f65938
Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx>
Date: Tue Mar 31 09:30:50 2015 -0700
crypto: qat - fix checkpatch COMPARISON_TO_NULL issue
CHECK:COMPARISON_TO_NULL: Comparison to NULL could be written
"!device_reset_wq"
Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit af6f2a7bb56cfb9face2155c6c823a3b5a7cb1ab
Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx>
Date: Tue Mar 31 09:30:45 2015 -0700
crypto: qat - fix checkpatch BIT_MACRO issues
CHECK:BIT_MACRO: Prefer using the BIT macro
Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit f7b3c2d34f9e2d02254d550b557ddf7c76ab8057
Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx>
Date: Tue Mar 31 09:30:40 2015 -0700
crypto: qat - fix checkpatch CONCATENATED_STRING issues
CHECK:CONCATENATED_STRING: Concatenated strings should use spaces between
elements
Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit b21582dfd5865fe83b690153eed9622981834598
Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx>
Date: Tue Mar 31 09:30:35 2015 -0700
crypto: qat - checkpatch PARENTHESIS_ALIGNMENT and LOGICAL_CONTINUATIONS
Cleanup code to fix the subject checkpatch warnings
Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 304989fe59eb8edb4bf015cd6ebfd4f4a857c3b0
Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx>
Date: Tue Mar 31 09:30:29 2015 -0700
crypto: qat - fix checkpatch CHECK_SPACING issues
Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 754a90d3f38979677490994189bf371ec2dd118d
Author: Allan, Bruce W <bruce.w.allan@xxxxxxxxx>
Date: Tue Mar 31 09:30:24 2015 -0700
crypto: qat - fix typo
adt_ctl_drv should be adf_ctl_drv
Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 6d7e7e02a044025237b6f62a20521170b794537f
Author: Vutla, Lokesh <lokeshvutla@xxxxxx>
Date: Tue Mar 31 09:52:25 2015 +0530
crypto: omap-aes - Fix support for unequal lengths
For cases where total length of an input SGs is not same as
length of the input data for encryption, omap-aes driver
crashes. This happens in the case when IPsec is trying to use
omap-aes driver.
To avoid this, we copy all the pages from the input SG list
into a contiguous buffer and prepare a single element SG list
for this buffer with length as the total bytes to crypt, which is
similar thing that is done in case of unaligned lengths.
Fixes: 6242332ff2f3 ("crypto: omap-aes - Add support for cases of
unaligned lengths")
Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit b0a3d8986a768c8b6a95ea6dd36e975bb3a44c44
Author: Vutla, Lokesh <lokeshvutla@xxxxxx>
Date: Tue Mar 31 09:52:24 2015 +0530
crypto: omap-sham - Use pm_runtime_irq_safe()
omap_sham_handle_queue() can be called as part of done_task tasklet.
During this its atomic and any calls to pm functions cannot sleep.
But there is a call to pm_runtime_get_sync() (which can sleep) in
omap_sham_handle_queue(), because of which the following appears:
" [ 116.169969] BUG: scheduling while atomic:
kworker/0:2/2676/0x00000100"
Add pm_runtime_irq_safe() to avoid this.
Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 84a87c628a12f95d8b0c86cc7b8edb28ea5edf90
Merge: e42391c a643375
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Wed Apr 1 15:10:25 2015 +0200
Merge tag 'efi-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into core/efi
Pull EFI updates from Matt Fleming:
- Fixes and cleanups for SMBIOS 3.0 DMI code. (Ivan Khoronzhuk)
- A new efi=debug command line option that enables debug output in the
EFI boot stub and results in less verbose EFI memory map output by
default. (Borislav Petkov)
- Disable interrupts around EFI calls and use a more standard page
table saving and restoring idiom when making EFI calls. (Ingo Molnar)
- Reduce the number of memory allocations performed when allocating the
FDT in EFI boot stub by retrieving size from the FDT header in the
EFI config table. (Ard Biesheuvel)
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 3af6878ecad229346fbc2c8f2663089aa6aef20d
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Wed Apr 1 14:06:00 2015 +0100
RxRPC: Fix the conversion to iov_iter
This commit:
commit af2b040e470b470bfc881981db3c796072853eae
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Thu Nov 27 21:44:24 2014 -0500
Subject: rxrpc: switch rxrpc_send_data() to iov_iter primitives
incorrectly changes a do-while loop into a while loop in
rxrpc_send_data().
Unfortunately, at least one pass through the loop is required - even if
there is no data - so that the packet the closes the send phase can be
sent if MSG_MORE is not set.
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
commit 3adc12e9648291149a1e3f354d0ad158fc2571e7
Author: Jan Kara <jack@xxxxxxx>
Date: Tue Mar 24 16:47:25 2015 -0400
udf: Update ctime and mtime when directory is modified
We failed to update ctime & mtime of a directory when new entry was
created in it during rename, link, create, etc. Fix that.
Reported-by: Taesoo Kim <tsgatesv@xxxxxxxxx>
Signed-off-by: Jan Kara <jack@xxxxxxx>
commit 7270d11c56f594af4d166b2988421cd8ed933dc1
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Wed Mar 25 13:11:52 2015 +0100
arm/bL_switcher: Kill tick suspend hackery
Use the new tick_suspend/resume_local() and get rid of the
homebrewn implementation of these in the ARM bL switcher. The
check for the cpumask is completely pointless. There is no harm
to suspend a per cpu tick device unconditionally. If that's a
real issue then we fix it proper at the core level and not with
some completely undocumented hacks in some random core code.
Move the tick internals to the core code, now that this nuisance
is gone.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
[ rjw: Rebase, changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1655112.Ws17YsMfN7@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit f46481d0a7cb942b84145acb80ad43bdb1ff8eb4
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Wed Mar 25 13:11:04 2015 +0100
tick/xen: Provide and use tick_suspend_local() and tick_resume_local()
Xen calls on every cpu into tick_resume() which is just wrong.
tick_resume() is for the syscore global suspend/resume
invocation. What XEN really wants is a per cpu local resume
function.
Provide a tick_resume_local() function and use it in XEN.
Also provide a complementary tick_suspend_local() and modify
tick_unfreeze() and tick_freeze(), respectively, to use the
new local tick resume/suspend functions.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
[ Combined two patches, rebased, modified subject/changelog. ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Cc: David Vrabel <david.vrabel@xxxxxxxxxx>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1698741.eezk9tnXtG@xxxxxxxxxxxxxx
[ Merged to latest timers/core. ]
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 080873ce2d1abd8c0a2b8c87bfa0762546a6b713
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Wed Mar 25 13:09:55 2015 +0100
tick: Make tick_resume_broadcast_oneshot() static
Solely used in tick-broadcast.c and the return value is
hardcoded 0. Make it static and void.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1689058.QkHYDJSRKu@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 4ffee521f36390c7720d493591b764ca35c8030b
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Wed Mar 25 13:09:16 2015 +0100
clockevents: Make suspend/resume calls explicit
clockevents_notify() is a leftover from the early design of the
clockevents facility. It's really not a notification mechanism,
it's a multiplex call.
We are way better off to have explicit calls instead of this
monstrosity. Split out the suspend/resume() calls and invoke
them directly from the call sites.
No locking required at this point because these calls happen
with interrupts disabled and a single cpu online.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
[ Rebased on top of 4.0-rc5. ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/713674030.jVm1qaHuPf@xxxxxxxxxxxxxx
[ Rebased on top of latest timers/core. ]
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit db6f672ef11d7a3c5aa128a3c3e57c92580a25f7
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Wed Mar 25 13:08:27 2015 +0100
clockevents: Remove extra local_irq_save() in
clockevents_exchange_device()
Called with 'clockevents_lock' held and interrupts disabled
already.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/51005827.yXt5tjZMBs@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit c1797baf6880174f899ce3960d0598f5bbeeb7ff
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Wed Mar 25 13:07:37 2015 +0100
tick: Move core only declarations and functions to core
No point to expose everything to the world. People just believe
such functions can be abused for whatever purposes. Sigh.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
[ Rebased on top of 4.0-rc5 ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Nicolas Pitre <nico@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/28017337.VbCUc39Gme@xxxxxxxxxxxxxx
[ Merged to latest timers/core ]
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit b7475eb599ddb2e8cab2dc86ff38a9507463ad6b
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Wed Mar 25 13:06:47 2015 +0100
tick: Simplify tick-internal.h
tick-internal.h is pretty confusing as a lot of the stub inlines
are there several times.
Distangle the maze and make clear functional sections.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
[ rjw: Subject ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/16068264.vcNp79HLaT@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit bfb83b27519aa7ed9510f601a8f825a2c1484bc2
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Wed Mar 25 13:06:04 2015 +0100
tick: Move clocksource related stuff to timekeeping.h
Move clocksource related stuff to timekeeping.h and remove the
pointless include from ntp.c
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
[ rjw: Subject ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/2714218.nM5AEfAHj0@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 9f083b74df3a7eaa100b456f2dc195512daf728e
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Date: Wed Mar 25 13:05:19 2015 +0100
clockevents: Remove CONFIG_GENERIC_CLOCKEVENTS_BUILD
This option was for simpler migration to the clock events code.
Most architectures have been converted and the option has been
disfunctional as a standalone option for quite some time. Remove
it.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/5021859.jl9OC1medj@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 8b86ed078a65433a60ff59091a136d23724bd6d3
Author: Keith Packard <keithp@xxxxxxxxxx>
Date: Thu Mar 26 16:49:38 2015 -0700
usb: Fix warnings in chaoskey driver
> drivers/usb/misc/chaoskey.c: In function 'chaoskey_read':
> >> drivers/usb/misc/chaoskey.c:412:3: error: implicit declaration of
function 'copy_to_user'
> >> [-Werror=implicit-function-declaration]
> remain = copy_to_user(buffer, dev->buf + dev->used, this_time);
I was unable to reproduce this locally, but added an explicit
#include <linux/uaccess.h>
which should ensure the definition on all architectures.
> sparse warnings: (new ones prefixed by >>)
>
> >> drivers/usb/misc/chaoskey.c:117:30: sparse: incorrect type in
assignment (different base types)
> drivers/usb/misc/chaoskey.c:117:30: expected int [signed] size
> drivers/usb/misc/chaoskey.c:117:30: got restricted __le16
[usertype] wMaxPacketSize
Switched the code to using the USB descriptor accessor functions.
Signed-off-by: Keith Packard <keithp@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 86d39839bc6bccc9b6b89de8c9c38beb9709f559
Merge: 911a888 66bee35
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 13:51:59 2015 +0200
Merge tag 'extcon-next-for-4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-next
Chanwoo writes:
Update extcon for v4.1
This patchset include two new extcon driver and fix minor issue of extcon
driver.
Detailed description for patchset:
1. new extcon-max77843.c and extcon-usb-gpio.c extcon driver
- extcon-max77843.c driver support the MAXIM MAX77843 MUIC (Micor-USB
Interface
Controller) device which handles the various external connectors such as
TA/USB
/USB-HOST/JIG and so on.
- extcon-usb-gpio.c driver support the USB and USB-HOST cable detection by
using the GPIO pin which is connected to USB ID pin. This GPIO pin
updates the
USB cable states.
2. Rename the filename of extcon core driver and add missing locking
mechanism
- Rename the previous extcon-class driver.c as extcon.c because '-class'
postfix is not necessary word.
- extcon core driver (extcon.c) used the raw_notifier_chain. It must be
protected by locking mechanism to avoid the list changing while
extcon_update_state() is executed.
3. Fix minor issue of extcon drviers
- Fix cable name by using the capital letter instead of small letter on
extcon-max77693.c driver.
- Clean-up code of extcon-arizona.c to detect headphone cable.
- Fix the wrong return type and variable type on extcon-max77843.c.
- Fix the checkpatch warning of all extcon drivers.
commit dce5bdfe8fc1e3b49fa6fcf21e07bb12360e1b98
Merge: 3d8bbe2 4ce7ca8
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 13:51:02 2015 +0200
Merge tag 'iio-fixes-for-4.0d' of
git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus
Jonathan writes:
IIO fixes for 4.0 set 4
A couple more IIO fixes.
* Fix check for HAS_IOMEM in the cc100001_adc driver to avoid build
errors.
Rather curiously it was ORed with Regulator and clock support.
* vf610 driver was trying to use an ADC clock outside the possible
spec on some boards. The driver assumed a fixed clock speed previously
across all boards, but that is not true. This fix ensures that the
reported frequency is correct on all boards.
* The adis imu common code directly set the current trigger to the
driver supplied one. Unfortunately this didn't increase the use count
leading to a double free via a particular path of changing the trigger
then removing the driver.
commit a643375f4b175569bc3c03c7a3e758f845c1ccd9
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Wed Mar 4 13:02:29 2015 +0100
efi/libstub: Retrieve FDT size when loaded from UEFI config table
When allocating memory for the copy of the FDT that the stub
modifies and passes to the kernel, it uses the current size as
an estimate of how much memory to allocate, and increases it page
by page if it turns out to be too small. However, when loading
the FDT from a UEFI configuration table, the estimated size is
left at its default value of zero, and the allocation loop runs
starting from zero all the way up to the allocation size that
finally fits the updated FDT.
Instead, retrieve the size of the FDT from the FDT header when
loading it from the UEFI config table.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Reviewed-by: Roy Franz <roy.franz@xxxxxxxxxx>
Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx>
commit 744937b0b12a669f298949c4a810794c59fead98
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Tue Mar 3 07:48:50 2015 +0100
efi: Clean up the efi_call_phys_[prolog|epilog]() save/restore interaction
Currently x86-64 efi_call_phys_prolog() saves into a global variable
(save_pgd),
and efi_call_phys_epilog() restores the kernel pagetables from that global
variable.
Change this to a cleaner save/restore pattern where the saving function
returns
the saved object and the restore function restores that.
Apply the same concept to the 32-bit code as well.
Plus this approach, as an added bonus, allows us to express the
!efi_enabled(EFI_OLD_MEMMAP) situation in a clean fashion as well,
via a 'NULL' return value.
Cc: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx>
commit 23a0d4e8fa6d3a1d7fb819f79bcc0a3739c30ba9
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Tue Mar 3 07:34:33 2015 +0100
efi: Disable interrupts around EFI calls, not in the epilog/prolog calls
Tapasweni Pathak reported that we do a kmalloc() in efi_call_phys_prolog()
on x86-64 while having interrupts disabled, which is a big no-no, as
kmalloc() can sleep.
Solve this by removing the irq disabling from the prolog/epilog calls
around EFI calls: it's unnecessary, as in this stage we are single
threaded in the boot thread, and we don't ever execute this from
interrupt contexts.
Reported-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx>
commit fed6cefe3b6e862dcc74d07324478caa07e84eaf
Author: Borislav Petkov <bp@xxxxxxx>
Date: Thu Feb 5 11:44:41 2015 +0100
x86/efi: Add a "debug" option to the efi= cmdline
... and hide the memory regions dump behind it. Make it default-off.
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Link: http://lkml.kernel.org/r/20141209095843.GA3990@xxxxxxx
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Dave Young <dyoung@xxxxxxxxxx>
Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx>
commit 675732707f29d6714bc756a75e70a6ec2b16a478
Merge: f8da055 e0631a3
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 13:43:39 2015 +0200
Merge tag 'iio-for-4.1b' of
git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Jonathan writes:
Second set of new devices, functionality and cleanup for IIO in the 4.1
cycle.
New Functionality
* Watermark logic for buffers. Allows for blocking reads to block until
their requested amount is available - previously they only blocked until
a single scan of data was available. Also allows for polling for a
watermark amount of data to be available. This feature was first
proposed
some time ago to good responses, but not taken further by the original
author
Octavian has picked up the gauntlet and taken it through
to merging (along with the hardware fifo support that follows).
* New approach to hardware fifo handling - in particular handling the
interaction of a hardware fifo feeding into a software fifo and their
watershed events. We don't have every possible case well covered yet,
but this is certainly a good, flexible starting point. This will
replace
the previous approach used in ancient drivers (sca3000) where we just
exposed the hardware buffer directly to userspace. Very few pieces of
hardware have sufficiently long buffers for that to be an adequate
solution.
* bmc150_accel - hardware fifo support.
* mlx90614 - support dual IR sensor devices + some refactoring to clean
up the
code and allow some other functionality currently under review.
* L3GD20H gyroscope support added to the st_gyro driver.
* lis3lv02d accelerometer added to the st_gyro driver. Note this part is
also supported by the older lis3 driver under misc. A lengthy
discussion
took place and concluded that holding parts out on the basis that whole
driver would be subsumed into this one was counter productive. Better
to add part support and add additional features as people need them.
Basically there was not advantage in not merging the support.
* max517 driver gains support for MAX520 and MAX521 DACs.
Documentation
* 3.20 -> 4.0 renaming for recent docs. Whilst technically a fix, I think
people will cope until the next merge merge window.
* An ABI typo hat -> What: More ABIs should have hats.
* Document in_rot_offset, illuminance_raw and illuminance_scale.
Cleanups
* Fix a scale extraction bug in generic_buffer.c example.
* Constify a load of device tree related structures.
commit d3a3d28f1c7eaec42bdc26aab2dc53bc602887a4
Merge: baf7a6c b229a0f
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Wed Apr 1 13:42:58 2015 +0200
Merge tag 'usb-serial-4.0-rc6' of
git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus
Johan writes:
USB-serial fixes for v4.0-rc6
Here are a few new device IDs.
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
commit a6de5a21fb25cdbbdf3c3e9afd8481581c4f2464
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Tue Mar 31 19:00:11 2015 +0200
x86/asm/entry/64: Use local label to skip around sycall dispatch
Logically, we just want to jump around the following instruction
and its prologue/epilogue:
call *sys_call_table(,%rax,8)
if the syscall number is too big - we do not specifically target
the "int_ret_from_sys_call" label.
Use a local, numerical label for this jump, for more clarity.
This also makes the code smaller:
-ffffffff8187756b: 0f 87 0f 00 00 00 ja ffffffff81877580
<int_ret_from_sys_call>
+ffffffff8187756b: 77 0f ja ffffffff8187757c
<int_ret_from_sys_call>
because jumps to global labels are never translated to short jump
instructions by GAS.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427821211-25099-9-git-send-email-dvlasenk@xxxxxxxxxx
[ Improved the changelog. ]
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a734b4a23e4b5a5bba577d11b6e2ff21f6ca4fce
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Tue Mar 31 19:00:10 2015 +0200
x86/asm: Replace "MOVQ $imm, %reg" with MOVL
There is no reason to use MOVQ to load a non-negative immediate
constant value into a 64-bit register. MOVL does the same, since
the upper 32 bits are zero-extended by the CPU.
This makes the code a bit smaller, while leaving functionality
unchanged.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427821211-25099-8-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 36acef2510853e2831047ca9e22d333ba7a1047b
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Tue Mar 31 19:00:07 2015 +0200
x86/asm/entry/64: Simplify looping around preempt_schedule_irq()
At the 'exit_intr' label we test whether interrupt/exception was in
kernel. If it did, we jump to the preemption check. If preemption
does happen (IOW if we call preempt_schedule_irq()), we go back to
'exit_intr'.
But it's pointless, we already know that the test succeeded last
time, preemption doesn't change the fact that interrupt/exception
was in the kernel.
We can go back directly to checking PER_CPU_VAR(__preempt_count) instead.
This makes the 'exit_intr' label unused, drop it.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427821211-25099-5-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 32a04077fe401842424a4b555572fa459c01e0a3
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Tue Mar 31 19:00:06 2015 +0200
x86/asm/entry/64: Remove redundant DISABLE_INTERRUPTS()
At this location, we already have interrupts off, always.
To be more specific, we already disabled them here:
ret_from_intr:
DISABLE_INTERRUPTS(CLBR_NONE)
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427821211-25099-4-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 6ba71b7617f1fa65f19bd34f4484a0694ef9a520
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Tue Mar 31 19:00:05 2015 +0200
x86/asm/entry/64: Simplify retint_kernel label usage, make
retint_restore_args label local
Get rid of #define obfuscation of retint_kernel in
CONFIG_PREEMPT case by defining retint_kernel label always, not
only for CONFIG_PREEMPT.
Strip retint_kernel of .global-ness (ENTRY macro) - it has no
users outside of this file.
This looks like cosmetics, but it is not:
"je LABEL" can be optimized to short jump by assember
only if LABEL is not global, for global labels jump is always
a near one with relocation.
Convert retint_restore_args to a local numeric label, making it
clearer that it is not used elsewhere in the file.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427821211-25099-3-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 4c9c0e919fef05b3bc6a8aff1db7a31b2ba4f4b6
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Tue Mar 31 19:00:04 2015 +0200
x86/asm/entry/32: Use smaller PUSH instructions instead of MOV, to build
'pt_regs' on stack
This mimics the recent similar 64-bit change.
Saves ~110 bytes of code.
Patch was run-tested on 32 and 64 bits, Intel and AMD CPU.
I also looked at the diff of entry_64.o disassembly, to have
a different view of the changes.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427821211-25099-2-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 4416c5a6dacdddd55378e7011f9c8720d2a7470f
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Tue Mar 31 19:00:03 2015 +0200
x86/asm/entry/64: Do not TRACE_IRQS fast SYSRET64 path
SYSRET code path has a small irq-off block.
On this code path, TRACE_IRQS_ON can't be called right before
interrupts are enabled for real, we can't clobber registers
there. So current code does it earlier, in a safe place.
But with this, TRACE_IRQS_OFF/ON frames just two fast
instructions, which is ridiculous: now most of irq-off block is
_outside_ of the framing.
Do the same thing that we do on SYSCALL entry: do not track this
irq-off block, it is very small to ever cause noticeable irq
latency.
Be careful: make sure that "jnz int_ret_from_sys_call_irqs_off"
now does invoke TRACE_IRQS_OFF - move
int_ret_from_sys_call_irqs_off label before TRACE_IRQS_OFF.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427821211-25099-1-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 2391b340ca5b7dd041a2bf86afe12bc004acb583
Author: Mylene JOSSERAND <josserand.mylene@xxxxxxxxx>
Date: Mon Mar 30 23:39:25 2015 +0200
mmc: sdhci-tegra: convert to use GPIO descriptors
Modify the driver to handle GPIOs using the descriptor API.
Signed-off-by: Mylene JOSSERAND <josserand.mylene@xxxxxxxxx>
Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Tested-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 0fd2ba36b8e4c720e5fb5ee40171919c8207237e
Author: Changwoo Min <changwoo.m@xxxxxxxxx>
Date: Sun Mar 22 19:17:49 2015 -0400
udf: return correct errno for udf_update_inode()
Instead of -ENOMEM, properly return -EIO udf_update_inode()
error, similar/consistent to the rest of filesystems.
Signed-off-by: Changwoo Min <changwoo.m@xxxxxxxxx>
Signed-off-by: Jan Kara <jack@xxxxxxx>
commit 6d1966dfd6e0ad2f8aa4b664ae1a62e33abe1998
Author: Bo Yan <byan@xxxxxxxxxx>
Date: Tue Mar 31 21:30:48 2015 +0100
arm64: fix midr range for Cortex-A57 erratum 832075
Register MIDR_EL1 is masked to get variant and revision fields, then
compared against midr_range_min and midr_range_max when checking
whether CPU is affected by any particular erratum. However, variant
and revision fields in MIDR_EL1 are separated by 16 bits, so the min
and max of midr range should be constructed accordingly, otherwise
the patch will not be applied when variant field is non-0.
Cc: stable@xxxxxxxxxxxxxxx # 3.19+
Acked-by: Andre Przywara <andre.przywara@xxxxxxx>
Reviewed-by: Paul Walmsley <paul@xxxxxxxxx>
Signed-off-by: Bo Yan <byan@xxxxxxxxxx>
[will: use MIDR_VARIANT_SHIFT to construct upper bound]
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit a0f10c131cc49d7d84394beb7903e1f246331224
Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Date: Wed Mar 4 05:55:22 2015 -0800
[media] media: s5p-mfc: fix broken pointer cast on 64bit arch
Unsigned int cannot be used to store casted pointer on 64bit
architecture, so correct such casts to properly use unsigned long
variables.
Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
[k.debski@xxxxxxxxxxx: removed volatile and __iomem from cast]
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 05b676ab42f624425d5f6519276e506b812fa058
Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Date: Wed Mar 4 05:55:21 2015 -0800
[media] media: s5p-mfc: fix mmap support for 64bit arch
TASK_SIZE is depends on the systems architecture (32 or 64 bits) and it
should not be used for defining offset boundary for mmaping buffers for
CAPTURE and OUTPUT queues. This patch fixes support for MMAP calls on
the CAPTURE queue on 64bit architectures (like ARM64).
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 6b46211f0a3b18b2360275ac29c4d6bfdf7bc015
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Sun Mar 8 23:20:03 2015 -0800
[media] cx23885: fix querycap
cap->device_caps wasn't set in cx23885-417.c causing a warning from
the v4l2-core.
Reported-by: Joseph Jasi <joe.yasi@xxxxxxxxx>
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # for v3.19 and up
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit ab3120300be067a2d41a027c41db0b2c662ab200
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Wed Dec 10 12:35:34 2014 -0300
[media] sh_veu: v4l2_dev wasn't set
The v4l2_dev field of struct video_device must be set correctly.
This was never done for this driver, so no video nodes were created
anymore.
Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # for v3.11 and up
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 1dbee1a3c38a8792c235048df1d709fc5ca3a185
Author: Yakir Yang <ykk@xxxxxxxxxxxxxx>
Date: Tue Mar 31 23:57:10 2015 -0400
drm: rockchip/dw_hdmi-rockchip: improve for HDMI electrical test
When pixel clock less than 148.5MHz, make sloopboost=2 tklvl=20
cklvl=13 increase rasing/falling time and increase data & clock
voltage driver.
When pixel clock less than 74.25MHz, make sloopboost=0 tklvl=19
cklvl=18, increase data and clock voltage driver.
Signed-off-by: Yakir Yang <ykk@xxxxxxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 034705a48bcae9d51661c461b7dd21e0d5b85afc
Author: Yakir Yang <ykk@xxxxxxxxxxxxxx>
Date: Tue Mar 31 23:56:10 2015 -0400
drm: bridge/dw_hdmi: separate VLEVCTRL settting into platform driver
Because of iMX6 & Rockchip have differnet mpll config parameter,
the VLEVCTRL parameter would be different. In this case we should
separate VLEVCTRL setting from the common dw_hdmi driver, config
this parameter in platform driver(dw_hdmi-imx and dw_hdmi-rockchip)
Signed-off-by: Yakir Yang <ykk@xxxxxxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit ca44b9d16423e5c8bd75328a217e5ed8d30c5b1d
Author: Yakir Yang <ykk@xxxxxxxxxxxxxx>
Date: Tue Mar 31 23:55:59 2015 -0400
drm: bridge/dw_hdmi: fixed codec style
Using a local struct pointer to reduce one level of indirection
makes the code slightly more readable.
Signed-off-by: Yakir Yang <ykk@xxxxxxxxxxxxxx>
Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 79d5eeddd7d23bd4588e370072977928b7075911
Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
Date: Wed Apr 1 11:49:59 2015 +0200
can: pcan_usb: pcan_usb_fd_send_cmd(): silence compiler warning about
uninitialized var
This patch silences the compiler warning:
drivers/net/can/usb/peak_usb/pcan_usb_fd.c: In function
'pcan_usb_fd_send_cmd':
drivers/net/can/usb/peak_usb/pcan_usb_fd.c:185:6: warning: 'err' may be
used uninitialized in this function [-Wuninitialized]
by initialising the variable as 0.
Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
commit c5035c77f89364d2da2871d829553bd1a4321940
Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
Date: Fri Mar 27 12:14:13 2015 +0100
netfilter: nft_meta: fix cgroup matching
We have to stop iterating on the rule expressions if the cgroup
mismatches. Moreover, make sure a non-full socket from the input path
leads us to a crash.
Fixes: ce67417 ("netfilter: nft_meta: add cgroup support")
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit a5581ef4c2eac6449188862e903eb46c7233582a
Author: Oliver Hartkopp <socketcan@xxxxxxxxxxxx>
Date: Wed Apr 1 07:50:29 2015 +0200
can: introduce new raw socket option to join the given CAN filters
The CAN_RAW socket can set multiple CAN identifier specific filters that
lead
to multiple filters in the af_can.c filter processing. These filters are
indenpendent from each other which leads to logical OR'ed filters when
applied.
This socket option joines the given CAN filters in the way that only CAN
frames
are passed to user space that matched *all* given CAN filters. The
semantic for
the applied filters is therefore changed to a logical AND.
This is useful especially when the filterset is a combination of filters
where
the CAN_INV_FILTER flag is set in order to notch single CAN IDs or CAN ID
ranges from the incoming traffic.
As the raw_rcv() function is executed from NET_RX softirq the introduced
variables are implemented as per-CPU variables to avoid extensive locking
at
CAN frame reception time.
Signed-off-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx>
Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
commit 514ac99c64b22d83b52dfee3b8becaa69a92bc4a
Author: Oliver Hartkopp <socketcan@xxxxxxxxxxxx>
Date: Wed Apr 1 07:50:28 2015 +0200
can: fix multiple delivery of a single CAN frame for overlapping CAN
filters
The CAN_RAW socket can set multiple CAN identifier specific filters that
lead
to multiple filters in the af_can.c filter processing. These filters are
indenpendent from each other which leads to logical OR'ed filters when
applied.
This patch makes sure that every CAN frame which is filtered for a
specific
socket is only delivered once to the user space. This is independent from
the
number of matching CAN filters of this socket.
As the raw_rcv() function is executed from NET_RX softirq the introduced
variables are implemented as per-CPU variables to avoid extensive locking
at
CAN frame reception time.
Signed-off-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx>
Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
commit afb7718016fcb0370ac29a83b2839c78b76c2960
Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Date: Fri Mar 27 19:37:41 2015 +0100
netfilter: x_tables: fix cgroup matching on non-full sks
While originally only being intended for outgoing traffic, commit
a00e76349f35 ("netfilter: x_tables: allow to use cgroup match for
LOCAL_IN nf hooks") enabled xt_cgroups for the NF_INET_LOCAL_IN hook
as well, in order to allow for nfacct accounting.
Besides being currently limited to early demuxes only, commit
a00e76349f35 forgot to add a check if we deal with full sockets,
i.e. in this case not with time wait sockets. TCP time wait sockets
do not have the same memory layout as full sockets, a lower memory
footprint and consequently also don't have a sk_classid member;
probing for sk_classid member there could potentially lead to a
crash.
Fixes: a00e76349f35 ("netfilter: x_tables: allow to use cgroup match for
LOCAL_IN nf hooks")
Cc: Alexey Perevalov <a.perevalov@xxxxxxxxxxx>
Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 905e8c5dcaa147163672b06fe9dcb5abaacbc711
Author: Will Deacon <will.deacon@xxxxxxx>
Date: Mon Mar 23 19:07:02 2015 +0000
arm64: errata: add workaround for cortex-a53 erratum #845719
When running a compat (AArch32) userspace on Cortex-A53, a load at EL0
from a virtual address that matches the bottom 32 bits of the virtual
address used by a recent load at (AArch64) EL1 might return incorrect
data.
This patch works around the issue by writing to the contextidr_el1
register on the exception return path when returning to a 32-bit task.
This workaround is patched in at runtime based on the MIDR value of the
processor.
Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Tested-by: Mark Rutland <mark.rutland@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 9c00bb7210e5bc0691c93b05a0edfab0e93b3ec9
Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 21:09:35 2015 +0100
mac80211: enhance readability of Minstrel-HTs rc_stats output
This patch restructures the rc_stats debugfs table of Minstrel-HT in
order to achieve better human readability. A new layout of the
statistics and a new header is added. In addition to the old layout
there are two new columns of information added:
idx - representing the rate index of each rate in mac80211 which
can be used to set specific rates as fixed rate via debugfs
airtime - the tx-time in micro seconds that a 1200 Byte packet
takes to be transmitted over the air at the given rate
The old layout of rc_stats:
type rate tpt eprob *prob ret *ok(*cum) ok(
cum)
HT20/LGI MCS0 5.6 100.0 100.0 1 0( 0) 1(
1)
HT20/LGI B MCS1 10.5 100.0 100.0 0 0( 0) 1(
1)
HT20/LGI A MCS2 14.8 100.0 100.0 0 0( 0) 1(
1)
...
is changed into this new layout:
best ________rate______ __statistics__
________last_______ ______sum-of________
mode guard # rate [name idx airtime] [ ø(tp) ø(prob)]
[prob.|retry|suc|att] [#success | #attempts]
HT20 LGI 1 MCS0 0 1480 0.0 0.0 0.0 1
0 0 0 0
HT20 LGI 1 B MCS1 1 740 10.5 100.0 100.0 0
0 0 1 1
HT20 LGI 1 A MCS2 2 496 14.8 100.0 100.0 0
0 0 1 1
...
Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Venz <ikstream86@xxxxxxxxx>
Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit e161f7f6c4143ef0d945e98b2d1032cf82939fb6
Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 21:09:34 2015 +0100
mac80211: enhance readability of Minstrels rc_stats output
This patch restructures the rc_stats debugfs table of Minstrel in
order to achieve better human readability. A new layout of the
statistics and a new header is added. In addition to the old layout
there are two new columns of information added:
idx - representing the rate index of each rate in mac80211 which
can be used to set specific rates as fixed rate via debugfs
airtime - the tx-time in micro seconds that a 1200 Byte packet
takes to be transmitted over the air at the given rate
The old layout of rc_stats:
rate tpt eprob *prob ret *ok(*cum) ok( cum)
DP 1 0.9 93.5 100.0 1 0( 0) 2( 2)
2 0.4 40.0 100.0 0 0( 0) 4( 10)
5.5 0.0 0.0 0.0 0 0( 0) 0( 0)
...
is changed into this new layout:
best _______rate_____ __statistics__ ________last_______
______sum-of________
rate [name idx tx-time] [ ø(tp) ø(prob)] [prob.|retry|suc|att]
[#success | #attempts]
DP 1 0 9738 0.9 93.5 100.0 1 1 1
2 2
2 1 4922 0.4 40.0 100.0 1 0 0
4 10
5.5 2 1858 0.0 0.0 0.0 2 0 0
0 0
...
Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Venz <ikstream86@xxxxxxxxx>
Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit c37722bd1972118142ee54c0e1a727142d944068
Author: Ilan peer <ilan.peer@xxxxxxxxx>
Date: Mon Mar 30 15:15:49 2015 +0300
cfg80211: Stop calling crda if it is not responsive
Patch eeca9fce1d71a4955855ceb0c3b13c1eb9db27c1 (cfg80211: Schedule
timeout for all CRDA call) introduced a regression, where in case
that crda is not installed (or not configured properly etc.), the
regulatory core will needlessly continue to call it, polluting the
log with the following log:
"cfg80211: Calling CRDA to update world regulatory domain"
Fix this by limiting the number of continuous CRDA request failures.
Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit bf104c238dc1c7172460853882a545141eaa8222
Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Feb 1 15:34:37 2015 -0300
[media] mn88472: One function call less in mn88472_init() after error
detection
The release_firmware() function was called in three cases by the
mn88472_init()
function during error handling even if the passed variable "fw" contained
still
a null pointer.
This implementation detail could be improved by the introduction of
another
jump label.
Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 68feaa6b8bc537de1d02732fb1b74fe5433ceff1
Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun Feb 1 15:12:56 2015 -0300
[media] mn88472: Deletion of an unnecessary check before the function
call "release_firmware"
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@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 18acc6ace529f331cf6a780ac0d68216df47ca27
Author: Olli Salonen <olli.salonen@xxxxxx>
Date: Tue Mar 3 13:28:35 2015 -0300
[media] si2157: extend frequency range for ATSC
The Si2157 tuner supports ATSC in addition to DVB-T and DVB-C. Extend
minimum frequency range to cover the complete ATSC/QAM-B range.
Signed-off-by: Olli Salonen <olli.salonen@xxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
commit 9d0982927e79049675cb6c6c04a0ebb3dad5a434
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Thu Mar 26 12:39:40 2015 +0000
netfilter: nft_hash: add support for timeouts
Add support for element timeouts to nft_hash. The lookup and walking
functions are changed to ignore timed out elements, a periodic garbage
collection task cleans out expired entries.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 6908665826d56ddd024f3e131a9ee36f0d140943
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Thu Mar 26 12:39:39 2015 +0000
netfilter: nf_tables: add GC synchronization helpers
GC is expected to happen asynchrously to the netlink interface. In the
netlink path, both insertion and removal of elements consist of two
steps, insertion followed by activation or deactivation followed by
removal, during which the element must not be freed by GC.
The synchronization helpers use an unused bit in the genmask field to
atomically mark an element as "busy", meaning it is either currently
being handled through the netlink API or by GC.
Elements being processed by GC will never survive, netlink will simply
ignore them. Elements being currently processed through netlink will be
skipped by GC and reprocessed during the next run.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit cfed7e1b1f8ed9b3d81ab12203cfb69c3ef24ac6
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Thu Mar 26 12:39:38 2015 +0000
netfilter: nf_tables: add set garbage collection helpers
Add helpers for GC batch destruction: since element destruction needs
a RCU grace period for all set implementations, add some helper functions
for asynchronous batch destruction. Elements are collected in a batch
structure, which is asynchronously released using RCU once its full.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit c3e1b005ed1cc068fc9d454a6e745830d55d251d
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Thu Mar 26 12:39:37 2015 +0000
netfilter: nf_tables: add set element timeout support
Add API support for set element timeouts. Elements can have a individual
timeout value specified, overriding the sets' default.
Two new extension types are used for timeouts - the timeout value and
the expiration time. The timeout value only exists if it differs from
the default value.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 761da2935d6e18d178582dbdf315a3a458555505
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Thu Mar 26 12:39:36 2015 +0000
netfilter: nf_tables: add set timeout API support
Add set timeout support to the netlink API. Sets with timeout support
enabled can have a default timeout value and garbage collection interval
specified.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit a0bc163a7cf2ceb413a76cfd7149c6591db829ea
Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
Date: Wed Mar 25 10:36:17 2015 +0100
can: ems_usb: mark timestamp as little endian
The struct ems_cpc_msg describes the a message received from the USB
device,
which uses little endian byte order. This patch marks the timestamp in
struct
ems_cpc_msg accordingly.
Acked-by: Gerhard Uttenthaler <uttenthaler@xxxxxxxxxxxxxxxx>
Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
commit 8a4b5b0fb765947ff8d254e6078ca64ac0439a66
Author: Gerhard Uttenthaler <uttenthaler@xxxxxxxxxxxxxxxx>
Date: Tue Mar 24 19:02:29 2015 +0100
can: ems_usb: fix endianess of CAN ID
The device expects the CAN ID in little endian format.
Signed-off-by: Gerhard Uttenthaler <uttenthaler@xxxxxxxxxxxxxxxx>
Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
commit 969b8619069f0e4da767c54481dcc10812f949a5
Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Date: Tue Mar 31 20:35:09 2015 +0200
ASoC: rcar: mark device data as constant
A driver's device data should and can be const. This is a follow-up on
commit 33187fb4a203 (ASoC: rsnd: constify of_device_id array) which
marked the of_device_id as const.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 4399c03c6780ed75fa26e09a7b3a175b3aac5760
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Tue Mar 31 16:43:17 2015 -0400
x86/apic: Remove verify_local_APIC()
__verify_local_APIC() is detritus from the early APIC days.
Its return value isn't used anywhere and the information it
prints when debug is enabled is already part of APIC
initialization messages printed to syslog. Off with it!
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/jpgy4mcsxsq.fsf@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 9a42ab04aae96d47cd86e065b5127e472fd9eab9
Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Date: Tue Mar 31 16:48:57 2015 +0200
ASoC: fsi: mark several data structures as const
A driver's platform_device_id and device data should and can be const.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 3b6281cf2893a3c140a37be817b0802c46af292b
Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Date: Tue Mar 31 16:48:56 2015 +0200
ASoC: fsi: reorder code to make a forward declaration superfluous
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 7bedd0cfad4e122bc0ddaf3fc955a38c88c95d35
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Fri Feb 13 21:55:15 2015 +0100
mac80211: use rhashtable for station table
We currently have a hand-rolled table with 256 entries and are
using the last byte of the MAC address as the hash. This hash
is obviously very fast, but collisions are easily created and
we waste a lot of space in the common case of just connecting
as a client to an AP where we just have a single station. The
other common case of an AP is also suboptimal due to the size
of the hash table and the ease of causing collisions.
Convert all of this to use rhashtable with jhash, which gives
us the advantage of a far better hash function (with random
perturbation to avoid hash collision attacks) and of course
that the hash table grows and shrinks dynamically with chain
length, improving both cases above.
Use a specialised hash function (using jhash, but with fixed
length) to achieve better compiler optimisation as suggested
by Sergey Ryazanov.
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit aaa9fa387541a30f6f4138bea6e082319de5e3fe
Merge: ccd41c8 9870d78
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Wed Apr 1 09:55:17 2015 +0200
Merge tag 'perf-core-for-mingo' of
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
User visible changes:
- Fix 'perf script' pipe mode segfault, by always initializing
ordered_events in
perf_session__new(). (Arnaldo Carvalho de Melo)
- Fix ppid for synthesized fork events. (David Ahern)
- Fix kernel symbol resolution of callchains in S/390 by remembering the
cpumode. (David Hildenbrand)
Infrastructure changes:
- Disable libbabeltrace check by default in the build system. (Jiri Olsa)
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 78c3eb3c84470a654b283103deff0ba128759dcd
Author: Wei Yuan <weiyuan.wei@xxxxxxxxxx>
Date: Fri Mar 20 11:09:10 2015 +0800
ext3: Remove useless condition in if statement.
In this if statement, the previous condition is useless, the later one
has covered it.
Signed-off-by: Weiyuan <weiyuan.wei@xxxxxxxxxx>
Reviewed-by: Lukas Czerner <lczerner@xxxxxxxxxx>
Signed-off-by: Jan Kara <jack@xxxxxxx>
commit a8557d32fe90a91d70dbbf57a034ad0c660ce237
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Apr 1 14:43:15 2015 +1030
virtio_pci_modern: switch to type-safe io accessors
As Rusty noted, we were accessing queue_enable with an incorrect width.
Switch to type-safe accessors so we don't make this mistake again in the
future.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit c5d4c2c9ce4f4b6980a71dec50f2db4c2e55778d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Apr 1 13:33:20 2015 +1030
virtio_pci_modern: type-safe io accessors
The spec is very clear on this:
4.1.3.1 Driver Requirements: PCI Device Layout
The driver MUST access each field using the â??naturalâ?? access method,
i.e. 32-bit accesses for 32-bit fields, 16-bit accesses for 16-bit
fields and 8-bit accesses for 8-bit fields.
Add type-safe wrappers to prevent access with incorrect width.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit 3eebd233fcb392286d385e764eb91e90d6218cdf
Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Date: Wed Apr 1 13:32:20 2015 +1030
lguest: handle traps on the "interrupt suppressed" iret instruction.
Lguest's "iret" is non-atomic, as it needs to restore the interrupt
state before the real iret (the guest can't actually suppress
interrupts). For this reason, the host discards an interrupt if it
occurs in this (1-instruction) window.
We can do better, by emulating the iret execution, then immediately
setting up the interrupt handler. In fact, we don't need to do much,
as emulating the iret and setting up th stack for the interrupt handler
basically cancel each other out.
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit 012665391dfe12bf8a88d1000e627be012c39dbf
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Apr 1 13:31:20 2015 +1030
virtio: drop a useless config read
"virtio: core support for config generation"
fixed reading up 64 bit values, adding generation
checks for such reads.
By mistake, it left an explicit get call in place
as well. the result is that the value is read twice,
the first result is discarded.
Not a big deal since this only happens with virtio
blk and only on boot ATM, so performance isn't
affected, but let's clean it up.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit caa0e2d0e331a04cbc1cb9bca3169c1d94b80838
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Apr 1 08:21:51 2015 +1030
virtio_config: reorder functions
This simply reorders functions in virtio_config
so width access wrapper helpers are all together.
Drops an extra empty line while we are at it.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit ab7add30ce63a7147f045f00c65a44c0f14ad6b2
Author: Petr Kulhavy <petr@xxxxxxxxx>
Date: Mon Mar 23 21:35:01 2015 +0100
dmaengine: edma: fixed wrongly initialized data parameter to the edma
callback
The "data" parameter passed indirectly to the edma_callback() should be
edma_chan and not the dma_chan.
This bug was so far harmless since the offset of struct dma_chan within
struct
edma_chan is 0. However as soon as someone changes struct edma_chan this
would
cause troubles.
Signed-off-by: Petr Kulhavy <petr@xxxxxxxxx>
Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit de6b641e2d23d116dcf6b6a67e2ee4856e3c3026
Author: Stefan Agner <stefan@xxxxxxxx>
Date: Sun Mar 22 00:51:08 2015 +0100
dmaengine: ste_dma40: fix implicit conversion
The function d40_prep_sg takes the type enum dma_transfer_direction
as second last parameter. However, the memcpy calls pass DMA_NONE
which is of type enum dma_data_direction. Fix this by passing the
actual transfer direction DMA_MEM_TO_MEM.
This does not change the actual code flow since only the transfer
direction DMA_MEM_TO_DEV and DMA_DEV_TO_MEM are actually used in the
function d40_prep_sg.
Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit d41444daba1fd65e5a998c83398f44524f638d07
Author: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx>
Date: Fri Mar 27 18:45:35 2015 +0800
powerpc/corenet: enable CONFIG_I2C_MUX and CONFIG_I2C_MUX_PCA954x
By default we enable CONFIG_I2C_MUX and CONFIG_I2C_MUX_PCA954x,
which are needed on T2080QDS, T4240QDS, B4860QDS, etc.
Signed-off-by: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx>
[scottwood@xxxxxxxxxxxxx: fixed subject line]
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
commit 7f9af0a6d5ab78e3cd40bf7aef1da45ace1d69f6
Author: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx>
Date: Fri Mar 27 18:49:17 2015 +0800
powerpc/t2080qds: fix rtc interrupt
RTC interrupt uses IRQ11 on T2080QDS.
Signed-off-by: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx>
[scottwood@xxxxxxxxxxxxx: fix subject line]
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
commit 56302c53d3dc477b8360954fc92c1dfc4fc0ec54
Author: Bogdan Purcareata <bogdan.purcareata@xxxxxxxxxxxxx>
Date: Tue Mar 24 10:43:43 2015 +0000
powerpc/mpic: Remove WHOAMI readback after EOI
After previous discussions regarding the subject [1][2], there's no clear
explanation or reason why the call was needed in the first place. The
sensible
argument is some sort of synchronization between the CPU and the MPIC,
which
hasn't been pointed out precisely and is no longer required (at least on
BookE
platforms).
The benefit of this change is saving a MMIO trap per interrupt when
running in a
KVM guest.
[1] https://patchwork.ozlabs.org/patch/429098/
[2] https://patchwork.ozlabs.org/patch/433557/
Signed-off-by: Bogdan Purcareata <bogdan.purcareata@xxxxxxxxxxxxx>
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
commit 88b7936da39618be04a6e1c2fb052dc528633392
Author: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx>
Date: Mon Mar 2 16:35:35 2015 +0800
powerpc/mpc85xx: call k(un)map_atomic rather than k(un)map
The k(un)map function may be called in atomic context in the
function map_and_flush(), so use k(un)map_atomic to replace it,
else we would get the below warning during kdump:
BUG: sleeping function called from invalid context at
include/linux/highmem.h:58
in_atomic(): 1, irqs_disabled(): 1, pid: 736, name: sh
INFO: lockdep is turned off.
irq event stamp: 0
hardirqs last enabled at (0): [< (null)>] (null)
hardirqs last disabled at (0): [<c000000000066d1c>]
.copy_process.part.44+0x50c/0x1360
softirqs last enabled at (0): [<c000000000066d1c>]
.copy_process.part.44+0x50c/0x1360
softirqs last disabled at (0): [< (null)>] (null)
CPU: 1 PID: 736 Comm: sh Tainted: G D W
3.10.62-ltsi-WR6.0.0.0_standard #2
Call Trace:
[c0000000f47cf120] [c00000000000b150] .show_stack+0x170/0x290 (unreliable)
[c0000000f47cf210] [c000000000b71334] .dump_stack+0x28/0x3c
[c0000000f47cf280] [c0000000000bb5d8] .__might_sleep+0x1a8/0x270
[c0000000f47cf310] [c0000000000440cc] .map_and_flush+0x4c/0xc0
[c0000000f47cf390] [c0000000000441cc]
.mpc85xx_smp_machine_kexec+0x8c/0xec0
[c0000000f47cf420] [c00000000002ae00] .machine_kexec+0x60/0x90
[c0000000f47cf4b0] [c00000000010957c] .crash_kexec+0x8c/0x100
[c0000000f47cf6a0] [c000000000015df8] .die+0x348/0x450
[c0000000f47cf740] [c00000000002f3a0] .bad_page_fault+0xe0/0x130
[c0000000f47cf7c0] [c00000000001f3e4] storage_fault_common+0x40/0x44
Signed-off-by: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx>
[scottwood@xxxxxxxxxxxxx: fix subject line]
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
commit bb65f5048ee34bd6a81288382ef0a608ccfcd914
Author: Julia Lawall <Julia.Lawall@xxxxxxx>
Date: Wed Mar 11 17:56:24 2015 +0100
powerpc: don't export static symbol
The semantic patch that fixes this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@r@
type T;
identifier f;
@@
static T f (...) { ... }
@@
identifier r.f;
declarer name EXPORT_SYMBOL;
@@
-EXPORT_SYMBOL(f);
// </smpl>
Furthermore, the function is never used, so its definition is dropped as
well.
Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
commit 016f8cf0d87bb2bda15ccb8708748a013c27423f
Author: Kevin Hao <haokexin@xxxxxxxxx>
Date: Tue Mar 10 20:41:31 2015 +0800
powerpc: book3e_64: fix the align size for paca_struct
All the cache line size of the current book3e 64bit SoCs are 64 bytes.
So we should use this size to align the member of paca_struct.
This only change the paca_struct's members which are private to book3e
CPUs, and should not have any effect to book3s ones. With this, we save
192 bytes. Also change it to __aligned(size) since it is preferred over
__attribute__((aligned(size))).
Before:
/* size: 1920, cachelines: 30, members: 46 */
/* sum members: 1667, holes: 6, sum holes: 141 */
/* padding: 112 */
After:
/* size: 1728, cachelines: 27, members: 46 */
/* sum members: 1667, holes: 4, sum holes: 13 */
/* padding: 48 */
Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx>
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
commit 2e51563d07cf0caae03dd7f693d7545825326c29
Author: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx>
Date: Tue Mar 10 15:19:42 2015 +0200
powerpc/fsl-booke: Add T4080 SVR value
Signed-off-by: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx>
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
commit 8adc53fdc9721ef6f71fbaad07c486abdc4c8f60
Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx>
Date: Wed Mar 18 16:16:37 2015 +0000
MAINTAINERS: Add Ingenic JZ4780 DMA driver maintainer entry
Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit d894fc6046fecd66b0d8ec35c7d2515781cc030b
Author: Alex Smith <alex.smith@xxxxxxxxxx>
Date: Wed Mar 18 16:16:36 2015 +0000
dmaengine: jz4780: add driver for the Ingenic JZ4780 DMA controller
This patch adds a driver for the DMA controller found in the Ingenic
JZ4780.
It currently does not implement any support for the programmable firmware
feature of the controller - this is not necessary for most uses. It also
does not take priority into account when allocating channels, it just
allocates the first available channel. This can be implemented later.
Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx>
Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx>
[Updated for dmaengine api changes, Add residue support, couple of minor
fixes]
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit c8307106f5fa53b8fe8763b488d629e3cce9fae3
Author: Alex Smith <alex.smith@xxxxxxxxxx>
Date: Wed Mar 18 16:16:35 2015 +0000
dt-bindings: dma: Add binding for jz4780-dma
Add device tree bindings for the DMA controller on JZ4780 SoCs, used by
the dma-jz4780 driver.
Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx>
Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx>
Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>
commit cab07a5652d1d124b505c2b7ed21c6823295c5d7
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Fri Mar 27 20:54:01 2015 -0400
intel_idle: Add support for the Airmont Core in the Cherrytrail and
Braswell SOCs
Support C-states for the Airmont core in the Cherrytrail and Braswell
SOCs.
The states are similar to those of Silvermont in Baytrail,
except both flavors of C6 states are faster.
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
Cc: Kumar P Mahesh <mahesh.kumar.p@xxxxxxxxx>
Cc: Alan Cox <alan@xxxxxxxxxxxxxxx>
Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
commit d7ef76717322c8e2df7d4360b33faa9466cb1a0d
Author: Len Brown <len.brown@xxxxxxxxx>
Date: Tue Mar 24 23:23:20 2015 -0400
intel_idle: Update support for Silvermont Core in Baytrail SOC
On some Silvermont-Core/Baytrail-SOC systems,
C1E latency is higher than original specifications.
Although C1E is still enumerated in CPUID.MWAIT.EDX,
we delete the state from intel_idle to avoid latency impact.
Under some conditions, the latency of the C6N-BYT and C6S-BYT states
may exceed the specified values of 40 and 140 usec, respectively.
Increase those values to 300 and 500 usec; to assure
that the hardware does not violate constraints that may be set
by the Linux PM_QOS sub-system.
Also increase the C7-BYT target residency to 4.0 ms from 1.5 ms.
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
Cc: Kumar P Mahesh <mahesh.kumar.p@xxxxxxxxx>
Cc: Alan Cox <alan@xxxxxxxxxxxxxxx>
Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
commit aa571b148c6ab9843e79622f0209b6163d8d4fc5
Author: Paul Walmsley <paul@xxxxxxxxx>
Date: Wed Mar 25 18:32:59 2015 +0000
MAINTAINERS: clk: discuss on the linux-clk@xxxxxxxxxxxxxxx list
Most Linux clock framework discussions take place on the
linux-kernel@xxxxxxxxxxxxxxx or linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
mailing lists. The volume of unrelated messages on these lists makes
it difficult for non-maintainers to follow along with discussions.
Switch the discussion list for clock framework discussions to
linux-clk@xxxxxxxxxxxxxxxx Also, add linux-clk@xxxxxxxxxxxxxxx as a
mailing list for clock API discussions.
Signed-off-by: Paul Walmsley <paul@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx>
Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx>
Cc: Viresh Kumar <viresh.linux@xxxxxxxxx>
Cc: Peter De Schrijver <pdeschrijver@xxxxxxxxxx>
Cc: Prashant Gaikwad <pgaikwad@xxxxxxxxxx>
Cc: Tero Kristo <t-kristo@xxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx>
commit 564b687b031ccc647943f946b93037cf0780612a
Author: Chris Ruffin <chris.ruffin@xxxxxxxxx>
Date: Tue Mar 24 16:57:42 2015 -0400
drm/bochs: disable video before changing video mode
qemu and simics simulators both seem to expect that video should be
disabled
before changing the video mode.
references:
http://git.qemu.org/?p=qemu.git;a=blob;f=hw/display/vga.c;h=c0f7b343bbab586c8593d29c7a765f1e6ca3662c;hb=HEAD#l727
http://wiki.osdev.org/Bochs_VBE_Extensions#Setting_display_resolution_and_bit_depth
Signed-off-by: Chris Ruffin <chris.ruffin@xxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>
commit 53d8858bb81ccf47ddca8b94d21f39972549e166
Merge: 9e87e48 066626d
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Wed Apr 1 08:23:25 2015 +1000
Merge tag 'topic/drm-misc-2015-03-31' of
git://anongit.freedesktop.org/drm-intel into drm-next
Final drm-misc pull for 4.0, just various things all over, including a few
more important atomic fixes. btw I didn't pick up the vmwgfx patch from
Ville's series, but one patch has one hunk touching vmwgfx and
Thomas/Jakob didn't get around to ack it. I figured it's simple enough to
be ok though.
* tag 'topic/drm-misc-2015-03-31' of
git://anongit.freedesktop.org/drm-intel:
drm: line wrap DRM_IOCTL_DEF* macros
drm/atomic: Don't try to free a NULL state
drm/atomic: Clear crtcs, connectors and planes when clearing state
drm: Rewrite drm_ioctl_flags() to resemble the new drm_ioctl() code
drm: Use max() to make the ioctl alloc size code cleaner
drm: Simplify core vs. drv ioctl handling
drm: Drop ioctl->cmd_drv
drm: Fix DRM_IOCTL_DEF_DRV()
drm/atomic-helpers: Properly avoid full modeset dance
drm: atomic: Allow setting CRTC active property
drm: atomic: Expose CRTC active property
drm: crtc_helper: Update hwmode before mode_set call
drm: mode: Allow NULL modes for equality check
drm: fb_helper: Simplify exit condition
drm: mode: Fix typo in kerneldoc
drm/dp: Print the number of bytes processed for aux nacks
commit 9e87e48f8e5de2146842fd0ff436e0256b52c4a9
Merge: d7de390 6e0aa80
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Wed Apr 1 08:21:46 2015 +1000
Merge tag 'drm-intel-next-2015-03-27-merge' of
git://anongit.freedesktop.org/drm-intel into drm-next
This backmerges 4.0-rc6 due to the recent fixes in rc5/6
- DP link rate refactoring from Ville
- byt/bsw rps tuning from Chris
- kerneldoc for the shrinker code
- more dynamic ppgtt pte work (Michel, Ben, ...)
- vlv dpll code refactoring to prep fro bxt (Imre)
- refactoring the sprite colorkey code (Ville)
- rotated ggtt view support from Tvrtko
- roll out struct drm_atomic_state to prep for atomic update (Ander)
* tag 'drm-intel-next-2015-03-27-merge' of
git://anongit.freedesktop.org/drm-intel: (473 commits)
Linux 4.0-rc6
arm64: juno: Fix misleading name of UART reference clock
drm/i915: Update DRIVER_DATE to 20150327
drm/i915: Skip allocating shadow batch for 0-length batches
drm/i915: Handle error to get connector state when staging config
drm/i915: Compare GGTT view structs instead of types
drm/i915: fix simple_return.cocci warnings
drm/i915: Add module param to test the load detect code
drm/i915: Remove usage of encoder->new_crtc from clock computations
drm/i915: Don't look at staged config crtc when changing DRRS state
drm/i915: Convert intel_pipe_will_have_type() to using atomic state
drm/i915: Pass an atomic state to modeset_global_resources() functions
drm/i915: Add dynamic page trace events
drm/i915: Finish gen6/7 dynamic page table allocation
drm/i915: Remove unnecessary gen6_ppgtt_unmap_pages
drm/i915: Fix i915_dma_map_single positive error code
drm/i915: Prevent out of range pt in gen6_for_each_pde
drm/i915: fix definition of the DRM_IOCTL_I915_GET_SPRITE_COLORKEY ioctl
drm/i915: Rip out GET_SPRITE_COLORKEY ioctl
watchdog: imgpdc: Fix default heartbeat
...
commit bbdb38a22e8a5197a6db1e4d22d7e5c6c368e7f7
Author: Aaron Sierra <asierra@xxxxxxxxxxx>
Date: Tue Mar 31 14:35:36 2015 -0700
Input: tsc2007 - Convert msecs to jiffies only once
Eliminate redundant calculations by performing millisecond to jiffy
calculations once during driver initialization.
Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 9911674fcf1f239ff3c87e56177c4826e33dfd95
Merge: f6a69a8 0704fae
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Mar 31 17:19:19 2015 -0400
Merge branch 'ptp-ns_to_timespec64'
Richard Cochran says:
====================
ptp: remove open coded ns_to_timespec64 and reverse
This patch series is a follow up to the recent timespec64 work for the
PTP Hardware Clock drivers. Arnd noticed that drivers are using open
coded implementations of ns_to_timespec64 and timespec64_to_ns. This
series replaces the open coded logic with the helper functions.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0704fae33c201dbda338f748b45ebae54eeb4a69
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Tue Mar 31 23:08:13 2015 +0200
ptp: ixgbe: use helpers for converting ns to timespec.
This patch changes the driver to use ns_to_timespec64() and
timespec64_to_ns() instead of open coding the same logic.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 6630514fcee9987a06e991956a1e8eaa2a421a70
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Tue Mar 31 23:08:09 2015 +0200
ptp: fec: use helpers for converting ns to timespec.
This patch changes the driver to use ns_to_timespec64() and
timespec64_to_ns() instead of open coding the same logic.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7a20efb07437f8716977401c5bd183c3d192ff12
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Tue Mar 31 23:08:08 2015 +0200
ptp: tg3: use helpers for converting ns to timespec.
This patch changes the driver to use ns_to_timespec64() instead of
open coding the same logic.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 96ff1c37a8453e72d91179987337d6159768a9e4
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Tue Mar 31 23:08:06 2015 +0200
ptp: blackfin: use helpers for converting ns to timespec.
This patch changes the driver to use ns_to_timespec64() and
timespec64_to_ns() instead of open coding the same logic.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 84d923ce4a70858c0b23afa5efb812df791b29f2
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Tue Mar 31 23:08:16 2015 +0200
ptp: cpts: use helpers for converting ns to timespec.
This patch changes the driver to use ns_to_timespec64() and
timespec64_to_ns() instead of open coding the same logic.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e7ea55be29bb65e393ff17bd49ec9f5c12614108
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Tue Mar 31 23:08:15 2015 +0200
ptp: stmmac: use helpers for converting ns to timespec.
This patch changes the driver to use ns_to_timespec64() instead of
open coding the same logic.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f75419c81edf8e5c287cefd6e9a419b6e3c1300a
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Tue Mar 31 23:08:14 2015 +0200
ptp: mlx4: use helpers for converting ns to timespec.
This patch changes the driver to use ns_to_timespec64() instead of
open coding the same logic.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 350f66d58a62e63ef3163450f68ed4b2a0ab507b
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Tue Mar 31 23:08:12 2015 +0200
ptp: igb: use helpers for converting ns to timespec.
This patch changes the driver to use ns_to_timespec64() and
timespec64_to_ns() instead of open coding the same logic.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit bdf36d947134baced573594118ff575f5c6cb77b
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Tue Mar 31 23:08:11 2015 +0200
ptp: e1000e: use helpers for converting ns to timespec.
This patch changes the driver to use ns_to_timespec64() instead of
open coding the same logic.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Acked-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3359e7c2e904eac4e76d5b8b5e9390a622863df8
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Tue Mar 31 23:08:10 2015 +0200
ptp: gianfar: use helpers for converting ns to timespec.
This patch changes the driver to use ns_to_timespec64() and
timespec64_to_ns() instead of open coding the same logic.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f7dcdefe362c06a36483679defb116dda02177e1
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Tue Mar 31 23:08:07 2015 +0200
ptp: bnx2x: use helpers for converting ns to timespec.
This patch changes the driver to use ns_to_timespec64() and
timespec64_to_ns() instead of open coding the same logic.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f6a69a8fd6c009c0f5958f769dd4165773c75695
Author: Mahesh Bandewar <maheshb@xxxxxxxxxx>
Date: Mon Mar 30 14:31:16 2015 -0700
bonding: Fix another case of LACPDU not sent on slave
When mii-mon discovers that the link is up, it will call
bond_3ad_handle_link_change() but we forget to add the LACP_ENABLED
flag when we discover the speed and duplex for the slave link are
normal.
Change-Id: Ie8b268ecfeea0f99bf9fdcd72706c0653f9d9e49
Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx>
Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ef015d72e55166c8785e897ecec149e0a20b742f
Author: Mahesh Bandewar <maheshb@xxxxxxxxxx>
Date: Mon Mar 30 14:30:40 2015 -0700
bonding: deprecate BOND_MONITOR_CHURNED in favor of existing definitions
AD_PORT_ACTOR_CHURN and AD_PORT_PARTNER_CHURN are already present and
essentially BOND_MONITOR_CHURNED is a combination of these two
definitions.
Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx>
Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 9870d7809575515e26194f4b3df1750872a6ee60
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Tue Mar 31 12:48:16 2015 -0300
perf ordered_samples: Remove references to perf_{evlist,tool} and machines
As these can be obtained from the ordered_events pointer, via
container_of, reducing the cross section of ordered_samples.
These were added to ordered_samples in:
commit b7b61cbebd789a3dbca522e3fdb727fe5c95593f
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Tue Mar 3 11:58:45 2015 -0300
perf ordered_events: Shorten function signatures
By keeping pointers to machines, evlist and tool in ordered_events.
But that was more a transitional patch while moving stuff out from
perf_session.c to ordered_events.c and possibly not even needed by then,
as we could use the container_of() method and instead of having the
nr_unordered_samples stats in events_stats, we can have it in
ordered_samples.
Based-on-a-patch-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link: http://lkml.kernel.org/n/tip-4lk0t9js82g0tfc0x1onpkjt@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit aae59fab978e143f24d22e52f075c4be3ee4e628
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Tue Mar 31 09:53:50 2015 -0300
perf session: Always initialize ordered_events
Even when it is not used to actually reorder events, some of its fields
are used, like session->ordered_events->tool, to shorten function
signatures where tool, for instance, was being passed, as the tool is
needed for the ordered_events code, we need it there and might as well
use it for other perf_session needs.
This fixes a problem where 'perf script' had some condition that made
session->ordered_events not to be initialized even with its
script->tool ordered_events related flags asking for it to be, which
looks like another bug and needs to be investigated further.
Always initializing session->ordered_events at least leaves the current
assumptions in place, so do it now.
Reported-by: David Ahern <dsahern@xxxxxxxxx>
Reviewed-by: David Ahern <dsahern@xxxxxxxxx>
Tested-by: David Ahern <dsahern@xxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link: http://lkml.kernel.org/n/tip-b1xxk0rwkz2a0gip1uufmjqg@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit ca6c41c59b964d362823e80442e9e32c31106b29
Author: David Ahern <dsahern@xxxxxxxxx>
Date: Mon Mar 30 14:35:58 2015 -0600
perf tools: Fix ppid for synthesized fork events
363b785f38 added synthesized fork events and set a thread's parent id to
itself. Since we are already processing /proc/<pid>/status the ppid can
be determined properly. Make it so.
Signed-off-by: David Ahern <dsahern@xxxxxxxxx>
Acked-by: Don Zickus <dzickus@xxxxxxxxxx>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Joe Mario <jmario@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427747758-18510-2-git-send-email-dsahern@xxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 5aa0b030e8d29d6719c144818814b519cfcb105c
Author: David Ahern <dsahern@xxxxxxxxx>
Date: Mon Mar 30 14:35:57 2015 -0600
perf tools: Refactor comm/tgid lookup
Rather than parsing /proc/pid/status file one line at a time, read it
into a buffer in one shot and search for all strings in one pass.
tgid conversion also simplified -- removing the isspace walk. As noted
by Arnaldo those are not needed for atoi == strtol calls.
Signed-off-by: David Ahern <dsahern@xxxxxxxxx>
Acked-by: Don Zickus <dzickus@xxxxxxxxxx>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Joe Mario <jmario@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427747758-18510-1-git-send-email-dsahern@xxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 73dbcd6537f0ef6bf98d84f8fd7f8ab9994c6cd8
Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 10:11:00 2015 +0200
perf callchain: Fix kernel symbol resolution by remembering the cpumode
Commit 2e77784bb7d8 ("perf callchain: Move cpumode resolve code to
add_callchain_ip") promised "No change in behavior.".
As this commit breaks callchains on s390x (symbols not getting resolved,
observed when profiling the kernel), this statement is wrong. The cpumode
must be kept when iterating over all ips, otherwise the default
(PERF_RECORD_MISC_USER) will be used by error.
Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Cc: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx>
Cc: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx>
Cc: Kan Liang <kan.liang@xxxxxxxxx>
Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427703060-59883-1-git-send-email-dahi@xxxxxxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit ec9a82fbb10951b1841d8bbbe599f91e8ab2f67f
Merge: 34d21e3 fa69359
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Mar 31 16:51:18 2015 -0400
Merge branch 'macb-next'
Nicolas Ferre says:
====================
net/macb: fixes after big driver update
The recent modifications to the macb driver lead to issues with the probe
function code flow. Here are some attempt to fix them.
This time, some more issues are fixed related to the clock as reported by
Boris
Brezillon.
The series is written on top of net-next.
Changes in v2:
- address Cyrille comment about exit condition of queue configuration loop
- add fixes for probe sequence related to clocks
- add ethtool register dump
- fix peripheral version test
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit fa6935981af81706f363df4b6f1285a20dc7ae17
Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Date: Tue Mar 31 15:02:06 2015 +0200
net/macb: unify peripheral version testing
As we need to check peripheral version from the hardware during probe, I
introduce a little helper to unify these tests. It would prevent to
de-synchronize the test like previously observed.
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 361918970b7426bba97a64678ef2b2679c37199b
Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Date: Tue Mar 31 15:02:05 2015 +0200
net/macb: fix the peripheral version test
We currently need two checks of the peripheral version in MACB_MID
register.
One of them got out of sync after modification by 8a013a9c71b2 (net: macb:
Include multi queue support for xilinx ZynqMP ethernet version).
Fix this in macb_configure_caps() so that xilinx ZynqMP will be considered
as a GEM flavor.
Fixes: 8a013a9c71b2 ("net: macb: Include multi queue support for xilinx
ZynqMP
ethernet version")
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Cc: Michal Simek <michal.simek@xxxxxxxxxx>
Cc: Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> #4.0 (if it doesn't make it for -final)
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7c39994fc1e2b6a1bb5cb207a88e88a6b1ac1694
Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Date: Tue Mar 31 15:02:04 2015 +0200
net/macb: add the user i/o to ethtool register dump
User i/o register EMAC_USRIO or GMAC_UR can be found on both macb and gem
flavors of the peripheral. By using the proper accessor, we can add it to
the
register dump feature of ethtool.
Increment the version of this API so it can be noticed from user space.
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit c69618b3e4f220f4990b91596d40ea3c4cdc938a
Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Date: Tue Mar 31 15:02:03 2015 +0200
net/macb: fix probe sequence to setup clocks earlier
As accessing the peripheral registers need the clocks to be set, we have
to
enable them as soon as possible. Their configuration depend on the type of
device used and determined by the DT compatible string. That lead to add
another initialization function in the DT configuration structure.
As the device private structure length depend on an information read in
the
registers, we have to store the clock pointers in temporary variables
before
feeding the structure fields.
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ad78347f06581e445790343bc1d9e34375f11fd4
Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Date: Tue Mar 31 15:02:02 2015 +0200
net/macb: trivial: correct wording for caps
As a non-native English speaker, I would correct "capacities" of the macb
peripheral to "capabilities": correct me if I'm wrong!
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f6970505defd0e7bb5dea9606939bb3b32e51768
Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Date: Tue Mar 31 15:02:01 2015 +0200
net/macb: fix capabilities configuration
Capabilities configuration by macb_configure_caps() was moved far too
late by
421d9df0628b (net/macb: merge at91_ether driver into macb driver) which
would
lead to badly configured hardware.
So, move this function to early probe and modify its prototype to re-gain
its
original behavior.
DT data retrieval is also moved to simplify the probe code flow.
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Cc: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx>
Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit da120112493460332b5b430070ca0ea205c37632
Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Date: Tue Mar 31 15:02:00 2015 +0200
net/macb: add comment in macb_probe_queues
As we access the MID register directly, we need to tell why
we don't use the macb_is_gem() dedicated function.
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit bfa0914afa95d44df9e1a1553e0c03a991223db3
Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Date: Tue Mar 31 15:01:59 2015 +0200
net/macb: only probe queues once and use stored values
When merging at91_ether and macb driver during 421d9df0628b (net/macb:
merge
at91_ether driver into macb driver) the probe function has been split.
The code
dealing with initialization of queues is now moved in macb_init() which
needs
information computed in the parent macb_probe() function.
So, add the queue_mask information to the private structure and use it
when
needed in macb_init().
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Cc: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1ec8c0c47f63b4af66e3615618f842267ac88b4a
Author: Kinglong Mee <kinglongmee@xxxxxxxxx>
Date: Sat Mar 28 23:46:09 2015 +0800
nfsd: Remove duplicate macro define for max sec label length
NFS4_MAXLABELLEN has defined for sec label max length, use it directly.
Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx>
Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
commit b14f4f7e61aaa4437a42e2e11055fc01782a15bf
Author: J. Bruce Fields <bfields@xxxxxxxxxx>
Date: Thu Mar 26 10:37:51 2015 -0400
nfsd: allow setting acls with unenforceable DENYs
We've been refusing ACLs that DENY permissions that we can't effectively
deny. (For example, we can't deny permission to read attributes.)
Andreas points out that any DENY of Window's "read", "write", or
"modify" permissions would trigger this. That would be annoying.
So maybe we should be a little less paranoid, and ignore entirely the
permissions that are meaningless to us.
Reported-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx>
Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
commit 629b8729cc2ca8fde7deb008dab09f3ad19fed52
Author: Chengyu Song <csong84@xxxxxxxxxx>
Date: Wed Mar 25 16:37:07 2015 -0400
nfsd: NFSD_FAULT_INJECTION depends on DEBUG_FS
NFSD_FAULT_INJECTION depends on DEBUG_FS, otherwise the debugfs_create_*
interface may return unexpected error -ENODEV, and cause system crash.
Signed-off-by: Chengyu Song <csong84@xxxxxxxxxx>
Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
commit 4229789993ee23bf35ee87546655bbbb6013569a
Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx>
Date: Mon Mar 23 10:53:44 2015 -0400
nfsd: remove unused status arg to nfsd4_cleanup_open_state
Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
commit fc26c3860a6a4a9396f401024f1cc91a95a59143
Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx>
Date: Mon Mar 23 10:53:43 2015 -0400
nfsd: remove bogus setting of status in nfsd4_process_open2
status is always reset after this (and it doesn't make much sense there
anyway).
Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
commit beaca2347f1b7986376e3906dfa7615a9d6f53d8
Author: Kinglong Mee <kinglongmee@xxxxxxxxx>
Date: Sun Mar 15 23:35:11 2015 +0800
NFSD: Use correct reply size calculating function
ALLOCATE/DEALLOCATE only reply one status value to client,
so, using nfsd4_only_status_rsize for reply size calculating.
Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx>
Reviewed-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
commit b77a4b2edb29459ad039a1d8f5769bb2192acae1
Author: Kinglong Mee <kinglongmee@xxxxxxxxx>
Date: Sun Mar 15 23:13:32 2015 +0800
NFSD: Using path_equal() for checking two paths
Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx>
Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
commit 34d21e3f399729ca7c89636207fe41c481d99352
Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Date: Mon Mar 30 13:43:38 2015 -0300
net: smc91x: Remove an unused variable
Commit cb6e0b3690f48dff ("net: smc91x: make use of 4th parameter to
devm_gpiod_get_index")
caused the following build warning:
drivers/net/ethernet/smsc/smc91x.c:2208:6: warning: unused variable 'res'
[-Wunused-variable]
Remove the unused 'res' variable.
Reported-by: Olof's autobuilder <build@xxxxxxxxx>
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7b6249bba940f57c20cdde793b306ca3831778c7
Merge: fbcb217 2c44be8
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Mar 31 16:39:04 2015 -0400
Merge tag 'mac80211-next-for-davem-2015-03-30' of
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
Johannes Berg says:
====================
Lots of updates for net-next; along with the usual flurry
of small fixes, cleanups and internal features we have:
* VHT support for TDLS and IBSS (conditional on drivers though)
* first TX performance improvements (the biggest will come later)
* many suspend/resume (race) fixes
* name_assign_type support from Tom Gundersen
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit fbcb21705930f2930f506149d0b8d36dfbe45107
Author: Jiri Pirko <jiri@xxxxxxxxxxx>
Date: Mon Mar 30 16:56:01 2015 +0200
net: rename dev to orig_dev in deliver_ptype_list_skb
Unlike other places, this function uses name "dev" for what should be
"orig_dev", which might be a bit confusing. So fix this.
Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3aa10dad5b1bafc6107f96ffe7b936d8cab75b92
Merge: c997533 a3333b3
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Mar 31 16:36:51 2015 -0400
Merge branch 'mlx4-next'
Or Gerlitz says:
====================
mlx4: Extend statistics gathering and display
This series from Eran and Matan extends the statistics collected and later
reported to the user via ethtool for native mode and SRIOV PF.
More Packet statistics, PFC statistics and global pause statistics
are now displayed via ethtool.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a3333b35da1634f49aca541f2574a084221e2616
Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx>
Date: Mon Mar 30 17:45:26 2015 +0300
net/mlx4_en: Moderate ethtool callback to show more statistics
More packet statistics are now calculated and visible to the user via
ethtool:
- RX packet errors statistics.
- TX/RX drops are now calculated.
- TX multicast and broadcast statistics.
- RX/TX per priority bytes statistics.
- RX/TX no vlan packets and bytes statistics.
Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx>
Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0b131561a7d639abb0a194d2d8fae839ce3b99e9
Author: Matan Barak <matanb@xxxxxxxxxxxx>
Date: Mon Mar 30 17:45:25 2015 +0300
net/mlx4_en: Add Flow control statistics display via ethtool
Flow control per priority and Global pause counters are now visible via
ethtool. The counters shows statistics regarding pauses in the device.
Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx>
Signed-off-by: Shani Michaeli <shanim@xxxxxxxxxxxx>
Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx>
Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3da8a36cc5c2a172bb42f8dc89638f5b41d7d7a6
Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx>
Date: Mon Mar 30 17:45:24 2015 +0300
net/mlx4_en: Protect access to the statistics bitmap
This will allow parallel access to the statistics bitmap.
A pre-step for adding PFC counters, where the statistics bitmap
can be dynamically changed when modifying the PFC setting.
Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx>
Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 6fcd27354b36fb9234aabeecde337b40d5a16842
Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx>
Date: Mon Mar 30 17:45:23 2015 +0300
net/mlx4_en: Support general selective view of ethtool statistics
The driver uses a bitmask to indicate which statistics should be
displayed to the user in ethtool. The bitmask is u64, therefore we are
limited for a selective view of up to 64 statistics. Extend the bitmap
in order to show more than 64 statistics.
In addition, add packet statistics to the ethtool display for PF.
Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx>
Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ffa88f37ffeaac398be68f9678b0e6046a5ba7f6
Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx>
Date: Mon Mar 30 17:45:22 2015 +0300
net/mlx4_en: Move statistics bitmap setting to the Ethernet driver
The statistics bitmap belongs to the Ethernet driver, move it there.
Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx>
Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b4b6e842fc590de809a2f5af472a4ba64999e6b1
Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx>
Date: Mon Mar 30 17:45:21 2015 +0300
net/mlx4_en: Create new header file for all statistics info
Add mlx4_stats.h file and move there all statistics structs and marcos.
Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx>
Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 66f24a7ebffc5eaef9b799a2a72dd61149ad846b
Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx>
Date: Mon Mar 30 17:45:20 2015 +0300
net/mlx4_en: Fix port counters statistics bitmask
Two counters (rx_chksum_complete and tx_chksum_offload) are not displayed
under SRIOV for the PF via ethtool because their bit mask is off, fix
that.
Fixes: f8c6455bb ('net/mlx4_en: Extend checksum offloading by CHECKSUM
COMPLETE')
Fixes: 9fab426de ('mlx4: add a new xmit_more counter')
Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx>
Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx>
Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f9c0d76eb47e115f64006a8406f6494387fc428c
Author: Sebastian Reichel <sre@xxxxxxxxxx>
Date: Tue Mar 3 01:14:41 2015 +0100
HSI: nokia-modem: Add cmt-speech support
Register cmt-speech driver in nokia-modem driver and forward
hsi channel information.
Acked-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Tested-by: Pavel Machek <pavel@xxxxxx>
Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
commit 7f62fe8a5851db94e10d8d956c123d4011aaeed9
Author: Kai Vehmanen <kai.vehmanen@xxxxxxxxx>
Date: Wed Jun 2 22:23:34 2010 +0300
HSI: cmt_speech: Add cmt-speech driver
Introduces the cmt-speech driver, which implements
a character device interface for transferring speech
data frames over HSI/SSI.
The driver is used to exchange voice/speech data between
the Nokia N900/N950/N9's modem and its cpu.
Signed-off-by: Kai Vehmanen <kai.vehmanen@xxxxxxxxx>
Signed-off-by: Carlos Chinea <carlos.chinea@xxxxxxxxx>
Signed-off-by: Joni Lapilainen <joni.lapilainen@xxxxxxxxx>
Since the original driver has been written for 2.6.28 some
build fixes and general cleanups have been added by me:
* fix build for 4.0 kernel
* replace GFP_ATOMIC with GFP_KERNEL in cs_alloc_cmds()
* add sanity check for CS_SET_WAKELINE ioctl
* cleanup driver initialisation
* rename driver to cmt-speech to be consistent with
ssi-protocol driver
* move cs-protocol.h to include/uapi/linux/hsi, since
it describes a userspace API
* replace hardcoded channels numbers with values provided
via the HSI framework (e.g. coming from DT)
Acked-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Tested-by: Pavel Machek <pavel@xxxxxx>
Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
commit 8f3d7346435e8db1719f8cacb2de4fe87a68cb55
Author: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx>
Date: Sat Mar 28 09:51:13 2015 +0800
selftests/mount: Make git ignore all binaries in mount test suite
This patch includes the mount test binaries into the .gitignore
file listing in their respective directories. This will make sure
that git ignores all of these test binaries when displaying status.
Signed-off-by: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx>
Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
commit e48f284d63ece564f8aa19fbf5434b3458af8d3f
Author: John Stultz <john.stultz@xxxxxxxxxx>
Date: Wed Mar 25 16:44:33 2015 -0700
kselftests: timers: Reduce default runtime on inconsistency-check and
set-timer-lat
For the default run_timers target, the timers tests takes the
majority of kselftests runtime.
So this patch reduces the default runtime for inconsistentcy-check
and set-timer-lat, which reduced the runtime almost in half.
Before: 11m48.629s
After: 6m47.723s
Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
Cc: Prarit Bhargava <prarit@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
commit 816c7667ea97c61884e014cfeedaede5b67b0e58
Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Date: Mon Nov 24 17:13:46 2014 +0100
KVM: s390: migrate vcpu interrupt state
This patch adds support to migrate vcpu interrupts. Two new vcpu ioctls
are added which get/set the complete status of pending interrupts in one
go. The ioctls are marked as available with the new capability
KVM_CAP_S390_IRQ_STATE.
We can not use a ONEREG, as the number of pending local interrupts is not
constant and depends on the number of CPUs.
To retrieve the interrupt state we add an ioctl KVM_S390_GET_IRQ_STATE.
Its input parameter is a pointer to a struct kvm_s390_irq_state which
has a buffer and length. For all currently pending interrupts, we copy
a struct kvm_s390_irq into the buffer and pass it to userspace.
To store interrupt state into a buffer provided by userspace, we add an
ioctl KVM_S390_SET_IRQ_STATE. It passes a struct kvm_s390_irq_state into
the kernel and injects all interrupts contained in the buffer.
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 79e87a103de1eda0cb4d726cd8581798e2d38f3e
Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 19 15:12:12 2015 +0100
KVM: s390: refactor vcpu injection function
Let's provide a version of kvm_s390_inject_vcpu() that
does not acquire the local-interrupt lock and skips
waking up the vcpu.
To be used in a later patch for vcpu-local interrupt migration,
where we are already holding the lock.
Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 47b43c52ee4b0425449d1b2b1eedca7f6b7a578a
Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Date: Tue Nov 11 20:57:06 2014 +0100
KVM: s390: add ioctl to inject local interrupts
We have introduced struct kvm_s390_irq a while ago which allows to
inject all kinds of interrupts as defined in the Principles of
Operation.
Add ioctl to inject interrupts with the extended struct kvm_s390_irq
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit b4aec92567f3146167cbc262c686ff73730aa4ca
Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx>
Date: Mon Dec 1 15:55:42 2014 +0100
KVM: s390: cpu timer irq priority
We now have a mechanism for delivering interrupts according to their
priority.
Let's inject them using our new infrastructure (instead of letting only
hardware
handle them), so we can be sure that the irq priorities are satisfied.
For s390, the cpu timer and the clock comparator are to be checked for
common
code kvm_cpu_has_pending_timer(), although the cpu timer is only stepped
when
the guest is being executed.
Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 6d3da241416e6088f83a7ff1f37fb6bb518d9bc8
Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Date: Wed Jul 3 15:18:35 2013 +0200
KVM: s390: deliver floating interrupts in order of priority
This patch makes interrupt handling compliant to the z/Architecture
Principles of Operation with regard to interrupt priorities.
Add a bitmap for pending floating interrupts. Each bit relates to a
interrupt type and its list. A turned on bit indicates that a list
contains items (interrupts) which need to be delivered. When delivering
interrupts on a cpu we can merge the existing bitmap for cpu-local
interrupts and floating interrupts and have a single mechanism for
delivery.
Currently we have one list for all kinds of floating interrupts and a
corresponding spin lock. This patch adds a separate list per
interrupt type. An exception to this are service signal and machine check
interrupts, as there can be only one pending interrupt at a time.
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 94aa033efcac47b09db22cb561e135baf37b7887
Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 16 12:17:13 2015 +0100
KVM: s390: fix get_all_floating_irqs
This fixes a bug introduced with commit c05c4186bbe4 ("KVM: s390:
add floating irq controller").
get_all_floating_irqs() does copy_to_user() while holding
a spin lock. Let's fix this by filling a temporary buffer
first and copy it to userspace after giving up the lock.
Cc: <stable@xxxxxxxxxxxxxxx> # 3.18+: 69a8d4562638 KVM: s390: no need to
hold...
Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit ca125b5e31f5ada6844f57c5a8e7cd104d26c8fa
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Thu Feb 12 11:47:04 2015 +0200
ARM: OMAP4+: control: add support for initializing control module via DT
OMAP4, OMAP5 and DRA7 now parse DT entries for control module address
spaces,
and set up syscon mappings appropriately. Low level IO init is updated to
remove the legacy control module mappings for these devices also.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit d919501feffa8715147582c3ffce96fad0c7016f
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Thu Feb 12 11:37:13 2015 +0200
ARM: dts: dra7: add minimal l4 bus layout with control module support
This patch creates the l4_cfg and l4_wkup interconnects for DRA7, and
moves some of the generic peripherals under it. System control module
support is added to the device tree also, and the existing SCM related
functionality is moved under it.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit ed8509edddebf27e6e69f10c9c314f31ac4f2831
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Thu Feb 12 11:35:29 2015 +0200
ARM: dts: omap5: add minimal l4 bus layout with control module support
This patch creates the l4_cfg and l4_wkup interconnects for OMAP5, and
moves some of the generic peripherals under it. System control module
support is added to the device tree also, and the existing SCM related
functionality is moved under it.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit efde234674d9db08b762d9faef4dbbaa2eba3a2e
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Fri Feb 20 10:08:52 2015 +0200
ARM: OMAP4+: control: remove support for legacy pad read/write
omap4_ctrl_pad_readl/writel are no longer used by anybody, so remove
these. Syscon / pinctrl should be used to access the padconf area
instead.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 23d34981c7e36fb609d3eaacf0a52a05d75ae008
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Thu Feb 19 12:42:59 2015 +0200
ARM: OMAP4: display: convert display to use syscon for dsi muxing
The legacy control module APIs will be gone, thus convert the display
driver to use syscon. This change should eventually be moved to
display driver from the board directory.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
commit 7415b0b4c645fe9897352f144f056fd557526667
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Thu Feb 12 11:32:14 2015 +0200
ARM: dts: omap4: add minimal l4 bus layout with control module support
This patch creates the l4_cfg and l4_wkup interconnects for OMAP4, and
moves some of the generic peripherals under it. System control module
support is added to the device tree also, and the existing SCM related
functionality is moved under it.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
Reported-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 83a5d6c98af24bb4531dfc05e7c2d3ac2562c6d9
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Thu Feb 12 10:25:40 2015 +0200
ARM: dts: am4372: add minimal l4 bus layout with control module support
This patch creates an l4_wkup interconnect for AM43xx, and moves some of
the generic peripherals under it. System control module nodes are moved
under this new interconnect also, and the SCM clock layout is changed
to use the renamed SCM nodea as the clock provider.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit d7eaf3c40d8d7e9cd133f0aec85fdca0d546cc1b
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Wed Feb 25 15:03:57 2015 +0200
ARM: dts: am43xx-epos-evm: fix pinmux node layout
Pinmux node should be a reference to the base one, not a complete re-write
of it. Having the node like this also prevents modifying the node layout
in the base am4372.dtsi file, which is needed for control module changes.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit e3bc5358e0977b95652625f9329ba68f1ebb1a42
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Fri Mar 20 13:08:29 2015 +0200
ARM: dts: am33xx: add minimal l4 bus layout with control module support
This patch creates an l4_wkup interconnect for AM33xx, and moves some of
the generic peripherals under it. System control module nodes are moved
under this new interconnect also, and the SCM clock layout is changed
to use the renamed SCM node as the clock provider.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit b8845074cfbbd1d1b46720a1b563d7b4240dac21
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Tue Feb 24 16:22:45 2015 +0200
ARM: dts: omap3: add minimal l4 bus layout with control module support
This patch creates an l4_core interconnect for OMAP3, and moves some
of the generic peripherals under it. System control module nodes are
moved under this new interconnect also, and the SCM clock layout
is changed to use the renamed SCM node as the clock provider.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
Reported-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 72b10ac00eb1c154037e398371685d3f1d2d4793
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Thu Feb 12 10:38:16 2015 +0200
ARM: dts: omap24xx: add minimal l4 bus layout with control module support
This patch creates an l4 / l4-wkup interconnects for omap2420 / omap2430
SoCs, and moves some of the generic peripherals under it. System control
module nodes are moved under this new interconnect also, and the SCM
clock layout is changed to use the new SCM node as the clock provider.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit e5b635742e9824c8c0fc7fc524a24024cf88a448
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Thu Feb 12 11:24:11 2015 +0200
ARM: OMAP2+: control: add syscon support for register accesses
Control module driver needs to support syscon for register accesses, as
the DT hierarchy for control module driver is going to be changed. All
the control module related features will be moved under control module
node, including clocks, pinctrl, and generic configuration register
access. Temporary iomap is still provided very early in the boot for
access while syscon is not yet ready.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 23d240d661f42214bd372c0e5b21afaf71b9329c
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Mon Feb 9 16:17:38 2015 +0200
ARM: OMAP2+: id: cache omap_type value
There is no need to read the register with every invocation of the
function,
as the value is constant. Thus, cache the value in a static variable.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit ae0f6798474053eb76863fa9b3befd9deea58ba6
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Fri Feb 6 16:20:13 2015 +0200
ARM: OMAP2+: control: remove API for getting control module base address
This shall not be used anymore, as control module driver is converted
into using regmap.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 80cbb224b789d256ad5cb36b0af3e5c04ed46bca
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Fri Feb 6 16:00:32 2015 +0200
ARM: OMAP2+: clock: add low-level support for regmap
Some of the TI clock providers will be converted to use syscon, thus
low-level regmap support is needed for the clock drivers also. This
patch adds this support, which can be enabled for individual drivers
in later patches.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 219595b6ee139d883b98a9a32efbe2970802200a
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Mon Sep 8 11:44:10 2014 +0300
ARM: OMAP4+: PRM: get rid of cpu_is_omap44xx calls from interrupt init
The compatible DT node is now passed with the prm init, so there is no
need to do node matching here again. Added a new flag to the init data
also, to detect default IRQ support for OMAP4. Also, any booting omap4
DT setup always has a PRM node, so there is no need to check against
the special case where it would be missing.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 8b5b9a22b57c75905b368194b6fd4c472d5dc630
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Fri Nov 21 14:45:29 2014 +0200
ARM: OMAP4+: PRM: setup prm_features from the PRM init time flags
Currently some cpu_is_X checks are used to setup prm_features, however
the same can be accomplished by just passing these flags from the PRM
init data. This is done in preparation to make PRM a separate driver.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 425dc8b2dff222ffd88f31f589dc647409cae0ce
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Fri Nov 21 15:51:37 2014 +0200
ARM: OMAP2+: CM: move SoC specific init calls within a generic API
This gets rid of need for some exported driver APIs, and simplifies the
initialization of the CM driver. Done in preparation to make CM a
separate driver. The init data is now also passed to the SoC specific
implementations, allowing future expansion to add feature flags etc.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 48e0c1148d18de677f1b2aec179f36fb7c1e3839
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Mon Sep 8 11:29:43 2014 +0300
ARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility
PRM device instance offset is now provided through the prm_init_data.
This gets rid of some cpu_is_X / soc_is_X calls from PRM core code,
preparing for PRM to be its own separate driver.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit ab7b2ffcf576a49b51c240dcd68ca4b7cd60b84d
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Thu Nov 20 15:02:59 2014 +0200
ARM: OMAP2+: PRM: move SoC specific init calls within a generic API
This gets rid of need for some exported driver APIs, and simplifies the
initialization of the PRM driver. Done in preparation to make PRM a
separate driver. The init data is now also passed to the SoC specific
implementations, allowing future expansion to add feature flags etc.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit c99753379ccb26ae0acf3059b579154876e0cf1e
Merge: 3271e4f 451e1ca
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Mar 31 14:15:01 2015 -0400
Merge branch 'bcmgenet-next'
Petri Gynther says:
====================
net: bcmgenet: code cleanup
Five patches to clean up bcmgenet code:
1. add UMAC_IRQ_RXDMA_DONE and UMAC_IRQ_TXDMA_DONE
2. remove __bcmgenet_fini_dma()
3. fix bcmgenet_open()
4. add UMAC_IRQ_LINK_EVENT
5. fix the call to phy_mac_interrupt()
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 451e1ca2ab68b9184379fde7867f278c4b3efc61
Author: Petri Gynther <pgynther@xxxxxxxxxx>
Date: Mon Mar 30 00:29:35 2015 -0700
net: bcmgenet: fix the call to phy_mac_interrupt()
On phy_mac_interrupt() call, the new_link parameter should be 0 or 1.
Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e122966dd9aedb666df93f5ee6007e1688194611
Author: Petri Gynther <pgynther@xxxxxxxxxx>
Date: Mon Mar 30 00:29:24 2015 -0700
net: bcmgenet: add UMAC_IRQ_LINK_EVENT
Add #define UMAC_IRQ_LINK_EVENT to simplify link event handling code.
Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit fac25940c5e0d6f31d56bb2a704fadad6d5e382a
Author: Petri Gynther <pgynther@xxxxxxxxxx>
Date: Mon Mar 30 00:29:13 2015 -0700
net: bcmgenet: fix bcmgenet_open()
If bcmgenet_init_dma() fails, it cleans up after itself. Rx and Tx
DMAs are off, and NAPI instances haven't been netif_napi_add()'ed.
Therefore, we need to skip calling bcmgenet_fini_dma() on the error
handling path. bcmgenet_resume() already does this correctly.
Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 9abab96d9feabf4df87464de035344e91aeefa0a
Author: Petri Gynther <pgynther@xxxxxxxxxx>
Date: Mon Mar 30 00:29:01 2015 -0700
net: bcmgenet: remove __bcmgenet_fini_dma()
bcmgenet_fini_dma() is the only caller of __bcmgenet_fini_dma().
Move __bcmgenet_fini_dma() code inside bcmgenet_fini_dma().
Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ee7d8c2067e1bc633f4df3159698b32a9714f724
Author: Petri Gynther <pgynther@xxxxxxxxxx>
Date: Mon Mar 30 00:28:50 2015 -0700
net: bcmgenet: add UMAC_IRQ_RXDMA_DONE and UMAC_IRQ_TXDMA_DONE
Add #define for UMAC_IRQ_RXDMA_DONE and UMAC_IRQ_TXDMA_DONE in order
to simplify the code that handles Rx and Tx default queue interrupts.
Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3271e4f18d9a4ec9ac5568f94444dac08f29c5a0
Merge: 4e833c5 b08cc79
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Mar 31 14:12:37 2015 -0400
Merge branch 'hv_netvsc-next'
K. Y. Srinivasan says:
====================
hv_netvsc: Eliminate memory allocation in the send path
The network protocol used to communicate with the host is the remote ndis
(rndis)
protocol. We need to decorate each outgoing packet with a rndis header and
additional rndis state (rndis per-packet state). To manage this state, we
currently allocate memory in the transmit path. Eliminate this allocation
by
requesting additional head room in the skb.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b08cc79155fc26d0d112b1470d1ece5034651a4b
Author: KY Srinivasan <kys@xxxxxxxxxxxxx>
Date: Sun Mar 29 21:08:42 2015 -0700
hv_netvsc: Eliminate memory allocation in the packet send path
The network protocol used to communicate with the host is the remote ndis
(rndis)
protocol. We need to decorate each outgoing packet with a rndis header and
additional rndis state (rndis per-packet state). To manage this state, we
currently allocate memory in the transmit path. Eliminate this allocation
by
requesting additional head room in the skb.
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit cbacec76bcd03ff21b37ac331e652b5a8f3ea644
Author: KY Srinivasan <kys@xxxxxxxxxxxxx>
Date: Sun Mar 29 21:08:41 2015 -0700
hv_netvsc: Cleanup the test for freeing skb when we use sendbuf mechanism
In preparation for embedding the rndis state and other packet state into
the skb, cleanup the test for freeing the skb.
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4e833c596ef5f699479a8ba2d3294a004895f5f4
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Sun Mar 29 18:25:12 2015 -0700
ethernet: Use bool function returns of true/false instead of 1/0
Use bool constants as the return values instead of 1 and 0.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8e1fa36b3f5347eabd02385883fb5757aed56687
Merge: f0ef312 67b61f6
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Mar 31 13:58:36 2015 -0400
Merge branch 'nla_in_addr'
Jiri Benc says:
====================
netlink: access functions for IP address attributes
There are many places that read or write IP addresses to netlink
attributes.
With IPv6 addresses, every such place currently has to use generic nla_put
and nla_memcpy. Implementing IPv6 address access functions simplify things
and makes the code more intelligible. IPv4 address access functions has
lesser value but it would be better to be consistent between IPv6 and IPv4
and they still serve as documentation.
The conversion is straightforward and the resulting patches are not that
large, thus I kept all the changes in the patches that introduce the
access
functions. If anyone prefers to split the definition of access functions
and
the conversion and/or break it out by network protocols, please let me
know.
While doing the conversion, I came across ugly typecasting in
inetpeer_addr_base and xfrm_address_t when dealing with IPv6 addresses.
Instead of introducing more of this, I cleaned it up. Those are the first
two patches, serving as a prerequisite to the latter two.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 67b61f6c130a05b2cd4c3dfded49a751ff42c534
Author: Jiri Benc <jbenc@xxxxxxxxxx>
Date: Sun Mar 29 16:59:26 2015 +0200
netlink: implement nla_get_in_addr and nla_get_in6_addr
Those are counterparts to nla_put_in_addr and nla_put_in6_addr.
Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 930345ea630405aa6e6f42efcb149c3f360a6b67
Author: Jiri Benc <jbenc@xxxxxxxxxx>
Date: Sun Mar 29 16:59:25 2015 +0200
netlink: implement nla_put_in_addr and nla_put_in6_addr
IP addresses are often stored in netlink attributes. Add generic functions
to do that.
For nla_put_in_addr, it would be nicer to pass struct in_addr but this is
not used universally throughout the kernel, in way too many places __be32
is
used to store IPv4 address.
Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 15e318bdc6dfb82914c82fb7ad00badaa8387d8e
Author: Jiri Benc <jbenc@xxxxxxxxxx>
Date: Sun Mar 29 16:59:24 2015 +0200
xfrm: simplify xfrm_address_t use
In many places, the a6 field is typecasted to struct in6_addr. As the
fields are in union anyway, just add in6_addr type to the union and
get rid of the typecasting.
Modifying the uapi header is okay, the union has still the same size.
Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8f55db48608b109ad8c7ff4b946ad39b3189a540
Author: Jiri Benc <jbenc@xxxxxxxxxx>
Date: Sun Mar 29 16:59:23 2015 +0200
tcp: simplify inetpeer_addr_base use
In many places, the a6 field is typecasted to struct in6_addr. As the
fields are in union anyway, just add in6_addr type to the union and get
rid
of the typecasting.
Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f0ef31264cde8b489a0b87149ebc3a72cef4c58a
Author: Jiri Benc <jbenc@xxxxxxxxxx>
Date: Sun Mar 29 16:17:37 2015 +0200
vxlan: fix indentation
Some lines in vxlan code are indented by 7 spaces instead of a tab.
Fixes: e4c7ed415387 ("vxlan: add ipv6 support")
Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx>
Acked-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1695fb46eb5880dae70b4940a7d6bdf6e276104d
Merge: bc48878 53b24b8
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Mar 31 13:51:59 2015 -0400
Merge branch 'ipv6_null'
Ian Morris says:
====================
ipv6: coding style - comparisons with NULL
The following patches address some coding style issues only. No
functional changes and no changes detected by objdiff.
The IPV6 code uses multiple different styles when comparing with NULL
(I.e. x == NULL and !x as well as x != NULL and x). Generally the
latter form is preferred according to checkpatch and so this changes
aligns the code to this style.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 53b24b8f94cb15e38e332db82177cf3f0f4df0c5
Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx>
Date: Sun Mar 29 14:00:05 2015 +0100
ipv6: coding style: comparison for inequality with NULL
The ipv6 code uses a mixture of coding styles. In some instances check
for NULL
pointer is done as x != NULL and sometimes as x. x is preferred according
to
checkpatch and this patch makes the code consistent by adopting the latter
form.
No changes detected by objdiff.
Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 63159f29be1df7f93563a8a0f78c5e65fc844ed6
Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx>
Date: Sun Mar 29 14:00:04 2015 +0100
ipv6: coding style: comparison for equality with NULL
The ipv6 code uses a mixture of coding styles. In some instances check
for NULL
pointer is done as x == NULL and sometimes as !x. !x is preferred
according to
checkpatch and this patch makes the code consistent by adopting the latter
form.
No changes detected by objdiff.
Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 18779b75e90e75bf7f1aee8e71307b69fa5f7631
Author: Casey Schaufler <casey@xxxxxxxxxxxxxxxx>
Date: Tue Mar 31 09:49:40 2015 -0700
Smack: Updates for Smack documentation
Document the Smack bringup features. Update the proper location for
mounting smackfs from /smack to /sys/fs/smackfs. Fix some spelling errors.
Suggest the use of the load2 interface instead of the load interface.
Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx>
commit bc48878c06028f297e4fdf75be7dda88de050430
Merge: 19a1204 0f587f1
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Mar 31 13:34:15 2015 -0400
Merge branch 'bnx2x-next'
Yuval Mintz says:
====================
bnx2x: link and protection changes
This patch series contains 2 small additions to link configuration,
as well as a safeguard against loading the device on a hardware at
a failed state.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0f587f1bfb1fb15d9ebd94c565dd11ae6d4e03b6
Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx>
Date: Sun Mar 29 10:05:01 2015 +0300
bnx2x: Prevent probe as early as possible
It's possible that due to errors [either on PCI or on device itself]
registers reads would fail, returning all-Fs.
This adds a check as early as possible so that driver will not read junk
values and make incorrect probe decisions according to them; instead,
gracefully fail the probe.
Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx>
Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit fcd02d27b5c543f2d4538d2ac402fed1154c6dfb
Author: Yaniv Rosner <Yaniv.Rosner@xxxxxxxxxx>
Date: Sun Mar 29 10:05:00 2015 +0300
bnx2x: Count number of link changes
Number of link changes are now being stored in shared memory [by all
possible
link owners], for management use [as well as possible debug information
for
dumps].
Signed-off-by: Yaniv Rosner <Yaniv.Rosner@xxxxxxxxxx>
Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx>
Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 30fd9ff0d9e0d1f83e0ae59cbef3b78648f42b46
Author: Yaniv Rosner <Yaniv.Rosner@xxxxxxxxxx>
Date: Sun Mar 29 10:04:59 2015 +0300
bnx2x: Configure IFir et al. according to nvram
Enable controlling Post2, coeff, IPreDriver and IFir according to NVRAM
setup.
Signed-off-by: Yaniv Rosner <Yaniv.Rosner@xxxxxxxxxx>
Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx>
Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 19a12049cd12ea2c5195f81e747adbc2c89e6560
Author: Mahesh Bandewar <maheshb@xxxxxxxxxx>
Date: Fri Mar 27 22:34:31 2015 -0700
bonding: Remove hardcoded initialization
Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx>
Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 6e47d6caff9e8af6db0741ddbd260bdd36d24c13
Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Date: Fri Mar 27 14:14:22 2015 -0700
fib_trie: Cleanup ip_fib_net_exit code path
While fixing a recent issue I noticed that we are doing some unnecessary
work inside the loop for ip_fib_net_exit. As such I am pulling out the
initialization to NULL for the locally stored fib_local, fib_main, and
fib_default.
In addition I am restoring the original code for flushing the table as
there is no need to split up the fib_table_flush and hlist_del work since
the code for packing the tnodes with multiple key vectors was dropped.
Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ad88d05136386de3584867091a51927eab18dc39
Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Date: Fri Mar 27 14:14:16 2015 -0700
fib_trie: Fix warning on fib4_rules_exit
This fixes the following warning:
BUG: sleeping function called from invalid context at mm/slub.c:1268
in_atomic(): 1, irqs_disabled(): 0, pid: 6, name: kworker/u8:0
INFO: lockdep is turned off.
CPU: 3 PID: 6 Comm: kworker/u8:0 Tainted: G W 4.0.0-rc5+
#895
Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
Workqueue: netns cleanup_net
0000000000000006 ffff88011953fa68 ffffffff81a203b6 000000002c3a2c39
ffff88011952a680 ffff88011953fa98 ffffffff8109daf0 ffff8801186c6aa8
ffffffff81fbc9e5 00000000000004f4 0000000000000000 ffff88011953fac8
Call Trace:
[<ffffffff81a203b6>] dump_stack+0x4c/0x65
[<ffffffff8109daf0>] ___might_sleep+0x1c3/0x1cb
[<ffffffff8109db70>] __might_sleep+0x78/0x80
[<ffffffff8117a60e>] slab_pre_alloc_hook+0x31/0x8f
[<ffffffff8117d4f6>] __kmalloc+0x69/0x14e
[<ffffffff818ed0e1>] ? kzalloc.constprop.20+0xe/0x10
[<ffffffff818ed0e1>] kzalloc.constprop.20+0xe/0x10
[<ffffffff818ef622>] fib_trie_table+0x27/0x8b
[<ffffffff818ef6bd>] fib_trie_unmerge+0x37/0x2a6
[<ffffffff810b06e1>] ? arch_local_irq_save+0x9/0xc
[<ffffffff818e9793>] fib_unmerge+0x2d/0xb3
[<ffffffff818f5f56>] fib4_rule_delete+0x1f/0x52
[<ffffffff817f1c3f>] ? fib_rules_unregister+0x30/0xb2
[<ffffffff817f1c8b>] fib_rules_unregister+0x7c/0xb2
[<ffffffff818f64a1>] fib4_rules_exit+0x15/0x18
[<ffffffff818e8c0a>] ip_fib_net_exit+0x23/0xf2
[<ffffffff818e91f8>] fib_net_exit+0x32/0x36
[<ffffffff817c8352>] ops_exit_list+0x45/0x57
[<ffffffff817c8d3d>] cleanup_net+0x13c/0x1cd
[<ffffffff8108b05d>] process_one_work+0x255/0x4ad
[<ffffffff8108af69>] ? process_one_work+0x161/0x4ad
[<ffffffff8108b4b1>] worker_thread+0x1cd/0x2ab
[<ffffffff8108b2e4>] ? process_scheduled_works+0x2f/0x2f
[<ffffffff81090686>] kthread+0xd4/0xdc
[<ffffffff8109ec8f>] ? local_clock+0x19/0x22
[<ffffffff810905b2>] ? __kthread_parkme+0x83/0x83
[<ffffffff81a2c0c8>] ret_from_fork+0x58/0x90
[<ffffffff810905b2>] ? __kthread_parkme+0x83/0x83
The issue was that as a part of exiting the default rules were being
deleted which resulted in the local trie being unmerged. By moving the
freeing of the FIB tables up we can avoid the unmerge since there is no
local table left when we call the fib4_rules_exit function.
Fixes: 0ddcf43d5d4a ("ipv4: FIB Local/MAIN table collapse")
Reported-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 548ae94c1cc7fc120848757249b9a542b1080ffb
Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx>
Date: Fri Jan 30 12:34:25 2015 +0100
ARM: mvebu: Disable CPU Idle on Armada 38x
On Armada 38x SoCs, under heavy I/O load, the system hangs when CPU
Idle is enabled. Waiting for a solution to this issue, this patch
disables the CPU Idle support for this SoC.
As CPU Hot plug support also uses some of the CPU Idle functions it is
also affected by the same issue. This patch disables it also for the
Armada 38x SoCs.
Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx>
Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.17 +
commit 89a3f3c55ba54e08968b12a5f8e7d1787a0bbb4a
Merge: 32eaf12 a7a484b
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Mar 31 12:45:58 2015 -0400
Merge branch 'for-upstream' of
git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
Johan Hedberg says:
====================
pull request: bluetooth-next 2015-03-27
Here's another set of Bluetooth & 802.15.4 patches for 4.1:
- New API to control LE advertising data (i.e. peripheral role)
- mac802154 & at86rf230 cleanups
- Support for toggling quirks from debugfs (useful for testing)
- Memory leak fix for LE scanning
- Extra version info reading support for Broadcom controllers
Please let me know if there are any issues pulling. Thanks.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d31af0a325ca4ff8e57b8616ab2228913df369ad
Author: Jens Axboe <axboe@xxxxxx>
Date: Fri Mar 6 12:56:13 2015 -0700
NVMe: increase depth of admin queue
Usually the admin queue depth of 64 is plenty, but for some use cases we
really need it larger. Examples are use cases like MAT, where you have
to touch all of NAND for init/format like purposes. In those cases, we
see a good 2x increase with an increased queue depth.
Signed-off-by: Jens Axboe <axboe@xxxxxx>
Acked-by: Keith Busch <keith.busch@xxxxxxxxx>
commit f137e0f15101c0a0ff8a5d956042e50247f1fef9
Author: Murali Iyer <mniyer@xxxxxxxxxx>
Date: Thu Mar 26 11:07:51 2015 -0500
nvme: Fix PRP list calculation for non-4k system page size
PRP list calculation is supposed to be based on device's page size.
Systems with page size larger than device's page size cause corruption
to the name space as well as system memory with out this fix.
Systems like x86 might not experience this issue because it uses
PAGE_SIZE of 4K where as powerpc uses PAGE_SIZE of 64k while NVMe device's
page size varies depending upon the vendor.
Signed-off-by: Murali Iyer <mniyer@xxxxxxxxxx>
Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx>
Acked-by: Keith Busch <keith.busch@xxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 1efccc9ddb98fd533169669160201b027562af7e
Author: Keith Busch <keith.busch@xxxxxxxxx>
Date: Tue Mar 31 10:37:17 2015 -0600
NVMe: Fix blk-mq hot cpu notification
The driver may issue commands to a device that may never return, so its
request_queue could always have active requests while the controller is
running. Waiting for the queue to freeze could block forever, which is
what blk-mq's hot cpu notification handler was doing when nvme drives
were in use.
This has the nvme driver make the asynchronous event command's tag
reserved and does not keep the request active. We can't have more than
one since the request is released back to the request_queue before the
command is completed. Having only one avoids potential tag collisions,
and reserving the tag for this purpose prevents other admin tasks from
reusing the tag.
I also couldn't think of a scenario where issuing AEN requests single
depth is worse than issuing them in batches, so I don't think we lose
anything with this change.
As an added bonus, doing it this way removes "Cancelling I/O" warnings
observed when unbinding the nvme driver from a device.
Reported-by: Yigal Korman <yigal@xxxxxxxxxxxxx>
Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit fda631ffe5422424579e1649e04cc468d0215b85
Author: Chong Yuan <chong.yuan@xxxxxxxxxxxx>
Date: Fri Mar 27 09:21:32 2015 +0800
NVMe: embedded iod mask cleanup
Remove unused mask in nvme_alloc_iod
Signed-off-by: Chong Yuan <chong.yuan@xxxxxxxxxxxx>
Reviewed-by: Wenbo Wang <wenbo.wang@xxxxxxxxxxxx>
Acked-by: Keith Busch <keith.busch@xxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 6df3dbc83fb8043a5975d75970d296d6d14f7273
Author: Keith Busch <keith.busch@xxxxxxxxx>
Date: Thu Mar 26 13:49:33 2015 -0600
NVMe: Freeze admin queue on device failure
This fixes a race accessing an invalid address when a controller's admin
queue is in use during a reset for failure or hot removal occurs. The
admin queue will be frozen to prevent new users from entering prior to
the doorbell queue being unmapped.
Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 32eaf120e66b1763626ed564adf1e42e69da82f4
Merge: d482994 ed7c631
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Mar 31 12:01:21 2015 -0400
Merge branch 'ptp-2038'
Fixed two warnings in e1000e and igb, when switching to timespec64
some printf formats started to not match. In theses cases actually
the new type is __kernel_time_t which is __kernel_long_t which
unfortunately can be either "long" or "long long". So to solve
this I cases the arguments to "long long". -DaveM
Richard Cochran says:
====================
ptp: get ready for 2038
This series converts the core driver methods of the PTP Hardware Clock
(PHC) subsystem to use the 64 bit version of the timespec structure,
making the core API ready for the year 2038.
In addition, I reviewed how each driver and device represents the time
value at the hardware register level. Most of the drivers are ready,
but a few will need some work before the year 2038, as shown:
Patch Driver
------------------------------------------------
12 drivers/net/ethernet/intel/igb/igb_ptp.c
15 ? drivers/net/ethernet/sfc/ptp.c
16 drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c
The commit log messages document how each driver is ready or why it is
not ready. For patch 15, I could not easily find out the hardware
representation of the time value, and so the SFC maintainers will have
to review their low level code in order to resolve any remaining
issues.
* ChangeLog
** V3
- dp83640: use timespec64 throughout per Arnd's suggestion
- tilegx: use timespec64 throughout per Chris' suggestion
- add Jeff's acked-bys
** V2
- use the new methods in the posix clock code right away (patch #3)
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 232a5adc5199891efde6c844fd15b8d4d18245e6
Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx>
Date: Tue Mar 31 16:35:01 2015 +0200
spi: bitbang: only toggle bitchanges
The current implementation of bitbang_txrx_be_cpha0 and
bitbang_txrx_be_cpha1 always call setmosi. That runs into several
unnecessary calls into the gpiolib when the level of the GPIO actually
has not to be changed.
This patch changes the routines to remember the last GPIO level
and only calls setmosi if an change has to be made. This
way it improves the transfer throughput.
Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 44164c4ba98c3dd3560d929ba66da51b5170ff1c
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Mon Mar 30 16:21:00 2015 +1100
ftracetest: Convert exit -1 to exit $FAIL
POSIX says that exit takes an unsigned integer between 0 and 255, so
using -1 doesn't work on POSIX shells.
There is already a well-defined failure code, $FAIL (1), so use that.
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
commit a05ffdce7155769ea5ac3409e1490fb9116dbaed
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Mon Mar 30 16:21:40 2015 +1100
ftracetest: Cope properly with stack tracer not being enabled
If the stack tracer (CONFIG_STACK_TRACER) is disabled, the
fgraph-filter-stack test blows chunks:
[8] ftrace - function graph filters with stack tracer [FAIL]
+ reset_tracer
+ echo nop
./ftracetest: 19:
/home/michael/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc:
cannot create /proc/sys/kernel/stack_tracer_enabled: Directory
nonexistent
Fix it by checking if the proc file exists before echoing to it. With
the patch applied it fails correctly with:
[8] ftrace - function graph filters with stack tracer [UNSUPPORTED]
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
commit 1d804d079a92138d011900785193b6b00b44bc00
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Mon Mar 30 16:46:09 2015 -0700
x86: Use bool function return values of true/false not 1/0
Use the normal return values for bool functions
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Message-Id:
<9f593eb2f43b456851cd73f7ed09654ca58fb570.1427759009.git.joe@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d56b9b28a4a5d9e61dd99154b986e760373e2392
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Mon Feb 23 19:10:15 2015 -0500
dm: remove request-based DM queue's lld_busy_fn hook
DM multipath is the only caller of blk_lld_busy() -- which calls a
queue's lld_busy_fn hook. Request-based DM doesn't support stacking
multipath devices so there is no reason to register the lld_busy_fn hook
on a multipath device's queue using blk_queue_lld_busy().
As such, remove functions dm_lld_busy and dm_table_any_busy_target.
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 52b09914af86fa3e728175c1125c91520e437b2f
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Mon Feb 23 16:36:41 2015 -0500
dm: remove unnecessary wrapper around blk_lld_busy
There is no need for DM to export a wrapper around the already exported
blk_lld_busy().
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 09c2d53101da87f5ab4084643d2f8c718b3ab3cf
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Fri Feb 27 22:25:26 2015 -0500
dm: rename __dm_get_reserved_ios() helper to __dm_get_module_param()
__dm_get_module_param() could be useful for future DM module parameters
besides those related to "reserved_ios".
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit e73f6e8a0de8ce28edef986d86720ef83dd2864f
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Fri Feb 27 15:25:31 2015 -0500
dm switch: fix Documentation to use plain text
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit e65ff8703f56273c6dc8b77373f4d2bef6e35107
Author: Joe Thornber <ejt@xxxxxxxxxx>
Date: Fri Feb 20 14:22:17 2015 +0000
dm cache policy mq: try not to writeback data that changed in the last
second
Writeback takes out a lock on the cache block, so will increase the
latency for any concurrent io.
This patch works by placing 2 sentinel objects on each level of the
multiqueues. Every WRITEBACK_PERIOD the oldest sentinel gets moved to
the newest end of the queue level.
When looking for writeback work:
if less than 25% of the cache is clean:
we select the oldest object with the lowest hit count
otherwise:
we select the oldest object that is not past a writeback sentinel.
Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit fdecee3224d90e51c611198baeb0c38e568ca0e8
Author: Joe Thornber <ejt@xxxxxxxxxx>
Date: Fri Feb 20 13:54:14 2015 +0000
dm cache policy mq: remove unused generation member of struct entry
Remove to stop wasting memory.
Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 3e45c91e5cdd0cfd3cc1228628602c8e7e587157
Author: Joe Thornber <ejt@xxxxxxxxxx>
Date: Fri Feb 20 13:49:45 2015 +0000
dm cache policy mq: track entries hit this 'tick' via sentinel objects
A sentinel object is placed on each level of the multiqueues. When an
object is hit it is requeued behind the sentinel. When the tick is
incremented we iterate through all objects behind the sentinel and
update the hit_count, then reposition the sentinel at the very back.
This saves memory by avoiding tracking the tick explicitly for every
struct entry object in the multiqueues.
Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit c74ffc5c63b0b2753bedd49bdc1196d570f66803
Author: Joe Thornber <ejt@xxxxxxxxxx>
Date: Fri Feb 20 13:01:22 2015 +0000
dm cache policy mq: remove queue_shift_down()
queue_shift_down() didn't adjust the hit_counts to the new levels, so it
just had the effect of scrambling levels.
Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit 75da39bf256c27e25f395b191ead79f323772672
Author: Joe Thornber <ejt@xxxxxxxxxx>
Date: Fri Feb 20 12:58:03 2015 +0000
dm cache policy mq: keep track of the number of entries in a multiqueue
Small optimisation, now queue_empty() doesn't need to walk all levels of
the multiqueue.
Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
commit ac1f9ef211d5dd70110fa4bec6e8866b2c3a965e
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Thu Feb 12 15:20:35 2015 -0500
dm log userspace: split flush_entry_pool to be per dirty-log
Use a single slab cache to allocate a mempool for each dirty-log.
This _should_ eliminate DM's need for io_schedule_timeout() in
mempool_alloc(); so io_schedule() should be sufficient now.
Also, rename struct flush_entry to dm_dirty_log_flush_entry to allow
KMEM_CACHE() to create a meaningful global name for the slab cache.
Also, eliminate some holes in struct log_c by rearranging members.
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
Acked-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx>
commit ed7c6317bc599502e1fdc7f5f95cb9a5550360a4
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:12:13 2015 +0200
ptp: remove 32 bit get/set methods.
All of the PHC drivers have been converted to the new methods. This patch
converts the three remaining callers within the core code and removes the
older methods for good. As a result, the core PHC code is ready for the
year 2038. However, some of the PHC drivers are not quite ready yet.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a043a72909b9ed9b3505f3be42d5329cea50c273
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:12:12 2015 +0200
ptp: pch: convert to the 64 bit get/set time methods.
The device has a 64 bit clock register, where each clock tick is 32
nanoseconds, and so with this patch the driver is ready for the year
2038.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1ca13de26740dfd21e85769f08a89321c2ec1266
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:12:11 2015 +0200
ptp: ixp46x: convert to the 64 bit get/set time methods.
The device has a 64 bit clock register, where each clock tick is 16
nanoseconds, and so with this patch the driver is ready for the year
2038.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 41c2c18ffb4d5e46bca5b419784f67db9b0c1425
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:12:10 2015 +0200
ptp: dp83640: convert to the 64 bit get/set time methods.
This device stores the number of seconds in a 32 bit register, and the
stored value is unsigned. Therefore this driver and device are ready
for the year 2038. However, more work will be needed prior to 2106.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b9acf24f779c778b994a7dc017c977a18560f690
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:12:09 2015 +0200
ptp: tilegx: convert to the 64 bit get/set time methods.
This driver is 64 bit only, and so this driver and device are ready
for 2038. This patch changes the driver to the new PHC and also
carries the timespec64 parameter on out to the gxio_mpipe_get-
set_timestamp functions, making explicit the fact that the tv_sec
field is 64 bits wide.
Not even compile tested.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Acked-by: Chris Metcalf <cmetcalf@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a5c79c26e168018df201c07e046003a6ab226cdc
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:12:08 2015 +0200
ptp: cpts: convert to the 64 bit get/set time methods.
This driver's clock is implemented using a timecounter, and so with
this patch the driver is ready for the year 2038.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3f6c4654c8bff4230ba279a7b5b6d8721b572ddf
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:12:07 2015 +0200
ptp: stmmac: convert to the 64 bit get/set time methods.
This device stores the number of seconds in a 32 bit register. So
more work is needed on this driver before the year 2038 comes around.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0fcb5c76ca71afbef6c18d0710f2d4557b1d216a
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:12:06 2015 +0200
ptp: sfc: convert to the 64 bit get/set time methods.
This patch changes the driver to use the newer API.
Depending on how the hardware represents a time value, this driver may
or may not yet be ready for the year 2038.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e394b80545a005fa9b2eea27036d670641a0c728
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:12:05 2015 +0200
ptp: mlx4: convert to the 64 bit get/set time methods.
This driver's clock is implemented using a timecounter, and so with
this patch the driver is ready for the year 2038.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 91432d18eddd370f28ea77fd699a947bb893e5fe
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:12:04 2015 +0200
ptp: ixgbe: convert to the 64 bit get/set time methods.
This driver's clock is implemented using a timecounter, and so with
this patch the driver is ready for the year 2038.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d4c496fe45de9dc33ace3a5796e4211e2e809231
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:12:03 2015 +0200
ptp: igb: convert to the 64 bit get/set time methods.
For the 82576, the driver's clock is implemented using a timecounter,
and so with this patch that device is ready for the year 2038.
However, in the case of the i210, the device stores the number of
seconds in a 32 bit register. Therefore, more work is needed on this
driver before the year 2038 comes around.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 6f7a9b8ab327a2aa9ee5a6d1670439ce5ed47554
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:12:02 2015 +0200
ptp: i40e: convert to the 64 bit get/set time methods.
The device appears to use a 64 bit nanoseconds register, and so with
this patch the driver should be ready for the year 2038.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 843293e1bb7d8cccc3b4a528db9eef710113fb6a
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:12:01 2015 +0200
ptp: fm10k: convert to the 64 bit get/set time methods.
The device appears to use a 64 bit nanoseconds register, and so with
this patch the driver should be ready for the year 2038.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 07c74eb775dd4a58c331529973111166f3683541
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:12:00 2015 +0200
ptp: e1000e: convert to the 64 bit get/set time methods.
This driver's clock is implemented using a timecounter, and so with
this patch the driver is ready for the year 2038.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d28fdf0fe3dc73df8f0e41424ec0bba0660baabe
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:11:59 2015 +0200
ptp: gianfar: convert to the 64 bit get/set time methods.
The device features a 64 bit nanoseconds register, and so with this
patch the driver is ready for the year 2038.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 241926bcb4546187363d6140a610e4bb7d12d85e
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:11:58 2015 +0200
ptp: fec: convert to the 64 bit get/set time methods.
This driver's clock is implemented using a timecounter, and so with
this patch the driver is ready for the year 2038.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f578b41812069e99504f0c2c54412e7ede08532b
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:11:57 2015 +0200
ptp: tg3: convert to the 64 bit get/set time methods.
The device appears to use a 64 bit nanoseconds register, and so with
this patch the driver should be ready for the year 2038.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 5d45186b4772512e6db9f1494735c983518e3a09
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:11:56 2015 +0200
ptp: bnx2x: convert to the 64 bit get/set time methods.
This driver's clock is implemented using a timecounter, and so with
this patch the driver is ready for the year 2038.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Acked-by: Sony Chacko <sony.chacko@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 15dd95ffe424e336b2a2bc7a01603c0e1314901c
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:11:55 2015 +0200
ptp: xgbe: convert to the 64 bit get/set time methods.
This driver's clock is implemented using a timecounter, and so with
this patch the driver is ready for the year 2038.
Compile tested only.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 20ca7fb6e4d6e8c44442ac0b82c24e74de2bad02
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:11:54 2015 +0200
ptp: blackfin: convert to the 64 bit get/set time methods.
The device uses 64 bit nanoseconds register, and so with this patch the
driver is ready for the year 2038.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d7d38f5bd7bece539a6cbb59fc8121f29f63fbdb
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:11:53 2015 +0200
ptp: use the 64 bit get/set time methods for the posix clock.
This patch changes the posix clock code to prefer the new methods
whenever they are implemented by the PHC drivers.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e13cfcb03eeccb97d3f8deb393304c6190b61da9
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:11:52 2015 +0200
ptp: use the 64 bit gettime method for the SYS_OFFSET ioctl.
This patch changes the code to use the new method whenever implemented by
the PHC driver.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 92f1719407b90475b3be0b7b9c983dec2ff8351e
Author: Richard Cochran <richardcochran@xxxxxxxxx>
Date: Sun Mar 29 23:11:51 2015 +0200
ptp: introduce get/set time methods with explicit 64 bit seconds.
Converting the PHC drivers over to the new methods is one step along the
way to making them ready for 2038. Once all the drivers are up to date,
then the old methods will be removed.
Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 851c9f38e4199adb612366f8e202036d624d5de2
Merge: e963741 c76cbbc
Author: Mike Snitzer <snitzer@xxxxxxxxxx>
Date: Tue Mar 31 12:00:32 2015 -0400
Merge remote-tracking branch 'jens/for-4.1/core' into dm/for-next
commit 3071efa466b30636bf958f3d13bc808e03105cd8
Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 31 12:12:26 2015 +0200
clocksource/drivers/sun5i: Add clock notifiers
The parent clock of the sun5i timer is the AHB clock, which rate
might change because of other devices requirements.
This is for example the case on the Allwinner A31, where the DMA
controller needs a minimum rate higher than the default, that is
enforced after the timer driver has probed.
Add clock notifiers to make sure we reflect the clock rate
changes in the timer rates.
Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Link:
http://lkml.kernel.org/r/1427796746-373-5-git-send-email-daniel.lezcano@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 4a59058f0b09682200c04b1db236b4a3b92128d7
Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 31 12:12:25 2015 +0200
clocksource/drivers/sun5i: Refactor the current code
Refactor the code in order to remove the global variables and
split the clock source and clock events registration in order to
ease the addition of the clock notifiers needed to handle the
parent clock rate changes.
Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Link:
http://lkml.kernel.org/r/1427796746-373-4-git-send-email-daniel.lezcano@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a45860d0ba433c217d359fa2cc2a4984d18ce263
Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 31 12:12:24 2015 +0200
clocksource/drivers/sun5i: Use of_io_request_and_map()
of_iomap doesn't do a request_mem_region() on the memory area
defined in the DT it maps. Switch to of_io_request_and_map() to
make sure we're the only users.
Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Link:
http://lkml.kernel.org/r/1427796746-373-3-git-send-email-daniel.lezcano@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 5673bc5a863bd4391eab5bb85277f0f1dd1dca50
Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 31 12:12:23 2015 +0200
clocksource/drivers/sun5i: Switch to request_irq()
The current code uses setup_irq(), while it could perfectly use
the much simpler request_irq(). Switch to that.
Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Link:
http://lkml.kernel.org/r/1427796746-373-2-git-send-email-daniel.lezcano@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 566e6dfad580a55084c29fe3e887c7273b16fc6a
Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
Date: Tue Mar 31 12:12:22 2015 +0200
clocksource/drivers/arm_arch_timer: Rename 'arch_timer_probed()' to
'arch_timer_needs_probing()' to reflect behaviour
The arch_timer_probed() function returns whether the given time
doesn't need to be probed. This can be the case when the timer
has been probed already, but also when it has no corresponding
enabled node in DT.
Rename the function to arch_timer_needs_probing() and invert its
return value to better reflect the function's purpose and
behaviour.
Signed-off-by: Laurent Pinchart
<laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Link:
http://lkml.kernel.org/r/1427796746-373-1-git-send-email-daniel.lezcano@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 7676fa70feb2f3bcdd4b854a553a57d8ef8505aa
Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Date: Fri Mar 27 12:14:36 2015 +0000
ARM64 / ACPI: make acpi_map_gic_cpu_interface() as void function
Since the only caller of acpi_parse_gic_cpu_interface() doesn't
need the return value, make it have a void return type to avoid
introducing subtle bugs, and update the comments of the function
accordingly.
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit ec81ad4eca9736bb73d4458fb7d8a5ccaf3e908e
Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Date: Fri Mar 27 12:14:35 2015 +0000
ARM64 / ACPI: Ignore the return error value of
acpi_map_gic_cpu_interface()
MADT scanning will stop when it gets an error from the handler,
acpi_map_gic_cpu_interface(), on arm64. However, we need to
find all of the enabled CPUs so that SMP initialization can work
properly. So, if an error occurs in this case, ignore it for
now so that we can find all of the enabled CPUs.
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit cc3979b54d5f1d5b5059b404892888c304d28080
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Tue Mar 31 00:46:00 2015 +0100
arm64: Use bool function return values of true/false not 1/0
Use the normal return values for bool functions
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 3a82002c7cbb166b891de515b5463aec41035c75
Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Date: Tue Mar 31 15:34:51 2015 +0200
MAINTAINERS: change the Atmel audio alsa driver entry
I take over the the maintainship of Atmel alsa drivers from Voice.
Thanks for your work!
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Acked-by: Bo Shen <voice.shen@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit e03de74516ec434aea77cfcf276df9c87fc7285a
Author: Andreas Fenkart <afenkart@xxxxxxxxx>
Date: Tue Mar 3 13:28:18 2015 +0100
mmc: omap_hsmmc: use generic slot-gpio isr to manage card detect pin
Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 11227d12397c6dd5c578e27210aa14e3fa44f11c
Author: Andreas Fenkart <afenkart@xxxxxxxxx>
Date: Tue Mar 3 13:28:17 2015 +0100
mmc: omap_hsmmc: simplify card/cover detect isr
strip the card dectet logic from cover detect isr and vice versa
the generic mmc_gpio_cd_irqt isr, uses 200ms on removal/insertion,
hence that should be fine here as well
Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit b793f658b194edfe5e1d86aaeace01a7b03c68f9
Author: Doug Anderson <dianders@xxxxxxxxxxxx>
Date: Wed Mar 11 15:15:14 2015 -0700
mmc: dw_mmc: Don't try to enable the CD until we're sure we're not
deferring
If dw_mci_init_slot() returns that we got a probe deferral then it may
leave slot->mmc as NULL. That will cause dw_mci_enable_cd() to crash
when it calls mmc_gpio_get_cd().
Fix this by moving the call of dw_mci_enable_cd() until we're sure
that we're good. Note that if we have more than one slot and one
defers (but the others don't) things won't work so well. ...but
that's not a new thing and everyone has already agreed that multislot
support ought to be removed from dw_mmc eventually anyway since it is
unused, untested, and you can see several bugs like this by inspecting
the code.
Fixes: bcafaf5470f0 ("mmc: dw_mmc: Only enable CD after setup and only if
needed")
Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx>
Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 5c935165da79644df90a647ecc140fb77b40dee5
Author: Doug Anderson <dianders@xxxxxxxxxxxx>
Date: Mon Mar 9 16:18:21 2015 -0700
mmc: dw_mmc: Add a timeout for sending CMD11
In the Designware databook's description of the "Voltage Switch Normal
Scenario" it instructs us to set a timer and fail the voltage change
if we don't see the voltage change interrupt within 2ms. Let's
implement that. Without implementing this I have often been able to
reproduce a hang while trying to send CMD11 on an rk3288-based board
while constantly ejecting and inserting UHS cards.
Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx>
Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 488b8d63a63400e2839062a99358815ca21a2860
Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Date: Thu Mar 5 19:45:21 2015 +0900
mmc: dw_mmc: enable card read threshold when mode is HS400
Enable card-read-threshold, when eMMC mode is HS400.
Refer to f1d2736c8156 (mmc: dw_mmc: control card read threshold)
Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 9250aea76bfcbf4c2a7868e5566281bf2bb7af27
Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Date: Fri Mar 27 12:15:15 2015 +0100
mmc: core: Enable runtime PM management of host devices
Currently those host drivers which have deployed runtime PM, deals with
the runtime PM reference counting entirely by themselves.
Since host drivers don't know when the core will send the next request
through some of the host_ops callbacks, they need to handle runtime PM
get/put between each an every request.
In quite many cases this has some negative effects, since it leads to a
high frequency of scheduled runtime PM suspend operations. That due to
the runtime PM reference count will normally reach zero in-between
every request.
We can decrease that frequency, by enabling the core to deal with
runtime PM reference counting of the host device. Since the core often
knows that it will send a seqeunce of requests, it makes sense for it
to keep a runtime PM reference count during these periods.
More exactly, let's increase the runtime PM reference count by invoking
pm_runtime_get_sync() from __mmc_claim_host(). Restore that action by
invoking pm_runtime_mark_last_busy() and pm_runtime_put_autosuspend()
in mmc_release_host(). In this way a runtime PM reference count will be
kept during the complete cycle of a claim -> release host.
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Acked-by: Konstantin Dorfman <kdorfman@xxxxxxxxxxxxxx>
commit 804cb54cbb3ddac58218e830d64816617bdb6da8
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Fri Mar 27 11:07:27 2015 +0100
iommu/tegra: smmu: Compute PFN mask at runtime
The SMMU on Tegra30 and Tegra114 supports addressing up to 4 GiB of
physical memory. On Tegra124 the addressable physical memory was
extended to 16 GiB. The page frame number stored in PTEs therefore
requires 20 or 22 bits, depending on SoC generation.
In order to cope with this, compute the proper value at runtime.
Reported-by: Joseph Lo <josephl@xxxxxxxxxx>
Cc: Hiroshi Doyu <hdoyu@xxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 836a8ac9fe60fb112e830464868791bf7470e7b6
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Fri Mar 27 11:07:26 2015 +0100
iommu/tegra: gart: Set aperture at domain initialization time
The aperture of the domain should always be available, otherwise drivers
need to attach first before they can use the aperture geometry.
Cc: Hiroshi Doyu <hdoyu@xxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 471d9144b4ec2a2cbf497af7e186c1fe89b5150e
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Fri Mar 27 11:07:25 2015 +0100
iommu/tegra: Setup aperture
Each address space in the Tegra SMMU provides 4 GiB worth of addresses.
Cc: Hiroshi Doyu <hdoyu@xxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit eecacf73a40f37e74dc9d0453283c79b91f34d51
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Tue Mar 31 16:49:38 2015 +0300
spi: pxa2xx: missing break in pxa2xx_ssp_get_clk_div()
We refactored this code but accidentally left out a break statement so
QUARK_X1000_SSP isn't handled correctly.
Fixes: 025ffe88ee60 ('spi: pxa2xx: shift clk_div in one place')
Tested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit d654788e98f74f2df8dfc6079fa314938f739486
Author: Chuck Lever <chuck.lever@xxxxxxxxxx>
Date: Mon Mar 30 14:35:44 2015 -0400
xprtrdma: Make rpcrdma_{un}map_one() into inline functions
These functions are called in a loop for each page transferred via
RDMA READ or WRITE. Extract loop invariants and inline them to
reduce CPU overhead.
Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx>
Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx>
Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx>
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
commit e46ac34c3c34e408435656a5fed605c4c787d081
Author: Chuck Lever <chuck.lever@xxxxxxxxxx>
Date: Mon Mar 30 14:35:35 2015 -0400
xprtrdma: Handle non-SEND completions via a callout
Allow each memory registration mode to plug in a callout that handles
the completion of a memory registration operation.
Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx>
Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx>
Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx>
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
commit 3968cb58501bf526eed1441f4ef237028aa9cd2d
Author: Chuck Lever <chuck.lever@xxxxxxxxxx>
Date: Mon Mar 30 14:35:26 2015 -0400
xprtrdma: Add "open" memreg op
The open op determines the size of various transport data structures
based on device capabilities and memory registration mode.
Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx>
Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx>
Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx>
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
commit 4561f347d49c645fd81d1f47b0fb460e8a6e4587
Author: Chuck Lever <chuck.lever@xxxxxxxxxx>
Date: Mon Mar 30 14:35:17 2015 -0400
xprtrdma: Add "destroy MRs" memreg op
Memory Region objects associated with a transport instance are
destroyed before the instance is shutdown and destroyed.
Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx>
Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx>
Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx>
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
commit 31a701a94751509bb72e13d851f18ddcf22ff722
Author: Chuck Lever <chuck.lever@xxxxxxxxxx>
Date: Mon Mar 30 14:35:07 2015 -0400
xprtrdma: Add "reset MRs" memreg op
This method is invoked when a transport instance is about to be
reconnected. Each Memory Region object is reset to its initial
state.
Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx>
Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx>
Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx>
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
commit 91e70e70e47b3355bb0a8b3b196c93897dcdb440
Author: Chuck Lever <chuck.lever@xxxxxxxxxx>
Date: Mon Mar 30 14:34:58 2015 -0400
xprtrdma: Add "init MRs" memreg op
This method is used when setting up a new transport instance to
create a pool of Memory Region objects that will be used to register
memory during operation.
Memory Regions are not needed for "physical" registration, since
->prepare and ->release are no-ops for that mode.
Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx>
Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx>
Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx>
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
commit 6814baead86b5d44096ddfbb6f944163578e68c3
Author: Chuck Lever <chuck.lever@xxxxxxxxxx>
Date: Mon Mar 30 14:34:48 2015 -0400
xprtrdma: Add a "deregister_external" op for each memreg mode
There is very little common processing among the different external
memory deregistration functions.
Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx>
Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx>
Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx>
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
commit 9c1b4d775f2d7dd5bb806e3de2f3e1244a7cbd16
Author: Chuck Lever <chuck.lever@xxxxxxxxxx>
Date: Mon Mar 30 14:34:39 2015 -0400
xprtrdma: Add a "register_external" op for each memreg mode
There is very little common processing among the different external
memory registration functions. Have rpcrdma_create_chunks() call
the registration method directly. This removes a stack frame and a
switch statement from the external registration path.
Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx>
Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx>
Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx>
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
commit 1c9351ee0e346ec1b3c700a4bc8f881923e1808e
Author: Chuck Lever <chuck.lever@xxxxxxxxxx>
Date: Mon Mar 30 14:34:30 2015 -0400
xprtrdma: Add a "max_payload" op for each memreg mode
The max_payload computation is generalized to ensure that the
payload maximum is the lesser of RPC_MAX_DATA_SEGS and the number of
data segments that can be transmitted in an inline buffer.
Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx>
Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx>
Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx>
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
commit a0ce85f595c22d28bf03c3fae8545b3077b7be1b
Author: Chuck Lever <chuck.lever@xxxxxxxxxx>
Date: Mon Mar 30 14:34:21 2015 -0400
xprtrdma: Add vector of ops for each memory registration strategy
Instead of employing switch() statements, let's use the typical
Linux kernel idiom for handling behavioral variation: virtual
functions.
Start by defining a vector of operations for each supported memory
registration mode, and by adding a source file for each mode.
Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx>
Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx>
Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx>
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
commit 41f97028969e4c88efa5fcf58bc6125210413a6d
Author: Chuck Lever <chuck.lever@xxxxxxxxxx>
Date: Mon Mar 30 14:34:12 2015 -0400
xprtrdma: Prevent infinite loop in rpcrdma_ep_create()
If a provider advertizes a zero max_fast_reg_page_list_len, FRWR
depth detection loops forever. Instead of just failing the mount,
try other memory registration modes.
Fixes: 0fc6c4e7bb28 ("xprtrdma: mind the device's max fast . . .")
Reported-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx>
Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx>
Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx>
Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx>
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
commit 805272406a980cab0e11742e5423ba97b6f38836
Author: Chuck Lever <chuck.lever@xxxxxxxxxx>
Date: Mon Mar 30 14:34:02 2015 -0400
xprtrdma: Byte-align FRWR registration
The RPC/RDMA transport's FRWR registration logic registers whole
pages. This means areas in the first and last pages that are not
involved in the RDMA I/O are needlessly exposed to the server.
Buffered I/O is typically page-aligned, so not a problem there. But
for direct I/O, which can be byte-aligned, and for reply chunks,
which are nearly always smaller than a page, the transport could
expose memory outside the I/O buffer.
FRWR allows byte-aligned memory registration, so let's use it as
it was intended.
Reported-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx>
Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx>
Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx>
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
commit e23779451ee05e824fedbb68bd17fc5c77e40166
Author: Chuck Lever <chuck.lever@xxxxxxxxxx>
Date: Mon Mar 30 14:33:53 2015 -0400
xprtrdma: Perform a full marshal on retransmit
Commit 6ab59945f292 ("xprtrdma: Update rkeys after transport
reconnect" added logic in the ->send_request path to update the
chunk list when an RPC/RDMA request is retransmitted.
Note that rpc_xdr_encode() resets and re-encodes the entire RPC
send buffer for each retransmit of an RPC. The RPC send buffer
is not preserved from the previous transmission of an RPC.
Revert 6ab59945f292, and instead, just force each request to be
fully marshaled every time through ->send_request. This should
preserve the fix from 6ab59945f292, while also performing pullup
during retransmits.
Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Acked-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx>
Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx>
Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx>
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
commit 0dd39cae26f3990789b4a558f9abafe59adc6fc1
Author: Chuck Lever <chuck.lever@xxxxxxxxxx>
Date: Mon Mar 30 14:33:43 2015 -0400
xprtrdma: Display IPv6 addresses and port numbers correctly
Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Tested-by: Devesh Sharma <Devesh.Sharma@xxxxxxxxxx>
Tested-by: Meghana Cheripady <Meghana.Cheripady@xxxxxxxxxx>
Tested-by: Veeresh U. Kokatnur <veereshuk@xxxxxxxxxxx>
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
commit dbbc14775ae395a50d91f22904670ca4c9297542
Author: Chuck Lever <chuck.lever@xxxxxxxxxx>
Date: Mon Mar 30 14:33:33 2015 -0400
SUNRPC: Introduce missing well-known netids
Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
commit b61e2e62aa2dee89d6e71aa90a9341607c4a7a97
Merge: e42391c 63979b8
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Tue Mar 31 15:38:02 2015 +0200
Merge branch 'for-joerg/arm-smmu/updates' of
git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu
commit 89be34a1ced886880a3219f9d2ba2192dc738ef2
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Mar 26 13:43:19 2015 +0100
iommu: Remove domain_init and domain_free iommu_ops
All drivers have been converted to the new domain_alloc and
domain_free iommu-ops. So remove the old ones and get rid of
iommu_domain->priv too, as this is no longer needed when the
struct iommu_domain is embedded in the private structures of
the iommu drivers.
Tested-by: Thierry Reding <treding@xxxxxxxxxx>
Tested-by: Heiko Stuebner <heiko@xxxxxxxxx>
Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 8d4bfe40bd001c49caa9079541ff25522e7ed55d
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Mar 26 13:43:18 2015 +0100
iommu/fsl: Make use of domain_alloc and domain_free
Implement domain_alloc and domain_free iommu-ops as a
replacement for domain_init/domain_destroy.
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit bcd516a32416aadd4f1ac40540407aa3b4ffd222
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Mar 26 13:43:17 2015 +0100
iommu/rockchip: Make use of domain_alloc and domain_free
Implement domain_alloc and domain_free iommu-ops as a
replacement for domain_init/domain_destroy.
Tested-by: Heiko Stuebner <heiko@xxxxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 5914c5fdde926604f65b249b662b26e3bc2c5923
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Mar 26 13:43:16 2015 +0100
iommu/ipmmu-vmsa: Make use of domain_alloc and domain_free
Implement domain_alloc and domain_free iommu-ops as a
replacement for domain_init/domain_destroy.
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit dc8fb227ad9029f071c7de0a97b12a810a376364
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Mar 26 13:43:15 2015 +0100
iommu/shmobile: Make use of domain_alloc and domain_free
Implement domain_alloc and domain_free iommu-ops as a
replacement for domain_init/domain_destroy.
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 3e116c3cd2a99fb9628fe3169b454482a7f07047
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Mar 26 13:43:14 2015 +0100
iommu/msm: Make use of domain_alloc and domain_free
Implement domain_alloc and domain_free iommu-ops as a
replacement for domain_init/domain_destroy.
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit b5cbb386ae312b2028cee61c96f65581ac0d44ec
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Mar 26 13:43:13 2015 +0100
iommu/tegra-gart: Make use of domain_alloc and domain_free
Implement domain_alloc and domain_free iommu-ops as a
replacement for domain_init/domain_destroy.
Tested-by: Thierry Reding <treding@xxxxxxxxxx>
Acked-by: Thierry Reding <treding@xxxxxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit d5f1a81ccb8947828f60b50d8e9ed7617259a9ec
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Mar 26 13:43:12 2015 +0100
iommu/tegra-smmu: Make use of domain_alloc and domain_free
Implement domain_alloc and domain_free iommu-ops as a
replacement for domain_init/domain_destroy.
Tested-by: Thierry Reding <treding@xxxxxxxxxx>
Acked-by: Thierry Reding <treding@xxxxxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit e1fd1eaa3323b3ea68f2ad3116b8cbe1f34cb2a2
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Mar 26 13:43:11 2015 +0100
iommu/exynos: Make use of domain_alloc and domain_free
Implement domain_alloc and domain_free iommu-ops as a
replacement for domain_init/domain_destroy.
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 1d672638fca24db2a66101c2109d94dbee084e96
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Mar 26 13:43:10 2015 +0100
iommu/arm-smmu: Make use of domain_alloc and domain_free
Implement domain_alloc and domain_free iommu-ops as a
replacement for domain_init/domain_destroy.
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 8cf851e0945251766e8bf1f966a9aef80663ed63
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Mar 26 13:43:09 2015 +0100
iommu/omap: Make use of domain_alloc and domain_free
Implement the new domain_alloc and domain_free call-backs
and remove the old domain_init/destroy ones.
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 00a77deb0f2f2c35cfeba183df98f92487d2e88b
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Mar 26 13:43:08 2015 +0100
iommu/vt-d: Make use of domain_alloc and domain_free
Get rid of domain_init and domain_destroy and implement
domain_alloc/domain_free instead.
Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 3f4b87b959eab362b89fce6ceb9d1badd102e5ea
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Mar 26 13:43:07 2015 +0100
iommu/amd: Make use of domain_alloc and domain_free
Implement the new iommu-ops function pointers and remove the
obsolete domain_init and domain_destroy functions.
Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit a10315e5efb86c689142a7e7927125889f3682e6
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Mar 26 13:43:06 2015 +0100
iommu: Only allow iommu_map/unmap for paging domains
Check for the new __IOMMU_DOMAIN_PAGING flag before calling
into the iommu drivers ->map and ->unmap call-backs.
Tested-by: Thierry Reding <treding@xxxxxxxxxx>
Tested-by: Heiko Stuebner <heiko@xxxxxxxxx>
Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 8539c7c16b970258e14761d8a1f7d10fe798031a
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Mar 26 13:43:05 2015 +0100
iommu: Introduce iommu domain types
This allows to handle domains differently based on their
type in the future. An IOMMU driver can implement certain
optimizations for DMA-API domains for example.
The domain types can be extended later and some of the
existing domain attributes can be migrated to become domain
flags.
Tested-by: Thierry Reding <treding@xxxxxxxxxx>
Tested-by: Heiko Stuebner <heiko@xxxxxxxxx>
Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 938c470976192590b4adc921b2e10fa31237eddc
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Thu Mar 26 13:43:04 2015 +0100
iommu: Introduce domain_alloc and domain_free iommu_ops
These new call-backs defer the allocation and destruction of
'struct iommu_domain' to the iommu driver. This allows
drivers to embed this struct into their private domain
structures and to get rid of the domain_init and
domain_destroy call-backs when all drivers have been
converted.
Tested-by: Thierry Reding <treding@xxxxxxxxxx>
Tested-by: Heiko Stuebner <heiko@xxxxxxxxx>
Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
commit 1c6ae56c5d26d22e8ba9ea6d3a0afc8b22b4e207
Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Date: Sun Mar 29 21:47:16 2015 +0200
ASoC: fsi: fix license specification
According to the file header only GPL v2 applies to it. Fix the
MODULE_LICENSE parameter accordingly.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 555fa17b2b8cc865c203de263443041eb75bc7f7
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 22:11:46 2015 +0200
crypto: sha-mb - mark Multi buffer SHA1 helper cipher
Flag all Multi buffer SHA1 helper ciphers as internal ciphers
to prevent them from being called by normal users.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit f52bbf55d1957b9ab279998dd71ed1c89b36e3a7
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 22:10:58 2015 +0200
crypto: mcryptd - process CRYPTO_ALG_INTERNAL
The mcryptd is used as a wrapper around internal ciphers. Therefore,
the mcryptd must process the internal cipher by marking mcryptd as
internal if the underlying cipher is an internal cipher.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit cd98411c36b596f5bd64e7e670c13252ad0852c7
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 22:10:27 2015 +0200
crypto: arm64/aes - mark 64 bit ARMv8 AES helper ciphers
Flag all 64 bit ARMv8 AES helper ciphers as internal ciphers to
prevent them from being called by normal users.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 94a7e5e8d86459da85ce90366346207e99fc052b
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 22:09:53 2015 +0200
crypto: aes-ce - mark ARMv8 AES helper ciphers
Flag all ARMv8 AES helper ciphers as internal ciphers to prevent
them from being called by normal users.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 76aa9d5f2c129dab1c5f3f578fdae0f60cc0dff8
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 22:09:27 2015 +0200
crypto: aesbs - mark NEON bit sliced AES helper ciphers
Flag all NEON bit sliced AES helper ciphers as internal ciphers to
prevent them from being called by normal users.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 4dda66f62e01e832e09d6d1fbd9c9070d57b049e
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 22:08:53 2015 +0200
crypto: twofish_avx - mark Twofish AVX helper ciphers
Flag all Twofish AVX helper ciphers as internal ciphers to prevent
them from being called by normal users.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 748be1f1bfddfe83d4b31c17191b082e96c86867
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 22:07:45 2015 +0200
crypto: serpent_sse2 - mark Serpent SSE2 helper ciphers
Flag all Serpent SSE2 helper ciphers as internal ciphers to prevent
them from being called by normal users.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 65aed5394120953ccb6e307d75f9abd17c15740e
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 22:07:05 2015 +0200
crypto: serpent_avx - mark Serpent AVX helper ciphers
Flag all Serpent AVX helper ciphers as internal ciphers to prevent
them from being called by normal users.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit f82419acd8ad6b045a040ba8f5f0289972189826
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 22:06:13 2015 +0200
crypto: serpent_avx2 - mark Serpent AVX2 helper ciphers
Flag all Serpent AVX2 helper ciphers as internal ciphers to prevent
them from being called by normal users.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit e69b8a46ca0ec38ef419071b00574bc053664e18
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 22:05:35 2015 +0200
crypto: cast6_avx - mark CAST6 helper ciphers
Flag all CAST6 helper ciphers as internal ciphers to prevent them
from being called by normal users.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 7d2c31dd70ed49210847ae8cc00f14064292b349
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 22:04:49 2015 +0200
crypto: camellia_aesni_avx - mark AVX Camellia helper ciphers
Flag all AVX Camellia helper ciphers as internal ciphers to prevent
them from being called by normal users.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 680574e8b3b2f62e507cdd9ca35c77cad0344bb2
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 22:03:57 2015 +0200
crypto: cast5_avx - mark CAST5 helper ciphers
Flag all CAST5 helper ciphers as internal ciphers to prevent them
from being called by normal users.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit a62356a978180eb3ccd2bcac49764dfd628c72f8
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 22:03:17 2015 +0200
crypto: camellia_aesni_avx2 - mark AES-NI Camellia helper ciphers
Flag all AES-NI Camellia helper ciphers as internal ciphers to
prevent them from being called by normal users.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 4b3f4e37ec9b0d95255e1b5b445ad063c7341f67
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 22:02:36 2015 +0200
crypto: ghash-ce - mark GHASH ARMv8 vmull.p64 helper ciphers
Flag all GHASH ARMv8 vmull.p64 helper ciphers as internal ciphers
to prevent them from being called by normal users.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 6a9b52b7fa1a376c1749cf441d1aeb8572d3b691
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 22:01:49 2015 +0200
crypto: clmulni - mark ghash clmulni helper ciphers
Flag all ash clmulni helper ciphers as internal ciphers to prevent them
from being called by normal users.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit eabdc320ece583e16e581306c720e5f1ff67c3bb
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 21:58:17 2015 +0200
crypto: aesni - mark AES-NI helper ciphers
Flag all AES-NI helper ciphers as internal ciphers to prevent them from
being called by normal users.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit b0cda2ba18a50abf0d7b248e3d588260e0194ab2
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 21:57:42 2015 +0200
crypto: proc - identify internal ciphers
With ciphers that now cannot be accessed via the kernel crypto API,
callers shall be able to identify the ciphers that are not callable. The
/proc/crypto file is added a boolean field identifying that such
internal ciphers.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 466a7b9e3e7833a0cc21a69a0bea9d50daf0ca10
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 21:57:06 2015 +0200
crypto: cryptd - process CRYPTO_ALG_INTERNAL
The cryptd is used as a wrapper around internal ciphers. Therefore, the
cryptd must process the internal cipher by marking cryptd as internal if
the underlying cipher is an internal cipher.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 425a882991d9da8bfd2fe0fc495773fab5ac9988
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 21:56:31 2015 +0200
crypto: testmgr - use CRYPTO_ALG_INTERNAL
Allocate the ciphers irrespectively if they are marked as internal
or not. As all ciphers, including the internal ciphers will be
processed by the testmgr, it needs to be able to allocate those
ciphers.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit 06ca7f68d4c861d549a8deb161e1527065a80bb1
Author: Stephan Mueller <smueller@xxxxxxxxxx>
Date: Mon Mar 30 21:55:52 2015 +0200
crypto: api - prevent helper ciphers from being used
Several hardware related cipher implementations are implemented as
follows: a "helper" cipher implementation is registered with the
kernel crypto API.
Such helper ciphers are never intended to be called by normal users. In
some cases, calling them via the normal crypto API may even cause
failures including kernel crashes. In a normal case, the "wrapping"
ciphers that use the helpers ensure that these helpers are invoked
such that they cannot cause any calamity.
Considering the AF_ALG user space interface, unprivileged users can
call all ciphers registered with the crypto API, including these
helper ciphers that are not intended to be called directly. That
means, with AF_ALG user space may invoke these helper ciphers
and may cause undefined states or side effects.
To avoid any potential side effects with such helpers, the patch
prevents the helpers to be called directly. A new cipher type
flag is added: CRYPTO_ALG_INTERNAL. This flag shall be used
to mark helper ciphers. These ciphers can only be used if the
caller invoke the cipher with CRYPTO_ALG_INTERNAL in the type and
mask field.
Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
commit a3ed8dae6e3db479ca275883ba7fe994170b0ae6
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Wed Mar 18 13:54:31 2015 +0100
KVM: s390: enable more features that need no hypervisor changes
After some review about what these facilities do, the following
facilities will work under KVM and can, therefore, be reported
to the guest if the cpu model and the host cpu provide this bit.
There are plans underway to make the whole bit thing more readable,
but its not yet finished. So here are some last bit changes and
we enhance the KVM mask with:
9 The sense-running-status facility is installed in the
z/Architecture architectural mode.
---> handled by SIE or KVM
10 The conditional-SSKE facility is installed in the
z/Architecture architectural mode.
---> handled by SIE. KVM will retry SIE
13 The IPTE-range facility is installed in the
z/Architecture architectural mode.
---> handled by SIE. KVM will retry SIE
36 The enhanced-monitor facility is installed in the
z/Architecture architectural mode.
---> handled by SIE
47 The CMPSC-enhancement facility is installed in the
z/Architecture architectural mode.
---> handled by SIE
48 The decimal-floating-point zoned-conversion facility
is installed in the z/Architecture architectural mode.
---> handled by SIE
49 The execution-hint, load-and-trap, miscellaneous-
instruction-extensions and processor-assist
---> handled by SIE
51 The local-TLB-clearing facility is installed in the
z/Architecture architectural mode.
---> handled by SIE
52 The interlocked-access facility 2 is installed.
---> handled by SIE
53 The load/store-on-condition facility 2 and load-and-
zero-rightmost-byte facility are installed in the
z/Architecture architectural mode.
---> handled by SIE
57 The message-security-assist-extension-5 facility is
installed in the z/Architecture architectural mode.
---> handled by SIE
66 The reset-reference-bits-multiple facility is installed
in the z/Architecture architectural mode.
---> handled by SIE. KVM will retry SIE
80 The decimal-floating-point packed-conversion
facility is installed in the z/Architecture architectural
mode.
---> handled by SIE
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Tested-by: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 2ba459685204af53b034d269d5cdb3059d4b471e
Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 13:12:32 2015 +0100
KVM: s390: store the breaking-event address on pgm interrupts
If the PER-3 facility is installed, the breaking-event address is to be
stored in the low core.
There is no facility bit for PER-3 in stfl(e) and Linux always uses the
value at address 272 no matter if PER-3 is available or not.
We can't hide its existence from the guest. All program interrupts
injected via the SIE automatically store this information if the PER-3
facility is available in the hypervisor. Also the itdb contains the
address automatically.
As there is no switch to turn this mechanism off, let's simply make it
consistent and also store the breaking event address in case of manual
program interrupt injection.
Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 6fd63087d87329a2a84f28d0adec875fd9efb782
Author: Aaron Brice <aaron.brice@xxxxxxxxxxxx>
Date: Mon Mar 30 10:49:15 2015 -0700
spi: fsl-dspi: Fix clock rate scale values
Previous algorithm had an outer loop with the values {2,3,5,7} and an
inner loop with {2,4,6,8,16,32,...,32768}, and would pick the first
value over the required scaling value (where the total scale was the two
numbers multiplied).
Since the inner loop went up to 32768 it would always pick a value of 2
for PBR and a much higher than necessary value for BR. The desired
scale factor was being divided by two I believe to compensate for the
much higher scale factors (the divide by two not specified in the
reference manual).
Updated to check all values and find the smallest scale factor possible
without going over the desired clock rate.
Signed-off-by: Aaron Brice <aaron.brice@xxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 5e501ed7253b369a8a9ec553c35238a3d6808f28
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Tue Dec 2 20:22:49 2014 +0100
drm/imx: imx-ldb: allow to determine bus format from the connected panel
This patch makes the fsl,data-width and fsl,data-mapping device tree
properties optional if a panel is connected to the ldb output port
via the of_graph bindings. The data mapping is determined from the
display_info.bus_format field provided by the panel.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
commit 3973aff06585309f6215c66ed9d11d74656a9fa6
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Wed Nov 26 13:59:11 2014 +0100
drm/imx: imx-ldb: reset display clock input when disabling LVDS
The LDB driver changes the attached display interface's input clock mux
to the LDB_DI clock reference. Change it back again when disabling the
LVDS display. Changing back to the PLL5 for example allows to configure
the same DI for HDMI output later.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
commit 751e2676ee9272a0fbde6566afde33c1106d7da1
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Thu Mar 6 14:54:39 2014 +0100
drm/imx: imx-ldb: add drm_panel support
This patch allows to optionally attach the lvds-channel to a panel
supported by a drm_panel driver using of-graph bindings, instead of
supplying the modes via display-timings in the device tree.
This depends on of_graph_get_port_by_id and uses the OF graph to
link the optional DRM panel to the LDB lvds-channel. The output
port number is 1 on devices without the 4-port input multiplexer
(i.MX5) and 4 on devices with the mux (i.MX6).
Before:
ldb {
...
lvds-channel@0 {
...
display-timings {
native-timing = <&timing1>;
timing1: etm0700g0dh6 {
hactive = <800>;
vactive = <480>;
clock-frequency = <33260000>;
hsync-len = <128>;
hback-porch = <88>;
hfront-porch = <40>;
vsync-len = <2>;
vback-porch = <33>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
...
};
};
...
};
};
After:
ldb {
...
lvds-channel@0 {
...
port@4 {
reg = <4>;
lvds_out: endpoint {
remote_endpoint = <&panel_in>;
};
};
};
};
panel {
compatible = "edt,etm0700g0dh6", "simple-panel";
...
port {
panel_in: endpoint {
remote-endpoint = <&lvds_out>;
};
};
};
[Fixed build error due to missing select on DRM_PANEL --rmk]
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
commit be37a9900b0470fc424fe3382a414eabf759a8ac
Author: Markos Chandras <markos.chandras@xxxxxxxxxx>
Date: Mon Mar 23 12:32:03 2015 +0000
MIPS: Malta: malta-time: Ensure GIC counter is running
Start the GIC counter before we try to determine its frequency.
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9596/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 7d9cd1f5189abaa9553ddcb966b749c65b669d5a
Author: Markos Chandras <markos.chandras@xxxxxxxxxx>
Date: Mon Mar 23 12:32:02 2015 +0000
CLOCKSOURCE: mips-gic-timer: Ensure GIC counter is running
Start the GIC counter after configuring the clocksource since there
are no guarantees the counter will be running after a CPU reset.
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9595/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 8fa4b93067b70a87785279a7c60158e58e4f2f20
Author: Markos Chandras <markos.chandras@xxxxxxxxxx>
Date: Mon Mar 23 12:32:01 2015 +0000
IRQCHIP: irq-mips-gic: Add new functions to start/stop the GIC counter
We add new functions to start and stop the GIC counter since there are no
guarantees the counter will be running after a CPU reset. The GIC counter
is stopped by setting the 29th bit on the GIC Config register and it is
started by clearing that bit.
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Jason Cooper <jason@xxxxxxxxxxxxxx>
Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Qais Yousef <qais.yousef@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9594/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit c2d7ef51d731fd34ec2c5db0d9dc7501ad069484
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Jan 29 11:14:14 2015 +0000
ttyFDC: Implement KGDB IO operations.
Implement KGDB IO operations for MIPS Fast Debug Channel (FDC). This can
be enabled via Kconfig, which also allows the channel number to be
chosen.
The magic sysrq hack is implemented in the TTY driver, detecting just ^C
for the KGDB channel, and ^O followed by a letter for the FDC console
channel.
The KGDB operations are reasonably efficient thanks to the flush
callback, with a 4 byte buffer being used in both directions to allow up
to 4 bytes to be encoded per FDC word. Reading of data for KGDB will
discard any data received on other channels, which clearly isn't ideal,
but given that there is a single FIFO shared between channels we can't
do much better.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Jiri Slaby <jslaby@xxxxxxx>
Cc: Jason Wessel <jason.wessel@xxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kgdb-bugreport@xxxxxxxxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9147/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit e934945db7625716f9cc469e31fc5da8666c8024
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Jan 29 11:14:13 2015 +0000
MIPS, ttyFDC: Add early FDC console support
Add support for early console of MIPS Fast Debug Channel (FDC) on
channel 1 with a call very early from the MIPS setup_arch().
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Jiri Slaby <jslaby@xxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9145/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 4cebec609aea6dff23e67a42b6516d852fa87d07
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Jan 29 11:14:12 2015 +0000
TTY: Add MIPS EJTAG Fast Debug Channel TTY driver
Add TTY driver and consoles for the MIPS EJTAG Fast Debug Channel (FDC),
which is found on the per-CPU MIPS Common Device Mapped Memory (CDMM)
bus.
The FDC is a per-CPU device which is used to communicate with an EJTAG
probe. RX and TX FIFOs exist, containing 32-bits of data and 4-bit
channel numbers. 16 general data streams are implemented on this for TTY
and console use by encoding up to 4 bytes on each 32-bit FDC word.
The TTY devices are named e.g. /dev/ttyFDC3c2 for channel 2 of the FDC
attached to logical CPU 3.
These can be used for getting the kernel log, a login prompt, or as a
GDB remote transport, all over EJTAG and without needing a serial port.
It can have an interrupt to notify of when incoming data is available in
the RX FIFO or when the TX FIFO is no longer full. The detection of this
interrupt occurs in architecture / platform code, but it may be shared
with the timer and/or performance counter interrupt.
Due to the per-CPU nature of the hardware, all outgoing TTY data is
written out from a kthread which is pinned to the appropriate CPU.
The console is not bound to a specific CPU, so output will appear on the
chosen channel on whichever CPU the code is executing on. Enable with
e.g. console=fdc1 in kernel arguments. /dev/console is bound to the same
channel on the boot CPU's FDC if it exists.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Jiri Slaby <jslaby@xxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9146/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit e38df288a9db56c1bdb60aa4fb2354cde57fdc5f
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Jan 29 11:14:11 2015 +0000
MIPS: idle: Workaround wait + FDC problems
On certain cores (namely proAptiv and P5600) incoming data via a Fast
Debug Channel (FDC) while the core is blocked on a wait instruction will
cause the wait not to wake up even when another interrupt is received.
This makes an idle target stop as soon as you send FDC data to it, until
the debug probe interrupts it and restarts the wait instruction.
This is worked around by avoiding using r4k_wait on these cores if
CONFIG_MIPS_EJTAG_FDC_TTY is enabled (which would imply the user intends
to use the FDC).
[ralf@xxxxxxxxxxxxxx: Fix conflict.]
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9144/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 602e8a345a916e91256497e13575d0690cd1565f
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Jan 29 11:14:10 2015 +0000
MIPS: Malta: Implement get_c0_fdc_int()
Implement the weak get_c0_fdc_int() function for Malta. The Fast Debug
Channel (FDC) interrupt is obtained mainly depending on whether a GIC is
present. Vectored external interrupt mode isn't yet supported.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9143/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 6429e2b6fc05d8640bb94f5b67c047e936707f31
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Jan 29 11:14:09 2015 +0000
IRQCHIP: mips-gic: Add function for retrieving FDC IRQ
Add a function to the MIPS GIC driver for retrieving the Fast Debug
Channel (FDC) interrupt number, similar to the existing ones for the
timer and perf counter interrupts. This will be used by platform
implementations of get_c0_fdc_int() if a GIC is present.
A workaround exists for interAptiv and proAptiv which claim to be able
to route the FDC interrupt but don't seem to be able to in practice (at
least on Malta).
[ralf@xxxxxxxxxxxxxx: Fix conflict.]
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Jason Cooper <jason@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9142/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit b720fd8b66151a8bdf6ec1be32c338d73592ff15
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Jan 29 11:14:08 2015 +0000
irqchip: mips-gic: Don't treat FDC IRQ as percpu devid
Treat the Fast Debug Channel (FDC) interrupt the same as the timer and
performance counter interrupts. Like them, the FDC IRQ is also per-VPE,
and also doesn't use a per-CPU device ID yet. Per-CPU device IDs don't
seem to work with IRQF_SHARED which is needed for compatibility with
cores which don't route the FDC IRQ through the GIC. For hardware which
routes FDC IRQs through the GIC this is something that could be added
later.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Jason Cooper <jason@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9141/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 8f7ff027965619b17488141a5f39d14c850696ab
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Jan 29 11:14:07 2015 +0000
MIPS: Read CPU IRQ line that FDC to routed to
Read the CPU IRQ line reportedly used for the Fast Debug Channel (FDC)
interrupt from the IntCtl register and store it in cp0_fdc_irq where
platform implementations of the new weak platform function
get_c0_fdc_int() can refer to it.
[ralf@xxxxxxxxxxxxxx: Fixed conflict.]
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9140/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 9323f84f22c0e1b84d940062f0b756a49956f8d5
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Jan 29 11:14:06 2015 +0000
MIPS: Add architectural FDC IRQ fields
Add architectural field definitions relating to the Fast Debug Channel
(FDC) interrupt, namely the pending bit in Cause and the field in
IntCtl to specify which CPU IRQ line the FDC interrupt is routed to.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9139/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 296b7c68c0b675b2a9fd44290b8d18719afc9abf
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Mon Feb 2 11:45:10 2015 +0000
MIPS: Malta: Implement mips_cdmm_phys_base()
Implement mips_cdmm_phys_base() for Malta, returning the physical base
address 0x1fc10000 which is "typically unused".
This allows the Common Device Memory Map (CDMM) region to be mapped, and
devices in that region (such as the Fast Debug Channel (FDC) hardware
for communication over EJTAG) to be discovered.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9177/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 8286ae03308c6f97f346f9f8cb9174b04969add5
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Wed Mar 25 15:39:50 2015 +0000
MIPS: Add CDMM bus support
Add MIPS Common Device Memory Map (CDMM) support in the form of a bus in
the standard Linux device model. Each device attached via CDMM is
discoverable via an 8-bit type identifier and may contain a number of
blocks of memory mapped registers in the CDMM region. IRQs are expected
to be handled separately.
Due to the per-cpu (per-VPE for MT cores) nature of the CDMM devices,
all the driver callbacks take place from workqueues which are run on the
right CPU for the device in question, so that the driver doesn't need to
be as concerned about which CPU it is running on. Callbacks also exist
for when CPUs are taken offline, so that any per-CPU resources used by
the driver can be disabled so they don't get forcefully migrated. CDMM
devices are created as children of the CPU device they are attached to.
Any existing CDMM configuration by the bootloader will be inherited,
however platforms wishing to enable CDMM should implement the weak
mips_cdmm_phys_base() function (see asm/cdmm.h) so that the bus driver
knows where it should put the CDMM region in the physical address space
if the bootloader hasn't already enabled it.
A mips_cdmm_early_probe() function is also provided to allow early boot
or particularly low level code to set up the CDMM region and probe for a
specific device type, for example early console or KGDB IO drivers for
the EJTAG Fast Debug Channel (FDC) CDMM device.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9599/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 9b3274bd585c6dff7848119e837bd5ce6c9173e2
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Mon Feb 2 11:45:08 2015 +0000
MIPS: Add arch CDMM definitions and probing
Add architectural definitions and probing for the MIPS Common Device
Memory Map (CDMM) region. When supported and enabled at a particular
physical address, this region allows some number of per-CPU devices to
be discovered and controlled via MMIO.
A bit exists in Config3 to determine whether the feature is present, and
a CDMMBase CP0 register allows the region to be enabled at a particular
physical address.
[ralf@xxxxxxxxxxxxxx: Sort conflict with other patches.]
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9178/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 4a91d8fb61e2b5218acc7a46d5dd28ff1f44f927
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Jan 27 21:45:55 2015 +0000
MIPS: Allow shared IRQ for timer & perf counter
Before release 2 of the architecture there weren't separate interrupt
pending bits for the local CPU interrupts (timer & perf counter
overflow), so when they were connected to the same interrupt line the
timer handler had to call the performance counter handler before knowing
whether a timer interrupt was actually pending.
Now another CPU local interrupt, for the Fast Debug Channel (FDC), can
also be routed to an arbitrary interrupt line. It isn't scalable to keep
adding cross-calls between handlers for these cases of shared interrupt
lines, especially since the FDC could in theory share its interrupt line
with the performance counter, timer, or both.
Fortunately since release 2 of the architecture separate interrupt
pending bits do exist in the Cause register. This allows local
interrupts which share an interrupt line to have separate handlers using
IRQF_SHARED. Unfortunately they can't easily have their own irqchip as
there is no generic way to individually mask them.
Enable this sharing to happen by removing the special case for when the
perf count shares an IRQ with the timer. cp0_perfcount_irq and
cp0_compare_irq can then be set to the same value with shared interrupt
handlers registered for both of them.
Pre-R2 code should be unaffected. cp0_perfcount_irq will always be -1
and the timer handler will contnue to call into the perf counter
handler.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9131/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 369a93bbc78dd7848d433d60e3c88a0c698dde57
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Jan 27 21:45:54 2015 +0000
MIPS: OProfile: Allow sharing IRQ with timer
When requesting the performance counter overflow interrupt, pass flags
which are compatible with the cevt-r4k driver, in particular
IRQF_SHARED so that the two handlers can share the same IRQ. This is
possible since release 2 of the architecture where there are separate
pending interrupt bits for the timer interrupt and the performance
counter interrupt.
This will be necessary since the FDC interrupt can also be arbitrarily
routed to a CPU interrupt, possibly sharing with the timer, the
performance counters, or both, and it isn't scalable to have all the
handlers able to call other handlers that may be on the same IRQ line.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Robert Richter <rric@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: oprofile-list@xxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9130/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit a1ec0e18833088673d2bdfe6e89b67b4f6ab00d7
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Jan 27 21:45:53 2015 +0000
MIPS: perf: Allow sharing IRQ with timer
When requesting the performance counter overflow interrupt, pass flags
which are compatible with the cevt-r4k driver, in particular
IRQF_SHARED so that the two handlers can share the same IRQ. This is
possible since release 2 of the architecture where there are separate
pending interrupt bits for the timer interrupt and the performance
counter interrupt.
This will be necessary since the FDC interrupt can also be arbitrarily
routed to a CPU interrupt, possibly sharing with the timer, the
performance counters, or both, and it isn't scalable to have all the
handlers able to call other handlers that may be on the same IRQ line.
Shared handlers must also have a unique device pointer so they can be
individually removed, so &mipspmu is now passed in for that instead of
NULL.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9129/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit f0c5b8944b39896821e5d64b2d731564498160a9
Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Date: Fri Mar 20 19:45:09 2015 +0100
MIPS: cevt-r4k: Cleanup c0_compare_interrupt.
The attempt to get gcc to generate best possible code turned
c0_compare_interrupt() into a bit of Italian pasta code. Tweak for
sanity.
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 7dfe819803898c824d55a4afe3a0089861681041
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Jan 27 21:45:52 2015 +0000
MIPS: cevt-r4k: Make interrupt handler shared
Make the cevt-r4k interrupt handler shared so that other interrupt
handlers (specifically the performance counter overflow handler and fast
debug channel interrupt handler) can share the same interrupt line.
This simply imvolves returning IRQ_NONE when no timer interrupt has been
handled to allow other handlers to run, and passing IRQF_SHARED when
setting up the IRQ handler so that other handlers (with compatible
flags) can be registered.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9128/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit ea3c023ebf7130d72f9f00a3992c22176ef6703b
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Jan 27 21:45:51 2015 +0000
IRQCHIP: mips-gic: Add missing definitions for FDC IRQ
Add missing VPE_PEND, VPE_RMASK and VPE_SMASK definitions for the local
FDC interrupt.
These local interrupt definitions aren't directly used, but if they
exist they should be complete.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Jason Cooper <jason@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9127/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 7e3e6cb29aeb64df24a0325ffd18892eca33e9b4
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Jan 27 21:45:50 2015 +0000
IRQCHIP: mips-gic: Fix typo in comment
Fix typo in comment in gic_get_c0_perfcount_int:
"erformance" -> "performance".
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Jason Cooper <jason@xxxxxxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9126/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 7eca5b1460f3f1ad3891252743c36f309df53d53
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Jan 27 21:45:49 2015 +0000
MIPS: Remove redundant IPTI==IPPCI logic
The situation where the timer interrupt is on the same line as the
performance counter interrupt is handled in per_cpu_trap_init() by
setting cp0_perfcount_irq to -1, so there is no need to duplicate the
logic conditional upon cp0_perfcount_irq >= 0 in perf
(init_hw_perf_events()) and oprofile (mipsxx_init()).
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9125/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 3ba5040af01fb06a36198f5f6065e25b0655ca0d
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Jan 27 21:45:48 2015 +0000
MIPS: cevt-r4k: Use CAUSEF_TI, CAUSEF_PCI constants
Use CAUSEF_TI and CAUSEF_PCI constants from asm/mipsregs.h rather than
the magic values (1 << 30) and (1 << 26).
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9124/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 19971c0bcb45f264c83cb2fd2bce50457bd17cc4
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Jan 27 21:45:47 2015 +0000
MIPS: cevt-r4k: Move handle_perf_irq() out of header
Long ago, commit 8531a35e5e27 ("[MIPS] SMTC: Fix SMTC dyntick support.")
moved handle_perf_irq() out of cevt-r4k.c into a header so it could be
shared with cevt-smtc.c.
Slightly less long ago, commit b633648c5ad3 ("MIPS: MT: Remove SMTC
support") removed all traces of SMTC support, including cevt-smtc.c,
leaving cevt-r4k.c once again the sole user of handle_perf_irq(),
therefore move it back into cevt-r4k.c from the header.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9123/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit c9d6c8b0eba2421b9bf812919bece0b82d923689
Author: Govindraj Raja <govindraj.raja@xxxxxxxxxx>
Date: Mon Mar 16 14:43:11 2015 -0700
MIPS: pistachio: Add an initial defconfig
Add a defconfig for Pistachio which enables drivers for all the
currently supported peripherals on the SoC.
Signed-off-by: Govindraj Raja <govindraj.raja@xxxxxxxxxx>
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Cc: James Hartley <james.hartley@xxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9570/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 6a438309a5fe00480fe4c68fbad402617ac05813
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Mon Mar 16 14:43:10 2015 -0700
MIPS: Add support for the IMG Pistachio SoC
Add initial support for boards based on the Imagination Pistachio SoC.
Pistachio is based on a dual-core MIPS interAptiv CPU and will boot
using device-tree.
Signed-off-by: James Hartley <james.hartley@xxxxxxxxxx>
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9569/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit e14ba3cdd6dddb004def9811ee057576e53ca9a0
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Mon Mar 16 14:43:09 2015 -0700
MIPS: Document Pistachio boot protocol and device-tree bindings
The Pistachio SoC boots only with device-tree. Document the required
properties and nodes as well as the boot protocol between the bootlaoder
and the kernel.
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Rob Herring <robh+dt@xxxxxxxxxx>
Cc: Pawel Moll <pawel.moll@xxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx>
Cc: Kumar Gala <galak@xxxxxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Cc: James Hartley <james.hartley@xxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9568/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit b76a4c1ae1923b0b21d1a97e972cb2ce39791aa1
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Mon Mar 16 14:43:08 2015 -0700
MIPS: Allow platforms to specify the decompressor load address
Platforms which use raw zboot images may need to link the image at
a fixed address if there is no other way to communicate the load
address to the bootloader. Allow the per-platform Kbuild files
to specify an optional zboot image load address (zload-y) and fall
back to calc_vmlinuz_load_addr if unset.
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Lars-Peter Clausen <lars@xxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Cc: James Hartley <james.hartley@xxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9566/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 8f361b279f76b1e9548c9b3e59da63d3dec11bea
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Mon Mar 23 11:16:21 2015 +0100
gpu: ipu-v3: turns out the IPU can only downsize 4:1
The value for downsizing 8:1 is marked as reserved in the technical
reference
manual and the documentation states downsizing capability up to 4:1 only.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
commit f7089d923eacb9c8e57d8492699662756881b54d
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Tue Mar 10 15:03:43 2015 +0100
gpu: ipu-v3: limit pixel clock divider to 8-bits
The DI pixel clock divider bit field is only 8 bits wide for the
integer part, so limit the divider to the 1...255 interval before
deciding whether the internal clock can be used and before writing
to the register.
Reported-by: Felix Mellmann <felix.mellmann@xxxxxxxxx>
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
commit d631fc60706ccd86c5c2b0084bcea0739952ce90
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date: Mon Mar 16 14:43:07 2015 -0700
MIPS: Create a common <asm/mach-generic/war.h>
11 platforms require at least one of these workarounds to be enabled; 22
platforms do not. In the latter case we can fall back to a generic
version.
Note that this also deletes an orphaned reference to RM9000_CDEX_SMP_WAR.
Suggested-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Cc: James Hartley <james.hartley@xxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9567/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 2872c8072aae65fa55cafea50e73d69d423df168
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Mon Feb 2 17:25:59 2015 +0100
drm/imx: consolidate bus format variable names
This patch consolidates the different interface_pix_fmt, pixel_fmt,
pix_fmt,
and pixfmt variables to a common name "bus_format" wherever they describe
the
pixel format on the bus between display controller and encoder hardware.
At the same time, it renames imx_drm_panel_format to
imx_drm_set_bus_format.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Tested-by: Emil Renner Berthing <kernel@xxxxxxxx>
commit a7c6e76feeb19de1a5cefa50ea6c0fc5ad45bbe1
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Tue Dec 2 17:51:36 2014 +0100
drm/imx: switch to use media bus formats
imx-drm internally misused the V4L2_PIX_FMT constants, which are supposed
to
describe the pixel format of frame buffers in memory, to describe the
pixel
format on the bus between the display controller and the encoder hardware.
Now that MEDIA_BUS_FMT constants are available to drm drivers, use those
instead.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Tested-by: Emil Renner Berthing <kernel@xxxxxxxx>
commit 203508ef52e3fee93b71262928541ecea82c735d
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Tue Dec 2 17:56:04 2014 +0100
Add RGB666_1X24_CPADHI media bus format
Commit 9e74d2926a28 ("staging: imx-drm: add LVDS666 support for parallel
display") describes a 24-bit bus format where three 6-bit components each
take the lower part of 8 bits with the two high bits zero padded. Add a
component-wise padded media bus format RGB666_1X24_CPADHI to support this
connection.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Tested-by: Emil Renner Berthing <kernel@xxxxxxxx>
commit 0fc63eb104d76e20654cd97eeb1bfd0f35bc3d3a
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Wed Dec 3 11:01:54 2014 +0100
Add YUV8_1X24 media bus format
This patch adds the media bus format for a 24-bit bus format with three
8-bit YUV components.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
commit 08c38458be7efa36a1d2dffd40500448e46d29c5
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Tue Dec 2 15:45:25 2014 +0100
Add BGR888_1X24 and GBR888_1X24 media bus formats
This patch adds two more 24-bit RGB formats. BGR888 is more or less
common,
GBR888 is used on the internal connection between the IPU display
interface
and the TVE (VGA DAC) on i.MX53 SoCs.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
commit b295c22978b86fc62019d12f4108b68b7e795610
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Tue Dec 2 17:49:04 2014 +0100
Add LVDS RGB media bus formats
This patch adds three new RGB media bus formats that describe
18-bit or 24-bit samples transferred over an LVDS bus with three
or four differential data pairs, serialized into 7 time slots,
using standard SPWG/PSWG/VESA or JEIDA data ordering.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
commit 4b3a81a917a5ef21a4483d699cefd4d9fa35b841
Author: Boris Brezillion <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Date: Wed Jan 28 17:49:51 2015 +0100
Add RGB444_1X12 and RGB565_1X16 media bus formats
Add RGB444_1X12 and RGB565_1X16 format definitions and update the
documentation.
Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Acked-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
commit e0d155cadbc569319e49b97ebb8b062e241483e6
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Fri Jul 11 17:28:45 2014 +0200
drm/imx: ipuv3-crtc: Allow to divide DI clock from TVEv2
This patch allows the IPU to divide the 27 MHz input clock from
the TVE by two to obtain the 13.5 MHz pixel clock needed for
NTSC/PAL SD modes.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
commit dd7fa6d88796b1aaa511abbac38963aa1c443443
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Fri Jul 11 18:02:06 2014 +0200
drm/imx: Add support for interlaced scanout
This patch allows interlaced frame buffer scanout for interlaced output
via HDMI or TV-Encoder.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
commit a47eb351d2bd17cdf01de070f13cb12f6be4a0c5
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Tue Feb 24 19:56:07 2015 -0800
CLK: Pistachio: Register external clock gates
Register the clock gates for the external audio and ethernet
reference clocks provided by the top-level general control block.
Signed-off-by: Damien Horsley <Damien.Horsley@xxxxxxxxxx>
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Mike Turquette <mturquette@xxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Cc: James Hartley <james.hartley@xxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9321/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 8cb94af684ecfea38e8c9ff8d8519ff751a66968
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Tue Feb 24 19:56:06 2015 -0800
CLK: Pistachio: Register system interface gate clocks
Register the system interface gate clocks provided by the peripheral
general control block. These clocks gate register access for various
peripherals.
Signed-off-by: Damien Horsley <Damien.Horsley@xxxxxxxxxx>
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Mike Turquette <mturquette@xxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Cc: James Hartley <james.hartley@xxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9322/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 44960ab862a6db088f46fbf582d16a25fb999a83
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Tue Feb 24 19:56:05 2015 -0800
CLK: Pistachio: Register peripheral clocks
Register the clocks generated by the peripheral clock controller.
This includes the clocks for several peripherals, including I2C,
PWM, watchdog, and timer.
Signed-off-by: Damien Horsley <Damien.Horsley@xxxxxxxxxx>
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Mike Turquette <mturquette@xxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Cc: James Hartley <james.hartley@xxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9320/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit b35d7c33419cb0d000d23d3a5ab524ab8d3d8bf9
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Tue Feb 24 19:56:04 2015 -0800
CLK: Pistachio: Register core clocks
Register the clocks generated by the core clock controller.
This includes the 7 PLLs and clocks for the CPU, RPU co-processor,
audio, WiFi, bluetooth, and several other peripherals.
The MIPS and PERIPH_SYS clocks must remain enabled at all times.
Signed-off-by: Damien Horsley <Damien.Horsley@xxxxxxxxxx>
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Mike Turquette <mturquette@xxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Cc: James Hartley <james.hartley@xxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9317/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 43049b0c83f177083a56d69e64e47c82bcc04185
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Tue Feb 24 19:56:03 2015 -0800
CLK: Pistachio: Add PLL driver
Add a driver for the integer (GF40LP_LAINT) and fractional (GF40LP_FRAC)
PLLs present on Pistachio.
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Mike Turquette <mturquette@xxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Cc: James Hartley <james.hartley@xxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9316/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 8e4b7721f61e70396ad8ec2d866c91300f2afbd1
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Tue Feb 24 19:56:02 2015 -0800
CLK: Add basic infrastructure for Pistachio clocks
Add helpers for registering clocks and clock providers on Pistachio.
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Mike Turquette <mturquette@xxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Cc: James Hartley <james.hartley@xxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9318/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 55474c48b4726fd3914c1ec47fced0f931729979
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Sun Mar 29 11:02:34 2015 +0200
x86/asm/entry: Remove user_mode_ignore_vm86()
user_mode_ignore_vm86() can be used instead of user_mode(), in
places where we have already done a v8086_mode() security
check of ptregs.
But doing this check in the wrong place would be a bug that
could result in security problems, and also the naming still
isn't very clear.
Furthermore, it only affects 32-bit kernels, while most
development happens on 64-bit kernels.
If we replace them with user_mode() checks then the cost is only
a very minor increase in various slowpaths:
text data bss dec hex filename
10573391 703562 1753042 13029995 c6d26b
vmlinux.o.before
10573423 703562 1753042 13030027 c6d28b vmlinux.o.after
So lets get rid of this distinction once and for all.
Acked-by: Borislav Petkov <bp@xxxxxxx>
Acked-by: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Andrew Lutomirski <luto@xxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brad Spengler <spender@xxxxxxxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150329090233.GA1963@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit f5c8a104116a56503b6e824e7782b2e805b29abb
Merge: c9ce871 43eaa2a
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Tue Mar 31 10:47:18 2015 +0200
Merge tag 'amd_severity' of
git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras into x86/ras
Pull RAS update from Borislav Petkov:
"This has been long in the making - an AMD-specific MCE-severity grading
function. And it is actually readable at a quick glance. Further error
recovery actions will be based on its output.
Patches tested on every relevant AMD family out there."
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 115db5c68bd4ed7fbcb73f300e666ff127b359b6
Author: Andy Lutomirski <luto@xxxxxxxxxx>
Date: Fri Mar 27 11:48:19 2015 -0700
x86/vdso: Remove x32 intermediates during 'make clean'
The existing clean-files rule was missing vdsox32.so and
vdsox32.so.dbg. We should really rename the intermediates to
allow a single rule to get them all.
Also-reported-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx>
Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/7fa2ad4a63bc6f52e214125900d54165ef06cc10.1427482099.git.luto@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit ef37507d99ab29c253de3c55e7ee9fa4f6d50834
Author: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx>
Date: Fri Mar 27 11:48:18 2015 -0700
x86/vdso: Teach 'make clean' to remove generated vdso-image-*.c files
After 'make clean' the following files were left in arch/x86/vdso/:
vdso-image-32-int80.c
vdso-image-32-syscall.c
vdso-image-32-sysenter.c
These file are generated during the build process and are present
in .gitignore, so remove them.
Signed-off-by: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx>
Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/f85bb7ef6f8c6f6aa4bf422348018c84321454f8.1427482099.git.luto@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit e7d6eefaaa443130079d73cd05039d90b3db7a4a
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Fri Mar 27 11:48:17 2015 -0700
x86/vdso32/syscall.S: Do not load __USER32_DS to %ss
This vDSO code only gets used by 64-bit kernels, not 32-bit ones.
On 64-bit kernels, the data segment is the same for 32-bit and
64-bit userspace, and the SYSRET instruction loads %ss with its
selector.
So there's no need to repeat it by hand. Segment loads are somewhat
expensive: tens of cycles.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
[ Removed unnecessary comment. ]
Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/63da6d778f69fd0f1345d9287f6764d58be519fa.1427482099.git.luto@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 0a4f59d6e09ef16fbb7d213cfa1bf472c7845fda
Author: Tommi Kyntola <tommi.kyntola@xxxxxxxxx>
Date: Fri Mar 27 11:48:16 2015 -0700
x86/vdso: Fix the x86 vdso2c tool includes
The build-time tool arch/x86/vdso/vdso2c.c includes <linux/elf.h>,
but cannot find it, unless the build host happens to provide it.
It should be reading the uapi linux/elf.h
This build regression came along with the vdso2c changes between
v3.15 and v3.16.
Signed-off-by: Tommi Kyntola <tommi.kyntola@xxxxxxxxx>
Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1525002.3cJ7BySVpA@musta
Link:
http://lkml.kernel.org/r/efe1ec29eda830b1d0030882706f3dac99ce1f73.1427482099.git.luto@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 6a840791182c7dab3428c6f005776b50e62e53ef
Author: LEROY Christophe <christophe.leroy@xxxxxx>
Date: Mon Dec 8 15:16:44 2014 +0100
powerpc32/chrp: fix section mismatch warning
This patch fixes a section mismatch warning
WARNING: vmlinux.o(.text+0x213b6): Section mismatch in reference from the
function chrp_init_early() to the variable .init.data:boot_command_line
The function chrp_init_early() references
the variable __initdata boot_command_line.
This is often because chrp_init_early lacks a __initdata
annotation or the annotation of boot_command_line is wrong.
Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 4e26d11f52684dc8b1632a8cfe450cb5197a8464
Author: Hector Marco-Gisbert <hecmargi@xxxxxx>
Date: Fri Mar 27 12:38:21 2015 +0100
x86/mm: Improve AMD Bulldozer ASLR workaround
The ASLR implementation needs to special-case AMD F15h processors by
clearing out bits [14:12] of the virtual address in order to avoid I$
cross invalidations and thus performance penalty for certain workloads.
For details, see:
dfb09f9b7ab0 ("x86, amd: Avoid cache aliasing penalties on AMD family
15h")
This special case reduces the mmapped file's entropy by 3 bits.
The following output is the run on an AMD Opteron 62xx class CPU
processor under x86_64 Linux 4.0.0:
$ for i in `seq 1 10`; do cat /proc/self/maps | grep "r-xp.*libc" ; done
b7588000-b7736000 r-xp 00000000 00:01 4924
/lib/i386-linux-gnu/libc.so.6
b7570000-b771e000 r-xp 00000000 00:01 4924
/lib/i386-linux-gnu/libc.so.6
b75d0000-b777e000 r-xp 00000000 00:01 4924
/lib/i386-linux-gnu/libc.so.6
b75b0000-b775e000 r-xp 00000000 00:01 4924
/lib/i386-linux-gnu/libc.so.6
b7578000-b7726000 r-xp 00000000 00:01 4924
/lib/i386-linux-gnu/libc.so.6
...
Bits [12:14] are always 0, i.e. the address always ends in 0x8000 or
0x0000.
32-bit systems, as in the example above, are especially sensitive
to this issue because 32-bit randomness for VA space is 8 bits (see
mmap_rnd()). With the Bulldozer special case, this diminishes to only 32
different slots of mmap virtual addresses.
This patch randomizes per boot the three affected bits rather than
setting them to zero. Since all the shared pages have the same value
at bits [12..14], there is no cache aliasing problems. This value gets
generated during system boot and it is thus not known to a potential
remote attacker. Therefore, the impact from the Bulldozer workaround
gets diminished and ASLR randomness increased.
More details at:
http://hmarco.org/bugs/AMD-Bulldozer-linux-ASLR-weakness-reducing-mmaped-files-by-eight.html
Original white paper by AMD dealing with the issue:
http://developer.amd.com/wordpress/media/2012/10/SharedL1InstructionCacheonAMD15hCPU.pdf
Mentored-by: Ismael Ripoll <iripoll@xxxxxxxxxxxx>
Signed-off-by: Hector Marco-Gisbert <hecmargi@xxxxxx>
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Acked-by: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Jan-Simon <dl9pf@xxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: linux-fsdevel@xxxxxxxxxxxxxxx
Link:
http://lkml.kernel.org/r/1427456301-3764-1-git-send-email-hecmargi@xxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 46423ffaf45c2494626841238d8bf75123a28caa
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Mar 29 15:43:09 2015 +0200
x86/microcode/amd: Drop the pci_ids.h dependency
This file doesn't use any macros from pci_ids.h anymore, drop the include.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Cc: Andreas Herrmann <herrmann.der.user@xxxxxxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427635734-24786-80-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a3675b32aac81c2c4733568844f8276527a37423
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Mon Mar 30 20:09:34 2015 +0200
x86/asm/entry/64: Do not GET_THREAD_INFO() too early
At exit_intr, we GET_THREAD_INFO(%rcx) and then jump to
retint_kernel if saved CS was from kernel. But the code at
retint_kernel doesn't need %rcx.
Move GET_THREAD_INFO(%rcx) down, after CS check and branch.
While at it, remove "has a correct top of stack" comment.
After recent changes which eliminated FIXUP_TOP_OF_STACK,
we always have a correct pt_regs layout.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427738975-7391-5-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 627276cb55f33e2dc56eab5b973937c128b7704c
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Mon Mar 30 20:09:31 2015 +0200
x86/asm/entry/64: Move retint_kernel code block closer to its user
The "retint_kernel" code block is misplaced. Since its logical
continuation is "retint_restore_args", it is more natural to
place it above that label. This also makes two jumps "short".
This change only moves code block around, without changing
logic.
This enables the next simplification: making
"retint_restore_args" label a local numeric one.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427738975-7391-2-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 066626d5d5548d7ff63772a840b8d40a0d278825
Author: Emil Velikov <emil.l.velikov@xxxxxxxxx>
Date: Mon Mar 30 17:10:36 2015 +0000
drm: line wrap DRM_IOCTL_DEF* macros
Improve the readability and keeps the lines shorter than 80 columns.
Signed-off-by: Emil Velikov <emil.l.velikov@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 4806c87f017d8a7003ad34886f58c3b9e023df6a
Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Date: Mon Mar 30 22:17:09 2015 +0200
clocksource/drivers/at91: Fix IO endianness
Fix the use of __raw IO accessor with the readl/writel_relaxed()
versions to allow the code to be used on a system running in big
endian mode.
Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Cc: Andrew Victor <linux@xxxxxxxxxxxx>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx>
Cc: Linux ARM Kernel <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: digetx@xxxxxxxxx
Cc: hdegoede@xxxxxxxxxx
Cc: laurent.pinchart+renesas@xxxxxxxxxxxxxxxx
Cc: maxime.ripard@xxxxxxxxxxxxxxxxxx
Cc: viresh.kumar@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1427746633-9137-7-git-send-email-daniel.lezcano@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 37b8b003c483191a327a740fc32c1993959e7ae9
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Mon Mar 30 22:17:10 2015 +0200
clocksource/drivers/sun4i-timer: Only register a sched_clock on sun4i and
sun5i
sun6i and newer have an arm arch timer which is a better
sched_clock source then the sun4i-timer, and sched_clock does
not have priorities, so do not register the sun4i-timer
sched_clock at all on sun6i and newer.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Cc: ben.dooks@xxxxxxxxxxxxxxx
Cc: digetx@xxxxxxxxx
Cc: laurent.pinchart+renesas@xxxxxxxxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: viresh.kumar@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1427746633-9137-8-git-send-email-daniel.lezcano@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 59196bcef5c1034f020fe5bf3579f89767537246
Author: Dmitry Osipenko <digetx@xxxxxxxxx>
Date: Mon Mar 30 22:17:11 2015 +0200
clocksource/drivers/tegra: Fix IO endianness
Support big-endian kernel by using endian-aware register access
functions.
Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx>
Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Acked-by: Thierry Reding <treding@xxxxxxxxxx>
Cc: ben.dooks@xxxxxxxxxxxxxxx
Cc: hdegoede@xxxxxxxxxx
Cc: laurent.pinchart+renesas@xxxxxxxxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: maxime.ripard@xxxxxxxxxxxxxxxxxx
Cc: viresh.kumar@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1427746633-9137-9-git-send-email-daniel.lezcano@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 3a10013b6a5975346fe5a8db59500a8d176d64e0
Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Date: Mon Mar 30 22:17:12 2015 +0200
clocksource/drivers/dw_apb_timers_of: Fix IO endianness causing time jumps
The dw_apb_timer_of timer is using __raw_readl() to access the
timer register, which is causing issues when the system is
running in big endian mode. Fix this by using readl_relaxed()
which should account for the endian settings.
This fixes issues where the time jumps around in the dmesg
output due to returnling __le32 values.
For an example, these two console lines show time running
backwards:
[ 49.882572] CPU1: failed to come online
[ 43.282457] Brought up 1 CPUs
Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Cc: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx>
Cc: Linux ARM Kernel <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: digetx@xxxxxxxxx
Cc: hdegoede@xxxxxxxxxx
Cc: laurent.pinchart+renesas@xxxxxxxxxxxxxxxx
Cc: maxime.ripard@xxxxxxxxxxxxxxxxxx
Cc: viresh.kumar@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1427746633-9137-10-git-send-email-daniel.lezcano@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit ad834a346853b7ee7c684efa56b1d415a850a710
Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Date: Mon Mar 30 22:17:13 2015 +0200
clocksource/drivers/efm32: Use CLOCK_EVT_FEAT_PERIODIC for defining
features
We have used CLOCK_EVT_MODE_PERIODIC instead of
CLOCK_EVT_FEAT_PERIODIC while defining features. Fix it.
Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Acked-by: Uwe Kleine-Koenig <u.kleine-koenig@xxxxxxxxxxxxxx>
Cc: ben.dooks@xxxxxxxxxxxxxxx
Cc: digetx@xxxxxxxxx
Cc: hdegoede@xxxxxxxxxx
Cc: laurent.pinchart+renesas@xxxxxxxxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: maxime.ripard@xxxxxxxxxxxxxxxxxx
Link:
http://lkml.kernel.org/r/1427746633-9137-11-git-send-email-daniel.lezcano@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit c5e77f5216abdd1d98e6d14d9a3eb4e88d80011a
Merge: de81e64 e42391c
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Tue Mar 31 09:08:13 2015 +0200
Merge tag 'v4.0-rc6' into timers/core, before applying new patches
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 11e52a699afff576606ceb6cf697270459f1a4aa
Author: James Bottomley <JBottomley@xxxxxxxxxxxxx>
Date: Wed Mar 18 15:56:16 2015 -0700
enclosure: fix WARN_ON removing an adapter in multi-path devices
We have peculiar problems with multi-path and enclosures: physically, we
know
each bay can only be occupied by a single disk device. However in
multi-path,
it appears we have many (because each path to the device appears in Linux
as a
different kernel device). We try to fix this by only having the last seen
device show up in the bay.
Sysfs gets very annoyed if we try to manipulate links when the kobject
sysfs
directory (kobj.sd) doesn't exist and drops a huge WARN_ON which most
users
panic and report an oops for. This happens on a few path removal
situations
and IBM reports seeing it when one of their multi-path adapters is
removed.
Add a check to enclosure device removal for the existence the sysfs
directory
containing both the forward and back links so that the remnants (if any)
get
removed in either direction but no scary warnings are dumped.
Reported-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx>
Tested-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx>
Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx>
commit 18e1d1b115f79ab1f9137f2b4c72f87c218a5fb9
Author: Alex Dowad <alexinbeijing@xxxxxxxxx>
Date: Fri Mar 13 20:04:18 2015 +0200
arc: copy_thread(): rename 'arg' argument to 'kthread_arg'
The 'arg' argument to copy_thread() is only ever used when forking a new
kernel thread. Hence, rename it to 'kthread_arg' for clarity.
Signed-off-by: Alex Dowad <alexinbeijing@xxxxxxxxx>
Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
commit 358b615f5812e28dd763d2aa1297563927a2f89d
Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Date: Mon Mar 30 17:33:23 2015 +0200
PM / devfreq: tegra: Register governor on module init
So this driver builds as a module.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
commit 34ed504008b2d8d3578191424fc5cddcb76d69f5
Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Date: Tue Mar 17 10:36:17 2015 +0100
PM / devfreq: tegra: Enable interrupts after resuming the devfreq monitor
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
commit 2da19b1a4d4fadf8d84a5cb6a953749a559a29fb
Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Date: Tue Mar 17 10:36:16 2015 +0100
PM / devfreq: tegra: Set drvdata before enabling the irq
To avoid a race in which the interrupt will be handled before the
drvdata has been set up.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
commit 5d498b463a3cdef51e6d4cc7066ac89c360e7a98
Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Date: Tue Mar 17 10:36:15 2015 +0100
PM / devfreq: tegra: remove operating-points
As the DT bindings don't have an operating-points property any more,
build the OPP table from the frequencies supported by the EMC clock.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
commit c70eea739f5e765b5d6aadf9621cbdeb024dfbd6
Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Date: Tue Mar 17 10:36:14 2015 +0100
PM / devfreq: tegra: Use clock rate constraints
Now that we have per-user clocks and the possibility to set constraints
in a clock, set a floor constraint on the EMC clock.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
commit 11573e9132ae40239195fe5162d48caf2b7d85bb
Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Date: Tue Mar 17 10:36:12 2015 +0100
PM / devfreq: tegra: Update to v5 of the submitted patches
There seemed to be some miscommunication and an old version of the
submitted patches was merged.
This commit updates the driver to v5, which had this changelog:
* Clarify the units of avg_dependency_threshold
* Remove unused references to platform_device
* Enable and disable interrupts on governor events
* Make sure we handle all interrupts for any of the devices we are
sampling
* Move locking to be per-actmon-device
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
CC: Alex Frid <afrid@xxxxxxxxxx>
CC: Mikko Perttunen <mikko.perttunen@xxxxxxxx>
[Added const to device ID by MyungJoo]
Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
commit 6bc08d03e745a0b369bd28294b969e4fdaf7be9f
Author: Cédric Le Goater <clg@xxxxxxxxxx>
Date: Mon Mar 30 12:06:10 2015 +0200
powerpc/powernv: handle OPAL_SUCCESS return in opal_sensor_read
Currently, when a sensor value is read, the kernel calls OPAL, which in
turn builds a message for the FSP, and waits for a message back.
The new device tree for OPAL sensors [1] adds new sensors that can be
read synchronously (core temperatures for instance) and that don't need
to wait for a response.
This patch modifies the opal call to accept an OPAL_SUCCESS return value
and cover the case above.
[1] https://lists.ozlabs.org/pipermail/skiboot/2015-March/000639.html
Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit e3c5c2e0bc857c7cbdb81f35a6b90236c5f330e9
Author: Cédric Le Goater <clg@xxxxxxxxxx>
Date: Mon Mar 30 12:06:09 2015 +0200
powerpc/powernv: convert codes returned by OPAL calls
OPAL has its own list of return codes. The patch provides a translation
of such codes in errnos for the opal_sensor_read call, and possibly
others if needed.
Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit d7de390bff7ad0f551fc0e409543e98db86a65df
Merge: b1f389e f026eb6
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Tue Mar 31 13:38:01 2015 +1000
Merge branch 'drm-atmel-hlcdc-4.1-fixes' of
git://github.com/bbrezillon/linux-at91 into drm-next
add PM fix.
* 'drm-atmel-hlcdc-4.1-fixes' of git://github.com/bbrezillon/linux-at91:
drm: atmel-hlcdc: use appropriate enabled flag in suspend/resume
commit b1f389ecc20b95f0f64515588d3736e85146848f
Merge: 517bc04 cea405b
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Tue Mar 31 13:36:25 2015 +1000
Merge tag 'drm-amdkfd-next-2015-03-25' of
git://people.freedesktop.org/~gabbayo/linux into drm-next
- Allow amdkfd to work with multiple kgd instances. This is in
preparation for
AMD's new open source kernel graphic driver (amdgpu), and for the new
AMD APU, Carrizo.
- Convert timestamping to use 64bit time accessors
- Three other minor changes.
* tag 'drm-amdkfd-next-2015-03-25' of
git://people.freedesktop.org/~gabbayo/linux:
drm/amdkfd: Add multiple kgd support
drm/amdkfd: Convert timestamping to use 64bit time accessors
drm/amdkfd: add debug prints for process teardown
drm/amdkfd: Remove unused field from struct qcm_process_device
drm/amdkfd: rename fence_wait_timeout
commit 3bbf7f4624856751aa4cf279a472bd14a8eb16fd
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 31 13:25:05 2015 +1030
linux/cpumask.h: add typechecking to cpumask_test_cpu
The Subtlety (1) referred to vanished with 6ba2ef7baac2 ("cpumask:
Move deprecated functions to end of header."). That used to mention
some suboptimal code generation by a, by now, rather ancient gcc. With
gcc 4.7, I don't see any change in the generated code by making it a
static inline, so let's add type checking and get rid of the ghost
reference.
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit acdb66857fb9a713c93bb3e6edba5ee478ba0678
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Mon Mar 30 16:46:04 2015 -0700
powerpc: Use bool function return values of true/false not 1/0
Use the normal return values for bool functions
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 9cd5196ed25979a3760f97225aae3e17caf21512
Author: Masanari Iida <standby24x7@xxxxxxxxx>
Date: Mon Mar 30 19:06:22 2015 +0900
mtd: ts5500_flash: Fix typo in MODULE_DESCRIPTION in ts5500_flash.c
This patch fixes a spelling typo in MODULE_DESCRIPTION in
ts5500_flash.c.
Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx>
[ Brian: fixed grammar in a spelling patch :) ]
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit d4ed11aa4881246e1e36e0189f30f053f140370c
Merge: 3305244 027fa02
Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 31 13:11:17 2015 +1100
Merge branch 'next-eeh' into next-sriov
Merge in Gavin EEH fixes
commit 027fa02f84e851e21daffdf8900d6117071890f8
Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 27 11:29:00 2015 +1100
powerpc/powernv: Don't map M64 segments using M32DT
If M64 has been supported, the prefetchable 64-bits memory resources
shouldn't be mapped to the corresponding PE# via M32DT. Unfortunately,
we're doing that in pnv_ioda_setup_pe_seg() wrongly. The issue was
introduced by commit 262af55 ("powerpc/powernv: Enable M64 aperatus
for PHB3"). The patch fixes the issue by simply skipping M64 resources
when updating to M32DT.
Cc: <stable@xxxxxxxxxxxxxxx> # v3.17+
Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 433185d2b4e9c25f2a444424c05af72fbadd4275
Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 27 11:22:17 2015 +1100
powerpc/eeh: Fix PE#0 check in eeh_add_to_parent_pe()
The function eeh_add_parent_pe() is used to create a PE or add one
edev to its parent PE. Current code checks if PE#0 is valid for the
later case. Actually, we should validate PE#0 for both cases when
EEH core regards PE#0 as invalid one (without flag EEH_VALID_PE_ZERO).
Otherwise, not all EEH devices can be added to its parent PE#0 for
EEH on P7IOC.
The patch fixes the issue by validating PE#0 for the two cases. So far,
we don't have PE#0 for EEH on P7IOC, but it will show up when we enable
M64 for P7IOC. The patch also makes the error message more meaningful.
Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 330524404298b2142d2e3a2f64251ca855d55d72
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:24:01 2015 +0800
powerpc/pci: Add PCI resource alignment documentation
In order to enable SRIOV on PowerNV platform, the PF's IOV BAR needs to be
adjusted:
1. size expanded
2. aligned to M64BT size
This patch documents this change on the reason and how.
[bhelgaas: reformat, clarify, expand]
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 250c7b277c65e801a3312061dc2e919233468916
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:24:00 2015 +0800
powerpc/pci: Remove unused struct pci_dn.pcidev field
In struct pci_dn, the pcidev field is assigned but not used, so remove it.
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Acked-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 02639b0e1326c3eff88d74fde6b5dbd04ace564e
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:23:59 2015 +0800
powerpc/powernv: Group VF PE when IOV BAR is big on PHB3
When IOV BAR is big, each is covered by 4 M64 windows. This leads to
several VF PE sits in one PE in terms of M64.
Group VF PEs according to the M64 allocation.
[bhelgaas: use dev_printk() when possible]
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 5b88ec228498b7d41de6599eca12cc0032056e3f
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:23:58 2015 +0800
powerpc/powernv: Reserve additional space for IOV BAR, with m64_per_iov
supported
M64 aperture size is limited on PHB3. When the IOV BAR is too big, this
will exceed the limitation and failed to be assigned.
Introduce a different mechanism based on the IOV BAR size:
- if IOV BAR size is smaller than 64MB, expand to total_pe
- if IOV BAR size is bigger than 64MB, roundup power2
[bhelgaas: make dev_printk() output more consistent, use
PCI_SRIOV_NUM_BARS]
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 781a868f3136c6eb8e8c5c19d148416d7da86610
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:23:57 2015 +0800
powerpc/powernv: Shift VF resource with an offset
On PowerNV platform, resource position in M64 BAR implies the PE# the
resource belongs to. In some cases, adjustment of a resource is necessary
to locate it to a correct position in M64 BAR .
This patch adds pnv_pci_vf_resource_shift() to shift the 'real' PF IOV BAR
address according to an offset.
Note:
After doing so, there would be a "hole" in the /proc/iomem when offset
is a positive value. It looks like the device return some mmio back to
the system, which actually no one could use it.
[bhelgaas: rework loops, rework overlap check, index resource[]
conventionally, remove pci_regs.h include, squashed with next patch]
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 5350ab3fd794f899079d9f6b2b6fe1a7917087ef
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:23:56 2015 +0800
powerpc/powernv: Implement pcibios_iov_resource_alignment() on powernv
Implement pcibios_iov_resource_alignment() on powernv platform.
On PowerNV platform, there are 3 cases for the IOV BAR:
1. initial state, the IOV BAR size is multiple times of VF BAR size
2. after expanded, the IOV BAR size is expanded to meet the M64 segment
size
3. sizing stage, the IOV BAR is truncated to 0
pnv_pci_iov_resource_alignment() handle these three cases respectively.
[bhelgaas: adjust to drop "align" parameter, return
pci_iov_resource_size()
if no ppc_md machdep_call version]
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 6e628c7d33d99406cef374972c89389edcc3570f
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:23:55 2015 +0800
powerpc/powernv: Reserve additional space for IOV BAR according to the
number of total_pe
On PHB3, PF IOV BAR will be covered by M64 BAR to have better PE
isolation.
M64 BAR is a type of hardware resource in PHB3, which could map a range of
MMIO to PE numbers on powernv platform. And this range is divided equally
by the number of total_pe with each divided range mapping to a PE number.
Also, the M64 BAR must map a MMIO range with power-of-two size.
The total_pe number is usually different from total_VFs, which can lead to
a conflict between MMIO space and the PE number.
For example, if total_VFs is 128 and total_pe is 256, the second half of
M64 BAR will be part of other PCI device, which may already belong to
other
PEs.
This patch prevents the conflict by reserving additional space for the PF
IOV BAR, which is total_pe number of VF's BAR size.
[bhelgaas: make dev_printk() output more consistent, index resource[]
conventionally]
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 9e8d4a19ab66ec9e132d405357b9108a4f26efd3
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:23:54 2015 +0800
powerpc/powernv: Allocate struct pnv_ioda_pe iommu_table dynamically
Previously the iommu_table had the same lifetime as a struct pnv_ioda_pe
and was embedded in it. The pnv_ioda_pe was assigned to a PE on the bootup
stage. Since PEs are based on the hardware layout which is static in the
system, they will never get released. This means the iommu_table in the
pnv_ioda_pe will never get released either.
This no longer works for VF PE. VF PEs are created and released
dynamically
when VFs are created and released. So we need to assign pnv_ioda_pe to VF
PEs respectively when VFs are enabled and clean up those resources for VF
PE when VFs are disabled. And iommu_table is one of the resources we need
to handle dynamically.
Current iommu_table is a static field in pnv_ioda_pe, which will face a
problem when freeing it. During the disabling of a VF,
pnv_pci_ioda2_release_dma_pe will call iommu_free_table to release the
iommu_table for this PE. A static iommu_table will fail in
iommu_free_table.
According to these requirement, this patch allocates iommu_table
dynamically.
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit c3b80fb0f22f464f35a970d65e76d2fe904d4923
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:23:53 2015 +0800
powerpc/pci: Don't unset PCI resources for VFs
Flag PCI_REASSIGN_ALL_RSRC is used to ignore resources information setup
by
firmware, so that kernel would re-assign all resources of pci devices.
On powerpc arch, this happens in a header fixup function
pcibios_fixup_resources(), which will clean up the resources if this flag
is set. This works fine for PFs, since after clean up, kernel will
re-assign the resources in pcibios_resource_survey().
Below is a simple call flow on how it works:
pcibios_init
pcibios_scan_phb
pci_scan_child_bus
...
pci_device_add
pci_fixup_device(pci_fixup_header)
pcibios_fixup_resources # header fixup
for (i = 0; i < DEVICE_COUNT_RESOURCE; i++)
dev->resource[i].start = 0
pcibios_resource_survey # re-assign
pcibios_allocate_resources
However, the VF resources won't be re-assigned, since the VF resources are
completely determined by the PF resources, and the PF resources have
already been reassigned. This means we need to leave VF's resources
un-cleared in pcibios_fixup_resources().
In this patch, we skip the resource unset process in
pcibios_fixup_resources(), if the pci_dev is a VF.
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit a8b2f8288a3fdef8d93efef2b1ead7563004275e
Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:23:52 2015 +0800
powerpc/pci: Create pci_dn for VFs
pci_dn is the extension of PCI device node and is created from device
node.
Unfortunately, VFs are enabled dynamically by PF's driver and they don't
have corresponding device nodes and pci_dn, which is required to access
VFs' config spaces.
The patch creates pci_dn for VFs in pcibios_sriov_enable() on their PF,
and removes pci_dn for VFs in pcibios_sriov_disable() on their PF. When
VF's pci_dn is created, it's put to the child list of the pci_dn of PF's
upstream bridge. The pci_dn is linked to pci_dev during early fixup time
to setup the fast path.
[bhelgaas: add ifdef around add_one_dev_pci_info(), use dev_printk()]
Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit d74b9027a4dafa44d3a3c2a44ce135e50a13ec10
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:23:51 2015 +0800
PCI: Consider additional PF's IOV BAR alignment in sizing and assigning
When sizing and assigning resources, we divide the resources into two
lists: the requested list and the additional list. We don't consider the
alignment of additional VF(n) BAR space.
This is because the alignment required for the VF(n) BAR space is the size
of an individual VF BAR, not the size of the space for *all* VFs. But we
want additional alignment to support partitioning on PowerNV.
Consider the additional IOV BAR alignment when sizing and assigning
resources. When there is not enough system MMIO space to accomodate both
the requested list and the additional list, the PF's IOV BAR alignment
will
not contribute to the bridge. When there is enough system MMIO space for
both lists, the additional alignment will contribute to the bridge.
The additional alignment is stored in the min_align of pci_dev_resource,
which is stored in the additional list by add_to_list() at the end of
pbus_size_mem(). The additional alignment is calculated in
pci_resource_alignment(). For an IOV BAR, we have arch dependent function
to get the alignment for different arch.
[bhelgaas: changelog, printk cast]
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 978d2d68312326b715a5913aaab1eaf24fe99108
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:23:50 2015 +0800
PCI: Add pcibios_iov_resource_alignment() interface
Per the SR-IOV spec r1.1, sec 3.3.14, the required alignment of a PF's IOV
BAR is the size of an individual VF BAR, and the size consumed is the
individual VF BAR size times NumVFs.
The PowerNV platform has additional alignment requirements to help support
its Partitionable Endpoint device isolation feature (see
Documentation/powerpc/pci_iov_resource_on_powernv.txt).
Add a pcibios_iov_resource_alignment() interface to allow platforms to
request additional alignment.
[bhelgaas: changelog, adapt to reworked pci_sriov_resource_alignment(),
drop "align" parameter]
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 995df527f3990d91fe8f3d7d1917a7adc3938320
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:23:49 2015 +0800
PCI: Add pcibios_sriov_enable() and pcibios_sriov_disable()
VFs are dynamically created when a driver enables them. On some
platforms,
like PowerNV, special resources are necessary to enable VFs.
Add platform hooks for enabling and disabling VFs.
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit b07579c0924eee1543eb6cd2c19544d15a4b5236
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:23:48 2015 +0800
PCI: Export pci_iov_virtfn_bus() and pci_iov_virtfn_devfn()
On PowerNV, some resource reservation is needed for SR-IOV VFs that don't
exist at the bootup stage. To do the match between resources and VFs, the
code need to get the VF's BDF in advance.
Rename virtfn_bus() and virtfn_devfn() to pci_iov_virtfn_bus() and
pci_iov_virtfn_devfn() and export them.
[bhelgaas: changelog, make "busnr" int]
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 4449f079722c86d2f6925da039835acdd8e973a8
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:23:47 2015 +0800
PCI: Calculate maximum number of buses required for VFs
An SR-IOV device can change its First VF Offset and VF Stride based on the
values of ARI Capable Hierarchy and NumVFs. The number of buses required
for all VFs is determined by NumVFs, First VF Offset, and VF Stride (see
SR-IOV spec r1.1, sec 2.1.2).
Previously pci_iov_bus_range() computed how many buses would be required
by
TotalVFs, but this was based on a single NumVFs value and may not have
been
the maximum for all NumVFs configurations.
Iterate over all valid NumVFs and calculate the maximum number of bus
numbers that could ever be required for VFs of this device.
[bhelgaas: changelog, compute busnr of NumVFs, not TotalVFs, remove
kerenl-doc comment marker]
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit f59dca27d20c73500c4a88ab9a077e40669755db
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:23:46 2015 +0800
PCI: Refresh First VF Offset and VF Stride when updating NumVFs
The First VF Offset and VF Stride fields depend on the NumVFs setting, so
refresh the cached fields in struct pci_sriov when updating NumVFs. See
the SR-IOV spec r1.1, sec 3.3.9 and 3.3.10.
[bhelgaas: changelog, remove kernel-doc comment marker]
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit c1fe1f96e30d31cc99826f19a058d9e9eef87712
Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Date: Wed Mar 25 16:23:45 2015 +0800
PCI: Index IOV resources in the conventional style
Most of PCI uses "res = &dev->resource[i]", not "res = dev->resource + i".
Use that style in iov.c also.
No functional change.
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Acked-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 0e6c9122a6ec96d19f1db61e9750287d86b6829c
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:23:44 2015 +0800
PCI: Keep individual VF BAR size in struct pci_sriov
Currently we don't store the individual VF BAR size. We calculate it when
needed by dividing the PF's IOV resource size (which contains space for
*all* the VFs) by total_VFs or by reading the BAR in the SR-IOV capability
again.
Keep the individual VF BAR size in struct pci_sriov.barsz[], add
pci_iov_resource_size() to retrieve it, and use that instead of doing the
division or reading the SR-IOV capability BAR.
[bhelgaas: rename to "barsz[]", simplify barsz[] index computation, remove
SR-IOV capability BAR sizing]
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit e88ae01d2c43be3c3a6f340bfa7bab8b87127f57
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:23:43 2015 +0800
PCI: Print PF SR-IOV resource that contains all VF(n) BAR space
When we size VF BAR0, VF BAR1, etc., from the SR-IOV Capability of a PF,
we
learn the alignment requirement and amount of space consumed by a single
VF. But when VFs are enabled, *each* of the NumVFs consumes that amount
of
space, so the total size of the PF resource is "VF BAR size * NumVFs".
Add a printk of the total space consumed by the VFs corresponding to what
we already do for normal non-IOV BARs.
No functional change; new message only.
[bhelgaas: split out into its own patch]
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 68f8e9fa56ce6b5cb18323e8d8fa536fee0f89ca
Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Date: Wed Mar 25 16:23:42 2015 +0800
PCI: Print more info in sriov_enable() error message
If we don't have space for all the bus numbers required to enable VFs,
print the largest bus number required and the range available.
No functional change; improved error message only.
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Acked-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit d99d72829ec00a96d2d71f30a704b901c198a673
Author: Graham Moore <grmoore@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Jan 14 09:38:50 2015 -0600
mtd: denali: Disable sub-page writes in Denali NAND driver
The Denali Controller IP does not support sub-page writes.
Signed-off-by: Graham Moore <grmoore@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit e5860c18e68606446a10c3e926a2a0162c385cbf
Author: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Date: Sun Feb 1 11:55:37 2015 -0500
mtd: pxa3xx_nand: cleanup wait_for_completion handling
return type of wait_for_completion_timeout is unsigned long not int, this
patch uses the return value of wait_for_completion_timeout in the
condition
directly rather than assigning it to an incorrect type variable.
The variable used for handling the return of wait_for_cmpletion_timeout
was int but should be unsigned long, where it was not in use for
anything else and the return value in case of completion (>0) is not
used it was removed and wait_for_completion_timeout() used directly in
the if condition.
To make the timeout values a bit simpler to read and also handle all of
the corner cases correctly the declarations are moved to
msecs_to_jiffies().
The timeout declaration cleanup is just for readability
Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 899b834a462921a087f92f705d9f85def5892242
Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Date: Mon Feb 9 19:22:33 2015 -0200
mtd: nand: gpmi: Check for scan_bbt() error
In case of scan_bbt() failure, we should better propagate it.
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Acked-by: Huang Shijie <shijie.huang@xxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 706d5b289924678de9d8af67bcb00e28c1a5000c
Author: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Date: Sun Feb 8 11:37:33 2015 -0500
mtd: nand: gpmi: fixup return type of wait_for_completion_timeout
return type of wait_for_completion_timeout is unsigned long not int. The
return variable is renamed to reflect its use and the type adjusted to
unsigned long.
Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Acked-by: Huang Shijie <shijie.huang@xxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 219a8d13dd2bd0536e359405d046bdce9cc9d134
Author: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Date: Sun Feb 1 06:15:46 2015 -0500
mtd: fsl-quadspi: cleanup wait_for_completion return handling
return type of wait_for_completion_timeout is unsigned long not int, this
patch uses the return value of wait_for_completion_timeout in the
condition
directly rather than adding a additional appropriately typed variable.
Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Acked-by: Han Xu <han.xu@xxxxxxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit dc6525c61f0fc1e41611d91134f56ed2c297feac
Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Date: Mon Feb 9 10:07:19 2015 -0200
mtd: fsl-quadspi: Print the error value
When displaying dev_err() messages it is useful to print the error value.
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Acked-by: Han Xu <han.xu@xxxxxxxxxxxxx>
[Brian: fix up "can not" at the same time]
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 35cc3337b6d5bb71ec80daaaf268bf25514fb6a2
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Wed Feb 25 16:15:58 2015 +0300
mtd: cfi: clean up some indenting
These lines were all indented one tab more than they should be.
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 271afb4c96b70292c5eae0744e08bc2d2b5f4fae
Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Date: Mon Mar 9 11:10:41 2015 -0700
mtd: maps: sa1100-flash: remove incorrect __exit markups
Even if bus is not hot-pluggable, the devices can be unbound from the
driver via sysfs, so we should not be using __exit annotations on
remove() methods. The only exception is drivers registered with
platform_driver_probe() which specifically disables sysfs bind/unbind
attributes.
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 318157ab1fc843b7e08b7bf1fc2c431c4da9f3ff
Author: Christophe Leroy <christophe.leroy@xxxxxx>
Date: Thu Mar 12 16:24:04 2015 +0100
mtd: replace CONFIG_8xx by CONFIG_PPC_8xx
Two config options exist to define powerpc MPC8xx:
* CONFIG_PPC_8xx
* CONFIG_8xx
In addition, CONFIG_PPC_8xx also defines CONFIG_CPM1 as
communication co-processor
arch/powerpc/platforms/Kconfig.cputype has contained the following
comment about CONFIG_8xx item for some years:
"# this is temp to handle compat with arch=ppc"
It looks like not many places still have that old CONFIG_8xx used,
so it is likely to be a good time to get rid of it completely ?
Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 62b57f4c1475a4c452000192e5cad2ae86164be5
Author: Stefan Roese <sr@xxxxxxx>
Date: Thu Mar 19 14:34:29 2015 +0100
mtd: fsmc_nand.c: Use default timings if none are provided in the dts
Without this patch the timings are all set to 0 if not specified in the
dts.
With this patch the driver falls back to use the defaults that are already
present in the driver and are known to work okay for some (older) boards.
Tested on a custom SPEAr600 based board.
Signed-off-by: Stefan Roese <sr@xxxxxxx>
Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
Cc: Viresh Kumar <viresh.linux@xxxxxxxxx>
Cc: Mian Yousaf Kaukab <mian.yousaf.kaukab@xxxxxxxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit d800fcabc75a091569b6e19a67844eb264c7db9b
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Mon Mar 23 12:35:19 2015 +0300
jffs2: remove an unneeded condition
We know "rc" is set so there is no need to check again.
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 60c70d66cdd39eb560bba5a95c429bf2ad5294d0
Author: Roger Quadros <rogerq@xxxxxx>
Date: Mon Feb 23 17:26:39 2015 +0200
mtd: nand: Prevent possible kernel lockup in nand_command()
If a NAND device is not really present or pin muxes are not correctly
configured we can lock up the kernel waiting infinitely for NAND_STATUS
to be ready.
This can be easily reproduced on TI's DRA7-evm board by booting it
without NAND support in u-boot and disabling NAND pin muxes in the kernel.
Add timeout when waiting for NAND_CMD_RESET completion. As per ONFi v4.0
tRST can be upto 250ms for EZ-NAND and 5ms for raw NAND.
Signed-off-by: Roger Quadros <rogerq@xxxxxx>
Tested-by: Nishanth Menon <nm@xxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 045ecad0fdb23f34a2769fa9d49384a3130f7831
Author: Tomasz Figa <t.figa@xxxxxxxxxxx>
Date: Mon Mar 2 14:17:29 2015 +0100
clk: samsung: exynos3250: Add driver for CMU_ISP clock domain
Add clock controller for CMU ISP clock domain on Exynos3250,
providing clocks for FIMC-IS subsystem.
[b.michalska: use samsung_cmu_register_one to register
the provider; updated DT binding documentation]
Signed-off-by: Tomasz Figa <t.figa@xxxxxxxxxxx>
Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Signed-off-by: Beata Michalska <b.michalska@xxxxxxxxxxx>
Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
[s.nawrocki: added __init attribute which was missing in function
exynos3250_cmu_platform_init() in function, which has been]
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx>
Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx>
commit abec147faa071af48e70f368319ba784284dc016
Author: Inha Song <ideal.song@xxxxxxxxxxx>
Date: Mon Mar 2 11:15:00 2015 +0900
clk: samsung: Add CLKOUT driver support for Exynos3250 SoC
This patch add CLKOUT driver support for Exynos3250 SoC.
Exynos3250 SoC PMU_DEBUG is the same with Exynos4's PMU_DEBUG
including CLKOUT mux. So we can use the exynos4's clkout init
function for Exynos3250 without the need to add new function.
Signed-off-by: Inha Song <ideal.song@xxxxxxxxxxx>
Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx>
Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxx>
commit ccdc45075aeaaa144af4177b85570eb26c2f5a8b
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Thu Mar 26 16:42:06 2015 -0700
leds: Don't treat the LED name as a format string
The LED name was wrongly interpreted as format string. Stop doing that.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx>
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx>
commit 6f06c7f87cf54fa0fa6f95963d7c0d436eb56f43
Author: Sakari Ailus <sakari.ailus@xxxxxx>
Date: Thu Mar 26 16:42:05 2015 -0700
leds: Use log level warn instead of info when telling about a name clash
The LED names are expected to be unique in the system. Use KERN_WARNING
log
level to notify the user about the matter.
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx>
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx>
commit db6e3e8d016823c6b0f773c70a69ce65807d8a44
Author: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Date: Mon Mar 30 23:21:02 2015 +0300
Bluetooth: Refactor HCI request variables into own struct
In order to shrink the size of bt_skb_cb, this patch moves the HCI
request related variables into their own req_ctrl struct. Additionall
the L2CAP and HCI request structs are placed inside the same union since
they will never be used at the same time for the same skb.
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit a4368ff3ed3b57e4b5e36d83b75604f68bbcdaad
Author: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Date: Mon Mar 30 23:21:01 2015 +0300
Bluetooth: Refactor L2CAP variables into l2cap_ctrl
We're getting very close to the maximum possible size of bt_skb_cb. To
prepare to shrink the struct with the help of a union this patch moves
all L2CAP related variables into the l2cap_ctrl struct. To later add
other 'ctrl' structs the L2CAP one is renamed simple 'l2cap' instead
of 'control'.
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit e0631a31b9ed501415e552a783b1f1e3988c7c46
Author: Irina Tirdea <irina.tirdea@xxxxxxxxx>
Date: Mon Mar 30 14:22:13 2015 +0300
iio: Documentation: fix kernel version for 4.0 new ABI
Kernel version for new ABI in 4.0 has been documented
as 3.20, since the changes have been merged before the kernel
version number change.
Change kernel version from 3.20 to 4.0.
Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit a96aa64cb5723d941de879a9cd1fea025d6acb1b
Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx>
Date: Mon Mar 30 10:45:59 2015 -0700
leds/led-class: Handle LEDs with the same name
The current code expected that every LED had an unique name. This is a
legit expectation when the device tree can no be modified or extended.
But with device tree overlays this requirement can be easily broken.
This patch finds out if the name is already in use and adds the suffix
_1, _2... if not.
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx>
Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx>
commit 5ee047fb7ddd5ce65b804b0888fa32dd8536cda6
Author: Masanari Iida <standby24x7@xxxxxxxxx>
Date: Mon Mar 30 02:50:11 2015 -0700
leds: lp8860: Fix typo in MODULE_DESCRIPTION in leds-lp8860.c
This patch fix a spelling typo in MODULE_DESCRIPTION in
leds-lp8860.c
Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx>
Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx>
commit 336af37e38828dcc822d0ba53738d8996ca842a6
Author: Masanari Iida <standby24x7@xxxxxxxxx>
Date: Mon Mar 30 02:50:10 2015 -0700
leds: lp8501: Fix typo in MODULE_DESCRIPTION in leds-lp8501.c
This patch fix a spelling typo in MODULE_DESCRIPTION in
leds-lp8501.c
Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx>
Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx>
commit 116b8e164116be537f50cdcce84d80be0facd0cf
Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx>
Date: Thu Mar 26 07:03:09 2015 -0700
DT: leds: Add uniqueness requirement for 'label' property.
Label is used for naming LED class devices. Since ePAPR
doesn't require uniqueness for label properties, it has to be
explicitly required in the LEDs common bindings documentation.
Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx>
Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
Cc: Richard Purdie <rpurdie@xxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx>
commit 5e23a35cf8b3c5c07111409d589590b9fb4305f6
Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx>
Date: Thu Mar 12 08:45:03 2015 -0700
dt-binding: leds: Add common LED DT bindings macros
Add macros for defining boost mode and trigger type properties
of flash LED devices.
Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx>
Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
Cc: Richard Purdie <rpurdie@xxxxxxxxx>
Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx>
commit 93c64f1ea1e886a1e43e9b0215affdb696f1fe66
Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx>
Date: Thu Mar 12 08:47:08 2015 -0700
leds: add Qualcomm PM8941 WLED driver
This adds support for the WLED ('White' LED) block on Qualcomm's
PM8941 PMICs.
(cooloney@xxxxxxxxx: remove unneeded semicolon)
Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx>
Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx>
commit cbbd896f25316e823af228432c690c35992d60f4
Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx>
Date: Thu Mar 12 08:47:07 2015 -0700
leds: add DT binding for Qualcomm PM8941 WLED block
This adds device tree binding documentation for the WLED ('White' LED)
block on Qualcomm's PM8941 PMICs.
Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx>
Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx>
commit a44b0f5edfc63dc06af9bb0ae473f7852d8d2cb6
Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Sun Mar 15 03:41:52 2015 -0700
leds: pca963x: Add missing initialiation of struct led_info.flags
Only the name and default_trigger fields are initialized.
Other fields (currently flags only) contain random stack data.
Pre-initialize the led structure completely to fix this.
Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx>
commit 9647507aff4d885d98a884a634d360b8f2d24c10
Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx>
Date: Thu Mar 12 08:45:02 2015 -0700
leds: flash: Fix the size of sysfs_groups array
LED_FLASH_MAX_SYSFS_GROUPS macro had value that was relevant for
previous version of the patches introducing LED Flash class. Currently
it is required to reserve the room for maximum 4 sysfs groups.
Since the last element of the struct attribute_group array passed to
the function device_create_with_groups has to be NULL, the size of the
array has to be greater by one than maximum allowed number of groups.
Therefore, the name of the macro is being changed to
LED_FLASH_SYSFS_GROUPS_SIZE, to make it more accurrate.
Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx>
Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
Cc: Bryan Wu <cooloney@xxxxxxxxx>
Cc: Richard Purdie <rpurdie@xxxxxxxxx>
Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx>
commit 622494a3560b13e05c9f2049bfab8e7fb12c67a2
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Mon Feb 2 10:55:38 2015 +0000
drm: bridge/dw_hdmi: adjust n/cts setting order
Patch derived from one from Yakir Yang. Yakir Yang says:
For Designerware HDMI, the following write sequence is recommended:
1. aud_n3 (set bit ncts_atomic_write if desired)
2. aud_cts3 (set CTS_manual and CTS value if desired/enabled)
3. aud_cts2 (required in CTS_manual)
4. aud_cts1 (required in CTS_manual)
5. aud_n3 (bit ncts_atomic_write with same value as in step 1.)
6. aud_n2
7. aud_n1
However, avoid the ncts_atomic_write_bit and CTS_manual settings in this
patch, both of which are marked reserved in the iMX6 documentation. All
iMX6 code in the wild seems to want CTS_manual cleared.
Having requested clarification from FSL, it appears that neither of
these bits are implemented in their version of the IP.
Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Acked-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 6bcf495317857e4e4cfb2e6f57fa8230cedc1362
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Mon Feb 2 11:01:08 2015 +0000
drm: bridge/dw_hdmi: protect n/cts setting with a mutex
The HDMI n/cts settings need to be updated whenever the audio sample
rate or the video pixel clock changes. This needs to be protected
against concurrency as there is no synchronisation between these two
operations. Introduce a mutex (called audio_mutex) to protect against
two threads trying to update the video clock rate and pixel clock
simultaneously.
Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Acked-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 351e1354fcd06e96245f8fda141ac3cc2f68f763
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Sat Jan 31 14:50:23 2015 +0000
drm: bridge/dw_hdmi: combine hdmi_set_clock_regenerator_n() and
hdmi_regenerate_cts()
Combine these two functions into a single implementation. These two
functions are called consecutively anyway. Idea from a patch by
Yakir Yang.
Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Acked-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit d631c8cceb1d1d06f372878935949d421585186b
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Fri Mar 27 17:39:49 2015 -0400
ring-buffer: Remove duplicate use of '&' in recursive code
A clean up of the recursive protection code changed
val = this_cpu_read(current_context);
val--;
val &= this_cpu_read(current_context);
to
val = this_cpu_read(current_context);
val &= val & (val - 1);
Which has a duplicate use of '&' as the above is the same as
val = val & (val - 1);
Actually, it would be best to remove that line altogether and
just add it to where it is used.
And Christoph even mentioned that it can be further compacted to
just a single line:
__this_cpu_and(current_context, __this_cpu_read(current_context) - 1);
Link:
http://lkml.kernel.org/alpine.DEB.2.11.1503271423580.23114@xxxxxxxxxx
Suggested-by: Christoph Lameter <cl@xxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 8d5fe8d5eda6854a4c7f5e1b98f3d884f0604137
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Mon Mar 30 13:30:25 2015 +0300
sata_dwc_460ex: indent an if statement
We shuffled some code around in 8b3444852a2b ('sata_dwc_460ex: move to
generic DMA driver') an accidentally deleted a tab character here. It
causes a Smatch warning "if statement not indented".
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit d44758c0dfc5993a4b9952935a7eae4c91ebb6b4
Author: Nikolay Nikolaev <n.nikolaev@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sat Jan 24 12:00:02 2015 +0000
KVM: arm/arm64: enable KVM_CAP_IOEVENTFD
As the infrastructure for eventfd has now been merged, report the
ioeventfd capability as being supported.
Signed-off-by: Nikolay Nikolaev <n.nikolaev@xxxxxxxxxxxxxxxxxxxxxx>
[maz: grouped the case entry with the others, fixed commit log]
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
commit 950324ab81bf006542f30a1d1ab3d65fcf15cbc1
Author: Andre Przywara <andre.przywara@xxxxxxx>
Date: Sat Mar 28 01:13:13 2015 +0000
KVM: arm/arm64: rework MMIO abort handling to use KVM MMIO bus
Currently we have struct kvm_exit_mmio for encapsulating MMIO abort
data to be passed on from syndrome decoding all the way down to the
VGIC register handlers. Now as we switch the MMIO handling to be
routed through the KVM MMIO bus, it does not make sense anymore to
use that structure already from the beginning. So we keep the data in
local variables until we put them into the kvm_io_bus framework.
Then we fill kvm_exit_mmio in the VGIC only, making it a VGIC private
structure. On that way we replace the data buffer in that structure
with a pointer pointing to a single location in a local variable, so
we get rid of some copying on the way.
With all of the virtual GIC emulation code now being registered with
the kvm_io_bus, we can remove all of the old MMIO handling code and
its dispatching functionality.
I didn't bother to rename kvm_exit_mmio (to vgic_mmio or something),
because that touches a lot of code lines without any good reason.
This is based on an original patch by Nikolay.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
Cc: Nikolay Nikolaev <n.nikolaev@xxxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
commit fb8f61abab48467ef670ef165ff664cdc94f742e
Author: Andre Przywara <andre.przywara@xxxxxxx>
Date: Thu Mar 26 14:39:37 2015 +0000
KVM: arm/arm64: prepare GICv3 emulation to use kvm_io_bus MMIO handling
Using the framework provided by the recent vgic.c changes, we
register a kvm_io_bus device on mapping the virtual GICv3 resources.
The distributor mapping is pretty straight forward, but the
redistributors need some more love, since they need to be tagged with
the respective redistributor (read: VCPU) they are connected with.
We use the kvm_io_bus framework to register one devices per VCPU.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
commit 0ba10d53920d030cd7772a9553b13b5ea1aa4115
Author: Andre Przywara <andre.przywara@xxxxxxx>
Date: Thu Mar 26 14:39:36 2015 +0000
KVM: arm/arm64: merge GICv3 RD_base and SGI_base register frames
Currently we handle the redistributor registers in two separate MMIO
regions, one for the overall behaviour and SPIs and one for the
SGIs/PPIs. That latter forces the creation of _two_ KVM I/O bus
devices for each redistributor.
Since the spec mandates those two pages to be contigious, we could as
well merge them and save the churn with the second KVM I/O bus device.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
commit 1696d1deb05710f246f62e810034fb5d8d7713bd
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Fri Mar 27 06:03:41 2015 -0700
hwmon: (it87) Fix pwm sysfs attribute removal
Detection if a pwm channel is supported was wrong on removal,
causing the code to try removing non-existing sysfs attributes.
That didn't matter much because sysfs attribute removal of non-existing
files fails silently, and because the wrong evaluation always returned
false, but should nevertheless be fixed.
Reviewed-by: Jean Delvare <jdelvare@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
commit bc917be8105993c256338ad1189650364a741483
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 17:45:43 2015 -0400
saner iov_iter initialization primitives
iovec-backed iov_iter instances are assumed to satisfy several properties:
* no more than UIO_MAXIOV elements in iovec array
* total size of all ranges is no more than MAX_RW_COUNT
* all ranges pass access_ok().
The problem is, invariants of data structures should be established in the
primitives creating those data structures, not in the code using those
primitives. And iov_iter_init() violates that principle. For a while we
managed to get away with that, but once the use of iov_iter started to
spread, it didn't take long for shit to hit the fan - missed check in
sys_sendto() had introduced a roothole.
We _do_ have primitives for importing and validating iovecs (both native
and
compat ones) and those primitives are almost always followed by shoving
the
resulting iovec into iov_iter. Life would be considerably simpler (and
safer)
if we combined those primitives with initializing iov_iter.
That gives us two new primitives - import_iovec() and
compat_import_iovec().
Calling conventions:
iovec = iov_array;
err = import_iovec(direction, uvec, nr_segs,
ARRAY_SIZE(iov_array), &iovec,
&iter);
imports user vector into kernel space (into iov_array if it fits,
allocated
if it doesn't fit or if iovec was NULL), validates it and sets iter up to
refer to it. On success 0 is returned and allocated kernel copy (or NULL
if the array had fit into caller-supplied one) is returned via iovec.
On failure all allocations are undone and -E... is returned. If the total
size of ranges exceeds MAX_RW_COUNT, the excess is silently truncated.
compat_import_iovec() expects uvec to be a pointer to user array of
compat_iovec;
otherwise it's identical to import_iovec().
Finally, import_single_range() sets iov_iter backed by single-element
iovec
covering a user-supplied range -
err = import_single_range(direction, address, size, iovec, &iter);
does validation and sets iter up. Again, size in excess of MAX_RW_COUNT
gets
silently truncated.
Next commits will be switching the things up to use of those and reducing
the amount of iov_iter_init() instances.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit c76cbbcf404475f8885b2252049dac99b0614868
Author: Wei Fang <fangwei1@xxxxxxxxxx>
Date: Mon Mar 30 09:07:00 2015 -0600
blk-mq: put blk_queue_rq_timeout together in blk_mq_init_queue()
Don't assign ->rq_timeout twice.
Signed-off-by: Wei Fang <fangwei1@xxxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit f9018ac9308ea415e659cfbdda040504ef92597b
Author: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx>
Date: Mon Mar 30 13:19:14 2015 +0800
block: remove redundant check about 'set->nr_hw_queues' in
blk_mq_alloc_tag_set()
At the beginning of blk_mq_alloc_tag_set(), we have already checked
whether
'set->nr_hw_queues' is zero, so here remove this redundant check.
Signed-off-by: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 2f729b10bb74f97797beb310113f6182f262d36a
Author: Eugene Korenevsky <ekorenevsky@xxxxxxxxx>
Date: Sun Mar 29 01:27:17 2015 +0300
KVM: remove useless check of "ret" variable prior to returning the same
value
A trivial code cleanup. This `if` is redundant.
Signed-off-by: Eugene Korenevsky <ekorenevsky@xxxxxxxxx>
Message-Id: <20150328222717.GA6508@gnote>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a0211bb482c346820506c546a6a58b8357999a99
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Mon Mar 30 14:05:43 2015 +0300
drm/atomic: Don't try to free a NULL state
Consistently with other free functions, handle the NULL case without
oopsing.
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit b32a99180027ec980af971d548781eac1f6bb9b5
Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 16:33:04 2015 +0300
KVM: x86: Remove redundant definitions
Some constants are redfined in emulate.c. Avoid it.
s/SELECTOR_RPL_MASK/SEGMENT_RPL_MASK
s/SELECTOR_TI_MASK/SEGMENT_TI_MASK
No functional change.
Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Message-Id: <1427635984-8113-3-git-send-email-namit@xxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0efb04406de834d820f7ba150a00d1d3194aa8a6
Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 16:33:03 2015 +0300
KVM: x86: removing redundant eflags bits definitions
The eflags are redefined (using other defines) in emulate.c.
Use the definition from processor-flags.h as some mess already started.
No functional change.
Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Message-Id: <1427635984-8113-2-git-send-email-namit@xxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 900efe200e317649aecbeaa55619a4fc3adb2251
Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 15:39:21 2015 +0300
KVM: x86: BSF and BSR emulation change register unnecassarily
If the source of BSF and BSR is zero, the destination register should not
change. That is how real hardware behaves. If we set the destination
even with
the same value that we had before, we may clear bits [63:32]
unnecassarily.
Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Message-Id: <1427719163-5429-4-git-send-email-namit@xxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6fd8e1275709a5bb084847eda6730b983538a572
Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 15:39:20 2015 +0300
KVM: x86: POPA emulation may not clear bits [63:32]
POPA should assign the values to the registers as usual registers are
assigned.
In other words, 32-bits register assignments should clear bits [63:32] of
the
register.
Split the code of register assignments that will be used by future
changes as
well.
Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Message-Id: <1427719163-5429-3-git-send-email-namit@xxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b91aa14d95bf4cf8ed0426bd25c0af1548519696
Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 15:39:19 2015 +0300
KVM: x86: CMOV emulation on legacy mode is wrong
On legacy mode CMOV emulation should still clear bits [63:32] even if the
assignment is not done. The previous fix 140bad89fd ("KVM: x86: emulation
of
dword cmov on long-mode should clear [63:32]") was incomplete.
Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx>
Message-Id: <1427719163-5429-2-git-send-email-namit@xxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2dccb4cdbf8fd4cb1d779a6f7ddd66d193bb5805
Author: Petr Matousek <pmatouse@xxxxxxxxxx>
Date: Wed Mar 11 12:16:09 2015 +0100
kvm: x86: i8259: return initialized data on invalid-size read
If data is read from PIC with invalid access size, the return data stays
uninitialized even though success is returned.
Fix this by always initializing the data.
Signed-off-by: Petr Matousek <pmatouse@xxxxxxxxxx>
Reported-by: Nadav Amit <nadav.amit@xxxxxxxxx>
Message-Id: <20150311111609.GG8544@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6e0aa8018f9c676b115b7ca6c20a056fc57c68a9
Merge: 1ff27a3 e42391c
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date: Mon Mar 30 16:37:08 2015 +0200
Merge tag 'v4.0-rc6' into drm-intel-next
Backmerge Linux 4.0-rc6 because conflicts are (again) getting out of
hand. To make sure we don't lose any bugfixes from the 4.0-rc5-rc6
flurry of patches we've applied them all to -next too.
Conflicts:
drivers/gpu/drm/i915/intel_display.c
Always take the version from -next, we've already handled all
conflicts with explicit cherrypicking.
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx>
commit 65844bb0a7861eefa3ce44cd788163ecc4e14f2d
Merge: b3a2a90 d952bd0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 30 16:37:06 2015 +0200
Merge tag 'kvm_mips_20150327' of
git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/kvm-mips into kvm-next
MIPS KVM Guest FPU & SIMD (MSA) Support
Add guest FPU and MIPS SIMD Architecture (MSA) support to MIPS KVM, by
enabling the host FPU/MSA while in guest mode. This adds two new KVM
capabilities, KVM_CAP_MIPS_FPU & KVM_CAP_MIPS_MSA, and supports the 3 FP
register modes (FR=0, FR=1, FRE=1), and 128-bit MSA vector registers,
with lazy FPU/MSA context save and restore.
Some required MIPS FP/MSA fixes are merged in from a branch in the MIPS
tree first.
commit 7b4ddfa7c9523a19fca30830f8b426964d359da2
Author: Chengyu Song <csong84@xxxxxxxxxx>
Date: Tue Mar 24 09:37:53 2015 -0500
gfs2: incorrect check for debugfs returns
debugfs_create_dir and debugfs_create_file may return -ENODEV when debugfs
is not configured, so the return value should be checked against
ERROR_VALUE
as well, otherwise the later dereference of the dentry pointer would crash
the kernel.
Signed-off-by: Chengyu Song <csong84@xxxxxxxxxx>
Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx>
Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx>
commit 6ab2b762befd192b90704c5c7898f5abf8ebb387
Author: Jiri Olsa <jolsa@xxxxxxxxxx>
Date: Sat Mar 28 11:30:30 2015 +0100
perf build: Disable libbabeltrace check by default
Disabling libbabeltrace check by default and replacing the
NO_LIBBABELTRACE make variable with LIBBABELTRACE.
Users wanting the libbabeltrace feature need to build via:
$ make LIBBABELTRACE=1
The reason for this is that the libababeltrace interface we use (version
1.3) hasn't been packaged/released yet, thus the failing feature check
only slows down build and confuses other (non CTF) developers.
Requested-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Acked-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Jeremie Galarneau <jgalar@xxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
Cc: Tom Zanussi <tzanussi@xxxxxxxxx>
Cc: Wang Nan <wangnan0@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150328103030.GA8431@xxxxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 2c44be81f0fc147eed9dc63e2601318b2c007aeb
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Mon Mar 30 15:09:20 2015 +0200
mac80211: set QoS capability before changing station state
In the upcoming fast-xmit patch, changing station state will
build a header cache based on the station's capabilities, and
as the QoS capability (sta.wme) impacts the header, it needs
to be set before.
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 8e047c120fb2ccb7b7aba8f5e9224e463f86bebc
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Mon Mar 30 13:06:57 2015 +0100
ARM: dts: hummingboard: add sgtl5000 support for Hummingboard Pro
Add the DT description for the SGTL5000 found on the Hummingboard Pro
model.
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit ba867bc60a44cb8519b7d674c8ab37d139da6910
Author: Axel Lin <axel.lin@xxxxxxxxxx>
Date: Mon Mar 30 16:12:55 2015 +0800
mfd: twl6040: Remove wrong and unneeded "platform:twl6040" modalias
This is a I2C driver, so it's wrong to use platform prefix for the
modalias. We have all needed i2c aliases coming form MODULE_DEVICE_TABLE,
so let's remove the wrong and unneeded "platform:twl6040" modalias.
Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit 1a327ffd3d6a79ed85d53b683c185196060ac3b3
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Mon Mar 30 11:11:49 2015 +0200
s390/syscalls: simplify syscall_get_arch()
Given that sizeof(long) is now always 8, we can simplify
syscall_get_arch()
a bit.
Just another piece I didn't find when removing 31 bit support.
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 5c5506bdaf9a2ce79855eb4fd535b6399dcbfed4
Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Date: Sun Mar 29 22:00:35 2015 +0200
ARM: dts: imx25-pinfunc: Add several pinfunctions
This patch adds some not yet defined pinfunctions. It also adds two
comments about mistakes in the i.MX25 reference manual so it is easier
to spot the difference between reference manual and pinfunction
definitions.
Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 53f643d23b6025fc4ddfbb0370d56aa8745bd85c
Author: Stefan Agner <stefan@xxxxxxxx>
Date: Mon Mar 30 12:10:39 2015 +0800
ARM: dts: vf610: fix missing irqs
While adding the MSCM interrupt router, all interrupts have been moved
to vfxxx.dtsi again. However, some properties got lost. Readd the
missing interrupt properties.
Fixes: 97e6466ab9d0 ("ARM: dts: vf610: add Miscellaneous System Control
Module (MSCM)")
Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 3274af07c924fbb682bd4a8eb25bcf41f899d50a
Author: George Joseph <george.joseph@xxxxxxxxxxxxx>
Date: Tue Mar 24 10:31:35 2015 -0600
ARM: dts: cubox: Map gpio-keys to gpio3 8
The Cubox has a recessed button between the HDMI and RJ-45 connectors
that wasn't mapped in the device tree, so I've mapped it to gpio-keys
BTN_0.
Signed-off-by: George Joseph <george.joseph@xxxxxxxxxxxxx>
Tested-by: George Joseph <george.joseph@xxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 85fc20b2ad9937fccbff3b47841f33d47e5e62c8
Author: Matthias Brugger <matthias.bgg@xxxxxxxxx>
Date: Mon Mar 16 10:47:25 2015 +0100
ARM: DTS: Add watchdog to mt6589
This patch adds the watchdog to the device tree of Mediatek mt6589 SoC.
Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx>
commit 475bfd3d67fa8f7e9cbc08a943b5e8cb6f70044d
Author: Will Deacon <will.deacon@xxxxxxx>
Date: Mon Mar 30 11:29:35 2015 +0100
arm64: defconfig: updates for 4.1
Enable a few useful options in our defconfig:
- New platform support (exynos7, seattle, tegra132)
- SKY2 (ethernet in newer revisions of Juno)
- Xgene reboot support
- Virtio-pci for kvmtool and qemu
- EFIVAR_FS (previously selected as a module)
- NFSv4
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 979275897e5c52945ae10adba98453cf9e2715d2
Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
Date: Tue Mar 17 11:14:33 2015 +0100
dt-bindings: ARM: Mediatek: document binding for the PMIC wrapper
This adds documentation for the PMIC wrapper unit found on Mediatek
SoCs. Currently support are the MT8135 and MT8173 SoCs, but the PMIC
wrapper can also be found on MT6xxx and possibly other SoCs.
Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx>
commit 1f022d84bd193ec88b01c6d2cb5b6647cb20a02f
Author: Flora Fu <flora.fu@xxxxxxxxxxxx>
Date: Tue Mar 17 11:14:34 2015 +0100
soc: mediatek: Add PMIC wrapper for MT8135 and MT8173 SoCs
This adds support for the PMIC wrapper found on MediaTek MT8135 and
MT8173 SoCs. The PMIC wrapper is found on MT6xxx SoCs aswell but these
are currently not supported.
On MediaTek MT8135, MT8173 and other SoCs the PMIC is connected via
SPI. The SPI master interface is not directly visible to the CPU, but
only through the PMIC wrapper inside the SoC. The communication between
the SoC and the PMIC can optionally be encrypted. Also a non standard
Dual IO SPI mode can be used to increase speed. The MT8135 also supports
a special feature named "IP Pairing". With IP Pairing the pins of some
SoC internal peripherals can be on the PMIC. The signals of these pins
are routed over the SPI bus using the pwrap bridge. Because of these
optional non SPI conform features the PMIC driver is not implemented as
a SPI bus master driver.
Signed-off-by: Flora Fu, MediaTek
Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx>
commit 359b706473b47da3c93bd99fd10d798fe411ab67
Author: Marc Zyngier <marc.zyngier@xxxxxxx>
Date: Fri Mar 27 13:09:23 2015 +0000
arm64: Extract feature parsing code from cpu_errata.c
As we detect more architectural features at runtime, it makes
sense to reuse the existing framework whilst avoiding to call
a feature an erratum...
This patch extract the core capability parsing, moves it into
a new file (cpufeature.c), and let the CPU errata detection code
use it.
Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx>
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit fef7f2b2010381c795ae43743ad31931cc58f5ad
Author: Marc Zyngier <marc.zyngier@xxxxxxx>
Date: Fri Mar 27 13:09:22 2015 +0000
arm64: alternative: Allow immediate branch as alternative instruction
Since all immediate branches are PC-relative on Aarch64, these
instructions cannot be used as an alternative with the simplistic
approach we currently have (the immediate has been computed from
the .altinstr_replacement section, and end-up being completely off
if we insert it directly).
This patch handles the b and bl instructions in a different way,
using the insn framework to recompute the immediate, and generate
the right displacement.
Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx>
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 0978fb25f86b7595821cee6955679250d47c6438
Author: Marc Zyngier <marc.zyngier@xxxxxxx>
Date: Fri Mar 27 13:09:21 2015 +0000
arm64: insn: Add aarch64_insn_decode_immediate
Patching an instruction sometimes requires extracting the immediate
field from this instruction. To facilitate this, and avoid
potential duplication of code, add aarch64_insn_decode_immediate
as the reciprocal to aarch64_insn_encode_immediate.
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 03650bd2010b117c5c16a75278b0d01def8e9376
Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Date: Thu Mar 12 15:48:09 2015 +0100
ARM: tegra: Add EMC timings to Nyan Blaze device tree
This adds a new file, tegra124-nyan-blaze-emc.dtsi that contains
valid timings for the EMC memory clock. The file is included to the
main device tree file for the Nyan Blaze.
The frequency 528MHz is missing because we don't currently have a timing
configuration that works.
Additionally, only the timings for the ram-code 1 is present as that's
what could be tested currently, though downstream has timings for more
ram-codes.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 3182c7c6c7244c0ecfc47dad35acfd5f67203a25
Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Date: Thu Mar 12 15:48:08 2015 +0100
ARM: tegra: Add EMC timings to Nyan Big device tree
This adds a new file, tegra124-nyan-big-emc.dtsi that contains
valid timings for the EMC memory clock. The file is included to the
main device tree file for the Nyan Big.
The frequency 528MHz is missing because we don't currently have a timing
configuration that works.
Additionally, only the timings for the ram-code 1 is present as that's
what could be tested currently, though downstream has timings for more
ram-codes.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 6e72cf002708ea636555beacda455cca4a5548d4
Author: Mikko Perttunen <mperttunen@xxxxxxxxxx>
Date: Thu Mar 12 15:48:01 2015 +0100
ARM: tegra: Add EMC timings to Jetson TK1 device tree
This adds a new file, tegra124-jetson-tk1-emc.dtsi that contains
valid timings for the EMC memory clock. The file is included to the
main Jetson TK1 device tree.
The data is generated from the V5.0.17 version of the DVFS tables.
Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx>
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit b273c8873757a9f990d5aa62af7eeea168bc20c6
Author: Mikko Perttunen <mperttunen@xxxxxxxxxx>
Date: Thu Mar 12 15:48:00 2015 +0100
ARM: tegra: Add EMC to Tegra124 device tree
This adds a node for the EMC memory controller. It is always enabled, but
only
provides read-only functionality without board-specific timing tables.
Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx>
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit c5f8e8ca09e5700cb643ffa78d311f43a16e6432
Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Date: Tue Mar 17 10:36:18 2015 +0100
ARM: tegra: Add Tegra124 ACTMON support
Add device node for the ACTMON block to the Tegra124 device tree.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 552644687838089766457612f6dcf1c897ea09a8
Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Date: Tue Mar 17 10:36:11 2015 +0100
of: Add binding for NVIDIA Tegra ACTMON node
This block gathers statistics about various counters and can be
configured to
fire interrupts when thresholds are crossed.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
[treding@xxxxxxxxxx: rename document, minor cleanups]
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
commit 8a5c0bde54ca0354ae8b7e9d37d17bc514aa6c42
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Mon Mar 30 10:41:19 2015 +0300
drm/atomic: Clear crtcs, connectors and planes when clearing state
Users of the atomic state assume that if the pointer to a crtc, plane or
connector is not NULL in the respective object vector, than the state
for that object in *_states vector also won't be NULL. That assumption
was broken by drm_atomic_state_clear(), which would clear the state
pointer but leave the pointer to the object still set.
This fixes a NULL pointer dereference in i915 caused by the use of
drm_atomic_state_clear().
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit dc716bbf1d487503110139b019c3e6e526bf7cc8
Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx>
Date: Tue Mar 17 12:47:24 2015 +0200
mfd: qcom-spmi-pmic: Add specific compatible strings for Qualcomm's SPMI
PMIC's
Some of the PMIC's could have specific regmap configuration
tables in future, so add specific compatible strings for known
PMIC's. Also print runtime detected chip revision information.
Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx>
Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit c31e858b1ae5a7d0b0beb37f66b1f0e1effa0c6e
Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Date: Tue Mar 24 11:21:17 2015 +0100
mfd: axp20x: Fix duplicate const for model names
Replace duplicated const keyword for 'axp20x_model_names' with proper
array of const pointers to const strings.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit dfe514b67a05edc14a7aa0579d1ab2378fa9e4c5
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Sat Mar 28 22:45:37 2015 +0200
mfd: menelaus: Use macro for magic number
Use macro to check a register bit.
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit 1ea8684e1e0d7453f65a1ed69c2d0b890bfb9e33
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Sat Mar 28 22:45:36 2015 +0200
mfd: menelaus: Drop support for SW controller VCORE
Drop support for SW controlled VCORE, nobody uses it.
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit 5cdc7f02162aa8b980bd5d89e86fd94de0285ca3
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Sat Mar 28 22:45:35 2015 +0200
mfd: menelaus: Delete omap_has_menelaus
Delete unused macro.
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit 6e00ff079354ee72fe95cb61a3993962074a2592
Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Sun Mar 29 12:45:42 2015 +0100
mfd: arizona: Correct type of gpio_defaults
gpio_defaults needs to be specified as an unsigned int rather than an
int, because the intention of the DT binding is that all out of range
values for a 16-bit register will cause the defaults to be used,
however, if gpio_defaults is an int then values that are larger than
INT_MAX will become negative numbers and be written out directly to the
hardware. As no where in the code replies on gpio_defaults being an int,
the simplest fix is to just change it to unsigned.
Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit aec9038ec9c60a6ffbf2617859201befa87746d6
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Fri Mar 27 20:06:01 2015 +0200
mfd: lpc_ich: Sort IDs
This patch just sorts IDs in the table for better maintenance. There is no
functional change.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit 78c059c65a8d6f4d06803295a776d70fe0fab521
Author: Å?ukasz Stelmach <stlman@xxxxxxxxx>
Date: Fri Mar 27 21:39:59 2015 +0100
mfd: Fix a typo in Kconfig
Signed-off-by: Å?ukasz Stelmach <stlman@xxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit 070e176a758e5c96f112d6fc6c348fe4daef99a5
Author: Arik Nemtsov <arik@xxxxxxxxxx>
Date: Mon Mar 30 11:16:23 2015 +0300
mac80211: send HT/VHT IEs in TDLS discovery response
These are mandated by IEEE802.11-2012 section 8.5.8.6 and
IEEE802.11ac-2013
section 8.5.8.16.
Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit abcff6ef01f9ffa6958e50457574132f8f786308
Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx>
Date: Fri Mar 20 06:37:01 2015 +0100
mac80211: add VHT support for IBSS
Add VHT support for IBSS. Drivers could activate
this feature by setting NL80211_EXT_FEATURE_VHT_IBSS
flag.
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 76bed0f43b27d37cbe5fe9f3c27362db59451dea
Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx>
Date: Fri Mar 20 06:37:00 2015 +0100
mac80211: IBSS fix scan request
In case of wide bandwidth (wider than 20MHz) used by IBSS,
scan all channels in chandef to be able to find neighboring
IBSS netwqworks that use the same overall channels but a different
control channel.
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 97ffe75791b3e9c0797d5891070e41321c3beccb
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Sat Mar 21 09:13:45 2015 +0100
mac80211: factor out station lookup from ieee80211_build_hdr()
In order to look up the RA station earlier to implement a TX
fastpath, factor out the lookup from ieee80211_build_hdr().
To always have a valid station pointer, also move some of the
checks into the new function.
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 527871d7206dac2733d0bae52f5a328811d299ee
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Sat Mar 21 08:09:55 2015 +0100
mac80211: make sta.wme indicate whether QoS is used
Indicating just the peer's capability is fairly pointless
if the local device doesn't support it. Make the variable
track both combined, and remove the 'local support' check
in the TX path.
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit a73f8e21f3f93159bc19e154e8f50891c22c11db
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Sat Mar 21 07:41:04 2015 +0100
mac80211: send AP probe as unicast again
Louis reported that a static checker was complaining that
the 'dst' variable was set (multiple times) but not used.
This is due to a previous commit having removed the usage
(apparently erroneously), so add it back.
Fixes: a344d6778a98 ("mac80211: allow drivers to support
NL80211_SCAN_FLAG_RANDOM_ADDR")
Reported-by: Louis Langholtz <lou_langholtz@xxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit ffbae6b719227662f3baca349d1e17ac7e652ec4
Author: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx>
Date: Mon Mar 2 20:03:59 2015 +0000
ARM: dts: hummingboard: Setup pwm lines
Setup pwm lines as follows -
pwm1: In case HummingBoard base carrier; this pin drives through a serial
capacitor the mono out of the audio jack.
In case HummingBoard pro the this pad can be reached by wiring to
C8 capacitors on the board.
pwm2: Setup pwm2 on gpio-1 but leave the default function of the iopad as
a gpio.
The user can change the io pad mux in user space and therefore use
this function on gpio-1 (pin number 7 on the 26 pin header).
pwm3,pwm4: unused
Signed-off-by: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx>
[tweaked alias for pwm pinctrl group --rmk]
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit a931bbbc64f671340f98dfd3f74f3a2901a60cfc
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Mon Mar 2 20:03:54 2015 +0000
ARM: dts: hummingboard: enable PCF8523 RTC support
Enable the commented out PCF8523 RTC support for Hummingboard pro
base boards.
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 42919c5c1487dcd7e886da7c3818e28b1455b00a
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Mon Mar 2 20:00:50 2015 +0000
ARM: dts: Re-license SolidRun iMX6 platform DT GPL v2/X11
Update SolidRun iMX6 platforms DT descriptions to be dual-licensed.
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
Acked-by: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 8f0b07a4285c03ee8aed286ff32bcbd7f9b47c42
Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Date: Thu Mar 19 10:55:47 2015 +0100
ARM: dts: imx28: add alternative pinmuxing for spi3
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 6f9dbfda4893e2203b40e9d1d25de1e0902de92b
Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Date: Sat Mar 14 12:47:48 2015 -0300
ARM: dts: imx6sx: Add label snvs_rtc
It may be useful to disable the internal snvs-rtc when an external rtc is
available. This patch adds a label so that dts files can disable it.
Based on a patch from Markus Pargmann for imx6qdl.dtsi.
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 8716186f5c3c0d647fbac8d216fc86263e1c6cdb
Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Date: Sat Mar 14 12:47:47 2015 -0300
ARM: dts: imx6sl: Add label snvs_rtc
It may be useful to disable the internal snvs-rtc when an external rtc is
available. This patch adds a label so that dts files can disable it.
Based on a patch from Markus Pargmann for imx6qdl.dtsi.
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 14517564795a5cd22e2da3119037f9883383fae9
Author: Marc Zyngier <marc.zyngier@xxxxxxx>
Date: Fri Mar 13 16:05:37 2015 +0000
ARM: imx6: Warn when an old DT is detected
Now that the GPC has been converted to be a full blown irqchip
(and not a mole on the side of the GIC), booting a new kernel
with an old DT is likely to result in a rough ride for the user.
This patch makes sure such a situation is promptly detected and
the user made aware that a DT update is in order.
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit e33b67523f556aa7ddb09f1c7fa4de5c080670c9
Author: Marc Zyngier <marc.zyngier@xxxxxxx>
Date: Thu Mar 12 08:40:37 2015 +0000
ARM: imx6: Allow GPC interrupts affinity to be changed
While converting the GPC code to a stacked irqchip, we lost the
possibility to change the CPU affinity of an interrupt routed
through the GPC.
This patch restore the expected behaviour by forwarding the
affinity setup to the underlying irqchip (GIC).
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 4e18a2243a8783010cc2c3c1c454e2eb279c0486
Author: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Date: Fri Mar 13 14:21:42 2015 +0800
ARM: imx6qdl-sabreauto.dtsi: add max7310 support
max7310 is an i2c interface gpio expander
Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 159097f86d6fa90bbd5dc954c1beeb7b800af92f
Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Date: Thu Mar 12 19:07:12 2015 -0300
ARM: dts: imx6sl-warp: Add BCM4330 support
Warp has a Murata chip based on a BCM4330 that provides Wifi and Bluetooth
functionality.
Add support for it.
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Acked-by: Otavio Salvador <otavio@xxxxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit e9b16e9cae90e9e588f2a35df54b50439dd8fed8
Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx>
Date: Wed Mar 11 16:06:01 2015 +0100
ARM: dts: imx28-apf28dev: add wakeup function to user button
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 816bd40186bfc7daad1ac66f73933a52669b8482
Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx>
Date: Wed Mar 11 16:06:00 2015 +0100
ARM: dts: imx28-apf28dev: fix user button polarity
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 6ada7bf59ba7e8c9af74bda44c49d37989922a35
Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Date: Thu Mar 12 16:03:08 2015 +0100
ARM: dts: imx25-pinfunc: remove input values for pinfuncs without input
register
input values are only useful for pin functions which define a input
register. This patch removes all input values of pin functions which do
not have an input configuration register.
Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit c09d0f7ce05fb2d85edab12c99f0beb8f5c8f487
Author: Stefan Agner <stefan@xxxxxxxx>
Date: Sun Mar 1 23:41:29 2015 +0100
ARM: dts: vf610: add Miscellaneous System Control Module (MSCM)
Add the Miscellaneous System Control Module (MSCM) to the base
device tree for Vybrid SoC's. This module contains registers
to get information of the individual and current (accessing)
CPU. In a second block, there is an interrupt router, which
handles the routing of the interrupts between the two CPU cores
on VF6xx variants of the SoC. However, also on single core
variants the interrupt router needs to be configured in order
to receive interrupts on the CPU's interrupt controller. Almost
all peripheral interrupts are routed through the router, hence
the MSCM module is the default interrupt parent for this SoC.
In a earlier commit the interrupt nodes were moved out of the
peripheral nodes and specified in the CPU specific vf500.dtsi
device tree. This allowed to use the base device tree vfxxx.dtsi
also for a Cortex-M4 specific device tree, which uses different
interrupt nodes due to the NVIC interrupt controller. However,
since the interrupt parent for peripherals is the MSCM module
independently which CPU the device tree is used for, we can move
the interrupt nodes into the base device tree vfxxx.dtsi again.
Depending on which CPU this base device tree will be used with,
the correct parent interrupt controller has to be assigned to
the MSCM-IR node (GIC or NVIC). The driver takes care of the
parent interrupt controller specific needs (interrupt-cells).
Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 649b1fe856ad577a5db1b613c9fb0167a10abd8c
Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Date: Mon Mar 9 23:33:22 2015 -0300
ARM: dts: imx6sl-warp: Pass 'bus-width' property
USDHC2 port uses all the 8 data signals, so pass the 'bus-width' property
accordingly.
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Acked-by: Otavio Salvador <otavio@xxxxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit e2675266b39b979d1d60b3671d5053af4a719be0
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Mon Mar 9 17:40:36 2015 +0100
ARM: dts: imx6qdl: disable PWMs by default
Since PWMs are only useful if they are actually connected to an output
pin,
let users enable them explicitly in their device trees where they should
also set up the pin configuration.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 7cdbec1f5d30fca90a73099505ea833ad3b6d027
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Mon Mar 9 17:40:35 2015 +0100
ARM: dts: hummingboard/cubox-i: enable front LED PWM explicitly
All PWM users should explicitly enable the used PWMs in their device tree
so they can be disabled by default in imx6qdl.dtsi.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 22c765b9210f13aa8b6857a226b6600b68b54e2e
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Mon Mar 9 17:40:34 2015 +0100
ARM: dts: imx6dl-aristainetos: enable backlight PWM explicitly
All PWM users should explicitly enable the used PWMs in their device tree
so they can be disabled by default in imx6qdl.dtsi.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 40130d327f7206c76838cf8efd180d960e4ce454
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Mon Feb 23 18:40:15 2015 +0100
ARM: dts: imx6qdl: Allow disabling the PU regulator, add a enable ramp
delay
The PU regulator is enabled during boot, but not necessarily always-on.
It can be disabled by the generic pm domain framework when the PU power
domain is shut down. The ramp delay of 150 us might be a bit conservative,
the value is taken from the Freescale kernel.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 016dbd7ad54cc6cdf05df5df5d98fbef09d82ebd
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Mon Feb 23 18:40:14 2015 +0100
ARM: dts: imx6sl: Add power-domain information to gpc node
The PGC that is part of GPC controls isolation and power sequencing of the
power domains. The PU power domain will be handled by the generic pm
domain
framework. It needs a phandle to the PU regulator to turn off power when
the domain is disabled and a list of clocks to be enabled during powerup
for reset propagation.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 729c88812fa0fdb5188b23b6da425619741faf6d
Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Date: Mon Feb 23 18:40:13 2015 +0100
ARM: dts: imx6qdl: Add power-domain information to gpc node
The PGC that is part of GPC controls isolation and power sequencing of the
power domains. The PU power domain will be handled by the generic pm
domain
framework. It needs a phandle to the PU regulator to turn off power when
the domain is disabled, and a list of phandles to all clocks that must be
enabled during powerup for reset propagation.
Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 3ec481ed05a5d4b567d5063483a0fdca5b81a6ae
Author: Matt Porter <mporter@xxxxxxxxxxxx>
Date: Fri Feb 27 09:06:00 2015 -0500
ARM: dts: imx: Add dr_mode host setting to all host-only usb instances
The chipidea driver adds an extra line of spam to the log when a
host-only chipidea instance is left set to the default of a dual role
controller.
[ 2.010873] ci_hdrc ci_hdrc.1: doesn't support gadget
Set the dr_mode property to host on all the host-only nodes
to avoid this warning.
Signed-off-by: Matt Porter <mporter@xxxxxxxxxxxx>
Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 27b0b9d8515f1315ba3ec848aa58cf936200fe07
Author: Otavio Salvador <otavio@xxxxxxxxxxxxxxxx>
Date: Tue Mar 3 00:41:45 2015 -0300
ARM: dts: warp: Add initial WaRP Board support
The WaRP Board is a Wearable Reference Plaform. The board features:
- Freescale i.MX6 SoloLite processor with 512MB of RAM
- Freescale FXOS8700CQ 6-axis Xtrinsic sensor
- Freescale Kinetis KL16 MCU
- Freescale Xtrinsic MMA955xL intelligent motion sensing platform
The board implements a hybrid architecture to address the evolving
needs of the wearables market. The platform consists of a main board
and an example daughtercard with the ability to add additional
daughtercards for different usage models.
For more information about the project, visit:
http://www.warpboard.org/
Signed-off-by: Otavio Salvador <otavio@xxxxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 7c8a0353799b2813a606b8862a6c43ed33df079a
Author: Stefan Agner <stefan@xxxxxxxx>
Date: Mon Mar 2 16:58:01 2015 +0100
ARM: dts: vf610: remove unused gpio-range-cells property
The anyway depricated gpio-range-cells property was never used
by the pin controller driver. This patch removes it.
Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit b923ff6af0d5a806a3996dac6d4393cd9792d0f4
Author: Marc Zyngier <marc.zyngier@xxxxxxx>
Date: Mon Feb 23 17:45:18 2015 +0000
ARM: imx6: convert GPC to stacked domains
IMX6 has been (ab)using the gic_arch_extn to provide
wakeup from suspend, and it makes a lot of sense to convert
this code to use stacked domains instead.
This patch does just this, updating the DT files to actually
reflect what the HW provides.
BIG FAT WARNING: because the DTs were so far lying by not
exposing the fact that the GPC block is actually the first
interrupt controller in the chain, kernels with this patch
applied wont have any suspend-resume facility when booted
with old DTs, and old kernels with updated DTs won't even boot.
Tested-by: Stefan Agner <stefan@xxxxxxxx>
Acked-by: Stefan Agner <stefan@xxxxxxxx>
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 07862e13e60305e3026aaff88c764b4bafa02a64
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Mon Mar 23 17:08:14 2015 +0300
mac80111: aes_gcm: clean up ieee80211_aes_gcm_key_setup_encrypt()
This code is written using an anti-pattern called "success handling"
which makes it hard to read, especially if you are used to normal kernel
style. It should instead be written as a list of directives in a row
with branches for error handling.
(Basically copied from Dan's previous patch for CCM)
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 45fd63293a214c48d6d3856bb39cf207a805dfda
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Mon Mar 23 17:08:14 2015 +0300
mac80111: aes_ccm: cleanup ieee80211_aes_key_setup_encrypt()
This code is written using an anti-pattern called "success handling"
which makes it hard to read, especially if you are used to normal kernel
style. It should instead be written as a list of directives in a row
with branches for error handling.
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit fc26d5f29b0d056699e8921bcb1a0ec709122596
Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Date: Sat Feb 21 16:27:18 2015 -0200
ARM: dts: imx25-pdk: Add LCD support
Add support for the CLAA057VC01CW display.
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 18e2b50407fb82bc7e35abd4affd2da623b6b653
Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Date: Sat Feb 21 15:31:23 2015 +0100
ARM: dts: imx25-pinfunc: more defines
Add some defines currently missing, fix ordering to make the list
sorted by (mux_reg, mux_val), make sure pins are grouped by mux_reg.
The same definitions are missing from the old pinmux header
(arch/arm/mach-imx/iomux-mx25.h) but as only legacy machine support uses
that and therefor the existing list is obviously good enough I didn't
spend the effort to add the corresponding definitions there, too.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 54a6bcb82ec06ba656f64b0ce470b26f3cd050b0
Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Date: Sat Feb 21 15:31:22 2015 +0100
ARM: imx25: fix some wrong iomux definitions
Noticed while looking over the pad definitions. None of the bogus
definitions is used in-tree.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit b1df649b4a765cf2e5fe7411081ed782cf27e550
Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Date: Fri Feb 20 17:04:09 2015 +0100
ARM: dts: imx6qdl: Add label snvs_rtc
It may be useful to disable the internal rtc snvs-rtc because an
external rtc is available. This patch adds a label so that board files
can disable this rtc.
Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit f1646e88ddf29d04527b9b3c649229083bdae3cd
Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx>
Date: Fri Feb 13 15:12:05 2015 +0100
ARM: dts: imx28-apf28dev: add support for auart0
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx>
Signed-off-by: Sebastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit d5ee087a664403c92f70a25e5d31e8d7d348241d
Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx>
Date: Fri Feb 13 15:12:04 2015 +0100
ARM: dts: imx28-apf28dev: add support for can0
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx>
Signed-off-by: Sebastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 9648bb4873e9dc73172584dd9bb07d63372d94a8
Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx>
Date: Fri Feb 13 15:12:03 2015 +0100
ARM: dts: imx28-apf28dev: fix mac1 gpio location and polarity
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx>
Signed-off-by: Sebastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 2fd05c97ac1fec9c69384a89afcdd0cddc462170
Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx>
Date: Fri Feb 13 15:12:02 2015 +0100
ARM: dts: imx28-apf28: fix mac0 gpio polarity
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx>
Signed-off-by: Sebastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 94d5f33c8e1bd527ceac54d6ea811666a0e563c0
Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx>
Date: Fri Feb 13 15:12:01 2015 +0100
ARM: dts: imx28-apf28dev: Add pinctrl for USB OTG ID pin
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@xxxxxxxxxxxx>
Signed-off-by: Sebastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 70c2652c6c5be75b897bc172f6dbdd3c491edc54
Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx>
Date: Thu Feb 12 14:01:31 2015 +0800
ARM: dts: imx6qdl: Move existing MIPI DSI ports into a new 'ports' node
The MIPI DSI node contains some ports which represent possible DRM CRTCs
it can connect with. Each port has a 'reg' property embedded. This
property will be wrongly interpretted by the MIPI DSI bus driver, because
the driver will take each subnode which contains a 'reg' property as a
DSI peripheral device. This patch moves the existing MIPI DSI ports into
a new 'ports' node so that the MIPI DSI bus driver may distinguish its
DSI peripheral device(s) from the existing ports.
Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 54183bd7f7662930ec52ef6bbe20ed1a805262d7
Author: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Date: Thu Feb 26 16:28:30 2015 +0800
ARM: imx6sx-sdb: add revb board and make it default
Since imx6sx-sdb reva board is experimental and will not be used
formally (eg, no software release based on it), we set revb board
as the formal imx6sx-sdb board.
The imx6sx-sdb uses pfuse200 as pmic which has only one power supply
for both VDDARM_IN and VDDSOC_IN, so VDDARM_IN and VDDSOC_IN have to
use the same (higher one in the same frequency) one as its power supply,
that's the reason we override the OPP setting in board dts file.
Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 1bb733f64f2abdf5bf113244ace3e4083bac4f91
Author: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Date: Thu Feb 26 16:28:29 2015 +0800
ARM: imx6sx-sdb: change default board as reva board
The imx6sx sdb board has two revisions, the current mainline one
is reva which is experimental and mainly for internal use. In
this commit, we rename imx6sx-sdb.dts to imx6sx-sdb.dtsi, and
move the reva dedicated contents to imx6sx-sdb-reva.dts.
Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 9fca015177f9c8ecf4a25805b69c046867e7d53e
Author: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx>
Date: Thu Jan 29 21:57:45 2015 +0530
ARM: vf-colibri: add SPI support and enable MCP2515 CAN
MCP2515 CAN controller is available on Colibri Evaluation board.
Hence enable MCP2515 CAN.
Acked-by: Stefan Agner <stefan@xxxxxxxx>
Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 1b545c172ea70f3019c6c144ba7b77f80f927740
Author: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx>
Date: Tue Jan 27 16:27:18 2015 +0530
ARM: vf610: add second DSPI instance
Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx>
Acked-by: Stefan Agner <stefan@xxxxxxxx>
Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
commit 9374e7d2fdcad3c36dafc8d3effd554bc702c4b6
Author: Marek Vasut <marex@xxxxxxx>
Date: Thu Mar 26 02:16:06 2015 +0100
rtlwifi: rtl8192cu: Add new device ID
Add new ID for ASUS N10 WiFi dongle.
Signed-off-by: Marek Vasut <marex@xxxxxxx>
Tested-by: Marek Vasut <marex@xxxxxxx>
Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
Cc: John W. Linville <linville@xxxxxxxxxxxxx>
Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 82ca6ef686f0fcefe2c1ad4ab74d5caf41be03a9
Author: Jouni Malinen <jouni@xxxxxxxxxxxxxxxx>
Date: Mon Mar 23 15:41:15 2015 +0200
mac80211: Fix misplaced return in AES-GMAC key setup
Commit 8ade538bf39b ("mac80111: Add BIP-GMAC-128 and BIP-GMAC-256
ciphers") had the success return in incorrect place before the
crypto_aead_setauthsize() call which practically ended up skipping that
call unconditionally.
The missing call did not actually change any functionality since
GMAC_MIC_LEN (16) is identical to the maxauthsize in gcm(aes) and as
such, the default value used for the authsize parameter.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Jouni Malinen <jouni@xxxxxxxxxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 2f92b314f4daff2117847ac5343c54d3d041bf78
Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
Date: Mon Mar 23 18:14:10 2015 -0500
rtlwifi: rtl8192cu: Add new USB ID
USB ID 2001:330d is used for a D-Link DWA-131.
Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
Cc: Stable <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit c5455f708b968dc462a292ba99da0d17100461d8
Merge: 40cb198 4a07317
Author: Shawn Guo <shawn.guo@xxxxxxxxxx>
Date: Mon Mar 30 16:37:21 2015 +0800
Merge remote-tracking branch 'jcooper/irqchip/vybrid' into imx/dt
commit 40cb1981b387f70ae750da57c2310539f4b813c7
Merge: dc98b0c ae4aee9
Author: Shawn Guo <shawn.guo@xxxxxxxxxx>
Date: Mon Mar 30 16:37:04 2015 +0800
Merge branch 'imx/soc' into imx/dt
commit 6bab2e19c5ffd1f21b28c2cabb3801a37b77ae69
Author: Tom Gundersen <teg@xxxxxxx>
Date: Wed Mar 18 11:13:39 2015 +0100
cfg80211: pass name_assign_type to rdev_add_virtual_intf()
This will expose in /sys whether the ifname of a device is set by
userspace or generated by the kernel. The latter kind (wlanX, etc)
is not deterministic, so userspace needs to rename these devices
to names that are guaranteed to stay the same between reboots. The
former, however should never be renamed, so userspace needs to be
able to reliably tell the difference.
Similar functionality was introduced for the rtnetlink core in
commit 5517750f058e ("net: rtnetlink - make create_link take
name_assign_type")
Signed-off-by: Tom Gundersen <teg@xxxxxxx>
Cc: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx>
Cc: Brett Rudley <brudley@xxxxxxxxxxxx>
Cc: Arend van Spriel <arend@xxxxxxxxxxxx>
Cc: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx>
Cc: Hante Meuleman <meuleman@xxxxxxxxxxxx>
Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
[reformat changelog to fit 72 cols]
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 4acaf048b1d27cb6e1b214d370ed993bb2aac664
Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx>
Date: Mon Mar 23 19:50:56 2015 +0530
mwifiex: recover from skb allocation failures during RX
This patch adds recovery mechanism for SDIO RX during SKB allocation
failures.
For allocation failures during multiport aggregation, we skip and drop RX
packets.
For single port read case, we will use preallocated card->mpa_rx.buf to
complete cmd53 read.
Now we terminate SDIO operations only upon cmd53 failures.
CC: James Cameron <quozl@xxxxxxxxxx>
Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx>
Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 5ff46f7923b87f6cc5d5d66df08c9b6379a0461e
Author: Avinash Patil <patila@xxxxxxxxxxx>
Date: Mon Mar 23 19:50:55 2015 +0530
mwifiex: stop command path in suspend handler
Cancel all pending commands including scan commands and stop CAC
during cfg80211 suspend handler.
Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 6a8b4adb47aea322e376cd1be62781c50dc1a9b5
Author: Michael Braun <michael-dev@xxxxxxxxxxxxx>
Date: Wed Mar 18 07:17:37 2015 +0100
mac80211: fix typo in debug output
Signed-off-by: Michael Braun <michael-dev@xxxxxxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 2d7defb07bbee286537457e5eab534bac01d126a
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Mon Mar 23 12:35:51 2015 +0300
mwifiex: remove an unneede NULL check in mwifiex_init_adapter()
"adapter->sleep_cfm" is always non-NULL at this point. Static checkers
complain that we already dereference it at the start of the function
when we do:
skb_put(adapter->sleep_cfm, sizeof(struct mwifiex_opt_sleep_confirm));
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 8f9c77fc1e8d4dfc1e7dc631d193162c75feef2e
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Mon Mar 9 11:13:04 2015 +0100
mac80211: reject aggregation sessions with non-HT peers
If a peer or some local agent (rate control, ...) decides to start
an aggregation session but doesn't support HT (which also implies
QoS), reject it.
This is mostly a corner case as such peers normally won't try to
use block-ack sessions and rate control wouldn't start them, but
technically QoS stations could request it according to the spec.
However, since drivers don't really support such non-HT sessions
it's better to reject them.
Also, while at it, move the tracing for TX sessions earlier so it
captures the error cases as well.
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 2f5872b60146eadf74b8d349a3596f5aaf687401
Author: Maithili Hinge <maithili@xxxxxxxxxxx>
Date: Sun Mar 22 23:01:25 2015 -0700
mwifiex: Fix issue in the SDIO reset path of mwifiex.
SDIO reset was not happening properly on mwifiex as cancel_work_sync
in mwifiex_sdio_remove used to kill the calling work function itself.
Due to this, the interface was not getting removed and card was not
getting added again. Reset work function has been made independent
of adapter variable and cancel_work_sync has been moved to cleanup
function.
Signed-off-by: Maithili Hinge <maithili@xxxxxxxxxxx>
Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit eaa4059d56fdbeb1633c94e82d54849688d96777
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:30:03 2015 +0100
ath9k: use REG_RMW and rmw buffer in ath9k_hw_def_set_gain
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit b1c1a26461a79a289e08d0c04bf8520e305bf05d
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:30:02 2015 +0100
ath9k: use REG_RMW and rmw buffer in ath9k_hw_4k_set_board_values
replace REG_WRITE to REG_RMW and place every thing in one
RMW buffer.
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 2dfc0247f0ff755296ab72ab3ddb8309fb35c660
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:30:01 2015 +0100
ath9k: use REG_RMW and rmw buffer in ath9k_hw_4k_set_gain
it is possible to reduce time needed for this function
by rplacing REG_WRITE with REG_RMW (plus dummy 0) and putt all commands
in same buffer.
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit ad10e0d65030d39c218e96f7e5269b301913b477
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:30:00 2015 +0100
ath9k: ath9k_hw_4k_set_board_values: use rmw buffer
it will reduce exution time from 14ms to 2ms on ar9271
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 2028523b6dcead43ddbbe4dc14f59f07b6238d34
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:29:59 2015 +0100
ath9k: ath9k_hw_analog_shift_rmw: use REG_RMW
use REG_RMW in ath9k_hw_analog_shift_rmw.
It will double execution speed on usb bus.
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 18d6616f1bb14a29b14c6b0d4cde7fd527579b72
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:29:58 2015 +0100
ath9k: ath9k_hw_4k_set_board_values: use rmw buffer
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 7b37e0d4db038d37bbb88a4c8ea2b828707cbd12
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:29:57 2015 +0100
ath9k: use rmw buffer in ath9k_hw_set_operating_mode and ath9k_hw_reset
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 10e03ef6b4669c56d5d6858d80866bfa9bb2dc57
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:29:56 2015 +0100
ath9k: ath9k_hw_set_4k_power_cal_tabl: use rmw buffer
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 3df5dd901d1a4eddcb386d6a5321ef8a61edf376
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:29:55 2015 +0100
ath9k: write buffer related optimisation in ar5008_hw_set_channel_regs
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 9830ba6c9ad0165f4aa1025bcfc8e75d76083907
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:29:54 2015 +0100
ath9k: ath9k_hw_loadnf: use REG_RMW
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 9c05babd933e1c4a811867c4d5aa170d788eeaf9
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:29:53 2015 +0100
ath9k: use one shot read in ath9k_hw_update_mibstats
this will reduce some overhead on usb bus.
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 03822782e8293db08f28507b85588656ff02f354
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:29:52 2015 +0100
ath9k: ar9271_hw_pa_cal: use REG_READ_ARRAY
insted of reading each register separatly
and waste 4ms on each operation, we can
use one shot read.
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit a57cb45a0a051601e14f81436b62750cc4f478c3
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:29:51 2015 +0100
ath9k: add new function ath9k_hw_read_array
REG_READ generate most overhead on usb bus. It send and read micro
packages
and reduce usb bandwidth. To reduce this overhead we should read in
batches.
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit d55ce0a6f98305c75c4581d7a19be622bb95179a
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:29:50 2015 +0100
ath9k: add multi_read to be compatible with ath9k_htc
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 93442c85d23a1e86c693de4b00915168a4a99d92
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:29:49 2015 +0100
ath9k: ar9271_hw_pa_cal: use RMW buffer
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 0202a553f59b7d0df4db56d0ce64c702afea64d0
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:29:48 2015 +0100
ath9k: ar9271_hw_pa_cal: use proper makroses.
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 8d1cbdef8a640536d0af1ee57930f671127329d5
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:29:47 2015 +0100
ath9k: ar9271_hw_pa_cal - use defs instead of magin numbers
This function uses mixed styles for register names/numbers which
is make harder reading and optimisation.
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 8badb50cfab6d433622dbfd5a90b6adf27333107
Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Date: Sun Mar 22 19:29:46 2015 +0100
ath9k_htc: add new WMI_REG_RMW_CMDID command
Since usb bus add extra delay on each request, a command
with read + write requests is too expensive. We can dramtically
reduce usb load by moving this command to firmware.
In my tests, this patch will reduce channel scan time
for about 5-10 seconds.
Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit e480e1344873b6a715d06a003e603d86a11a4033
Author: Taehee Yoo <ap420073@xxxxxxxxx>
Date: Fri Mar 20 19:31:33 2015 +0900
rtlwifi: Change REG_CR+2 to MSR
I changed REG_CR+2 and (MSR) to MSR because MSR is defined as (REG_CR +
2).
Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx>
Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit 01fbd4ecff4f8dc8ca9614778326cc159705623e
Author: Stanislaw Gruszka <sgruszka@xxxxxxxxxx>
Date: Thu Mar 19 15:32:49 2015 +0100
rt2800usb: check Autorun mode on FW load only once
Seems H/W report correctly firmware Autorun value only at initialization
stage. When we close interface and open it again, Autorun value is 0 and
we try to load firmware what kills the device. To fix clear
REQUIRE_FIRMWARE firmware flag, to do not load firmware again, once we
discover Autorun mode.
Reported-and-tested-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
Signed-off-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
commit a38700dd486f3def34cef47d00e2d360a04a7bc8
Author: Arik Nemtsov <arik@xxxxxxxxxx>
Date: Wed Mar 18 08:46:08 2015 +0200
cfg/mac80211: add regulatory classes IE during TDLS setup
Seems Broadcom TDLS peers (Nexus 5, Xperia Z3) refuse to allow TDLS
connection when channel-switching is supported but the regulatory
classes IE is missing from the setup request.
Add a chandef to reg-class translation function to cfg80211 and use it
to add the required IE during setup. For now add only the current
regulatory class as supported - it is enough to resolve the
compatibility issue.
Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 3a323d4e17dd5a84f6ad036e6f985d263ca973ed
Author: Luciano Coelho <luciano.coelho@xxxxxxxxx>
Date: Wed Mar 18 10:47:02 2015 +0200
nl80211: small clarification of the sched_scan delay attribute
Just clarify that the delay is only before the first cycle.
Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 7d830a198689bd33057923e0370147d43241c7f0
Author: David Spinadel <david.spinadel@xxxxxxxxx>
Date: Tue Mar 17 19:58:38 2015 +0200
mac80211: stop scan before connection
Stop scan before authentication or association to make sure
that nothing interferes with connection flow.
Currently mac80211 defers RX auth and assoc packets (among other ones)
until after the scan is complete, so auth during scan is likely to fail
if scan took too much time.
Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx>
Reviewed-by: Luciano Coelho <luciano.coelho@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 21fea567313641b6be69e0c684dc36c871ac848c
Author: Luciano Coelho <luciano.coelho@xxxxxxxxx>
Date: Tue Mar 17 16:36:01 2015 +0200
nl80211: add net-detect delay to wowlan info
Pass the initial net-detect delay (NL80211_ATTR_SCHED_SCAN_DELAY)
attribute in the WoWLAN info response.
Additionally, remove a bogus TODO comment.
Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit a90faa9d6449f3861428bafeaf4d1fcf2be4ba7f
Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Date: Mon Mar 16 23:23:37 2015 +0200
mac80211: notify the driver about deauth
This can allow the driver to take action based on the reason
of the deauth.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit d0d1a12f9cc665f3fcac5288ab84429a91abd4e9
Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Date: Mon Mar 16 23:23:36 2015 +0200
mac80211: notify the driver about association status
This can allow the driver to take action based on the
success / failure of the association.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit a9409093d23c822d13a73f8d2df7e6fa987ae485
Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Date: Mon Mar 16 23:23:35 2015 +0200
mac80211: notify the driver about authentication status
This can allow the driver to take action based on the
success / failure of the authentication.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit a818292952bbfad12ec5a32ab01330cb1ceed013
Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Date: Mon Mar 16 23:23:34 2015 +0200
mac80211: convert rssi_callback() to event_callback()
We will be able to add more events, such as MLME events and
others. The low level driver may be interested in knowing
about these events to dump firmware data upon failures, or
to change parameters in case connection attempts fail etc...
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit b24f670b7f5b2058b95370caa9f104b3cefb9f1d
Author: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 30 12:22:30 2015 +1100
m68k/mac: Fix out-of-bounds array index in OSS IRQ source initialization
Reported-by: David Binderman <dcb314@xxxxxxxxxxx>
Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
commit 4b524f12188c20c64c602ff09ba26a5d39d16b1c
Author: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
Date: Wed Mar 18 13:35:09 2015 +0900
PM / devfreq: correct misleading comment
_remove_devfreq() does not have @skip anymore after 3.16.
The comment for _remove_devfreq() has been updated correspondingly.
Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
commit 6f240fbc474018872f6d9664a3bd350bd22cc8d9
Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Date: Tue Mar 10 09:27:35 2015 +0900
PM / devfreq: event: Add const keyword for devfreq_event_ops structure
This patch adds the const keyword for devfreq_event_ops structure
because the ops of devfreq_event_desc structure should not be changed
after initialization.
Cc: Myungjoo Ham <myungjoo.ham@xxxxxxxxxxx>
Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
commit 2c158887f1185e04b3763ae346da9f71fcbc4429
Author: Johannes Berg <johannes.berg@xxxxxxxxx>
Date: Thu Mar 12 19:28:31 2015 +0100
mac80211: agg-tx: avoid sending DelBA with sta->lock held
The rate control locking caused a potential deadlock here due to the
locks being acquired in different orders, so that change cannot yet
be applied. However, there's no fundamental reason for this code to
hold the sta->lock while transmitting frames.
Clearly it's better not to hold the lock for longer periods of time,
which can happen here since we call all the way down to the driver.
Change the code a bit to not hold it while doing that.
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
commit 4d54b0adfa67476e6509bc8646b9dbac642e8a29
Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx>
Date: Thu Mar 26 11:29:26 2015 -0700
mfd: qcom_rpm: Add support for IPQ8064
The IPQ8064 also includes an RPM following the same message structure as
other chips. In addition, it supports a few new resource types to
support the NSS fabric clocks and the SMB208/SMB209 regulators found on
the reference boards.
Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit 30bc3aa5c4ed3072bdff7d915772df1b91307ed4
Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx>
Date: Thu Mar 26 11:29:25 2015 -0700
mfd: devicetree: qcom_rpm: Document IPQ8064 resources
The IPQ8064 SoC has several RPM-controlled resources, an NSS fabrick
clock and four regulator resources. Provide definitions for them.
Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx>
[sboyd@xxxxxxxxxxxxxx: Drop regulator part of binding]
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit a77c50b44cfb663ad03faba9800fec19bdf83577
Author: Johan Hovold <johan@xxxxxxxxxx>
Date: Wed Mar 25 12:07:05 2015 +0100
mfd: core: Fix platform-device name collisions
Since commit 6e3f62f0793e ("mfd: core: Fix platform-device id
generation") we honour PLATFORM_DEVID_AUTO and PLATFORM_DEVID_NONE when
registering mfd-devices.
Unfortunately, some mfd-drivers rely on the old behaviour of generating
platform-device ids by adding the cell id also to the special value of
PLATFORM_DEVID_NONE. The resulting platform ids are not only used to
generate device-unique names, but are also used instead of the cell id
to identify cells when probing subdevices.
These drivers should be updated to use PLATFORM_DEVID_AUTO, which would
also allow more than one device to be registered without resorting to
hacks (see for example wm831x), but lets fix the regression first by
partially reverting the above mentioned commit with respect to
PLATFORM_DEVID_NONE.
Fixes: 6e3f62f0793e ("mfd: core: Fix platform-device id generation")
Cc: stable <stable@xxxxxxxxxxxxxxx> # v3.19
Reported-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit bafc1face21f34005d34b72010ad6d7235bd448e
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 20:03:55 2015 +0200
mfd: intel_quark_i2c_gpio: Don't crash if !DMI
dmi_get_system_info() may return NULL either when CONFIG_DMI is not set
or when
board has an old firmware. The patch prevents a crash and changes the
default
frequency to be in align with older board.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
[Lee: Removed overt "sentinel" comment and extra lines]
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit 0787ded88e620c81ee2e42cee56cbb5cc26077de
Author: Carlo Caione <carlo@xxxxxxxxxx>
Date: Fri Feb 20 19:19:28 2015 +0800
dt-bindings: Add vendor-prefix for X-Powers
Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx>
Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit cf1d54394dd5ee04ca4a88283deaaade37d12882
Author: Carlo Caione <carlo@xxxxxxxxxx>
Date: Fri Feb 20 19:19:27 2015 +0800
mfd: AXP20x: Add bindings documentation
Bindings documentation for the AXP20x driver. In this file also
sub-nodes are documented.
Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx>
[wens@xxxxxxxx: clarify interrupt source for the axp PMIC]
[wens@xxxxxxxx: explain dcdc-workmode in detail and trim lines to 80
chars]
[wens@xxxxxxxx: make regulator supplies optional if using unregulated
input]
[wens@xxxxxxxx: use cubieboard2 regulator nodes as example]
[wens@xxxxxxxx: x-powers,dcdc-workmode default changed to 'current
hardware setting']
[wens@xxxxxxxx: reorganized regulator related properties into separate
section.]
Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx>
Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit 90cb12372bf2779406bd0378195d8b5357a06dc3
Author: Liad Kaufman <liad.kaufman@xxxxxxxxx>
Date: Sun Mar 29 11:39:34 2015 +0300
iwlwifi: mvm: rs: fix comment indentation
Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 963221bea4b46b175d51329c63dd6f16601d411b
Author: Alexander Bondar <alexander.bondar@xxxxxxxxx>
Date: Thu Mar 26 11:07:35 2015 +0200
iwlwifi: mvm: Clean up UMAC scan UIDs in the reset and drv_stop flows
In the reset flow, the driver cancels ongoing scan and sends scan
complete notification to mac80211. However it does not clean its UID.
Add cleaning scan UID for the ongoing scan. Loop over all other UIDs
to make sure there's nothing left there and warn if any is found.
Signed-off-by: Alexander Bondar <alexander.bondar@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit d383c7409171452aaa6569f1451f9975d44f3d76
Author: Eran Harary <eran.harary@xxxxxxxxx>
Date: Tue Mar 24 10:59:46 2015 +0200
iwlwifi: 8000: change PNVM in case it doesn't match to the HW step
There is a strong relationship between the NVM version and
the hardware step. Enforce that in the driver in case the
default NVM on the platform is the wrong one.
Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 1e16707166caf7499e9e3decc403267d346a5fb7
Author: Eran Harary <eran.harary@xxxxxxxxx>
Date: Thu Mar 19 13:01:07 2015 +0200
iwlwifi: mvm: fix debug print in the RSA ownership workaround
The semaphore may not be accessible. Fix the debug prints
accordingly.
Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 5d42e7b2a39d015180af44f8e56b0c2fc46874e1
Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Date: Thu Mar 19 20:04:51 2015 +0200
iwlwifi: mvm: allow to configure the timeout for the Tx queues
Sometimes we will want to configure the timeouts for the
Tx queues based on the vif type. Allow to do that using the
trigger mechanism.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 4b6fe3edcbbaa3d0e5513adcb9577c7e184ad1b5
Author: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx>
Date: Thu Oct 23 12:14:13 2014 +0900
spi: Using Trigger number to transmit/receive data
In order to transmit and receive data when have 32 bytes of data that
ready has prepared on Transmit/Receive Buffer to transmit or receive.
Instead transmits/receives a byte data using Transmit/Receive Buffer
Data Triggering Number will improve the speed of transfer data.
Signed-off-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit eb2d90c058280b41c8493cb17271e053b5ebba39
Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Date: Thu Mar 26 11:35:59 2015 +0100
mfd: max77693: Remove unused structures
The max77693 regulator driver no longer supports board files. Remove the
left-overs. Additionally fix name of device in comment.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Acked-by: Lee Jones <lee.jones@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 222d0f04340c686b136ec3a610cc50ba46baaea1
Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Date: Thu Mar 26 11:35:58 2015 +0100
regulator: max77693: Let core parse DT and drop board files support
Simplify the driver by removing board file support and letting
regulator core to parse DT.
The max77693 regulator driver is used only on Exynos based boards which
are DT-only. Board files for Exynos are not supported.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 6e4206136faa9a4d588946dfa604e1d989a9b3b6
Author: Greg Ungerer <gerg@xxxxxxxxxxx>
Date: Tue Mar 24 11:08:22 2015 +1000
m68knommu: fix fec setup warning for ColdFire 5271 builds
Building for the ColdFire 5271 produces the following warning:
arch/m68k/coldfire/m527x.c: In function â??m527x_fec_initâ??:
arch/m68k/coldfire/m527x.c:95:6: warning: unused variable â??parâ??
Fix it by moving the definition of par inside the 5271 conditional code.
Reported-by: ertheb <3rth3bnospam@xxxxxxx>
Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx>
commit a630ec1b64c57f681877cc19c8e7ea5640cf7fcb
Author: Greg Ungerer <gerg@xxxxxxxxxxx>
Date: Wed Mar 18 10:14:45 2015 +1000
m68knommu: ColdFire 5271 only has a single FEC controller
The inclusion of multiple FEC ethernet platform devices is based around
the FEC address definitions in the platform headers. The ColdFire m527x
platform is defining 2 FEC modules, but the 5271 SoC only has a single
FEC hardware module. The attempt to probe and init a second FEC module
causes a trap and dump on boot on this platform.
Fix the definitions so that only the 5275 SoC platform (which has 2 FEC
hardware modules) defines the second base address.
Reported-by: ertheb <3rth3bnospam@xxxxxxx>
Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx>
commit faa7cc2862c861d241cdb052e495e296bece1ccb
Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx>
Date: Mon Mar 9 22:29:24 2015 +0100
m68k: Fix trivial typos in comments
Change 'Reaceive' to 'Receive'
Change 'alighnment' to 'alignment'
Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx>
commit 7b02ccea2e70e5e3e9fccf36123b77240323b8d6
Author: Chen Yu <yu.c.chen@xxxxxxxxx>
Date: Fri Mar 27 18:08:48 2015 +0800
ACPI / PM: Enable all wakeup GPEs in suspend-to-idle
Currently, in suspend-to-idle, wakeup GPE for PCI devices are
handled properly because acpi_pci_sleep_wake() invokes acpi_enable_gpe()
to enable the wakeup GPE directly. But for the other wakeup-capable
devices in ACPI bus, acpi_enable_wakeup_devices() should be invoked
to update enable_for_wake mask in gpe_register_info structure, thus
acpi_enable_all_wakeup_gpes() can enable the wakeup GPE referred in
_PRW methods. And acpi_disable_wakeup_devices() will be called
before disable_irq_wake() in acpi_freeze_restore() to restore the mask.
This patch fixes a power button wakeup problem on Surface Pro 3,
on which platform power button uses EC to deliver event
(EC GPE is referred in _PRW).
Note: enabling EC GPE during freeze state may bring some risks
because EC events are expected to fire more frequently than others.
Thus it may bring the system out of freeze state unnecessarily.
(We already have comments about this in bugzilla)
Link: https://bugzilla.kernel.org/show_bug.cgi?id=84651
Reported-and-tested-by: Ethan Schoonover <es@xxxxxxxxxxxxxxxxxxx>
Tested-by: Peter Amidon <psa.pub.0@xxxxxxxxxxxxxx>
Tested-by: Yani Ioadnnou <yani.ioannou@xxxxxxxxx>
Tested-by: Mister Wardrop <mister.wardrop@xxxxxxxxx>
Tested-by: Anton Anikin <anton@xxxxxxxxxxx>
Tested-by: Keith McClelland <zismylaptop@xxxxxxxxx>
Reviewed-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit 00ee68ecc2bf714ee97bc3629c29eef502e69c4b
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Wed Mar 25 07:42:49 2015 +0100
ARM: 8326/1: s5pv210: move resume code to .text section
This code calls cpu_resume() using a straight branch (b), so
now that we have moved cpu_resume() back to .text, this should
be moved there as well.
Acked-by: Nicolas Pitre <nico@xxxxxxxxxx>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 12833bacf5d904c2dac0c3f52b2ebde5f2c5a2bc
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Wed Mar 25 07:41:43 2015 +0100
ARM: 8325/1: exynos: move resume code to .text section
This code calls cpu_resume() using a straight branch (b), so
now that we have moved cpu_resume() back to .text, this should
be moved there as well. Any direct references to symbols that will
remain in the .data section are replaced with explicit PC-relative
references.
Acked-by: Nicolas Pitre <nico@xxxxxxxxxx>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit d0776aff9a38b1390cc06ffc2c4dcf6ece7c05b9
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Wed Mar 25 07:39:21 2015 +0100
ARM: 8324/1: move cpu_resume() to .text section
Move cpu_resume() to the .text section where it belongs. Change
the adr reference to sleep_save_sp to an explicit PC relative
reference so sleep_save_sp itself can remain in .data.
This helps prevent linker failure on large kernels, as the code
in the .data section may be too far away to be in range for normal
b/bl instructions.
Reviewed-by: Nicolas Pitre <nico@xxxxxxxxxx>
Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 02e541db0540a2830f4af749c6f2b650abbbb77c
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Wed Mar 25 07:37:57 2015 +0100
ARM: 8323/1: force linker to use PIC veneers
When building a very large kernel, it is up to the linker to decide
when and where to insert stubs to allow calls to functions that are
out of range for the ordinary b/bl instructions.
However, since the kernel is built as a position dependent binary,
these stubs (aka veneers) may contain absolute addresses, which will
break far calls performed with the MMU off.
For instance, the call from __enable_mmu() in the .head.text section
to __turn_mmu_on() in the .idmap.text section may be turned into
something like this:
c0008168 <__enable_mmu>:
c0008168: f020 0002 bic.w r0, r0, #2
c000816c: f420 5080 bic.w r0, r0, #4096
c0008170: f000 b846 b.w c0008200 <____turn_mmu_on_veneer>
[...]
c0008200 <____turn_mmu_on_veneer>:
c0008200: 4778 bx pc
c0008202: 46c0 nop
c0008204: e59fc000 ldr ip, [pc]
c0008208: e12fff1c bx ip
c000820c: c13dfae1 teqgt sp, r1, ror #21
[...]
c13dfae0 <__turn_mmu_on>:
c13dfae0: 4600 mov r0, r0
[...]
After adding --pic-veneer to the LDFLAGS, the veneer is emitted like
this instead:
c0008200 <____turn_mmu_on_veneer>:
c0008200: 4778 bx pc
c0008202: 46c0 nop
c0008204: e59fc004 ldr ip, [pc, #4]
c0008208: e08fc00c add ip, pc, ip
c000820c: e12fff1c bx ip
c0008210: 013d7d31 teqeq sp, r1, lsr sp
c0008214: 00000000 andeq r0, r0, r0
Note that this particular example is best addressed by moving
.head.text and .idmap.text closer together, but this issue could
potentially affect any code that needs to execute with the
MMU off.
Acked-by: Nicolas Pitre <nico@xxxxxxxxxx>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit c4a84ae39b4a5bdf609c0001e14207aa731aab30
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Tue Mar 24 10:41:09 2015 +0100
ARM: 8322/1: keep .text and .fixup regions closer together
This moves all fixup snippets to the .text.fixup section, which is
a special section that gets emitted along with the .text section
for each input object file, i.e., the snippets are kept much closer
to the code they refer to, which helps prevent linker failure on
large kernels.
Acked-by: Nicolas Pitre <nico@xxxxxxxxxx>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 779c88c94c34bd3b521da97b456a1aa51d870dec
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Tue Mar 24 10:39:10 2015 +0100
ARM: 8321/1: asm-generic: introduce .text.fixup input section
This introduces a new .text.fixup input section that gets emitted
together with the .text section for each input object file.
Note that
*(.text)
*(.text.fixup)
is not the same as
*(.text .text.fixup)
and we are looking for the latter, to ensure that fixup snippets that
are assembled into a separate section in the object file do not end
up out of range for the relative branch instructions it contains if
the .text section itself grows very large.
This helps prevent linker failures on large ARM kernels.
Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit c097877319ab61dd045b6497953b4e3df8f2bb44
Author: Mark Rutland <mark.rutland@xxxxxxx>
Date: Fri Mar 6 12:08:30 2015 +0100
ARM: 8307/1: psci: move psci firmware calls out of line
arm64 builds with GCC 5 have caused the __asmeq assertions in the PSCI
calling code to fire, so move the ARM PSCI calls out of line into their
own assembly file for consistency and to safeguard against the same
issue occuring with the 32-bit toolchain.
[will: brought into line with arm64 implementation]
Reported-by: Andy Whitcroft <apw@xxxxxxxxxxxxx>
Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit d482994fca82380912b3a80201b74d5118ff0487
Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx>
Date: Fri Mar 27 10:19:19 2015 -0400
tipc: fix two bugs in secondary destination lookup
A message sent to a node after a successful name table lookup may still
find that the destination socket has disappeared, because distribution
of name table updates is non-atomic. If so, the message will be rejected
back to the sender with error code TIPC_ERR_NO_PORT. If the source
socket of the message has disappeared in the meantime, the message
should be dropped.
However, in the currrent code, the message will instead be subject to an
unwanted tertiary lookup, because the function tipc_msg_lookup_dest()
doesn't check if there is an error code present in the message before
performing the lookup. In the worst case, the message may now find the
old destination again, and be redirected once more, instead of being
dropped directly as it should be.
A second bug in this function is that the "prev_node" field in the message
is not updated after successful lookup, something that may have
unpredictable consequences.
The problems arising from those bugs occur very infrequently.
The third change in this function; the test on msg_reroute_msg_cnt() is
purely cosmetic, reflecting that the returned value never can be negative.
This commit corrects the two bugs described above.
Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4d92a3e9b90e23eaf7d893d1841cd0391403b99a
Merge: afb0bc9 3182b25
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Sun Mar 29 13:38:08 2015 -0700
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue
Jeff Kirsher says:
====================
Intel Wired LAN Driver Updates 2015-03-27
This series contains updates to i40e and i40evf.
Jesse adds new device IDs to handle the new 20G speed for KR2.
Mitch provides a fix for an issue that shows up as a panic or memory
corruption when the device is brought down while under heavy stress.
This is resolved by delaying the releasing of resources until we
receive acknowledgment from the PF driver that the rings have indeed
been stopped. Also adds firmware version information to ethtool
reporting to align with ixgbevf behavior.
Akeem increases the polling loop limiter, sine we found that in
certain circumstances the firmware can take longer to be ready after
a reset.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit afb0bc972b5269a2046a1194c475d929c62fc1a3
Merge: 608cd71 1abbc98
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Sun Mar 29 13:33:32 2015 -0700
Merge branch 'stacked_vlan_tso'
Toshiaki Makita says:
====================
Stacked vlan TSO
On the basis of Netdev 0.1 discussion[1], I made a patch set to enable
TSO for packets with multiple vlans.
Currently, packets with multiple vlans are always segmented by software,
which is caused by that netif_skb_features() drops most feature flags
for multiple tagged packets.
To allow NICs to segment them, we need to get rid of that check from core.
Fortunately, recently introduced ndo_features_check() can be used to
move the check to each driver, and this patch set is based on the idea.
For the initial patch set, I chose 3 drivers, bonding, team, and igb, as
candidates to enable TSO. I tested them and confirmed they works fine
with this change.
Here are samples of performance test results. As I expected, %sys gets
pretty lower than before.
* TEST1: vlan (.1Q) on vlan (.1ad) on igb (I350)
- before
$ netperf -t TCP_STREAM -H 192.168.10.1 -l 60
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 60.02 933.72
Average: CPU %user %nice %system %iowait %steal
%idle
Average: all 0.13 0.00 11.28 0.01 0.00
88.58
- after
$ netperf -t TCP_STREAM -H 192.168.10.1 -l 60
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 60.01 936.13
Average: CPU %user %nice %system %iowait %steal
%idle
Average: all 0.24 0.00 4.17 0.01 0.00
95.58
* TEST2: vlan (.1Q) on bridge (.1ad vlan filtering) on team on igb (I350)
- before
$ netperf -t TCP_STREAM -H 192.168.10.1 -l 60
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 60.01 936.28
Average: CPU %user %nice %system %iowait %steal
%idle
Average: all 0.41 0.00 11.57 0.01 0.00
88.01
- after
$ netperf -t TCP_STREAM -H 192.168.10.1 -l 60
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 60.02 935.72
Average: CPU %user %nice %system %iowait %steal
%idle
Average: all 0.14 0.00 7.66 0.01 0.00
92.19
In addition to above, I tested these configurations:
- vlan (.1Q) on vlan (1.ad) on bonding on igb (I350)
- vlan (.1Q) on vlan (1.Q) on igb (I350)
- vlan (.1Q) on vlan (1.Q) on team on igb (I350)
And didn't find any problem.
[1] https://netdev01.org/sessions/18
https://netdev01.org/docs/netdev01_bof_8021ad_makita_150212.pdf
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1abbc98a8ac5c6cc016e672e5888b6416ae243f6
Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx>
Date: Fri Mar 27 14:31:16 2015 +0900
igb: Enable TSO for stacked vlan
As datasheets for igb (I210, I350, 82576, etc.) say, maclen can be from
14 to 127, which is enough for reasonable number of vlan tags.
My netperf test showed I350's TSO works pretty fine with multiple vlans.
Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b9f4cf7531ac7a0c99db9e08d0a83cb559251bea
Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx>
Date: Fri Mar 27 14:31:15 2015 +0900
team: Don't segment multiple tagged packets on team device
Team devices don't need to segment multiple tagged packets since their
slaves can segment them.
Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4847f04982c360ffb233a10e8ef79a16e8be5c28
Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx>
Date: Fri Mar 27 14:31:14 2015 +0900
bonding: Don't segment multiple tagged packets on bonding device
Bonding devices don't need to segment multiple tagged packets since their
slaves can segment them.
Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e38f30256b36700aa63aa709dc091bf6eb69c257
Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx>
Date: Fri Mar 27 14:31:13 2015 +0900
net: Introduce passthru_features_check
As there are a number of (especially virtual) devices that don't
need the multiple vlan check, introduce passthru_features_check() for
convenience.
Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8cb65d00086bfba22bac87ff18b751432fc74003
Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx>
Date: Fri Mar 27 14:31:12 2015 +0900
net: Move check for multiple vlans to drivers
To allow drivers to handle the features check for multiple tags,
move the check to ndo_features_check().
As no drivers currently handle multiple tagged TSO, introduce
dflt_features_check() and call it if the driver does not have
ndo_features_check().
Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f5a7fb88e1f82542ca14ba93a1d4fa35471c60ca
Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx>
Date: Fri Mar 27 14:31:11 2015 +0900
vlan: Introduce helper functions to check if skb is tagged
Separate the two checks for single vlan and multiple vlans in
netif_skb_features(). This allows us to move the check for multiple
vlans to another function later.
Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8d463504c191c2126d097ac94fb258aabe6d3e62
Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx>
Date: Fri Mar 27 14:31:10 2015 +0900
vlan: Add features for stacked vlan device
Stacked vlan devices curretly have few features (GRO, HIGHDMA, LLTX).
Since we have software fallbacks in case the NIC can not handle some
features for multiple vlans, we can add the same features as the lower
vlan devices for stacked vlan devices.
This allows stacked vlan devices to create large (GSO) packets and not to
segment packets. Those packets will be segmented by software on the real
device, or even can be segmented by the NIC once TSO for multiple vlans
becomes enabled by the following patches.
The exception is those related to FCoE, which does not have a software
fallback.
Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 608cd71a9c7c9db76e78a792c5a4101e12fea43f
Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Date: Thu Mar 26 19:53:57 2015 -0700
tc: bpf: generalize pedit action
existing TC action 'pedit' can munge any bits of the packet.
Generalize it for use in bpf programs attached as cls_bpf and act_bpf via
bpf_skb_store_bytes() helper function.
Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxx>
Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7836b16c0dd1d3039ccc35ceeff6d75401fbba8c
Merge: 5ce58c2 b2a6b93
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Sun Mar 29 13:24:05 2015 -0700
Merge branch 'dsa-hw-bridging'
Guenter Roeck says:
====================
net: dsa: HW bridging, EEE support
Patch 1 to 7 of this series prepare the drivers using the mv88e6xxx code
for HW bridging support, without adding the code itself. For the most part
this factors out common port initialization code. There is no functional
change except for patch 3, which disables the message port bit for the
CPU port to prevent packet duplication if HW bridging is configured.
Patch 8 adds the infrastructure for hardware bridging support to the
mv88e6xxx code.
Patch 9 wires the MV88E6352 driver to support hardware bridging.
Patches 10 to 12 add support for ndo_fdb functions to the dsa subsystem,
and wire up the MV88E6352 driver to support those functions.
Patches 13 to 16 add EEE support and HW bridging support to the mv88e6171
driver. This set of patches is from Andrew, applied on top of the first
set of patches.
The series applies to net-next as of 3/24/2015.
Thanks a lot to Andrew Lunn for testing and valuable feedback.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b2a6b93a0c5730dd96f224ed22ccd0662d06b3b0
Author: Andrew Lunn <andrew@xxxxxxx>
Date: Thu Mar 26 18:36:43 2015 -0700
net: dsa: mv88e6171: Add support for hardware bridging
Wire up the common code for setting up hardware bridging
and access to the forwarding database.
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit baae51d5242d7e4e94ce4cce6d4bca639eec07e0
Author: Andrew Lunn <andrew@xxxxxxx>
Date: Thu Mar 26 18:36:42 2015 -0700
net: dsa: mv88e6171: Add EEE support to the mv88e6172
The mv88e6172 has support for EEE. Check for the product ID and call
the common code if applicable.
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 464caa2f5ba8d937ce3d434b1be4179fefb011e5
Author: Andrew Lunn <andrew@xxxxxxx>
Date: Thu Mar 26 18:36:41 2015 -0700
net: dsa: mv88e6171: Add defines for switch product IDs
Make the code more readable by using defines for the switch IDs.
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a8f064c602cf0170d41274e173a26151d7520dbe
Author: Andrew Lunn <andrew@xxxxxxx>
Date: Thu Mar 26 18:36:40 2015 -0700
net: dsa: Centralise getting switch id
Get the switch id and save it away in the private mv88x6xxx structure
in a centralised piece of code, rather than each driver doing it itself.
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4f431e56625761b1d81a4a6544fda92c02bed917
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 26 18:36:39 2015 -0700
net: dsa: mv88e6352: Add support for ndo_fdb functions
Add support for manipulating switch fdb entries by pointing to the
ndo_fdb functions implemented for mv88e6xxxx.
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit defb05b9b9b4376aeb9db366cdb6ffa5ef0fa176
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 26 18:36:38 2015 -0700
net: dsa: mv88e6xxx: Add support for fdb_add, fdb_del, and fdb_getnext
No vlan support at this time.
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Tested-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 339d82626d225e9b876665e4e89b7eb123e96b3d
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 26 18:36:37 2015 -0700
net: dsa: Add basic framework to support ndo_fdb functions
Provide callbacks for ndo_fdb_add, ndo_fdb_del, and ndo_fdb_dump.
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Tested-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3f244abb53665bf1ae0a762bb452d33b6648b7df
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 26 18:36:36 2015 -0700
net: dsa: mv88e6352: Add support for hardware bridging
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit facd95b2e0ec02ccf6d13f4d08c060628dca0862
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 26 18:36:35 2015 -0700
net: dsa: mv88e6xxx: Add Hardware bridging support
Bridge support is similar for all chips supported by the mv88e6xxx code,
so add the code there.
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Tested-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b0019b70d02bae9757b5b9237f38fb8cf2899009
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 26 18:36:34 2015 -0700
net: dsa: mv88e6171: Use common port configuration
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Tested-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 54af0cf0d25eb3147ea6f1e121c641856486331a
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 26 18:36:33 2015 -0700
net: dsa: mv88e6123_61_65: Use common port configuration
This will simplify adding offloaded bridge support later on.
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 2089052f82fdd85214542ece1ec39a383ab4c076
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 26 18:36:32 2015 -0700
net: dsa: mv88e6352: Use common port initialization code
This prepares the driver for hardware bridging.
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8d6d09e7a0149b60a8b504b21cafe5f4b304fd97
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 26 18:36:31 2015 -0700
net: dsa: mv88e6xxx: Split mv88e6xxx_reg_read and mv88e6xxx_reg_write
Split mv88e6xxx_reg_read and mv88e6xxx_reg_write into two functions each,
one to acquire smi_mutex and one to get struct mii_bus *bus from
struct dsa_switch *ds and to call the actual read/write function.
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Tested-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 366f0a0f98370d435de64978d623e6abf2630b01
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 26 18:36:30 2015 -0700
net: dsa: mv88e6xxx: Disable Message Port bit for CPU port
Datasheet says that the Message Port bit should not be set for the CPU
port.
Having it set causes DSA tagged packets to be sent to the CPU port roughly
every 30 seconds. Those packets are the same as real packets forwarded
between
switch ports if the switch is configured for switching between multiple
ports.
The packets are then bridged by the software bridge, resulting in
duplicated
packets on the network.
Reported-by: Andrew Lunn <andrew@xxxxxxx>
Cc: Andrew Lunn <andrew@xxxxxxx>
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Tested-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d827e88a3f48606f1fcd0c285613befce375e076
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 26 18:36:29 2015 -0700
net: dsa: mv88e6xxx: Provide function for common port initialization
Provide mv88e6xxx_setup_port_common() for common port initialization.
Currently only write Port 1 Control and VLAN configuration since
this will be needed for hardware bridging. More can be added later
if desired/needed.
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Tested-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit acdaffcc890a29262c9bb47e287b62488c85eb59
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 26 18:36:28 2015 -0700
net: dsa: mv88e6xxx: Factor out common initialization code
Code used and needed in mv886xxx.c should be initialized there as well,
so factor it out from the individual initialization files.
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Tested-by: Andrew Lunn <andrew@xxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 5ce58c2f13eaa8ca6d7e1041175433bd8cc55756
Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Date: Thu Mar 26 16:20:58 2015 -0700
hv_netvsc: remove vmbus_are_subchannels_present() in
rndis_filter_device_add()
The vmbus_are_subchannels_present() also involves opening the channels,
which
may be too early at this point. Checking for subchannels is not necessary
here.
So this patch removes it. Subchannels will be opened when offer messages
arrive.
Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit fa6ed4cb6fd44ef4c6fad4d9572119d22381f32c
Author: Markos Chandras <markos.chandras@xxxxxxxxxx>
Date: Mon Mar 23 12:32:01 2015 +0000
irqchip: mips-gic: Add new functions to start/stop the GIC counter
We add new functions to start and stop the GIC counter since there are no
guarantees the counter will be running after a CPU reset. The GIC counter
is stopped by setting the 29th bit on the GIC Config register and it is
started by clearing that bit.
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Jason Cooper <jason@xxxxxxxxxxxxxx>
Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Qais Yousef <qais.yousef@xxxxxxxxxx>
Cc: <linux-kernel@xxxxxxxxxxxxxxx>
Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx>
Link:
https://lkml.kernel.org/r/1427113923-9840-2-git-send-email-markos.chandras@xxxxxxxxxx
Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx>
commit cb6e0b3690f48dffb9397c3e868164b689420441
Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Date: Thu Mar 26 22:26:08 2015 +0100
net: smc91x: make use of 4th parameter to devm_gpiod_get_index
Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions)
which appeared in v3.17-rc1, the gpiod_get* functions take an additional
parameter that allows to specify direction and initial value for output.
Simplify accordingly.
Moreover use devm_gpiod_get_index_optional for still simpler handling.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1eec582158e2d1d1d3978449d2d01da2d1c3feb8
Author: Thierry Reding <treding@xxxxxxxxxx>
Date: Mon Mar 23 11:26:19 2015 +0100
irqchip: tegra: Add Tegra210 support
Tegra210 uses the same legacy interrupt controller as older generations
but it adds a sixth instance.
Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
Link:
https://lkml.kernel.org/r/1427106379-14037-1-git-send-email-thierry.reding@xxxxxxxxx
Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx>
commit 7c3877f275ee6b479fa828947811c76d431501ca
Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Date: Thu Mar 26 09:03:37 2015 -0700
hv_netvsc: Implement batching in send buffer
With this patch, we can send out multiple RNDIS data packets in one send
buffer
slot and one VMBus message. It reduces the overhead associated with VMBus
messages.
Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4ef295e04722c955cd60723d78ec525a2e80de27
Merge: ae7633c cc02e45
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Sun Mar 29 12:43:43 2015 -0700
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next
Pablo Neira Ayuso says:
====================
Netfilter updates for net-next
The following patchset contains Netfilter updates for your net-next tree.
Basically, nf_tables updates to add the set extension infrastructure and
finish
the transaction for sets from Patrick McHardy. More specifically, they
are:
1) Move netns to basechain and use recently added possible_net_t, from
Patrick McHardy.
2) Use LOGLEVEL_<FOO> from nf_log infrastructure, from Joe Perches.
3) Restore nf_log_trace that was accidentally removed during conflict
resolution.
4) nft_queue does not depend on NETFILTER_XTABLES, starting from here
all patches from Patrick McHardy.
5) Use raw_smp_processor_id() in nft_meta.
Then, several patches to prepare ground for the new set extension
infrastructure:
6) Pass object length to the hash callback in rhashtable as needed by
the new set extension infrastructure.
7) Cleanup patch to restore struct nft_hash as wrapper for struct
rhashtable
8) Another small source code readability cleanup for nft_hash.
9) Convert nft_hash to rhashtable callbacks.
And finally...
10) Add the new set extension infrastructure.
11) Convert the nft_hash and nft_rbtree sets to use it.
12) Batch set element release to avoid several RCU grace period in a row
and add new function nft_set_elem_destroy() to consolidate set element
release.
13) Return the set extension data area from nft_lookup.
14) Refactor existing transaction code to add some helper functions
and document it.
15) Complete the set transaction support, using similar approach to what
we
already use, to activate/deactivate elements in an atomic fashion.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ae7633c841b3d17ab54e372ad9cc0f37a9a7c72d
Merge: faadb05 8a0f6eb
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Sun Mar 29 12:40:37 2015 -0700
Merge branch 'tipc-next'
Ying Xue says:
====================
tipc: fix two corner issues
The patch set aims at resolving the following two critical issues:
Patch #1: Resolve a deadlock which happens while all links are reset
Patch #2: Correct a mistake usage of RCU lock which is used to protect
node list
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8a0f6ebe8494c5c6ccfe12264385b64c280e3241
Author: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Date: Thu Mar 26 18:10:24 2015 +0800
tipc: involve reference counter for node structure
TIPC node hash node table is protected with rcu lock on read side.
tipc_node_find() is used to look for a node object with node address
through iterating the hash node table. As the entire process of what
tipc_node_find() traverses the table is guarded with rcu read lock,
it's safe for us. However, when callers use the node object returned
by tipc_node_find(), there is no rcu read lock applied. Therefore,
this is absolutely unsafe for callers of tipc_node_find().
Now we introduce a reference counter for node structure. Before
tipc_node_find() returns node object to its caller, it first increases
the reference counter. Accordingly, after its caller used it up,
it decreases the counter again. This can prevent a node being used by
one thread from being freed by another thread.
Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx>
Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxx>
Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b952b2befb6f6b009e91f087285b9a0a6beb1cc8
Author: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Date: Thu Mar 26 18:10:23 2015 +0800
tipc: fix potential deadlock when all links are reset
[ 60.988363] ======================================================
[ 60.988754] [ INFO: possible circular locking dependency detected ]
[ 60.989152] 3.19.0+ #194 Not tainted
[ 60.989377] -------------------------------------------------------
[ 60.989781] swapper/3/0 is trying to acquire lock:
[ 60.990079] (&(&n_ptr->lock)->rlock){+.-...}, at:
[<ffffffffa0006dca>] tipc_link_retransmit+0x1aa/0x240 [tipc]
[ 60.990743]
[ 60.990743] but task is already holding lock:
[ 60.991106] (&(&bclink->lock)->rlock){+.-...}, at:
[<ffffffffa00004be>] tipc_bclink_lock+0x8e/0xa0 [tipc]
[ 60.991738]
[ 60.991738] which lock already depends on the new lock.
[ 60.991738]
[ 60.992174]
[ 60.992174] the existing dependency chain (in reverse order) is:
[ 60.992174]
-> #1 (&(&bclink->lock)->rlock){+.-...}:
[ 60.992174] [<ffffffff810a9c0c>] lock_acquire+0x9c/0x140
[ 60.992174] [<ffffffff8179c41f>] _raw_spin_lock_bh+0x3f/0x50
[ 60.992174] [<ffffffffa00004be>] tipc_bclink_lock+0x8e/0xa0
[tipc]
[ 60.992174] [<ffffffffa0000f57>] tipc_bclink_add_node+0x97/0xf0
[tipc]
[ 60.992174] [<ffffffffa0011815>] tipc_node_link_up+0xf5/0x110
[tipc]
[ 60.992174] [<ffffffffa0007783>] link_state_event+0x2b3/0x4f0
[tipc]
[ 60.992174] [<ffffffffa00193c0>]
tipc_link_proto_rcv+0x24c/0x418 [tipc]
[ 60.992174] [<ffffffffa0008857>] tipc_rcv+0x827/0xac0 [tipc]
[ 60.992174] [<ffffffffa0002ca3>] tipc_l2_rcv_msg+0x73/0xd0
[tipc]
[ 60.992174] [<ffffffff81646e66>]
__netif_receive_skb_core+0x746/0x980
[ 60.992174] [<ffffffff816470c1>] __netif_receive_skb+0x21/0x70
[ 60.992174] [<ffffffff81647295>]
netif_receive_skb_internal+0x35/0x130
[ 60.992174] [<ffffffff81648218>] napi_gro_receive+0x158/0x1d0
[ 60.992174] [<ffffffff81559e05>] e1000_clean_rx_irq+0x155/0x490
[ 60.992174] [<ffffffff8155c1b7>] e1000_clean+0x267/0x990
[ 60.992174] [<ffffffff81647b60>] net_rx_action+0x150/0x360
[ 60.992174] [<ffffffff8105ec43>] __do_softirq+0x123/0x360
[ 60.992174] [<ffffffff8105f12e>] irq_exit+0x8e/0xb0
[ 60.992174] [<ffffffff8179f9f5>] do_IRQ+0x65/0x110
[ 60.992174] [<ffffffff8179da6f>] ret_from_intr+0x0/0x13
[ 60.992174] [<ffffffff8100de9f>] arch_cpu_idle+0xf/0x20
[ 60.992174] [<ffffffff8109dfa6>] cpu_startup_entry+0x2f6/0x3f0
[ 60.992174] [<ffffffff81033cda>] start_secondary+0x13a/0x150
[ 60.992174]
-> #0 (&(&n_ptr->lock)->rlock){+.-...}:
[ 60.992174] [<ffffffff810a8f7d>] __lock_acquire+0x163d/0x1ca0
[ 60.992174] [<ffffffff810a9c0c>] lock_acquire+0x9c/0x140
[ 60.992174] [<ffffffff8179c41f>] _raw_spin_lock_bh+0x3f/0x50
[ 60.992174] [<ffffffffa0006dca>]
tipc_link_retransmit+0x1aa/0x240 [tipc]
[ 60.992174] [<ffffffffa0001e11>] tipc_bclink_rcv+0x611/0x640
[tipc]
[ 60.992174] [<ffffffffa0008646>] tipc_rcv+0x616/0xac0 [tipc]
[ 60.992174] [<ffffffffa0002ca3>] tipc_l2_rcv_msg+0x73/0xd0
[tipc]
[ 60.992174] [<ffffffff81646e66>]
__netif_receive_skb_core+0x746/0x980
[ 60.992174] [<ffffffff816470c1>] __netif_receive_skb+0x21/0x70
[ 60.992174] [<ffffffff81647295>]
netif_receive_skb_internal+0x35/0x130
[ 60.992174] [<ffffffff81648218>] napi_gro_receive+0x158/0x1d0
[ 60.992174] [<ffffffff81559e05>] e1000_clean_rx_irq+0x155/0x490
[ 60.992174] [<ffffffff8155c1b7>] e1000_clean+0x267/0x990
[ 60.992174] [<ffffffff81647b60>] net_rx_action+0x150/0x360
[ 60.992174] [<ffffffff8105ec43>] __do_softirq+0x123/0x360
[ 60.992174] [<ffffffff8105f12e>] irq_exit+0x8e/0xb0
[ 60.992174] [<ffffffff8179f9f5>] do_IRQ+0x65/0x110
[ 60.992174] [<ffffffff8179da6f>] ret_from_intr+0x0/0x13
[ 60.992174] [<ffffffff8100de9f>] arch_cpu_idle+0xf/0x20
[ 60.992174] [<ffffffff8109dfa6>] cpu_startup_entry+0x2f6/0x3f0
[ 60.992174] [<ffffffff81033cda>] start_secondary+0x13a/0x150
[ 60.992174]
[ 60.992174] other info that might help us debug this:
[ 60.992174]
[ 60.992174] Possible unsafe locking scenario:
[ 60.992174]
[ 60.992174] CPU0 CPU1
[ 60.992174] ---- ----
[ 60.992174] lock(&(&bclink->lock)->rlock);
[ 60.992174]
lock(&(&n_ptr->lock)->rlock);
[ 60.992174]
lock(&(&bclink->lock)->rlock);
[ 60.992174] lock(&(&n_ptr->lock)->rlock);
[ 60.992174]
[ 60.992174] *** DEADLOCK ***
[ 60.992174]
[ 60.992174] 3 locks held by swapper/3/0:
[ 60.992174] #0: (rcu_read_lock){......}, at: [<ffffffff81646791>]
__netif_receive_skb_core+0x71/0x980
[ 60.992174] #1: (rcu_read_lock){......}, at: [<ffffffffa0002c35>]
tipc_l2_rcv_msg+0x5/0xd0 [tipc]
[ 60.992174] #2: (&(&bclink->lock)->rlock){+.-...}, at:
[<ffffffffa00004be>] tipc_bclink_lock+0x8e/0xa0 [tipc]
[ 60.992174]
The correct the sequence of grabbing n_ptr->lock and bclink->lock
should be that the former is first held and the latter is then taken,
which exactly happened on CPU1. But especially when the retransmission
of broadcast link is failed, bclink->lock is first held in
tipc_bclink_rcv(), and n_ptr->lock is taken in link_retransmit_failure()
called by tipc_link_retransmit() subsequently, which is demonstrated on
CPU0. As a result, deadlock occurs.
If the order of holding the two locks happening on CPU0 is reversed, the
deadlock risk will be relieved. Therefore, the node lock taken in
link_retransmit_failure() originally is moved to tipc_bclink_rcv()
so that it's obtained before bclink lock. But the precondition of
the adjustment of node lock is that responding to bclink reset event
must be moved from tipc_bclink_unlock() to tipc_node_unlock().
Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx>
Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit faadb05f4b7f11b3063a20d7fc5afcbf1124dbeb
Author: Li RongQing <roy.qing.li@xxxxxxxxx>
Date: Thu Mar 26 15:39:45 2015 +0800
virtio: simplify the using of received in virtnet_poll
received is 0, no need to minus it and use "+=" to reassign it
Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3556eaaab566e478a4ed68041a7cacfd8974662a
Merge: 41d25fe 265ec92
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Sun Mar 29 12:34:05 2015 -0700
Merge branch 'be2net-next'
Sathya Perla says:
====================
be2net: patch set
Hi David, this patch set includes 2 feature additions to the be2net
driver:
Patch 1 sets up cpu affinity hints for be2net irqs using the
cpumask_set_cpu_local_first() API that first picks the near numa cores
and when they are exhausted, selects the far numa cores.
Patch 2 setups up xps queue mapping for be2net's TXQs to avoid,
by default, TX lock contention.
Patch 3 just bumps up the driver version.
Pls consider applying this patch set to the net-next queue. Thanks!
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 265ec9275809067fa6925508bed0a590f48286d3
Author: Sathya Perla <sathya.perla@xxxxxxxxxx>
Date: Thu Mar 26 03:05:10 2015 -0400
be2net: bump up the driver version to 10.6.0.1
Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 73f394e6290b9a2f3d297623c3db2d975111b445
Author: Sathya Perla <sathya.perla@xxxxxxxxxx>
Date: Thu Mar 26 03:05:09 2015 -0400
be2net: setup xps queue mapping
This patch sets up xps queue mapping on load, so that TX traffic is
steered to the queue whose irqs are being processed by the current cpu.
This helps in avoiding TX lock contention.
Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d658d98aa55a0a6e1f3b818645b098bc3187777a
Author: Padmanabh Ratnakar <padmanabh.ratnakar@xxxxxxxxxx>
Date: Thu Mar 26 03:05:08 2015 -0400
be2net: assign CPU affinity hints to be2net IRQs
This patch provides hints to irqbalance to map be2net IRQs to
specific CPU cores. cpumask_set_cpu_local_first() is used, which first
maps IRQs to near NUMA cores; when those cores are exhausted, IRQs are
mapped to far NUMA cores.
Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@xxxxxxxxxx>
Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 41d25fe0927aabb1d4b671871a99a55bcd203257
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Wed Mar 25 15:08:47 2015 -0700
tcp: tcp_syn_flood_action() can be static
After commit 1fb6f159fd21 ("tcp: add tcp_conn_request"),
tcp_syn_flood_action() is no longer used from IPv6.
We can make it static, by moving it above tcp_conn_request()
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Reviewed-by: Octavian Purdila <octavian.purdila@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1fb7cd4ef02bea6416b5afd60617d12ceb3533c1
Author: Wu Fengguang <fengguang.wu@xxxxxxxxx>
Date: Thu Mar 26 05:55:25 2015 +0800
cxgb4: fix boolreturn.cocci warnings
drivers/net/ethernet/chelsio/cxgb4/cxgb4_fcoe.c:49:9-10: WARNING: return
of 0/1 in function 'cxgb_fcoe_sof_eof_supported' with return type bool
Return statements in functions returning bool should use
true/false instead of 1/0.
Generated by: scripts/coccinelle/misc/boolreturn.cocci
CC: Varun Prakash <varun@xxxxxxxxxxx>
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 85b9909272f128757dcb6d053ca12e15931747d4
Author: WANG Cong <xiyou.wangcong@xxxxxxxxx>
Date: Wed Mar 25 14:45:02 2015 -0700
fib6: install fib6 ops in the last step
We should not commit the new ops until we finish
all the setup, otherwise we have to NULL it on failure.
Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e3a2be3030e2fec27a2577d3c52203da090a4366
Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx>
Date: Sun Mar 29 16:03:25 2015 +0200
spi: bcm2835: fill FIFO before enabling interrupts to reduce
interrupts/message
To reduce the number of interrupts/message we fill the FIFO before
enabling interrupts - for short messages this reduces the interrupt count
from 2 to 1 interrupt.
There have been rare cases where short (<200ns) chip-select switches with
native CS have been observed during such operation, this is why this
optimization is only enabled for GPIO-CS.
Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx>
Tested-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 1e4df62d46fa45109123f2b265b2d8146031db16
Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx>
Date: Sun Mar 29 16:03:23 2015 +0200
spi: bcm2835: fix code formatting issue
Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx>
Tested-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 5798cd23f87a93a7f187c0314804b9a736a5319a
Author: Martin Kepplinger <martink@xxxxxxxxx>
Date: Sun Mar 29 01:59:49 2015 +0100
Documentation/ABI:iio:fix typo
Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit bad4d1a074c7ba29636b951520574e18aec4c7fe
Author: Vianney le Clément de Saint-Marcq <vianney.leclement@xxxxxxxxxxxxx>
Date: Tue Mar 24 16:54:15 2015 +0100
iio: mlx90614: Support devices with dual IR sensor
The model is detected by reading the EEPROM configuration during
probing.
Signed-off-by: Vianney le Clément de Saint-Marcq
<vianney.leclement@xxxxxxxxxxxxx>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@xxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit 209c00691938c4b3d58142b05ca6f50b8971e521
Author: Vianney le Clément de Saint-Marcq <vianney.leclement@xxxxxxxxxxxxx>
Date: Tue Mar 24 16:54:14 2015 +0100
iio: mlx90614: Add symbols for accessible registers
Add symbols for all accessible RAM and EEPROM registers, as well as the
sleep command and timings defined in the datasheet.
Signed-off-by: Vianney le Clément de Saint-Marcq
<vianney.leclement@xxxxxxxxxxxxx>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@xxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit 3bbec9773389112330954a6a64422eaa78d546c1
Author: Octavian Purdila <octavian.purdila@xxxxxxxxx>
Date: Sun Mar 22 20:33:40 2015 +0200
iio: bmc150_accel: add support for hardware fifo
We only advertise hardware fifo support if the I2C bus supports full
I2C or smbus I2C block data reads since it is mandatory to read the
full frame in one read (otherwise the rest of the frame is discarded).
The hardware fifo is enabled only when triggers are not active because:
(a) when using the any-motion trigger the user expects to see samples
based on ROC events, but the fifo stores samples based on the sample
frequency
(b) the data-ready trigger is waking the CPU for for every sample, so
using the hardware fifo does not have any benefit
Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx>
Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit f4f4673b7535eff4ee1a8cfb1685fa1e1a0cb79d
Author: Octavian Purdila <octavian.purdila@xxxxxxxxx>
Date: Sun Mar 22 20:33:39 2015 +0200
iio: add support for hardware fifo
Some devices have hardware buffers that can store a number of samples
for later consumption. Hardware usually provides interrupts to notify
the processor when the FIFO is full or when it has reached a certain
watermark level. This helps with reducing the number of interrupts to
the host processor and thus it helps decreasing the power consumption.
This patch enables usage of hardware FIFOs for IIO devices in
conjunction with software device buffers. When the hardware FIFO is
enabled the samples are stored in the hardware FIFO. The samples are
later flushed to the device software buffer when the number of entries
in the hardware FIFO reaches the hardware watermark or when a flush
operation is triggered by the user when doing a non-blocking read
on an empty software device buffer.
In order to implement hardware FIFO support the device drivers must
implement the following new operations: setting and getting the
hardware FIFO watermark level, flushing the hardware FIFO to the
software device buffer. The device must also expose information about
the hardware FIFO such it's minimum and maximum watermark and if
necessary a list of supported watermark values. Finally, the device
driver must activate the hardware FIFO when the device buffer is
enabled, if the current device settings allows it.
The software device buffer watermark is passed by the IIO core to the
device driver as a hint for the hardware FIFO watermark. The device
driver can adjust this value to allow for hardware limitations (such
as capping it to the maximum hardware watermark or adjust it to a
value that is supported by the hardware). It can also disable the
hardware watermark (and implicitly the hardware FIFO) it this value is
below the minimum hardware watermark.
Since a driver may support hardware FIFO only when not in triggered
buffer mode (due to different semantics of hardware FIFO sampling and
triggered sampling) this patch changes the IIO core code to allow
falling back to non-triggered buffered mode if no trigger is enabled.
Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx>
Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit 37d3455672732b29a477732a94abfe95e199f0ce
Author: Josselin Costanzi <josselin.costanzi@xxxxxxxxxxxxxxxxx>
Date: Sun Mar 22 20:33:38 2015 +0200
iio: add watermark logic to iio read and poll
Currently the IIO buffer blocking read only wait until at least one
data element is available.
This patch makes the reader sleep until enough data is collected before
returning to userspace. This should limit the read() calls count when
trying to get data in batches.
Co-author: Yannick Bedhomme <yannick.bedhomme@xxxxxxxxxxxxxxxxx>
Signed-off-by: Josselin Costanzi <josselin.costanzi@xxxxxxxxxxxxxxxxx>
[rebased and remove buffer timeout]
Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx>
Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit a2166ca5f3204794e8b59f01c93a0f1564e3e138
Merge: 37791b6 01218bf
Author: Grant Likely <grant.likely@xxxxxxxxxx>
Date: Sun Mar 29 08:59:58 2015 +0100
Merge remote-tracking branch 'robh/for-next' into devicetree/next
Conflicts:
drivers/of/unittest.c
commit 37791b6fbe7ab772020e714d34515f144fa981a0
Author: Grant Likely <grant.likely@xxxxxxxxxx>
Date: Fri Mar 27 20:30:04 2015 -0700
of/unittest: Fix of_platform_depopulate test case
The previous commit, "of/unittest: early return from test skips tests"
exposed broken tests for the of_platform_unpopulate() function. The
problem was the populate and depopulate calls were not symmetrical like
they were intended to be, and unpopulate depends on the parent device to
have it's of_node pointer pointing to the parent device node. Fix these
bugs so that the test case works correctly.
In the process, the test_bus used as a container for the test devices
has been changed from a statically allocated struct device (which is
bad) to a properly allocated device with a .release() method (which is
good). This stops the test code from being a bad example of abusing the
device model.
Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx>
Cc: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx>
Cc: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx>
Cc: Pawel Moll <pawel.moll@xxxxxxx>
commit 716e1d493a8717251158c708b2f161017bdcb3f9
Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx>
Date: Fri Mar 13 23:57:40 2015 -0700
of/unittest: early return from test skips tests
Fix bugs pointed out by checkpatch: Mis-coding of two if statements
caused early return from function.
Number of tests completed increased from 102 to 107.
Number of tests failed increased from 0 to 2.
Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx>
Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx>
commit c8547119ce54ef6d3c0685ef3837514fa6e11d28
Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx>
Date: Sat Mar 14 00:04:24 2015 -0700
of/unittest: breadcrumbs to reduce pain of future maintainers
Fix warnings pointed out by checkpatch.
Checkpatch warns: externs should be avoided in .c files
Reducing pain for future maintainers - adding a comment so that anyone
trying
to find where the extern data is created will be able to find it.
(grep will not find that location)
Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx>
Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx>
commit 3db316d00bfa60c673c54f27cd5edc329a3b28b5
Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx>
Date: Sat Mar 14 00:02:31 2015 -0700
of/unittest: reduce checkpatch noise - line after declarations
Fix warnings pointed out by checkpatch.
No bug fixes, but reduce the number of checkpatch warnings so that future
problems will stand out better.
Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx>
Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx>
commit a6bb121e16ae1e1cedc8cf37616a4d13c5a9a65b
Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx>
Date: Fri Mar 13 23:59:01 2015 -0700
of/unittest: typo in error string
Fix bug pointed out by checkpatch.
Splitting string incorrectly removed a space between two words.
Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx>
Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx>
commit afaed7a993ceae468dabdbbda8a5eaf3e41b7a69
Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx>
Date: Sat Mar 14 00:00:36 2015 -0700
of/unittest: add const where needed
Fix warnings pointed out by checkpatch.
No bugs fixed, but the test code should be a good example of how to use
the devicetree API.
Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx>
Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx>
commit 3eb46a1da78dfff0c9e03313e11ee99841a9efdb
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 18 22:25:46 2015 +0300
of_net: factor out repetitive code from of_get_mac_address()
of_get_mac_address() basically does the same thing thrice, every time
with a
different property name, so it makes sense to factor out the
repetitive code
into separate function. While at it, we can start using ETH_ALEN instead
of the
bare number and drop unnecessary parens around the property length check.
The resulting ARM object file is 100 bytes less in size than before the
patch.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Acked-by: David S. Miller <davem@xxxxxxxxxxxxx>
Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx>
commit 20fa110a54d8070a7d68fb44a6c0ea2d8b09fddc
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Mar 28 15:32:52 2015 -0700
Bluetooth: Remove superfluous extra empty line between functions
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 57b0d3e8e7d570b693a1a253c637308130134a23
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Mar 28 15:18:59 2015 -0700
Bluetooth: Fix error returns for Read Local OOB Extended Data commands
The Read Local OOB Extended Data commands are required to return the
address type and the data length at least. However currently the error
returns only the address type.
To fix this and avoid any extra allocations or stack memory, rearrange
the code so that the same path can be used for error returns.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit efcd8c98e0d195c09fd9141a7af32dd83e62a5cb
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sat Mar 28 15:18:58 2015 -0700
Bluetooth: Move memory location outside of hci_dev lock
Taking the hci_dev lock for just a memory allocation seems a bit too
much and not really needed. So instead try to allocate the memory first
and then take the lock.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit 271c865161c57cfabca45b93eaa712b19da365bc
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Mar 27 12:46:12 2015 +1030
Add virtio-input driver.
virtio-input is basically evdev-events-over-virtio, so this driver isn't
much more than reading configuration from config space and forwarding
incoming events to the linux input layer.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
commit 880897d4c9eedd69b33b9905a6919e3e4f58eae8
Author: Arman Uguray <armansito@xxxxxxxxxxxx>
Date: Sat Mar 28 12:39:00 2015 -0700
Bluetooth: Update adv. parameters when conn. setting changes
This patch fixes a bug where the advertising parameters weren't updated
after a call to "Set Connectable" if the HCI_ADVERTISING_INSTANCE
setting was set.
Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit c7d4883b0684a732af779f88768c57ab006ce3a1
Author: Arman Uguray <armansito@xxxxxxxxxxxx>
Date: Sat Mar 28 12:38:59 2015 -0700
Bluetooth: Use ADV_SCAN_IND for adv. instances
With this patch, ADV_SCAN_IND will be used for advertising instances
that have non-zero scan response data while the global "connectable"
setting is "off".
Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit faccb950f7170c37c9c2e1f82a6e33cd7a23a5c9
Author: Arman Uguray <armansito@xxxxxxxxxxxx>
Date: Sat Mar 28 12:38:58 2015 -0700
Bluetooth: Fix using global connectable settings for adv
This patch fixes a bug where ADV_NONCONN_IND was being used for
advertising instances >0 while the global connectable setting was
set to "on".
Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 600b21507eb64bcd85bb87d06c2c2c451b565f02
Author: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Date: Sat Mar 28 11:17:36 2015 +0200
Bluetooth: Fix race condition with HCI_RESET flag
During the HCI init phase a completed request might be the last part of
the setup procedure after which the actual init procedure starts. The
init procedure begins with a call to hci_reset_req() which sets the
HCI_RESET flag. The purpose of this flag is to make us ignore any
updates to ncmd/cmd_cnt as long as we haven't received the command
complete event for the HCI_Reset. There's a potential race with this
however:
hci_req_cmd_complete(hdev, opcode, status);
if (ev->ncmd && !test_bit(HCI_RESET, &hdev->flags)) {
atomic_set(&hdev->cmd_cnt, 1);
if (!skb_queue_empty(&hdev->cmd_q))
queue_work(hdev->workqueue, &hdev->cmd_work);
}
Since the hci_req_cmd_complete() will trigger the completion of the
setup stage, it's possible that hci_reset_req() gets called before we
try to read ev->ncmd and the HCI_RESET flag. Because of this the cmd_cnt
would never be updated and the hci_reset_req() in practice ends up
blocking itself.
This patch fixes the issue by updating cmd_cnt before notifying the
request completion, and then reading it again to determine whether the
cmd_work should be queued or not.
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 15955e70320bdc5d60b153a572ee4d89ab34e3d3
Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Date: Wed Mar 25 11:44:14 2015 +0100
ARM: 8328/1: remove empty preprocessor #else branch
When the patch for e16343c47e42 (ARM: 8160/1: drop warning about
return_address not using unwind tables) was created there was still more
code in said branch. Probably this simplification was just missed during
conflict resolution when the patch was applied.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit c20611df13c3e3070607c267cf781ba8645a185e
Author: Joachim Eastwood <manabian@xxxxxxxxx>
Date: Wed Mar 25 08:47:18 2015 +0100
ARM: 8327/1: zImage: add support for ARMv7-M
This patch makes it possible to enter zImage in Thumb mode for ARMv7-M
(Cortex-M) CPUs that do not support ARM mode. The kernel entry is also
made in Thumb mode.
[ukl: fix spelling in commit log, return early in call_cache_fn]
Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx>
Tested-by: Stefan Agner <stefan@xxxxxxxx>
Tested-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx>
Tested-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 8defb3367fcd19d1af64c07792aade0747b54e0f
Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Date: Fri Mar 20 15:42:27 2015 +0100
ARM: 8320/1: fix integer overflow in ELF_ET_DYN_BASE
Usually ELF_ET_DYN_BASE is 2/3 of TASK_SIZE. With 3G/1G user/kernel
split this is not so, because 2*TASK_SIZE overflows 32 bits,
so the actual value of ELF_ET_DYN_BASE is:
(2 * TASK_SIZE / 3) = 0x2a000000
When ASLR is disabled PIE binaries will load at ELF_ET_DYN_BASE address.
On 32bit platforms AddressSanitzer uses addresses [0x20000000 -
0x40000000]
for shadow memory [1]. So ASan doesn't work for PIE binaries when ASLR
disabled
as it fails to map shadow memory.
Also after Kees's 'split ET_DYN ASLR from mmap ASLR' patchset PIE binaries
has a high chance of loading somewhere in between [0x2a000000 -
0x40000000]
even if ASLR enabled. This makes ASan with PIE absolutely incompatible.
Fix overflow by dividing TASK_SIZE prior to multiplying.
After this patch ELF_ET_DYN_BASE equals to (for CONFIG_VMSPLIT_3G=y):
(TASK_SIZE / 3 * 2) = 0x7f555554
[1]
https://code.google.com/p/address-sanitizer/wiki/AddressSanitizerAlgorithm#Mapping
Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Reported-by: Maria Guseva <m.guseva@xxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit a092aedb8115c16cb49bc64dd09cb20471ff942b
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Mar 19 19:04:05 2015 +0100
ARM: 8319/1: advertise availability of v8 Crypto instructions
When running the 32-bit ARM kernel on ARMv8 capable bare metal (e.g.,
32-bit Android userland and kernel on a Cortex-A53), or as a KVM guest
on a 64-bit host, we should advertise the availability of the Crypto
instructions, so that userland libraries such as OpenSSL may use them.
(Support for the v8 Crypto instructions in the 32-bit build was added
to OpenSSL more than six months ago)
This adds the ID feature bit detection, and sets elf_hwcap2 accordingly.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit b8c9592b4a6c93211c8163888a97880d608503b5
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Thu Mar 19 19:03:25 2015 +0100
ARM: 8318/1: treat CPU feature register fields as signed quantities
The various CPU feature registers consist of 4-bit blocks that
represent signed quantities, whose positive values represent
incremental features, and whose negative values are reserved.
To improve forward compatibility, update the feature detection
code to take possible future higher values into account, but
ignore negative values.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit eb765c1ceb275b839ec67ff5779148b9298369c2
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Wed Mar 18 07:35:01 2015 +0100
ARM: 8317/1: move the .idmap.text section closer to .head.text
This moves the .idmap.text section closer to .head.text, so that
relative branches are less likely to go out of range if the kernel
text gets bigger.
Acked-by: Nicolas Pitre <nico@xxxxxxxxxx>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit bf35706f3d0929b413e90b32cf9dd453f200a570
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Wed Mar 18 07:29:32 2015 +0100
ARM: 8314/1: replace PROCINFO embedded branch with relative offset
This patch replaces the 'branch to setup()' instructions embedded
in the PROCINFO structs with the offset to that setup function
relative to the base of the struct. This preserves the position
independent nature of that field, but uses a data item rather
than an instruction.
This is mainly done to prevent linker failures on large kernels,
where the setup function is out of reach for the branch.
Acked-by: Nicolas Pitre <nico@xxxxxxxxxx>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 4ce7ca89d6e8eae9e201cd0e972ba323f33e2fb4
Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Date: Sat Mar 28 12:07:14 2015 +0530
iio: imu: Use iio_trigger_get for indio_dev->trig assignment
This patch uses iio_trigger_get to increment the reference
count of trigger device, to avoid incorrect assignment.
Can result in a null pointer dereference during removal if the
trigger has been changed before removal.
This patch refers to a similar situation encountered through the
following discussion:
http://www.spinics.net/lists/linux-iio/msg13669.html
Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Cc: <Stable@xxxxxxxxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit f54e9f2be312a4e71b54aea865b2e33ccb95ef0c
Author: Stefan Agner <stefan@xxxxxxxx>
Date: Tue Mar 24 13:47:47 2015 +0100
iio: adc: vf610: use ADC clock within specification
Depending on conversion mode used, the ADC clock (ADCK) needs
to be below a maximum frequency. According to Vybrid's data
sheet this is 20MHz for the low power conversion mode.
The ADC clock is depending on input clock, which is the bus
clock by default. Vybrid SoC are typically clocked at at 400MHz
or 500MHz, which leads to 66MHz or 83MHz bus clock respectively.
Hence, a divider of 8 is required to stay below the specified
maximum clock of 20MHz.
Due to the different bus clock speeds, the resulting sampling
frequency is not static. Hence use the ADC clock and calculate
the actual available sampling frequency dynamically.
This fixes bogous values observed on some 500MHz clocked Vybrid
SoC. The resulting value usually showed Bit 9 being stuck at 1,
or 0, which lead to a value of +/-512.
Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx>
Cc: <Stable@xxxxxxxxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit bbc45f3ab78edb8c97e563ddd351f851da47dab1
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Mar 16 22:27:10 2015 +0100
iio/adc/cc10001_adc.c: Fix !HAS_IOMEM build
Fixes:
drivers/built-in.o: In function `cc10001_adc_probe':
cc10001_adc.c:(.text+0x412e92): undefined reference to
`devm_ioremap_resource'
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit 9444a300c2be3ce6266462e3171ceb6636cc62e8
Author: Robert Dolca <robert.dolca@xxxxxxxxx>
Date: Mon Mar 23 15:40:25 2015 +0200
IIO: Add support for L3GD20H gyroscope
It can be used exactly like L3GD20 but it has a different WhoAmI
register value.
Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx>
Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit 4cd968ef4249fde24194b7b9a74be87dd7f8ed0f
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Sat Mar 28 21:35:17 2015 +1100
selftests/powerpc: Add a test of the switch_endian() syscall
This adds a test of the switch_endian() syscall we added in the previous
commit.
We test it by calling the endian switch syscall, and then executing some
code in the other endian to check everything went as expected. That code
checks registers we expect to be maintained are. If the endian switch
failed to happen that code sequence will be illegal and cause the test
to abort.
We then switch back to the original endian, do the same checks and
finally write a success message and exit(0).
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 529d235a0e190ded1d21ccc80a73e625ebcad09b
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Sat Mar 28 21:35:16 2015 +1100
powerpc: Add a proper syscall for switching endianness
We currently have a "special" syscall for switching endianness. This is
syscall number 0x1ebe, which is handled explicitly in the 64-bit syscall
exception entry.
That has a few problems, firstly the syscall number is outside of the
usual range, which confuses various tools. For example strace doesn't
recognise the syscall at all.
Secondly it's handled explicitly as a special case in the syscall
exception entry, which is complicated enough without it.
As a first step toward removing the special syscall, we need to add a
regular syscall that implements the same functionality.
The logic is simple, it simply toggles the MSR_LE bit in the userspace
MSR. This is the same as the special syscall, with the caveat that the
special syscall clobbers fewer registers.
This version clobbers r9-r12, XER, CTR, and CR0-1,5-7.
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit d9d7b990473889a17b0f54e860a65b141733799c
Author: Irina Tirdea <irina.tirdea@xxxxxxxxx>
Date: Fri Mar 27 13:53:00 2015 +0200
tools: iio: generic_buffer: Fix generic scale extraction
When using generic_buffer to read data, the scale is not properly
detected for scale shared by type. This is caused by a problem
with the generation of generic name out of the full name.
E.g.: for current->name in_accel_z, the extracted generic name
is "in" (when it should be "in_accel"). This is used in generic_buffer
to generate scale and offset paths (in_accel_scale).
Consider the in_ or out_ prefix when extracting the generic name
from the full name.
Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx>
Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit 8ea06893e66d03dc567845d65b42812efd71b9f3
Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Date: Sat Mar 28 03:02:39 2015 +0300
iio: Add ABI documentation for in_rot offset value
This patch adds ABI documentation entries for in_rot_offset.
At least one user for these is present that is the HID Sensors Driver.
Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit a878a1a61a1f0e4b23602ddd87b1408a7a748d0e
Author: Antonio Fiol <antonio@xxxxxxx>
Date: Sat Mar 28 09:07:14 2015 +0100
iio: max517: Add support for MAX520 and MAX521 chips.
MAX520 and MAX521 are protocol-compatible with the already supported
chips, just have more channels.
Signed-off-by: Antonio Fiol <antonio@xxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit 7253606d383954c5b0470b5f27fbcedeec2e6d72
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Mon Mar 16 20:17:15 2015 +0100
iio: constify of_device_id array
of_device_id is always used as const.
(See driver.of_match_table and open firmware functions)
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit 7cf78db585b13d5f43e5108cca6cdc5d9682793a
Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Date: Mon Mar 16 17:18:20 2015 +0530
iio: Add ABI documentation for illuminance raw and scale values in light
This patchset adds ABI documentation for the following attributes:
in_illuminance_scale, used atleast once in al3320a staging/iio/light/
in_illuminance_calibscale, used atleast once in cm32181
in_illuminance_input, used in cm3232 at least once
in_illuminance_raw used atleast once in al3320a
in_illuminance_clear_raw and in_illuminance_ir_raw exposed by
gp2ap020a00f with modifiers IIO_MOD_LIGHT_CLEAR and
IIO_MOD_LIGHT_IR respectively.
Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit 3acddf74f807778f0593ab4aaf26189c93e55ff1
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Wed Mar 18 10:52:06 2015 +0100
iio: st-sensors: add support for lis3lv02d accelerometer
This adds support for the LIS3LV02 accelerometer found in the
ST Microelectronics Nomadik board series.
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: Denis CIOCCA <denis.ciocca@xxxxxx>
Acked-by: Lee Jones <lee.jones@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
commit 6331c686e664909988ecc35b040e1e96c137f5e0
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Fri Mar 27 15:11:41 2015 -0700
Bluetooth: btusb: Consolidate Broadcom based device entries
For all modern Bluetooth USB devices from Broadcom it makes a lot more
sense to use USB_VENDOR_AND_INTERFACE_INFO instead of manually adding
USB_DEVICE for each one of them. There are already interface entries
for these vendors and so just remove the duplicate device entries.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit a5ed1ad07b3a75894311e12fdd401bf64d0667fe
Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 23 14:16:38 2015 +1100
drivers/of: Add empty ranges quirk for PA-Semi
The "sdc" node is missing the ranges property, it needs to be treated
as having an empty one otherwise translation fails for its children.
Fixes 746c9e9f92dd, "of/base: Fix PowerPC address parsing hack"
Tested-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx>
Cc: Stable <stable@xxxxxxxxxxxxxxx> # v3.18+
commit 121c92cad33db29685f09e11c892b99c1b87ce7d
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Fri Jan 23 17:10:04 2015 +0100
of: Allow selection of OF_DYNAMIC and OF_OVERLAY if OF_UNITTEST
Currently OF_DYNAMIC and OF_OVERLAY are not visible to the user, and are
selected automatically only when needed.
Allow them to be enabled manually to improve device tree unit test
coverage.
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx>
commit 0384e8c6c6fa49dae44ffad31958e9b897da0160
Author: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx>
Date: Wed Jan 21 19:05:57 2015 +0200
of: Empty node & property flag accessors when !OF
Introduce empty node and property flag accessors when CONFIG_OF is not
defined. This allows us to use them without ifdef'ing them in places
where it makes sense to do so.
Signed-off-by: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx>
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx>
commit c03e73740d24fbe990291cd9ac2d6ae0d95b975f
Author: Tyrel Datwyler <tyreld@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 27 12:47:25 2015 -0700
powerpc/pseries: Simplify check for suspendability during
suspend/migration
During suspend/migration operation we must wait for the VASI state
reported
by the hypervisor to become Suspending prior to making the ibm,suspend-me
RTAS call. Calling routines to rtas_ibm_supend_me() pass a vasi_state
variable
that exposes the VASI state to the caller. This is unnecessary as the
caller
only really cares about the following three conditions; if there is an
error
we should bailout, success indicating we have suspended and woken back up
so
proceed to device tree update, or we are not suspendable yet so try
calling
rtas_ibm_suspend_me again shortly.
This patch removes the extraneous vasi_state variable and simply uses the
return code to communicate how to proceed. We either succeed, fail, or get
-EAGAIN in which case we sleep for a second before trying to call
rtas_ibm_suspend_me again. The behaviour of ppc_rtas() remains the same,
but migrate_store() now returns the propogated error code on failure.
Previously -1 was returned from migrate_store() in the failure case which
equates to -EPERM and was clearly wrong.
Signed-off-by: Tyrel Datwyler <tyreld@xxxxxxxxxxxxxxxxxx>
Cc: Nathan Fontenont <nfont@xxxxxxxxxxxxxxxxxx>
Cc: Cyril Bur <cyrilbur@xxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 956b200a846e324322f6211034c734c65a38e550
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Fri Mar 27 16:36:04 2015 -0700
spi: spidev: Warn loudly if instantiated from DT as "spidev"
Since spidev is a detail of how Linux controls a device rather than a
description of the hardware in the system we should never have a node
described as "spidev" in DT, any SPI device could be a spidev so this
is just not a useful description.
In order to help prevent users from writing such device trees generate a
warning if spidev is instantiated as a DT node without an ID in the match
table.
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit a9eaa8130707d4013fb109b80323489c0d0111ac
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Fri Oct 17 08:17:03 2014 -0700
regulator: Ensure unique regulator debugfs directory names
If multiple regulator devices of the same type exist in a system,
the regulator driver assigns generic names for the regulators it
provides, and debugfs is enabled, the regulator subsystem attempts
to create multiple entries with the same name in the regulator debugfs
directory. This fails for all but the first regulator, resulting in
multiple "Failed to create debugfs directory" log entries.
To avoid the problem, prepend the debugfs directory name for a regulator
with its parent device name if available, but only if no explicit
regulator name was provided.
Cc: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 3b7843ff618f63d1776abd71de7eea9130987037
Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Date: Thu Mar 26 04:02:51 2015 +0000
ASoC: rsnd: add DPCM based sampling rate convert
This patch supports DPCM based sampling rate convert on Renesas sound
driver. It assumes...
1. SRC is implemented as FE
2. BE dai_link supports .be_hw_params_fixup
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit b543b52a44c4e45283cd17721af1299049405136
Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Date: Thu Mar 26 04:02:32 2015 +0000
ASoC: rsnd: remove useless debug message
This patch removes useless debug message. especially some kind of
"probed" message will be printed from core.c if it has #define DEBUG
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit f8d04e7d91f86c61dbb096d81b99cd692b87fa19
Merge: af7e2be 2f78dd7
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Fri Mar 27 16:00:39 2015 -0700
Merge branch 'asoc-fix-rcar' into HEAD
commit 2f78dd7f40264697afed4c2ac0890df8f0588e49
Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Date: Thu Mar 26 04:02:09 2015 +0000
ASoC: rsnd: call clk_prepare/unprepare() in probe/remove
clk_prepare_enable()/clk_disable_unprepare() uses mutex inside,
in concretely clk_prepare()/clk_unprepare().And it uses __schedule().
Then, raw_spin_lock/unlock_irq() is called, and it breaks Renesas
sound driver's spin lock irq.
This patch separates thesse into clk_prepare()/clk_unprepare() and
clk_enable/clk_disable. And call clk_prepare()/clk_unprepare() from
probe/remove function. Special thanks to Das Biju.
Reported-by: Das Biju <biju.das@xxxxxxxxxxxxxx>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit af7e2be96623785816c1a6e521307b7af11ad016
Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Date: Thu Mar 26 04:01:46 2015 +0000
ASoC: rsrc-card: add .be_hw_params_fixup support for convert rate
Current rsnd-dpcm-card is supporting DPCM FE/BE sound card.
This patch adds .be_hw_params_fixup and enabled sampling convert rate.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 415f1cb29d3be865b034b528058c7115bc262f43
Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Date: Thu Mar 26 04:01:27 2015 +0000
ASoC: rsrc-card: add Renesas sampling rate convert sound card support
Renesas sound card has "sampling rate convert" feature which
should be implemented via DPCM.
But, sound card driver point of view, it is difficult to add
this DPCM feature on simple-card driver. Especially, DT binding
support is very difficult.
This patch implements DPCM feature on DT as Renesas specific sound card.
This new driver is copied from current simple-card driver.
Main difference between simple-card and this driver are...
1. removed unused feature from simple-card
2. removed driver named prefix from DT property
3. CPU will be FE, CODEC will be BE with snd-soc-dummy
4. it supports sampling rate convert via .be_hw_params_fixup
5. board specific routing is implemented in driver
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 0a6a78b8b3c1c1757fbeca4bbf518e44c70c9e4b
Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
Date: Thu Mar 26 09:41:33 2015 +0000
ARM: add documentation for finding start of physical memory
Occasionally, there's a question about the method we use to find the
start of physical memory. Add some documentation so we don't have to
keep repeating outselves on the mailing list.
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit e5b61deb3af465f11db7e5e11944ba00a33ece1f
Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx>
Date: Wed Mar 25 19:16:05 2015 +0100
ARM: 8332/1: add CONFIG_VDSO Kconfig and Makefile bits
Allow users to enable the vdso in Kconfig; include the vdso in the
build if CONFIG_VDSO is enabled. Add 'vdso_install' target.
Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit ecf99a439105ebd0a507af1a9cd901a2e166bf9a
Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx>
Date: Wed Mar 25 19:15:08 2015 +0100
ARM: 8331/1: VDSO initialization, mapping, and synchronization
Initialize the VDSO page list at boot, install the VDSO mapping at
exec time, and update the data page during timer ticks. This code is
not built if CONFIG_VDSO is not enabled.
Account for the VDSO length when randomizing the offset from the
stack. The [vdso] and [vvar] pages are placed immediately following
the sigpage with separate _install_special_mapping calls.
We want to "penalize" systems lacking the arch timer as little
as possible. Previous versions of this code installed the VDSO
unconditionally and unmodified, making it a measurably slower way for
glibc to invoke the real syscalls on such systems. E.g. calling
gettimeofday via glibc goes from ~560ns to ~630ns on i.MX6Q.
If we can indicate to glibc that the time-related APIs in the VDSO are
not accelerated, glibc can continue to invoke the syscalls directly
instead of dispatching through the VDSO only to fall back to the slow
path.
Thus, if the architected timer is unusable for whatever reason, patch
the VDSO at boot time so that symbol lookups for gettimeofday and
clock_gettime return NULL. (This is similar to what powerpc does and
borrows code from there.) This allows glibc to perform the syscall
directly instead of passing control to the VDSO, which minimizes the
penalty. In my measurements the time taken for a gettimeofday call
via glibc goes from ~560ns to ~580ns (again on i.MX6Q), and this is
solely due to adding a test and branch to glibc's gettimeofday syscall
wrapper.
An alternative to patching the VDSO at boot would be to not install
the VDSO at all when the arch timer isn't usable. Another alternative
is to include a separate "dummy" vdso.so without gettimeofday and
clock_gettime, which would be selected at boot time. Either of these
would get cumbersome if the VDSO were to gain support for an API such
as getcpu which is unrelated to arch timer support.
Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 8512287a8165592466cb9cb347ba94892e9c56a5
Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx>
Date: Wed Mar 25 19:14:22 2015 +0100
ARM: 8330/1: add VDSO user-space code
Place VDSO-related user-space code in arch/arm/kernel/vdso/.
It is almost completely written in C with some assembly helpers to
load the data page address, sample the counter, and fall back to
system calls when necessary.
The VDSO can service gettimeofday and clock_gettime when
CONFIG_ARM_ARCH_TIMER is enabled and the architected timer is present
(and correctly configured). It reads the CP15-based virtual counter
to compute high-resolution timestamps.
Of particular note is that a post-processing step ("vdsomunge") is
necessary to produce a shared object which is architecturally allowed
to be used by both soft- and hard-float EABI programs.
The 2012 edition of the ARM ABI defines Tag_ABI_VFP_args = 3 "Code is
compatible with both the base and VFP variants; the user did not
permit non-variadic functions to pass FP parameters/results."
Unfortunately current toolchains do not support this tag, which is
ideally what we would use.
The best available option is to ensure that both EF_ARM_ABI_FLOAT_SOFT
and EF_ARM_ABI_FLOAT_HARD are unset in the ELF header's e_flags,
indicating that the shared object is "old" and should be accepted for
backward compatibility's sake. While binutils < 2.24 appear to
produce a vdso.so with both flags clear, 2.24 always sets
EF_ARM_ABI_FLOAT_SOFT, with no way to inhibit this behavior. So we
have to fix things up with a custom post-processing step.
In fact, the VDSO code in glibc does much less validation (including
checking these flags) than the code for handling conventional
file-backed shared libraries, so this is a bit moot unless glibc's
VDSO code becomes more strict.
Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 1713ce7c43755fe8b0f31ea317513129bf784909
Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx>
Date: Wed Mar 25 19:13:16 2015 +0100
ARM: 8329/1: miscellaneous vdso infrastructure, preparation
Define the layout of the data structure shared between kernel and
userspace.
Track the vdso address in the mm_context; needed for communicating
AT_SYSINFO_EHDR to the ELF loader.
Add declarations for arm_install_vdso; implementation is in a
following patch.
Define AT_SYSINFO_EHDR, and, if CONFIG_VDSO=y, report the vdso shared
object address via the ELF auxiliary vector.
Note - this adds the AT_SYSINFO_EHDR in a new user-visible header
asm/auxvec.h; this is consistent with other architectures.
Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
commit 209431eff8afb928d72200c79153165c7d860ca0
Author: Praneeth Bajjuri <praneeth@xxxxxx>
Date: Wed Mar 25 18:25:09 2015 -0500
ARM: DRA7: Enable Cortex A15 errata 798181
ARM errata 798181 is applicable for OMAP5/DRA7 based devices. So enable
the same in the build.
DRA7xx is based on Cortex-A15 r2p2 revision.
ARM Errata extract and workaround information is as below.
On Cortex-A15 (r0p0..r3p2) the TLBI*IS/DSB operations are not
adequately shooting down all use of the old entries. The
ARM_ERRATA_798181 option enables the Linux kernel workaround
for this erratum which sends an IPI to the CPUs that are running
the same ASID as the one being invalidated.
Signed-off-by: Praneeth Bajjuri <praneeth@xxxxxx>
Acked-by: Nishanth Menon <nm@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 7145074b374dd90a4512fe52c062b336b724f276
Merge: 19cc2de 4055eae
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri Mar 27 14:26:21 2015 -0700
Merge branch 'bcmgenet-next'
Petri Gynther says:
====================
net: bcmgenet: multiple Rx queues support
Final patch set to add support for multiple Rx queues:
1. remove priv->int0_mask and priv->int1_mask
2. modify Tx ring int_enable and int_disable vectors
3. simplify bcmgenet_init_dma()
4. tweak init_umac()
5. rework Tx NAPI code
6. rework Rx NAPI code
7. add support for multiple Rx queues
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4055eaefb3603a2a55305c81292379922a742131
Author: Petri Gynther <pgynther@xxxxxxxxxx>
Date: Wed Mar 25 12:35:16 2015 -0700
net: bcmgenet: add support for multiple Rx queues
Add support for multiple Rx queues:
1. Add NAPI context per Rx queue
2. Modify Rx interrupt and Rx NAPI code to handle multiple Rx queues
Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx>
Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3ab113399b633bacb500a903d2f96f25ded2226c
Author: Petri Gynther <pgynther@xxxxxxxxxx>
Date: Wed Mar 25 12:35:15 2015 -0700
net: bcmgenet: rework Rx NAPI code
Introduce new bcmgenet functions to handle the NAPI calls to:
netif_napi_add()
napi_enable()
napi_disable()
netif_napi_del()
Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx>
Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e2aadb4aa9fe4619a78dd925a4756535e9bf3d74
Author: Petri Gynther <pgynther@xxxxxxxxxx>
Date: Wed Mar 25 12:35:14 2015 -0700
net: bcmgenet: rework Tx NAPI code
Introduce new bcmgenet functions to handle the NAPI calls to:
netif_napi_add()
napi_enable()
napi_disable()
netif_napi_del()
Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx>
Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b2e97eca88f07d1a4dae691ad8d751ba1de15645
Author: Petri Gynther <pgynther@xxxxxxxxxx>
Date: Wed Mar 25 12:35:12 2015 -0700
net: bcmgenet: tweak init_umac()
Use more meaningful variable names int0_enable and int1_enable when
enabling bcmgenet interrupts.
For Rx default queue interrupts, use:
UMAC_IRQ_RXDMA_BDONE | UMAC_IRQ_RXDMA_PDONE
For Tx default queue interrupts, use:
UMAC_IRQ_TXDMA_BDONE | UMAC_IRQ_TXDMA_PDONE
Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx>
Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ebbd96fb2861f591df011cd0eac67dd367596cca
Author: Petri Gynther <pgynther@xxxxxxxxxx>
Date: Wed Mar 25 12:35:11 2015 -0700
net: bcmgenet: simplify bcmgenet_init_dma()
Do the two kcalloc() calls first, before proceeding into Rx/Tx DMA init.
Makes the error case handling much simpler.
Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx>
Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Reviewed-by: Jaedon Shin <jaedon.shin@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 9dbac28fc193e3972f566f120dce67d69a1df634
Author: Petri Gynther <pgynther@xxxxxxxxxx>
Date: Wed Mar 25 12:35:10 2015 -0700
net: bcmgenet: modify Tx ring int_enable and int_disable vectors
Remove unnecessary function parameter priv. Use ring->priv instead.
Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx>
Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit e412b1045c3bddd31e16f9e93d6843de2482be0c
Author: Petri Gynther <pgynther@xxxxxxxxxx>
Date: Wed Mar 25 12:35:09 2015 -0700
net: bcmgenet: remove priv->int0_mask and priv->int1_mask
Remove unused priv->int0_mask and priv->int1_mask.
Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx>
Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d952bd070f79b6dcbad52c03dbc41cbc8ba086c8
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Mon Dec 8 23:07:56 2014 +0000
MIPS: KVM: Wire up MSA capability
Now that the code is in place for KVM to support MIPS SIMD Architecutre
(MSA) in MIPS guests, wire up the new KVM_CAP_MIPS_MSA capability.
For backwards compatibility, the capability must be explicitly enabled
in order to detect or make use of MSA from the guest.
The capability is not supported if the hardware supports MSA vector
partitioning, since the extra support cannot be tested yet and it
extends the state that the userland program would have to save.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
Cc: linux-api@xxxxxxxxxxxxxxx
Cc: linux-doc@xxxxxxxxxxxxxxx
commit ab86bd600400357ffa0dfdb1797f587476d01352
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Dec 2 15:48:24 2014 +0000
MIPS: KVM: Expose MSA registers
Add KVM register numbers for the MIPS SIMD Architecture (MSA) registers,
and implement access to them with the KVM_GET_ONE_REG / KVM_SET_ONE_REG
ioctls when the MSA capability is enabled (exposed in a later patch) and
present in the guest according to its Config3.MSAP bit.
The MSA vector registers use the same register numbers as the FPU
registers except with a different size (128bits). Since MSA depends on
Status.FR=1, these registers are inaccessible when Status.FR=0. These
registers are returned as a single native endian 128bit value, rather
than least significant half first with each 64-bit half native endian as
the kernel uses internally.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
Cc: linux-api@xxxxxxxxxxxxxxx
Cc: linux-doc@xxxxxxxxxxxxxxx
commit c2537ed9fb8e17d713e5e67fcede047699d25814
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Fri Feb 6 10:56:27 2015 +0000
MIPS: KVM: Add MSA exception handling
Add guest exception handling for MIPS SIMD Architecture (MSA) floating
point exceptions and MSA disabled exceptions.
MSA floating point exceptions from the guest need passing to the guest
kernel, so for these a guest MSAFPE is emulated.
MSA disabled exceptions are normally handled by passing a reserved
instruction exception to the guest (because no guest MSA was supported),
but the hypervisor can now handle them if the guest has MSA by passing
an MSA disabled exception to the guest, or if the guest has MSA enabled
by transparently restoring the guest MSA context and enabling MSA and
the FPU.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
commit 2b6009d646887cac8888f1ce8694af0beefce88b
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Fri Feb 6 23:01:00 2015 +0000
MIPS: KVM: Emulate MSA bits in COP0 interface
Emulate MSA related parts of COP0 interface so that the guest will be
able to enable/disable MSA (Config5.MSAEn) once the MSA capability has
been wired up.
As with the FPU (Status.CU1) setting Config5.MSAEn has no immediate
effect if the MSA state isn't live, as MSA state is restored lazily on
first use. Changes after the MSA state has been restored take immediate
effect, so that the guest can start getting MSA disabled exceptions
right away for guest MSA operations. The MSA state is saved lazily too,
as MSA may get re-enabled in the near future anyway.
A special case is also added for when Status.CU1 is set while FR=0 and
the MSA state is live. In this case we are at risk of getting reserved
instruction exceptions if we try and save the MSA state, so we lose the
MSA state sooner while MSA is still usable.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
commit 539cb89fbdfe082d00be6f83d0f2140b7802151c
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Mar 5 11:43:36 2015 +0000
MIPS: KVM: Add base guest MSA support
Add base code for supporting the MIPS SIMD Architecture (MSA) in MIPS
KVM guests. MSA cannot yet be enabled in the guest, we're just laying
the groundwork.
As with the FPU, whether the guest's MSA context is loaded is stored in
another bit in the fpu_inuse vcpu member. This allows MSA to be disabled
when the guest disables it, but keeping the MSA context loaded so it
doesn't have to be reloaded if the guest re-enables it.
New assembly code is added for saving and restoring the MSA context,
restoring only the upper half of the MSA context (for if the FPU context
is already loaded) and for saving/clearing and restoring MSACSR (which
can itself cause an MSA FP exception depending on the value). The MSACSR
is restored before returning to the guest if MSA is already enabled, and
the existing FP exception die notifier is extended to catch the possible
MSA FP exception and step over the ctcmsa instruction.
The helper function kvm_own_msa() is added to enable MSA and restore
the MSA context if it isn't already loaded, which will be used in a
later patch when the guest attempts to use MSA for the first time and
triggers an MSA disabled exception.
The existing FPU helpers are extended to handle MSA. kvm_lose_fpu()
saves the full MSA context if it is loaded (which includes the FPU
context) and both kvm_lose_fpu() and kvm_drop_fpu() disable MSA.
kvm_own_fpu() also needs to lose any MSA context if FR=0, since there
would be a risk of getting reserved instruction exceptions if CU1 is
enabled and we later try and save the MSA context. We shouldn't usually
hit this case since it will be handled when emulating CU1 changes,
however there's nothing to stop the guest modifying the Status register
directly via the comm page, which will cause this case to get hit.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
commit 5fafd8748b366105e08c198892e9fe02ef15c021
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Mon Dec 8 23:07:56 2014 +0000
MIPS: KVM: Wire up FPU capability
Now that the code is in place for KVM to support FPU in MIPS KVM guests,
wire up the new KVM_CAP_MIPS_FPU capability.
For backwards compatibility, the capability must be explicitly enabled
in order to detect or make use of the FPU from the guest.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
Cc: linux-api@xxxxxxxxxxxxxxx
Cc: linux-doc@xxxxxxxxxxxxxxx
commit 379245cdf1d1efc1eccc38bf0cc985dae232123d
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Dec 2 15:48:24 2014 +0000
MIPS: KVM: Expose FPU registers
Add KVM register numbers for the MIPS FPU registers, and implement
access to them with the KVM_GET_ONE_REG / KVM_SET_ONE_REG ioctls when
the FPU capability is enabled (exposed in a later patch) and present in
the guest according to its Config1.FP bit.
The registers are accessible in the current mode of the guest, with each
sized access showing what the guest would see with an equivalent access,
and like the architecture they may become UNPREDICTABLE if the FR mode
is changed. When FR=0, odd doubles are inaccessible as they do not exist
in that mode.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
Cc: linux-api@xxxxxxxxxxxxxxx
Cc: linux-doc@xxxxxxxxxxxxxxx
commit 1c0cd66adbac8aa339b9521eceb18b00d1b0699e
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Fri Feb 6 10:56:27 2015 +0000
MIPS: KVM: Add FP exception handling
Add guest exception handling for floating point exceptions and
coprocessor 1 unusable exceptions.
Floating point exceptions from the guest need passing to the guest
kernel, so for these a guest FPE is emulated.
Also, coprocessor 1 unusable exceptions are normally passed straight
through to the guest (because no guest FPU was supported), but the
hypervisor can now handle them if the guest has its FPU enabled by
restoring the guest FPU context and enabling the FPU.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
commit 6cdc65e31d4f70561d71eeaf34a2a70ab68bf146
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Feb 3 13:59:38 2015 +0000
MIPS: KVM: Emulate FPU bits in COP0 interface
Emulate FPU related parts of COP0 interface so that the guest will be
able to enable/disable the following once the FPU capability has been
wired up:
- The FPU (Status.CU1)
- 64-bit FP register mode (Status.FR)
- Hybrid FP register mode (Config5.FRE)
Changing Status.CU1 has no immediate effect if the FPU state isn't live,
as the FPU state is restored lazily on first use. After that, changes
take place immediately in the host Status.CU1, so that the guest can
start getting coprocessor unusable exceptions right away for guest FPU
operations if it is disabled. The FPU state is saved lazily too, as the
FPU may get re-enabled in the near future anyway.
Any change to Status.FR causes the FPU state to be discarded and FPU
disabled, as the register state is architecturally UNPREDICTABLE after
such a change. This should also ensure that the FPU state is fully
initialised (with stale state, but that's fine) when it is next used in
the new FP mode.
Any change to the Config5.FRE bit is immediately updated in the host
state so that the guest can get the relevant exceptions right away for
single-precision FPU operations.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
commit 98e91b8457d81f53fab990fac6c57e2a43c47627
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Nov 18 14:09:12 2014 +0000
MIPS: KVM: Add base guest FPU support
Add base code for supporting FPU in MIPS KVM guests. The FPU cannot yet
be enabled in the guest, we're just laying the groundwork.
Whether the guest's FPU context is loaded is stored in a bit in the
fpu_inuse vcpu member. This allows the FPU to be disabled when the guest
disables it, but keeping the FPU context loaded so it doesn't have to be
reloaded if the guest re-enables it.
An fpu_enabled vcpu member stores whether userland has enabled the FPU
capability (which will be wired up in a later patch).
New assembly code is added for saving and restoring the FPU context, and
for saving/clearing and restoring FCSR (which can itself cause an FP
exception depending on the value). The FCSR is restored before returning
to the guest if the FPU is already enabled, and a die notifier is
registered to catch the possible FP exception and step over the ctc1
instruction.
The helper function kvm_lose_fpu() is added to save FPU context and
disable the FPU, which is used when saving hardware state before a
context switch or KVM exit (the vcpu_get_regs() callback).
The helper function kvm_own_fpu() is added to enable the FPU and restore
the FPU context if it isn't already loaded, which will be used in a
later patch when the guest attempts to use the FPU for the first time
and triggers a co-processor unusable exception.
The helper function kvm_drop_fpu() is added to discard the FPU context
and disable the FPU, which will be used in a later patch when the FPU
state will become architecturally UNPREDICTABLE (change of FR mode) to
force a reload of [stale] context in the new FR mode.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
commit b86ecb3766abd9138289ff2a18381d25b73f4622
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Mon Feb 9 16:35:20 2015 +0000
MIPS: KVM: Add vcpu_get_regs/vcpu_set_regs callback
Add a vcpu_get_regs() and vcpu_set_regs() callbacks for loading and
restoring context which may be in hardware registers. This may include
floating point and MIPS SIMD Architecture (MSA) state which may be
accessed directly by the guest (but restored lazily by the hypervisor),
and also dedicated guest registers as provided by the VZ ASE.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
commit c771607af959f282704268a209743560d3264eb3
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Jun 26 15:11:29 2014 +0100
MIPS: KVM: Add Config4/5 and writing of Config registers
Add Config4 and Config5 co-processor 0 registers, and add capability to
write the Config1, Config3, Config4, and Config5 registers using the KVM
API.
Only supported bits can be written, to minimise the chances of the guest
being given a configuration from e.g. QEMU that is inconsistent with
that being emulated, and as such the handling is in trap_emul.c as it
may need to be different for VZ. Currently the only modification
permitted is to make Config4 and Config5 exist via the M bits, but other
bits will be added for FPU and MSA support in future patches.
Care should be taken by userland not to change bits without fully
handling the possible extra state that may then exist and which the
guest may begin to use and depend on.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
commit 2211ee810ac6fdcdb42b7a126e20d1b4e5c55124
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Wed Mar 4 15:56:47 2015 +0000
MIPS: KVM: Simplify default guest Config registers
Various semi-used definitions exist in kvm_host.h for the default guest
config registers. Remove them and use the appropriate values directly
when initialising the Config registers.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
commit 7bd4acec42670a18b023392db6f4bfaa4dee179e
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Dec 2 15:47:04 2014 +0000
MIPS: KVM: Clean up register definitions a little
Clean up KVM_GET_ONE_REG / KVM_SET_ONE_REG register definitions for
MIPS, to prepare for adding a new group for FPU & MSA vector registers.
Definitions are added for common bits in each group of registers, e.g.
KVM_REG_MIPS_CP0 = KVM_REG_MIPS | 0x10000, for the coprocessor 0
registers.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
commit 58a115bcec06f2de26923bc13e88cb73b780ae41
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Jun 26 15:21:11 2014 +0100
MIPS: KVM: Drop pr_info messages on init/exit
The information messages when the KVM module is loaded and unloaded are
a bit pointless and out of line with other architectures, so lets drop
them.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
commit e93d4c159caaf746422c1af4c4f09fce9b456f8c
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Jun 26 13:47:22 2014 +0100
MIPS: KVM: Sort kvm_mips_get_reg() registers
Sort the registers in the kvm_mips_get_reg() switch by register number,
which puts ERROREPC after the CONFIG registers.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
commit 1068eaaf2f64ffb44d97fbaa9ff7a4662b76cf9e
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Thu Jun 26 13:56:52 2014 +0100
MIPS: KVM: Implement PRid CP0 register access
Implement access to the guest Processor Identification CP0 register
using the KVM_GET_ONE_REG and KVM_SET_ONE_REG ioctls. This allows the
owning process to modify and read back the value that is exposed to the
guest in this register.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
commit 0a5604272d80c985f87de959f0bb7e36fd53d3c7
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Fri Feb 6 16:03:57 2015 +0000
MIPS: KVM: Handle TRAP exceptions from guest kernel
Trap instructions are used by Linux to implement BUG_ON(), however KVM
doesn't pass trap exceptions on to the guest if they occur in guest
kernel mode, instead triggering an internal error "Exception Code: 13,
not yet handled". The guest kernel then doesn't get a chance to print
the usual BUG message and stack trace.
Implement handling of the trap exception so that it gets passed to the
guest and the user is left with a more useful log message.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: kvm@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
commit 64bedffe496820dbb6b53302d80dd0f04db33d8e
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Dec 2 13:44:13 2014 +0000
MIPS: Clear [MSA]FPE CSR.Cause after notify_die()
When handling floating point exceptions (FPEs) and MSA FPEs the Cause
bits of the appropriate control and status register (FCSR for FPEs and
MSACSR for MSA FPEs) are read and cleared before enabling interrupts,
presumably so that it doesn't have to go through the pain of restoring
those bits if the process is pre-empted, since writing those bits would
cause another immediate exception while still in the kernel.
The bits aren't normally ever restored again, since userland never
expects to see them set.
However for virtualisation it is necessary for the kernel to be able to
restore these Cause bits, as the guest may have been interrupted in an
FP exception handler but before it could read the Cause bits. This can
be done by registering a die notifier, to get notified of the exception
when such a value is restored, and if the PC was at the instruction
which is used to restore the guest state, the handler can step over it
and continue execution. The Cause bits can then remain set without
causing further exceptions.
For this to work safely a few changes are made:
- __build_clear_fpe and __build_clear_msa_fpe no longer clear the Cause
bits, and now return from exception level with interrupts disabled
instead of enabled.
- do_fpe() now clears the Cause bits and enables interrupts after
notify_die() is called, so that the notifier can chose to return from
exception without this happening.
- do_msa_fpe() acts similarly, but now actually makes use of the second
argument (msacsr) and calls notify_die() with the new DIE_MSAFP,
allowing die notifiers to be informed of MSA FPEs too.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
commit 98119ad53376885819d93dfb8737b6a9a61ca0ba
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Fri Feb 6 11:11:56 2015 +0000
MIPS: KVM: Handle MSA Disabled exceptions from guest
Guest user mode can generate a guest MSA Disabled exception on an MSA
capable core by simply trying to execute an MSA instruction. Since this
exception is unknown to KVM it will be passed on to the guest kernel.
However guest Linux kernels prior to v3.15 do not set up an exception
handler for the MSA Disabled exception as they don't support any MSA
capable cores. This results in a guest OS panic.
Since an older processor ID may be being emulated, and MSA support is
not advertised to the guest, the correct behaviour is to generate a
Reserved Instruction exception in the guest kernel so it can send the
guest process an illegal instruction signal (SIGILL), as would happen
with a non-MSA-capable core.
Fix this as minimally as reasonably possible by preventing
kvm_mips_check_privilege() from relaying MSA Disabled exceptions from
guest user mode to the guest kernel, and handling the MSA Disabled
exception by emulating a Reserved Instruction exception in the guest,
via a new handle_msa_disabled() KVM callback.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+
commit 8e6c94910320e8ff0f6a4f2fdd809f50289d2852
Merge: b3a2a90 1f3a2c6
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Fri Mar 27 19:03:40 2015 +0000
Merge branch '4.1-fp' of
git://git.linux-mips.org/pub/scm/ralf/upstream-sfr into kvm_mips_queue
MIPS FP/MSA fixes from the MIPS tree. Includes a fix to ensure that the
FPU is properly disabled by lose_fpu() when MSA is in use, and Paul
Burton's "FP/MSA fixes" patchset which is required for FP/MSA support in
KVM:
> This series fixes a bunch of bugs, both build & runtime, with FP & MSA
> support. Most of them only affect systems with the new FP modes & MSA
> support enabled but patch 6 in particular is more general, fixing
> problems for mips64 systems.
commit 19cc2dec8ab0fd258b023be1835aa8d710232877
Merge: 5a352dd 6772b65
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Fri Mar 27 14:18:52 2015 -0700
Merge branch 'xgene-next'
Iyappan Subramanian says:
====================
drivers: net: xgene: Add separate tx completion ring
SGMII based 1GbE and 10GbE interfaces support multiple interrupts.
Adding separate tx completion descriptor ring and associating a dedicated
irq for the TX completion.
====================
Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx>
Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx>
commit 6772b653f8c2fd0a54a23da28a0a761685deec85
Author: Iyappan Subramanian <isubramanian@xxxxxxx>
Date: Wed Mar 25 12:19:12 2015 -0700
drivers: net: xgene: Add separate tx completion ring
- Added wrapper functions around napi_add, napi_del, napi_enable and
napi_disable
- Moved platform_get_irq function call after reading phy_mode
- Associating the new irq to tx completion for the supported ethernet
interfaces
Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx>
Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit d31346494bd2b1185949dc64ab6467186b80fb05
Author: Iyappan Subramanian <isubramanian@xxxxxxx>
Date: Wed Mar 25 12:19:11 2015 -0700
dtb: xgene: Add interrupt for Tx completion
Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx>
Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7e7d638ab1542d22ff9b14e56f323e1f6cd25cf1
Author: Iyappan Subramanian <isubramanian@xxxxxxx>
Date: Wed Mar 25 12:19:10 2015 -0700
Documentation: dts: xgene: Update interrupt field description
Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx>
Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 5116ede10dc92d7a11a38fc59f545c24a33809cd
Author: Axel Lin <axel.lin@xxxxxxxxxx>
Date: Fri Mar 27 17:25:21 2015 +0800
ASoC: max98925: Fix bit-width 24 settings in max98925_dai_hw_params
Trivial typo fix.
Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx>
Anish Kumar <Anish.Kumar@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 1ff27a3443addb19af609245b218fa510c7d37dd
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date: Fri Mar 27 20:21:01 2015 +0100
drm/i915: Update DRIVER_DATE to 20150327
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 1f3a2c6e229ccb8df8115b04d16ad4832767cf3a
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Fri Jan 30 12:09:39 2015 +0000
MIPS: MSA: Fix big-endian FPR_IDX implementation
The maximum word size is 64-bits since MSA state is saved using st.d
which stores two 64-bit words, therefore reimplement FPR_IDX using xor,
and only within each 64-bit word.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9169/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 466aec5f292be469e15b3dc3d17b731dab93727c
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Fri Jan 30 12:09:38 2015 +0000
Revert "MIPS: Don't assume 64-bit FP registers for context switch"
This reverts commit 02987633df7ba2f62967791dda816eb191d1add3.
The basic premise of the patch was incorrect since MSA context
(including FP state) is saved using st.d which stores two consecutive
64-bit words in memory rather than a single 128-bit word. This means
that even with big endian MSA, the FP state is still in the first 64-bit
word.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9168/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 84ab45b33858a87632e1f5e207e302bf48eaf52e
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jan 30 12:09:37 2015 +0000
MIPS: disable FPU if the mode is unsupported
The expected semantics of __enable_fpu are for the FPU to be enabled
in the given mode if possible, otherwise for the FPU to be left
disabled and SIGFPE returned. The FPU was incorrectly being left
enabled in cases where the desired value for FR was unavailable.
Without ensuring the FPU is disabled in this case, it would be
possible for userland to go on to execute further FP instructions
natively in the incorrect mode, rather than those instructions being
trapped & emulated as they need to be.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9167/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit ac9ad83bc318635ed7496e9dff30beaa522eaec7
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jan 30 12:09:36 2015 +0000
MIPS: prevent FP context set via ptrace being discarded
If a ptracee has not used the FPU and the ptracer sets its FP context
using PTRACE_POKEUSR, PTRACE_SETFPREGS or PTRACE_SETREGSET then that
context will be discarded upon either the ptracee using the FPU or a
further write to the context via ptrace. Prevent this loss by recording
that the task has "used" math once its FP context has been written to.
The context initialisation code that was present for the PTRACE_POKEUSR
case is reused for the other 2 cases to provide consistent behaviour
for the different ptrace requests.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9166/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit ad70c13a938daf833cad86830f23865ee37aa5c7
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jan 30 12:09:35 2015 +0000
MIPS: Ensure FCSR cause bits are clear after invoking FPU emulator
When running the emulator to handle an instruction that raised an FP
unimplemented operation exception, the FCSR cause bits were being
cleared. This is done to ensure that the kernel does not take an FP
exception when later restoring FP context to registers. However, this
was not being done when the emulator is invoked in response to a
coprocessor unusable exception. This happens in 2 cases:
- There is no FPU present in the system. In this case things were
OK, since the FP context is never restored to hardware registers
and thus no FP exception may be raised when restoring FCSR.
- The FPU could not be configured to the mode required by the task.
In this case it would be possible for the emulator to set cause
bits which are later restored to hardware if the task migrates
to a CPU whose associated FPU does support its mode requirements,
or if the tasks FP mode requirements change.
Consistently clear the cause bits after invoking the emulator, by moving
the clearing to process_fpemu_return and ensuring this is always called
before the tasks FP context is restored. This will make it easier to
catch further paths invoking the emulator in future, as will be
introduced in further patches.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9165/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 091be550a70a086c3b4420c6155e733dc410f190
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jan 30 12:09:34 2015 +0000
MIPS: clear MSACSR cause bits when handling MSA FP exception
Much like for traditional scalar FP exceptions, the cause bits in the
MSACSR register need to be cleared following an MSA FP exception.
Without doing so the exception will simply be raised again whenever
the kernel restores MSACSR from a tasks saved context, leading to
undesirable spurious exceptions. Clear the cause bits from the
handle_msa_fpe function, mirroring the way handle_fpe clears the
cause bits in FCSR.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9164/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit e1bebbab1eaecac77d77033010b5e0f51b737e64
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jan 30 12:09:33 2015 +0000
MIPS: wrap cfcmsa & ctcmsa accesses for toolchains with MSA support
Uses of the cfcmsa & ctcmsa instructions were not being wrapped by a
macro in the case where the toolchain supports MSA, since the arguments
exactly match a typical use of the instructions. However using current
toolchains this leads to errors such as:
arch/mips/kernel/genex.S:437: Error: opcode not supported on this
processor: mips32r2 (mips32r2) `cfcmsa $5,1'
Thus uses of the instructions must be in the context of a ".set msa"
directive, however doing that from the users of the instructions would
be messy due to the possibility that the toolchain does not support
MSA. Fix this by renaming the macros (prepending an underscore) in order
to avoid recursion when attempting to emit the instructions, and provide
implementations for the TOOLCHAIN_SUPPORTS_MSA case which ".set msa" as
appropriate.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9163/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit a3a49810c55e3489dfb5d72a9b2e41ab1db9ffb9
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jan 30 12:09:32 2015 +0000
MIPS: remove MSA macro recursion
Recursive macros made the code more concise & worked great for the
case where the toolchain doesn't support MSA. However, with toolchains
which do support MSA they lead to build failures such as:
arch/mips/kernel/r4k_switch.S: Assembler messages:
arch/mips/kernel/r4k_switch.S:148: Error: invalid operands `insert.w
$w(0+1)[2],$1'
arch/mips/kernel/r4k_switch.S:148: Error: invalid operands `insert.w
$w(0+1)[3],$1'
arch/mips/kernel/r4k_switch.S:148: Error: invalid operands `insert.w
$w((0+1)+1)[2],$1'
arch/mips/kernel/r4k_switch.S:148: Error: invalid operands `insert.w
$w((0+1)+1)[3],$1'
...
Drop the recursion from msa_init_all_upper invoking the msa_init_upper
macro explicitly for each vector register.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9162/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit f23ce3883a30743a5b779dc6fb90ca8620688a23
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Jan 30 12:09:31 2015 +0000
MIPS: assume at as source/dest of MSA copy/insert instructions
Assuming at ($1) as the source or destination register of copy or
insert instructions:
- Simplifies the macros providing those instructions for toolchains
without MSA support.
- Avoids an unnecessary move instruction when at is used as the source
or destination register anyway.
- Is sufficient for the uses to be introduced in the kernel by a
subsequent patch.
Note that due to a patch ordering snafu on my part this also fixes the
currently broken build with MSA support enabled. The build has been
broken since commit c9017757c532 "MIPS: init upper 64b of vector
registers when MSA is first used", which this patch should have
preceeded.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9161/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 631afc65e8f4f845945ef9e90236d10cee601498
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Mar 27 17:00:03 2015 +0000
MIPS: Push .set mips64r* into the functions needing it
The {save,restore}_fp_context{,32} functions require that the assembler
allows the use of sdc instructions on any FP register, and this is
acomplished by setting the arch to mips64r2 or mips64r6
(using MIPS_ISA_ARCH_LEVEL_RAW).
However this has the effect of enabling the assembler to use mips64
instructions in the expansion of pseudo-instructions. This was done in
the (now-reverted) commit eec43a224cf1 "MIPS: Save/restore MSA context
around signals" which led to my mistakenly believing that there was an
assembler bug, when in reality the assembler was just emitting mips64
instructions. Avoid the issue for future commits which will add code to
r4k_fpu.S by pushing the .set MIPS_ISA_ARCH_LEVEL_RAW directives into
the functions that require it, and remove the spurious assertion
declaring the assembler bug.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
[james.hogan@xxxxxxxxxx: Rebase on v4.0-rc1 and reword commit message to
reflect use of MIPS_ISA_ARCH_LEVEL_RAW]
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9612/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit acaf6a97d623af123314c2f8ce4cf7254f6b2fc1
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Wed Feb 25 13:08:05 2015 +0000
MIPS: lose_fpu(): Disable FPU when MSA enabled
The lose_fpu() function only disables the FPU in CP0_Status.CU1 if the
FPU is in use and MSA isn't enabled.
This isn't necessarily a problem because KSTK_STATUS(current), the
version of CP0_Status stored on the kernel stack on entry from user
mode, does always get updated and gets restored when returning to user
mode, but I don't think it was intended, and it is inconsistent with the
case of only the FPU being in use. Sometimes leaving the FPU enabled may
also mask kernel bugs where FPU operations are executed when the FPU
might not be enabled.
So lets disable the FPU in the MSA case too.
Fixes: 33c771ba5c5d ("MIPS: save/disable MSA in lose_fpu")
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9323/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit a7a484bfca218f9671a3e3bc98851eab6b628310
Author: Alexander Aring <alex.aring@xxxxxxxxx>
Date: Thu Mar 26 12:46:30 2015 +0100
at86rf230: fix is_tx while error handling
This patch fix the error handling when is_tx is true. The error handling
tries to get the transceiver into RX_AACK_ON mode then we need to be
sure that is_tx is false.
Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 3ff7092bc83b50e831c43d83141084756f4e6ae1
Author: Alexander Aring <alex.aring@xxxxxxxxx>
Date: Thu Mar 26 12:46:29 2015 +0100
at86rf230: remove unnecessary spinlock
This spinlock isn't necessary because if we are in TX_ON/TX_ARET_ON
state the transceiver can't be interrupted e.g. by receiving a frame
when a SHR was detected. In this time the transceiver doesn't leave
the TX_ON/TX_ARET_ON state until the tx complete irq change the state
into RX_AACK_ON again. This means a receiving interrupt in state
TX_ON/TX_ARET_ON can't happen and is_tx is protected by transceiver.
Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 8bf9538a5de5f6496993fb294ef606e453232ea4
Author: Alexander Aring <alex.aring@xxxxxxxxx>
Date: Thu Mar 26 12:46:28 2015 +0100
mac802154: cleanup concurrent check
This patch cleanups the checking of different mac phy depended values by
handling depended mac settings per hw support flag in one condition.
Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 1006e3c93161431c81135b8a23fbfa69dcd43ab0
Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Date: Tue Feb 24 19:56:01 2015 -0800
CLK: Add binding document for Pistachio clock controllers
Add a device-tree binding document describing the four clock
controllers present on the IMG Pistachio SoC.
Signed-off-by: Damien Horsley <Damien.Horsley@xxxxxxxxxx>
Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Rob Herring <robh+dt@xxxxxxxxxx>
Cc: Pawel Moll <pawel.moll@xxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx>
Cc: Kumar Gala <galak@xxxxxxxxxxxxxx>
Cc: Mike Turquette <mturquette@xxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx>
Cc: James Hartley <james.hartley@xxxxxxxxxx>
Cc: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx>
Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9319/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit a6b188e50a6ad6fa4d2da163a44f21280cea01c2
Merge: 6248015 edec178
Author: Tony Lindgren <tony@xxxxxxxxxxx>
Date: Fri Mar 27 10:42:16 2015 -0700
Merge tag 'for-v4.1/omap-hwmod-a' of
git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into
omap-for-v4.1/soc
OMAP hwmod data changes for AM43xx and DRA7xx for v4.1
Add support for the AM43xx HDQ/1-wire driver and fix the GPTIMER data
for DRA7xx.
Note that I do not have AM43xx nor DRA7xx boards, and cannot test these
patches on those platforms.
Basic build, boot, and PM test logs are available at:
http://www.pwsan.com/omap/testlogs/omap-hwmod-a-for-v4.1/20150324185246/
commit 8cc7f33aadc8fb37b5a3f4c46f5fa83748a92a01
Author: Brian Norris <computersforpeace@xxxxxxxxx>
Date: Fri Mar 13 00:38:39 2015 -0700
mtd: spi-nor: factor out replace-able flash_{lock,unlock}
Flash lock/unlock is a flash-specific operations. Factor out a callback
for it to more readily support other vendors.
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
Tested-by: VIET NGA DAO <vndao@xxxxxxxxxx>
commit 373225510f9608150a18b3491e756fbf3f58ff24
Author: Bard Liao <bardliao@xxxxxxxxxxx>
Date: Fri Mar 27 20:19:09 2015 +0800
ASoC: rt5645: Restore HP depop setting in HP off
This driver will set RT5645_DEPOP_MAN bit in headphone power up
depop process. We need to restore it in headphone power down
process. Otherwise, we will get headphone noise when push button
function is enabled.
Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 1b5d0160e8f17db0714016a2550d3b1d65c70c3e
Author: Bard Liao <bardliao@xxxxxxxxxxx>
Date: Fri Mar 27 20:19:08 2015 +0800
ASoC: rt5645: Use update_bits for bit control
In codec bias level off, we need to disable gate mode with MCLK
for power saving. It is set by one bit. We don't need to write
while register for that.
Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit afefc12801e501fea90f1d9a678e0985f47dc1bf
Author: Bard Liao <bardliao@xxxxxxxxxxx>
Date: Fri Mar 27 20:19:07 2015 +0800
ASoC: rt5645: Set use_single_rw flag for regmap
RT5645 doesn't support auto incrementing writes so driver should set
the use_single_rw flag for regmap.
Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 57bf27365c56b547097253004768904419df6c69
Author: Bard Liao <bardliao@xxxxxxxxxxx>
Date: Fri Mar 27 20:19:06 2015 +0800
ASoC: rt5645: Redefine format config for rt5650
rt5650 and rt5645 use different register bits for format configuration.
This patch modifies rt5645_hw_params and rt5645_set_dai_fmt to support
both codecs.
Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 8c18d76bcba874e872410ca63c7e59b10aafa17d
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:40:07 2015 -0400
NFS: Block new writes while syncing data in nfs_getattr()
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 5bb89b4702e22981445ae01af733a57d1cae2018
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 14:14:42 2015 -0400
NFSv4.1/pnfs: Separate out metadata and data consistency for pNFS
The LAYOUTCOMMIT operation means different things to different layout
types.
For blocks and objects, it is both a data and metadata consistency
operation.
For files and flexfiles, it is only a metadata consistency operation.
This patch separates out the 2 cases, allowing the files/flexfiles layout
drivers to optimise away the data consistency calls to layoutcommit.
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 7140171ea9be4143736c35acf6f31b6feb195ca0
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 12:36:13 2015 -0400
NFSv4.1/pnfs: Ensure we send layoutcommit before return-on-close
We must not send a close or delegreturn that would result in a
return-on-close of the layout without ensuring that we've also
sent the necessary layoutcommit.
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit a0815d556d1cfb686b46995f86fb081f623fa720
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 18:58:53 2015 -0400
NFSv4.1/pnfs: Ensure that writes respect the O_SYNC flag when doing
O_DIRECT
If the caller does not specify the O_SYNC flag, then it is legitimate
to return from O_DIRECT without doing a pNFS layoutcommit operation.
However if the file is opened O_DIRECT|O_SYNC then we'd better get it
right.
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 9e1681c2e74bdd84bad6f74b47a4d88ad2f433df
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 17:23:31 2015 -0400
NFSv4: Truncating file opens should also sync O_DIRECT writes
We don't just want to sync out buffered writes, but also O_DIRECT ones.
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit d9dabc1a01656868d53a1d08309ca24d922b1376
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Thu Mar 26 15:55:49 2015 -0400
NFS: File unlock needs to be a metadata synchronisation point
File unlock needs to update both data and metadata on the NFS server
in order to act as a synchronisation point for other clients.
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 4d346bea8f0bf6d6351037899586a85435c15b9b
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:38:33 2015 -0400
NFS: Add a helper to sync both O_DIRECT and buffered writes
Then apply it to nfs_setattr() and nfs_getattr().
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 67af7611ec57dbcbc96f9d9daa4d3c7b0999aa73
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 20:40:38 2015 -0400
NFSv4.1/pnfs: Refactor pnfs_set_layoutcommit()
pnfs_set_layoutcommit() and pnfs_commit_set_layoutcommit() are 100%
identical
except for the function arguments. Refactor to eliminate the difference.
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 29559b11aef072f893cd32280dcec9d7380ca011
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 20:10:20 2015 -0400
NFSv4.1/pnfs: Fix setting of layoutcommit last write byte
If the NFS_INO_LAYOUTCOMMIT flag was unset, then we _must_ ensure that
we also reset the last write byte (lwb) for that layout. The current
code depends on us clearing the lwb when we clear NFS_INO_LAYOUTCOMMIT,
which is not the case when we call pnfs_clear_layoutcommit().
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 415320fc14eca40b564d1797e68895d15b51ac49
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 13:26:18 2015 -0400
NFSv4: Return the delegation before returning the layout in evict_inode()
Minor optimisation for the case where the layout has return-on-close
enabled.
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 81b79afb504870a31ee1f764e81a202685cde795
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 19:09:08 2015 -0400
NFSv4: Allow tracing of NFSv4 fsync calls
I appear to have missed this when adding the ftrace probes.
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 65dd82ae453f5290be0ea83ed0f23163ea49c0eb
Author: Johan Hovold <johan@xxxxxxxxxx>
Date: Fri Mar 27 17:33:38 2015 +0100
USB: f81232: fix some minor style issues
Fix some really minor coding-style issues.
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
commit fc87701b918c05c2d78f8191f5bc3c6c178bdb3d
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Mon Mar 9 17:25:14 2015 -0400
NFS: Fix free_deveiceid -> free_deviceid
Make it easier to grep for these functions by name.
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit df52699e4fcefe30ebe4f1db48bd161254a0b102
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Mon Mar 9 14:48:32 2015 -0400
NFSv4.1: Don't cache deviceids that have no notifications
The spec says that once all layouts that reference a given deviceid
have been returned, then we are only allowed to continue to cache
the deviceid if the metadata server supports notifications.
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 4e59080397faadee59d39ffa2116dc8607adc9c9
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Mon Mar 9 14:01:25 2015 -0400
NFSv4.1: Allow getdeviceinfo to return notification info back to caller
We are only allowed to cache deviceinfo if the server supports
notifications
and actually promises to call us back when changes occur. Right now, we
request those notifications, but then we don't check the server's reply.
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit fb1458f4578c8dc78dc124de2a58950a6d4e3492
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Mon Mar 9 15:37:00 2015 -0400
NFSv4.1: Cleanup - don't opencode nfs4_put_deviceid_node()
There really is no reason to do so.
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 84a80f62f71beac20a426709c04b49f2bd352291
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Mon Mar 9 15:23:35 2015 -0400
NFSv4.1: Convert pNFS deviceid to use kfree_rcu()
Use of synchronize_rcu() when unmounting and potentially freeing a lot
of deviceids is problematic. There really is no reason why we can't just
use kfree_rcu() here.
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 27842bb18b004a2802f4b3221c79ce638c4bf6ee
Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Date: Fri Mar 13 11:09:39 2015 -0700
mmc: Remove msm_sdcc driver
This driver is orphaned now that mach-msm has been removed.
Delete it.
Cc: Chris Ball <chris@xxxxxxxxxx>
Cc: David Brown <davidb@xxxxxxxxxxxxxx>
Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx>
Cc: Daniel Walker <dwalker@xxxxxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
commit 8c7b69ae430c449414b34230946ef707ea95dcc6
Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Date: Fri Mar 13 11:09:35 2015 -0700
gpio: Remove gpio-msm-v1 driver
This driver is orphaned now that mach-msm has been removed.
Delete it.
Cc: David Brown <davidb@xxxxxxxxxxxxxx>
Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx>
Cc: Daniel Walker <dwalker@xxxxxxxxxx>
Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
Cc: Alexandre Courbot <gnurou@xxxxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
commit c0c89fafa289ea241ba3fb22d6f583f8089a719e
Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Date: Fri Mar 13 11:09:34 2015 -0700
ARM: Remove mach-msm and associated ARM architecture code
The maintainers for mach-msm no longer have any plans to support
or test the platforms supported by this architecture[1]. Most likely
there aren't any active users of this code anyway, so let's
delete it.
[1] http://lkml.kernel.org/r/20150307031212.GA8434@xxxxxxxxxx
Cc: David Brown <davidb@xxxxxxxxxxxxxx>
Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx>
Cc: Daniel Walker <dwalker@xxxxxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
commit 96ee85c06515407453e2ac09d6fbdece0c791087
Author: Peter Hung <hpeter@xxxxxxxxx>
Date: Tue Mar 17 17:48:28 2015 +0800
USB: f81232: modify/add author
Add me to co-author and fix no '>' in greg kh's email
Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx>
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
commit 9e7d953bbf746cf704238965a716e0afcfe0f5f4
Author: Peter Hung <hpeter@xxxxxxxxx>
Date: Tue Mar 17 17:48:27 2015 +0800
USB: f81232: cleanup non-used define
We remove non-used define in this patch to avoid wrong usage.
Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx>
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
commit 88d35cffff83cc0b11d6e7a2bef73b602f156da0
Author: Peter Hung <hpeter@xxxxxxxxx>
Date: Tue Mar 17 17:48:26 2015 +0800
USB: f81232: clarify f81232_ioctl() and fix
We extract TIOCGSERIAL section in f81232_ioctl() to
f81232_get_serial_info()
to make it clarify.
Also we fix device type from 16654 to 16550A, and set it's baud_base
to 115200 (1.8432MHz/16).
Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx>
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
commit 8bb4ca6b56bdf65944d0848561ea8dcf53a87507
Author: Peter Hung <hpeter@xxxxxxxxx>
Date: Tue Mar 17 17:48:25 2015 +0800
USB: f81232: implement set_termios()
The original driver had do not any h/w change in driver.
This patch implements with configure H/W for
baud/parity/word length/stop bits functional in f81232_set_termios().
This patch also implement DTR/RTS control when baudrate B0.
We drop DTR/RTS when B0, otherwise enable it.
We are checking baudrate in set_termios() too, If baudrate larger then
115200,
it will be changed to 115200 and use tty_encode_baud_rate() to encode
into tty
Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx>
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
commit 94f87309fb12e3d41dbc56df899f3b357277d0bf
Author: Peter Hung <hpeter@xxxxxxxxx>
Date: Tue Mar 17 17:48:24 2015 +0800
USB: f81232: implement port enable/disable method
We put FCR/IER initial step to f81232_port_enable()/f81232_port_disable().
When port is open, it set MSR interrupt on. Otherwise set it off.
Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx>
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
commit 691545fd92551baea6207781b33c95aa6444bf0d
Author: Peter Hung <hpeter@xxxxxxxxx>
Date: Tue Mar 17 17:48:23 2015 +0800
USB: f81232: implement MCR/MSR function
This patch implement relative MCR/MSR function, such like
tiocmget()/tiocmset()/dtr_rts()/carrier_raised()
original f81232_carrier_raised() compared with wrong value UART_DCD.
It's should compared with UART_MSR_DCD.
Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx>
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
commit 87fe5adcd8de001160d9208def72cc11f3780845
Author: Peter Hung <hpeter@xxxxxxxxx>
Date: Tue Mar 17 17:48:22 2015 +0800
USB: f81232: implement read IIR/MSR with endpoint
The interrupt endpoint will report current IIR. If we got IIR with MSR
changed
, We will do read MSR with interrupt_work worker to do f81232_read_msr()
function.
Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx>
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
commit 7139c932859f5b35b5a928b445e03f5a43610fa7
Author: Peter Hung <hpeter@xxxxxxxxx>
Date: Tue Mar 17 17:48:21 2015 +0800
USB: f81232: change lock mechanism
The original driver lock with spin_lock_irqsave()/spin_unlock_irqrestore()
because of it's maybe used in interrupt context f81232_process_read_urb().
We had remove it from previous patch "implement RX bulk-in EP", so we can
change it from busying loop spin_lock to sleepable mutex_lock.
Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx>
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
commit 8885078949fbb78c6be39ed2c653e4e883568e2f
Author: Peter Hung <hpeter@xxxxxxxxx>
Date: Tue Mar 17 17:48:20 2015 +0800
USB: f81232: implement RX bulk-in EP
The F81232 bulk-in is RX data + LSR channel, data format is
[LSR+Data][LSR+Data]..... , We had implemented in
f81232_process_read_urb().
Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx>
[johan: reword comment in process_read_urb ]
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
commit b830d07dc3f6891cd4788f651fa240d32fdbc068
Author: Peter Hung <hpeter@xxxxxxxxx>
Date: Tue Mar 17 17:48:19 2015 +0800
USB: f81232: rename private struct member name
Change private struct member name from line_status to modem_status.
It will store MSR for some functions used
Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx>
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
commit 2c0ed6349287a15f7be73bba00e520106087cd1b
Author: Lu, Han <han.lu@xxxxxxxxx>
Date: Fri Mar 27 15:03:57 2015 +0800
ASoC: Intel: fix warning reported by static check tool smatch
The smatch tool report warning:
...
CHECK sound/soc/intel/sst-haswell-pcm.c
sound/soc/intel/sst-haswell-pcm.c:1110 hsw_pcm_probe() error: buffer
overflow\
'hsw_dais' 4 <= 4
sound/soc/intel/sst-haswell-pcm.c:1112 hsw_pcm_probe() error: buffer
overflow\
'hsw_dais' 4 <= 4
...
fix it by use its own struct member for post-process module, rather than
sharing
unused pcm member.
Signed-off-by: Lu, Han <han.lu@xxxxxxxxx>
Acked-by: Jie Yang <yang.jie@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 5fcdfacc01f3a3415b75acb172cd75c9fe1cbda5
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 13:19:42 2015 -0400
NFSv4: Return delegations synchronously in evict_inode
Kinglong Mee reports that asynchronous delegations are being killed
by the call to rpc_shutdown_client() when unmounting. This can lead
to state leakage on the server until the client lease expires.
Reported-by: Kinglong Mee <kinglongmee@xxxxxxxxx>
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 0695314ef0920b745423510f1e96bf60415a404a
Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Date: Mon Mar 23 16:10:00 2015 -0400
SUNRPC: Fix a regression when reconnecting
If the task needs to give up the socket lock in order to allow a
reconnect to occur, then it must also clear the 'rq_bytes_sent' field
so that when it retransmits, it knows to start from the beginning.
Fixes: 718ba5b87343 ("SUNRPC: Add helpers to prevent socket create from
racing")
Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
commit 255c03d15a29a3ccb7a40d247f02bf38ba3f3592
Author: Hannes Reinecke <hare@xxxxxxx>
Date: Fri Mar 27 16:46:38 2015 +0100
libata: Add tracepoints
Add some tracepoints for ata_qc_issue, ata_qc_complete, and
ata_eh_link_autopsy.
Signed-off-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit a1524f226a02aa6edebd90ae0752e97cfd78b159
Author: Hannes Reinecke <hare@xxxxxxx>
Date: Fri Mar 27 16:46:37 2015 +0100
libata-eh: Set 'information' field for autosense
If NCQ autosense or the sense data reporting feature is enabled
the LBA of the offending command should be stored in the sense
data 'information' field.
Signed-off-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit fe7173c206de63fc28475ee6ae42ff95c05692de
Author: Hannes Reinecke <hare@xxxxxxx>
Date: Fri Mar 27 16:46:36 2015 +0100
libata: Implement support for sense data reporting
ACS-4 defines a sense data reporting feature set.
This patch implements support for it.
Signed-off-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit 42b966fbf35da9c87f08d98f9b8978edf9e717cf
Author: Hannes Reinecke <hare@xxxxxxx>
Date: Fri Mar 27 16:46:35 2015 +0100
libata: Implement NCQ autosense
Some newer devices support NCQ autosense (cf ACS-4), so we should
be using it to retrieve the sense code and speed up recovery.
Signed-off-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit 1308d7f0107b264b480e7048dc345fc6b7408e7e
Author: Hannes Reinecke <hare@xxxxxxx>
Date: Fri Mar 27 16:46:34 2015 +0100
libata: use status bit definitions in ata_dump_status()
Use the bit definitions for better readability.
Signed-off-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit 27f00e53af72702d3a9e6f75590e66fe04914149
Author: Hannes Reinecke <hare@xxxxxxx>
Date: Fri Mar 27 16:46:33 2015 +0100
ide,ata: Rename ATA_IDX to ATA_SENSE
ATA-8 defines bit 1 as 'ATA_SENSE', not 'ATA_IDX'.
Signed-off-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit 8ae720449fca4b1d0294c0a0204c0c45556a3e61
Author: Hannes Reinecke <hare@xxxxxxx>
Date: Fri Mar 27 16:46:32 2015 +0100
libata: whitespace fixes in ata_to_sense_error()
Signed-off-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit 825e2d878319faf75a0cd432fa92f290f6ffd130
Author: Hannes Reinecke <hare@xxxxxxx>
Date: Fri Mar 27 16:46:31 2015 +0100
libata: whitespace cleanup in ata_get_cmd_descript()
Signed-off-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit 9faa643855df6f673f08543576c759b82dd270d3
Author: Hannes Reinecke <hare@xxxxxxx>
Date: Fri Mar 27 16:46:30 2015 +0100
libata: use READ_LOG_DMA_EXT
If READ_LOG_DMA_EXT is supported we should try to use it for
reading the log pages.
Signed-off-by: Hannes Reinecke <hare@xxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit 3b10db23c0411524357c5834731df2e24897b53b
Author: Octavian Purdila <octavian.purdila@xxxxxxxxx>
Date: Fri Mar 27 17:37:10 2015 +0200
i2c: dln2: set the device tree node of the adapter
This patch makes sure the platform device tree node is inherited by
the adapter device. This allows the DLN2 bus to work with i2c devices
defined in the device tree.
Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit d9e1f4417a43cd0871253b2158eae07a48d656b5
Author: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Date: Tue Mar 17 03:51:13 2015 -0400
i2c: davinci: fixup wait_for_completion_timeout handling
wait_for_completion_timeout return 0 (timeout) or >=1 (completion) so the
check
for >= 0 is always true and can be dropped implying that r==-EREMOTEIO
and thus
the return of -EREMOTEIO can be done in the if (dev->buf_len) branch.
As wait_for_completion_timeout returns unsigned long not int, and int r
is
exclusively used for wait_for_completion_timeout it is renamed and the
type
changed to unsigned long.
Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Acked-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit 9c836d0c44798227a75c410cf33a76992cf93437
Author: Amit Tomar <Amit.Tomar@xxxxxxxxxxxxx>
Date: Fri Mar 27 18:19:00 2015 +0530
i2c: mpc: Fix ISR return value
ISR should not return IRQ_HANDLED for not handling anything.
This patch fixes the return value of ISR for the same case.
Signed-off-by: Amit Singh Tomar <amit.tomar@xxxxxxxxxxxxx>
Acked-by: Danielle Costantino <danielle.costantino@xxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit 98e982b3a29829b676b723e42c1184c87e5242d0
Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 23 09:26:39 2015 +0100
i2c: slave-eeprom: add more info when to increase the pointer
It is a bit subtle when to correctly increase the buffer index when
reading. Make this clearer by adding some more comments and pointers to
the docs.
Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit d0c892f59c918535f902caea63637af87d931d91
Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 23 09:26:38 2015 +0100
i2c: slave: add documentation for i2c-slave-eeprom
Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit 7c6037508357b553670a713ec537b8a76941b952
Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 23 09:26:37 2015 +0100
Documentation: i2c: describe the new slave mode
Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit 5b77d162a3d7359a8a8d83776720da065bf4e77b
Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 23 09:26:36 2015 +0100
i2c: slave: rework the slave API
After more discussion, brave users, and additional datasheet evaluation,
some API updates for the new I2C slave framework became imminent. The
slave events now get some easier to understand naming. Also, the event
handling has been simplified to only need a single call to the slave
callback when an action by the backend is required.
Reported-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
commit 7ef5f82b100716b23de7d2da6ff602b0842e5804
Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Date: Fri Mar 27 15:52:00 2015 +0200
drm: Rewrite drm_ioctl_flags() to resemble the new drm_ioctl() code
Use the same logic when checking for valid ioctl range in
drm_ioctl_flags() that is used in drm_ioctl() to avoid
confusion.
Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 53615af7a27400d252307093ce49768ccf6442a9
Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Date: Fri Mar 27 15:51:59 2015 +0200
drm: Use max() to make the ioctl alloc size code cleaner
Use max() to make the code to determine the allocation size for
the ioctl data easier to read.
Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 83be003807415a07465fc5d748803b702409f3da
Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Date: Fri Mar 27 15:51:58 2015 +0200
drm: Simplify core vs. drv ioctl handling
Now that cmd_drv is gone the handling for core and driver ioctls is
mostly identical, so eliminate the duplication. Also take the
opportunity to simplify the range checks to be less cluttered.
Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 7e7392a6e854a29016377b87bebe5ae263f65e5c
Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Date: Fri Mar 27 15:51:56 2015 +0200
drm: Drop ioctl->cmd_drv
ioctl->cmd_drv is pointless and we can just as well stick the full ioctl
definition into ioctl->cmd.
Cc: Jakob Bornecrantz <jakob@xxxxxxxxxx>
Cc: Thomas Hellstrom <thellstrom@xxxxxxxxxx>
Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 9c7d3d3e289c9870ae688780a0f9807bb5ae9faf
Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Date: Fri Mar 27 15:51:55 2015 +0200
drm: Fix DRM_IOCTL_DEF_DRV()
Currently DRM_IOCTL_DEF_DRV does '[DRM_IOCTL_NR(DRM_##ioctl)]' which
doesn't make much sense since DRM_##ioctl is already a the raw ioctl
number. So change it to 'DRM_IOCTL_NR(DRM_IOCTL_##ioctl) -
DRM_COMMAND_BASE'
which means the DRM_IOCTL_NR() now makes sense, and also this also means
if there's a mistake in the DRM_IOCTL_##ioctl macros we might get a
warning about it (eg. we would have gotten a sparse warning about the
i915 colorkey get/set ioctl being defined to be the same thing).
Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit b9e9cd32ba33d13c7ecbc15b9f4418beded403d2
Author: Jiri Kosina <jkosina@xxxxxxx>
Date: Fri Mar 27 16:03:26 2015 +0100
HID: pidff: effect can't be NULL
Force-beedback core guarantees that the 'effect' pointer that's being
passed
to ->upload() callback is non-NULL.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit 743e78c1d726d875b98ff9689cc77c4d3d5d9ae2
Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 27 11:02:10 2015 +0000
drm/i915: Skip allocating shadow batch for 0-length batches
Since
commit 17cabf571e50677d980e9ab2a43c5f11213003ae
Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Date: Wed Jan 14 11:20:57 2015 +0000
drm/i915: Trim the command parser allocations
we may then try to allocate a zero-sized object and attempt to extract
its pages. Understandably this fails.
Testcase: igt/gem_exec_nop #ivb,byt,hsw
Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 9d918c157fc27716ca8d601745b4776a3145cc93
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 27 15:33:51 2015 +0200
drm/i915: Handle error to get connector state when staging config
The return value of one of the calls to drm_atomic_get_connector_state()
in intel_modeset_stage_output_state() wasn't checked for errors.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 21042d43b34129cef00d185b7aa2705d1249f879
Author: Jiri Slaby <jslaby@xxxxxxx>
Date: Thu Mar 26 10:10:17 2015 +0100
livepatch: add support on s390
This is a trivial port from kGraft. Module relocations are not supported
yet.
Signed-off-by: Jiri Slaby <jslaby@xxxxxxx>
Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit 9abc464854cf12273ebe66dc5e4a9d82b6e0c303
Author: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>
Date: Fri Mar 27 13:09:22 2015 +0200
drm/i915: Compare GGTT view structs instead of types
To allow for views where the view type is not defined by the view type
only,
like it is in stereo or rotated 90 degree view, change the semantic to
require
the whole view structure for comparison when we match a GGTT view.
This allows including parameters like offset to be included in the view
which
is useful for eg. partial views.
v3:
- Rely on ggtt_view type being 0 for non-GGTT vma's, which equals to
I915_GGTT_VIEW_NORMAL. (Daniel Vetter)
- Do not use potentially slower comparison when we only want to know if
something is or is not a normal view.
- Rebase on top of rotated view patches. Add rotated view singleton.
- If one view is missing in comparison they're equal only if both are
missing.
v4:
- Use comparison helper in obj_to_ggtt_view too. (Tvrtko Ursulin)
- Do WARN_ON if one view is NULL. (Tvrtko Ursulin)
Cc: Daniel Vetter <daniel@xxxxxxxx>
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 2f2cf68261acc4c5356dd07e8a8966612ae5a0d4
Author: kbuild test robot <fengguang.wu@xxxxxxxxx>
Date: Fri Mar 27 19:26:35 2015 +0800
drm/i915: fix simple_return.cocci warnings
drivers/gpu/drm/i915/i915_gem_gtt.c:1349:1-4: WARNING: end returns can be
simpified and declaration on line 1347 can be dropped
Simplify a trivial if-return sequence. Possibly combine with a
preceding function call.
Generated by: scripts/coccinelle/misc/simple_return.cocci
CC: Michel Thierry <michel.thierry@xxxxxxxxx>
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 4218a32f55fc71983e4c1c6e5b98b28db8226b3b
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date: Thu Mar 26 22:18:40 2015 +0100
drm/atomic-helpers: Properly avoid full modeset dance
Legacy setCrtc has a nice fastpath for just updating the frontbuffer
when the output routing doesn't change. Which I of course tried to
keep working, except that I fumbled the job: The helpers correctly
compute ->mode_changed, CRTC updates get correctly skipped but
connector functions are called unconditionally.
Fix this.
v2: For the disable sided connector->state->crtc might be NULL.
Instead look at the old_connector_state->crtc, but still use the new
crtc state for that old crtc. Reported by Thierry.
Reported-and-Tested-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> (v1)
Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
Cc: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> (v1)
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx>
commit 874c571414d5617f4042298986b6a826816ee885
Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx>
Date: Wed Mar 18 12:24:42 2015 +0000
arm-cci: Fix CCI PMU event validation
We mask the event with the CCI_PMU_EVENT_MASK, before passing
the config to pmu_validate_hw_event(), which causes extra bits
to be ignored and qualifies an invalid event code as valid.
e.g,
$ perf stat -a -C 0 -e CCI_400/config=0x1ff,name=cycles/ sleep 1
Performance counter stats for 'system wide':
506951142 cycles
1.013879626 seconds time elapsed
where, cycles has an event coding of 0xff. This patch also removes
the unnecessary 'event' mask in pmu_write_register, since the config_base
is set by the pmu code after the event is validated.
Acked-by: Punit Agrawal <punit.agrawal@xxxxxxx>
Reviewed-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit ee8e5d5fbec0e880b18bbdbfe12de53ab1dec21f
Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx>
Date: Wed Mar 18 12:24:41 2015 +0000
arm-cci: Split the code for PMU vs driver support
This patch separates the PMU driver code from the low level
CCI driver code and enables the PMU driver for ARM64.
Introduces config options for both.
ARM_CCI400_PORT_CTRL - controls the low level driver code for
CCI400 ports.
ARM_CCI400_PMU - controls the PMU driver code
ARM_CCI400_COMMON - Common defintions for CCI400
This patch also changes:
ARM_CCI - common code for probing the CCI devices. This can be
used for adding support for newer CCI versions(e.g, CCI-500).
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Cc: Kukjin Kim <kgene@xxxxxxxxxx>
Cc: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx>
Cc: Liviu Dudau <liviu.dudau@xxxxxxx>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Cc: Sudeep Holla <sudeep.holla@xxxxxxx>
Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>
Cc: Punit Agrawal <punit.agrawal@xxxxxxx>
Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx>
Acked-by: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>
Acked-by: Punit Agrawal <punit.agrawal@xxxxxxx>
Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 772742a6c7ea4612fe043353531e6435ed33e719
Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx>
Date: Wed Mar 18 12:24:40 2015 +0000
arm-cci: Get rid of secure transactions for PMU driver
Avoid secure transactions while probing the CCI PMU. The
existing code makes use of the Peripheral ID2 (PID2) register
to determine the revision of the CCI400, which requires a
secure transaction. This puts a limitation on the usage of the
driver on systems running non-secure Linux(e.g, ARM64).
Updated the device-tree binding for cci pmu node to add the explicit
revision number for the compatible field.
The supported strings are :
arm,cci-400-pmu,r0
arm,cci-400-pmu,r1
arm,cci-400-pmu - DEPRECATED. See NOTE below
NOTE: If the revision is not mentioned, we need to probe the cci revision,
which could be fatal on a platform running non-secure. We need a reliable
way
to know if we can poke the CCI registers at runtime on ARM32. We depend on
'mcpm_is_available()' when it is available. mcpm_is_available() returns
true
only when there is a registered driver for mcpm. Otherwise, we assume
that we
don't have secure access, and skips probing the revision number(ARM64
case).
The MCPM should figure out if it is safe to access the CCI. Unfortunately
there isn't a reliable way to indicate the same via dtb. This patch
doesn't
address/change the current situation. It only deals with the CCI-PMU,
leaving
the assumptions about the secure access as it has been, prior to this
patch.
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: Punit Agrawal <punit.agrawal@xxxxxxx>
Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx>
Acked-by: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>
Acked-by: Mark Rutland <mark.rutland@xxxxxxx>
Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit fc17c839448e498393009e06ca30a204eefaccee
Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx>
Date: Wed Mar 18 12:24:39 2015 +0000
arm-cci: Abstract the CCI400 PMU specific definitions
CCI400 has different event specifications for PMU, for revsion
0 and revision 1. As of now, we check the revision every single
time before using the parameters for the PMU. This patch abstracts
the details of the pmu models in a struct (cci_pmu_model) and
stores the information in cci_pmu at initialisation time, avoiding
multiple probe operations.
Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx>
Acked-by: Punit Agrawal <punit.agrawal@xxxxxxx>
Reviewed-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit f6b9e83ce05e362f4190cf2b4281d85cd094e541
Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx>
Date: Wed Mar 18 12:24:38 2015 +0000
arm-cci: Rearrange code for splitting PMU vs driver code
No functional changes, only code re-arrangements for easier split of the
PMU code vs low level driver code. Extracts the port handling code
to cci_probe_ports().
Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx>
Acked-by: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>
Acked-by: Punit Agrawal <punit.agrawal@xxxxxxx>
Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit b1862199be6098855b598b69f5098d2fb4cecfcb
Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx>
Date: Tue Mar 17 18:15:00 2015 +0000
drivers: cci: reject groups spanning multiple HW PMUs
The perf core implicitly rejects events spanning multiple HW PMUs, as in
these cases the event->ctx will differ. However this validation is
performed after pmu::event_init() is called in perf_init_event(), and
thus pmu::event_init() may be called with a group leader from a
different HW PMU.
The CCI PMU driver does not take this fact into account, and assumes
that the any other hardware event belongs to the CCI. There are two
issues with it :
1) It is wrong and we should reject such groups.
2) Validation allocates an temporary idx for this non-cci event, which
leads
to wrong calculation of the counter availability, and eventually lesser
number of events in the group.
This patch updates the CCI PMU driver to first test for and reject
events from other PMUs, which is the right thing to do.
Cc: Will Deacon <will.deacon@xxxxxxx>
Acked-by: Mark Rutland <mark.rutland@xxxxxxx>
Acked-by: Peter Ziljstra (Intel) <peterz@xxxxxxxxxxxxx>
Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 63979b8da30013ce58d8447f34dde60802d1ccba
Author: Will Deacon <will.deacon@xxxxxxx>
Date: Wed Mar 18 10:22:18 2015 +0000
iommu/io-pgtable-arm: avoid speculative walks through TTBR1
Although we set TCR.T1SZ to 0, the input address range covered by TTBR1
is actually calculated using T0SZ in this case on the ARM SMMU. This
could theoretically lead to speculative table walks through physical
address zero, leading to all sorts of fun and games if we have MMIO
regions down there.
This patch avoids the issue by setting EPD1 to disable walks through
the unused TTBR1 register.
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 03edb2264cadddc38ca9030887c2902affbfca3f
Author: Will Deacon <will.deacon@xxxxxxx>
Date: Mon Jan 19 14:27:33 2015 +0000
iommu/arm-smmu: handle multi-alias IOMMU groups for PCI devices
IOMMU groups for PCI devices can correspond to multiple DMA aliases due
to things like ACS and PCI quirks.
This patch extends the ARM SMMU ->add_device callback so that we
consider all of the DMA aliases for a PCI IOMMU group, rather than
creating a separate group for each Requester ID.
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit f1d84548694fe45f3348c0379d7277fed05bbcf0
Author: Robin Murphy <Robin.Murphy@xxxxxxx>
Date: Wed Mar 4 16:41:05 2015 +0000
iommu/arm-smmu: set a more appropriate DMA mask
Since we use dma_map_page() as an architecture-independent means of
making page table updates visible to non-coherent SMMUs, we need to
have a suitable DMA mask set to discourage the DMA mapping layer from
creating bounce buffers and flushing those instead, if said page tables
happen to lie outside the default 32-bit mask.
Tested-by: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx>
Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx>
[will: added error checking]
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 4a1c93cbe9b2cf559fee3316ee287bb042eb1aba
Author: Will Deacon <will.deacon@xxxxxxx>
Date: Wed Mar 4 12:21:03 2015 +0000
iommu/arm-smmu: ensure CBA2R is initialised before CBAR on SMMUv2
The VMID16 (8.1) extension to SMMUv2 added a 16-bit VMID16 field to the
CBA2R registers. Unfortunately, if software writes this field as zero
after setting an 8-bit VMID in a stage-2 CBAR, then the VMID may also be
overwritten with zero on some early implementations (the architecture
was later updated to fix this issue).
This patch ensures that we initialise CBA2R before CBAR, therefore
ensuring that the VMID is set correctly.
Tested-by: Manish Jaggi <mjaggi@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 9d82f9272ddd8492afdd721c9999171741be835b
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Fri Mar 27 14:07:26 2015 +0100
ALSA: hda - Set use_single_rw flag for regmap
HD-audio doesn't support the bulk access. Currently it works even
without this flag as implicitly assumed, but it's safer to set
explicitly.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 849176c96dab827548176e851525bd1c3fff5a6a
Merge: 24deabf a9fea8b
Author: Will Deacon <will.deacon@xxxxxxx>
Date: Fri Mar 27 12:22:50 2015 +0000
Merge branch 'aarch64/kvm-bounce-page' into aarch64/for-next/core
Just as we thought we'd fixed this, another old linker reared its ugly
head trying to build linux-next. Unfortunately, it's the linker binary
provided on kernel.org, so give up trying to be clever and align the
hyp page to 4k.
commit a9fea8b388ed5838fe0744970e67f7019d420824
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Fri Mar 27 10:18:01 2015 +0000
ARM: kvm: round HYP section to page size instead of log2 upper bound
Older binutils do not support expressions involving the values of
external symbols so just round up the HYP region to the page size.
Tested-by: Simon Horman <horms+renesas@xxxxxxxxxxxx>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
[will: when will this ever end?!]
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 4a1c683c98e4e2997c79258bffbb9be4af4fba83
Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx>
Date: Thu Mar 5 09:14:03 2015 +0100
pwm: samsung: Fix output race on disabling
When disabling the Samsung PWM the output state remains at the level it
was at the end of a PWM cycle. In other words, calling pwm_disable()
when at 100% duty cycle will keep the output active, while at all other
settings the output will go/stay inactive. On top of that the Samsung
PWM settings are double-buffered, which means the new settings only get
applied at the start of a new PWM cycle.
This results in a race if the PWM is at 100% duty cycle and a driver
calls:
pwm_config(pwm, 0, period);
pwm_disable(pwm);
In this case the PWMs output will unexpectedly stay active, unless a new
PWM cycle happened to start between the register writes in pwm_config()
and pwm_disable(). As far as I can tell this is a regression introduced
by 3bdf878, before that a call to pwm_config() would call
pwm_samsung_enable() which, while heavy-handed, made sure the expected
settings were live.
To resolve this, while not re-introducing the issues 3bdf878 (flickering
as the PWM got reset while in a PWM cycle) fixed, only force an update
of the settings when at 100% duty cycle, which shouldn't have any
noticeable effect on the output but is enough to ensure the behaviour is
as expected on disable.
Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx>
Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx>
Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx>
commit 4ee8ec17ba00fce4af042543771f996fb9d98d34
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Fri Mar 27 11:36:21 2015 +0100
x86/asm/entry/32: Make register zero-extension more prominent
There are a couple of syscall argument zero-extension instructions in
the 32-bit compat entry code, and it was mentioned that people keep
trying to optimize them out, introducing bugs.
Make them more visible, and add a "do not remove" comment.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427452582-21624-3-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a232e3d558eef421fbb539ede5483dfb668e38f2
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Fri Mar 27 11:36:20 2015 +0100
x86/asm/entry/32: Update "interrupt off" comments
The existing comment has proven to be not very clear.
Replace it with a comment similar to the one we now have in the 64-bit
syscall entry point. (Three instances, one per 32-bit syscall entry).
In the INT80 entry point's CFI annotations, replace mysterious
expressions with numric constants. In this case, raw numbers
look more understandable.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427452582-21624-2-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 27be87c5d53117f048d590d6fc6febb21176c3e9
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Fri Mar 27 11:36:19 2015 +0100
x86/asm/entry/64: Add missing CFI annotation
This is a missing bit of the recent MOV-to-PUSH conversion.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427452582-21624-1-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 487d1edb9a6005cf790c7fe59f25ad1e5cb5817b
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Fri Mar 27 11:59:16 2015 +0100
x86/asm/entry/64: Fix comment about SYSENTER MSRs
The comment is ancient, it dates to the time when only AMD's
x86_64 implementation existed. AMD wasn't (and still isn't)
supporting SYSENTER, so these writes were "just in case" back
then.
This has changed: Intel's x86_64 appeared, and Intel does
support SYSENTER in long mode. "Some future 64-bit CPU" is here
already.
The code may appear "buggy" for AMD as it stands, since
MSR_IA32_SYSENTER_EIP is only 32-bit for AMD CPUs. Writing a
kernel function's address to it would drop high bits. Subsequent
use of this MSR for branch via SYSENTER seem to allow user to
transition to CPL0 while executing his code. Scary, eh?
Explain why that is not a bug: because SYSENTER insn would not
work on AMD CPU.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427453956-21931-1-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit b7a5646fa5d5d319b2b1a3db07f615e40b184205
Author: Andreas Fenkart <afenkart@xxxxxxxxx>
Date: Fri Mar 20 15:53:54 2015 +0100
ARM: OMAP2: HSMMC: explicit fields to declare cover/card detect pin
board-rx51 has no card detect pin in the mmc slot, but can detect that
the (cell-phone) cover has been removed and the card is accessible.
The semantics between cover/card detect differ, the gpio on the slot
informs you after the card has been removed, cover removal does not
necessarily mean that the card has been removed.
This means different code paths are necessary. To complete this we
also want different fields in the platform data for cover and card
detect. This separation is not pushed all the way down into struct
omap2_hsmmc_info which is used to initialize the platform data.
If we did that we had to go over all board files and set the new
gpio_cod pin to -EINVAL. If we forget one board or some out-of-tree
archicture forgets that the default '0' is used which is a valid pin
number.
Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx>
Acked-by: Tony Lindgren <tony@xxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit b8a51a2e8a9f8e24f8f155772168a7ca35ce7f75
Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Date: Mon Mar 9 11:04:09 2015 -0700
gpio: gpio-tb10x: remove incorrect __exit markup
Even if bus is not hot-pluggable, the devices can be unbound from the
driver via sysfs, so we should not be using __exit annotations on
remove() methods. The only exception is drivers registered with
platform_driver_probe() which specifically disables sysfs bind/unbind
attributes.
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 5bedeb2de2127b3b80b40d977a17fe4fce83fe25
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date: Tue Mar 3 18:03:47 2015 +0100
drm/i915: Add module param to test the load detect code
This is useful for writing igts to make sure we don't break this,
without being forced to own a one of these dinosaurs.
Suggested-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
Cc: Matt Roper <matthew.d.roper@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx>
Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 17d33a450a776c0ce6c3659e1154396dc1eecba8
Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Date: Mon Mar 23 14:18:30 2015 +0200
gpio: omap: get rid of GPIO_INDEX() macro
Now OMAP GPIO driver prepared for GPIO_INDEX() macro removing.
Do It ;)
Tested-by: Tony Lindgren <tony@xxxxxxxxxxx>
Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx>
Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx>
Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit ea5fbe8dea85056b028184459ad86d76f5ceeca4
Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Date: Mon Mar 23 14:18:29 2015 +0200
gpio: omap: get rid of omap_irq_to_gpio()
Now OMAP GPIO driver prepared for omap_irq_to_gpio() removing.
Do it ;)
Tested-by: Tony Lindgren <tony@xxxxxxxxxxx>
Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx>
Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx>
Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 8ac58a0a7286a7cd8e70141309cc04ca4677216e
Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Date: Mon Mar 23 14:18:28 2015 +0200
gpio: omap: get rid of GPIO_BIT() macro
Now OMAP GPIO driver prepared for GPIO_BIT() macro removing.
Do it ;)
Tested-by: Tony Lindgren <tony@xxxxxxxxxxx>
Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx>
Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx>
Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 9943f2611c33b9f651b23600d6c3f13478c7fb0d
Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Date: Mon Mar 23 14:18:27 2015 +0200
gpio: omap: convert gpio irq functions to use GPIO offset
Convert GPIO IRQ functions to use GPIO offset instead of system
GPIO numbers. This allows to drop unneeded conversations between
system GPIO <-> GPIO offset which are done in many places and
many times.
It is safe to do now because:
- gpiolib always passes GPIO offset to GPIO controller
- OMAP GPIO driver converted to use IRQ domain, so
struct irq_data->hwirq contains GPIO offset
This is preparation step before removing:
#define GPIO_INDEX(bank, gpio)
#define GPIO_BIT(bank, gpio)
int omap_irq_to_gpio()
Tested-by: Tony Lindgren <tony@xxxxxxxxxxx>
Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx>
Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx>
Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 37e14ecfb1f461621d4dd0b2d83a790c176212a4
Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Date: Mon Mar 23 14:18:26 2015 +0200
gpio: omap: drop 'gpio' param from omap_gpio_init_irq()
The 'gpio' parameter isn't needed any more as it
duplicates 'offset' parameter, so drop it.
Tested-by: Tony Lindgren <tony@xxxxxxxxxxx>
Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx>
Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx>
Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 4a58d2296f602202839d563d680cf0b2d677337f
Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Date: Mon Mar 23 14:18:25 2015 +0200
gpio: omap: convert debounce functions switch to use gpio offset
Convert debounce functions to use GPIO offset instead of system
GPIO numbers. This allows to drop unneeded conversations between
system GPIO <-> GPIO offset which are done in many places and
many times.
It is safe to do now because:
- gpiolib always passes GPIO offset to GPIO controller
- OMAP GPIO driver converted to use IRQ domain
This is preparation step before removing:
#define GPIO_INDEX(bank, gpio)
#define GPIO_BIT(bank, gpio)
int omap_irq_to_gpio()
Tested-by: Tony Lindgren <tony@xxxxxxxxxxx>
Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx>
Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx>
Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 52fd475042dc145284d05f86ceac66ef5ed6665c
Author: Philippe Bergheaud <felix@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 26 11:46:56 2015 +0100
cxl: Fix a typo in ABI documentation
Fix the attribute name of the configuration record class ID.
Signed-off-by: Philippe Bergheaud <felix@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 04ebcbd82ec3b6fb88644e983f85224e95cf55e5
Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Date: Mon Mar 23 14:18:24 2015 +0200
gpio: omap: simplify omap_set_gpio_dataout_x()
Both functions omap_set_gpio_dataout_reg() and
omap_set_gpio_dataout_mask() accept GPIO offset
as 'gpio' input parameter, so rename it to 'offset' and
drop usage of GPIO_BIT() macro.
Tested-by: Tony Lindgren <tony@xxxxxxxxxxx>
Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx>
Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx>
Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit b2b2004550f4b18ed16929107f478005fadfdb5c
Author: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Date: Mon Mar 23 14:18:23 2015 +0200
gpio: omap: convert omap_gpio_is_input() to use gpio offset
Convert omap_gpio_is_input() to use GPIO offset instead of mask and,
in such way, make code simpler and remove few lines of code.
Tested-by: Tony Lindgren <tony@xxxxxxxxxxx>
Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx>
Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx>
Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 3182b25e1764142600a231050ae0182ba627da72
Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx>
Date: Fri Mar 27 00:12:11 2015 -0700
i40e: Bump version to 1.2.43
Bump.
Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit cc470a811b22a566c66569e09d094a82431e1124
Author: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Date: Fri Mar 27 00:12:11 2015 -0700
i40evf: add FW version to ethtool info
Customers reported that the firmware version information from i40evf
is unlike that of ixgbevf and was causing problems with their scripts.
To resolve this, populate the field to align with ixgbevf.
Change-ID: I9f4e24f6a76cd819bbe07087aab2b74f715ec103
Reported-by: Sourav Chatterjee <sourav.chatterjee@xxxxxxxxx>
Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 8af580dff23e5323120c1c9b206fb2c06ec6fcf6
Author: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx>
Date: Fri Mar 27 00:12:10 2015 -0700
i40e: Increase PF reset max loop limit
In some circumstances the firmware can take longer to be ready after a
reset than
we're currently waiting. This patch increases the polling loop limiter to
much
longer than expected.
Change-ID: I4b2c4c100dfa4abb77d02e5ecdec1cdd253b8c7e
Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 40433267331bc6b9d70d5cdd14bfa2c8e3e5f0ec
Author: NeilBrown <neil@xxxxxxxxxx>
Date: Thu Mar 26 08:43:37 2015 +1100
mmc: core: Remove the ->enable|disable() callbacks
These callbacks have been set to deprecated for some time. The last
user (omap_hsmmc) has moved away from using them, which thus enables
us to completely remove them.
Signed-off-by: NeilBrown <neil@xxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 63e18c252068da46ba5ab11ad8861c310afc79fd
Author: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Date: Fri Mar 27 00:12:10 2015 -0700
i40evf: resequence close operations
Call the netdev carrier off and TX disable functions first, before other
shutdown operations. This stops the stack from hitting us with
transmits while we're shutting down. Additionally, disable NAPI before
disabling interrupts, or the interrupt might get re-enabled
inappropriately. Finally, remove the call to netif_tx_stop_all_queues,
as it is redundant - the call to netif_tx_disable already did the same
thing.
Change-ID: I8b2dd25231b82817746cc256234a5eeeb4abaccc
Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit e284fc88dfb6ceb69c547abb8d78b9fde6b9dc85
Author: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Date: Fri Mar 27 00:12:09 2015 -0700
i40evf: delay releasing rings
When the VF interface is closed, we cannot immediately free our rings
and RX buffers, because the hardware hasn't yet stopped accessing this
memory. This shows up as a panic or memory corruption when the device is
brought down while under heavy stress.
To fix this, delay releasing resources until we receive acknowledgment
from the PF driver that the rings have indeed been stopped. Because of
this delay, we also need to check to make sure that all of our admin
queue requests have been handled before allowing the device to be
opened.
Change-ID: I44edd35529ce2fa2a9512437a3a8e6f14ed8ed63
Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit 55bb9992db9b2c65cc3dd11cc75785f80e8d7e66
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:19 2015 +0200
drm/i915: Remove usage of encoder->new_crtc from clock computations
Some of the crtc_compute_clock() still depended on encoder->new_crtc
since they didn't use intel_pipe_will_have_type() and used an open
coded version of that function instead. This patch replaces those with
the appropriate code that checks the atomic state intead.
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
[danvet: Separate the if (!connector) continue to facility easier
extraction of a loop iterator for all of these (there's lots more in
i915 and atomic helpers).]
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit f57ba4ca483a3e7d0ca31677f3baf036740c883b
Author: NeilBrown <neilb@xxxxxxx>
Date: Thu Mar 26 12:18:23 2015 +1100
mmc: omap_hsmmc: stop using ->enable|disable() callbacks
The ->enable|disable() callbacks are only used to get and put runtime
PM references. Currently omap_hsmmc's ->set_ios() already does this
itself.
Other host drivers deals with runtime PM without using the
->enable|disable() callbacks and thus do the runtime PM reference
counting themselves. Apply that approach for omap_hsmmc as well and
then discard the ->enable|disable() callbacks.
Signed-off-by: NeilBrown <neil@xxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 723f9aab5537eabd88f96fa49a73a5e8df2ebf7b
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:18 2015 +0200
drm/i915: Don't look at staged config crtc when changing DRRS state
The function intel_dp_set_drrs_state() would decide which pipe to
downclock based on the staged config for the given connector. However,
the result of that function is immediate, and it uses input values from
crtc->config, so it should be looking at the current crtc instead.
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit a93e255f819cae49dff7319b6686f718b8069fec
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:17 2015 +0200
drm/i915: Convert intel_pipe_will_have_type() to using atomic state
Pass a crtc_state to it and find whether the pipe has an encoder of a
given type by looking at the drm_atomic_state the crtc_state points to.
Until recently i9xx_get_refclk() used to be called indirectly from
vlv_force_pll_on() with a dummy crtc_state. That dummy crtc state is not
converted to be part of a full drm atomic state, so add a WARN in case
someone decides to call that again with a such dummy state. This was
removed in
commit 9cbe40c15a753e02f5da16f6de901decf3276cf1
Author: Vijay Purushothaman <vijay.a.purushothaman@xxxxxxxxxxxxxxx>
Date: Thu Mar 5 19:33:08 2015 +0530
drm/i915: Update prop, int co-eff and gain threshold for CHV
v2: Warn if there is no connectors for a given crtc. (Daniel)
Replace comment i9xx_get_refclk() with a WARN_ON(). (Ander)
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
[danvet: Add commit reference for when i9xx_get_refclk was removed.]
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit de81e64b250d3865a75d221a80b4311e3273670a
Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Date: Fri Feb 27 17:21:34 2015 +0530
clockevents: Don't validate dev->mode against CLOCK_EVT_MODE_UNUSED for
new interface
It was a requirement in the legacy interface that drivers must
initialize ->mode field to 'CLOCK_EVT_MODE_UNUSED'. This field
isn't used anymore by the new interface and so should be only
checked for the legacy interface.
Probably it can be dropped as well as core doesn't rely on it
anymore, but lets keep it to support legacy interface.
Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Kevin Hilman <khilman@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx>
Cc: linaro-kernel@xxxxxxxxxxxxxxxx
Cc: linaro-networking@xxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Link:
http://lkml.kernel.org/r/c6604fa1a77fe1fc8dcab87769857228fb1dadd5.1425037853.git.viresh.kumar@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 77e32c89a7117614ab3d66d20c1088de721abfaa
Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Date: Fri Feb 27 17:21:33 2015 +0530
clockevents: Manage device's state separately for the core
'enum clock_event_mode' is used for two purposes today:
- to pass mode to the driver of clockevent device::set_mode().
- for managing state of the device for clockevents core.
For supporting new modes/states we have moved away from the
legacy set_mode() callback to new per-mode/state callbacks. New
modes/states shouldn't be exposed to the legacy (now OBSOLOTE)
callbacks and so we shouldn't add new states to 'enum
clock_event_mode'.
Lets have separate enums for the two use cases mentioned above.
Keep using the earlier enum for legacy set_mode() callback and
mark it OBSOLETE. And add another enum to clearly specify the
possible states of a clockevent device.
This also renames the newly added per-mode callbacks to reflect
state changes.
We haven't got rid of 'mode' member of 'struct
clock_event_device' as it is used by some of the clockevent
drivers and it would automatically die down once we migrate
those drivers to the new interface. It ('mode') is only updated
now for the drivers using the legacy interface.
Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Kevin Hilman <khilman@xxxxxxxxxx>
Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx>
Cc: linaro-kernel@xxxxxxxxxxxxxxxx
Cc: linaro-networking@xxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Link:
http://lkml.kernel.org/r/b6b0143a8a57bd58352ad35e08c25424c879c0cb.1425037853.git.viresh.kumar@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 554ef3876c6acdff1331feab10275e9e9e0adb84
Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Date: Fri Feb 27 17:21:32 2015 +0530
clockevents: Handle tick device's resume separately
Upcoming patch will redefine possible states of a clockevent
device. The RESUME mode is a special case only for tick's
clockevent devices. In future it can be replaced by ->resume()
callback already available for clockevent devices.
Lets handle it separately so that clockevents_set_mode() only
handles states valid across all devices. This also renames
set_mode_resume() to tick_resume() to make it more explicit.
Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Kevin Hilman <khilman@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx>
Cc: linaro-kernel@xxxxxxxxxxxxxxxx
Cc: linaro-networking@xxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Link:
http://lkml.kernel.org/r/c1b0112410870f49e7bf06958e1483eac6c15e20.1425037853.git.viresh.kumar@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 34f439278cef7b1177f8ce24f9fc81dfc6221d3b
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Fri Feb 20 14:05:38 2015 +0100
perf: Add per event clockid support
While thinking on the whole clock discussion it occurred to me we have
two distinct uses of time:
1) the tracking of event/ctx/cgroup enabled/running/stopped times
which includes the self-monitoring support in struct
perf_event_mmap_page.
2) the actual timestamps visible in the data records.
And we've been conflating them.
The first is all about tracking time deltas, nobody should really care
in what time base that happens, its all relative information, as long
as its internally consistent it works.
The second however is what people are worried about when having to
merge their data with external sources. And here we have the
discussion on MONOTONIC vs MONOTONIC_RAW etc..
Where MONOTONIC is good for correlating between machines (static
offset), MONOTNIC_RAW is required for correlating against a fixed rate
hardware clock.
This means configurability; now 1) makes that hard because it needs to
be internally consistent across groups of unrelated events; which is
why we had to have a global perf_clock().
However, for 2) it doesn't really matter, perf itself doesn't care
what it writes into the buffer.
The below patch makes the distinction between these two cases by
adding perf_event_clock() which is used for the second case. It
further makes this configurable on a per-event basis, but adds a few
sanity checks such that we cannot combine events with different clocks
in confusing ways.
And since we then have per-event configurability we might as well
retain the 'legacy' behaviour as a default.
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit b381e63b48a0b6befc7b4e55408c39012a0dcf8c
Merge: 4e6d7c2 ccd41c8
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Fri Mar 27 10:10:47 2015 +0100
Merge branch 'perf/core' into perf/timer, before applying new changes
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 4e6d7c2aa95158315902647963b359b32da5c295
Merge: 3c435c1 fe5fba0
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Fri Mar 27 10:09:21 2015 +0100
Merge branch 'timers/core' into perf/timer, to apply dependent patch
An upcoming patch will depend on tai_ns() and NMI-safe
ktime_get_raw_fast(),
so merge timers/core here in a separate topic branch until it's all cooked
and timers/core is merged upstream.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 68de8867ea5d99127e836c23f6bccf4d44859623
Author: Jan Stancek <jstancek@xxxxxxxxxx>
Date: Tue Mar 24 08:33:22 2015 -0400
powerpc/perf: add missing put_cpu_var in power_pmu_event_init
One path in power_pmu_event_init() calls get_cpu_var(), but is
missing matching call to put_cpu_var(), which causes preemption
imbalance and crash in user-space:
Page fault in user mode with in_atomic() = 1 mm = c000001fefa5a280
NIP = 3fff9bf2cae0 MSR = 900000014280f032
Oops: Weird page fault, sig: 11 [#23]
SMP NR_CPUS=2048 NUMA PowerNV
Modules linked in: <snip>
CPU: 43 PID: 10285 Comm: a.out Tainted: G D 4.0.0-rc5+ #1
task: c000001fe82c9200 ti: c000001fe835c000 task.ti: c000001fe835c000
NIP: 00003fff9bf2cae0 LR: 00003fff9bee4898 CTR: 00003fff9bf2cae0
REGS: c000001fe835fea0 TRAP: 0401 Tainted: G D
(4.0.0-rc5+)
MSR: 900000014280f032 <SF,HV,VEC,VSX,EE,PR,FP,ME,IR,DR,RI> CR:
22000028 XER: 00000000
CFAR: 00003fff9bee4894 SOFTE: 1
GPR00: 00003fff9bee494c 00003fffe01c2ee0 00003fff9c084410
0000000010020068
GPR04: 0000000000000000 0000000000000002 0000000000000008
0000000000000001
GPR08: 0000000000000001 00003fff9c074a30 00003fff9bf2cae0
00003fff9bf2cd70
GPR12: 0000000052000022 00003fff9c10b700
NIP [00003fff9bf2cae0] 0x3fff9bf2cae0
LR [00003fff9bee4898] 0x3fff9bee4898
Call Trace:
---[ end trace 5d3d952b5d4185d4 ]---
BUG: sleeping function called from invalid context at
kernel/locking/rwsem.c:41
in_atomic(): 1, irqs_disabled(): 0, pid: 10285, name: a.out
INFO: lockdep is turned off.
CPU: 43 PID: 10285 Comm: a.out Tainted: G D 4.0.0-rc5+ #1
Call Trace:
[c000001fe835f990] [c00000000089c014] .dump_stack+0x98/0xd4 (unreliable)
[c000001fe835fa10] [c0000000000e4138] .___might_sleep+0x1d8/0x2e0
[c000001fe835faa0] [c000000000888da8] .down_read+0x38/0x110
[c000001fe835fb30] [c0000000000bf2f4] .exit_signals+0x24/0x160
[c000001fe835fbc0] [c0000000000abde0] .do_exit+0xd0/0xe70
[c000001fe835fcb0] [c00000000001f4c4] .die+0x304/0x450
[c000001fe835fd60] [c00000000088e1f4] .do_page_fault+0x2d4/0x900
[c000001fe835fe30] [c000000000008664] handle_page_fault+0x10/0x30
note: a.out[10285] exited with preempt_count 1
Reproducer:
#include <stdio.h>
#include <unistd.h>
#include <syscall.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <linux/perf_event.h>
#include <linux/hw_breakpoint.h>
static struct perf_event_attr event = {
.type = PERF_TYPE_RAW,
.size = sizeof(struct perf_event_attr),
.sample_type = PERF_SAMPLE_BRANCH_STACK,
.branch_sample_type = PERF_SAMPLE_BRANCH_ANY_RETURN,
};
int main()
{
syscall(__NR_perf_event_open, &event, 0, -1, -1, 0);
}
Signed-off-by: Jan Stancek <jstancek@xxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 4bfe186dbe0a058680e4bfb0d673194f0ceaffd4
Merge: 3c435c1 4252879
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Fri Mar 27 10:04:06 2015 +0100
Merge branch 'for-mingo' of
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu
Pull RCU updates from Paul E. McKenney:
- Documentation updates.
- Changes permitting use of call_rcu() and friends very early in
boot, for example, before rcu_init() is invoked.
- Miscellaneous fixes.
- Add in-kernel API to enable and disable expediting of normal RCU
grace periods.
- Improve RCU's handling of (hotplug-) outgoing CPUs.
Note: ARM support is lagging a bit here, and these improved
diagnostics might generate (harmless) splats.
- NO_HZ_FULL_SYSIDLE fixes.
- Tiny RCU updates to make it more tiny.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit aa6d9a128b861fe7e9dc37bcc37179837674b739
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Wed Mar 25 21:14:28 2015 +0100
x86/irq/tracing: Do not save callee-preserved registers around
lockdep_sys_exit_thunk
Internally, lockdep_sys_exit_thunk saves callee-clobbered
registers, and calls a C function, lockdep_sys_exit. Thus,
callee-preserved registers won't be mangled, there is no need to
save them.
Patch was run-tested.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427314468-12763-4-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 7dc7cc0780b04935f1127fa22ee23e9d6daf166a
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Wed Mar 25 21:14:27 2015 +0100
x86/irq/tracing: Fold ARCH_LOCKDEP_SYS_EXIT defines into their users
There is no need to have an extra level of macro indirection
here.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427314468-12763-3-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 679dacd430cac3f58fc80db69c1694621ede00fc
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:15 2015 +0200
drm/i915: Pass an atomic state to modeset_global_resources() functions
Follow up patches will convert some functions called from there to use
the atomic state, instead of directly accessing the new or current
config. This patch just changes the parameters, but shouldn't have any
functional changes.
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 40e2ec657dcb0ae328db1abc8e37df4caa893391
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Wed Mar 25 21:14:26 2015 +0100
x86/irq/tracing: Move ARCH_LOCKDEP_SYS_EXIT defines closer to their users
This change simply moves defines around (even if it's not
obvious in a patch form). Nothing is changed.
This is a preparation for folding ARCH_LOCKDEP_SYS_EXIT defines
into their users.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427314468-12763-2-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit baa9946e32f9f26e740721c1f972de87c095baa9
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Mon Mar 16 20:59:09 2015 +0100
pinctrl: constify of_device_id array
of_device_id is always used as const.
(See driver.of_match_table and open firmware functions)
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx>
Acked-by: Patrice Chotard <patrice.chotard@xxxxxx>
Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx>
Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx>
Acked-by: Lee Jones <lee@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 47eb582e702880c302036d17341c7ea1a7dc2a53
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Wed Mar 25 18:18:15 2015 +0100
x86/asm/entry/64: Use smaller instructions
The $AUDIT_ARCH_X86_64 parameter to syscall_trace_enter_phase1/2
is a 32-bit constant, loading it with 32-bit MOV produces 5-byte
insn instead of 10-byte MOVABS one.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427303896-24023-3-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 146b2b097d7a322b64b88a927fc5d870fc79a60b
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Wed Mar 25 18:18:13 2015 +0100
x86/asm/entry/64: Use better label name, fix comments
A named label "ret_from_sys_call" implies that there are jumps
to this location from elsewhere, as happens with many other
labels in this file.
But this label is used only by the JMP a few insns above.
To make that obvious, use local numeric label instead.
Improve comments:
"and return regs->ax" isn't too informative. We always return
regs->ax.
The comment suggesting that it'd be cool to use rip relative
addressing for CALL is deleted. It's unclear why that would be
an improvement - we aren't striving to use position-independent
code here. PIC code here would require something like LEA
sys_call_table(%rip),reg + CALL *(reg,%rax*8)...
"iret frame is also incomplete" is no longer true, fix that too.
Also fix typo in comment.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427303896-24023-1-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 2208bf115fecae211480ea41d25e6d56ec20d405
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Thu Nov 13 19:17:34 2014 +0200
ARM: OMAP2+: control: determine control module base address from DT
There is no need to provide the control module base address through a
low-level API from the low-level IO init, as this information is
available through DT. This patch adds a new API to initialize the
control module though, but mostly makes the old API obsolete. The
old API can be completely removed once OMAP3 is made DT only.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit ae521d4d9c54995df1e0fb53ef6820374a3cae4e
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Tue Nov 11 17:17:18 2014 +0200
ARM: OMAP2+: PRM: determine PRM base address from device tree
There is no need to provide the PRM base address through a low-level API
from the low-level IO init, as this information is available through DT.
Re-routed the parsing function to be called from the PRM drivers also to
simplify the implementation under io.c.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 5970ca2db960b2c14e077d27950e402e063298e6
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Tue Nov 11 16:51:52 2014 +0200
ARM: OMAP2+: CM: determine CM base address from device tree
There is no need to provide the CM base address through a low-level API
from the low-level IO init, as this information is available through DT.
Re-routed the parsing function to be called from the CM drivers also to
simplify the implementation under io.c.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit fe87414f71d0035756cf91a80ac256557d16b488
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Wed Mar 12 18:33:45 2014 +0200
ARM: OMAP2+: PRCM: split PRCM module init to their own driver files
Splits the clock related provider module inits under their own driver
files.
Previously this was done for all modules under the common PRM driver.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 9f029b1579b2dfe291006e5bfe8e7d0c4ef20828
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Wed Oct 22 15:15:36 2014 +0300
ARM: OMAP2+: clock: move clock provider infrastructure to clock driver
Splits the clock provider init out of the PRM driver and moves it to
clock driver. This is needed so that once the PRCM drivers are separated,
they can logically just access the clock driver not needing to go through
common PRM code. This would be wrong in the case of control module for
example.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 4024efb4047df0f317065571bd6ee9de3ab79512
Author: Baruch Siach <baruch@xxxxxxxxxx>
Date: Thu Mar 19 22:17:42 2015 +0200
pinctrl: pinconf-generic: add dt node names to error messages
This makes the error message much more useful.
Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit c7289500e29df3441a7167861424e7d77a167dfb
Author: Baruch Siach <baruch@xxxxxxxxxx>
Date: Thu Mar 19 22:17:41 2015 +0200
pinctrl: pinconf-generic: scan also referenced phandle node
Make pinconf_generic_dt_node_to_map() also scan the dt pin configuration
node
directly referenced by phandle, not only its child nodes.
The "parent scan" feature needs a few other changes:
* Move the pinconf_generic_dt_node_to_map() error handling code to a
common
place, under the 'exit' label.
* Move the pins/groups strings count earlier in
pinconf_generic_dt_subnode_to_map(), to allow us to bail out early
when
these properties are missing or wrong
Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit ccd41c86ad4d464d0ed4e48d80759ff85c2115b0
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Wed Feb 25 15:56:04 2015 +0100
perf: Fix racy group access
While looking at some fuzzer output I noticed that we do not hold any
locks on leader->ctx and therefore the sibling_list iteration is
unsafe.
Acquire the relevant ctx->mutex before calling into the pmu specific
code.
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Vince Weaver <vincent.weaver@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Sasha Levin <sasha.levin@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/20150225151639.GL5029@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 9332d250b4b4f67c633894b311e022e3cf943bd5
Author: David Ahern <dsahern@xxxxxxxxx>
Date: Wed Feb 18 10:45:43 2015 -0700
perf/x86: Remove redundant calls to perf_pmu_{dis|en}able()
perf_pmu_disable() is called before pmu->add() and perf_pmu_enable() is
called
afterwards. No need to call these inside of x86_pmu_add() as well.
Signed-off-by: David Ahern <dsahern@xxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1424281543-67335-1-git-send-email-dsahern@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 936c663aed930972f7e185485fd6c2da69e33819
Merge: 072e5a1 50f16a8
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Fri Mar 27 09:46:19 2015 +0100
Merge branch 'perf/x86' into perf/core, because it's ready
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 072e5a1cfabca7276744d24726e094d85721df5c
Merge: 294fe0f d525211
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Fri Mar 27 09:46:03 2015 +0100
Merge branch 'perf/urgent' into perf/core, to pick up fixes and to
refresh the tree
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit fe5fba05b46c791c95a9f34228ac495f81f72fc0
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Tue Mar 17 12:39:10 2015 +0100
time: Add ktime_get_tai_ns()
Because it was the only clock for which we didn't have a _ns()
accessor yet.
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit f09cb9a1808e35ad7502ea39b6bfb443c7fa0f19
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Thu Mar 19 09:39:08 2015 +0100
time: Introduce tk_fast_raw
Add the NMI safe CLOCK_MONOTONIC_RAW accessor..
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150319093400.562746929@xxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 4498e7467e9e441c18ca12f1ca08460356e0508a
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Thu Mar 19 09:36:19 2015 +0100
time: Parametrize all tk_fast_mono users
In preparation for more tk_fast instances, remove all hard-coded
tk_fast_mono references.
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150319093400.484279927@xxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 4a4ad80d32cea69ee93bd4589f24dc478804cd80
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Thu Mar 19 09:28:44 2015 +0100
time: Add timerkeeper::tkr_raw
Introduce tkr_raw and make use of it.
base_raw -> tkr_raw.base
clock->{mult,shift} -> tkr_raw.{mult.shift}
Kill timekeeping_get_ns_raw() in favour of
timekeeping_get_ns(&tkr_raw), this removes all mono_raw special
casing.
Duplicate the updates to tkr_mono.cycle_last into tkr_raw.cycle_last,
both need the same value.
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150319093400.422589590@xxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 876e78818def2983be55878b21f7152fbaebbd36
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Thu Mar 19 10:09:06 2015 +0100
time: Rename timekeeper::tkr to timekeeper::tkr_mono
In preparation of adding another tkr field, rename this one to
tkr_mono. Also rename tk_read_base::base_mono to tk_read_base::base,
since the structure is not specific to CLOCK_MONOTONIC and the mono
name got added to the tk_read_base instance.
Lots of trivial churn.
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150319093400.344679419@xxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 7bd3e239d6c6d1cad276e8f130b386df4234dcd7
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Thu Mar 26 17:45:37 2015 +0100
locking: Remove atomicy checks from {READ,WRITE}_ONCE
The fact that volatile allows for atomic load/stores is a special case
not a requirement for {READ,WRITE}_ONCE(). Their primary purpose is to
force the compiler to emit load/stores _once_.
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Paul McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a1963b81deec54c113e770b0020e5f1c3188a087
Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Date: Tue Mar 17 19:15:31 2015 +0800
sched/deadline: Fix rt runtime corruption when dl fails its global
constraints
One version of sched_rt_global_constaints() (the !rt-cgroup one)
changes state, therefore if we fail the later
sched_dl_global_constraints()
call the state is left in an inconsistent state.
Fix this by changing the order of the calls.
Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
[ Improved the changelog. ]
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: Juri Lelli <juri.lelli@xxxxxxx>
Link:
http://lkml.kernel.org/r/1426590931-4639-2-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit bd4bde14b93cce8fa77765ff709e0be55abdba2c
Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
Date: Tue Mar 17 19:15:30 2015 +0800
sched/deadline: Avoid a superfluous check
Since commit 40767b0dc768 ("sched/deadline: Fix deadline parameter
modification handling") we clear the thottled state when switching
from a dl task, therefore we should never find it set in switching to
a dl task.
Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx>
[ Improved the changelog. ]
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: Juri Lelli <juri.lelli@xxxxxxx>
Link:
http://lkml.kernel.org/r/1426590931-4639-1-git-send-email-wanpeng.li@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit d4573c3e1c992668f5dcd57d1c2ced56ae9650b9
Author: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 26 18:32:44 2015 +0530
sched: Improve load balancing in the presence of idle CPUs
When a CPU is kicked to do nohz idle balancing, it wakes up to do load
balancing on itself, followed by load balancing on behalf of idle CPUs.
But it may end up with load after the load balancing attempt on itself.
This aborts nohz idle balancing. As a result several idle CPUs are left
without tasks till such a time that an ILB CPU finds it unfavorable to
pull tasks upon itself. This delays spreading of load across idle CPUs
and worse, clutters only a few CPUs with tasks.
The effect of the above problem was observed on an SMT8 POWER server
with 2 levels of numa domains. Busy loops equal to number of cores were
spawned. Since load balancing on fork/exec is discouraged across numa
domains, all busy loops would start on one of the numa domains. However
it was expected that eventually one busy loop would run per core across
all domains due to nohz idle load balancing. But it was observed that it
took as long as 10 seconds to spread the load across numa domains.
Further investigation showed that this was a consequence of the
following:
1. An ILB CPU was chosen from the first numa domain to trigger nohz idle
load balancing [Given the experiment, upto 6 CPUs per core could be
potentially idle in this domain.]
2. However the ILB CPU would call load_balance() on itself before
initiating nohz idle load balancing.
3. Given cores are SMT8, the ILB CPU had enough opportunities to pull
tasks from its sibling cores to even out load.
4. Now that the ILB CPU was no longer idle, it would abort nohz idle
load balancing
As a result the opportunities to spread load across numa domains were
lost until such a time that the cores within the first numa domain had
equal number of tasks among themselves. This is a pretty bad scenario,
since the cores within the first numa domain would have as many as 4
tasks each, while cores in the neighbouring numa domains would all
remain idle.
Fix this, by checking if a CPU was woken up to do nohz idle load
balancing, before it does load balancing upon itself. This way we allow
idle CPUs across the system to do load balancing which results in
quicker spread of load, instead of performing load balancing within the
local sched domain hierarchy of the ILB CPU alone under circumstances
such as above.
Signed-off-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Reviewed-by: Jason Low <jason.low2@xxxxxx>
Cc: benh@xxxxxxxxxxxxxxxxxxx
Cc: daniel.lezcano@xxxxxxxxxx
Cc: efault@xxxxxx
Cc: iamjoonsoo.kim@xxxxxxx
Cc: morten.rasmussen@xxxxxxx
Cc: pjt@xxxxxxxxxx
Cc: riel@xxxxxxxxxx
Cc: srikar@xxxxxxxxxxxxxxxxxx
Cc: svaidy@xxxxxxxxxxxxxxxxxx
Cc: tim.c.chen@xxxxxxxxxxxxxxx
Cc: vincent.guittot@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/20150326130014.21532.17158.stgit@xxxxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit dfbca41f347997e57048a53755611c8e2d792924
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Mon Mar 23 14:19:05 2015 +0100
sched: Optimize freq invariant accounting
Currently the freq invariant accounting (in
__update_entity_runnable_avg() and sched_rt_avg_update()) get the
scale factor from a weak function call, this means that even for archs
that default on their implementation the compiler cannot see into this
function and optimize the extra scaling math away.
This is sad, esp. since its a 64-bit multiplication which can be quite
costly on some platforms.
So replace the weak function with #ifdef and __always_inline goo. This
is not quite as nice from an arch support PoV but should at least
result in compile time errors if done wrong.
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Ben Segall <bsegall@xxxxxxxxxx>
Cc: Morten.Rasmussen@xxxxxxx
Cc: Paul Turner <pjt@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Cc: dietmar.eggemann@xxxxxxx
Cc: efault@xxxxxx
Cc: kamalesh@xxxxxxxxxxxxxxxxxx
Cc: nicolas.pitre@xxxxxxxxxx
Cc: preeti@xxxxxxxxxxxxxxxxxx
Cc: riel@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/20150323131905.GF23123@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 1aaf90a4b88aae26a4535ba01dacab520a310d17
Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Date: Fri Feb 27 16:54:14 2015 +0100
sched: Move CFS tasks to CPUs with higher capacity
When a CPU is used to handle a lot of IRQs or some RT tasks, the remaining
capacity for CFS tasks can be significantly reduced. Once we detect such
situation by comparing cpu_capacity_orig and cpu_capacity, we trig an idle
load balance to check if it's worth moving its tasks on an idle CPU.
It's worth trying to move the task before the CPU is fully utilized to
minimize the preemption by irq or RT tasks.
Once the idle load_balance has selected the busiest CPU, it will look for
an
active load balance for only two cases:
- There is only 1 task on the busiest CPU.
- We haven't been able to move a task of the busiest rq.
A CPU with a reduced capacity is included in the 1st case, and it's worth
to
actively migrate its task if the idle CPU has got more available capacity
for
CFS tasks. This test has been added in need_active_balance.
As a sidenote, this will not generate more spurious ilb because we already
trig an ilb if there is more than 1 busy cpu. If this cpu is the only one
that
has a task, we will trig the ilb once for migrating the task.
The nohz_kick_needed function has been cleaned up a bit while adding the
new
test
env.src_cpu and env.src_rq must be set unconditionnally because they are
used
in need_active_balance which is called even if busiest->nr_running equals
1
Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Morten.Rasmussen@xxxxxxx
Cc: dietmar.eggemann@xxxxxxx
Cc: efault@xxxxxx
Cc: kamalesh@xxxxxxxxxxxxxxxxxx
Cc: linaro-kernel@xxxxxxxxxxxxxxxx
Cc: nicolas.pitre@xxxxxxxxxx
Cc: preeti@xxxxxxxxxxxxxxxxxx
Cc: riel@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1425052454-25797-12-git-send-email-vincent.guittot@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit caff37ef96eac7fe96a582d032f6958e834e9447
Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Date: Fri Feb 27 16:54:13 2015 +0100
sched: Add SD_PREFER_SIBLING for SMT level
Add the SD_PREFER_SIBLING flag for SMT level in order to ensure that
the scheduler will place at least one task per core.
Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Reviewed-by: Preeti U. Murthy <preeti@xxxxxxxxxxxxxxxxxx>
Cc: Morten.Rasmussen@xxxxxxx
Cc: dietmar.eggemann@xxxxxxx
Cc: efault@xxxxxx
Cc: kamalesh@xxxxxxxxxxxxxxxxxx
Cc: linaro-kernel@xxxxxxxxxxxxxxxx
Cc: nicolas.pitre@xxxxxxxxxx
Cc: riel@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1425052454-25797-11-git-send-email-vincent.guittot@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit dc7ff76eadb4b89fd39bb466b8f3773e5467c11d
Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Date: Tue Mar 3 11:35:03 2015 +0100
sched: Remove unused struct sched_group_capacity::capacity_orig
The 'struct sched_group_capacity::capacity_orig' field is no longer used
in the scheduler so we can remove it.
Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Morten.Rasmussen@xxxxxxx
Cc: dietmar.eggemann@xxxxxxx
Cc: efault@xxxxxx
Cc: kamalesh@xxxxxxxxxxxxxxxxxx
Cc: linaro-kernel@xxxxxxxxxxxxxxxx
Cc: nicolas.pitre@xxxxxxxxxx
Cc: preeti@xxxxxxxxxxxxxxxxxx
Cc: riel@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1425378903-5349-1-git-send-email-vincent.guittot@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit ea67821b9a3edadf602b7772a0b2a69657ced746
Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Date: Fri Feb 27 16:54:11 2015 +0100
sched: Replace capacity_factor by usage
The scheduler tries to compute how many tasks a group of CPUs can handle
by
assuming that a task's load is SCHED_LOAD_SCALE and a CPU's capacity is
SCHED_CAPACITY_SCALE.
'struct sg_lb_stats:group_capacity_factor' divides the capacity of the
group
by SCHED_LOAD_SCALE to estimate how many task can run in the group. Then,
it
compares this value with the sum of nr_running to decide if the group is
overloaded or not.
But the 'group_capacity_factor' concept is hardly working for SMT
systems, it
sometimes works for big cores but fails to do the right thing for little
cores.
Below are two examples to illustrate the problem that this patch solves:
1- If the original capacity of a CPU is less than SCHED_CAPACITY_SCALE
(640 as an example), a group of 3 CPUS will have a max capacity_factor
of 2
(div_round_closest(3x640/1024) = 2) which means that it will be seen as
overloaded even if we have only one task per CPU.
2 - If the original capacity of a CPU is greater than SCHED_CAPACITY_SCALE
(1512 as an example), a group of 4 CPUs will have a capacity_factor of
4
(at max and thanks to the fix [0] for SMT system that prevent the
apparition
of ghost CPUs) but if one CPU is fully used by rt tasks (and its
capacity is
reduced to nearly nothing), the capacity factor of the group will
still be 4
(div_round_closest(3*1512/1024) = 5 which is cap to 4 with [0]).
So, this patch tries to solve this issue by removing capacity_factor and
replacing it with the 2 following metrics:
- The available CPU's capacity for CFS tasks which is already used by
load_balance().
- The usage of the CPU by the CFS tasks. For the latter,
utilization_avg_contrib
has been re-introduced to compute the usage of a CPU by CFS tasks.
'group_capacity_factor' and 'group_has_free_capacity' has been removed
and replaced
by 'group_no_capacity'. We compare the number of task with the number of
CPUs and
we evaluate the level of utilization of the CPUs to define if a group is
overloaded or if a group has capacity to handle more tasks.
For SD_PREFER_SIBLING, a group is tagged overloaded if it has more than 1
task
so it will be selected in priority (among the overloaded groups). Since
[1],
SD_PREFER_SIBLING is no more concerned by the computation of
'load_above_capacity'
because local is not overloaded.
[1] 9a5d9ba6a363 ("sched/fair: Allow calculate_imbalance() to move idle
cpus")
Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Morten.Rasmussen@xxxxxxx
Cc: dietmar.eggemann@xxxxxxx
Cc: efault@xxxxxx
Cc: kamalesh@xxxxxxxxxxxxxxxxxx
Cc: linaro-kernel@xxxxxxxxxxxxxxxx
Cc: nicolas.pitre@xxxxxxxxxx
Cc: preeti@xxxxxxxxxxxxxxxxxx
Cc: riel@xxxxxxxxxx
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1425052454-25797-9-git-send-email-vincent.guittot@xxxxxxxxxx
[ Tidied up the changelog. ]
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 8bb5b00c2f90100a272b09a9d17ec7875d088aa7
Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Date: Wed Mar 4 08:48:47 2015 +0100
sched: Calculate CPU's usage statistic and put it into struct
sg_lb_stats::group_usage
Monitor the usage level of each group of each sched_domain level. The
usage is
the portion of cpu_capacity_orig that is currently used on a CPU or group
of
CPUs. We use the utilization_load_avg to evaluate the usage level of each
group.
The utilization_load_avg only takes into account the running time of the
CFS
tasks on a CPU with a maximum value of SCHED_LOAD_SCALE when the CPU is
fully
utilized. Nevertheless, we must cap utilization_load_avg which can be
temporally greater than SCHED_LOAD_SCALE after the migration of a task on
this
CPU and until the metrics are stabilized.
The utilization_load_avg is in the range [0..SCHED_LOAD_SCALE] to reflect
the
running load on the CPU whereas the available capacity for the CFS task
is in
the range [0..cpu_capacity_orig]. In order to test if a CPU is fully
utilized
by CFS tasks, we have to scale the utilization in the cpu_capacity_orig
range
of the CPU to get the usage of the latter. The usage can then be compared
with
the available capacity (ie cpu_capacity) to deduct the usage level of a
CPU.
The frequency scaling invariance of the usage is not taken into account
in this
patch, it will be solved in another patch which will deal with frequency
scaling invariance on the utilization_load_avg.
Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: Morten Rasmussen <morten.rasmussen@xxxxxxx>
Cc: Morten.Rasmussen@xxxxxxx
Cc: dietmar.eggemann@xxxxxxx
Cc: efault@xxxxxx
Cc: kamalesh@xxxxxxxxxxxxxxxxxx
Cc: linaro-kernel@xxxxxxxxxxxxxxxx
Cc: nicolas.pitre@xxxxxxxxxx
Cc: preeti@xxxxxxxxxxxxxxxxxx
Cc: riel@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1425455327-13508-1-git-send-email-vincent.guittot@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit ca6d75e6908efbc350d536e0b496ebdac36b20d2
Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Date: Fri Feb 27 16:54:09 2015 +0100
sched: Add struct rq::cpu_capacity_orig
This new field 'cpu_capacity_orig' reflects the original capacity of a CPU
before being altered by rt tasks and/or IRQ
The cpu_capacity_orig will be used:
- to detect when the capacity of a CPU has been noticeably reduced so
we can
trig load balance to look for a CPU with better capacity. As an
example, we
can detect when a CPU handles a significant amount of irq
(with CONFIG_IRQ_TIME_ACCOUNTING) but this CPU is seen as an idle CPU
by
scheduler whereas CPUs, which are really idle, are available.
- evaluate the available capacity for CFS tasks
Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Reviewed-by: Kamalesh Babulal <kamalesh@xxxxxxxxxxxxxxxxxx>
Acked-by: Morten Rasmussen <morten.rasmussen@xxxxxxx>
Cc: Morten.Rasmussen@xxxxxxx
Cc: dietmar.eggemann@xxxxxxx
Cc: efault@xxxxxx
Cc: linaro-kernel@xxxxxxxxxxxxxxxx
Cc: nicolas.pitre@xxxxxxxxxx
Cc: preeti@xxxxxxxxxxxxxxxxxx
Cc: riel@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1425052454-25797-7-git-send-email-vincent.guittot@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit b5b4860d1d61ddc5308c7d492cbeaa3a6e508d7f
Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Date: Fri Feb 27 16:54:08 2015 +0100
sched: Make scale_rt invariant with frequency
The average running time of RT tasks is used to estimate the remaining
compute
capacity for CFS tasks. This remaining capacity is the original capacity
scaled
down by a factor (aka scale_rt_capacity). This estimation of available
capacity
must also be invariant with frequency scaling.
A frequency scaling factor is applied on the running time of the RT tasks
for
computing scale_rt_capacity.
In sched_rt_avg_update(), we now scale the RT execution time like below:
rq->rt_avg += rt_delta * arch_scale_freq_capacity() >>
SCHED_CAPACITY_SHIFT
Then, scale_rt_capacity can be summarized by:
scale_rt_capacity = SCHED_CAPACITY_SCALE * available / total
with available = total - rq->rt_avg
This has been been optimized in current code by:
scale_rt_capacity = available / (total >> SCHED_CAPACITY_SHIFT)
But we can also developed the equation like below:
scale_rt_capacity = SCHED_CAPACITY_SCALE - ((rq->rt_avg <<
SCHED_CAPACITY_SHIFT) / total)
and we can optimize the equation by removing SCHED_CAPACITY_SHIFT shift in
the computation of rq->rt_avg and scale_rt_capacity().
so rq->rt_avg += rt_delta * arch_scale_freq_capacity()
and
scale_rt_capacity = SCHED_CAPACITY_SCALE - (rq->rt_avg / total)
arch_scale_frequency_capacity() will be called in the hot path of the
scheduler
which implies to have a short and efficient function.
As an example, arch_scale_frequency_capacity() should return a cached
value that
is updated periodically outside of the hot path.
Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: Morten Rasmussen <morten.rasmussen@xxxxxxx>
Cc: Morten.Rasmussen@xxxxxxx
Cc: dietmar.eggemann@xxxxxxx
Cc: efault@xxxxxx
Cc: kamalesh@xxxxxxxxxxxxxxxxxx
Cc: linaro-kernel@xxxxxxxxxxxxxxxx
Cc: nicolas.pitre@xxxxxxxxxx
Cc: preeti@xxxxxxxxxxxxxxxxxx
Cc: riel@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1425052454-25797-6-git-send-email-vincent.guittot@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 0c1dc6b27dac883ee78392189c8e20e764d79bfa
Author: Morten Rasmussen <morten.rasmussen@xxxxxxx>
Date: Wed Mar 4 08:46:26 2015 +0100
sched: Make sched entity usage tracking scale-invariant
Apply frequency scale-invariance correction factor to usage tracking.
Each segment of the running_avg_sum geometric series is now scaled by the
current frequency so the utilization_avg_contrib of each entity will be
invariant with frequency scaling.
As a result, utilization_load_avg which is the sum of
utilization_avg_contrib,
becomes invariant too. So the usage level that is returned by
get_cpu_usage(),
stays relative to the max frequency as the cpu_capacity which is is
compared against.
Then, we want the keep the load tracking values in a 32-bit type, which
implies
that the max value of {runnable|running}_avg_sum must be lower than
2^32/88761=48388 (88761 is the max weigth of a task). As LOAD_AVG_MAX =
47742,
arch_scale_freq_capacity() must return a value less than
(48388/47742) << SCHED_CAPACITY_SHIFT = 1037 (SCHED_SCALE_CAPACITY =
1024).
So we define the range to [0..SCHED_SCALE_CAPACITY] in order to avoid
overflow.
Signed-off-by: Morten Rasmussen <morten.rasmussen@xxxxxxx>
Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Paul Turner <pjt@xxxxxxxxxx>
Cc: Ben Segall <bsegall@xxxxxxxxxx>
Cc: Ben Segall <bsegall@xxxxxxxxxx>
Cc: Morten.Rasmussen@xxxxxxx
Cc: Paul Turner <pjt@xxxxxxxxxx>
Cc: dietmar.eggemann@xxxxxxx
Cc: efault@xxxxxx
Cc: kamalesh@xxxxxxxxxxxxxxxxxx
Cc: linaro-kernel@xxxxxxxxxxxxxxxx
Cc: nicolas.pitre@xxxxxxxxxx
Cc: preeti@xxxxxxxxxxxxxxxxxx
Cc: riel@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1425455186-13451-1-git-send-email-vincent.guittot@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a8faa8f55d48496f64d96df48298e54fd380f6af
Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Date: Fri Feb 27 16:54:06 2015 +0100
sched: Remove frequency scaling from cpu_capacity
Now that arch_scale_cpu_capacity has been introduced to scale the original
capacity, the arch_scale_freq_capacity is no longer used (it was
previously used by ARM arch).
Remove arch_scale_freq_capacity from the computation of cpu_capacity.
The frequency invariance will be handled in the load tracking and not in
the CPU capacity. arch_scale_freq_capacity will be revisited for scaling
load with the current frequency of the CPUs in a later patch.
Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: Morten Rasmussen <morten.rasmussen@xxxxxxx>
Cc: Morten.Rasmussen@xxxxxxx
Cc: dietmar.eggemann@xxxxxxx
Cc: efault@xxxxxx
Cc: kamalesh@xxxxxxxxxxxxxxxxxx
Cc: linaro-kernel@xxxxxxxxxxxxxxxx
Cc: nicolas.pitre@xxxxxxxxxx
Cc: preeti@xxxxxxxxxxxxxxxxxx
Cc: riel@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1425052454-25797-4-git-send-email-vincent.guittot@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 21f4486630b0bd1b6dbcc04f61836987fa54278f
Author: Morten Rasmussen <morten.rasmussen@xxxxxxx>
Date: Fri Feb 27 16:54:05 2015 +0100
sched: Track group sched_entity usage contributions
Add usage contribution tracking for group entities. Unlike
se->avg.load_avg_contrib, se->avg.utilization_avg_contrib for group
entities is the sum of se->avg.utilization_avg_contrib for all entities
on the
group runqueue.
It is _not_ influenced in any way by the task group h_load. Hence it is
representing the actual cpu usage of the group, not its intended load
contribution which may differ significantly from the utilization on
lightly utilized systems.
Signed-off-by: Morten Rasmussen <morten.rasmussen@xxxxxxx>
Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Paul Turner <pjt@xxxxxxxxxx>
Cc: Ben Segall <bsegall@xxxxxxxxxx>
Cc: Ben Segall <bsegall@xxxxxxxxxx>
Cc: Morten.Rasmussen@xxxxxxx
Cc: Paul Turner <pjt@xxxxxxxxxx>
Cc: dietmar.eggemann@xxxxxxx
Cc: efault@xxxxxx
Cc: kamalesh@xxxxxxxxxxxxxxxxxx
Cc: linaro-kernel@xxxxxxxxxxxxxxxx
Cc: nicolas.pitre@xxxxxxxxxx
Cc: preeti@xxxxxxxxxxxxxxxxxx
Cc: riel@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1425052454-25797-3-git-send-email-vincent.guittot@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 36ee28e45df50c2c8624b978335516e42d84ae1f
Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Date: Fri Feb 27 16:54:04 2015 +0100
sched: Add sched_avg::utilization_avg_contrib
Add new statistics which reflect the average time a task is running on
the CPU
and the sum of these running time of the tasks on a runqueue. The latter
is
named utilization_load_avg.
This patch is based on the usage metric that was proposed in the 1st
versions of the per-entity load tracking patchset by Paul Turner
<pjt@xxxxxxxxxx> but that has be removed afterwards. This version differs
from
the original one in the sense that it's not linked to task_group.
The rq's utilization_load_avg will be used to check if a rq is overloaded
or
not instead of trying to compute how many tasks a group of CPUs can
handle.
Rename runnable_avg_period into avg_period as it is now used with both
runnable_avg_sum and running_avg_sum.
Add some descriptions of the variables to explain their differences.
Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Acked-by: Morten Rasmussen <morten.rasmussen@xxxxxxx>
Cc: Paul Turner <pjt@xxxxxxxxxx>
Cc: Ben Segall <bsegall@xxxxxxxxxx>
Cc: Ben Segall <bsegall@xxxxxxxxxx>
Cc: Morten.Rasmussen@xxxxxxx
Cc: Paul Turner <pjt@xxxxxxxxxx>
Cc: dietmar.eggemann@xxxxxxx
Cc: efault@xxxxxx
Cc: kamalesh@xxxxxxxxxxxxxxxxxx
Cc: linaro-kernel@xxxxxxxxxxxxxxxx
Cc: nicolas.pitre@xxxxxxxxxx
Cc: preeti@xxxxxxxxxxxxxxxxxx
Cc: riel@xxxxxxxxxx
Link:
http://lkml.kernel.org/r/1425052454-25797-2-git-send-email-vincent.guittot@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 12149a20b86330d6eac71edaad0357541abdcd05
Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 19 11:30:47 2015 +0100
pinctrl: mvebu: add suspend/resume support to Armada XP pinctrl driver
This commit adds suspend/resume support to the Armada XP pinctrl
driver, by simply saving and restoring the MPP registers.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit c4b40493de668a86856602a4cf19bf0d809e2681
Author: kbuild test robot <fengguang.wu@xxxxxxxxx>
Date: Thu Mar 19 17:40:02 2015 +0800
altera_gpio_probe() can be static
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 72744cb13c9ccc248331462f35468398160338bf
Author: Michel Thierry <michel.thierry@xxxxxxxxx>
Date: Tue Mar 24 15:46:23 2015 +0000
drm/i915: Add dynamic page trace events
Traces for page directories and tables allocation and map.
v2: Removed references to teardown.
v3: bitmap_scnprintf has been deprecated.
v4: Replace bitmap_scnprintf with scnprintf correctly, and get right
range lengths. (Mika)
Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx>
Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx>
Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 4933d51955aca6d2b05da5a7afe25f156016dfa8
Author: Michel Thierry <michel.thierry@xxxxxxxxx>
Date: Tue Mar 24 15:46:22 2015 +0000
drm/i915: Finish gen6/7 dynamic page table allocation
This patch continues on the idea from "Track GEN6 page table usage".
From here on, in the steady state, PDEs are all pointing to the scratch
page table (as recommended in the spec). When an object is allocated in
the VA range, the code will determine if we need to allocate a page for
the page table. Similarly when the object is destroyed, we will remove,
and free the page table pointing the PDE back to the scratch page.
Following patches will work to unify the code a bit as we bring in GEN8
support. GEN6 and GEN8 are different enough that I had a hard time to
get to this point with as much common code as I do.
The aliasing PPGTT must pre-allocate all of the page tables. There are a
few reasons for this. Two trivial ones: aliasing ppgtt goes through the
ggtt paths, so it's hard to maintain, we currently do not restore the
default context (assuming the previous force reload is indeed
necessary). Most importantly though, the only way (it seems from
empirical evidence) to invalidate the CS TLBs on non-render ring is to
either use ring sync (which requires actually stopping the rings in
order to synchronize when the sync completes vs. where you are in
execution), or to reload DCLV. Since without full PPGTT we do not ever
reload the DCLV register, there is no good way to achieve this. The
simplest solution is just to not support dynamic page table
creation/destruction in the aliasing PPGTT.
We could always reload DCLV, but this seems like quite a bit of excess
overhead only to save at most 2MB-4k of memory for the aliasing PPGTT
page tables.
v2: Make the page table bitmap declared inside the function (Chris)
Simplify the way scratching address space works.
Move the alloc/teardown tracepoints up a level in the call stack so that
both all implementations get the trace.
v3: Updated trace event to spit out a name
v4: Aliasing ppgtt is now initialized differently (in setup global gtt)
v5: Rebase to latest code. Also removed unnecessary aliasing ppgtt check
for trace, as it is no longer possible after the PPGTT cleanup patch
series
of a couple of months ago (Daniel).
v6: Implement changes from code review (Daniel):
- allocate/teardown_va_range calls added.
- Add a scratch page allocation helper (only need the address).
- Move trace events to a new patch.
- Use updated mark_tlbs_dirty.
- Moved pt preallocation for aliasing ppgtt into gen6_ppgtt_init.
v7: teardown_va_range removed (Daniel).
In init, gen6_ppgtt_clear_range call is only needed for aliasing
ppgtt.
v8: Rebase after s/page_tables/page_table/.
v9: Remove unnecessary scratch flag in page_table struct, future patches
can just compare against ppgtt->scratch_pt, and alloc_pt_scratch becomes
redundant. Initialize scratch_pt and pt. (Mika)
v10: Clean up aliasing ppgtt init error path and prevent leaking the
ppgtt obj when init fails. (Mika)
Updated commit author. (Daniel)
Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx>
Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx>
Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v4+)
Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 59568eb59a20c743623de9c3247d4e22af1a3573
Author: Michel Thierry <michel.thierry@xxxxxxxxx>
Date: Tue Mar 24 15:46:21 2015 +0000
drm/i915: Remove unnecessary gen6_ppgtt_unmap_pages
We are already unmapping them in gen6_ppgtt_free. This function became
redundant since commit 06fda602dbca9c59d87db7da71192e4b54c9f5ff
("drm/i915: Create page table allocators").
Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx>
Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx>
Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 1266cdb1c236eabd49cbf1e45f401159fb4c21d1
Author: Michel Thierry <michel.thierry@xxxxxxxxx>
Date: Tue Mar 24 17:06:33 2015 +0000
drm/i915: Fix i915_dma_map_single positive error code
i915_dma_map_single relies on dma_mapping_error, which returns positive
error codes. Found by static checker.
Introduced by commit 678d96fbb3b5995a2fdff2bca5e1ab4a40b7e968
("drm/i915: Track GEN6 page table usage").
v2: Return negative error code and renamed commit title. (Dan)
v3: Missing reported-by tag (Daniel)
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx>
Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>
Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx>
Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit fdc454c1484a20e1345cf4e4d7a9feaee814147f
Author: Michel Thierry <michel.thierry@xxxxxxxxx>
Date: Tue Mar 24 15:46:19 2015 +0000
drm/i915: Prevent out of range pt in gen6_for_each_pde
Found by static analysis tool, this was harmless as the pt was not
used out of scope though.
Introduced by commit 678d96fbb3b5995a2fdff2bca5e1ab4a40b7e968
("drm/i915: Track GEN6 page table usage").
Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx>
Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx>
Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 294fe0f52a44c6f207211de0686c369a961b5533
Author: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Date: Tue Feb 17 18:18:06 2015 -0800
perf/x86/intel: Add INST_RETIRED.ALL workarounds
On Broadwell INST_RETIRED.ALL cannot be used with any period
that doesn't have the lowest 6 bits cleared. And the period
should not be smaller than 128.
This is erratum BDM11 and BDM55:
http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/5th-gen-core-family-spec-update.pdf
BDM11: When using a period < 100; we may get incorrect PEBS/PMI
interrupts and/or an invalid counter state.
BDM55: When bit0-5 of the period are !0 we may get redundant PEBS
records on overflow.
Add a new callback to enforce this, and set it for Broadwell.
How does this handle the case when an app requests a specific
period with some of the bottom bits set?
Short answer:
Any useful instruction sampling period needs to be 4-6 orders
of magnitude larger than 128, as an PMI every 128 instructions
would instantly overwhelm the system and be throttled.
So the +-64 error from this is really small compared to the
period, much smaller than normal system jitter.
Long answer (by Peterz):
IFF we guarantee perf_event_attr::sample_period >= 128.
Suppose we start out with sample_period=192; then we'll set period_left
to 192, we'll end up with left = 128 (we truncate the lower bits). We
get an interrupt, find that period_left = 64 (>0 so we return 0 and
don't get an overflow handler), up that to 128. Then we trigger again,
at n=256. Then we find period_left = -64 (<=0 so we return 1 and do get
an overflow). We increment with sample_period so we get left = 128. We
fire again, at n=384, period_left = 0 (<=0 so we return 1 and get an
overflow). And on and on.
So while the individual interrupts are 'wrong' we get then with
interval=256,128 in exactly the right ratio to average out at 192. And
this works for everything >=128.
So the num_samples*fixed_period thing is still entirely correct +- 127,
which is good enough I'd say, as you already have that error anyhow.
So no need to 'fix' the tools, al we need to do is refuse to create
INST_RETIRED:ALL events with sample_period < 128.
Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
[ Updated comments and changelog a bit. ]
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1424225886-18652-3-git-send-email-andi@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 91f1b70582c62576f429cf78d53751c66677553d
Author: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Date: Tue Feb 17 18:18:05 2015 -0800
perf/x86/intel: Add Broadwell core support
Add Broadwell support for Broadwell to perf.
The basic support is very similar to Haswell. We use the new cache
event list added for Haswell earlier. The only differences
are a few bits related to remote nodes. To avoid an extra,
mostly identical, table these are patched up in the initialization code.
The constraint list has one new event that needs to be handled over
Haswell.
Includes code and testing from Kan Liang.
Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1424225886-18652-2-git-send-email-andi@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 0f1b5ca240c65ed9533f193720f337bf24fb2f2f
Author: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Date: Tue Feb 17 18:18:04 2015 -0800
perf/x86/intel: Add new cache events table for Haswell
Haswell offcore events are quite different from Sandy Bridge.
Add a new table to handle Haswell properly.
Note that the offcore bits listed in the SDM are not quite correct
(this is currently being fixed). An uptodate list of bits is
in the patch.
The basic setup is similar to Sandy Bridge. The prefetch columns
have been removed, as prefetch counting is not very reliable
on Haswell. One L1 event that is not in the event list anymore
has been also removed.
- data reads do not include code reads (comparable to earlier Sandy
Bridge tables)
- data counts include speculative execution (except L1 write, dtlb, bpu)
- remote node access includes both remote memory, remote cache, remote
mmio.
- prefetches are not included in the counts for consistency
(different from Sandy Bridge, which includes prefetches in the remote
node)
Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
[ Removed the HSM30 comments; we don't have them for SNB/IVB either. ]
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1424225886-18652-1-git-send-email-andi@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 2c60fae1489c70206e66c28d72b69a3e496c313d
Author: Tommi Rantala <tt.rantala@xxxxxxxxx>
Date: Thu Mar 26 21:47:16 2015 +0200
drm/i915: fix definition of the DRM_IOCTL_I915_GET_SPRITE_COLORKEY ioctl
Fix definition of the DRM_IOCTL_I915_GET_SPRITE_COLORKEY ioctl, so that it
is different from the DRM_IOCTL_I915_SET_SPRITE_COLORKEY ioctl.
Note that this is just for accuracy, the ioctl implementation itself is
totally
unused and already ripped out.
Signed-off-by: Tommi Rantala <tt.rantala@xxxxxxxxx>
[danvet: Add note that this is a dead ioctl.]
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit a8265c59e22ae636617019dda602e1913bdaeca7
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date: Fri Mar 27 09:08:04 2015 +0100
drm/i915: Rip out GET_SPRITE_COLORKEY ioctl
It's completely unused and Tommi noticed that the #define is borked
since forever. I've done a git search in userspace and only found
broken definitions and no users anywhere.
Cc: Tommi Rantala <tt.rantala@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx>
commit 30fdaa6b11834fc19656c6127a50229ea42ec27b
Merge: baa5a7b 7c27f78
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Fri Mar 27 08:36:01 2015 +0100
Merge tag 'perf-core-for-mingo' of
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
User visible changes:
- Show the first event with an invalid filter (David Ahern, Arnaldo
Carvalho de Melo)
- Fix garbage output when intermixing syscalls from different threads
in 'perf trace' (Arnaldo Carvalho de Melo)
- Fix 'perf timechart' SIBGUS error on sparc64 (David Ahern)
Infrastructure changes:
- Set JOBS based on CPU or processor, making it work on SPARC, where
/proc/cpuinfo has "CPU", not "processor" (David Ahern)
- Zero should not be considered "not found" in libtraceevent's
eval_flag() (Steven Rostedt)
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 32fea568aec5b73ae27253125522b5c2a970a1f0
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Fri Mar 27 07:08:06 2015 +0100
timers, sched/clock: Clean up the code a bit
Trivial cleanups, to improve the readability of the generic sched_clock()
code:
- Improve and standardize comments
- Standardize the coding style
- Use vertical spacing where appropriate
- etc.
No code changed:
md5:
19a053b31e0c54feaeff1492012b019a sched_clock.o.before.asm
19a053b31e0c54feaeff1492012b019a sched_clock.o.after.asm
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
Cc: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 1809bfa44e1019e397fabaa6f2349bb7237e57a4
Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
Date: Thu Mar 26 12:23:26 2015 -0700
timers, sched/clock: Avoid deadlock during read from NMI
Currently it is possible for an NMI (or FIQ on ARM) to come in
and read sched_clock() whilst update_sched_clock() has locked
the seqcount for writing. This results in the NMI handler
locking up when it calls raw_read_seqcount_begin().
This patch fixes the NMI safety issues by providing banked clock
data. This is a similar approach to the one used in Thomas
Gleixner's 4396e058c52e("timekeeping: Provide fast and NMI safe
access to CLOCK_MONOTONIC").
Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Link:
http://lkml.kernel.org/r/1427397806-20889-6-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 9fee69a8c8070b38b558161a3f18bd5e2b664682
Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
Date: Thu Mar 26 12:23:25 2015 -0700
timers, sched/clock: Remove redundant notrace from update function
Currently update_sched_clock() is marked as notrace but this
function is not called by ftrace. This is trivially fixed by
removing the mark up.
Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Link:
http://lkml.kernel.org/r/1427397806-20889-5-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 13dbeb384d2d3aa555ea48d511e8cb110bd172e0
Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
Date: Thu Mar 26 12:23:24 2015 -0700
timers, sched/clock: Remove suspend from clock_read_data()
Currently cd.read_data.suspended is read by the hotpath function
sched_clock(). This variable need not be accessed on the
hotpath. In fact, once it is removed, we can remove the
conditional branches from sched_clock() and install a dummy
read_sched_clock function to suspend the clock.
The new master copy of the function pointer
(actual_read_sched_clock) is introduced and is used for all
reads of the clock hardware except those within sched_clock
itself.
Suggested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Link:
http://lkml.kernel.org/r/1427397806-20889-4-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit cf7c9c170787d6870af54684822f58acc00a966c
Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
Date: Thu Mar 26 12:23:23 2015 -0700
timers, sched/clock: Optimize cache line usage
Currently sched_clock(), a very hot code path, is not optimized
to minimise its cache profile. In particular:
1. cd is not ____cacheline_aligned,
2. struct clock_data does not distinguish between hotpath and
coldpath data, reducing locality of reference in the hotpath,
3. Some hotpath data is missing from struct clock_data and is marked
__read_mostly (which more or less guarantees it will not share a
cache line with cd).
This patch corrects these problems by extracting all hotpath
data into a separate structure and using ____cacheline_aligned
to ensure the hotpath uses a single (64 byte) cache line.
Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Link:
http://lkml.kernel.org/r/1427397806-20889-3-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 8710e914027e4f64058ebbf0501cc6db3cc8454f
Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
Date: Thu Mar 26 12:23:22 2015 -0700
timers, sched/clock: Match scope of read and write seqcounts
Currently the scope of the raw_write_seqcount_begin/end() in
sched_clock_register() far exceeds the scope of the read section
in sched_clock(). This gives the impression of safety during
cursory review but achieves little.
Note that this is likely to be a latent issue at present because
sched_clock_register() is typically called before we enable
interrupts, however the issue does risk bugs being needlessly
introduced as the code evolves.
This patch fixes the problem by increasing the scope of the read
locking performed by sched_clock() to cover all data modified by
sched_clock_register.
We also improve clarity by moving writes to struct clock_data
that do not impact sched_clock() outside of the critical
section.
Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
[ Reworked it slightly to apply to tip/timers/core]
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Link:
http://lkml.kernel.org/r/1427397806-20889-2-git-send-email-john.stultz@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 0d7ef4a6c03da2513beb21cc8028f1ac3075f64a
Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Date: Fri Mar 20 12:34:12 2015 +0100
clk: cdce706: Constify struct regmap_config
The regmap_config struct may be const because it is not modified by the
driver and regmap_init() accepts pointer to const.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
commit 217c8df6c9f3ba5b2831c01936a478b27d9c2fa9
Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Date: Fri Mar 20 12:34:11 2015 +0100
clk: si570: Constify struct regmap_config
The regmap_config struct may be const because it is not modified by the
driver and regmap_init() accepts pointer to const.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Reviewed-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
commit 8234caed27f7bce141c9fb1f7e76c91a2a66d248
Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Date: Fri Mar 20 12:34:10 2015 +0100
clk: si5351: Constify clock names and struct regmap_config
The regmap_config struct may be const because it is not modified by the
driver and regmap_init() accepts pointer to const.
Replace doubled const in the arrays of clock names with proper const
pointer to const data. This fixes the warnings:
drivers/clk/clk-si5351.c:71:25: warning: duplicate const
drivers/clk/clk-si5351.c:74:25: warning: duplicate const
drivers/clk/clk-si5351.c:77:25: warning: duplicate const
drivers/clk/clk-si5351.c:80:25: warning: duplicate const
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Reviewed-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
commit ae24b4095c2f9547d0f2ab2845155aabe4e564d0
Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx>
Date: Fri Mar 27 00:12:09 2015 -0700
i40e/i40evf: implement KR2 support
The new devices need a new device ID some other defines to
handle the new 20G speed for KR2.
Change-ID: I03f717e364afe59657e8c9ce5ffaad856b4b21df
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx>
Signed-off-by: Piotr Raczynski <piotr.raczynski@xxxxxxxxx>
Tested-by: Jim Young <james.m.young@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
commit d41bd923d3e624462c9d7a2fcff5b62eee5e7f7f
Author: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Date: Sat Nov 29 02:01:38 2014 +0800
clk: qcom: fix simple_return.cocci warnings
drivers/clk/qcom/clk-pll.c:74:1-4: WARNING: end returns can be simpified
Simplify a trivial if-return sequence. Possibly combine with a
preceding function call.
Generated by: scripts/coccinelle/misc/simple_return.cocci
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
commit b3261d768bcdd4b368179ed85becf38c95461848
Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Date: Thu Feb 26 19:34:35 2015 -0800
clk: qcom: Fix ipq806x LCC frequency tables
These frequency tables list the wrong rates. Either they don't
have the correct frequency at all, or they're specified in kHz
instead of Hz. Fix it.
Fixes: c99e515a92e9 "clk: qcom: Add IPQ806X LPASS clock controller (LCC)
driver"
Tested-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
commit 1018bc268864b20c1ae7b0bc5c5c396ee6d33fe3
Author: Christophe Ricard <christophe.ricard@xxxxxxxxx>
Date: Mon Mar 23 22:29:58 2015 +0100
tpm/st33zp24/spi: Add missing device table for spi phy.
MODULE_DEVICE_TABLE is missing in spi phy in case CONFIG_OF is not set.
Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx>
Signed-off-by: Peter Huewe <peterhuewe@xxxxxx>
commit 7216ebc51bdd62517be6878dd37555ff428a80c9
Author: Christophe Ricard <christophe.ricard@xxxxxxxxx>
Date: Mon Mar 23 22:29:56 2015 +0100
tpm/st33zp24: Add proper wait for ordinal duration in case of irq mode
In case the driver is configured to use irq, we are not waiting the answer
for a duration period to see the DATA_AVAIL status bit to raise but at
maximum timeout_c. This may result in critical failure as we will
not wait long enough for the command completion.
Reviewed-by: Jason Gunthorpe <jason.gunthorpe@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx>
Fixes: bf38b8710892 ("tpm/tpm_i2c_stm_st33: Split tpm_i2c_tpm_st33 in 2
layers (core + phy)")
Reviewed-by: Peter Huewe <peterhuewe@xxxxxx>
Signed-off-by: Peter Huewe <peterhuewe@xxxxxx>
commit 1efb53a220b78fdfdbb97b726a2156713e75bdab
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Tue Mar 24 01:07:08 2015 +0000
ASoC: simple-card: Remove support for setting differing DAI formats
Having to set different formats on the CPU side and the CODEC side of a
DAI
link is usually indication that something is terribly wrong and in most
cases is a result of a broken driver that implements a set_fmt() callback
which does not follow the specification. In the past this feature has been
used to work around broken drivers, rather than fixing them. We don't
really
want to encourage this, so remove support for setting different formats on
both ends of the link.
Along the way switch to static DAI format setup by setting the the dai_fmt
field of the snd_soc_dai_link rather than calling snd_soc_dai_fmt().
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 947a37cd38796f5b196a934353165a001cbcb0a9
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Tue Mar 24 01:06:40 2015 +0000
ARM: shmobile: armadillo800eva: fix clock inversion
When operating in left-justfied mode both the frame-clock and the
bit-clock need to be inverted to be standards compliant.
This means that the exta clock inversion setting in the armadillo800eva
machine driver for CPU component should now be removed.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit dd38c1d4a17cda2486883cef7ec1bd84b5095260
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date: Tue Mar 24 01:06:01 2015 +0000
ARM: shmobile: armadillo800eva: Properly specify HDMI audio link format
The DAI link format should be specified for the whole link rather than
just
one component on the link. So move the format specification for the HDMI
audio link from the CPU component to the link itself.
Since the sh-mobile-hdmi DAI driver doesn't implement the set_fmt()
callback
in this case there is no functional difference between only specifying the
the format for the CPU side or for the whole link, but the later it will
allow us to remove support for just specifying the format for one
component.
Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit b3a2a9076d3149781c8622d6a98a51045ff946e4
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Mar 23 19:27:19 2015 +0100
KVM: nVMX: Add support for rdtscp
If the guest CPU is supposed to support rdtscp and the host has rdtscp
enabled in the secondary execution controls, we can also expose this
feature to L1. Just extend nested_vmx_exit_handled to properly route
EXIT_REASON_RDTSCP.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
commit e34ff011c70e5f4ef219141711142d5111ae6ebb
Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx>
Date: Thu Mar 26 11:08:36 2015 +0100
spi: bcm2835: move to the transfer_one driver model
This also allows for GPIO-CS to get used removing the limitation of
2/3 SPI devises on the SPI bus.
Fixes: spi-cs-high with native CS with multiple devices on the spi-bus
resetting the chip selects to "normal" polarity after a finished
transfer.
No other functionality/improvements added.
Tested with the following 4 devices on the spi-bus:
* mcp2515 with native CS
* mcp2515 with gpio CS
* fb_st7735r with native CS
(plus spi-cs-high via transistor inverting polarity)
* enc28j60 with gpio-CS
Tested-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx>
Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit e56a951e01bf55f49533c47ad2ce61dbd613a3f3
Author: Liu Bo <bo.li.liu@xxxxxxxxxx>
Date: Tue Mar 17 14:34:16 2015 +0800
Btrfs: Remove the check for old-style mkfs
This was used to make sure that a fresh btrfs from an older mkfs.btrfs,
but it also allows us to mount a buggy btrfs if this btrfs has the right
superblock head part but has something wrong with chunk tree part[1], and
after that we can hit BUG_ON()s set in the code to prevent something
impossible.
Since David has released "Btrfs progs v3.19-rc2", just remove the check,
if anyone who wants to make a fresh btrfs, please use the latest one.
[1]: http://www.spinics.net/lists/linux-btrfs/msg42358.html
Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx>
Reviewed-by: Omar Sandoval <osandov@xxxxxxxxxxx>
Reviewed-by: David Sterba <dsterba@xxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 727b9784b6085c99c2f836bf4fcc2848dc9cf904
Author: Jeff Mahoney <jeffm@xxxxxxxx>
Date: Fri Mar 20 14:02:09 2015 -0400
btrfs: cleanup orphans while looking up default subvolume
Orphans in the fs tree are cleaned up via open_ctree and subvolume
orphans are cleaned via btrfs_lookup_dentry -- except when a default
subvolume is in use. The name for the default subvolume uses a manual
lookup that doesn't trigger orphan cleanup and needs to trigger it
manually as well. This doesn't apply to the remount case since the
subvolumes are cleaned up by walking the root radix tree.
Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx>
Reviewed-by: David Sterba <dsterba@xxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit d8620958296e4fa61afde421f1de16a5c2234b28
Author: Tom Van Braeckel <tomvanbraeckel@xxxxxxxxx>
Date: Tue Mar 24 16:35:49 2015 +0100
btrfs: explicitly set control file's private_data
The private_data member of the Btrfs control device file
(/dev/btrfs-control) is used to hold the current transaction and needs
to be initialized to NULL to signify that no transaction is in progress.
We explicitly set the control file's private_data to NULL to be
independent of whatever value the misc subsystem initializes it to.
Backstory:
----------
The misc subsystem (which is used by /dev/btrfs-control) initializes
a file's private_data to point to the misc device when a driver has
registered a custom open file operation and initializes it to NULL
when a custom open file operation has *not* been provided.
This subtle quirk is confusing, to the point where kernel code registers
*empty* file open operations to have private_data point to the misc
device structure.
And it leads to bugs, where the addition or removal of a custom open
file operation surprisingly changes the initial contents of a file's
private_data structure.
To simplify things in the misc subsystem, a patch [1] has been proposed
to *always* set private_data to point to the misc device instead of
only doing this when a custom open file operation has been registered.
But before we can fix this in the misc subsystem itself, we need to
modify the (few) drivers that rely on this very subtle behavior.
[1] https://lkml.org/lkml/2014/12/4/939
Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx>
Signed-off-by: Tom Van Braeckel <tomvanbraeckel@xxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 26e726afe01c1c82072cf23a5ed89ce25f39d9f2
Author: Chengyu Song <csong84@xxxxxxxxxx>
Date: Tue Mar 24 18:12:56 2015 -0400
btrfs: incorrect handling for fiemap_fill_next_extent return
fiemap_fill_next_extent returns 0 on success, -errno on error, 1 if this
was
the last extent that will fit in user array. If 1 is returned, the return
value may eventually returned to user space, which should not happen,
according
to manpage of ioctl.
Signed-off-by: Chengyu Song <csong84@xxxxxxxxxx>
Reviewed-by: David Sterba <dsterba@xxxxxxx>
Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 3c3b04d10ff1811a27f86684ccd2f5ba6983211d
Author: David Sterba <dsterba@xxxxxxx>
Date: Wed Mar 25 19:26:41 2015 +0100
btrfs: don't accept bare namespace as a valid xattr
Due to insufficient check in btrfs_is_valid_xattr, this unexpectedly
works:
$ touch file
$ setfattr -n user. -v 1 file
$ getfattr -d file
user.="1"
ie. the missing attribute name after the namespace.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94291
Reported-by: William Douglas <william.douglas@xxxxxxxxx>
CC: <stable@xxxxxxxxxxxxxxx> # 2.6.29+
Signed-off-by: David Sterba <dsterba@xxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit dcc82f4783ad91d4ab654f89f37ae9291cdc846a
Author: Filipe Manana <fdmanana@xxxxxxxx>
Date: Mon Mar 23 14:07:40 2015 +0000
Btrfs: fix log tree corruption when fs mounted with -o discard
While committing a transaction we free the log roots before we write the
new super block. Freeing the log roots implies marking the disk location
of every node/leaf (metadata extent) as pinned before the new super block
is written. This is to prevent the disk location of log metadata extents
from being reused before the new super block is written, otherwise we
would have a corrupted log tree if before the new super block is written
a crash/reboot happens and the location of any log tree metadata extent
ended up being reused and rewritten.
Even though we pinned the log tree's metadata extents, we were issuing a
discard against them if the fs was mounted with the -o discard option,
resulting in corruption of the log tree if a crash/reboot happened before
writing the new super block - the next time the fs was mounted, during
the log replay process we would find nodes/leafs of the log btree with
a content full of zeroes, causing the process to fail and require the
use of the tool btrfs-zero-log to wipeout the log tree (and all data
previously fsynced becoming lost forever).
Fix this by not doing a discard when pinning an extent. The discard will
be done later when it's safe (after the new super block is committed) at
extent-tree.c:btrfs_finish_extent_commit().
Fixes: e688b7252f78 (Btrfs: fix extent pinning bugs in the tree log)
CC: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 2f2ff0ee5e4303e727cfd7abd4133d1a8ee68394
Author: Filipe Manana <fdmanana@xxxxxxxx>
Date: Fri Mar 20 17:19:46 2015 +0000
Btrfs: fix metadata inconsistencies after directory fsync
We can get into inconsistency between inodes and directory entries
after fsyncing a directory. The issue is that while a directory gets
the new dentries persisted in the fsync log and replayed at mount time,
the link count of the inode that directory entries point to doesn't
get updated, staying with an incorrect link count (smaller then the
correct value). This later leads to stale file handle errors when
accessing (including attempt to delete) some of the links if all the
other ones are removed, which also implies impossibility to delete the
parent directories, since the dentries can not be removed.
Another issue is that (unlike ext3/4, xfs, f2fs, reiserfs, nilfs2),
when fsyncing a directory, new files aren't logged (their metadata and
dentries) nor any child directories. So this patch fixes this issue too,
since it has the same resolution as the incorrect inode link count issue
mentioned before.
This is very easy to reproduce, and the following excerpt from my test
case for xfstests shows how:
_scratch_mkfs >> $seqres.full 2>&1
_init_flakey
_mount_flakey
# Create our main test file and directory.
$XFS_IO_PROG -f -c "pwrite -S 0xaa 0 8K" $SCRATCH_MNT/foo |
_filter_xfs_io
mkdir $SCRATCH_MNT/mydir
# Make sure all metadata and data are durably persisted.
sync
# Add a hard link to 'foo' inside our test directory and fsync only the
# directory. The btrfs fsync implementation had a bug that caused the
new
# directory entry to be visible after the fsync log replay but, the
inode
# of our file remained with a link count of 1.
ln $SCRATCH_MNT/foo $SCRATCH_MNT/mydir/foo_2
# Add a few more links and new files.
# This is just to verify nothing breaks or gives incorrect results
after the
# fsync log is replayed.
ln $SCRATCH_MNT/foo $SCRATCH_MNT/mydir/foo_3
$XFS_IO_PROG -f -c "pwrite -S 0xff 0 64K" $SCRATCH_MNT/hello |
_filter_xfs_io
ln $SCRATCH_MNT/hello $SCRATCH_MNT/mydir/hello_2
# Add some subdirectories and new files and links to them. This is to
verify
# that after fsyncing our top level directory 'mydir', all the
subdirectories
# and their files/links are registered in the fsync log and exist after
the
# fsync log is replayed.
mkdir -p $SCRATCH_MNT/mydir/x/y/z
ln $SCRATCH_MNT/foo $SCRATCH_MNT/mydir/x/y/foo_y_link
ln $SCRATCH_MNT/foo $SCRATCH_MNT/mydir/x/y/z/foo_z_link
touch $SCRATCH_MNT/mydir/x/y/z/qwerty
# Now fsync only our top directory.
$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/mydir
# And fsync now our new file named 'hello', just to verify later that
it has
# the expected content and that the previous fsync on the directory
'mydir' had
# no bad influence on this fsync.
$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/hello
# Simulate a crash/power loss.
_load_flakey_table $FLAKEY_DROP_WRITES
_unmount_flakey
_load_flakey_table $FLAKEY_ALLOW_WRITES
_mount_flakey
# Verify the content of our file 'foo' remains the same as before, 8192
bytes,
# all with the value 0xaa.
echo "File 'foo' content after log replay:"
od -t x1 $SCRATCH_MNT/foo
# Remove the first name of our inode. Because of the directory fsync
bug, the
# inode's link count was 1 instead of 5, so removing the 'foo' name
ended up
# deleting the inode and the other names became stale directory entries
(still
# visible to applications). Attempting to remove or access the remaining
# dentries pointing to that inode resulted in stale file handle errors
and
# made it impossible to remove the parent directories since it was
impossible
# for them to become empty.
echo "file 'foo' link count after log replay: $(stat -c %h
$SCRATCH_MNT/foo)"
rm -f $SCRATCH_MNT/foo
# Now verify that all files, links and directories created before
fsyncing our
# directory exist after the fsync log was replayed.
[ -f $SCRATCH_MNT/mydir/foo_2 ] || echo "Link mydir/foo_2 is missing"
[ -f $SCRATCH_MNT/mydir/foo_3 ] || echo "Link mydir/foo_3 is missing"
[ -f $SCRATCH_MNT/hello ] || echo "File hello is missing"
[ -f $SCRATCH_MNT/mydir/hello_2 ] || echo "Link mydir/hello_2 is
missing"
[ -f $SCRATCH_MNT/mydir/x/y/foo_y_link ] || \
echo "Link mydir/x/y/foo_y_link is missing"
[ -f $SCRATCH_MNT/mydir/x/y/z/foo_z_link ] || \
echo "Link mydir/x/y/z/foo_z_link is missing"
[ -f $SCRATCH_MNT/mydir/x/y/z/qwerty ] || \
echo "File mydir/x/y/z/qwerty is missing"
# We expect our file here to have a size of 64Kb and all the bytes
having the
# value 0xff.
echo "file 'hello' content after log replay:"
od -t x1 $SCRATCH_MNT/hello
# Now remove all files/links, under our test directory 'mydir', and
verify we
# can remove all the directories.
rm -f $SCRATCH_MNT/mydir/x/y/z/*
rmdir $SCRATCH_MNT/mydir/x/y/z
rm -f $SCRATCH_MNT/mydir/x/y/*
rmdir $SCRATCH_MNT/mydir/x/y
rmdir $SCRATCH_MNT/mydir/x
rm -f $SCRATCH_MNT/mydir/*
rmdir $SCRATCH_MNT/mydir
# An fsck, run by the fstests framework everytime a test finishes, also
detected
# the inconsistency and printed the following error message:
#
# root 5 inode 257 errors 2001, no inode item, link count wrong
# unresolved ref dir 258 index 2 namelen 5 name foo_2 filetype 1
errors 4, no inode ref
# unresolved ref dir 258 index 3 namelen 5 name foo_3 filetype 1
errors 4, no inode ref
status=0
exit
The expected golden output for the test is:
wrote 8192/8192 bytes at offset 0
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 65536/65536 bytes at offset 0
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
File 'foo' content after log replay:
0000000 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
*
0020000
file 'foo' link count after log replay: 5
file 'hello' content after log replay:
0000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0200000
Which is the output after this patch and when running the test against
ext3/4, xfs, f2fs, reiserfs or nilfs2. Without this patch, the test's
output is:
wrote 8192/8192 bytes at offset 0
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
wrote 65536/65536 bytes at offset 0
XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
File 'foo' content after log replay:
0000000 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
*
0020000
file 'foo' link count after log replay: 1
Link mydir/foo_2 is missing
Link mydir/foo_3 is missing
Link mydir/x/y/foo_y_link is missing
Link mydir/x/y/z/foo_z_link is missing
File mydir/x/y/z/qwerty is missing
file 'hello' content after log replay:
0000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
0200000
rmdir: failed to remove
'/home/fdmanana/btrfs-tests/scratch_1/mydir/x/y/z': No such file or directory
rmdir: failed to remove
'/home/fdmanana/btrfs-tests/scratch_1/mydir/x/y': No such file or directory
rmdir: failed to remove '/home/fdmanana/btrfs-tests/scratch_1/mydir/x':
No such file or directory
rm: cannot remove '/home/fdmanana/btrfs-tests/scratch_1/mydir/foo_2':
Stale file handle
rm: cannot remove '/home/fdmanana/btrfs-tests/scratch_1/mydir/foo_3':
Stale file handle
rmdir: failed to remove '/home/fdmanana/btrfs-tests/scratch_1/mydir':
Directory not empty
Fsck, without this fix, also complains about the wrong link count:
root 5 inode 257 errors 2001, no inode item, link count wrong
unresolved ref dir 258 index 2 namelen 5 name foo_2 filetype 1
errors 4, no inode ref
unresolved ref dir 258 index 3 namelen 5 name foo_3 filetype 1
errors 4, no inode ref
So fix this by logging the inodes that the dentries point to when
fsyncing a directory.
A test case for xfstests follows.
Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit bf69196045a8c5c42b10493a26ed45c33014371e
Author: Filipe Manana <fdmanana@xxxxxxxx>
Date: Sat Mar 14 07:03:27 2015 +0000
Btrfs: change the insertion criteria for the qgroup operations rbtree
After looking at Liu Bo's recent patch (titled
"Btrfs: fix comp_oper to get right order") I realized the search made by
qgroup_oper_exists() was buggy because its rbtree navigation comparison
function, comp_oper_exist(), only looks at the fields bytenr and ref_root
of a tree node, ignoring the seq field completely. This was wrong because
when we insert a node into the rbtree we use comp_oper(), which takes a
decision based first on bytenr, then on seq and then on the ref_root
field.
That means qgroup_oper_exists() could miss the fact that at least one
operation with given bytenr and ref_root exists.
Consider the following simple example of a 3 nodes qgroup operations
rbtree (created using comp_oper before this patch), where each node's key
is a tuple with the shape (bytenr, seq, ref_root, op):
[ (4096, 2, 20, op X) ]
/ \
/ \
[ (4096, 1, 5, op Y) ] [ (4096, 3, 10, op Z) ]
qgroup_oper_exists() when called to search for an existing operation for
bytenr 4096 and ref root 10 wouldn't find anything because it would go to
the left subtree instead of the right subtree, since comp_oper_exits()
ignores the seq field completely.
Fix this by changing the insertion navigation function to use the ref_root
field right after using the bytenr field and before using the seq field,
so that qgroup_oper_exists() / comp_oper_exist() work as expected.
This patch applies on top of the patch mentioned above from Liu.
Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 3d850dd44889d3aa67d0b8007c2cdd259bff7da4
Author: Filipe Manana <fdmanana@xxxxxxxx>
Date: Thu Mar 12 23:23:13 2015 +0000
Btrfs: add missing inode item update in fallocate()
If we fallocate(), without the keep size flag, into an area already
covered
by an extent previously fallocated, we were updating the inode's i_size
but
we weren't updating the inode item in the fs/subvol tree. A following
umount
+ mount would result in a loss of the inode's size (and an fsync would
miss
too the fact that the inode changed).
Reproducer:
$ mkfs.btrfs -f /dev/sdd
$ mount /dev/sdd /mnt
$ fallocate -n -l 1M /mnt/foobar
$ fallocate -l 512K /mnt/foobar
$ umount /mnt
$ mount /dev/sdd /mnt
$ od -t x1 /mnt/foobar
0000000
The expected result is:
$ od -t x1 /mnt/foobar
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
2000000
A test case for fstests follows soon.
Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 5f806c3ae2ff6263a10a6901f97abb74dac03d36
Author: Filipe Manana <fdmanana@xxxxxxxx>
Date: Thu Mar 12 16:04:50 2015 +0000
Btrfs: incremental send, remove dead code
The logic to detect path loops when attempting to apply a pending
directory rename, introduced in commit
f959492fc15b (Btrfs: send, fix more issues related to directory renames)
is no longer needed, and the respective fstests test case for that commit,
btrfs/045, now passes without this code (as well as all the other test
cases for send/receive).
Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 8996a48c0a8ed01c55f52e6794625c95a9977ee6
Author: Filipe Manana <fdmanana@xxxxxxxx>
Date: Thu Mar 12 15:16:20 2015 +0000
Btrfs: incremental send, clear name from cache after orphanization
If a directory's reference ends up being orphanized, because the inode
currently being processed has a new path that matches that directory's
path, make sure we evict the name of the directory from the name cache.
This is because there might be descendent inodes (either directories or
regular files) that will be orphanized later too, and therefore the
orphan name of the ancestor must be used, otherwise we send issue rename
operations with a wrong path in the send stream.
Reproducer:
$ mkfs.btrfs -f /dev/sdb
$ mount /dev/sdb /mnt
$ mkdir -p /mnt/data/n1/n2/p1/p2
$ mkdir /mnt/data/n4
$ mkdir -p /mnt/data/p1/p2
$ btrfs subvolume snapshot -r /mnt /mnt/snap1
$ mv /mnt/data/p1/p2 /mnt/data
$ mv /mnt/data/n1/n2/p1/p2 /mnt/data/p1
$ mv /mnt/data/p2 /mnt/data/n1/n2/p1
$ mv /mnt/data/n1/n2 /mnt/data/p1
$ mv /mnt/data/p1 /mnt/data/n4
$ mv /mnt/data/n4/p1/n2/p1 /mnt/data
$ btrfs subvolume snapshot -r /mnt /mnt/snap2
$ btrfs send /mnt/snap1 -f /tmp/1.send
$ btrfs send -p /mnt/snap1 /mnt/snap2 -f /tmp/2.send
$ mkfs.btrfs -f /dev/sdc
$ mount /dev/sdc /mnt2
$ btrfs receive /mnt2 -f /tmp/1.send
$ btrfs receive /mnt2 -f /tmp/2.send
ERROR: rename data/p1/p2 -> data/n4/p1/p2 failed. no such file or
directory
Directories data/p1 (inode 263) and data/p1/p2 (inode 264) in the parent
snapshot are both orphanized during the incremental send, and as soon as
data/p1 is orphanized, we must make sure that when orphanizing data/p1/p2
we use a source path of o263-6-o/p2 for the rename operation instead of
the old path data/p1/p2 (the one before the orphanization of inode 263).
A test case for xfstests follows soon.
Reported-by: Robbie Ko <robbieko@xxxxxxxxxxxx>
Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 2f1f465ae6da244099af55c066e5355abd8ff620
Author: Filipe Manana <fdmanana@xxxxxxxx>
Date: Mon Mar 2 20:53:53 2015 +0000
Btrfs: send, don't leave without decrementing clone root's send_progress
If the clone root was not readonly or the dead flag was set on it, we were
leaving without decrementing the root's send_progress counter (and before
we just incremented it). If a concurrent snapshot deletion was in progress
and ended up being aborted, it would be impossible to later attempt to
delete again the snapshot, since the root's send_in_progress counter could
never go back to 0.
We were also setting clone_sources_to_rollback to i + 1 too early - if we
bailed out because the clone root we got is not readonly or flagged as
dead
we ended up later derreferencing a null pointer because we didn't assign
the clone root to sctx->clone_roots[i].root:
for (i = 0; sctx && i < clone_sources_to_rollback; i++)
btrfs_root_dec_send_in_progress(
sctx->clone_roots[i].root);
So just don't increment the send_in_progress counter if the root is
readonly
or flagged as dead.
Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Reviewed-by: David Sterba <dsterba@xxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 5cc2b17e80cf5770f2e585c2d90fd8af1b901258
Author: Filipe Manana <fdmanana@xxxxxxxx>
Date: Mon Mar 2 20:53:52 2015 +0000
Btrfs: send, add missing check for dead clone root
After we locked the root's root item, a concurrent snapshot deletion
call might have set the dead flag on it. So check if the dead flag
is set and abort if it is, just like we do for the parent root.
Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Reviewed-by: David Sterba <dsterba@xxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 4f764e5153616fccaed38e7524d6f5f89a49a060
Author: Filipe Manana <fdmanana@xxxxxxxx>
Date: Mon Feb 23 19:53:35 2015 +0000
Btrfs: remove deleted xattrs on fsync log replay
If we deleted xattrs from a file and fsynced the file, after a log replay
the xattrs would remain associated to the file. This was an unexpected
behaviour and differs from what other filesystems do, such as for example
xfs and ext3/4.
Fix this by, on fsync log replay, check if every xattr in the fs/subvol
tree (that belongs to a logged inode) has a matching xattr in the log,
and if it does not, delete it from the fs/subvol tree. This is a similar
approach to what we do for dentries when we replay a directory from the
fsync log.
This issue is trivial to reproduce, and the following excerpt from my
test for xfstests triggers the issue:
_crash_and_mount()
{
# Simulate a crash/power loss.
_load_flakey_table $FLAKEY_DROP_WRITES
_unmount_flakey
_load_flakey_table $FLAKEY_ALLOW_WRITES
_mount_flakey
}
rm -f $seqres.full
_scratch_mkfs >> $seqres.full 2>&1
_init_flakey
_mount_flakey
# Create out test file and add 3 xattrs to it.
touch $SCRATCH_MNT/foobar
$SETFATTR_PROG -n user.attr1 -v val1 $SCRATCH_MNT/foobar
$SETFATTR_PROG -n user.attr2 -v val2 $SCRATCH_MNT/foobar
$SETFATTR_PROG -n user.attr3 -v val3 $SCRATCH_MNT/foobar
# Make sure everything is durably persisted.
sync
# Now delete the second xattr and fsync the inode.
$SETFATTR_PROG -x user.attr2 $SCRATCH_MNT/foobar
$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/foobar
_crash_and_mount
# After the fsync log is replayed, the file should have only 2 xattrs,
the ones
# named user.attr1 and user.attr3. The btrfs fsync log replay bug left
the file
# with the 3 xattrs that we had before deleting the second one and
fsyncing the
# file.
echo "xattr names and values after first fsync log replay:"
$GETFATTR_PROG --absolute-names --dump $SCRATCH_MNT/foobar |
_filter_scratch
# Now write some data to our file, fsync it, remove the first xattr,
add a new
# hard link to our file and commit the fsync log by fsyncing some other
new
# file. This is to verify that after log replay our first xattr does
not exist
# anymore.
echo "hello world!" >> $SCRATCH_MNT/foobar
$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/foobar
$SETFATTR_PROG -x user.attr1 $SCRATCH_MNT/foobar
ln $SCRATCH_MNT/foobar $SCRATCH_MNT/foobar_link
touch $SCRATCH_MNT/qwerty
$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/qwerty
_crash_and_mount
# Now only the xattr with name user.attr3 should be set in our file.
echo "xattr names and values after second fsync log replay:"
$GETFATTR_PROG --absolute-names --dump $SCRATCH_MNT/foobar |
_filter_scratch
status=0
exit
The expected golden output, which is produced with this patch applied or
when testing against xfs or ext3/4, is:
xattr names and values after first fsync log replay:
# file: SCRATCH_MNT/foobar
user.attr1="val1"
user.attr3="val3"
xattr names and values after second fsync log replay:
# file: SCRATCH_MNT/foobar
user.attr3="val3"
Without this patch applied, the output is:
xattr names and values after first fsync log replay:
# file: SCRATCH_MNT/foobar
user.attr1="val1"
user.attr2="val2"
user.attr3="val3"
xattr names and values after second fsync log replay:
# file: SCRATCH_MNT/foobar
user.attr1="val1"
user.attr2="val2"
user.attr3="val3"
A patch with a test case for xfstests follows soon.
Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Signed-off-by: Chris Mason <clm@xxxxxx>
commit 1be38e041f8eaa935f370aa0f34dd7a2fe39b1d8
Merge: 6935224 bc465aa
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Thu Mar 26 17:50:42 2015 -0700
Merge tag 'v4.0-rc5' into spi-bcm2835
Linux 4.0-rc5
commit 76b17e6e4923e4138ed9a4d480cba148ff239dc9
Author: Julius Werner <jwerner@xxxxxxxxxxxx>
Date: Thu Mar 26 16:30:25 2015 -0700
spi/rockchip: Add device tree property to configure Rx Sample Delay
We have found that we can sometimes see read failures on boards with
high-capacitance SPI lines. It seems that the controller samples the Rx
data line too early, and its register interface has an "Rx Sample Delay"
setting to fine-tune against this issue.
This patch adds a new optional device tree entry that can configure this
delay in terms of nanoseconds. The kernel will calculate the
best-fitting amount of parent clock ticks to program the controller with
based on that.
Signed-off-by: Julius Werner <jwerner@xxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 754ec43c0184aae48f5a8c917d8282449ab564a9
Author: Julius Werner <jwerner@xxxxxxxxxxxx>
Date: Thu Mar 26 16:30:24 2015 -0700
spi/rockchip: Round up clock rate divisor to err on the safe side
The Rockchip SPI driver currently calculates its clock rate divisor by
integer dividing the parent rate by the target rate, and then rounding
the result up to the next even number (since the divisor must be
even).
Clock rate divisors should always be rounded up, so that the resulting
frequency is lower or equal to the target. This is correctly done in the
second step here but not in the first, so we still have a risk of
exceeding the desired target frequency (e.g. setting spi-max-frequency
to 40000000 with a parent clock of 99000000 could lead to a divisor of
99000000 / 40000000 == 2 (which is even) that then results in an
effective frequency of 99000000 / 2 == 49500000 (potentially exceeding
the flash chip's specifications).
This patch changes the division to round up to fix this problem.
Signed-off-by: Julius Werner <jwerner@xxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 517bc04582afbd3cd441d363656a064d0e285fbe
Merge: 74ccbff de4b00b
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Fri Mar 27 09:17:20 2015 +1000
Merge branch 'drm-st-next-2015-03-19' of
git://git.linaro.org/people/benjamin.gaignard/kernel into drm-next
This patch makes STI driver use the atomic helpers.
I have fix the comments done by Daniel on the first version and get
his ack with this second version.
* 'drm-st-next-2015-03-19' of
git://git.linaro.org/people/benjamin.gaignard/kernel:
drm: sti: convert driver to atomic modeset
commit f8da055aafec0483c12132554504ec683868c655
Author: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Date: Thu Mar 26 14:09:20 2015 -0300
staging: sm750fb: Change "foo * bar" style to "foo *bar"
This patch fixes the checkpatch.pl error:
ERROR: "foo * bar" should be "foo *bar"
+int ddk750_initHw(initchip_param_t * pInitParam)
Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ae59c465417a726453f36fc6167e92b14e8bda36
Author: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Date: Thu Mar 26 14:09:19 2015 -0300
staging: sm750fb: Move switch case trailing statment
This patch fixes the checkpatch.pl error:
ERROR: trailing statements should be on next line
Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit c04051f533da0408e21782f2e39f88281201f511
Author: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Date: Thu Mar 26 14:09:18 2015 -0300
staging: sm750fb: Add spaces after ','
This patch fixes the checkpatch.pl error:
ERROR: space required after that ',' (ctx:VxV)
Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit c107243b09a62d17956362b6780c07cd5bbb071c
Author: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Date: Thu Mar 26 14:09:17 2015 -0300
staging: sm750fb: Add space before switch statement
This patch fixes the checkpatch.pl warnings:
ERROR: space required before the open parenthesis '('
+ switch(divisor) {
ERROR: space required before the open parenthesis '('
+ switch(divisor) {
ERROR: space required before the open parenthesis '('
+ switch(reg) {
Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 82736d2244a059962bf9efec3338036ae9464986
Author: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Date: Thu Mar 26 14:09:16 2015 -0300
staging: sm750fb: Add space before if statement
This patch fix the checkpatch.pl warning:
ERROR: space required before the open parenthesis '('
Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ce02a16ae444f8a80877d660e41f162f7b2a967a
Author: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Date: Thu Mar 26 14:09:15 2015 -0300
staging: sm750fb: Fix for statement style
This patch fixes the checkpatch.pl warnings:
ERROR: spaces required around that '=' (ctx:VxV)
ERROR: spaces required around that '<=' (ctx:VxV)
ERROR: spaces required around that '>' (ctx:VxV)
ERROR: space required before the open parenthesis '('
ERROR: space required after that ';' (ctx:VxV)
Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 9767fc5126c5eff780adff6b4beae81134655206
Author: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Date: Thu Mar 26 14:09:14 2015 -0300
staging: sm750fb: Fix if/else/for/switch braces style
This patch fixes the checkpatch.pl errors:
ERROR: that open brace { should be on the previous line
ERROR: else should follow close brace '}'
WARNING: braces {} are not necessary for single statement blocks
ERROR: space required before the open brace '{'
Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 569a6dcf3d7f7b6b84ba20fdf419df5a1c4f885d
Author: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Date: Thu Mar 26 14:09:13 2015 -0300
staging: sm750fb: Add space after struct definition
This patch fixes checkpatch.pl warning:
WARNING: missing space after struct definition
+typedef struct _pllcalparam{
Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3866a3c6e554cb3f3d6e7fadb1ff4dac1fde2348
Author: Niranjan Dighe <niranjan.dighe@xxxxxxxxx>
Date: Thu Mar 26 23:51:58 2015 +0530
Staging: slicoss: Remove redundant and disabled code block
Removing code guarded by undefined macro SLIC_TRACE_DUMP_ENABLED
Signed-off-by: Niranjan Dighe <niranjan.dighe@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 8b82fa8388db5ccd50bad172d3e885dcea22596d
Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
Date: Tue Mar 24 20:47:30 2015 +0530
staging: unisys: remove comparison
the comparison is always true as the dev_t has been initialized in the
init function and we are sending that initialized dev_t to the
cleanup().
Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit eb79db2b59ce9acda94cd8f0e27cdba0bea0bad1
Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
Date: Tue Mar 24 20:47:29 2015 +0530
staging: unisys: remove global dev_t
the global variable majordev is no longer required, as it is not being
used anywhere.
Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit addceb12a3ed62e50c842f4c8f6099e1ead29ba8
Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
Date: Tue Mar 24 20:47:28 2015 +0530
staging: unisys: use local variable in cleanup
the dev_t was being stored in visorchipset_platform_device.dev.devt
while initializing the module. so pass that value as an argument to
cleanup() so that it can use this local variable instead of the global
variable.
Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a1191146c9a6ebc0e15ef50788bd392339510c0d
Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
Date: Tue Mar 24 20:47:27 2015 +0530
staging: unisys: use local variable
we are getting dev_t as an argument in the function, so use the local
variable instead of the global variable "majordev".
this global variable will be removed in one of the next patch of the
series.
Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 61986f730eb83912ac4a0c59b671232bdee07c40
Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
Date: Tue Mar 24 20:47:26 2015 +0530
staging: unisys: remove redundant variable
remove the variable "registered", which was used in the cleanup() to
detect if the driver has successfully initialized. the cleanup()
is called from module_exit, so its obvious that the module has
successfully initialized. if the initialization had failed, then
we will never be in the cleanup().
Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit fdc81b7910ad5153bf257e5f7861be71f75a02ef
Author: David Daney <david.daney@xxxxxxxxxx>
Date: Thu Mar 26 10:09:08 2015 -0700
stable_kernel_rules: Add clause about specification of kernel versions to
patch.
Signed-off-by: David Daney <david.daney@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 911a88829725572820dad9a168e735c606a2fdcb
Author: Alex Smith <alex.smith@xxxxxxxxxx>
Date: Mon Mar 9 14:29:04 2015 +0000
memory: jz4780-nemc: driver for the NEMC on JZ4780 SoCs
Add a driver for the NAND/External Memory Controller (NEMC) on JZ4780
and later SoCs.
The primary function of this driver is to configure parameters, such
as timings, for external memory devices using data supplied in the
device tree. Devices connected to the NEMC are represented in the DT
as children of the NEMC node, the driver uses optional properties
specified in these child nodes to configure the parameters of each
bank.
Signed-off-by: Alex Smith <alex@xxxxxxxxxxxxxxxx>
Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit c0e6841653e9e96fea9e0f973a785bc66f45b532
Author: Alex Smith <alex.smith@xxxxxxxxxx>
Date: Mon Mar 9 14:29:03 2015 +0000
dt-bindings: memory-controllers: Add binding for jz4780-nemc
Add device tree bindings for the NAND/External Memory Controller (NEMC)
on Ingenic JZ4780
Signed-off-by: Alex Smith <alex@xxxxxxxxxxxxxxxx>
Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d0c6ae41d12ad7b2ba271f279936327320b6671c
Author: Gilad Avidov <gavidov@xxxxxxxxxxxxxx>
Date: Wed Mar 25 11:37:32 2015 -0600
spmi: pmic_arb: add support for hw version 2
Qualcomm PMIC Arbiter version-2 changes from version-1 are:
- Some different register offsets.
- New channel register space, one per PMIC peripheral (ppid).
All tx traffic uses these channels.
- New observer register space. All rx trafic uses this space.
- Different command format for spmi command registers.
Reviewed-by: Sagar Dharia <sdharia@xxxxxxxxxxxxxx>
Signed-off-by: Gilad Avidov <gavidov@xxxxxxxxxxxxxx>
Tested-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 0b9641f5722a9c08cacb534d633ff469ab02a288
Author: Gilad Avidov <gavidov@xxxxxxxxxxxxxx>
Date: Wed Mar 25 11:37:31 2015 -0600
spmi: remove wakeup command before slave probe
According to spmi spec a slave powers up into startup state and then
transitions into active state. Thus, the wakeup command is not required
before calling the slave's probe. The wakeup command is only needed for
slaves that are in sleep state after receiving the sleep command.
Cc: galak@xxxxxxxxxxxxxx
Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Reviewed-by: Sagar Dharia <sdharia@xxxxxxxxxxxxxx>
Acked-by: Josh Cartwright <joshc@xxxxxxxxxxxx>
Signed-off-by: Gilad Avidov <gavidov@xxxxxxxxxxxxxx>
Tested-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 03515f323c3766f0a69b62743794577bbd9f87c9
Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Date: Thu Mar 19 10:49:42 2015 +0100
MAINTAINERS: change Atmel ssc driver entry
I take over the maintainship from Voice.
Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
Cc: Mark Brown <broonie@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Acked-by: Bo Shen <voice.shen@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 73cffdb65e679b98893f484063462c045adcf212
Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Date: Thu Mar 19 08:11:34 2015 -0700
Drivers: hv: vmbus: Don't wait after requesting offers
Don't wait after sending request for offers to the host. This wait is
unnecessary and simply adds 5 seconds to the boot time.
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b98b91029cf8a6defc6311d4018c44f3b05fbec7
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Mar 4 23:44:54 2015 +0100
hostfs: No need to box and later unbox the file mode
There is really no point in having a function with 10
arguments.
Reported-by: Daniel Walter <d.walter@xxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit af6aa1b9cad7350d675fe3523ab062e0e4c829cb
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Mar 4 20:58:39 2015 +0100
hostfs: Use page_offset()
The kernel offers a helper function for that, use it.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit b86b413a321105cb75373b48fd7ba53fcbc7ec4c
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Mar 4 12:44:03 2015 +0100
hostfs: Set page flags in hostfs_readpage() correctly
In case of an error set the page error flag and clear the up-to-date
flag.
If the read was successful clear the error flag unconditionally.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit bd1052a245c004068a7123aa077c576be64639e4
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Mar 4 00:06:38 2015 +0100
hostfs: Remove superfluous initializations in hostfs_open()
Only initialize what we really need.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit a9d1958b4b9a688becceda44938baac99a62fbd7
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Mar 4 22:39:48 2015 +0100
hostfs: hostfs_open: Reset open flags upon each retry
...otherwise we might end up with an incorrect mode mode.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 112a5da717f86250bc6be2c63e7af174be7c5507
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Mar 4 00:05:11 2015 +0100
hostfs: Remove superfluous test in hostfs_open()
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 7f74a6687992f29c14b98a7bc8d5d924d5883434
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Mar 4 00:00:54 2015 +0100
hostfs: Report append flag in ->show_options()
hostfs has an "append" mount option. Report it.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 7c9509924c711d45d7932548d2c632f44f64e7e3
Author: Richard Weinberger <richard@xxxxxx>
Date: Tue Mar 3 23:55:49 2015 +0100
hostfs: Use __getname() in follow_link
Be consistent with all other functions in hostfs and just
use __getname().
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit c278e81b8a0291f5adce43c4613ad569d76dc384
Author: Richard Weinberger <richard@xxxxxx>
Date: Tue Mar 3 23:42:25 2015 +0100
hostfs: Remove open coded strcpy()
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit aad50b1e06081de0e4ff25335ab6f52e58bfcef1
Author: Richard Weinberger <richard@xxxxxx>
Date: Tue Mar 3 23:41:52 2015 +0100
hostfs: Add a BUG_ON to detect behavior changes of dentry_path_raw()
hostfs' __dentry_name() relies on the fact that dentry_path_raw() will
place
the path name at the end of the provided buffer.
While this is okay, add a BUG_ON() to detect behavior changes as soon
as possible.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 41761ddfaecb30e1f0ecac4ce568e3e641d10bec
Author: Richard Weinberger <richard@xxxxxx>
Date: Tue Mar 3 21:40:55 2015 +0100
hostfs: Make hostfs_readpage more readable
...to make life easier for future readers of that code.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 2ad2dca6fd28cf24ed64110a8b374fc838838c81
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Mar 2 00:10:25 2015 +0100
hostfs: Handle bogus st.mode
Make sure that we return EIO if one passes an invalid st.mode
into hostfs.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 4c6dcafc691bbd1e3258b623121d8859d3213ae9
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Mar 2 00:09:33 2015 +0100
hostfs: Allow fsync on directories
Historically hostfs did not open directories on the host filesystem
for performance and memory reasons.
But it turned out that this optimization has a drawback.
Calling fsync() on a hostfs directory returns immediately
with -EINVAL as fsync is not implemented.
While this is behavior is strictly speaking correct common userspace
like dpkg(1) stumbles over that and makes it impossible to use
hostfs as root filesystem.
The fix is easy, wire up the existing host open/fsync functions
to the directory file operations.
Reported-by: Daniel Gröber <dxld@xxxxxxxxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit af9556586a906106453ff7df8bcacf795b2b7d0a
Author: Richard Weinberger <richard@xxxxxx>
Date: Fri Feb 27 22:56:28 2015 +0100
hostfs: hostfs_file_open: Fix a fd leak in hostfs_file_open
In case of a race between to callers of hostfs_file_open()
it can happen that a file describtor is leaked.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 69886e676e89534953b12df77382504a7731f7bb
Author: Richard Weinberger <richard@xxxxxx>
Date: Fri Feb 27 22:55:20 2015 +0100
hostfs: hostfs_file_open: Switch to data locking model
Instead of serializing hostfs_file_open() we can use
a per inode mutex to protect ->mode.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 160b7daab96636d089fee4e0487da49c70ca4e15
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Mon Mar 16 20:20:33 2015 +0100
coresight-replicator: constify of_device_id array
of_device_id is always used as const.
(See driver.of_match_table and open firmware functions)
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 8e4934c6d6c659e22b1b746af4196683e77ce6ca
Author: Stefan Agner <stefan@xxxxxxxx>
Date: Fri Mar 13 14:51:51 2015 +0100
tty: serial: fsl_lpuart: clear receive flag on FIFO flush
When the receiver was enabled during startup, a character could
have been in the FIFO when the UART get initially used. The
driver configures the (receive) watermark level, and flushes the
FIFO. However, the receive flag (RDRF) could still be set at that
stage (as mentioned in the register description of UARTx_RWFIFO).
This leads to an interrupt which won't be handled properly in
interrupt mode: The receive interrupt function lpuart_rxint checks
the FIFO count, which is 0 at that point (due to the flush
during initialization). The problem does not manifest when using
DMA to receive characters.
Fix this situation by explicitly read the status register, which
leads to clearing of the RDRF flag. Due to the flush just after
the status flag read, a explicit data read is not to required.
Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
Cc: stable <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 4e8f245937091b2c9eebf3d4909c9ceda4f0a78e
Author: Stefan Agner <stefan@xxxxxxxx>
Date: Fri Mar 13 14:51:50 2015 +0100
tty: serial: fsl_lpuart: specify transmit FIFO size
Specify transmit FIFO size which might be different depending on
LPUART instance. This makes sure uart_wait_until_sent in serial
core getting called, which in turn waits and checks if the FIFO
is really empty on shutdown by using the tx_empty callback.
Without the call of this callback, the last several characters
might not yet be transmitted when closing the serial port. This
can be reproduced by simply using echo and redirect the output to
a ttyLP device.
Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
Cc: stable <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e91d863d1aaeda0349aed42dfbd75c98e042a2c9
Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Date: Fri Mar 13 12:38:51 2015 +0100
serial: samsung: Clear operation mode on UART shutdown
Exynos serial ports operate either in a DMA-based or interrupt-based
modes. In DMA-based mode, the UART generates a transfer data request
and a Transmission (Tx) interrupt in interrupt-based mode.
The Tx IRQ is only unmasked in interrupt-based mode and it was done
in s3c24xx_serial_start_tx(). Commit ba019a3e2ad5 ("serial: samsung:
remove redundant interrupt enabling") removed the IRQ enable on that
function since it is enabled when the mode is set in enable_tx_pio().
The problem is that enable_tx_pio() is only called if the port mode
has not been set before but the mode was not cleared on .shutdown().
So if the UART was shutdown and then started up again, the mode set
will remain and the Tx IRQ won't be unmasked.
This caused a hang on at least Exynos5250, Exynos5420 and Exynos5800
when the system is rebooted or powered off.
Fixes: ba019a3e2ad5 ("serial: samsung: remove redundant interrupt
enabling")
Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit fbf47635315ab308c9b58a1ea0906e711a9228de
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Thu Mar 26 23:10:27 2015 +0100
tty: clean up the tty time logic a bit
We only care if anything other than the lower 3 bits of the tty has
changed, so just check that way, which makes it a bit faster, and more
obvious what is going on. Also, document this for future developers to
understand why we did this.
Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman gregkh@xxxxxxxxxxxxxxxxxxx
commit 23f5b3fdd04e89b4c67fd9ffa60a193d239acf0f
Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
Date: Wed Mar 18 12:55:13 2015 +0200
serial: 8250_dw: only get the clock rate in one place
The clock rate is requested from a property called
"clock-frequency" in both dw8250_probe_of and
dw8250_probe_acpi. Moving the requests to dw8250_probe.
Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 9001c07995fdd1f3657408c71bca7d6c5fb87fd3
Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
Date: Wed Mar 18 12:55:12 2015 +0200
serial: 8250_dw: remove useless ACPI ID check
Having ACPI handle does not mean the same as having ACPI
identifier. The check is in any case useless, but having it
prevents this driver from being used for example with
multifunctional PCI devices, such as the newer Intel LPSS
devices.
Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 180a53577b809026af744e99a35b3a3a0056520b
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Mar 9 10:04:09 2015 +0100
UBI: Fastmap: Fall back to scanning mode after ECC error
If we encounter an uncorrectable ECC error while scanning for the fastmap
UBI must not fail hard. Instead fall back to scanning mode.
Reported-by: Alexander Block <Alexander.Block@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit ad53b26cd140fbea92d79a449c8ddb8d1a6f5f26
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Mon Mar 16 10:53:58 2015 +0200
dmaengine: hsu: move memory allocation to GFP_NOWAIT
The GFP_ATOMIC is too strict, and DMAEngine documentation make an advice
to use
GFP_NOWAIT. This patch does the conversion.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 4bb82458ec76edc6d2a91fd3b2d2daae44561443
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Mon Mar 16 10:53:57 2015 +0200
dmaengine: hsu: remove redundant pieces of code
There are few places where the implemented pieces of code are not needed,
i.e.:
- direction can't be wrong in hsu_dma_chan_start()
- desc->active set to 0 by kzalloc
- DMAEngine is NULL-aware when call ->device_alloc_chan_resources()
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 90b9aacf912af38a177114ca232051c61be8b93e
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Fri Mar 13 17:44:26 2015 +0200
serial: 8250_pci: add Intel Tangier support
Intel Tangier contains 4 HSUART ports as found on Intel Edison board
which are
8250 compatible. The patch adds necessary bits to the driver.
Note that the HSU port0 is currently unavailable and thus not supported.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 594eb4a4be013b27a4ed28ccf5a3431432723719
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Fri Mar 13 17:44:25 2015 +0200
dmaengine: hsu: add Intel Tangier PCI ID
Intel Tangier is known to have the HSU DMA IP as PCI device 00:05.0. The
patch
adds the ID as found on Intel Edison board to the PCI device table.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit c1a67b48f6a5878b7ec9f49144faa02f94e965cc
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Fri Mar 13 18:51:13 2015 +0200
serial: 8250_pci: replace switch-case by formula for Intel MID
This patch replaces a switch-case by a formula using rational best
approximation that does necessary calculations for
intel_mid_set_termios().
Below is a list of the calculations done for all defined baud rates. Each
line
in a format: 1) nominator, 2) denominator, 3) prescaler, 4) Fuart, 5)
port UART
clock, 6) list of baud rates with DLAB values.
24 25 12 48000000 64000000 4000000(1)
49 50 14 49000000 56000000 3500000(1)
4 5 16 40000000 40000000 2500000(1)
16 25 16 32000000 32000000 500000(4),1000000(2),2000000(1)
24 25 16 48000000 48000000 1500000(2),3000000(1)
2304 3125 16 36864000 36864000 576000(4),1152000(2)
8192 15625 16 26214400 26214400 50(32768),200(8192)
9216 15625 16 29491200 29491200
1800(1024),57600(32),115200(16),
230400(8),460800(4),921600(2),1843200(1)
12288 15625 16 39321600 39321600 75(32768),150(16384),300(8192),
600(4096),1200(2048),2400(1024),4800(512),
9600(256),19200(128),38400(64)
45056 78125 16 28835840 28835840 110(16384)
274432 390625 16 35127296 35127296 134(16384)
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 21947ba654a685ab48f2d4089c5c2d27443c2d0d
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Fri Mar 13 18:51:12 2015 +0200
serial: 8250_pci: replace switch-case by formula
This patch replaces a switch-case by a formula using rational best
approximation that does necessary calculations for byt_set_termios().
Below is a list of the calculations done for all defined baud rates. Each
line
in a format: 1) numerator, 2) denominator, 3) prescaler, 4) Fuart, 5)
port UART
clock, 6) list of baud rates with DLAB values.
4 5 16 80000000 80000000 2500000(2)
14 25 16 56000000 56000000 3500000(1)
16 25 16 64000000 64000000
500000(8),1000000(4),2000000(2),
4000000(1)
24 25 16 96000000 96000000 1500000(4),3000000(2)
2180 3103 16 70254592 70254592 134(32768)
2304 3125 16 73728000 73728000 576000(8),1152000(4)
8192 15625 16 52428800 52428800 50(65536),200(16384)
9216 15625 16 58982400 58982400
1800(2048),57600(64),115200(32),
230400(16),460800(8),921600(4),1843200(2)
12288 15625 16 78643200 78643200
75(65536),150(32768),300(16384),
600(8192),1200(4096),2400(2048),
4800(1024),9600(512),19200(256),38400(128)
9893 17154 16 57671680 57671680 110(32768)
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 49708c9e6cbb3c534677f429053bd18c2e948069
Author: Christophe Leroy <christophe.leroy@xxxxxx>
Date: Thu Mar 12 16:23:59 2015 +0100
tty: cpm_uart: replace CONFIG_8xx by CONFIG_CPM1
Two config options exist to define powerpc MPC8xx:
* CONFIG_PPC_8xx
* CONFIG_8xx
In addition, CONFIG_PPC_8xx also defines CONFIG_CPM1 as
communication co-processor
arch/powerpc/platforms/Kconfig.cputype has contained the following
comment about CONFIG_8xx item for some years:
"# this is temp to handle compat with arch=ppc"
It looks like not many places still have that old CONFIG_8xx used,
so it is likely to be a good time to get rid of it completely ?
Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a666b54adabc7dd40d754671a26996e6c985ae1b
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Tue Mar 17 12:17:28 2015 +0300
serial: jsm: some off by one bugs
"brd->nasync" amd "brd->maxports" are the same. They hold the number of
filled out channels in the brd->channels[] array. These tests should
be ">=" instead of ">" so that we don't read one element past the end.
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Acked-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 136debf707d2b3cd8e74d0fff8e29d11a78bf5c2
Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx>
Date: Wed Mar 11 22:39:28 2015 +0100
serial: xuartps: Fix check in console_setup().
cdns_uart_console_setup() checks port->mapbase != 0, but the port may
not be initialized yet even if this condition is met [e.g., ioremap()
may have failed]. Check port->membase != NULL instead, similar to
cdns_early_console_setup().
Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx>
Reviewed-by: Michal Simek <michal.simek@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 19f22efdb653642814e6c8710fca974c1dbe7cfa
Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx>
Date: Thu Mar 12 22:11:59 2015 +0100
serial: xuartps: Get rid of register access macros.
Get rid of cdns_uart_readl() and cdns_uart_writel() and just call
readl() and writel() directly.
Most of the patch was created by search-and-replace (I had to convert a
few lines manually, and break some lines longer than 80 columns):
* s/cdns_uart_readl(/readl(port->membase + /g
* s/cdns_uart_writel(\([^,]*\),/writel(\1, port->membase +/g
Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx>
Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b3c951726edbec6219ba75b34a2151d7c0fa9fc7
Author: Christoph Hellwig <hch@xxxxxx>
Date: Thu Mar 26 12:27:36 2015 +0100
target: add missing __user annotations
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 3abff1e5b0ab19900364cf1faddb92d64f9ee2cb
Author: Christoph Hellwig <hch@xxxxxx>
Date: Thu Mar 26 12:27:35 2015 +0100
target: add missing sense_reason_t annotations
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 077aa3b2db67dd43781e9ca1635e542696c39269
Author: Christoph Hellwig <hch@xxxxxx>
Date: Thu Mar 26 12:27:34 2015 +0100
target: add __releases annotation to target_release_cmd_kref
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 0c39a467e7ba68a0d94439c1ebe260dc5b26302b
Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx>
Date: Wed Mar 11 22:39:27 2015 +0100
serial: xuartps: Fix iobase use.
cdns_uart_get_port() sets port->iobase = 1 to "mark port in use", but
this "in use" condition is not checked anywhere else in the code. So
remove the line, keeping port->iobase = 0 (which also makes more sense).
Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 6db6df0e4a1b913810fc9063bbb332476ce316b7
Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx>
Date: Wed Mar 11 22:39:26 2015 +0100
serial: xuartps: Fix cdns_uart_port[] definition.
The code assumes that the array cdns_uart_port[] has dimension
CDNS_UART_NR_PORTS, so let us define it this way.
Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx>
Reviewed-by: Michal Simek <michal.simek@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 9646e4fee42d080ad484eef005691a17ed9cb8e7
Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx>
Date: Wed Mar 11 22:39:25 2015 +0100
serial: xuartps: Fix register space size.
The register space size is 0x1000, and this value [not 0xfff] should be
provided to request_mem_region(), ioremap(), etc.
Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx>
Reviewed-by: Michal Simek <michal.simek@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 964949169e0aef56f729e5fca3478ca0ee634478
Author: Christoph Hellwig <hch@xxxxxx>
Date: Thu Mar 26 12:27:33 2015 +0100
target: mark iscsit_start_kthreads static
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 6e1a27b919c643a1570885425d639f77f04d8690
Author: Christoph Hellwig <hch@xxxxxx>
Date: Thu Mar 26 12:27:32 2015 +0100
target: mark tcm_loop_primary static
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit b13876d23a24f7fb5307183ee3314434193870af
Author: Christoph Hellwig <hch@xxxxxx>
Date: Thu Mar 26 12:27:31 2015 +0100
target: move external declarations to a headers
We should not declare extrnal .c symbols in C files to make sure they
match the actual prototype, and sparse correctly warns about this.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 0787691230d88af8cdfc6d4085957bbf7cec1e5d
Author: Mans Rullgard <mans@xxxxxxxxx>
Date: Sun Mar 8 14:30:05 2015 +0000
serial: of: set port iomem size from devicetree
Make the 8250 driver reserve exactly the mmio region specified
in the devicetree. This prevents conflicts between UPIO_AU type
UARTs and other devices mapped closer than the default size of
0x1000 (or 0x100 for RT2880).
Signed-off-by: Mans Rullgard <mans@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ee97d0e3f06498487671c23cad4230bf9aa5fd88
Author: Mans Rullgard <mans@xxxxxxxxx>
Date: Sun Mar 8 14:30:04 2015 +0000
serial: 8250: allow specifying iomem size in addition to address
This adds a mapsize field to struct uart_port to be used in
conjunction with mapbase. If set, it overrides whatever value
serial8250_port_size() would otherwise report.
Signed-off-by: Mans Rullgard <mans@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e673dc920b805f08429e122321f8355cb97c2120
Author: Ilias Tsitsimpis <iliastsi@xxxxxxxxxxx>
Date: Thu Mar 26 17:12:42 2015 +0200
target: Better handling of AllRegistrants reservations
Fix AllRegistrants reservations in register_and_move() function where
the code didn't handle all of the registered devices as reservation
holders, resulting in the wrong warning message being displayed.
At the same time, introduce a helper function named
'is_reservation_holder()' that properly checks if a device is a
reservation holder, taking into account the reservation type. This
function cleans up the code and improves readability.
Signed-off-by: Ilias Tsitsimpis <iliastsi@xxxxxxxxxxx>
Signed-off-by: Vangelis Koukis <vkoukis@xxxxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 073900bdb4e34109a647c7cb871856a771634460
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Fri Feb 27 10:21:06 2015 +0000
iscsi-target: Drop legacy iscsi_target_tq.c logic
Now that iscsi_conn allocates new [rx,tx] threads using kthread.h
primitives on the fly, and kthread_stop() is called directly during
connection shutdown, it's time to go ahead and drop iscsi_target_tq.c
legacy code.
The use of multiple struct completion in iscsi_activate_thread_set()
has been proven to cause issues during repeated iser login/logout.
Tested-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: Slava Shwartsman <valyushash@xxxxxxxxx>
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 88dcd2dab5c23b1c9cfc396246d8f476c872f0ca
Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
Date: Thu Feb 26 22:19:15 2015 -0800
iscsi-target: Convert iscsi_thread_set usage to kthread.h
This patch converts iscsi-target code to use modern kthread.h API
callers for creating RX/TX threads for each new iscsi_conn descriptor,
and releasing associated RX/TX threads during connection shutdown.
This is done using iscsit_start_kthreads() -> kthread_run() to start
new kthreads from within iscsi_post_login_handler(), and invoking
kthread_stop() from existing iscsit_close_connection() code.
Also, convert iscsit_logout_post_handler_closesession() code to use
cmpxchg when determing when iscsit_cause_connection_reinstatement()
needs to sleep waiting for completion.
Reported-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Tested-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
Cc: Slava Shwartsman <valyushash@xxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+
Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
commit 5ef86b74209db33c133b5f18738dd8f3189b63a1
Author: Ken Xue <Ken.Xue@xxxxxxx>
Date: Mon Mar 9 17:10:13 2015 +0800
serial: 8250_dw: add support for AMD SOC Carrizo
Add ACPI identifier for UART on AMD SOC Carrizo.
Signed-off-by: Ken Xue <Ken.Xue@xxxxxxx>
Cc: stable <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ed0bb2323c9321b91dfa0ea8317fdc4d9592dce4
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Mon Mar 16 20:17:11 2015 +0100
tty: constify of_device_id array
of_device_id is always used as const.
(See driver.of_match_table and open firmware functions)
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Acked-by: Peter Korsgaard <peter@xxxxxxxxxxxxx>
Acked-by: Timur Tabi <timur@xxxxxxxx>
Acked-by: Patrice Chotard <patrice.chotard@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 37ff5252b3ae141eba2dcf20693484e4b53176b1
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Mon Mar 16 20:17:10 2015 +0100
tty/hvc_opal: constify of_device_id array
of_device_id is always used as const.
(See driver.of_match_table and open firmware functions)
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 56794c0a1ae738cb4184ab27501e4d152b0b2771
Author: Richard Weinberger <richard@xxxxxx>
Date: Fri Nov 7 13:35:41 2014 +0100
UBI: Fastmap: Remove is_fm_block()
This function was added to fastmap in a very early stage
to have paranoid assertions.
With the current fastmap implementation this assert will never
trigger as fastmap PEBs are not seen by the WL sub-system.
Remove it to save us some CPU cycles.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 1841fcfd910b4e841de40e1f6bc3dad6109a4054
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Oct 29 11:47:22 2014 +0100
UBI: Fastmap: Add blank line after declarations
Another checkpatch complaint:
WARNING: Missing a blank line after declarations
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit e1bc37ceafc04dff20a8cdc88ed250941ec2ea92
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Oct 29 11:44:45 2014 +0100
UBI: Fastmap: Remove else after return.
checkpatch.pl complains:
WARNING: else is not generally useful after a break or return
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 2f84c2469e2f2e94a45d86597baec10bfbf06847
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Oct 29 10:31:41 2014 +0100
UBI: Fastmap: Introduce may_reserve_for_fm()
...and kill another #ifdef.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit acfda79f8808518b0235eb9a13c8b5f762e43a75
Author: Richard Weinberger <richard@xxxxxx>
Date: Tue Oct 28 17:07:06 2014 +0100
UBI: Fastmap: Introduce ubi_fastmap_init()
...and kill another #ifdef in wl.c. :-)
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit c5c3f3cf969e45c53345283fce0ba11fae7abd32
Author: Richard Weinberger <richard@xxxxxx>
Date: Tue Oct 28 16:24:27 2014 +0100
UBI: Fastmap: Wire up WL accessor functions
Use the new WL accessor functions in fastmap.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 23c482ef7b7611225f70efe46a3627b889cab1a4
Author: Richard Weinberger <richard@xxxxxx>
Date: Tue Oct 28 16:18:42 2014 +0100
UBI: Add accessor functions for WL data structures
Fastmap need access to various WL data structures as
fastmap tightly depends on WL.
To make the access less invasive add accessor functions.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 78d6d497a648cc04ae26b27af1e01ce3e41a9c72
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Nov 10 18:21:51 2014 +0100
UBI: Move fastmap specific functions out of wl.c
Fastmap is tightly connected to the WL sub-system, many fastmap-specific
functionslive in wl.c.
To get rid of most #ifdefs in wl.c move this functions into a new file
and include it into wl.c
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 479c2c0cac0c1d23655df15cf039b4f8e3623d23
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Oct 8 15:14:09 2014 +0200
UBI: Fastmap: Add new module parameter fm_debug
If fm_debug is set fastmap debugging is enabled by default.
This is useful if one wants to debug fastmap on an UBI device
with serves the rootfs.
The the UBI attach mechanism runs long before debugfs can be mounted
and chk_fastmap set.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 560d86a1a210000b33859cd66e051fcb516a3559
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Oct 27 13:00:26 2014 +0100
UBI: Fastmap: Make self_check_eba() depend on fastmap self checking
...instead of generic self checking.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit daef3dd1f0ae71bf04a32af4ef643baf040bb73d
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Sep 22 15:36:40 2014 +0200
UBI: Fastmap: Add self check to detect absent PEBs
This self check allows Fastmap to detect absent PEBs while
writing a new fastmap to the MTD device.
It will help to find implementation issues in Fastmap.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit ee59ba8b064f692a1dee99b6f3ba30b0e904b2c1
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Nov 10 16:16:23 2014 +0100
UBI: Fix stale pointers in ubi->lookuptbl
In some error paths the WL sub-system gives up on a PEB
and frees it's ubi_wl_entry struct but does not set
the entry in ubi->lookuptbl to NULL.
Fastmap can stumble over such a stale pointer as it uses
ubi->lookuptbl to find all PEBs.
Fix this by introducing a new helper function which free()s
a WL entry and removes the reference from the lookup table.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 24b7a347c37f99c9d08d2d3ae9c6a56a8333429b
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Oct 6 15:18:41 2014 +0200
UBI: Fastmap: Enhance fastmap checking
Don't update the fastmap upon detach if fastmap checking is enabled.
This is poor men's power cut testing feature. :-)
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 5fa7fa5dad0cf8f2b47bb8dca91c605c48d282f6
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Sep 22 11:44:50 2014 +0200
UBI: Add initial support for fastmap self checks
Using this debugfs knob fastmap self checks can be controlled.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx>
commit 5ca97ad83800938e8aeea622821a26d69d2052bf
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Nov 10 16:11:40 2014 +0100
UBI: Fastmap: Rework fastmap error paths
If UBI is unable to write the fastmap to the device
we have make sure that upon next attach UBI will fall
back to scanning mode.
In case we cannot ensure that they only thing we can do
is falling back to read-only mode.
The current error handling code is not powercut proof.
It could happen that a powercut while invalidating would
lead to a state where an too old fastmap could be used upon
attach.
This patch addresses the issue by writing a fake fastmap
super block to a fresh PEB instead of reerasing the existing one.
The fake fastmap super block will UBI case to do a full scan.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 61de74ce2fa2cc9eee85cf5edc6525b12831b507
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Oct 29 16:59:32 2014 +0100
UBI: Fastmap: Prepare for variable sized fastmaps
The current code assumes that each fastmap has the same amount of PEBs.
So far this is true but will change soon.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 111ab0b26fc1bfad575d1e376e146d194d261e22
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Nov 10 16:28:08 2014 +0100
UBI: Fastmap: Locking updates
a) Rename ubi->fm_sem to ubi->fm_eba_sem as this semaphore
protects EBA changes.
b) Turn ubi->fm_mutex into a rw semaphore. It will still serialize
fastmap writes but also ensures that ubi_wl_put_peb() is not
interrupted by a fastmap write. We use a rw semaphore to allow
ubi_wl_put_peb() still to be executed in parallel if no fastmap
write is happening.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 42dd3cdcd6b5671ebedc3df76ca8dcc3473bcc67
Author: Richard Weinberger <richard@xxxxxx>
Date: Sat Oct 25 13:26:49 2014 +0200
UBI: Fastmap: Set used_ebs only for static volumes
If we set it for dynamic ones we might confuse various self checks.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 8fb2a514780eee48602424a86e3cd72d3f1bdfb2
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Nov 10 16:27:10 2014 +0100
UBI: Fastmap: Fix race after ubi_wl_get_peb()
ubi_wl_get_peb() returns a fresh PEB which can be used by
user of UBI. Due to the pool logic fastmap will correctly
map this PEB upon attach time because it will be scanned.
If a new fastmap is written (due to heavy parallel io)
while the before the fresh PEB is assigned to the EBA table
it will not be scanned as it is no longer in the pool.
So, the race window exists between ubi_wl_get_peb()
and the EBA table assignment.
We have to make sure that no new fastmap can be written
while that.
To ensure that ubi_wl_get_peb() will grab ubi->fm_sem in read mode
and the user of ubi_wl_get_peb() has to release it after the PEB
got assigned.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit ad3d6a05ee45eebf68ff08da0d3f86251b530a27
Author: Richard Weinberger <richard@xxxxxx>
Date: Fri Oct 24 15:22:05 2014 +0200
UBI: Fastmap: Fix leb_count unbalance
If a LEB is unmapped we have to decrement leb_count as well.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 68e3226bd4e05c4be1f6286e4e708e1163ffa092
Author: Richard Weinberger <richard@xxxxxx>
Date: Wed Oct 8 14:55:58 2014 +0200
UBI: Fastmap: Make WL pool size 50% of user pool size
Don't use a fixed size for the WL pool.
Make it instead 50% of the user pool.
We don't make it 100% as it is not as heavily used as the user pool.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 2d93fb3632755c170bc684989709e28ef3d22a80
Author: Richard Weinberger <richard@xxxxxx>
Date: Tue Oct 7 21:45:19 2014 +0200
UBI: Fastmap: Switch to ro mode if invalidate_fastmap() fails
We have to switch to ro mode to guarantee that upon next UBI attach
all data is consistent.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit d141a8ef21ab496ab6f8d188dfe7ca33e16fe798
Author: Richard Weinberger <richard@xxxxxx>
Date: Tue Oct 7 21:39:20 2014 +0200
UBI: Fastmap: Remove eba_orphans logic
This logic is in vain as we treat protected PEBs also as used, so this
case must not happen.
If a PEB is found which is in the EBA table but not known as used
has to be issued as fatal error.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit a83832a7c8d023f446ec865926190951bd18a4b1
Author: Richard Weinberger <richard@xxxxxx>
Date: Tue Oct 7 18:51:07 2014 +0200
UBI: Fastmap: Remove bogus ubi_assert()
It is legal to have PEBs left in the used list.
This can happen if UBI copies a PEB and a powercut happens
between writing a new fastmap and adding this PEB into the EBA table.
In this case the old PEB will be used.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 36a87e44f642966442fd0d23f2ec536851e00236
Author: Richard Weinberger <richard@xxxxxx>
Date: Tue Oct 7 16:31:22 2014 +0200
UBI: Fastmap: Fix race in ubi_eba_atomic_leb_change()
This function a) requests a new PEB, b) writes data to it,
c) returns the old PEB and d) registers the new PEB in the EBA table.
For the non-fastmap case this works perfectly fine and is powercut safe.
Is fastmap enabled this can lead to issues.
If a new fastmap is written between a) and c) the freshly requested PEB
is no longer in a pool and will not be scanned upon attaching.
If now a powercut happens between c) and d) the freshly requested PEB
will not be scanned and the old one got already scheduled for erase.
After attaching the EBA table will point to a erased PEB.
Fix this issue by swapping steps c) and d).
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit d2158f69a7d469c21c37f7028c18aa8c54707de3
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Oct 6 15:58:07 2014 +0200
UBI: Remove alloc_ai() slab name from parameter list
There is always exactly one ubi_attach_info object allocated,
therefore we don't have to care about the name.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 98105d0819daf569e741ddfba73cedcac371b9d8
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Oct 6 15:39:01 2014 +0200
UBI: Fastmap: Fix memory leak while attaching
Currently we leak a few ubi_ainf_pebs while attaching.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 84b678f497c6eda650f0640bd7cf165e2c1acb49
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Oct 6 15:14:16 2014 +0200
UBI: Fastmap: Fix fastmap usage in ubi_volume_notify()
There is no need to switch to ro mode if ubi_update_fastmap() fails.
Also get rid of the ifdef.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx>
commit 5e0246e332349751d39d186ea0b7ec1e371ab2f8
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Oct 6 15:12:16 2014 +0200
UBI: Fastmap: Wrap fastmap specific function in a ifdef
...such that we can implement NOP variants of some functions.
This will help to reduce fastmap specific ifdefs in other c files.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx>
commit 943b33564e78130014ca91b575181becc828179e
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Oct 6 14:57:18 2014 +0200
UBI: Fastmap: Notify user in case of an ubi_update_fastmap() failure
If ubi_update_fastmap() fails notify the user.
This is not a hard error as ubi_update_fastmap() makes sure that upon
failure
the current on-flash fastmap will no be used upon next UBI attach.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 74cdaf24004aea8de350f58979548b3eddc11e9a
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Oct 6 14:42:01 2014 +0200
UBI: Fastmap: Fix memory leaks while closing the WL sub-system
Add a ubi_fastmap_close() to free all resources used by fastmap
at WL shutdown.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Tested-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx>
commit a9cf86f62b785202684c3ba92895946f03d910c8
Author: Andre Przywara <andre.przywara@xxxxxxx>
Date: Thu Mar 26 14:39:35 2015 +0000
KVM: arm/arm64: prepare GICv2 emulation to be handled by kvm_io_bus
Using the framework provided by the recent vgic.c changes we register
a kvm_io_bus device when initializing the virtual GICv2.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
commit 6777f77f0f544f686ee3158ff0db6a7d81b7d3a2
Author: Andre Przywara <andre.przywara@xxxxxxx>
Date: Thu Mar 26 14:39:34 2015 +0000
KVM: arm/arm64: implement kvm_io_bus MMIO handling for the VGIC
Currently we use a lot of VGIC specific code to do the MMIO
dispatching.
Use the previous reworks to add kvm_io_bus style MMIO handlers.
Those are not yet called by the MMIO abort handler, also the actual
VGIC emulator function do not make use of it yet, but will be enabled
with the following patches.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
commit 9f199d0a0eeb8efb564ff41a6b9f819c4c0285ea
Author: Andre Przywara <andre.przywara@xxxxxxx>
Date: Thu Mar 26 14:39:33 2015 +0000
KVM: arm/arm64: simplify vgic_find_range() and callers
The vgic_find_range() function in vgic.c takes a struct kvm_exit_mmio
argument, but actually only used the length field in there. Since we
need to get rid of that structure in that part of the code anyway,
let's rework the function (and it's callers) to pass the length
argument to the function directly.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
commit cf50a1eb43b98daa181714e40e22c8e5ad5007d6
Author: Andre Przywara <andre.przywara@xxxxxxx>
Date: Thu Mar 26 14:39:32 2015 +0000
KVM: arm/arm64: rename struct kvm_mmio_range to vgic_io_range
The name "kvm_mmio_range" is a bit bold, given that it only covers
the VGIC's MMIO ranges. To avoid confusion with kvm_io_range, rename
it to vgic_io_range.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
commit f0e4b2776c12c1633ccef17f210733d6e1b6b2b3
Author: Andre Przywara <andre.przywara@xxxxxxx>
Date: Thu Mar 26 14:39:31 2015 +0000
KVM: x86: remove now unneeded include directory from Makefile
virt/kvm was never really a good include directory for anything else
than locally included headers.
With the move of iodev.h there is no need anymore to add this
directory the compiler's include path, so remove it from the x86 kvm
Makefile.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
commit 5d9d15af1cade35e84979f222b911cbc97106032
Author: Andre Przywara <andre.przywara@xxxxxxx>
Date: Thu Mar 26 14:39:30 2015 +0000
KVM: arm/arm64: remove now unneeded include directory from Makefile
virt/kvm was never really a good include directory for anything else
than locally included headers.
With the move of iodev.h there is no need anymore to add this
directory the compiler's include path, so remove it from the arm and
arm64 kvm Makefile.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
commit af669ac6dc3f66bb56fb9612b9826adac6292794
Author: Andre Przywara <andre.przywara@xxxxxxx>
Date: Thu Mar 26 14:39:29 2015 +0000
KVM: move iodev.h from virt/kvm/ to include/kvm
iodev.h contains definitions for the kvm_io_bus framework. This is
needed both by the generic KVM code in virt/kvm as well as by
architecture specific code under arch/. Putting the header file in
virt/kvm and using local includes in the architecture part seems at
least dodgy to me, so let's move the file into include/kvm, so that a
more natural "#include <kvm/iodev.h>" can be used by all of the code.
This also solves a problem later when using struct kvm_io_device
in arm_vgic.h.
Fixing up the FSF address in the GPL header and a wrong include path
on the way.
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
commit e32edf4fd0fa4897e12ca66118ab67bf257e16e4
Author: Nikolay Nikolaev <n.nikolaev@xxxxxxxxxxxxxxxxxxxxxx>
Date: Thu Mar 26 14:39:28 2015 +0000
KVM: Redesign kvm_io_bus_ API to pass VCPU structure to the callbacks.
This is needed in e.g. ARM vGIC emulation, where the MMIO handling
depends on the VCPU that does the access.
Signed-off-by: Nikolay Nikolaev <n.nikolaev@xxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
commit 5f6d851564a978085e23ccc41ee95cfa3a2ee43e
Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx>
Date: Tue Mar 17 01:19:54 2015 +0900
serial: sh-sci: Update calculation of timeout for DMA
The current calculation method in the case of 9600bps, rounding error
occurs
has become setting that occur timeout faster than the required time. When
we
use 9600bps, 32byte buffer, 10 bit (CS8) and 100 HZ, it becomes 3 jiffies
(30msec). In fact it is necessary 33msec. This updates to the calculation
that are not actually less than the value set by the rounding error.
Also, this is nothing will be calculated value when there is no load. If
there
are a lot of case load, overrun error will occur immediately.
This is by the buffer size to be calculated twice the DMA buffer, and add
the
change of setting a sufficient time-out value.
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx>
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit cb772fe75fa189c25ec258d36dabf914205e6635
Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx>
Date: Tue Mar 17 01:19:19 2015 +0900
serial: sh-sci: Add overrun handling of SCIFA and SCIFB
SCIFA and SCIFB can detect the overrun, but it does not support.
This adds overrun handling of SCIFA and SCIFB.
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx>
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 0814e8d5da2b6f25088fe28d5e23f511d8441883
Author: Jakub Kicinski <kubakici@xxxxx>
Date: Tue Mar 17 00:28:49 2015 +0100
sc16is7xx: enable the clock
Although clk_disable_unprepare() is called both on .remove()
and in .probe() error path, the clock is never actually enabled.
Signed-off-by: Jakub Kicinski <kubakici@xxxxx>
Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 9764e7a0f63bda5664cb985f992002c6eccef641
Author: Jakub Kicinski <kubakici@xxxxx>
Date: Tue Mar 17 00:28:47 2015 +0100
sc16is7xx: don't wipe out port configuration on shutdown
EFCR register contains RS-485 configuration which should not
be changed by shutdown. Instead of doing a write only update
the appropriate bits.
Signed-off-by: Jakub Kicinski <kubakici@xxxxx>
Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 11b03ea0c1ef1cd2df3e7ea0437a13e2dfb65f60
Author: Jakub Kicinski <kubakici@xxxxx>
Date: Tue Mar 17 00:28:46 2015 +0100
sc16is7xx: remove ports on probe error path
If ports are not explicitly removed on the error path
the device will not get properly unregistered leaving
/dev/ttySC* nodes in the filesystem.
Signed-off-by: Jakub Kicinski <kubakici@xxxxx>
Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1cf94d3a115ad118a36cba2c9a5383acda94e544
Author: Doug Kehn <rdkehn@xxxxxxxxx>
Date: Tue Mar 24 08:19:27 2015 -0500
tty/serial: omap: fix !wakeirq message
When wakeirq is not used/enabled, "no wakeirq for uart0" is output for
all TTY as the log message is generated before the port line is
initialized.
[ 0.802656] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.811700] omap_uart 44e09000.serial: no wakeirq for uart0
[ 0.812379] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88,
base_baud = 3000000) is a OMAP UART0
[ 1.503622] console [ttyO0] enabled
[ 1.509836] omap_uart 48022000.serial: no wakeirq for uart0
[ 1.516118] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 89,
base_baud = 3000000) is a OMAP UART1
[ 1.527711] omap_uart 48024000.serial: no wakeirq for uart0
[ 1.533881] 48024000.serial: ttyO2 at MMIO 0x48024000 (irq = 90,
base_baud = 3000000) is a OMAP UART2
[ 1.545324] omap_uart 481a6000.serial: no wakeirq for uart0
[ 1.551410] 481a6000.serial: ttyO3 at MMIO 0x481a6000 (irq = 60,
base_baud = 3000000) is a OMAP UART3
[ 1.562946] omap_uart 481a8000.serial: no wakeirq for uart0
[ 1.569036] 481a8000.serial: ttyO4 at MMIO 0x481a8000 (irq = 61,
base_baud = 3000000) is a OMAP UART4
Fix by moving wakeirq initialization, check, and dev_info() call to
after port line initialization and validation.
Signed-off-by: Doug Kehn <rdkehn@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 0fea53e255eaa889fb6cf8e10d11fbea2921eac8
Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Date: Fri Mar 13 11:09:36 2015 -0700
tty: serial: Remove orphaned serial driver
This driver is orphaned now that mach-msm has been removed.
Delete it.
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: David Brown <davidb@xxxxxxxxxxxxxx>
Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx>
Cc: Daniel Walker <dwalker@xxxxxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e23407d8b3e4b3011520e5140322fddd34172173
Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Date: Fri Mar 13 11:09:37 2015 -0700
tty: serial: msm_serial: Remove dead code
This config no longer exists now that mach-msm has been removed.
Delete it and the associated code.
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: David Brown <davidb@xxxxxxxxxxxxxx>
Cc: Bryan Huntsman <bryanh@xxxxxxxxxxxxxx>
Cc: Daniel Walker <dwalker@xxxxxxxxxx>
Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 77002c6f95cc2b51284f6f855da2c19e911f837a
Author: Peter Hung <hpeter@xxxxxxxxx>
Date: Tue Mar 17 18:02:14 2015 +0800
serial: 8250_pci: remove non-used var for F81504
Remove pci_fintek_setup() non-used var with calculation ciobase
Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e4228d7cf5844776bfe7c1a466fc827530c0086f
Author: Wang Long <long.wanglong@xxxxxxxxxx>
Date: Mon Mar 9 04:17:51 2015 +0000
serial: 8250: remove the redundant include
The serial_core.h file have been included in header file
serial_8250.h. so remove the "#include <serial_core.h>" in
some 8250 serial drivers, because they have included the header file
serial_8250.h.
Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f01a0bd8921b9d6668d41fae3198970e6318f532
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 9 14:05:01 2015 -0400
serial: 8250: Check UART_SCR is writable
Au1x00/RT2800+ doesn't implement the 8250 scratch register (and
this may be true of other h/w currently supported by the 8250 driver);
read back the canary value written to the scratch register to enable
the console h/w restart after resume from system suspend.
Fixes: 4516d50aabedb ("serial: 8250: Use canary to restart console ...")
Reported-by: Mason <slash.tmp@xxxxxxx>
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 509cb7dc07cc03c28c7995a9213a605c04675a58
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 9 14:05:00 2015 -0400
serial: 8250: Validate reg addr for Au1x00/RT288x i/o accessors
Au1x00/RT2800+ hardware has an alternate register layout which is
remapped with lookup tables by the au_serial_in()/out() i/o accessors.
However, the h/w does not support the complete 8250 register set, and
accesses to unmapped registers cause out-of-bounds lookups. Further,
because the lookup tables are defined by designated initializers, the
tables may contain unmapped entries (although the current tables do not).
Declare fixed-size lookup tables with contiguous initialization for
the complete 8250 register map; unmapped registers are initialized to -1.
Validate the register index (ie., 'offset') is in the range [0, table
size).
Return fixed value for unmapped register reads and ignore unmapped
register
writes.
Reported-by: Mason <slash.tmp@xxxxxxx>
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Tested-by: Mans Rullgard <mans@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit c4ca6be9d67eaf5a53054903530c8f422b4b88bd
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Oct 6 14:47:51 2014 +0200
UBI: Fastmap: Don't allocate new ubi_wl_entry objects
There is no need to allocate new ones every time, we can reuse
the existing ones.
This makes the code cleaner and more easy to follow.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx>
Reviewed-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx>
commit 6830356466a57db21c7bc31bf3be4e61189e145b
Author: Richard Weinberger <richard@xxxxxx>
Date: Mon Nov 10 15:39:17 2014 +0100
UBI: Fastmap: Make ubi_refill_pools() fair
Currently ubi_refill_pools() first fills the first and then
the second one.
If only very few free PEBs are available the second pool can get
zero PEBs.
Change ubi_refill_pools() to distribute free PEBs fair between
all pools.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Reviewed-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx>
commit 691a870563b4fe9e014a309477fb8f9fe41b36bb
Author: Richard Weinberger <richard@xxxxxx>
Date: Fri Nov 7 23:40:27 2014 +0100
UBI: Split __wl_get_peb()
Make it two functions, wl_get_wle() and wl_get_peb().
wl_get_peb() works exactly like __wl_get_peb() but wl_get_wle()
does not call produce_free_peb().
While refilling the fastmap user pool we cannot release ubi->wl_lock
as produce_free_peb() does.
Hence the fastmap logic uses now wl_get_wle().
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 5d3fc1d54e5a020c087002dd8590ee21c17e3182
Author: Azael Avalos <coproscefalo@xxxxxxxxx>
Date: Thu Mar 26 14:56:07 2015 -0600
toshiba_bluetooth: Fix enabling/disabling loop on recent devices
Bug 93911 reported a broken handling of the BT device, causing the
driver to get stuck in a loop enabling/disabling the device whenever
the device is deactivated by the kill switch as follows:
1. The user activated the kill switch, causing the system to generate
a 0x90 (status change) event and disabling the BT device.
2. The driver catches the event and re-enables the BT device.
3. The system detects the device being activated, but since the kill
switch is activated, disables the BT device (again) and generates
a 0x90 event (again).
4. Repeat from 2.
This patch adds an extra check to verify the status of the BT device,
returning silently if it is already activated.
Also, checks and returns appropriate error values while evaluating
the AUSB and BTPO methods.
Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx>
Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit 18b8696b66d79024649c895d4a5b7da4f268300e
Author: Azael Avalos <coproscefalo@xxxxxxxxx>
Date: Thu Mar 26 14:56:06 2015 -0600
toshiba_bluetooth: Clean up *_add function and disable BT device at
removal
This patch cleans the toshiba_bluetooth_add function by using the
recently introduced function toshiba_bluetooth_present, simplifying
its code and returning appropriate error values.
Also, disables the BT device at the removal of the driver, by using
the function toshiba_bluetooth_disable.
Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx>
Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit bb2ea96b4840fb244e74ed7c470a3ec88e5b084a
Author: Azael Avalos <coproscefalo@xxxxxxxxx>
Date: Thu Mar 26 14:56:05 2015 -0600
toshiba_bluetooth: Add three new functions to the driver
This patch introduces three new functions, which are going to be used
by the next patches.
The functions introduced are toshiba_bluetooth_present,
toshiba_bluetooth_status and toshiba_bluetooth_disable, which queries
the presence of the device, queries the status and disables the
device respectively.
Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx>
Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit dff1eb047ff649c3fc3adc42776039b8b0c5a869
Author: Masanari Iida <standby24x7@xxxxxxxxx>
Date: Wed Mar 25 23:13:08 2015 +0900
ACPI/PMIC: Fix typo in MODULE_DESCRIPTION in intel_pmic_crc.c
This patch fix a spelling typo in MODULE_DESCRIPTION within
intel_pmic_crc.c
Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
commit d59f21bebe9d0fda34027ff1afda4f2b0d5f1869
Author: Richard Weinberger <richard@xxxxxx>
Date: Thu Oct 2 15:00:35 2014 +0200
UBI: Fastmap: Fix races in ubi_wl_get_peb()
ubi_wl_get_peb() has two problems, it reads the pool
size and usage counters without any protection.
While reading one value would be perfectly fine it reads multiple
values and compares them. This is racy and can lead to incorrect
pool handling.
Furthermore ubi_update_fastmap() is called without wl_lock held,
before incrementing the used counter it needs to be checked again.
It could happen that another thread consumed all PEBs from the
pool and the counter goes beyond ->size.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit d723cfeafc7b4c73e89ed3d4b1a4d747e990872c
Author: Nishanth Menon <nm@xxxxxx>
Date: Mon Mar 23 14:39:39 2015 -0500
ARM: dts: am57xx-beagle-x15: Add thermal map to include fan and tmp102
BeagleBoard-X15 has capability for a fan and has an onboard TMP102
temperature sensor as well. This allows us to create a new thermal
zone (called, un-imaginatively "board"), and allows us to use some
active cooling as temperatures start edge upward in the system by
creating a new alert temperature (emperically 50C) for cpu.
NOTE: Fan is NOT mounted by default on the platform, in such a case,
all we end up doing is switch on a regulator and leak very minimal
current.
Signed-off-by: Nishanth Menon <nm@xxxxxx>
Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit f7397edf47ecc859fa69c15c4f9cefc8f2ee00c8
Author: Keerthy <j-keerthy@xxxxxx>
Date: Mon Mar 23 14:39:38 2015 -0500
ARM: dts: DRA7: Add bandgap and related thermal nodes
Add bandgap and related thermal nodes. The patch adds 5 thermal
sensors. Only one cooling device for mpu as of now. The sensors are
the exact same on both dra72 and dra7. Introduce CPU, GPU, core nodes
for the moment as they are direct reuse of OMAP5 entities.
NOTE: OMAP4 has a finer counter granularity, which allows for a delay
of 1000ms in the thermal zone polling intervals. DRA7 have different
counter mechanism, which allows at maximum a 500ms timer. Adjust the
cpu thermal zone accordingly for DRA7.
Signed-off-by: Keerthy <j-keerthy@xxxxxx>
[t-kristo@xxxxxx: few reuse from OMAP5 entities]
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
Signed-off-by: Nishanth Menon <nm@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 399a9feeac83c2f64138c438e41222a12dd71766
Author: Richard Weinberger <richard@xxxxxx>
Date: Fri Sep 26 23:08:15 2014 +0200
UBI: Fastmap: Ensure that all fastmap work is done upon WL shutdown
...otherwise the deferred work might run after datastructures
got freed and corrupt memory.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Reviewed-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx>
commit 19371d73c9bd31a8e634ec5a80fc19fcd7714481
Author: Richard Weinberger <richard@xxxxxx>
Date: Tue Sep 23 19:29:05 2014 +0200
UBI: Fastmap: Ensure that only one fastmap work is scheduled
If the WL pool runs out of PEBs we schedule a fastmap write
to refill it as soon as possible.
Ensure that only one at a time is scheduled otherwise we might end in
a fastmap write storm because writing the fastmap can schedule another
write if bitflips are detected.
Signed-off-by: Richard Weinberger <richard@xxxxxx>
Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx>
Reviewed-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx>
commit e129fdb9b2dc49e7be62eb1626ae8b8c84f41c59
Merge: afda768f cdf6124
Author: Tony Lindgren <tony@xxxxxxxxxxx>
Date: Thu Mar 26 10:48:49 2015 -0700
Merge branch 'omap-for-v4.1/ocp2scp' into omap-for-v4.1/fixes-not-urgent
commit cdf61240e11f838705b7a3f51acad5b641e54210
Author: Kishon Vijay Abraham I <kishon@xxxxxx>
Date: Tue Mar 17 16:54:51 2015 +0530
bus: ocp2scp: SYNC2 value should be changed to 0x6
As per the TRMs of AM572x, OMAP4430, OMAP4460, OMAP543x, the value of
SYNC2 must be set to 0x6 in order to ensure correct operation.
So modified the SYNC2 value of OCP2SCP TIMING register to 0x6 in all the
platforms that use OCP2SCP driver except AM437x. Also introduced a new
compatible property since we don't want to modify the OCP2SCP TIMING
register for AM437x.
The sections in TRM where the above caution can be found is mentioned
below.
AM572x TRM SPRUHZ6 (http://www.ti.com/lit/ug/spruhz6/spruhz6.pdf) under
section 26.3.2.2, table 26-26.
OMAP4430 TRM SWPU231AP (http://www.ti.com/lit/ug/swpu231ap/swpu231ap.pdf)
under section 23.12.6.2.2 , Table 23-1213.
OMAP4460 TRM SWPU235AB (http://www.ti.com/lit/ug/swpu235ab/swpu235ab.pdf)
under section 23.12.6.2.2, Table 23-1213.
OMAP543x TRM SWPU249 (http://www.ti.com/lit/pdf/swpu249)
under section 27.3.2.2, Table 27-27.
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>
Signed-off-by: Praneeth Bajjuri <praneeth@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 20431db949ce5eec0ff6012688c0ff6d9feb3319
Author: Kishon Vijay Abraham I <kishon@xxxxxx>
Date: Tue Mar 17 16:54:50 2015 +0530
ARM: dts: am4372: Add "ti,am437x-ocp2scp" as compatible string for OCP2SCP
Added a new compatible string "ti,am437x-ocp2scp" for OCP2SCP module.
This is needed since except for the OCP2SCP used in AM437x, SYNC2 value
in OCP2SCP TIMING should be changed whereas the default value is
sufficient
in AM437x.
Cc: Tony Lindgren <tony@xxxxxxxxxxx>
Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit bd0d888c4f7f125b7c7168f51039142150d9d1cc
Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Date: Fri Mar 27 02:35:52 2015 +0900
ARM: EXYNOS: allow cpuidle driver usage on Exynos3250 SoC
Register cpuidle platform device on Exynos3250 SoC allowing EXYNOS
cpuidle driver usage on this SoC.
Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
Tested-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx>
commit 89366409748c2de0521cf4303bfb1247676882df
Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Date: Fri Mar 27 02:35:48 2015 +0900
ARM: EXYNOS: add AFTR mode support for Exynos3250
AFTR mode support brings reduced energy consumption and is
a prerequisite for more advanced W-AFTR/LPA power saving modes.
AFTR mode has been already supported on other Exynos SoCs for
few years and this patch adds its support for Exynos3250 SoC.
The differences in Exynos3250 SoC AFTR mode support when compared
to Exynos4x12 SoCs are:
- different secure firmware calls are used
- different S5P_WAKEUP_MASK wakeup mask is used
- S5P_WAKEUP_MASK2 wakeup mask needs to be set in addition to
the standard S5P_WAKEUP_MASK one
- C2_STATE BOOT mode flag needs to be set/cleared pre/post AFTR
Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
Tested-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx>
commit afda768f88555a19bbcf66264d9fa622f78ff4fb
Author: Stefan Agner <stefan@xxxxxxxx>
Date: Sun Mar 22 01:00:18 2015 +0100
ARM: OMAP2+: remove superfluous NULL pointer check
The NULL pointer check for superset->muxnames will always evaluate
true since muxnames is an array within struct omap_mux. Remove the
superfluous check to avoid warnings when using LLVM/clang.
Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit dc1b9448d23deb51ad74a873392402560955dbc2
Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Date: Fri Mar 27 02:32:56 2015 +0900
ARM: EXYNOS: add code for setting/clearing boot flag
This code is needed for cpuidle (W-)AFTR mode support on Exynos3250.
Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
Tested-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx>
commit 497ab3b30c7687f52e6711e2ac72d1b696ec7685
Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Date: Fri Mar 27 02:32:56 2015 +0900
ARM: EXYNOS: fix CPU1 hotplug on Exynos3250
CPU1 hotplug may hang when AFTR is used. Fix it by:
- setting AUTOWAKEUP_EN bit in ARM_COREx_CONFIGURATION register in
exynos_cpu_power_up()
- not clearing reserved bits of ARM_COREx_CONFIGURATION register in
exynos_cpu_power_down()
- waiting while an undocumented register 0x0908 becomes non-zero in
exynos_core_restart()
- using dsb_sev() instead of IPI in exynos_boot_secondary() on
Exynos3250
This patch also fixes hotplug issues during resume from S2R:
$ echo mem > /sys/power/state
[ 156.517266] Disabling non-boot CPUs ...
[ 156.517781] IRQ18 no longer affine to CPU1
[ 156.518043] CPU1: shutdown
[ 156.544718] Enabling non-boot CPUs ...
[ 156.554925] CPU1: Software reset
[ 158.552631] CPU1: failed to come online
[ 158.552753] Error taking CPU1 up: -5
Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
Tested-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx>
commit 72a33aad476f9d4b1210dbf434f53eeea84909ab
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 24 14:25:15 2015 -0500
serial: 8250: Declare base port operations const
The base port operations dispatch table should never be modified
at runtime; the proper way to override base port operations is
to dup the port operations, modify the copy, and point port->ops
at the copy.
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 403753937020549e4bb0d8ef6e915f00a338a096
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 24 14:25:14 2015 -0500
serial: 8250: Decouple RSA probe
Prepare for 8250 split; separate RSA probe and resource management
from base port operations. Override base port operations for the
config_port(), request_port() and release_port() methods to
implement the optional RSA probe and resource management only in
the universal/legacy 8250 driver.
Introduce 'probe' flags for 8250 ports, which allows drivers higher
up the driver stack to enable optional probes.
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3b81c26c92414024a8046eb216782f3d599a5d77
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 24 14:25:13 2015 -0500
serial: 8250: Only get RSA resource when required
The probe for Remote Supervisor Adapter is limited to port i/o
addresses which match one of the probe_rsa[] module parameter
addresses. Limit RSA resource acquire to matching i/o ports.
The result is a saner probe policy: only perform optional probes
when specified rather than by default.
NB: It is possible for userspace to set the port type == PORT_RSA
with ioctl(TIOCSSERIAL) and then autoconfig with ioctl(TIOCSERCONFIG),
which if it fails, may leave the port type set to PORT_RSA. Since
this may have previously resulted in a working RSA port, this behavior
is preserved.
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit cd52b7599c1a1150719b2f6d20bce6b4f30dc8df
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 24 14:25:12 2015 -0500
serial: 8250: Get RSA resource iff CONFIG_SERIAL_8250_RSA
Support for Remote Supervisor Adapter is conditional on
CONFIG_SERIAL_8250_RSA; only attempt RSA resource acquire if
defined.
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d53e1428a9f1110ec865b2839f6a6f12d13da2b9
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 24 14:25:11 2015 -0500
serial: 8250: Initialize default dma handlers when setting defaults
Prepare for 8250 split; move default dma tx/rx handler initialization
into serial8250_set_defaults(), which allows default dma ops to
remain unexported from the base port operations module after the split.
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit afd483bd0f6808d7a8891349b8a141d7abd0509d
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 24 14:25:10 2015 -0500
serial: 8250: Initialize fixed type fields when setting defaults
Prepare for 8250 split; move fixed type initialization into
serial8250_set_defaults(). This enables uart_config[] array to remain
file scope in base port operations after the split.
NB: the call to serial8250_init_fixed_type_port() from
serial8250_register_ports() was added by commit b5d228cc4f85
("serial: copy UART properties of UPF_FIXED_TYPE ports provisioned
using early_serial_setup") specifically to support ports initialized
by early_serial_setup(). Since serial8250_set_defaults() is called
from early_serial_setup(), fixed type initialization is now already
handled there before serial8250_register_ports() is called.
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1a53e07989733d72354eb9617f49377ff30588a8
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 24 14:25:09 2015 -0500
serial: 8250: Encapsulate port i/o method init
Prepare for 8250 split; introduce serial8250_set_defaults() to set default
port methods prior to driver override.
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 0a16e2c1a6221703aa4d4942c95e37d641e87cc7
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 24 14:25:08 2015 -0500
serial: 8250: Separate port initialization
Prepare for 8250 split; introduce serial8250_init_port() to initialize
port fields uncoupled from port structure storage.
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a4416cd1ac7b48988f0f41a17769d65c71ffc504
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 24 14:25:07 2015 -0500
serial: 8250: Separate legacy irq handling from core port operations
Prepare for 8250 split; decouple irq setup/teardown and handler from
core port operations.
Introduce setup_irq() and release_irq() 8250 driver methods; the 8250
core will use these methods to install and remove irq handling for
the given 8250 port.
Refactor irq chain linking/unlinking from 8250 core into
univ8250_setup_irq()/univ8250_release_irq() for the universal 8250 driver.
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 01218bf14ee60d4a2d6c667ebdbba3ae9a7a1d66
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Thu Mar 26 09:47:55 2015 -0700
of: Explicitly include linux/types.h in of_graph.h
In current -next of_graph.h fails to build due to it relying on
linux/types.h without explicitly including it:
../include/linux/of_graph.h:43:71: error: unknown type name 'u32'
caused by bfe446e37c4e (of: Add of_graph_get_port_by_id function). Add
an explicit inclusion to fix this.
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit 23a71fd616bf77fcc630ea514c469b0dd09cb99c
Author: Scott Branden <sbranden@xxxxxxxxxxxx>
Date: Fri Mar 20 18:06:22 2015 -0700
dt-bindings: brcm: rationalize Broadcom documentation naming
This patchset attempts to standardize the naming of dt-bindings
documents based on the Broadcom vendor prefix of brcm.
Although there are no guidelines currently present for how to name
the dt-bindings document the "vendor,binding.txt" style is in use by
some of the other vendors.
Acked-by: Lee Jones <lee@xxxxxxxxxx>
Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Acked-by: Gregory Fong <gregory.0xf0@xxxxxxxxx>
Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx>
Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit 6e28157173037b779fcf90715416a21a1e5ea2f9
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 24 14:25:06 2015 -0500
serial: 8250: Separate 8250 console interface
Prepare for 8250 core split; separate shared console interface from the
console definition of the universal driver.
Introduce 8250 shared console interface; serial8250_console_write() and
serial8250_console_setup() which decouples the console operation from
the port structure storage.
Rename existing serial8250_console* identifiers to univ8250_console*.
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 45e4372525592eafe84d8385e1e7c99a7cb23e0c
Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
Date: Sun Mar 22 11:35:56 2015 -0700
DocBook media: fix broken EIA hyperlink
This fixes the bibliography hyperlink to "http://www.eia.org"
which now redirects to a page with a "404 Not found" error.
The latest update to the document referred to is now available
on the Consumer Electronics Association website.
Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
commit a57069e33fbc6625f39e1b09c88ea44629a35206
Author: Manish Badarkhe <manishvb@xxxxxx>
Date: Thu Mar 26 15:38:25 2015 +0200
ASoC: davinci-evm: drop un-necessary remove function
As davinci card gets registered using 'devm_' api
there is no need to unregister the card in 'remove'
function.
Hence drop the 'remove' function.
Fixes: ee2f615d6e59c (ASoC: davinci-evm: Add device tree binding)
Signed-off-by: Manish Badarkhe <manishvb@xxxxxx>
Signed-off-by: Jyri Sarha <jsarha@xxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit d21bd67bbbc635424b336b7c881dbcdf6098f9f5
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:14 2015 +0200
drm/i915: Don't use encoder->new_crtc in intel_lvds_compute_config()
Move towards atomic by using the legacy modeset's drm_atomic_state
instead.
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit e75f4771f81e969d60177cb0c72526f4a05cbb5f
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:13 2015 +0200
drm/i915: Don't use staged config in intel_dp_mst_compute_config()
Move towards atomic by using the legacy modeset's drm_atomic_state
instead.
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit bb84296ae52da844c9cab81e0197152a69f2f841
Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Date: Fri Mar 27 02:00:09 2015 +0900
ARM: exynos_defconfig: Enable HDMI support
Many Exynos boards have an HDMI port so enable Exynos DRM HDMI
support.
Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx>
commit 4e330ae4ab2915444f1e6dca1358a910aa259362
Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri Mar 27 01:58:08 2015 +0900
ARM: S3C64XX: Use fixed IRQ bases to avoid conflicts on Cragganmore
There are two PMICs on Cragganmore, currently one dynamically assign
its IRQ base and the other uses a fixed base. It is possible for the
statically assigned PMIC to fail if its IRQ is taken by the dynamically
assigned one. Fix this by statically assigning both the IRQ bases.
Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx>
commit 3165c074175cddab1dcfd553042ea4f363bc76e7
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:12 2015 +0200
drm/i915: Use atomic state in intel_ddi_crtc_get_new_encoder()
Instead of using connector->new_encoder, get the same information from
the pipe_config, thus making the function ready for the atomic
conversion.
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit f27b907595fc586bce62b8a3dc421e89bb927250
Author: Anand Moon <linux.amoon@xxxxxxxxx>
Date: Fri Mar 27 01:55:10 2015 +0900
ARM: dts: Fixed typo interrupt-cells for exynos5420 and exynos5250
Changes fixes the misspelled of #interrups-cell.
arch/arm/boot/dts/exynos5420.dtsi:224: WARNING: 'interrups'
may be misspelled - perhaps 'interrupts'?
Tested on OdroidXU3 board.
Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx>
[kgene@xxxxxxxxxx: added fixing same typo in exynos5250]
Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx>
commit 77f06c86622e1237fbab3333021211e8b04fe37d
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:11 2015 +0200
drm/i915: Don't depend on encoder->new_crtc in intel_hdmi_compute_config
Move towards atomic by using the legacy modeset's drm_atomic_state
instead.
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 4f59ebed8945c7102b960113093bb2e5497d2fab
Author: Seungwon Jeon <tgih.jun@xxxxxxxxxxx>
Date: Fri Mar 27 01:52:02 2015 +0900
ARM: dts: Add HS400 support for exynos5420 and exynos5800
HS400 timing values are added for SMDK5420, exynos5420-peach-pit
and exynos5800-peach-pi boards. This also adds RCLK GPIO line,
this gpio should be in pull-down state.
This also enables HS400 on peach-pi and this updates the clock
frequency to 800MHz to be set as input clock to controller.
Signed-off-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx>
[alim.akhtar@xxxxxxxxxxx: addressed review comments]
Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx>
Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx>
commit 19f79ccf6d77409cd138bce8db206cdac7fd5ea7
Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Date: Fri Mar 27 01:50:16 2015 +0900
ARM: exynos_defconfig: Enable options to mount a rootfs via NFS
This patch enables the options to mount a rootfs over NFS and also
support for automatic configuration of IP addresses during boot as
needed by NFS.
Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx>
commit 84556d58efead4cf4e53d807e5c846c7919be4c9
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:10 2015 +0200
drm/i915: Don't depend on encoder->new_crtc in intel_dp_compute_config()
Move towards atomic by using the legacy modeset's drm_atomic_state
instead.
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 1486017fbfef5441cc61c805ccace4d3dea27c80
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:09 2015 +0200
drm/i915: Don't use encoder->new_crtc in compute_baseline_pipe_bpp()
Move towards atomic by using the legacy modeset's drm_atomic_state
instead.
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
[danvet: Keep the if (!connector) continue; separate so that it's
easier to eventually extract a for_each_connector_in_state iterator.
And because of the upcast it's also safer.]
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 0b9018793939970aad49e4e0ed21f0fd0db74e4a
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:08 2015 +0200
drm/i915: Don't use encoder->new_crtc in intel_modeset_pipe_config()
Move towards atomic by using the legacy modeset's drm_atomic_state
instead.
v2: Move call to drm_atomic_add_affected_connectors() to
intel_modeset_compute_config(). (Daniel)
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
[danvet: Resurrect the ret local variable which I've dropped from an
earlier patch and which is now needed.]
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 944b0c76575753da5a332aab0a1d8c6df65a076b
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:07 2015 +0200
drm/i915: Copy the staged connector config to the legacy atomic state
With this in place, we can start converting pieces of the modeset code
to look at the connector atomic state instead of the staged config.
v2: Handle the load detect staged config changes too. (Ander)
Remove unnecessary blank line. (Daniel)
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit d29b2f9dce3e53ed3d5ada9d42f0edcca72fbfcd
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:05 2015 +0200
drm/i915: Update dummy connector atomic state with current config
Keep that state updated so that we can write code that depends on it on
the follow up patches.
v2: Fix BUG due to stale connector_state->crtc value. (Chandra)
v3: Update comment about dummy state connectors. (Chandra)
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit df519e7bd33cf56d8a5ce357dfb94248d427b688
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 9 16:27:22 2015 -0400
serial: 8250_early: Remove setup_early_serial8250_console()
setup_earlycon() will now match and register the desired earlycon
from the param string (as if 'earlycon=...' had been set on the
command line). Use setup_earlycon() from existing arch call sites
which start an earlycon directly.
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 470ca0de69feaba5df215ad804cec1859883a5ed
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 9 16:27:21 2015 -0400
serial: earlycon: Enable earlycon without command line param
Earlycon matching can only be triggered if 'earlycon=...' has been
specified on the kernel command line. To workaround this limitation
requires tight coupling between arches and specific serial drivers
in order to start an earlycon. Devicetree avoids this limitation
with a link table that contains the required data to match earlycons.
Mirror this approach for earlycon match by name. Re-purpose
EARLYCON_DECLARE to generate a table entry which associates name with
setup() function. Re-purpose setup_earlycon() to scan this table for
an earlycon match, which is registered if found.
Declare one "earlycon" early_param, which calls setup_earlycon().
This design allows setup_earlycon() to be called directly with a
param string (as if 'earlycon=...' had been set on the command line).
Re-registration (either directly or by early_param) is prevented.
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 7c53cb3de493573dc3b7f2468a542a9f11cc5079
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 9 16:27:20 2015 -0400
serial: earlycon: Refactor earlycon registration
Separate earlycon matching from registration; add register_earlycon
which initializes and registers the matched earlycon.
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 60846880384f00713c7f54243f749c1923e6c0e3
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 9 16:27:19 2015 -0400
serial: earlycon: Skip parse_options() if empty string
Earlycon param strings of the form
earlycon=<name>
are rejected from parse_options() with an error (which, in turn,
results in a NULL argument for the setup() method options parameter).
Only pass non-empty string to parse_options(); this will enable
handling actual parse errors differently than expected and allow
formats.
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 933a46b8df02caa1bd16a6dc4ddf13091c970ef5
Author: Jonathan Corbet <corbet@xxxxxxx>
Date: Thu Mar 26 10:25:17 2015 -0600
Documentation: tweak the maintainers entry
The previous maintainer didn't want translation patches, but I'll happily
take them. Also note a few subdirectories where the subsystem maintainers
would prefer to handle docs patches themselves.
Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
commit 989697255d6019df2b8548a072b0a81abd77c6aa
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:06 2015 +0200
drm/i915: Implement connector state duplication
So that we can add connector states to the drm_atomic_state used in the
legacy modeset.
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 2f0b57901b6cb1a340c16a408d9da968252eed4f
Author: kbuild test robot <fengguang.wu@xxxxxxxxx>
Date: Thu Mar 26 22:30:21 2015 +0800
drm/i915/skl: fix semicolon.cocci warnings
drivers/gpu/drm/i915/intel_pm.c:2913:4-5: Unneeded semicolon
Removes unneeded semicolon.
Generated by: scripts/coccinelle/misc/semicolon.cocci
CC: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit db7542dd402ad7be8e337ab483350f8795a3c7b0
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:04 2015 +0200
drm/i915: Allocate a crtc_state also when the crtc is being disabled
For consistency, allocate a new crtc_state for a crtc that is being
disabled. Previously only the enabled value of the current state would
change.
v2: Rebase on v5 of previous patch. (Ander)
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
[danvet: Resolve rebase conflict.]
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 526ebc3f56491fe971cd2b51cfc859a879e11e93
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 9 16:27:18 2015 -0400
serial: earlycon: Ignore parse_options() error code
Because setup_earlycon() continues to attempt console registration
if an error occurred parsing the option string, the actual value of
the error code from parse_options() is ignored.
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit cd385e9a2a2daa7e74003f930886e4c1cdf032f4
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 9 16:27:17 2015 -0400
serial: 8250_early: Fix setup() error code
If parsing failed to decode a valid uart addr, return -ENODEV instead
of success. Although setup_earlycon() will detect the failure anyway
(because the write() method has not been set), that behavior is not
obvious and should not be relied on.
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 0e3e143e5d1e7be65331cdf6d100b08bc6c15b72
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 9 16:27:16 2015 -0400
serial: 8250_early: Assume uart already initialized if no baud option
The <baud><parity><bit> option string is not supplied if the earlycon
is started via devicetree and OF_EARLYCON_DECLARE(). The option string
is also not required if started via kernel command line parameters of
the form:
earlycon=uart,mmio,<addr>
console=uart,mmio,<addr>
If earlycon_device->baud is 0, then an option string was not supplied.
In this case, assume the uart has already been initialized by the
bootloader or firmware.
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit feed5bab0d33feb5dbe5365b34d044c79f93dc6b
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 9 16:27:15 2015 -0400
serial: earlycon: Move ->uartclk initialize
Initializing the ->uartclk field is not related to option parsing;
relocate from parse_options() to setup_earlycon() (which mirrors the
behavior of of_setup_earlycon()).
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d0d654ce53ab34f9306630ebcbfc477a994ea662
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 9 16:27:14 2015 -0400
serial: 8250_early: Remove early_device variable
early_device was only required for serial8250_find_port_for_earlycon(),
which was replaced by extensible console matching.
Fixup early_serial8250_write() to get the earlycon_device * from
console->data (which is initialized by {of_}setup_earlycon()).
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1cfe42b7fd299723b521b5b4bd8019a611366c5e
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 9 16:27:13 2015 -0400
serial: core: Fix kernel doc for uart_console_write()
'/**' is required to start a kernel-doc comment block.
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit c7cef0a84912cab3c9df8949b034e4aa62982ec9
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 9 16:27:12 2015 -0400
console: Add extensible console matching
Add match() method to struct console which allows the console to
perform console command line matching instead of (or in addition to)
default console matching (ie., by fixed name and index).
The match() method returns 0 to indicate a successful match; normal
console matching occurs if no match() method is defined or the
match() method returns non-zero. The match() method is expected to set
the console index if required.
Re-implement earlycon-to-console-handoff with direct matching of
"console=uart|uart8250,..." to the 8250 ttyS console.
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 83a57153f5de299c7672d0cb241289c349b784d4
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:03 2015 +0200
drm/i915: Allocate a drm_atomic_state for the legacy modeset code
For the atomic conversion, the mode set paths need to be changed to rely
on an atomic state instead of using the staged config. By using an
atomic state for the legacy code, we will be able to convert the code
base in small chunks.
v2: Squash patch that adds stat argument to intel_set_mode(). (Ander)
Make every caller of intel_set_mode() allocate state. (Daniel)
Call drm_atomic_state_clear() in set config's error path. (Daniel)
v3: Copy staged config to atomic state in force restore path. (Ander)
v4: Don't update ->new_config for disabled pipes in __intel_set_mode(),
since it is expected to be NULL in that case. (Ander)
v5: Don't change return type of intel_modeset_pipe_config(). (Chandra)
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
[danvet: Remove spurious ret local variable due to changes in v5.]
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit e13cb72beeada6f6ac12058b9129334e3bb5ce85
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 24 14:25:05 2015 -0500
serial: 8250: Decouple core from skip_txen_test module param
Prepare for 8250 split; initialize the port flags based on the
"skip_txen_test" module param to use the existing flag test.
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d81e50f6161ea169a14fbc17a94cd4943f5d8df6
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 24 14:25:04 2015 -0500
serial: 8250: Move ns16550a_goto_hispeed() to local header
Prepare for 8250_core.c file split; move shared inline function
to local header file.
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 5db496b9c808270e9e569fa721d1ecdd8f145142
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 24 14:25:03 2015 -0500
serial: 8250: Simplify capabilities reset at port unregister
Since uart->port.type has just reset to PORT_UNKNOWN, capabilities
are reset to uart_config[PORT_UNKNOWN].flags, which is 0.
Removes unnecessary dependency on uart_config[].
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e6e98ceff34d398ca98b78f90966b6b90f668b68
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 24 14:25:02 2015 -0500
serial: 8250: Remove duplicate ->handle_irq initialization
set_io_from_upio() already initializes ->handle_irq to
serial8250_default_handle_irq.
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 51c39814b6b23c0d7b0c47ba9236248576a164ad
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 24 14:25:01 2015 -0500
serial: 8250: Compute ttyS index from port minor
Prepare for 8250 split; calculate the ttyS index directly from
the port minor which avoids the global serial8250_reg reference
from base port operations.
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 8ef320319592693f4a6286d80df210fd47b3e356
Author: Will Deacon <will.deacon@xxxxxxx>
Date: Thu Mar 26 15:09:20 2015 +0000
ARM64 / ACPI: fix usage of acpi_map_gic_cpu_interface
acpi_parse_gic_cpu_interface calls acpi_map_gic_cpu_interface by both
passing a 32-bit value in the u8 enabled parameter and then subsequently
ignoring its return value.
Sort it out.
Reported-by: Catalin Marinas <catalin.marinas@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit fb094eb19900937322848beaf1a622c6afb6250b
Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Date: Wed Mar 25 15:22:13 2015 +0000
ARM64: kernel: acpi: honour acpi=force command line parameter
If acpi=force is passed on the command line, it forces ACPI to be
the only available boot method, hence it must be left enabled even
if the initialization and sanity checks on ACPI tables fails.
This patch refactors ACPI initialization to prevent disabling ACPI
if acpi=force is passed on the command line.
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Acked-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 54971e43b9d6cb37366d2da64cc5a2d8f8102bc4
Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Date: Wed Mar 25 15:13:56 2015 +0000
ARM64: kernel: acpi: refactor ACPI tables init and checks
Current ACPI init code on ARM64 relies on acpi_table_parse() API to
check if the FADT is present and to carry out sanity checks on that.
The handler passed to the acpi_table_parse() function and used to
carry out the parsing on the requested table returns a value that is
ignored by the acpi_table_parse() function, so it is not possible
to propagate errors back to the acpi_table_parse() caller through
the handler.
This forces ARM64 ACPI init code to have disable_acpi() calls scattered
all over the place that makes code unwieldy and not easy to follow.
This patch refactors the ARM64 ACPI init code, by creating a
self-contained function (ie acpi_fadt_sanity_check()) that carries
out the required checks on FADT and returns an adequate return value
to the caller. This allows creating a common error path that disables
ACPI and makes code more readable and easy to parse and change were
further checks FADT to be added in the future.
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit d9895571877e965a9f3e18a2a30611322099ae30
Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Date: Tue Mar 24 17:58:53 2015 +0000
ARM64: kernel: psci: let ACPI probe PSCI version
PSCI v0.2+ allows the kernel to probe the PSCI firmware version.
This patch replaces the default initialization of PSCI v0.2+
functions with code that allows probing PSCI firmware version
and initializes PSCI functions accordingly.
Cc: Sudeep Holla <sudeep.holla@xxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 48eb3c8a8b4fffb48f64019e1f68a7de4db4cc43
Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Date: Tue Mar 24 17:58:52 2015 +0000
ARM64: kernel: psci: factor out probe function
PSCI v0.2+ versions provide a specific PSCI call (PSCI_VERSION) to
detect the PSCI version at run-time. Current PSCI v0.2 init code
carries out the version probing in the PSCI 0.2 DT init function,
but the version probing does not depend on DT so it can be factored out
in order to make it available to other boot mechanisms (ie ACPI) to
reuse. The psci_probe() probing function can be easily extended
to add detection and initialization of PSCI functions defined in
PSCI versions >0.2.
Cc: Sudeep Holla <sudeep.holla@xxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit d8f4f161e31f3ee9768467344e6cc31a0b9d9249
Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Date: Tue Mar 24 17:58:51 2015 +0000
ACPI: move arm64 GSI IRQ model to generic GSI IRQ layer
The code deployed to implement GSI linux IRQ numbers mapping on arm64
turns
out to be generic enough so that it can be moved to ACPI core code along
with its respective config option ACPI_GENERIC_GSI selectable on
architectures that can reuse the same code.
Current ACPI IRQ mapping code is not integrated in the kernel IRQ domain
infrastructure, in particular there is no way to look-up the
IRQ domain associated with a particular interrupt controller, so this
first version of GSI generic code carries out the GSI<->IRQ mapping
relying
on the IRQ default domain which is supposed to be always set on a
specific architecture in case the domain structure passed to
irq_create/find_mapping() functions is missing.
This patch moves the arm64 acpi functions that implement the gsi mappings:
acpi_gsi_to_irq()
acpi_register_gsi()
acpi_unregister_gsi()
to ACPI core code. Since the generic GSI<->domain mapping is based on IRQ
domains, it can be extended as soon as a way to map an interrupt
controller to an IRQ domain is implemented for ACPI in the IRQ domain
layer.
x86 and ia64 code for GSI mappings cannot rely on the generic GSI
layer at present for legacy reasons, so they do not select the
ACPI_GENERIC_GSI config options and keep relying on their arch
specific GSI mapping layer.
Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx>
Acked-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 33757ded074918eb49243968a82e7c9ec2d71720
Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Date: Tue Mar 24 14:02:56 2015 +0000
ARM64 / ACPI: Don't unflatten device tree if acpi=force is passed
Since the policy is that once we pass acpi=force in the early
param, we will not unflatten device tree even if ACPI is disabled
in ACPI table init fails, so fix the code by comparinging both
acpi_disabled and param_acpi_force before the device tree is
unflattened.
CC: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 735f00bdf23c427af0f54a9e672a93b5d3723f60
Author: Al Stone <al.stone@xxxxxxxxxx>
Date: Tue Mar 24 14:02:55 2015 +0000
ARM64 / ACPI: additions of ACPI documentation for arm64
One more documentation file are also being added:
A section by section review of the ACPI spec (acpi_object_usage.txt)
to note recommendations and prohibitions on the use of the numerous
ACPI tables and objects. This sets out the current expectations of
the firmware by Linux very explicitly (or as explicitly as I can, for
now).
CC: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
CC: Yi Li <phoenix.liyi@xxxxxxxxxx>
CC: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
CC: Ashwin Chaugule <ashwinc@xxxxxxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Signed-off-by: Al Stone <al.stone@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit dc81f2cfaa7f536e9900080cdc63e403440b670b
Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx>
Date: Tue Mar 24 14:02:54 2015 +0000
Documentation: ACPI for ARM64
Add documentation for the guidelines of how to use ACPI
on ARM64.
Reviewed-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Reviewed-by: Yi Li <phoenix.liyi@xxxxxxxxxx>
Reviewed-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
Reviewed-by: Ashwin Chaugule <ashwinc@xxxxxxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx>
Signed-off-by: Al Stone <al.stone@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit b6a0217371317298c900f0e0f84afb04312d5af0
Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx>
Date: Tue Mar 24 14:02:53 2015 +0000
ARM64 / ACPI: Enable ARM64 in Kconfig
Add Kconfigs to build ACPI on ARM64, and make ACPI available on ARM64.
acpi_idle driver is x86/IA64 dependent now, so make CONFIG_ACPI_PROCESSOR
depend on X86 || IA64, and implement it on ARM64 in the future.
CC: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx>
CC: Catalin Marinas <catalin.marinas@xxxxxxx>
CC: Will Deacon <will.deacon@xxxxxxx>
Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx>
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx>
Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
Tested-by: Jon Masters <jcm@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Tested-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx>
Signed-off-by: Al Stone <al.stone@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 42068cfd652843bdb61c374cf3582c4c0643483b
Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Date: Tue Mar 24 14:02:52 2015 +0000
XEN / ACPI: Make XEN ACPI depend on X86
When ACPI is enabled on ARM64, XEN ACPI will also compiled
into the kernel, but XEN ACPI is x86 dependent, so introduce
CONFIG_XEN_ACPI to make it depend on x86 before XEN ACPI is
functional on ARM64.
CC: Julien Grall <julien.grall@xxxxxxxxxx>
CC: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
CC: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
CC: David Vrabel <david.vrabel@xxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 6933de0ca0b7656db94f67731c8c53c7dcacae3a
Author: Al Stone <al.stone@xxxxxxxxxx>
Date: Tue Mar 24 14:02:51 2015 +0000
ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on
ARM64
ACPI reduced hardware mode is disabled by default, but ARM64
can only run properly in ACPI hardware reduced mode, so select
ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64.
If the firmware is not using hardware reduced ACPI mode, we
will disable ACPI to avoid nightmare such as accessing some
registers which are not available on ARM64.
CC: Catalin Marinas <catalin.marinas@xxxxxxx>
CC: Will Deacon <will.deacon@xxxxxxx>
Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx>
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx>
Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
Tested-by: Jon Masters <jcm@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Tested-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Signed-off-by: Al Stone <al.stone@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit b09ca1ecf6d499d5a33f978c905d2fbcc79b55d9
Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Date: Tue Mar 24 14:02:50 2015 +0000
clocksource / arch_timer: Parse GTDT to initialize arch timer
Using the information presented by GTDT (Generic Timer Description Table)
to initialize the arch timer (not memory-mapped).
CC: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Originally-by: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx>
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx>
Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
Tested-by: Jon Masters <jcm@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Tested-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit d60fc3892c4de4a25658786f941690462c5a5bab
Author: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx>
Date: Tue Mar 24 14:02:49 2015 +0000
irqchip: Add GICv2 specific ACPI boot support
ACPI kernel uses MADT table for proper GIC initialization. It needs to
parse GIC related subtables, collect CPU interface and distributor
addresses and call driver initialization function (which is hardware
abstraction agnostic). In a similar way, FDT initialize GICv1/2.
NOTE: This commit allow to initialize GICv1/2 basic functionality.
While now simple GICv2 init call is used, any further GIC features
require generic infrastructure for proper ACPI irqchip initialization.
That mechanism and stacked irqdomains to support GICv2 MSI/virtualization
extension, GICv3/4 and its ITS are considered as next steps.
CC: Jason Cooper <jason@xxxxxxxxxxxxxx>
CC: Marc Zyngier <marc.zyngier@xxxxxxx>
CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx>
Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
Tested-by: Jon Masters <jcm@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Tested-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx>
Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx>
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit fbe61ec71ac975279cd47b6c299d5e33f63aac4e
Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Date: Tue Mar 24 14:02:48 2015 +0000
ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi
Introduce ACPI_IRQ_MODEL_GIC which is needed for ARM64 as GIC is
used, and then register device's gsi with the core IRQ subsystem.
acpi_register_gsi() is similar to DT based irq_of_parse_and_map(),
since gsi is unique in the system, so use hwirq number directly
for the mapping.
We are going to implement stacked domains when GICv2m, GICv3, ITS
support are added.
CC: Marc Zyngier <marc.zyngier@xxxxxxx>
Originally-by: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx>
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx>
Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
Tested-by: Jon Masters <jcm@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Tested-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 020295b4cb5b7d510ea1f4531a502c3f8a2380c5
Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Date: Tue Mar 24 14:02:47 2015 +0000
ACPI / processor: Make it possible to get CPU hardware ID via GICC
Introduce a new function map_gicc_mpidr() to allow MPIDRs to be obtained
from the GICC Structure introduced by ACPI 5.1, since MPIDR for ARM64 is
64-bit, so typedef u64 for phys_cpuid_t.
The ARM architecture defines the MPIDR register as the CPU hardware
identifier. This patch adds the code infrastructure to retrieve the MPIDR
values from the ARM ACPI GICC structure in order to look-up the kernel CPU
hardware ids required by the ACPI core code to identify CPUs.
CC: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx>
CC: Catalin Marinas <catalin.marinas@xxxxxxx>
CC: Will Deacon <will.deacon@xxxxxxx>
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx>
Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
Tested-by: Jon Masters <jcm@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Tested-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 828aef376d7a129547bc4ebb949965040177e3da
Author: Catalin Marinas <catalin.marinas@xxxxxxx>
Date: Tue Mar 24 14:02:46 2015 +0000
ACPI / processor: Introduce phys_cpuid_t for CPU hardware ID
CPU hardware ID (phys_id) is defined as u32 in structure acpi_processor,
but phys_id is used as int in acpi processor driver, so it will lead to
some inconsistence for the drivers.
Furthermore, to cater for ACPI arch ports that implement 64 bits CPU
ids a generic CPU physical id type is required.
So introduce typedef u32 phys_cpuid_t in a common file, and introduce
a macro PHYS_CPUID_INVALID as (phys_cpuid_t)(-1) if it's not defined
by other archs, this will solve the inconsistence in acpi processor
driver,
and will prepare for the ACPI on ARM64 for the 64 bit CPU hardware ID
in the following patch.
CC: Rafael J Wysocki <rjw@xxxxxxxxxxxxx>
Suggested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx>
Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx>
[hj: reworked cpu physid map return codes]
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 959801fef94b7ee66ea2c713229637a7e1770890
Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 24 14:25:00 2015 -0500
serial: core: Add minor field to uart_port
UART drivers that share ttyS namespace cannot trivially compute the
ttyS index from the port->line value since the minor_start may be
offset from minor 64. Further, to do so requires a pointer to the
uart driver since there is no back pointer from uart_port to
uart_driver.
Rather than have UART drivers computing the minor value by themselves,
encapsulate within the serial core at port registration time.
Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d3157b2ca59ceb9ad1b72cad09535a343f315667
Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Date: Wed Feb 4 18:23:59 2015 +0000
tty/n_gsm: fix sparse warning
this patch fixes following sparse warning:
n_gsm.c:2827:22: warning: symbol 'tty_ldisc_packet' was not declared.
Should it be static?
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1083a7be4504df8149015894c982ebaf69766ddc
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Thu Feb 5 11:07:42 2015 +0100
tty: Use static attribute groups for sysfs entries
Instead of manual calls of device_create_file() and
device_remove_file(), pass the static attribute groups using
device_create_with_groups().
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1569039db0062c47c97ca0bf0c86210d26b8f412
Author: Hao Liang <hliang1025@xxxxxxxxx>
Date: Thu Mar 26 17:13:24 2015 +0800
bfin uart: it will hang when read current y count if not disable dma irq
Add irq disable and enable in bfin_serial_rx_dma_timeout in case of
system hang.
This reverts part of commit 9642dbe73c8a ("serial: bfin-uart: avoid
dead lock in rx irq handler in smp kernel").
Signed-off-by: Hao Liang <hliang1025@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3083ca2376a76072dc0071fb211de80b0ac44bd1
Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx>
Date: Wed Mar 4 15:05:25 2015 +0800
c6x: platforms: cache: Export symbol L1P_cache_block_invalidate and
L1D_cache_block_writeback
They are needed by other modules, the related error with allmodconfig:
MODPOST 3327 modules
ERROR: "L1P_cache_block_invalidate" [drivers/misc/lkdtm.ko] undefined!
ERROR: "L1D_cache_block_writeback" [drivers/misc/lkdtm.ko] undefined!
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Mark Salter <msalter@xxxxxxxxxx>
commit 2135115c938dcaba689a3780c0bffb6db1d05601
Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx>
Date: Wed Mar 4 14:44:54 2015 +0800
c6x: kernel: setup: Export symbol memory_end
It is needed by several modules, the related error with allmodconfig:
MODPOST 3327 modules
ERROR: "memory_end" [net/wireless/lib80211_crypt_tkip.ko] undefined!
ERROR: "memory_end" [net/sunrpc/sunrpc.ko] undefined!
ERROR: "memory_end" [net/sunrpc/auth_gss/rpcsec_gss_krb5.ko] undefined!
ERROR: "memory_end" [net/rxrpc/rxkad.ko] undefined!
ERROR: "memory_end" [net/mac802154/mac802154.ko] undefined!
ERROR: "memory_end" [net/mac80211/mac80211.ko] undefined!
ERROR: "memory_end" [net/ipv6/esp6.ko] undefined!
ERROR: "memory_end" [net/ipv6/ah6.ko] undefined!
ERROR: "memory_end" [net/ipv4/esp4.ko] undefined!
ERROR: "memory_end" [net/ipv4/ah4.ko] undefined!
ERROR: "memory_end" [net/ceph/libceph.ko] undefined!
ERROR: "memory_end" [net/9p/9pnet_virtio.ko] undefined!
ERROR: "memory_end" [drivers/usb/wusbcore/wusbcore.ko] undefined!
ERROR: "memory_end" [drivers/usb/misc/usbtest.ko] undefined!
ERROR: "memory_end" [drivers/usb/core/usbcore.ko] undefined!
ERROR: "memory_end" [drivers/target/target_core_file.ko] undefined!
ERROR: "memory_end"
[drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko] undefined!
ERROR: "memory_end" [drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko]
undefined!
ERROR: "memory_end" [drivers/net/virtio_net.ko] undefined!
ERROR: "memory_end" [drivers/net/usb/usbnet.ko] undefined!
ERROR: "memory_end" [drivers/net/ppp/ppp_mppe.ko] undefined!
ERROR: "memory_end" [drivers/mtd/nand/nand.ko] undefined!
ERROR: "memory_end" [drivers/mmc/card/mmc_block.ko] undefined!
ERROR: "memory_end" [drivers/crypto/qce/qcrypto.ko] undefined!
ERROR: "memory_end" [drivers/block/drbd/drbd.ko] undefined!
ERROR: "memory_end" [drivers/block/aoe/aoe.ko] undefined!
ERROR: "memory_end" [crypto/tcrypt.ko] undefined!
ERROR: "memory_end" [crypto/gcm.ko] undefined!
ERROR: "memory_end" [crypto/cts.ko] undefined!
ERROR: "memory_end" [crypto/ccm.ko] undefined!
ERROR: "memory_end" [crypto/authencesn.ko] undefined!
ERROR: "memory_end" [crypto/authenc.ko] undefined!
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Mark Salter <msalter@xxxxxxxxxx>
commit d0f73520b3782a5447e9602f181daba6671e5cc7
Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx>
Date: Wed Mar 4 14:12:52 2015 +0800
c6x: kernel: setup: Add screen_info global variable
Or can not pass building with allmodconfig:
LD init/built-in.o
drivers/built-in.o: In function `vgacon_switch':
vgacon.c:(.text+0x47f8): undefined reference to `screen_info'
vgacon.c:(.text+0x4810): undefined reference to `screen_info'
drivers/built-in.o: In function `vgacon_resize':
vgacon.c:(.text+0x4ac8): undefined reference to `screen_info'
vgacon.c:(.text+0x4acc): undefined reference to `screen_info'
drivers/built-in.o: In function `vgacon_save_screen':
vgacon.c:(.text+0x4cc8): undefined reference to `screen_info'
drivers/built-in.o:vgacon.c:(.text+0x4cd0): more undefined references
to `screen_info' follow
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Mark Salter <msalter@xxxxxxxxxx>
commit df93ab7552daf664ffa048704729e25f2aeb55ac
Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx>
Date: Wed Mar 4 11:12:10 2015 +0800
c6x: include: asm: Kbuild: Add generic serial.h
Or it will cause building break with allmodconfig:
CC [M] drivers/tty/serial/8250/8250_core.o
drivers/tty/serial/8250/8250_core.c:102:24: fatal error: asm/serial.h:
No such file or directory
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Mark Salter <msalter@xxxxxxxxxx>
commit 76e018925406b2fd619babc1a9a9e25456017109
Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx>
Date: Wed Mar 4 11:09:35 2015 +0800
c6x: include: asm: dma-mapping: Add dummy dma_sync_single_range_for_device
c6x does not implement get_dma_ops() for dma-mapping-common.h. And in
dma-mapping-common.h, dma_sync_single_range_for_device() may be dummy.
So c6x can just define a dummy function for allmodconfig building.
CC [M] drivers/net/ethernet/micrel/ks8851.o
drivers/net/ethernet/micrel/ks8842.c: In function 'ks8842_tx_frame_dma':
drivers/net/ethernet/micrel/ks8842.c:453:2: error: implicit declaration
of function 'dma_sync_single_range_for_device'
[-Werror=implicit-function-declaration]
dma_sync_single_range_for_device(adapter->dev,
^
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Mark Salter <msalter@xxxxxxxxxx>
commit 9bd54f64afa4da93d8f5751d80466ab3d660b51c
Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx>
Date: Wed Mar 4 06:06:26 2015 +0800
c6x: include: asm: setup: Include "linux/types.h"
Some modules may assume "asm/setup.h" already include all headers which
needed by itself. So need let "asm/setup.h" include "linux/types.h", the
related error:
C [M] drivers/input/joydev.o
In file included from include/asm-generic/page.h:23:0,
from ./arch/c6x/include/asm/page.h:9,
from include/asm-generic/io.h:14,
from arch/c6x/include/generated/asm/io.h:1,
from drivers/input/joydev.c:15:
./arch/c6x/include/asm/setup.h:17:27: error: unknown type name
'phys_addr_t'
extern int c6x_add_memory(phys_addr_t start, unsigned long size);
^
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Mark Salter <msalter@xxxxxxxxxx>
commit 06745d74e46a8dffa768e43b54835aa94903550a
Author: Chen Gang <762976180@xxxxxx>
Date: Tue Mar 3 07:24:26 2015 +0800
c6x: asm: Add default flat.h according to xtensa architecture
For supporting uClinux flat-format executables, c6x needs to define the
fewest features to support it, at present, xtensa architecture has the
fewest feature for it, so just copy xtensa flat.h. The related error:
CC fs/binfmt_flat.o
In file included from fs/binfmt_flat.c:36:0:
include/linux/flat.h:12:22: fatal error: asm/flat.h: No such file or
directory
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Mark Salter <msalter@xxxxxxxxxx>
commit 1a394e1a36aa9f47b411a8e4cb53dfca6f134401
Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx>
Date: Wed Mar 4 04:55:06 2015 +0800
c6x: kernel: setup: Remove 'const' for local variables in machine_init
early_init_dt_scan() accepts "void *", the related warning:
CC arch/c6x/kernel/setup.o
arch/c6x/kernel/setup.c: In function 'machine_init':
arch/c6x/kernel/setup.c:290:21: warning: passing argument 1 of
'early_init_dt_scan' discards 'const' qualifier from pointer target type
[-Wdiscarded-qualifiers]
early_init_dt_scan(fdt);
^
In file included from arch/c6x/kernel/setup.c:19:0:
include/linux/of_fdt.h:75:13: note: expected 'void *' but argument is
of type 'const void *'
extern bool early_init_dt_scan(void *params);
^
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Mark Salter <msalter@xxxxxxxxxx>
commit 1d2a64bd2da6034036fff9ad9b41682516f79fa3
Author: Chen Gang <762976180@xxxxxx>
Date: Tue Mar 3 06:33:42 2015 +0800
c6x: Makefile: Add -D__linux__
For gcc5 c6x raw compiler, at present, it may not define __linux__, so
c6x kernel still needs to define __linux__ just like another archs have
done. The related error:
CC [M] fs/coda/psdev.o
In file included from include/linux/coda.h:64:0,
from fs/coda/psdev.c:45:
include/uapi/linux/coda.h:221:2: error: unknown type name 'u_quad_t'
u_quad_t va_size; /* file size in bytes */
^
include/uapi/linux/coda.h:229:2: error: unknown type name 'u_quad_t'
u_quad_t va_bytes; /* bytes of disk space held by file */
^
include/uapi/linux/coda.h:230:2: error: unknown type name 'u_quad_t'
u_quad_t va_filerev; /* file modification number */
^
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Mark Salter <msalter@xxxxxxxxxx>
commit f4831605f2dacd12730fe73961c77253cc2ea425
Author: Nishanth Menon <nm@xxxxxx>
Date: Sat Mar 7 03:39:05 2015 -0600
C6x: time: Ensure consistency in __init
time_init invokes timer64_init (which is __init annotation)
since all of these are invoked at init time, lets maintain
consistency by ensuring time_init is marked appropriately
as well.
This fixes the following warning with CONFIG_DEBUG_SECTION_MISMATCH=y
WARNING: vmlinux.o(.text+0x3bfc): Section mismatch in reference from the
function time_init() to the function .init.text:timer64_init()
The function time_init() references
the function __init timer64_init().
This is often because time_init lacks a __init
annotation or the annotation of timer64_init is wrong.
Fixes: 546a39546c64 ("C6X: time management")
Signed-off-by: Nishanth Menon <nm@xxxxxx>
Signed-off-by: Mark Salter <msalter@xxxxxxxxxx>
commit 7be5ac2c32bd26c47a05367c0135cb6e67b3d452
Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Date: Thu Mar 26 14:16:22 2015 +0000
power/reset: at91: big endian fixes for atsama5d3x
Fix the passing of big endian data to routines that will be writing
it to the bus in the wrong order.
Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
commit eea2e596069ecd48b7b83108ac863824f113410a
Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Date: Tue Mar 17 13:36:17 2015 +0100
mfd: sec-core: Enable RTC on S2MPS11 PMIC
The S2MPS11 PMIC (present on Arndale Octa board) has the same RTC module
as S2MPS14 device. Add respective mfd cell to enable it.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit 908725d541a46d76d488bcbacdb131b16d59331b
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Mon Mar 16 20:21:36 2015 +0100
mfd: Constify of_device_id array
of_device_id is always used as const.
(See driver.of_match_table and open firmware functions)
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit 48579a9ae8d2034215d15912c863be36166696ed
Author: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Date: Mon Mar 16 11:20:49 2015 -0400
mfd: dln2: Use msecs_to_jiffies for time conversion
Converting milliseconds to jiffies by "val * HZ / 1000" is technically
OK but msecs_to_jiffies(val) is the cleaner solution and handles all
corner cases correctly. This is a minor API consolidation only and
should make things more readable.
Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit 1422731dbc14063fc7083cb090108c0d95267361
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Thu Mar 19 15:52:45 2015 +0100
mfd: tc3589x: Enforce device-tree only mode
All systems using the TC3589x multifunction expander uses
devicetree, so don't clutter the place with a lot of
and assume it is there.
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
commit 49172fee6173d213cf711bfad751e1b38e8fdaaf
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:02 2015 +0200
drm/i915: Pass acquire ctx also to intel_release_load_detect_pipe()
For now this is not necessary since intel_set_mode() doesn't acquire any
new locks. However, once that function is converted to atomic, that will
change, since we'll pass an atomic state to it, and that needs to have
the right acquire context set.
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 10f81c194a78915f47aa5a17756b6492be133251
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx>
Date: Fri Mar 20 16:18:01 2015 +0200
drm/i915: Add intel_atomic_get_crtc_state() helper function
The pattern of getting the crtc state with drm_atomic_get_crtc_state()
and then converting it to intel_crtc_state will repeat quite often in
the following patches, so add a helper function to save some typing.
v2: Fix upcasting so that crtc_state base field could be moved. (Daniel)
Signed-off-by: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 552e19d8764aeea3ecdf6cf29e22d6b99a505091
Author: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx>
Date: Wed Feb 18 13:33:21 2015 +0200
firmware: dmi_scan: Use direct access to static vars
There is no reason to pass static vars to function that can use
only them.
The dmi_table() can use only dmi_len and dmi_num static vars, so use
them directly. In this case we can freely change their type in one
place and slightly decrease redundancy.
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx>
Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx>
commit 7c27f78a297b54c3c2f5075cb15d33431b7f6333
Author: Steven Rostedt <rostedt@xxxxxxxxxxx>
Date: Tue Mar 24 14:58:13 2015 -0400
tools lib traceevent: Zero should not be considered "not found" in
eval_flag()
Guilherme Cox found that:
There is, however, a potential bug if there is an item with code zero
that is not the first one in the symbol list, since eval_flag(..)
returns 0 when it doesn't find anything.
That is, if you have the following enums:
enum {
FOO_START = 0,
FOO_GO = 1,
FOO_END = 2
}
and then have:
__print_symbolic(foo, FOO_GO, "go", FOO_START, "start",
FOO_END, "end")
If none of the enums are known to pevent, then eval_flag() will return
zero, and it will match it to the first item in the list, which would be
FOO_GO, which is not zero.
Luckily, in most cases, the first element would be zero, and the parsing
would match out of sheer luck.
Reported-by: Guilherme Cox <cox@xxxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150324145813.0bfe95ba@xxxxxxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 6ebad5c101de0d43dafc9aff88bad45819f10470
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Wed Mar 25 18:01:15 2015 -0300
perf trace: Fix syscall enter formatting bug
commit e596663ebb28a068f5cca57f83285b7b293a2c83
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Fri Feb 13 13:22:21 2015 -0300
perf trace: Handle multiple threads better wrt syscalls being
intermixed
Introduced a bug where it considered the number of bytes output directly
to the output file when formatting the syscall entry buffer that is
stored to be finally printed at syscall exit, ending up leaving garbage
at the start of syscalls that appeared while another syscall was being
processed, in another thread. Fix it.
Example of garbage in the output before this patch:
4280.102 ( 0.000 ms): lsmd/763 ... [continued]: select()) = 0 Timeout
4280.107 (275.250 ms): tuned/852 select(tvp: 0x7f41f7ffde50 ) ...
4280.109 ( 0.002 ms): lsmd/763 Xl��
) = -10
4639.197 ( 0.000 ms): systemd-journa/542 ... [continued]:
epoll_wait()) = 1
4639.202 (359.088 ms): lsmd/763 select(n: 6, inp: 0x7ffff21daad0, tvp:
0x7ffff21daac0) ...
4639.207 ( 0.005 ms): systemd-journa/542 Hn��
) = 106
4639.221 ( 0.002 ms): systemd-journa/542 uname(name: 0x7ffdbaed8e00) = 0
4639.271 ( 0.008 ms): systemd-journa/542 ftruncate(fd:
11</run/log/journal/60cd52417cf440a4a80107518bbd3c20/system.journal>, length:
50331648) = 0
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link: http://lkml.kernel.org/n/tip-9ckfe8mvsedgkg6y80gz1ul8@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 6428c59a97de7c3d88fc4e66317daea5e5008758
Author: David Ahern <david.ahern@xxxxxxxxxx>
Date: Tue Mar 24 12:10:55 2015 -0400
perf tools: Set JOBS based on CPU or processor
Number of JOBS to use is set automatically to the number of processors
found
in /proc/cpuinfo. SPARC uses 'CPU' lines rather than 'processor'. Update
the
check in perf's Makefile to work for SPARC.
Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427213455-127249-1-git-send-email-david.ahern@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 4d255766d28b1fecec7e00ab4166b2c17bfc37be
Author: David Ahern <david.ahern@xxxxxxxxxx>
Date: Tue Mar 24 12:10:38 2015 -0400
perf: Bump max number of cpus to 1024
SPARC based systems currently support up to 1024 cpus (e.g. T5-8).
Allow perf to work on those systems.
Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427213438-127216-1-git-send-email-david.ahern@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 23d4aad48e31d3269af484dd2f9bd251278cd667
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Tue Mar 24 19:23:47 2015 -0300
perf evlist: Return the first evsel with an invalid filter in
apply_filters()
Use of a bad filter currently generates the message:
Error: failed to set filter with 22 (Invalid argument)
Add the event name to make it clear to which event the filter
failed to apply:
Error: Failed to set filter "foo" on event sched:sg_lb_stats: 22:
Invalid argument
To test it use something like:
# perf record -e sched:sched_switch -e sched:*fork --filter
parent_pid==1 -e sched:*wait* --filter bla usleep 1
Error: failed to set filter "bla" on event sched:sched_stat_iowait with
22 (Invalid argument)
#
Based-on-a-patch-by: David Ahern <dsahern@xxxxxxxxx>
Acked-by: David Ahern <dsahern@xxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link: http://lkml.kernel.org/n/tip-d7gq2fjvaecozp9o2i0siifu@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit e94eedab3ab8201fd41480171b2fabbf3c5b1ae0
Author: David Ahern <david.ahern@xxxxxxxxxx>
Date: Tue Mar 24 16:14:09 2015 -0400
perf timechart: Fix SIBGUS error on sparc64
perf timechart -T on sparc64 is terminating due to SIGBUS. Backtrace:
Program received signal SIGBUS, Bus error.
0x0000000000173d7c in perf_evsel__intval (evsel=<value optimized out>,
sample=0x7feffffda28, name=0x289b28 "prev_state")
at util/evsel.c:1918
1918 util/evsel.c: No such file or directory.
in util/evsel.c
Missing separate debuginfos, use: debuginfo-install
audit-libs-2.3.7-1.0.1.el6.sparc64 bzip2-libs-1.0.5-7.el6_0.sparc64
elfutils-libelf-0.155-2.0.3.el6.sparc64 elfutils-libs-0.155-2.0.3.el6.sparc64
glibc-2.12-1.132.0.8.el6_5.sparc64 numactl-2.0.7-8.el6.sparc64
python-libs-2.6.6-52.0.2.el6.sparc64 slang-2.2.1-1.el6.sparc64
xz-libs-4.999.9-0.3.beta.20091007git.el6.sparc64 zlib-1.2.3-29.el6.sparc64
(gdb) bt
0 0x0000000000173d7c in perf_evsel__intval (evsel=<value optimized out>,
sample=0x7feffffda28,
name=0x289b28 "prev_state") at util/evsel.c:1918
1 0x0000000000123b94 in process_sample_sched_switch
(tchart=0x7feffffe040, evsel=0x4ca850, sample=0x7feffffda28,
backtrace=0xc39010 "") at builtin-timechart.c:627
2 0x0000000000122828 in process_sample_event (tool=0x7feffffe040,
event=<value optimized out>, sample=0x7feffffda28,
evsel=0x4ca850, machine=0x4c9c88) at builtin-timechart.c:569
Another extended load on unaligned pointer. As before fix by copying to
a temporary variable using memcpy.
Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427228049-51893-1-git-send-email-david.ahern@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 95be58df74a5b21e5a78e45fddb2fd59112524c5
Author: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx>
Date: Wed Feb 18 13:33:20 2015 +0200
firmware: dmi_scan: Use full dmi version for SMBIOS3
New SMBIOS3 spec adds additional field for versioning - docrev.
The docrev identifies the revision of a specification implemented in
the table structures, so display SMBIOSv3 versions in format,
like "3.22.1".
In case of only 32 bit entry point for versions > 3 display
dmi version like "3.22.x" as we don't know the docrev.
In other cases display version like it was.
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx>
Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx>
commit 88595ac9ad199fc2e09270ec92e1ff0806033b83
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date: Thu Mar 26 12:42:24 2015 +0100
drm/i915: always preserve bios swizzling
Currently we only set preserve_bios_swizzling when the initial fb is
shared and totally miss the single-screen case. Fix this by
consolidating all the logic for both cases.
This seems to go back to when swizzle preservation was originally
merged in
commit d9ceb8163339134bd3ffb9fb87a0db4698283e32
Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
Date: Thu Oct 9 12:57:43 2014 -0700
drm/i915: preserve swizzle settings if necessary v4
Cc: Kristian Høgsberg <hoegsberg@xxxxxxxxx>
Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx>
commit f6936e2902a7a6be52112e735a280aa2155b2c71
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date: Thu Mar 26 12:17:05 2015 +0100
drm/i915: Add initial_ prefix to bios fb takeover code
In spirit with
commit 5724dbd1678e2f573b13f0688277941fad66cb88
Author: Damien Lespiau <damien.lespiau@xxxxxxxxx>
Date: Tue Jan 20 12:51:52 2015 +0000
drm/i915: Rename plane_config to initial_plane_config
to make it clear that this code is all special-purpose for the initial
plane takeover.
Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx>
Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx>
commit 8bc174e9e3079b2475fb09e244f71fd57de7a802
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Thu Mar 26 14:18:34 2015 +0100
ALSA: hda - Handle a few verbs as read-only
Although they can be written, handle a few verbs as read-only in
regmap interface: CONFIG_DEFAULT, CONV and CVT_CHAN_COUNT. These are
either updated in PCM or HDMI management code in a volatile manner, or
just needed only as parameter, thus they don't need to be written at
resume sync.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 8ee775f92c8af2eb1626d39f06feac04fe0cb6e0
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Mar 25 12:54:26 2015 -0700
staging: rts5208: Remove RTSX_READ_REG and RTSX_WRITE_REG macros
Macros with hidden flow control are bad form as the code path
taken can be unexpected for the reader.
Expand these in-place and remove the macros.
Done with coccinelle script:
@@
expression chip;
expression arg1;
expression arg2;
expression arg3;
@@
- RTSX_WRITE_REG(chip, arg1, arg2, arg3);
+ retval = rtsx_write_register(chip, arg1, arg2, arg3);
+ if (retval) {
+ rtsx_trace(chip);
+ return retval;
+ }
@@
expression chip;
expression arg1;
expression arg2;
@@
- RTSX_READ_REG(chip, arg1, arg2);
+ retval = rtsx_read_register(chip, arg1, arg2);
+ if (retval) {
+ rtsx_trace(chip);
+ return retval;
+ }
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 031366ea65495f787eb792a135f51c093d75a197
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Mar 25 12:54:25 2015 -0700
staging: rts5208: Remove TRACE_RET and TRACE_GOTO macros
Remove these flow hiding macros.
Miscellanea:
o Add a macro and function to replace a large inline
o Simplify #includes
o Add trace.c and update Makefile
o Remove static inline filename function and use kbasename instead
This reduces object size quite a lot: ~350KB (x86-64 allyesconfig)
$ size drivers/staging/rts5208/built-in.o*
text data bss dec hex filename
248385 36728 77888 363001 589f9
drivers/staging/rts5208/built-in.o.new
506691 83352 115896 705939 ac593
drivers/staging/rts5208/built-in.o.old
Done via coccinelle script and some typing.
@@
expression chip;
expression ret;
@@
- TRACE_RET(chip, ret);
+ rtsx_trace(chip);
+ return ret;
@@
expression chip;
identifier label;
@@
- TRACE_GOTO(chip, label);
+ rtsx_trace(chip);
+ goto label;
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit da3c8deef6b392cfe9d19645de2fec9fc2005522
Author: Niranjan Dighe <niranjan.dighe@xxxxxxxxx>
Date: Wed Mar 25 00:46:33 2015 +0530
Staging: rtl8188eu: replace kzalloc and memcpy by kmemdup
This was generated by 'make coccicheck' using scripts at
scripts/coccinelle/api/memdup.cocci.
Signed-off-by: Niranjan Dighe <niranjan.dighe@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 90403aa118fe5e9f0e5bed1acc3fa2406237f9cb
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Tue Mar 24 16:06:44 2015 -0700
staging: rtl8723au: Update RT_TRACE macro and uses
Create an rt_trace function using %pV to reduce overall code size.
Update the macro uses to remove unnecessary and now harmful parentheses.
Miscellanea around these changes:
o Coalesce formats
o Realign arguments
o Remove commented-out RT_TRACE uses
o Spelling fixes in formats
o Add missing newlines to formats
o Remove multiple newlines from formats
o Neaten formats where noticed
o Use %pM in one instance
Reduces code size ~20KB
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 73454eaf2032c64f1d863ac7e91304e4bf903bfb
Author: Eddie Kovsky <ewk@xxxxxxxxxxxx>
Date: Wed Mar 25 22:16:11 2015 -0600
Staging: rtl8192 Clean up function definition
Change function definition to match its prototype declaration. This
fixes the following warning generated by sparse:
drivers/staging/rtl8192u/r8192U_core.c:1970:6: warning: symbol
'rtl8192_update_ratr_table' was not declared. Should it be static?
Signed-off-by: Eddie Kovsky <ewk@xxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d9e048cdd260a1e7f9f2e25cb2bad46521812d99
Author: Cihangir Akturk <cakturk@xxxxxxxxx>
Date: Tue Mar 24 21:53:53 2015 +0200
staging: rtl8192u: Fix static decleration sparse warning.
The function 'ieee80211_check_auth_response' is used only in this
file, so make it static. This patch fixes the following sparse
warning.
'ieee80211_check_auth_response' was not declared. Should it be static?
Signed-off-by: Cihangir Akturk <cakturk@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 330b5e80efcace88663b93bdd5ee41013284cb52
Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>
Date: Sat Mar 21 02:15:32 2015 +0300
staging: ozwpan: implement error handling in ozwpan_init()
Errors are correctly handled in oz_cdev_register() and oz_protocol_init(),
but then they are ignored in ozwpan_init().
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit c181be7f32d168f5deb85bffc7f874a4b36daeee
Author: Matteo Semenzato <mattew8898@xxxxxxxxx>
Date: Fri Mar 20 20:41:45 2015 +0100
Staging: rtl8188eu: remove dead code
The condition pxmitpriv->hwxmit_entry == 5 is always false because
HWXMIT_ENTRY is always 4.
Signed-off-by: Matteo Semenzato <mattew8898@xxxxxxxxx>
Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ea07278681c9738b8da96670be20898cd40c7bfe
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Tue Mar 24 11:10:09 2015 -0700
staging: rtl8723au: Remove uses of MAC_FMT and MAC_ARG
Use the standard vsprintf kernel extension to format
mac addresses.
This reduces object code size a bit.
Miscellanea:
o Coalesce formats
o Realign arguments
o Remove the now unused MAC_FMT and MAC_ARG #defines
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 92def781ee757ba384ecc618004a9419d04ea749
Author: Masanari Iida <standby24x7@xxxxxxxxx>
Date: Sat Mar 21 11:48:37 2015 +0900
staging: fbtft: Fix typo in fbtft
This patch fix spelling typo in comment and printk within fbtft
Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 4178549e4c477502e33e0cede28678faff44ad3e
Author: Cláudio Maia <crrm@xxxxxxxxxxx>
Date: Fri Mar 20 16:31:46 2015 +0000
Staging: fbtft: fb_pcd8544: Fix comments style
This patch fixes the following errors by refactoring the comments'
style:
WARNING: line over 80 characters
ERROR: code indent should use tabs where possible
Signed-off-by: Cláudio Maia <crrm@xxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 14cf23b155a343631adace6d41e5ace3cefb8339
Author: Cláudio Maia <crrm@xxxxxxxxxxx>
Date: Fri Mar 20 16:31:45 2015 +0000
Staging: fbtft: fb_pcd8544: Fix warning line over 80 characters
This patch fixes the following checkpatch warning:
WARNING: line over 80 characters
Signed-off-by: Cláudio Maia <crrm@xxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3b143b5503a7ee5e9b6fdd97cb1cacc0d320786e
Author: Kozhevnikov Anatoly <shilo.xyz@xxxxxxxxx>
Date: Fri Mar 20 18:37:54 2015 +0300
staging: fbtft: Add support for ili9163 controller
Driver for ili9163-based displays (for example: Nokia 5110)
Signed-off-by: Kozhevnikov Anatoly <shilo.xyz@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit cb422f3bbc47ebf30ea3862b6ade462ea8e81e56
Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx>
Date: Fri Mar 20 15:22:15 2015 +0000
staging: sm750fb: Remove spinlock helper function
This patch removes the unnecessary spinlock helper function and instead
calls spin_lock and spin_unlock directly.
This does *not* resolve sparse warnings about context imbalances but
these are
spurious.
Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 35fb80b9de08024b375d76f08591ec5b7cc57995
Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx>
Date: Fri Mar 20 15:22:14 2015 +0000
staging: sm750fb: Fix __iomem pointer types
This patch annotates pointers as referring to I/O mapped memory where
they ought
to be, removes now unnecessary ugly casts, eliminates an incorrect deref
on I/O
mapped memory by using iowrite16 instead, and updates the pointer
arithmetic
accordingly to take into account that the pointers are now byte-sized.
This
fixes the following sparse warnings:-
drivers/staging/sm750fb/sm750_cursor.c:113:19: warning: cast removes
address space of expression
drivers/staging/sm750fb/sm750_cursor.c:204:19: warning: cast removes
address space of expression
Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 2ffbc9c6aa2c36cbdc584ef9669b9ef97c1283c1
Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx>
Date: Fri Mar 20 15:22:13 2015 +0000
staging: sm750fb: Remove unused function
This patch removes the unused hw712_fillrect function. This patch fixes
the following sparse warning:-
drivers/staging/sm750fb/sm750_accel.c:95:5: warning: symbol
'hw712_fillrect' was not declared. Should it be static?
Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3cd919fc010043d67259ccf37ca5c5892582051e
Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
Date: Wed Mar 25 12:18:23 2015 -0700
drm/i915: Remove duplicated psr.active unset
psr.active is being unset out of the if so this here is useless and
duplicated.
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 5097f8c72a38128e99ae2869e397a2f43d0a0b51
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date: Wed Mar 25 18:30:38 2015 +0100
drm/i915: Fixup legacy plane->crtc link for initial fb config
This is a very similar bug in the load detect code fixed in
commit 9128b040eb774e04bc23777b005ace2b66ab2a85
Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
Date: Tue Mar 3 17:31:21 2015 +0100
drm/i915: Fix modeset state confusion in the load detect code
But this time around it was the initial fb code that forgot to update
the plane->crtc pointer. Otherwise it's the exact same bug, with the
exact same restrains (any set_config call/ioctl that doesn't disable
the pipe papers over the bug for free, so fairly hard to hit in normal
testing). So if you want the full explanation just go read that one
over there - it's rather long ...
Cc: Matt Roper <matthew.d.roper@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Cc: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx>
Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx>
Reported-and-tested-by: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit ab585dea120fa20313b1b5a3be2b3d614f094678
Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
Date: Tue Mar 24 12:40:09 2015 -0700
drm/i915: kill i915.powersave
This flag was being mostly used as a meta flag in some
cases and not covering other cases.
One of the risks is that it was masking some frontbuffer
trackings without disabling PSR.
So, better to kill this at once and avoid umbrella parameters.
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
[danvet: Drop unused out: label to appease gcc.]
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit d93abd15c84bd2598d0b59ab93f72bf3527cf51a
Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx>
Date: Fri Mar 20 15:22:12 2015 +0000
staging: sm750fb: Make internal functions static
This patch declares externally unavailable functions static. This fixes
the following sparse warnings:-
drivers/staging/sm750fb/ddk750_hwi2c.c:63:6: warning: symbol
'hwI2CWaitTXDone' was not declared. Should it be static?
drivers/staging/sm750fb/ddk750_hwi2c.c:93:14: warning: symbol
'hwI2CWriteData' was not declared. Should it be static?
drivers/staging/sm750fb/ddk750_hwi2c.c:160:14: warning: symbol
'hwI2CReadData' was not declared. Should it be static?
Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3de08a2d14ff8c771b5f806d6186b4601b770f6f
Author: Lorenzo Stoakes <lstoakes@xxxxxxxxx>
Date: Fri Mar 20 15:22:11 2015 +0000
staging: sm750fb: Use memset_io instead of memset
This patch takes into account that cursor->vstart, crtc->vScreen and
share->pvMem are pointers to memory-mapped I/O and thus we should use
memset_io
to make this explicit. In addition, some architectures require special
treatment
of memory-mapped I/O so the previous code could actually break without
this
change.
This fixes the following sparse warnings:-
drivers/staging/sm750fb/sm750.c:489:17: warning: incorrect type in
argument 1 (different address spaces)
drivers/staging/sm750fb/sm750.c:490:17: warning: incorrect type in
argument 1 (different address spaces)
drivers/staging/sm750fb/sm750.c:501:17: warning: incorrect type in
argument 1 (different address spaces)
drivers/staging/sm750fb/sm750.c:502:17: warning: incorrect type in
argument 1 (different address spaces)
drivers/staging/sm750fb/sm750.c:833:5: warning: incorrect type in
argument 1 (different address spaces)
drivers/staging/sm750fb/sm750.c:1154:9: warning: incorrect type in
argument 1 (different address spaces)
Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 855fe6ea9600a6d4b406b0d66e86e6e60ace4ef4
Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
Date: Tue Mar 24 16:22:24 2015 +0530
staging: sm7xxfb: add MODULE_DEVICE_TABLE
add MODULE_DEVICE_TABLE to support hot-plugging.
Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ab6de685221a95392e46d75d0651ac08b8a57689
Author: Brian Norris <computersforpeace@xxxxxxxxx>
Date: Sat Feb 28 02:23:29 2015 -0800
UBI: align comment for readability
The kerneldoc for @vid_hdr_aloffset continues onto a second line, but
this is not obvious, because the second line isn't indented, and it
begins with '@'.
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 299d0c5b27346a77a0777c993372bf8777d4f2e5
Author: Brian Norris <computersforpeace@xxxxxxxxx>
Date: Sat Feb 28 02:23:28 2015 -0800
UBI: fix check for "too many bytes"
The comparison from the previous line seems to have been erroneously
(partially) copied-and-pasted onto the next. The second line should be
checking req.bytes, not req.lnum.
Coverity CID #139400
Cc: stable <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
[rw: Fixed comparison]
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit f16db8071ce18819fbd705ddcc91c6f392fb61f8
Author: Brian Norris <computersforpeace@xxxxxxxxx>
Date: Sat Feb 28 02:23:27 2015 -0800
UBI: initialize LEB number variable
In some of the 'out_not_moved' error paths, lnum may be used
uninitialized. Don't ignore the warning; let's fix it.
This uninitialized variable doesn't have much visible effect in the end,
since we just schedule the PEB for erasure, and its LEB number doesn't
really matter (it just gets printed in debug messages). But let's get it
straight anyway.
Coverity CID #113449
Cc: stable <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit d74adbdb9abf0d2506a6c4afa534d894f28b763f
Author: Brian Norris <computersforpeace@xxxxxxxxx>
Date: Sat Feb 28 02:23:26 2015 -0800
UBI: fix out of bounds write
If aeb->len >= vol->reserved_pebs, we should not be writing aeb into the
PEB->LEB mapping.
Caught by Coverity, CID #711212.
Cc: stable <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 8eef7d70f7c6772c3490f410ee2bceab3b543fa1
Author: Brian Norris <computersforpeace@xxxxxxxxx>
Date: Sat Feb 28 02:23:25 2015 -0800
UBI: account for bitflips in both the VID header and data
We are completely discarding the earlier value of 'bitflips', which
could reflect a bitflip found in ubi_io_read_vid_hdr(). Let's use the
bitwise OR of header and data 'bitflip' statuses instead.
Coverity CID #1226856
Cc: stable <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>
commit 6be88670fc59d50426f90f734a36b90e1de7d148
Author: Clément Perrochaud <clement.perrochaud@xxxxxxx>
Date: Mon Mar 9 11:12:05 2015 +0100
NFC: nxp-nci_i2c: Add I2C support to NXP NCI driver
Add a module to the NXP-NCI driver to support NFC controllers with an
I2C control interface, such as the NPC100.
Signed-off-by: Clément Perrochaud <clement.perrochaud@xxxxxxxxxxxx>
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit d6abc59ec8440cf3677a54d6fb12afbd20f70821
Author: Lai Siyao <lai.siyao@xxxxxxxxx>
Date: Wed Mar 25 21:53:26 2015 -0400
staging/lustre/xattr: xattr data may be gone with lock held
Xattr cached data may be gone, but lock still held, in this case,
refetch xattr from server, otherwise client will return error.
Signed-off-by: Lai Siyao <lai.siyao@xxxxxxxxx>
Reviewed-on: http://review.whamcloud.com/12952
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3544
Reviewed-by: Bobi Jam <bobijam@xxxxxxxxxxx>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@xxxxxxxxx>
Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3ce08cd7a281e11d83ac3f92832522cf4a2f549c
Author: Niu Yawei <yawei.niu@xxxxxxxxx>
Date: Wed Mar 25 21:53:25 2015 -0400
staging/lustre: update timestamps after buiding rpc
The mtime/atime/ctime in the write RPC has to be updated after
the RPC is built (where xid is generated), otherwise, it could
race with the setattr and updating wrong timestamps on OST side.
Seems this regression was introduced when landing clio code.
Signed-off-by: Niu Yawei <yawei.niu@xxxxxxxxx>
Reviewed-on: http://review.whamcloud.com/13261
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5951
Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx>
Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a915ffda199013a8ee2dd6a8a23b89ea45879ed3
Author: Li Dongyang <dongyang.li@xxxxxxxxxx>
Date: Wed Mar 25 21:53:24 2015 -0400
staging/lustre/llite: glimpse the inode before doing fiemap
For a new inode, the i_size is 0 until a stat, which will yield
an empty fiemap result.
Fix the issue by glimpsing the size before doing fiemap.
Signed-off-by: Li Dongyang <dongyang.li@xxxxxxxxxx>
Signed-off-by: Bob Glossman <bob.glossman@xxxxxxxxx>
Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx>
Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx>
Reviewed-on: http://review.whamcloud.com/13439
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6091
Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 502cb58e2138dea3cef0da29021528172ff9fe58
Author: Andriy Skulysh <Andriy_Skulysh@xxxxxxxxxxx>
Date: Wed Mar 25 22:07:07 2015 -0400
staging/lustre/ptlrpc: fix import state during replay
Client doesn't restore import state correctly
on reconnect during replay. It resends lock replay
when final ping was queued by server.
Server fails with "target_queue_recovery_request())
ASSERTION( req->rq_export->exp_lock_replay_needed ) failed"
Add imp_replay_state to store last replay state.
imp_state is restored from imp_replay_state
during reconnect.
Signed-off-by: Andriy Skulysh <Andriy_Skulysh@xxxxxxxxxxx>
Signed-off-by: Bob Glossman <bob.glossman@xxxxxxxxx>
Xyratex-bug-id: MRP-2022
Reviewed-on: http://review.whamcloud.com/12163
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5651
Reviewed-by: Jian Yu <jian.yu@xxxxxxxxx>
Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx>
Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 397632e467d195a268ac3c5adfd7de32e92bd864
Author: Yang Sheng <yang.sheng@xxxxxxxxx>
Date: Wed Mar 25 21:53:22 2015 -0400
staging/lustre/lov: don't crash accessing LOV object with FID{0, 0}
Some object maybe has a corrupted LOV EA or a hole in
LOV EA. We should not crash client in such case.
Signed-off-by: Fan Yong <fan.yong@xxxxxxxxx>
Signed-off-by: Yang Sheng <yang.sheng@xxxxxxxxx>
Reviewed-on: http://review.whamcloud.com/12740
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4958
Reviewed-by: Jian Yu <jian.yu@xxxxxxxxx>
Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx>
Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 4345abb2c3b56eae9bcf4728dcdc0f584690c8aa
Author: Bobi Jam <bobijam.xu@xxxxxxxxx>
Date: Wed Mar 25 21:53:21 2015 -0400
staging/lustre/mgc: detach MGC dev on error
lustre_start_mgc() creates MGC device, if error happens later on
ll_fill_super(), this device is still attached, and later mount
fails by keep complaining that the MGC device's already in the
client node.
It turns out that the device was referenced by mgc config llog data
which is arranged in the mgc lock requeue thread re-trying to get its
mgc lock, and in normal case, this llog reference only released in
mgc_blocking_ast() when the system is umount.
This patch make mgc_precleanup() to wake up requeue thread to handle
the config llog data.
This patch also makes mgc_setup() wait for mgc_requeue_thread() start
before moving on.
Signed-off-by: Bobi Jam <bobijam.xu@xxxxxxxxx>
Reviewed-on: http://review.whamcloud.com/11765
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4943
Reviewed-by: Ryan Haasken <haasken@xxxxxxxx>
Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1c8aa54aaf2c74a28a9e427bb27fd1a12fca8536
Author: Hongchao Zhang <hongchao.zhang@xxxxxxxxx>
Date: Wed Mar 25 21:53:20 2015 -0400
staging/lustre/mgc: check the import stat for lprocfs
in lprocfs_mgc_rd_ir_state, the import state should be checked
the validity before doing further work.
Signed-off-by: Hongchao Zhang <hongchao.zhang@xxxxxxxxx>
Reviewed-on: http://review.whamcloud.com/12896
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5650
Reviewed-by: Fan Yong <fan.yong@xxxxxxxxx>
Reviewed-by: Niu Yawei <yawei.niu@xxxxxxxxx>
Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 06fbc01a870eea4431ca340642da7bfd4a5a262e
Author: Liang Zhen <liang.zhen@xxxxxxxxx>
Date: Wed Mar 25 21:53:19 2015 -0400
staging/lustre/ptlrpc: false alarm in AT network latency measuring
If early reply of client RPC is lost and client RPC is expired and
resent, server will drop the resent RPC because it's already in
processing, server may also send reply or early reply to client,
which can still match reply buffer of the original request.
In this case, client is measuring time from resent time, but server
is reporting service time of original RPC, which is longer than
the time measured by client.
Signed-off-by: Liang Zhen <liang.zhen@xxxxxxxxx>
Reviewed-on: http://review.whamcloud.com/12855
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5545
Reviewed-by: Li Wei <wei.g.li@xxxxxxxxx>
Reviewed-by: Johann Lombardi <johann.lombardi@xxxxxxxxx>
Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f42894004727ffdfb3b0826b0047eaf44cbdece6
Author: Christopher J. Morrone <morrone2@xxxxxxxx>
Date: Wed Mar 25 21:53:18 2015 -0400
staging/lustre/mdc: Handle empty but non-zero acl xattr
We have found that posix_acl_access can have a value
of \002\000\000\000. In that case body->aclsize is
non-zero, but the there are no actuall acls stored
in the xattr.
In mdc_unpack_acl(), it only checks IS_ERR() on the
pointer returned by posix_acl_from_xattr(), it does not
check for NULL. Because of the above situation, the
xattr aclsize can be non-zero, but posic_acl_from_xattr()
still returns NULL. Passing NULL to posix_acl_valid()
crashes the kernel.
We add a check to properly handle the NULL return value.
Signed-off-by: Christopher J. Morrone <morrone2@xxxxxxxx>
Reviewed-on: http://review.whamcloud.com/11989
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5150
Reviewed-by: Fan Yong <fan.yong@xxxxxxxxx>
Reviewed-by: Bob Glossman <bob.glossman@xxxxxxxxx>
Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit cc02e457bb86f7b6ffee3651bab22d104b60effb
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Wed Mar 25 14:08:50 2015 +0000
netfilter: nf_tables: implement set transaction support
Set elements are the last object type not supporting transaction support.
Implement similar to the existing rule transactions:
The global transaction counter keeps track of two generations, current
and next. Each element contains a bitmask specifying in which generations
it is inactive.
New elements start out as inactive in the current generation and active
in the next. On commit, the previous next generation becomes the current
generation and the element becomes active. The bitmask is then cleared
to indicate that the element is active in all future generations. If the
transaction is aborted, the element is removed from the set before it
becomes active.
When removing an element, it gets marked as inactive in the next
generation.
On commit the next generation becomes active and the therefor the element
inactive. It is then taken out of then set and released. On abort, the
element is marked as active for the next generation again.
Lookups ignore elements not active in the current generation.
The current set types (hash/rbtree) both use a field in the extension area
to store the generation mask. This (currently) does not require any
additional memory since we have some free space in there.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit ea4bd995b0f2fc5677ff8085e92a5d2544b9937c
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Wed Mar 25 14:08:49 2015 +0000
netfilter: nf_tables: add transaction helper functions
Add some helper functions for building the genmask as preparation for
set transactions.
Also add a little documentation how this stuff actually works.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit b2832dd6621bf73eb8ad38389a94bd83a5983886
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Wed Mar 25 14:08:48 2015 +0000
netfilter: nf_tables: return set extensions from ->lookup()
Return the extension area from the ->lookup() function to allow to
consolidate common actions.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 61edafbb47e9f46fb850035b1f8f062564445704
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Wed Mar 25 14:08:47 2015 +0000
netfilter: nf_tables: consolide set element destruction
With the conversion to set extensions, it is now possible to consolidate
the different set element destruction functions.
The set implementations' ->remove() functions are changed to only take
the element out of their internal data structures. Elements will be freed
in a batched fashion after the global transaction's completion RCU grace
period.
This reduces the amount of grace periods required for nft_hash from N
to zero additional ones, additionally this guarantees that the set
elements' extensions of all implementations can be used under RCU
protection.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit c61ac9791e357e0589f688a0a5ee4ad24f41cd84
Author: Bobi Jam <bobijam.xu@xxxxxxxxx>
Date: Wed Mar 25 22:04:53 2015 -0400
staging/lustre/osc: shorten IO calling path
By using osc_io_unplug_aync() for osc_queue_sync_pages() to shorten
the IO calling path, to reduce the chance of stack overflow.
Signed-off-by: Bobi Jam <bobijam.xu@xxxxxxxxx>
Signed-off-by: Bob Glossman <bob.glossman@xxxxxxxxx>
Reviewed-on: http://review.whamcloud.com/11612
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3188
Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx>
Reviewed-by: Niu Yawei <yawei.niu@xxxxxxxxx>
Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit dece45855a8b0d1dcf48eb01d0822070ded6a4c8
Author: Clément Perrochaud <clement.perrochaud@xxxxxxx>
Date: Mon Mar 9 11:12:04 2015 +0100
NFC: nxp-nci: Add support for NXP NCI chips
Add support for NXP NCI NFC controllers such as the NPC100 or PN7150
families.
Signed-off-by: Clément Perrochaud <clement.perrochaud@xxxxxxxxxxxx>
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit de5160ffd279dc6e7fa070a4a3852c6c5be42f9c
Author: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx>
Date: Mon Mar 16 23:53:38 2015 +0100
ft1000-pcmcia: ft1000_hw.c: code refactoring: add ft1000_read_dsp_timer()
Add new function ft1000_read_dsp_timer() replacing recurring code block
for
reading DSP timer. Such code refactoring solves all remaining "line over
80
characters" warnings reported by checkpatch.pl.
Signed-off-by: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 21a1d41174a16c1bba8b43eb607ac031f31533ae
Author: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx>
Date: Mon Mar 16 23:53:37 2015 +0100
ft1000-pcmcia: ft1000_hw.c: fix style issues not requiring code
refactoring
Fix all the trivial style issues (as reported by checkpatch.pl) not
requiring
code refactoring. A following patch is expected to fix the remaining
issues by
performing some code refactoring.
Signed-off-by: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 2c20d92dad5db6440cfa88d811b69fd605240ce4
Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
Date: Tue Mar 24 16:29:32 2015 +0530
staging: panel: fix lcd type
the lcd type as defined in the Kconfig is not matching in the code.
as a result the rs, rw and en pins were getting interchanged.
Kconfig defines the value of PANEL_LCD to be 1 if we select custom
configuration but in the code LCD_TYPE_CUSTOM is defined as 5.
my hardware is LCD_TYPE_CUSTOM, but the pins were assigned to it
as pins of LCD_TYPE_OLD, and it was not working.
Now values are corrected with referenece to the values defined in
Kconfig and it is working.
checked on JHD204A lcd with LCD_TYPE_CUSTOM configuration.
Cc: <stable@xxxxxxxxxxxxxxx> # 2.6.32+
Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx>
Acked-by: Willy Tarreau <w@xxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 8e43c9c75faf2902955bd2ecd7a50a8cc41cb00a
Author: Alistair Strachan <alistair.strachan@xxxxxxxxxx>
Date: Tue Mar 24 14:51:31 2015 -0700
staging: android: sync: Fix memory corruption in sync_timeline_signal().
The android_fence_release() function checks for active sync points
by calling list_empty() on the list head embedded on the sync
point. However, it is only valid to use list_empty() on nodes that
have been initialized with INIT_LIST_HEAD() or list_del_init().
Because the list entry has likely been removed from the active list
by sync_timeline_signal(), there is a good chance that this
WARN_ON_ONCE() will be hit due to dangling pointers pointing at
freed memory (even though the sync drivers did nothing wrong)
and memory corruption will ensue as the list entry is removed for
a second time, corrupting the active list.
This problem can be reproduced quite easily with CONFIG_DEBUG_LIST=y
and fences with more than one sync point.
Signed-off-by: Alistair Strachan <alistair.strachan@xxxxxxxxxx>
Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Colin Cross <ccross@xxxxxxxxxx>
Cc: stable <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f4ea80a6026a09aa0b59ec7443b901660f390550
Author: kbuild test robot <fengguang.wu@xxxxxxxxx>
Date: Wed Mar 25 07:54:12 2015 +0800
usb: host/sl811-hcd: fix platform_no_drv_owner.cocci warnings
drivers/usb/host/sl811-hcd.c:1812:3-8: No need to set .owner here. The
core will do it.
Remove .owner field if calls are used which set it automatically
Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 25af01ed18a282e7d324e5694fe67b85ac412994
Author: Clément Perrochaud <clement.perrochaud@xxxxxxx>
Date: Mon Mar 9 11:12:03 2015 +0100
NFC: nci: Add firmware download support
A simple forward for firmware download (i.e. sending a new firmware
to the NFC adapter) from the NFC subsystem to the drivers.
This feature is required to update the firmware of NXP-NCI NFC
controllers but can be used by any NCI driver.
This feature has been present in the HCI subsystem since 9a695d.
Signed-off-by: Clément Perrochaud <clement.perrochaud@xxxxxxxxxxxx>
Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
commit db7869cabd4862d984cca91dee62c14d08ae5b03
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Fri Mar 20 16:28:08 2015 +0800
chipidea: pci: make it depends on NOP_USB_XCEIV
After commit ba1aff67f99a (chipidea: pci: register nop PHY) the PCI glue
driver
requires nop-PHY to be selected. Thus, make it an explicit dependency.
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Fixes: ba1aff67f99a (chipidea: pci: register nop PHY)
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d728189d10a0bea28ecb0e9acde1ea517112d090
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Fri Mar 20 16:28:07 2015 +0800
chipidea: introduce specific Kconfig options for glue drivers
This patch introduces USB_CHIPIDEA_PCI and USB_CHIPIDEA_OF Kconfig
options, one
per each specific glue driver. This is needed to provide different
dependencies
they have.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3a316ec4c91cfe03093d708369f9ab57000c96c3
Author: Li Jun <b47624@xxxxxxxxxxxxx>
Date: Fri Mar 20 16:28:06 2015 +0800
usb: chipidea: use hrtimer for otg fsm timers
Current otg fsm timers are using controller 1ms irq and count it, this
patch
is to replace it with hrtimer solution, use one hrtimer for all otg
timers.
Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx>
Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 2f8a467a11aeec61f5077cd337b4efe74847e1d3
Author: Li Jun <b47624@xxxxxxxxxxxxx>
Date: Fri Mar 20 16:28:05 2015 +0800
usb: otg-fsm: move 2 otg fsm timers definition to otg_fsm_timer
B_DATA_PLS(data-line pulse time) and B_SSEND_SRP(session end to SRP init)
are
also from OTG&EH 2.0 Specification and they are not chipidea specific.
Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx>
Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 01ecd156905f6bbfe4f5bd278325071f9141726d
Author: Li Jun <b47624@xxxxxxxxxxxxx>
Date: Fri Mar 20 16:28:04 2015 +0800
usb: chipidea: otg: remove unnecessary B_SESS_VLD timer
Since BSV irq is enabled for B-device all the time, so B_SESS_VLD timer
is not required, and also no need to check BSV status when B_ASE0_BRST
timer timeout.
Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx>
Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 963719c872a3a71bc2abf4d4899392acab93b09d
Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 17 17:15:47 2015 +0100
USB: host: ohci-at91: remove useless uclk clock
Now that the system clock driver is forwarding set_rate request to the
parent clock, we can safely call clk_set_rate on the system clk and get
rid of the uclk field.
Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 85e8a0b9a3565c8185068b6b340cc8c6dd4411f4
Author: Oliver Neukum <oneukum@xxxxxxx>
Date: Mon Mar 23 14:34:43 2015 +0100
cdc-wdm: error returns need to be translated
One more case of error codes not correctly being
correctly returned to user space.
Signed-off-by: Olive Neukum <oneukum@xxxxxxxx>0
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 323ece54e0761198946ecd0c2091f1d2bfdfcb64
Author: Oliver Neukum <oneukum@xxxxxxx>
Date: Fri Mar 20 14:29:34 2015 +0100
cdc-wdm: fix endianness bug in debug statements
Values directly from descriptors given in debug statements
must be converted to native endianness.
Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>
CC: stable@xxxxxxxxxxxxxxx
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 28965e17ee7a9591c241b831fee050d2391688c6
Author: Oliver Neukum <oneukum@xxxxxxx>
Date: Fri Mar 20 14:29:18 2015 +0100
cdc-wdm: unify error handling in write
This makes sure the error handling path is the same for
all error conditions, thus reducing code duplication.
Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>0
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 4132cd02db180d018325e26bd145a509a14fcd6b
Author: Oliver Neukum <oneukum@xxxxxxx>
Date: Fri Mar 20 11:41:06 2015 +0100
cdc-acm: convert to not directly using urb->status
A step on the road to passing status as a parameter
Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 6c8074e90c7350f5e38caf1e8d73e98df4115403
Author: Oliver Neukum <oneukum@xxxxxxx>
Date: Fri Mar 20 11:25:17 2015 +0100
cdc-acm: surpress misleading message
During the entry intro suspend a misleading message can be
printed. Surpress it by checking the specific error.
Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>0
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 36e59e0d70d6150e7a2155c54612ea875e88ce8d
Author: Oliver Neukum <oneukum@xxxxxxx>
Date: Fri Mar 20 09:24:24 2015 +0100
cdc-acm: fix race between callback and unthrottle
Abn URB may be may marked free only after the buffer has been
processed or there is a small window during which it could
be submitted on another CPU and overwrite an unprocessed buffer
Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit c0ab6bb0597363532f178f3cd7b7fb527eef39e2
Author: Ben Gamari <ben@xxxxxxxxxxxxxxxx>
Date: Wed Mar 18 14:37:45 2015 -0400
usb/misc/usb3503: Always read refclk frequency from DT
This is necessary to set REF_SEL appropriately in uses where refclk is
always available.
Signed-off-by: Ben Gamari <ben@xxxxxxxxxxxxxxxx>
Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 76cb03e7d5d7ba49175784dce961696da66c44cc
Author: Oliver Neukum <oneukum@xxxxxxx>
Date: Fri Mar 20 14:28:56 2015 +0100
cdc-wdm: return correct error codes
Lieing to user space is wrong. The real reason for a failure
to write should be returned to user space.
Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>0
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 8373856d94aae5adf25f9e3388747c53867f1ab0
Author: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Date: Mon Mar 23 19:57:36 2015 +0800
MAINTAINERS: change my git address to kernel.org
Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 24677af8693647d611448651f7df3ddc3211aa83
Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
Date: Thu Mar 19 15:01:07 2015 +0100
usb: ehci-orion: add more constants for register values
This commit adds new register values for the USB_CMD and USB_MODE
registers, which allows to avoid the usage of a number of magic values
in orion_usb_phy_v1_setup().
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit bb3247a34257a271b32d43244eabf71198f40ff0
Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Date: Fri Mar 20 09:04:41 2015 +0530
USB: Move usb_disabled() towards top of the file
Move usb_disabled() and module_param()/core_param() towards the top of
the file,
where 'nousb' is defined, as they are all related.
Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1da47f54ddaf99d2fa8b4319480d49b88ff5fc2c
Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Date: Fri Mar 20 09:04:40 2015 +0530
USB: Use usb_disabled() consistently
At few places we have used usb_disabled() and at other places used 'nousb'
directly. Lets be consistent and use usb_disabled();
Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 66e3e591891da9899a8990792da080432531ffd4
Author: Keith Packard <keithp@xxxxxxxxxx>
Date: Thu Mar 19 20:36:49 2015 -0700
usb: Add driver for Altus Metrum ChaosKey device (v2)
This is a hardware random number generator. The driver provides both a
/dev/chaoskeyX entry and hooks the entropy source up to the kernel
hwrng interface. More information about the device can be found at
http://chaoskey.org
The USB ID for ChaosKey was allocated from the OpenMoko USB vendor
space and is visible as 'USBtrng' here:
http://wiki.openmoko.org/wiki/USB_Product_IDs
v2: Respond to review from Oliver Neukum <oneukum@xxxxxxx>
* Delete extensive debug infrastructure and replace it with calls to
dev_dbg.
* Allocate I/O buffer separately from device structure to obey
requirements for non-coherant architectures.
* Initialize mutexes before registering device to ensure that open
cannot be invoked before the device is ready to proceed.
* Return number of bytes read instead of -EINTR when partial read
operation is aborted due to a signal.
* Make sure device mutex is unlocked in read error paths.
* Add MAINTAINERS entry for the driver
Signed-off-by: Keith Packard <keithp@xxxxxxxxxx>
Cc: Oliver Neukum <oneukum@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1fcefbdf06708a5811ffa8acc949714aee60ae13
Author: kbuild test robot <fengguang.wu@xxxxxxxxx>
Date: Wed Mar 25 07:23:52 2015 +0100
usb: chipidea: usbmisc_imx: fix returnvar.cocci warnings
drivers/usb/chipidea/usbmisc_imx.c:277:5-8: Unneeded variable: "ret".
Return "0" on line 297
Removes unneeded variable used to store return value.
Generated by: scripts/coccinelle/misc/returnvar.cocci
Cc: Julia Lawall <julia.lawall@xxxxxxx>
Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 0270c6257701a33262239ffc38442f18ae047d98
Author: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Date: Wed Mar 25 21:11:44 2015 -0300
Staging: octeon: Remove extern from .c file
This patch fixes the checkpatch.pl warning:
WARNING: externs should be avoided in .c files
+extern void octeon_mdiobus_force_mod_depencency(void);
Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit da868b0305c43eaab0e2b3c14807531c5665f0a2
Author: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Date: Wed Mar 25 21:02:42 2015 -0300
Staging: i2o: Remove indentation of labels
This patch fixes the checkpatche.pl warnings:
WARNING: labels should not be indented
+ context_remove:
WARNING: labels should not be indented
+ nop_msg:
WARNING: labels should not be indented
+ exit:
Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 4ebe6f46cb20b004e94e9862509085f6b7e69366
Author: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Date: Wed Mar 25 20:56:43 2015 -0300
staging: fbtft: Remove do {} while(0) in single statement macro
This patch fixes the checkpatch.pl warning:
WARNING: Single statement macros should not use a do {} while (0) loop
+#define write_reg(par, ...)
\
+do {
\
+ par->fbtftops.write_register(par, NUMARGS(__VA_ARGS__),
__VA_ARGS__); \
+} while (0)
Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1f5f636c7746d2badbb960b51a13a1bb1edb1304
Author: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Date: Wed Mar 25 20:54:33 2015 -0300
staging: fbtft: Add space around '='
This patch fixes the checkpatch.pl error:
ERROR: spaces required around that '=' (ctx:VxV)
+ sdev->bits_per_word=9;
^
Signed-off-by: Helen Fornazier <helen.fornazier@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 418880f5708dec9fdb2eaa7a61175fa1d8ab4110
Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Date: Thu Mar 26 02:23:29 2015 +0300
Staging: iio: use the BIT macro in adc
This patch replaces bit shifting on:
0,1,2, and 3 with the BIT(x) macro.
Issue addressed by checkpatcg.pl.
This was done with the help of Coccinelle:
@r1@
identifier x;
constant int g;
@@
(
0<<\(x\|g\)
|
1<<\(x\|g\)
|
2<<\(x\|g\)
|
3<<\(x\|g\)
)
@script:python b@
g2 <<r1.g;
y;
@@
coccinelle.y = int(g2) + 1
@c@
constant int r1.g;
identifier b.y;
@@
(
-(1 << g)
+BIT(g)
|
-(0 << g)
+ 0
|
-(2 << g)
+BIT(y)
|
-(3 << g)
+(BIT(y)| BIT(g))
)
Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e273eb01feb15593d9cb3607a59d96ab12e4c0c2
Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Date: Wed Mar 25 10:55:06 2015 +0300
Staging: iio: Add braces on all arms of if statement
The following patch adds braces on all arms of if statement.
Issue addressed by checkpatch.pl.
Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 281ab7efa25b01802e40dd4b7ef5548960881ad7
Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Date: Wed Mar 25 10:54:32 2015 +0300
Staging: iio: add blank line after function declaration
This patch adds blank line after function declaration.
Issue addressed by checkpatch.pl.
Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 31245077231b9204595f8a480b77590b81c9b571
Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Date: Wed Mar 25 10:52:51 2015 +0300
Staging: iio: remove multible blank lines
This patch removes extra blank lines to address checkpatch.pl warnings
regarding that.
Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 9963bce76657d9fd5caa3fc77c72d57ec00c8cff
Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Date: Wed Mar 25 10:51:55 2015 +0300
Staging: iio: Adjust alignment for function parameters
This patch adjust parameters alignment in functions to match
open parenthesis. Issue addressed by checkpatch.pl.
Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f53cb7b16861f0bd474aab07b91c744758d4f1fd
Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Date: Wed Mar 25 08:09:59 2015 +0300
Staging: rtl8192u: Fix space issues before '(' and after ')'
Space is required before the open and after the close parenthesis.
This patch adds space after 'if' and before '{'.
This was done with the help of the following Coccinelle script:
@r@
expression E;
position p1,p2,p3;
@@
if@p1 (E) @p3{@p2
...
}
@script:python@
p1 << r.p1;
p2 << r.p2;
p3 << r.p3;
@@
l1 = int (p1[0].line)
l2 = int (p2[0].line)
l3 = int (p3[0].line)
c1 = int (p1[0].column_end)
c2 = int (p2[0].column)
c3 = int (p3[0].column)
if (l1 != l2):
cocci.include_match(False)
if (l2 == l3 and c3 + 2 == c2):
cocci.include_match(False)
@@
position r.p1,r.p2,r.p3;
expression r.E;
@@
-if@p1 (E) @p3{@p2
+if (E) {
...
}
Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit dde48b99d23f3f2e0f016d297801e4d5f13297fa
Author: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Date: Wed Mar 25 08:07:06 2015 +0300
Staging: rtl8192u: Add space before open parenthesis
Space is required before the open parenthesis.
This patch adds space after if to address that issue.
This was done with the help of the following Coccinelle script:
@r@
position p1,p2;
@@
if@p1 (@p2 ...) {
...
}
@script:python@
p1 << r.p1;
p2 << r.p2;
@@
l1 = int (p1[0].line)
l2 = int (p2[0].line)
c1 = int (p1[0].column)
c2 = int (p2[0].column)
if (l2 == l1 and c1 + 2 != c2):
cocci.include_match(False)
@@
position r.p1,r.p2;
@@
- if@p1 (
+ if (
...) {
...
}
Signed-off-by: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 26bce795d6f1fd0292283db0bf730a6c37970ab6
Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx>
Date: Wed Mar 25 21:34:48 2015 +0530
Staging: lustre: Remove extern from function declaration
Functions have the extern storage class specifier by default,
so this keyword can be removed.
Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit fe36bad239c90416ef11d44b5ea52238c027f923
Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx>
Date: Wed Mar 25 18:43:11 2015 +0530
Staging: rtl8188eu: Add new variable to make code compact
Introducing this variable leads to overall more code
compactness and increases readability.
Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 175bbae0c74bd9d250c7f9992d0b746412b78d12
Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx>
Date: Wed Mar 25 18:35:47 2015 +0530
Staging: rtl8188eu: Refactor repititive code to loop to increase
compactness
Refactor repetitive code to loop so as to increase
compactness and introduce newlines for readability.
Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit bf9525157107a4fac6afeb4757249e1569249faf
Author: Vatika Harlalka <vatikaharlalka@xxxxxxxxx>
Date: Wed Mar 25 18:35:46 2015 +0530
Staging: rtl8188eu: Reduce line size to increase readability
Reduce line size to increase readability.
Signed-off-by: Vatika Harlalka <vatikaharlalka@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ab82fa7da4dce5c728730d7aa0e11a2cbc9266da
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Wed Mar 18 19:41:09 2015 +0100
gpio: rcar: Prevent module clock disable when wake-up is enabled
When the GPIO module is needed for wake-up, it's module clock must not
be disabled. Hence implement irq_chip.irq_set_wake(), which
increments/decrements the clock's enable_count when needed, and forwards
the wake-up state to the upstream interrupt controller.
This fixes wake-up from s2ram using gpio-keys when using a PM Domain to
manage the module clock.
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 3dc1e6852115b3163e7dacc76bbcb78ccff29421
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Wed Mar 18 19:41:08 2015 +0100
gpio: rcar: Add more register documentation
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 4d84b9e4957589730d13d210e9e94bb5f5996ba3
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Wed Mar 18 19:41:07 2015 +0100
gpio: rcar: Use local variable gpio_chip in gpio_rcar_probe()
The existing variable gpio_chip already points to the gpiochip instance,
hence use it everywhere.
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit df60f57684529a1dde4461cf84354453b440806a
Merge: 605f302 b921e90
Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Date: Thu Mar 26 20:03:16 2015 +1100
Merge branch 'next-misc' of
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into test
Merge miscellaneous bits from benh. Fix a minor conflict with
OpalMessageType changing names to opal_msg_type.
commit e189ca56d91bbf1d3fe2f88ab6858bf919d42adf
Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx>
Date: Thu Mar 12 22:01:26 2015 +0530
gpio/crystalcove: Add additional GPIO for Panel control
Export PANEL_EN/DISABLE (offset 0x52) as additional GPIO. Needed
by display driver to enable the DSI panel on BYT platform where
the Panel EN/Disable control is routed thorugh CRC PMIC
CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
Cc: Alexandre Courbot <gnurou@xxxxxxxxx>
Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
Acked-by: Daniel Vetter <daniel@xxxxxxxx>
Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 5dd9c68a854a77da2091b08d8fb7717b04667c6d
Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
Date: Thu Mar 5 13:06:13 2015 +0200
iwlwifi: drop support for early versions of 8000
These early versions are no longer supported.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit cb2513bb71cfaedfb9af37c27744b0e5cef15aa3
Author: Luciano Coelho <luciano.coelho@xxxxxxxxx>
Date: Fri Feb 27 16:26:57 2015 +0200
iwlwifi: mvm: use debugfs_create_bool() for enable_scan_iteration_notif
There is no need to implement the enable_scan_iteration_notif handling
explicitly and there's no reason not to export the current value. So
use debugfs_create_bool() instead.
Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 2250fd94c8887bdf0fb583a8f35bf555a0fff81c
Author: Luciano Coelho <luciano.coelho@xxxxxxxxx>
Date: Wed Dec 3 10:52:26 2014 +0200
iwlwifi: mvm: add delay to scheduled scan
Add support for delaying the start of a scheduled scan (or a WoWLAN
net-detect scan).
Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 483f3ab1754f3c3698db622cc181249a0ca6372c
Author: Eliad Peller <eliad@xxxxxxxxxx>
Date: Wed Mar 4 10:38:32 2015 +0200
iwlwifi: pcie: initialize trans_pcie->ref_count on configure()
ref_count is currently initialized on start_fw(). This causes
some issues in restart flow, as currently active references
(e.g. unclaimed command) will get cleared, resulting in
invalid reference accounting.
Move the ref_count initialization to the configure() trans op,
so it won't be re-initialized on restart.
Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx>
Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 4ffb36505c0d4e0909aa1812b0269eb181a51390
Author: David Spinadel <david.spinadel@xxxxxxxxx>
Date: Tue Mar 10 10:06:02 2015 +0200
iwlwifi: mvm: inform mac80211 about umac scans that was aborted by restart
In nic restart flow we inform mac80211 that scan was aborted, but it was
based only on scan_status which is not set by UMAC scan. Fix that.
Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx>
Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx>
Reviewed-by: Luciano Coelho <luciano.coelho@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 939e4904e09044f0446a5eccd2bb93090087d713
Author: Arik Nemtsov <arik@xxxxxxxxxx>
Date: Sun Mar 8 12:19:42 2015 +0200
iwlwifi: mvm: remove d0i3 ref correctly during AP start
The AP_START d0i3 reference was never removed if the AP started correctly.
This has the unpleasant side-effect of preventing D0i3 on Android if the
WiFi hotspot was ever started on the device.
Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
commit 605f30205348f1d808d98d77505149da8b047b9f
Author: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 3 12:13:44 2015 +0530
powerpc/powernv: Avoid explicit endian conversions while parsing device
tree
We currently read the information about idle states from the device
tree, so as to find out the CPU idle states supported by the platform.
Use the of_property_read/count_xxx() APIs, which handle endian
conversions for us, and mean we don't need any endian annotations in the
code.
Signed-off-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit 1318470d7877dbb7168c6edcdc6127912b45f81e
Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx>
Date: Sat Mar 7 13:03:36 2015 +0100
ps3: Fix trivial typos in comment and debug message
Change 'prosessor' to 'processor'
Change 'set_inteval' to 'set_interval'
Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx>
Acked-by: Geoff Levand <geoff@xxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit e77553cb21adabb7680930e7b20c578cec7ae5a8
Author: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx>
Date: Fri Feb 27 13:30:34 2015 +0800
powerpc/mm: Free string after creating kmem cache
kmem_cache_create()->kmem_cache_create_memcg()->kstrdup() allocates new
space and copys name's content, so it is safe to free name memory after
calling kmem_cache_create(). Else kmemleak will report the below
warning:
unreferenced object 0xc0000000f9002160 (size 16):
comm "swapper/0", pid 0, jiffies 4294892296 (age 1386.640s)
hex dump (first 16 bytes):
70 67 74 61 62 6c 65 2d 32 5e 39 00 de ad be ef pgtable-2^9.....
backtrace:
[<c0000000004e03ec>] .kvasprintf+0x5c/0xa0
[<c0000000004e045c>] .kasprintf+0x2c/0x50
[<c00000000002e36c>] .pgtable_cache_add+0xac/0x100
[<c00000000002e3e4>] .pgtable_cache_init+0x24/0x80
[<c000000000c6c67c>] .start_kernel+0x228/0x4c8
[<c000000000000594>] .start_here_common+0x24/0x90
Signed-off-by: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx>
Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
commit fdf51784cd728e55daa0ca7b0ba16966afbfeae0
Author: Arman Uguray <armansito@xxxxxxxxxxxx>
Date: Wed Mar 25 18:53:46 2015 -0700
Bluetooth: Unify advertising data code paths
This patch simplifies the code paths for assembling the advertising data
used by advertising instances 0 and 1.
Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 089fa8c09e7fd36b9db01c23c826fb7956f25a1e
Author: Arman Uguray <armansito@xxxxxxxxxxxx>
Date: Wed Mar 25 18:53:45 2015 -0700
Bluetooth: Update supported_flags for AD features
This patch updates the "supported_flags" parameter returned from the
"Read Advertising Features" command. Add Advertising will now return
an error if an unsupported flag is provided.
Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 5507e358112af307c1c8595a04a0ef172d197f3c
Author: Arman Uguray <armansito@xxxxxxxxxxxx>
Date: Wed Mar 25 18:53:44 2015 -0700
Bluetooth: Support the "tx-power" adv flag
This patch adds support for the "tx-power" flag of the Add
Advertising command.
Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 67e0c0cd8f5afea17689f7688041e9d215df6875
Author: Arman Uguray <armansito@xxxxxxxxxxxx>
Date: Wed Mar 25 18:53:43 2015 -0700
Bluetooth: Support the "managed-flags" adv flag
This patch adds support for the "managed-flags" flag of the Add
Advertising command.
Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 807ec772bf484a8e93bc9a2a681e49cb8f2c4d69
Author: Arman Uguray <armansito@xxxxxxxxxxxx>
Date: Wed Mar 25 18:53:42 2015 -0700
Bluetooth: Support the "limited-discoverable" adv flag
This patch adds support for the "limited-discoverable" flag of the
Add Advertising command.
Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit b44133ff03be30b55f23036e62f403a3f7784fce
Author: Arman Uguray <armansito@xxxxxxxxxxxx>
Date: Wed Mar 25 18:53:41 2015 -0700
Bluetooth: Support the "discoverable" adv flag
This patch adds support for the "discoverable" flag of the
Add Advertising command.
Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit e7a685d316e7d4b64cd3b2811687b0270d590386
Author: Arman Uguray <armansito@xxxxxxxxxxxx>
Date: Wed Mar 25 18:53:40 2015 -0700
Bluetooth: Support the "connectable mode" adv flag
This patch adds support for the "connectable mode" flag of the
Add Advertising command.
Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 495099962138732c28449d07f3b1988836659851
Author: Arman Uguray <armansito@xxxxxxxxxxxx>
Date: Wed Mar 25 18:53:39 2015 -0700
Bluetooth: Add macros for advertising instance flags
This patch adds macro definitions for possible advertising instance
flags that can be passed to the "Add Advertising" command.
Signed-off-by: Arman Uguray <armansito@xxxxxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit 08dc0e987e2855e28714670b8214dea1f76534ba
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Wed Mar 25 18:32:13 2015 -0700
Bluetooth: Fix minor typo in comment for static address setting
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit e2e40f2c1ed433c5e224525c8c862fd32e5d3df2
Author: Christoph Hellwig <hch@xxxxxx>
Date: Sun Feb 22 08:58:50 2015 -0800
fs: move struct kiocb to fs.h
struct kiocb now is a generic I/O container, so move it to fs.h.
Also do a #include diet for aio.h while we're at it.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 7a504c935e42737e5ad40ea2f6f2d21b4dc27e81
Author: Axel Lin <axel.lin@xxxxxxxxxx>
Date: Tue Mar 17 08:42:38 2015 +0800
phy: samsung_usb2: Fixup samsung_usb2_phy_power_on/off paths
Ensure we have balanced clk_prepare_enable/clk_disable_unprepare calls if
.power_on or .power_off callbacks return error.
Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx>
Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>
commit 2be608561abfcceda4b35b71a0c1ec5088bb39b9
Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx>
Date: Thu Mar 12 19:11:13 2015 +0900
phy: exynos5-usbdrd: Add to support for Exynos5433 SoC
This patch adds driver data to support for Exynos5433 SoC.
The Exynos5433 has one USB3.0 Host and USB3.0 DRD(Dual Role Device).
Exynos5433 is simplar to Eyxnos7 but Exynos5433 have
one more USB3.0 Host controller.
Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx>
Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>
commit d89a7f69d69409ffafad7affc1cc3085d2cd0dd8
Author: Axel Lin <axel.lin@xxxxxxxxxx>
Date: Tue Mar 3 09:05:55 2015 +0800
phy: qcom-ufs: Catch devm_phy_create failure in ufs_qcom_phy_generic_probe
Current code does NULL test against return value of
ufs_qcom_phy_generic_probe.
However, in the case of devm_phy_create() failure,
ufs_qcom_phy_generic_probe
does not return NULL. Fix it.
Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx>
Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>
commit 080de5ba390c54b7504c43b36ae21911acf66b30
Author: Axel Lin <axel.lin@xxxxxxxxxx>
Date: Tue Mar 17 08:39:01 2015 +0800
phy: stih41x-usb: Fixup stih41x_usb_phy_power_on failure path
If stih41x_usb_phy_power_on() fails, we need to call
clk_disable_unprepare()
before return error. This is to ensure we have balanced clk_enable/disable
calls.
Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx>
Acked-by: Patrice Chotard <patrice.chotard@xxxxxx>
Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>
commit fe15dedc02e4ee29edfc84bbbf5ee42827e36ac7
Merge: c77662a f101796
Author: Michael Turquette <mturquette@xxxxxxxxxx>
Date: Wed Mar 25 14:51:40 2015 -0700
Merge tag 'sunxi-clocks-for-4.1' of
https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into clk-next
Allwinner clocks changes for 4.1
The usual round of clock changes for the Allwinner SoCs.
There is nothing really standing out here, but a few changes and fixes,
most
notably to allow the AHB clock to be parented to a PLL, instead of the CPU
clock to avoid any AHB rate change due to cpufreq.
commit 22de3ef94bd191537227a7f1bb0908f368601f03
Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Date: Wed Mar 25 13:32:22 2015 -0700
spi: of: do explicitly request modules for of-registered devices
Trying to register an SPI device asynchronously (via async_schedule()
call)
results in an ugly complaint from request_module() warning about potential
deadlock (because request_module tries to wait for async works to
complete, the caller is also an async work in this case).
While we could try to switch to using request_module_nowait(), other
buses,
as well as SPI itself when not using device tree, do not try to load
modules explicitly, but rather rely on the standard infrastructure (such
as
udev) to execute module loading. There is no reason why SPI OF-described
devices should be treated differently.
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit dc344b62121c4e2ba5bd9d5bf7a2b4ce5f0487ce
Author: Georgi Djakov <gdjakov@xxxxxxxxxx>
Date: Thu Oct 9 11:33:34 2014 +0300
ARM: qcom: Increase MMC_BLOCK_MINORS in defconfig
There are currently more than 16 partitions on the eMMC of all recent
Qualcomm devices. Increase the number of minors per block device to
detect all available partitions.
Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx>
Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
commit 9017f25254e474f2cc05df489e4f83b972d3d6fd
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Tue Mar 24 00:24:16 2015 +0100
driver core: Implement device property accessors through fwnode ones
Now that the ACPI companions of devices are pointed to by the fwnode
field in struct device, the device_property_*() accessor functions
can be modified to use their fwnode_property_*() counterparts
internally with minimum extra overhead in the IS_ENABLED(CONFIG_OF)
case, so make those changes.
This allows us to get rid of the rather ugly DEV_PROP_READ_ARRAY()
macro among other things.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit fe0a20a3eff282efae9f891fd10081a9e2b45c96
Merge: f42712a ca5b74d
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Wed Mar 25 20:59:51 2015 +0100
Merge branch 'acpi-driver-core' into device-properties
commit f42712a92e660fbee2193c5dde672470d099f63f
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Tue Mar 24 00:18:05 2015 +0100
driver core: property: Update fwnode_property_read_string_array()
Commit 5c0acf3b4f96 (driver core: Add comments about returning array
counts) forgot to update fwnode_property_read_string_array() along
the lines of device_property_read_string_array(), although it did
change the kerneldoc comment of it. Fix that.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 9b305632cb220ffa495cbbefb313f3c34d4decc4
Merge: fc4c3c8 29cf342
Author: Chris Mason <clm@xxxxxx>
Date: Wed Mar 25 12:25:02 2015 -0700
Merge branch 'cleanup/divs' of
git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.1
Signed-off-by: Chris Mason <clm@xxxxxx>
Conflicts:
fs/btrfs/volumes.c
commit 207cda93f0446c2da5461a37252c7468ddc1c2bc
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 20:26:26 2015 +0200
spi: dw: fix crash on setup stage
The commit 1a7b7ee72c21 (spi: Ensure that CS line is in non-active state
after
spi_setup()) introduces an unconditional call of spi_set_cs() before
->setup().
The dw_spi_set_cs() relies on that fact that ->setup() is already called,
but
it doesn't now. This patch fixes the crash by adding an additional check
to
dw_spi_set_cs().
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit f1017969661dd33ead5ba7c3f4a0793c6611441a
Author: Chen-Yu Tsai <wens@xxxxxxxx>
Date: Wed Mar 25 01:22:08 2015 +0800
clk: sunxi: Add pll6 / 4 clock output to sun4i-a10-pll6
The pll6 has a /4 output that is used as an input to the ahb mux clock.
Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx>
Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
commit 934fe5f48ae52841f8a5f5e0411147a8ccd171c1
Author: Chen-Yu Tsai <wens@xxxxxxxx>
Date: Wed Mar 25 01:22:07 2015 +0800
clk: sunxi: Make divs clocks specify which output is the base factor clock
The current sunxi clock driver has the base factor clock of divs clocks
as the last clock output of the clock node. This makes it rather difficult
to add new outputs, such as fixed dividers, which were previously unknown.
This patch makes the divs clocks data structure specify which output is
the factor clock, and updates all current divs clocks accordingly.
We can then add new outputs after the factor clocks, at least not breaking
backward compatibility with regards to the devicetree bindings.
Also replace kzalloc with kcalloc in sunxi_divs_clk_setup().
Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx>
Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
commit 5a352dd0a3aac03b443c94828dfd7144261c8636
Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 17:07:45 2015 +0100
ipv6: hash net ptr into fragmentation bucket selection
As namespaces are sometimes used with overlapping ip address ranges,
we should also use the namespace as input to the hash to select the ip
fragmentation counter bucket.
Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
Cc: Flavio Leitner <fbl@xxxxxxxxxx>
Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b6a7719aedd7e5c0f2df7641aa47386111682df4
Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 17:07:44 2015 +0100
ipv4: hash net ptr into fragmentation bucket selection
As namespaces are sometimes used with overlapping ip address ranges,
we should also use the namespace as input to the hash to select the ip
fragmentation counter bucket.
Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
Cc: Flavio Leitner <fbl@xxxxxxxxxx>
Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8fa38a38ac37a0ca5366cd62ba4339c2bab49db9
Merge: b06b107 8b4ed86
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Wed Mar 25 14:05:56 2015 -0400
Merge branch 'tipc-next'
Jon Maloy says:
====================
tipc: some improvements and fixes
We introduce a better algorithm for selecting when and which
users should be subject to link congestion control, plus clean
up some code for that mechanism.
Commit #3 fixes another rare race condition during packet reception.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8b4ed8634f8b3f9aacfc42b4a872d30c36b9e255
Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx>
Date: Wed Mar 25 12:07:26 2015 -0400
tipc: eliminate race condition at dual link establishment
Despite recent improvements, the establishment of dual parallel
links still has a small glitch where messages can bypass each
other. When the second link in a dual-link configuration is
established, part of the first link's traffic will be steered over
to the new link. Although we do have a mechanism to ensure that
packets sent before and after the establishment of the new link
arrive in sequence to the destination node, this is not enough.
The arriving messages will still be delivered upwards in different
threads, something entailing a risk of message disordering during
the transition phase.
To fix this, we introduce a synchronization mechanism between the
two parallel links, so that traffic arriving on the new link cannot
be added to its input queue until we are guaranteed that all
pre-establishment messages have been delivered on the old, parallel
link.
This problem seems to always have been around, but its occurrence is
so rare that it has not been noticed until recent intensive testing.
Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx>
Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 3127a0200d4a46cf279bb388cc0f71827cd60699
Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx>
Date: Wed Mar 25 12:07:25 2015 -0400
tipc: clean up handling of link congestion
After the recent changes in message importance handling it becomes
possible to simplify handling of messages and sockets when we
encounter link congestion.
We merge the function tipc_link_cong() into link_schedule_user(),
and simplify the code of the latter. The code should now be
easier to follow, especially regarding return codes and handling
of the message that caused the situation.
In case the scheduling function is unable to pre-allocate a wakeup
message buffer, it now returns -ENOBUFS, which is a more correct
code than the previously used -EHOSTUNREACH.
Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx>
Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 1f66d161ab3d8b518903fa6c3f9c1f48d6919e74
Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx>
Date: Wed Mar 25 12:07:24 2015 -0400
tipc: introduce starvation free send algorithm
Currently, we only use a single counter; the length of the backlog
queue, to determine whether a message should be accepted to the queue
or not. Each time a message is being sent, the queue length is compared
to a threshold value for the message's importance priority. If the queue
length is beyond this threshold, the message is rejected. This algorithm
implies a risk of starvation of low importance senders during very high
load, because it may take a long time before the backlog queue has
decreased enough to accept a lower level message.
We now eliminate this risk by introducing a counter for each importance
priority. When a message is sent, we check only the queue level for that
particular message's priority. If that is ok, the message can be added
to the backlog, irrespective of the queue level for other priorities.
This way, each level is guaranteed a certain portion of the total
bandwidth, and any risk of starvation is eliminated.
Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx>
Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b06b107a4c190299e9e3f8dbcccfc7fe9e10c8cb
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Wed Mar 25 08:08:37 2015 -0700
net: dsa: Handle non-bridge master change
Master change notifications may occur other than when joining or
leaving a bridge, for example when being added to or removed from
a bond or Open vSwitch. In that case, do nothing instead of asking
the switch driver to remove a port from a bridge that it didn't join.
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit fb42d1f491ebf6bb3e41b4dc93c5a1b1768e0df7
Author: Azael Avalos <coproscefalo@xxxxxxxxx>
Date: Fri Mar 20 16:55:18 2015 -0600
toshiba_acpi: Fix the enabling of the Special Functions
Some Toshiba laptops with the "Special Functions" feature enabled
fail to properly enable such feature unless a specific value is
used to enable the hotkey events.
This patch adds a new function called "*_enable_special_functions",
that simply makes a call to the HCI_HOTKEY_EVENT call, but this time
we are using a different parameter to make the "Special Functions"
mode work as expected.
Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx>
Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit a2b3471b5b13b81c5975d8f88db65694d7b69f56
Author: Azael Avalos <coproscefalo@xxxxxxxxx>
Date: Fri Mar 20 16:55:17 2015 -0600
toshiba_acpi: Use the Hotkey Event Type function for keymap choosing
With the previous patch adding support to "Hotkey Event Type", we can
now use the type to distinguish which keymap to use.
This patch changes the toshiba_acpi_setup_keyboard function to make
use of the hotkey event type to choose the correct keymap without the
need to use the DMI matching list.
Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx>
Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit 56e6b353396187a6e79acdbe3934fcd796a15e2e
Author: Azael Avalos <coproscefalo@xxxxxxxxx>
Date: Fri Mar 20 16:55:16 2015 -0600
toshiba_acpi: Add Hotkey Event Type function and definitions
This patch adds support to query the "Hotkey Event Type" the system
supports.
There are two main event types (so far), 0x10 and 0x11, with the
first being all those laptops that have the old keyboard layout, and
the latter all those new laptops with the new keyboard layout.
Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx>
Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit fc4c3c872f44bf425963feba57eb9c3f8ac2d7eb
Merge: 9deed22 a4f3d2c
Author: Chris Mason <clm@xxxxxx>
Date: Wed Mar 25 10:52:48 2015 -0700
Merge branch 'cleanups-post-3.19' of
git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.1
Signed-off-by: Chris Mason <clm@xxxxxx>
Conflicts:
fs/btrfs/disk-io.c
commit 9deed229fa8a83bb5cd713b2d2a8e5c022a4b45b
Merge: bc465aa 258ece0
Author: Chris Mason <clm@xxxxxx>
Date: Wed Mar 25 10:43:16 2015 -0700
Merge branch 'cleanups-for-4.1-v2' of
git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.1
commit f62a4ffd43c8739aa4b0358710ace0a4e91d2071
Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
Date: Mon Mar 23 14:01:37 2015 -0400
x86/wmi: delete unused wmi_data_lock mutex causing gcc warning
In commit bff431e49ff531a343fbb2b4426e313000844f32 ("ACPI: WMI: Add
ACPI-WMI mapping driver") this mutex was added, but the rest of the
final commit never actually made use of it, resulting in:
In file included from include/linux/mutex.h:29:0,
from include/linux/kernfs.h:13,
from include/linux/sysfs.h:15,
from include/linux/kobject.h:21,
from include/linux/device.h:17,
from drivers/platform/x86/wmi.c:35:
drivers/platform/x86/wmi.c:48:21: warning: â??wmi_data_lockâ?? defined
but not used [-Wunused-variable]
static DEFINE_MUTEX(wmi_data_lock);
^
A git grep shows no other instances/references to the wmi_data_lock.
Delete it, assuming that the mutex addition was just a leftover from
an earlier work in progress version of the change, since the original
dates from 2008.
Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
commit 6c826f349587f6c897da9bd224912ca1aee3d9ea
Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx>
Date: Tue Mar 24 14:54:19 2015 +0200
drm/i915: Add fault address to error state for gen8 and gen9
The faulting virtual address is >32bits and has been moved
to different registers. Add to error state and output upper
register first, in the same line for easy reconstruction of
the fault address.
v2: correct gen masking (Michel)
v3: s/TBL/TLB (Ville)
Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx>
Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit 1d00dad56b15ed5dab5802143df2bf61d51b6b55
Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
Date: Wed Mar 25 10:15:26 2015 +0000
drm/i915/skl: Fix up positive error code
It should have been negative since it is returned with ERR_PTR().
Introduced in new code commit:
commit 50470bb011c4be278097670bea92462f4e8c8945
Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
Date: Mon Mar 23 11:10:36 2015 +0000
drm/i915/skl: Support secondary (rotated) frame buffer mapping
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit c0f404284192f2d4a0159a714372a8c8610c1f6d
Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
Date: Mon Mar 23 12:43:50 2015 -0700
drm/i915: make unsupported fb modifier message DRM_DEBUG
Or users can just spam the log all they want.
Issue introduced in
commit 9a8f0a1290993c86c4e35756a2624bfe461f9036
Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
Date: Fri Feb 27 11:15:24 2015 +0000
drm/i915/skl: Allow Y (and Yf) frame buffer creation
References: https://bugs.freedesktop.org/show_bug.cgi?id=89628
Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
commit eb17380972d563a7dd59634cd2fdb614f3b98cdd
Author: Loic Poulain <loic.poulain@xxxxxxxxx>
Date: Wed Mar 25 15:19:30 2015 +0100
Bluetooth: hci_uart: Add setup callback
Some Bluetooth controllers require initialization before being
used (vendor config, firmware download). Add possibility for a
HCI UART proto to implement this early init via the setup callback.
Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx>
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
commit fe2811ebeb97a7a76de0b2b35f13600169508393
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Wed Mar 25 13:07:50 2015 +0000
netfilter: nf_tables: convert hash and rbtree to set extensions
The set implementations' private struct will only contain the elements
needed to maintain the search structure, all other elements are moved
to the set extensions.
Element allocation and initialization is performed centrally by
nf_tables_api instead of by the different set implementations'
->insert() functions. A new "elemsize" member in the set ops specifies
the amount of memory to reserve for internal usage. Destruction
will also be moved out of the set implementations by a following patch.
Except for element allocation, the patch is a simple conversion to
using data from the extension area.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 3ac4c07a24007f0f45d2082b745508768a8e21cf
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Wed Mar 25 13:07:49 2015 +0000
netfilter: nf_tables: add set extensions
Add simple set extension infrastructure for maintaining variable sized
and optional per element data.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit bfd6e327e118d2fe443047829047862b49012457
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Wed Mar 25 13:07:48 2015 +0000
netfilter: nft_hash: convert to use rhashtable callbacks
A following patch will convert sets to use so called set extensions,
where the key is not located in a fixed position anymore. This will
require rhashtable hashing and comparison callbacks to be used.
As preparation, convert nft_hash to use these callbacks without any
functional changes.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 45d84751fb310fe0063cf005ffd6593b4c2321a8
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Wed Mar 25 13:07:47 2015 +0000
netfilter: nft_hash: indent rhashtable parameters
Improve readability by indenting the parameter initialization.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 745f5450d5190e8bd02301b8d42f06999af3f5f8
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Wed Mar 25 13:07:46 2015 +0000
netfilter: nft_hash: restore struct nft_hash
Following patches will add new private members, restore struct nft_hash
as preparation.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 49f7b33e63fec9d16e7ee62ba8f8ab4159cbdc26
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Wed Mar 25 13:07:45 2015 +0000
rhashtable: provide len to obj_hashfn
nftables sets will be converted to use so called setextensions, moving
the key to a non-fixed position. To hash it, the obj_hashfn must be used,
however it so far doesn't receive the length parameter.
Pass the key length to obj_hashfn() and convert existing users.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 03ecc32c5274962b9b1904d7a730e71c95bac05f
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date: Fri Feb 13 14:35:21 2015 +0000
iommu/vt-d: support extended root and context entries
Add a new function iommu_context_addr() which takes care of the
differences and returns a pointer to a context entry which may be
in either format. The formats are binary compatible for all the old
fields anyway; the new one is just larger and some of the reserved
bits in the original 128 are now meaningful.
So far, nothing actually uses the new fields in the extended context
entry. Modulo hardware bugs with interpreting the new-style tables,
this should basically be a no-op.
Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
commit ac110f4954252b7bbe66268c78c8ece7ac2569b9
Author: tadeusz.struk@xxxxxxxxx <tadeusz.struk@xxxxxxxxx>
Date: Wed Mar 25 07:29:19 2015 -0700
crypto: algif - fix warn: unsigned 'used' is never less than zero
Change type from unsigned long to int to fix an issue reported by kbuild
robot:
crypto/algif_skcipher.c:596 skcipher_recvmsg_async() warn: unsigned
'used' is
never less than zero.
Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 4423f5e7d28c26af31df711c5c21eeacfac737b4
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date: Wed Mar 25 15:43:39 2015 +0000
iommu/vt-d: Add new extended capabilities from v2.3 VT-d specification
Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
commit bc14b8d6a98eb0747126cd517b468148b9e1c7ac
Author: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Date: Wed Mar 25 18:09:40 2015 +0800
tipc: fix a link reset issue due to retransmission failures
When a node joins a cluster while we are transmitting a fragment
stream over the broadcast link, it's missing the preceding fragments
needed to build a meaningful message. As a result, the node has to
drop it. However, as the fragment message is not acknowledged to
its sender before it's dropped, it accidentally causes link reset
of retransmission failure on the node.
Reported-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx>
Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx>
Tested-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 358e048d670a0feeb030effd1a3611cc6288fa70
Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 16:31:37 2015 +0100
s390: fix /proc/interrupts output
The irqclass_sub_desc array and enum interruption_class are out of sync
thus /proc/interrupts is broken. Remove IRQIO_CLW.
Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 7e3ea6d5c4f4880dbdf85f4083f40d8a3dc9b906
Author: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Date: Wed Mar 25 14:13:01 2015 +0800
sctp: avoid to repeatedly declare external variables
Move the declaration for external variables to sctp.h file avoiding
to repeatedly declare them with extern keyword.
Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a8381faca5ec90b7eea94ce575e90af86e2c9a9e
Author: Lee Jones <lee.jones@xxxxxxxxxx>
Date: Wed Mar 18 17:21:19 2015 +0000
pinctrl: st: Display pin's function when printing pinctrl debug
information
Great for easily determining which mode a pin is operating in.
This patch was particularly helpful when debugging a recent GPIO/
Pinctrl disparity issue.
Before:
$ cat /sys/kernel/debug/pinctrl/<pin-controller>/pinconf-pins
pin 33 (PIO4[1]):[OE:0,PU:0,OD:0]
[retime:0,invclk:0,clknotdat:0,de:0,rt-clk:0,rt-delay:0]
After [GPIO]:
$ cat /sys/kernel/debug/pinctrl/<pin-controller>/pinconf-pins
pin 33 (PIO4[1]):[OE:0,PU:0,OD:0] GPIO
[retime:0,invclk:0,clknotdat:0,de:0,rt-clk:0,rt-delay:0]
After [Alt]:
$ cat /sys/kernel/debug/pinctrl/<pin-controller>/pinconf-pins
pin 33 (PIO4[1]):[OE:0,PU:0,OD:0] Alt Fn 2
[retime:0,invclk:0,clknotdat:0,de:0,rt-clk:0,rt-delay:0]
Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit e2ed0e88ecba59775a25b3cc237eed1faf71a9aa
Author: Lee Jones <lee.jones@xxxxxxxxxx>
Date: Wed Mar 18 17:21:18 2015 +0000
pinctrl: st: Show correct pin direction also in GPIO mode
Until now ST's pinconf_dbg_show() call-back has displayed the PIO
alternate function direction, which is only relevant if a pin is
operating in an alternate function mode i.e not GPIO mode. If a
pin is in GPIO mode its direction is both set and status is
obtained by a completely different/unrelated bunch of registers.
This change ensures that the correct pin direction is shown, even
if a pin is operating in GPIO mode.
Reported-by: Olivier Clergeaud <olivier.clergeaud@xxxxxx>
Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 1e702ec2aa3bfed17d1266d31f94923322afbc60
Author: Lee Jones <lee.jones@xxxxxxxxxx>
Date: Wed Mar 18 17:21:17 2015 +0000
pinctrl: st: Supply a GPIO get_direction() call-back
ST's hardware differentiates between GPIO mode and Pinctrl alternate
functions. When a pin is in GPIO mode, there are dedicated registers
to set and obtain direction status. However, If a pin's alternate
function is in use then the direction is set and status is derived
from a bunch of syscon registers. The issue is; until now there was
a lack of parity between the two.
For example:
Catting the two following information sources could result in
conflicting information (output has been snipped for simplicity):
$ cat /sys/kernel/debug/gpio
GPIOs 32-39, platform/961f080.pin-controller-sbc, PIO4:
gpio-33 (? ) out hi
$ cat /sys/kernel/debug/pinctrl/<pin-controller>/pinconf-pins
pin 33 (PIO4[1]):[OE:0,PU:0,OD:0]
[retime:0,invclk:0,clknotdat:0,de:0,rt-clk:0,rt-delay:0]
In this example GPIO-33 is a GPIO controlled LED, which is set for
output, as you'd expect. However, when the same information is
drafted from Pinctrl, it clearly states that OE (Output Enable) is
not set i.e. the pin is set for input. This is because OE normally
only represents alternate functions and has no bearing on how the
pin operates when in Alt-0 (GPIO mode).
This patch changes the current semantics and provides a parity link
between the two subsystems. The get_direction() call-back firstly
determines which function a pin is operating in, then uses the
appropriate helpers for that mode.
Reported-by: Olivier Clergeaud <olivier.clergeaud@xxxxxx>
Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 18436afdc11a00ac881990b454cfb2eae81d6003
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date: Wed Mar 25 15:05:47 2015 +0000
iommu/vt-d: Allow RMRR on graphics devices too
Commit c875d2c1 ("iommu/vt-d: Exclude devices using RMRRs from IOMMU API
domains") prevents certain options for devices with RMRRs. This even
prevents those devices from getting a 1:1 mapping with 'iommu=pt',
because we don't have the code to handle *preserving* the RMRR regions
when moving the device between domains.
There's already an exclusion for USB devices, because we know the only
reason for RMRRs there is a misguided desire to keep legacy
keyboard/mouse emulation running in some theoretical OS which doesn't
have support for USB in its own right... but which *does* enable the
IOMMU.
Add an exclusion for graphics devices too, so that 'iommu=pt' works
there. We should be able to successfully assign graphics devices to
guests too, as long as the initial handling of stolen memory is
reconfigured appropriately. This has certainly worked in the past.
Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit f89e68fc3b5a5d53d73a0df71b94d3c0a009d0ba
Author: Lee Jones <lee.jones@xxxxxxxxxx>
Date: Wed Mar 18 17:21:16 2015 +0000
pinctrl: st: Move st_get_pio_control() further up the source file
st_get_pio_control() will be used by subsequent calls which are
to be located above its original position. This is required to
prevent the need for an unnecessary forward-declaration/prototype.
Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 68c1b89cf5653acd1107253e146b332420a1f4a7
Author: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Date: Sat Feb 21 13:07:27 2015 -0800
iommu/vt-d: Print x2apic opt out info instead of printing a warning
BIOS can set up x2apic_opt_out bit on some platforms, for various
misguided
reasons like insane SMM code with weird assumptions about what descriptors
look like, or wanting Windows not to enable the IOMMU so that the graphics
driver will take it over for SVM in "driver mode".
A user can either disable the x2apic_opt_out bit in BIOS or by kernel
parameter "no_x2apic_optout". Instead of printing a warning, we just
print information of x2apic opt out.
Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
commit c2a4bf47089823bb76d2498eebda922ecf99546d
Author: Lee Jones <lee.jones@xxxxxxxxxx>
Date: Wed Mar 18 17:21:15 2015 +0000
pinctrl: st: Introduce a 'get pin function' call
This call fetches the numerical function value a specified pin is
currently operating in. Function zero is more often than not the
GPIO function. Greater than zero values represent an alternative
function. You'd need to either look those up in the Device Tree
sources or the Programmer's Manual.
Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
commit 44caf2f37f009b2affa743073fa935826b6ab2fd
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date: Fri Feb 13 14:25:24 2015 +0000
iommu/vt-d: kill bogus ecap_niotlb_iunits()
As far back as I can see (which right now is a draft of the v1.2 spec
dating from September 2008), bits 24-31 of the Extended Capability
Register
have already been reserved. I have no idea why anyone ever thought there
would be multiple sets of IOTLB registers, but we've never supported them
and all we do is make sure we map enough MMIO space for them.
Kill it dead. Those bits do actually have a different meaning now.
Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
commit 9df461eca18f5395ee84670cdba6755dddec1898
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 15:06:16 2015 +0200
spi: pxa2xx: replace ugly table by approximation
The Quark SoC data sheet describes the baud rate setting using fractional
divider. The subset of possible values represented by a table suggests
that the
divisor has one block that could divide by 5. This explains the number of
the
beast in some cases in the table. Thus, in this particular case the
divisor can
be evaluated as
5^i * 2^j * 2 * k,
where
i = [0, 1]
j = [0, 23]
k = [1, 256]
There are few cases as mentioned in the data sheet, i.e. better form of
the
clock signal will be in case if DDS_CLK_RATE either 2^n or 2/5. It's also
possible to use any value that is less or equal to 0x33333 (1/5/16 =
1/80).
All three cases are compared to each other and the one that suits better
is
chosen by the approximation algorithm. Anyone can play with the script
[1] that
represents the algorithm.
[1] https://gist.github.com/06b084488b3629898121
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 8787041d9bb832b9449b1eb878cedcebce42c61a
Author: Sergej Sawazki <ce3a@xxxxxx>
Date: Tue Mar 24 21:13:22 2015 +0100
ASoC: wm8741: Fix rates constraints values
The WM8741 DAC supports the following typical audio sampling rates:
44.1kHz, 88.2kHz, 176.4kHz (eg: with a master clock of 22.5792MHz)
32kHz, 48kHz, 96kHz, 192kHz (eg: with a master clock of 24.576MHz)
For the rates lists, we should use 82000 instead of 88235, 176400
instead of 1764000 and 192000 instead of 19200 (seems to be a typo).
Signed-off-by: Sergej Sawazki <ce3a@xxxxxx>
Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
commit 46172b6c26667133b9945b916b6223cc87bbf10c
Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 11:22:35 2015 +0000
ASoC: dapm: Fix build warning
commit c66150824b8a ("ASoC: dapm: add code to configure dai link
parameters") introduced the following build warning:
sound/soc/soc-dapm.c: In function 'snd_soc_dapm_new_pcm':
sound/soc/soc-dapm.c:3389:4: warning: passing argument 1 of 'snprintf'
discards 'const' qualifier from pointer target type
snprintf(w_param_text[count], len,
This patch fixes this by switching to using devm_kasprintf. This also
saves a couple of lines of code.
Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit b70b82580248b5393241c986082842ec05a2b7d7
Author: Oliver Neukum <oneukum@xxxxxxx>
Date: Wed Mar 25 15:38:31 2015 +0100
HID: add quirk for PIXART OEM mouse used by HP
This mouse is also known under other IDs. It needs the quirk or will
disconnect
in runlevel 1 or 3.
Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>
CC: stable@xxxxxxxxxxxxxxx
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit 7a8e53c414c8183e8735e3b08d9a776200e6e665
Author: Oliver Neukum <oneukum@xxxxxxx>
Date: Wed Mar 25 15:13:36 2015 +0100
HID: add HP OEM mouse to quirk ALWAYS_POLL
This mouse needs QUIRK_ALWAYS_POLL.
Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>
CC: stable@xxxxxxxxxxxxxxx
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit b229a0f840f774d29d8fedbf5deb344ca36b7f1a
Author: Doug Goldstein <cardoe@xxxxxxxxxx>
Date: Mon Mar 23 20:34:48 2015 -0500
USB: ftdi_sio: Use jtag quirk for SNAP Connect E10
This patch uses the existing CALAO Systems ftdi_8u2232c_probe in order
to avoid attaching a TTY to the JTAG port as this board is based on the
CALAO Systems reference design and needs the same fix up.
Signed-off-by: Doug Goldstein <cardoe@xxxxxxxxxx>
CC: stable <stable@xxxxxxxxxxxxxxx>
[johan: clean up probe logic ]
Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
commit d82d54af7b14092dc5934a8ce09170789c9ddb57
Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx>
Date: Thu Mar 12 13:04:16 2015 +0900
kobject: WARN as tip when call kobject_get() to a kobject not initialized
call kobject_get() to kojbect that is not initalized or released will only
leave following like call trace to us:
-----------[ cut here ]------------
[ 54.545816] WARNING: CPU: 0 PID: 213 at include/linux/kref.h:47
kobject_get+0x41/0x50()
[ 54.642595] Modules linked in: i2c_i801(+) mfd_core shpchp(+)
acpi_cpufreq(+) edac_core ioatdma(+) xfs libcrc32c ast syscopyarea ixgbe
sysfillrect sysimgblt sr_mod sd_mod drm_kms_helper igb mdio cdrom e1000e
ahci
dca ttm libahci uas drm i2c_algo_bit ptp megaraid_sas libata usb_storage
i2c_core pps_core dm_mirror dm_region_hash dm_log dm_mod
[ 55.007264] CPU: 0 PID: 213 Comm: kworker/0:2 Not tainted
3.18.5
[ 55.099970] Hardware name: Oracle Corporation SUN FIRE X4170 M2 SERVER
/ASSY,MOTHERBOARD,X4170, BIOS 08120104 05/08/2012
[ 55.239736] Workqueue: kacpi_notify acpi_os_execute_deferred
[ 55.308598] 0000000000000000 00000000bd730b61 ffff88046742baf8
ffffffff816b7edb
[ 55.398305] 0000000000000000 0000000000000000 ffff88046742bb38
ffffffff81078ae1
[ 55.488040] ffff88046742bbd8 ffff8806706b3000 0000000000000292
0000000000000000
[ 55.577776] Call Trace:
[ 55.608228] [<ffffffff816b7edb>] dump_stack+0x46/0x58
[ 55.670895] [<ffffffff81078ae1>] warn_slowpath_common+0x81/0xa0
[ 55.743952] [<ffffffff81078bfa>] warn_slowpath_null+0x1a/0x20
[ 55.814929] [<ffffffff8130d0d1>] kobject_get+0x41/0x50
[ 55.878654] [<ffffffff8153e955>] cpufreq_cpu_get+0x75/0xc0
[ 55.946528] [<ffffffff8153f37e>] cpufreq_update_policy+0x2e/0x1f0
The above issue was casued by a race condition, if there is a WARN in
kobject_get() of the kobject is not initialized, that would save us much
time to debug it.
Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3a267d3b22f56bf5ba379c20604fd28409119698
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Sat Feb 21 18:53:47 2015 -0800
i8k: Remove use of seq_printf return value
The seq_printf return value, because it's frequently misused,
will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit bea2b592fd18eb8ffa3fc4ad380610632d03a38f
Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 10 11:12:21 2015 +0100
lib/lz4: Pull out constant tables
There's no reason to allocate the dec{32,64}table on the stack; it
just wastes a bunch of instructions setting them up and, of course,
also consumes quite a bit of stack. Using size_t for such small
integers is a little excessive.
$ scripts/bloat-o-meter /tmp/built-in.o lib/built-in.o
add/remove: 2/2 grow/shrink: 2/0 up/down: 1304/-1548 (-244)
function old new delta
lz4_decompress_unknownoutputsize 55 718 +663
lz4_decompress 55 632 +577
dec64table - 32 +32
dec32table - 32 +32
lz4_uncompress 747 - -747
lz4_uncompress_unknownoutputsize 801 - -801
The now inlined lz4_uncompress functions used to have a stack
footprint of 176 bytes (according to -fstack-usage); their inlinees
have increased their stack use from 32 bytes to 48 and 80 bytes,
respectively.
Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 7085a7401ba54e92bbb5aa24d6f428071e18e509
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Wed Feb 18 17:12:18 2015 +0100
drivers: platform: parse IRQ flags from resources
This fixes a regression from the net subsystem:
After commit d52fdbb735c36a209f36a628d40ca9185b349ba7
"smc91x: retrieve IRQ and trigger flags in a modern way"
a regression would appear on some legacy platforms such
as the ARM PXA Zylonite that specify IRQ resources like
this:
static struct resource r = {
.start = X,
.end = X,
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
};
The previous code would retrieve the resource and parse
the high edge setting in the SMC91x driver, a use pattern
that means every driver specifying an IRQ flag from a
static resource need to parse resource flags and apply
them at runtime.
As we switched the code to use IRQ descriptors to retrieve
the the trigger type like this:
irqd_get_trigger_type(irq_get_irq_data(...));
the code would work for new platforms using e.g. device
tree as the backing irq descriptor would have its flags
properly set, whereas this kind of oldstyle static
resources at no point assign the trigger flags to the
corresponding IRQ descriptor.
To make the behaviour identical on modern device tree
and legacy static platform data platforms, modify
platform_get_irq() to assign the trigger flags to the
irq descriptor when a client looks up an IRQ from static
resources.
Fixes: d52fdbb735c3 ("smc91x: retrieve IRQ and trigger flags in a modern
way")
Tested-by: Robert Jarzmik <robert.jarzmik@xxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 13fcffbbdec4e4863a9a9c7792b821cd6d363a8f
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Tue Mar 10 11:55:49 2015 +0000
driver core: Make probe deferral more quiet
Currently probe deferral prints a message every time a device requests
deferral at info severity (which is displayed by default). This can have
an impact on system boot times with serial consoles and is generally quite
noisy.
Since subsystems and drivers should already be logging the specific reason
for probe deferral in order to aid users in understanding problems the
messages from the driver core should be redundant lower the severity of
the messages printed, cutting down on the volume of output on the console.
This does mean that if the drivers and subsystems aren't doing a good job
we get no output on the console by default. Ideally we'd be able to
arrange
to print if nothing else printed, though that's a little fun. Even better
would be to come up with a mechanism that explicitly does dependencies so
we don't have to keep polling and erroring.
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 5590f3196b293574a12be58d06d5e1120d8856ec
Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Wed Feb 18 11:25:18 2015 +1100
drivers/core/of: Add symlink to device-tree from devices with an OF node
So I've been annoyed lately with having a bunch of devices such as i2c
eeproms (for use by VPDs, server world !) and other bits and pieces that
I want to be able to identify from userspace, and possibly provide
additional data about from FW.
Basically, it boils down to correlating the sysfs device with the OF
tree device node, so that user space can use device-tree info such as
additional "location" or "label" (or whatever else we can come up with)
propreties to identify a given device, or get some attributes of use
about it, etc...
Now, so far, we've done that in some subsystem in a fairly ad-hoc basis
using "devspec" properties. For example, PCI creates them if it can
correlate the probed device with a DT node. Some powerpc specific busses
do that too.
However, i2c doesn't and it would be nice to have something more generic
since technically any device can have a corresponding device tree node.
This patch adds an "of_node" symlink to devices that have a non-NULL
dev->of_node pointer, the patch is pretty trivial and seems to work just
fine for me.
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit e8a51e1b51ee5730ad3913f3962e3099a5e19359
Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Tue Feb 17 19:03:41 2015 -0600
device: Add dev_of_node() accessor
Suggested by Arnd Bergmann, this gives a practical accessor for
the of_node field of struct device while instructing the compiler
that it will be NULL if CONFIG_OF is not set.
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ef518cc8aa4427043efe21cb2f0799be9cb1d74d
Author: Zahari Doychev <zahari.doychev@xxxxxxxxx>
Date: Tue Mar 10 10:45:40 2015 +0100
drivers: base: fw: fix ret value when loading fw
When using the user mode helper to load firmwares the function
_request_firmware
gets a positive return value from fw_load_from_user_helper and because of
this
the firmware buffer is not assigned. This happens only when the return
value
is zero. This patch fixes this problem in _request_firmware_load. When the
completion is ready the return value is set to zero.
Signed-off-by: Zahari Doychev <zahari.doychev@xxxxxxxxx>
Cc: Ming Lei <ming.lei@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 46239902ecddd4690b6d800da258d0ab65a5cb78
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Wed Feb 4 15:18:07 2015 +0100
firmware: Avoid manual device_create_file() calls
Use the static attribute groups assigned to the device instead of
manual device_create_file() & co calls. It simplifies the code and
can avoid possible races, too.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 8a7d95f95c95f396decbd4cda6d4903fc4664946
Author: Sudeep Holla <sudeep.holla@xxxxxxx>
Date: Tue Mar 17 17:28:46 2015 +0000
drivers/base: cacheinfo: validate device node for all the caches
On architectures that depend on DT for obtaining cache hierarcy, we need
to validate the device node for all the cache indices, failing to do so
might result in wrong information being exposed to the userspace.
This is quite possible on initial/incomplete versions of the device
trees. In such cases, it's better to bail out if all the required device
nodes are not present.
This patch adds checks for the validation of device node for all the
caches and doesn't initialise the cacheinfo if there's any error.
Reported-by: Mark Rutland <mark.rutland@xxxxxxx>
Acked-by: Mark Rutland <mark.rutland@xxxxxxx>
Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx>
Cc: stable <stable@xxxxxxxxxxxxxxx> # 4.0
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 2071b9502dadffd22ac1bc31c68728e2783ec3ac
Author: Lavinia Tache <lavinia.tachee@xxxxxxxxx>
Date: Sun Mar 8 22:33:44 2015 +0200
drivers/base: use tabs where possible in code indentation
Linux kernel coding style require that tabs should be used instead of
spaces for code indentation.
Problem found using checkpatch.pl script.
Signed-off-by: Lavinia Tache <lavinia.tachee@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 74642c6cd088e124c3cccbd5cb2f54984d6d4e1a
Author: Lavinia Tache <lavinia.tachee@xxxxxxxxx>
Date: Sun Mar 8 12:48:55 2015 +0200
driver core: add missing blank line after declaration
Found using checkpatch.pl
Signed-off-by: Lavinia Tache <lavinia.tachee@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 518d3f38abb8cc3a5125e71a1d23a366c69e2e49
Author: Ana Nedelcu <anafnedelcu@xxxxxxxxx>
Date: Sun Mar 8 12:48:48 2015 +0200
drivers: base: node: Delete space after pointer declaration
This patch fixes the following error found by checkpatch.pl:
ERROR: "foo * bar" should be "foo *bar"
Signed-off-by: Ana Nedelcu <anafnedelcu@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 2aeebca2f3586755802689e12ba87140d803d88a
Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx>
Date: Sun Mar 8 12:48:35 2015 +0200
drivers: base: memory: Use tabs instead of spaces
This patch changes spaces to tabs. Found using checkpatch.pl
Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ea31003ccb2d684916cb7ebc079437ae85425a6d
Author: Andrei Oprea <andrei.br92@xxxxxxxxx>
Date: Sun Mar 8 12:41:15 2015 +0200
firmware_class: Fix whitespace and indentation
Fix checkpatch.pl issues with coding style. Removed whitespace and
fixed indentation
Signed-off-by: Andrei Oprea <andrei.br92@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 6d42d79e640fd1cd8fd97d11c8693f8907fc4eac
Author: Marius Cristian Eseanu <eseanu.cristian@xxxxxxxxx>
Date: Sun Mar 8 12:34:14 2015 +0200
drivers: base: dma-mapping: Erase blank space after pointer
This patch fixes the following checkpatch.pl error:
ERROR: "foo * bar" should be "foo *bar"
Signed-off-by: Marius Cristian Eseanu <eseanu.cristian@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d34898de9a43bf79b274c8c6a43bf2f6f76dac05
Author: Cosmin Tomulescu <cosmintom@xxxxxxxxx>
Date: Sun Mar 8 12:31:54 2015 +0200
drivers: base: class: Add a blank line after declarations
This patch fixes the following warning found by checkpatch.pl:
WARNING: Missing a black line after declarations
Signed-off-by: Cosmin Tomulescu <cosmintom@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 481026dbe88bd42cae88ade3289f26d16e5168aa
Author: Cosmin Dragomir <cosmin.gabriel.dragomir@xxxxxxxxx>
Date: Sun Mar 8 12:30:14 2015 +0200
attribute_container: fix missing blank lines after declarations
Found with checkpatch.pl
Signed-off-by: Cosmin Dragomir <cosmin.gabriel.dragomir@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 3d3af6afa9985ca30d9ee8f48897eb71f9c1583f
Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx>
Date: Sun Mar 8 12:29:04 2015 +0200
drivers: base: memory: Fix switch indent
Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 2e4fabec5e79d9fb8b75e4afda192ed3d6486f86
Author: Andrei Poenaru <andreigpoenaru@xxxxxxxxx>
Date: Sun Mar 8 12:29:02 2015 +0200
drivers: base: map: Use kmalloc_array instead of kmalloc
Reported by checkpatch.pl
While at it, removed blank line between function call and error
checking.
Signed-off-by: Andrei Poenaru <andreigpoenaru@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 7036cd46c8239a520abf69720de9a8538a9011d5
Author: Florin Papa <florin.papa192@xxxxxxxxx>
Date: Sun Mar 8 12:24:05 2015 +0200
Driver core: Fix missing whitespace in function argument
Found this using checkpatch.pl.
Signed-off-by: Florin Papa <florin.papa192@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d9a16d3ab8770357015c85a07387f1d2676a4773
Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Thu Mar 12 16:58:34 2015 +1100
trace: Don't use __weak in header files
The commit that added a check for this to checkpatch says:
"Using weak declarations can have unintended link defects. The __weak on
the declaration causes non-weak definitions to become weak."
In this case, when a PowerPC kernel is built with CONFIG_KPROBE_EVENT
but not CONFIG_UPROBE_EVENT, it generates the following warning:
WARNING: 1 bad relocations
c0000000014f2190 R_PPC64_ADDR64 uprobes_fetch_type_table
This is fixed by passing the fetch_table arrays to
traceprobe_parse_probe_arg() which also means that they can never be NULL.
Link: http://lkml.kernel.org/r/20150312165834.4482cb48@xxxxxxxxxxxxxxxx
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 754cb0071a5c9576ccfa6523969ef6a2f6a71676
Author: He Kuang <hekuang@xxxxxxxxxx>
Date: Tue Mar 3 15:21:33 2015 +0800
tracing: remove ftrace:function TRACE_EVENT_FL_USE_CALL_FILTER flag
TRACE_EVENT_FL_USE_CALL_FILTER flag in ftrace:functon event can be
removed. This flag was first introduced in commit
f306cc82a93d ("tracing: Update event filters for multibuffer").
Now, the only place uses this flag is ftrace:function, but the filter of
ftrace:function has a different code path with events/syscalls and
events/tracepoints. It uses ftrace_filter_write() and perf's
ftrace_profile_set_filter() to set the filter, the functionality of file
'tracing/events/ftrace/function/filter' is bypassed in function
init_pred(), in which case, neither call->filter nor file->filter is
used.
So we can safely remove TRACE_EVENT_FL_USE_CALL_FILTER flag from
ftrace:function events.
Link:
http://lkml.kernel.org/r/1425367294-27852-1-git-send-email-hekuang@xxxxxxxxxx
Signed-off-by: He Kuang <hekuang@xxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit bbedb179944c29e5e449603163eec9951116fe39
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Wed Mar 11 22:13:57 2015 -0500
tracing: %pF is only for function pointers
Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.
Link:
http://lkml.kernel.org/r/1426130037-17956-22-git-send-email-scottwood@xxxxxxxxxxxxx
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 80a9b64e2c156b6523e7a01f2ba6e5d86e722814
Author: Steven Rostedt <rostedt@xxxxxxxxxxx>
Date: Tue Mar 17 10:40:38 2015 -0400
ring-buffer: Replace this_cpu_*() with __this_cpu_*()
It has come to my attention that this_cpu_read/write are horrible on
architectures other than x86. Worse yet, they actually disable
preemption or interrupts! This caused some unexpected tracing results
on ARM.
101.356868: preempt_count_add <-ring_buffer_lock_reserve
101.356870: preempt_count_sub <-ring_buffer_lock_reserve
The ring_buffer_lock_reserve has recursion protection that requires
accessing a per cpu variable. But since preempt_disable() is traced, it
too got traced while accessing the variable that is suppose to prevent
recursion like this.
The generic version of this_cpu_read() and write() are:
#define this_cpu_generic_read(pcp)
\
({ typeof(pcp) ret__;
\
preempt_disable(); \
ret__ = *this_cpu_ptr(&(pcp)); \
preempt_enable(); \
ret__; \
})
#define this_cpu_generic_to_op(pcp, val, op)
\
do {
\
unsigned long flags; \
raw_local_irq_save(flags); \
*__this_cpu_ptr(&(pcp)) op val; \
raw_local_irq_restore(flags); \
} while (0)
Which is unacceptable for locations that know they are within preempt
disabled or interrupt disabled locations.
Paul McKenney stated that __this_cpu_() versions produce much better code
on
other architectures than this_cpu_() does, if we know that the call is
done in
a preempt disabled location.
I also changed the recursive_unlock() to use two local variables instead
of accessing the per_cpu variable twice.
Link: http://lkml.kernel.org/r/20150317114411.GE3589@xxxxxxxxxxxxxxxxxx
Link: http://lkml.kernel.org/r/20150317104038.312e73d1@xxxxxxxxxxxxxxxxxx
Cc: stable@xxxxxxxxxxxxxxx
Acked-by: Christoph Lameter <cl@xxxxxxxxx>
Reported-by: Uwe Kleine-Koenig <u.kleine-koenig@xxxxxxxxxxxxxx>
Tested-by: Uwe Kleine-Koenig <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
commit 5f0163a5ee9cc7c59751768bdfd94a73186debba
Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Feb 5 11:48:26 2015 +0100
driver core: Delete an unnecessary check before the function call
"put_device"
The put_device() 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@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 4d46a67a3eb827ccf1125959936fd51ba318dabc
Author: Lars Persson <lars.persson@xxxxxxxx>
Date: Thu Feb 26 14:16:03 2015 +0100
MIPS: Fix race condition in lazy cache flushing.
The lazy cache flushing implemented in the MIPS kernel suffers from a
race condition that is exposed by do_set_pte() in mm/memory.c.
A pre-condition is a file-system that writes to the page from the CPU
in its readpage method and then calls flush_dcache_page(). One example
is ubifs. Another pre-condition is that the dcache flush is postponed
in __flush_dcache_page().
Upon a page fault for an executable mapping not existing in the
page-cache, the following will happen:
1. Write to the page
2. flush_dcache_page
3. flush_icache_page
4. set_pte_at
5. update_mmu_cache (commits the flush of a dcache-dirty page)
Between steps 4 and 5 another thread can hit the same page and it will
encounter a valid pte. Because the data still is in the L1 dcache the CPU
will fetch stale data from L2 into the icache and execute garbage.
This fix moves the commit of the cache flush to step 3 to close the
race window. It also reduces the amount of flushes on non-executable
mappings because we never enter __flush_dcache_page() for non-aliasing
CPUs.
Regressions can occur in drivers that mistakenly relies on the
flush_dcache_page() in get_user_pages() for DMA operations.
[ralf@xxxxxxxxxxxxxx: Folded in patch 9346 to fix highmem issue.]
Signed-off-by: Lars Persson <larper@xxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: paul.burton@xxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9346/
Patchwork: https://patchwork.linux-mips.org/patch/9738/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 5b9593f3bccb9904f260f9ad7f184e1d2921bd1e
Author: Lars Persson <lars.persson@xxxxxxxx>
Date: Thu Feb 26 14:16:02 2015 +0100
Revert "MIPS: Remove race window in page fault handling"
Revert commit 2a4a8b1e5d9d ("MIPS: Remove race window in page fault
handling") because it increased the number of flushed dcache pages and
became a performance problem for some workloads.
Signed-off-by: Lars Persson <larper@xxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: paul.burton@xxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9345/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 9a49899eb88803dcc0ef437f09912f9a7b7a66fd
Author: Chandrakala Chavva <cchavva@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 6 14:02:21 2015 +0300
MIPS: OCTEON: Use correct CSR to soft reset
Also delete unused cvmx_reset_octeon()
This fixes reboot for Octeon III boards
Signed-off-by: Chandrakala Chavva <cchavva@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: David Daney <david.daney@xxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9471/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit a8667d706dfa394ef9fe5f9013dee92d40a096e8
Author: Aaro Koskinen <aaro.koskinen@xxxxxx>
Date: Wed Mar 4 23:08:49 2015 +0200
MIPS: OCTEON: dma-octeon: fix OHCI USB config check
CONFIG_USB_OCTEON_OHCI is deprecated and no longer needed to use OHCI
on OCTEON II. Instead, CONFIG_USB_OHCI_HCD_PLATFORM should be used.
Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx>
Cc: Aleksey Makarov <aleksey.makarov@xxxxxxxxxx>
Cc: David Daney <david.daney@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/9421/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 0add9c2f1cff9f3f1f2eb7e9babefa872a9d14b9
Author: Huacai Chen <chenhc@xxxxxxxxxx>
Date: Thu Mar 12 11:51:06 2015 +0800
MIPS: Loongson-3: Add IRQF_NO_SUSPEND to Cascade irqaction
HPET irq is routed to i8259 and then to MIPS CPU irq (cascade). After
commit a3e6c1eff5 (MIPS: IRQ: Fix disable_irq on CPU IRQs), if without
IRQF_NO_SUSPEND in cascade_irqaction, HPET interrupts will lost during
suspend. The result is machine cannot be waken up.
Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx>
Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9528/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 2ec459f2a77b808c1e5a3616c88b613d3f720c8d
Author: Nicolas Schichan <nschichan@xxxxxxxxxx>
Date: Thu Mar 12 17:00:58 2015 +0100
MIPS: BCM63xx: Move bcm63xx_gpio_init() to bcm63xx_register_devices().
When called from prom init code, bcm63xx_gpio_init() will fail as it
will call gpiochip_add() which relies on a working kmalloc() to alloc
the gpio_desc array and kmalloc is not useable yet at prom init time.
Move bcm63xx_gpio_init() to bcm63xx_register_devices() (an
arch_initcall) where kmalloc works.
Fixes: 14e85c0e69d5 ("gpio: remove gpio_descs global array")
Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: Alexandre Courbot <acourbot@xxxxxxxxxx>
Patchwork: https://patchwork.linux-mips.org/patch/9530/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
commit 7ca7ec40f42a13c6966fb3a5d8713e895d58c728
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 13:47:17 2015 +0100
drivers/base/node: clean up attribute group conversion
We can use the ATTRIBUTE_GROUPS() macro here, so use it, saving some
lines of code.
Cc: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman gregkh@xxxxxxxxxxxxxxxxxxx
commit e6beaa363d56d7fc2f8cd6f7291e4d93911a428a
Author: Tom(JeHyeon) Yeon <tom.yeon@xxxxxxxxxxxxx>
Date: Wed Mar 18 14:03:30 2015 +0900
locking/rtmutex: Rename argument in the rt_mutex_adjust_prio_chain()
documentation as well
The following commit changed "deadlock_detect" to "chwalk":
8930ed80f970 ("rtmutex: Cleanup deadlock detector debug logic")
do that rename in the function's documentation as well.
Signed-off-by: Tom(JeHyeon) Yeon <tom.yeon@xxxxxxxxxxxxx>
Cc: peterz@xxxxxxxxxxxxx
Link:
http://lkml.kernel.org/r/1426655010-31651-1-git-send-email-tom.yeon@xxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 3c9b8aaf95bb4de3d8ac9fd83d4aca2c97bd9f2a
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Thu Jan 29 12:29:22 2015 +0100
drivers/base/node: Avoid manual device_create_file() calls
Instead of manual calls of multiple device_create_file() and
device_remove_file(), use the static attribute groups assigned to the
new device. This also fixes the possible races, too.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 07afb6ace3bde4ffdce26befa6b2f38c5d708dd0
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 13:41:42 2015 +0100
samples/kobject: be explicit in the module license
Rusty pointed out that the module license should be "GPL v2" to properly
match the notice at the top of the files, so make that change.
Reported-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 5fd637e7a75fb2a4c0b62683c08dae959160fedf
Author: Rastislav Barlik <barlik@xxxxxxxx>
Date: Wed Dec 17 21:14:48 2014 +0100
samples/kobject: Use kstrtoint instead of sscanf
Use kstrtoint function instead of sscanf and check for return values.
Signed-off-by: Rastislav Barlik <barlik@xxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 1c34203a1496d1849ba978021b878b3447d433c8
Author: Junjie Mao <junjie_mao@xxxxxxxx>
Date: Wed Jan 28 10:02:44 2015 +0800
driver core: bus: Goto appropriate labels on failure in bus_add_device
It is not necessary to call device_remove_groups() when
device_add_groups()
fails.
The group added by device_add_groups() should be removed if
sysfs_create_link()
fails.
Fixes: fa6fdb33b486 ("driver core: bus_type: add dev_groups")
Signed-off-by: Junjie Mao <junjie_mao@xxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit bb2b40754ff4b2fffd8015ac96c45269cb54ee79
Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Date: Sat Jan 17 22:14:41 2015 +0300
driver core: use *switch* statement in really_probe()
There are series of comparisons of the 'ret' variable on the failure path
of
really_probe(), so the *switch* statement seems more appropriate
there.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ba61af6f3e4766c76aec0b5e7f2bb8277e1acdd0
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 12 09:58:28 2015 -0400
sysfs: Document struct attribute_group
Document variables defined in struct attribute_group to ensure
correct usage.
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d8bf8c92e80fed9119eb222c7e5cc88acf57c12c
Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx>
Date: Thu Mar 12 09:58:27 2015 -0400
sysfs: Only accept read/write permissions for file attributes
For sysfs file attributes, only read and write permissions make sense.
Mask provided attribute permissions accordingly and send a warning
to the console if invalid permission bits are set.
This patch is originally from Guenter [1] and includes the fixup
explained in the thread, that is printing permissions in octal format
and limiting the scope of attributes to SYSFS_PREALLOC | 0664.
[1] https://lkml.org/lkml/2015/1/19/599
Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit da4759c73b0f1aac79f37bdb39ad2124439c30e7
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Thu Mar 12 09:58:26 2015 -0400
sysfs: Use only return value from is_visible for the file mode
Up to now, is_visible can only be used to either remove visibility
of a file entirely or to add permissions, but not to reduce permissions.
This makes it impossible, for example, to use DEVICE_ATTR_RW to define
file attributes and reduce permissions to read-only.
This behavior is undesirable and unnecessarily complicates code which
needs to reduce permissions; instead of just returning the desired
permissions, it has to ensure that the permissions in the attribute
variable declaration only reflect the minimal permissions ever needed.
Change semantics of is_visible to only use the permissions returned
from it instead of oring the returned value with the hard-coded
permissions.
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 06ab9c1ba6a19977432b6906b0eee84804212dc6
Merge: 72d64cc b3494a4
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Tue Mar 24 21:14:07 2015 +0100
Merge branch 'x86/urgent' into x86/asm, to resolve conflict
Conflicts:
arch/x86/kernel/entry_64.S
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit cea405b172e3b1fd2cf9da5ec05c7d808d6af03d
Author: Xihan Zhang <xihan.zhang@xxxxxxx>
Date: Tue Mar 17 19:32:53 2015 +0800
drm/amdkfd: Add multiple kgd support
The current code can only support one kgd instance. We have to
support multiple kgd instances in one system. i.e two amdgpu or two
radeon or one amdgpu + one radeon or more than two kgd instances.
Signed-off-by: Xihan Zhang <xihan.zhang@xxxxxxx>
Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx>
commit affa7d86441a9fe1ddd67f4ed551ed41313da561
Author: John Stultz <john.stultz@xxxxxxxxxx>
Date: Thu Mar 12 10:23:40 2015 -0700
drm/amdkfd: Convert timestamping to use 64bit time accessors
Convert the timestamping in the amdkfd driver to use a timespec64 and
64bit
time accessors.
Although the existing code is completely safe beyond y2038 because it
deals
with monotonic time, this patch is still needed in order to kill off all
uses
of struct timespec.
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx>
commit 94a1ee09235d404190ff82400a24595b6b2af771
Author: Oded Gabbay <oded.gabbay@xxxxxxx>
Date: Tue Feb 24 10:51:59 2015 +0200
drm/amdkfd: add debug prints for process teardown
Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx>
Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit 0d9200874c6cc9b3887f3474bbba638e43d696d0
Author: Oded Gabbay <oded.gabbay@xxxxxxx>
Date: Wed Feb 25 14:15:24 2015 +0200
drm/amdkfd: Remove unused field from struct qcm_process_device
Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx>
Reviewed-by: Ben Goz <ben.goz@xxxxxxx>
Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit a9243ede5d5797bacb846a09169aa0a514439fe9
Author: Oded Gabbay <oded.gabbay@xxxxxxx>
Date: Thu Feb 26 21:24:44 2015 +0200
drm/amdkfd: rename fence_wait_timeout
fence_wait_timeout() is an exported kernel symbol, so we should rename our
local function to something different.
Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx>
Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx>
commit fccb9a81fd08b61bed91ddef88341694f8ecbfd1
Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Date: Tue Mar 24 22:02:45 2015 +0800
ARM64 / ACPI: Parse MADT for SMP initialization
MADT contains the information for MPIDR which is essential for
SMP initialization, parse the GIC cpu interface structures to
get the MPIDR value and map it to cpu_logical_map(), and add
enabled cpu with valid MPIDR into cpu_possible_map.
ACPI 5.1 only has two explicit methods to boot up SMP, PSCI and
Parking protocol, but the Parking protocol is only specified for
ARMv7 now, so make PSCI as the only way for the SMP boot protocol
before some updates for the ACPI spec or the Parking protocol spec.
Parking protocol patches for SMP boot will be sent to upstream when
the new version of Parking protocol is ready.
CC: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
CC: Catalin Marinas <catalin.marinas@xxxxxxx>
CC: Will Deacon <will.deacon@xxxxxxx>
CC: Mark Rutland <mark.rutland@xxxxxxx>
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx>
Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
Tested-by: Jon Masters <jcm@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Tested-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Olof Johansson <olof@xxxxxxxxx>
Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 4c1c8d7a7ebc8b909493a14b21b233e5377b69aa
Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Date: Tue Mar 24 14:02:44 2015 +0000
ACPI / table: Print GIC information when MADT is parsed
When MADT is parsed, print GIC information as debug message:
ACPI: GICC (acpi_id[0x0000] address[00000000e112f000] MPIDR[0x0] enabled)
ACPI: GICC (acpi_id[0x0001] address[00000000e112f000] MPIDR[0x1] enabled)
...
ACPI: GICC (acpi_id[0x0201] address[00000000e112f000] MPIDR[0x201]
enabled)
This debug information will be very helpful to bring up early systems to
see if acpi_id and MPIDR are matched or not as spec defined.
CC: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx>
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx>
Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
Tested-by: Jon Masters <jcm@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Tested-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Acked-by: Grant Likely <grant.likely@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 7c59a3df15df29c8402a05b92385e83e55355778
Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx>
Date: Tue Mar 24 14:02:43 2015 +0000
ARM64 / ACPI: Get PSCI flags in FADT for PSCI init
There are two flags: PSCI_COMPLIANT and PSCI_USE_HVC. When set,
the former signals to the OS that the firmware is PSCI compliant.
The latter selects the appropriate conduit for PSCI calls by
toggling between Hypervisor Calls (HVC) and Secure Monitor Calls
(SMC).
FADT table contains such information in ACPI 5.1, FADT table was
parsed in ACPI table init and copy to struct acpi_gbl_FADT, so
use the flags in struct acpi_gbl_FADT for PSCI init.
Since ACPI 5.1 doesn't support self defined PSCI function IDs,
which means that only PSCI 0.2+ is supported in ACPI.
CC: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
CC: Catalin Marinas <catalin.marinas@xxxxxxx>
CC: Will Deacon <will.deacon@xxxxxxx>
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx>
Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
Tested-by: Jon Masters <jcm@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Tested-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Olof Johansson <olof@xxxxxxxxx>
Acked-by: Grant Likely <grant.likely@xxxxxxxxxx>
Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx>
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 3505f30fb6a980283116390e9a962d60cf8e2a57
Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx>
Date: Tue Mar 24 14:02:42 2015 +0000
ARM64 / ACPI: If we chose to boot from acpi then disable FDT
If the early boot methods of acpi are happy that we have valid ACPI
tables and acpi=force has been passed, then do not unflat devicetree
effectively disabling further hardware probing from DT.
CC: Catalin Marinas <catalin.marinas@xxxxxxx>
CC: Will Deacon <will.deacon@xxxxxxx>
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx>
Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
Tested-by: Jon Masters <jcm@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Tested-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Olof Johansson <olof@xxxxxxxxx>
Acked-by: Grant Likely <grant.likely@xxxxxxxxxx>
Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit b10d79f76085b577673395daf92d6208ae09196f
Author: Al Stone <al.stone@xxxxxxxxxx>
Date: Tue Mar 24 14:02:41 2015 +0000
ARM64 / ACPI: Introduce early_param "acpi=" to enable/disable ACPI
This implements the following policy to decide whether ACPI should
be used to boot the system:
- acpi=off: ACPI will not be used to boot the system, even if there is
no alternative available (e.g., device tree is empty)
- acpi=force: only ACPI will be used to boot the system; if that fails,
there will be no fallback to alternative methods (such as device tree)
- otherwise, ACPI will be used as a fallback if the device tree turns out
to lack a platform description; the heuristic to decide this is whether
/chosen is the only node present at depth 1
CC: Catalin Marinas <catalin.marinas@xxxxxxx>
CC: Will Deacon <will.deacon@xxxxxxx>
CC: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx>
Acked-by: Olof Johansson <olof@xxxxxxxxx>
Acked-by: Grant Likely <grant.likely@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Signed-off-by: Al Stone <al.stone@xxxxxxxxxx>
Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit a9cb97fe71d84df103994861f00112fe2cba91be
Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Date: Tue Mar 24 14:02:40 2015 +0000
ARM64 / ACPI: Introduce PCI stub functions for ACPI
CONFIG_ACPI depends CONFIG_PCI on x86 and ia64, in ARM64 server
world we will have PCIe in most cases, but some of them may not,
make CONFIG_ACPI depend CONFIG_PCI on ARM64 will satisfy both.
With that case, we need some arch dependent PCI functions to
access the config space before the PCI root bridge is created, and
pci_acpi_scan_root() to create the PCI root bus. So introduce
some stub function here to make ACPI core compile and revisit
them later when implemented on ARM64.
CC: Liviu Dudau <Liviu.Dudau@xxxxxxx>
CC: Catalin Marinas <catalin.marinas@xxxxxxx>
CC: Will Deacon <will.deacon@xxxxxxx>
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx>
Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
Tested-by: Jon Masters <jcm@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Tested-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 6e0a0ea12962a2175a9f47621f9fe7a4c866cb12
Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx>
Date: Tue Mar 24 14:02:39 2015 +0000
ACPI / sleep: Introduce CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT
ACPI 5.1 does not currently support S states for ARM64 hardware but
ACPI code will call acpi_target_system_state() and acpi_sleep_init()
for device power management, so introduce
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT and select it for x86 and
ia64 only to make sleep functions available, and also introduce stub
function to allow other drivers to function until S states are defined
for ARM64.
It will be no functional change for x86 and IA64.
Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx>
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 652261a7a86c884147930fa1e5ddd82a8a5748da
Author: Mark Salter <msalter@xxxxxxxxxx>
Date: Tue Mar 24 14:02:38 2015 +0000
ACPI: fix acpi_os_ioremap for arm64
The acpi_os_ioremap() function may be used to map normal RAM or IO
regions. The current implementation simply uses ioremap_cache(). This
will work for some architectures, but arm64 ioremap_cache() cannot be
used to map IO regions which don't support caching. So for arm64, use
ioremap() for non-RAM regions.
CC: Rafael J Wysocki <rjw@xxxxxxxxxxxxx>
CC: Catalin Marinas <catalin.marinas@xxxxxxx>
Tested-by: Robert Richter <rrichter@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx>
Signed-off-by: Mark Salter <msalter@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 37655163ce1a3ef2635a9bba0ad614f25e01484e
Author: Al Stone <al.stone@xxxxxxxxxx>
Date: Tue Mar 24 14:02:37 2015 +0000
ARM64 / ACPI: Get RSDP and ACPI boot-time tables
As we want to get ACPI tables to parse and then use the information
for system initialization, we should get the RSDP (Root System
Description Pointer) first, it then locates Extended Root Description
Table (XSDT) which contains all the 64-bit physical address that
pointer to other boot-time tables.
Introduce acpi.c and its related head file in this patch to provide
fundamental needs of extern variables and functions for ACPI core,
and then get boot-time tables as needed.
- asm/acenv.h for arch specific ACPICA environments and
implementation, It is needed unconditionally by ACPI core;
- asm/acpi.h for arch specific variables and functions needed by
ACPI driver core;
- acpi.c for ARM64 related ACPI implementation for ACPI driver
core;
acpi_boot_table_init() is introduced to get RSDP and boot-time tables,
it will be called in setup_arch() before paging_init(), so we should
use eary_memremap() mechanism here to get the RSDP and all the table
pointers.
FADT Major.Minor version was introduced in ACPI 5.1, it is the same
as ACPI version.
In ACPI 5.1, some major gaps are fixed for ARM, such as updates in
MADT table for GIC and SMP init, without those updates, we can not
get the MPIDR for SMP init, and GICv2/3 related init information, so
we can't boot arm64 ACPI properly with table versions predating 5.1.
If firmware provides ACPI tables with ACPI version less than 5.1,
OS has no way to retrieve the configuration data that is necessary
to init SMP boot protocol and the GIC properly, so disable ACPI if
we get an FADT table with version less that 5.1 when
acpi_boot_table_init()
called.
CC: Catalin Marinas <catalin.marinas@xxxxxxx>
CC: Will Deacon <will.deacon@xxxxxxx>
CC: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx>
Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
Tested-by: Jon Masters <jcm@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Tested-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Olof Johansson <olof@xxxxxxxxx>
Acked-by: Grant Likely <grant.likely@xxxxxxxxxx>
Signed-off-by: Al Stone <al.stone@xxxxxxxxxx>
Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx>
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit b2cedba09dd7034c144c03eadc09ee1e4d791590
Author: Mark Salter <msalter@xxxxxxxxxx>
Date: Tue Mar 24 14:02:36 2015 +0000
ARM64: allow late use of early_ioremap
Commit 0e63ea48b4d8 (arm64/efi: add missing call to early_ioremap_reset())
added a missing call to early_ioremap_reset(). This triggers a BUG if code
tries using early_ioremap() after the early_ioremap_reset(). This is a
problem for some ACPI code which needs short-lived temporary mappings
after paging_init() but before acpi_early_init() in start_kernel(). This
patch adds definitions for the __late_set_fixmap() and
__late_clear_fixmap()
which avoids the BUG by allowing later use of early_ioremap().
CC: Leif Lindholm <leif.lindholm@xxxxxxxxxx>
CC: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
Tested-by: Jon Masters <jcm@xxxxxxxxxx>
Tested-by: Robert Richter <rrichter@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx>
Signed-off-by: Mark Salter <msalter@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit aafc65c731fe2e6020850cd87ba69e96aaf38649
Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx>
Date: Tue Mar 24 14:02:35 2015 +0000
ACPI: add arm64 to the platforms that use ioremap
Now with the base changes to the arm memory mapping it is safe
to convert to using ioremap to map in the tables after
acpi_gbl_permanent_mmap is set.
CC: Rafael J Wysocki <rjw@xxxxxxxxxxxxx>
Tested-by: Robert Richter <rrichter@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Acked-by: Robert Richter <rrichter@xxxxxxxxxx>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Reviewed-by: Grant Likely <grant.likely@xxxxxxxxxx>
Signed-off-by: Al Stone <al.stone@xxxxxxxxxx>
Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 07f438df22886432ff50772446768f65fbbf3ee0
Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Date: Tue Mar 24 14:02:34 2015 +0000
ACPI / table: Use pr_debug() instead of pr_info() for MADT table scanning
For a normal 8 cpu sockets system, it will up to 240 cpu threads (Xeon E7
v2 family for now), and we need 240 entries for local apic or local x2apic
in MADT table, so it will be much verbose information printed with a slow
uart console when system booted, this will be even worse with large system
with 16/32 cpu sockets.
This patch just use pr_debug() instead of pr_info() for ioapic/iosapic,
local apic/x2apic/sapic structures when scanning the MADT table to remove
those verbose information, but leave other structures unchanged.
CC: Rafael J Wysocki <rjw@xxxxxxxxxxxxx>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Acked-by: Olof Johansson <olof@xxxxxxxxx>
Acked-by: Grant Likely <grant.likely@xxxxxxxxxx>
Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 24deabf1b29a72ec7cb8e4f5e8151d60f0066467
Merge: 0c20856 12eb3e8
Author: Will Deacon <will.deacon@xxxxxxx>
Date: Wed Mar 25 11:44:29 2015 +0000
Merge branch 'aarch64/kvm-bounce-page' into aarch64/for-next/core
linux-next testing found a bug with the PROVIDE keyword and older
versions of binutils, so Ard has fixed that here.
commit 12eb3e833961bfe532b763a6e4e817ec87f48bc7
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Tue Mar 24 17:48:07 2015 +0000
ARM: kvm: assert on HYP section boundaries not actual code size
Using ASSERT() with an expression that involves a symbol that
is only supplied through a PROVIDE() definition in the linker
script itself is apparently not supported by some older versions
of binutils.
So instead, rewrite the expression so that only the section
boundaries __hyp_idmap_text_start and __hyp_idmap_text_end
are used. Note that this reverts the fix in 06f75a1f6200
("ARM, arm64: kvm: get rid of the bounce page") for the ASSERT()
being triggered erroneously when unrelated linker emitted veneers
happen to end up in the HYP idmap region.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 0a56c0e1e7ad4dc3721e96c499f3074cb6867cfe
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Mon Mar 16 20:20:29 2015 +0100
w1: constify of_device_id array
of_device_id is always used as const.
(See driver.of_match_table and open firmware functions)
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 4d8beff2ae07fad85d723b4cdf704b05f0ed4794
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Mon Mar 16 20:54:38 2015 +0100
uio: constify of_device_id array
of_device_id is always used as const.
(See driver.of_match_table and open firmware functions)
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 993c592d745c467d83e753c9e8f4e9f952381478
Merge: bc465aa 9a309d6
Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
Date: Wed Mar 25 12:22:37 2015 +0100
Merge branch 'cpuidle/4.1' of
http://git.linaro.org/people/daniel.lezcano/linux into pm-cpuidle
Pull ARM cpuidle changes for v4.1 from Daniel Lezcano.
* 'cpuidle/4.1' of http://git.linaro.org/people/daniel.lezcano/linux:
ARM: cpuidle: Document the code
ARM: cpuidle: Register per cpuidle device
ARM: cpuidle: Enable the ARM64 driver for both ARM32/ARM64
ARM64: cpuidle: Remove arm64 reference
ARM64: cpuidle: Rename cpu_init_idle to a common function name
ARM64: cpuidle: Replace cpu_suspend by the common ARM/ARM64 function
ARM: cpuidle: Add a cpuidle ops structure to be used for DT
ARM: cpuidle: Remove duplicate header inclusion
commit 14d14a5d2957a4a047b4dbabb6d5ef28a7a70b33
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Wed Mar 25 08:09:56 2015 +0000
netfilter: nft_meta: use raw_smp_processor_id()
Using smp_processor_id() triggers warnings with PREEMPT_RCU. There is no
point in disabling preemption since we only collect the numeric value,
so use raw_smp_processor_id() instead.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit d95797252a9d967d462d9581fb72546d6a92e14b
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Wed Mar 25 08:09:55 2015 +0000
netfilter: nf_tables: nft_queue does not depend on x_tables
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit fce1528ef619bf55bf5e5bca8acaa8a37f0d4202
Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
Date: Tue Mar 24 10:55:38 2015 +0100
netfilter: nf_tables: restore nf_log_trace() in nf_tables_core.c
As described by 4017a7e ("netfilter: restore rule tracing via
nfnetlink_log"), this accidentally slipped through during conflict
resolution in d5c1d8c.
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit a81b2ce8508b9c57c2eae0b0ab7fc8a5e849a4b4
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Mon Mar 23 11:50:10 2015 -0700
netfilter: Use LOGLEVEL_<FOO> defines
Use the #defines where appropriate.
Miscellanea:
Add explicit #include <linux/kernel.h> where it was not
previously used so that these #defines are a bit more
explicitly defined instead of indirectly included via:
module.h->moduleparam.h->kernel.h
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 5ebb335dcbe63470c88c4f80f2d571089543b638
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Sat Mar 21 15:19:15 2015 +0000
netfilter: nf_tables: move struct net pointer to base chain
The network namespace is only needed for base chains to get at the
gencursor. Also convert to possible_net_t.
Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
commit 2c2b913d19e149bf7c4ae5f62634fc3b46a06306
Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx>
Date: Wed Mar 4 09:32:32 2015 +0100
irqf_oneshot.cocci: add check of devm_request_threaded_irq()
Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject
bogus threaded irq requests") threaded IRQs without a primary handler
need to be requested with IRQF_ONESHOT, otherwise the request will fail.
Until now, this coccinelle script only checked request_threaded_irq().
However, the counterpart devm function (see kernel/irq/devres.c) is also
affected by the missing flag which can be detected with this patch.
Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx>
Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx>
Acked-by: Julia Lawall <julia.lawall@xxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit 5f5cc81733baf7b67a039a931dae282e53bf97b9
Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Date: Wed Mar 18 12:29:30 2015 -0700
Drivers: hv: vmbus: Fix a siganlling host signalling issue
Handle the case when the write to the ringbuffer fails. In this case,
unconditionally signal the host. Since we may have deferred signalling
the host based on the kick_q parameter, signalling the host
unconditionally in this case deals with the issue.
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b3a19b36ad7450d4c8caeb7d9f623af3da32a578
Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Date: Wed Mar 18 12:29:29 2015 -0700
Drivers: hv: vmbus: Export the vmbus_sendpacket_pagebuffer_ctl()
Export the vmbus_sendpacket_pagebuffer_ctl() interface. This export will
be
used by the netvsc driver.
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 4ce50e9491c5c92baf8bb7af85eb25398d3f70af
Author: Vaughan Cao <vaughan.cao@xxxxxxxxxx>
Date: Wed Mar 18 12:29:28 2015 -0700
hv: hypervvssd: call endmntent before call setmntent again
If freeze fails, vss_operate will re-enter itself to thaw. But it forgets
to call endmntent() before it recalls setmntent() again.
Signed-off-by: Vaughan Cao <vaughan.cao@xxxxxxxxxx>
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f2eddbc9f1a466329c68f3b75e89cfacd2792365
Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Date: Wed Mar 18 12:29:27 2015 -0700
Drivers: hv: vmbus: Fix a bug in rescind processing in
vmbus_close_internal()
When a channel has been rescinded, the close operation is a noop.
Restructure the code so we deal with the rescind condition after
we properly cleanup the channel. I would like to thank
Dexuan Cui <decui@xxxxxxxxxxxxx> for observing this problem.
The current code leaks memory when the channel is rescinded.
The current char-next branch is broken and this patch fixes
the bug.
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit b4affbbb7217e440f80c922b2b304795758d40bb
Author: Dexuan Cui <decui@xxxxxxxxxxxxx>
Date: Wed Mar 18 12:29:26 2015 -0700
tools: hv: fcopy_daemon: support >2GB files for x86_32 guest
Without this patch, hv_fcopy_daemon's hv_copy_data() -> pwrite()
will fail for >2GB file offset.
The current char-next branch is broken and this patch fixes
the bug.
Signed-off-by: Alex Ng <alexng@xxxxxxxxxxxxx>
Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx>
Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 177757423fde68a6ce773d2b67b468fbd8367bbc
Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Wed Mar 18 12:29:25 2015 -0700
hv: vmbus: missing curly braces in vmbus_process_offer()
The indenting makes it clear that there were curly braces intended here.
Fixes: 2dd37cb81580 ('Drivers: hv: vmbus: Handle both rescind and offer
messages in the same context')
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 5ef5b6927f14f29cacd78fa1fb861661a5367f13
Author: Nick Meier <nmeier@xxxxxxxxxxxxx>
Date: Wed Mar 18 12:29:24 2015 -0700
Drivers: hv: vmbus: Correcting truncation error for constant
HV_CRASH_CTL_CRASH_NOTIFY
HV_CRASH_CTL_CRASH_NOTIFY is a 64 bit number. Depending on the usage
context,
the value may be truncated. This patch is in response from the following
email from Wu Fengguang <fengguang.wu@xxxxxxxxx>:
From: Wu Fengguang <fengguang.wu@xxxxxxxxx>
Subject: [char-misc:char-misc-testing 25/45]
drivers/hv/vmbus_drv.c:67:9: sparse:
constant 0x8000000000000000 is so big it is unsigned long
tree:
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
char-misc-testing
head: b3de8e3719e582f3182bb504295e4a8e43c8c96f
commit: 96c1d0581d00f7abe033350edb021a9d947d8d81 [25/45] Drivers: hv:
vmbus: Add support for VMBus panic notifier handler
reproduce:
# apt-get install sparse
git checkout 96c1d0581d00f7abe033350edb021a9d947d8d81
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__
sparse warnings: (new ones prefixed by >>)
drivers/hv/vmbus_drv.c:67:9: sparse: constant 0x8000000000000000 is
so big it is unsigned long
...
Signed-off-by: Nick Meier <nmeier@xxxxxxxxxxxxx>
Reported-by: Wu Fengguang <fengguang.wu@xxxxxxxxx>
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 5abbbb75d733793b1637441691de95b7665cee85
Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Date: Wed Mar 18 12:29:23 2015 -0700
Drivers: hv: hv_balloon: don't lose memory when onlining order is not
natural
Memory blocks can be onlined in random order. When this order is not
natural
some memory pages are not onlined because of the redundant check in
hv_online_page().
Here is a real world scenario:
1) Host tries to hot-add the following (process_hot_add):
pg_start=rg_start=0x48000, pfn_cnt=111616, rg_size=262144
2) This results in adding 4 memory blocks:
[ 109.057866] init_memory_mapping: [mem 0x48000000-0x4fffffff]
[ 114.102698] init_memory_mapping: [mem 0x50000000-0x57ffffff]
[ 119.168039] init_memory_mapping: [mem 0x58000000-0x5fffffff]
[ 124.233053] init_memory_mapping: [mem 0x60000000-0x67ffffff]
The last one is incomplete but we have special has->covered_end_pfn
counter to
avoid onlining non-backed frames and hv_bring_pgs_online() function to
bring
them online later on.
3) Now we have 4 offline memory blocks:
/sys/devices/system/memory/memory9-12
$ for f in /sys/devices/system/memory/memory*/state; do echo $f `cat $f`;
done | grep -v onlin
/sys/devices/system/memory/memory10/state offline
/sys/devices/system/memory/memory11/state offline
/sys/devices/system/memory/memory12/state offline
/sys/devices/system/memory/memory9/state offline
4) We bring them online in non-natural order:
$grep MemTotal /proc/meminfo
MemTotal: 966348 kB
$echo online > /sys/devices/system/memory/memory12/state && grep MemTotal
/proc/meminfo
MemTotal: 1019596 kB
$echo online > /sys/devices/system/memory/memory11/state && grep MemTotal
/proc/meminfo
MemTotal: 1150668 kB
$echo online > /sys/devices/system/memory/memory9/state && grep MemTotal
/proc/meminfo
MemTotal: 1150668 kB
As you can see memory9 block gives us zero additional memory. We can also
observe a huge discrepancy between host- and guest-reported memory sizes.
The root cause of the issue is the redundant pg >= covered_start_pfn
check (and
covered_start_pfn advancing) in hv_online_page(). When upper memory block
in
being onlined before the lower one (memory12 and memory11 in the above
case) we
advance the covered_start_pfn pointer and all memory9 pages do not pass
the
check. If the assumption that host always gives us requests in sequential
order
and pg_start always equals rg_start when the first request for the new HA
region is received (that's the case in my testing) is correct than we can
get
rid of covered_start_pfn and pg >= start_pfn check in hv_online_page() is
sufficient.
The current char-next branch is broken and this patch fixes
the bug.
Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit f3f6eb80872becdbce07f7d2670d3f8ae5119752
Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Date: Wed Mar 18 12:29:22 2015 -0700
Drivers: hv: hv_balloon: keep locks balanced on add_memory() failure
When add_memory() fails the following BUG is observed:
[ 743.646107] hv_balloon: hot_add memory failed error is -17
[ 743.679973]
[ 743.680930] =====================================
[ 743.680930] [ BUG: bad unlock balance detected! ]
[ 743.680930] 3.19.0-rc5_bug1131426+ #552 Not tainted
[ 743.680930] -------------------------------------
[ 743.680930] kworker/0:2/255 is trying to release lock
(&dm_device.ha_region_mutex) at:
[ 743.680930] [<ffffffff81aae5fe>] mutex_unlock+0xe/0x10
[ 743.680930] but there are no more locks to release!
This happens as we don't acquire ha_region_mutex and hot_add_req()
expects us
to as it does unconditional mutex_unlock(). Acquire the lock on the error
path.
The current char-next branch is broken and this patch fixes
the bug.
Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Acked-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit fde25d25dbd997067058f7d4c2ff31600157e6f2
Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Date: Wed Mar 18 12:29:21 2015 -0700
Drivers: hv: vmbus: Perform device register in the per-channel work
element
This patch is a continuation of the rescind handling cleanup work. We
cannot
block in the global message handling work context especially if we are
blocking
waiting for the host to wake us up. I would like to thank
Dexuan Cui <decui@xxxxxxxxxxxxx> for observing this problem.
The current char-next branch is broken and this patch fixes
the bug.
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 57fe1b263907430a27fabcfde11a144caac9f5cd
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Wed Mar 25 08:05:49 2015 +0100
s390/irq: enforce correct irqclass_sub_desc array size
Add a BUILD_BUG_ON() to enforce that irqclass_sub_desc contains the
required
number of defined interrupt descriptions and won't be filled up with
zeros.
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 304987e36577e308be483113fa85cef8d1b948d8
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Tue Mar 24 08:10:53 2015 +0100
s390: remove "64" suffix from mem64.S and swsusp_asm64.S
Rename two more files which I forgot. Also remove the "asm" from the
swsusp_asm64.S file, since the ".S" suffix already makes it obvious
that this file contains assembler code.
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 3be7ae6350c2418efc51aa779a31a6e27c47e046
Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 17 10:36:14 2015 +0100
s390/ipl: cleanup macro usage
ipl.c uses 3 different macros to create a sysfs show function for ipl
attributes. Define IPL_ATTR_SHOW_FN which is used by all macros.
Reviewed-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 0f024379ff8bce40d2387bd7de2dbf0921ab5a5c
Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 17 10:28:46 2015 +0100
s390/ipl: cleanup shutdown_action attributes
Use macros wherever applicable and create a shutdown_action attribute
group to simplify the code.
Reviewed-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 22d557abf75ce39f8b2264c86058b4bcc7a8f9f0
Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 17 10:25:16 2015 +0100
s390/ipl: cleanup bin attr usage
Use macros wherever applicable and put bin_attributes inside
attribute_groups
to simplify/remove some code.
Reviewed-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 9f9d86e1e9ecbb43d0ca41c9c9118f141ab8d93e
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Mon Mar 16 12:59:04 2015 +0100
s390/uprobes: fix address space annotation
Remove __user address space annotation for sim_stor_event() calls since it
generates false positive warnings from sparse.
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 2a5e91c3acda515f9faac646777f3e54aa9cf04b
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Mon Mar 16 12:46:38 2015 +0100
s390: add missing arch_release_task_struct() declaration
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 3ddb1b7578040ef114747e30f277cfea6286c5da
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Mon Mar 16 12:44:10 2015 +0100
s390: make couple of functions and variables static
As reported by sparse these can and should be static.
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 3c1a3bcea945f9d59ab1fe3d319c67c0ff56100f
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Fri Mar 13 13:13:36 2015 +0100
s390/maccess: improve s390_kernel_write()
Use the sturg instruction instead of the stura instruction. This allows to
modify up to eight bytes in a row instead of only four.
For function tracer enabling and disabling this reduces the time needed to
modify the text sections by 50%, since for each mcount call site six bytes
need to be changed.
Also remove the EXTABLE entries, since calls to this function are not
supposed to fail.
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 8a5d8473dd7e2b0bc2864e34bd6836b520589fa1
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Fri Mar 13 12:55:56 2015 +0100
s390/maccess: remove potentially broken probe_kernel_write()
Remove the s390 architecture implementation of probe_kernel_write() and
instead use a new function s390_kernel_write() to modify kernel text and
data everywhere.
The s390 implementation of probe_kernel_write() was potentially broken
since it modified memory in a read-modify-write fashion, which read four
bytes, modified the requested bytes within those four bytes and wrote
the result back.
If two cpus would modify the same four byte area at different locations
within that area, this could lead to corruption.
Right now the only places which called probe_kernel_write() did run within
stop_machine_run. Therefore the scenario can't happen right now, however
that might change at any time.
To fix this rename probe_kernel_write() to s390_kernel_write() which can
have special semantics, like only call it while running within
stop_machine().
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit b2527d2009903a06b0076bb89166c72a0f17823b
Author: Xu Wang <gesaint@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 6 16:26:30 2015 +0800
s390/watchdog: support for KVM hypervisors and delete pr_info messages
This patch extends the diag288 watchdog driver to be able to deal with KVM
hypervisors. Only z/VM needs special handling, we can use the same
interface
as on LPAR. Remove all pr_info output to avoid misconception. Because
there
is no value in these messages and only the pr_err messages make sense.
Signed-off-by: Xu Wang <gesaint@xxxxxxxxxxxxxxxxxx>
Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx>
Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 9ec6cb80c8752db70174d3f67d33243fbab05014
Author: Xu Wang <gesaint@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 6 16:26:29 2015 +0800
s390/watchdog: enable KEEPALIVE for /dev/watchdog
There's no reason why we wouldn't want to be able to send a keep alive
message to /dev/watchdog (feed dog) for the s390 diag288 watchdog, so
let's enable the WDIOF_KEEPALIVEPING option.
Signed-off-by: Xu Wang <gesaint@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit a5fd8ddce2af98c7f8199d37a0b866e98f4c0de0
Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx>
Date: Wed Mar 4 14:29:47 2015 +0100
s390/dasd: remove setting of scheduler from driver
Remove the hard coded scheduler for the DASD device driver to enable
change of the scheduler during runtime. Set recommended deadline
scheduler via additional udev rule.
Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit e1d12d70f7467c3b26cbd0c14139dcddec88448d
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Wed Feb 18 14:17:14 2015 +0100
s390/traps: panic() instead of die() on translation exception
In case of a translation exception the page tables are corrupted. If the
exception handler then calls die() which again calls show_regs()
-> show_code() -> copy_from_user(), the kernel may access the same memory
location again and generates yet another translation exception. Which in
turn
will lead to a deadlock on the die_lock spinlock, which the kernel tries
to
grab recursively.
Given that the page tables are corrupted anyway, if we see such an
exception,
let's simply panic.
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 86cd741bc6ed0edf6ea0e8ec5c840cf9e3f3a7cb
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Sat Feb 14 11:23:21 2015 +0100
s390: remove test_facility(2) (== z/Architecture mode active) checks
Given that the kernel now always runs in 64 bit mode, it is
pointless to check if the z/Architecture mode is active.
Remove the checks.
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 26f15caaf993bbb6f246a30aad3c96a349564528
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Sat Feb 14 11:10:14 2015 +0100
s390/cmpxchg: simplify cmpxchg_double
Since sizeof(long) == 4 is always false now, simplify cmpxchg_double a
bit.
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit a876cb3f6b2d3eb9e857d06caa9ed4c911ea0bd3
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Fri Feb 13 14:44:29 2015 +0100
s390: remove 31 bit syscalls
Remove the 31 bit syscalls from the syscall table. This is a separate
patch
just in case I screwed something up so it can be easily reverted.
However the conversion was done with a script, so everything should be ok.
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 4bfc86ce9436ea8064cad90fd891625bd814be1d
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Fri Feb 13 13:04:39 2015 +0100
s390: remove "64" suffix from a couple of files
Rename a couple of files to get rid of the "64" suffix.
"git blame" will still work.
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 5a79859ae0f35d25c67a03e82bf0c80592f16a39
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date: Thu Feb 12 13:08:27 2015 +0100
s390: remove 31 bit support
Remove the 31 bit support in order to reduce maintenance cost and
effectively remove dead code. Since a couple of years there is no
distribution left that comes with a 31 bit kernel.
The 31 bit kernel also has been broken since more than a year before
anybody noticed. In addition I added a removal warning to the kernel
shown at ipl for 5 minutes: a960062e5826 ("s390: add 31 bit warning
message") which let everybody know about the plan to remove 31 bit
code. We didn't get any response.
Given that the last 31 bit only machine was introduced in 1999 let's
remove the code.
Anybody with 31 bit user space code can still use the compat mode.
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
commit 0daa7a0afd0fa7aad83cbde0fb341d7fbeac952c
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Mon Feb 2 15:44:55 2015 +0100
hwrng: Avoid manual device_create_file() calls
Use the new group field of struct miscdevice for managing the sysfs
entries instead of manually adding/removing via device_create_file()
and device_remove_file(). This simplifies the code a lot and fixes
the possible races.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit bd735995308b553cc3c7f6a975aa284b270c7e2c
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Mon Feb 2 15:44:54 2015 +0100
misc: Add attribute groups
Add groups field to struct miscdevice for passing the attribute groups
at device creation. In this way, the driver can avoid the manual call
of device_create_file() after the device registration, which is
basically a racy operation, in addition to the reduction of manual
device_remove_file() calls.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 2f9763190dd6356eec95548f4cfa8a36a71f767c
Author: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Date: Mon Feb 9 14:09:09 2015 -0500
misc: mic: fixup return type of wait_for_completion_timeout
return type of wait_for_completion_timeout is unsigned long not int. The
rc variable is renamed timeout to reflect its use and the type adjusted to
unsigned long.
Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Acked-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 860cba13432e071442a39e9bab83258c631d33a6
Author: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Date: Mon Feb 9 14:24:25 2015 -0500
misc: carma: fixup return type of wait_for_completion_timeout
return type of wait_for_completion_timeout is unsigned long not int. The
rc variable is renamed timeout to reflect its use and the type adjusted to
unsigned long.
Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit a819a228feae6f936e2696c4946c53f883a3d480
Author: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Date: Mon Feb 9 14:43:44 2015 -0500
misc: tifm: match return type of wait_for_completion_timeout
return type of wait_for_completion_timeout is unsigned long not int. The
rc variable is in use for other calls so an additional timeout variable
of type unsigned long is added.
Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 03190c67ff72b5c56b24266762ab8abe68970f45
Author: Martin Kepplinger <martink@xxxxxxxxx>
Date: Mon Mar 23 13:59:46 2015 +0100
char: misc: document behaviour of open()
an open syscall now assignes file->private_data to a pointer to the
miscdevice structure. This reminds people not to duplicate code if
they want this and not to depend on it being NULL.
Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit ab3ae0096a6d31e1b244c5c5155f48ef3700329e
Author: Tomas Winkler <tomas.winkler@xxxxxxxxx>
Date: Thu Mar 19 12:10:09 2015 +0200
mei: fix regression on NFC connection
In mei_host_client_init function we enable the all internal
connected clients including NFC. This is done before we set the device
to enabled state and let userspace call open.
We need to check only for MEI_FILE_CONNECTED in mei_cl_is_connected
in order to enable the communication with the clients before
MEI_DEV_ENABLED is set.
Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d939b52abe0cee9cc3167f554da6b864db86d3f2
Author: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Date: Tue Mar 24 18:31:23 2015 +0300
cris: fix integer overflow in ELF_ET_DYN_BASE
Almost all arches define ELF_ET_DYN_BASE as 2/3 of TASK_SIZE.
Though it seems that some architectures do this in a wrong way.
The problem is that 2*TASK_SIZE may overflow 32-bits so
the real ELF_ET_DYN_BASE becomes wrong.
Fix this overflow by dividing TASK_SIZE prior to multiplying:
(TASK_SIZE / 3 * 2)
Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx>
commit aa6467f190d32b263f7144239c89c63c922d9ff8
Author: Jorgen Hansen <jhansen@xxxxxxxxxx>
Date: Mon Mar 2 08:19:11 2015 -0800
VMCI: Guard against overflow in queue pair allocation
The current maximum size of a queue in a queue pair is 128 MB. If
we increase that in the future, the queue pair allocation routines
may run into overflow issues. This change adds additional checks
to guard against this.
Acked-by: Andy King <acking@xxxxxxxxxx>
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Jorgen Hansen <jhansen@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 74b5c297f5ecbef0ca128fa7b385b43f036a7984
Author: Andy King <acking@xxxxxxxxxx>
Date: Thu Feb 19 10:33:56 2015 -0800
VMCI: Check userland-provided datagram size
Ensure that the size filled in by userland in the datagram header
matches the size of the buffer passed down in the IOCTL. Note that we
account for the size of the header itself in the check.
Acked-by: Jorgen Hansen <jhansen@xxxxxxxxxx>
Acked-by: Aditya Sarwade <asarwade@xxxxxxxxxx>
Signed-off-by: Andy King <acking@xxxxxxxxxx>
Reported-by: David Ramos <daramos@xxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit bf1361211dd842659b5b882390de687426f3471a
Author: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Date: Tue Feb 17 14:29:21 2015 -0800
drivers/vmw_vmci: Show correct get_user_pages_fast upon failure
As of 240ddd495a9 (vmw_vmci: Convert driver to use get_user_pages_fast())
we no longer user get_user_pages(), thus update the warning.
Also convert to pr_debug, which is a more appropriate level of logging.
Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit d38b98a3b8c951a2d7f742609524632e078ddede
Merge: ff85f70 0164a71
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 11:29:51 2015 +0100
Merge branch 'fix_ioremap_wc' of
git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag into char-misc-next
commit d3dad475b2839b9964ef54211e135eb6fb9952f9
Author: Rabin Vincent <rabin@xxxxxx>
Date: Mon Mar 9 18:51:31 2015 +0100
CRISv32: use GENERIC_SCHED_CLOCK
Provide a fast sched clock using the free-running timer and the generic
sched_clock infrastructure.
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx>
commit edfb6d5f1a05627204d1640ba527312dc8ea745a
Author: Rabin Vincent <rabin@xxxxxx>
Date: Mon Mar 9 18:48:25 2015 +0100
CRISv32: use MMIO clocksource
Use a generic MMIO clocksource and get rid of some lines of code.
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx>
commit ed9fd3ff0251783cb3943e71aac398b9064efae6
Author: Rabin Vincent <rabin@xxxxxx>
Date: Sun Mar 8 16:29:12 2015 +0100
CRISv32: use generic clockevents
Implement a oneshot-capable clockevents device so we get support for
things like hrtimers and NOHZ.
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx>
commit 16428f943d192390b4673612b1d3fb81772323d9
Author: Rabin Vincent <rabin@xxxxxx>
Date: Thu Feb 19 18:13:43 2015 +0100
CRIS: use generic headers via Kbuild
Delete headers which do nothing but include the asm-generic versions and
use Kbuild magic instead.
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx>
commit f87a2f58e34857304b8a2c284d02360210186dd0
Author: Rabin Vincent <rabin@xxxxxx>
Date: Thu Feb 19 18:56:17 2015 +0100
CRIS: use generic cmpxchg.h
CRIS can use asm-generic's cmpxchg.h
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx>
commit e7db8a3c96970d847da5611e78b6bde998f13da8
Author: Rabin Vincent <rabin@xxxxxx>
Date: Thu Feb 19 17:54:35 2015 +0100
CRIS: use generic atomic.h
CRIS can use asm-generic's atomic.h.
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx>
commit f64751118b07579c7ebb7935b6fd8cc8e2c3291a
Author: Rabin Vincent <rabin@xxxxxx>
Date: Thu Feb 19 17:53:33 2015 +0100
CRIS: use generic atomic bitops
The generic atomic bitops are the same as the CRIS-specific ones.
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx>
commit 3c2165f807570c936b8ed6714edff1ef44def50a
Author: Rabin Vincent <rabin@xxxxxx>
Date: Sun Feb 22 20:45:46 2015 +0100
CRISv10: remove redundant macros from system.h
All of these are either unused or already provided by other headers, so
they can be removed.
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx>
commit 47a8f6fb349c977ff752f979b159aef96a0bb352
Author: Rabin Vincent <rabin@xxxxxx>
Date: Thu Feb 19 17:35:28 2015 +0100
CRIS: remove SMP code
The CRIS SMP code cannot be built since there is no (and appears to
never have been) a CONFIG_SMP Kconfig option in arch/cris/. Remove it.
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx>
commit 06aca92424c2a53a9e26cb81c1d6a829af9491b8
Author: Rabin Vincent <rabin@xxxxxx>
Date: Thu Feb 19 18:20:09 2015 +0100
CRISv32: don't enable irqs in INIT_THREAD
INIT_THREAD enables interrupts in the thread_struct's saved flags. This
means that interrupts get enabled in the middle of context_switch()
while switching to new tasks that get forked off the init task during
boot. Don't do this.
Fixes the following splat on boot with spinlock debugging on:
BUG: spinlock cpu recursion on CPU#0, swapper/2
lock: runqueues+0x0/0x47c, .magic: dead4ead, .owner: swapper/0,
.owner_cpu: 0
CPU: 0 PID: 2 Comm: swapper Not tainted 3.19.0-08796-ga747b55 #285
Call Trace:
[<c0032b80>] spin_bug+0x2a/0x36
[<c0032c98>] do_raw_spin_lock+0xa2/0x126
[<c01964b0>] _raw_spin_lock+0x20/0x2a
[<c00286c8>] scheduler_tick+0x22/0x76
[<c003db2c>] update_process_times+0x5e/0x72
[<c0007a94>] timer_interrupt+0x4e/0x6a
[<c00378d6>] handle_irq_event_percpu+0x54/0xf2
[<c00379c4>] handle_irq_event+0x50/0x74
[<c003988e>] handle_simple_irq+0x6c/0xbe
[<c0037270>] generic_handle_irq+0x2a/0x36
[<c0004c40>] do_IRQ+0x38/0x84
[<c000662e>] crisv32_do_IRQ+0x54/0x60
[<c0006204>] IRQ0x4b_interrupt+0x34/0x3c
[<c0192baa>] __schedule+0x24a/0x532
[<c00056b4>] ret_from_kernel_thread+0x0/0x14
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx>
commit 9a7449d3e975fe5c5ca12b7fea4f4bd69188a5f9
Author: Rabin Vincent <rabin@xxxxxx>
Date: Sun Feb 8 18:19:17 2015 +0100
CRISv32: handle multiple signals
Al Viro noted that CRIS fails to handle multiple signals.
This fixes the problem for CRISv32 by making it use a C work_pending
handling loop similar to the ARM implementation in 0a267fa6a15d41c
("ARM: 7472/1: pull all work_pending logics into C function").
This also happens to fixes the warnings which currently trigger on
CRISv32 due to do_signal() being called with interrupts disabled.
Test case (should die of the SIGSEGV which gets raised when setting up
the stack for SIGALRM, but instead reaches and executes the _exit(1)):
#include <unistd.h>
#include <signal.h>
#include <sys/time.h>
#include <err.h>
static void handler(int sig) { }
int main(int argc, char *argv[])
{
int ret;
struct itimerval t1 = { .it_value = {1} };
stack_t ss = {
.ss_sp = NULL,
.ss_size = SIGSTKSZ,
};
struct sigaction action = {
.sa_handler = handler,
.sa_flags = SA_ONSTACK,
};
ret = sigaltstack(&ss, NULL);
if (ret < 0)
err(1, "sigaltstack");
sigaction(SIGALRM, &action, NULL);
setitimer(ITIMER_REAL, &t1, NULL);
pause();
_exit(1);
return 0;
}
Reported-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20121208074429.GC4939@xxxxxxxxxxxxxxxxxx
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx>
commit ff85f707ac49ad77b7cf8dcef38e7fcd468ca3d6
Merge: e9533ae bc465aa
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Wed Mar 25 10:51:53 2015 +0100
Merge 4.0-rc5 into char-misc-next
We want those fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit 0f72e5c0df732658d5e9e3c556c9c6928034e291
Author: Rabin Vincent <rabin@xxxxxx>
Date: Sun Feb 8 17:53:22 2015 +0100
CRISv32: prevent bogus restarts on sigreturn
Al Viro noted that CRIS is vulnerable to bogus restarts on sigreturn.
The fixes CRISv32 by using regs->exs as an additional indicator to
whether we should attempt to restart the syscall or not. EXS is only
used in the sigtrap handling, and in that path we already have r9 (the
other indicator, which indicates if we're in a syscall or not) cleared.
Test case, a port of Al's ARM version from 653d48b22166db2d8 ("arm: fix
really nasty sigreturn bug"):
#include <unistd.h>
#include <signal.h>
#include <stdlib.h>
#include <sys/time.h>
#include <errno.h>
void f(int n)
{
register int r10 asm ("r10") = n;
__asm__ __volatile__(
"ba 1f \n"
"nop \n"
"break 8 \n"
"1: ba . \n"
"nop \n"
:
: "r" (r10)
: "memory");
}
void handler1(int sig) { }
void handler2(int sig) { raise(1); }
void handler3(int sig) { exit(0); }
int main(int argc, char *argv[])
{
struct sigaction s = {.sa_handler = handler2};
struct itimerval t1 = { .it_value = {1} };
struct itimerval t2 = { .it_value = {2} };
signal(1, handler1);
sigemptyset(&s.sa_mask);
sigaddset(&s.sa_mask, 1);
sigaction(SIGALRM, &s, NULL);
signal(SIGVTALRM, handler3);
setitimer(ITIMER_REAL, &t1, NULL);
setitimer(ITIMER_VIRTUAL, &t2, NULL);
f(-513); /* -ERESTARTNOINTR */
return 0;
}
Reported-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20121208074429.GC4939@xxxxxxxxxxxxxxxxxx
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx>
commit db4a35c651a10eddc6b48b69e1db1f46bea303fa
Author: Rabin Vincent <rabin@xxxxxx>
Date: Sun Feb 8 16:57:40 2015 +0100
CRISv32: don't attempt syscall restart on irq exit
r9 is used to determine whether syscall restarting must be performed or
not. Unfortunately, r9 is never set to zero in the non-syscall path,
and r9 is on top of that a callee-saved register which can be set to
non-zero by the C functions that are called during IRQ handling.
This means that if r10 (used for the syscall return value) is one of the
-ERESTART* values when a hardware interrupt occurs which leads to a
signal being delivered to the process, the kernel will "restart" a
syscall which never occurred. This will lead to the PC being moved back
by 2 on return to user space.
Fix the problem by setting r9 to zero in the interrupt path.
Test case (should loop forever but ends up executing the break 8 trap
instruction):
#include <signal.h>
#include <stdlib.h>
#include <sys/time.h>
void f(int n)
{
register int r9 asm ("r9") = 1;
register int r10 asm ("r10") = n;
__asm__ __volatile__(
"ba 1f \n"
"nop \n"
"break 8 \n"
"1: ba . \n"
"nop \n"
:
: "r" (r9), "r" (r10)
: "memory");
}
void handler1(int sig) { }
int main(int argc, char *argv[])
{
struct itimerval t1 = { .it_value = {1} };
signal(SIGALRM, handler1);
setitimer(ITIMER_REAL, &t1, NULL);
f(-513); /* -ERESTARTNOINTR */
return 0;
}
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx>
commit 1eb1390bb21b1aa3b303627eb254296f097988cb
Author: Jesper Nilsson <jespern@xxxxxxxx>
Date: Wed Mar 25 10:06:21 2015 +0100
Add binding documentation for CRIS
Only includes the devboard 88 (CRISv32) at the moment.
Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx>
commit 235c362bd0f6afcf767bc72aa0c647e1434cc631
Author: Sheng Yong <shengyong1@xxxxxxxxxx>
Date: Fri Mar 20 10:39:42 2015 +0000
UBIFS: extend debug/message capabilities
In the case where we have more than one volumes on different UBI
devices, it may be not that easy to tell which volume prints the
messages. Add ubi number and volume id in ubifs_msg/warn/error
to help debug. These two values are passed by struct ubifs_info.
For those where ubifs_info is not initialized yet, ubifs_* is
replaced by pr_*. For those where ubifs_info is not avaliable,
ubifs_info is passed to the calling function as a const parameter.
The output looks like,
[ 95.444879] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started,
PID 696
[ 95.484688] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1,
name "test1"
[ 95.484694] UBIFS (ubi0:1): LEB size: 126976 bytes (124 KiB),
min./max. I/O unit sizes: 2048 bytes/2048 bytes
[ 95.484699] UBIFS (ubi0:1): FS size: 30220288 bytes (28 MiB, 238
LEBs), journal size 1523712 bytes (1 MiB, 12 LEBs)
[ 95.484703] UBIFS (ubi0:1): reserved for root: 1427378 bytes (1393 KiB)
[ 95.484709] UBIFS (ubi0:1): media format: w4/r0 (latest is w4/r0),
UUID 40DFFC0E-70BE-4193-8905-F7D6DFE60B17, small LPT model
[ 95.489875] UBIFS (ubi1:0): background thread "ubifs_bgt1_0" started,
PID 699
[ 95.529713] UBIFS (ubi1:0): UBIFS: mounted UBI device 1, volume 0,
name "test2"
[ 95.529718] UBIFS (ubi1:0): LEB size: 126976 bytes (124 KiB),
min./max. I/O unit sizes: 2048 bytes/2048 bytes
[ 95.529724] UBIFS (ubi1:0): FS size: 19808256 bytes (18 MiB, 156
LEBs), journal size 1015809 bytes (0 MiB, 8 LEBs)
[ 95.529727] UBIFS (ubi1:0): reserved for root: 935592 bytes (913 KiB)
[ 95.529733] UBIFS (ubi1:0): media format: w4/r0 (latest is w4/r0),
UUID EEB7779D-F419-4CA9-811B-831CAC7233D4, small LPT model
[ 954.264767] UBIFS error (ubi1:0 pid 756): ubifs_read_node: bad node
type (255 but expected 6)
[ 954.367030] UBIFS error (ubi1:0 pid 756): ubifs_read_node: bad node at
LEB 0:0, LEB mapping status 1
Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx>
commit 8a87dc55f75f19ffdbb52066afea1b633577c79f
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Thu Mar 12 21:34:21 2015 +0100
UBIFS: simplify returns
Directly return recover_head() and ubifs_leb_unmap()
instead of storing value in err and testing it.
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx>
commit d3f9db00d04ef1388d7ff24130b9a95099ce1542
Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx>
Date: Fri Mar 6 23:14:39 2015 +0100
UBIFS: Fix trivial typos in comments
Change 'comress' to 'compress'
Change 'inteval' to 'interval'
Change 'disabe' to 'disable'
Change 'nenver' to 'never'
Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx>
commit 2c84599ca4c2ffd81301f23eabc69c5180ff2f64
Author: Sheng Yong <shengyong1@xxxxxxxxxx>
Date: Wed Mar 4 10:46:16 2015 +0000
UBIFS: do not write master node if need recovery
The commits 781c571 ("UBIFS: intialize LPT earlier") and 0980119 ("UBIFS:
fix-up free space earlier") move some initialization before marking the
master node dirty. But the modification changes the conditions of writing
master.
If unclean umount happens, ubifs may fail when mounting. But trying to
mount it will write new master nodes on the flash. This is useless but
increasing sqnum. So check need_recovery before writing master node, and
don't create new master node if filesystem needs recovery.
The behavour of the bug shows at:
http://lists.infradead.org/pipermail/linux-mtd/2015-February/057712.html
Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx>
Reviewed-by: Ben Gardiner <ben.l.gardiner@xxxxxxxxx>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx>
commit 9401a795c6478953e10226471ba5990db5000e05
Author: Taesoo Kim <tsgatesv@xxxxxxxxx>
Date: Wed Mar 25 09:53:37 2015 +0100
UBIFS: fix incorrect unlocking handling
When ubifs_init_security() fails, 'ui_mutex' is incorrectly
unlocked and incorrectly restores 'i_size'. Fix this.
Signed-off-by: Taesoo Kim <tsgatesv@xxxxxxxxx>
Fixes: d7f0b70d30ff ("UBIFS: Add security.* XATTR support for the UBIFS")
Reviewed-by: Ben Shelton <ben.shelton@xxxxxx>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx>
commit 3a3e1c88362429ca3a6ef84d232e56b197294ce0
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Mon Feb 23 15:57:32 2015 +0200
ARM: OMAP2+: PRCM: add support for static clock memmap indices
All clock provider related drivers will now register their iomaps
with a static index. This makes it easier to split up the individual
drivers to their own files in subsequent patches.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit e8e8f7e41b86c3d89e6db2cf9e54cf2b17ff112a
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Wed Feb 25 15:09:21 2015 +0200
Documentation: DT: document PRCM compatible strings for dm81x SoCs
These PRCM nodes were earlier added in patch 7800064ba5 ("ARM: dts: Add
basic dm816x device tree configuration"), but the documentation for
the same wasn't added. Fix this by adding the missing compatible strings
under the generic prcm.txt document.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit b22df89fcc470f27ac442b5c0e8cdfc21d51de9b
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Wed Nov 19 16:13:57 2014 +0200
ARM: OMAP4: PRM: move omap4xxx_prm_init earlier in init order
OMAP4 has different ordering of PRM and CM init calls in the early init.
Re-oder these accordingly for OMAP4 also. This is needed so that we
can do some optimizations in the following patches for the PRCM init.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 66db6428d5dccac9f38d92d521a9b3de8d9d0b0b
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Thu Nov 6 14:39:40 2014 +0200
ARM: OMAP4+: CM: move omap_cm_base_init under OMAP4 CM driver
There is no need to call this separately from io.c, rather this can be
done commonly under the CM driver. Also, this patch makes the API static,
as it is no longer used outside the driver file.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 4e3870f3f62b18d92ff1ec5e7ff408afed0766f0
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Thu Nov 6 14:34:32 2014 +0200
ARM: OMAP4+: PRM: move omap_prm_base_init under OMAP4 PRM driver
There is no need to call this separately from io.c, rather this can be
done commonly under the PRM driver.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit e9f1ddcdec54d32892a0a749de017a39c6c84beb
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Fri Apr 4 15:52:01 2014 +0300
ARM: OMAP3+: PRM: add common APIs for prm_vp_check/clear_txdone
PRM driver now only exports a generic API for clearing / checking
VP txdone status.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 9cb6d36371b0a9935de92bf250c7152f5b50fdc1
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Fri Apr 4 12:31:51 2014 +0300
ARM: OMAP2+: PRM: add generic API for clear_mod_irqs
OMAP2/3 now use generic API for the prm_clear_mod_irqs, the SoC specific
implementation details are provided through prm_ll_data.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit f0caa5270bcf97c6a51c89d44747da00c0d67bb8
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Fri Apr 4 12:14:27 2014 +0300
ARM: OMAP3: PRM: invert the wkst_mask for the prm_clear_mod_irqs
This makes the API the same as used with OMAP2, and makes it possible
to implement a generic driver API for the functionality.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 3a1a388e910950553817b71046b00511d6242b06
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Tue Nov 18 14:59:36 2014 +0200
ARM: OMAP2+: PRCM: rename of_prcm_init to omap_prcm_init
This avoids conflicts in the global namespace, and is more descriptive
of the purpose anyway.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 3527a86b7ae17c949307d00e1eb7087604bca1b4
Merge: b388e6a bc465aa
Author: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx>
Date: Wed Mar 25 11:03:07 2015 +0200
Merge tag 'v4.0-rc5' into linux-next
Merge the upstream -rc5 tag because we needed a more up-to-date base our
further work.
commit 9a309d6fd213911321acbfe839e0bdb3a7a9f4bf
Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Date: Tue Mar 24 10:49:55 2015 +0100
ARM: cpuidle: Document the code
Add kernel-doc format documentation in the code.
Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
commit c8e840d8578a68a77cfd29f8cd68fb210855ce87
Author: Rabin Vincent <rabin@xxxxxx>
Date: Mon Jan 19 22:26:06 2015 +0100
CRIS: add Axis 88 board device tree
Add a minimal device tree for the ETRAX FS SoC and the Axis 88 developer
board.
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx>
commit a9f75ac5a24cb94c2373daa3d73f90d22cf5d94b
Author: Rabin Vincent <rabin@xxxxxx>
Date: Sun Feb 8 16:14:06 2015 +0100
CRISv32: add device tree support
Add support for booting CRISv32 with a built-in device tree.
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx>
commit 43f7071e107ede92ac9e499d218233c8bb4c3607
Author: Rabin Vincent <rabin@xxxxxx>
Date: Sun Feb 8 16:15:19 2015 +0100
CRISv32: add irq domains support
Add support for IRQ domains to the CRISv32 interrupt controller.
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx>
commit 3a3ad3e9d54c968de1a26fe8ad5982f7ddec7e9f
Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx>
Date: Mon Mar 23 18:47:29 2015 +0200
mmc: sdhci-msm: Add support for vendor capabilities registers
Some versions of this controller do not advertise their 3.0v and
8bit bus-width support capabilities. It is required to explicitly
set these capabilities for the specific controller versions.
Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 07bf2b54cd8555390cf5fced9471689ebf7fd56c
Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
Date: Tue Mar 24 14:45:04 2015 +0100
mmc: sdhci-esdhc-imx: support voltage-range property
Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 9369c97cc7eca4a73baf382cfabe92ed20ea04ed
Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Date: Tue Mar 24 18:39:49 2015 -0700
mmc: mmci: Cascade EPROBE_DEFER from regulators.
Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit dc5248820d0b766155fb542e060131a979594b56
Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Date: Fri Mar 20 10:15:29 2015 +0100
MAINTAINERS: mmc: Add Jaehoon as co-maintainer for SDHCI SAMSUNG DRIVER
Jaehoon has volunteered in maintaining the SDHCI SAMSUNG DRIVER so
add him.
Since we are updating this section let's also correct file path to
cover all files for sdhci-s3c.
Cc: Ben Dooks <ben-linux@xxxxxxxxx>
Cc: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 1a467abf198b4fb3dbf9a8c3d0d2d8650bbe0286
Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Date: Wed Mar 18 15:53:11 2015 +0000
mmc: atmel-mci: use endian agnostic IO
Change the __raw IO functions to endian agnostic relaxed ones to allow
the driver to function on big endian ARM systems.
Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx>
Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
commit 8fda64c23c2a2d421704d349696565b3a8366864
Author: Rabin Vincent <rabin@xxxxxx>
Date: Thu Feb 5 21:20:26 2015 +0100
CRIS: enable GPIOLIB
Enable GPIOLIB on CRIS so that we can use the generic GPIO APIs.
Signed-off-by: Rabin Vincent <rabin@xxxxxx>
Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx>
commit 4738465c37298cd9228750f7e16aad88af8495c5
Author: W. Trevor King <wking@xxxxxxxxxx>
Date: Wed Mar 25 00:43:42 2015 -0700
ALSA: hda/via - Add beep controls to VIA codecs
My codec has a beep-generating node:
$ cat /proc/asound/card1/codec#0
Codec: VIA VT1802
...
Vendor Id: 0x11068446
Subsystem Id: 0x15587410
Revision Id: 0x100000
...
Node 0x22 [Beep Generator Widget] wcaps 0x70040c: Mono Amp-Out
Amp-Out caps: ofs=0x0a, nsteps=0x12, stepsize=0x05, mute=1
Amp-Out vals: [0x0a]
Power states: D0 D1 D2 D3
Power: setting=D0, actual=D0
...
But I was missing the:
Control: name=...
entries that I need to manage this widget from alsamixer. With this
patch (based on the similar Mono Amp-Out handling in
patch_conexant.c), I get a new:
input: HDA Digital PCBeep as
/devices/pci0000:00/0000:00:1b.0/sound/card1/hdaudioC1D0/input15
entry in dmesg and controls to manage that beep:
$ cat /proc/asound/card1/codec#0 | grep -A5 Beep
Node 0x22 [Beep Generator Widget] wcaps 0x70040c: Mono Amp-Out
Control: name="Beep Playback Volume", index=0, device=0
ControlAmp: chs=1, dir=Out, idx=0, ofs=0
Control: name="Beep Playback Switch", index=0, device=0
ControlAmp: chs=1, dir=Out, idx=0, ofs=0
Amp-Out caps: ofs=0x0a, nsteps=0x12, stepsize=0x05, mute=1
Amp-Out vals: [0x12]
Power states: D0 D1 D2 D3
Power: setting=D0, actual=D0
[rebased and modified for the latest tree by tiwai]
Signed-off-by: W. Trevor King <wking@xxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 44e39b985393e506d82b669c9765e850daed9dc5
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Wed Mar 25 07:40:33 2015 +0100
ALSA: hda - Remove superfluous hda_nid_t definition in hda_codec.h
Just forgotten to remove. It's now in sound/hdaudio.h.
Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
commit 9697a5595ece52a722d88f25a90ded0028e5e6b4
Author: Wang Long <long.wanglong@xxxxxxxxxx>
Date: Wed Mar 11 08:36:54 2015 +0000
of/unittest: replace 'selftest' with 'unittest'
This patch just replace the string 'selftest' with 'unittest'
in OF unittest and data and binding file.
I have tested it successfully on ARM.
Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit b921e90260cec1e04988bb3763491de885b67b51
Author: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 11 11:57:23 2015 +0530
powerpc/powernv: Add OPAL message notifier unregister function
Provide an unregister interface for the opal message notifiers
to be called when not needed like during driver unload/remove.
Signed-off-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 792f96e9a769b799a2944e9369e4ea1e467135b2
Author: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 11 11:57:06 2015 +0530
powerpc/powernv: Fix the overflow of OPAL message notifiers head array
Fixes the condition check of incoming message type which can
otherwise shoot beyond the message notifiers head array.
Signed-off-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 111fbc68fd895ba437bcb03d5dcc4dd21bc61df8
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Fri Feb 20 19:12:53 2015 +0100
powerpc/pmac: replace current->state by set_current_state()
Use helper functions to access current->state.
Direct assignments are prone to races and therefore buggy.
current->state = TASK_RUNNING can be replaced by __set_current_state()
Thanks to Peter Zijlstra for the exact definition of the problem.
Suggested-By: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 1f8c82ab1b0bc7e24601c0fca411fd27b9c883ef
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Wed Mar 4 12:56:20 2015 +0100
cpufreq/ppc: Add missing #include <asm/smp.h>
If CONFIG_SMP=n, <linux/smp.h> does not include <asm/smp.h>, causing:
drivers/cpufreq/ppc-corenet-cpufreq.c: In function
'corenet_cpufreq_cpu_init':
drivers/cpufreq/ppc-corenet-cpufreq.c:173:3: error: implicit declaration
of function 'get_hard_smp_processor_id' [-Werror=implicit-funcuresh E. Warrier"
<warrier@xxxxxxxxxxxxxxxxxx>
X-Patchwork-Id: 443703
Message-Id: <54EE5989.7010800@xxxxxxxxxxxxxxxxxx>
To: linuxppc-dev@xxxxxxxxxx
Date: Wed, 25 Feb 2015 17:23:53 -0600
Export __spin_yield so that the arch_spin_unlock() function can
be invoked from a module. This will be required for modules where
we want to take a lock that is also is acquired in hypervisor
real mode. Because we want to avoid running any lockdep code
(which may not be safe in real mode), this lock needs to be
an arch_spinlock_t instead of a normal spinlock.
Signed-off-by: Suresh Warrier <warrier@xxxxxxxxxxxxxxxxxx>
Acked-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 8f910fd0d9d234764e89cb770940df2ece851e71
Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Date: Tue Mar 3 11:02:15 2015 +0100
powerpc/pmac: Fix DT refcount imbalance in pmac_pic_probe_oldstyle
Internally, of_find_node_by_name() calls of_node_put() on its "from"
parameter, which must not be done on "master", as it's still in use, and
will be released manually later. This may cause a zero kref refcount.
Call of_node_get() before to compensate for this.
Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 4b7d8358819da84b1272cdae29ace4680254a104
Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed Feb 4 21:32:27 2015 +0100
drivers/macintosh: Delete an unnecessary check before the function call
"of_node_put"
The of_node_put() 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@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 3bf57561d4dbd36ba45ce05656b0469bfdcc7ef2
Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Fri Nov 14 16:13:50 2014 +1100
powerpc/powernv: Support OPAL requested heartbeat
If OPAL requests it, call it back via opal_poll_events() at a
regular interval. Some versions of OPAL on some machines require
this to operate some internal timeouts properly.
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit ff86dc5412a9299c4a02b9eb11498b0c7a167d34
Author: Wang Long <long.wanglong@xxxxxxxxxx>
Date: Wed Mar 11 08:36:53 2015 +0000
Documentation: rename of_selftest.txt to of_unittest.txt
Since the test of the devicetree's OF api use unittest as
its name. so we should rename of_selftest.txt to of_unittest.txt.
Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit 7a39086d23218dc85c744525f1653cd90197a971
Author: Wang Long <long.wanglong@xxxxxxxxxx>
Date: Mon Mar 9 02:35:24 2015 +0000
Documentation: update the of_selftest.txt
Since the directory "drivers/of/testcase-data" is renamed
to "drivers/of/unittest-data". so we should update the path
in the of_selftest.txt.
When the kernel is built with OF_SELFUNIT enabled, the output
dtb is testcases.dtb instead of testcase.dtb, also update it
(s/testcase/testcases/).
Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit f0570d91ce8493883daa234ffdafb5c5620a1128
Author: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx>
Date: Fri Mar 13 12:21:46 2015 -0700
dt: OF_UNITTEST make dependency broken
If CONFIG_OF_UNITTEST=y then a kernel image make will always cause
.version to
be incremented, even if there are not source changes. This is caused by
a lack of dependency tracking and checking for
drivers/of/unittest-data/testcases.dtb.o.
Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit 2bb65f56480a927d4ca77173e2eb44db18f33b84
Author: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx>
Date: Tue Mar 17 22:30:57 2015 +0200
MAINTAINERS: Pantelis Antoniou device tree overlay maintainer
Add me as the device tree overlays maintainer.
Signed-off-by: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
commit 8147e2e8f13d823307e1edf2add5a8df84180cca
Merge: bc465aa bfe446e
Author: Rob Herring <robh@xxxxxxxxxx>
Date: Wed Mar 25 00:41:08 2015 -0500
Merge tag 'of-graph-for-4.0' of git://git.pengutronix.de/git/pza/linux
into for-next
Pull of-graph helpers from Philipp Zabel:
of: Add of-graph helpers to loop over endpoints and find ports by id
This series converts of_graph_get_next_endpoint to decrement the refcount
of
the passed prev parameter. This allows to add a for_each_endpoint_of_node
helper macro to loop over all endpoints in a device tree node.
The of_graph_get_port_by_id function is added to retrieve a port by its
known
port id (contained in the reg property) from the device tree.
commit 3f77df7f81526c932ef681eda56eeaa75d0617da
Author: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx>
Date: Fri Feb 13 15:26:33 2015 +0530
powerpc/powernv: Check image loaded or not before calling flash
Present code checks for update_flash_data in opal_flash_term_callback().
update_flash_data has been statically initialized to zero, and that
is the value of FLASH_IMG_READY. Also code update initialization happens
during subsys init.
So if reboot is issued before the subsys init stage then we endup
displaying
"Flashing new firmware" message.. which may confuse end user.
This patch fixes above described issue by initializes update_flash status
to invalid state.
Reported-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx>
Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
commit 0144a81cccf7532bead90f0542f517bd028d3b3c
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Tue Mar 24 21:45:56 2015 -0700
tcp: fix ipv4 mapped request socks
ss should display ipv4 mapped request sockets like this :
tcp SYN-RECV 0 0 ::ffff:192.168.0.1:8080
::ffff:192.0.2.1:35261
and not like this :
tcp SYN-RECV 0 0 192.168.0.1:8080 192.0.2.1:35261
We should init ireq->ireq_family based on listener sk_family,
not the actual protocol carried by SYN packet.
This means we can set ireq_family in inet_reqsk_alloc()
Fixes: 3f66b083a5b7 ("inet: introduce ireq_family")
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit a448f8f1b744611fb1867ea811170cca2a9a6588
Merge: 2b93681 a904b1c
Author: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Wed Mar 25 15:12:53 2015 +1100
Merge branch 'fallocate-insert-range' into for-next
commit 2b93681f593577df6fcb9af61947beaace071b74
Merge: d41bb03 5e9383f
Author: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Wed Mar 25 15:12:30 2015 +1100
Merge branch 'xfs-misc-fixes-for-4.1-2' into for-next
Conflicts:
fs/xfs/libxfs/xfs_bmap.c
fs/xfs/xfs_inode.c
commit a904b1ca5751faf5ece8600e18cd3b674afcca1b
Author: Namjae Jeon <namjae.jeon@xxxxxxxxxxx>
Date: Wed Mar 25 15:08:56 2015 +1100
xfs: Add support FALLOC_FL_INSERT_RANGE for fallocate
This patch implements fallocate's FALLOC_FL_INSERT_RANGE for XFS.
1) Make sure that both offset and len are block size aligned.
2) Update the i_size of inode by len bytes.
3) Compute the file's logical block number against offset. If the computed
block number is not the starting block of the extent, split the extent
such that the block number is the starting block of the extent.
4) Shift all the extents which are lying bewteen [offset, last allocated
extent]
towards right by len bytes. This step will make a hole of len bytes
at offset.
Signed-off-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx>
Signed-off-by: Ashish Sangwan <a.sangwan@xxxxxxxxxxx>
Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit dd46c787788d5bf5b974729d43e4c405814a4c7d
Author: Namjae Jeon <namjae.jeon@xxxxxxxxxxx>
Date: Wed Mar 25 15:07:05 2015 +1100
fs: Add support FALLOC_FL_INSERT_RANGE for fallocate
FALLOC_FL_INSERT_RANGE command is the opposite command of
FALLOC_FL_COLLAPSE_RANGE that is needed for someone who wants to add
some data in the middle of file.
FALLOC_FL_INSERT_RANGE will create space for writing new data within
a file after shifting extents to right as given length. This command
also has same limitations as FALLOC_FL_COLLAPSE_RANGE in that
operations need to be filesystem block boundary aligned and cannot
cross the current EOF.
Signed-off-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx>
Signed-off-by: Ashish Sangwan <a.sangwan@xxxxxxxxxxx>
Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit 0b63accf87225b5eb7e52814c374cf02d733d4bb
Author: Prarit Bhargava <prarit@xxxxxxxxxx>
Date: Wed Mar 18 15:46:33 2015 -0400
tools, update rtctest.c to verify passage of time
rtctest.c checks to see if PIE is functioning by testing if 20 interrupts
occur
at rates from 2HZ to 64HZ. While this check is good, it does not check to
see if the correct amount of time has actually passed. This misses
situations where the RTC may be operating at a higher or lower frequency
than expected.
This patch introduces a simple check to verify if the time passed is
less than 10% of what was programmed into the RTC.
Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx>
Acked-by: John Stultz <john.stultz@xxxxxxxxxx>
Cc: corbet@xxxxxxx
Cc: rtc-linux@xxxxxxxxxxxxxxxx
Cc: linux-doc@xxxxxxxxxxxxxxx
Cc: a.zummo@xxxxxxxxxxxx
Cc: prarit@xxxxxxxxxx
Cc: john.stultz@xxxxxxxxxx
Cc: shuahkh@xxxxxxxxxxxxxxx
Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
commit 4a5fd81507eaea556e533e9ebc8a3cf31fe159d1
Author: Prarit Bhargava <prarit@xxxxxxxxxx>
Date: Mon Mar 23 16:32:09 2015 -0400
Documentation, split up rtc.txt into documentation and test file
This patch splits rtc.txt into two separate files, one for the
documentation itself, and the other for the rtctest.c file. The rtctest
file is moved into the kernel tools/testing/selftests/timers directory.
This will make automated testing easier. Note that the only difference in
the rtc.txt file is that the location of the rtctest.c file has changed.
Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx>
Acked-by: Jonathan Corbet <corbet@xxxxxxx>
Acked-by: John Stultz <john.stultz@xxxxxxxxxx>
Cc: corbet@xxxxxxx
Cc: rtc-linux@xxxxxxxxxxxxxxxx
Cc: linux-doc@xxxxxxxxxxxxxxx
Cc: a.zummo@xxxxxxxxxxxx
Cc: prarit@xxxxxxxxxx
Cc: john.stultz@xxxxxxxxxx
Cc: shuahkh@xxxxxxxxxxxxxxx
Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
commit 5e9383f97e773e9a5385144ef5561f2ac0ee1349
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Wed Mar 25 15:00:24 2015 +1100
xfs: Fix incorrect positive ENOMEM return
added a positive error return value.
This value filters up through the return layers and should be
negative as the other return values are in the same function.
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit 20dafeefac97d1a690b113f2a954dc84fdf8f290
Author: Byoungyoung Lee <blee@xxxxxxxxxx>
Date: Wed Mar 25 14:57:53 2015 +1100
xfs: xfs_mru_cache_insert() should use GFP_NOFS
xfs_mru_cache_insert() can be called from within transaction context
during block allocation like so:
write(2)
....
xfs_get_blocks
xfs_iomap_write_direct
start transaction
xfs_bmapi_write
xfs_bmapi_allocate
xfs_bmap_btalloc
xfs_bmap_btalloc_filestreams
xfs_filestream_new_ag
xfs_filestream_pick_ag
xfs_mru_cache_insert
radix_tree_preload(GFP_KERNEL)
In this case, GFP_KERNEL is incorrect and can potentially lead to
deadlocks in memory reclaim. It should use GFP_NOFS allocations to
avoid lock recursion problems.
[dchinner: rewrote commit message]
Signed-off-by: Byoungyoung Lee <blee@xxxxxxxxxx>
Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx>
Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit 65dd297ac25565701fead5e4ee69b9ca62729f0e
Author: Scott Wood <scottwood@xxxxxxxxxxxxx>
Date: Wed Mar 25 14:56:21 2015 +1100
xfs: %pF is only for function pointers
Use %pS for actual addresses, otherwise you'll get bad output
on arches like ppc64 where %pF expects a function descriptor.
Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit 29916df08db4726c92bdfe72ce524b4b6a9e3c54
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Wed Mar 25 14:55:25 2015 +1100
xfs: fix shadow warning in xfs_da3_root_split()
Use icnodehdr for struct xfs_da3_icnode_hdr instead of nodehdr
(already declared above).
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit 86aaf02e57d25a3b4094ca76ff805ee2d7aa30f8
Author: Fabian Frederick <fabf@xxxxxxxxx>
Date: Wed Mar 25 14:54:53 2015 +1100
xfs: use bool instead of int in xfs_rename()
new_parent and src_is_directory are only used in 0/1 context.
Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit b26384dc52edba2f5fcc2b38eccc98e1f44bb379
Author: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Wed Mar 25 14:54:25 2015 +1100
xfs: fix NULL pointer dereference in xfs_filestream_lookup_ag()
If xfs_filestream_get_parent() fails, we have a null pip,
goto out, and attempt to IRELE(NULL). This causes a null
pointer dereference and BUG().
Fix this by directly returning NULLAGNUMBER in this case.
Reported-by: Adrien Nader <adrien@xxxxxxxx>
Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit d64588ca28bcd58f100f7933d0c18c8b504162bb
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Wed Mar 25 14:53:48 2015 +1100
xfs: remove xfs_bmap_sanity_check()
This code is redundant now that we have verifiers that sanity check
the buffers as they are read from disk.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit d41bb03444147305e955cdd53753f0493e4d9e28
Merge: 88e8fda 7dcf5c3
Author: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Wed Mar 25 14:29:13 2015 +1100
Merge branch 'xfs-rename-whiteout' into for-next
Conflicts:
fs/xfs/xfs_inode.c
commit 7dcf5c3e4527cfa2807567b00387cf2ed5e07f00
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Wed Mar 25 14:08:08 2015 +1100
xfs: add RENAME_WHITEOUT support
Whiteouts are used by overlayfs - it has a crazy convention that a
whiteout is a character device inode with a major:minor of 0:0.
Because it's not documented anywhere, here's an example of what
RENAME_WHITEOUT does on ext4:
# echo foo > /mnt/scratch/foo
# echo bar > /mnt/scratch/bar
# ls -l /mnt/scratch
total 24
-rw-r--r-- 1 root root 4 Feb 11 20:22 bar
-rw-r--r-- 1 root root 4 Feb 11 20:22 foo
drwx------ 2 root root 16384 Feb 11 20:18 lost+found
# src/renameat2 -w /mnt/scratch/foo /mnt/scratch/bar
# ls -l /mnt/scratch
total 20
-rw-r--r-- 1 root root 4 Feb 11 20:22 bar
c--------- 1 root root 0, 0 Feb 11 20:23 foo
drwx------ 2 root root 16384 Feb 11 20:18 lost+found
# cat /mnt/scratch/bar
foo
#
In XFS rename terms, the operation that has been done is that source
(foo) has been moved to the target (bar), which is like a nomal
rename operation, but rather than the source being removed, it have
been replaced with a whiteout.
We can't allocate whiteout inodes within the rename transaction due
to allocation being a multi-commit transaction: rename needs to
be a single, atomic commit. Hence we have several options here, form
most efficient to least efficient:
- use DT_WHT in the target dirent and do no whiteout inode
allocation. The main issue with this approach is that we need
hooks in lookup to create a virtual chardev inode to present
to userspace and in places where we might need to modify the
dirent e.g. unlink. Overlayfs also needs to be taught about
DT_WHT. Most invasive change, lowest overhead.
- create a special whiteout inode in the root directory (e.g. a
".wino" dirent) and then hardlink every new whiteout to it.
This means we only need to create a single whiteout inode, and
rename simply creates a hardlink to it. We can use DT_WHT for
these, though using DT_CHR means we won't have to modify
overlayfs, nor anything in userspace. Downside is we have to
look up the whiteout inode on every operation and create it if
it doesn't exist.
- copy ext4: create a special whiteout chardev inode for every
whiteout. This is more complex than the above options because
of the lack of atomicity between inode creation and the rename
operation, requiring us to create a tmpfile inode and then
linking it into the directory structure during the rename. At
least with a tmpfile inode crashes between the create and
rename doesn't leave unreferenced inodes or directory
pollution around.
By far the simplest thing to do in the short term is to copy ext4.
While it is the most inefficient way of supporting whiteouts, but as
an initial implementation we can simply reuse existing functions and
add a small amount of extra code the the rename operation.
When we get full whiteout support in the VFS (via the dentry cache)
we can then look to supporting DT_WHT method outlined as the first
method of supporting whiteouts. But until then, we'll stick with
what overlayfs expects us to be: dumb and stupid.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
commit eeacd3217b8fa8143f5dc27ded405790c74f01e8
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Wed Mar 25 14:08:07 2015 +1100
xfs: make xfs_cross_rename() complete fully
Now that xfs_finish_rename() exists, there is no reason for
xfs_cross_rename() to return to xfs_rename() to finish off the
rename transaction. Drive the completion code into
xfs_cross_rename() and handle all errors there so as to simplify
the xfs_rename() code.
Further, push the rename exchange target_ip check to early in the
rename code so as to make the error handling easy and obviously
correct.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx>
Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit 310606b0c7e385e9dd3533d168413ad2c579d961
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Wed Mar 25 14:06:07 2015 +1100
xfs: factor out xfs_finish_rename()
Rather than use a jump label for the final transaction commit in
the rename, factor it into a simple helper function and call it
appropriately. This slightly reduces the spaghetti nature of
xfs_rename.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx>
Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit 445883e8133975fe8d555610c70c1c4c501f0bf8
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Wed Mar 25 14:05:43 2015 +1100
xfs: cleanup xfs_rename error handling
The jump labels are ambiguous and unclear and some of the error
paths are used inconsistently. Rules for error jumps are:
- use out_trans_cancel for unmodified transaction context
- use out_bmap_cancel on ENOSPC errors
- use out_trans_abort when transaction is likely to be dirty.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx>
Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit 95afcf5c7bca93fb84d260f70c304f35ef4c3114
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Wed Mar 25 14:03:32 2015 +1100
xfs: clean up inode locking for RENAME_WHITEOUT
When doing RENAME_WHITEOUT, we now have to lock 5 inodes into the
rename transaction. This means we need to update
xfs_sort_for_rename() and xfs_lock_inodes() to handle up to 5
inodes. Because of the vagaries of rename, this means we could have
anywhere between 3 and 5 inodes locked into the transaction....
While xfs_lock_inodes() does not need anything other than an assert
telling us we are passing more inodes that we ever thought we should
see, it could do with a logic rework to remove all the indenting.
This is not a functional change - it just makes the code a lot
easier to read.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx>
Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
commit 124eb761edfdee13c02e48815b05d9bed7666d4c
Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx>
Date: Tue Mar 24 11:29:05 2015 -0500
md: Fix bitmap offset calculations
The calculations of bitmap offset is incorrect with respect to bits to
bytes
conversion.
Also, remove an irrelevant duplicate message.
Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>
commit cbc4ffdbe72a1bad3dbed27bb6b2eaba2b11bcc3
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Tue Mar 24 16:22:54 2015 -0700
block, drbd: use mempool_create_slab_pool()
Mempools created for slab caches should use
mempool_create_slab_pool().
Cc: Lars Ellenberg <drbd-dev@xxxxxxxxxxxxxxxx>
Cc: Jens Axboe <axboe@xxxxxx>
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 23fe8f8b1101ec77befc995ab15fad82d9d91d16
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Tue Mar 24 16:22:32 2015 -0700
block, drbd: fix drbd_req_new() initialization
mempool_alloc() does not support __GFP_ZERO since elements may come from
memory that has already been released by mempool_free().
Remove __GFP_ZERO from mempool_alloc() in drbd_req_new() and properly
initialize it to 0.
Cc: Lars Ellenberg <drbd-dev@xxxxxxxxxxxxxxxx>
Cc: Jens Axboe <axboe@xxxxxx>
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 271508dba2c3fc307e7c44e2731a2ece70a4025e
Author: David Rientjes <rientjes@xxxxxxxxxx>
Date: Tue Mar 24 16:21:16 2015 -0700
block: allocate request memory local to request queue
blk_init_rl() allocates a mempool using mempool_create_node() with node
local memory. This only allocates the mempool and element list locally
to the requeue queue node.
What we really want to do is allocate the request itself local to the
queue. To do this, we need our own alloc and free functions that will
allocate from request_cachep and pass the request queue node in to prefer
node local memory.
Acked-by: Tejun Heo <tj@xxxxxxxxxx>
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
commit 99c679acce5d07aa1be63d8afe94df27f0aecb50
Author: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Tue Mar 24 17:31:03 2015 -0700
Bluetooth: Filter list of supported commands/events for untrusted users
When the user of the management interface is not trusted, then it only
has access to a limited set of commands and events. When providing the
list of supported commands and events take the trusted vs untrusted
status of the user into account and return different lists.
This way the untrusted user knows exactly which commands it can
execute and which events it can receive. So no guesswork needed.
Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
commit d631b94e7a15277858ec5f88d674d93080506999
Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 16:22:07 2015 -0700
virtio: change comment in transmit
The original comment was not really informative or funny
as well as sexist. Replace it with a better explanation of
why the driver does stop and what the impacts are.
Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 835c3d9b7a28f5ecfc2dea2300946e27811f16a5
Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Date: Tue Mar 24 23:19:24 2015 +0100
tools: bpf_asm: cleanup vlan extension related token
We now have K_VLANT, K_VLANP and K_VLANTPID. Clean them up into more
descriptive token, namely K_VLAN_TCI, K_VLAN_AVAIL and K_VLAN_TPID.
Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b1275eb32e1c543f0664ebbb9d9ec3baa9bbfcba
Merge: 9ead352 fd3a154
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Mar 24 21:16:30 2015 -0400
Merge branch 'listener_refactor_16'
Eric Dumazet says:
====================
tcp: listener refactor part 16
A CONFIG_PROVE_RCU=y build revealed an RCU splat I had to fix.
I added const qualifiers to various md5 methods, as I expect
to call them on behalf of request sock traffic even if
the listener socket is not locked. This seems ok, but adding
const makes the contract clearer. Note a good reduction
of code size thanks to request/establish sockets convergence.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit fd3a154a00fb991872680f19021f5edbb40b4dbe
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Tue Mar 24 15:58:56 2015 -0700
tcp: md5: get rid of tcp_v[46]_reqsk_md5_lookup()
With request socks convergence, we no longer need
different lookup methods. A request socket can
use generic lookup function.
Add const qualifier to 2nd tcp_v[46]_md5_lookup() parameter.
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 39f8e58e53be32ab758d30536e0bd2e6ce766462
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Tue Mar 24 15:58:55 2015 -0700
tcp: md5: remove request sock argument of calc_md5_hash()
Since request and established sockets now have same base,
there is no need to pass two pointers to tcp_v4_md5_hash_skb()
or tcp_v6_md5_hash_skb()
Also add a const qualifier to their struct tcp_md5sig_key argument.
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ff74e23f7edb3759d1290b10f80222e3bbb6304b
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Tue Mar 24 15:58:54 2015 -0700
tcp: md5: input path is run under rcu protected sections
It is guaranteed that both tcp_v4_rcv() and tcp_v6_rcv()
run from rcu read locked sections :
ip_local_deliver_finish() and ip6_input_finish() both
use rcu_read_lock()
Also align tcp_v6_inbound_md5_hash() on tcp_v4_inbound_md5_hash()
by returning a boolean.
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 0980c1e3084572b1d6c35ace5d795cf68b7ae409
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Tue Mar 24 15:58:53 2015 -0700
tcp: use C99 initializers in new_state[]
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 80f03e27a309f3e32ebdd9629ac0320005a2180b
Author: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Tue Mar 24 15:58:52 2015 -0700
tcp: md5: fix rcu lockdep splat
While timer handler effectively runs a rcu read locked section,
there is no explicit rcu_read_lock()/rcu_read_unlock() annotations
and lockdep can be confused here :
net/ipv4/tcp_ipv4.c-906- /* caller either holds rcu_read_lock() or
socket lock */
net/ipv4/tcp_ipv4.c:907: md5sig =
rcu_dereference_check(tp->md5sig_info,
net/ipv4/tcp_ipv4.c-908-
sock_owned_by_user(sk) ||
net/ipv4/tcp_ipv4.c-909-
lockdep_is_held(&sk->sk_lock.slock));
Let's explicitely acquire rcu_read_lock() in tcp_make_synack()
Before commit fa76ce7328b ("inet: get rid of central tcp/dccp listener
timer"), we were holding listener lock so lockdep was happy.
Fixes: fa76ce7328b ("inet: get rid of central tcp/dccp listener timer")
Signed-off-by: Eric DUmazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit c77662a4df847e7b75ff8c5f2314dd4f022377e3
Merge: 3966fab 9089848
Author: Michael Turquette <mturquette@xxxxxxxxxx>
Date: Tue Mar 24 16:33:33 2015 -0700
Merge branch 'for-4.1-clk-ti' of github.com:t-kristo/linux-pm into
clk-next
commit 3213e674ca42c95b84ed040eab3d5722f41412ae
Author: Stefan Agner <stefan@xxxxxxxx>
Date: Sun Mar 22 00:45:35 2015 +0100
ARM: cygnus: fix const declaration bcm_cygnus_dt_compat
The const declaration for char* is actually duplicated, however
the array of strings is currently not constant. However, typically
the dt_compat array is declared as const char *const. Follow
that convention and also add the __initconst macro for constant
initialization data.
Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx>
Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx>
Tested-by: Ray Jui <rjui@xxxxxxxxxxxx>
Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
commit 153fe946412b5da1a8808f79d4f7f4ebfa7586b0
Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Fri Mar 20 16:21:58 2015 +0100
staging: fbtft: Do not use binary constants
Gcc < 4.3 doesn't understand binary constants (0b*):
drivers/staging/fbtft/fbtft-sysfs.c:156:19: error: invalid suffix "b111"
on integer constant
drivers/staging/fbtft/fb_hx8340bn.c:159:3: error: invalid suffix "b1111"
on integer constant
drivers/staging/fbtft/fb_hx8340bn.c:159:11: error: invalid suffix "b1111"
on integer constant
drivers/staging/fbtft/fb_hx8340bn.c:159:19: error: invalid suffix
"b11111" on integer constant
drivers/staging/fbtft/fb_hx8340bn.c:159:28: error: invalid suffix "b1111"
on integer constant
drivers/staging/fbtft/fb_hx8340bn.c:159:36: error: invalid suffix "b1111"
on integer constant
drivers/staging/fbtft/fb_hx8340bn.c:159:44: error: invalid suffix "b1111"
on integer constant
drivers/staging/fbtft/fb_hx8340bn.c:159:52: error: invalid suffix
"b11111" on integer constant
drivers/staging/fbtft/fb_hx8340bn.c:160:3: error: invalid suffix "b111"
on integer constant
...
Hence use hexadecimal constants (0x*) instead.
Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
commit baf7a6c72668c3e981bc2b6b0f58d2f1c2a8aa4e
Merge: 227a4fd 65582a7
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 23:01:58 2015 +0100
Merge tag 'fixes-for-v4.0-rc6' of
git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus
Felipe writes:
usb: fix for v4.0-rc6
Here's a single fix to isp1760 calling spin_unlock_irqsave()
as we should have.
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit 1c41a9570a02cec80be5fb4f7f9cf206220d84a5
Merge: cd0e075 3e45737
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 22:57:49 2015 +0100
Merge tag 'usb-for-v4.1' of
git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next
Felipe writes:
usb: patches for v4.1 merge window
As usual, a big pile of commits. This time a total
of 111 non-merge commits.
Other than the usual set of cleanups and non-critical
fixes, we have some interesting work for AM335x's MUSB
babble recovery. Now that takes a lot less time and we
don't have to Reset MUSB all the time.
The printer gadget has been converted to configfs interface
and the atmel udc has learned suspend/resume with wakeup.
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit 3d8bbe243dc7418b4b2eadcbf5693887d076a521
Merge: bc465aa c1b03ab
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 22:55:20 2015 +0100
Merge tag 'iio-fixes-for-4.0c' of
git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus
Jonathan writes:
3rd set of IIO fixes for the 4.0 cycle.
* A double free occured on an error path in due to an event registration
issue.
The fix is the minimal change rather than possibly reworking this area
of
the core to give a more elegant solution (future work).
* A number of drivers were directly accessing indio_dev->buffer->scan_mask
to identify the currently enabled channel set. This may not be correct
if we have additional clients on the push interface. The correct option
is indio_dev->active_scan_mask. This is fixed.
* bmc150 had incorrectly specified sampling frequency (a datasheet
confusion
as they are specified in terms of bandwith - e.g. half the sampling
frequency).
* hmc5843 wasn't setting it's name and hence the name attribute was
returning an empty string.
* inv_mpu6050 wasn't clearing the locally held timestamp buffer when the
hardware fifo was reset. Also an inconsistency existed in the interface
for the scale of the channels. Magic numbers were written but real ones
were used for the reads. Now uses real numbers (i.e. not array indexes)
for both.
* fix a missing dependency in the dummy driver. Previously shielded from
the autobuilders by an earlier build error.
commit dc5f2c5f6aa159ebf4b29b169aa1f71cf98d3d6a
Merge: c754ff9 c064416
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 22:53:52 2015 +0100
Merge tag 'iio-for-4.1a' of
git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Jonathan writes:
First set of new drivers, cleanups and functionality for IIO in the 4.1
cycle.
New drivers
* CM3323 color sensor.
* MS5611 pressure and temperature sensor.
New functionality
* mup6050 - create mux clients for devices described via ACPI. The
reasoning
and approach taken in this patch are complex. Basically there is no
otherway of finding out what is there than by some esoteric look ups
in
the ACPI data.
* cm3232 - PM support
* itg3200 - suspend/resume support
* mcp320x - add more ADCs to the kconfig to reflect what the driver
supports
(this patch and the bindings got left behind when the support was
added
a while back).
Docs / utils
* ti-adc128s052 - DT bindings.
* mcp3422 - DT bindings.
* mcp320x - DT bindings
* ABI docs for event threshold scale attributes, in_magn_offset, proximity
scan_element and thresh falling/rising values for accelerometers. All
elements long in use that have slipped by being explicitly documented.
* Tidy up the tools previously in drivers/staging/iio/Documentation and
move
them out to /tools/iio. Yet another move that should have happened long
ago.
This time Roberta Dobrescu did the leg work. Thanks!
Core Cleanups
* Export userspace IIO headers. We should have done the appropriate
header
splitting a long time ago. Thanks to Daniel for sorting this out.
* Refactor the registring of attributes for buffers to move all non-custom
ones to a vector allowing easier additions to the current set in the
future.
Driver Cleanups
* gpiod related cleanups. Make use of the additional parameter to specify
initial direciton to avoid extra code.
* bmc150 - Various refactorings to reduce code repitition and prepare for
hardware buffer support. Some of these cleanups are good even
without the new functionality.
* kmx61 - direct use of index to an array avoiding a structure element
which
was always the index to an element in an array of that
structure.
* vf610 - avoid incorrect type for return from
wait_for_completion_timeout.
* gp2ap020a00f - use put_unaligned_le32 for slight code simplification.
* ade7754 - improve error handling including suppressing some build
warnings.
* ade7759 - improve error handling including suppressing some build
warnings.
* hmc5843 - Long line and indentation fixes. Also some constifying of
various
constant data.
* ade7854 - 80+ character line splitting.
* ad2s1210 - fix wrong printf format string.
* mxs-lradc - fix wrong printf format string.
* ade7954-i2c - code alignment fixes and other trivial but worthwhile
bits.
* periodic rtc trigger - make the frequency type an unsigned int as it
is always treated as such.
* jsa1212 - constify struct regmap_config as it is constant.
* ad7793 - typo in the MODULE_DESCRIPTION
* mma9551 - check gpiod_to_irq errors. Note that this doesn't actually
cause
any trouble but is worth tidying up as obviously incorrect.
* mlx90614 - refactor the register symbols to make it clear which reads
are to
RAM not PROM.
commit 9ead3527f5967440f2ff57fd2fa25dd0e460fc5a
Merge: 27cd545 6b6f302
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Mar 24 17:53:06 2015 -0400
Merge branch 'rhashtable-next'
Thomas Graf says:
====================
rhashtable updates on top of Herbert's work
Patch 1 is a bugfix for an RCU splash I encountered while testing.
Patch 2 & 3 are pure cleanups. Patch 4 disables automatic shrinking
by default as discussed in previous thread. Patch 5 removes some
rhashtable internal knowledge from nft_hash and fixes another RCU
splash.
I've pushed various rhashtable tests (Netlink, nft) together with a
Makefile to a git tree [0] for easier stress testing.
[0] https://github.com/tgraf/rhashtable
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 6b6f302ceda7a052dab545d6c69abf5f0d4a6cab
Author: Thomas Graf <tgraf@xxxxxxx>
Date: Tue Mar 24 14:18:20 2015 +0100
rhashtable: Add rhashtable_free_and_destroy()
rhashtable_destroy() variant which stops rehashes, iterates over
the table and calls a callback to release resources.
Avoids need for nft_hash to embed rhashtable internals and allows to
get rid of the being_destroyed flag. It also saves a 2nd mutex
lock upon destruction.
Also fixes an RCU lockdep splash on nft set destruction due to
calling rht_for_each_entry_safe() without holding bucket locks.
Open code this loop as we need know that no mutations may occur in
parallel.
Signed-off-by: Thomas Graf <tgraf@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit b5e2c150ac914f28a28833b57397bec0b0a2bd5f
Author: Thomas Graf <tgraf@xxxxxxx>
Date: Tue Mar 24 20:42:19 2015 +0000
rhashtable: Disable automatic shrinking by default
Introduce a new bool automatic_shrinking to require the
user to explicitly opt-in to automatic shrinking of tables.
Signed-off-by: Thomas Graf <tgraf@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ac833bddb591b9c7a0609f440f196375be184044
Author: Thomas Graf <tgraf@xxxxxxx>
Date: Tue Mar 24 14:18:18 2015 +0100
rhashtable: Mark internal/private inline functions as such
Signed-off-by: Thomas Graf <tgraf@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 299e5c32a37a6bca8175db177117467bd1ce970a
Author: Thomas Graf <tgraf@xxxxxxx>
Date: Tue Mar 24 14:18:17 2015 +0100
rhashtable: Use 'unsigned int' consistently
Signed-off-by: Thomas Graf <tgraf@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 58be8a583d8d316448bafa5926414cfb83c02dec
Author: Thomas Graf <tgraf@xxxxxxx>
Date: Tue Mar 24 14:18:16 2015 +0100
rhashtable: Extend RCU read lock into rhashtable_insert_rehash()
rhashtable_insert_rehash() requires RCU locks to be held in order
to access ht->tbl and traverse to the last table.
Fixes: ccd57b1bd324 ("rhashtable: Add immediate rehash during insertion")
Signed-off-by: Thomas Graf <tgraf@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 73c8aaf43629e83541332f66fd08699e20ea87bc
Author: Brian Norris <computersforpeace@xxxxxxxxx>
Date: Sat Feb 28 02:04:18 2015 -0800
mtd: nand: fix spelling of REPLACEABLE
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 0542e135fa8c56cd03c02d74089750ae9195eb22
Author: Brian Norris <computersforpeace@xxxxxxxxx>
Date: Sat Feb 28 01:25:17 2015 -0800
Documentation: devicetree: fix spelling in pxa3xx-nand binding
Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
commit 6e8a1f8741d6f1179cb3b03991caeac9e4bfd9e2
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sun Feb 22 19:46:04 2015 -0500
switch path_init() to struct filename
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 668696dcbb1b184f8758ba9903c373c4960174a9
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sun Feb 22 19:44:00 2015 -0500
switch path_mountpoint() to struct filename
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 5eb6b495c60ef865324a81898eeb18062fd81662
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sun Feb 22 19:40:53 2015 -0500
switch path_lookupat() to struct filename
all callers were passing it ->name of some struct filename
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 94b5d2621aef59271c53cd13ecf9249e24b3d4df
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sun Feb 22 19:38:03 2015 -0500
getname_flags(): clean up a bit
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 72d64cc76941cde45e65e2a5b9fb81d527963645
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Tue Mar 24 20:45:42 2015 +0100
x86/asm: Further improve segment.h readability
- extend/clarify explanations where necessary
- move comments from macro values to before the macro, to
make them more consistent, and to reduce preprocessor overhead
- sort GDT index and selector values likewise by number
- use consistent, modern kernel coding style across the file
- capitalize consistently
- use consistent vertical spacing
- remove the unused get_limit() method (noticed by Andy Lutomirski)
No change in code (verified with objdump -d):
64-bit defconfig+kvmconfig:
815a129bc1f80de6445c1d8ca5b97cad vmlinux.o.before.asm
815a129bc1f80de6445c1d8ca5b97cad vmlinux.o.after.asm
32-bit defconfig+kvmconfig:
e659ef045159ddf41a0771b33a34aae5 vmlinux.o.before.asm
e659ef045159ddf41a0771b33a34aae5 vmlinux.o.after.asm
Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit dca5b52ad76b10c3adc29e2a006d4b1721c44a8d
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Tue Mar 24 19:44:42 2015 +0100
x86/asm/entry/64: Rename THREAD_INFO() to ASM_THREAD_INFO()
The THREAD_INFO() macro has a somewhat confusingly generic name,
defined in a generic .h C header file. It also does not make it
clear that it constructs a memory operand for use in assembly
code.
Rename it to ASM_THREAD_INFO() to make it all glaringly
obvious on first glance.
Acked-by: Borislav Petkov <bp@xxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150324184442.GC14760@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit f9d71854b4fe9b22ca199c4676da5a6ece1e5c17
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Tue Mar 24 19:44:11 2015 +0100
x86/asm/entry/64: Merge the field offset into the THREAD_INFO() macro
Before:
TI_sysenter_return+THREAD_INFO(%rsp,3*8),%r10d
After:
movl THREAD_INFO(TI_sysenter_return, %rsp, 3*8), %r10d
to turn it into a clear thread_info accessor.
No code changed:
md5:
fb4cb2b3ce05d89940ca304efc8ff183 ia32entry.o.before.asm
fb4cb2b3ce05d89940ca304efc8ff183 ia32entry.o.after.asm
e39f2958a5d1300158e276e4f7663263 entry_64.o.before.asm
e39f2958a5d1300158e276e4f7663263 entry_64.o.after.asm
Acked-by: Andy Lutomirski <luto@xxxxxxxxxx>
Acked-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150324184411.GB14760@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 1ddc6f3c60d75a7577dd33bc441e309febe2fc76
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Tue Mar 24 19:43:11 2015 +0100
x86/asm/entry/64: Improve the THREAD_INFO() macro explanation
Explain the background, and add a real example.
Acked-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Acked-by: Andy Lutomirski <luto@xxxxxxxxxx>
Acked-by: Borislav Petkov <bp@xxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150324184311.GA14760@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit d56fe4bf5f3cc30d455c80520f7b71da36ae00e6
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Tue Mar 24 14:41:37 2015 +0100
x86/asm/entry/64: Always set up SYSENTER MSRs
On CONFIG_IA32_EMULATION=y kernels we set up
MSR_IA32_SYSENTER_CS/ESP/EIP, but on !CONFIG_IA32_EMULATION
kernels we leave them unchanged.
Clear them to make sure the instruction is disabled properly.
SYSCALL is set up properly in both cases.
Acked-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 84f53788458c95309b88948b69ff95921e9c74a8
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Sun Mar 22 22:01:12 2015 +0100
x86/asm: Deobfuscate segment.h
This file just defines a number of constants, and a few macros
and inline functions. It is particularly badly written.
For example, it is not trivial to see how descriptors are
numbered (you'd expect that should be easy, right?).
This change deobfuscates it via the following changes:
Group all GDT_ENTRY_foo together (move intervening stuff away).
Number them explicitly: use a number, not PREV_DEFINE+1, +2, +3:
I want to immediately see that GDT_ENTRY_PNPBIOS_CS32 is 18.
Seeing (GDT_ENTRY_KERNEL_BASE+6) instead is not useful.
The above change allows to remove GDT_ENTRY_KERNEL_BASE
and GDT_ENTRY_PNPBIOS_BASE, which weren't used anywhere else.
After a group of GDT_ENTRY_foo, define all selector values.
Remove or improve some comments. In particular:
Comment deleted as stating the obvious:
/*
* The GDT has 32 entries
*/
#define GDT_ENTRIES 32
"The segment offset needs to contain a RPL. Grr. -AK"
changed to
"Selectors need to also have a correct RPL (+3 thingy)"
"GDT layout to get 64bit syscall right (sysret hardcodes gdt
offsets)" expanded into a description *how exactly* sysret
hardcodes them.
Patch was tested to compile and not change vmlinux.o
on 32-bit and 64-bit builds (verified with objdump).
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 27cd5452476978283decb19e429e81fc6c71e74b
Author: Michal Sekletar <msekleta@xxxxxxxxxx>
Date: Tue Mar 24 14:48:41 2015 +0100
filter: introduce SKF_AD_VLAN_TPID BPF extension
If vlan offloading takes place then vlan header is removed from frame
and its contents, both vlan_tci and vlan_proto, is available to user
space via TPACKET interface. However, only vlan_tci can be used in BPF
filters.
This commit introduces a new BPF extension. It makes possible to load
the value of vlan_proto (vlan TPID) to register A. Support for classic
BPF and eBPF is being added, analogous to skb->protocol.
Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Jiri Pirko <jpirko@xxxxxxxxxx>
Signed-off-by: Michal Sekletar <msekleta@xxxxxxxxxx>
Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit f6bb76cd4d8552bada1e454c291419f893e1af7b
Merge: ff40217 241e924
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue Mar 24 15:24:39 2015 -0400
Merge branch 'cxgb4-fcoe'
Varun Prakash says:
====================
FCoE support in cxgb4 driver
This patch series enables FCoE support in cxgb4 driver, it enables
FCOE_CRC and FCOE_MTU net device features.
This series is created against net-next tree.
====================
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 241e9247316947cd47fcefeb5eff5bf0b00dc1d4
Author: Varun Prakash <varun@xxxxxxxxxxx>
Date: Tue Mar 24 19:14:47 2015 +0530
cxgb4: update Kconfig and Makefile for FCoE support
Signed-off-by: Varun Prakash <varun@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 84a200b390d60fd84293670a089d0c864e35d0b1
Author: Varun Prakash <varun@xxxxxxxxxxx>
Date: Tue Mar 24 19:14:46 2015 +0530
cxgb4: add cxgb4_fcoe.c for FCoE
This patch adds cxgb4_fcoe.c and enables FCOE_CRC, FCOE_MTU
net device features.
Signed-off-by: Varun Prakash <varun@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 76fed8a989ba673b15979ba35457020c1716e1f2
Author: Varun Prakash <varun@xxxxxxxxxxx>
Date: Tue Mar 24 19:14:45 2015 +0530
cxgb4: add cxgb4_fcoe.h and macro definitions for FCoE
This patch adds new header file cxgb4_fcoe.h and defines new
macros for FCoE support in cxgb4 driver.
Signed-off-by: Varun Prakash <varun@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ff40217e73fd137daae0113ed71b218128913037
Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 11:05:28 2015 +0100
ipv6: fix sparse warnings in privacy stable addresses generation
Those warnings reported by sparse endianness check (via kbuild test robot)
are harmless, nevertheless fix them up and make the code a little bit
easier to read.
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Fixes: 622c81d57b392cc ("ipv6: generation of stable privacy addresses for
link-local and autoconf")
Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit ed3e852aa5039fda5a9f53c716c7466913403288
Author: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Date: Tue Mar 24 16:59:21 2015 +0800
tipc: fix compile error when IPV6=m and TIPC=y
When IPV6=m and TIPC=y, below error will appear during building kernel
image:
net/tipc/udp_media.c:196:
undefined reference to `ip6_dst_lookup'
make: *** [vmlinux] Error 1
As ip6_dst_lookup() is implemented in IPV6 and IPV6 is compiled as
module, ip6_dst_lookup() is not built-in core kernel image. As a
result, compiler cannot find 'ip6_dst_lookup' reference while
compiling TIPC code into core kernel image.
But with the method introduced by commit 5f81bd2e5d80 ("ipv6: export a
stub for IPv6 symbols used by vxlan"), we can avoid the compile error
through "ipv6_stub" pointer to access ip6_dst_lookup().
Fixes: d0f91938bede ("tipc: add ip/udp media type")
Suggested-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx>
Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 709583e894afad7f33add66953026ceb82cdf115
Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 20:18:59 2015 -0700
Input: edt-ft5x06 - remove EV_SYN event report
input_register_device already sets the EV_SYN event since all devices can
generate them.
Remove the redundant affectation.
Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 2c00559884e09398a6451672472b4ea7f4118291
Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 20:18:06 2015 -0700
Input: edt-ft5x06 - allow to setting the maximum axes value through the DT
Currently the driver relies on some obscure and undocumented register to
set
the maximum axis value.
The reported value is way too high to be meaningful, which confuses some
userspace tools like QT's evdevtouch plugin which try to scale the
reported
events to the maximum values.
Use the values from the DT to set meaningful values.
Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 0a363a380954e10fece7cd9931b66056eeb07d56
Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 20:17:57 2015 -0700
Input: of_touchscreen - register multitouch axes
So far, the DT parsing code was only setting up the regular input axes,
completely ignoring their multitouch counter parts.
Fill them with the same parameters than the regular axes.
Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 3eea8b5d68c801fec788b411582b803463834752
Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Date: Sat Mar 21 20:17:48 2015 -0700
Input: of_touchscreen - rework the DT parsing function
The DT parsing function currently duplicates a lot of the code to parse
the
touchscreen DT properties. In order to ease further additions to this
parsing routine, rework it slightly to create new helper functions.
Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 66400d543072d6ff6f8df036e3f12f5c154c19cc
Author: WANG Cong <xiyou.wangcong@xxxxxxxxx>
Date: Tue Mar 24 11:53:31 2015 -0700
net: allow to delete a whole device group
With dev group, we can change a batch of net devices,
so we should allow to delete them together too.
Group 0 is not allowed to be deleted since it is
the default group.
Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 27ed44a5d6d88897002b75f53004d4c565a5aab6
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Tue Mar 24 13:37:30 2015 +1100
rhashtable: Add comment on choice of elasticity value
This patch adds a comment on the choice of the value 16 as the
maximum chain length before we force a rehash.
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 8263d57e376546bd5da42ea377d22c43239aa317
Author: Wu Fengguang <fengguang.wu@xxxxxxxxx>
Date: Tue Mar 24 09:51:32 2015 +0800
cx82310_eth: fix semicolon.cocci warnings
drivers/net/usb/cx82310_eth.c:175:2-3: Unneeded semicolon
Removes unneeded semicolon.
Generated by: scripts/coccinelle/misc/semicolon.cocci
CC: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 65c2377486c0b68f149f7d8770499a86b15786b6
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Thu Mar 19 18:17:49 2015 +0100
x86/asm/entry/64: Get rid of int_ret_from_sys_call_fixup
With the FIXUP_TOP_OF_STACK macro removed, this intermediate jump
is unnecessary.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Acked-by: Borislav Petkov <bp@xxxxxxx>
Acked-by: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1426785469-15125-5-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit a71ffdd780760dc62c3d4cffb98eaaedaf5068b8
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Thu Mar 19 18:17:48 2015 +0100
x86/asm/entry/64: Get rid of the FIXUP_TOP_OF_STACK/RESTORE_TOP_OF_STACK
macros
The FIXUP_TOP_OF_STACK macro is only necessary because we don't save %r11
to pt_regs->r11 on SYSCALL64 fast path, but we want ptrace to see it
populated.
Bite the bullet, add a single additional PUSH instruction, and remove
the FIXUP_TOP_OF_STACK macro.
The RESTORE_TOP_OF_STACK macro is already a nop. Remove it too.
On SandyBridge CPU, it does not get slower:
measured 54.22 ns per getpid syscall before and after last two
changes on defconfig kernel.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Acked-by: Borislav Petkov <bp@xxxxxxx>
Acked-by: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1426785469-15125-4-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 9ed8e7d86061e7c3fb3855358d51ba4abb19ceb1
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Thu Mar 19 18:17:47 2015 +0100
x86/asm/entry/64: Use PUSH instructions to build pt_regs on stack
With this change, on SYSCALL64 code path we are now populating
pt_regs->cs, pt_regs->ss and pt_regs->rcx unconditionally and
therefore don't need to do that in FIXUP_TOP_OF_STACK.
We lose a number of large instructions there:
text data bss dec hex filename
13298 0 0 13298 33f2 entry_64_before.o
12978 0 0 12978 32b2 entry_64.o
What's more important, we convert two "MOVQ $imm,off(%rsp)" to
"PUSH $imm" (the ones which fill pt_regs->cs,ss).
Before this patch, placing them on fast path was slowing it down
by two cycles: this form of MOV is very large, 12 bytes, and
this probably reduces decode bandwidth to one instruction per cycle
when CPU sees them.
Therefore they were living in FIXUP_TOP_OF_STACK instead (away
from fast path).
"PUSH $imm" is a small 2-byte instruction. Moving it to fast path does
not slow it down in my measurements.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Acked-by: Borislav Petkov <bp@xxxxxxx>
Acked-by: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1426785469-15125-3-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit ef593260f0cae2699874f098fb5b19fb46502cb3
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Thu Mar 19 18:17:46 2015 +0100
x86/asm/entry: Get rid of KERNEL_STACK_OFFSET
PER_CPU_VAR(kernel_stack) was set up in a way where it points
five stack slots below the top of stack.
Presumably, it was done to avoid one "sub $5*8,%rsp"
in syscall/sysenter code paths, where iret frame needs to be
created by hand.
Ironically, none of them benefits from this optimization,
since all of them need to allocate additional data on stack
(struct pt_regs), so they still have to perform subtraction.
This patch eliminates KERNEL_STACK_OFFSET.
PER_CPU_VAR(kernel_stack) now points directly to top of stack.
pt_regs allocations are adjusted to allocate iret frame as well.
Hopefully we can merge it later with 32-bit specific
PER_CPU_VAR(cpu_current_top_of_stack) variable...
Net result in generated code is that constants in several insns
are changed.
This change is necessary for changing struct pt_regs creation
in SYSCALL64 code path from MOV to PUSH instructions.
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Acked-by: Borislav Petkov <bp@xxxxxxx>
Acked-by: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1426785469-15125-2-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit b3fe8ba320ace38cee6859b4c015d81627254ddb
Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Date: Thu Mar 19 18:17:45 2015 +0100
x86/asm/entry/64: Change the THREAD_INFO() definition to not depend on
KERNEL_STACK_OFFSET
This changes the THREAD_INFO() definition and all its callsites
so that they do not count stack position from
(top of stack - KERNEL_STACK_OFFSET), but from top of stack.
Semi-mysterious expressions THREAD_INFO(%rsp,RIP) - "why RIP??"
are now replaced by more logical THREAD_INFO(%rsp,SIZEOF_PTREGS)
- "calculate thread_info's address using information that
rsp is SIZEOF_PTREGS bytes below top of stack".
While at it, replace "(off)-THREAD_SIZE(reg)" with equivalent
"((off)-THREAD_SIZE)(reg)". The form without parentheses
falsely looks like we invoke THREAD_SIZE() macro.
Improve comment atop THREAD_INFO macro definition.
This patch does not change generated code (verified by objdump).
Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Acked-by: Borislav Petkov <bp@xxxxxxx>
Acked-by: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Will Drewry <wad@xxxxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1426785469-15125-1-git-send-email-dvlasenk@xxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit 5037a17966967bde3f561cc543c9b3596afabf70
Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Date: Wed Feb 25 17:44:55 2015 -0800
Input: mma8450 - convert to using managed resources
This simplifies error handling and device removal code. Also let's
get rid of setting driver's owner since i2c core does it for us.
Tested-by: Stefan Sauer <ensonic@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit a93ad65d375f216025902a73ff25900d82a9de25
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Sat Mar 21 20:40:45 2015 -0700
Input: add support for ChipOne icn8318 based touchscreens
The ChipOne icn8318 is an i2c capacitive touchscreen controller typically
used in cheap android tablets, this commit adds a driver for it.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit d16a33bb94f88a40a99418993849c1eb93d60de3
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Sat Mar 21 20:39:19 2015 -0700
Input: touchscreen DT binding - add touchscreen-swapped-x-y property
On devices with a native portrait screen a landscape touchscreen /
digitizer may be used, this happens e.g. on ebook readers. In this case
the
X and Y axis of the touchscreen are swapped compared to the screen.
Add a touchscreen-swapped-x-y property which drivers can use to see if
they
need to swap the axis to make the touchscreen coordinates match the screen
coordinates.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit 9089848d9afa34a796988b5b666c2c4e611ccb61
Author: Tony Lindgren <tony@xxxxxxxxxxx>
Date: Sun Mar 22 15:35:26 2015 -0700
clk: ti: Implement FAPLL set_rate for the PLL
Since we have a fractional divider for the synthesizer, just implement
a simple multiply logic for the PLL.
It seems the PLL divider needs to have also the multiplier set for the PLL
to lock. At least I have not yet figured out if divided rates are doable.
So let's just ignore the PLL divider for now as the synthesizer has both
integer and fractional dividers so we don't even need to use the PLL
divider for the rates we know work with PLL locking.
Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx>
Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx>
Cc: Tero Kristo <t-kristo@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit cafeb002cf2cd8b0f8796b59130f9c1b91da4fcf
Author: Tony Lindgren <tony@xxxxxxxxxxx>
Date: Mon Mar 16 18:04:20 2015 -0700
clk: ti: Implement FAPLL set_rate for the synthesizer
We can pretty much get any rate out of the FAPLL because of the fractional
divider. Let's first try just adjusting the post divider, and if that is
not enough, then reprogram both the fractional divider and the post
divider.
Let's also add a define for the fixed SYNTH_PHASE_K instead of using 8.
Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx>
Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx>
Cc: Tero Kristo <t-kristo@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 33ca29c99e8680b4c921c6eafb9fc1603c5b9779
Author: Tony Lindgren <tony@xxxxxxxxxxx>
Date: Sun Mar 22 15:35:24 2015 -0700
clk: ti: Fix FAPLL recalc_rate for rounding errors
We need to round the calculated value to have it match the requested rate.
While at it, let's fix a typo and use a define for SYNTH_MAX_DIV_M as we
will need it in later patches for set_rate.
And let's remove two unused includes.
Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx>
Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx>
Cc: Tero Kristo <t-kristo@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 712f7d64f079872d2895743f4b718bc0fdff725c
Author: Suman Anna <s-anna@xxxxxx>
Date: Fri Mar 13 17:58:38 2015 -0500
clk: ti: DRA7: Add timer_sys_ck aliases for Timers 13 through 16
The OMAP DMTimer API, omap_dm_timer_set_source(), uses the clock name
timer_sys_ck for setting a timer's clock source for the source index
OMAP_TIMER_SRC_SYS_CLK. There is currently no clock alias data for
the Timers 13 through 16 for this clock name, so add the same.
Signed-off-by: Suman Anna <s-anna@xxxxxx>
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit d4295be3874c1d464ae83a71f87ed93f84aa5d21
Author: Suman Anna <s-anna@xxxxxx>
Date: Fri Mar 13 17:58:37 2015 -0500
clk: ti: DRA7: Correct timer_sys_ck clock aliases for Timers
The OMAP DMTimer API, omap_dm_timer_set_source(), can set the parent
of a timer node using 3 different values that use fixed parent names
for the clocks. The parent name, timer_sys_ck, is used for setting the
parent when used with the source index OMAP_TIMER_SRC_SYS_CLK. This
should point to the TIMER_SYS_CLK and not the SYSCLKIN2, so correct
the clock aliases appropriately. SYSCLKIN2 is not a mandatory clock
input.
Signed-off-by: Suman Anna <s-anna@xxxxxx>
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 03ff41a938d0c31c3e712590600b474454ac39fe
Author: Suman Anna <s-anna@xxxxxx>
Date: Fri Mar 13 17:58:36 2015 -0500
clk: ti: OMAP5: Correct the DT clock aliases for timers
The DT clock aliases for Timers use the legacy (non-DT) device
names and a source clock named sys_ck. OMAP5 is DT-boot only,
so correct the DT clock aliases to use the DT device names
instead. Also, the source clock name is corrected from 'sys_ck'
to 'timer_sys_ck', the name used by the OMAP dmtimer driver.
Signed-off-by: Suman Anna <s-anna@xxxxxx>
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit 2ff8d75c234193147a118c1431d7d75775fabe58
Author: Suman Anna <s-anna@xxxxxx>
Date: Fri Mar 13 17:58:35 2015 -0500
clk: ti: OMAP4: Remove the legacy timer DT clock aliases
The DT clock aliases for timers using the legacy OMAP timer
device names have been cleaned up. These device names reflect
the names used in legacy boot, and are no longer applicable
as OMAP4 is DT boot only now.
Signed-off-by: Suman Anna <s-anna@xxxxxx>
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit c8d382921299a32e4ed9b690d3865e01a73ea02c
Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx>
Date: Mon Mar 16 12:40:58 2015 +0200
clk: ti: clk-3xxx-legacy: Correct McBSP related clock aliases
Correct the McBSP2/4 ick mapping (they were 2->4 and 4->2).
Add missing mcbsp clock aliases.
Collect the McBSP clock definition in one location at the same time.
Fixes the following warning on boot:
[ 0.307739] omap_hwmod: mcbsp2: _wait_target_ready failed: -16
[ 0.307769] omap_hwmod: mcbsp2: cannot be enabled for reset (3)
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx>
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit f757d1b047dfe704d459746c289f27934de6f91e
Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx>
Date: Mon Mar 16 12:40:57 2015 +0200
clk: ti: clk-3xxx: Correct McBSP related DT clock definitions
In DT boot we do not have devices named as omap-mcbsp.X.
Correct the McBSP2/4 ick mapping (they were 2->4 and 4->2).
Collect the McBSP clock definition in one location at the same time.
Fixes the following warning on boot:
[ 0.307739] omap_hwmod: mcbsp2: _wait_target_ready failed: -16
[ 0.307769] omap_hwmod: mcbsp2: cannot be enabled for reset (3)
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx>
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
commit c807dbedb5e5adbd4e1e2d07574d230df924a5a7
Author: Tero Kristo <t-kristo@xxxxxx>
Date: Mon Feb 23 21:06:08 2015 +0200
clk: ti: fix ti_clk_get_reg_addr error handling
There is a case where NULL can be a valid return value for
ti_clk_get_reg_addr, specifically the case where both the provider index
and register offsets are zero. In this case, the current error checking
against a NULL pointer will fail. Thus, change the API to return a
ERR_PTR value in an error case, and change all the users of this API to
check against IS_ERR instead.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
Acked-by: Michael Turquette <mturquette@xxxxxxxxxx>
commit 3a02824396c1df1db422d067b0fdcac724f44dd6
Author: Tejun Heo <tj@xxxxxxxxxx>
Date: Tue Mar 24 14:14:18 2015 -0400
libata: remove ATA_FLAG_LOWTAG
sata_sil24 for some reason pukes when tags are allocated round-robin
which helps tag ordered controllers. To work around the issue,
72dd299d5039 ("libata: allow sata_sil24 to opt-out of tag ordered
submission") introduced ATA_FLAG_LOWTAG which tells libata tag
allocation to do lowest-first.
However, with the recent switch to blk-mq tag allocation, the liata
tag allocation code path is no longer used and the workaround is now
implemented in the block layer and selected by setting
scsi_host_template->tag_alloc_policy to BLK_TAG_ALLOC_FIFO. See
9269e23496dd ("libata: make sata_sil24 use fifo tag allocator").
This leaves ATA_FLAG_LOWTAG withoout any actual user. Remove it.
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
Cc: Shaohua Li <shli@xxxxxx>
Cc: Dan Williams <dan.j.williams@xxxxxxxxx>
commit edec17863362e0106b9e6b2f83237c7bd535e346
Author: Suman Anna <s-anna@xxxxxx>
Date: Mon Mar 16 15:54:54 2015 -0500
ARM: DRA7: hwmod: Fix the hwmod class for GPTimer4
GPTimer 4 is a regular timer and not a secure timer, so fix
the hwmod to use the correct hwmod class (even though there
are no differences in the class definition itself).
Signed-off-by: Suman Anna <s-anna@xxxxxx>
[paul@xxxxxxxxx: dropped dra7xx_timer_secure_hwmod_class and
dra7xx_timer_secure_sysc to avoid compiler warnings]
Signed-off-by: Paul Walmsley <paul@xxxxxxxxx>
commit 1ac964f4c527267c8380e6e3c70d31ca1d162f93
Author: Suman Anna <s-anna@xxxxxx>
Date: Mon Mar 16 15:54:53 2015 -0500
ARM: DRA7: hwmod: Add data for GPTimers 13 through 16
Add the hwmod data for GPTimers 13, 14, 15 and 16. All these
timers are present in the L4PER3 clock domain.
The corresponding DT nodes are already present but disabled.
Signed-off-by: Suman Anna <s-anna@xxxxxx>
Signed-off-by: Paul Walmsley <paul@xxxxxxxxx>
commit db7a657f3c2de202e8d648b03bc25bcd9a4de1d8
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Tue Mar 3 22:41:22 2015 +0200
sata_dwc_460ex: re-use hsdev->dev instead of dwc_dev
This patch re-uses hsdev->dev which is allocated on heap. Therefore, the
private structure, which is global variable, is reduced by one field.
In one case ap->dev is used and there it seems to be right decision.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit 8b3444852a2b58129ee68a8dd69fef81ceb902a1
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Tue Mar 3 22:41:21 2015 +0200
sata_dwc_460ex: move to generic DMA driver
The SATA implementation based on two actually different devices, i.e.
SATA and
DMA controllers.
For Synopsys DesignWare DMA we have already a generic implementation of
the
driver. Thus, the patch converts the code to use DMAEngine framework and
dw_dmac driver.
In future it will be better to split the devices inside DTS as well like
it's
done on other platforms.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit 4e2576bd36a12e78ac3786d05b99a820dffe687f
Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Date: Tue Mar 24 09:01:00 2015 +0000
ASoC: soc-core: initialize debugfs in snd_soc_instantiate_card()
Current soc_init_card_debugfs() is called from snd_soc_register_card()
but, soc_cleanup_card_debugfs() is called from
soc_cleanup_card_resources(),
not from paired function.
This differences don't matter for now. But if anyone wants to implement
a proper hotplug/unplug, this difference would become clearer.
Now, we can assume that snd_soc_instantiate_card() and
soc_cleanup_card_resources() are paired function.
soc_init_card_debugfs() / soc_cleanup_card_debugfs() paired function
should be called from these.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit d578514b271e7c8cab8d6910075a2d137a9f0df8
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Tue Mar 3 21:21:58 2015 +0200
sata_dwc_460ex: join messages back
It it better to have full message on one line. It simplifies to search
for line
in the code by message when debugging.
Note that the lines which will be removed by sequential patch are not
fixed
here.
There is no functional change.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit bffc4375897ea01aa68877e5fc1e33c7766efa29
Author: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx>
Date: Fri Mar 6 23:30:42 2015 +0100
percpu: Fix trivial typos in comments
Change 'tranlated' to 'translated'
Change 'mutliples' to 'multiples'
Signed-off-by: Yannick Guerrini <yguerrini@xxxxxxxxxxxxxxx>
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
commit a75a053f1eefbbbbae0f7d6bf1ed12ce012112b7
Author: Jyri Sarha <jsarha@xxxxxx>
Date: Fri Mar 20 13:31:08 2015 +0200
ASoC: davinci-mcasp: Set rule constraints if implicit BCLK divider is used
Set rule constraints to allow only combinations of sample-rate,
sample-format, and channels counts that can be played/captured with
reasonable sample-rate accuracy.
The logic with tdm-slots and serializers (=i2s data wires) goes like
this: The first wire will take all channels up to number of tdm-slots,
before following wires (if any) are used. If the first wire is used
fully, the remaining wires share the same clocks and the divider can
be calculated for the first wire.
Also, takes the number of tdm-slots into account when implicitly
selecting the BLCK divider.
Signed-off-by: Jyri Sarha <jsarha@xxxxxx>
Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 2f4b1e6bb25899e7d21e1764abcfb23f14250535
Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Date: Tue Mar 24 11:47:43 2015 +0100
ASoC: rsnd: Fix duplicate const for DVC ramp rates
Replace duplicated const keyword for 'dvc_ramp_rate' with proper
array of const pointers to const strings.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 39c26180641da983269d5f24f124f8624f2587b4
Author: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx>
Date: Tue Mar 24 05:15:22 2015 +0000
ASoC: ak4642: enable stereo line output power-save mode
ak4642 has power-save mode for stereo line to reduce pop noise.
This patch enables it.
Signed-off-by: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 610600c8c5e25d551a010b64412cf731c084b1e1
Author: Sasha Levin <sasha.levin@xxxxxxxxxx>
Date: Mon Mar 23 15:30:00 2015 -0400
tipc: validate length of sockaddr in connect() for dgram/rdm
Commit f2f8036 ("tipc: add support for connect() on dgram/rdm sockets")
hasn't validated user input length for the sockaddr structure which allows
a user to overwrite kernel memory with arbitrary input.
Fixes: f2f8036 ("tipc: add support for connect() on dgram/rdm sockets")
Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 83c3a7d4ac7fdc29a64bf9a5467a36b4c72a1eed
Author: Eliad Peller <eliad@xxxxxxxxxx>
Date: Wed Mar 18 18:38:30 2015 +0200
wlcore: remove wl12xx_platform_data
Now that we have wlcore device-tree bindings in place
(for both wl12xx and wl18xx), remove the legacy
wl12xx_platform_data struct, and move its members
into the platform device data (that is passed to wlcore)
Davinci 850 is the only platform that still set
the platform data in the legacy way (and doesn't
have DT bindings), so remove the relevant
code/Kconfig option from the board file (as suggested
by Sekhar Nori)
Since no one currently uses wlcore_spi, simply remove its
platform data support (DT bindings will have to be added
if someone actually needs it)
Signed-off-by: Luciano Coelho <luca@xxxxxxxxx>
Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx>
Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx>
Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
Acked-by: Sekhar Nori <nsekhar@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 99f84cae43df242f0d69ffcfee3a4d69f9b71b44
Author: Eliad Peller <eliad@xxxxxxxxxx>
Date: Wed Mar 18 18:38:29 2015 +0200
ARM: dts: add wl12xx/wl18xx bindings
Replace all the pdata-quirks for setting wl12xx/wl18xx
platform data with proper DT definitions.
Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx>
Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx>
Acked-by: Enric Balletbo i Serra <eballetbo@xxxxxxxxx>
Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx>
Tested-by: Tony Lindgren <tony@xxxxxxxxxxx>
Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 5ea5c518ccaba0de97efb71c3bccbcdee681c2e6
Author: Eliad Peller <eliad@xxxxxxxxxx>
Date: Wed Mar 18 18:38:28 2015 +0200
wlcore: add device-tree support
When running with device-tree, we no longer have a board file
that can set up the platform data for wlcore.
Allow this data to be passed from DT.
Signed-off-by: Ido Yariv <ido@xxxxxxxxxx>
Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx>
Tested-by: Sébastien Szymanski <sebastien.szymanski@xxxxxxxxxxxx>
Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx>
Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit d96c8b77407de054e7a485bdef793ed5be827df4
Author: Eliad Peller <eliad@xxxxxxxxxx>
Date: Wed Mar 18 18:38:27 2015 +0200
dt: bindings: add TI's wilink wireless device
Add device tree binding documentation for TI's wilink
(wl12xx and wl18xx) wlan chip.
Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx>
Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx>
Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 44486b48b066330e0ed0a66478cc49f5975ec6c1
Author: Luciano Coelho <luca@xxxxxxxxx>
Date: Wed Mar 18 18:38:26 2015 +0200
wl12xx: use frequency instead of enumerations for pdata clocks
Instead of defining an enumeration with the FW specific values for the
different clock rates, use the actual frequency instead. Also add a
boolean to specify whether the clock is XTAL or not.
Change all board files to reflect this.
Signed-off-by: Luciano Coelho <luca@xxxxxxxxx>
[Eliad - small fixes, update board file changes]
Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx>
Tested-by: Nikita Kiryanov <nikita@xxxxxxxxxxxxxx>
Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
Acked-by: Sekhar Nori <nsekhar@xxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
commit 0117ec1970c5fa9c566045e7df8db76acc8f150e
Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Date: Mon Mar 23 18:40:02 2015 +0100
net: remove never used forwarding_accel_ops pointer from net_device
Cc: John Fastabend <john.r.fastabend@xxxxxxxxx>
Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
commit 65582a7f4ce5bd7a1fb61516d9c2476f4f166f4e
Author: Sudeep Holla <sudeep.holla@xxxxxxx>
Date: Fri Mar 20 11:42:17 2015 +0000
usb: isp1760: fix spin unlock in the error path of isp1760_udc_start
Commit a124820de5fd ("usb: isp1760: fix possible deadlock in
isp1760_udc_irq") replaced spin_{un,}lock with
spin_{un,}lock_irq{save,restore}.
However it missed an error path resulting in the smatch warning as below:
drivers/usb/isp1760/isp1760-udc.c:1230 isp1760_udc_start() warn:
inconsistent returns 'irqsave:flags'.
Locked on: line 1207
Unlocked on: line 1199
This patch fixes the spin unlock in the error path in isp1760_udc_start
thereby removing the smatch warning mentioned above.
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Cc: Felipe Balbi <balbi@xxxxxx>
Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx>
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit 4218affdf57f938c04e3a916a9685ee27079f377
Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx>
Date: Tue Feb 3 19:43:45 2015 +0900
kbuild: remove warning about "make depend"
Enough time has passed since "make depend" was deprecated.
Nobody would be in trouble without this hint.
Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit 70a4fd6c56d0f581a63dffd8c31d180e96ecf6a6
Author: Michal Marek <mmarek@xxxxxxx>
Date: Wed Mar 11 11:01:01 2015 +0100
kbuild: Don't reset timestamps in include/generated if not needed
Use filechk to generate asm-offsets.h and bounds.h. Based on a patch by
Valdis Kletnieks.
Reported-by: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx>
Acked-By: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx>
Reviewed-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit 3e457371f436e89ce9239674828f9729a36b2595
Author: Tony Lindgren <tony@xxxxxxxxxxx>
Date: Thu Mar 19 17:10:16 2015 -0700
usb: musb: Fix fifo reads for dm816x with musb_dsps
Looks like dm81xx can only do 32-bit fifo reads like am35x. Let's set
up musb-dsps with a custom read_fifo function based on the compatible
flag.
Otherwise we can get the following errors when starting dhclient on a
asix USB Ethernet adapter:
asix 2-1:1.0 eth2: asix_rx_fixup() Bad Header Length 0xffff003c, offset 4
While at it, let's also remove pointless cast of the driver data.
Cc: Bin Liu <binmlist@xxxxxxxxx>
Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx>
Cc: George Cherian <george.cherian@xxxxxx>
Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit 1ea276cbfc0201c9804f38474f3ec2c4488a2fc6
Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
Date: Sat Mar 21 15:25:52 2015 +0200
usb: phy: Fix USB_ULPI_VIEWPORT Kconfig dependency
USB_ULPI_VIEWPORT didn't depend on USB_ULPI, while USB_ULPI
is using non user selectable USB_ULPI_VIEWPORT. Fix this.
Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit f4b4976b6e3171d408d0f6e08b12189bf60d1d22
Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx>
Date: Tue Mar 24 10:58:16 2015 +0100
usb: gadget: f_printer: fix dependencies
If f_printer is selected without legacy g_printer, it should
depend on USB_CONFIGFS which pulls in libcomposite.
Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx>
Signed-off-by: Felipe Balbi <balbi@xxxxxx>
commit 025ffe88ee605acb03dba0d920908dff5ec15dd0
Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Date: Tue Mar 24 17:43:21 2015 +0200
spi: pxa2xx: shift clk_div in one place
This patch refactors ssp_get_clk_div() and pxa2xx_ssp_get_clk_div() to
align
clk_div calculations, i.e. ssp_get_clk_div() and
quark_x1000_set_clk_regvals()
will return plain clk_div and it will be shifted to proper position in
pxa2xx_ssp_get_clk_div().
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit dbea4032f8024e5ea886341f7c39cf023e30e828
Author: Lars Poeschel <poeschel@xxxxxxxxxxx>
Date: Tue Mar 24 09:25:10 2015 -0700
Input: usbtouchscreen - add new model from IRTOUCHSYSTEMS
This adds support for another model of IRTOUCH SYSTEMS Co.,LtD infrared
touchscreens. The USB vendorID/deviceID is 6615/0012. It is also sold
under the label "Elektrosil".
The datasheet states that coordinates for x and y are in the range from
0 to 32767.
Signed-off-by: Lars Poeschel <poeschel@xxxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
commit baa5a7bc5dd069bb37de9c8bdb5ea7f4e2e939e9
Merge: 963a70b e03eaa4
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Tue Mar 24 17:22:44 2015 +0100
Merge tag 'perf-core-for-mingo' of
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
User visible changes:
- Improve support of compressed kernel modules (Jiri Olsa)
- Add --kallsyms option to 'perf diff' (David Ahern)
- Add pid/tid filtering to 'report' and 'script' commands (David Ahern)
- Add support for __print_array() in libtraceevent (Javi Merino)
- Save DSO loading errno to better report errors (Arnaldo Carvalho de
Melo)
- Fix 'probe' to get ummapped symbol address on kernel (Masami
Hiramatsu)
- Print big numbers using thousands' group in 'kmem' (Namhyung Kim)
- Remove (null) value of "Sort order" for perf mem report (Yunlong Song)
Infrastructure changes:
- Handle NULL comm name in libtracevent (Josef Bacik)
- Libtraceevent synchronization with trace-cmd repo (Steven Rostedt)
- Work around lack of sched_getcpu() in glibc < 2.6. (Vinson Lee)
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
commit e03eaa400cf8b8bded86cc5c41018a1c69152f16
Author: David Ahern <dsahern@xxxxxxxxx>
Date: Tue Mar 24 09:52:41 2015 -0600
perf tools: Add pid/tid filtering to report and script commands
The 'record' and 'top' tools already allow a user to specify a CSV of
pids and/or tids of tasks to collect data.
Add those options to the 'report' and 'script' analysis commands to only
consider samples related to the given pids/tids.
This is also inline with the existing comm option.
Signed-off-by: David Ahern <dsahern@xxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427212361-7066-1-git-send-email-dsahern@xxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 6b1f342354d45c651cabd2ae0f61f55846f33e10
Author: David Ahern <dsahern@xxxxxxxxx>
Date: Tue Mar 24 09:51:57 2015 -0600
perf diff: Add kallsyms option
Required for off-box analysis to convert kernel addresses.
Signed-off-by: David Ahern <dsahern@xxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427212317-7018-1-git-send-email-dsahern@xxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 143526ee94a295ed33b9cc19e9532ab6d14a1cc0
Author: Bard Liao <bardliao@xxxxxxxxxxx>
Date: Tue Mar 24 09:51:12 2015 +0800
ASoC: rt286: check regmap_read result for ID check
It is worth to check the regmap_read result for ID check since it
is the first regmap_read. And we can check if there is any i2c
issue.
Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
commit 63a91033d52e64a22e571fe84924c0b7f21c280d
Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Date: Fri Mar 13 15:21:43 2015 +0900
kbuild: add generic mergeconfig target, %.config
"scripts/kconfig/merge_config.sh && make oldconfig" works well
enough for merging local config fragments, but Kbuild currently has
the entry points only for "kvmconfig" and "tinyconfig".
This commit provides the generic target for mergeconfig, so we can
manage our own config fragments easily:
put "foo.config" in arch/$(SRCARCH)/configs/ or kernel/configs/,
and then run "make foo.config".
Now "make kvmconfig" is just a shorthand of "make kvm_guest.config".
Likewise, "make tinyconfig" is equivalent to
"make allnoconfig tiny.config".
Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit bc8f8f5fc47cd02c2c5f3580dac2fe6695af1edd
Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Date: Fri Mar 13 15:21:42 2015 +0900
merge_config.sh: rename MAKE to RUNMAKE
The variable "MAKE" is used to store the command name that has
invoked the Makefile. (Actually, it is already set to "make"
if you run this script from a Makefile.)
In this script, however, it is used to determine if Make should be
run or not. It is not what we usually expect.
Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit 3a975b8cfcbe026b535f83bde9a3c009bae214f9
Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Date: Fri Mar 13 15:21:41 2015 +0900
merge_config.sh: improve indentation
It is true that we do not want to move the code too far to the
right, but something like below is not preferred:
if [ "x$PREV_VAL" != "x$NEW_VAL" ] ; then
echo Value of $CFG is redefined by fragment $MERGE_FILE:
echo Previous value: $PREV_VAL
echo New value: $NEW_VAL
echo
elif [ "$WARNREDUN" = "true" ]; then
echo Value of $CFG is redundant by fragment $MERGE_FILE:
fi
To fix this, call "continue" if the "grep" command fails to find the
given CONFIG.
Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit 371cfd4ff0611d8bc5d18bbb9cc6a2bc3d56cd3d
Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Date: Fri Mar 13 15:21:40 2015 +0900
kbuild: mergeconfig: remove redundant $(objtree)
Kbuild always runs in $(objtree). Actually, $(objtree) is always
set to "." by the top-level Makefile.
We can omit "-O $(objtree)" and "$(objtree)/".
Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit b9fe99c5b994c6ddc57780993966b18899526c0b
Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Date: Fri Mar 13 15:21:39 2015 +0900
kbuild: mergeconfig: move an error check to merge_config.sh
Currently, "make tinyconfig" does not work with "-j" option.
$ make mrproper
$ make -j8 tinyconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf --allnoconfig Kconfig
#
# configuration written to .config
#
scripts/kconfig/Makefile:122: *** You need an existing .config
for this target. Stop.
make: *** [tinyconfig] Error 2
As shown above, "allnoconfig" has created the .config file before
mergeconfig is called, but Make still raises a false alarm because
of some sort of race condition.
We can fix this issue by moving the error check to the shell script.
Anyway, scripts/kconfig/merge_config.sh always requires an existing
.config as a base file. It is reasonable to check its existence in
the shell script.
Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit de4619937229378e81f95e99c9866acc8e207d34
Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Date: Fri Mar 13 15:21:38 2015 +0900
kbuild: mergeconfig: fix "jobserver unavailable" warning
If "make kvmconfig" is run with "-j" option, a warning message,
"jobserver unavailable: using -j1. Add `+' to parent make rule.",
is displayed.
$ make -s defconfig
*** Default configuration is based on 'x86_64_defconfig'
#
# configuration written to .config
#
$ make -j8 kvmconfig
Using ./.config as base
Merging ./arch/x86/configs/kvm_guest.config
[ snip ]
#
# merged configuration written to ./.config (needs make)
#
make[2]: warning: jobserver unavailable: using -j1. Add `+' to
parent make rule.
scripts/kconfig/conf --oldconfig Kconfig
[ snip ]
#
# configuration written to .config
#
Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
commit b839e1e846edb15cff322e262e8ce412d298232e
Author: Javi Merino <javi.merino@xxxxxxx>
Date: Tue Mar 24 11:07:19 2015 +0000
tools lib traceevent: Add support for __print_array()
Since 6ea22486ba46 ("tracing: Add array printing helper") trace can
generate traces with variable element size arrays. Add support to
parse them.
Signed-off-by: Javi Merino <javi.merino@xxxxxxx>
Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Link:
http://lkml.kernel.org/r/1427195239-15730-1-git-send-email-javi.merino@xxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit e1644aae4589274223c1ab9072ddbda98dd97f6a
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Tue Mar 24 09:57:57 2015 -0400
tools lib traceevent: Free filter tokens in process_filter()
valgrind showed that the filter token wasn't being freed properly in
process_filter().
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150324135923.817723903@xxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 82ac952be6348dc072dcfd80a2dcb511d0cd6bea
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Tue Mar 24 09:57:56 2015 -0400
tools lib traceevent: Add way to find sub buffer boundary
For debugging purposes, it may be helpful for the kbuffer library to flag
when crossing a sub buffer.
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150324135923.650983637@xxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit c5e691928bf166ac03430e957038b60adba3cf6c
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Tue Mar 24 09:57:55 2015 -0400
tools lib traceevent kbuffer: Remove extra update to data pointer in
PADDING
When a event PADDING is hit (a deleted event that is still in the ring
buffer), translate_data() sets the length of the padding and also updates
the data pointer which is passed back to the caller.
This is unneeded because the caller also updates the data pointer with
the passed back length. translate_data() should not update the pointer,
only set the length.
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx # 3.12+
Link: http://lkml.kernel.org/r/20150324135923.461431960@xxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 5dbcfd930e430b33fb4dfded9c1af0cf432772b9
Author: Steven Rostedt <srostedt@xxxxxxxxxx>
Date: Tue Mar 24 09:57:54 2015 -0400
tools lib traceevent: Make plugin options either string or boolean
When a plugin option is defined, by default it is a boolean (true or
false).
If the option is something else, then it needs to set its "value" field to
a default string other than NULL (can be just "").
If the value is not set then the option is considered boolean, and the
updating of the option value will be handled accordingly.
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150324135923.308372986@xxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 2771984c7f5e6cab812e86ec152da4fb5f6df908
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Tue Mar 24 09:57:52 2015 -0400
tools lib traceevent: Add pevent_data_pid_from_comm()
There is a pevent_data_comm_from_pid() that returns the cmdline stored for
a given pid in order for users to map pids to comms, but there's no method
to convert a comm back to a pid. This is useful for filters that specify
a comm instead of a PID (it's faster than searching each individual
event).
Add a way to retrieve a comm from a pid. Since there can be more than one
pid associated to a comm, it returns a data structure that lets the user
iterate over all the saved comms for a given pid.
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150324135923.001103479@xxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 55426296963c678650e26fc5e61ea75a5598ef5a
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Tue Mar 24 09:57:51 2015 -0400
tools lib traceevent: Handle %z in bprint format
The %z printf specifier was not handled making trace_printk()s in the
kernel that used this break on output.
Reported-by: Shawn Bohrer <shawn.bohrer@xxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Shawn Bohrer <shawn.bohrer@xxxxxxxxx>
Link: http://lkml.kernel.org/r/20150324135922.844361717@xxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 0c20856c260236b96f54c452d38dbe1348ed34d2
Author: Mark Rutland <mark.rutland@xxxxxxx>
Date: Tue Mar 24 15:10:21 2015 +0000
arm64: head.S: ensure idmap_t0sz is visible
We write idmap_t0sz with SCTLR_EL1.{C,M} clear, but we only have the
guarnatee that the kernel Image is clean, not invalid in the caches, and
therefore we might read a stale value once the MMU is enabled.
This patch ensures we invalidate the corresponding cacheline after the
write as we do for all other data written before we set SCTLR_EL1.{C.M},
guaranteeing that the value will be visible later. We rely on the DSBs
in __create_page_tables to complete the maintenance.
Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx>
CC: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 99ad1417db2e83530b88e3eff1a40285d6ebfee9
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Tue Mar 24 09:57:50 2015 -0400
tools lib traceevent: Copy trace_clock and free it
The pevent->trace_clock should not be a direct pointer to what was
given. It should be copied and freed.
Note, valgrind pointed this out when a caller passed in a pointer that
needed to be freed and it never was. Ideally, pevent should copy it
(which this change does), and free the copy. It's up to the caller to
free the clock string passed in.
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150324135922.695906738@xxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit deab6f55a2fe6fe044af61c9aad6a8e90cda6499
Author: Josef Bacik <jbacik@xxxxxx>
Date: Tue Mar 24 09:57:49 2015 -0400
tools lib traceevent: Handle NULL comm name
It is possible that a pid has no associated comm attached to it, although
it
can still be passed to pevent_register_comm().
But if comm is NULL, it will cause strdup() to segfault. To prevent this
from happening, if comm is NULL use the default "<...>" name for the
pid.
Signed-off-by: Josef Bacik <jbacik@xxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/20150324135922.549965495@xxxxxxxxxxx
Link:
http://lkml.kernel.org/p/1403799732-30308-1-git-send-email-jbacik@xxxxxx
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit d5efd9cc9cf2e422d064c912c7d5d985f52c1b2c
Author: Will Deacon <will.deacon@xxxxxxx>
Date: Fri Mar 6 11:54:10 2015 +0000
arm64: pmu: add support for interrupt-affinity property
Historically, the PMU devicetree bindings have expected SPIs to be
listed in order of *logical* CPU number. This is problematic for
bootloaders, especially when the boot CPU (logical ID 0) isn't listed
first in the devicetree.
This patch adds a new optional property, interrupt-affinity, to the
PMU node which allows the interrupt affinity to be described using
a list of phandled to CPU nodes, with each entry in the list
corresponding to the SPI at the same index in the interrupts property.
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 71bbf038eaa44a80dd6df0da7c708d4618172fe0
Author: Will Deacon <will.deacon@xxxxxxx>
Date: Fri Mar 6 11:54:08 2015 +0000
dt: pmu: extend ARM PMU binding to allow for explicit interrupt affinity
The current ARM PMU binding relies on the PMU interrupts being listed in
CPU logical order, which the device-tree author simply cannot know
anything about.
This patch introduces a new "interrupt-affinity" property, which makes
the relationship between the PMU interrupts and their corresponding
CPU explicit.
Acked-by: Mark Rutland <mark.rutland@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 18425f13a0890ac1e88a64276771c1ae10030b4a
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Tue Mar 24 11:49:02 2015 -0300
perf symbols: Save DSO loading errno to better report errors
Before, when some problem happened while trying to load the kernel
symtab, 'perf top' would show:
â??â??Warning:â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??
â??The vmlinux file can't be used. â??
â??Kernel samples will not be resolved.â??
â?? â??
â?? â??
â??Press any key... â??
â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??
Now, it reports:
# perf top --vmlinux /dev/null
â??â??Warning:â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??
â??The /tmp/passwd file can't be used: Invalid ELF fileâ??
â??Kernel samples will not be resolved. â??
â?? â??
â?? â??
â??Press any key... â??
â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??
This is possible because we now register the reason for not being able
to load the symtab in the dso->load_errno member, and provide a
dso__strerror_load() routine to format this error into a strerror like
string with a short reason for the error while loading.
That can be just forwarding the dso__strerror_load() call to
strerror_r(), or, for a separate errno range providing a custom message.
Reported-by: Ingo Molnar <mingo@xxxxxxxxxx>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link: http://lkml.kernel.org/n/tip-u5rb5uq63xqhkfb8uv2lxd5u@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 17e44dc46f035ca27847bbf75ffd3072ed49f13c
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Mon Mar 23 18:23:02 2015 -0300
perf target: Simplify handling of strerror_r return
To deal with forwarding the strerror_r (GNU) return we need to check if
the returned value is the buffer we passed or maybe some constant
(unknown error), simplify that action by using scnprintf, that will do
all the buflen size checks, trimming if needed.
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Don Zickus <dzickus@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Link: http://lkml.kernel.org/n/tip-d0ik6i5gjew56j0qphql28ou@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit e1e455f4f4d35850c30235747620d0d078fe9f64
Author: Vinson Lee <vlee@xxxxxxxxxxx>
Date: Mon Mar 23 12:09:16 2015 -0700
perf tools: Work around lack of sched_getcpu in glibc < 2.6.
This patch fixes this build error with glibc < 2.6.
CC util/cloexec.o
cc1: warnings being treated as errors
util/cloexec.c: In function â??perf_flag_probeâ??:
util/cloexec.c:24: error: implicit declaration of function
â??sched_getcpuâ??
util/cloexec.c:24: error: nested extern declaration of â??sched_getcpuâ??
make: *** [util/cloexec.o] Error 1
Signed-off-by: Vinson Lee <vlee@xxxxxxxxxxx>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx # 3.18+
Link:
http://lkml.kernel.org/r/1427137761-16119-1-git-send-email-vlee@xxxxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
commit 9fd85eb502a78bd812db58bd1f668b2a06ee30a5
Author: Will Deacon <will.deacon@xxxxxxx>
Date: Fri Mar 6 11:54:09 2015 +0000
ARM: pmu: add support for interrupt-affinity property
Historically, the PMU devicetree bindings have expected SPIs to be
listed in order of *logical* CPU number. This is problematic for
bootloaders, especially when the boot CPU (logical ID 0) isn't listed
first in the devicetree.
This patch adds a new optional property, interrupt-affinity, to the
PMU node which allows the interrupt affinity to be described using
a list of phandled to CPU nodes, with each entry in the list
corresponding to the SPI at the same index in the interrupts property.
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
commit 77cfe388767572586b7d4fd533c38f902d020f17
Author: Namhyung Kim <namhyung@xxxxxxxxxx>
Date: Mon Mar 23 15:30:40 2015 +0900
perf kmem: Print big numbers using thousands' group
Like perf stat, this makes easy to read the numbers on stat like below:
# perf kmem stat
SUMMARY
=======
Total bytes requested: 9,770,900
Total bytes allocated: 9,782,712
Total bytes wasted on internal fragmentation: 11,812
Internal fragmentation: 0.120744%
Cross CPU allocations: 74/152,819
Suggested-by: In |